systemVerilog的typedef用法
目录
1. 常用自定义类型
2. 前置定义
3.定义参数化类
4.定义带比特位类型
5.定义数组或队列
6.队列的关联数组
7.在config db的应用
1. 常用自定义类型
typedef int WIDTH_TYPE
2. 前置定义
常用在要用的class还没有定义时,提前typedef一下
1 typedef class B;//typedef B
2 class A;
3 B b;
4 int xx;
5 endclass
6
7 class B;
8 A a;
9 logic tmp;
10 endclass
如上在定义class A时,使用了class B,但B还没有定义,可以在前面先 typedef class B.也可以直接用typedef B,表示后面会有B的定义。
3.定义参数化类
typedef XYZ;module top;XYZ #(8'h3f, real) xyz0; // positional parameter overrideXYZ #(.ADDR(8'h60), .T(real)) xyz1; // named parameter override
endmoduleclass XYZ #(parameter ADDR = 8'h00, type T = int);
endclass
4.定义带比特位类型
typedef bit [3:0] bit4;
typedef logic [2:0] logic3;
typedef reg [1:0] reg2;
5.定义数组或队列
typedef int m_int_q[100];m_int_q m_int;typedef short m_sh_q[$];
m_sh_q m_sh;
定义了一个100个元素的int数组 m_int;
定义了一个数据类型为short的m_sh队列;
6.队列的关联数组
当关联数组的元素是一个队列的时候,有两种定义方式:
方式一:
int map[string][$]; //map是一个关联数组,下标元素是string,存储元素是int[$]
方式二:
typedef int Queue_INT[$]; Queue_INT map[$];
7.在config db的应用
当使用uvm_config_db在UVM平台中传递信息时,假设需要传递一个数组,这时候uvm_config_db#()括号中的类型该怎么写?
1) 将数组封装在一个类中,uvm_config_db#()的括号中填这个类,这个稍微麻烦了点;
2) 定义一个数组类型,然后就可以这样写
uvm_config_db#(Array_INT)::set(null,”yy”,”zz”,arr)
uvm_config_db#(Array_INT)::get(null,”yy”,”zz”,arr_recv)
其中arr和arr_recv都是Array_INT类型的变量;typedef int Array_INT[100];
该段摘自typedef:定义一个类型https://zhuanlan.zhihu.com/p/370616107
systemVerilog的typedef用法相关推荐
- typedef用法小结
Typedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法.不管怎样,使用 typedef 能为代码带来意想不到的好处,通过本文你可以学习用 typedef 避免缺欠,从而使代码更健壮 ...
- 关于C++中函数指针的使用(包含对typedef用法的讨论)
关于C++中函数指针的使用(包含对typedef用法的讨论) (一)简单的函数指针的应用. //形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(in ...
- typedef用法(1)
Typedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法.不管怎样,使用 typedef 能为代码带来意想不到的好处,通过本文你可以学习用 typedef 避免缺欠,从而使代码更健壮 ...
- typedef 用法详解
第一部分 基本概念 1.基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等). 在编程 ...
- C和C++中struct的typedef用法建议
C和C++中struct的typedef用法建议 参考文章(建议先读) 根据参考的文章,总结一下: 情况1 C语言中: typedef struct{ ···: }aaa; 则aaa是struct类的 ...
- Typedef用法(转载)
在C的学习过程中,现在才发现,以前有那么多被忽略的重点:现在是慢慢拾起这些重点的时候,通过百度和博客,我感觉我学到了很多东西,自己只是在别人说的基础上,按照自己学习的过程在这里记录一下,以后有时间回过 ...
- Typedef用法学习
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中.typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些 ...
- Typedef 用法总结
http://www.cnblogs.com/csyisong/archive/2009/01/09/1372363.html 不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较 ...
- C语言中typedf函数的用法,C语言中typedef用法详解
在C语言中,经常有如下的用法: typedef struct tag{ ...} MyType, *MyPtr; 一旦通过如上定以后,就可以用MyType来定义struct tag结构了. 以 ...
- c语言typedef的用法,C语言中typedef用法总结,看完就能像编程老手一样熟练运用...
请看下文 C语言中typedef关键字应用比较常见,许多C语言初学者对它的用法不甚了解.事实上,我们可以用typedef来定义自己习惯使用的数据类型名称,可以替代自己所熟悉的基本类型.数组类型.指针类 ...
最新文章
- SQLServer之创建数据库架构
- selenium.common.exceptions.WebDriverException:no such session
- 【英语学习】【English L06】U03 House L5 Renting a House
- Spark TopN
- 腾讯专利仅次谷歌;​苹果或将 iPhone 订单转给和硕;​Uber 接受比特币支付 | 极客头条...
- [转] MongoDB shell 操作 (查询)
- 59. 预定义超全局变量
- idea拉出Output窗口和还原窗口
- 【预告】《天黑以后》(《The Darkest Hour》)
- 在线生成免费android ios图标
- Mac和Win7双系统 + 完美文件共享
- 使用POI创建Excel无法打开
- 造轮子实现RPC框架_01_MyRPCFramework简介
- winrar40天试用完了
- Google创新机器
- 神码ai人工智能写作机器人_神经符号AI为我们提供具有真正常识的机器
- Matlab常用函数(control)
- 用django搭建个人博客(一)
- Cholesky分解—概率密度分布及累计概率分布(完整代码分享)
- Cleanmymac X绿色中文苹果系统清理软件
热门文章
- ftp用户名 密码输入正确 登陆报530 Login incorrect.331 Please specify the password.
- WDM驱动程序的基本结构和实例
- PHP沉思录之三:Smarty
- 深度学习之稀疏编码小知识
- 超级详细的pytest测试和allure测试报告
- visa卡号生成器 在线_AINLP公众号新增quot;彩虹屁生成器quot;
- VS2013 应用程序无法正常启动0xc0150002
- libFetion『Linux下都飞信』
- ARKit玩起来 - AR预览唱片-史小川-专题视频课程
- 文件服务器程序,CuteHttpFileServer(文件共享服务器软件)