Em mới học ngôn ngữ verilog, xin hỏi công dụng khi khai báo biến REG, có phải kiểu khai báo này dùng cho các biến output không ?
ví dụ đoạn code sau
module part3(S,U,V,W,X,Y,M,ledr);
input [2:0] S,U,V,W,X,Y;
output [2:0] M;
output [17:0] ledr;
assign ledr [17:15]=S;
assign ledr [14:12]=U;
assign ledr [11:9]=V;
assign ledr [8:6]=W;
assign ledr [5:3]=X;
assign ledr [2:0]=Y;
reg [2:0] M;
always @(S)
begin
case (S)
3'b000: M=U;
3'b001: M=V;
3'b010: M=W;
3'b011: M=X;
3'b100: M=Y;
default: M=Y;
endcase
end
endmodule
Giải thích giùm em công dụng khi khai báo reg [2:0] M
ví dụ đoạn code sau
module part3(S,U,V,W,X,Y,M,ledr);
input [2:0] S,U,V,W,X,Y;
output [2:0] M;
output [17:0] ledr;
assign ledr [17:15]=S;
assign ledr [14:12]=U;
assign ledr [11:9]=V;
assign ledr [8:6]=W;
assign ledr [5:3]=X;
assign ledr [2:0]=Y;
reg [2:0] M;
always @(S)
begin
case (S)
3'b000: M=U;
3'b001: M=V;
3'b010: M=W;
3'b011: M=X;
3'b100: M=Y;
default: M=Y;
endcase
end
endmodule
Giải thích giùm em công dụng khi khai báo reg [2:0] M
Comment