我写了一个简单的移位寄存器模块,综合出错,代码及错误报告如下:(代码中红色部分为出错行) module shift_full(clock,rst,count,data_out); parameter group_num=0; parameter data_width=4; input [group_num+data_width-1:0]count; input clock,rst; output [group_num+data_width-1:0]data_out; reg [7:0] shift_reg [group_num+data_width-1:0]; assign data_out = shift_reg[0];
always @(negedge rst or posedge clock) begin if (!rst) shift_reg<=0; else
shift_reg<={shift_reg[6:0],count}; end
endmodule ERROR:HDLCompilers:106 - "shift_full.v" line 35 Illegal left hand side of nonblocking assignment ERROR:HDLCompilers:108 - "shift_full.v" line 35 Part-select of vector reg array 'shift_reg' is illegal ERROR:HDLCompilers:107 - "shift_full.v" line 35 Illegal right hand side of nonblocking assignment 请前辈们指点一下该怎么改阿 存储器单元选择不是可以的吗,为什么提示我部分选择存储器单元是违法的,又不是对单元中的某个位选择!! 前辈们帮帮我!!! [em06][em06][em06][em06] |