add arbitrary random experimentation values for TLB and PTW unit tests
[soc.git] / TLB / src / ariane / test_tlb.py
1 from nmigen.compat.sim import run_simulation
2
3 from tlb import TLB
4
5
6 def testbench(dut):
7 yield dut.lu_access_i.eq(1)
8 yield dut.lu_asid_i.eq(1)
9 yield dut.lu_vaddr_i.eq(0x80000)
10 yield dut.update_i.valid.eq(1)
11 yield dut.update_i.is_1G.eq(0)
12 yield dut.update_i.is_2M.eq(0)
13 yield dut.update_i.vpn.eq(0x80000)
14 yield dut.update_i.asid.eq(1)
15 yield dut.update_i.content.ppn.eq(0)
16 yield dut.update_i.content.rsw.eq(0)
17 yield dut.update_i.content.r.eq(1)
18
19 yield
20
21 yield dut.lu_vaddr_i.eq(0x80000)
22 yield dut.update_i.vpn.eq(0x80000)
23 yield
24
25 yield dut.lu_vaddr_i.eq(0x280000)
26 yield dut.update_i.vpn.eq(0x280000)
27 yield
28
29 yield dut.lu_vaddr_i.eq(0x040000)
30 yield dut.update_i.vpn.eq(0x040000)
31 yield
32
33
34 if __name__ == "__main__":
35 dut = TLB()
36 run_simulation(dut, testbench(dut), vcd_name="test_tlb.vcd")