FPGA除法——迭代除法

原文来自FPGA除法——迭代除法
FPGA的除法运算有恢复余数法、不回复余数法(加减交替法)、Goldschmidt方法、泰勒级数展开等,今天来介绍一种较为简单的迭代除法,以及仿真验证。

基本的算法如下:
在这里插入图片描述
如图介绍了算法的基本流程,在实现的方面,需要注意以下几点:

1、首先需要先要进行归一化,在这里我们默认被除数是大于除数的,然后我们需要将除数归一化到小于等于除数但大于等于1/2的被除数。

2、以移位的次数作为结束的标志,这里我们一共移位6次。

具体实现的Verilog代码如下

// 迭代除法
// Author:Infinite
// Date:2020-4-2
// url:https://infinite-zh.com/2020/04/02/fpga%e9%99%a4%e6%b3%95-%e8%bf%ad%e4%bb%a3%e9%99%a4%e6%b3%95/
module Divide(
	input clk,
	input rst,
	input [7:0] divisor,
	input [7:0] dividend,
	output [7:0] quotient,
	output [3:0] shift
);
 
reg [3:0] count;  //迭代计数器
reg [3:0] shiftcount; 
reg [7:0] divisorReg;
reg [
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值