verilog中integer real数据类型
Given a 100-bit input vector [99:0], reverse its bit ordering.
说明:整数(integer)
integer类型也是一种寄存器数据类型,integer类型的变量为有符号数,而reg类型的变量则为无符号数,除非特别声明为有符号数,还有就是integer的位宽为宿主机的字的位数,但最小为32位,用integer的变量都可以用reg定义,只是用于计数更方便而已。reg,integer,real,time都是寄存器数据类型,定义在Verilog中用来保存数值的变量,和实际的硬件电路中的寄存器有区别。
大多数的矢量类型(reg或者net)都被默认当做无符号数。integer和real是个例外,它们被默认为当做有符号数。
real类型是不可综合的。
原文链接:https://blog.csdn.net/liqiang9410/article/details/76983900
| integer类型也是一种寄存器数据类型,integer类型的变量为有符号数,而reg类型的变量则为无符号数,除非特
| 别声明为有符号数,还有就是integer的位宽为宿主机的字的位数,但最小为32位,用integer的变量都可以用reg定
| 义,只是用于计数更方便而已。reg,integer,real,time都是寄存器数据类型,定义在Verilog中用来保存数值的变
| 量,和实际的硬件电路中的寄存器有区别。
| 大多数的矢量类型(reg或者net)都被默认当做无符号数。integer和real是个例外,它们被默认为当做有符号数。
| 通常,real类型是不可综合的。
-
module top_module(
-
input [99:0] in,
-
output [99:0] out
-
);
-
always @(*) begin
-
for(integer i= 0;i < 100 ; i++)begin
-
out[i] = in[99-i];
-
end
-
end
-
endmodule
-
//还是习惯于使用reg类型的变量
-
-
-
module top_module(
-
input [99:0] in,
-
output [99:0] out
-
);
-
reg [7:0] i;
-
always @(*) begin
-
for( i= 0;i < 7'd100 ; i= i + 1)begin
-
out[i] = in[99-i];
-
end
-
end
-
endmodule