电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>可编程逻辑>Vivado中xilinx_BRAM IP核使用

Vivado中xilinx_BRAM IP核使用

2021-03-10 | pdf | 229.18KB | 次下载 | 免费

资料介绍

本文转载自:VagueCheung的博客

Vivado2017.2 中BRAM版本为 Block Memory Generator Specific Features 8.3

BRAM IP核包括有5种类型:

Single-port RAM 单端口RAM

Simple Dual-port RAM 简单双端口RAM(A写数据B读数据)

True Dual-port RAM 双端口RAM

Single-por ROM 单端口ROM

Dual-port ROM 双端口ROM

BRAM核支持两种总线形式的输入输出:Native or AXI4

以下图配置为例:Single-port RAM



Testbench 测试代码如下:

`timescale 1ns / 1ps

//////////////////////////////////////////////////////////////////////////////////

// Company:

// Engineer:

//

// Create Date: 2018/11/21 15:52:48

// Design Name:

// Module Name: test_bench_BRAM

// Project Name:

// Target Devices:

// Tool Versions:

// Description:

//

// Dependencies:

//

// Revision:

// Revision 0.01 - File Created

// Additional Comments:

//

//////////////////////////////////////////////////////////////////////////////////

module test_bench_BRAM(

);

reg[15:0] mem1_re[0:15]; //输入数据存储器

integer i;

// blk_mem_gen_0 inputs

reg clka;

reg ena;

reg wea;

reg[3:0] addra;

reg[15:0] dina;

// blk_mem_gen_0 outputs

wire[15:0] douta;

blk_mem_gen_0 blk_mem_gen_m0

(

.clka(clka), //BRAM 输入时钟信号

.ena(ena), //BRAM 时钟使能信号

.wea(wea), //写使能信号

.addra(addra), //地址信号

.dina(dina), //数据输入接口 写入

.douta(douta) //数据输出接口 读出

);

always #5 clka = ~clka;

initial $readmemh("D:/fpga/fft1/stimulus1_24bit.dat",mem1_re); //数据是[1 2 3 4 5 6 7 8 9]

initial begin

clka = 0;

ena = 0;

wea = 0;

addra = 0;

dina = 0;

#150 ena = 1;

begin

for(i=0;i

#10 wea

addra

/*if(i == 0) begin

addra

end

else if (i == 1) begin

addra

end

else if(i == 2) begin

addra

end

else if(i == 3) begin

addra

end

else begin

wea

end*/

dina

if(i == 15) begin

dina

wea

end

$display("mem_a[%d] = %h", i, mem1_re[i]);

end

end

#40000 $finish;

end

endmodule

仿真结果如下:

配置为simple dual port ram

Testbench

`timescale 1ns / 1ps

//////////////////////////////////////////////////////////////////////////////////

// Company:

// Engineer:

//

// Create Date: 2018/11/21 15:52:48

// Design Name:

// Module Name: test_bench_BRAM

// Project Name:

// Target Devices:

// Tool Versions:

// Description:

//

// Dependencies:

//

// Revision:

// Revision 0.01 - File Created

// Additional Comments:

//

//////////////////////////////////////////////////////////////////////////////////

module test_bench_BRAM(

);

reg[15:0] mem1_re[0:15]; //输入数据存储器

integer i;

integer j;

// blk_mem_gen_0 inputs

reg clk;

reg ena;

reg enb;

reg wea;

reg[3:0] addra;

reg[3:0] addrb;

reg[15:0] dina;

// blk_mem_gen_0 outputs

wire[15:0] douta;

wire[15:0] doutb;

/*****单端口 网络配置的IP核

blk_mem_gen_0 blk_mem_gen_m0

(

.clka(clka), //BRAM 输入时钟信号

.ena(ena), //BRAM 时钟使能信号

.wea(wea), //写使能信号

.addra(addra), //地址信号

.dina(dina), //数据输入接口 写入

.douta(douta)

);*******/

/**************简单双端口RAM A进B出**************/

blk_mem_gen_0 blk_mem_gen_m0

(

.clka(clk), //BRAM 输入时钟信号

.ena(ena), //BRAM 时钟使能信号

.wea(wea), //写使能信号

.addra(addra), //地址信号

.dina(dina), //数据输入接口 写入

.clkb(clk), //BRAM 输入时钟信号

.enb(enb), //BRAM 时钟使能信号

.addrb(addrb), //地址信号

.doutb(doutb)

);

always #5 clk = ~clk;

initial $readmemh("D:/fpga/fft1/stimulus1_24bit.dat",mem1_re);

initial begin

clk = 0;

ena = 0;

enb = 0;

wea = 0;

addra = 0;

addrb = 0;

dina = 0;

#150 ena = 1;

begin

for(i=0;i

#10 wea

addra

dina

if(i == 15) begin

dina

wea

addra

end

$display("mem_a[%d] = %h", i, mem1_re[i]);

end

for(j=0;j

#10 addrb

enb

if( j == 15) begin

enb

addrb

end

end

end

#40000 $finish;

end

endmodule

测试仿真结果:

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1491次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  95次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  11次下载  |  免费
  11. 6100W短波放大电路图
  12. 0.05 MB  |  4次下载  |  3 积分
  13. 7基于单片机和 SG3525的程控开关电源设计
  14. 0.23 MB  |  4次下载  |  免费
  15. 8基于AT89C2051/4051单片机编程器的实验
  16. 0.11 MB  |  4次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30320次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537793次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费