保留端口的宽度

时间:2010-11-15 09:26:07

标签: vhdl fpga circuit hdl

我试图在没有成功的情况下在其他设计中重复使用网表。

我有一个组件被翻译成网表:

  entity c is
     port (...  sel : in std_logic_vector(31 downto 0); ... );

在设计中我只使用sel(4 downto 0)。 综合工具会注意到这种行为并发出警告:

  

'警告:Xst:647 - 输入sel< 31:5>永远不会被使用..

我正在生成包含属性的网表:

  • keep hierarchy = true
  • 添加I / O缓冲区=关闭

每当我想将此网表实例化为其他电路中的黑盒模块时,我就会收到错误:

  

错误:NgdBuild:76 - 无法合并到块中,因为块中的一个或多个引脚(包括引脚“sel< 31>”)未在文件中找到。

如何保留sel的大小? 我应该提到sel需要是32位宽,因为它连接到总线。

2 个答案:

答案 0 :(得分:2)

您可以尝试将未使用的输入端口驱动为零。

答案 1 :(得分:1)

您可以直接使用该组件而不是预先合成的黑盒吗?

您可以通过在端口上放置KEEP属性(请参阅合成工具手册)来实现工作。我只是尝试过信号,但它可能有用。

这种任务经常被描述为合成器的“推绳索”,因为让它变得不像它想要的那样是一种痛苦(然后在你需要的下一个工具版本中)不同的属性:)