RTL Arithmetic - 整数数制

本文详细介绍了Verilog中整数的表示方法,包括无符号数和有符号数的区别及应用,以及在RTL设计中如何进行位宽确定、扩位、算术移位和截位等关键操作。

本文的目的是阐述RTL中的整数表示

RTL Arithmetic
从算法到RTL实现 - 移知


1. 整数表示

如果将最高位作为符号位,就是有符号整数,否则就是无符号整数

1.1. 无符号数 unsigned

verilog中unsigned或者不加,就为无符号数

即对于Nbit的无符号数,二进制 N ′ b 000...00 → N ′ b 111...11 N'b000...00→N'b111...11 Nb000...00Nb111...11,表示十进制 0 → ( 2 N ) − 1 0→(2^{N})-1 0(2N)1

1.2. 有符号数 signed

verilog中signed,就为有符号数。有符号数用补码表示

● 二进制正数_补:符号位(0为正)+原码。

● 二进制负数_补:符号位(1为负)+补码。

正负数转换规则为:符号位取反,其余位按位取反,末位加1。

即对于Nbit的有符号数,二进制 N ′ b 100...00 → N ′ b 011...11 N'b100...00→N'b011...11 Nb100...00Nb011...11,表示十进制 − ( 2 N − 1 ) → ( 2 N − 1 ) − 1 -(2^{N-1})→(2^{N-1})-1 (2N1)(2N

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Starry丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值