本文由知乎
赵俊军
授权转载,知乎主页为https://www.zhihu.com/people/zhao-jun-jun-19
3.4 时序模型-时序逻辑单元
考虑如下图3-8所示的时序逻辑单元的时序弧:
对于同步(synchronous)输入,例如引脚D(或SI,SE),存在以下时序弧:
- 建立(Setup)时间检查时序弧(包括上升沿和下降沿)
- 保持(Hold)时间检查时序弧(包括上升沿和下降沿)
对于异步(asynchronous)输入,例如引脚CDN,存在以下时序弧:
- 恢复(Recovery)时间检查时序弧
- 撤销(Removal)时间检查时序弧
对于触发器的同步输出,例如引脚Q或QN,存在以下时序弧:
- 时钟引脚(CK)到输出端口(Q或QN)的传播延迟时序弧(包括上升沿和下降沿)
所有同步时序弧均相对于时钟的有效沿(active edge),即时序逻辑单元捕获数据的时钟沿。此外,时钟引脚和异步引脚(如复位引脚)还需要进行脉冲宽度(pulse width)时序检查。各种时序检查如下图3-9所示:
3.4.1 同步时序检查:建立时间与保持时间
需要进行建立时间和保持时间的同步时序检查,才能确保数据能够正确通过时序单元传播。这些时序检查可验证输入的数据在时钟有效沿上是否为确定的逻辑状态,并且在有效沿上将正确的数据锁存下来。这些时序检查也可以验证输入的数据在有效时钟沿附近是否稳定:输入的数据必须在有效时钟沿之前保持稳定的最短时间称为建立时间(setup time)。这是根据最晚的(the latest)数据信号超过其阈值(通常为Vdd的50%)到有效时钟沿超过其阈值(通常为Vdd的50%)的时间间隔测量的。同样,保持时间(hold time)是在时钟有效沿之后输入的数据必须保持稳定的最短时间,这也是根据有效时钟沿超过其阈值到最早的(the earliest)数据信号超过其阈值的时间间隔来度量的。如前文所述,时序单元的时钟有效沿是指使时序单元捕获数据的上升沿或下降沿。
建立时间与保持时间检查示例
时序单元同步引脚的建立时间和保持时间约束通常用二维表格来描述,如下所示。下面的例子展示了触发器数据引脚的建立时间和保持时间时序信息: