資料介紹
本文轉載自: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
(
.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
測試仿真結果:
- Xilinx_Vivado_zynq7000入門筆記 71次下載
- Vivado中xilinx_courdic IP核(求exp指數函數)使用
- MicroBlaze(Vivado版)設置說明詳細資料免費下載 0次下載
- Xilinx Vivado SDK 2017.2 0616 1 Win64軟件免費下載 320次下載
- VIVADO——IP封裝技術封裝一個普通的VGA IP-FPGA 15次下載
- 攝像頭的硬件函數(IP核) 13次下載
- PCI總線IP核(華為的商用) 30次下載
- VGA顯示IP核(包括驅動) 18次下載
- USB IP核 13次下載
- PCI Express IP核應用參考設計 14次下載
- USB2.0 IP核源代碼 35次下載
- FFT變換的IP核的源代碼 10次下載
- 基于Xilinx_FPGA_IP核的FFT算法的設計與實現 37次下載
- FPGA中IP核的生成 11次下載
- 如何仿真IP核(建立modelsim仿真庫完整解析) 35次下載
- LogiCORE JTAG至AXI Master IP核簡介 849次閱讀
- 從Xilinx FFT IP核到FPGA實現OFDM 1125次閱讀
- Video In to AXI4-Stream IP核知識介紹 1429次閱讀
- 使用VCS仿真Vivado IP核時遇到的問題及解決方案 1993次閱讀
- 如何進行FFT IP配置和設計 2206次閱讀
- 使用VIvado封裝自定IP并使用IP創建工程 5265次閱讀
- xilinx Vivado工具使用技巧 3934次閱讀
- 調用Vivado IP核的方法 4648次閱讀
- Vivado中的IP核封裝 1w次閱讀
- Xilinx Vivado硬件診斷和校驗 2151次閱讀
- Vivado軟件仿真DDS核的過程中應該注意的問題 9659次閱讀
- Vivado將模塊封裝為IP的方法介紹 7748次閱讀
- 賽靈思Vivado開發套件與IP核的原理作用分析 1924次閱讀
- 在Vivado下利用Tcl實現IP的高效管理 5708次閱讀
- Vivado環境下如何在IP Integrator中正確使用HLS IP 4324次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1491次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 4次下載 | 免費
- 8基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537793次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多