网站大量收购闲置独家精品文档,联系QQ:2885784924

第10章时序和延迟EDA技术与Verilog HDL语言.ppt

第10章时序和延迟EDA技术与Verilog HDL语言.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章时序和延迟EDA技术与VerilogHDL语言第10章时序和延迟EDA技术与VerilogHDL语言

EDA技术与Verilog HDL语言 第十章 时序和延迟 本章学习目标 鉴别Verilog仿真中用到的延迟模型的类型,分布延迟、集总(lumped)延迟和引脚到引脚(路径)的延迟。 理解如何在仿真过程中用specify块设置路径延迟。 能解释输入和输出引脚之间的并行连接和全连接。 理解如何在specify块中用specparam语句定义参数。 描述状态依赖路径延迟,即条件路径延迟。 能解释rise,fall和turn-off延迟,理解如何设置min,max和typ的值。 能够为时序检查定义系统任务,$setup,$hold和$width。 理解延迟反标。 10.1 延迟模型 在Verilog中有三种类型的延迟模型:分布延迟、集总延迟和引脚到引脚(路径)的延迟。 分布延迟是在每个独立元件的基础上进行定义的。延迟值赋给电路中独立的元件。 集总延迟是在每个独立模块的基础上定义的。它们可以被看成是模块输出门的单个延迟,而实际上是将所有路径累积的延迟汇总于输出门这一处,称为集总延迟。 引脚到引脚延迟(路径延迟)分别把延迟赋给模块中从每个输入到每个输出之间的所有路径,可以针对每条输入/输出路径分别指定延迟。 10.1.1 分布延迟 分布延迟可以通过两种方式建模:一种是将延迟值赋给独立的门;另一种是在单独的assign语句中指定延迟值。 10.1.2 集总延迟 集总延迟将整个延迟汇总到输出门。当模块M的任意输入发生变化时,经过这个最大延迟之后,输出发生改变。 10.1.3 路径延迟 引脚到引脚的延迟非常详细,但是对大规模电路而言,它比分布延迟更容易建模,因为写延迟模型的设计者只需了解模块的输入/输出引脚,无需了解模块的内部。模块内部可以用逻辑门、数据流、行为级语句或混合方式来设计,但是引脚到引脚的延迟说明仍然保持不变。引脚到引脚的延迟又称为路径延迟。 10.2 路径延迟建模— — specify块 在Verilog中,在关键字specify和endspecify之间给路径延迟赋值,关键字之间的语句组成specify块(即指定块)。 specify块是模块中的一个独立部分,且不在任何其他块内出现(如initial或always)。specify块中的语句含义必须非常明确。 Specify块包含下列操作语句: ① 给穿过模块的所有路径指定引脚到引脚的时序延迟 ② 在电路中设置时序检查 ③ 定义specparam常量 10.2 路径延迟建模— — 并行连接 如前所述,每条路径延迟语句都有一个源域和一个目标域。在上例的路径延迟语句中,a,b,c和d在源域位置,而out是目标域。 在并行连接中,源域中的每一位与目标域中相应的位连接。如果源和目标域是向量,必须有相同的位数,否则会出现不匹配。 并行连接用符号 = 描述, 用法:(source_field = destination_field) = delay_value; 10.2 路径延迟建模— — 全连接 用符号*表示全连接,用法如下所示。 用法:(source_field * destination_field) = delay_value; 在全连接中,源域中的每一位与目标域中的每一位相连接。如果源和目标是向量,则它们不必位数相同。全连接描述源中的每一位和目标中的每一位之间的延迟。 上例采用全连接表示如下: 当向量位宽很大时,全连接在定义输入向量中每一位与输出向量中每一位之间的延迟时尤其有用。前提是这些延迟的值必须一致。 10.2 路径延迟建模— — specparam声明语句 在specify块中可以声明特殊的参数,它们用specparam关键字声明。一般情况下不直接根据数值定义引脚到引脚的延迟,而是使用specparam定义specify参数,然后在specify块中使用这些参数。如下例: 注意:specify参数仅用在它们自己的specify块内部,它们不是用关键字parameter声明的全局参数。提供specify参数是为了方便给延迟赋值。建议用specify参数而不是数值来表示引脚到引脚的延迟。 10.2 路径延迟建模— —条件路径延迟 引脚到引脚的延迟可能会由于电路输入信号的状态而改变。Verilog允许在电路中根据信号值有条件地给路径延迟赋值。条件路径延迟用if条件语句描述。条件路径延迟又称状态依赖路径延迟(SDPD)。 操作数可以是这里列出的这些量的标量或向量值:模块输入或输出端口、它们的位选或域选、局部定义的寄存器(或网表)或它们的位选或域选、编译时就能确定的常量(常数和specify块参数)。 条件表达式可以包含任意逻辑操作符、位操作符、缩减操作符、连接操作符以及条件操

文档评论(0)

netball + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档