2013-10-07 40 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类型之一 - 我不认为你可以自己编写) –