从D触发器说明建立时间和保持时间

本文详细解析了D触发器的工作原理,包括异步置0、置1功能,以及在时钟信号控制下的数据传输过程。特别强调了信号的建立时间和保持时间对于确保数据正确锁存的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文:http://www.cnblogs.com/zhtxwd/archive/2011/12/31/2309176.html

D触发器:

工作原理:

~SD和~RD为触发器的异步置0、置1端。它们不受时钟信号的控制,一旦有效,触发器马上被强迫置0或置1,正常工作时,~SD和~RD均处于高电平状态。

下面分析异步置0、置1输入无效时,电路的工作情况。

1. 在CLK=0期间,触发器输出状态保持不变,因为当CLK=0时,门G4、G3的输出Q3、Q4都是高电平,由G1、G2组成的锁存器处于保持状态,因而触发器的输出Q和~Q保持不变。在此期间,由于Q3=1打开了门G5,Q4=1打开了门G6,所以Q6=~D,Q5=D,为CLK上升沿的到来建立了准备状态。

2. 当CLK由0变为1时,触发器输出的新状态Qn+1=D。因为CLK由0变为1后,门G3、G4被打开,使得Q3=~D,Q4=D(需要注意,这里的D应是上升沿到来前一瞬间已经稳定下来的输入信号D)。若D=0,则输出状态置0,即Qn+1=0;若D=1,则输出状态置1,即Qn+1=1。所以触发器输出的新状态Qn+1=D。

3. 在CLK=1期间,触发器输出状态保持不变。CLK刚从0变为1后,G6的另一个输入端Q4=D,那么,在CLK=1期间如果输入信号D变为~D,则G6的输出Q6一定变为1.Q6置1将不会使由G3和G5组成的RS锁存器的状态发生变化,即Q3=~D仍保持不变(这里因为由与非门组成的RS锁存器低电平为有效信号),而这时门G4的输出为D。这表明,在CLK=1期间,输入信号的改变,不能引起Q3和Q4的变化,因而触发器的输出状态仍然维持CLK上升沿到来时由原来输入信号D作用的结果,而CLK=1期间输入信号D的变化被阻塞掉了,故称此触发器为维持阻塞触发器。

 

从上面的分析可以知道,输入信号D是在CLK=0的时刻,经过与G5和G6两个与非门的延迟Tsu之后才传输到Q5和Q6端的,然后再CLK跳变为1的时候被锁存到输出端的.
我们假设Tsu=5ns,如果D输入信号在CLK跳变为1之前4ns(<5ns)的时候,才发生变化,那么在CLK跳变为1时,输入信号D还没有传输到Q5和Q6,SR锁存器锁存的将是D变化之前的数据。也就是说D输入信号只有在CLK跳变之前>Tsu的时间里准备好,触发器才能将数据锁存到Q输出端口,也就是所说的要保证信号的建立时间.

在CLK跳变为1之后,Q5和Q6的信号要经过G3和G4两个与非门的延迟(Thd)才能传递到Q3和Q4,构成SR锁存器之前的D输入的阻塞,保证在CLK=1是输入数据变化不会影响锁存结果。
我们假设Thd=5ns,如果D输入信号在CLK跳变为1之后5ns内发生跳变,因为此时Q3和Q4还没发生变化,均为’1’,Q5和Q6的状态将会发生跳变。在CLK=1的时刻,Q3和Q4跟随Q5、Q6的改变也发生跳变,末端SR锁存器的输出Q也发生跳变,造成输出结果不对。   也就是说在CLK跳变为1之后的Thd时间内,D信号不能发生变化,也就是所说的要保证信号的保持时间(Thd)。

同样,复位信号的恢复时间和移除时间可以类似地分析。

 

 

 

 

 

在数字IC设计FPGA开发中,确保触发器满足建立时间保持时间的要求是避免亚稳态的关键。建立时间(Setup Time)保持时间(Hold Time)是触发器正常工作的时序约束条件,它们保证了数据在触发器内部稳定地被采样传输。 参考资源链接:[数字IC设计与FPGA面试关键:同步异步逻辑、时序设计](https://wenku.youkuaiyun.com/doc/7n4n8iibew?spm=1055.2569.3001.10343) 首先,建立时间是指在时钟边沿触发之前,数据输入必须在触发器的输入端稳定的时间长度。如果数据在时钟边沿到来之前变化,触发器可能无法正确捕获数据,导致输出错误。 其次,保持时间是指在时钟边沿之后,数据输入必须保持稳定的时间长度。如果数据在时钟边沿之后改变,触发器可能会捕获错误的数据值,同样导致输出不稳定。 为了确保满足这两个时间要求,设计时需要进行时序分析,确定电路中所有路径的延迟,并通过布局布线(Placement and Routing)优化来满足时序要求。在FPGA设计中,通常使用时序分析工具(如Xilinx的Vivado Timing Analyzer或Intel的Quartus TimeQuest)来进行这一分析,确保所有路径满足时序约束。 例如,假设有一个触发器A,其建立时间为2ns,保持时间为1ns。在设计时,需要确保在A的时钟边沿到来前至少2ns,其数据输入是稳定的,并且在时钟边沿之后至少1ns内,数据输入保持不变。如果电路中存在时钟偏斜(Clock Skew)或数据路径延迟超过这些时间值,设计人员需要采取措施,比如增加时钟缓冲器(Clock Buffer)、使用时钟去偏器(Clock Deskew)或调整电路布局,以确保时序约束得到满足。 此外,当处理异步信号时,推荐使用同步器(Synchronizer)设计,通常由两级或多级触发器组成,以降低亚稳态的风险。例如,一个外部输入信号通过两个级联的D触发器同步,从而增加信号的稳定性,减少进入亚稳态的可能性。 在面试题集中《数字IC设计与FPGA面试关键:同步异步逻辑、时序设计》中,读者可以找到更多关于建立时间保持时间亚稳态处理的面试题目解答,这些题目旨在帮助面试者深入理解这些重要概念,并在实际工作中应用它们,从而确保设计的可靠性稳定性。 参考资源链接:[数字IC设计与FPGA面试关键:同步异步逻辑、时序设计](https://wenku.youkuaiyun.com/doc/7n4n8iibew?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值