vram/MemArbiter: remove MemArbiterClient, not needed right now

This commit is contained in:
David Anderson 2024-09-08 09:26:59 -07:00
parent eca95e0fb6
commit 2ebf399d62
1 changed files with 0 additions and 20 deletions

View File

@ -5,7 +5,6 @@ import Vector::*;
export MemArbiterOp(..); export MemArbiterOp(..);
export MemArbiterServer(..); export MemArbiterServer(..);
export MemArbiterClient(..);
export MemArbiter(..), mkPriorityMemArbiter, mkRoundRobinMemArbiter; export MemArbiter(..), mkPriorityMemArbiter, mkRoundRobinMemArbiter;
// A MemArbiterOp is an operation that a client is seeking permission // A MemArbiterOp is an operation that a client is seeking permission
@ -31,25 +30,6 @@ interface MemArbiterServer#(type addr);
method Bool grant(); method Bool grant();
endinterface endinterface
// A MemArbiterClient emits requests and receives grants.
interface MemArbiterClient#(type addr);
method Maybe#(MemArbiterOp#(addr)) request();
method Action grant();
endinterface
// Arbiter clients and servers can be connected in the obvious way.
instance Connectable#(MemArbiterClient#(addr), MemArbiterServer#(addr));
module mkConnection(MemArbiterClient#(addr) client, MemArbiterServer#(addr) server, Empty ifc);
rule send_request (client.request matches tagged Valid .req);
server.request(req);
endrule
rule send_grant (server.grant());
client.grant();
endrule
endmodule
endinstance
// A MemArbiter manages concurrent access to a memory port. // A MemArbiter manages concurrent access to a memory port.
interface MemArbiter#(numeric type num_clients, type addr); interface MemArbiter#(numeric type num_clients, type addr);
// ports allow clients to request memory access. // ports allow clients to request memory access.