0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

时序约束连载03~约束步骤总结

jf_pJlTbmA9 来源:明德扬FPGA科教 作者:明德扬FPGA科教 2023-07-11 17:18 次阅读

本小节对时序约束做最终的总结。如图1所示,前几节内容依次讲述了时序约束的四大步骤。第一是生成时钟约束;第二是输入端口约束input delay;第三是输出端口约束output delay;最后是时序例外。前几节内容把这些情况都归纳起来,对每种情况仔细划分,然后按照对应的情况进行时序约束即可。

100572325-308512-tu1shixuyueshusidabuzou.png

图1 时序约束四大步骤

再强调一点,在工程项目开始阶段就要设置时钟约束和生成时钟约束。时钟约束又包括输入时钟、PLL等衍生时钟、自己分频得到的时钟。每种都有对应的要求和特点,根据需要查找对应的方式去完成约束。

在项目开发过程中,内部实际逻辑都写完了,并且全部满足时序要求,仿真没有问题了,不报告错误了,这时再对输入端口和输出端口设置相应的约束。比如跟外围器件的一个设置之类的。这时再去设置input delay 和 output delay。为什么要先保证内部逻辑设计是正确的再对端口进行约束呢?如果在内部时序不满足的情况下,对输入端口和输出端口进行约束了,这时如果出现错误,将无法确定是内部时序造成的错误,还是端口约束不对造成的错误。

input delay 和 output delay 一般有系统同步、源同步等几种,源同步又有SDR、DDR。虽然总的类型比较多,但是对应实际项目中的一种接口,必定是这其中的一种类型,此时只要按照对应情况去进行设置即可。开发人员确定待约束的输入信号硬件接口到底是系统同步还是源同步?如果是源同步,是SDR还是DDR?如果是SDR,是中心对齐还是边缘对齐的?这样就可以逐步找到对应的情况进行约束。

而output delay 也是同样道理,根据实际的接口类型查找相应的约束方法即可。要注意两点,其一是 input delay 和 output delay 对应的公式是什么,代表什么含义。另外公式中的数据从何处获取,或者说怎么获取,只有获取有效的数据才能进行正确的约束。而且 input delay 约束和output delay 约束其实就是告知综合软件一些我们知道而综合软件不知道的参数,比如上游或下游芯片接口寄存器的建立时间、保持时间、PCB走线延迟等FPGA之外的数据。上游和下游芯片接口寄存器的建立时间、保持时间是可以通过数据手册以及示波器测量得到的,而PCB走线延迟也可以估算得到,最后将这些数据综合考虑成输入、输出接口的最大传输延迟、最小传输延迟告知综合软件,综合软件就可以根据这些参数对FPGA的时序进行调整,最后生成相应的时序报告。

当时钟约束、输入和输出端口约束都处理完了,没有问题后,最后做时序例外相关约束。目的是告知综合软件某些路径可能需要多个时钟周期才能得到正确输出,或者某些路径已经人为处理过了,时序是满足的,综合软件不需要对这些路径进行检查分析了。其中最重要的就是异步时钟的处理。

异步时钟是FPGA里面最多最常用也是最核心的一个部分内容,特别强调一定要做异步处理之后,才能将该路径force掉,时序例外掉。如果没做时序处理,就把它例外,排除掉,可能会出现严重的错误,开发人员还找不到原因,因为错误报告被屏蔽掉了。

上面就是时序约束的一个步骤,大家不需要记是怎么样格式去约束,只要按照的步骤去约束,查找对应的约束类型,然后按照对应要求约束即可,不要去记很多无用的东西,只要把约束类型归类好就可以了。

假如读者所在公司要求不一样,比如说顺序不一样,那就按照公司的要求去做。明德扬是按照前面介绍的步骤去做的,而且是成功的。当然不同的公司,有不同的做法、不同的要求,合理设置即可。

另外假如以后遇到一些情况,在这里面没有列明的。就需要按照这个表把它归纳到某种方式,补充完整,之后就可以使用了,这个表可以应付绝大部分的场合了。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DDR
    DDR
    +关注

    关注

    9

    文章

    677

    浏览量

    64255
  • 时钟
    +关注

    关注

    10

    文章

    1480

    浏览量

    130306
  • 时序约束
    +关注

    关注

    1

    文章

    113

    浏览量

    13353
收藏 人收藏

    评论

    相关推荐

    FPGA的IO口时序约束分析

      在高速系统中FPGA时序约束不止包括内部时钟约束,还应包括完整的IO时序约束时序例外
    发表于 09-27 09:56 1457次阅读

    FPGA时序约束之衍生时钟约束和时钟分组约束

    在FPGA设计中,时序约束对于电路性能和可靠性非常重要。在上一篇的文章中,已经详细介绍了FPGA时序约束的主时钟约束
    发表于 06-12 17:29 1445次阅读

    FPGA I/O口时序约束讲解

    前面讲解了时序约束的理论知识FPGA时序约束理论篇,本章讲解时序约束实际使用。
    发表于 08-14 18:22 925次阅读
    FPGA I/O口<b class='flag-5'>时序</b><b class='flag-5'>约束</b>讲解

    关于FPGA时序约束的一点总结

    )。方法2调试起来简单,PLL设置简单,出错可能性小。通过不断调整相位,最终肯定可以正确通信。缺点也明显,接口一多,每个都要做随路时钟就浪费了。最近一直在做时序约束总结一下时序
    发表于 09-13 21:58

    【潘文明至简设计法】系列连载教程 FPGA时序约束视频教程

    组合逻辑的约束,这些都是时序例外的情况。对于这些情况,处理时要特别小心,否则有可能导致遗漏错误信息的后果。06 时序约束总结本视频再次对明德
    发表于 06-14 15:42

    时序约束资料包

    好的时序是设计出来的,不是约束出来的时序就是一种关系,这种关系的基本概念有哪些?这种关系需要约束吗?各自的详细情况有哪些?约束的方法有哪些?
    发表于 08-01 16:45

    时序约束时序分析 ppt教程

    时序约束时序分析 ppt教程 本章概要:时序约束时序分析基础常用
    发表于 05-17 16:08 0次下载

    时序约束用户指南

    时序约束用户指南包含以下章节: ?第一章“时序约束用户指南引言” ?第2章“时序约束的方法” ?
    发表于 11-02 10:20 0次下载

    FPGA设计之时序约束四大步骤

    本文章探讨一下FPGA的时序约束步骤,本文章内容,来源于配置的明德扬时序约束专题课视频。
    发表于 03-16 09:17 3285次阅读
    FPGA设计之<b class='flag-5'>时序</b><b class='flag-5'>约束</b>四大<b class='flag-5'>步骤</b>

    FPGA设计之时序约束

    上一篇《FPGA时序约束分享01_约束四大步骤》一文中,介绍了时序约束的四大
    发表于 03-18 10:29 1361次阅读
    FPGA设计之<b class='flag-5'>时序</b><b class='flag-5'>约束</b>

    浅谈FPGA的时序约束四大步骤

    很多读者对于怎么进行约束约束步骤过程有哪些等,不是很清楚。明德扬根据以往项目的经验,把时序约束步骤
    的头像 发表于 07-02 10:56 5067次阅读
    浅谈FPGA的<b class='flag-5'>时序</b><b class='flag-5'>约束</b>四大<b class='flag-5'>步骤</b>

    如何在Vivado中添加时序约束呢?

    今天介绍一下,如何在Vivado中添加时序约束,Vivado添加约束的方法有3种:xdc文件、时序约束向导(Constraints Wiza
    的头像 发表于 06-26 15:21 2248次阅读
    如何在Vivado中添加<b class='flag-5'>时序</b><b class='flag-5'>约束</b>呢?

    浅谈时序设计和时序约束

      本文主要介绍了时序设计和时序约束
    的头像 发表于 07-04 14:43 790次阅读

    时序约束连载02~时序例外

    本文继续讲解时序约束的第四大步骤——时序例外
    的头像 发表于 07-11 17:17 458次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>约束</b><b class='flag-5'>连载</b>02~<b class='flag-5'>时序</b>例外

    时序约束连载01~output delay约束

    本文将详细介绍输出延时的概念、场景分类、约束参数获取方法以及约束方法
    的头像 发表于 07-11 17:12 1531次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>约束</b><b class='flag-5'>连载</b>01~output delay<b class='flag-5'>约束</b>