Mem: Make SimpleMemory single ported
This patch changes the simple memory to have a single slave port rather than a vector port. The simple memory makes no attempts at modelling the contention between multiple ports, and any such multiplexing and demultiplexing could be done in a bus (or crossbar) outside the memory controller. This scenario also matches with the ongoing work on a SimpleDRAM model, which will be a single-ported single-channel controller that can be used in conjunction with a bus (or crossbar) to create a multi-port multi-channel controller. There are only very few regressions that make use of the vector port, and these are all for functional accesses only. To facilitate these cases, memtest and memtest-ruby have been updated to also have a "functional" bus to perform the (de)multiplexing of the functional memory accesses.
This commit is contained in:
@@ -44,6 +44,6 @@ from AbstractMemory import *
|
||||
|
||||
class SimpleMemory(AbstractMemory):
|
||||
type = 'SimpleMemory'
|
||||
port = VectorSlavePort("Slave ports")
|
||||
port = SlavePort("Slave ports")
|
||||
latency = Param.Latency('30ns', "Request to response latency")
|
||||
latency_var = Param.Latency('0ns', "Request to response latency variance")
|
||||
|
||||
Reference in New Issue
Block a user