建立时间和保持时间

合集下载

建立时间和保持时间

建立时间和保持时间

为了便于分析,我们讨论两种情况即 第一:时钟的延时Tpd为零 。 第二:时钟的延时Tpd不为零 。
下面通过时序图来分析:设第一个触发器的输 入为D1,输出为Q1,第二个触发器的输入为D2, 输出为Q2
第一:假设时钟的延时Tpd为零
符 合 要 求 的 时 序 图
:T-Tco-Tdelay>T3 : Tdelay< T-Tco-T3
1、温度变化 2、电源
抖动原因: 一、时钟信号的产生 二、环境变化:
1、温度变化 2、电源(主要原因)(解决: 2 在主要时钟驱动器的周围加上去耦 电容)
三、电容耦合:
1、时钟线与相邻信号之间的耦 合。 2、所连时序元件栅电容的变化。
二、建立时间与保持时间
图1、建立时间与保持时间的示意图
定义:
1、建立时间(Tsu:set up time) 在时钟沿到来之前数据从不稳 定到稳定所需的时间。 说明:如果建立的时间不满足要求 那么数据将不能在这个时钟上升沿 被稳定的打入触发器。
时钟周期发生暂时的变化。即:时钟周期在 每个不同的周期上可以缩短或者加长。
说明:时钟抖动是严格衡量时钟暂时不确定
性的一项指标,并且经常针对某个给定的点 进行说明,它是一个平均值为零的随机变量。
产生原因比较:
偏差原因: 一、器件制造中的偏差 (参数不同) 二、互连偏差(芯片上 的电容电阻的偏差) 三、环境变化:
第二:时钟延时Tpd不为零
时 钟 存 在 延 时 但 满 足 时 序 时 : Tpd
D2

Tpd T-Tco-T2max> T3
说明:由于建立时间与保持时间的和是稳定的一个时钟
周期,如果时钟有延时,同时数据的延时也较小那么建立时间

数据传输模型(建立时间与保持时间)

数据传输模型(建立时间与保持时间)

数据传输模型(建⽴时间与保持时间)关于建⽴时间和保持时间的详细介绍以及相关例题可以参考以下⽂章:在介绍数据传输模型之前必须要了解的两个概念是建⽴时间和保持时间,下⾯就介绍⼀下建⽴时间和保持时间的含义及其物理意义?建⽴时间就是时钟触发事件来临之前,数据需要保持稳定的最⼩时间,以便数据能够被时钟正确的采样。

保持时间就是时钟触发事件来临之后,数据需要保持稳定的最⼩时间,以便数据能够被电路准确的传输。

可以通俗的理解为:时钟到来之前,数据需要提前准备好;时钟到来之后,数据还要稳定⼀段时间。

建⽴时间和保持时间组成了数据稳定的窗⼝,如下图所⽰。

下⾯看⼀种典型的上升沿 D 触发器,来说明建⽴时间和保持时间的由来。

G1~G4 与⾮门是维持阻塞电路,G5~G6 组成 RS 触发器。

时钟直接作⽤在 G2/G3 门上,时钟为低时 G2/G3 通道关闭,为⾼时通道打开,进⾏数据的采样传输。

但数据传输到 G2/G3 门之前,会经过 G4/G1 与⾮门,将引⼊时间延迟。

引⼊建⽴时间的概念,就是为了补偿数据在 G4/G1 门上的延迟。

即时钟到来之前,G2/G3 端的输⼊数据需要准备好,以便数据能够被正确的采样。

数据被时钟采样完毕后,传输到 RS 触发器进⾏锁存之前,也需要经过 G2/G3 门,也会引⼊延迟。

保持时间就是为了补偿数据在 G2/G3 门上的延迟。

即时钟到来之后,要保证数据能够正确的传输到 G6/G5 与⾮门输⼊端。

如果数据在传输中不满⾜建⽴时间或保持时间,则会处于亚稳态,导致传输出错。

1、数据发起时间沿和捕获时间沿CLK。

(1)输⼊端⼝到FPGA内部的第⼀级触发器;(2)FPGA内部寄存器之间的路径;(3)FPGA内部末级触发器到输出端⼝的路径;如果是hold的数据到达时间,则是从Capture Edge开始,再加上Tclka+Tco+Tdata;也即⽐setup的数据到达之间多了⼀个clk的时间。

这⾥是需要区分的,因为后⾯计算setup和hold的裕量时会⽤到。

1 什么是 和Holdup 时间? Hold time)。建立时间是指在

1 什么是 和Holdup 时间? Hold time)。建立时间是指在

1 什么是Setup 和Holdup时间?建立时间(Setup Time)和保持时间(Hold time)。

建立时间是指在时钟边沿前,数据信号需要保持不变的时间。

保持时间是指时钟跳变边沿后数据信号需要保持不变的时间。

见图1。

如果不满足建立和保持时间的话,那么DFF将不能正确地采样到数据,将会出现metastability的情况。

如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量。

图1 建立时间和保持时间示意图2什么是竞争与冒险现象?怎样判断?如何消除?在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争。

产生毛刺叫冒险。

如果布尔式中有相反的信号则可能产生竞争和冒险现象。

解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。

3 用D触发器实现2倍分频的逻辑电路?Verilog描述:module divide2( clk , clk_o, reset);input clk , reset;output clk_o;wire in;reg out ;always @ ( posedge clk or posedge reset)if ( reset)out <= 0;elseout <= in;assign in = ~out;assign clk_o = out;endmodule图形描述:4 什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?线与逻辑是两个输出信号相连可以实现与的功能。

在硬件上,要用oc门来实现,由于不用oc门可能使灌电流过大,而烧坏逻辑门。

同时在输出端口应加一个上拉电阻。

5 什么是同步逻辑和异步逻辑?同步逻辑是时钟之间有固定的因果关系。

异步逻辑是各时钟之间没有固定的因果关系。

6 请画出微机接口电路中,典型的输入设备与微机接口逻辑示意图(数据接口、控制接口、所存器/缓冲器)。

关于建立时间(setup time)保持时间(hold time)以及时序的一些问题集合

关于建立时间(setup time)保持时间(hold time)以及时序的一些问题集合

建立时间和保持时间giltch1.jpg图1建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。

如图1 。

数据稳定传输必须满足建立和保持时间的要求,当然在一些情况下,建立时间和保持时间的值可以为零。

QUOTE:DC,建立时间不满足,只能重新综合设计,并以违例路径为目标进行优化,以及对涉及到违例的组合逻辑以及子模块加紧约束。

保持时间不满足,可在布图前或者布图后再修改这些违例,通常布图后再修改。

因为布图前综合,时序分析采用统计线载模型,在布局前修正保持时间违例可能会导致布图后建立时间违例。

QUOTE: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。

建立时间、保持时间和时序约束条件

建立时间、保持时间和时序约束条件

建立时间、保持时间和时序约束条件1、什么是建立时间(Tsu)和保持时间(Th)以上升沿锁存为例,建立时间是指在时钟翻转之前输入的数据D必须保持稳定的时间;保持时间是在时钟翻转之后输入数据D必须保持稳定的时间[1]。

如下图所示,一个数据要在上升沿被锁存,那么这个数据就要在时钟上升沿的建立时间和保持时间内保持稳定。

图1 建立时间和保持时间建立时间与保持时间,是对触发器(或者寄存器)和锁存器而言,以能够稳定准确的锁存或者触发为目的,对其输入数据信号保持稳定的时间要求,具体数值与具体器件的内部结构特点密切相关,不能人为控制。

建立时间和保持时间在时序分析中是一个很重要的准备知识,弄清楚这个两个时间对时序分析的原理的理解很有帮助。

2、根据内部结构分析建立时间和保持时间图2 经典的上升沿D触发器内部结构关于为什么会有建立时间和保持时间,我曾试图从触发器或锁存器内部的结构去分析和证实,但是看了许多资料,由于触发器的内部结构有很多,所以分析方法很多,说法也很多。

下面我选两个比较经典的结构来分析一下建立时间和保持时间。

以经典边沿触发的D触发器为例子,从内部结构上分析一下D触发器建立时间和保持时间。

这个说明主要来源于EETOP的一篇帖子,其结构在维基百科的触发器词条可以得到验证。

如上图所示,这是一个上升沿触发的D触发器,需要注意的是,图中的6个与非门都是有延迟的,也就是在某一时刻输入组合逻辑的数据,在一段时间之后才能影响其输出,这是产生建立时间和保持时间要求的最根本原因。

首先,我们在假设所有的与非门的延迟为0,叙述一下这个触发器的整体工作流程。

当CLK=0时,与非门G3和G4的输出均为1,输出的1反馈到G1和G2作为输入,导致G1和G2的输出分别为D和/D,输出的D和/D又反馈到G3和G4;而G5和G6在此期间一直锁存着之前的数据,不受输入影响。

图3 CLK=0时触发器内部信号详情当CLK=1时,与非门G3和G4的输出变为/D和D,输出到G5和G6作为输入,根据锁存器的原理,G5和G6最终会稳定的输出Q和/Q。

建立时间和保持时间关系详解

建立时间和保持时间关系详解

建立时间和保持时间关系详解图1建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。

如图1 。

数据稳定传输必须满足建立和保持时间的要求,当然在一些情况下,建立时间和保持时间的值可以为零。

PLD/FPGA开发软件可以自动计算两个相关输入的建立和保持时间。

个人理解:1、建立时间(setup time)触发器在时钟沿到来之前,其数据的输入端的数据必须保持不变的时间;建立时间决定了该触发器之间的组合逻辑的最大延迟。

2、保持时间(hold time)触发器在时钟沿到来之后,其数据输入端的数据必须保持不变的时间;保持时间决定了该触发器之间的组合逻辑的最小延迟。

关于建立时间保持时间的考虑华为题目:时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min。

组合逻辑电路最大延迟为T2max,最小为T2min。

问:触发器D2的建立时间T3和保持时间T4应满足什么条件?分析:Tffpd:触发器输出的响应时间,也就是触发器的输出在clk时钟上升沿到来之后多长的时间内发生变化并且稳定,也可以理解为触发器的输出延时。

Tcomb:触发器的输出经过组合逻辑所需要的时间,也就是题目中的组合逻辑延迟。

Tsetup:建立时间Thold:保持时间Tclk:时钟周期建立时间容限:相当于保护时间,这里要求建立时间容限大于等于0。

保持时间容限:保持时间容限也要求大于等于0。

由上图可知,建立时间容限=Tclk-Tffpd(max)-Tcomb(max)-Tsetup,根据建立时间容限≥0,也就是Tclk-Tffpd(max)-Tcomb(max)-Tsetup≥0,可以得到触发器D2的Tsetup≤Tclk-Tffpd(max)-Tcomb(max),由于题目没有考虑Tffpd,所以我们认为Tffpd=0,于是得到Tsetup≤T-T2max。

建立时间和保持时间

建立时间和保持时间

建立时间和保持时间信号经过传输线到达接收端之后,就牵涉到建立时间和保持时间这两个时序参数,Setup/Hold time是测试芯片对输入信号和时钟信号之间的时间要求,也就是它们表征了时钟边沿触发前后数据需要在锁存器的输入持续时间,是芯片本身的特性。

建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间。

输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间Setup time.如不满足Setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器;保持时间是指触发器的时钟信号上升沿到来以后,数据也必须保持一段时间,数据保持不变以便能够稳定读取(信号在器件内部通过连线和逻辑单元时,都有一定的延时。

延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压、温度等条件的影响。

信号的高低电平转换也需要一定的过渡时间。

)。

如果holdtime不够,数据便不能被有效读取并转换为输出。

如果数据信号在时钟边沿触发前后持续的时间分别超过建立时间和保持时间,那么这部分超过的分量分别称为建立时间裕量和保持时间裕量。

(这期间其实还涉及到竞争冒险的问题,也就是毛刺,稍后在研究,建立保持时间的存在即是触发器内部的特性又在屏蔽毛刺方面起到了一定的作用。

)其实建立时间就是在脉冲信号到来时,输入信号已经稳定等待的时间;而保持时间是信号脉冲到来后,而输入信号还没有到达下降沿的时间。

举个例子:建立时间就是你到朋友家做客去早了,但是主人还没回来,你等待的时间就是建立时间;保持时间就是进入房子后,逗留的(有效)时间。

当然在实际测试中我发现时钟信号也是存在抖动和偏移的。

虽然系统时序设计中对时钟信号的要求非常严格,因为我们所有的时序计算都是以恒定的时钟信号为基准。

但实际中时钟信号往往不可能那么理想,常会出现抖动(Jitter)和偏移(Skew)问题。

(估计没有真正稳定的信号)。

建立时间保存时间详解

建立时间保存时间详解

0 技术交流fpga欢迎您的加入什么是Setup 和Holdup时间?a) 什么是Setup 和Holdup时间?建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。

b) 什么是竞争与冒险现象?怎样判断?如何消除?信号在FPGA器件内部通过连线和逻辑单元时,都有一定的延时。

延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压、温度等条件的影响。

信号的高低电平转换也需要一定的过渡时间。

由于存在这两方面因素,多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的尖峰信号,这些尖峰信号称为"毛刺"。

如果一个组合逻辑电路中有"毛刺"出现,就说明该电路存在"冒险"。

用D触发器,格雷码计数器,同步电路等优秀的设计方案可以消除。

c) 请画出用D触发器实现2倍分频的逻辑电路?就是把D触发器的输出端加非门接到D端。

d) 什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?将几个OC门结构与非门输出并联,当每个OC门输出为高电平时,总输出才为高,这种连接方式称为线与。

e) 什么是同步逻辑和异步逻辑?整个设计中只有一个全局时钟成为同步逻辑。

多时钟系统逻辑设计成为异步逻辑。

f) 请画出微机接口电路中,典型的输入设备与微机接口逻辑示意图(数据接口、控制接口、所存器/缓冲器)。

是不是结构图?g) 你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗?TTL,cmos,不能直连LVDS:LVDS(Low Voltage Differential Signal)即低电压差分信号,LVDS接口又称RS644总线接口,是20世纪90年代才出现的一种数据传输和接口技术。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

建立时间和保持时间
X 数据
∣÷-1 SIr^l<~th~~
时钟「
tsu:建立时间th:保持时间
信号经过传输线到达接收端之后,就牵涉到建立时间和保持时间这两个时序参数,Setup/Hold time是测试芯片对输入信号和时钟信号之间的时间要求, 也就是它们表征了时钟边沿触发前后数据需要在锁存器的输入持续时间,是芯片本身的特性。

建立时间是指触发器的时钟信号提升沿到来以前,数据稳定不变的时间。

输入信号应提前时钟提升沿(如提升沿有效)T时间到达芯片,这个T就是建立时间Setup time.如不满意Setup time,这个数据就不能被这一时钟打入触发器, 只有在下一个时钟提升沿,数据才能被打入触发器;
保持时间是指触发器的时钟信号提升沿到来以后,数据也必需保持一段时间,数据保持不变以便能够稳定读取(信号在器件内部通过连线和规律单元时,都有行定的延时。

延时的大小与连线的长短和规律单元的数目有关,同时还受器件的制造工艺、工作电压、温度等条件的影响。

信号的凹凸电平转换也需要肯定的过渡时间假如hold time 不够,数据便不能被有效读取并转换为输出。

假如数据信号在时钟边沿触发前后持续的时间分别超过建立时间和保持时间,那么这部分超过的重量分别称为建立时间裕量和保持时间裕量。

(这期间其实还涉及到竞争冒险的问题,也就是毛刺,稍后在讨论,建立保持时间的存在即是触发器内部的特性又在屏蔽毛刺方面起到了肯定的作用。


其实建立时间就是在脉冲信号到来时,输入信号已经稳定等待的时间;
而保持时间是信号脉冲到来后,而输入信号还没有到达下降沿的时间。

举个例子:建立时间就是你到伴侣家做客去早了,但是仆人还没回来,你等待的时间就是建立时间;保持时间就是进入房子后,逗留的(有效)时间。

当然在实际测试中我发觉时钟信号也是存在抖动和偏移的。

虽然系统时序设计中对时钟信号的要求特别严格,由于我们全部的时序计算都是以恒定的时钟信号为基准。

但实际中时钟信号往往不行能那么抱负,常会消失抖动(Jitter)和偏移(SkeW)问题C (估量没有真正稳定的信号)。

所谓抖动(jitter),是指两个时钟周期之间存在的差值,这个误差是在时钟发生器内部产生的,和晶振或者PLL内部电路有关,布线对其没有影响。

除此之外,还有一种由于周期内信号的占空比发生变化而引起的抖动,称之为半周期抖动。

总的来说,jitter可以认为在时钟信号本身在传输过程中的一些偶然和不定的变化之总和;
时钟偏移(SkeW)是指同样的时钟产生的多个子时钟信号之间的延时差异。

包含时钟缓冲器的多个输出之间的偏移;也包含由于PCB走线的误差而造成的接收端和驱动端时钟信号之间的偏移。

在时序设计中都需要考虑这些因素。

器件手册中可以查到每个器件的建立和保持时间参数,工程设计的最大目标是尽量提高建立时间裕量和保持时间裕量,以保证系统在外界环境发生有限转变的状况下正常工作。

相关文档
最新文档