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

SOC/IP验证工程师

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

公告

View Post

sv中的各种语句总结

硬件世界与软件世界

module/endmodule,interface/endinterface可以被视为硬件世界
program/endprogram,class/endclass可以被视为软件世界。

always过程块是用来描述硬件时序电路和组合电路的正确打开方式,因此只可以在module或者interface中使用。
initial过程块可以在module、interface和program中使用。
软件的过程语句initial,function和task;
SV中约定了一种schedule,使RTL代码和验证代码在同一时刻(time slot) 操作,按照一定的顺序执行。SV中,为了区分验证和RTL事件,testbench代码都包含在program模块中,program同module的形式很类似,只是它不包含任何的层次结构,也就是说, program内部不能再包含module, interface, program。

SV语言提供了一种在多个module、interface和program之中共享parameter、data、type、task、function、class等的方法,即利用package(包)的方式来实现。如果用装修一个大房子(完整的验证环境)来看的话,我们喜欢将不同模块的类定义归整到不同的package中。这么做的好处在于将一簇相关的类组织在了单一的命名空间(namespace)下,使得分属于不同模块验证环境的类来自于不同的package,这样便可以通过package来解决类的归属问题。

posted on 2026-08-01 15:08  SOC验证工程师  阅读(8)  评论(0)    收藏  举报

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