前言
整理工作中用到的基础语法。
1、数据类型
双态数据类型,即只有0 1两个状态,没有x z,有利于提高仿真器性能,减少内存使用。
在写testbench中,bit类型的变量可以用于赋值操作或者连线,也即同时用于类似于reg、wire的功能。
基本数据类型
time 64位整数,默认单位为秒
real 来自Verilog,就如C的double类型,64位
shortreal 来自C的float类型,32位
string 可变长度的字符数组
void 空返回,用于函数
整数数据类型
---默认是有符号数
shortint 16位整型 ,2态(1,0)默认值0
int 32位整型 ,2态(1,0)默认值0
longint 64位整型 ,2态(1,0)默认值0
byte 8位整型(ASCII字符) ,2态(1,0)默认值0
integer 32位整型 ,4态(0、1、X、Z)默认值为x
---默认是无符号数
bit 0或1 ,2态(1,0)默认值0
reg 来自Verilog ,4态(0、1、X、Z)默认值为x
logic 与reg类似 ,4态(0、1、X、Z)默认值为x
2、task
task与function最大的区别有两点
(1)task可以添加消耗时间的语句,而function不可以消耗时间 (这一点与verilog相同)。
(2)task可以调用task和function,而function仅能调用function。
还有一点要提醒新手:
task和function中是不能使用initial和always的
3、延时
#100;
参考
1、作者 | 博文 |
gsithxy | [SV]SystemVerilog語法小結 |
SystemVerilog——数据类型 | |
SystemVerilog—Timescale解析 |
参考