[VerilogHDL] 16_CombinationalLogicExample_Decoder
1. Decoder
Verilog HDL에서 Decoder는 입력 비트를 활용하여 다수의 출력 신호를 활성화하는 조합 논리 회로입니다. Decoder는 입력 비트의 조합에 따라 특정 출력 신호를 활성화시킵니다.
2. 예제 코드
module binary_decoder(input wire [N-1:0] input_bits, output reg [2**N-1:0] output_signals);
always @(input_bits) begin
for (int i = 0; i < 2**N; i = i + 1) begin
if (input_bits == i)
output_signals[i] = 1'b1;
else
output_signals[i] = 1'b0;
end
end
endmodule
위의 예제는 N 비트의 입력 input_bits
를 받아 2^N 개의 출력 신호 output_signals
을 생성하는 Binary Decoder를 구현한 Verilog HDL 코드입니다.
output_signals
는 초기값으로 모두 0을 할당합니다. always
블록 내부에서 입력 신호의 변화를 감지하고, 입력 비트에 해당하는 출력 신호를 활성화시킵니다.
for
루프를 통해 0부터 2^N-1까지의 인덱스를 순회하며, 현재 입력 비트와 인덱스가 동일한 경우 해당 출력 신호를 1로 설정하고, 그렇지 않은 경우 0으로 설정합니다.
이 코드를 사용하여 Binary Decoder를 구현하면, 입력 신호에 따라 해당하는 출력 신호가 활성화됩니다. 예를 들어, 3비트 입력에서 2번째 비트가 1인 경우, output_signals[2]
가 1로 설정됩니다.
Binary Decoder는 입력 비트의 조합에 따라 특정 출력 신호를 활성화시킬 때 사용되며, 다양한 응용 분야에서 활용됩니다.
0 댓글