pram.v
上传用户:bltddc
上传日期:2020-07-09
资源大小:4428k
文件大小:1k
源码类别:

SCSI/ASPI

开发平台:

VHDL

  1. //
  2. // Synchornous Data RAM, 12x2048
  3. //
  4. // Replace with your actual memory model..
  5. //
  6. module pram (
  7.    clk,
  8.    address,
  9.    we,
  10.    din,
  11.    dout
  12. );
  13. input clk;
  14. input [10:0] address;
  15. input we;
  16. input [11:0] din;
  17. output [11:0] dout;
  18. // synopsys translate_off
  19. parameter word_depth = 2048;
  20. reg [10:0] address_latched;
  21. // Instantiate the memory array itself.
  22. reg [11:0] mem[0:word_depth-1];
  23. // Latch address
  24. always @(posedge clk)
  25.    address_latched <= address;
  26.    
  27. // READ
  28. assign dout = mem[address_latched];
  29. // WRITE
  30. always @(posedge clk)
  31.    if (we) mem[address] <= din;
  32. // synopsys translate_on
  33. endmodule