Verilog快速入门(9)—— 优先编码器电路①

Verilog快速入门

(1) 四选一多路器
(2)异步复位的串联T触发器
(3)奇偶校验
(4)移位运算与乘法
(5)位拆分与运算
(6)使用子模块实现三输入数的大小比较
(7)4位数值比较器电路
(8)4bit超前进位加法器电路
(9)优先编码器电路①
(10)用优先编码器①实现键盘编码电路
(11)8线-3线优先编码器
(12)使用8线-3线优先编码器实现16线-4线优先编码器
(13)用3-8译码器实现全减器
(14)使用3-8译码器①实现逻辑函数
(15)数据选择器实现逻辑函数
(16)状态机
(17)ROM的简单实现
(18)边沿检测



一、题目描述

在这里插入图片描述

二、解析与代码

//优先编码器电路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)
//case语句的其他两种形式,即casex和casez,这用来处理比较过程中的不必考虑的情况
//casez语句用来处理不考虑高阻值z的比较过程,即状态z在case语句中不会被视为正常的z状态
 
//casex语句则将高阻值和不定值都视为不必关心的情况
//所谓不必关心的情况,即在表达式进行比较时,不降该位的状态考虑在内。
//这样,在case语句表达式进行比较时,就可灵活设置对信号的某些位进行比较
  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
//备注:关于case,casez和casex的用法,简单地说,三者可以综合。
//case进行全等匹配,casez忽略?或z对应的位进行匹配,case忽略z、?或z对应的位进行匹配
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值