【ZYNQ Ultrascale+ MPSOC FPGA教程】第七章 FPGA片內(nèi)ROM測試實驗
資料介紹
作者: ALINX
* 本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權歸本公司所有,如需轉(zhuǎn)載,需授權并注明出處。
適用于板卡型號:
AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG
實驗Vivado工程為“rom_test”
FPGA本身是SRAM架構的,斷電之后,程序就消失,那么如何利用FPGA實現(xiàn)一個ROM呢,我們可以利用FPGA內(nèi)部的RAM資源實現(xiàn)ROM,但不是真正意義上的ROM,而是每次上電都會把初始化的值先寫入RAM。本實驗將為大家介紹如何使用FPGA內(nèi)部的ROM以及程序?qū)υ揜OM的數(shù)據(jù)讀操作。
1.實驗原理
Xilinx在VIVADO里為我們已經(jīng)提供了ROM的IP核, 我們只需通過IP核例化一個ROM,根據(jù)ROM的讀時序來讀取ROM中存儲的數(shù)據(jù)。實驗中會通過VIVADO集成的在線邏輯分析儀ila,我們可以觀察ROM的讀時序和從ROM中讀取的數(shù)據(jù)。
2. 程序設計
2.1 創(chuàng)建ROM初始化文件
既然是ROM,那么我們就必須提前給它準備好數(shù)據(jù),然后在FPGA實際運行時,我們直接讀取這些ROM中預存儲好的數(shù)據(jù)就行。Xilinx FPGA的片內(nèi)ROM支持初始化數(shù)據(jù)配置。如下圖所示,我們可以創(chuàng)建一個名為rom_init.coe的文件,注意后綴一定是“.coe”,前面的名稱當然可以隨意起。

ROM初始化文件的內(nèi)容格式很簡單, 如下圖所示。第一行為定義數(shù)據(jù)格式, 16代表ROM的數(shù)據(jù)格式為16進制。從第3行開始到第34行,是這個32*8bit大小ROM的初始化數(shù)據(jù)。每行數(shù)字后面用逗號,最后一行數(shù)字結(jié)束用分號。

rom_init.coe編寫完成后保存一下, 接下去我們開始設計和配置ROM IP核。
2.2 添加ROM IP核
在添加ROM IP之前先新建一個rom_test的工程, 然后在工程中添加ROM IP,方法如下:
2.2.1 點擊下圖中IP Catalog,在右側(cè)彈出的界面中搜索rom,找到Block Memory Generator,雙擊打開。

2.2.2 將Component Name改為rom_ip,在Basic欄目下,將Memory Type改為Single Prot ROM。

2.2.3 切換到Port A Options欄目下,將ROM位寬Port A Width改為8,將ROM深度Port A Depth改為32,使能管腳Enable Port Type改為Always,并取消Primitives Output Register

2.2.4 切換到Other Options欄目下,勾選Load Init File,點擊Browse,選中之前制作好的.coe文件。

2.2.5 點擊ok,點擊Generate生成ip核。

3. ROM測試程序編寫
ROM的程序設計非常簡單, 在程序中我們只要每個時鐘改變ROM的地址, ROM就會輸出當前地址的內(nèi)部存儲數(shù)據(jù),例化ila,用于觀察地址和數(shù)據(jù)的變化。ROM IP的實例化及程序設計如下:
`timescale1ns/1ps module rom_test( input sys_clk, //25MHz時鐘 input rst_n //復位,低電平有效 ); wire[7:0] rom_data; //ROM讀出數(shù)據(jù) reg [4:0] rom_addr;//ROM輸入地址 //產(chǎn)生ROM地址讀取數(shù)據(jù) always@(posedge sys_clk ornegedge rst_n) begin if(!rst_n) rom_addr <=10'd0; else rom_addr <= rom_addr+1'b1; end //實例化ROM rom_ip rom_ip_inst ( .clka (sys_clk ),//inoput clka .addra (rom_addr ),//input [4:0] addra .douta (rom_data )//output [7:0] douta ); //實例化邏輯分析儀 ila_0 ila_m0 ( .clk (sys_clk), .probe0 (rom_addr), .probe1 (rom_data) ); endmodule
綁定引腳
##################Compress Bitstream############################
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]set_property PACKAGE_PIN AB11 [get_ports sys_clk]set_property IOSTANDARD LVCMOS33 [get_ports sys_clk]create_clock -period 40.000 -name sys_clk -waveform {0.000 20.000} [get_ports sys_clk]set_property IOSTANDARD LVCMOS33 [get_ports {rst_n}]set_property PACKAGE_PIN W13 [get_ports {rst_n}]
4. 仿真
仿真結(jié)果如下,符合預期,與RAM的讀取數(shù)據(jù)一樣,數(shù)據(jù)也是滯后于地址一個周期。

5. 板上驗證
以地址0為觸發(fā)條件,可以看到讀取的數(shù)據(jù)與仿真一致。

- Zynq UltraScale+ MPSoC數(shù)據(jù)手冊 0次下載
- 采用Zynq UltraScale+ MPSoC滿足汽車ESD和SEED要求
- Zynq UltraScale+ MPSoC中的隔離方法應用筆記
- Zynq UltraScale+ MPSoC數(shù)據(jù)手冊:DC和AC開關特性
- Zynq UltraScale+ MPSoC驗證數(shù)據(jù)手冊
- Zynq UltraScale+ MPSoC中的隔離方法
- Zynq UltraScale+ MPSoC的隔離設計示例
- 適用于Xilinx Zynq UltraScale+ MPSoC應用的電源參考設計
- 米爾電子zynq ultrascale+ mpsoc底板外設資源清單分享
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第六章 FPGA片內(nèi)RAM讀寫測試實驗
- 如何調(diào)試 Zynq UltraScale+ MPSoC VCU DDR 控制器?
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第八章FPGA片內(nèi)FIFO讀寫測試實驗
- 【ZYNQ Ultrascale+ MPSOC FPGA教程】第一章 MPSoC芯片介紹
- 電力系統(tǒng)繼電保護第七章-微機保護概述(課件)下載.ppt 0次下載
- 高頻電子線路第七章答案
- 針對UltraScale/UltraScale+芯片DFX應考慮的因素有哪些(1) 776次閱讀
- Xilinx ZYNQ UltraScale+系列產(chǎn)品介紹 2835次閱讀
- FPGAs,Zynq和Zynq MPSoC器件的特點 2671次閱讀
- 基于Xilinx Zynq UltraScale+ RFSoC ZCU216評估套件詳細內(nèi)容介紹 1w次閱讀
- 基于Xilinx Zynq ultraScale+ 系列FPGA的AXU2CGB 開發(fā)板評測 9735次閱讀
- 米爾科技Zynq UltraScale+ MPSoC技術參考手冊介紹 3246次閱讀
- 詳解Xilinx公司Zynq? UltraScale+?MPSoC產(chǎn)品 3357次閱讀
- Xilinx Zynq UltraScale MPSoC可擴展電源設計 2045次閱讀
- Xilinx Kintex UltraScale+ FPGA KCU116評估套件主要性能和優(yōu)勢 6921次閱讀
- Zynq UltraScale+ MPSoC ZCU102評估套件解決方案 8865次閱讀
- Enea OSE可實現(xiàn)對Xilinx UltraScale+ MPSoC的支持 2925次閱讀
- Xilinx基于ARM的Zynq-7000和Zynq UltraScale+ MPSoC及RFSoC器件是否存在安全漏洞 2686次閱讀
- Zynq UltraScale+ MPSoC 上的多個Linux UIO設計 3349次閱讀
- 用ZYNQ MPSoC玩DOOM! 2667次閱讀
- Ti推出面向Zynq UltraScale+ MPSoC的電源參考設計 3731次閱讀
下載排行
本周
- 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 專業(yè)版下載 (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軟件下載(可英文版轉(zhuǎn)中文版)
- 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次下載 | 免費
評論