时序与延迟
- 真实硬件中具有延迟,所以需要检查时序。
- 检查时序的两种方式:时序检查、静态时序验证。
- 时序检查:仿真过程中计算与该模块相关的延迟值。
- 静态时序验证
- 怎么用:先进行纯功能验证,再用静态时序验证工具单独验证时序。
- 优点:快。能以时序仿真快几个数量级的速度验证时序。
- 本章主要讨论如何定义延迟及时序检查。
定义延迟
延迟模型
- 三种延迟模型:分布延迟、集总延迟、引脚到引脚(路径)的延迟
分布延迟
- 在每个独立元件的基础上定义的。
- 延迟值赋给电路中独立的元件。
- 两种方式建模
- 一、将延迟值赋给独立的门;
- 二、在单独的assign语句中指定延迟值;
- 如下,门元件中分布延迟
- Verilog描述
- 分布延迟,每个元件都要指定延迟值。
集总延迟
- 在每个独立模块的基础上定义。
- 集总,顾名思义,将所有累积的延迟汇总于输出门。
- 如图
- Verilog描述
- 集总延迟建模与分布延迟建模,更加简便。
路径延迟
- 定义引脚到引脚的时序说明,分别把延迟赋给模块中每个输入到每个输出之间的所有路径。
- 可以针对每条输入/输出路径分别指定延迟。
- 怎么用:可以从数据手册中直接获取标准组件的引脚到引脚的延迟;通过用spice之类的低层次仿真器进行电路描述的仿真,可以获得数字电路模块的引脚到引脚的延迟。