时序违例的原因及其解决办法
有关数据传输模型以及建立时间和保持时间的知识请参考下面两篇文章:
一、时序违例的原因
时序违例的主要原因是建立时间和保持时间不满足要求,那么什么情况下会出现建立时间和保持时间不满足要求呢?
-
建立时间不满足要求通常是因为组合逻辑处理时间太长!
-
保持时间不满足要求通常是因为组合逻辑处理时间太短!
建立时间和保持时间都不满足往往出现在异步时钟域中!
二、时序违例的解决办法
解决建立时间不满足的方法有如下∶
- 加强约束,重新进行综合,对违规的路径进行进一步的优化,但是一般效果可能不是很明显
- 降低时钟的频率,但是这个一般是在项目最初的时候决定的,这个时候很难再改变
- 拆分组合逻辑,插入寄存器,增加流水线,这个是常用的方法
- 优化布局布线,减小传输的延时
解决保持时间不满足的方法有如下∶
- 增加组合逻辑的处理时间,一般就是在后端的时候插入butffer
- 减小时钟的延时
相比建立时间,保持时间的问题一般比较好解决。