在Systemverilog中,union可以被声明为tagged unions。
union tagged { int a; byte b; bit [15:0] c; } data;
tagged union包含一个隐式成员,该成员存储tag,也就是标记,它表示这个union最终存储的到底是哪一个成员。
tagged union 是一种类型检查(type-checked)union.
这意味着你不能写入union中的一个成员,而读取另外一个成员。因为在这期间,tagged union会进行读写类型检查
data = tagged a 32'hffff_ffff;
如果从不同的union成员中读取值,仿真器则会报错:
module tagged_union_example; logic [31:0] x; typedef union tagged { int a; byte b; bit [15:0] c; } data; data d1; initial begin d1 = tagged a 32'hffff_ffff; //write to 'a' //read from 'b'. Since 'a' was written last, cannot access //'b'. - Error x = d1.b; $display("x = %h",x); end endmodule
在上面的例子中,我们创建了一个tagged union " data ",并声明" d1 "为" data "类型。然后我们写入成员a:
d1 = tagged a 32'hffff_ffff;
然后我们读取值“d1.b”。因为读写的成员类型不同,所以会打印错误信息:
Error-[TU-INVMEMUSG] Invalid member usage of a tagged union. testbench.sv, 15 Member of a tagged union referred is not valid since a different member is in use. The expected tag is 'a', but tag 'b' is used. Please check which member of the tagged union is in use. V C S S i m u l a t i o n R e p o r t
审核编辑:刘清
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
仿真器
+关注
关注
14文章
988浏览量
82997 -
Verilog语言
+关注
关注
0文章
113浏览量
8160
原文标题:SystemVerilog中的tagged Unions
文章出处:【微信号:芯片验证工程师,微信公众号:芯片验证工程师】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
[启芯公开课] 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次下载
Tagged Image File Format (TIFF) Decoder - Download Production Code
Tagged Image File Format (TIFF) Decoder - Download Production Code
发表于 02-01 12:45
•0次下载
SystemVerilog的正式验证和混合验证
手册的这一部分探讨了使用SystemVerilog进行验证,然后查看了使用SystemVerilog的优点和缺点。
发表于 03-29 10:32
•23次下载
SystemVerilog在硬件设计部分有哪些优势
谈到SystemVerilog,很多工程师都认为SystemVerilog仅仅是一门验证语言,事实上不只如此。传统的Verilog和VHDL被称为HDL(Hardware Description
评论