HDL.bits学习总结之(always-casez)

因为准备实习,最近在HDL.bits复习Verilog HDL语言,有碰到一些问题,会不定期记录下来,可能会有些帮助。具体的一般优先级编码器不做赘述,前面小节有做练习。

本节为利用Always casez 建立一个优先编码器。其中应该利用casez的特性,产生忽略位(Don't Care Bit),以减小case的情况数目至9种。

Notes:一、可以利用“?"代替“z”;

二、casex将"x"和"z"均看作忽略位(Don't Care Bit);

具体地,HDL.bits给出以下提示,但在练习过程中,按照提示搭建电路(Verilog HDL为硬件描述语言,其本质是在搭建一个具体的、可以映射到现实世界的电路,所以搭建电路的过程不应该表示为写代码等软件描述方式),仿真都会报错。

分析原因:(1)如上图提示,如果在矢量位“1”前后都存在高阻值"z",仿真会报错;具体原因是仿真过程中,第一次匹配如果成功,后面的矢量位便会忽略,如“8'bzzzzz100”,因为匹配从低位开始;

(2)

(3)输出pos值没有表示为二进制,也是仿真出错的一个原因。

在上述两行代码,我没有将case改为casez,致使仿真出现错误;

在改正上述错误以后,重新搭建电路,如下,仿真成功通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值