SRAMr.v 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. module SRAMr #(
  2. parameter CmdRegWidth = 32,
  3. parameter AddrRegWidth = 12
  4. ) (
  5. input Clk123_i,
  6. // input Clk50_i,
  7. input [AddrRegWidth-2:0] Addr_i,
  8. inout [CmdRegWidth/2-1:0] Data_i,
  9. // input Start_i,
  10. input writeEn_i,
  11. input readEn_i,
  12. input [1:0] BE_i,
  13. input outputEn_i,
  14. // output wire fullFlag,
  15. // output wire emptyFlag,
  16. output Led_o
  17. );
  18. //testComment
  19. //================================================================================
  20. // REG/WIRE
  21. //================================================================================
  22. wire wrEn;
  23. wire rdEn;
  24. wire Rst_i;
  25. wire [CmdRegWidth/2-1:0] data;
  26. wire [AddrRegWidth-1:0] addr;
  27. wire mosi0;
  28. wire mosi1;
  29. wire mosi2;
  30. wire mosi3;
  31. wire sck;
  32. wire ss;
  33. //================================================================================
  34. // ASSIGNMENTS
  35. //================================================================================
  36. assign addr = {Addr_i, 1'b0};
  37. assign Data_i = (!outputEn_i) ? data : 16'bz;
  38. //================================================================================
  39. // CODING
  40. //================================================================================
  41. RegMap #(
  42. .CmdRegWidth(32),
  43. .AddrRegWidth(12)
  44. )
  45. RegMap_inst (
  46. .Clk_i(Clk123_i),
  47. .Rst_i(Rst_i),
  48. .Data_i(Data_i),
  49. .Addr_i(addr),
  50. .wrEn_i(writeEn_i),
  51. .rdEn_i(readEn_i),
  52. .BE_i(BE_i),
  53. .Led_o(Led_o),
  54. .AnsDataReg_o(data)
  55. );
  56. InitRst InitRst_inst (
  57. .clk_i(Clk123_i),
  58. .signal_o(Rst_i)
  59. );
  60. endmodule