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

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

3天内不再提示

解决保持时间违例流程

电子工程师 来源:未知 作者:李倩 2018-10-23 10:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在分析place_design生成的dcp时,就要开始关注保持时间违例,尤其是当WHS < -0.5ns时。这是因为过大的保持时间违例往往会导致布线时间增大,同时,在布线阶段,工具未必能修复此类违例。

解决保持时间违例流程如下图所示。按照此流程,要逐步关注以下几个因素:

Clock Skew是否大于0.5ns

Hold Requirement是否为正(应该为0)

WHS是否小于-0.4ns或THS是否小于-1000ns

Clock Uncertainty是否大于0.1ns

图片来源 page 4, ug1292

这几个指标的具体数值可在时序报告中查到,如下图所示。图中,Path Type用于确定分析的是保持时间。

图片来源 page 4, ug1292

Hold Requirement为正的可能情形出现在使用多周期路径约束的时序路径中。如下图所示,时钟使能信号EN使得路径的Setup Requirement为3个时钟周期,但Hold Requirement仍应为0。

图片来源 page 4, ug1292

在此情况下,应采用如下图所示的多周期路径约束。其中的第2条约束是对hold的调整,却往往容易被遗漏。对于-hold,它表示相对于缺省捕获沿(图中的Default hold),实际捕获沿应回调的时钟周期个数。

对于过大的WHS或THS,应在布线之前做一些优化,尽可能地降低WHS和THS。为此,可在phys_opt_design阶段采取如下图所示的几个措施。

其中方法(1)是在两个同步时序元件之间插入与至相反的时钟沿触发的寄存器,将该路径一分为二,该方法的前提是建立时间不会被恶化。方法(2)至方法(4)都是在路径中插入LUT1。方法(2)只在WHS最大的路径中插入LUT1;方法(3)则是在更多的路径中插入LUT1;方法(4)则是在-directive为Explore的基础上进一步修正保持时间违例,等效于-directive Explore +-aggressive_hold_fix。

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

    关注

    31

    文章

    5590

    浏览量

    129092
  • 信号
    +关注

    关注

    11

    文章

    2903

    浏览量

    79686
  • 时钟
    +关注

    关注

    11

    文章

    1953

    浏览量

    134561

原文标题:深度解析ug1292(4)

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    时间频率标准源有什么功能

    时间频率
    西安同步电子科技有限公司
    发布于 :2025年11月04日 17:58:08

    移植E203到Genesys2开发板时遇到时序问题的常见原因

    -clk_out2 to clk_out1的setup违例,看block design发现违例太大和时序约束无关,其实是axi_interconnect一侧的端口时钟需要保持一致。这里e203核时钟16M,而
    发表于 10-29 07:04

    E203内核移植到FPGA开发板时出现时序违例的解决方式

    在移植内核时,用VIVADO进行综合实现后会出现时序违例,如图: 虽然可以上板正常进行开发,但是还是想把这些违例解决下^_^ 检查后,发现是 apb_adv_timer 这条路径报的违例,解决方式
    发表于 10-27 07:32

    时序约束问题的解决办法

    Slack 为多少,只要为负数,都要解决 Setup Time 违例。 2. Hold Time 违例 Hold Slack 计算如下图: 路径1时间为数据从CLK跳转开始从源寄存器传到目的寄存器
    发表于 10-24 09:55

    关于综合保持时间约束不满足的问题

    1、将 nuclei-config.xdc 和 nuclei-master.xdc 加入到项目工程中,综合得到时序约束报告如下: 保持时间约束不满足,分析原因,发现所有不满足均出现在
    发表于 10-24 07:42

    是谁偷走了我的时间?RTC时间异常的秘密

    的重要性在嵌入式产品中,RTC(实时时钟)模块负责维持时间的准确性,确保设备在各种条件下都能保持时间的正确同步。RTC的准确性直接影响数据记录的可靠性、系统协调的
    的头像 发表于 09-02 11:35 1911次阅读
    是谁偷走了我的<b class='flag-5'>时间</b>?RTC<b class='flag-5'>时间</b>异常的秘密

    复位引脚保持低电平逻辑以触发MCU复位需要多长时间

    复位引脚保持低电平逻辑以触发MCU复位需要多长时间
    发表于 08-25 06:16

    请问复位引脚保持低电平逻辑以触发MCU复位需要多长时间

    复位引脚保持低电平逻辑以触发MCU复位需要多长时间
    发表于 08-21 06:01

    赛思高保持小型时钟模块:精确时间的守护者

    在我们的日常生活中,时间是一切的基础。无论是工作、学习还是生活,我们都需要依赖于时间来规划和安排。而在这个快节奏的社会中,如何准确地掌握时间成为了我们必须面对的问题。这时,高保持小型时
    的头像 发表于 07-22 14:37 306次阅读
    赛思高<b class='flag-5'>保持</b>小型时钟模块:精确<b class='flag-5'>时间</b>的守护者

    RK3128 Android 7.1 进入深度休眠流程分析

    )的流程如下:1. 触发条件深度休眠通常由以下条件触发: 用户按下电源键 系统设置的休眠超时时间到达 通过echo mem &gt; /sys/power/state命令手动触发 2.
    发表于 07-22 10:45

    一文看懂芯片的设计流程

    引言:前段时间给大家做了芯片设计的知识铺垫(关于芯片设计的一些基本知识),今天这篇,我们正式介绍芯片设计的具体流程。芯片分为数字芯片、模拟芯片、数模混合芯片等多种类别。不同类别的设计流程也存在一些
    的头像 发表于 07-03 11:37 1857次阅读
    一文看懂芯片的设计<b class='flag-5'>流程</b>

    模块电源保持电容计算方式

    保持电容的容量可依据输出直流电压的纹波、电源中断后保持时间和过渡时间计算确定,如图1所示。许多应用中,输入电压中断一定时间时,要求电源
    的头像 发表于 05-14 13:54 2.1w次阅读
    模块电源<b class='flag-5'>保持</b>电容计算方式

    ADS1112的读出的AD值就会保持不变,好长一段时间以后才会恢复,为什么?

    输入电压每隔一定的值,ADS1112的读出的AD值就会保持不变,好长一段时间以后才会恢复。
    发表于 01-17 07:37

    ADC采样保持过程的具体时间要如何确定?

    放大器的工作过程就是在采样跟踪状态和保持状态之间切换。 但是datasheet里面我找不到关于采样-保持过程工作的详细介绍。 有没有大神能告诉我,ADC一个工作周期内,采样状态的时间保持
    发表于 12-24 06:09

    使用瑞萨AnalogPAK SLG47001/03节省开发时间

    在当今快速发展的技术市场中,对更快、更高效的产品开发的需求比以往任何时候都高。企业一直在寻找简化流程和缩短上市时间的方法。有助于节省时间、简化设计和降低成本的产品对于保持竞争力至关重要
    的头像 发表于 12-12 10:54 883次阅读
    使用瑞萨AnalogPAK SLG47001/03节省开发<b class='flag-5'>时间</b>