0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SystemVerilog中的package

芯片验证工程师 来源:芯片验证工程师 作者:芯片验证工程师 2022-11-07 09:44 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

SystemVerilog packages提供了对于许多不同数据类型的封装,包括变量、task、function、assertion等等,以至于可以在多个module中共享。

简单来说,package就是一个命名空间。

 package myPack;
 typedef struct {
 int i;
 int j;
 } cStruct;
 function cStruct add (cStruct a , b);
 add.i = a.i + b.i;
 add.j = a.j + b.j;
 endfunction
 endpackage
 
 module top (
 //referencing package item 'cStruct' of myPack
 output myPack::cStruct cout,
 input myPack::cStruct a , b
 );
 //referencing 'add' function of myPack
 assign cout = myPack::add(a , b);
 endmodule

在上面的例子中,我们声明了一个package “myPack” ,其中声明了一个struct数据类型“cStruct”和一个function “add.” 在module “top”中,我们使用package中的“cStruct”数据类型作为module的输入输出。

我们在引用package中成员使用了:

myPack::**

另外一种方式就是import了,import之后就无需在引用package中的成员时使用“myPack::”

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Verilog
    +关注

    关注

    30

    文章

    1370

    浏览量

    114107
  • System
    +关注

    关注

    0

    文章

    166

    浏览量

    38444
  • Package
    +关注

    关注

    0

    文章

    26

    浏览量

    11122

原文标题:SystemVerilog中的package

文章出处:【微信号:芯片验证工程师,微信公众号:芯片验证工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SystemVerilog的Virtual Methods

    SystemVerilog多态能够工作的前提是父类的方法被声明为virtual的。
    发表于 11-28 11:12 1057次阅读

    SystemVerilog的“const”类属性

    SystemVerilog可以将类属性声明为常量,即“只读”。目的就是希望,别人可以读但是不能修改它的值。
    发表于 11-29 10:25 2479次阅读

    看一下SystemVerilogpackage的使用方法与注意事项

    谈到package,用过VHDL的工程师并不陌生。实际上,SystemVerilogpackage正是从VHDL引入的,以进一步增强其在系统级的描述能力。
    的头像 发表于 10-07 11:33 4319次阅读
    看一下<b class='flag-5'>SystemVerilog</b><b class='flag-5'>中</b><b class='flag-5'>package</b>的使用方法与注意事项

    SystemVerilog的联合(union)介绍

    SystemVerilog ,联合只是信号,可通过不同名称和纵横比来加以引用。
    的头像 发表于 10-08 15:45 2346次阅读
    <b class='flag-5'>SystemVerilog</b><b class='flag-5'>中</b>的联合(union)介绍

    请问Systemverilog如何使用VHDL的package?

    现在需要使用system verilog写代码,但是想复用之前VHDL的package,里面有写的现成的function等,请问如何调用呢。总是报错说找不到_pkg
    发表于 03-12 15:37

    SystemVerilog的断言手册

    SystemVerilog Assertion Handbook1 ROLE OF SYSTEMVERILOG ASSERTIONSIN A VERIFICATION METHODOLOGY
    发表于 07-22 14:12 20次下载

    SystemVerilog for Design(Secon

    Chapter 1: Introduction to SystemVerilogChapter 2: SystemVerilog Declaration SpacesExample 2-1: A
    发表于 07-22 14:45 0次下载

    SystemVerilog$cast的应用

    SystemVerilog casting意味着将一种数据类型转换为另一种数据类型。在将一个变量赋值给另一个变量时,SystemVerilog要求这两个变量具有相同的数据类型。
    的头像 发表于 10-17 14:35 3858次阅读

    SystemVerilog的操作方法

    SystemVerilog提供了几个内置方法来支持数组搜索、排序等功能。
    的头像 发表于 10-31 10:10 4150次阅读

    SystemVerilog可以嵌套的数据结构

    SystemVerilog除了数组、队列和关联数组等数据结构,这些数据结构还可以嵌套。
    的头像 发表于 11-03 09:59 2419次阅读

    SystemVerilog的struct

    SystemVerilog“struct”表示相同或不同数据类型的集合。
    的头像 发表于 11-07 10:18 3159次阅读

    SystemVerilogpackage和`include有什么不同?

    肯定很多人会问为什么有的地方使用package,有的地方使用`include,二者是不是等价的呢?
    的头像 发表于 11-14 10:53 2373次阅读

    SystemVerilog的Shallow Copy

    SystemVerilog的句柄赋值和对象复制的概念是有区别的。
    的头像 发表于 11-21 10:32 1382次阅读

    SystemVerilog的Semaphores

    SystemVerilogSemaphore(旗语)是一个多个进程之间同步的机制之一,这里需要同步的原因是这多个进程共享某些资源。
    的头像 发表于 12-12 09:50 4173次阅读

    Systemverilog的Driving Strength讲解

    systemverilog,net用于对电路连线进行建模,driving strength(驱动强度)可以让net变量值的建模更加精确。
    的头像 发表于 06-14 15:50 2428次阅读
    <b class='flag-5'>Systemverilog</b><b class='flag-5'>中</b>的Driving Strength讲解