目录

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用法相关推荐

  1. typedef用法小结

    Typedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法.不管怎样,使用 typedef 能为代码带来意想不到的好处,通过本文你可以学习用 typedef 避免缺欠,从而使代码更健壮 ...

  2. 关于C++中函数指针的使用(包含对typedef用法的讨论)

    关于C++中函数指针的使用(包含对typedef用法的讨论) (一)简单的函数指针的应用. //形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(in ...

  3. typedef用法(1)

    Typedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法.不管怎样,使用 typedef 能为代码带来意想不到的好处,通过本文你可以学习用 typedef 避免缺欠,从而使代码更健壮 ...

  4. typedef 用法详解

    第一部分 基本概念 1.基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等). 在编程 ...

  5. C和C++中struct的typedef用法建议

    C和C++中struct的typedef用法建议 参考文章(建议先读) 根据参考的文章,总结一下: 情况1 C语言中: typedef struct{ ···: }aaa; 则aaa是struct类的 ...

  6. Typedef用法(转载)

    在C的学习过程中,现在才发现,以前有那么多被忽略的重点:现在是慢慢拾起这些重点的时候,通过百度和博客,我感觉我学到了很多东西,自己只是在别人说的基础上,按照自己学习的过程在这里记录一下,以后有时间回过 ...

  7. Typedef用法学习

    不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中.typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些 ...

  8. Typedef 用法总结

    http://www.cnblogs.com/csyisong/archive/2009/01/09/1372363.html 不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较 ...

  9. C语言中typedf函数的用法,C语言中typedef用法详解

    在C语言中,经常有如下的用法: typedef struct  tag{    ...} MyType, *MyPtr; 一旦通过如上定以后,就可以用MyType来定义struct tag结构了. 以 ...

  10. c语言typedef的用法,C语言中typedef用法总结,看完就能像编程老手一样熟练运用...

    请看下文 C语言中typedef关键字应用比较常见,许多C语言初学者对它的用法不甚了解.事实上,我们可以用typedef来定义自己习惯使用的数据类型名称,可以替代自己所熟悉的基本类型.数组类型.指针类 ...

最新文章

  1. SQLServer之创建数据库架构
  2. selenium.common.exceptions.WebDriverException:no such session
  3. 【英语学习】【English L06】U03 House L5 Renting a House
  4. Spark TopN
  5. 腾讯专利仅次谷歌;​苹果或将 iPhone 订单转给和硕;​Uber 接受比特币支付 | 极客头条...
  6. [转] MongoDB shell 操作 (查询)
  7. 59. 预定义超全局变量
  8. idea拉出Output窗口和还原窗口
  9. 【预告】《天黑以后》(《The Darkest Hour》)
  10. 在线生成免费android ios图标
  11. Mac和Win7双系统 + 完美文件共享
  12. 使用POI创建Excel无法打开
  13. 造轮子实现RPC框架_01_MyRPCFramework简介
  14. winrar40天试用完了
  15. Google创新机器
  16. 神码ai人工智能写作机器人_神经符号AI为我们提供具有真正常识的机器
  17. Matlab常用函数(control)
  18. 用django搭建个人博客(一)
  19. Cholesky分解—概率密度分布及累计概率分布(完整代码分享)
  20. Cleanmymac X绿色中文苹果系统清理软件

热门文章

  1. ftp用户名 密码输入正确 登陆报530 Login incorrect.331 Please specify the password.
  2. WDM驱动程序的基本结构和实例
  3. PHP沉思录之三:Smarty
  4. 深度学习之稀疏编码小知识
  5. 超级详细的pytest测试和allure测试报告
  6. visa卡号生成器 在线_AINLP公众号新增quot;彩虹屁生成器quot;
  7. VS2013 应用程序无法正常启动0xc0150002
  8. libFetion『Linux下都飞信』
  9. ARKit玩起来 - AR预览唱片-史小川-专题视频课程
  10. 文件服务器程序,CuteHttpFileServer(文件共享服务器软件)