verilog HDL中定义位宽到底是[高位:0]还是[0:高位] 为啥看到了两种写法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了verilog HDL中定义位宽到底是[高位:0]还是[0:高位] 为啥看到了两种写法相关的知识,希望对你有一定的参考价值。

两种都可以
[高位:0]为降序表示,即高位在前,低位在后
[0:高位]为升序表示,即低位在前,高位在后
使用时哪种方便用哪个,习惯而已
参考技术A 两种方法都可以 只不过 [高位:0] [0:高位]的区别在于 从哪一位开始赋值
不如输入序列为 1 0 0 1 1 1
[高位:0] 赋值结果为:1 0 0 1 1 1

[0:高位] 赋值结果为 1 1 1 0 0 1
参考技术B 这两种都是可以的,匹配方式都是从右看到左,反了会报错。
比如wire a[7:0];wire b[0:7];
assign a[7:0] = b[0:7];就是b的0给a的7。
而a[7:0] = b[7:0]会报错。本回答被提问者和网友采纳

以上是关于verilog HDL中定义位宽到底是[高位:0]还是[0:高位] 为啥看到了两种写法的主要内容,如果未能解决你的问题,请参考以下文章

xilinx /FPGA/ verilog HDL不同位数的数相加,如何进行?

FPGA /XILINX / Verilog HDL溢出了?详见补充问题

verilog HDL状态机 赋初值问题

Verilog定义计算位宽的函数clogb2

verilog中有谁用过用parameter定义的常数做赋值语句的位宽限制

verilog模块中需要调用memory型变量该怎么弄???急...