add some use of new "Elaboratable"
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 23 Apr 2019 08:35:08 +0000 (09:35 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 23 Apr 2019 08:35:08 +0000 (09:35 +0100)
TLB/src/MemorySet.py
TLB/src/SetAssociativeCache.py
TLB/src/ariane/plru.py

index d081dcda34e805d7687d4d27c482198cb8ec6dec..ea61bdf5c7e34035f825684abcd19fdfb3f80a57 100644 (file)
@@ -1,8 +1,9 @@
-from nmigen import Cat, Memory, Module, Signal
+from nmigen import Cat, Memory, Module, Signal, Elaboratable
 from nmigen.cli import main
 from nmigen.cli import verilog, rtlil
 
-class MemorySet:
+
+class MemorySet(Elaboratable):
     def __init__(self, data_size, tag_size, set_count, active):
         self.active = active
         input_size = tag_size + data_size # Size of the input data
@@ -62,4 +63,4 @@ class MemorySet:
             m.d.comb += write_port.addr.eq(self.cset)
             m.d.comb += write_port.data.eq(Cat(1, self.data_i, self.tag))
 
-        return m
\ No newline at end of file
+        return m
index d5bad5726ac9c16e98c6123a17f6e4f10839dec5..9afa1a28ef36e5fee7383218fcd1879b5527e975 100644 (file)
@@ -9,7 +9,7 @@ https://github.com/vaskevich/CacheSim/blob/master/cachesim.py
 import sys
 sys.path.append("../src/ariane")
 
-from nmigen import Array, Cat, Memory, Module, Signal, Mux
+from nmigen import Array, Cat, Memory, Module, Signal, Mux, Elaboratable
 from nmigen.compat.genlib import fsm
 from nmigen.cli import main
 from nmigen.cli import verilog, rtlil
@@ -27,7 +27,8 @@ SA_NA = "00" # no action (none)
 SA_RD = "01" # read
 SA_WR = "10" # write
 
-class SetAssociativeCache():
+
+class SetAssociativeCache(Elaboratable):
     """ Set Associative Cache Memory
 
         The purpose of this module is to generate a memory cache given the
index 835c4a8e83d44b6aeb2d47fbb17195e26b6cc5e9..7c4a4041d9009a1b3560686813113e38b8a9b6a4 100644 (file)
@@ -1,9 +1,9 @@
+from nmigen import Signal, Module, Cat, Const, Elaboratable
 from math import log2
-from nmigen import Signal, Module, Cat, Const
 
 from ptw import TLBUpdate, PTE, ASID_WIDTH
 
-class PLRU:
+class PLRU(Elaboratable):
     """ PLRU - Pseudo Least Recently Used Replacement
 
         PLRU-tree indexing:
@@ -98,4 +98,4 @@ class PLRU:
             replace.append(~Cat(*en).bool())
         m.d.comb += self.replace_en_o.eq(Cat(*replace))
 
-        return m
\ No newline at end of file
+        return m