标量和向量之间的按位运算

Bitwise operation between scalar and vector

我正在努力寻找一种在标量和向量之间应用按位运算符的方法,例如:

logic [7:0] vec ;
logic scal;
logic [7:0] ans;
assign ans= vec | scal; // scal extend by appending zeros.  

这里只有ans[0]被修改,其余的a[7:1]有零。我需要在整个 vec

上应用按位运算符

谢谢

给兔子剥皮的方法有很多种。我将使用 复制运算符 :

打开
{  <N>  { <some value> } }

复制 <some value> N 次。所以你需要:

assign ans= vec | {8{scal}}; 

显示功能的意图比尝试根据布尔表达式编写要清楚得多。使用读作 if/else.

的条件运算符
assign ans = scal ? '1 : ver;