edec055b3545943f2c8c3e8b5399989af99544d6
[soc.git] / src / unused / TLB / test / test_set_associative_cache.py
1 from nmigen.compat.sim import run_simulation
2
3 from soc.TLB.SetAssociativeCache import SetAssociativeCache
4
5 from soc.TestUtil.test_helper import assert_eq, assert_ne, assert_op
6
7
8 def set_sac(dut, e, c, s, t, d):
9 yield dut.enable.eq(e)
10 yield dut.command.eq(c)
11 yield dut.cset.eq(s)
12 yield dut.tag.eq(t)
13 yield dut.data_i.eq(d)
14 yield
15
16
17 def tbench(dut):
18 enable = 1
19 command = 2
20 cset = 1
21 tag = 2
22 data = 3
23 yield from set_sac(dut, enable, command, cset, tag, data)
24 yield
25
26 enable = 1
27 command = 2
28 cset = 1
29 tag = 5
30 data = 8
31 yield from set_sac(dut, enable, command, cset, tag, data)
32 yield
33
34
35 def test_assoc_cache():
36 dut = SetAssociativeCache(4, 4, 4, 4)
37 run_simulation(dut, tbench(
38 dut), vcd_name="Waveforms/test_set_associative_cache.vcd")
39 print("Set Associative Cache Unit Test Success")
40
41
42 if __name__ == "__main__":
43 test_assoc_cache()