Verilog语法——按位取反“~“和位宽扩展的优先级

前言

  先说结论,如下图所示,在Verilog中“~ ”按位取反的优先级是最高的,但是在等式计算时,有时候会遇到位宽扩展,此时需要注意的是位宽扩展的优先级高于“~”。

在这里插入图片描述

验证

  仿真代码,下面代码验证的是“~”按位取反和符号扩展的优先级。

module tb();
    reg [7:0] a;
    reg b;
    wire [7:0] b1;
    wire [7:0] b2;
    wire [7:0] b3;
    
    initial begin
        a=0;b=0;
        repeat(10)begin
            #10
            a={$random}%256;
            b={$random}%2;
        end
    end
    assign b1=a+~b;
    assign b2=a+~{7'b0,b};
    assign b3=a+{~b};
endmodule

  仿真结果
在这里插入图片描述

  如上所示,b1=a+ ~ b相当于b2=a+ ~ {7’b0,b}$,但是实际应该是按照逻辑b3=a+{~ b}或者是b2=a+{ 7’b0,~ b }逻辑才对。

相关推荐

  1. C 练习实例55-学习使用~

    2024-04-09 10:02:02       41 阅读
  2. C++ 获取域成员

    2024-04-09 10:02:02       55 阅读
  3. 与例题

    2024-04-09 10:02:02       60 阅读
  4. C++运算

    2024-04-09 10:02:02       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-09 10:02:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-09 10:02:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-09 10:02:02       82 阅读
  4. Python语言-面向对象

    2024-04-09 10:02:02       91 阅读

热门阅读

  1. 力扣记录 4.8

    2024-04-09 10:02:02       32 阅读
  2. Hive和Pig有什么区别吗?

    2024-04-09 10:02:02       27 阅读
  3. 课时89:流程控制_函数进阶_函数变量

    2024-04-09 10:02:02       32 阅读
  4. 前端进阶特训营-发布会

    2024-04-09 10:02:02       30 阅读
  5. hive窗口函数数据范围

    2024-04-09 10:02:02       33 阅读
  6. 【Trick】AIGC翻译润色

    2024-04-09 10:02:02       30 阅读
  7. C# WebSocket服务端

    2024-04-09 10:02:02       30 阅读
  8. 程序员的赚钱认知觉醒(上)

    2024-04-09 10:02:02       34 阅读
  9. 【Python】探索 FunNLP:让自然语言处理更有趣

    2024-04-09 10:02:02       38 阅读
  10. Jupyter Notebook

    2024-04-09 10:02:02       39 阅读
  11. 快手开放平台对接内容管理demo

    2024-04-09 10:02:02       27 阅读