`timescale 1ns/1ns
module encoder_83(
input [7:0] I ,
input EI ,
output wire [2:0] Y ,
output wire GS ,
output wire EO
);
assign Y = (EI==1'b0)? 3'b000:
(I[7]==1'b1)? 3'b111:
(I[6]==1'b1)? 3'b110:
(I[5]==1'b1)? 3'b101:
(I[4]==1'b1)? 3'b100:
(I[3]==1'b1)? 3'b011:
(I[2]==1'b1)? 3'b010:
(I[1]==1'b1)? 3'b001:
(I[0]==1'b1)? 3'b000:3'b000;
assign EO = ((EI==1'b1) && (I == 8'b0))? 1'b1:1'b0;
assign GS = ((EI== 1'b0) || (EI==1'b1) && (I == 8'b0))? 1'b0 : 1'b1;
endmodule
//EI是否使能
//EO判断是否为0
//GS为是否按下按键
//注意assign的写法
牛客网verilog VL15 优先编码器Ⅰ
于 2023-11-05 21:35:41 首次发布