module PowRstMemWrapper ( input Clk_i, input Rst_i, input WrReq_i, input [63:0] Data_i, input RdReq_i, output [63:0] Data_o, output reg DataVal_o ); wire [5:0] addrA; wire [5:0] addrB; wire weA; wire reB; MemCtrl MemCtrl ( .Clk_i(Clk_i), .Rst_i(Rst_i), .WrReq_i(WrReq_i), .RdReq_i(RdReq_i), .AddrA_o(addrA), .WeA_o(weA), .AddrB_o(addrB), .ReB_o(reB) ); PowRstCmdMem PowRstMem ( .clka(Clk_i), // input wire clka .ena(1'b1), // input wire ena .wea(weA), // input wire [0 : 0] wea .addra(addrA), // input wire [5 : 0] addra .dina(Data_i), // input wire [31 : 0] dina .clkb(Clk_i), // input wire clkb .enb(reB), // input wire enb .addrb(addrB), // input wire [5 : 0] addrb .doutb(Data_o) // output wire [31 : 0] doutb ); always @(posedge Clk_i) begin if (Rst_i) begin DataVal_o <= reB; end end endmodule