ALU 작성에 대한 숙제를하고 있는데 오류가 있습니다. 나는 그것을 찾지만 이유를 찾지 못했습니다. 왜 그렇게됩니까? 오류 메시지는 S2가 상수가 아닙니다. case ({S2,S1,S0})
Verilog 오류 : XXX가 상수가 아닙니다.
```
module ALU(
input S0,
input S1,
input S2,
input IN1,
input IN2,
input IN3,
output OUT1,
output OUT2
);
case ({S2,S1,S0})//{S2,S1,S0}
3'b000:
begin
assign OUT1=IN1&IN2;//and a1(OUT1,IN1,IN2);
assign OUT2 = 1'b0;
end
3'b001:
begin
assign OUT1=IN1|IN2;//or o1(OUT1,IN1,IN2);
assign OUT2=1'b0;
end
3'b010:
begin
assign OUT1=!IN1;
assign OUT2=1'b0;
end
3'b011:
begin
assign OUT1=!IN2;
assign OUT2=1'b0;
end
3'b100:
begin
assign OUT1=IN1^IN2;
assign OUT2=1'b0;
end
3'b101:FullAdder1 fa(.IN1(IN1),.IN2(IN2),.IN3(IN3),.OUT1(OUT1),.OUT2(OUT2));
3'b110:FullSubtracter1 fs(.IN1(IN1),.IN2(IN2),.IN3(IN3),.OUT1(OUT1),.OUT2(OUT2));
3'b111:
begin
assign OUT1=1'b0;
assign OUT2=1'b0;
end
default:
begin
assign OUT1=1'b0;
assign OUT2=1'b0;
end
endcase
endmodule
```
실행 가능한 코드를 제공하지 않아서 오류가 재현되지 않습니다. 하지만, 그런 경우에는 모듈을 인스턴스화해서는 안됩니다. – toolic
파일에''timescale 1ns/1ps'를 추가해야 할 수도 있습니다 – Weiby