【问题标题】:What's the best way to create a mask knowing the number of bits?创建知道位数的掩码的最佳方法是什么?
【发布时间】:2013-06-19 22:30:31
【问题描述】:

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

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

我目前正在创建 C 风格的蒙版:

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

【问题讨论】:

    标签: verilog


    【解决方案1】:

    试试复制操作符:

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

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

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

    【讨论】:

      【解决方案2】:

      使用复制操作符:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-15
        • 1970-01-01
        • 2011-02-09
        • 1970-01-01
        • 1970-01-01
        • 2018-11-11
        • 1970-01-01
        • 2017-08-06
        相关资源
        最近更新 更多