2013-10-07 71 views
0

我正在嘗試構建自定義IP外圍設備(my_perph)。我已經使用CIP工具來生成基本perph,並且現在想要添加我的自定義外部端口(my_port)。自定義外部端口不在自定義IP核上顯示 - Zedboard

基本上我遵循本教程http://www.programmableplanet.com/author.asp?section_id=2142&doc_id=264841

我已將外部端口定義添加到頂級源代碼vhdl my_perph.vhdl。 即

Port(
---Add user defined ports here---- 
MY_PORT : out std_logic; 

我再添加端口與語法的MPD文件:

PORT MY_PORT = "", DIR = O, IO_IF = MY_PORT_0, IO_IS = MY_PORT 

這沒有工作,所以我試圖失去了0匹配名稱的VHDL宣佈端口, :

PORT MY_PORT = "", DIR = O, IO_IF = MY_PORT, IO_IS = MY_PORT 

的問題是,一旦我重新掃描的IP庫,我得到的錯誤說有

NO IO_INTERFACE MATCHING MY_PORT 

似乎我的自定義外部端口MY_PORT在IP設計中沒有被識別,雖然它存在於包含的IP實體的HDL中。

甚至當我去添加perph時,我發現這個端口沒有出現在信息中。我完全迷失了,因爲我遵循了所有的教程,並且厭倦了我能想到的每一件可能的事情!

回答

1

閱讀平臺規範格式指南。在複製粘貼行之前,您需要了解所有的MPD文件。你需要有一條匹配的IO_INTERFACE段(如錯誤信息告訴你的那樣)

如果你的IO不是「標準」IO端口的一部分(參見PSF的IO_INTERFACE部分),你應該能夠簡單地使用:

PORT MY_PORT = "", DIR = O 
+0

我再次對你負債馬丁!只是爲了澄清,然後什麼時候使用IO_IF它不會創建一個IO接口(如我所想),但一個已經在bsb中預定義? - 。非常感謝。山姆 –

+0

不客氣!你對IO_IF是正確的(它必須是預定義的IO類型之一 - 我不認爲你可以自己編寫) –