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

时间:2019-10-24 11:31:29

标签: system-verilog register-transfer-level

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

.element-parent {
  display: table;
  height: 100%;
}

.element {
  display:table-cell;
  vertical-align:middle;
  text-align:center;
}

在此仅修改ans [0],其余a [7:1]具有零。我需要在整个logic [7:0] vec ; logic scal; logic [7:0] ans; assign ans= vec | scal; // scal extend by appending zeros.

上应用按位运算符

谢谢

2 个答案:

答案 0 :(得分:1)

有很多方法可以给兔子剥皮。我将使用复制运算符打开:

{  <N>  { <some value> } }

重复<some value> N次。因此,您需要:

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

答案 1 :(得分:1)

显示功能的意图要比尝试使用布尔表达式编写要清晰得多。使用类似if / else的条件运算符。

assign ans = scal ? '1 : ver;