硬件平臺:ZedBoard
軟件平臺:vivado2013.3
本示例通過綜合、實(shí)現(xiàn),生成比特流,發(fā)送到SDK實(shí)現(xiàn)。
啟動vivado并且創(chuàng)建一個項(xiàng)目
根據(jù)提示操作一步步創(chuàng)建新項(xiàng)目的時候記得選擇RTL Project
板子選擇ZedBoard,其他默認(rèn)。
創(chuàng)建一個IP綜合設(shè)計
在IP Integrator中選擇Create Block Design
在Create Block Design彈出頁,為IP子系統(tǒng)設(shè)計定義個名字
在IP子系統(tǒng)中,在中間的Diagram中選擇Add IP
在搜索頁,輸入zynq找到ZYNQ7 Processing System IP
在Diagram頁,點(diǎn)擊Run Block Automation,然后Run Block Automation對話框打開,選擇/processing_system7_1,這時,會出現(xiàn)一個對話框,這個IP核會自動為FIXED_IO和DDR接口創(chuàng)建外部連接,點(diǎn)擊OK。
用同樣的方法,我們增加外設(shè),在Diagram右擊,選擇Add IP,在搜索頁,輸入gpio找到AXI GPIO IP,點(diǎn)擊enter確認(rèn)添加,重復(fù)上述步驟,輸入axi bram添加AXI BRAM Controller;輸入block加入Block Memory Generator。完成之后的窗口如下所示:
根據(jù)要求定制IP核
雙擊Block Memory Generator進(jìn)入Re-?-customize IP界面,在Basic頁,將Mode設(shè)置為BRAM Controller,Memory Type設(shè)置為True Dual Port RAM。其中AXI BRAM Controller為Block Memory Generator提供AXI內(nèi)存映射接口。
通過點(diǎn)擊連接點(diǎn)并拖動連線將Block Memory Generator與AXI BRAM Controller連接起來
使用Designer Assistance
Block Designer Assistance可以幫助我們將AXI GPIO和AXI BRAM Controller連接到Zynq-7000 PS。
1.點(diǎn)擊Run Connection Automation然后選擇/axi_gpio_1/s_axi將GPIO IP和BRAM Controller連接到Zynq PS上
2.再次選擇Run Connection Automation,連接/axi_gpio_1/gpio,然后會彈出一個對話框,選擇板子接口為leds_8bits。這一步可是配置IP核,創(chuàng)建一些必要的文件約束(XDC)
3.再次再次選擇Run Connection Automation,選擇剩下的/axi_bram_ctrl_1/S_AXI選項(xiàng),這樣就完成了Zynq7 PS與AXI BRAM Controller的連接。布局完成的連線如下所示:
打開Address Editor標(biāo)簽頁,這里是我們所使用的IP的內(nèi)存映射,在這里有兩個IP:GPIO和BRAM Controller,一般來說Vivado會自動分配這些內(nèi)存映射,我們也可以修改它,這里把AXI BRAM Controller改成64K。
保存配置(CTRL+S);
在工具欄那里,通過Validate Design按鈕運(yùn)行DRC(Design-Rules-Check)
如果成功會彈出成功的對話框。
生成HDL設(shè)計文件
在Sources窗口,右擊頂層子系統(tǒng)設(shè)計選擇Generate Output Products,這會生成用于結(jié)構(gòu)圖IP核的源文件和相關(guān)的約束文件。
還是在頂層子系統(tǒng)設(shè)計選擇Create HDL Wrapper創(chuàng)建一個頂層HDL文件
評論