D触发器建立和保持时间的时序检查.doc

上传人:gs****r 文档编号:1741062 上传时间:2019-03-13 格式:DOC 页数:6 大小:106.50KB
下载 相关 举报
D触发器建立和保持时间的时序检查.doc_第1页
第1页 / 共6页
D触发器建立和保持时间的时序检查.doc_第2页
第2页 / 共6页
D触发器建立和保持时间的时序检查.doc_第3页
第3页 / 共6页
D触发器建立和保持时间的时序检查.doc_第4页
第4页 / 共6页
D触发器建立和保持时间的时序检查.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、1D 触发器建立和保持时间的时序检查摘 要:目前的芯片系统越来越复杂,对应的各个功能模块都有自己工作的时钟领域。当各个功能模块之间进行数据传递时,信号就会跨时钟领域。信号跨时钟领域进行传输时,就会出现亚稳态现象,可能导致整个芯片功能的错误。针对不同信号跨时钟领域,本文介绍了几种同步的设计方法。 关键词:亚稳态 建立时间 同步设计 时钟领域 一、D 触发器的建立时间和保持时间 在芯片设计中,电路主要由门电路和 D 触发器构成。D 触发器的特性方程为:Qn+1=D,即在触发时钟脉冲(CLK)的有效边沿到来时,触发器的输入数据 D 直接传送到触发器的输出端 Q1。而在时钟触发边沿输出端 Q 能正确的

2、输出 D 的值的前提条件是:输入信号 D 必须先于时钟有效沿到来之前稳定。如果时钟有效沿到来时,输入信号 D 正在变化,D 触发器的输出状态就会变得不确定,即就会有亚稳态的出现。 输入信号必须先于时钟脉冲之前稳定的时间成为建立时间,用 tset表示;同样为了保证触发器可靠翻转,输入信号的状态在时钟脉冲信号到来后还必须保持足够长的时间不变,这段时间成为保持时间,用 th 表示。如图 1 所示以接收“1”时的情况来看,D 信号先于 CLK 上升沿建立起来(由 0 跳变到 1)的时间不得小于建立时间 tset,而在 CLK 上升沿到来后 D 仍保持“1”的时间不得小于保持时间 th。 2建立时间和保

3、持时间是由触发器的电路结构决定的。图 2 所示为上升沿触发的 CMOS 集成的 D 触发器的电路结构图。其中由 6 个 CMOS 反相器和 4 个 CMOS 传输门组成,I2、I3 和 T2 构成主锁存器;I4、I5 和 T4构成从锁存器。四个传输门中 T1 和 T3 在时钟脉冲 CLK 为“1”的时候导通,T2 和 T4 在时钟脉冲 CLK 为“0”的时候导通。 在时钟脉冲为“0”的时候,主锁存器接收输入信号 D,从锁存器输出之前保存的信号到 Q 端;上升沿之后,时钟脉冲为“1” ,此时主锁存器输出上升沿到来时 D 的值直接到 Q 端,从锁存器不工作,如图 3 所示。如图 3 红色线条所示,

4、时钟脉冲从“0”跳变为“1”的上升沿时刻,传输门 T1 从导通跳变为截止状态。所以在时钟脉冲上升沿到来之前,输入信号必须传输到 I3 门的输出端 A 点,上升沿跳变之后 T2 导通,信号才能稳定的输出到 Q 端2。这段时间即为建立时间,由 I1、T1、I2 和I3 四个门电路的延迟时间决定: Tset=tI1+tT1+tI2+tI3 (式 1) 通过减小四个门电路的延迟时间就可以减小 D 触发器的建立时间。 时钟脉冲信号从“0”跳变为“1”时,传输门 T1 从导通跳变为截止状态,在此跳变过程中,D 的输入信号不能改变,否则会影响到跳变之前锁存在主锁存器中的值。即此触发器的保持时间由 T1 传输

5、门从导通到截止的延迟时间和 I1 反相器的传输延迟时间决定: th=tT1_close-open-tI1 (式 2) 二、带同步复位和置位信号的 D 触发器的建立时间和保持时间 3同步复位和置位信号的 D 触发器的内部结构图如图 4 所示。复位信号 reset 和置位信号 set 都是在时钟脉冲的上升沿的时候才会有效,即和时钟脉冲同步。其中复位信号为低有效,即 reset 为“0”时在时钟脉冲的上升沿到来的时候将 Q 端复位为“0” ;当复位信号为“1”无效时,置位信号为高有效,即为“1”的时候且复位信号为“1”无效时,在时钟脉冲的上升沿到来的时候将 Q 输出端置位为“1” 。由此可以看出复位

6、信号和置位信号的优先级别为复位信号 reset 的优先级别高于置位信号。其特性表如表 1 所示。 当复位信号和置位信号都无效时,实现基本的上升沿触发的 D 触发器的功能。根据前面的分析,同样可以得到带同步置位和复位信号的 D触发器的建立时间和保持时间分别为: 从式 3 和式 4 可以看出,带同步置位和复位信号的 D 触发器的建立时间变大了,相应的其保持时间减小了。 三、带异步复位和置位信号的 D 触发器的建立时间和保持时间 异步复位和置位信号的 D 触发器的内部结构图如图 5 所示。当复位信号 reset 或置位信号 set 有效时不需要时钟脉冲的触发沿就可以实现将 Q 输出端置“0”和置“1

7、”的功能,这就是异步的意思。其特性表如表 2 所示。 表 2 带异步置位和复位信号的 D 触发器特性表 从表 2 中可以看出,当 set 为“0” ,reset 为“1”时,实现异步置“1”的功能;当 reset 为“0”时,不管 set 的值为多少,实现异步置“0”的功能。所以可以得出的结论是 reset 的优先级别高于 set 信号。 4当复位信号和置位信号都无效时,实现基本的上升沿触发的 D 触发器的功能。带异步置位和复位信号的 D 触发器的建立时间和保持时间分别为: 四、D 触发器时序检查 用 Verilog 可以对 D 触发器的建立时间和保持时间做检查。调用对应的系统任务,如系统任务

8、$setup 在数据变化到时钟沿的时差小于设定的值,就会有一个违反检查规则的报告信息。其用法为: $setup(data,posedge CLK,4) ; 设置了检查数据 data 对于时钟脉冲 CLK 的上升沿,建立时间设置值为 4ns,即当 data 变化在时钟上升沿之前的 4ns 之内,就会有错误的报告。系统任务$hold 用来检查保持时间,用法如下: $hold(posedge CLK,data,3) ; 设置了检查数据 data 对于时钟脉冲 CLK 的上升沿,保持时间设置值为 3ns,即当 data 变化在时钟上升沿之后的 3ns 之内,就会有错误的报告。 系统任务的写法为固定,对

9、于时钟脉冲可以上升沿也可以用下降沿,和 D 触发器的触发沿相同。以上设置的检查规则为在时钟上升沿的前 4ns和时钟上升沿后的 3ns 时间内,输入数据 data 都不能翻转。 以上情况建立时间和保持时间都大于 0。但从建立时间的表达式可以看出,建立时间一定为正的值;而从保持时间式子可以看出,保持时间有可能为负值。如式 6 所示,如果 tI1 大于 tT1_close-open,最后得到的保持时间则为负值。接下来来讨论一下如果保持时间为负值时,时序5检查应该怎么进行。 如图 6 所示,建立时间为 4ns,保持时间为-2ns。保持时间是在时钟脉冲上升沿的后面,如果为负值则在时钟脉冲上升沿的前面。用

10、前面建立时间和保持时间的系统任务,则检查的窗口为时钟脉冲上升沿前面的4ns 内 data 都不能改变,而实际检查只需要检查红色箭头指示的 2ns 的时间窗口就可以了,所以针对这种情况,我们应该用$setuphold 系统任务来实现,写为: $setuphold(posedge CLK,data,4,-2) ; 五、结论 在对设计进行合成的时候,需要满足时序要求。建立时间的满足需要两个触发器之间的组合逻辑延时越小越好,而保持时间要求两个触发器之间的组合逻辑延迟时间越大越好,它们是相互矛盾的。所以会出现建立时间和保持时间只能满足一个的情况,这样就只能调整设计。 在真正的设计中,通常都将建立时间设定为正值,将保持时间设定为负值,这样合成软件就可以全力化简触发器之间的组合逻辑以满足建立时间的要求。 参考文献 1余孟尝. 数字电子技术基础简明教程M. 北京:高等教育出版社,2006,229268. 2尼尔 H.E.威斯特,大卫.哈里斯.CMOS 大规模集成电路设计M.北京:机械工业出版社,2005,402410. 作者简介:周莉 , 出生年月:1983 年 12 月 学位:硕士 工作单位:6四川大学锦城学院。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 学科论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。