当前位置:首页 > 科技  > 芯片

verilog语法-浅谈case casez casex

来源: 责编: 时间:2023-09-04 10:17:00 208观看
导读1、语法说明在rtl仿真中,有四种状态,分别是0、1、x(unknown values)和z(high-impedance values)。 case 结构体中:0,1,X与Z是四种不同的状态,case条件比较时会检测比较双方每个bit是否完全相等。casez 结构体中:把Z当做don’
1、语法说明
在rtl仿真中,有四种状态,分别是0、1、x(unknown values)和z(high-impedance values)。

case 结构体中:0,1,X与Z是四种不同的状态,case条件比较时会检测比较双方每个bit是否完全相等。
casez 结构体中:把Z当做don’t care conditions,case条件比较时,比较双方存在Z值的bit位不参与比较 ,其他比特位相等则视为条件命中
casex 结构体中:把Z和X当做don’t care conditions,case条件比较时,比较双方存在Z或者X的bit位不参与比较,其他比特位相等则视为条件命中

  • 在SystemVerilog和Verilog中,
    • case、casex、casez都是可综合的
    • 在casex、casez中推荐使用 ?来替换Z和X
    • case、casex、casez语句中,如果命中多个case条件,则执行命中的第一个case

84O28资讯网——每日最新资讯28at.com

2、案例解析
84O28资讯网——每日最新资讯28at.com

always@(*)    begin        case(sel[1:0])        2'b00: data1 = 3'd0 ;        2'b01: data1 = 3'd1 ;        2'b10: data1 = 3'd2 ;        2'b11: data1 = 3'd3 ;        2'b1z: data1 = 3'd4 ;        2'b1x: data1 = 3'd5 ;        default: data1 = 3'd7 ;        endcase    end    always@(*)    begin        casez(sel[1:0])        2'b00: data2 = 3'd0 ;        2'b01: data2 = 3'd1 ;        2'b10: data2 = 3'd2 ;        2'b11: data2 = 3'd3 ;        2'b1z: data2 = 3'd4 ;        2'b1x: data2 = 3'd5 ;        default: data2 = 3'd7 ;        endcase    end

always@(*) begin casex(sel[1:0]) 2'b00: data3 = 3'd0 ; 2'b01: data3 = 3'd1 ; 2'b10: data3 = 3'd2 ; 2'b11: data3 = 3'd3 ; 2'b1z: data3 = 3'd4 ; 2'b1x: data3 = 3'd5 ; default: data3 = 3'd7 ; endcase end


always@(*) begin casez(sel[1:0]) 2'b00: data4 = 3'd0 ; 2'b01: data4 = 3'd1 ; 2'b10: data4 = 3'd2 ; 2'b11: data4 = 3'd3 ; 2'b1?: data4 = 3'd4 ; 2'b1x: data4 = 3'd5 ; default: data4 = 3'd7 ; endcase end

always@(*) begin casex(sel[1:0]) 2'b00: data5 = 3'd0 ; 2'b01: data5 = 3'd1 ; 2'b10: data5 = 3'd2 ; 2'b11: data5 = 3'd3 ; 2'b1?: data5 = 3'd4 ; 2'b1x: data5 = 3'd5 ; default: data5 = 3'd7 ; endcase end
case语句中4种状态都会比较匹配
  • sel[1:0]为1’b1z时,命中了[2'b1z: data2 = 3'd4 ;],data1被赋值3’d4
  • sel[1:0]为1’b1x时,命中了[2'b1x: data2 = 3'd5 ;],data1被赋值3’d5
casez语句中Z状态会被忽略,不做比较,X依旧进行比较
  • sel[1:0]为1’b1z时,实际仅比较sel[1],命中了[2'b10: data2 = 3'd2 ;]和[2'b1z: data2 = 3'd4; ],根据优先级原则, data2被赋值3’d2
  • sel[1:0]为1’b1x时,依旧比较sel[1:0],命中了[2'b1x: data2 = 3'd5 ;], data2被赋值3’d5

casex语句中Z和X状态会被忽略,不做比较
  • sel[1:0]为1’b1z时,实际仅比较sel[1],命中了[2'b10: data2 = 3'd2 ;], data3被赋值3’d2
  • sel[1:0]为1’b1x时,实际仅比较sel[1],命中了[2'b10: data2 = 3'd2 ;], data3被赋值3’d2
casez语句中采用?替换Z状态
  • sel[1:0]为1’b1z时,实际仅比较sel[1],命中了[2'b10: data2 = 3'd2 ;], data4被赋值3’d2
  • sel[1:0]为1’b1x时,同时命中了[2'b1?: data4 = 3'd4 ;]和[2'b1x: data4 = 3'd5 ;],根据优先级原则,data4被赋值3’d4
casex语句中采用?替换Z状态
  • sel[1:0]为1’b1z时,实际仅比较sel[1],命中了[2'b10: data2 = 3'd2 ;]、[2'b1?: data5 = 3'd4 ;]、[2'b1x: data5 = 3'd5 ;],根据优先级原则,data5被赋值3’d2
  • sel[1:0]为1’b1x时,实际仅比较sel[1],命中了[2'b10: data2 = 3'd2 ;]、[2'b1?: data5 = 3'd4 ;]、[2'b1x: data5 = 3'd5 ;],根据优先级原则,data5被赋值3’d2


84O28资讯网——每日最新资讯28at.com

3、Do-not-care values 参考说明
84O28资讯网——每日最新资讯28at.com


84O28资讯网——每日最新资讯28at.com

SystemVerilog(IEEE Std 1800-2017)和verilog(IEEE P1364-2005)标准关于casez、casex的描述是一致的:截图如下: 84O28资讯网——每日最新资讯28at.com

End84O28资讯网——每日最新资讯28at.com

报名提醒
是德科技全球技术盛会将于9月12日召开
地点:上海浦东嘉里大酒店。

84O28资讯网——每日最新资讯28at.com

84O28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-27-7564-0.htmlverilog语法-浅谈case casez casex

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 拆解报告:Raspberry Pi树莓派15W USB-C适配器

下一篇: 对华销售下滑60%!光刻机巨头出招

标签:
  • 热门焦点
  • MIX Fold3包装盒泄露 新机本月登场

    MIX Fold3包装盒泄露 新机本月登场

    小米的全新折叠屏旗舰MIX Fold3将于本月发布,近日该机的真机包装盒在网上泄露。从图上来看,新的MIX Fold3包装盒在外观设计方面延续了之前的方案,变化不大,这也是目前小米旗舰
  • 直屏旗舰来了 iQOO 12和K70 Pro同台竞技

    直屏旗舰来了 iQOO 12和K70 Pro同台竞技

    旗舰机基本上使用的都是双曲面屏幕,这就让很多喜欢直屏的爱好者在苦等一款直屏旗舰,这次,你们等到了。据博主数码闲聊站带来的最新爆料称,Redmi下代旗舰K70 Pro和iQOO 12两款手
  • 0糖0卡0脂 旭日森林仙草乌龙茶优惠:15瓶到手29元

    0糖0卡0脂 旭日森林仙草乌龙茶优惠:15瓶到手29元

    旭日森林无糖仙草乌龙茶510ml*15瓶平时要卖为79.9元,今日下单领取50元优惠券,到手价为29.9元。产品规格:0糖0卡0脂,添加草本仙草汁,清凉爽口,富含茶多酚,保留
  • 一加首款折叠屏!一加Open渲染图出炉:罕见单手可握小尺寸

    一加首款折叠屏!一加Open渲染图出炉:罕见单手可握小尺寸

    8月5日消息,此前就有爆料称,一加首款折叠屏手机将会在第三季度上市,如今随着时间临近,新机的各种消息也开始浮出水面。据悉,这款新机将会被命名为“On
  • CSS单标签实现转转logo

    CSS单标签实现转转logo

    转转品牌升级后更新了全新的Logo,今天我们用纯CSS来实现转转的新Logo,为了有一定的挑战性,这里我们只使用一个标签实现,将最大化的使用CSS能力完成Logo的绘制与动画效果。新logo
  • 一个注解实现接口幂等,这样才优雅!

    一个注解实现接口幂等,这样才优雅!

    场景码猿慢病云管理系统中其实高并发的场景不是很多,没有必要每个接口都去考虑并发高的场景,比如添加住院患者的这个接口,具体的业务代码就不贴了,业务伪代码如下:图片上述代码有
  • AI芯片初创公司Tenstorrent获三星和现代1亿美元投资

    AI芯片初创公司Tenstorrent获三星和现代1亿美元投资

    Tenstorrent是一家由芯片行业资深人士Jim Keller领导的加拿大初创公司,专注于开发人工智能芯片,该公司周三表示,已经从现代汽车集团和三星投资基金等
  • Windows 11发布,微软一改往常对老机型开放的态度

    Windows 11发布,微软一改往常对老机型开放的态度

    距离 Windows 11 发布已经过去一周,在过去一周里,很多数码爱好者围绕其对 Android 应用的支持、对老机型的升级问题展开了激烈讨论。与以往不同的是,在这次大
  • 荣耀Magic4 至臻版 首创智慧隐私通话 强劲影音系统

    荣耀Magic4 至臻版 首创智慧隐私通话 强劲影音系统

    2022年第一季度临近尾声,在该季度内,许多品牌陆续发布自己的最新产品,让大家从全新的角度来了解当今的手机技术。手机是电子设备中,更新迭代十分迅速的一款产品,基
Top