我希望能够中毒VHDL中的信号,以便该信号的任何后续使用者也都中毒,这样我就可以找到意外的链接。如果中毒仅在模拟中起作用,则可以。
背景:我已经在VHDL中制作了一个CPU,并希望对其进行管线化。在执行此操作之前,我想确保管道中没有任何部分在不应该对其他部分的输出进行采样的情况下进行采样。因此,流水线中的所有部分都会在一个时钟周期内创建并保持其有效输出,而在其他时间将各种输出设置为零。对于那些输出为零的时间,管道中的下一个阶段甚至都不应该查看这些值。但是我想在模拟下确认它。
因此,我尝试在输出不代表数据的时候将输出设置为“ U”或“ X”,并且它们在模拟器中显示为橙色或红色,但是如果我强制对其进行错误采样,则不良值不会传播。因此,似乎U和X都不是我想要的。在不更改这些使用者的情况下(例如在数百个地方调用is_x(..)
),在模拟器下运行时,有任何简单的方法可以毒化这些值。
如果重要的话,这是在免费版本的Vivado的基于Spartan7的Arty板上。