今天准备要开始新的项目了,没想到这么快就要开始了,也就意味着我要从ISE转到VIVADO了。去年用过VIVADO,不过也忘得差不多了,无所谓了,老板开心就好,清明节也加不了班了,就放松一下吧。
---------------------------------------------------------------------------------------------------------
1.布局太差导致的布线延迟太高问题
布线延迟太高问题一般有两种情况,1)一种是布线扇出太多导致的问题,另外再对扇出太多补充一点,扇出太多而增加buffer提高驱动能力,而普通I/O信号或片内信号进入BUFG到从BUFG输出,有大约10ns的固定时延,但是BUFG到片内所有单元的延时可以忽略为0ns。这个问题在上篇中已经给出了解决方案,也就是通过逻辑复制的方法解决。2)就是今天要说的问题,就是本身各种信号扇出并不多,逻辑时间也不是很大,但是布线延迟很大,这种问题就是布局太差的问题。
相应的解决方案有:通过ISE布局工具中调整布局的努力程度(effort level),特别努力程度(extra effort),MPPR选项,实在不行的话就尝试使用Flootplanner相对区域约束重新对设计进行布局规划。
2.就是出现逻辑级数过多情况
也就是逻辑计算时间比较大,这种情况一般不属于时序问题,而属于程序编写问题,尽量不要嵌套IF ELSE语句或者CASE语句嵌套,能用CASE语句尽量不用IF ELSE语句,还有就是在使用IF 语句和CASE语句时注意防止产生不必要的锁存器。
----------------------------------------------------------------------------
在总结问题2的时候发现一个多周期路径问题,今天没搞完,白天晚上都在看VHDL程序,苦逼炸了明天抽时间看看多周期路径问题。今天就先这样水一波吧。坚持!!!