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

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

3天内不再提示

时序约束出现时序违例(Slack为负数),如何处理?

jf_pJlTbmA9 来源:jf_pJlTbmA9 作者:jf_pJlTbmA9 2023-07-10 15:47 次阅读

时序约束出现时序违例(Slack为负数),如何处理?

答:

一. 首先指出一个误区:当约束出现错误时,想当然地认为是“时序约束做得不对”,所以应该怎么去改“时序约束”,从而让这些错误消失,这是一个错误的观念。

二. 时序约束的作用:在于检查“设计是否满足时序要求”,它是用来审视自己设计的,很多情况是,要改设计代码来满足时序要求。

三. 当时序约束提示有错误时,应该阅读“时序报告”,从报告中分析时序路径(数据到达时间、时钟到达时间和数据要求时间等),根据报告分析错误的原因,并根据原因来实行不同的方法。

以建立时间违例,说明具体方法如下:

1. 时序报告中,找到提示错误的路径,即目的寄存器,以及源寄存器。注意,这是两个寄存器的点。

2. 首先判断,源寄存器的时钟,与目的寄存器的时钟,是否相同。如果不同,可以认为是异步时序,见步骤3;如果是相同,则看步骤4。

3. 如果是异步电路,那么处理方法如下:

A. 确认做了异步处理。对于数据,则是通过异步FIFO来做异步处理;如果是控制信号,则要经过打两拍来处理。

B. 确认做了异步处理后,仍然会报“时序违例”的。这个时候,可以该路径设置成set false path,不用再检查。

4. 同步电路下,具体处理如下:

A. 查看两个寄存器点之间,经过了多少加法器、乘法器、除法器等。

B. 对于除法器,要特别留意,一般是1个时钟计算不完的。那么可以 a.想办法不用除法;b. 通过使能信号控制获取除法器结果的时间。

C. 对于乘法器和加法器,或者其他组合电路较多的。想办法分隔成流水线来实现。可以参考MDY 流水线的内容。

5. 如果是IP核的违例,检查是否时钟不满足IP核的要求。如果没问题,就不用管。

6. 如果是ILA等在线调试工具路线的违例,则一般不用处理。

7. 如果是线延时太长的,可以尝试打一拍处理。即A->B的线太长,可以打一拍,变成A->C->B,这样线延时就小了。

审核编辑:汤梓红

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

    关注

    3

    文章

    369

    浏览量

    43069
  • 加法器
    +关注

    关注

    6

    文章

    174

    浏览量

    29732
  • 时序约束
    +关注

    关注

    1

    文章

    112

    浏览量

    13352
收藏 人收藏

    评论

    相关推荐

    FPGA的IO口时序约束分析

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

    FPGA I/O口时序约束讲解

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

    时序分析总结(以SDRAM时序约束例)

    都是以clock基准的,记住这个,算的时候就很容易了;4.基本的时序约束有:时钟约束,IO约束,例外说明,这些都是可以通过timeques
    发表于 12-29 14:53

    ISE 时序约束

    to FF)太大。解决办法:creattiming constraint ---exception中的path,设置FFtoFF20ns;重新编译,时序约束正确。
    发表于 10-11 22:49

    出现时序违例的原因及解决办法

      如果出现时序违例,我们会关注两点:  为什么会出现时序违例?  如何解决?  首先我们要搞清楚时序
    发表于 01-08 17:10

    时序约束时序分析 ppt教程

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

    时序约束用户指南

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

    FPGA中的时序约束设计

    一个好的FPGA设计一定是包含两个层面:良好的代码风格和合理的约束时序约束作为FPGA设计中不可或缺的一部分,已发挥着越来越重要的作用。毋庸置疑,时序
    发表于 11-17 07:54 2357次阅读
    FPGA中的<b class='flag-5'>时序</b><b class='flag-5'>约束</b>设计

    深入了解时序约束以及如何利用时序约束实现FPGA 设计的最优结果

    作为赛灵思用户论坛的定期访客(见 ),我注意到新用户往往对时序收敛以及如何使用时序约束来达到时序收敛感到困惑。为帮助 FPGA设计新手实现时序
    发表于 11-24 19:37 4952次阅读
    深入了解<b class='flag-5'>时序</b><b class='flag-5'>约束</b>以及如何利用<b class='flag-5'>时序</b><b class='flag-5'>约束</b>实现FPGA 设计的最优结果

    时序约束的四大步骤的具体介绍

    FPGA中的时序问题是一个比较重要的问题,时序违例,尤其喜欢在资源利用率较高、时钟频率较高或者是位宽较宽的情况下出现。建立时间和保持时间是FPGA
    的头像 发表于 12-23 07:02 4134次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>约束</b>的四大步骤的具体介绍

    时序约束的步骤分析

    FPGA中的时序问题是一个比较重要的问题,时序违例,尤其喜欢在资源利用率较高、时钟频率较高或者是位宽较宽的情况下出现。建立时间和保持时间是FPGA
    的头像 发表于 12-23 07:01 1934次阅读
    <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时序约束一如何查看具体错误的时序路径

    时间裕量包括建立时间裕量和保持时间裕量(setup slack和hold slack)。从字面上理解,所谓“裕量”即富余的、多出的。什么意思呢?即保持最低要求的建立时间或保持时间所多出的时间,那么“裕量”越多,意味着时序
    发表于 08-04 17:45 670次阅读

    FPGA时序约束:如何查看具体错误的时序路径

        1、时序错误的影响       一个设计的时序报告中,design run 时序有红色,裕量(slack)为负数时,表示
    的头像 发表于 03-17 03:25 484次阅读

    浅谈时序设计和时序约束

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