SystemVerilog“struct”表示相同或不同数据类型的集合。
struct可以作为一个整体使用,也可以单独通过名称引用组成这个struct的元素。由于这些元素的数据类型可能不相同,所以不能够使用数组。
如果需要在多个module或者类中使用相同的struct,则应该将struct定义(`typedef)放到SystemVerilog package中,然后将其导入到每个module或者class。
默认情况下,struct都是unpacked的,我们也可以显式地加上关键字。下面是一个简单的示例,展示了array和struct的区别。
// Normal arrays -> a collection of variables of same data type int array [10]; // all elements are of type ‘int’ bit [7:0] mem [256]; // all elements are of type ‘bit’ // Structures -> a collection of variables of same or different data types struct { byte val1; int val2; string val3; } DataValue;
当然,我们也可以定义一个数组,其中数组中的每一个数据项都是一个struct.
DataValue v1[20]; //array of structures struct { byte val1; int val2[10]; //array within a structure string val3; } DataValue;
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Verilog
+关注
关注
28文章
1327浏览量
109312 -
System
+关注
关注
0文章
161浏览量
36575 -
Struct
+关注
关注
0文章
29浏览量
10817
原文标题:SystemVerilog中的struct
文章出处:【微信号:芯片验证工程师,微信公众号:芯片验证工程师】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
[启芯公开课] SystemVerilog for Verification
学快速发展,这些趋势你了解吗?SystemVerilog + VM是目前的主流,在未来也将被大量采用,这些语言和方法学,你熟练掌握了吗?对SoC芯片设计验证感兴趣的朋友,可以关注启芯工作室推出的SoC芯片
发表于 06-10 09:25
round robin 的 systemverilog 代码
大家好,我对一个 round robin 的 systemverilog 代码有疑惑。https://www.edaplayground.com/x/2TzD代码第49和54行是怎么解析呢 ?
发表于 03-14 19:16
做FPGA工程师需要掌握SystemVerilog吗?
在某大型科技公司的招聘网站上看到招聘逻辑硬件工程师需要掌握SystemVerilog语言,感觉SystemVerilog语言是用于ASIC验证的,那么做FPGA工程师有没有必要掌握SystemVerilog语言呢?
发表于 08-02 20:30
如何在SystemVerilog中为状态机的命令序列的生成建模
我们将展示如何在SystemVerilog中为状态机的命令序列的生成建模,并且我们将看到它是如何实现更高效的建模,以及实现更好的测试生成。
发表于 01-01 06:05
使用SystemVerilog来简化FPGA中接口的连接方式
FPGA中接口的连接方式。 也许很多FPGA工程师对SystemVerilog并不是很了解,因为以前的FPGA开发工具是不支持SystemVerilog的,导致大家都是用VHDL或者Verilog来
发表于 01-08 17:23
SystemVerilog Assertion Handbo
SystemVerilog Assertion Handbook1 ROLE OF SYSTEMVERILOG ASSERTIONSIN A VERIFICATION METHODOLOGY
发表于 07-22 14:08
•188次下载
SystemVerilog的断言手册
SystemVerilog Assertion Handbook1 ROLE OF SYSTEMVERILOG ASSERTIONSIN A VERIFICATION METHODOLOGY
发表于 07-22 14:12
•20次下载
typedef struct的用法
typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。具体区别在于:若struct node{ }这样来定义结构体的话。在定义 node 的结构体变量时,需要这样写:struct node n;
发表于 11-09 17:20
•3105次阅读
SystemVerilog的正式验证和混合验证
手册的这一部分探讨了使用SystemVerilog进行验证,然后查看了使用SystemVerilog的优点和缺点。
发表于 03-29 10:32
•23次下载
Systemverilog中的union
SystemVerilog union允许单个存储空间以不同的数据类型存在,所以union虽然看起来和struct一样包含了很多个成员,实际上物理上共享相同的存储区域。
C++中struct和class的区别?
C++中struct和class的区别是什么?C++中struct和class的最大区别在于: struct的成员默认是公有的, 而class的成员默认是私有的,
SystemVerilog在硬件设计部分有哪些优势
谈到SystemVerilog,很多工程师都认为SystemVerilog仅仅是一门验证语言,事实上不只如此。传统的Verilog和VHDL被称为HDL(Hardware Description
评论