具有0位长度的Verilog级联

具有0位长度的Verilog级联,verilog,Verilog,我正在定义一个赋值。在某些配置中,一个字段的长度为0位。例如 assign fullSig = {couldExist[`COULDEXIST_RNG],doesExist[`DOESEXIST_RNG]}; 如果`COULDEXIST\u RNG设置为0:0,这是否允许?从我的评论中,您将看到实际上不可能声明零长度寄存器或导线。不过,有一种方法可以虚拟出concatation的元素。假设你有{a,b,c},如果你想在某些情况下没有b,你可以写{a,{FLAG{b}},c},其中FLAG是设置

我正在定义一个赋值。在某些配置中,一个字段的长度为0位。例如

assign fullSig = {couldExist[`COULDEXIST_RNG],doesExist[`DOESEXIST_RNG]};

如果
`COULDEXIST\u RNG
设置为
0:0
,这是否允许?

从我的评论中,您将看到实际上不可能声明零长度寄存器或导线。不过,有一种方法可以虚拟出concatation的元素。假设你有
{a,b,c}
,如果你想在某些情况下没有
b
,你可以写
{a,{FLAG{b}},c}
,其中
FLAG
是设置为0或1的参数。零重复连接被视为具有零长度<代码>b仍然必须在某个地方声明。

注意[0:0]的长度不是0位。有一点宽。索引范围包括在内。