FPGA时序约束简介。

时序约束的场景:

在简单电路中,当频率较低时,数字信号的边沿时间可以忽略时,无需考虑时序约束。但在复杂电路中,为了减少系统中各部分延时,使系统协同工作,提高运行频率,需要进行时序约束。通常当频率高于50MHz时,需要考虑时序约束。

限制FPGA最大频率的因素:

  • 组合逻辑延时

越多的门电路,所构成的组合逻辑延时越大,以ALTERA C4为例,FPGA实际上是用四输入查找表(LUT, Look-Up-Tables)的方式实现门电路的,变量数目小于4的所有组合逻辑延时相同,大于4时需要多个查找表组合,延时增加。

  • 信号路径延时

路径延时是所有延时中最需要考虑的,甚至可以占到总延时的一半以上,一般EDA工具不会寻找最快的路径,需要施加时序约束。

  • 时钟偏移、抖动和延时

时钟传到每个触发器的时间会由于距离时钟源路径长度不同而有偏移,时钟偏移可以通过走时钟树的结构解决,但时钟偏斜永远存在,不可能消除。时钟抖动是由于温度分布,信号串扰等因素使得晶振、PLL等产生的时钟信号周期不会严格相等而造成的。

  • 触发器建立时间Tsu、保持时间Th

输入管脚的数据必须在时钟有效之前提前出现的时间称为建立时间Tsu;保持时间Th是指在时钟上跳沿后,数据必须保持的最小时间。

  • 触发器时钟到输出时间Tco

在时钟有效后,D的数据并不能立即传到Q端,这段等待的时间就是触发器的时钟到输出时间。

以上时间是触发器固有时间,无法更改。

  • 功耗

合理的时序约束可以提高运行频率,但往往会使得功耗增加, 在性能要求不高的移动设备中,需要综合考虑。

  • 高扇出信号延时

高扇出信号是指带多负载的信号,在多负载情况下,信号的延时会增大,信号到达某些负载的时间增加,从而可能造成该信号相对时钟信号是一个晚到的信号。


版权所有权归卿萃科技 杭州FPGA事业部,转载请注明出处

作者:杭州卿萃科技ALIFPGA

原文地址:杭州卿萃科技FPGA极客空间 微信公众号


扫描二维码关注杭州卿萃科技FPGA极客空间


简述FPGA时序约束理论的更多相关文章

  1. FPGA时序约束的几种方法 (转)

    FPGA时序约束的几种方法 对自己的设计的实现方式越了解,对自己的设计的时序要求越了解,对目标器件的资源分布和结构越了解,对EDA工具执行约束的效果越了解,那么对设计的时序约束目标就会越清晰,相应地, ...

  2. FPGA时序约束和timequest timing analyzer

    FPGA时序约束 时钟约束 #************************************************************** # Create Clock #****** ...

  3. FPGA 时序问题

    近期 做一个项目------4个 1080p(1920 x 1080) 合成 一个 4K(3840 x 2160,297M)的接口板.当 1080p 进去, 1080p出来的时候,视频正常 播放出来. ...

  4. FPGA时序约束——理论篇

    在FPGA 设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束.这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的.好的时序约束可以指导布局布 ...

  5. FPGA时序逻辑中常见的几类延时与时间(五)

    FPGA逻辑代码重要的是理解其中的时序逻辑,延时与各种时间的记忆也是一件头疼的事,这里把我最近看到的比较简单的几类总结起来,共同学习.    一.平均传输延时 平均传输延时 二.开启时间与关闭时间 开 ...

  6. FPGA时序约束一点总结

    时序约束的一点总结. 打拍.掌握好时序. 手动分配位置,这个不是一定有效. 打破层级或者物理综合,或者自动加流水等综合优化参数调整. 根据实际情况使用异步时钟策略. 换速度更快的片子. 最也进接手一个 ...

  7. FPGA时序优化简单窍门

    尽量用硬核,比如硬件乘法器,这个应该都知道. 结构上的pipeline,简言之就是“拆",最极端的情形是拆到源和目的Reg间只有基本的组合逻辑门,比如说~a & b之类...:当然F ...

  8. FPGA时序约束理解记录

    最近整理了一下时序约束的内容,顺便发出来分享记录一下. 任何硬件想要工作正常,均需满足建立和保持时间,至于这个概念不再陈述. 下面将重点介绍两个概念:建立余量和保持余量.FPGA内部进行时序分析无非就 ...

  9. 简述FPGA项目之前的一些事

    FPGA的设计是一个系统工程,是一种道,会编程会仿真会调试可能更多是一种术.很多这方面的书籍,写什么自顶向下之类的很多,还是停留在方法学上,而对于一个公司的项目来说,FPGA的设计是从立项开始的. 拿 ...

随机推荐

  1. Struts2小例子

    第一个Struts 2.0例子 工具:MyEclipse 6.0.1 第一步:新建web project 第二步:为项目加入Struts 2.0 的jar包 官方下载地址:http://struts. ...

  2. 报错HTTP Status 500 - HHH000142: Javassist Enhancement failed: cn.itcast.entity.Customer; nested exception is org.hibernate.HibernateException: HHH000142: Javassist Enhancement failed: cn.itcast.entity.

    报错 type Exception report message HHH000142: Javassist Enhancement failed: cn.itcast.entity.Customer; ...

  3. 智课雅思词汇---二十五、形容词后缀-ate-fic-ose-ulent-olent-ous-ulous-y

    智课雅思词汇---二十五.形容词后缀-ate-fic-ose-ulent-olent-ous-ulous-y 一.总结 一句话总结: 1.形容词后缀-ate(determinate)? determi ...

  4. Linux:安装Zookeeper

    1.下载 wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.3-beta/zookeeper-3.5.3-beta.tar.gz ...

  5. Django进阶Model篇005 - QuerySet常用的API

    django.db.models.query.QuerySet QuerySet特点: 1.可迭代 2.可切片 查询相关API 1.get(**kwargs):返回与所给的筛选条件相匹配的对象,返回结 ...

  6. tracecaller.cs

    #region Utility #if TRACE private const string Traceformat = "\"{0}\",\"{1:yyyy- ...

  7. bootstrap 操作提示placeholder

    Javascript 部分 function checkForDefaultAlertPlaceholder() { if ($("#alertPlaceholder").leng ...

  8. EL标签

    1.EL的作用 jsp的核心语法: jsp表达式 <%=%>和 jsp脚本<%  %>. 开发jsp的原则: 尽量在jsp页面中少写甚至不写java代码. 使用EL表达式替换掉 ...

  9. 微信小程序调微信支付

    今天写小程序的支付接口,参照的当然是微信支付API了.(结尾附上第二步全部代码php版) 另外,我也参照了简书上的这篇文章,浅显易懂:https://www.jianshu.com/p/72f5c1e ...

  10. MySQL 解决 emoji表情 的方法,使用utf8mb4 字符集(4字节 UTF-8 Unicode 编码)

    p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545} span.s1 {font: ...