改成下面这样就不会错了:
module count1s(noin,noout);
input[8:1] noin;
output[3:1] noout;
reg[3:1] noout;
always@(noin)
begin
noout=0;
while(noin)
begin
if(noin[1])
begin
noout=noout+1;
noin=noin>>1;
end
end
end
endmodule
begin...end是要应用在块语句中的(一般是always语句),你先规范一下语法试试吧