这个是83优先编码器 书上写的程序
module code8_3(I,Y);
input[7:0]I;
output[2:0]Y;
function[2:0]code;
input[7:0]I;
if(I[7]) code=3'b111;
else if(I[6]) code=3'b110;
else if(I[5]) code=3'b101;
else if(I[4]) code=3'b100;
else if(I[3]) code=3'b011;
else if(I[2]) code=3'b010;
else if(I[1]) code=3'b001;
else code=3'b000;
endfunction
assign Y=code(I);
endmodule
为什么不能这么写:
module code8_3(I,Y);
input[7:0]I;
output[2:0]Y;
reg[2:0]Y
always @ (I)
begin
if(I[7]) Y=3'b111;
else if(I[6]) Y=3'b110;
else if(I[5]) Y=3'b101;
else if(I[4]) Y=3'b100;
else if(I[3]) Y=3'b011;
else if(I[2]) Y=3'b010;
else if(I[1]) Y=3'b001;
else Y=3'b000;
end
endmodule
麻烦高手指教一下吧!另外assign A={B,C}是代表什么意思啊?多谢多谢!!