推荐答案
测试一下
题目
线网中的值被解释为无符号数。在连续赋值语句中,assign addr[3:0]=-3;addr被赋予的值是
A 4'b1101
B 4' b0011
C 4' bxx11
D 4' bzz11
参考答案与知识点
参考答案
正确选项:A 4'b1101
解析:题目明确说明线网中的值被解释为无符号数,连续赋值语句中右操作数为-3(十进制负数)。在Verilog中,将负数赋值给无符号位宽向量时,系统会将其转换为对应位宽的二进制补码形式。-3的二进制补码:首先3的二进制为4'b0011,取反得4'b1100,加1得4'b1101。因此addr[3:0]得到4'b1101。注意连续赋值使用assign语句,线网类型(如wire)默认无符号,直接按位宽截取补码。选项B 4'b0011是+3,选项C和D包含不定值或高阻态,与赋值无关。
涉及知识点
- Verilog无符号数负数补码赋值
- 连续赋值语句行为与位宽截取
- 补码表示与负数转换
- 线网类型默认无符号特性