【ZYNQ Ultrascale+ MPSOC FPGA教程】第七章 FPGA片內(nèi)ROM測試實驗
資料介紹
作者: ALINX
* 本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權(quán)歸本公司所有,如需轉(zhuǎn)載,需授權(quán)并注明出處。
適用于板卡型號:
AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG
實驗Vivado工程為“rom_test”
FPGA本身是SRAM架構(gòu)的,斷電之后,程序就消失,那么如何利用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. 程序設(shè)計
2.1 創(chuàng)建ROM初始化文件
既然是ROM,那么我們就必須提前給它準(zhǔn)備好數(shù)據(jù),然后在FPGA實際運行時,我們直接讀取這些ROM中預(yù)存儲好的數(shù)據(jù)就行。Xilinx FPGA的片內(nèi)ROM支持初始化數(shù)據(jù)配置。如下圖所示,我們可以創(chuàng)建一個名為rom_init.coe的文件,注意后綴一定是“.coe”,前面的名稱當(dāng)然可以隨意起。
ROM初始化文件的內(nèi)容格式很簡單, 如下圖所示。第一行為定義數(shù)據(jù)格式, 16代表ROM的數(shù)據(jù)格式為16進(jìn)制。從第3行開始到第34行,是這個32*8bit大小ROM的初始化數(shù)據(jù)。每行數(shù)字后面用逗號,最后一行數(shù)字結(jié)束用分號。
rom_init.coe編寫完成后保存一下, 接下去我們開始設(shè)計和配置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的程序設(shè)計非常簡單, 在程序中我們只要每個時鐘改變ROM的地址, ROM就會輸出當(dāng)前地址的內(nèi)部存儲數(shù)據(jù),例化ila,用于觀察地址和數(shù)據(jù)的變化。ROM IP的實例化及程序設(shè)計如下:
`timescale1ns/1ps module rom_test( input sys_clk, //25MHz時鐘 input rst_n //復(fù)位,低電平有效 ); 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é)果如下,符合預(yù)期,與RAM的讀取數(shù)據(jù)一樣,數(shù)據(jù)也是滯后于地址一個周期。
5. 板上驗證
以地址0為觸發(fā)條件,可以看到讀取的數(shù)據(jù)與仿真一致。
- Zynq UltraScale+ MPSoC數(shù)據(jù)手冊 0次下載
- 采用Zynq UltraScale+ MPSoC滿足汽車ESD和SEED要求
- Zynq UltraScale+ MPSoC中的隔離方法應(yīng)用筆記
- Zynq UltraScale+ MPSoC數(shù)據(jù)手冊:DC和AC開關(guān)特性
- Zynq UltraScale+ MPSoC驗證數(shù)據(jù)手冊
- Zynq UltraScale+ MPSoC中的隔離方法
- Zynq UltraScale+ MPSoC的隔離設(shè)計示例
- 適用于Xilinx Zynq UltraScale+ MPSoC應(yīng)用的電源參考設(shè)計
- 米爾電子zynq ultrascale+ mpsoc底板外設(shè)資源清單分享
- 【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)繼電保護(hù)第七章-微機(jī)保護(hù)概述(課件)下載.ppt 0次下載
- 高頻電子線路第七章答案
- 針對UltraScale/UltraScale+芯片DFX應(yīng)考慮的因素有哪些(1) 776次閱讀
- Xilinx ZYNQ UltraScale+系列產(chǎn)品介紹 2835次閱讀
- FPGAs,Zynq和Zynq MPSoC器件的特點 2671次閱讀
- 基于Xilinx Zynq UltraScale+ RFSoC ZCU216評估套件詳細(xì)內(nèi)容介紹 1w次閱讀
- 基于Xilinx Zynq ultraScale+ 系列FPGA的AXU2CGB 開發(fā)板評測 9735次閱讀
- 米爾科技Zynq UltraScale+ MPSoC技術(shù)參考手冊介紹 3246次閱讀
- 詳解Xilinx公司Zynq? UltraScale+?MPSoC產(chǎn)品 3357次閱讀
- Xilinx Zynq UltraScale MPSoC可擴(kuò)展電源設(shè)計 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設(shè)計 3349次閱讀
- 用ZYNQ MPSoC玩DOOM! 2667次閱讀
- Ti推出面向Zynq UltraScale+ MPSoC的電源參考設(shè)計 3731次閱讀
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 3次下載 | 免費
- 2AN-1267: 使用ADSP-CM408F ADC控制器的電機(jī)控制反饋采樣時序
- 1.41MB | 3次下載 | 免費
- 3AN158 GD32VW553 Wi-Fi開發(fā)指南
- 1.51MB | 2次下載 | 免費
- 4AN148 GD32VW553射頻硬件開發(fā)指南
- 2.07MB | 1次下載 | 免費
- 5AN111-LTC3219用戶指南
- 84.32KB | 次下載 | 免費
- 6AN153-用于電源系統(tǒng)管理的Linduino
- 1.38MB | 次下載 | 免費
- 7AN-283: Σ-Δ型ADC和DAC[中文版]
- 677.86KB | 次下載 | 免費
- 8SM2018E 支持可控硅調(diào)光線性恒流控制芯片
- 402.24 KB | 次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 138次下載 | 1 積分
- 3基于STM32單片機(jī)智能手環(huán)心率計步器體溫顯示設(shè)計
- 0.10 MB | 130次下載 | 免費
- 4使用單片機(jī)實現(xiàn)七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 5美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 6如何正確測試電源的紋波
- 0.36 MB | 18次下載 | 免費
- 7感應(yīng)筆電路圖
- 0.06 MB | 10次下載 | 免費
- 8萬用表UT58A原理圖
- 0.09 MB | 9次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多