from nmutil.formaltest import FHDLTestCase
import unittest
from openpower.decoder.isa.caller import ISACaller
-from openpower.decoder.power_decoder import (create_pdecode)
+from openpower.decoder.power_decoder import create_pdecode
from openpower.decoder.power_decoder2 import (PowerDecode2)
from openpower.simulator.program import Program
from openpower.decoder.isa.caller import ISACaller, inject
self.num = num
def run_tst(generator, initial_regs, initial_sprs=None, svstate=0, mmu=False,
- initial_cr=0,mem=None):
+ initial_cr=0, mem=None,
+ initial_fprs=None):
if initial_sprs is None:
initial_sprs = {}
m = Module()
comb = m.d.comb
instruction = Signal(32)
- pdecode = create_pdecode()
+ pdecode = create_pdecode(include_fp=initial_fprs is not None)
gen = list(generator.generate_instructions())
insncode = generator.assembly.splitlines()
initial_insns=gen, respect_pc=True,
initial_svstate=svstate,
initial_mem=mem,
+ fpregfile=initial_fprs,
disassembly=insncode,
bigendian=0,
mmu=mmu)
comb += pdecode2.dec.raw_opcode_in.eq(instruction)
sim = Simulator(m)
-
def process():
+ print ("GPRs")
+ simulator.gpr.dump()
+ print ("FPRs")
+ simulator.fpr.dump()
+
yield pdecode2.dec.bigendian.eq(0) # little / big?
pc = simulator.pc.CIA.value
index = pc//4