目录
学习目标:
学习内容:
1.延迟模型的类型
2.路径延迟建模
3.时序检查
4.延迟反标注
学习时间:
学习总结
提示:这里可以添加学习目标
·鉴别Verilog 仿真中用到的延迟模型的类型,分布延迟、集总( lumped)延迟和引脚到引脚〔路径)的延迟。
能解释rise. fall和 turn-off延迟,
理解如何设置min,max 和typ 的值。
能够为时序检查定义系统任务,$setup.$hold和$width
理解如何在仿真过程中用specify块设置路径延迟。
能解释输入和输出引脚之间的并行连接和全连接
理解如何在specify块中用specparam语句定义参数。描述状态依赖路径延迟,即条件路径延迟。
理解延迟反标
在Verilog中有三种类型的延迟模型:分布延迟、集总延迟和引脚到引脚(路径〉的延迟。
分布延迟是在每个独立元件的基础上进行定义的.延迟值赋给电路中独立的元件。显示了模块M中分布在每个逻辑元件上的延迟。
分布延迟可以通过两种方式建模:—种是将延迟值赋给独立的门;另一种是在单独的assign语句中指定延迟值。任意一个门的输入发生变化时,该门的输出在指定的延迟值之后改变.显示出如何在门元件中和数据流播述中说明分布延迟。
集总延迟是在每个独立模块的基础上定义的。它们可以被看成是模块输出门的单个延迟,而实际上是将所有路径累积的延迟汇总于输出门这一处,因此称为集总延迟中给出了集总延迟的示例。
另一种对模块的延迟定义方式是引脚到引脚的时序说明、分别把延迟赋给模块中从每个输入到每个输出之间的所有路径。因此,可以针对每条输入/输出路径分别指定延迟。在中采用中的示例并给每条输入/输出路径计算引脚到引脚的延迟。
在模块的源(输入或输入输出〉引脚和目标(输出或输入输出)引脚之间的延迟称为模块路径延迟。在Verilog中,在关键字specify和 endspecify之间给路径延迟赋值,关键字之间的语句组成specify 块〔即指定块) 。
本章前几节讨论了如何指定路径延迟。指定路径延迟的目的是以比门延迟更高的精度仿真实际数字电路的时序。本节将描述如何建立时序检查,以便查看仿真过程中是否违反了时序约束。对于时序严格的高速时序电路、如微处理器,时序验证尤其重要。
verilog 提供了系统任务来进行时序检查。Verilog有很多用于时序检查的系统任务。我们将探讨3种最通用的时序检查"任务: $seotup,$hold和$width。所有的时序检查只能用在 specify 块里。为了简化讨论,省路了这些时序检查系统任务的一些可选参数。
在时序仿真中延迟反标注是重要而庞大的课题。这一主题可能需要﹐整本书来讨论。然而,本节中将给设计者介绍仿真中延迟的反标注概念。该课题的详细论述超出了本书范围,详细内容可参考IEEE Standard Verilog Hardware Description Language文档。
1.设计者写RTL描述.然后进行功能仿真。
2.用逻辑综合工具将RTL描述转换成门级网表
3.设计者用延迟计算器和C制造工艺信息获取芯片制作版图前的延迟估计。然后,设计者
进行门级网表的时序仿真或者静态时序验证,使用这些初步的估计值检查门级网表是否满足时序约束。
4.然后用布局布线工.具将门级网表转换成版图。根据版图中的电阻R和电容C信息,计算
5.将制作版图后得到的延迟值反标注到门级网表中,以便更精确地修改门级网表的延迟估
计。再次运行时序仿真或者静态时序验证,以便检查门级网表是否仍然满足时序约束。
6.如果要改变设计来满足时序约束,设计者必须返回RTL级,优化设计的时序,然后重复
从步骤1到步骤5的操作。
提示:这里可以添加计划学习的时间
20230617
提示:这里统计学习计划的总量
有三种类型的延迟模型;集总延迟、分布延迟和路径延迟.分布延迟比集总延迟更精确,但是对大规模设计而言难以建模。集总延迟相对而言易于建模。
路径延迟又称引脚到引脚的延迟,定义输人端(或输入输出端)到输出端(或输入输出端)的延迟,路径延迟提供了最精确的模块延迟建模方式。
specity块是表示路径延迟信息的基本块。在模块中,specify块独立于initial或者always块,它是单独出现的。
并行连接和全连接是描述路径延迟的两种方法。
可以用specparam语句在specity块内部定义参数。
路径延迟可以是有条件的或者依赖于电路内的信号值,称为状态依赖路径延迟(SDPD ).可以在路径延迟中描述上升、下降和关断延迟。也可以指定最小值、最大值和典型值,并且以保守的方式处理状态的跳变。
建立时间、保持时间和脉冲宽度是检查数字电路时序完整性的时序检查内容。也可以进行建立时序检查
从版图信息提取路径延迟信息之后,延迟反标注用于更精确地重新仿真数字设计。重复该过程直到获得满足所有时序要求的最终电路。