8-3线优先编码器
程序员文章站
2024-02-23 08:13:28
...
//8-3线优先编码器
module cy4(input[7:0] I,
input EI,//输入端口声明
output reg[2:0] Y,//输出端口声明
output reg GS,//输出端口及变量的数据类型声明
output reg EO//输出端口及变量的数据类型声明
);
always @(EI, I)
if(EI == 0)
begin
Y <= 3'b000;
GS = 1'b0;
EO = 1'b0;
end
else //当EI=1时,实现优先编码器的功能
begin
GS = 1; EO = 0;//编码器的输入信号有效时,设定GS、EO的输出值
casex(I)//逻辑值x表示输入信号中那些位可以为任意值
8'b1000_0001: Y <= 3'b000;
8'b0100_001x: Y <= 3'b001;
8'b0010_01xx: Y <= 3'b010;
8'b0001_1xxx: Y <= 3'b011;
8'b0001_xxxx: Y <= 3'b100;
8'b001x_xxxx: Y <= 3'b101;
8'b01xx_xxxx: Y <= 3'b110;
8'b1xxx_xxxx: Y <= 3'b111;
default:begin
Y <= 3'b000;
GS <= 0;
EO <= 1;
end//处理编码器输入信号无效的情况
endcase
end
endmodule
上一篇: FPGA axi-quad-spi IP核寄存器说明
下一篇: 带进位的八位加法器