又比如你的RTL中某个参数出现了一个不在预期范围内的值,你就可以在此时打印一条错误信息到终端,这样很快就可以知道RTL是否有问题,而不是双眼一直死死地盯着你的波形图。 Verilog语法给我们提供了4个系统函数,都可以在终端显示变量信息,根据其使用方法可以划分为3类: $display, $write $strobe $monitor $display和...
bit_num = byte_num; $display("bit_num = 'h%x", bit_num);//'h180,最高位符号位会复制1位 bit_num =unsigned'(byte_num); $display("bit_num = 'h%x", bit_num);//'h080,正确转换,去掉了符号 end 例2: logic[3:0] logic_num =4'b111x; big [2:0] bit_num; initialbegin bit_n...
Verilog语言中数据类型的主要目的是表示数据的存储元件,如触发器中的位bit,以及传输元件,如连接逻辑门和顺序结构之间的导线wire。 变量的值 除real和event数据类型外,几乎所有数据类型都只能具有下面给出的四个不同值中的一个: 下图展示的是是这些值在时序图或者仿真波形中的形状,大多数模拟器使用这种约定,其中红色...
打印的第一行数值,my_data位x,说明仿真是对logic变量不赋初值的话,该变量的值为x;接着把my_data赋值为B,第二行打印出0xB,同时,en的值也由x变为了1。 bit类型:是一种双状态数据类型,无符号,最常用于testbench当中。bit类型数据只能位0或者1,在验证环境中,我们并不需要过于关注四值逻辑,而是只需要0和1,...
//打印出单bit和 $display("on.sum = %0d",on.sum); //on.sum = 1 //打印出32bit和 $display("on.sum = %0d",on.sum + 32'd0); //on.sum = 5 //由于total是32bit变量,所以数组和也是32bit total = on.sum; $display("total = %0d",total); //total = 5 ...
最简单的双状态数据类型是bit,它是无符号的。另外4种带有符号的双状态数据类型是byte、shortint、int和longint,如下所示: bit b ; // 双状态,单比特无符号 bit [31:0] b32 ; // 双状态,32比特无符号整数 int unsigned ui ; // 双状态,32比特无符号整数 ...
但是用$fdisplay打印144bit整数是完全没问题的 integer fid;reg [143:0] a = 144'hFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;initial begin fid = $fopen("1.txt", "w");fdisplay(fid, "%d", a);fclose(fid);finish;end 文件内容就是22300745198530623141535718272648361505980415 ...
将8bit的a、3bit的b、5bit的c按顺序拼接成一个16位的d,表示方法为:d={a,b,c}; 6. 条件运算符 一般格式:(逻辑判断语句)? 语句1 : 语句2 执行过程是:当[逻辑判断语句]为真,则[语句1]作为条件表达式的值,否则将[语句2]作为表达式的值。
int——32bit的2值逻辑变量,用于循环操作,替代integer。因为我们做循环,只有0或者1,x和高阻态其实是不起作用的,用int可以节省资源开销,并且不传播X态 还有一些其他的变量,用的比较少。这里不详细介绍。但是有一点需要特别注意,二值变量除了int用作循环以后,其它的不要用在可综合模块中,不然无法传播X态,导致Debug...