2 sys
.path
.append("../src")
3 sys
.path
.append("../../TestUtil")
5 from nmigen
.compat
.sim
import run_simulation
7 from test_helper
import assert_eq
, assert_ne
, assert_op
8 from VectorAssembler
import VectorAssembler
12 def set_assembler(dut
, input):
13 assert len(input) == assembler_size
14 for index
in range(assembler_size
):
15 input_index
= assembler_size
- index
- 1
16 yield dut
.input[index
].eq(input[input_index
])
19 def check_output(dut
, o
, op
):
21 assert_op("Output", out_o
, o
, op
)
27 yield from set_assembler(dut
, input)
28 yield from check_output(dut
, output
, 0)
32 yield from set_assembler(dut
, input)
33 yield from check_output(dut
, output
, 0)
35 if __name__
== "__main__":
36 dut
= VectorAssembler(assembler_size
)
37 run_simulation(dut
, testbench(dut
), vcd_name
="Waveforms/test_vector_assembler.vcd")
38 print("VectorAssembler Unit Test Success")