如何在没有额外信号的情况下减少左值总线?

How can I reduce a lvalue bus without an extra signal?

我有一个带有多位信号的模块:

output  logic [2:0]  tuser,

在实例化它的模块中,我只有一个位信号,它应该是 modport 的 reduction OR*。

示例:(明显错误)

logic single_bit;
 .tuser  ({>>{|single_bit}})
 .tuser  ({|>>{single_bit}})
 .tuser  (|single_bit)

我在这里尝试使用语言的强大功能,而不是使用单独的信号来进行缩减。

不幸的是,SystemVerilog 没有表达您想要执行的操作的语法。唯一定义为赋值目标的运算符(称为 lvalue)是连接运算符和流运算符。那些只映射位置位关联。您必须为超出此范围的任何内容定义一个额外的信号。