0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈Verilog中casex语句

全栈芯片工程师 来源:全栈芯片工程师 2023-12-07 11:35 次阅读

代码如下,大家看到这个代码有什么体会?综合会有什么Warning?

c50ab370-94aa-11ee-939d-92fbcf53809c.png

综合会有告警如下:

c5132c12-94aa-11ee-939d-92fbcf53809c.jpg

注意:casez与casex都不可综合,多用于仿真

casex、 casez 语句是 case 语句的变形。

在casex中,casex允许"x"、"z"和"?"值在比较时被当做不关心的值。

在casez中,casez允许"z"和"?"对应的bit在比较时会被忽略,x不会被忽略。

casex 用"x" 来表示无关值

casez 用"?" 来表示无关值

两者的实现的功能是完全一致的,语法与 case 语句也完全一致。

在case item中,0、1、z、x都是要比较的,不会忽略。

但是我们可以使用casez忽略某些bit位。在使用casez时,最好使用?表示比较时要忽略的对应比特。

case语句当条件互斥时是没有优先级,但是条件选项不要求互斥。虽然这些条件选项是并发比较的,但执行效果是谁在前且条件为真谁被执行,详细内容分享在知识星球。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 仿真
    +关注

    关注

    50

    文章

    4031

    浏览量

    133370
  • Verilog
    +关注

    关注

    28

    文章

    1343

    浏览量

    109947
  • 代码
    +关注

    关注

    30

    文章

    4733

    浏览量

    68285

原文标题:Verilog中有casex? 注意,综合会告警!

文章出处:【微信号:全栈芯片工程师,微信公众号:全栈芯片工程师】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Verilog generate if 语句如何用systemc实现?

    Verilog generate if语句如何用systemc实现?例如:generateif (SIZE < 8)assign y = a & b & c;else
    发表于 08-28 12:06

    新手求解verilog 的生成块语句 的意思

    verilog 的 generate for 语句好理解,但是 generate if 和 generate case 语句怎么理解??
    发表于 12-21 12:44

    veriloggenerate语句的用法分享

    generate为verilog的生成语句,当对矢量的多个位进行重复操作时,或者当进行多个模块的实例引用的重复操作时,或者根据参数的定义来确定程序
    发表于 12-23 16:59

    chisel 可以用Verilog 语句吗 ?

    chisel 可以用Verilog 语句吗 ?
    发表于 03-11 14:23

    verilogif与case语句不完整产生锁存器的原因分析

      在很多地方都能看到,verilogif与case语句必须完整,即if要加上else,case后要加上default语句,以防止锁存器的发生,下载内容中就谈到了其中原因。
    发表于 09-16 09:29 24次下载

    FPGA视频教程之Verilog两种不同的赋值语句的资料说明

    本文档的主要内容详细介绍的是FPGA视频教程之Verilog两种不同的赋值语句的资料说明免费下载。
    发表于 03-27 10:55 6次下载
    FPGA视频教程之<b class='flag-5'>Verilog</b><b class='flag-5'>中</b>两种不同的赋值<b class='flag-5'>语句</b>的资料说明

    Verilog可综合的循环语句

    Verilog中提供了四种循环语句,可用于控制语句的执行次数,分别为:for,while,repeat,forever。其中,for,while,repeat是可综合的,但循环的次数需要在编译之前就确定,动态改变循环次数的
    发表于 10-13 12:23 1.9w次阅读

    Verilog教程之Verilog HDL程序设计语句和描述方式

    本文档的主要内容详细介绍的是Verilog教程之Verilog HDL程序设计语句和描述方式。
    发表于 12-09 11:24 47次下载
    <b class='flag-5'>Verilog</b>教程之<b class='flag-5'>Verilog</b> HDL程序设计<b class='flag-5'>语句</b>和描述方式

    verilog的initial语句说明

    解释verilog HDL的initial语句的用法。
    发表于 05-31 09:11 0次下载

    简述Verilog HDL阻塞语句和非阻塞语句的区别

    阻塞赋值,但从字面意思来看,阻塞就是执行的时候在某个地方卡住了,等这个操作执行完在继续执行下面的语句,而非阻塞就是不管执行完没有,我不管执行的结果是什么,反正我继续下面的事情。而Verilog的阻塞赋值与非阻塞赋值正好也是这个
    的头像 发表于 12-02 18:24 5992次阅读
    简述<b class='flag-5'>Verilog</b> HDL<b class='flag-5'>中</b>阻塞<b class='flag-5'>语句</b>和非阻塞<b class='flag-5'>语句</b>的区别

    Verilog逻辑设计的循环语句和运算符

    “ 本文主要分享了在Verilog设计过程中一些经验与知识点,主要包括循环语句(forever、repeat、while和for)、运算符。”
    的头像 发表于 03-15 11:41 5085次阅读

    什么是SystemVerilog-决策语句-if-else语句

    决策语句(Decision statements)允许程序块的执行流程根据设计中信号的当前值分支到特定语句。SystemVerilog有两个主要的决策语句:if…else语句和case
    的头像 发表于 02-09 14:15 1087次阅读
    什么是SystemVerilog-决策<b class='flag-5'>语句</b>-if-else<b class='flag-5'>语句</b>?

    Verilog循环语句简介

    在这篇文章,我们讨论了可以在verilog中使用的不同类型的循环 - for循环,while循环,forever循环和repeat循环。
    的头像 发表于 04-15 09:19 3018次阅读

    Verilog的If语句和case语句介绍

    我们在上一篇文章已经看到了如何使用程序块(例如 always 块来编写按顺序执行的 verilog 代码。 我们还可以在程序块中使用许多语句来控制在我们的verilog设计中信
    的头像 发表于 05-11 15:37 4253次阅读
    <b class='flag-5'>Verilog</b><b class='flag-5'>中</b>的If<b class='flag-5'>语句</b>和case<b class='flag-5'>语句</b>介绍

    Verilog常用的循环语句及用途

    本文主要介绍verilog常用的循环语句,循环语句的用途,主要是可以多次执行相同的代码或逻辑。
    的头像 发表于 05-12 18:26 2291次阅读