Source code for hwtLib.amba.axiLite_comp.sim.ram
from hwtLib.amba.axi_comp.sim.ram import AxiSimRam
from hwtLib.amba.constants import RESP_OKAY
[docs]class Axi4LiteSimRam(AxiSimRam):
"""
Simulation memory for Axi4Lite interfaces (slave component)
"""
[docs] def parseReq(self, req):
try:
req = [int(v) for v in req]
except ValueError:
raise AssertionError("Invalid AXI request", req) from None
addr = req[0]
return (0, addr, 1, self.allMask)
[docs] def add_r_ag_data(self, _id, data, isLast):
assert isLast
self.rAg.data.append((data, RESP_OKAY))
[docs] def pop_w_ag_data(self, _id):
data, strb = self.wAg.data.popleft()
last = 1
return (data, strb, last)
[docs] def doWriteAck(self, _id):
self.wAckAg.data.append(RESP_OKAY)