Verilog中的总线符号

时间:2019-03-26 05:01:13

标签: verilog system-verilog

我一直认为总线符号是这样标注的:

input bus[MSB:LSB]

其中MSB> = LSB。

但是最近,我被告知甚至有可能:

wire LSB >= MSB.

这是真的吗?

如果是这样,那么合成器工具又如何获得总线大小和所有大小?他们是否认为MSB中哪个指数最大?

2 个答案:

答案 0 :(得分:3)

是的,声明中可以使用两个方向的位编号。但是,选择位时必须使用相同的顺序。例如

wire [0:15] bus;
reg  [15:0] data;
assign bus [3:6] = data[3:0];

在大多数情况下,使用第二种表示法(msb> lsb),出于一致性原因而鼓励使用第二种表示法。但是,在某些情况下,执行相反操作很方便。

答案 1 :(得分:2)

在选择单个位或总线的部分选择之前,位编号无关紧要。只要您知道如何声明信号,任何工具都可以弄清楚位宽和msb排序