当前位置: 首页 > news >正文

【IC验证】systemverilog_包

systemverilog_包

  • 一.定义
  • 二.语法
    • (1)定义语法
    • (2)域索引
      • (a)说明
      • (b)方法一
      • (c)方法二
      • (d)方法三
  • 三.注意
    • 1.注意点一
    • 2.注意点二
    • 3.注意点三
    • 4.`注意点四`

一.定义

包就是将软件类型的成员(自定义类型,参数,成员变量,方法,类等(没有模块))进行打包,方便重复使用和共享。

二.语法

(1)定义语法

package 包名字;//自定义类型typedef enum {RED,GREEN,BLUE} color_t//定义参数或常量const  int MAX_VALUE = 100;//方法function int double_value(data_in);double_value = data_in *2;endfunctiontask print_message(string msg);$display("%s",msg);endtask//类class my_class;endclass
endpackage

(2)域索引

(a)说明

在模块中使用package中的内容前,必须要先把使用的东西导入到模块中。
原因:在编译testbench时,其会查找所有library中的内容,但是不会查找package,所以需要提前告诉编译器去package中查找。

(b)方法一

说明:使用将包中的所有成员都导入;
语法:

import 包名::*;

例子:
在这里插入图片描述

结果:
在这里插入图片描述

(c)方法二

说明:使用将包中使用的成员导入;
语法:

import 包名::使用的成员;

例子:
在这里插入图片描述
结果:
在这里插入图片描述

(d)方法三

说明:使用将包中使用的成员导入;
语法:

包名::使用的成员;

例子:
在这里插入图片描述
结果:
在这里插入图片描述

三.注意

1.注意点一

说明:
包中的成员都是静态成员;
例子:
见二.2.d

2.注意点二

说明:
当前区域和包中的成员同名时,使用的成员会优先在当前的区域查找,只有当前区域没有时才会去包中查找;
代码:

package pak1;int data1 = 7;class class1;endclass
endpackagepackage pak2;int data2 = 8;class class2;endclass
endpackagemodule tb1;import pak1::*;import pak2::*;int data1 = 9;int data2 = 10;initial begin$display("data1 == %0d",data1);$display("data2 == %0d",data2);end
endmodule 

结果:
在这里插入图片描述

3.注意点三

说明:当两个包中存在同名成员时,在使用包中的成员时,必须指定来自哪个包;

4.注意点四

注意:两个包中的成员最好不要重命,包和其他区域的成员最后不要重命;

相关文章:

  • 在线免费图片处理工具-传道软件图片工具
  • PH热榜 | 2025-05-21
  • 《对话记忆的进化史:智能体大模型如何实现跨轮次的深度交互》
  • id分页遍历数据漏行问题
  • 8天Python从入门到精通【itheima】-26~28
  • sqli-labs第十九关——POST-referer注入
  • 程序员日志之DNF手游笔者成长记录(一周年)
  • 【音频编码格式】AAC详解
  • 基于vue框架的动漫论坛g2392(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • java加强 -网络编程
  • 自动获取新版本 js 静态文件
  • 嵌入式开发学习日志(linux系统编程--文件读写函数(2))Day25
  • 【5.19-5.26学习周报】
  • 鸿蒙 模块的创建+Video简单使用
  • [Basic] 03.QEMU Task Model 概览
  • 项目时间紧迫的高效应对策略
  • KCTF-遗世独立
  • SpringBoot外部化配置
  • 前端开发遇到 Bug,怎么办?如何利用 AI 高效解决问题
  • 29.第二阶段x64游戏实战-技能冷却
  • 企业做英文网站/百度电脑端入口
  • 沈阳网站排名seo/竞价推广开户电话
  • 郑州做网站天强科技/电脑清理软件十大排名
  • 简述企业网站的基本功能/查排名官网
  • 网站开发绩效考核与薪酬/网站建设与管理属于什么专业