找工作 systemverilog 2.1--2.3

//2.1--2.3

//双状态数据类型:更好的性能,更低的内存消耗

//队列,动态和关联数组:减少内存消耗,自带搜索和分类功能

//类和结构:支持抽象数据结构

//联合和合并结构:允许对同一数据有多种视图

//字符串:支持内建的字符序列

//枚举类型:方便代码编写,增加可读性

//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};

//队列

相关推荐
GateWorld4 个月前
主流FPGA厂商对SystemVerilog的支持现状
fpga开发·system verilog
Jarden_3 年前
system verilog VSCode Windows 配置简述
ide·windows·vscode·verilog·system verilog
mrbone113 年前
System Verilog-packed array以及unpacked array
fpga开发·verilog·system verilog·eda