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