找回密码
 注册
关于网站域名变更的通知
查看: 955|回复: 2
打印 上一主题 下一主题

FPGA建立时间和保持时间理解——从门电路结构出发

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-1-12 09:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 电子渣 于 2017-1-12 09:22 编辑   `/ m+ m% N8 x# |

2 q# u. o, a1 s$ e8 c1、建立时间和保持时间的定义、原因
- g) ]; e& o( I8 ]建立时间(Setup time):在有效时钟(例如D触发器,上升沿到来之前)到来之前,输入数据能够保持数据稳定的最短时间就是建立时间,其建立时间存在的原因是为了触发器将输入数据读取锁存进触发器内部,便于等待有效时间来之后能够输出;
$ H  G6 @6 t6 o: v  lPS:同步设计考量的是建立时间& C: P, O+ O. k7 F$ Q

" D8 a! m" q5 E保持时间(Hold time):在有效时钟到来之后,输入数据能够保持数据稳定的最短时间就是保持时间;其保持时间存在的原因是触发器内部的传输门(FPGA内部采用的CMOS工艺)的关闭和开始不是瞬间完成,有时间过程,这个过程需要保持稳定,才能稳定的输出数据。具体的文档解释见附件《Understanding the basics of setup up and hold time.pdf( q  U2 U7 F) M# y9 n8 V/ _
》,其中内部结构图和传输过程如图1所示。
( w2 v# f- u9 p" [$ P# ^; ]- L, V- z6 L% R" Y/ n; c0 H: Z
file:///C:/Users/NOOBS/Documents/My%20Knowledge/temp/924d9f19-bfe3-4d03-a6dd-d284eae6e3a8/128/index_files/a65704654444ba93ee51ab33d13eef90.png
6 ^$ W& ~2 [  K7 z" C
图 1 建立时间保持时间图解
4 J% G" s5 z/ r/ i" z
2、建立时间、保持时间在设计电路中的实际应用
! y" z. h2 `6 K
+ P9 Z7 q) M/ x
在FPGA设计中,经常是时序电路和组合电路相互使用,如图2所示的是一个同步设计的基本模型。
$ h- Y9 {4 q1 F1 i$ i% ^file:///C:/Users/NOOBS/Documents/My%20Knowledge/temp/924d9f19-bfe3-4d03-a6dd-d284eae6e3a8/128/index_files/99d6609f-f12b-4c0d-9987-1548742199c4.jpg. Z8 w  E3 `+ j( k' G# t+ G
+ i3 q/ _) [8 W6 m' l
0 D( n" {( c* c( ~  d
图 2  同步设计的基本模式( i# T' |$ _. y5 I+ a! K
图中,Tco表示D触发器数据输出的延时,Tdelay表示组合电路的延时,Tpd表示CLK(时钟)到两个触发器的延时,Tsetup表示第二个D触发器建立时间;1 h2 Y0 e1 L6 e& P1 a
如果第一个触发器的建立时间最大为T1max,最小为T1min,组合逻辑延时最大为T2max,最小为T2min,则第二个触发器的建立时间Tsu和保持时间Th应该满足什么条件?或者已知Tsu和Th,能接入的最大时钟能达到多少?

/ E! {: K" R5 o: X& b4 D+ n. ^5 Z4 v0 }% \
下面进行时序图分析,分析之前假设两个触发器的时钟均使用了FPGA内部的全局时钟网络,即可认为其时钟延时Tpd=0;此时不需要考虑保持时间,因为数据本身的延时大于时钟延时,所以保持时间一定是满足条件的(具体的数学求算可解释);9 U7 B4 R4 Z! Y, |+ m. s
因此同步设计中重点关注考虑的就是建立时间
* i0 P% F/ Y. o如图3所示的时序图:8 J+ R9 F1 l) ^- Z3 K
file:///C:/Users/NOOBS/Documents/My%20Knowledge/temp/924d9f19-bfe3-4d03-a6dd-d284eae6e3a8/128/index_files/23f7e9d7-bc3d-41fa-b1cd-4b66c15bebd2.jpg
) f7 X- x' x) e' b% q/ z3 Y

( L  ^( V  @6 W$ ]7 a* }图 3 可正确采集数据的时序图: Y( I  a) q  y( E* {( q* A- c) A8 @
从图3可知,只有当T-Tco-Tdelay>Tsu时(T为时钟周期,Tsu为第二个触发器的建立时间),方可实现同步设计;从式子中也可看出D2的建立时间和保持时间和D1的建立时间和保持时间无关联,而只和输入端前的组合延时和D1的数据输出延时有关,进而说明了延时没有叠加效应。
+ G" C. G3 V6 F( c) N# b6 U5 D因此可推出系统的时钟的频率应该满足的条件是:
0 d/ H$ K9 N% `) K5 r

file:///C:/Users/NOOBS/Documents/My%20Knowledge/temp/924d9f19-bfe3-4d03-a6dd-d284eae6e3a8/128/index_files/clip_image00287326624-58b9-46d0-aea2-416726d6878b.png

T2max为组合延时最大的时间;  E1 J/ {6 h0 H5 a. `* X
如果考虑时钟存在延时(时钟出现较大延时的多数原因是因为采用了异步时钟设计),其时序图如图4所示。
0 h. T5 t4 P& q+ P- I
因为建立时间和保持时间之和为时钟脉宽,所以T-(T-Tco-Tdelay)>Th,即Tco+Tdelay>Th ,而得延时就比保持时间更长了,所以不用考虑保持时间,一般情况下都是满足保持时间的条件。  }$ s2 m4 [: r4 j2 |

file:///C:/Users/NOOBS/Documents/My%20Knowledge/temp/924d9f19-bfe3-4d03-a6dd-d284eae6e3a8/128/index_files/2b69bcb2-878d-4833-9597-16911e868589.jpg) t  n1 ]' ]7 P1 [6 S

图 4  考虑时钟延时的时序

从图中可得:T-Tco-Tdelay-Tpd>Tsu

因此当存在时钟延时,其建立时间会延长,那保持时间会减少。其保持时间为Tco+Tdelay-Tpd>Th 。

7 c. [, {0 P$ a  W9 ~, [

a65704654444ba93ee51ab33d13eef90.png (407.12 KB, 下载次数: 1)

a65704654444ba93ee51ab33d13eef90.png

2b69bcb2-878d-4833-9597-16911e868589.jpg (35.33 KB, 下载次数: 2)

2b69bcb2-878d-4833-9597-16911e868589.jpg

23f7e9d7-bc3d-41fa-b1cd-4b66c15bebd2.jpg (34.37 KB, 下载次数: 1)

23f7e9d7-bc3d-41fa-b1cd-4b66c15bebd2.jpg

99d6609f-f12b-4c0d-9987-1548742199c4.jpg (15.91 KB, 下载次数: 1)

99d6609f-f12b-4c0d-9987-1548742199c4.jpg

clip_image00287326624-58b9-46d0-aea2-416726d6878b.png (862 Bytes, 下载次数: 2)

clip_image00287326624-58b9-46d0-aea2-416726d6878b.png

该用户从未签到

2#
 楼主| 发表于 2017-1-12 09:19 | 只看该作者
最后的几张图片对应的顺序为:1-4-3-2,文中的条件是图5
  • TA的每日心情
    开心
    2025-5-14 15:00
  • 签到天数: 688 天

    [LV.9]以坛为家II

    3#
    发表于 2017-2-4 11:39 | 只看该作者
    感谢楼主分享!$ M3 n8 c& |1 I3 J: ^2 G# T
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-5 19:53 , Processed in 0.140625 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表