1 from nmigen
import Module
, Signal
2 from nmigen
.back
.pysim
import Simulator
, Delay
4 from nmutil
.clz
import CLZ
10 class CLZTestCase(unittest
.TestCase
):
11 def run_tst(self
, inputs
, width
=8):
15 m
.submodules
.dut
= dut
= CLZ(width
)
16 sig_in
= Signal
.like(dut
.sig_in
)
17 count
= Signal
.like(dut
.lz
)
21 dut
.sig_in
.eq(sig_in
),
30 sim
.add_process(process
)
31 with sim
.write_vcd("clz.vcd", "clz.gtkw", traces
=[
35 def test_selected(self
):
36 inputs
= [0, 15, 10, 127]
37 self
.run_tst(iter(inputs
), width
=8)
39 def test_non_power_2(self
):
40 inputs
= [0, 128, 512]
41 self
.run_tst(iter(inputs
), width
=11)
44 if __name__
== "__main__":