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

前言

先说结论,如下图所示,在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 }逻辑才对。

相关推荐
海涛高软4 小时前
yolov8目标检测训练在rk3588上部署
fpga开发
第二层皮-合肥5 小时前
USB3.0专题-硬件的测试
fpga开发
hexiaoyan8276 小时前
高速数据采集卡设计方案:886-基于RFSOC的8路5G ADC和8路9G的DAC PCIe卡
fpga开发·高速数据采集卡·光纤pcie卡·通用pcie卡·xc7a100t板卡
嵌入式软硬件攻城狮12 小时前
2.FPGA板卡通过电脑映射连接上网
fpga开发·电脑
brave and determined13 小时前
可编程逻辑器件学习(day22):“让ARM穿上FPGA的马甲“:赛灵思Zynq的命名哲学与技术革命
arm开发·嵌入式硬件·fpga开发·zynq·fpga设计·嵌入式设计·fpga开发流程
FPGA_小田老师1 天前
FPGA语法基础(二):SystemVerilog 数组清零方法详解
fpga开发·systemverilog·数组清零·systemverilog数组·systemverilog语法
jiushun_suanli1 天前
FPGA(现场可编程门阵列)详解
经验分享·学习·fpga开发
Terasic友晶科技1 天前
1-串行通信基础知识
fpga开发·串口通信·异步通信·串行通信·同步通信·并行通信·单工
FPGA_小田老师2 天前
Xilinx Aurora 8B/10B IP核(2):Shared Logic的选择
fpga开发·aurora 8b/10b·share logic·aurora接口
嵌入式软硬件攻城狮2 天前
4.FPGA字符格式
fpga开发