PowRstMemWrapper.sv 952 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. module PowRstMemWrapper (
  2. input Clk_i,
  3. input Rst_i,
  4. input WrReq_i,
  5. input [63:0] Data_i,
  6. input RdReq_i,
  7. output [63:0] Data_o,
  8. output reg DataVal_o
  9. );
  10. wire [5:0] addrA;
  11. wire [5:0] addrB;
  12. wire weA;
  13. wire reB;
  14. MemCtrl MemCtrl
  15. (
  16. .Clk_i(Clk_i),
  17. .Rst_i(Rst_i),
  18. .WrReq_i(WrReq_i),
  19. .RdReq_i(RdReq_i),
  20. .AddrA_o(addrA),
  21. .WeA_o(weA),
  22. .AddrB_o(addrB),
  23. .ReB_o(reB)
  24. );
  25. PowRstCmdMem PowRstMem
  26. (
  27. .clka(Clk_i), // input wire clka
  28. .ena(1'b1), // input wire ena
  29. .wea(weA), // input wire [0 : 0] wea
  30. .addra(addrA), // input wire [5 : 0] addra
  31. .dina(Data_i), // input wire [31 : 0] dina
  32. .clkb(Clk_i), // input wire clkb
  33. .enb(reB), // input wire enb
  34. .addrb(addrB), // input wire [5 : 0] addrb
  35. .doutb(Data_o) // output wire [31 : 0] doutb
  36. );
  37. always @(posedge Clk_i) begin
  38. if (Rst_i) begin
  39. DataVal_o <= reB;
  40. end
  41. end
  42. endmodule