在sv/verilog中,我们常用的是整数(int, longint),小数可以用(real),对小数的处理大致分为三种:
1. 四舍五入
2. 向上取整
3. 向下取整
这三种如何实现呢?
1.四舍五入
如果除数和被除数均为整数,可以通过乘以1.0来实现
i.e. 164*8*1.0/28 =47
2. 向上取整
通过系统函数$ceil即可实现
$ceil(164*8/28) = 47
3. 向下取整
通过系统函数$floor实现
$floor(164*8/28) = 46
164*8/28 = 46(默认条件下,即向下取整)