//双状态数据类型:更好的性能,更低的内存消耗
//队列,动态和关联数组:减少内存消耗,自带搜索和分类功能
//类和结构:支持抽象数据结构
//联合和合并结构:允许对同一数据有多种视图
//字符串:支持内建的字符序列
//枚举类型:方便代码编写,增加可读性
//logic 四状态类型
module login_data_type (input logic rst_h);
parameter CYCLE=20;
logic q,q_1,d_clk,rst_1;
initial begin
clk=0;
forever #(CYCLE/2) clk=~clk;
end
assign rst_1 = ~rst_h;
not n1(q_1,q);
my_dff d1(q,d,clk,rst_1);
endmodule
//最简单的双状态数据类型 bit 无符号
//带符号的双状态数据类型 byte 8bit,shortint 16bit,int 32bit,longint 64bit
//integer 四状态 32bit 有符号
//time 四状态 64bit 无符号
//real 双状态 双精度浮点数
if($isunknown(iport)==1)
d i s p l a y ( " @ display("@%0t:4-state value detected on iport %b", display("@time,iport);
//定宽数组
int lo_hi0:15; int lo_hi16;
//多维数组
int array 0:70:3;
//非合并数组
bit 7:0 b_unpack3;
for (int i=0;i<$size(src);i++)
srci = i;
//常量数组
int md23 = '{'{0,1,2},'{3,4,5}}
initial begin
$display("initial value:");
foreach (mdi,j)
$display("md%0d%0d=%0d",i,j,mdij);
//合并数组
bit3:07:0 bytes;
bytes = 32'hCafe_Dada;
$displayh(bytes,bytes3,bytes37);
//动态数组
int dyn\[\],d2\[\];
initial begin
dyn=new5;
foreach (dynj) dynj=j;
d2=dyn;
d20=5;
$display(dyn0,d20);
dyn=new20;
dyn=new100;
dyn.delete();
end
$size
//常数数组 动态数组
bit 7:0 mask\[\] = '{8'b0000_0000,8'b0000_0001,
8'b0000_0000,8'b0000_0001,
8'b0000_0000,8'b0000_0001,
8'b0000_0000,8'b0000_0001,
8'b0000_0000};
//队列