sep*_*eee 0 signed verilog concatenation sign-extension
我需要将符号扩展从4位数转换为32位数.所以我尝试重复MSB 28时间看起来像这样:
assign x={28'b{a[3]},a[3:0]};
Run Code Online (Sandbox Code Playgroud)
但错误是:
"{"附近的语法错误
x定义为:wire [31:0] x ;
a定义为:input [3:0]a;
这是在错误的实现中连接,还是这个特定错误的原因是什么?
你需要摆脱'b并添加另一对{}:
assign x = { {28{a[3]}}, a};
Run Code Online (Sandbox Code Playgroud)
请参阅IEEE Std 1800-2012,第11.4.12.1节"复制运算符".
| 归档时间: |
|
| 查看次数: |
950 次 |
| 最近记录: |