X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fsoc%2Fsimulator%2Ftest_mul_sim.py;h=6d251056aeb34041927ec1f7773935627e894382;hb=5963eef6679f6833b6b8f854868d90480e3753b2;hp=be95df68514d264930cbd36ad7abe3403da2ea5e;hpb=6b393aa8dda8104b1d19bb33660a56dff0138ffe;p=soc.git diff --git a/src/soc/simulator/test_mul_sim.py b/src/soc/simulator/test_mul_sim.py index be95df68..6d251056 100644 --- a/src/soc/simulator/test_mul_sim.py +++ b/src/soc/simulator/test_mul_sim.py @@ -1,9 +1,9 @@ from nmigen import Module, Signal from nmigen.back.pysim import Simulator, Delay, Settle -from nmigen.test.utils import FHDLTestCase +from nmutil.formaltest import FHDLTestCase import unittest from soc.decoder.power_decoder import (create_pdecode) -from soc.decoder.power_enums import (Function, InternalOp, +from soc.decoder.power_enums import (Function, MicrOp, In1Sel, In2Sel, In3Sel, OutSel, RC, LdstLen, CryIn, single_bit_flags, Form, SPR, @@ -14,6 +14,7 @@ from soc.simulator.qemu import run_program from soc.decoder.isa.all import ISA from soc.fu.test.common import TestCase from soc.simulator.test_sim import DecoderBase +from soc.config.endian import bigendian @@ -24,18 +25,19 @@ class MulTestCases(FHDLTestCase): super().__init__(name) self.test_name = name - def test_mullw(self): - lst = [f"addi 1, 0, 0x5678", - f"addi 2, 0, 0x1234", - f"mullw 3, 1, 2"] - self.run_tst_program(Program(lst), [3]) - - def test_mullw(self): - lst = [f"addi 1, 0, 0x5678", - "neg 1, 1", - f"addi 2, 0, 0x1234", - f"mullw 3, 1, 2"] - self.run_tst_program(Program(lst), [3]) + def tst_mullw(self): + lst = ["addi 1, 0, 0x5678", + "addi 2, 0, 0x1234", + "mullw 3, 1, 2"] + self.run_tst_program(Program(lst, bigendian), [3]) + + def test_mullwo(self): + lst = ["addi 1, 0, 0x5678", + "neg 1, 1", + "addi 2, 0, 0x1234", + "neg 2, 2", + "mullwo 3, 1, 2"] + self.run_tst_program(Program(lst, bigendian), [3]) def run_tst_program(self, prog, initial_regs=None, initial_sprs=None, initial_mem=None):