mcs-51单片机与fpga的接口逻辑设计_第1页
mcs-51单片机与fpga的接口逻辑设计_第2页
mcs-51单片机与fpga的接口逻辑设计_第3页
mcs-51单片机与fpga的接口逻辑设计_第4页
mcs-51单片机与fpga的接口逻辑设计_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河北工业大学硕士论文IMCS51单片机与单片机与单片机与单片机与FPGA的的的的接口逻辑设计接口逻辑设计接口逻辑设计接口逻辑设计摘摘摘摘要要要要数字电路由早期的电子管、晶体管、中小规模集成电路发展到超大规模集成电路以及具有特定功能的专用集成电路ASIC(APPLICATIONSPECIFICINTEGRATEDCIRCUIT)。随着微电子技术的发展,出现了现场可编程逻辑器件FPLD,其中应用最广泛的是现场可编程门阵列FPGA。FPGA(FIELDPROGRAMMABLEGATEARRAY)具有使用灵活、高集成度、低功耗、设计快速、现场可编程等优势,在系统设计中经常会用到FPGA来扩展单片机的相关资源。单片机具有性价比高、功能灵活、易于人机对话、强大的数据处理能力等特点,因此,系统设计中将单片机数据处理的优势与FPGA高速集成、执行快速的特点相结合,能够设计出既有强大控制功能又能使各项功能快速执行的系统。基于这种需求,MCS51单片机与FPGA之间的通信便显得尤为主要,有很强的现实意义。本课题通过研究FPGA的技术特点及应用、单片机接口的实现方式以及软件的仿真等,设计了MCS51单片机与FPGA通信的接口逻辑电路,实现单片机与可编程逻辑器件数据与控制信息的可靠通信。接口主要有并行接口和串行接口。设计采用的是VHDL语言的文本输入方式,设计比较灵活,按照接口的要求设计逻辑电路。并行接口是利用单片机的I/O口,并按照读写时序设计逻辑,使得单片机与FPGA之间的数据可以相互传送。串行接口是由波特率发生器、接收器和发送器模块组成,通过各模块的功能设计接口逻辑。利用仿真软件QUARTUS进行分析综合、功能仿真与时序仿真,生成分析报告以及内部逻辑电路,并得出仿真结果,验证接口的可行性。关键词关键词关键词关键词单片机,FPGA,接口逻辑,数据通信MCS51单片机与FPGA的接口逻辑设计IIMCS51MICROCONTROLLERINTERFACEANDFPGALOGICDESIGNABSTRACTDIGITALCIRCUITDEVELOPEDFROMTHEEARLYELECTRONTUBES,TRANSISTORS,SMALLANDMEDIUMSCALEINTEGRATEDCIRCUITSTOAVERYLARGESCALEINTEGRATEDCIRCUITSANDAPPLICATIONSPECIFICINTEGRATEDCIRCUITWITHASPECIFICFUNCTIONASICWITHTHEDEVELOPMENTOFMICROELECTRONICS,THEREHAVEBEENFIELDPROGRAMMABLELOGICDEVICES,INWHICHFIELDPROGRAMMABLEGATEARRAYISTHEMOSTWIDELYAPPLICATIONFPGAWITHFLEXIBLEAPPLICATION,HIGHLYINTEGRATED,LOWPOWERCONSUMPTION,FASTDESIGN,FIELDPROGRAMMABLEANDOTHERADVANTAGESISOFTENUSEDTOEXPANDTHEMICROCONTROLLERRELATEDRESOURCESINTHESYSTEMSCMHASHIGHERCOSTEFFECTIVE,FLEXIBLEFUNCTION,EASYDIALOGUETOMANMACHINE,POWERFULDATAPROCESSINGCAPABILITIESANDOTHERCHARACTERISTICSTHEREFORE,COMBINEDTHEADVANTAGESOFSCMDATAPROCESSINGTOTHEHIGHSPEEDINTEGRATIONANDFASTIMPLEMENTATIONOFFPGA,ITCANDESIGNTHESYSTEMWITHPOWERCONTROLFUNCTIONANDRAPIDIMPLEMENTATIONOFTHEVARIOUSFUNCTIONSBASEDONTHEDEMAND,THECOMMUNICATIONBETWEENMCS51MICROCONTROLLERANDFPGABECOMESMOREIMPORTANTANDHASASTRONGPRACTICALSIGNIFICANCEBYSTUDYINGTHETECHNICALCHARACTERISTICSANDAPPLICATIONOFFPGA,THEIMPLEMENTATIONSOFMCUINTERFACESANDTHESOFTWARESIMULATION,THEINTERFACESLOGICCIRCUITSOFMCS51MCUANDFPGACOMMUNICATIONHAVEBEENDESIGNEDTOREALIZETHERELIABLECOMMUNICATIONBETWEENSINGLECHIPMICROCOMPUTERANDPROGRAMMABLELOGICDEVICEDATAANDCONTROLINFORMATIONTHEINTERFACESINCLUDEPARALLELINTERFACEANDSERIALINTERFACETHEDESIGNUSESTHEVHDLLANGUAGETEXTMETHODSWHICHHAVEFLEXIBLYDESIGNEDACCORDINGTODEMANDOFTHEINTERFACE,DESIGNLOGICCIRCUITUSINGTHEI/OPORTSANDFOLLOWINGREADWRITETIMINGOFMICROCONTROLLER,DEIGNEDTHELOGICCIRCUITOFPARALLELINTERFACETOMAKEDATATRANSFEREACHOTHERBETWEENMCUANDFPGASERIALINTERFACEINCLUDEBAUDRATEGENERATOR,RECEIVERANDTRANSMITTERUSETHEFUNCTIONDESIGNOFEACHMODULETODESIGNTHEINTERFACELOGICRUNANALYSISANDSYNTHESIS,FUNCTIONALSIMULATIONANDTIMINGSIMULATIONUSINGSIMULATIONSOFTWAREQUARTUSFINALLY,GENERATEANALYSISREPORTSANDTHEINTERNALLOGICCIRCUITSBASEDSIMULATIONRESULT,VERIFYTHEFEASIBILITYOFTHEINTERFACEKYEWORDSSINGLECHIPMICROCOMPUTER,FPGA,INTERFACELOGIC,DATACOMMUNICATION河北工业大学硕士论文III目目目目录录录录第一章第一章第一章第一章绪论绪论绪论绪论111论文的选题背景112FPGA技术发展概况1121国内外发展状况1122FPGA技术的应用及发展趋势213论文的主要工作3第二章第二章第二章第二章FPGA技术及设计工具技术及设计工具技术及设计工具技术及设计工具521FPGA器件的发展及分类522FPGA的基本结构及功能723FPGA器件的配置924FPGA的设计流程1025QUARTUS仿真软件12251QUARTUS软件的特点及支持的器件12252QUARTUS软件的集成工具及功能12第三章第三章第三章第三章单片机与单片机与单片机与单片机与FPGA接口通信接口通信接口通信接口通信1431FPGA的接口技术及特点1432FPGA的特点及优势1533单片机与FPGA的通信16331串行通信16332并行通信16第第第第四章四章四章四章MCS_51单片机与单片机与单片机与单片机与FPGA并行接口的逻辑设计并行接口的逻辑设计并行接口的逻辑设计并行接口的逻辑设计1841MCS_51单片机与FPGA并行接口设计18411接口方式18412总线接口逻辑设计1942芯片的选取及器件配置20421单片机的选取20MCS51单片机与FPGA的接口逻辑设计IV422FPGA器件的选取2043仿真模块及结果21431各模块设计21432总线接口逻辑24第五章第五章第五章第五章MCS_51单片机与单片机与单片机与单片机与FPGA串行接口设计串行接口设计串行接口设计串行接口设计2851单片机与FPGA串行通信2852串行接口的各模块设计29521波特率发生器29522串行接口信的发送器30523串行接口的接收器3253串行接口的仿真结果3354小结35第第第第六六六六章章章章结结结结论论论论3651结论3652展望36参考文献参考文献参考文献参考文献37致致致致谢谢谢谢39攻读硕士学位期间所取得的相关科研成果攻读硕士学位期间所取得的相关科研成果攻读硕士学位期间所取得的相关科研成果攻读硕士学位期间所取得的相关科研成果40河北工业大学硕士论文1第一章第一章第一章第一章绪论绪论绪论绪论111论文的选题背景论文的选题背景论文的选题背景论文的选题背景当今社会是数字化的社会,数字集成电路应用非常广泛,其发展从电子管、晶体管、小规模集成SSI、MSI、LSI到超大规模集成电路ULSI和超位集成电路GSI,其规模平均每12年翻一番。集成电路的发展大大促进了EDA技术的发展,半导体厂商已经不再完全独立设计和制造专用集成电路(ASIC),开始转向可编程逻辑器件,特别是现场可编程逻辑器件,使系统设计师在实验室里就可以设计出合适的ASIC芯片,直接投入使用。现在应用最广的主要是现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)和可擦除可编程逻辑器件(EPLD)。现场可编程门阵列FPGA器件是XLINX公司1985年首家推出的,它是一种新型的高密度PLD,采用CMOSSRAM工艺制造1。自XILINX公司推出第一片现场可编程逻辑器件(FPGA)至今,FPGA已经历了十几年的发展历程,以FPGA为代表的数字系统集成技术取得了惊人的发展,从最初的1200门发展到现在的数百万门FPGA芯片,将FPGA芯片的集成度提高到一个新的水平。FPGA市场之所以有这么大的吸引力,主要源于FPGA不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且缩短了开发周期、节省开发成本、芯片的价格越来越低,使FPGA取代了ASIC的市场。另外,FPGA的功能完全由用户编制的配置程序决定,在不改变其外部接口的情况下,可以很方便的改变电路的逻辑功能,特别是对小批量、多品种的军品设备的研制,FPGA非常适合作为开发芯片。所以,国内外已普遍地使用FPGA来设计产品或进行科研2。随着可编程逻辑器件及EDA技术的不断发展,各方面优势逐渐显现,在系统设计中经常会用到FPGA来扩展单片机的相关资源,使其有机结合,缩短开发周期,适应市场需要。在功能上,单片机具有性价比高、功能灵活、控制能力强、良好的数据处理能力,而FPGA具有高速、高可靠以及开发便捷、组合逻辑能力强、规范等优点,与单片机有很强的互补性。系统设计中将单片机数据处理的优势与FPGA高集成度、执行快速的特点相结合,能够设计出既有强大控制功能又能使各项功能快速执行的系统。基于这种需求,本课题设计了MCS51单片机与FPGA的接口逻辑电路,实现单片机与FPGA数据与控制信息的可靠通信,结合FPGA与单片机的优势,组成灵活、可靠性高、软硬件可现场编程的控制系统,广泛应用在各个领域。112FPGA技术发展概况技术发展概况技术发展概况技术发展概况121国内外发展状况国内外发展状况国内外发展状况国内外发展状况世界上主要的EDA技术公司纷纷在EDA工具上开发FPGA应用设计,推动了应用设计的通用化。正是在这样的技术应用背景下,世界上一些主要的微电子技术公司,开始深入研究和制造FPGA器件,在FPGA器件性能、价格、新品种方面相互竞争,推陈出新。目前,FPGA技术凭借它的独特优势,已MCS51单片机与FPGA的接口逻辑设计2经跃之为电子应用包括通讯技术、计算机应用、自动控制、仪器仪表、ASIC设计领域广受欢迎的实用化技术,成为数字系统的科研实验、样机试制、小批量产品的即时实现的最佳途径。同时,FPGA器件的新功能、新构思正在不断出现,向更高密度、更大容量、更低功耗和集成更多IP的方向发展,国际各大公司都在积极扩充其IP库,以优化的资源越好来满足用户的需求,不断扩大市场,特别是引人注目的FPGA可动态可重构技术的开拓,将推动数字系统设计的巨大变革。目前FPGA/CPLD供货商全部来自美国公司,主要是XILINX、ALTERA、LATTICE、ACTEL、ATMEL等。其中以XILINX和ALTERA的市场占有率最大,是最大的可编程集成电路供货商。两大公司不断地推出了FPGA系列产品来满足市场的需求,逐步提高平台的整体性能,完善器件的功能,相互竞争,以推动FPGA市场的快速发展。由于它使用方便,改变逻辑功能易于实现,这也迎合了现代通信发展的要求,所以,国外已普遍地使用FPGA来设计产品或进行科研工作。国内的FPGA技术发展也非常迅速,很多公司通过和国际上的大公司保持长期的合作,提高专业的技术指导和培训,培养更多的FPGA人才,凭借国内巨大的市场需求、丰富的人力资源,以及稳定的经济发展和优越的政府扶持等众多优势条件,近几年,可编程逻辑器件产业取得了飞速发展,不断研制出性能更好的产品,价格也不断降低,很大程度上降低了设计者的开发成本。122FPGA技术的应用及发展趋势技术的应用及发展趋势技术的应用及发展趋势技术的应用及发展趋势由于FPGA应用与EDA技术是面向解决电子系统最基本最低层硬件实现问题的技术,因此从其发展趋势的横向看,势必涉及越来越广阔的电子设计技术领域,其中包括电子信息、通信、航天航空、工业自动化、家电、生物工程等等,而且随着大规模集成电路技术的发展和基于EDA技术的FPGA开发工具软件功能的不断加强,所涉及的领域还将不断扩大3;而从纵向看,EDA技术的不断发展,采用深亚微米及超深亚微米工艺技术,使得芯片中可以集成巨大数量的晶体管,奠定了在单个芯片上设计完整系统,即单片系统SOC或SOPC4。另外,目前FPGA和很多处理器结合起来使用,比如DSP,ARM,单片机等。在DSP应用领域中,用户要求越来越高,DSP已克服不了处理速度、硬件灵活、开发效率等方面的缺点。大容量、高速度的FPGA中内嵌可配置高速RAM、PLL以及硬件乘法累加器等模块,弥补了DSP的不足。DSPBUILDER就是ALTERA推出的一个面向DSP开发的系统级工具5。FPGA技术不同于常规集成电路应用技术,其依赖并带动电子设计的变革,不同的设计思想和设计方式的发展和变革,促进了电子设计通用化的发展。但是,也对从事电子设计的人员要求提高到新的高度和层次,因此,专业的技术支持和技术培训是必不可少的环节。目前,国际上EDA技术公司和FPGA技术公司进行合作交流,开设一些专业培训和设计实验辅导,以推动中国FPGA技术应用和硬件语言技术的普及,为FPGA行业未来的快速发展奠定了基础6。目前最主流的硬件描述语言是VHDL和VERILOGHDL。VHDL发展的比较早并且语法严格,而VERILOGHDL的书写是在C语言的基础上发展起来的一种硬件描述语言,语法比较自由。在设计者中使用VHDL的相对比较多。FPGA的主要发展方向(1)规模越来越大,集成度越来越高。早期的FPGA规模只有几千门,2006年5月份,XILINX公司推出世界上第一个65NMFPGA系列VIRTEX5,它是基于65NM三极栅氧化层技术、11层铜布线工艺、低K材料、新型镍硅自对准技术、新型EXPRESSFABRIC技术和ASMBL架构,可以提供330000个逻辑单元(可编程逻辑门约660万门)和河北工业大学硕士论文31200个用户I/O,FPGA的规模大大提高了,逐步向系统级高密度技术发展,同时芯片的面积也不断缩小,节约成本。(2)速度不断提高,性能不断提升。随着FPGA器件集成度的提高,生产商不断生产高性能、高效率的器件。XILINX公司2006年推出的VIRTEX5LX性能和利用率都很高,同时功耗大幅度降低。VIRTEX5LXFPGA比上一代90NMFPGA提供高出30的性能,硅片面积少占用45,以及功耗比上一代低了35,是当时业界最低动态功耗。VIRTEX5LX平台具有更高性能的逻辑,以提高设计余量和加快时序收敛,更低功耗,以满足功耗预算,降低系统成本和防止热失控,简化的可靠高带宽接口设计,更高的集成度,以提高性能和降低成本,更短的设计周期,以提高生产率和缩短上市时间,这些专门用于满足用户的各种需求。ALTERA公司于2006年11月份推出STRATIXIII的65NMFPGA系列,速度比前一代器件快25,密度比前一代FPGA提高了1倍,功耗降低了50,支持四十多个I/O接口标准,具有业界一流的性能、灵活性和信号完整性7。(3)IP库的利用。随着嵌入式技术的不断发展,FPGA也开始将IP核嵌入到FPGA中,以满足用户更高的需求,实现更高效的功能。具有IP内核的系统级FPGA的开发主要体现在两个方面一方面是FPGA厂商在生产时将IP硬核嵌入到FPGA器件中,IP硬核指完成版图设计的功能单元模块;另一方面是扩充优化的IP软核。它是利用HDL语言设计并经过综合验证的功能单元模块,用户可以直接利用这些预定义的、经过测试和验证的IP核资源,有效地完成片上系统的设计,缩短设计周期,节约成本。(4)价格越来越低。目前国际上各大FPGA生产厂商都在不断推出新的产品,FPGA市场的激烈竞争推动了价格的不断下调。基于SRAM的FPGA的价格下降很快,在2004年底每1万门的单价降至1美元,到2005年降至05美元,这样也给用户节省了开发成本。ALTERA公司于2005年第二季度开始批量生产的低端FPGACYC1ONEII,其约33万门的产品以22美元的价格供货,这样的价格在市场上很占优势,销量也在不断攀升。(5)向可编程系统芯片(SOPC)方向发展。可编程系统级芯片(SOPC)是ASIC发展的新阶段,代表了当代电子的发展方向,结合了ASIC和FPGA的优势,具有高集成度、功耗小、设计灵活、成本低等特点。ALTERA推出的支持新款CYCLONEIIFPGA系列的NIOSII嵌入式处理器,允许设计者在很短的时间内构建一个完整的可编程系统芯片,风险和成本都比较小。实现PSOC主要有两种途径,一种是在FPGA中嵌入专用功能的IP核,实现SOC的功能,另一种是将可编程逻辑IP核嵌入到SOC中。SOPC的出现是市场和技术共同推动的结果8。113论文的主要工作论文的主要工作论文的主要工作论文的主要工作论文介绍了FPGA技术的发展和基本原理、FPGA的设计流程及仿真工具QUARTUS,并应用VHDL硬件描述语言对MCS51单片机与FPGA通信接口逻辑进行设计,主要对并行接口和串行接口进行重点研究,并进行仿真分析。(1)并行接口分析并行接口方式的特点,选择合适的接口方式。根据接口方式的工作原理,使用VHDL语言编写各模块的程序,生成模块图,将各模块连接起来完成总的逻辑电路设计。为了验证MCS51单片机与FPGA的接口逻辑设计4逻辑的可行性,建立相应的波形文件(激励),使用仿真软件QUARTUS对接口逻辑电路进行功能仿真与时序仿真,得出仿真结果,并对仿真过程中可能遇到的问题进行分析。(2)串行接口相对于并行通信,串行通信的数据传输方式是串行的,即数据是一位一位地进行传输。论文了解了串行通信的工作方式及要求,使用硬件描述语言并按要求设计串行接口的总体逻辑电路,逻辑电路包括波特率发生器、发生器、接收器三个模块,并通过QUARTUS软件对串行接口的逻辑设计进行仿真,检测是否可行,并对占有资源、时序分析等相关因素进行分析,反复调试并分析得出的仿真结果,生成逻辑设计的内部电路,证明单片机与FPGA串行接口逻辑可行。河北工业大学硕士论文5第二章第二章第二章第二章FPGA技术技术技术技术及设计工具及设计工具及设计工具及设计工具221FPGA器件的器件的器件的器件的发展及分类发展及分类发展及分类发展及分类当今世界是数字化的世界,而电子系统设计最终必将是数字化。数字集成电路从应用小规模集成电路SSI芯片构成电路系统,到广泛地应用微控制器或单片机MCU,再到今天面临的另一次更大意义的突破,即CPLD/FPGA复杂可编程逻辑器件/现场可编程逻辑门阵列的广泛应用,有着突飞猛进的变革,为电子行业注入了新的活力。随着超大规模集成电路工艺的不断提高,同时集成度也在不断提高,单一芯片内部可以容纳上百个晶体管,FPGA芯片的规模也越来越大,从一开始的1200门已达到上百万门,所能实现的功能越来越强,同时还可以实现系统集成,使电子产品达到小型化、微型化、集成化。另外,FPGA器件内部有丰富的触发器和I/O引脚,用户可以反复地编程、擦除、使用,与门阵列等其他ASCI相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、质量稳定以及功耗低等优点9。相对于其他处理器,可编程器件拥有较高的成本,在一些中、高批量的应用中很多使用者不再愿意采用PLD器件。JOHNDANNE介绍说,ALTERA公司通过市场调查,意识到产业发展模式正在发生改变,成本是客户关注最多的。虽然PLD器件仍可以应用在一些小批量如工业控制和自动化等应用,但对于公司传统通信应用等领域影响很大。ALTERA公司同时也意识到,随着“摩尔定律”发展到超深亚微米,更先进工艺的成本也在快速提高,使得ASIC的设计成本难以承受,PLD产业得以有机会进入传统ASIC应用领域10。但要达到该目标,首先必须解决FPGA在中、高批量应用中的成本问题,设计出适合中、高批量应用的全新可编程器件,因此ALTERA公司对这两个市场进行了考察。FPGA在成本和功耗方面得到明显改善,而可编程器件CPLD在未来增长的动力将越来越小,FPGA将会应用到更广泛的领域,体现它的价值11。FPGA器件目前生产商主要是XILINX、ALTERA、LATTICE、ACTEL、ATMEL等,其中以XILINX和ALTERA的市场占有率最大,是最大的可编程集成电路供货商。两大公司各自推出了一系列的产品来满足市场的需要,从低成本应用、容量中等、性能满足一般的逻辑设计需要到高性能要求、容量大、性能满足各类高端应用。XILINX公司自从事FPGA的研制开发以来,不断地进行技术创新,研制新的产品,提高器件的逻辑门和引脚的个数,减少功耗等。目前主流的产品有SPARTAN系列和VIRTEX系列。VIRTEX是目前主流的产品,XILINX公司在2002年推出的新型高端FPGA12,其内部结构有了很大的改进,内嵌专用乘法器、更大容量的BLOCKRAM,支持更多的I/O口标准。2006年5月,XILINX公司推出了世界上第一个65NMFPGA系列VIRTEX513。XILINX公司FPGA产品的发展历程如表21所示ALTERA主要有FLEX10KE、APEX20K、CYCLONE系列、ARRIA系列、STRATIX系列。随着新产品的不断推出,系统性能、系统门数、内部RAM的容量、I/O总数等都有很大的改进,有一些产品也逐渐被淘汰,价格方面也比以前便宜了,可以满足不同人群的需求,在各个领域有更广泛的应用。ALTERAFPGA发展MCS51单片机与FPGA的接口逻辑设计6历程6,如表22所示表21XILINXFPGA产品的发展历程TABLE21XILINXFPGAPRODUCTSDEVELOPMENTPROCESS年份主要发展19981998199819981998199920002001200220022004200520062006XC9500FLASH工艺的PLDXC9500XLSPARTAN中规模SRAM工艺,芯片支持5V和33V的电压,CLB数量有限SPARTAN25VSRAM工艺FPGA,SPARTAN的升级产品14VIRTEX大规模SRAM工艺,采用015UM和012UM混合工艺设计,内核电压15VXC9500XVCOOLRUNNERXPLA3PHILIPS的产品,99年被XILINX收购、特点是功耗低VIRTEX新一代大规模SRAM工艺FPGA产品,主流产品COOLRUNNER新一代低功耗产品VIRTEXPRO基于VIRTEX的结构,集成CPU和高速接口的FPGA产品SPARTANTM3新一代FPGA产品,结构与VIRTEX类似,90NM工艺VIRTEX4TMLX侧重普通逻辑应用,预计2005年底开始量产VIRTEX4TMSX侧重数字信号处理DSP模块比较多,2006年年初开始量产VIRTEX4TMFX集成POWERPC和高速接口模块,2006年初开始量产;VIRTEX5问世表22ALTERAFPGA发展历程TABLE22ALTERAFPGADEVELOPMENTPROCESS年份主要发展19921995199619971998200020012002200320042006FLEX800FPGAS问世第一个带嵌入式存储器的FPGAFLEX10KFPGAS第一个10万门嵌入式FPGAEPF10K100FPGAS问世APEXFPGAS系列问世FLEX10KEFPGAS系列发布,EPF10K250发布世界上最大的FPGAS第一个015UM、全铜互连的FPGAAPEX20KC面世第一个013UMFPGAAPEX面世,STRATIXFPGAS面世STRATIXFPGAS013UM工艺,15V内核电压,集成硬件乘法器和GX收发器STRATIXGXFPGAS集成3125G高速CDR传输接口CYCLONEFPGAS013UM工艺,15V内核电压,低功耗HARDCOPYSTRATIX面世STRATIX90UM工艺,12V内核电压,大容量高性能STRATIX业界功耗最低的高性能65NMFPGA河北工业大学硕士论文7222FPGA的的的的基本结构基本结构基本结构基本结构及功能及功能及功能及功能FPGA器件的发展非常迅速,形成了各种不同的结构。按逻辑功能块的大小,FPGA可分为细粒度FPGA和粗粒度FPGA。细粒度FPGA的逻辑功能块较小,资源可以充分利用,但连线和开关多,速度慢;粗粒度FPGA的逻辑功能块规模大,功能强,但资源不能充分利用,两者各有优劣。从逻辑功能块的结构上分类,可分为查找表结构、多路开关结构和多级与非门结构。根据FPGA内部连线的结构不同,可分为分段互联型和连续互联型。根据编程方式,FPGA可分为一次编程和可重复编程两种15。FPGA一般可由三种可编程电路和一个用于存放编程数据的SRAM组成,这三种可编程电路是可编程逻辑块CLB、输入/输出模块IOB和互联资源IR。CLB是FPGA的主要组成部分,是实现逻辑功能的基本单元。它主要是由逻辑函数发生器、触发器、译码器等电路组成。IOB提供了器件引脚和内部逻辑阵列之间的连接,通常排列在芯片的四周。其主要是由输入触发器、输入缓冲器、输出触发/锁存器和输出缓冲器组成。每一个IOB控制一个引脚,有输入、输出或双向I/O三种功能。可编程互联资源包括各种长度的金属连线和一些可编程连接开关,它们将各个CLB之间和IOB之间互相连接起来,构成各种复杂功能的系统。FPGA是采用查找表LUT结构的可编程逻辑器件的统称,目前FPGA使用最广泛的是基于SRAM的查找表逻辑结构形式,但不同公司的产品结构也有差异。(一)SRAM查找表是通过存储方式,把输入与输出的关系保存起来,通过输入查找到对应得输出。N个输入的查找表要实现N个输入的逻辑功能,需要2N位存储单元。下面是4输入LUT,其内部结构如图21所示。如果N很大时,存储容量将像PROM器件一样增大,因此,N很大时,要采用几个查找表分开实现15。图21FPGA查找表的内部结构16FIG21THEINTERNALSTRUCTUREOFFPGALUT(二)ALTERA公司FPGA的基本结构LTERA公司的FPGA都采用基于SRAM的查找表逻辑结构形式,现以FLEX10K系列器件为例介绍。FLEX10K系列器件主要由嵌入式阵列块(EAB)、逻辑阵列块(LAB)、快速通道互连(FT)和I/O0000输入A输入B输入C输入D查找表输出多路选择器000100100011010001010110011110001001101010111100110111101111MCS51单片机与FPGA的接口逻辑设计8单元(IOE)四部分组成。1嵌入式阵列块EAB嵌入式阵列块EAB是在输入输出口上的RAM块,在实现存储功能时,每个EAB提供2048个位,可以单独使用或组合起来使用。EAB可以非常方便地构造成一些小规模的RAM、双口RAM、FIFOROM和ROM,也可以在实现计数器、地址译码器等较复杂的逻辑时。作为100600个等效门来用。2逻辑阵列块LAB逻辑阵列块LAB是FPGA内部的主要组成部分,LAB通过快速通道互连FT相互连接,如图22所示。LAB是由若干个逻辑单元(LE)再加上相连的进位链和级联链输入输出以及LAB控制信号、LAB局部互连等构成,FLEX10K的LAB有8个LE,加上相连的进位链和级联链输入输出以及LAB控制信号、LAB局部互连等构成了LAB。逻辑单元LE是FPGA的基本结构单元,主要由一个4输入LUT、一个进位链、一个级联链和一个带同步使能的触发器组成,可以通过编程实现各种逻辑功能。每2个LE有2个输出,分别驱动局部互连和快速通道互连。逻辑单元LE中的LUT用于组合逻辑,实现逻辑函数。逻辑单元LE中的可编程触发器用于时序逻辑,可通过编程配置为带可编程时钟的D、T、JK、SR触发器或为旁路实现组合逻辑。寄存器的时钟、清0、置位可由全局信号、通用I/O引脚或任何内部逻辑驱动11。图22FLEX10KLAB的结构17FIG22THESTRUCTUREOFFLEX10KLAB进位链输出级联链输出LAB局部互连LAB控制信号4LE1LE2LE3LE4LE5LE6LE7LE8进位链输入级联链输入2444444444261688816LAB连接到行互连及列互连24列到行互连列互连专用输入全局信号行互连河北工业大学硕士论文9进位链和级联链是专用高速数据通道,用于不通过局部互连通路连接相连的LE。进位链用来支持高速计数器和加法器,提供LE之间快速向前进位功能,可使FPGA适用于高速计数器、加法器等;级联链主要实现多输入逻辑函数。图23FLEX10KLE的结构FIG23THESTRUCTUREOFFLEX10KLELE的两个输出分别驱动局部互连和快速通道互连。这两个输出可以独立控制,如LUT驱动一个,寄存器驱动另外一个。内部结构图如图23所示LAB局部互连实现LAB的LE与行互连之间的连接及LE输出的反馈等。3快速通道互连FT快速通道互连FT作用是将LE和器件I/O引脚连接起来,快速通道互连与CPLD的PIA相似,是一系列水平(行互连)和垂直(列互连)走向的连续式布线通道。行互连可以驱动I/O引脚,或馈送到其他LAB;列互连连接各行,也能驱动I/O引脚。4I/O单元IOE和专用输入引脚FPGA的I/O引脚由I/O单元驱动,I/O单元位于快速通道的行或列的末端,由一个双向三态缓冲器和一个寄存器组成,可编程配置成输入、输出或输入输出双向口组成。I/O单元的清0、时钟、时钟使能和输出使能控制均由I/O控制信号网络采用高速驱动。FPGA的I/O单元支持JTAG编程、摆率控制、三态缓冲和漏极开路输出。专用输入引脚用于驱动I/O单元寄存器的控制端,其中4个还可用于驱动全局信号(内部逻辑也可驱动),为了高速驱动,使用了专用布线通道15。223FPGA器件器件器件器件的配置的配置的配置的配置FPGA是基于门阵列方式为用户提供可编程资源的,其内部逻辑结构的形成是由配置数据决定的。查找表进位链(LUT)数据数据数据数据清零和预置逻辑LAB控制1LAB控制2LAB控制3LAB控制4进位输入级联链DQCLRN进位输出级联输出LE输出MCS51单片机与FPGA的接口逻辑设计10这些配置数据通过外部控制电路或微处理器加载到FPGA内部的SRAM中,由于SRAM的易失性,每次上电时,都必须对FPGA进行重新配置,在不掉电的情况下,这些逻辑结构将会始终被保持,从而完成用户编程所要实现的功能18。FPGA器件的配置模式以XILINX公司的器件为例,XILINXFPGA的配置有3种模式,分别为并行SELECTMAP、串行SERIAL和边界扫描BOUNDARYSCAN模式。当然VIRTEX5和SPARTAN3E3A的器件有更多的配置模式,如SPIFLASH配置和BPIFLASH配置。根据配置时钟的来源,串行模式又分成主串MASTERSERIAL和从串SLAVESERIAL模式,模式选择由器件的3个控制引脚MO、M1和M2来完成。为了保证数据的正确配置,必须设置正确的配置模式。用来存放配置数据的器件有XC17系列OTP、XC18系列FLASH和新一代的PLATFORMFLASH系列配置器件,以及通用的SPI和BPIFLASH。1并行配置为了实现数据的快速加载,XILINX在FPGA器件中增加了并行模式配置。该模式为8位配置数据宽度,需要8位数据线D7D0、低电平有效的芯片选择信号CS_B、电平有效的写信号RDWR_B及高电平有效的忙信号BUSY。当BUSY信号为高时,表示器件忙,即器件不能执行下一步的写操作,需要等待,直到该信号引脚为低时执行下一步。对于50MHZ以下的配置时钟,可以不用该控制信号。当配置完成后,这些多功能引脚可作为普通输入输出线使用,该模式需要辅助控制逻辑和配置时钟。并行模式又可以细分成主并行模式和从SLAVE并行模式,当需要对多个器件进行并行配置时,需选择从并行模式。2串行配置串行配置可分为主串和从串两种模式。该配置方式每个时钟仅接收一位配置数据,如果配置的时钟信号来自所需配置的FPGA器件,则为主串模式;如果时钟由外部器件提供配置,这种配置模式为从串模式。对于多个采用串行配置方案的器件,可以组成菊花链DAISYCHAINS的形式,即一片FPGA设置成主模式用来产生配置时钟,将配置数据从串行PROM顺序下载到主FPGA器件和从FPGA器件中。其余的器件设置成从模式,并且将上一级的数据输出DOUT与下一级的数据输入DIN连接起来,在进行FPGA调试时,如果需要用下载电缆通过从串模式对FPGA进行配置,必须进行选择从串模式。3边界扫描配置边界扫描方式采用JTAG标准,因此有时也称为“JTAG配置模式”,该模式只有4条专用配置信号线,分别为TCK时钟、TDI数据输入、TDO数据输出及TMS状态和控制。该模式类似于从串模式。凡是符合JTAG接口标准的器件都可以放在JTAG链路中,使用比较简单。224FPGA的设计流程的设计流程的设计流程的设计流程FPGA设计是指利用开发软件和编程工具对器件进行开发的过程,其设计流程如图24所示,它主要包括五个过程(1)设计准备在进行设计之前,首先要按照用户的要求进行方案论证、系统设计和器件选择等设计准备工作。设计者首先要根据用户的要求,如系统所要完成的功能和复杂程度,对工作速度和器件本身的资源和成本、连线的可靠性等方面进行权衡,选择合适的方案和合适的器件类型。(2)设计输入河北工业大学硕士论文11常用的设计输入的方式有三种原理图、硬件描述语言(HDL)、波形输入。设计者将所设计的系统或电路以开发软件要求的某种形式表示出来并输入到计算机中,来完成相应的功能。(3)设计处理对于FPGA设计,这是核心环节。在设计处理过程中,编译软件将对设计输入的文件进行逻辑化简、综合优化、时序分析等过程,并且适当地用一片或多片器件自动地进行适配,最后产生编程用的编程文件,以便下载到开发板进行实验。设计处理应包括语法检查和设计规则检查、逻辑优化和综合、适配和分割、布局布线、生成编程数据文件五个过程。图24FPGA设计流程图FIG24FPGADESIGNFLOW(4)设计验证设计验证包括功能仿真和时序仿真,功能仿真是在设计输入完成之后,在选择具体的器件进行编译之前进行的逻辑功能验证,也称之为前仿真,对于系统初步的功能检测非常方便,没有延时信息。仿真前首先要利用波形编辑器或硬件描述语言建立测试文件,并设置好输入端口的时序波形,软件使用默认的仿真时间。仿真结果以报告或波形的形式输出,可以直观的观察设计的逻辑功能。时序仿真是在选择了具体器件并完成布局布线之后进行的时序关系仿真,也称为后仿真,因为不同的器件内部结构不同,布局布线不同都会引起不同的延时,因此,对系统和各模块进行时序仿真、分析其时序关系,估计设计的性能以及检查和消除竞争冒险是非常有必要的,也是设计环节中比较重要的。产生的结果跟实际器件基本相同。(5)器件编程和配置器件编程是将编程数据下载到可编程器件中去。编程器允许建立包含所用器件名称和选项的链式扫描文件,选择编程硬件,并将编程文件下载到电路板中。器件编程要满足一定的条件,如编程电压、编程时序和算法等。器件编程完毕之后,可以用编译时产生的文件进行检验、加密等工作。器件成功编程和配置后,可以进行板级调试设计准备设计输入(原理图、HDL、波形图)设计处理(优化综合、适配、分割、布局布线)器件编程功能仿真时序仿真器件测试MCS51单片机与FPGA的接口逻辑设计12225QUARTUS仿真软件仿真软件仿真软件仿真软件QUARTUS是ALTERA公司在21世纪初推出的FPGA开发环境,其功能强大、界面友好、使用便捷。软件集成了ALTERA的FPGA开发流程中涉及的所有工具和第三方软件接口。通过使用此开发工具,设计者可以创建、组织和管理自己的设计。251QUARTUS软件的特点及支持的器件软件的特点及支持的器件软件的特点及支持的器件软件的特点及支持的器件QUARTUS具有以下特点(1)支持多时钟定时分析、LOGICLOCK基于块的设计、SOPC(可编程片上系统)、内嵌SIGNALTAP逻辑分析器和功率估计器等高级工具(2)易于引脚分配和时序约束(3)强大的HDL综合能力(4)包括有MAXPLUS的GUI,且容易使MAXPLUS的工程平稳过渡到QUARTUS开发系统(5)对于FMAX的设计具有很好的效果(6)支持的器件种类多(7)支持WINDOWS、SOLARIS、HPUX和LINUX等多种操作系统(8)提供第三方工具如综合、仿真等的链接QUARTUS软件支持的器件包括STRATIX系列、STRATIX系列、CYCLONE系列、CYCLONE系列、HARDCOPY系列、APEX系列、FLEX10K系列、FELX6000系列、MAX系列、MAX3000A系列、MAX7000系列和MAX9000系列等19。252QUARTUS软件的集成工具及功能软件的集成工具及功能软件的集成工具及功能软件的集成工具及功能QUARTUS软件开发过程中常用的基本功能(1)设计输入设计输入是使用软件的模块输入方式、文本输入方式、CORE输入方式和EDA设计输入工具等表达用户的电路构思,同时使用分配编辑器设计初始约束条件,完成相应功能的逻辑设计。常用的设计输入是VHDL语言和VERILOGHDL语言,描述方便灵活,适合比较大的系统设计20。(2)综合综合是将VHDL语言、原理图等设计输入翻译成由与门、或门、RAM和触发器等基本逻辑单元组成的逻辑连接,并对生成的逻辑链接按要求进行优化,输出标准格式的网格表格文件,供布局布线器使用,并显示设计占用的器件资源。软件有自带的综合器,可以使用软件的“ANALYSISSYNTHESIS”命令,也可以使用第三方综合工具,比较常用的是SYNPLICITY软件,生成与QUARTUS软件配合使用的网络表文件。(3)布局布线布局布线是利用综合后网格表文件,对设计文件进行布局布线,然后用软件优化,使它的逻辑更准确。QUARTUS软件中布局布线包含分析布局布线结果、优化布局布线和通过反向标注分配等。(4)时序分析用户分析设计中的所有逻辑的时序性能,并协助引导布局布线以满足设计中的时序分析要求。默认河北工业大学硕士论文13情况下,时序分析作为全编译的一部分自动运行,分析时序和生成时序报告,如建立时间、保持时间、时钟至输出延时、最大时钟频率,以及两端口之间经过的时间,通过时序报告进行调试或验证设计时序的功能。(5)仿真仿真分为功能仿真和时序仿真,功能仿真用来验证电路功能是否符合设计要求;时序仿真包含了延时信息,它能较好地反映芯片的工作情况。仿真可以使用QUARTUS软件自带的仿真器,也可以用第三方仿真器,如MODELSIM工具。(6)编程和配置在全编译通过以后,对器件进行编程和配置,包括ASSEMBLE(生成编程文件)、PROGRAMMER(建立包括设计所用器件名称及下载设置)和引脚配置等。通过下载线将编程文件下载到开发板上,最终实现用户所要求的功能。(7)系统级设计系统及设计包括SOPCBUILDER和DSPBUILDER。SOPC由CPU、存储器接口、标准外围设备和用户自定义的外围设备等组成。SOPCBUILDER允许用户选择和自定义系统模块的各个组件和接口,它将这些组件结合起来,生成对这些组件进行实例化的单个系统模块,并自动生成必要的总线逻辑。DSPBUILDER是帮助用户在易于算法应用的开发环境中建立DSP设计的硬件表示,缩短了DSP设计周期。除了以上的集成工具,QUARTUS软件还有很多其他集成工具,另外还提供了第三方工具,包括综合工具和仿真工具,都是业内公认的专业工具,以功能强大、界面友好、易学易用而得到广泛的使用。MCS51单片机与FPGA的接口逻辑设计14第三章第三章第三章第三章单片机与单片机与单片机与单片机与FPGA接口通信接口通信接口通信接口通信331FPGA的接口技术及特点的接口技术及特点的接口技术及特点的接口技术及特点在现代电子系统中,FPGA凭借其大规模的芯片容量和高速的并行运算能力,在数字系统设计方面显现出突出的优势,各个领域的应用也越来越广泛,采用FPGA技术也成为当今电路硬件实现和信号处理的主要方式之一。目前越来越多的器件需要进行相互之间与外界通信,因此两者之间的接口设计就必不可少,主要有I2C接口、PCI接口、VGA接口、UART接口等,用于连接CPU、FLASH、显示器和SRAM等外围设备。FPGA采用同步化设计,而外部器件的工作速度、工作频率和始终来源各不相同,因此,对FPGA与外部芯片之间的数据通信,需要设置专门的接口电路模块,用来与外部器件时钟频率转换,使两器件可以工作在同一时钟频率,更好实现两者的数据通信21。FPGA的接口模块电路主要是根据外部芯片的电路时序,使用硬件描述语言来设计接口电路,对可能有的干扰进行过虑,主要用到三态门、移位寄存器、奇偶校验、锁存器、波特率产生器、滤波器等模块,来完成与外部器件的接口模块,总体来说扩展了FPGA的功能,同时也可以提高外部处理器的处理速度、存储容量和性能,能更好得应用在各个领域,提高人们的生活品质。在FPGA设计中,常用到的接口简介(1)I2C接口设计中经常需要与外围设备提供I2C设备的芯片通信。例如低功耗的CMOS实时时钟PCF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论