vram/MemArbiter: remove MemArbiterClient, not needed right now
This commit is contained in:
parent
eca95e0fb6
commit
2ebf399d62
|
@ -5,7 +5,6 @@ import Vector::*;
|
|||
|
||||
export MemArbiterOp(..);
|
||||
export MemArbiterServer(..);
|
||||
export MemArbiterClient(..);
|
||||
export MemArbiter(..), mkPriorityMemArbiter, mkRoundRobinMemArbiter;
|
||||
|
||||
// A MemArbiterOp is an operation that a client is seeking permission
|
||||
|
@ -31,25 +30,6 @@ interface MemArbiterServer#(type addr);
|
|||
method Bool grant();
|
||||
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.
|
||||
interface MemArbiter#(numeric type num_clients, type addr);
|
||||
// ports allow clients to request memory access.
|
||||
|
|
Loading…
Reference in New Issue