--enable-xics --enable-sram4x4kblock --disable-svp64 \
src/soc/litex/florent/libresoc/libresoc.v
-# build microwatt "external core"
+# build microwatt "external core", note that the TLB set size is set to 16
+# for I/D-Cache which needs a corresponding alteration of the device-tree
+# entries for linux
microwatt_external_core:
python3 src/soc/simple/issuer_verilog.py --microwatt-compat --enable-mmu \
external_core_top.v
self.TLB_PTE_BITS = 64
self.TLB_PTE_WAY_BITS = self.TLB_NUM_WAYS * self.TLB_PTE_BITS;
- assert (self.LINE_SIZE % self.ROW_SIZE) == 0, "LINE_SIZE not multiple of ROW_SIZE"
+ assert (self.LINE_SIZE % self.ROW_SIZE) == 0, \
+ "LINE_SIZE not multiple of ROW_SIZE"
assert ispow2(self.LINE_SIZE), "LINE_SIZE not power of 2"
assert ispow2(self.NUM_LINES), "NUM_LINES not power of 2"
assert ispow2(self.ROW_PER_LINE), "ROW_PER_LINE not power of 2"
# reduce way sizes and num lines
super().__init__(NUM_LINES = 16,
NUM_WAYS = 1,
- TLB_NUM_WAYS = 1)
+ TLB_NUM_WAYS = 1,
+ TLB_SET_SIZE=16) # XXX needs device-tree entry
else:
super().__init__()
# reduce way sizes and num lines
ICacheConfig.__init__(self, NUM_LINES = 4,
NUM_WAYS = 1,
+ TLB_SIZE=16 # needs device-tree update
)
else:
ICacheConfig.__init__(self)