您如何在 verilog 中使用单个位或向量?
How do you or a vector with a single bit in verilog?
我有一个向量,my_vector
,我想 or
每个位与一个位,my_bit
,我该怎么做?
在 VHDL 中,我必须编写如下内容:
foo <= (n-1 downto 0 => my_bit) || my_vector;
在 verilog 中有更简单的方法吗?
我试过了:
foo = my_bit | my_vector;
但看起来确实如此 {0...0,my_bit} | my_vector
一种方法是:
foo = {n{my_bit}} | my_vector;
您确定要or
吗?那么您将只有 2 个可能的输出:原始向量(如果该位为 0)和全 1 的向量(如果该位为 1)。
如果是这样,您可以使用此条件赋值:
assign my_vector = (my_bit == 0) ? my_vector : n'b111...1;
我有一个向量,my_vector
,我想 or
每个位与一个位,my_bit
,我该怎么做?
在 VHDL 中,我必须编写如下内容:
foo <= (n-1 downto 0 => my_bit) || my_vector;
在 verilog 中有更简单的方法吗? 我试过了:
foo = my_bit | my_vector;
但看起来确实如此 {0...0,my_bit} | my_vector
一种方法是:
foo = {n{my_bit}} | my_vector;
您确定要or
吗?那么您将只有 2 个可能的输出:原始向量(如果该位为 0)和全 1 的向量(如果该位为 1)。
如果是这样,您可以使用此条件赋值:
assign my_vector = (my_bit == 0) ? my_vector : n'b111...1;