我一直认为总线符号是这样标注的:
input bus[MSB:LSB]
其中MSB> = LSB。
但是最近,我被告知甚至有可能:
wire LSB >= MSB.
这是真的吗?
如果是这样,那么合成器工具又如何获得总线大小和所有大小?他们是否认为MSB中哪个指数最大?
答案 0 :(得分:3)
是的,声明中可以使用两个方向的位编号。但是,选择位时必须使用相同的顺序。例如
wire [0:15] bus;
reg [15:0] data;
assign bus [3:6] = data[3:0];
在大多数情况下,使用第二种表示法(msb> lsb),出于一致性原因而鼓励使用第二种表示法。但是,在某些情况下,执行相反操作很方便。
答案 1 :(得分:2)
在选择单个位或总线的部分选择之前,位编号无关紧要。只要您知道如何声明信号,任何工具都可以弄清楚位宽和msb排序