2 `include "pipeconnect.h"
4 module dmem(input wire clk
,
7 input wire `REQ dmem_req,
8 output wire `RES dmem_res,
10 output wire `REQ dc_ctrl_req,
11 input wire `RES dc_ctrl_res,
13 output wire `REQ bus_ctrl_d_req,
14 input wire `RES bus_ctrl_d_res);
19 (dmem_req
`A & 'hFFFF_E000) == 'h1000_0000, // XXX Get rid of this!
21 dc_ctrl_req
, dc_ctrl_res
,
22 bus_ctrl_d_req
, bus_ctrl_d_res
);
25 pipechecker
check1("dmem", clk
, dmem_req
, dmem_res
);
26 pipechecker
check2("dmem dc_ctrl_d", clk
, dc_ctrl_req
, dc_ctrl_res
);
27 pipechecker
check3("dmem bus_ctrl_d", clk
, bus_ctrl_d_req
, bus_ctrl_d_res
);
31 always @(posedge clk
) if (debug
) begin
34 $display("%5d DMEM: Stall in data memory: %d %d %d", $time,
35 dmem_res
`HOLD, dc_ctrl_res`HOLD, bus_ctrl_d_res`HOLD);
38 $display("%5d DMEM: load [%x]", $time, dmem_req
`A);
41 $display("%5d DMEM: load -> %x", $time, dmem_res
`RD);
44 $display("%5d DMEM: store %x->[%x] (bytena %x)",
45 $time, dmem_req
`WD, dmem_req`A, dmem_req`WBE);