查看: 1557|回复: 0

FPGA项目工程即将结束,遇到时序违规问题解决方案

[复制链接]

该用户从未签到

发表于 2016-2-3 17:22:22 | 显示全部楼层 |阅读模式
分享到:
通常来讲,一项芯片或者FPGA项目工程走到综合这一步说是到了尾声,其实恰恰才是刚刚开始,后面还有很多很多的流程和路要走,所以解决时序违规问题十分重要,如果这个问题解决不好,后面的流程就没法往下走,整个项目可能停滞不前,甚至打回到最开始重新进行coding,如果在不幸运的话有可能整个项目就会fail,所以时序分析及解决违规问题则是必须攻克的一个难题。
       
        其实所有的时序问题都可以归结为常见的两类问题:建立时间(setup time)和保持时间(hold time)的问题,关于他们的定义大家可以百度一下。
        1)一般呢,建立时间不满足往往是由于组合逻辑团太大的原因造成的;保持时间不满足往往是由于组合逻辑团太小的原因造成的;建立时间和保持时间都不满足的情况往往是出现在异步时钟域中。
        2) 解决建立时间不满足的方法有如下:加强约束,重新进行综合,对违规的路劲进行进一步的优化,但是一般效果可能不是很明显;降低时钟的频率或者提高电路的电 压,但是这个一般是在项目最初的时候决定的,这个时候很难再改变;拆分组合逻辑团插入寄存器,增加流水线,这个是常用的方法;尽量减小传输的延时;换用先 进的工艺,但是这个一般也不太现实。所以流水线是常用的方法。
        3)解决保持时间不满足的方法有如下:增加逻辑团的延时,一般就是在后端的时候插入buffer;减小时钟的延时。相比建立时间,保持时间的问题一般比较好解决。
        4)异步时钟域的问题:这个一般要单独依靠异步时钟域(CDC)处理的方法来解决。
        所以整体而言,处理时钟问题其实就是在处理建立时间,保持时间,异步时钟等相关的问题,把这些解决好,后面才能顺利的进行。
        在后续中,我会更为详细的,图文并茂的介绍如何处理建立时间和保持时间的方法,如何处理CDC的问题。
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /5 下一条

手机版|小黑屋|与非网

GMT+8, 2024-12-19 22:35 , Processed in 0.112909 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.