Verilog|有无符号加法与乘法运算

文章详细介绍了在Verilog中进行无符号和有符号运算的区别,特别是在扩展和乘法操作时的注意事项。对于有符号数,使用$signed()函数可以确保正确的符号扩展。同时,文章探讨了正负数的原码、反码和补码表示,并解释了在不同正负数相乘时如何使用补码进行计算。
摘要由CSDN通过智能技术生成

一、无符号:

直接运算

二、有符号与无符号:

强制当作无符号运算

如c=a+b,a、b四位,c五位,计算时Verilog会将a和b扩展到五位再做加法,如果ab中有无符号数,则展宽会按照无符号数来,就是高位补0,因此有符号数结果将不正确。

解决:$signed(),c=a+$signed(b),扩展会按照有符号数的方式扩展,高位补符号位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值