1. 문제 및 설명
- 8비트 우선순위 인코더를 설계하시오.
- 입력 비트 벡터가 주어졌을 때 가장 먼저 등장하는 1의 위치를 출력합니다.
- 입력 비트 중 어떤 비트도 1이 아니라면 출력은 0 입니다.
2. 모듈 정의
module top_module (
input [7:0] in,
output reg [2:0] pos );
3. 답
module top_module (
input [7:0] in,
output reg [2:0] pos );
always@(*)
begin
casez(in)
8'bzzzzzzz1: pos = 0;
8'bzzzzzz10: pos = 1;
8'bzzzzz100: pos = 2;
8'bzzzz1000: pos = 3;
8'bzzz10000: pos = 4;
8'bzz100000: pos = 5;
8'bz1000000: pos = 6;
8'b10000000: pos = 7;
default: pos = 0;
endcase
end
endmodule
'Verilog > HDLbits' 카테고리의 다른 글
| [HDLBits] Conditional (0) | 2025.12.07 |
|---|---|
| [HDLBits] Always nolatches (1) | 2025.12.07 |
| [HDLBits] Always case2 (0) | 2025.11.24 |
| [HDLBits] Always case (0) | 2025.11.23 |
| [HDLBits] Always if2 (0) | 2025.11.23 |