若是要了解触发器的建立时间和保持时间,必然离不开时序设计,而时序设计也同样离不开建立时间和保持时间,那么针对触发器的时序设计,我们来聊聊触发器的建立时间和保持时间吧。
一般来说,时序设计的实质是满足每一个触发器的建立/保持时间的要求,而建立时间是指触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间;保持时间是指触发器在时钟上升沿到来之后,其数据输入端的数据必须保持不变的最小时间。
那么触发器为什么要满足建立时间和保持时间?
因为触发器内部数据的形成是需要一定的时间的,如果不满足建立和保持时间,触发器将进入亚稳态,进入亚稳态后触发器的输出将不稳定,在0和1之间变化,这时需要经过一个恢复时间,其输出才能稳定,但稳定后的值并不一定是你的输入值。这就是为什么要用两级触发器来同步异步输入信号。这样做可以防止由于异步输入信号对于本级时钟可能不满足建立保持时间而使本级触发器产生的亚稳态传播到后面逻辑中,导致亚稳态的传播。
换种通俗的说法,是指需要建立时间是因为触发器的D端像一个锁存器在接受数据,为了稳定的设置前缀门的状态需要一定稳定时间;需要保持时间是因为在时钟沿到来之后,触发器要通过反馈来锁存状态,从后级门传到前级门需要时间。