全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 可编程逻辑 >

FPGA双端口RAM的使用简述

时间:2023-04-25 15:58

人气:

作者:admin

标签: FPGA  使用      端口    RAM 

导读:RAM :随机存取存储器(random access memory,RAM)又称作“随机存储器”。...

1 简述

RAM :随机存取存储器(random access memory,RAM)又称作“随机存储器”。在FPGA开发过程中经常使用到,而所谓的双端口RAM就是有两组独立的端口对存储块进行读写操作,如下图所示。

图片

一般在应用时,一个作为读端口,另一个作为写端口(也可以同时写和读)。

2 例化IP核

在开发过程中,常会用到双端口RAM,下面说一下FPGA中双端口RAM的常规使用方法,更多的使用方案可翻阅参考文献。

本次仿真采用Xilinx的 Block Memory Generator v8.4的IP核来进行例化,例化参数如下。

图片

porta端口配置

图片

portb端口配置

图片

若以端口a作为写端口,b作为读端口,则写端口的数据位宽为128bit,深度为8192,则地址位宽为14bit,而读端口的数据位宽为32bit,深度为3276,则地址宽度为15bit。

3 端口描述

在写仿真激励之前,需要了解各端口在IP核中的功能,例化后的IP核如下图所示

图片

各端口定义如下,端口b定义和a一样。

图片

4 仿真激励编写

根据端口定义设计仿真激励,tb代码如下。

`timescale 1ns / 1ps
module tb_memory();
reg  [12:0]  addra;
reg          clka ;
reg  [127:0] dina ;
reg          wea  ;
reg          ena ;
reg [14:0]   addrb;
reg          clkb ;
wire [31:0] doutb;
reg          enb  ;
reg          web  ;


initial begin
  addra = 13'd0;
  clka  = 1'b0 ;
  dina  = 128'h40000000300000002000000010000000;
  wea   = 1'b1;
  ena   = 1'b1;


  addrb = 15'd0;
  clkb  = 1'b0 ;
  enb   = 1'b1;
  web   = 1'b0;
end


 always #10    clka = ~clka;//写时钟50M
 always #20    clkb = ~clkb;//读时钟为25M

 reg [15:0] counta = 16'd0;
 always @(posedge clka) begin;
  if(wea==1'b1) begin
   addra <= addra + 13'b1;
   dina  <= dina + 128'b1;
   if (addra == 13'h3fff) begin
    addra <= 13'h0;
   end
  end
 end


 reg [15:0] countb = 16'd0;
 always @(posedge clkb) begin
  if(enb==1'b1) begin
   addrb <= addrb + 15'b1;
   if (addrb == 15'h3fff) begin
       addrb <= 15'h0;
   end
  end
 end


design_1_wrapper tb_memory(
  .BRAM_PORTA_0_addr(addra),
  .BRAM_PORTA_0_clk (clka ),
  .BRAM_PORTA_0_din (dina ),
  .BRAM_PORTA_0_we  (wea ),
  .BRAM_PORTA_0_en  (ena),
  .BRAM_PORTB_0_addr(addrb),
  .BRAM_PORTB_0_clk (clkb ),
  .BRAM_PORTB_0_dout(doutb),
  .BRAM_PORTB_0_we  (web),
  .BRAM_PORTB_0_en  (enb)
);
endmodule

仿真结果如下图所示

图片

由上图所示,由于写数据的位宽为128bit,读数据的位宽为32bit,因此需要读4次拼接起来才能恢复写入的数据。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信