为了便于模拟波的视觉读取,我想将一些信号分配给"XXXX",但仅在模拟时,因此我希望逻辑综合工具(在我的情况下为ISE)跳过这些指令.
这里有两个问题:
谢谢.
(1)你在找
--pragma synthesis_off
-- your simulation-only code
--pragma synthesis_on
Run Code Online (Sandbox Code Playgroud)
(2)您可能会从ISE收到一些警告,特别是当这些信号驱动逻辑时.在使用之前,请确保信号具有定义的值.这种方法也应该适用.
如果您发现自己想要使用ifdef进行任意代码选择,那么您可以在生成时使用VHDL关键字.
label: if SOME_OPTION = SOME_VALUE generate
some VHDL here
end generate;
Run Code Online (Sandbox Code Playgroud)
如果您需要选择性地包含一些代码,这很方便,但是如果选择在模拟和合成之间,则更广泛地使用合成开/关.
另一个与乔治的答案相关的技巧 - 如果你想要一个布尔值in_synthesis来说:
constant in_simulation : boolean := false
--pragma synthesis_off
or true
--pragma synthesis_on
;
constant in_synthesis : boolean := not in_simulation;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7467 次 |
| 最近记录: |