时序分析-由D触发器结构来理解Tsu、Th

时序分析-由D触发器结构来理解Tsu、Th

FPGA逻辑单元内的D触发器(D-FF)是一种在时钟的上升沿(或下降沿)将输入信号的变化传送至输出的边沿触发器。

数字电子技术基础-闫石(第五版)边沿D触发器内部结构见下图:

时序分析-由D触发器结构来理解Tsu、Th
而FPGA原理与结构(日)一书中,内部结构较之上图多了俩反相器:
时序分析-由D触发器结构来理解Tsu、Th

由传输门和俩个反相器组成一个循环电路(锁存器),再由前后两级锁存器按主从结构链接而成。这里的传输门起开关作用,随着CLK的状态变化切换开关。只看输出的话,前级锁存器的值会随着时钟输入的变化井然有序地传入后级锁存器。为了防止时钟信号变化时输入信号发生冒险,从而使稳定的输入信号进入前级锁存器,前级锁存器的时钟相位应该与产生输入信号的电路时钟反向(这里我的理解是反向目的就是使俩信号错开,避免冒险)。

工作原理
时序分析-由D触发器结构来理解Tsu、Th
当CLK为0(主锁存器工作)时,位于前级的主锁存器将输入的D的值保存进来,后级的从锁存器则维持上一时钟周期数据。由于此时前级和后级反相器环路之间的传输门是关闭状态,所以前级的信号不会传送到后级。

当CLK为1时,前级反相器环路中保存的数据会传输到后级,同时输入的D信号会被隔离在外,此时如果前级反相器环路中的信号没有循环一圈以上,就会出现0和1之间摇摆的中间电位,这就是亚稳态。亚稳态时间比延迟时间长时,在该阶段读取数据就会引入错误,所以我们引入建立时间来约束在时钟上升沿到来前输入D保持稳定的时间。
当CLK为1时,如果输入D在传输门关闭前就发生变化,那么本该在下一个周期读取的数据就会提前进入锁存器,从而引起反相器环路震荡或产生亚稳态,因此在CLK=1之后也需要输入D维持一定的时间,我们称之为保持时间约束。

时序分析-由D触发器结构来理解Tsu、Th