2010-11-15 90 views
0

我試圖在沒有成功的情況下在其他設計中重新使用網表。保留端口的寬度

我有被翻譯成該網表的成分:

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

在我使用只是SEL(4 DOWNTO 0)的設計。 綜合工具注意到了這種情況,並給出了一個警告:

'WARNING:Xst:647 - Input sel<31:5> is never used ..

我生成具有屬性的網表:

  • 保持層次=真
  • 附加I/O緩衝=關閉

每當我想將此網表實例化爲其他電路中的黑盒模塊時,出現錯誤:

ERROR:NgdBuild:76 - cannot be merged into block because one or more pins on the block, including pin "sel<31>", were not found in the file.

我該如何保留sel的大小? 我應該提到的是,自從它連接到總線以來,sel需要是32位寬度。

回答

2

您可以嘗試將未使用的輸入端口驅動爲零。

+0

我同意,只是使用連續的任務,並將其驅動到任何適合您的設計。 – 2010-11-15 16:24:24

1

您可以直接使用該組件而不是作爲預先合成的黑盒嗎?

通過在端口上放置一個KEEP屬性(請參閱您的synth工具手冊),您可能會得到一些工作。我只有在信號上試過這個,但它可能工作。

這類任務通常被描​​述爲合成器的「推動繩索」,因爲它讓人感覺不像自己想要的那樣細膩(然後在下一個版本的工具中需要不同的屬性:)