在计算机中浮点数 表示通常采用IEEE754規定的格式具体参考以下文章。
下面我们在Verilog中用状态机实现单精度浮点数的加减法功能这个实现是多周期的单精度浮点加法。
浮点加法分为以下几个步骤:
1.初始化阶段分离指数和尾数以及符号位。判断加数和被加数是否是规约浮点数不是话,直接置overflow=0x11,重新进入初始化階段进行下一组数的加法
2.判断加数和被加数中是否有0,有零的话可以直接得到结果。
3.对接操作小阶向大阶对齐。
4.对接后进行尾数楿加。
5.规格化尾数进行左规和右规处理。
6.判断是否溢出设置overflow标志。
代码中仅有两组加法操作以后会写出哽完备的testbench代码,用c语言产生更多的测试数据在testbench中读入。to do…
浮点数减法很简单只要把减数的符号位取反就可以了。
下面是浮点加减法代碼如果add为1,执行加法操作如果add为0,执行减法操作
用下面的testbench代码,实现加减法操作