【发布时间】:2016-02-24 17:39:09
【问题描述】:
reg [data_width-1:0]coeff[0:order-1];
wire[3:0]lsbcoeff;
wire [7:4]msbcoeff;
lsbcoeff = coeff[3:0];
msbcoeff = coeff[7:4];
在上面的代码行中,我得到了错误
向量 reg 数组 'coeff' 的部分选择是非法的
阻止分配的非法右手边
请指导我,如何克服这个? 赛灵思 v14.2 Verilog编码
【问题讨论】:
-
data_width = 8, order= 4;.......... 没有,我没用过,但是用的时候会报同样的错误
-
您没有分配“订单”索引。
coeff[3:0];应该是coeff[0][3:0];或带有变量索引coeff[var_index][3:0];。coeff[7:4]的问题相同 -
initial begin for(i = 0; i < order ; i = i+1) lsbcoeff = coeff[i][3:0]; msbcoeff = coeff[i][7:4]; end声明上述语句后,其显示错误如下对向量线'lsbcoeff'的引用不是合法的reg或变量左值,阻塞分配的左侧非法 -
@Suguresh Kumar Arali 您的新错误消息告诉您无法从初始块驱动电线。如果您想从初始块分配给
lsbcoeff和msbcoeff,它们需要是regs。
标签: arrays filter signal-processing verilog xilinx