请教一个VERILOG语法的问题
时间:10-02
整理:3721RD
点击:
问一个VERILOG的语法问题
我从一个别人的代码看到
它定义了一个TASK 任务如下
task A;
input [4:0] data;
begin
case (data)
4'b0000 : // 前面定义的DATA是[4:0]的 这个地方是只有4位,这个是不是有点不妥
begin
out[1] = 1'bZ;
out[0] = 1'bZ;
end
.........
4'b1111 :
begin
out[1] = 1'b0;
out[0] = 1'b0;
end
endcase
end
endtask
然后它在另外一个地方调用了这个任务
input [1:0] datab
reg[1:0] datab
begin
A (datab); // 我就纳闷这一句是不是也有问题了 datab 是2位的 但是任务A定义的是5位的
end
求达人指点
我从一个别人的代码看到
它定义了一个TASK 任务如下
task A;
input [4:0] data;
begin
case (data)
4'b0000 : // 前面定义的DATA是[4:0]的 这个地方是只有4位,这个是不是有点不妥
begin
out[1] = 1'bZ;
out[0] = 1'bZ;
end
.........
4'b1111 :
begin
out[1] = 1'b0;
out[0] = 1'b0;
end
endcase
end
endtask
然后它在另外一个地方调用了这个任务
input [1:0] datab
reg[1:0] datab
begin
A (datab); // 我就纳闷这一句是不是也有问题了 datab 是2位的 但是任务A定义的是5位的
end
求达人指点
很明显,你看的这段代码是错的
你说的没错,代码有问题。
学习学习
显然
代码有问题
不太了解,能说清楚点么
