当遇到WNS(违例数)和TNS(时间网络违例数)均为负的情况时,这通常意味着设计的时序约束不合理或者不正确。在这种情况下,应该首先检查时序约束的设置是否正确和合理。时序约束包括了时钟频率、时钟分配路径、输入输出延迟等因素,它们共同决定了系统能否满足性能要求。如果时序约束设置不当,可能会导致WNS和TNS值为负,甚至导致设计无法正常工作。
为了解决这个问题,可以从以下几个方面着手:
- 优化时序约束:在综合之前,应确保时序约束已经被正确地检查并调整。可以通过优化时序约束来提高系统的时序容忍度,从而减少WNS和TNS为负的可能性。1
- 减少资源占用:过多的资源占用可能会影响信号传输路径的长度,进而影响时序。针对资源占用高的模块,可以考虑进行优化,比如减少逻辑门数量、精简状态机等,以缩短信号传输路径,改善时序约束。
- 时序优化:对于关键路径上的逻辑,可以采用一些时序优化措施,例如更换更高速度的逻辑资源、添加时钟分频器、减少时钟分配路径等,以提高关键路径上时序容忍度,减小WNS和TNS的负值。
- 增加时钟约束:在FPGA设计中,时钟约束是非常重要的。通过增加时钟约束,可以让综合工具对设计进行更严格的时序优化,进一步减小WNS和TNS的负值。
- 重新审查设计:有时可能需要重新审查整个设计的时序,确保所有相关的时序参数都被考虑在内。
总之,当发现WNS和TNS为负时,需要仔细分析问题的根源,并通过上述方法之一或结合来进行相应的改进,以达到设计的预期目标。