diff --git a/vram/MemArbiter.bsv b/vram/MemArbiter.bsv index 9807e94..4138c14 100644 --- a/vram/MemArbiter.bsv +++ b/vram/MemArbiter.bsv @@ -19,14 +19,14 @@ endinterface // A MemArbiterClient emits requests for memory access and emits // grants. interface MemArbiterClient#(type request); - method request request(); + method Maybe#(request) request(); method Action grant(); endinterface instance Connectable#(MemArbiterClient#(req), MemArbiterServer#(req)); module mkConnection(MemArbiterClient#(req) client, MemArbiterServer#(req) server, Empty ifc); - rule send_request; - server.request(client.request()); + rule send_request (client.request matches tagged Valid .req); + server.request(req); endrule rule send_grant (server.grant());