一般在做前仿真(即功能仿真)时,不会考虑信号被优化的问题。最近在利用SignalTap II观察信号时遇到某些模块内部的信号被优化掉的情况。
在Verilog描述的程序中,通常包括两种类型的信号,即wire型,和reg型。对于不同类型的信号,需要使用不同的综合属性。
(1)对于wire型信号,使用/* synthesis keep=“1” */综合属性,例如:
wire[7:0] data_in/* synthesis keep="1" */;
如果上述成功,可以使用
(* keep *) wire[7:0] data_in;
(2)对于reg型信号,使用/* synthesis

本文探讨了在Verilog编程中如何避免信号在功能仿真阶段被优化,重点讲解了如何通过synthesiskeep和synthesispreserve属性来确保wire和reg类型的信号在SignalTapII观察时的可见性。实例演示了如何在代码中设置这些属性以防止信号被优化并保持其在前仿真中的完整表达。
最低0.47元/天 解锁文章
922

被折叠的 条评论
为什么被折叠?



