目录
SystemVerilog对Verilog的拓展:
- 4.1 typedef
- 4.2 枚举数据类型
- 4.2.1 指定枚举类型标签序列的方式:
- 4.2.2 枚举类型标签作用域:
- 4.2.3 枚举类型值:
- 4.2.4 枚举类型标签值的类型:
- 4.2.5 自定义和匿名枚举
- 4.2.6 枚举类型操作的强类型检验
- 4.2.8 枚举类型的专用系统任务和方法
- 4.2.9 打印枚举类型
- 使用typedef建立用户自定义类型。
- 使用enum建立枚举类型。
-
对比
VerilogSystemVerilog主要用于RTL和门级建模,没有提供类似C语言的高级抽象建模的变量类型为系统级和体系结构级建模加入了许多新的数据类型,允许通过typedef关键字使用现有数据类型建立用户自定义类型。例子:自定义类型
typedef int unsigned uint;//利用现有数据类型(int unsigned)建立用户自定义类型(uint) ... uint a, b;
-
用户自定义类型的位置:
-
在局部定义。
-
包内定义。
-
编译单元域$unit.
-
在包中定义然后导入到$uint。
例子:在包中定义然后导入到$uint。
//包声明 package chip_types `ifdef TWO_STATE typedef bit dtype_t; `else typedef logic dtype_t; `endif endpackage //导入定义到$uint import chip_types::dtype_t; //模块声明 module counter ( output dtype_t[15:0] count, input dtype_t clock ); always @(posedge clock, negedge resetN) if (!resetN) count
关注打赏
-
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?