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

SOC/IP验证工程师

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

公告

View Post

【IEEE_Verilog-11.3】层次事件队列

11.3 The stratified event queue

Verilog事件队列在逻辑上被分割成五个不同的区域。事件被添加到这五个区域中的任何一个,但只从活动区域active region中删除。
a)活动事件active events发生在当前模拟时间,可以按任何顺序处理。
b)非活动事件inactive events发生在当前模拟时间,待所有活动事件处理完毕后再进行处理。
c)非阻塞赋值更新事件已经在之前的一些模拟时间中被评估,但是应该在这个模拟时间在所有活动和非活动事件处理后被赋值
d)监视事件应在处理完所有活动的、非活动的和非阻塞的分配更新事件之后进行处理。
e)未来事件发生在未来的某个模拟时间。未来事件分为未来非活动事件和未来非阻塞赋值更新事件。
对所有活动事件的处理称为模拟循环。
在Verilog HDL中,选择任何活动事件进行即时处理的自由是不确定性的基本来源。
显式的零延迟(#0)要求将流程挂起并作为当前时间的非活动事件添加,以便在当前时间的下一个模拟周期中恢复流程。
一个非阻塞赋值(参见9.2.2)创建一个非阻塞赋值更新事件,调度到当前或以后的模拟时间。
\(monitor和\)strobe系统任务(见17.1)为它们的参数创建监视器事件。这些事件在每个连续的时间步骤中不断地被重新启用。监视器事件是唯一的,因为它们不能创建任何其他事件。
使用vpi_register_cb(cbReadWriteSynch)等PLI例程调度的回调过程(参见27.33)应被视为非活动事件。

posted on 2022-03-20 16:33  SOC验证工程师  阅读(227)  评论(0)    收藏  举报

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