「Verilog学习笔记」优先编码器电路①

专栏前言

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网

「Verilog学习笔记」优先编码器电路①_第1张图片

`timescale 1ns/1ns

//优先编码器电路1
//电路的优先顺序是,从9到1,高级到低级
//9个输入端:I端,4个输出端:Y端,低电平有效。
//输入端从9到1有效输入,输出端从9到1进行输出

module encoder_0(
   input      [8:0]         I_n   ,
   
   output reg [3:0]         Y_n   
);
    always @ (*) begin 
        casez(I_n) //casez语句用来处理不考虑高阻值z的比较过程,即状态z在case语句中不会被视为正常的z状态
        9'b1_1111_1111: Y_n = 4'b1111 ; 
        9'b0_????_????: Y_n = 4'b0110 ; //其中?,被视为高阻状态,casez中视为不必考虑的状态
        9'b1_0???_????: Y_n = 4'b0111 ; 
        9'b1_10??_????: Y_n = 4'b1000 ; 
        9'b1_110?_????: Y_n = 4'b1001 ; 
        9'b1_1110_????: Y_n = 4'b1010 ; 
        9'b1_1111_0???: Y_n = 4'b1011 ; 
        9'b1_1111_10??: Y_n = 4'b1100 ; 
        9'b1_1111_110?: Y_n = 4'b1101 ; 
        9'b1_1111_1110: Y_n = 4'b1110 ; 
        default: Y_n = 4'b0000 ;
        endcase
    end
endmodule

你可能感兴趣的:(Verilog学习笔记,学习,笔记,Verilog)