当前位置:   article > 正文

双口ram 简介及Verilog实现_verilog中双口ram

verilog中双口ram

简介:

RAM(Random Access Memory),随机存储器,是一种用来暂时存储中间数据的存储器,掉电易失,按照类型可以分为单口ram,双口ram,其中双口ram又有简单(伪)的ram,真双端口ram,在异步FIFO的内部就是一个双端口ram存储数据,ram 是最简单的ip,在FPGA和ASIC设计中会经常用到成熟的ram,重点理解ram的输出输入特性,了解在项目中如何使用RAM,以及如何控制RAM的读出和写入。

 注意点

FIFO也是一个端口只读,一个端口只写,FIFO与伪双端口ram的区别在于,FIFO是先入先出,没有地址线,不能对存储单元寻址;而伪双端口ram两个端口都有地址线,可以对存储单元寻址。

异步时钟域的缓存只要是双端口器件都可以完成,但是fifo不与要对地址进行控制,是最方便和简单的。

时序图查看相关的数据手册

Verilog代码实现

  1. module RAM #(
  2. parameter FIFO_DATA_WIDTH = 3,
  3. parameter FIFO_ADDR_WIDTH = 2,
  4. )(
  5. input clk_w ,
  6. input rst_w ,
  7. input clk_r ,
  8. input rst_r ,
  9. input full ,
  10. input empty ,
  11. input w_en ,
  12. input r_en ,
  13. input [FIFO_ADDR_WIDTH-1:0] w_addr ,
  14. input [FIFO_ADDR_WIDTH-1:0] r_addr ,
  15. input [FIFO_DATA_WIDTH-1:0] data_in,
  16. output reg [FIFO_DATA_WIDTH-1:0] data_out ,
  17. );
  18. //======================================================================================
  19. reg [FIFO_DATA_WIDTH-1:0] mem [{FIFO_ADDR_WIDTH{1'b1}}:0];
  20. integer i ;
  21. always @(posedge clk_w or negedge rst_w) begin
  22. if(!rst_w)begin
  23. for(i=0;i<=FIFO_DATA_WIDTH;i+i+1)begin
  24. mem[i] <= {FIFO_DATA_WIDTH{1'b0}} ;
  25. end
  26. end
  27. else if(w_en && full==0)begin
  28. mem[w_addr] <= data_in ;
  29. end
  30. else begin
  31. mem[w_addr] <= {FIFO_DATA_WIDTH{1'b0}};
  32. end
  33. end
  34. //===========================================================================
  35. always@(posedge clk_r or negedge rst_r)begin
  36. if(!rst_r)
  37. begin
  38. data_out <= {FIFO_DATA_WIDTH{1'b0}};
  39. end
  40. else if(r_en && empty==0)begin
  41. data_out <= mem[r_addr];
  42. end
  43. else begin
  44. data_out <= {FIFO_DATA_WIDTH{1'b0}};
  45. end
  46. end
  47. endmodule

总结:

双口ram四种操作情况

1两个端口不同时对同一个地址单元写入数据。(ok)

2两个端口同时对一个地址单元读出数据(ok)

3两个端口同时对同一个地址单元写入数据(write err)

4两个端口同时对同一个地址单元,一个写入数据,一个读取数据(read err )

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/585955
推荐阅读
相关标签
  

闽ICP备14008679号