- i_a 및 i_b라는 두 개의 4 비트 입력을 수용합니다.
- o_sum이라는 4 비트 숫자를 출력합니다.
- 합계가 1111보다 큰 경우 o_err이라는 1 비트 숫자를 출력합니다.
- 두 입력을 지속적으로 추가하고 결과 합계와 오류 비트를 출력에 할당하려면 always @ 블록을 사용합니다.
Verilog를 처음 접한다면 누군가 내가이 일을 제대로 수행하고 있는지 말해 줄 수 있습니까?Verilog : 4 비트 입력을 2 개 허용하고 4 비트 출력을 출력하는 모듈
module add4 (
o_sum, // Sum out
o_err, // Error out
i_a, // Addend A
i_b, // Addend B
);
output reg [3:0] o_sum;
output reg [1:0] o_err;
input [3:0] i_a, i_b;
[email protected](*)
begin
if (o_sum = i_a + i_b >1111)
o_sum = o_err;
else
o_sum = i_a + i_b;
end
endmodule
테스트 벤치를 생성하고 시뮬레이션을 실행하여 옳은지 여부를 스스로 증명하십시오. – toolic
'o_err'은 설명과 같이 1 비트가 아닌 2 비트 신호이고, '1111'은 10 진수입니다. 이진수를 의미 할 수 있습니다. 과제를 'if'조건으로 두지 마십시오. o_sum에 o_err을 할당 할 필요는 없습니다. – Serge