電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>可編程邏輯>Vivado中xilinx_BRAM IP核使用

Vivado中xilinx_BRAM IP核使用

2021-03-10 | pdf | 229.18KB | 次下載 | 3積分

資料介紹

本文轉(zhuǎn)載自:VagueCheung的博客

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

BRAM IP核包括有5種類型:

Single-port RAM 單端口RAM

Simple Dual-port RAM 簡單雙端口RAM(A寫數(shù)據(jù)B讀數(shù)據(jù))

True Dual-port RAM 雙端口RAM

Single-por ROM 單端口ROM

Dual-port ROM 雙端口ROM

BRAM核支持兩種總線形式的輸入輸出:Native or AXI4

以下圖配置為例:Single-port RAM



Testbench 測(cè)試代碼如下:

`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]; //輸入數(shù)據(jù)存儲(chǔ)器

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 輸入時(shí)鐘信號(hào)

.ena(ena), //BRAM 時(shí)鐘使能信號(hào)

.wea(wea), //寫使能信號(hào)

.addra(addra), //地址信號(hào)

.dina(dina), //數(shù)據(jù)輸入接口 寫入

.douta(douta) //數(shù)據(jù)輸出接口 讀出

);

always #5 clka = ~clka;

initial $readmemh("D:/fpga/fft1/stimulus1_24bit.dat",mem1_re); //數(shù)據(jù)是[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

仿真結(jié)果如下:

配置為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]; //輸入數(shù)據(jù)存儲(chǔ)器

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;

/*****單端口 網(wǎng)絡(luò)配置的IP核

blk_mem_gen_0 blk_mem_gen_m0

(

.clka(clka), //BRAM 輸入時(shí)鐘信號(hào)

.ena(ena), //BRAM 時(shí)鐘使能信號(hào)

.wea(wea), //寫使能信號(hào)

.addra(addra), //地址信號(hào)

.dina(dina), //數(shù)據(jù)輸入接口 寫入

.douta(douta)

);*******/

/**************簡單雙端口RAM A進(jìn)B出**************/

blk_mem_gen_0 blk_mem_gen_m0

(

.clka(clk), //BRAM 輸入時(shí)鐘信號(hào)

.ena(ena), //BRAM 時(shí)鐘使能信號(hào)

.wea(wea), //寫使能信號(hào)

.addra(addra), //地址信號(hào)

.dina(dina), //數(shù)據(jù)輸入接口 寫入

.clkb(clk), //BRAM 輸入時(shí)鐘信號(hào)

.enb(enb), //BRAM 時(shí)鐘使能信號(hào)

.addrb(addrb), //地址信號(hào)

.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

測(cè)試仿真結(jié)果:

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1491次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  95次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識(shí)別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  11次下載  |  免費(fèi)
  11. 6100W短波放大電路圖
  12. 0.05 MB  |  4次下載  |  3 積分
  13. 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
  14. 0.23 MB  |  4次下載  |  免費(fèi)
  15. 8基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  16. 0.11 MB  |  4次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537793次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)