硬件平臺(tái):ZedBoard
軟件平臺(tái):vivado2013.3
本示例通過(guò)綜合、實(shí)現(xiàn),生成比特流,發(fā)送到SDK實(shí)現(xiàn)。
啟動(dòng)vivado并且創(chuàng)建一個(gè)項(xiàng)目
根據(jù)提示操作一步步創(chuàng)建新項(xiàng)目的時(shí)候記得選擇RTL Project
板子選擇ZedBoard,其他默認(rèn)。
創(chuàng)建一個(gè)IP綜合設(shè)計(jì)
在IP Integrator中選擇Create Block Design
在Create Block Design彈出頁(yè),為IP子系統(tǒng)設(shè)計(jì)定義個(gè)名字
在IP子系統(tǒng)中,在中間的Diagram中選擇Add IP
在搜索頁(yè),輸入zynq找到ZYNQ7 Processing System IP
在Diagram頁(yè),點(diǎn)擊Run Block Automation,然后Run Block Automation對(duì)話框打開,選擇/processing_system7_1,這時(shí),會(huì)出現(xiàn)一個(gè)對(duì)話框,這個(gè)IP核會(huì)自動(dòng)為FIXED_IO和DDR接口創(chuàng)建外部連接,點(diǎn)擊OK。
用同樣的方法,我們?cè)黾油庠O(shè),在Diagram右擊,選擇Add IP,在搜索頁(yè),輸入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頁(yè),將Mode設(shè)置為BRAM Controller,Memory Type設(shè)置為True Dual Port RAM。其中AXI BRAM Controller為Block Memory Generator提供AXI內(nèi)存映射接口。
通過(guò)點(diǎn)擊連接點(diǎn)并拖動(dòng)連線將Block Memory Generator與AXI BRAM Controller連接起來(lái)
使用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,然后會(huì)彈出一個(gè)對(duì)話框,選擇板子接口為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)簽頁(yè),這里是我們所使用的IP的內(nèi)存映射,在這里有兩個(gè)IP:GPIO和BRAM Controller,一般來(lái)說(shuō)Vivado會(huì)自動(dòng)分配這些內(nèi)存映射,我們也可以修改它,這里把AXI BRAM Controller改成64K。
保存配置(CTRL+S);
在工具欄那里,通過(guò)Validate Design按鈕運(yùn)行DRC(Design-Rules-Check)
如果成功會(huì)彈出成功的對(duì)話框。
生成HDL設(shè)計(jì)文件
在Sources窗口,右擊頂層子系統(tǒng)設(shè)計(jì)選擇Generate Output Products,這會(huì)生成用于結(jié)構(gòu)圖IP核的源文件和相關(guān)的約束文件。
還是在頂層子系統(tǒng)設(shè)計(jì)選擇Create HDL Wrapper創(chuàng)建一個(gè)頂層HDL文件
評(píng)論
查看更多