




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.z.----.可修编.学号:课程设计题目采用等精度测频原理的频率计学院信息工程学院专业通信工程专业班级姓名指导教师2015年1月15日课程设计任务书学生**:专业班级:指导教师:工作单位:信息工程学院题目:采用等精度测频原理的频率计初始条件:本设计既可以使用集成译码器、计数器、定时器、脉冲发生器和必要的门电路等。本设计也可以使用单片机系统构建多功能数字钟。用数码管显示时间计数值。要求完成的主要任务:(包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。2、技术要求:=1\*GB3①设计一个等精度测频原理的频率计。=2\*GB3②频率测量*围1~9999。③其精度为10的-4次方。④用四位带小数点数码管显示其频率。⑤具有超量程、欠量程提示功能。⑥确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。3、查阅至少5篇参考文献。按《**理工大学课程设计工作规*》要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规*。时间安排:1、2014年12月5日集中,作课设具体实施计划与课程设计报告格式的要求说明。2、2014年12月6日,查阅相关资料,学习电路的工作原理。2、2014年12月7日至2014年12月31日,方案选择和电路设计。2、2015年1月1日至2015年1月6日,电路调试和设计说明书撰写。3、2015年1月7日上交课程设计成果及报告,同时进行答辩。课设答疑地点:鉴主15楼电子科学与技术实验室。指导教师签名:年月日系主任(或责任教师)签名:年月日.z.摘要伴随着集成电路(IC)技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。电子设计自动化是一种实现电系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。数字频率计是一种基本的测量仪器。它被广泛应用与航天、电子、测控等领域。采用等精度频率测量方法具有测量精度保持恒定,不随所测信号的变化而变化的特点。本文首先综述了EDA技术的发展概况,FPGA/CPLD开发的涵义、优缺点,VHDL语言的历史及其优点,概述了EDA软件平台QUARTUSⅡ;然后介绍了频率测量的一般原理,利用等精度测量原理,通过FPGA运用VHDL编程,利用FPGA(现场可编程门阵列)芯片设计了一个8位数字式等精度频率计,该频率计的测量*围为0-100MHZ,利用QUARTUSⅡ集成开发环境进行编辑、综合、波形仿真,并下载到CPLD器件中,经实际电路测试,仿真和实验结果表明,该频率计有较高的实用性和可靠性。关键词:电子设计自动化;VHDL语言;频率测量;数字频率计AbstractTheElectronicDesignAutomation(EDA)technologyhasbeeanimportantdesignmethodofanaloganddigitalcircuitsystemastheintegratedcircuit'sgrowing.TheEDAtechnology,whichiscloselyconnectedwiththeelectronictechnology,microelectronicstechnologyandputerscience,canbeusedindesigningelectronicproductautomatically.Digitalfrequencymeterisabasicmeasuringinstruments.Itiswidelyusedinaerospace,electronics,monitoringandotherfields.Withequalprecisionfrequencymeasurementaccuracytomaintainaconstant,andnotwiththemeasuredsignalvaries.WefirstlypresentsomebackgroundinformationofEDA,FPGA/CPLD,VHDLandtheEDAsoftwareplatformQUARTUSⅡinthisthesis;thenintroducedthegeneralprincipleoffrequencymeasurement,utilizationofprecisionmeasuringprinciple,usingVHDLprogramming,useofFPGA(FieldProgrammableGateArray)chipdesignsuchastheprecisionofadigitalfrequencymeter,thisfrequencymeter'smeasuringrangeis0-100MHZ,useQUARTUSⅡintegrateddevelopmentenvironmentforediting,synthesis,wavesimulation,anddownloadtotheCPLDdevice,bytheactualcircuittesting,simulationande*perimentalresultsshowthatthefrequencymeterhashighpracticalandreliability.Keywords:ElectronicDesignAutomation,VHDL,Frequencymeasurement,digitalfrequencymeter目录摘要IAbstractII目录III1.绪论11.1电子设计自动化(EDA)发展概述21.1.1什么是电子设计自动化(EDA)21.1.2EDA的发展历史21.2基于EDA的FPGA/CPLD开发41.2.1FPGA/CPLD简介41.2.2用FPGA/CPLD进行开发的优缺点51.3硬件描述语言(HDL)71.3.1VHDL语言简介71.3.2利用VHDL语言开发的优点81.4QuartusII概述92.频率测量112.1数字频率计工作原理概述112.2测频原理及误差分析122.3.1常用测频方案122.3.2等精度测频原理122.3.3误差分析13本章小结143.数字频率计的系统设计与功能仿真153.1系统的总体设计153.2信号源模块163.3分频器173.4测频控制信号产生器183.5锁存器193.6十进制计数器193.7显示模块203.7.1显示模块设计203.7.2显示电路213.7.3译码器22本章小结22结论23参考文献25附录一频率计顶层文件26附录二信号源模块源程序27附录三分频器源程序28附录四测频控制信号发生器源程序30附录五32位锁存器源程序32附录六有时钟使能的十进制计数器的源程序33附录七显示模块源程序35-.z.1.绪论21世纪人类将全面进入信息化社会,对微电子信息技术和微电子VLSI基础技术将不断提出更高的发展要求,微电子技术仍将继续是21世纪若干年代中最为重要的和最有活力的高科技领域之一。而集成电路(IC)技术在微电子领域占有重要的地位。伴随着IC技术的发展,电子设计自动化(ElectronicDesignAutomation,EDA)己经逐渐成为重要设计手段,其广泛应用于模拟与数字电路系统等许多领域。EDA是指以计算机大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关开发软件,自动完成用软件方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术[1]。VHDL(超高速集成电路硬件描述语言)是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE(TheInstituteofElectricalandElectronicsEngineers)的一种工业标准硬件描述语言。相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(Top_Down)和基于库(LibraryBased)的设计的特点,因此设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件中去,从而实现可编程的专用集成电路(ASIC)的设计。数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差,可靠性差。随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用VHDL语言。将使整个系统大大简化。提高整体的性能和可靠性。数字频率计是通信设备、音、视频等科研生产领域不可缺少的测量仪器。采用VHDL编程设计实现的数字频率计,除被测信号的整形部分、键输入部分和数码显示部分外,其余全部在一片FPGA芯片上实现。整个系统非常精简,且具有灵活的现场可更改性。本文用VHDL在CPLD器件上实现一种8位数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且能对其他多种频率信号进行测量。具有体积小、可靠性高、功耗低的特点。1.1电子设计自动化(EDA)发展概述什么是电子设计自动化(EDA)在电子设计技术领域,可编程逻辑器件(如PLD,GAL)的应用,已有了很好的普及。这些器件为数字系统的设计带来极大的灵活性。由于这类器件可以通过软件编程而对其硬件的结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程、乃至设计观念。纵观可编程逻辑器件的发展史,它在结构原理、集成规模、下载方式、逻辑设计手段等方面的每一次进步都为现代电子设计技术的革命与发展提供了不可或缺的强大动力。随着可编程逻辑器件集成规模不断扩大,自身功能的不断完善和计算机辅助设计技术的提高,在现代电子系统设计领域中的EDA便应运而生了。电子设计自动化(EDA)是一种实现电子系统或电子产品自动化设计的技术,它与电子技术、微电子技术的发展密切相关,吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,是20世纪90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术就是以计算机为工具,在EDA软件平台上,根据硬件描述语言HDL完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局线、仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下和应用相应的FPGA/CPLD器件,就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。当然,这里的所谓EDA主要是指数字系统的自动化设计,因为这一领域的软硬件方面的技术已比较成熟,应用的普及程度也比较大。而仿真电子系统的EDA正在进入实用,其初期的EDA工具不一定需要硬件描述语言。此外,从应用的广度和深度来说,由于电子信息领域的全面数字化,基于EDA的数字系统的设计技术具有更大的应用市场和更紧迫的需求性。EDA的发展历史EDA技术的发展始于70年代,至今经历了三个阶段。电子线路的CAD(计算机辅助计)是EDA发展的初级阶段,是高级EDA系统的重要组成部分。它利用计算机的图形编辑、分析和存储等能力,协助工程师设计电子系统的电路图、印制电路板和集成电路板图;采用二维图形编辑与分析,主要解决电子线路设计后期的大量重复性工作,可以减少设计人员的繁琐重复劳动,但自动化程度低,需要人工干预整个设计过程。这类专用软件大多以微机为工作平台,易于学用,设计中小规模电子系统可靠有效,现仍有很多这类专用软件被广泛应用于工程设计。80年代初期,EDA技术开始设计过程的分析,推出了以仿真(逻辑模拟、定时分析和故障仿真)和自动布局与布线为核心的EDA产品,这一阶段的EDA已把三维图形技术、窗口技术、计算机操作系统、网络数据交换、数据库与进程管理等一系列计算机学科的最新成果引入电子设计,形成了CAE—计算机辅助工程。也就是所谓的EDA技术中级阶段。其主要特征是具备了自动布局布线和电路的计算机仿真、分析和验证功能。其作用已不仅仅是辅助设计,而且可以代替人进行*种思维。CAE这种以原理图为基础的EDA系统,虽然直观,且易于理解,但对复杂的电子设计很难达到要求,也不宜于设计的优化。所以,90年代出现了以自动综合器和硬件描述语言为基础,全面支持电子设计自动化的ESDA(电子系统设计自动化),即高级EDA阶段、也就是目前常说的EDA。过去传统的电子系统电子产品的设计方法是采用自底而上(Bottom_Up)的程序,设计者先对系统结构分块,直接进行电路级的设计。这种设计方式使设计者不能预测下一阶段的问题,而且每一阶段是否存在问题,往往在系统整机调试时才确定,也很难通过局部电路的调整使整个系统达到既定的功能和指针,不能保证设计一举成功。EDA技术高级阶段采用一种新的设计概念:自顶而下(Top_Down)的设计程序和并行工程(Concurrentengineering)的设计方法,设计者的精力主要集中在所要电子产品的准确定义上,EDA系统去完成电子产品的系统级至物理级的设计。此阶段EDA技术的主要特征是支持高级语言对系统进行描述,高层次综合(HighLevelSynthesis)理论得到了巨大的发展,可进行系统级的仿真和综合。图1.1给出了上述三个阶段的示意图。图1.1EDA发展阶段示意图1.2基于EDA的FPGA/CPLD开发我国的电子设计技术发展到今天,将面临一次更大意义的突破,即FPGA/CPLD(FieldProgrammableGateArray,现场可编程门阵列/ple*ProgrammableLogicDevice,复杂可编程逻辑器件)在EDA基础上的广泛应用。从*种意义上说,新的电子系统运转的物理机制又将回到原来的纯数字电路结构,但却是一种更高层次的循环,它在更高层次上容纳了过去数字技术的优秀部分,对(MicroChipUnit)MCU系统是一种扬弃,在电子设计的技术操作和系统构成的整体上发生了质的飞跃。如果说MCU在逻辑的实现上是无限的话,则FPGA/CPLD不但包括了MCU这一特点,而且可以触及硅片电路线度的物理极限,并兼有串、并行工作方式,高速、高可靠性以及宽口径适用性等诸多方面的特点。不但如此,随着EDA技术的发展和FPGA/CPLD在深亚微米领域的进军,它们与MCU,MPU,DSP,A/D,D/A,RAM和ROM等独立器件间的物理与功能界限已日趋模糊。特别是软/硬IP芯核(知识产权芯核;IntelligencePropertyCore,一种已注册产权的电路设计)产业的迅猛发展,嵌入式通用及标准FPGA器件的呼之欲出,片上系统(SOC)已经近在咫尺。FPGA/CPLD以其不可替代的地位及伴随而来的极具知识经济特征的IP芯核产业的崛起,正越来越受到业内人士的密切关注。FPGA/CPLD简介FPGA和CPLD都是高密度现场可编程逻辑芯片,都能够将大量的逻辑功能集成于一个单片集成电路中,其集成度已发展到现在的几百万门。复杂可编程逻辑器件CPLD是由PAL(ProgrammableArrayLogic,可编程数组逻辑)或GAL(GenericArrayLogic,通用数组逻辑)发展而来的。它采用全局金属互连导线,因而具有较大的延时可预测性,易于控制时序逻辑;但功耗比较大。现场可编程门阵列(FPGA)是由掩膜可编程门阵列(MPGA)和可编程逻辑器件二者演变而来的,并将它们的特性结合在一起,因此FPGA既有门阵列的高逻辑密度和通用性,又有可编程逻辑器件的用户可编程特性。FPGA通常由布线资源分隔的可编程逻辑单元(或宏单元)构成数组,又由可编程I/O单元围绕数组构成整个芯片。其内部资源是分段互联的,因而延时不可预测,只有编程完毕后才能实际测量。CPLD和FPGA建立内部可编程逻辑连接关系的编程技术有三种:基于反熔丝技术的器件只允许对器件编程一次,编程后不能修改。其优点是集成度、工作频率和可靠性都很高,适用于电磁辐射干扰较强的恶劣环境。基于EEPROM内存技术的可编程逻辑芯片能够重复编程100次以上,系统掉电后编程信息也不会丢失。编程方法分为在编程器上编程和用下载电缆编程。用下载电缆编程的器件,只要先将器件装焊在印刷电路板上,通过PC,SUN工作站、ATE(自动测试仪)或嵌入式微处理器系统,就能产生编程所用的标准5V,3.3V或2.5V逻辑电平信号,也称为ISP(InSystemProgrammable)方式编程,其调试和维修也很方便。基于SRAM技术的器件编程数据存储于器件的RAM区中,使之具有用户设计的功能。在系统不加电时,编程数据存储在EPROM、硬盘、或软盘中。系统加电时将这些编程数据实时写入可编程器件,从而实现板级或系统级的动态配置。用FPGA/CPLD进行开发的优缺点我们认为,基于EDA技术的FPGA/CPLD器件的开发应用可以从根本上解决MCU所遇到的问题。与MCU相比,FPGA/CPLD的优势是多方面的和根本性的:(1).编程方式简便、先进。FPGA/CPLD产品越来越多地采用了先进的IEEE1149.1边界扫描测试(BST)技术(由联合测试行动小组,JTAG开发)和ISP(在系统配置编程方式)。在+5V工作电平下可随时对正在工作的系统上的FPGA/CPLD进行全部或部分地在系统编程,并可进行所谓菊花链式多芯片串行编程,对于SRAM结构的FPGA,其下载编程次数几乎没有限制(如Altera公司的FLE*IOK系列)。这种编程方式可轻易地实现红外编程、超声编程或无线编程,或通过线远程在线编程。这些功能在工控、智能仪器仪表、通讯和军事上有特殊用途。(2).高速。FPGA/CPLD的时钟延迟可达纳秒级,结合其并行工作方式,在超高速应用领域和实时测控方面有非常广阔的应用前景。(3).高可靠性。在高可靠应用领域,MCU的缺憾为FPGA/CPLD的应用留下了很大的用武之地。除了不存在MCU所特有的复位不可靠与PC可能跑飞等固有缺陷外,FPGA/CPLD的高可靠性还表现在几乎可将整个系统下载于同一芯片中,从而大大缩小了体积,易于管理和屏蔽。(4).开发工具和设计语言标准化,开发周期短。由于FPGA/CPLD的集成规模非常大,集成度可达数百万门。因此,FPGA/CPLD的设计开发必须利用功能强大的EDA工具,通过符合国际标准的硬件描述语言(如VHDL或Verilog-HDL)来进行电子系统设计和产品开发。由于开发工具的通用性、设计语言的标准化以及设计过程几乎与所用的FPGA/CPLD器件的硬件结构没有关系,所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性,它几乎可用于任何型号的FPGA/CPLD中,由此还可以以知识产权的方式得到确认,并被注册成为所谓的IP芯核,从而使得片上系统的产品设计效率大幅度提高。由于相应的EDA软件功能完善而强大,仿真方式便捷而实时,开发过程形象而直观,兼之硬件因素涉及甚少,因此可以在很短时间内完成十分复杂的系统设计,这正是产品快速进入市场的最宝贵的特征。美国TI公司认为,一个ASIC80%的功能可用IP芯核等现成逻辑合成。EDA专家预言,未来的大系统的FPGA/CPLD设计仅仅是各类再应用逻辑与IP芯核的拼装,其设计周期最少仅数分钟。(5).功能强大,应用广阔。目前,FPGA/CPLD可供选择*围很大,可根据不同的应用选用不同容量的芯片。利用它们可实现几乎任何形式的数字电路或数字系统的设计。随着这类器件的广泛应用和成本的大幅度下降,FPGA/CPLD在系统中的直接应用率正直逼ASIC的开发。同时,FPGA/CPLD设计方法也有其局限性。这主要体现在以下几点:(1).FPGA/CPLD设计软件一般需要对电路进行逻辑综合优化(LogicSynthesis&Optimization),以得到易于实现的结果,因此,最终设计和原始设计之间在逻辑实现和时延方面具有一定的差异。从而使传统设计方法中经常采用的一些电路形式(特别是一些异步时序电路)在FPGA/CPLD设计方法中并不适用。这就要求设计人员更加了解FPGA/CPLD设计软件的特点,才能得到优化的设计。(2).FPGA一般采用查找表(LUT)结构(*ilin*),AND-OR结构(Altera)或多路选择器结构(Actel),这些结构的优点是可编程性,缺点是时延过大,造成原始设计中同步信号之间发生时序偏移。同时,如果电路较大,需要经过划分才能实现,由于引出端的延迟时间,更加大了延迟时间和时序偏移。时延问题是ASIC设计当中常见的问题,要精确地控制电路的时延是非常困难的,特别是在像FPGA/CPLD这样的可编程逻辑当中。(3).FPGA/CPLD的容量和I/O数目都是有限的,因此,一个较大的电路必须经过逻辑划分((LogicPartition)才能用多个FPGA/CPLD芯片实现,划分算法的优劣直接影响设计的性能。(4).由于目标系统的PCB板的修改代价很高,用户一般希望能够在固定引出端分配的前提下对电路进行修改。但在芯片利用率提高,或者芯片I/O引出端很多的情况下,微小的修改往往会降低芯片的布通率。(5).早期的FPGA芯片不能实现内存、模拟电路等一些特殊形式的电路。最新的一些FPGA产品集成了通用的RAM结构。但这种结构要么利用率不高,要么不完全符合设计者的需要。这种矛盾来自于FPGA本身的结构局限性,短期内很难得到很好的解决。(6).尽管FPGA实现了ASIC设计的硬件仿真,但是由于FPGA和门阵列、标准单元等传统ASIC形式的延时特性不尽相同,在将FPGA设计转向其它ASIC设计时,仍然存在由于延时不匹配造成设计失败的可能性。针对这个问题,国际上出现了用FPGA数组对ASIC进行硬件仿真的系统(如Quickturn公司的硬件仿真系统)。这种专用的硬件仿真系统利用软硬件结合的方法,用FPGA数组实现了ASIC快速原型,接入系统进行测试。该系统可以接受指定的测试点,在FPGA数组中可以直接观测(就像软件模拟中一样),所以大大提高了仿真的准确性和效率。1.3硬件描述语言(HDL)硬件描述语言(HDL)是相对于一般的计算机软件语言如C,Pascal而言的。HDL是用于设计硬件电子系统的计算机语言,它描述电子系统的逻辑功能、电路结构和连接方式。设计者可以利用HDL程序来描述所希望的电路系统,规定其结构特征和电路的行为方式;然后利用综合器和适配器将此程序变成能控制FPGA和CPLD内部结构、并实现相应逻辑功能的门级或更底层的结构网表文件和下载文件。硬件描述语言具有以下几个优点:a.设计技术齐全,方法灵活,支持广泛。b.加快了硬件电路的设计周期,降低了硬件电路的设计难度。c.采用系统早期仿真,在系统设计早期就可发现并排除存在的问题。d.语言设计与工艺技术无关。e.语言标准,规*,易与共享和复用。就FPGA/CPLD开发来说,VHDL语言是最常用和流行的硬件描述语言之一。本次设计选用的就是VHDL语言,下面将主要对VHDL语言进行介绍。VHDL语言简介VHDL是超高速集成电路硬件描述语言的英文字头缩写简称,其英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage。它是在70~80年代中由美国国防部资助的VHSIC(超高速集成电路)项目开发的产品,诞生于1982年。1987年底,VHDL被IEEE(TheInstituteofElectricalandElectronicsEngineers)确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本((IEEEstd1076-1987标准)之后,各EDA公司相继推出了自己的VHDL设计环境。此后,VHDL在电子设计领域受到了广泛的接受,并逐步取代了原有的非标准HDL。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展VHDL的内容,公布了新版本的VHDL,即ANSI/IEEEstd1076-1993版本。1996年IEEE1076.3成为VHDL综合标准。VHDL主要用于描述数字系统的结构、行为、功能和接口,非常适用于可编程逻辑芯片的应用设计。与其它的HDL相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的EDA工具和VHDL综合器而言,将基于抽象的行为描述风格的VHDL程序综合成为具体的FPGA和CPLD等目标器件的网表文件己不成问题。VHDL语言在硬件设计领域的作用将与C和C++在软件设计领域的作用一样,在大规模数字系统的设计中,它将逐步取代如逻辑状态表和逻辑电路图等级别较低的繁琐的硬件描述方法,而成为主要的硬件描述工具,它将成为数字系统设计领域中所有技术人员必须掌握的一种语言。VHDL和可编程逻辑器件的结合作为一种强有力的设计方式,将为设计者的产品上市带来创纪录的速度。利用VHDL语言开发的优点VHDL语言与其它HDL语言相比有一些自己的特色,下面作一简要说明。(1)设计功能强、方法灵活、支持广泛。VDHL语言可以支持自上而下(Top_Down)的设计方法,它具有功能强大的语言结构,可用简洁明确的代码描述来进行复杂控制逻辑的设计,可以支持同步电路、异步电路、以及其它随机电路的设计。其*围之广是其它HDL语言所不能比拟的。此外,VHDL语言可以自定义数据类型,这也给编程人员带来了较大的自由和方便。(2)系统硬件描述能力强。VHDL语言具有多层次的设计描述功能,可以从系统的数学模型直到门级电路,支持设计库和可重复使用的组件生成,它支持阶层设计且提供模块设计的创建。VHDL语言能进行系统级的硬件描述是它的一个最突出的优点。(3)可以进行与工艺无关编程。VHDL语言设计系统硬件时,没有嵌入描述与工艺相关的信息,不会因为工艺变化而使描述过时。与工艺技术有关的参数可通过VHDL提供的类属加以描述,工艺改变时,只需修改相应程序中的类属参数即可。(4)VHDL语言标准、规*,易于共享和复用。VHDL既是IEEE承认的标准,故VHDL的设计描述可以被不同的EDA设计工具所支持。从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作平台移植到另一个工作平台去执行。这意味着同一个VHDL设计描述可以在不同的设计项目中采用,方便了设计成果的设计和交流。另外,VHDL语言的语法比较规*,从而其可读性比较好,给阅读和使用都带来了极大的好处。(5)方便ASIC移植。VHDL语言的效率之一,就是如果你的设计是被综合到一个CPLD或FPGA的话,则可以使你设计的产品以最快速度上市。当产品的产量达到相当的数量时,采用VHDL进行的设计可以很容易转成用专用集成电路(ASIC)来实现,仅仅需要更换不同的库重新进行综合。由于VHDL是一个成熟的定义型语言,可以确保ASIC厂商交付优良质量的器件产品。此外,由于工艺技术的进步,需要采用更先进的工艺时,仍可以采用原来的VHDL代码。1.4QuartusII概述QuartusII是Altera提供的FPGA/CPLD开发集成环境,Altera是世界上最大的可编程逻辑器件供应商之一。QuartusII在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MA*+PLUSII的更新换代产品,其界面友好,使用便捷。它提供了一种与结构无关的设计环境,使设计者能方便地进行设计输入、快速处理和器件编程。Altera的QuartusII提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为AlteraDSP开发包进行系统模型设计提供了集成组合环境。QuartusII设计工具完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。QuartusII也可利用第三方的综合工具。同样,QuartusII具备仿真功能,同时也支持第三方的仿真工具,如ModelSim。此外,QuartusII与MATLAB和DSPBuilder结合,可以进行基于FPGA的DSP系统开发和数字通信模块的开发。QuartusII包括模块化的编译器。编译器包括的功能模块有分析/综合器(Analsis&Synthesis)、适配器(Fitter)、装配器(Assembler)、时序分析器(TimingAnalyzer)、设计辅助模块(DesignAssistant)、EDA网表文件生成器(EDANetlistWriter)、编辑数据接口(pilerDatabaseInterface)等。可以通过选择Startpilation来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。还可以通过选择pilerTool(Tools菜单),在pilerTool窗口中运行该模块来启动编译器模块。在pilerTool窗口中,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。此外,QuartusII还包含许多十分有用的LPM(LibraryofParameterizedModules)模块,它们是复杂或高级系统构建的重要组成部分,在SOPC设计中被大量使用,也可以与QuartusII普通设计文件一起使用。Altera提供的LPM函数均基于Altera器件的结构做了优化设计。在许多实用情况中,必须使用宏功能模块才可以使用一些Altera特定器件的硬件功能,如各类片上存储器、DSP模块、LVDS驱动器、PLL以及SERDES和DDIO电路模块等。QuartusII编译器支持的硬件描述语言有VHDL(支持VHDL’87及VHDL’97标准)、VerilogHDL及AHDL(AlteraHDL)。QuartusII支持层次化设计,可以在一个新的编辑输入环境中对使用不同输入设计方式完成的模块(元件)进行调用,从而解决了原理图与HDL混合输入设计的问题。在设计输入之后,QuartusII的编译器将给出设计输入的错误报告。可以使用QuartusII带有的RTLViewer观察综合后的RTL图。QuartusII作为目前CPLD/FPGA开发工具理想的综合、仿真软件,具有许多优良的特性。(1)继承了MA*+PLUSII的优点图形输入依然形象,图形符号与MA*+PLUSII一样符合数字电路的特点,大量74系列器件符号使能初学者在较短的时间里利用图形编辑设计出需要的电路。文本输入几乎和MA*+PLUSII相同,而且在文本的每一行都有行号,使用语言编写的电路清晰易读。低层编辑仍然采用Chipview方式,引脚排列位置映射了实际器件引脚,只要简单地鼠标拖放即可完成低层编辑。(2)支持的器件更多除了支持MA*3000、MA*7000、FLE*6000、FLE*10KE、ACE*1K等MA*+PLUSII已经支持的器件外,还支持PE*20K、APE*20KE、ARE*II、E*CALIBUR-ARM、Mercury、Strati*等MA*+PLUSII下无法支持的大容量高性能的器件。(3)增加了网络编辑功能QuartusII支持一个工作组环境下的设计要求,包括支持基于Internet的协作设计,与Cadence、E*emplarLogi、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。(4)提升了调试能力QuartusII增加了一个新的快速适配编译选项,可保留最佳性能的设置,加快了编译过程,可缩短50%的编译时间,对设计性能的影响小。(5)不足之处软件结构庞大,使用复杂,不如MA*+PLUSII简单、易学易用。2.频率测量2.1数字频率计工作原理概述数字频率计的设计原理实际上是测量单位时间内的周期数。这种方法免去了实测以前的预测,同时节省了划分频段的时间,克服了原来高频段采用测频模式而低频段采用测周期模式的测量方法存在换挡速度慢的缺点。采用一个标准的基准时钟,在单位时间(1s)里对被测信号的脉冲数进行计数,即为信号的频率。由于闸门的起始和结束时刻对于信号来说是随机的,将会有一个脉冲周期的量化误差。进一步分析测量准确度:设待测信号脉冲周期为T*,频率为F*,当测量时间为T=1s时,测量准确度为&=T*/T=1/F*。由此可知直接测频法的测量准确度与信号的频率有关:当待测信号频率较高时,测量准确度也较高,反之测量准确度也较低。因此直接测频法只适合测量频率较高的信号,不能满足在整个测量频段内的测量精度保持不变的要求。
为克服低频段测量的不准确问题,采用门控信号和被测信号对计数器的使能信号进行双重控制,大大提高了准确度。当门控信号为1时,使能信号并不为1,只有被测信号的上升沿到来时,使能端才开始发送有效信号,两个计数器同时开始计数。当门控信号变为0时,使能信号并不是立即改变,而是当被测信号的下一个上升沿到来时才变为0,计数器停止计数。因此测量的误差最多为一个标准时钟周期。当采用100MHz的信号作为标准信号时,误差最大为0.01μs。计算每秒钟内待测信号脉冲个数。这就要求计数使能信号TSTEN能产生一个1秒脉宽的周期信号,并对频率计的每一计数器t10的ENA使能端进行同步控制。当TSTEN为高电平时,允许计数;低电平时,停止计数,并保持其所计的数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒钟的计数值锁存进32位锁存器REG32B中,并由外部的译码器译出并稳定显示。锁存信号之后,必须由清零信号CLR_T对计数器进行清零,为下一秒钟的计数操作做准备。当系统正常工作时,脉冲发生器提供的1Hz的输入信号,经过测频控制信号发生器进行信号的变换,产生计数信号,被测信号通过信号整形电路产生同频率的矩形波,送入计数模块,计数模块对输入的矩形波进行计数,将计数结果送入锁存器中,保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换成相应的能够在数码显示管上可以显示的十进制结果。在数码显示管上可以看到计数结果[3]。2.2测频原理及误差分析常用测频方案频率测量方案方案一:采用周期法。通过测量待测信号的周期并求其倒数,需要有标准倍的频率,在待测信号的一个周期内,记录标准频率的周期数,这种方法的计数值会产生最大为±1个脉冲误差,并且测试精度与计数器中记录的数值有关,为了保证测试精度,测周期法仅适用于低频信号的测量。方案二:采用直接测频法。直接测频法就是在确定的闸门时间内,记录被测信号的脉冲个数。由于闸门时间通常不是待测信号的整数倍,这种方法的计数值也会产生最大为±1个脉冲误差。进一步分析测量准确度:设待测信号脉冲周期为T*,频率为F*,当测量时间为T=1s时,测量准确度为&=T*/T=1/F*。由此可知直接测频法的测量准确度与信号的频率有关:当待测信号频率较高时,测量准确度也较高,反之测量准确度也较低。因此直接测频法只适合测量频率较高的信号,不能满足在整个测量频段内的测量精度保持不变的要求。方案三:采用等精度频率测量法,测量精度保持恒定,不随所测信号的变化而变化。在快速测量的要求下,要保证较高精度的测频,必须采用较高的标准频率信号。单片机受本身时钟频率和若干指令运算的限制,测频速度较慢,无法满足高速、高精度的测频要求;而采用高集成度、高速的现场可编程门阵列FPGA为实现高速、高精度的测频提供了保证。本设计所采用的测频方法就是等精度频率测量法,下面我们将对等精度频率测量法做进一步介绍。等精度测频原理等精度测频方法是在直接测频方法的基础上发展起来的。它的闸门时间不是固定的值,而是被测信号周期的整数倍,即与被测信号同步,因此,避除了对被测信号计数所产生±1个字误差,并且达到了在整个测试频段的等精度测量。其测频原理如图2.1所示。在测量过程中,有两个计数器分别对标准信号和被测信号同时计数。首先给出闸门开启信号(预置闸门上升沿),此时计数器并不开始计数,而是等到被测信号的上升沿到来时,计数器才真正开始计数。然后预置闸门关闭信号(下降沿)到时,计数器并不立即停止计数,而是等到被测信号的上升沿到来时才结束计数,完成一次测量过程。可以看出,实际闸门时间t与预置闸门时间t1并不严格相等,但差值不超过被测信号的一个周期[4]。图2.1等精度测频原理波形图等精度测频的实现方法可简化为图2.2所示。T1和T2是两个可控计数器,标准频率信号从T1的时钟输入端CLK输入;经整形后的被测信号从T2的时钟输入端CLK输入。当预置门控信号为高电平时,经整形后的被测信号的上升沿通过D触发器的Q端同时启动T1和T2。T1、T2同时对标准频率信号和经整形后的被测信号进行计数,分别为NS与N*。当预置门信号为低电平的时候,后而来的被测信号的上升沿将使两个计数器同时关闭,所测得的频率为(FS/NS)*N*。则等精度测量方法测量精度与预置门宽度的标准频率有关,与被测信号的频率无关。在预置门时间和常规测频闸门时间相同而被测信号频率不同的情况下,等精度测量法的测量精度不变。图2.2等精度测频实现原理图误差分析设在一次实际闸门时间t中计数器对被测信号的计数值为N*,对标准信号的计数值为Ns。标准信号的频率为fs,则被测信号的频率如式(2-1):f*=(N*/Ns)·fs(2-1)由式1-1可知,若忽略标频fs的误差,则等精度测频可能产生的相对误差如式(2-2):δ=(|f*e-f*|/f*e)×100%(2-2)其中f*e为被测信号频率的准确值。在测量中,由于f*计数的起停时间都是由该信号的上升沿触发的,在闸门时间t内对f*的计数N*无误差(t=N*T*);对fs的计数Ns最多相差一个数的误差,即|ΔNs|≤1,其测量频率如式(2-3):f*e=[N*/(Ns+ΔNs)]·fs(2-3)将式(2-1)和(2-3)代入式(2-2),并整理如式(2-4):δ=|ΔNs|/Ns≤1/Ns=1/(t·fs)(2-4)由上式可以看出,测量频率的相对误差与被测信号频率的大小无关,仅与闸门时间和标准信号频率有关,即实现了整个测试频段的等精度测量。闸门时间越长,标准频率越高,测频的相对误差就越小。标准频率可由稳定度好、精度高的高频率晶体振荡器产生,在保证测量精度不变的前提下,提高标准信号频率,可使闸门时间缩短,即提高测试速度[5]。本章小结本章从各个方面说明了频率计的工作原理,介绍了频率测量的原理和误差的分析,通过对各种频率测量方法的比对,对等精度频率计的实现,在理论上起到了作用。3.数字频率计的系统设计与功能仿真3.1系统的总体设计当系统正常工作时,由系统时钟提供的100MHz的输入信号,经过信号源模块,先通过100分频产生1MHZ的时钟信号,再将1MHZ的时钟信号分频产生多种频率输出,其中1HZ的输出频率被作为控制模块的时钟输入,7812HZ的输出频率被作为显示模块的时钟输入,由控制模块产生的计数使能信号testen和清零信号clr对计数模块进行控制,而由其产生的锁存信号load对锁存模块进行控制,一旦计数使能信号为高电平,并且时钟上升沿到来,计数器便开始正常计数,清零信号到来则计数清零,而当锁存信号为高电平时,数据便被锁存器锁存,然后将锁存的数据输出到显示模块显示出来,数据锁存保证系统可以稳定显示数据,显示译码驱动电路将二进制表示的计数结果转换成相应的能够在数码显示管上可以显示的十进制结果。在数码显示管上可以看到计数结果。数字频率计的原理框图如图3.1所示。主要由5个模块组成,分别是:信号源模块、控制模块、计数模块、锁存器模块和显示器模块[6]。图3.1数字频率计的原理框图根据数字频率计的系统原理,t控制信号发生器。testctl的计数使能信号testen能产生一个1s宽的周期信号,并对频率计的每一计数器t10的ENA使能端进行同步控制:当testen高电平时允许计数、低电平时停止计数。reg32b为锁存器。在信号load的上升沿时,立即对模块的输入口的数据锁存到reg32b的内部,并由reg32b的输出端输出,然后,七段译码器可以译码输出。在这里使用了锁存器,好处是可以稳定显示数据,不会由于周期性的清零信号而不断闪烁。
t10为十进制计数器。有一时钟使能输入端ENA,用于锁定计数值。当高电平时允许计数,低电平时禁止计数。将八个十进制计数器t10级联起来实现8位十进制计数功能[2,7]。
disply为七段译码显示驱动电路,可以将频率计数的结果译成能在数码管上显示的相对应的阿拉伯数字,便于读取测量的结果。为了实现系统功能,测频控制信号发生器testctl、计数器t10、锁存器reg32b存在一个工作时序的问题,设计时需要综合考虑。8位数字频率计的顶层框图(endfreq.bdf),设计实现包括信号源模块(F1MHZ、T)、频率计模块(FREQ)和显示模块(display)三大模块。下面分别介绍三个模块的结构和实现方法。3.2信号源模块信号源是为了产生1MHz的门控信号和待测的定频信号,而对输入系统时钟clk(50MHz)进行分频的模块,设计源代码PIN1MHZ.VHD对输入系统时钟clk(50MHz)进行分频产生1MHz信号。PIN1MHZ的封装图如3.2所示,图中CLKIN为接入的100MHZ信号,图中CLKOUT为接到T的CLK的1MHZ的信号。图3.2PIN1MHZ封装图PIN1MHZ的工作时序仿真图如图3.3所示。图3.3信号源模块仿真图从PIN1MHZ的工作时序仿真图可以看出:由系统时钟提供的100MHz的输入信号,经过信号源模块,通过100分频产生1MHZ的时钟信号,达到了设计所需的预期效果。3.3分频器此程序要求将1MHZ的输入频率分别进行21分频(产生500KHZ的输出频freq500k)、23分频(产生125KHZ的输出频率freq125k)、25分频(产生31250HZ的输出频freq31250)、27分频(产生7812HZ的输出频率freq7812)、29分频(产生1953HZ的输出频率freq1953)、211分频(产生488HZ的输出频率freq488)、213分频(产生1HZ的输出频率freq1)。T的封装图如图3.4,图中CLK为PIN1MHZ输入的1MHZ信号,freq1为输出给控制信号发生器的1HZ信号,7812HZ的输出频率freq7812被作为显示模块的时钟输入,freq488、freq1953、freq31250、freq125K、freq500K作为待测信号。图3.4T封装图T的工作时序仿真图如图3.5所示。图3.5T的时序仿真图当1MHZ频率波形输入后,分别产生了设计所需要的500KHZ的输出频freq500k,125KHZ的输出频率freq125k,31250HZ的输出频freq31250,7812HZ的输出频率freq7812,1953HZ的输出频率freq1953,488HZ的输出频率freq488,1HZ的输出频率freq1。3.4测频控制信号产生器控制模块的作用是产生测频所需要的各种控制信号。控制信号的标准输入时钟为1HZ,每两个时钟周期进行一次频率测量。该模块产生的3个控制信号,分别为TSTEN,LOAD,CLR_T.CLR_T信号用于在每次测量开始时,对计数器进行复位,以清除上次测量的结果,该复位信号高电平有效,持续半个时钟周期的时间。TSTEN为计数允许信号,在TSTEN信号的上升沿时刻计数模块开始对输入信号的频率进行测量,测量时间恰为一个时钟周期(正好为单位时间1s),在此时间里被测信号的脉冲数进行计数,即为信号的频率。然后将值锁存,并送到数码管显示出来。设置锁存器的好处是使显示的数据稳定,不会由于周期性的清零信号而不断闪烁。在每一次测量开始时,都必须重新对计数器清0[7]。测频控制产生器如图3.6,图中CLK接T的FREQ1的1HZ的信号,TSTEN为计数允许信号,接计数器T10的ENA,CLR_T信号用于在每次测量开始时,对计数器进行复位,接计数器T10的CLR,LOAD接锁存器的LOAD。图3.6TESTCTL的封装图测频控制信号发生器TESTCTL的工作时序图,控制模块的几个控制信号的时序关系图如图3.7所示。图3.7TESTCTL的时序仿真图从图中可看出,计数使能信号TSTEN在1s的高电平后,利用其反相值的上跳沿产生一个锁存信号LOAD,随后产生清0信号上跳沿CLR_T。为了产生这个时序图需首先建立一个由D触发器构成的二分频器,在每次时钟CLK上升沿到来时令其翻转。其中,控制信号时钟clk的频率取1HZ,而信号TSTEN的脉宽恰好为1s,可以用作闸门信号。此时,根据测频的时序要求,可得出信号LOAD和CLR_T的逻辑描述。由图可知,在计数完成后,计数使能信号TETEN在1s的高电平后,利用其反相值的上跳沿产生一个锁存信号LOAD,0.5s后,CLR_T产生一个请零信号上跳沿。3.5锁存器锁存器模块也是必不可少的,测量模块测量完成后,在load信号的上升沿时刻将测量值锁存到寄存器中,然后输出到显示模块。锁存器是起数据保持的作用,它将会把数据保存到下次触发或复位。主要是主从触发器组成的。用于存储数据来进行交换,使数据稳定下来保持一段时间不变化,直到新的数据将其替换。锁存器REG32B的封装如图3.8,图中LOAD接控制测频产生器TESTCTL的LOAD,而DIN[31..0]接计数器T10的CQ[3..0],DOUT[31..0]接显示器display的in端。图3.8REG32B的封装图32位锁存器REG32B的工作时序图如图3.9。图3.9REG32B的时序仿真图本程序是用来实现锁存器模块的功能,但它的程序相当简单,在锁存信号load的上升沿到来时,锁存器将测量值锁存到寄存器,然后输出到显示模块。但从仿真图3.9中可以明显的看出,锁存输出并不是立即进行的,而是经历了一个短暂的延时,这是由于硬件引起的。3.6十进制计数器计数器模块是由8个带有异步清零端,进位信号输出的模为10的计数模块级连而成。通过(freq.vhd)进行元件例化实现。此十进制计数器的特殊之处是,有一时钟使能输入端ENA,用于锁定计数器。当高电平计数允许,低电平时计数禁止。计数器模块用于对输入信号的脉冲进行计数,该模块必须有计数允许、异步清零等端口,以便于控制模块对其进行控制。T10的封装如图3.10,其中CLR为复位接TESTCTL的CLR_T端,ENA接TESTCTL的TSTEN端,CQ[3..0]接锁存器的DOUT[31..0]端。图3.10T10的封装图有时钟使能的十进制计数器T10的工作时序仿真如图3.11。图3.11T10的时序仿真图此程序模块实现的功能是带使能端的10进制计数。程序要求只有当使能端信号为高电平时计数器才能正常工作,每个时钟的上升沿到来时计数器加1,因为这里要实现的是10进制计数,所以当计数到10时计数器清零,同时产生进位信号,这里的进位信号仅为一个脉冲信号,一旦计数从10变为1,脉冲信号立即变为低电平。同时该计数器也应带有清零信号,一旦清零信号为高电平,计数器立即清零。显示模块显示模块设计LED有段码和位码之分,所谓段码就是让LED显示出八位数据,一般情况下要通过一个译码电路,将输入的4位2进制数转换为与LED显示对应的8位段码。位码也就是LED的显示使能端,对于共阴级的LED而言,低电平使能,在本设计中设计了一个3位的循环计数器,将计数结果输入到译码器,译码结果输出即可依次使能每个LED。例如:要让8个LED同时工作显示数据,就是要不停的循环扫描每一个LED,并在使能每一个LED的同时,输入所需显示的数据对应的8位段码。虽然8个LED是依次显示,但是受视觉分辨率的影响,看到的现象是8个LED同时工作。display模块的顶层图如下所示。T计数产生扫描信号(位码),LED模块用于查表产生LED段码输出。图3.12位display的封装图。图中in0~in7接锁存器的DOUT[31..0]端。图3.12display的封装图display工作时序图如下图3.13。图3.13disply工作时序图用8个LED将待测频率显示出来,将通过十进制计数器的时钟信号CLK,输出为时钟信号计数译码后的显示驱动端,在八段LED译码为对应的八段二进制编码,并由数码显示器显示出来。图3.13中为相应二进制编码与相对应的屏显数字。显示电路图3.14display硬件结构图此部分如图3.14,图中主要由0~7循环累加器、3-8译码器、BCD-7段显示译码器、8选1多路数据开关和8个LED显示器组成的扫描数码显示器。译码器74138译码器作为数据分配器的功能表如表1所示。表174LS138编码器作为数据分配器的功能表输入输出EN1EN2BEN2ACBAY0Y1Y2Y3Y4Y5Y6Y700****1111111110D000D111111110D0011D11111110D01011D1111110D011111D111110D1001111D11110D10111111D1110D110111111D110D1111111111D74LS138的3个译码输入C、B、A用做数据分配器的地址输入,8个输出Y0~Y7用做8路数据输出,3个输入控制端中的EN2A用做数据输入端,EN2B接地,EN1用做使能端[6]。当EN1=1,允许数据分配,若需要将输入数据转送至输出端Y2,地址输入应为CBA=010,由功能表可得:(3-1)而其余输出端均为高电平。因此,当地址CBA=010时,只有输出端Y2得到与输入相同的数据波形。本章小结本章介绍了频率计的各个软件组成模块,通过运用QUARTUSⅡ集成开发环境对各功能模块进行编辑、综合、波形仿真,对各功能模块的的仿真图,及其仿真功能做了基本讲解,对本设计的实现起到了主要作用。结论本设计对等精度频率计进行了系统的设计。首先介绍了频率测量的一般方法,着重介绍等精度测频原理并进行了误差分析,利用等精度测量原理,通过FPGA运用VHDL编程,利用FPGA(现场可编程门阵列)芯片设计了一个8位数字式等精度频率计,该频率计的测量*围为0-100MHZ,利用QUARTUSⅡ集成开发环境进行编辑、综合、波形仿真,并下载到CPLD器件中,经实际电路测试,仿真和实验结果表明,该频率计有较高的实用性和可靠性,达到预期的结果。和传统的频率计相比,利用FPGA设计的频率计简化了电路板设计,提高了系统设计的实用性和可靠性,实现数字系统的软件化,这也是数字逻辑设计的趋势。这次课程设计不但让我对本专业的相关基础知识进行了很好的复习,还对原由书本上的知识进行了拓展和延伸,不但锻炼了我的动手能力,也锻炼了我处理问题的能力,学会了许多新的知识。参考文献[1]江国强.EDA技术与应用.:电子工业,2011年7月[2]谭会生,*昌凡.EDA技术及应用.**:**电子科技大学,2011年7月[3]王伶俐,周学功,王颖.系统级FPGA设计与应用.:清华大学,2012年1月[4]李国洪,沈明山.可编程器件EDA技术与实践.:机械工业,2004年7月[5]王锁萍.电子设计自动化教程.**:电子科技大学,2000年2月[6]*川等.StepByStep现场可编程门阵列设计入门与进阶,2008年10月[7](美)肖特.乔芦峰(译).VHDL大学实用教程.电子科技大学,2011年9月[8]胡乾斌,李光斌,李玲,喻红.单片微型计算机原理与应用.**:华中科技大学,2014年1月[9]李玉山,来新泉.电子系统集成设计技术.:电子工业,2002年10月[10](美)PeterJ.Ashenden.葛红,黄河,吴继明(译).VHDL设计指南.:机械工业,2005年6月附录一频率计顶层文件附录二信号源模块源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYPIN1MHZ_1ISPORT(clkin:INSTD_LOGIC;clkout:OUTSTD_LOGIC);ENDPIN1MHZ_1;ARCHITECTUREAOFPIN1MHZ_1ISBEGINPROCESS(clkin)variablettemp:INTEGERRANGE0TO99;BEGINIFclkin='1'ANDclkin'eventTHENIFttemp=99THENttemp:=0;ELSEIFttemp<50THENclkout<='1';ELSEclkout<='0';ENDIF;ttemp:=ttemp+1;ENDIF;ENDIF;ENDPROCESS;ENDA; 附录三分频器源程序libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitytisport(clk:instd_logic;--1MHz输入freq1:outstd_logic;--1Hz输出 freq488:outstd_logic;--488Hz输出 freq1953:outstd_logic;--1953Hz输出 freq7812:outstd_logic;--7812Hz输出 freq31250:outstd_logic;--31250Hz输出 freq125k:outstd_logic;--125KHz输出 freq500k:outstd_logic);--500KHz输出endt;architecturebehvoftissignaltemp:std_logic_vector(19downto0);beginprocess(clk)beginifclk'eventandclk='1'theniftemp="111"thentemp<="000";elsetemp<=temp+1;endif;endif;endprocess;freq1<=temp(19);freq488<=temp(10);freq1953<=temp(8);freq7812<=temp(6);freq31250<=temp(4);freq125k<=temp(2);freq500k<=temp(0);endbehv;附录四测频控制信号发生器源程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYTESTCTLISPORT(CLK:INSTD_LOGIC;--1Hz测频控制时钟TSTEN:OUTSTD_LOGIC;--计数器时钟使能CLR_T:OUTSTD_LOGIC; --计数器清零LOAD:OUTSTD_LOGIC); --输出锁存信号ENDTESTCTL;ARCHITECTUREARTOFTESTCTLISSIGNALDIV2CLK:STD_LOGIC;SIGNALCLR:STD_LOGIC;SIGNALloadt:STD_LOGIC;BEGINPROCESS(CLK)ISBEGINIFCLK'EVENTANDCLK='1'--1HZ时钟二分频 THENDIV2CLK<=NOTDIV2CLK;ENDIF;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度吉林省护师类之社区护理主管护师综合练习试卷A卷附答案
- 2024年度吉林省护师类之社区护理主管护师能力检测试卷B卷附答案
- 2025年中成药制药生产线项目发展计划
- 2025年部编版三年级下册课外拓展活动计划
- 医疗服务提升资金投入计划
- 建筑装饰行业发展研究报告
- 2025第二学期少先队志愿者服务计划
- 2025春季学期城市低收入家庭学生资助计划
- 2024年小学信息技术教育计划
- 疫情期间电力施工的安全防护措施
- 施工机具专项施工方案
- 苏教版三年级科学(下)第一单元综合测试卷植物的一生(一)含答案
- API-650-1钢制焊接石油储罐
- 少儿美术绘画教学课件 艺库美术 10岁-12岁 《创意素描-洗刷刷》
- 档案移交清单
- 2022年“华罗庚杯”全国初中数学预赛-竞赛试题及答案
- 减速机生产工艺流程图
- 金融科技课件(完整版)
- 网络直播行业税收检查指引
- 初中三年主题班会整体规划
- 山东物业服务星级标准对照表x
评论
0/150
提交评论