相对于寄存器,锁存器面积更小、速度更快、功耗更低,所以了解锁存器的时序分析有非常重要的作用。
锁存器的基本原理
E端口高电平时,锁存器打开,D端口数据传输到Q端口。E端口低电平时,锁存器关闭,Q端口保留D端口数据。由于E端口的下降沿决定锁存数据,所以setup和hold时间是针对E端口下降沿而定的。一个锁存器简单的工作原理如下图所示。
锁存器的优点
相对于寄存器,锁存器面积更小、速度更快、功耗更低、可以借时间来满足建立时间、允许更高的时钟偏移。但也有毛刺信号的潜在风险。
锁存器时序路径分析
锁存器的数据端口是一个时序路径的终端,时钟端口是一个时序路径的起点,一个时序路径也可以穿过一个锁存器。锁存器的数据端口不作为时序路径的起始点进行分析。
数据端信号在锁存器打开前到达
F1到L1的时序,slack计算以锁存器关闭时间(根据setup时间调整)为基准。
F1到F3的时序,L1的延迟就像一个组合逻辑单元计入路径延迟。
数据端信号在锁存器打开中到达
F1到L1的时序,slack计算以锁存器关闭时间为基准。
F1到F3的时序,L1的延迟就像一个组合逻辑单元计入路径
数据端信号在锁存器关闭后到达
F1到L1的时序,slack计算以锁存器关闭时间为基准。
F1到F3的时序,到L1的延迟为锁存器关闭时间加上通过锁存器的延迟。