基于fpga任意倍数分频器设计.doc

上传人:博****1 文档编号:557754352 上传时间:2023-03-04 格式:DOC 页数:52 大小:574.50KB
返回 下载 相关 举报
基于fpga任意倍数分频器设计.doc_第1页
第1页 / 共52页
基于fpga任意倍数分频器设计.doc_第2页
第2页 / 共52页
基于fpga任意倍数分频器设计.doc_第3页
第3页 / 共52页
基于fpga任意倍数分频器设计.doc_第4页
第4页 / 共52页
基于fpga任意倍数分频器设计.doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《基于fpga任意倍数分频器设计.doc》由会员分享,可在线阅读,更多相关《基于fpga任意倍数分频器设计.doc(52页珍藏版)》请在金锄头文库上搜索。

1、 第 48 页 基于FPGA任意倍数分频器设计目 录1 绪论11.1 课题分析11.2 FPGA概述21.3 VHDL语言和QUARTUS II简介41.3.1 VHDL语言简介41.3.2 QUARTUS II简介62 分频基本原理82.1 等占空比偶数分频方法82.2等占空比的奇数分频方法82.3 分数分频方法92.4 小数分频方法92.5 任意倍数分频器103 任意倍数分频器设计123.1 设计思想123.2 顶层框图设计133.3 顶层文件设计133.4 模块设计143.4.1 偶数分频模块的设计143.4.2 奇数分频模块的设计153.4.3 半整数模块设计163.4.4 占空比可调

2、的分频模块设计173.4.5 小数分频模块设计183.4.6 encoder_35模块的设计193.4.7 led模块的设计203.4.8 mux51模块的设计21结论23致谢24参考文献25附录A VHDL源程序26附录A1:偶数分频实现的程序26附录A2 奇数分频实现的程序28附录A3 半整数分频实现的程序30附录 A4 占空比可调的分频实现的程序32附录 A5 小数分频实现的程序34附录A6 encoder_35模块实现的程序42附录A7 led的实现程序43附录A8 mux51模块的实现程序47附录B顶层文件设计原理图481 绪论1.1 课题分析随着电子技术的高速发展,FPGA/CPL

3、D以其高速、高可靠性、串并行工作方式等突出优点在电子设计中受到广泛的应用,而且代表着未来EDA设计的方向。FPGA/CPLD的设计采用了高级语言,如VHDL语言AHDL语言等,进一步打破了软件与硬件之间的界限,缩短了产品的开发周期。所以采用先进的FPGA/CPLD取代传统的标准集成电路、接口电路已成为电子技术发展的必然趋势1。EDA技术代表了当今电子设计技术的最新发展方向,采用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。由于现代电子产品的复杂度和集成

4、度的日益提高,一般分离的中小规模集成电路组合已不能满足要求,电路设计逐步地从中小规模芯片转为大规模、超大规模芯片,具有高速度、高集成度、低功耗的可编程朋IC器件已蓬勃发展起来2。分频器是数字系统设计中的一种基本电路,我们往往需要通过分频器得到我们所需要的时钟频率,在FPGA的设计中也是使用频率非常高的一种基本设计。基于FPGA实现的分频电路一般有两种方法:一种是使用FPGA芯片内部提供的锁相环电路进行分频,如ALTERA提供的PLL(Phase Locked Loop),Xilinx提供的DLL(Delay Locked Loop);第二种是使用硬件描述语言,如VHDL、Verilog HDL

5、等。使用锁相环电路进行分频有许多的优点,例如可以实现倍频、相位偏移以及占空比可调等。但是由于FPGA内部提供的锁相环个数极为有限,不能满足使用时的要求。因此使用硬件描述语言实现分频电路在数字电路设计较为常用,因为它消耗不多的逻辑单元就可以实现对时钟的操作,具有成本低、可编程等优点3。在数字系统的设计中,设计人员会遇到各种形式的分频需求,如整数、小数、分数分频等。在某些数字系统设计中,系统不仅对频率有要求,而且对占空比也有着很严格的要求。由计数器或计数器的级联构成各种形式的偶数分频及非等占空比的奇数分频实现起来较为简单,但对半整数分频及等占空比的奇数分频实现较为困难,小数分频和分数分频更困难。本

6、论文利用VHDL硬件描述语言,通过Quartus7.2开发平台,设计了一种能满足偶数分频,奇数分频,半整数分频,占空比可调的分频,小数分频的任意倍数分频器,并可以通过按钮来选择具体由哪一种分频器进行操作,而拨码开关则可以预置一些分频系数,发光二极管则显示具体由那种分频实现,数码管显示分频的系数。分频系数设置:偶数分频:2,4,6,8,10,12,14奇数分频:1,3,5,7,9,11,13,15半整数分频:1.515.5占空比可调的分频:1:1,1:2,1:3,2:1,2:2,2:3,3:1,3:2,3:3小数分频:1.13.31.2 FPGA概述FPGA(FieldProgrammableG

7、ateArray)现场可编程逻辑门阵列,它是在PAL(Programmable Array Logic)、GAL(generic array logic)、CPLD(Complex Programmable Logic Device)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(Application Specific Integrated Circuit)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。它是当今数字系统设计的主要硬件平台,其主要特点就是完全由用户通过软件进行配置和编程,从而完成某种特定的功能,且可以反复擦写。在修

8、改和升级时,不需额外地改变PCB电路板,只是在计算机上修改和更新程序,使硬件设计工作成为软件开发工作,缩短了系统设计的周期,提高了实现的灵活性并降低了成本以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把FPGA内部的

9、逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,但是功耗较低。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。FPGA采用了逻辑单元阵列LCA(Logic Cel

10、l Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。目前主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、时钟管理和DSP)的硬核(ASIC型)模块:FPGA芯片主要由6部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。FPGA的基本特点有:1、采用FPGA设计ASIC电路(专用集成电路)

11、,用户不需要投片生产,就能得到合用的芯片。2、FPGA可做其它全定制或半定制ASIC电路的中试样片。3、FPGA内部有丰富的触发器和IO引脚。4、FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5、FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。 加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反

12、复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。早在1980年代中期,FPGA已经在PLD设备中扎根。CPLD和FPGA包括了一些相对大数量的可编辑逻辑单元。CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。CPLD和FPGA的主要区别是他们的系统结构。CPLD是一个有点限制性的结构。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。这样的结果是缺乏编

13、辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。而FPGA却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。CPLD和FPGA另外一个区别是大多数的FPGA含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体。因此一个有关的重要区别是很多新的FPGA支持完全的或者部分的系统内重新配置。允许他们的设计随着系统升级或者动态重新配置而改变。一些FPGA可以让设备的一部分重新编辑而其他部分继续正常运行。CPLD和FPGA还有一个区别:CPLD下电之后,原有烧入的逻辑结构不会消失;而FPGA下电之后,再次上电时,需要重新加载FLASH里面的逻辑代码,需要

14、一定的加载时间。FPFA的主要生产商有:Altera,Xilinx,Actel,Lattice。其中Altera作为世界老牌可编程逻辑器件的厂家,是当前世界范围内市场占有率最大的厂家,它和Xilinx主要生产一般用途FPGA,其主要产品采用RAM工艺。Actel主要提供非易失性FPGA,产品主要基于反熔丝工艺和FLASH工艺。1.3 VHDL语言和QUARTUS II简介1.3.1 VHDL语言简介VHDL(VHSIC(Very High Speed Integrated Circuit)Hardware Description Language)是超高速集成电路硬件描述语言,是一种用于电路设

15、计的高级语言。它出现于80年代后期,刚开始时它是由美国国防部开发出来的,是为了供美军用来提高设计的可靠性和缩减开发周期的一种使用范围比较小的设计语言 。VHDL语言主要应用于数字电路系统的设计。目前,国内对它的应用多数集中在FPGA/CPLD/EPLD的设计当中,除此之外,一些较为有实力的单位,也将它用来设计ASIC。VHDL语言具有多层次描述系统硬件功能的能力,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL还支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。VHDL语言具有自顶向下和基于库的设计特点。其开发流程:在顶层用方框图或硬件语言对电路的行为进行描述后,进行系统仿真验证和纠错,再用逻辑综合优化工具生成具体的门级逻辑电路的网表,然后通过适配器将网表文件配置于指定的目标器件,产生最终下载文件或配置文件。最后把适配后生成的下载或配置文件通过编程器或编程电缆下载到具体的FPGA/CPLD器件中去,以便进行硬件调试和验证,从而实现可编程

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档 > 租房合同

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号