-4

如果说我有以下电线设置,电线分配是否都有效?

wire[3:1] w;
wire w1;
wire [1:0] w2;

A) w1 = w[2];    
B) w2 = w[1:0];  
C) w2 = w[1:2];

我猜一切都是有效的......

4

1 回答 1

1

不要猜测。尝试自己编译代码。A 和 B 是合法的语法。根据我尝试过的模拟器(VCS 和 NC-Verilog),C 是非法语法,假设您的意思是:

assign w2 = w[1:2];

编译错误消息将类似于“Illegal part select range”。

在 IEEE Verilog 标准(Std 1364-2005)第 5.2.1 节“向量位选择和部分选择寻址”中,规定第一个数字必须寻址比第二个数字更高的有效位。

于 2010-01-20T16:56:18.700 回答