hold/setup time
建立时间:决定了触发器之间的组合逻辑的最大延迟
保持时间:决定了触发器之间的组合逻辑的最小延迟
只有满足了这两个条件触发器的值才会和你希望的一样
建立时间:触发器在时钟沿来到前,其数据输入端的数据必须保持不变的时间;
保持时间:触发器在时钟沿来到后,其数据输入端的数据必须保持不变的时间
因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在0和1之间变化,这时需要经过一个恢复时间,其输出才能稳定,但稳定后的值并不一定是你的输入值。这就是为什么要用两级触发器来同步异步输入信号。这样做可以防止由于异步输入信号对于本级时钟可能不满足建立保持时间而使本级触发器产生的亚稳态传播到后面逻辑中,导致亚稳态的传播。两级触发器可防止亚稳态传播的原理:假设第一级触发器的输入不满足其建立保持时间,它在第一个脉冲沿到来后输出的数据就为亚稳态,那么在下一个脉冲沿到来之前,其输出的亚稳态数据在一段恢复时间后必须稳定下来,而且稳定的数据必须满足第二级触发器的建立时间,如果都满足了,在下一个脉冲沿到来时,第二级触发器将不会出现亚稳态,因为其输入端的数据满足其建立保持时间。同步器有效的条件:第一级触发器进入亚稳态后的恢复时间 + 第二级触发器的建立时间 < = 时钟周期。
1、setup time的意义:为什么Data需要在Clock到达之前到达?
其实在实际的问题中,setup time并不一定是大于零的,因为Clock到达时刻并不等同于latch的传输门A关闭的时刻(更何况这种关闭并不是绝对的和瞬间完成的),这之间有一个未知的延迟时间。
为使问题简化,假设Clock的到达时刻为传输门A关闭、传输们B打开的时刻。如果Data没有在这之前足够早的时刻到达,那么很有可能内部的feedback线路上的电压还没有达到足够使得inv1翻转的地步(因为inv0有延时,Data有slope,传输门B打开后原来的Q值将通过inv2迫使feedback保持原来的值)。如果这种竞争的情况发生,Q的旧值将有可能获胜,使Q不能够寄存住正确的Data值;当然如果feedback上的电压已经达到了足够大的程度也有可能在竞争中取胜,使得Q能够正确输出。
如果inv0、inv1和inv2的延时较大(Data的变化影响feedback和Q的时间越长),那么为了保证正确性就需要更大的setup time。所以在实际测量setup time的时候,需要选取工艺中最慢的corner进行仿真测量。
2、、hold time的意义:为什么Data在Clock到达之后仍然要保持一段时间?
和setup time的情况不一样,因为Clock到达时刻并不等同于latch的传输门A完全关闭的时刻。所以如果Data没有在Clock到达之后保持足够长的时间,那么很有可能在传输门A完全关闭之前Data就已经变化了,并且引起了feedback的变化。如果这种变化足够大、时间足够长的话,很有可能将feedback从原本正确的低电压拉到较高电压的电压。甚至如果这种错误足够剧烈,导致了inv1和inv2组成的keeper发生了翻转,从而彻底改变了Q的正确值,就会导致输出不正确。当然,如果这种错误电压不是足够大到能够改变keeper的值,就不会影响到Q的正确输出。
如果inv0、inv1和inv2的延时较小(Data的变化影响feedback和Q的时间越短),那么为了保证正确性,就需要更大的hold time。所以在实际测量hold time的时候,需要选取工艺中最快的corner进行仿真测量。1.setup time:input must be stable BEFORE the trigger clock edge
2.hole time:input must be REMAIN stable AFTER the trigger clock edge
3.clock-to-Q time:output cannot change instantaneously at the trigger clock edge
4.critical path:the slowest path between any two storage devices
5.cycle time must be greater than (clock-to-Q + longest path through the combination logic + setup + clock skew)
6.one gate driving many gates is a bad idea
7.avoid using a small gate to drive a long wire
8.using multiple stages to drive large load
9.clock-to-Q + shortest delay path - clock skew > hold time
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
VIVI编译问题
AMD4纳米弃三星选台积电 原因曝光
低电压、低功耗、可编程晶体振荡电路
关税影响需求 MLCC下半年市场可能下滑
锅炉火焰检测保护系统的改造
多路移相信号发生器电路
三星代工再遭弃,救命稻草在哪里?
需要采购指纹识别传感模块,寻找生产商
新台币汇率攀升,晶圆代工利润率承压
可编程控制器EDA教程 09
英国开设全球第二个5纳米以下电子束光刻中心
MIPI C-PHY更新支持图像传感器应用
有特殊功能的音频振荡器电路
欧洲首个尖端半导体工厂在英国启用
台积电营业利润率预警
印度百亿半导体项目搁浅,阿达尼暂停与高塔合作谈判
基于AT89C51+MAX7219的频率计 附带proteus仿真电路图 实际硬件电路测试通过
可编程控制器EDA教程 06
可编程控制器EDA教程 10
高速模数转换器动态参数的定义和测试.
请教开发环境的建立的问题?
可编程信号发生器电路
提供PocketPC2003 BSP for Intel PXA27x
可编程控制器EDA教程 07
基于AT89C2051的温湿度控制仪
由8031单片机构成的可编程信号发生器
可编程控制器EDA教程 08
基于AD590的发酵罐多点温度测量系统
芯片巨头们保持沉默 Marvell和三星因关税动荡暂停预测未来
提供wince.net platform builder 4.2 和 5.0