`timescale 1ns/1ns
module encoder_0(
input [8:0] I_n ,
output reg [3:0] Y_n
);
always@(*) begin
if(I_n[8:0]==9'b111111111)
Y_n=4'b1111;
else if (I_n[8]==0)
Y_n=4'b0110;
else if (I_n[7]==0)
Y_n=4'b0111;
else if (I_n[6]==0)
Y_n=4'b1000;
else if (I_n[5]==0)
Y_n=4'b1001;
else if (I_n[4]==0)
Y_n=4'b1010;
else if (I_n[3]==0)
Y_n=4'b1011;
else if (I_n[2]==0)
Y_n=4'b1100;
else if (I_n[1]==0)
Y_n=4'b1101;
else if (I_n[0]==0)
Y_n=4'b1110;
end
endmodule
//编码器,将特殊输入信号转换为二进制字符
//优先编码,本来只允许一位有效(),优先过后就是优先级别高的那位有效
牛客网verilog VL13 优先编码器电路①
于 2023-11-04 21:46:06 首次发布