0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA的除法器纯逻辑设计案例

姚小熊27 来源:电路城论坛 作者:yiqizhenshanhe 2020-06-17 10:17 次阅读

前边写了很多关于板上外围器件的评测文章,这篇是FPGA纯逻辑设计,是FPGA的另一部分——算法实现,上篇文章做了HDC1000传感器的使用,当时说FPGA是不支持小数的,本篇记述的是FPGA如何去做除法运算。很多人觉得不就是除法嘛,直接打上/即可,但是,FPGA是不能正确综合这个除法器的,综合的结果只是一个固定数值,而不像其他微处理器。可以这么说,用FPGA实现除法运算是比较麻烦的。

用软件编程的时候,用到除法器的时候,一个/就能求商,一个%就能求余,很简单。但是,如果使用硬件来实现除法运算,就需要了解计算机存储结构,二进制的除法和平常使用的十进制除法是一样的,都是通过辗转相除的原理,

基于FPGA的触发器纯逻辑设计

原理如上所述,现在需要把这个原理转换成可实现的设计方案,从图可以看出,首先是将除数与被除数的最高3位做比较,如果除数(110)大于被除数(101),则将商赋值为0(最高位是0可以省略),被除数向右增加1位再进行比较;当被除数增加1位,除数(110)小于被除数(1010),则将商赋值为1,接着进行二进制减法运算,被除数(1010)减去除数(110),变成100;然后被除数向右再增加1位,变成1001,再与除数(110)比较,以此类推,最后输出结果。

设计好代码,用Modelsim仿真验证,

基于FPGA的触发器纯逻辑设计

用$random产生随机数,实现效果如下:

i_dividend为被除数,i_divisor为除数,o_quotient为商,o_remainder为余数(下同)。

基于FPGA的触发器纯逻辑设计

$random是不能综合的,所以,只能用其他的进行代替,被除数用一个计数器,除数用数字3,再进行Modelsim仿真验证:

基于FPGA的触发器纯逻辑设计

由2个图可知,除法器设计满足需求。

进行板上调试,

基于FPGA的触发器纯逻辑设计

综合后的RTL图,

基于FPGA的触发器纯逻辑设计

Quartus ii软件查看结果,一切与预期一致,设计成功。

总结:用FPGA实现除法器真麻烦!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21302

    浏览量

    593101
  • 除法器
    +关注

    关注

    2

    文章

    14

    浏览量

    13850
  • 逻辑设计
    +关注

    关注

    1

    文章

    40

    浏览量

    11508
收藏 人收藏

    评论

    相关推荐

    基于VHDL的组合逻辑设计

    电子发烧友网站提供《基于VHDL的组合逻辑设计.ppt》资料免费下载
    发表于 03-11 09:23 2次下载

    数字电路与逻辑设计

    电子发烧友网站提供《数字电路与逻辑设计.ppt》资料免费下载
    发表于 03-11 09:21 1次下载

    如何设计一个16比特的减法器呢?

    减法电路是基本集成运放电路的一种,算术运算电路主要包括数字**加法器电路、数字减法器电路、数字乘法器电路和数字除法器电路。
    的头像 发表于 02-19 10:00 353次阅读
    如何设计一个16比特的减<b class='flag-5'>法器</b>呢?

    基于TouchGFX的智能手表设计 —MVP 架构下的逻辑设计

    电子发烧友网站提供《基于TouchGFX的智能手表设计 —MVP 架构下的逻辑设计.pdf》资料免费下载
    发表于 01-05 11:21 0次下载

    FPGA是啥?太难了~

    array 。通俗来说,是一种功能强大似乎无所不能的器件。通常用于通信、网络、图像处理、工业控制等不同领域的器件。一直强调,逻辑设计不是程序员,因为在设计人员来看,写逻辑只是FPGA开发中最
    发表于 11-03 10:29

    使用IAR IDE仿真RL78内置硬件乘法器除法器注意事项

    使用IAR IDE仿真RL78内置硬件乘法器除法器注意事项
    的头像 发表于 10-30 17:04 572次阅读
    使用IAR IDE仿真RL78内置硬件乘<b class='flag-5'>法器</b>和<b class='flag-5'>除法器</b>注意事项

    单片机使用硬件除法器求出的商和余数数据怎么处理?

    想问一下大家 单片机使用硬件除法器求出的商和余数数据怎么处理呢
    发表于 10-30 08:28

    基于FPGA实现Mem加法器

    前段时间和几个人闲谈,看看在FPGA里面实现一个Mem加法器怎么玩儿
    的头像 发表于 10-17 10:22 311次阅读
    基于<b class='flag-5'>FPGA</b>实现Mem加<b class='flag-5'>法器</b>

    CMOS图像传感器的FPGA逻辑设计解析

    CMOS成像系统是基于CMOS图像传感器的一种适用于机载应用环境的图像采集系统。可有效解决机载复杂环境下常规工业相机的各种缺陷和应用问题,满足市场的应用需求。 FPGA 逻辑设计是车载CMOS成像系统的关键设计,本文将探讨关于的CMOS图像传感器的
    的头像 发表于 09-19 10:15 1123次阅读
    CMOS图像传感器的<b class='flag-5'>FPGA</b><b class='flag-5'>逻辑设计</b>解析

    FPGA朋友逻辑思维能力的学习

    Kevin一直认为学习FPGA的朋友的逻辑思维能力应该是比其他人要强很多的。在很多求职网站上都可以看到FPGA相关行业的招聘信息可能会有这样的一条工作职责:负责项目的逻辑设计
    的头像 发表于 08-28 09:50 541次阅读

    FPGA学习之vivado逻辑分析仪的使用

    其中待测设计就是我们整个的逻辑设计模块,在线逻辑分析仪也同样是在FPGA设计中。通过一个或多个探针来采集希望观察的信号。然后通过JTAG接口,将捕获到的数据通过下载器回传给我们的用户界面,以便我们进行观察。
    发表于 07-25 09:52 561次阅读
    <b class='flag-5'>FPGA</b>学习之vivado<b class='flag-5'>逻辑</b>分析仪的使用

    FPGA基于线性迭代法的除法器设计

    FPGA实现除法的方法有几种,比如直接用/来进行除法运算,调用IP核进行除法运算,但这两种方式都有个共同的问题——都是黑盒子,在进行时序违例处理时,往往不好操作,比如想打打拍改善下时序
    的头像 发表于 07-04 10:03 693次阅读
    <b class='flag-5'>FPGA</b>基于线性迭代法的<b class='flag-5'>除法器</b>设计

    FPGA常用运算模块-除法器

    本文是本系列的第四篇,本文主要介绍FPGA常用运算模块-除法器,xilinx提供了相关的IP以便于用户进行开发使用。
    的头像 发表于 05-22 16:20 2121次阅读
    <b class='flag-5'>FPGA</b>常用运算模块-<b class='flag-5'>除法器</b>

    FPGA常用运算模块-加减法器和乘法器

    本文是本系列的第二篇,本文主要介绍FPGA常用运算模块-加减法器和乘法器,xilinx提供了相关的IP以便于用户进行开发使用。
    的头像 发表于 05-22 16:13 2794次阅读
    <b class='flag-5'>FPGA</b>常用运算模块-加减<b class='flag-5'>法器</b>和乘<b class='flag-5'>法器</b>

    常用FPGA/CPLD设计思想与技巧

    都是FPGA/CPLD逻辑设计的内在规律的体现,合理地采用这些设计思想能在FPGA/CPLD设计工作种取得事半功倍的效果。
    发表于 05-18 08:56 375次阅读
    常用<b class='flag-5'>FPGA</b>/CPLD设计思想与技巧