1 from nmigen
import Signal
, Module
2 from nmigen
.back
.pysim
import Simulator
, Delay
, Settle
3 from nmutil
.formaltest
import FHDLTestCase
4 from nmigen
.cli
import rtlil
5 from soc
.fu
.shift_rot
.maskgen
import MaskGen
6 from openpower
.decoder
.helpers
import ISACallerHelper
10 class MaskGenTestCase(FHDLTestCase
):
11 def test_maskgen(self
):
12 MASK
= ISACallerHelper(64, FPSCR
=None).MASK
15 m
.submodules
.dut
= dut
= MaskGen(64)
16 mb
= Signal
.like(dut
.mb
)
17 me
= Signal
.like(dut
.me
)
18 o
= Signal
.like(dut
.o
)
28 for x
in range(0, 64):
29 for y
in range(0, 64):
36 self
.assertEqual(expected
, result
)
38 sim
.add_process(process
) # or sim.add_sync_process(process), see below
39 with sim
.write_vcd("maskgen.vcd", "maskgen.gtkw", traces
=dut
.ports()):
44 vl
= rtlil
.convert(dut
, ports
=dut
.ports())
45 with
open("maskgen.il", "w") as f
:
48 if __name__
== '__main__':