我正在使用 Cadence 的以太网 eVC,其中代理的监视器在以下信号处被窃听:
. ____________ _____
.clk _____| |__________________|
. ________ _______ ________________ _________
.data __0a____X___07__X_______0b_______X_________
. ^ ^
它在时钟的上升沿和下降沿对数据进行采样。上例中,数据0x07为垃圾数据,有效值为0xa(clk上升)和0xb(clk下降)。但是,监视器正在采样(用于 clk 下降)0x7!
我怀疑这是 Specman 模拟器同步问题。如果是这样,如何解决?
- 模拟器 - IES 13.10
irun 13.10 选项 - (我将只包括那些我认为可能与问题相关的选项,以及那些我还不知道它们的目的是什么的选项)
-nomxindr -vhdlsync +neg_tchk -nontcglitch +transport_path_delays -notimezeroasrtmsg -pli_export -snstubelab
语言 - VHDL(顶级测试平台)、Verilog (DUT)、Specman(虚拟序列、Enet 和 OCP eVC)
- 0x07(上面波形中的左 ^)和时钟下降沿(右 ^)之间的时间 = 0.098ns
一位同事建议使用-sntimescale
,但我仍然无法想象这是如何导致/将解决问题的。这些搜索字符串中的任何一个都没有显示有用的提示,即使是 Cadence 的那些文章:“specman tick 同步增量延迟时间刻度精度”