问题描述
一般问题描述:
在行为仿真期间,当数据和时钟同时更改时,似乎同步元件无法正常工作。
解决/修复方法
这不是仿真模型的问题。使用基于事件的仿真器(如ModelSim)时,必须注意确保增量延迟不会导致问题。当两个事件同时发生时,仿真器将采用调度方案来确定哪个事件应该首先发生。查看波形时,似乎两个事件同时发生。实际上,一个事件发生,然后下一个事件同时发生加上delta延迟。某些编码样式可能导致数据在时钟边缘之前发生,此时两个事件同时发生。这时似乎仿真模型不能正常工作。实际上,该模型正常运行。该模型看到数据出现在时钟边缘之前;因此,它将在下一个时钟沿输出数据(加上100 ps的固有延迟)。
这是一个记录完备的问题,有些方法可以调整编码样式以解决此问题。
有关这方面的更多信息,请参见ModelSim文档的Delta Delay部分。
没有回复内容