知道位数的最佳方法是创建掩码?

时间:2013-06-19 13:32:29

标签: verilog

如果我知道字段的位数,那么为该字段创建掩码的最佳方法是什么。

例如,如果位数是4,我想要一个掩码4'b1111

我目前正在创建C风格的面具:

`define MY_BITS 4
...
mask = (1 << `MY_BITS) - 1;

2 个答案:

答案 0 :(得分:5)

尝试复制操作符:

mask = {`MY_BITS{1'b1}};

替代方案(仅限System-Verilog):

logic [`MY_BITS-1:0] mask;
...
mask = '1;

答案 1 :(得分:2)

使用复制操作符:

mask = {`MY_BITS{1'b1}};

有关示例,请参阅http://www.asic-world.com/verilog/operators2.html