您好,登錄后才能下訂單哦!
Vivado中IP是如何控制端口的可見與不可見,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
測試平臺Vivado 2017.2
一、建立一個簡單的AXI IP
最簡單的封裝IP莫過于使用Vivado的Tools菜單下(已有工程打開),Create And Package New IP子項建立:
這是配置AXI4 IP的名字、版本等信息,版本、顯示名字和描述在后面可以修改,根據(jù)需要填寫。
這個是AXI4 IP的配置界面,接口類型提供了Lite、Full和Stream三種可選,此處我添加4個Slave的Lite接口。
最后點擊Finish就完成IP創(chuàng)建,由于我需要對代碼進行修改,我選擇Edit IP,除此之外還有Verify Peripheral IP using AXI VIP和Verify peripheral IP using JTAG interface是兩種不同的驗證手段, VIP其實就是Altera的Virtual JTAG,而后者是Vivado內(nèi)帶了一個叫Debug Bridge的IP,它可以實現(xiàn)AXI操作JTAG的功能,實現(xiàn)FPGA控制另一塊FPGA通過JTAG口,還有一個叫JTAG to AXI master的IP正好反過來,是JTAG控制AXI。
二、如何控制IP端口可配置顯示
在IP設計時,最為頭疼的是如果我的IP共有40個對外的Port,而我并不需要40個對外的Port總是需要配置連線,我可能只需要20Port。通過配置Parameter可以使其他的20個Port不可見,Vivado提供了這種功能,它就是Enablement Expression功能,它有三個作用:
1.它可以啟用或禁用一些端口或BUS
2.它可以啟用或禁用自定義的parameter;
3.它可以計算自定義的parameter的值。
本文僅對端口/BUS的啟用與禁用進行說明:
打開IP的編輯界面,切換到Ports and Interface選項卡:
需要將Interface presence項從Mandatory選中切換為Optional選中,在Interface presence下面編輯框填寫$C_S00_AXI_ADDR_WIDTH != 0,這是tcl語法,變量引用需要在變量名前添加$符號,點擊OK:
右鍵C S00 AXI ADDR WIDTH選擇Edit Parameter;
目光轉(zhuǎn)到Preview界面,可以發(fā)現(xiàn)C S00 AXI ADDR WIDTH對應的文本編輯框不再處于灰色不可以編輯狀態(tài),修改值為0,然后點擊其他的文本框使之設置值生效。
發(fā)現(xiàn)S00_AXI又神奇的出現(xiàn)了,這就是總線的禁用,端口的禁用是類似的。
看完上述內(nèi)容,你們掌握Vivado中IP是如何控制端口的可見與不可見的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。