blob: 61c01d291795048d11788f501bb36dfe922b752c [file] [log] [blame] [edit]
interface CacheSetInterface(
input logic [7:0] request,
output logic [7:0] response
);
modport CacheSet(
input request,
output response
);
endinterface
module CacheWithInterface(
input logic [7:0] dataIn,
output logic [7:0] dataOut,
input logic clock, clear
);
logic [7:0] myRequest;
logic [7:0] myResponse;
CacheSetInterface dataInterface(
.request(myRequest),
.response(myResponse)
);
CacheSet set(
.data(dataInterface.CacheSet),
.clock,
.clear
);
assign myRequest = dataIn;
assign dataOut = myResponse;
endmodule
module CacheSet (
CacheSetInterface.CacheSet data,
input logic clock, clear
);
always_ff @(posedge clock)
if(clear)
data.response <= 8'h0;
else
data.response <= ~data.request;
endmodule