{128 - 32{1'b0} } 是否意味着 96'b0?

问题描述 投票:0回答:1

我正在使用使用 GTH 示例 Verilog 代码的 PHY。

在示例代码中,有一个

assign
语句。

{128-P_TX_USER_DATA_WIDTH{1'b0}}

如果

P_TX_USER_DATA_WIDTH = 32
,上面的代码就变成了
{128 - 32{1'b0}}

96'b0
的意思吗?

verilog system-verilog
1个回答
0
投票

始终从模拟开始。

module tb;
    parameter P_TX_USER_DATA_WIDTH = 32;
    initial begin
        $display({128-P_TX_USER_DATA_WIDTH{1'b0}});
        $display($bits({128-P_TX_USER_DATA_WIDTH{1'b0}}));
    end
endmodule

输出:

                        0
     96

这表明表达式的计算结果为 0。

它还表明,在这种情况下,有 96 位 0。

您可以添加括号以使表达式更清晰:

{(128-P_TX_USER_DATA_WIDTH){1'b0}}
© www.soinside.com 2019 - 2024. All rights reserved.