基于FPGA自顶向下乘法器电路设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA自顶向下乘法器电路设计

基于FPGA自顶向下乘法器电路设计   摘要:自顶向下电路设计方法是FPGA电路设计的重要内容,和传统的电子产品设计方法有很大区别,主要是通过EDA软件对电路设计文件进行相关处理,最终实现专用集成电路的设计。本文结合移位相加型乘法器实际例子介绍了两种电路设计输入方式,纯文本输入利用硬件描述语言对底层元件和顶层文件的电路功能进行描述;文本和原理图混合输入对电路的底层元件进行硬件描述语言描述,而顶层文件则采用原理图输入方式来实现。对两种输入方式的仿真波形进行分析,论证了设计方法的正确性,说明了两种输入方式的特点。   关键词:自顶向下;硬件描述语言;文本输入;原理图输入;乘法器   中图分类号:TN79 文献标识码:A 文章编号:1007-9416(2017)11-0165-02   FPGA全称是现场可编程门阵列(Field Programmable Gate Array),可以通过软件的方式实现数字逻辑电路设计[1],在传统数字电路系统设计内容的基础上,增加了一系列的知识点。FPGA的用途比较广泛,本文是利用FPGA进行乘法器电路设计,实现专用集成电路(ASIC)的功能。   在传统的电子产品设计过程当中,重点是设计电路的结构,涉及到原理图设计、布线、焊接、?{试,整个过程需要付出很长的时间,一旦电路需要调整,必须重新进行一遍之前的步骤,增加了额外的成本和时间。   而采用可编程逻辑器件对电路进行设计,重点是关心电路的功能,采用硬件描述语言(HDL)描述或者输入原理图等方式来进行电路设计。通过EDA软件对设计好的文本或者原理图文件进行编译、综合、适配、再编译,生成对应的电路网表文件,最后通过下载电缆配置到可编程逻辑器件芯片,该芯片就具有了设计者预期的功能。如果设计好的电路系统通过现场测试后,发现功能错误或者不理想,只需要在普通电脑上运行EDA软件对设计文件进行修改[2],重新编译,生成新的网表文件,重新配置到可编程逻辑器件芯片,直至芯片功能满足设计要求。上述采用可编程逻辑器件进行电路设计的过程称为自顶向下的电路设计技术。   相对于传统的电子产品设计过程,自顶向下的电路设计思路通过修改设计文件就可以改变电路功能,因而具有设计周期短、节约成本、灵活性强、可靠性高等优点。   1 自顶向下电路设计方法分类   自顶向下电路设计主要有纯文本输入、文本和原理图混合输入两种方式。纯文本方式是指利用硬件描述语言(HDL)描述硬件电路的功能[3],即通过写代码的方式来描述芯片(ASIC)功能;而原理图输入方式是指设计完成电路原理图之后,利用EDA软件自带或用户自定义的元件库,按照电路原理图进行连接,侧重于电路结构的描述。在有的情况下,底层文件用硬件描述语言描述,由底层文件创建相应的底层元件,然后采用原理图输入方式进行顶层文件的设计,在顶层文件中调用已创建的底层元件,这种输入方式称为文本和原理图混合输入方式。   1.1 纯文本输入方式   目前官方标准的硬件描述语言有两大类,一类是VHDL语言,另外一类是Verilog HDL语言。本文采用VHDL语言来进行电路设计[4],实现纯文本输入;EDA软件采用Altera公司开发的QuartusII,利用该软件进行电路设计的输入。   自顶向下电路设计的技术思路是根据电子产品的说明书抽象出电路的功能,用自然语言描述,接着利用VHDL语言来描述电路的功能。在设计过程当中,需要把一个复杂的系统划分为多个简单模块,这些模块也可以继续划分为规模更小的模块。可见在自顶向下电路设计过程当中,顶层文件是由多个底层元件组合连接而成。   1.1.1 电路工作原理   本文以移位相加型6位乘法器为例子来说明自顶向下的电路设计思路[5]。两个6位的二进制数进行相乘可以采用移位相加的原理来实现,乘2由逻辑左移1位来实现,而乘4由逻辑左移2位来实现,以此类推,最后把所有逻辑左移的中间结果累加起来,获得相乘结果。由乘法器的移位相加原理可知,整个电路系统可以划分为4个子模块,即顶层文件由4个底层元件组成,分别是:右移移位寄存器、输入数据开关、逻辑左移电路、6位相加器。   具体的工作过程:参与乘法的其中一个数进入到右移移位寄存器,在输入数据开关模块利用右移移位寄存器的逐位输入对另外一个参与相乘的数进行控制输出;逻辑左移电路对锁存进来的数据进行逻辑左移,并把上一周期的高7位数据和当前低5位数据并置,输出12位相乘结果,同时截取高6位数据传送到6位加法器和另外一个6位输入数据相加;6位加法器完成数据逻辑左移中间结果的累加功能,输出7位数据。   1.1.2 输入步骤   (1)运行QuartusII软件,进入到VHDL文本输入界面。根据上述的原理分析,逐一输入4个模块的VHDL代码,逐一完成存

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档