8-3线优先编码器

//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 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值