"""
Links:
* https://bugs.libre-soc.org/show_bug.cgi?id=340
+
+run tests with:
+pip install pytest
+pip install pytest-xdist
+pytest -n auto src/soc/fu/shift_rot/formal/proof_main_stage.py
+because that tells pytest to run the tests in parallel, it will take a few
+minutes instead of an hour.
"""
import unittest
RLCR = MicrOp.OP_RLCR
EXTSWSLI = MicrOp.OP_EXTSWSLI
TERNLOG = MicrOp.OP_TERNLOG
- GREV32 = MicrOp.OP_GREV, 32
- GREV64 = MicrOp.OP_GREV, 64
+ # grev removed -- leaving code for later use in grevlut
+ # GREV32 = MicrOp.OP_GREV, 32
+ # GREV64 = MicrOp.OP_GREV, 64
@property
def op(self):
m.d.comb += Assert(dut.o.o.data[i] == lut[j])
m.d.comb += Assert(dut.o.xer_ca.data == 0)
+ # grev removed -- leaving code for later use in grevlut
def _check_grev32(self, m, dut):
m.d.comb += Assume(dut.i.ctx.op.is_32bit)
# assert zero-extended
m.d.comb += Assert((dut.o.o.data >> i)[0] == (dut.i.ra >> idx)[0])
m.d.comb += Assert(dut.o.xer_ca.data == 0)
+ # grev removed -- leaving code for later use in grevlut
def _check_grev64(self, m, dut):
m.d.comb += Assume(~dut.i.ctx.op.is_32bit)
i = Signal(6)
def test_ternlog(self):
self.run_it(TstOp.TERNLOG)
+ @unittest.skip("grev removed -- leaving code for later use in grevlut")
def test_grev32(self):
self.run_it(TstOp.GREV32)
+ @unittest.skip("grev removed -- leaving code for later use in grevlut")
def test_grev64(self):
self.run_it(TstOp.GREV64)