fix several test imports, add Elaboratable
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 16 Jun 2019 13:38:51 +0000 (14:38 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 16 Jun 2019 13:38:51 +0000 (14:38 +0100)
src/TLB/ariane/ptw.py
src/TLB/ariane/test/test_plru.py
src/TLB/ariane/test/test_ptw.py
src/TLB/ariane/test/test_tlb.py
src/TLB/ariane/tlb.py
src/TLB/ariane/tlb_content.py

index 05ec2d7d55f42d35df6865fb856ce74c3bb3831f..ace44d146d920b22bf3b5cebd5b22f2f4135529f 100644 (file)
@@ -25,7 +25,7 @@ see linux kernel source:
 
 """
 
-from nmigen import Const, Signal, Cat, Module
+from nmigen import Const, Signal, Cat, Module, Elaboratable
 from nmigen.hdl.ast import ArrayProxy
 from nmigen.cli import verilog, rtlil
 from math import log2
@@ -153,7 +153,7 @@ LVL2 = Const(1, 2)
 LVL3 = Const(2, 2)
 
 
-class PTW:
+class PTW(Elaboratable):
     def __init__(self, asid_width=8):
         self.asid_width = asid_width
 
index b249f549f47d81226b6d3369117cf763d57ba45a..68dcfa583b88914dcc271097fb62ac5399a23eaa 100644 (file)
@@ -2,7 +2,7 @@ import sys
 sys.path.append("../src")
 sys.path.append("../../../TestUtil")
 
-from plru import PLRU
+from TLB.ariane.plru import PLRU
 
 from nmigen.compat.sim import run_simulation
 
index 3164501d877e395c607f67e3ddaa90afa19449bc..7a8a893dd161e8504ceca24fc59af535b7fc1006 100644 (file)
@@ -7,7 +7,7 @@ from nmigen.compat.sim import run_simulation
 from TLB.ariane.ptw import PTW, PTE
 
 
-def testbench(dut):
+def tbench(dut):
 
     addr = 0x8000000
 
@@ -120,8 +120,10 @@ def testbench(dut):
     yield
 
 
-
-if __name__ == "__main__":
+def test_ptw():
     dut = PTW()
-    run_simulation(dut, testbench(dut), vcd_name="test_ptw.vcd")
+    run_simulation(dut, tbench(dut), vcd_name="test_ptw.vcd")
     print("PTW Unit Test Success")
+
+if __name__ == "__main__":
+    test_ptw()
index ef52ba742946282c803cc6f3dc11248dc621e3b6..e10325f81bd2f86ce787837c5f1b06f79f98a8c2 100644 (file)
@@ -11,7 +11,7 @@ def set_vaddr(addr):
     yield dut.update_i.vpn.eq(addr>>12)
 
 
-def testbench(dut):
+def tbench(dut):
     yield dut.lu_access_i.eq(1)
     yield dut.lu_asid_i.eq(1)
     yield dut.update_i.valid.eq(1)
@@ -66,4 +66,4 @@ def testbench(dut):
 
 if __name__ == "__main__":
     dut = TLB()
-    run_simulation(dut, testbench(dut), vcd_name="test_tlb.vcd")
+    run_simulation(dut, tbench(dut), vcd_name="test_tlb.vcd")
index f768571ed28377e3fad3f5c30615e3f1842e4035..31505118e5fe2a55f9d5ae55773ddd8be92be5fc 100644 (file)
@@ -29,9 +29,9 @@ from nmigen import Signal, Module, Cat, Const, Array
 from nmigen.cli import verilog, rtlil
 from nmigen.lib.coding import Encoder
 
-from ptw import TLBUpdate, PTE, ASID_WIDTH
-from plru import PLRU
-from tlb_content import TLBContent
+from TLB.ariane.ptw import TLBUpdate, PTE, ASID_WIDTH
+from TLB.ariane.plru import PLRU
+from TLB.ariane.tlb_content import TLBContent
 
 TLB_ENTRIES = 8
 
index 024c5697e1f96c77cea6058a9c2785a501c058cd..5c005b84bbf97d98b6879f71d4adbb6ed888aa61 100644 (file)
@@ -1,6 +1,7 @@
-from nmigen import Signal, Module, Cat, Const
+from nmigen import Signal, Module, Cat, Const, Elaboratable
+
+from TLB.ariane.ptw import TLBUpdate, PTE
 
-from ptw import TLBUpdate, PTE
 
 class TLBEntry:
     def __init__(self, asid_width):
@@ -23,7 +24,7 @@ class TLBEntry:
         return [self.asid, self.vpn0, self.vpn1, self.vpn2,
                 self.is_2M, self.is_1G, self.valid]
 
-class TLBContent:
+class TLBContent(Elaboratable):
     def __init__(self, pte_width, asid_width):
         self.asid_width = asid_width
         self.pte_width = pte_width