我正在使用Cadence的以太网eVC,其中代理监视器被监听到以下信号:
. ____________ _____
.clk _____| |__________________|
. ________ _______ ________________ _________
.data __0a____X___07__X_______0b_______X_________
. ^ ^它在时钟上升和下降的边缘对数据进行采样。在上面的示例中,数据0x07是垃圾数据,有效值为0xa (clk )和0xb (clk )。然而,监视器是采样(对于clk秋季) 0x7!
我怀疑这是一个Specman模拟器同步问题。如果是的话,又如何解决呢?
一位同事建议使用-sntimescale,但我仍然无法想象这是如何导致/解决问题的。这些搜索字符串中的任何一个都没有显示出有用的提示,即使是Cadence的那些文章:"specman蜱同步增量延迟时间刻度精度“。
发布于 2015-07-19 11:32:03
这确实可能是一个时间表问题。这里有一本全面的食谱,讨论的是去洞镜模拟器接口同步问题。请看一下这里。
要检查模拟中使用的时间刻度是什么,可以在irun中添加-print_hdl_precision选项,以打印VHDL层次结构的精度。对于Verilog,它将自动打印,以防在代码中或通过irun选项设置。这些资料将在拟订过程中印刷。
要检查Specman使用的时间刻度,可以从Specman提示符发出以下命令:
SN>打印get_timescale()
另一个要尝试的选项(仅在时间刻度选项没有帮助)是删除-vhdlsync标志。实际上,在大多数混合环境中,您应该添加此标志。但是,很少有这样的情况,没有它,环境会更好。如果您尝试移除此标志,请记住重新详细说明。
如果你在食谱中找不到解决问题的方法,就应该做更深入的调查。例如,specman如何对信号进行采样。它是simple_port、event_port、滴答访问等吗?此外,一些跟踪和探测命令可能会有所帮助。在这种情况下,我建议联系卡登斯的支持。
祝好运!
塞马达尔
https://stackoverflow.com/questions/31459451
复制相似问题