• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

SOC/IP验证工程师

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

【IEEE_Verilog-14.1】指定块的声明

14. Specify blocks

两种类型的HDL构造通常被用来描述结构模型(如ASIC细胞)的延迟。具体如下:
---分布式延迟,指定事件通过模块内部的门和网传播所花费的时间(参见7.14)
---模块路径延迟,描述一个事件在源(输入端口或inout端口)传播到目标(输出端口或inout端口)所花费的时间。
该子句描述了如何在模块中指定路径,以及如何将延迟分配给这些路径。

14.1 Specify block declaration

一个称为指定块的块语句是用来描述源和目标之间的路径以及为这些路径分配延迟的工具。指定块的语法见语法14-1。

指定块应该由关键字specify和endspecify限定,并且它应该出现在一个模块声明中。指定的block可以执行以下任务:
---描述跨模块的各种路径。
---为这些路径分配延迟。
---执行定时检查,以确保在模块输入处发生的事件满足模块所描述的设备的定时约束(见第15条)。
指定块中描述的路径,称为模块路径,将信号源与信号目的地配对。源可以是单向的(输入端口)或双向的(inout端口),被称为模块路径源。类似地,目的地可以是单向的(输出端口)或双向的(inout端口),被称为模块路径目的地。
例如:

specify
  specparam tRise_clk_q = 150, tFall_clk_q = 200;
  specparam tSetup = 70;
  (clk => q) = (tRise_clk_q, tFall_clk_q);
  $setup(d, posedge clk, tSetup);
endspecify

关键字指定之后的前两行声明指定参数,在4.10.3中讨论。指定参数声明之后的行描述了模块路径,并为该模块路径分配延迟。指定参数决定分配给模块路径的延迟。指定模块路径将在14.2中介绍。为模块路径分配延迟将在14.3中讨论。关键字end前的行指定了一个系统定时检查的实例化,将在第15章中进一步讨论。

posted on 2022-03-26 21:29  SOC验证工程师  阅读(92)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3