我最近在stackoverflow上遇到了this answer。
使用Verilog,一旦进行了部分选择,结果将是未签名的。在选定的零件上使用
$signed
系统任务以使其签名。
此方法是否可综合(即系统任务$signed
)
如果它不可合成,是否有另一种方法可以对像a <= a>>>2
这样的变量进行算术移位(a
除以4时应得到商)。
答案 0 :(得分:0)
它当然是可合成的。您的特定工具是否支持它是另一个问题。
您还可以在SystemVerilog中使用强制转换。
res = signed'(registers[0][0]) >>> 2;