基于 FPGA的32位除法器设计
基于 FPGA的32位除法器设计

目录摘要 (1)第1章绪论 (2)第2章设计原理 (3)2.1 除法运算分析 (3)2.2 除法器算法的实现 (3)2.2.1除法器无符号数的除法 (3)2.2.2除法器有符号数的除法 (3)第3章软件介绍及设计过程 (4)3.1 Quartus II简介 (4)3.2 程序设计过程 (4)3.3 仿真结果 (6)结论 (7)参考文献 (8)附录1 源程序 (9)摘要介绍了一种使用可编程逻辑器件FPGA和VHDL语言实现32位除法器的设计方法。
该除法器不仅可以实现有符号数运算,也可以实现无符号数的运算。
除法器采用节省FPGA逻辑资源的时序方式设计,主要由移位、比较和减法三种操作构成。
由于优化了程序结构,因此程序浅显易懂,算法简单,不需要分层次分模块进行。
并使用Altera公司的QuartusⅡ软件对该除法器进行编译、仿真,得到了完全正确的结果。
关键词:FPGA;VHDL;除法器;减法;移位第1章绪论EDA 技术就是以计算机为工具,设计者在 EDA 软件平台上,用硬件描述语言 VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA 技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为 3 种描述形式的混合描述,因此 VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用 VHDL来完成。
另外,VHDL还有以下优点:VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心转移到了系统功能的实现和调试上,只需要花较少的精力用于物理实现;VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用;VHDL的设计不依赖于特定的器件,方便了工艺的转换。
基于FPGA的32位ALU的设计与实现

通过 Q u a r t u s I I 9 . 1 进 行 编译 ,M o d e l s i m 6 . 5 S E进 行 仿 真 ,仿 真 结 果 与预 期 结 果一 致 ,将设 计 下 载
w i t h c o mp l e t e f u n c t i o n wh i c h b a s e d o n p r d e v i c e F P G A a n d h a r d w a r e d e s c ip r t i o n
De s i g n 0 f 3 2 . b i t ALU b a s e d o n FPGA
KONG Z h e.W ANG We i
( I n f o r ma t i o n E n g i n  ̄r i n g S c h o o l , He b e i Un i v e r s i t y o f T e c h n o l o g y , T i a n j i n 3 0 0 4 0 0, C h i n a )
b y Q u a r t u s l I 9 . 1 . a n d he t s i mu l a t i o n c a n b e r e a l i z e d b y Mo d e l s i m6 . 5 S E .T h e s i mu l a t i o n r e s u l t i f t t e d he t
基于FPGA的浮点除法器的研究与实现

D=( 一 1 ) S ( 1 + M) ¥ 2 ( E一 1 2 7) ( 1 )
之间的数据就可以方便 的流动。
在 F P G A电路设 计 中 ,有 专 门针对 浮 点 除法 运 算的 I P核 , 例如 A h r e a 公 司的 A L T F P _ D I V 1 P , 该 模 块 支 持输 人 输 出都 满 足 I E E E 7 5 4标 准 的 浮 点 除 法 运 算 。但 并不 是 所有 的 F P G A芯 片 ( 例 如 MA X系
我 们 针对 F P G A某 些芯 片 无 法 支持 A L T F P _
D I V I P的情 况 , 设 计 出一 种 可 以整 数 输 入 , 浮 点 数 输 出 的 除 法 模 块 ,该 模 块 可 以 直 接 输 出 满 足 I E E E 7 5 4标 准 的二进 制数 。 在 实 际项 目工 程设计 中 , 该模 块有 非 常大 的实 用价 值 ,可 以方便 数 据表 达形 式 的转化 , 大 大地 减轻 程 序设计 人 员 的工作 。
的I P核 , 如 图 2所 示 , 该 核 主要 是 针 对整 数 的除 法 运算 , d e n o m 指 的是 除 法 的 除 数 , n u me r 是 被除数 , 运 算结 果 是 q u o t i e n t 和r e ma i n ,前 者 是 结果 的整 数 部分 , 后 者是余 数 。
还要 减 去 2 l 。
当我 们确 定 了第 一 个 “ l ”出现 的 位置 后 , 剩 下
的 就是 商 的 有效 数 字 , 就是 要 转 化 的单 精 度 的 浮点
数 的尾 数 M。对 于 除 法 的 符 号 运 算来 说 , 满足表 1 所示的关系 , 从 表 中我 们 可 以看 出 , 商 的 符 号 实 际
基于 FPGA的32位除法器设计汇总

目录摘要 (1)第1章绪论 (2)第2章设计原理 (3)2.1 除法运算分析 (3)2.2 除法器算法的实现 (3)2.2.1除法器无符号数的除法 (3)2.2.2除法器有符号数的除法 (3)第3章软件介绍及设计过程 (4)3.1 Quartus II简介 (4)3.2 程序设计过程 (4)3.3 仿真结果 (6)结论 (7)参考文献 (8)附录1 源程序 (9)摘要介绍了一种使用可编程逻辑器件FPGA和VHDL语言实现32位除法器的设计方法。
该除法器不仅可以实现有符号数运算,也可以实现无符号数的运算。
除法器采用节省FPGA逻辑资源的时序方式设计,主要由移位、比较和减法三种操作构成。
由于优化了程序结构,因此程序浅显易懂,算法简单,不需要分层次分模块进行。
并使用Altera公司的QuartusⅡ软件对该除法器进行编译、仿真,得到了完全正确的结果。
关键词:FPGA;VHDL;除法器;减法;移位第1章绪论EDA 技术就是以计算机为工具,设计者在 EDA 软件平台上,用硬件描述语言 VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA 技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为 3 种描述形式的混合描述,因此 VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用 VHDL来完成。
另外,VHDL还有以下优点:VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心转移到了系统功能的实现和调试上,只需要花较少的精力用于物理实现;VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用;VHDL的设计不依赖于特定的器件,方便了工艺的转换。
基于FPGA的低功耗高速除法器设计

基于FPGA的低功耗高速除法器设计【摘要】本文介绍了一种使用可编程逻辑器件FPGA和Verilog语言实现的32位低功耗高速除法器的设计。
该除法器可以实现有符号数运算和无符号数运算,主要操作有移位、比较和减法操作。
设计中采用了一种新的基-16算法,该算法大幅度减少了除法运算过程中的移位操作,从而提高了除法器的运算速度。
在该设计中加入了门控时钟,从而大幅度减少了动态功耗。
仿真和综合结果表明其功能的正确性,运行频率最高可达530.772MHz,功耗降低了55.98%。
【关键词】低功耗;高速除法器;基-16算法;门控时钟1.引言除法器是是微处理器的核心部件之一,也是数字信号处理领域的基本单元。
同时,除法运算也是四种算术运算中最复杂的运算单元,它的性能好坏直接关系到整个电路的性能。
用FPGA实现的除法器能够以并行运算的工作方式,高速可靠的运行,并可以以IP核的形式被随时调用,所以在性能和应用的灵活性上都有很大优势。
本设计主要从速度和功耗两个方面对除法器进行了优化设计。
在速度方面通过改进算法,减少加法、乘法器的运用来改善速度。
在功耗方面通过分析功耗产生的原因对其进行改善,有针对性的加入门控时钟等方法,最终使电路功耗大幅度降低。
2.高速除法器设计2.1 高速基-16除法器的算法除法器算法主要分为Non-restoring算法(不恢复余数算法)和Restoring算法(恢复余数算法)。
Non-restoring算法因为具有步长固定,控制简单,逻辑鲜明的特点,因而更多的被采用在硬件设计中。
在该算法中,被除数若为负值则要先对其求补码,变为正值再进行运算。
在运算结束后对结果进行调整,得到商和余数。
非恢复操作每一步所执行的加减的判断,取决于上一步部分余数和被除数符号的异或,当结果为1时加上除数,当结果为0时减去除数。
本文将介绍一种基于Non-restoring算法的移位除法器设计。
与传统的每次移1位的算法不同,该设计中每次移动4位被除数,其商的值就会在0~F之间。
《基于FPGA的雕刻机32位运动控制器设计》范文

《基于FPGA的雕刻机32位运动控制器设计》篇一一、引言随着现代制造业的快速发展,雕刻机在各种加工领域中的应用越来越广泛。
为了满足高精度、高速度的加工需求,雕刻机的运动控制器设计显得尤为重要。
本文将介绍一种基于FPGA(现场可编程门阵列)的32位运动控制器设计,以提高雕刻机的加工精度和效率。
二、设计背景与目标传统的雕刻机运动控制器多采用微控制器或DSP(数字信号处理器)进行设计,但这些控制器在处理高精度的运动控制算法时,往往存在处理速度和精度的局限性。
因此,本研究的目标是设计一种基于FPGA的32位运动控制器,以提高雕刻机的加工精度和速度,降低生产成本,并提高系统的稳定性和可靠性。
三、系统架构设计1. 硬件架构:本设计采用FPGA作为核心控制器,通过与雕刻机的电机驱动器、传感器等设备进行连接,实现对雕刻机的精确控制。
硬件架构包括FPGA控制器、电源模块、通信接口、电机驱动器、传感器等部分。
2. 软件架构:软件架构包括嵌入式操作系统、运动控制算法、人机交互界面等部分。
嵌入式操作系统负责管理系统的软硬件资源,运动控制算法负责实现精确的运动控制,人机交互界面则方便用户进行操作和参数设置。
四、FPGA控制器设计1. 接口设计:FPGA控制器通过串口或以太网等通信接口与上位机进行通信,接收上位机发送的加工指令和参数,实现对雕刻机的精确控制。
2. 运动控制算法实现:采用查表法、插补法等算法实现精确的运动控制,确保雕刻机的加工精度和速度。
3. 程序编写与优化:采用硬件描述语言(HDL)进行程序编写,通过仿真和优化,确保程序的正确性和性能。
五、系统实现与测试1. 系统实现:根据设计要求,完成硬件电路的搭建和软件的编写,实现基于FPGA的32位运动控制器。
2. 测试与验证:通过搭建测试平台,对运动控制器的性能进行测试和验证。
测试内容包括加工精度、速度、稳定性等方面。
3. 结果分析:根据测试结果,对运动控制器的性能进行评估,并针对存在的问题进行优化和改进。
基于FPGA的32位循环型除法器设计

基于FPGA的32位循环型除法器设计作者:李文彬陈金鹰王惟洁任小强来源:《物联网技术》2014年第11期摘要:借助于硬件描述语言Verilog HDL语言和FPGA,提出了一种32位循环型除法器的实现方法。
该除法器通过改善程序结构,优化了时序,提高了除法运算速度,克服了传统除法器“吃时钟”的弊端。
且该除法器的移位、相减和比较操作都在一个程序下完成,无需模块划分,节约逻辑资源。
该设计并顺利通过Quartus II编译、综合和仿真工具Modelsim的仿真,达到了预期的结果。
关键词:Verilog HDL;FPGA;循环;除法器中图分类号:TP393 文献标志码:A 文章编号:2095-1302(2014)11-00-020 引言在数据处理过程中,除法是经常用但也是最复杂的四则运算。
特别是针对含有除法器的FPGA设计中,除法器的运算速度,运算精度和占用逻辑资源大小对系统的整体性能具有很大影响[1]。
现有的EDA软件提供的除法模块时钟消耗多,占有逻辑资源量大,且除数受限,只能是2的次幂。
因此,设计一种由Verilog HDL[2]编写的可综合的,可以是任意除数的,运算速度快,逻辑资源占用量小[3,4]的除法器在FPGA数据处理中就显得尤为必要。
1 循环型除法器原理与设计循环性除法器也叫位操作除法器,主要通过移位、相减和比较三种操作实现求商和得余[5]。
无论是乘法器还是除法器都有操作空间,典型的循环型除法器又可分为操作空间可恢复性和不可恢复性,这里采用易于控制,逻辑清晰的操作空间不可恢复型算法。
在上述所采用算法中,首先保证被除数为正值,若为负值,则对被除数正值化,然后进行相应的移位、减法和比较操作,最后再对结果进行调整。
具体实现过程如下:假设除数和被除数都是N位,那么操作空间P的位宽就是2*N,其中P[N-1:0]用来填充被除数,P[2*N-1:N-1]是用来与除数进行递减操作。
此外,为了保证运算结果正确性,还要考虑同步操作,P[2*N-1:N-1]和除数的递减操作应该发生在别的空间,此处命名为D空间,D空间具有和P 空间同样的位宽。
基于FPGA的除法器设计

T 322 P 3 . 中图 分 类 号
D e i n o vi e s g fDi d rBas d o e n FPGA
LU O W ANG Yu Zho g e 。 J A a y n n fi I Xi o u
Ab ta t Diie sn to l h s o mo src vd ri o ny temo tc m n.b tas hemo t o pe o o e ti iia in l o i.I ’ s dt s h tr u lo t s m lxc mp n n ndgtlsg a man t Su e ou et eie— c d aieago ih t mp e n t a d h slwe e l i .Toi r v her a—i ,hi p p ri rd c sad sg ft edgtlc mpe iie tv l rt m oi lme ti,n a o rr a— me t mp o et e ltme t s a e o u e e ino h ii o lxdvd r nt a whc s do ie ra pr i t nag rt m n ihba e n l a p oxmai lo ih a d ROM o k u a l.Co a e ot r dto a eh d,i o n yh stels eou c n o lo - p tbe mp rd t heta iin l t o m t to l a h srs re n e
awiey a p iain i iia ina r c s o i. d l p lc t n dgtlsg lp o e sd man o Ke or F yW ds PGA ,dvd r ie ra prxi ain,lo u a l iie ,ln a p o m to o D p tbe Cls m b r TP 2 a sNu e 33 .2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录摘要 (1)第1章绪论 (2)第2章设计原理 (3)2.1 除法运算分析 (3)2.2 除法器算法的实现 (3)2.2.1除法器无符号数的除法 (3)2.2.2除法器有符号数的除法 (3)第3章软件介绍及设计过程 (4)3.1 Quartus II简介 (4)3.2 程序设计过程 (4)3.3 仿真结果 (6)结论 (7)参考文献 (8)附录1 源程序 (9)摘要介绍了一种使用可编程逻辑器件FPGA和VHDL语言实现32位除法器的设计方法。
该除法器不仅可以实现有符号数运算,也可以实现无符号数的运算。
除法器采用节省FPGA逻辑资源的时序方式设计,主要由移位、比较和减法三种操作构成。
由于优化了程序结构,因此程序浅显易懂,算法简单,不需要分层次分模块进行。
并使用Altera公司的QuartusⅡ软件对该除法器进行编译、仿真,得到了完全正确的结果。
关键词:FPGA;VHDL;除法器;减法;移位第1章绪论EDA 技术就是以计算机为工具,设计者在 EDA 软件平台上,用硬件描述语言 VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA 技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为 3 种描述形式的混合描述,因此 VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用 VHDL来完成。
另外,VHDL还有以下优点:VHDL的宽范围描述能力使它成为高层次设计的核心,将设计人员的工作重心转移到了系统功能的实现和调试上,只需要花较少的精力用于物理实现;VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用;VHDL的设计不依赖于特定的器件,方便了工艺的转换。
VHDL 是一个标准语言,为众多的 EDA 场上支持,因此移植性好[2]。
本次课程设计通过利用 QuartusII 软件实现32位除法器。
从而对 EDA 技术进一步的熟悉、了解和掌握。
通过本课程的学习,可以了解硬件描述语言编程方法 ,掌握 VHDL编程方法。
除法是数值计算和数据分析中最常用的运算之一,许多高级运算如平方根、指数、三角函数等都与其有关。
在FPGA中,有加、减、乘、除的算法指令,但除法中除数必须是2的幂,因此无法实现除数为任意数的除法。
然而除法器是微处理器的一个重要运算单元,除法器的运算速度、性能、功耗等都会影响系统的整体性能,相对于其他运算操作,除法很复杂且其操作的效率很低,所以研究的人很少引,但是对除法的忽视会导致系统整体性能的下降。
因此当前不但应该研究除法,而且研究的重点应该放在提升运算速度上。
如今大部分电子系统的最大位宽只有32位,因此本文用VHDL编写了实现32位数相除的除法器。
本文设计的除法器,不仅能实现有符号数的运算,也可以实现无符号数的运算。
除法器是电子技术领域的基础模块, 在电子电路设计中得到广泛地应用。
然而相对于加法和乘法等其他操作, 除法操作的效率很低。
出现这种情况的原因除了除法本身的复杂性外, 还与人们普遍认为除法是不频繁的操作有关。
作为微处理器的一个重要的运算单元, 除法器的运算速度、性能、功耗等都会影响系统的整体性能, 所以对除法效率的忽视会导致系统整体性能的下降。
硬件除法器的运算速度比软件实现方法快得多, 但为了提升运算速度, 就要以硬件资源的消耗为代价。
第2章设计原理2.1 除法运算分析除法器的算法可分为两类: 基于减法操作和基于乘法操作的算法。
数字循环是最简单, 运用最广泛的一类算法, 以减法为基本的操作, 在每一次迭代中求固定位数的商。
在最早的Resorting 方法中, 每次尝试在余数中减去除数, 然后判断得到的结果, 如果结果为正就上商 1, 否则上商 0, 并恢复余数, 最后移位进行下一次迭代。
Resorting 方法一次迭代的框图如图 1 所示:在这种方法中一次迭代需要 2 次加法运算, 这样增加了不必要延时, Non_resorting 方法把下一次迭代中和减法合并, 这样在每次迭代中根据上一次上商的结果进行操作, 如果上次上商为 1, 这次迭代用余数减去除数, 否则用余数加上除数, 然后和Resorting 方法一样得到本次迭代的商。
还有就是基于乘法的算法, 把除法看成是乘法的逆运算。
如下面的式子所示:A=B×Q+R其中 A 为被除数, B 为除数, Q 为商, R 为余数。
这样的算法主要有 SRT, Newton- Raphson 和 Goldschmidt 算法等。
除法在很多方面与乘法不同, 最重要的区别就是在乘法中所有的部分乘积都可以并行生成, 而在除法中每个商的位都是以一种顺序的过程确定的,因此速度较慢。
而以FPGA为硬件基础,基于减法的除法器算法不仅节省资源,速度也较快。
2.2 除法器算法的实现2.2.1除法器无符号数的除法本设计中的除法器,巧用VHDL语言,将有符号数和无符号数的除法结合在一起,节省了资源,也提高了速度。
其算法如下:对于32位无符号被除数a,先将a 转换成高32位是0低32位是a的数temp_a。
在每个周期开始时temp_a向左移动一位,最后一位补零,然后判断temp_a的高32位是否大于等于除数b,如是则temp_a 的高32位减去b并且加I,得到的新值仍赋给temp_a;如不是直接进入下一步。
上面的移位、比较、减法(减法视情况而定)要进行32次,经过32个周期后,运算结束,所得到的temp_a的高32位为余数,低32位为商。
将移位、比较和相减放在同一个循环中,去除了不必要的延时,增加了设计的可靠性。
2.2.2除法器有符号数的除法对于32位有符号数的除法,算法与上面类似,只是需要判断商和余数是正数还是负数。
令d=a(31)⊕b(31),如果d=0则被除数与除数同为正数或者负数,最终商为正数;如果d=1说明被除数与除数一个为正一个为负,最终商为负数。
被除数是负数时余数为负,否则为正。
有符号数的除法采用的算法是将被除数与除数均变成无符号的32位数,紧接着的计算过程与无符号数除法一样。
最后根据d 的值对商作处理,如果d=0商不需任何处理,如果d=1则将商取反加1才是正确的结果。
余数的调整则根据被除数的符号位进行。
32位除法器的框图如图1。
当you_wu为1时进行有符号数运算,否则进行无符号数运算。
图1 除法器逻辑框图第3章软件介绍及设计过程3.1 Quartus II简介Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。
当前官方提供下载的最新版本是v12.1。
Altera Quartus II (3.0和更高版本)设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。
工程师使用同样的低价位工具对Stratix FPGA进行功能验证和原型设计,又可以设计HardCopy Stratix器件用于批量成品。
系统设计者现在能够用Quartus II软件评估HardCopy Stratix器件的性能和功耗,相应地进行最大吞吐量设计。
Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。
该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。
Quartus 平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA 供应商的开发工具相兼容。
改进了软件的LogicLock模块设计功能,增添了FastFit 编译选项,推进了网络编辑性能,而且提升了调试能力。
3.2 程序设计过程由设计原理知道本设计用的最多的操作就是移位、比较和减法。
有设计者指出分别用3个模块实现移位、比较和减法,再加上控制模块共4个模块。
可是此方法实现的仅是8位无符号数的运算,不能实现有符号数运算且程序很复杂,占用的FPGA资源也多。
也有人提出将被除数作为被减数、除数作为减数,作减法,差重新置入被减数,反复相减,直到被减数小于减数为止,记录能够相减的次数即得到商的整数部分⋯。
这样做不仅占用的逻辑资源很多,而且随着被除数与除数差值的增大、相减的次数增多,速度也就降低。
本设计不分模块,仅用两个进程,巧妙使用loop语句便可方便的实现32位有符号和无符号数除法。
另外需要注意的是,被除数与除数的临时存储单元temp_a和temp_b必须设为变量,如果设置成信号即使编译完全正确,也得不到正确的仿真结果。
循环变量n的初值不能在设定变量时设置,必须在循环开始前设置,否则程序将成为死循环,只有注意到上面两点,loop语句才能真的起到巧妙的作用。
本设计采用Quartus II编写程序代码、编译、执行结果如下两图所示:图2 程序代码图3 编译、执行结果3.3 仿真结果利用Quartus II软件进行无符号数的运算除法器的仿真图如下:图4 无符号数的运算除法器的仿真图利用Quartus II软件进行有符号数的运算除法器的仿真图如下:图5有符号数的运算除法器的仿真图图4和图5是32位除法器的仿真图。
图4中令you_wu为0,实现无符号数相除,图5中you_wu为1,实现有符号数相除。
本设计运行速度较快,当两个值相差很大的数(不管是有符号数还是无符号数)相除时,速度优势将更加明显。
另外图4和图5中没有任何毛刺,说明该除法器性能很稳定,不仅速度较快,而且没有竞争冒险,是一个成功的设计。
结论在FPGA的设计中,要关心两个参数:逻辑资源的占用率和速度。
本文给出的32位除法器占用的逻辑资源较少;而速度主要取决于系统时钟,如果系统时钟为50 MHz,则完成32位数除法所需时间不到1 txs。
文中有关代码均经Quartus II 编译通过,可以用于实际系统设计。
为期近两周的 EDA 课程设计就这样结束了,设计首先对 EDA 课程的到了复习和应用,并且对所学的知识的到了应用。
本次课程设计通过理论与实践的相结合,对理论知识的掌握更佳的熟练。
最后,感谢学校给我们这次机会,锻炼了我们的动手能力。
通过这次课程设计让我将理论知识应用到实践中,当然也让我意识到自身理论知识的缺乏和动手能力有待提高,让我明白在以后的学习中应该更应该努力钻研。
同时也感谢指导老师在设计过程中的辅导以及同学的帮助参考文献[1]朱卫华,郑留平.可任意设置计算精度的整数除法器的设计[J].国外电子测量技术。