数据传输模型(建立时间与保持时间)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据传输模型(建⽴时间与保持时间)关于建⽴时间和保持时间的详细介绍以及相关例题可以参考以下⽂章:
在介绍数据传输模型之前必须要了解的两个概念是建⽴时间和保持时间,下⾯就介绍⼀下建⽴时间和保持时间的含义及其物理意义?
建⽴时间就是时钟触发事件来临之前,数据需要保持稳定的最⼩时间,以便数据能够被时钟正确的采样。
保持时间就是时钟触发事件来临之后,数据需要保持稳定的最⼩时间,以便数据能够被电路准确的传输。
可以通俗的理解为:时钟到来之前,数据需要提前准备好;时钟到来之后,数据还要稳定⼀段时间。
建⽴时间和保持时间组成了数据稳定的窗⼝,如下图所⽰。
下⾯看⼀种典型的上升沿 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的裕量时会⽤到。
这⾥需要注意的是,Data Arrival Time(Setup)和Data Arrival Time(Hold)是不⼀样的,后者⽐前者多了⼀个clk,也即它代表的是下⼀个数据到达的时间,也即上⼀个数据⽆效的时间。
当时间裕量slack>0时满⾜时序要求,如果⼩于0则不满⾜,如下图所⽰:
10、数据的延迟都有哪些?
参数名称含义
建⽴时间器件⼯艺决定,是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,如果建⽴时间不够,数据将不能在这个时钟上
Tsu 升沿被稳定的打⼊触发器,Tsu 就是指这个最⼩的稳定时间。
保持时间Thold 器件⼯艺决定,是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被稳定的打⼊触发器,Th 就是指这个最⼩的保持时间。
Tco
延迟由器件⼯艺决定,为寄存器时钟达到以后数据出现在输出端的延迟;Tlogic
组合逻辑处理时间,由⽤户的代码决定;Tnet 芯⽚内部布线延迟,由EDA ⼯具决定;
参数名称
含义附:时序路径的三个部分
这⾥之所以要单独拿出来说,是因为你会发现在后⾯对某⼀个路径进⾏时序分析的时候,都是将时序路径分成这三部分;然后通过计算每⼀部分的延迟,再结合建⽴时间和保持时间,最终得到相应的slack (裕量),根据slack 的值是否≥0以判断时序是否符合要求。
source clock path + data path = 实际的数据到达延迟路径;
T(destination clock path) - Ts (或者+Th ) = 数据需求时间;
需要注意的是:
在计算数据需求时间时,如果是对建⽴时间进⾏时序分析,那么在T(destination clock path) - Ts 中,destination clock path 的初始时间就是⼀个clock 周期;
⽽在对保持时间进⾏时序分析的时候,在T(destination clock path) +Th 中,destination clock path 的初始时间为0。