verilog 除法器

verilog 除法器:利用二进制的除法翻译过来的硬件电路

1.1 实现算法

基于减法的除法器的算法:

        对于32的无符号除法,被除数a除以除数b,他们的商和余数一定不会超过32位。首先将a转换成高32位为0,低32位为a的temp_a。把b转换成高32位为b,低32位为0的temp_b。在每个周期开始时,先将temp_a左移一位,末尾补0,然后与b比较,是否大于b,是则temp_a减去temp_b将且加上1,否则继续往下执行。上面的移位、比较和减法(视具体情况而定)要执行32次,执行结束后temp_a的高32位即为余数,低32位即为商。(注意spartan—6上只支持16位的除法,也就是最高为65535内的除法)


1.2 图解步骤

附录:算法推倒(非原创):

假设4bit的两数相除 a/b,商和余数最多只有4位 (假设1101/0010也就是13除以2得6余1)

我们先自己做二进制除法,则首先看a的MSB,若比除数小则看前两位,大则减除数,然后看余数,以此类推直到最后看到LSB;而上述算法道理一样,a左移进前四位目的就在于从a本身的MSB开始看起,移4次则是看到LSB为止,期间若比除数大,则减去除数,注意减完以后正是此时所剩的余数。而商呢则加到了这个数的末尾,因为只要比除数大,商就是1,而商0则是直接左移了,因为会自动补0。这里比较巧因为商可以随此时的a继续左移,然后新的商会继续加到末尾。经过比对会发现移4位后左右两边分别就是余数和商。

画个简单的图:



转载于:https://www.cnblogs.com/wandashuai/p/10741065.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/413809.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华强北四代慧联A10|悦虎1562M怎么样?

1、什么是华强北四代耳机? 所谓的华强北四代,其实对标的是水果10.19新发布的半入耳的AirPods 3,在此之前 AirPods 2被称作二代,AirPods Pro 被称作 三代,由于发布的新版本叫 AirPods 3,所以为了加以区分&a…

selenium实现原理

selenium会调用各自浏览器API,会发出CommandExector指令。指令会以URl形式通过Http request 发送出去。开始时,初始化webdriver时会启用一个端口的web service。浏览器就是绑定此端口。就可以操作浏览器上的元素。并且浏览器会返回请求,就可以…

洛达芯片公牛方案适配APP使用参考

1、一点废话,检测相关 不容易,吵吵嚷嚷的大半年,公牛版三代终于出适配安卓的App了,此后,安卓阵营又多了一个可供纠结(选择)的版本了 ,截图几张比较重要的功能。 纠结选择咱先不管…

悦虎四代洛达1562M固件下载升级更新

四代如何刷固件可以参考之前二代的,等后面有时间的话给大家录制个四代的升级视频: 二代刷机教程:http://www.71xun.com/index.php/archives/51 四代固件下载链接:http://nxw.so/6uddX 升级内容:适配悦虎APP flycc增…

华强北耳机为啥老是有人翻车?

我发现买华强北耳机的很多很多人,根本就不了解华强北耳机,估计在搜索耳机时,看到那些推送过来的「华强北耳机」链接就上车了,尤其是「评论区、买家秀」,男模、女模的模版式精彩评论,让你上头… 所以这篇文…

为什么只推荐入主流版本华强北耳机?

这篇是针对三代的,如下为正文。 现在华强北耳机系列里,洛达 1562A 都快吹上天了~ 热度越高,翻车的就越多。 经常有小伙伴在某宝、某多多上看到那种 140-170 左右的洛达 1562A,说卖家坚称说可以过我的黄色 logo 的检测软件&…

bootstrap简单使用

1.bootstrap实例&#xff1a; 1 <title>Bootstrap 实例 - 代码</title>2 <link href"https://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel"stylesheet">3 <script src"https://libs.baidu.com/jquery/2.0.0/jqu…

BFC与合并 浅析

BFC BFC 全称 Block Formatting Context。每个渲染区域用formatting context表示&#xff0c;它决定了其子元素将如何定位&#xff0c;以及和其他元素的关系和相互作用在正常流中的盒子要么属于块级格式化上下文&#xff0c;要么属于内联格式化上下文 BFC特性&创建条件 特性…

python3.6安装【scrapy】-最保守方法

系统:win10平台 python版本:3.6.1 1. 下载并安装 pywin32&#xff1a; 进入https://sourceforge.net/projects/pywin32/files/&#xff0c;按照下图目录点击pywin32&#xff0c;选择Build 221&#xff0c;找到自己对应版本的pywin32点击连接即可自己下载&#xff0c;安装按步…

java设置项目根目录 工作目录 working dictionary

改变java项目中&#xff0c;绝对路径的根目录 run->run configuration ->Arguments 更改 working dictioinary 转载于:https://www.cnblogs.com/YuQiao0303/p/9277669.html

Linux 混合编译opencv与opencv_contrib的android版本

一、该方法只能编译.a文件 使用该脚本&#xff1a;https://github.com/tzutalin/build-opencv-for-android 1 $ git clone https://github.com/tzutalin/build-opencv-for-android.git 2 $ cd build-opencv-for-android 3 $ ./setup.sh 3.3.1 而后配置android ndk的路径 export…

微信小程序 - 用户进入客服会话会在右下角显示可能要发送的小程序提示

起因&#xff0c;看到了抽奖小助手的操作&#xff0c;如下截图 我就想 我去 这个吊啊 很懵逼 因为之前没见过 以为是服务端的操作 看了半天服务端文档并没有相关介绍&#xff0c;在微信社区遨游了半天发现了 原来就是小程序「buttun」组件新增&#xff08;之前看的时候 明明没…

小程序真机测试「启动参数」解析出错问题

写小程序2年了 前两天才碰到的这个问题 以前没出错过 话不多说 直接上图 1、小程序 - 启动参数图例 2 2、微信开发者工具-模拟器输出参数-正常图例 这是没问题&#xff01; 3、真机测试-输出参数-错误图例 也不知道是什么原因 去看了一下文档 「启动参数」传参的规则并没有改…

DHCP服务器的设计

介绍 DHCP&#xff08;Dynamic Host Configuration Protocol&#xff0c;动态主机配置协议&#xff09;通常被应用在大型的局域网络环境中&#xff0c;主要作用是集中的管理、分配IP地址&#xff0c;使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息&…

java - springmvc整合cxf发布webservice

1.jar包已上传百度云盘&#xff0c;在jar包目录下 2.web.xml配置 <web-app xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xmlns"http://java.sun.com/xml/ns/javaee" xsi:schemaLocation" http://java.sun.com/xml/ns/javaee http://jav…

Vue报错:Elements in iteration expect to have ‘v-bind:key‘ directives的解决办法

1.我们在使用v-for的时候&#xff0c;在v-for 后添加 v-bind:key"ite Vue 2.2.0的版本里&#xff0c;当在组件中使用v-for时&#xff0c;key是必须的。 1.我们在使用v-for的时候&#xff0c;在v-for 后添加 v-bind:key"item" <div v-for"todo in to…

vue报错:error Strings must use singlequote quotes 字符串必须使用单引号

例出现下面报错 这个问题说明必须使用单引号&#xff0c;在vue的项目开发中&#xff0c;如果我们在通过vue-cli脚手架构建项目的时候使用了Eslint严格模式&#xff0c;那么对于字符串类型的数据String必须要使用单引号&#xff0c;不能使用双引号&#xff0c;否则会报异常。所以…

工作327:uni-数据格式处理

allPrpos(obj) { // 用来保存所有的属性名称和值let list[]var props "";// 开始遍历for(var p in obj){ // 方法if(typeof(obj[p])"function"){ obj[p]();}else{ // p 为属性名称&#xff0c;obj[p]为对应属性的值if(p.indexOf("apic") ! -1){…

mysql数据库的设计

数据库的设计有一个严谨的流程&#xff0c;根据流程制作一个完整的数据库&#xff0c;可以省去很多的时间&#xff0c;也可以最大程度上与客户的想法契合。 需求分析阶段&#xff1a;分析客户的业务和数据处理需求 概要设计阶段&#xff1a;设计数据库的E-R模型图&#xff0c;确…

NTP服务器时间同步

一、简要说明 二、安装步骤 三、配置文件 四、常用命令 五、注意事项 六、运行截图 七、参考资料一、简要说明 搭建Kubernetes环境&#xff0c;需要几台、几十台机器配合运作&#xff0c;许多集群服务比如Etcd等都依赖系统的时间&#xff0c;如果机器的系统时间不一致…