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

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

3天内不再提示

从fan-in、fan-out看setup和hold time violation

冬至子 来源:根究FPGA 作者:叫什么好呢啊 2023-07-04 14:21 次阅读

建立时间时钟上升沿之前数据保持稳定时间

保持时间:在时钟上升沿之后数据保持稳定的时间。

建立时间Tsu

根据时钟周期公式:

Tco+Tdata+Tsu-Tskew< Tcycle

可以推导出建立时间的裕量Sslack为:

Tcycle-(Tco+Tdata+Tsu-Tskew) >0

当Sslack大于等于0时即满足建立时间的要求。

保持时间Th

保持时间的目的是防止下一次的数据传输过快,将本次的数据冲刷掉,是对上次数据时间的约束。经过Tsu建立时间之后,触发器进入建立时间阶段,在该阶段最担心的问题是下一次的数据来的太快,导致还未满足保持时间的要求。

所以要求下一次数据到来的时间要大于Th,而下一次数据到来的时间为:

Tco+Tdata-Tskew

所以保持时间裕量计算公式为:

Hslack=(Tco+Tdata-Tskew) >0

扇入与扇出

扇入 :扇入系数是指门电路允许有几个输入,一般门电路允许的扇入系数为1~5,最多不超过8。

扇出 :扇出系数是指门电路允许驱动同类型的门的个数,也就是负载能力,一般门电路的扇出系数为8,驱动器的扇出系数为25,体现了门电路的驱动能力。

电流与拉电流

灌电流:当门电路的输出端为低电平时,逻辑门的输入电流为灌电流。灌电流越大,逻辑门输出低电平就越高。

拉电流:当门电路的输出端为高电平时,逻辑门的输出电流为拉电流。拉电流越大,逻辑门的输出高电平就越低。

上拉电阻和下拉电阻

上拉电阻:上拉电阻就是将一个不确定信号的电平钳位在高电平(拉电流),来增加高电平时的驱动能力,以解决逻辑门驱动能力不足的问题。

下拉电阻:下拉电阻就是将一个不确定信号的电平钳位在低电平(灌电流),其作用是吸收电流,防止灌电流过大提高逻辑门的输出电压大小。

当输出负载大于其负载能力时:

1、 逻辑门输出低电平时,可能灌电流过大,输出电压Vol可能大于规定的Volmax

2、 逻辑门输出高电平时,可能拉电流过大,输出电压Voh可能小于规定的Vohmin

3、 输出的传播延时大于规格说明的延迟值,主要表现为Net_delay(Tdata)

4、 输出的上升和下降时间可能会高于规定值

5、超负载工作,电流较大,降低其可靠性,最终引起器件失效

Setup Violation与Hold Violation

根据建立时间公式Tsu:

Tcycle-(Tco+Tdata+Tsu-Tskew) >0

以及保持时间公式Th:

Hslack=(Tco+Tdata-Tskew) >0

当发生Setup Vioalation或Hold time Violation时,由于Tco是寄存器的固有属性,系统时钟一般也是固定的,可通过减小Tdata(当Sslack<0时)或者增大Tdata(当Hslack<0时),完成时序违例的优化:

举一反二,以保持时间违例进行说明,控制Tdata,Tdata包含数据延迟和布线延迟两部分,其关键在于如何降低数据延迟和布线延迟。

(1)、减小扇出Fanout,根据上文的分析可以分析Fanout较多时增加Net_delay,不利于时序收敛。减小扇出的方法有:

a、寄存器复制,几个寄存器复制原先的驱动信号,分担原本由一个寄存器驱动的多个模块。

b、设置Max_Fanout,在代码中设置信号属性,将对应的Max_Fanout设置为一个合理的值,当实际中fanout超过此值时,综合器极性自动优化,但是过低的扇出可能造成设计阻塞反而不利于约束。

c、BUFG,全局缓冲

(2)、减小逻辑级数Logic Level,一个Logic Level的延迟对应的是一个LUT(查找表)和一个Net的延迟,对应不同的器件,不同频率的设计所能容纳的Logic Level不同,一般可通过重定时(Retiming)解决Logic Level过大问题,使用的方法为:流水线,将过于冗长的组合逻辑增加寄存器进行打拍。对于时钟偏斜△T来说因为不确定正负,其对建立时间和保持时间的影响是相反的,所以我们希望|△T|尽可能的小,所以尽量不要用生成时钟,而采用全局时钟,这样才会有更小的|△T|。

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

    关注

    52

    文章

    8150

    浏览量

    145951
  • 上拉电阻
    +关注

    关注

    5

    文章

    359

    浏览量

    30565
  • 寄存器
    +关注

    关注

    31

    文章

    5310

    浏览量

    119983
  • 门电路
    +关注

    关注

    7

    文章

    199

    浏览量

    40123
  • 触发器
    +关注

    关注

    14

    文章

    1995

    浏览量

    61044
收藏 人收藏

    评论

    相关推荐

    基于XY平面延伸和Z轴延伸的先进封装技术

    无论是采用Fan-in还是Fan-out,WLP晶圆级封装和PCB的连接都是采用倒装芯片形式,芯片有源面朝下对着印刷电路板,可以实现最短的电路径,这也保证了更高的速度和更少的寄生效应。
    发表于 05-24 10:15 3312次阅读
    基于XY平面延伸和Z轴延伸的先进封装技术

    Setup/Hold Time Problem

    Setup/Hold Time ProblemConclusionIf the Setup/Hold t
    发表于 09-11 09:23

    【FPGA经典试题】电路模块的setup-timehold-time是正值还是负值

    请问:a.对于一个D-FF 而言,它的setup-timehold-time 是正值还是负值?为什么?b.对于一个电路模块(包括多个组合逻辑子模块及时序逻辑子模块)而言,它
    发表于 03-15 10:41

    解释下setuphold time

    本帖最后由 gk320830 于 2015-3-5 18:27 编辑 setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求。建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。保持时间是
    发表于 04-12 16:40

    警告-- Removed fan-out from the always-disabled I/O buffer 是什么意思

    请问下面这个 警告是什么意思:Warning (13028): Removed fan-out from the always-disabled I/O buffer "
    发表于 09-27 23:17

    allegro PCB editor: 做到BGA Fan out 的时候,怎么设置BGA FAN OUT 的信号点 扇出到第几层 ?

    请教下,我在做到BGA Fan out 的时候,怎么设置FAN OUT 的信号点 扇出到第几层 ? 比如有些扇出到第2层,有些扇出到第4层。
    发表于 04-09 21:33

    关于quartus上的RTL图的读法,将光标放在线上时,能看到fan-out= 3 ,请问这是什么意思,还有一个问题。

    第一个问题,将光标移到线上,显示出来fan-out=3 ,我想请问这个是什么意思?第二个问题,请问,绿圈圈中两根末端是圆圈的线一起连到了Add0的上面那个输入端,请问这个画的意思是什么?第三个
    发表于 03-22 10:59

    什么是SetupHold时间

    什么是SetupHold时间?答:Setup/Hold Time 用于测试芯片对输入信号和时钟信号之间的时间要求。建立时间(
    发表于 12-21 07:39

    怎么解释setup timehold time的定义和在时钟信号延迟时的变化呢?

    怎么解释setup timehold time的定义和在时钟信号延迟时的变化呢?
    发表于 05-10 11:46

    SiP封装需求持续增加威胁Fan-In封装未来发展

    研究机构Yole Developpement发表最新研究报告指出,由于终端应用对芯片功能整合的需求持续增加,SiP封装将越来越受到欢迎,进而威胁Fan-In封装未来的发展前景。该机构已经将2015~2021年Fan-In封装出货量的复合年增率(CAGR)预估由9%下修到6
    发表于 11-28 13:55 1623次阅读
    SiP封装需求持续增加威胁<b class='flag-5'>Fan-In</b>封装未来发展

    建立时间和保持时间(setup timehold time

    建立时间和保持时间贯穿了整个时序分析过程。只要涉及到同步时序电路,那么必然有上升沿、下降沿采样,那么无法避免setup-timehold-time这两个概念。 1. 什么是setup-time
    发表于 02-08 14:48 5986次阅读

    LED 应用中的 FAN5345 和 FAN5346

    LED 应用中的 FAN5345 和 FAN5346
    发表于 11-15 19:35 0次下载
    LED 应用中的 <b class='flag-5'>FAN</b>5345 和 <b class='flag-5'>FAN</b>5346

    为什么setup检查下一个沿而hold检查当前沿

    做数字电路设计的可能都见过图一所示的setuphold时间检查,图中可以明显看出,setup time检查下一个沿,而
    的头像 发表于 11-21 10:30 4140次阅读

    UM2695_用于STM32探索套件和评估板的STMod_ fan_out扩展板

    UM2695_用于STM32探索套件和评估板的STMod_ fan_out扩展板
    发表于 11-22 19:14 0次下载
    UM2695_用于STM32探索套件和评估板的STMod_ <b class='flag-5'>fan_out</b>扩展板

    通过解剖一个边沿触发器简要说明setuphold产生原因

    在后仿真过程中经常会遇到关于setuphold violation的问题,但是关于setuphold
    的头像 发表于 07-04 09:32 1570次阅读
    通过解剖一个边沿触发器简要说明<b class='flag-5'>setup</b>和<b class='flag-5'>hold</b>产生原因