




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章绪论电子设计的必由之路是数字化已成为共识。在数字化的道路上,我国电子设计技术的发展经历了,并将继续经历许多重大的变革与飞跃、从应用SSI通用数字电路芯片构成电路系统,到广泛地应用MCU微控制器或单片机,在电子系统设计上发生厂具有里程碑意义的飞跃,这一飞跃不但克服了纯SSI数字电路系统许多不可逾越的困难,同时也为电子设计技术的应用开拓了更广阔的前景。它使得电子系统的智能化水平在广度和深度上产生了质的飞跃。MCU的广便应用并没有抛弃SSI的应用,而是为它们在电于系统中找到了更合理的地位。随着社会经济发展的延伸、各类新型电子产品的开发为我们提出了许多全新的课题和更高的要求。FPGA/CPLD现场可编程逻辑器件复杂可编程逻辑器件在EDA基础上的广泛应用从某种意义上说,新的电子系统运转的物理机制又将回到原来的纯数字电路结构,但这是种更高层次的循环,应是一次否定之否定的运动,它在更高层次上容纳了过去数字技术的优秀部分,对MCU系统将是种扬弃,但在电子设计的技术操作和系统构成的整体上却发生质的飞跃。如果说MCU在逻辑的实现上是无限的话,那么高速发展的FPGA/CPLD不但包括了MCU这一特点,并兼有串、并工作方式和高速、高可靠性以及宽口径适用等诸多方面的特点、不仅如此,随着EDA技术的发展和FPGACPLD在深亚微米领域的进军、它们与MCU、MPU、DSP、AD、DA、RAM和ROM等独立器件问的物理与功能界限正日趋模糊。特别是软硬IP芯核产业的迅猛发展,嵌入式通用与标准CPLD和FPGA器件的出现,片上系统已近在咫尺。以大规模集成电路为物质基础的EDA技术终于打破了软硬件之间最后的屏障,使软硬件工程师们有了共同的语言1。11课题背景当前电子系统的设计正朝着速度快,容量大,体积小,质量轻,用电省的方向发展。推动该潮流迅速发展的决定性因素就是使用了现代化的EDA设计工具。EDA是电子设计自动化ELECTRONICDESIGNAUTOMATION的缩写,是90年代初,从CAD(计算机辅助没计)、CAM(算机辅助制造)、CAT计算机辅助测试和CAE计算机辅助工程的概念发展而来的。EDA技术就是以计算机为工具,在EDA软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑行局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。设计者的工作仅限于利用软件的方式,即利用硬件描述语言来完成对系统硬件功能的描述,在EDA工具的帮助下就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效2。EDA技术中最为瞩目的功能,即最具现代电子设计技术特征的功能就是日益强大的逻辑设计仿真测试技术。EDA仿真测试技术只需通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,在完成实际系统的安装后还能对系统上的目标器件进行所谓边界扫锚测试。这一切都极大地提高了大规模系统电子设计的自动化程度。另一方面,高速发展的CPLD/FPGA器件又为EDA技术的不断进步奠定可坚实的物质基础。CPLD/FPGA器件更广泛的应用及厂商间的竞争,使得普通的设计人员获得廉价的器件和EDA软件成为可能。现代的EDA工具软件已突破了早期仅能进行PCB版图设计,或类似某些仅限于电路功能模拟的、纯软件范围的局限,以最终实现可靠的硬件系统为目标,配备了系统设计自动化的全部工具。如配置了各种常用的硬件描叙平台VHDL、VERILOGHDL、ABELHDL等;配置了多种能兼用和混合使用的逻辑描述输入工具,如硬件描述语言文本输入法(其中包括布尔方程描述方式、原理图描述方式、状态图描述方式等)以及原理图输入法、波形输入法等;同时还配置了高性能的逻辑综合、优化和仿真模拟工具3。12硬件描述语言硬件描述语言(HARDWAREDESCRIPTIONLANGUAGE)是硬件设计人员和电子设计自动化(EDA)工具之间的界面。其主要目的是用来编写设计文件,建立电子系统行为级的仿真模型。即利用计算机的巨大能力对用ERILOGHDL或VHDL建模的复杂数字逻辑进行仿真,然后再自动综合以生成符合要求且在电路结构上可以实现的数字逻辑网表(NETLIST),根据网表和某种工艺的器件自动生成具体电路,然后生成该工艺条件下这种具体电路的延时模型。仿真验证无误后,用于制造ASIC芯片或写入CPLD和FPGA器件中。随着PC平台上的EDA工具的发展,PC平台上的VERILOGHDL和VHDL仿真综合性能已相当优越,这就为大规模普及这种新技术铺平了道路。目前国内只有少数重点设计单位和高校有一些工作站平台上的EDA工具,而且大多数只是做一些线路图和版图级的仿真与设计,只有个别单位展开了利用VERILOGHDL和VHDL模型(包括可综合和不可综合)的进行复杂的数字逻辑系统的设计。随着电子系统向集成化、大规模、高速度的方向发展,HDL语言将成为电子系统硬件设计人员必须掌握的语言3。121VHDL语言VHDLVERYHIGHSPEEDINTEGRATEDCIRCUITHARDWAREDESCRIPTIONLANGUAGE,超高集成电路硬件描叙语言诞生于1982年,是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEETHEINSTITUTEOFELECTRICALANDELECTRONICS的一种工业标准硬件描叙语言。VHDL主要用于描述数字系统的结构、行为、功能和接口,非常适合用于可编程逻辑芯片的应用设计。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法十分类似于一般的计算机高级语言。VHDL的程序特点是将一项工程设计,或称为设计实体(可以是个元件、电路模块或一个系统)分成外部(或称可示部分,即端口)和内部(或称为不可视部分,即结构体)两部分,外部负责对设计实体和端口引脚命名和说明,内部负责对模块功能和算法进行描述。在对一个设计实体定义了外部界面后,一旦其内部结构、功能开发完成,即可生成共享功能模块,这就意味着,在顶层综合或其他设计中可以直接调用这个实体模块。VHDL具有较强的行为描述能力,可避开具体的器件结构,从逻辑功能和行为上进行描述和设计3。122VERILOGHDL语言VERILOGHDL是在1983年,由GDA(GATEWAYDESIGNAUTOMATIO)公司的PHILMOORBY首创的。PHILMOORBY后来成为VERILOG的主要设计者和(ADENCEDESIGNSYSTEM的第一个合伙人。在19841985年MOORBY设计出第一个关于VERILOG的仿真器,1986年他对VERILOGHDL的发展又作出另一个巨大贡献,提出了用于快速门级仿真的算法。随着VERILOG算法的成功,VERILOGHDL语言得到迅速发展。1989年ADENCE公司收购了公司,VERILOGHDL语言成为CADENCE公司的私有财产,1990年,CADENCE公司公开了VERILOGHDL语言,成立了OVI(OPENVERILOGINTERNATIINAL)组织来负责VERILOGHDL的发展。IEEE于1995年制定了VERILOGHDL的IEEE标准,即VERILOGHDL13641995。1987年,IEEE接受VHDLVHSICHADEWAREDESCRIPTIONLANGUAGE为标准HDL,即IEEE107687标准,1993年进一步修订,定为ANSI/IEEE107693标准。现在很多EDA供应商把VERILOGHDL作为其EDA软件输入/输出的标准。例如,CADENCE、SYNOPSYS、VIEWLOGIC、MENTORGRAPHIC等厂商都提供了VHDL的支持4。123VERILOGHDL与VHDL的比较VERILOGHDL和VHDL作为描述硬件电路设计的语言,其共同的特点在于能形式化地抽象表示电路的行为和结构;支持逻辑设计中层次与范围的描述;可借用高级语言的精巧结构来简化电路行为的描述;具有电路仿真与验证机制以保证设计的正确性;支持电路描述由高层到低层的综合转换;硬件描述与实现工艺无关;便于文档管理;易于理解和设计重用。目前版本的VERILOGHDL与VHDL在行为级抽象建模的覆盖范围方面也有所不同。一般认为VERILOGHDL在系统抽象方面比VHDL强一些。VERILOGHDL较为适合算法级(ALOGRITHEM)、寄存器传输级(RTL)、逻辑级(LOGIC)、门级(GATE)、设计。而VHDL更为适合特大型的系统级(SYSTEM)设计。124VHDL设计中电路简化问题的探讨8随着集成电路技术的发展,用传统的方法进行芯片或系统设计已不能满足要求,迫切需要提高设计效率。在这样的技术背景下,能大大降低设计难度的VHDL设计方法正越来越广泛地被采用。但是VHDL设计是行为级的设计所带来的问题是设计者的设计思考与电路结构相脱节。设计者主要是根据VHDL的语法规则对系统目标的逻辑行为进行描述,然后通过综合工具进行电路结构的综合、编译、优化,通过仿真工具进行逻辑功能仿真和系统时延的仿真。用VHDL进行集成电路的设计,牵涉到对VHDL语言的使用方法和对设计的理解程度。本文讨论了以下几个简化和优化电路设计的3个值得注意的方面(1)在用VHDL进行设计中要注意避免不必要的寄存器描述。(2)在编写程序前要先对整个设计进行较深入的了解,科学的划分设计,多设想几种方案再进行比较,用多个较少位数的单元取代较多位数的单元。(3)在延时要求不高的情况下,可提取逻辑电路公因子,把它分解成含有中间变量的多级电路。125VHDL和MAXPLUSII在设计数字电路中的应用9以VHDL为工具的EDA设计方法与传统的人工设计方法相比,有以下几个优点1、缩短了开发周期;2、提高了效率;3、产品的质量得到了提高。用VHDL进行数字系统开发与设计,其设计的抽象层次有6个,分别是系统级、芯片级、寄存器级、门级、电路级和版图/硅片级,可以在不同的抽象层次级别上设计系统。使用MAXPLUSII作为开发环境时应该根据软件支持的芯片资源情况选择合适的设计层次。在VHDL设计中,常常采用多进程描述的方法来进行程序设计,通过使用进程可以把整体的功能局部化,分块设计,多个进程通过进程间通信机制互相配合,达到设计要求。当进程比较多的时候,它们之间的配合问题就比较复杂,因此在设计之前应该合理规划安排。126用EDA方法设计数字系统的灵活性10用EDA方法设计数字系统,就是以硬件描述语言为系统逻辑描述的主要手段完成计数器设计文件,再运用EDA开发软件,对设计文件自动地完成逻辑编译、化间、分割、综合及优化逻辑仿真。直到对特定目标芯片的适配编译、逻辑映射和编程下载。在本文中是以EDA技术中的ISP软件为开发平台,来说明EDA方法设计数字系统的灵活性。1、设计输入方式的灵活性,使用EDA方法设计数字系统可以按照设计要求和硬件描述语言的语法规则编写输入文件,而把其余的大部分工作留给计算机完成,真正体现了EDA方法的优点。尤其是设计复杂的数字系统或者需要改动系统功能时,设计效率可成倍提高,EDA方法的优越性就会更加突出;2、功能仿真的灵活性,用EDA方法设计数字系统是同一个测试向量可以对任何一种设计输入方式产生的源文件进行仿真,而不许要单独编写测试文件;3、功能扩展的灵活性,在数字系统设计输入过程中,用EDA方法实现了硬件设计软件化,所以改动源文件的内容即可改变系统功能,使其扩展为复杂度更高的数字系统。127VHDLSIMULATION11VHDLISALANGUAGEFORDESCRIBINGDIGITALSYSTEMS;THEREFOREITSHOULDBEOFNOSURPRISETHATSTANDARDEVENTDRIVENLOGICSIMULATIONALGORITHMSAREUSEDSUCHALGORITHMSAREMOSTEASILYDESCRIBEDINTERMSOFTHESIMULATIONOFSTRUCTURALMODELSBEHAVIOURALMODELSAREEVALUATEDINMUCHTHESAMEWAY,WHEREAPROCESSCANBETHOUGHTOFASANELEMENTTHEOBJECTIVEOFEVENDRIVENSIMULATIONISTOMINIMIZETHEWORKDONEBYTHESIMULATORTHEREFORETHESTATEOFTHECIRCUITISONLYEVALUATEDWHENACHANGEOCCURSINTHECIRCUITITISPOSSIBLETOPREDICTWHENTHEOUTPUTOFANELEMENTMIGHTCHANGEBECAUSEWEKNOWTHATSUCHACHANGECANONLYOCCURAFTERANINPUTCHANGESIFWEONLYMONITORTHEINPUTSTOELEMENTS,WECANONLYKNOWTHATANOUTPUTMIGHTCHANGE;THELOGICFUNCTIONOFTHEELEMENTDETERMINESWHETHERORNOTACHANGEACTUALLYOCCURSASWEALSOKNOWTHEDLAYSTHROUGHTHEELEMENT,WEKNOWWHENTHEOUTPUTMIGHTCHANGETHUSANELEMENTONLYNEEDSTOBEEVALUATEDWHENITISKNOWNTHATITSOUTPUTMIGHTCHANGEBUTNOTOTHERWISENEVERTHELESS,EVENBYPREDICTINGAPOSSIBLECHANGE,ITISONLYNECESSARYTOREEVALUATEELEMENTSWHENTHEPOSSIBLECHANGESOCCURBYFOLLOWINGTHEPOSSIBLEEVENTSTHROUGHTHECIRCUITWECANMINIMIZETHECOMPUTATIONDONEBYTHESIMULATORONLYELEMENTSTHATCHANGENEEDTOBEEVALUATED;ANYTHINGTHATISNOTCHANGINGISIGNORED13设计指标设计一个基于FPGA的数字秒表的具体化技术指标如下。1有启/停开关,用于开始/结束计时操作2表计时长度为59分5999秒,超过计时长度,有溢出则报警,计时长度可手动设置。3置复位开关,在任何情况下只要按下复位开关,秒表都要无条件进行复位清0操作。4用FPGA器件实现,用VHDL语言编程,并进行下载,仿真。14本文工作详细分析课题任务,对数字系统设计的历史和现状进行分析,并对数字秒表的VHDL设计原理进行了深入的研究,并将其综合。本文设计了一个基于FPGA的数字秒表,设计选用ALTERA公司的FPGA芯片FLEX10K系列的EPF10K10LC844,在开发软件MAXPLUS2进行输入、编译、综合、仿真并下载到在系统可编程实验板中测试实现。信号源是由实验板上的时钟信号经分频而得到的001秒信号。而我采用了EDA技术,整个设计仅分两步首先,在MAXPLUS开发工具中,先用VHDL语言分别编写出以上几个模块的文本文件称为底层文件,并将它们分别转换成相应的器件,然后分别进行时序仿真,每个器件的时序仿真结果与设计要求一致;然后,再将这几个模块共相关芯片按电路设计图连接起来,形成顶层文件后进行整个系统的综合,并将整个数字秒表作为一个器件进行时序仿真。仿真完成后,将程序下载到大规模可编程逻辑器件EPM7128SLC8415中,确定引脚的功能,即可实现数字秒表的芯片化。第2章EDA设计方法及其应用传统的电路设计方法都是自底向上进行设计的,也就是首先确定可用的元器件,然后根据这些器件进行逻辑设计,完成个模块后进行连接,最后形成系统。而基于EDA技术的设计方法则是自顶向下进行设计的,也就是首先采用可完全独立于目标器件芯片物理结构的硬件描述语言,在系统的基本功能或行为级上对设计的产品进行描述和定义,结合多层次的仿真技术,在确保设计的可行性于正确的前提下,完成功能确认。然后利用EDA工具的逻辑综合功能,进行逻辑映射及布局布线,在利用产生的仿真文件进行包括功能和时序的验证,以确保实际系统的性能5。21分析方法在基于EDA技术的系统设计最重要的环节在系统的基本功能或行为级上对设计的产品进行描述和定义时,我们是采用自顶向下分析,自底向上设计。所谓“自顶向下分析”就是指将数字系统的整体分解为各个系统和模块,若子系统规模较大,则还需将子系统进一步分解为更小的子系统和模块,层层分解,直至整个系统中各个子系统关系合理、并便于逻辑电路级的设计和实现为止。图21是一个自顶向下设计的结构分解图。所谓“自底向上设计”,就是在自顶向下分析建立各种设计模型的基础上,先进行低层模块的设计,完成低层模块设计后再进行高一层次的设计,依次类推,直到完成顶层的设计为止。采用该方法进行分析和设计时,高层设计进行功能和接口描述,说明模块的功能和接口,模块功能的更详细的描述在下一层次说明,最底层的设计才涉及具体的寄存器和逻辑门电路等方式的描述6。采用自顶向下的设计方法有如下优点自顶向下设计方法是一种模块化设计方法。对设计的描述从上到下逐步由粗略到详细,符合常规的逻辑思维习惯。由于高层设计同器件无关,可以完全独立于目标器件的结构,在设计的最初阶段,设计人员可以不受芯片结构的约束,集中精力对产品进行最适应市场需求的设计,从而避免了传统设计方法的再设计风险,缩短了产品的上市周期。由于系统采用硬件描述语言进行设计,可以完全对立于目标器件的结构,因此设计易于在各种集成电路工艺或可编程器件之间移植。适合多个设计同时进行设计。现在随着技术的不断进步,许多设计由一个设计者已无法完成,必须经过多个设计者分工协作完成一项设计的情况越来越多,在这种情况下,应用自顶向下设计方法便于由多个设计者同时进行设计,对设计任务进行合理分配,用系统工程的方法对设计进行管理。针对具体的设计,实施自顶向下设计方法的形式会有所不同,但均需要遵循以下两条原则逐步分解功能,分层次进行设计。在个设计层次上,考虑相应的仿真验证问题。22结构分解完整树设计部分树设计行为建模行为建模图21自顶向下的结构分解图表示方法221文本表示方法在EDA的设计中,最一般化、普遍性的设计表示方式就是文本表示方式,也就是利用硬件描述语言(HDL)用软件编程方式来表达自己的设计。根据文本表示方式所使用的抽象层次,我们又可将文本表示方式分为行为描述,结构描述,数据流(寄存器传输级)描述。行为描述就是设计一个部件是通过定义它的输入/输出响应来描述,也就是说对一个部件的设计,只描述了所希望电路的功能/行为,而没有直接指明或涉及实现这些行为的硬件结构。结构描述就是设计一个部件是通过一些基本部件的互连来描述,也就是说对一个不见的设计,是通过描述该设计部件的硬件结构/硬件组成来表示的。数据流描述就是一个部件通过一些寄存器部件的互连并在寄存器之间插入组合逻辑来描述,这类积存器或者显示地通过元件具体装配,或者通过推论作隐含的描述7。222图形表示方式在EDA的设计中,有时也用图形表示方式来表示自己的设计。图形表示方式常用的有原理图、状态图、波形图等。图形表示方式的优点是直观、方便,但是其存在以下缺点设计的可读性差;设计的复用性差;设计的移植性差;入档、交流、交付不方便。223文本、图形混用方式在EDA的设计中,根据自己设计所使用的性能及如何使设计简单易行,有时也经常采用文本、图形混用的形式。23实现方法231硬件描述语言编程实现法硬件描述语言编程实现法,就是用VHDL、VERILOGHDL等硬件描述语言来表达自己的设计思想,并使用EDA工具提供的文本编辑器以文本的方式进行设计输入的一种实现方法。它是EDA的设计中最一般化、最具普遍性的实现方法,根据设计系统的实际情况,实际可从行为级、寄存器级、门电路级等不同层次进行描述,非常灵活,并且设计的移植性非常好。所有EDA工具都支持文本方式的编程和编译。232原理图设计实现法原理图设计实现法,就是利用原理图表示自己的设计思想,并使用EDA工具提供的图形编辑器以原理图的方式进行设计输入的一种实现方法。原理图输入法的实现方式,简单、直观、方便,并且可利用许多现成的单元器件或根据需要设计的元器件。233参数可设置兆功能块实现法参数可设置兆功能块实现法,就是设计者可以根据实际电路的设计需要,选择LPM(LIBRARYOFPARAMETERIZEDMODUELS,参数可设置模块库,简称LPM)库中的适当模块,并为其设定适当的参数以满足自己设计的需要的一中实现方法。作为EDIF标准的一部分,LPM形式得到了EDA工具的良好支持,LPM中功能模块的内容丰富。在EDA的设计中,以图形或硬件描述语言模块形式调用兆功能块进行设计,使得基于EDA技术的电子设计能够有效地利用其他优秀电子工程技术人员的硬件设计成果,使得设计效率和可靠性有了很大的提高。234软的或硬的IP实现法软的或硬的IP核实现法,就是在大型系统的设计中,对于某些功能模块的设计,通过调用已经购买的有关公司或电子工程技术人员的软的或硬的IP(知识产权)核来实现自己设计的实现方法。使用该方法,可以快速而高效地实现大型系统的设计或系统集成2。第3章设计思想与方案论证实现数字秒表的方法有多种,可以用单片机作为控制芯片,采用AT89C52单片机,数字显示采用共阳七段LED显示器,P0口输出段码数据,P20P25口作为列扫描输出,P10、P11、P13口接三个开关按钮,用以实现调时及秒表时钟功能切换设置。也可以用FPGA作为控制芯片,采用EDA技术用VHDL语言实现硬件电路。当然每一种方案都有其各自的优点。本章详细列举、说明了三种不同实现数字秒表的方案,对三种方案的优缺点进行了对比,选出了最佳方案。31设计思想1方案1基于单片机控制的数字秒表1秒表计时器采用六位LED数码管显示分、秒,01S,001S。使用按键开关可实现计时调整、秒表功能。2系统硬件电路的设计秒表/时钟计时器的硬件电路设计采用AT89C52单片机,数字显示采用共阳七段LED显示器,P0口输出段码数据,P20P25口作为列扫描输出,P10、P11、P13口接三个开关按钮,用以实现调时及秒表功能切换设置。为了给共阳LED数码管提供驱动电压,采用三极管8550作电源驱动输出。采用12MHZ晶振,有利于提高系统计时的精确性。3系统程序的设计其中包括以下六方面(1)主程序设计采用定时器T0完成中断,其余状态循环调用显示子程序,当功能开关按下时,转入相应的功能程序。(2)显示子程序的设计数码管的数据存放在内存单元70H75H中其中70H71H存放秒数据,72H73H存放分数据,74H75H存放时数据,每一地址单元内均为十进制BCD码。由于采用动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。显示时,先取出70H75H某一地址中的数据,然后查得对应的显示用段码,并从P0口输出,P2口将对应的数码管选通供电,就能显示该地址单元的数据值。(3)定时器T0中断程序设计定时器T0用于时间计时。定时溢出中断周期分别设计为50MS和10MS。中断进入后,先判断是时钟计时还是秒计时,时钟计时中断20次(即1S)时,对秒计数单元进行加1操作,秒表计时时每10MS进行加1操作。时钟技术单元地址分别在70H71H(秒)、76H77H(分)和78H79H(时),最大计时值为23时59分59秒,秒表计数单元地址也在70H71H(001毫秒)、76H77H(秒)和78H79H(分),最大计时值为99分5999秒。7AH单元内存放(0AH)在计数单元中采用十进制BCD码计数,满60(秒表时100)进位(4)T1中断服务程序T1中断服务程序用于指示调整单元数字亮闪。在时间调整状态下,每过03秒,将对应单元的显示数据换成(0AH),即熄灭一次,这样在调整单元的显示数据会间隔闪亮。(5)调时功能程序的设计按下P10口按键,若按下时间小于1S,则进入省电状态(数码管不亮,但时钟不停);否则进入调分状态,等待操作,计时器停止工作。当再次按下该按钮时,若按下时间短于05S,则时间加1分;若按下时间长于05S,则进入小时调整状态。在小时调整状态下,当按下时间长于05S时,退出调整状态,时钟继续走动。P11口按键在调时状态下可实现减1操作。(6)秒表/时钟功能程序在计时状态下,若按P11口按键,则进行时钟秒表功能的切换,转换后计时从零开始。当按下P13口按键时,可实现清0、计时启动、暂停功能。2方案2基于FPGA的数字秒表的设计方案如下其设计思路为通过分频器将晶振所提供的信号分频成001S脉冲作为计时信号,经计数器累加计数,形成六十进制的计数器和一百进制的计数器。经译码器译码后,分位输出给六个7段LED数码管显示为。设计采用六位LED数码管显示分、秒,01S,001S计时方式。使用按键开关可实现开始/结束计时操作,及复位清零操作和计时长度模式选择。一设计要求秒表的功能描述1要求设置复位开关。当按下复位开关时,秒表清零并做好计时准备。在任何情况下只要按下复位开关,秒表都要无条件地进行复位操作,即使是在计时过程中也要无条件地进行清零操作。2要求设置启/停开关。当按下启/停开关后,将启动秒表并开始计时,当再按一下启/停开关时,将终止秒表的计时操作。3要求计时精确度大于001秒。要求设计的计时器能够显示分2位、秒(2位)、01秒(1位),001秒的时间。4要求秒表的最长计时时间为秒表计时长度为59分5999秒,超过计时长度,有溢出则报警,计时长度可手动设置。二秒表的面板包括1显示屏由6个7段数码管组成,用于显示当前时间2QT(启/停键)用于开始/结束计时操作3CLR(复位键)用于秒表计时系统的复位操作4MODE(模式选择键)用于计时长度模式选择5蜂鸣器溢出报警,则发出蜂鸣声32论证分析课题的角度来说可以选用单片机和FPGA芯片作为系统的MCU,从优势上讲利用单片机作为控制系统的核心元器件,其最大的优势是电路简单,价格便宜,实验所需仪器少。而FPGA是英文FIELDPROGRAMMABLEGATEARRAY的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可在有现成的条件下,FPGA还是有其具大的优势比如它的高速性,让我们更清楚地认识到硬件的性能及硬件描述语言对硬件的驱动。FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。所以本方案选用以FPGA作为核心器件来设计。第4章系统设计整个系统设计是采用自顶向下分析,自底向上设计。将数字秒表系统的整体分解为各个模块电路。本章详细介绍了数字秒表系统的各个模块的设计,并对各个模块的每一个部分进行了分析,在后半部分还对系统模型进行了访真与程序调试。各模块之间的每一个坏节都是深思熟虑而成,各自完成相应的功能并组成一个统一的整体。41系统的总体设计411顶层电路设计数字秒表的顶层电路图及时序分析采用硬件描述语言设计一个复杂电路系统,运用自顶向下的设计思想,将系统按功能逐层分割的层次化设计方法。在顶层设计中,要对内部各功能块的连接关系和对外的接口关系进行描述,而功能块实际的逻辑功能和具体的实现形式则由下一层模块来描述。图41顶层电路图根据数字秒表的系统原理框图(42),设计系统的顶层电路图如图41所示。根据图所示的数字秒表系统顶层电路图,按照自顶向下的设计思路,编写各个模块的源程序,最后再对各个模块进行组合,编写顶层描述的源程序。数字秒表系统原理框图42412数字秒表的设计原理1本设计可分为五个主要模块(1)键输入模块电路(含消抖电路)(2)时钟分频电路模块(3)调整控制电路(主控电路模块)(4)计时电路模块按键按键消抖处理分频电路主控电路计时电路报警控制七段数码管译码电路蜂鸣器七段数码管CLK输入FPGA(5)显示控制电路模块(包括溢出报警控制)2系统的总体设计各个输入/输出端口的作用如下CLK为外部时钟信号,CLR为复位信号。QT为启/停开关,用于开始/结束计时操作MODE为模式选择键,用1个电平信号A进行模式选择Q是数据扫描显示的公共七段数码显示驱动端,。它经过外接的译码器译码后接数码管的公共端COM。SOUND用于控制蜂鸣器发声。当SOUND“1”时,扬声器发出蜂鸣声,表示计时超出计时长度(溢出报警)413键输入模块电路(含消抖电路)秒表面板上有3个按键CLR键,QT键及MODE键。因为设计采用的是机械式的按键,由于存在机械触动的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会马上断开。因而在闭合及断开按键的瞬间均伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为510MS。按键时的抖动按键的闭合稳定时间的长短由操作人员的按键动作决定,一般为零点几秒至数秒。键按下前沿抖动闭合抖动后沿抖动按键抖动会引起被误读多次。为确保FPGA对键的闭合仅作一次处理,必须去除按键抖动。通常在按键较少时可用硬件方法消除抖动,一般采用RS触发器作为常用的消抖电路,如果按键较多时,常用软件消除抖动。在EDA的设计应用中,软件消抖的方法即可使用RS触发器进行消抖,也可通过检测按键按下的时间进行消抖。消抖模块的VHDL源程序设计LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLUSEIEEESTD_LOGIC_UNSIGNEDALLENTITYFDOUISPORTCLK,DININSTD_LOGICDOUTOUTSTD_LOGICENDENTITYFDOUARCHITECTUREARCOFFDOUISSIGNALCPSTD_LOGICSIGNALJSQINTEGERRANGE0TO3BEGINPROCESSCLKBEGINIFCLKEVENTANDCLK1THENIFDIN1THENIFJSQ3THENJSQQQQQQQQQQQQCLK,CLK_OUTS1U1FDOUPORTMAPCLKS1,DINCLR,DOUTS2U2FDOUPORTMAPCLKS1,DINQT,DOUTS3U3FDOUPORTMAPCLKS1,DINMODE,DOUTS4U4KZQPORTMAPCLKS1,CLRS2,AS3,BS4,QS5,SEC_ENS6,MIN_ENS7,TSEC_ENS8U5AND21PORTMAPCS1,DS5,ES9U6CNT100PORTMAPCLKS9,CLRS2,ENS8,COS12,BAI1DOUTB1,BAI0DOUTB0U7CNT60_1PORTMAPCLKS12,CLRS2,ENS6,COS10,SEC1DOUTS1,SEC0DOUTS0U8CNT60_2PORTMAPCLKS10,CLRS2,ENS7,COS11,MIN1DOUTM1,MIN0DOUTM0U9AND31PORTMAPXS10,YS11,ZS12,WSOUNDU10DISPPORTMAPDDOUTS1,QSEC16DOWNTO0U11DISPPORTMAPDDOUTS0,QSEC06DOWNTO0U12DISPPORTMAPDDOUTM1,QMIN16DOWNTO0U13DISPPORTMAPDDOUTM0,QMIN06DOWNTO0U14DISPPORTMAPDDOUTB1,QBAI16DOWNTO0U15DISPPORTMAPDDOUTB0,QBAI06DOWNTO0ENDART第5章系统仿真MAXPLUS是美国ALTERA公司自行开发的一种针对其公司生产的系列FPGA的设计、仿真、编程的工具软件,其全称为MULTIPLEARRAYMATERIXANDPROGRAMMABLELOGICUSERSYSTEMSMAXPLUS是FPGA应用软件中比较典型和常见的一种工具,在我国应用较为普遍。41MAXPLUS简介411MAXPLUS的功能MAXPLUS接受对一个电路设计的图形描述电路图或文本描述硬件描述语言,通过编辑、编译、仿真、综合、FPGA编程等一系列过程,将用户所设计的电路原理图或电路描述转变为FPGA内部的基本逻辑单元,写入FPGA芯片中,从而在硬件上实现用户所设计的电路。该FPGA可用于正式的产品,也可作为对最终实现的ASIC芯片的硬件验证。412MAXPLUS的主要特点1开放的界面MAXPLUS软件可与其他EDA厂家的设计输入、综合、验证工具相连接。设计人员可使用ALTERA或标准EDA设计输入工具建立电路设计,使用MAXPLUS编译器COMPILER对ALTERA的器件进行编译,然后使用ALTERA或其他标准EDA验证工具进行验证。目前,MAXPLUS支持与CADENCE,EXEMPLARLOGIC,MENTORGRAPHICS,SYNOPSYS,SYNPLICITY,VIEWLOGIC等公司的EDA工具接口。2与结构无关MAXPLUS系统的核心编译器COMPILER支持ALTERA公司的FLEX10K,FLEX8000,FLEX6000,MAX9000,MAX7000,MAX5000和CLASSIC等可编程逻辑器件系列,提供了业界惟一真正与结构无关的可编程逻辑设计环境。MAXPLUS的编译器还提供了强大的逻辑综合与优化功能,使设计人员能比较容易地将其设计集成到可编程逻辑器件中。3多平台MAXPLUS软件可在多种PC机和工作站的操作系统中运行。其中包括WINDOWSNT351,WINDOWSNT40,WINDOWS95,WINDOWS98,WINDOWS2000,WINDOWSXPSUNSPACSTATIONS,HP9000SERIES700800等。4完全集成化MAXPLUS的设计输入、处理、验证、器件编程等功能全部集成在统一的开发环境下,可以使用户进行动态调试,加快开发进程。5丰富的设计库MAXPLUS提供了丰富的库单元供设计者使用,其中包括74系列的全部器件和多种特殊的逻辑功能(MACROFUNCTION)以及新型的参数化兆功能(MEGAFUNCTION)。6接受高级描述语言MAXPLUS接受多种硬件描述语言(HDL),包括VHDL,VERILOG和ABTERA自己的硬件描述语言AHDL。7MEGACORE功能MEGACORE功能是为复杂的系统级电路提供的经过验证的HDL描述,它能使FLEX10K,FLEX8000,FLWX6000,MAX9000,MAX7000等器件实现最优化设计。设计人员可直接调用这些MEGACORE功能,把主要精力投入到系统级设计上12。42可编程逻辑器件421可编程逻辑器件简介可编程逻辑器件PLDPROGRAMMABLELOGICDEVICE是当前数字系统设的主要硬件基础,是硬件编程语言的物理实现工具。所谓可编程逻辑器件是这样一些器件,其制作工艺采用的是CMOS工艺在这些器件的内部,集成了大量功能独立的分离元件,它们可以是基本逻辑门、由基本逻辑门构成的宏单元,以及与阵列、或阵列等。依据不同需求,芯片内元件的种类、数量可以有不同的设置。此外芯片内还有大量可配置的连线,在器件出厂时,芯片内的各个元件、单元相互间没有连接芯片则不具有任何逻辑功能。芯片内的各个元件、单元如何连接,由用户根据自身设计的电路功能要求通过计算机编程决定。在实际中用户是这样使用上述器件的首先使用计算机,利用专用的软件、硬件对器件进行系列编程;然后通过程序指挥芯片内配置的连线和编程器件,把应连接的元件、单元连接起来。由于芯片内的元件是按用户编写的指令进行连接的,所以,根据用户编写的不同程序,就可制造出具有不同电路功能的器件。我们把这种由用户通过编程手段才使芯片产生一定逻辑功能的器件称为可编程逻辑器件。随着大规模集成电路、超大规模集成电路技术的发展,可编程逻辑器件发展迅速,从20世纪70年代至今,大致可分为以下几个阶段第一阶段PLD诞生阶段及简单PLD发展阶段。第二阶段乘积项可编程结构PLD发展成熟阶段。第三阶段复杂可编程器件发展于成熟阶段。目前简单PLD器件基本上已被淘汰,只有GAL还在应用,主要应用在中小规模数字逻辑方面。现在的可编程逻辑器件以大规模、起大规模集成电路工艺制造的CPLD、FPGA为主。本次设计是基于FPGA的数字秒表设计,在此作一个简要介绍FPGA是英文FIELDPROGRAMMABLEGATEARRAY的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA采用了逻辑单元阵列LCA(LOGICCELLARRAY)这样一个新概念,内部包括可配置逻辑模块CLB(CONFIGURABLELOGICBLOCK)、输出输入模块IOB(INPUTOUTPUTBLOCK)和内部连线(INTERCONNECT)三个部分。FPGA的基本特点主要有(2)采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。(3)FPGA可做其它全定制或半定制ASIC电路的中试样片。(4)FPGA内部有丰富的触发器和IO引脚。(5)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一5FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。FPGA有多种配置模式并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程13。因此在此次设计中我选用的是ALTERA公司的MAX7000系列的EPM7128SLC841512。43系统仿真在本次设计中我利用的EDA工具是ALTERA公司的MAXPLUS对源程序进行编译、选配、优化、逻辑综合,自动地把VHDL描述转变成器件图(如图34、图36、图37、图38),并进而完成电路分析、纠错、验证、自动布局布线、仿真等各种测试工作。在仿真过程中我分别对键盘消抖模块FDOU、分频电路模块、主控模块KZQ、计数器CNT100、CNT60,7段显示译码器进行波形仿真(如图51、图52、图53),结果符合设计要求,整个数字秒表设计完成后,使得原来需要十几块芯片组成的计数字秒表,现在只用一块芯片即可实现,其外引脚图(如图44)所示,对其进行波形仿真(如图45),再通过编程电缆下载数据,将所设计内容下载到所选中的EPM7128SLC8415中,然后再根
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全教育环境的创设培训课件
- 房屋装修工程监理方案(3篇)
- 电器展厅布置工程方案(3篇)
- 农业废弃物资源化利用项目规划建议书(2025年)
- 农业信息化2025年现代种业创新基地建设与推广研究报告
- 林业结构化面试题库及答案
- 跨境英语面试题库及答案
- 客户经营面试题库及答案
- 安全教育培训质量考评课件
- 农业产业园项目产业链上下游合作可行性研究与2025年效益评估报告
- 广西贺州市八步区公道冲钾长石矿采矿权出让收益率评估报告
- 中国人民抗日战争纪念馆面向社会公开招聘工作人员模拟检测试卷【共1000题含答案解析】
- 高考688个高频词汇 word版
- 农副产品购销合同完整版(2篇)
- GB/T 9115.4-2000环连接面对焊钢制管法兰
- 一年级数学上册左、右练习题及答案解析
- GB 9743-1997轿车轮胎
- DB225118-2022建筑工程资料管理标准
- 小学语文口语交际教学讲座PPT
- 上海建筑装饰集团发展战略报告(doc 30)
- 《基础统计》教学案例“郑州市大瓶装纯水市场调查”统计应用案例
评论
0/150
提交评论