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 }逻辑才对。

相关推荐
FPGA开源工坊2 小时前
FPGA开发技巧–BRAM资源优化
fpga开发
泛联新安9 小时前
InfinitPro多FPGA原型验证系统|提升芯片设计验证效率10-100倍
fpga开发
hahaha60161 天前
HLS高层次综合设计技巧--数组
开发语言·嵌入式硬件·算法·fpga开发
NamoAmitabha1281 天前
直接上手 UVM 例子
fpga开发
cmc10281 天前
301.modelsim自动仿真
fpga开发
Riwuarua2 天前
从近似0基础开始FPGA开发 -- part.10 verilog-ethernet开源UDP协议栈工程学习
fpga开发·udp·开源
my_daling2 天前
紫光FPGA远程升级注意事项(关于GTP_CFGCLK原语使用问题)
笔记·学习·fpga开发
Riwuarua3 天前
从近似0基础开始FPGA开发 -- part.11 AXI总线协议与工程应用
fpga开发
自小吃多3 天前
高云 FPGA 添加时序约束笔记
笔记·fpga开发
学习FPGA的电气小兴兴3 天前
基于FPGA的CORDIC旋转模式实现sin和cos运算
fpga开发·信号处理·数字信号处理·verilog·fpga·verilog hdl·cordic