sim: Add tests for memory access.
This commit is contained in:
parent
83a9149c4c
commit
f4daf74634
|
@ -994,6 +994,40 @@ class SimulatorIntegrationTestCase(FHDLTestCase):
|
|||
sim.add_clock(1e-6)
|
||||
sim.add_testbench(process)
|
||||
|
||||
def test_memory_access(self):
|
||||
self.setUp_memory()
|
||||
with self.assertSimulation(self.m) as sim:
|
||||
def process():
|
||||
self.assertEqual((yield self.memory[1]), 0x55)
|
||||
self.assertEqual((yield self.memory[Const(1)]), 0x55)
|
||||
self.assertEqual((yield self.memory[Const(2)]), 0x00)
|
||||
yield self.memory[Const(1)].eq(Const(0x33))
|
||||
self.assertEqual((yield self.memory[Const(1)]), 0x33)
|
||||
yield self.wrport.addr.eq(3)
|
||||
yield self.wrport.data.eq(0x22)
|
||||
yield self.wrport.en.eq(1)
|
||||
self.assertEqual((yield self.memory[Const(3)]), 0)
|
||||
yield Tick()
|
||||
self.assertEqual((yield self.memory[Const(3)]), 0x22)
|
||||
|
||||
sim.add_clock(1e-6)
|
||||
sim.add_testbench(process)
|
||||
|
||||
def test_memory_access_sync(self):
|
||||
self.setUp_memory()
|
||||
with self.assertSimulation(self.m) as sim:
|
||||
def process():
|
||||
self.assertEqual((yield self.memory[1]), 0x55)
|
||||
self.assertEqual((yield self.memory[Const(1)]), 0x55)
|
||||
self.assertEqual((yield self.memory[Const(2)]), 0x00)
|
||||
yield self.memory[Const(1)].eq(Const(0x33))
|
||||
self.assertEqual((yield self.memory[Const(1)]), 0x55)
|
||||
yield
|
||||
self.assertEqual((yield self.memory[Const(1)]), 0x33)
|
||||
|
||||
sim.add_clock(1e-6)
|
||||
sim.add_sync_process(process)
|
||||
|
||||
def test_vcd_wrong_nonzero_time(self):
|
||||
s = Signal()
|
||||
m = Module()
|
||||
|
|
Loading…
Reference in a new issue