verilog或者systemverilog中在使用位选择时,必须按照定义的大小端顺序进行位选操作,比如定义了reg [11:0] data,在使用data的中间4位时,必须使用data[7:4],不能使用data[4:7]。
如下示例:
module tb;
reg [11:0] data;
initial
begin
data=12'b0000_1010_0000;
#100;
$display("data[7:4] is %b",data[7:4]);
#100;
$display("data[4:7] is %b ",data[4:7]);
end
endmodule
语句
$display("data[4:7] is %b ",data[4:7]);
会报错。