版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
..学生应具备的条件具有EDA专业知识,并有分析问题的能力和了解频率计的构造原理,MaxPlusⅡ的使用主要研究内容目标特色1.完成以FPGA芯片为核心,采用硬件描述语言来设计数字频率计2.根据个人设计项目,系统分析各模块后编写程序,完成在FPGA芯片上的调试并最终完成设计论文的撰写。3.完成数字频率计的设计,采用模块法进行一一分析且仿真4.运用MaxPlusⅡ编写程序,并进行波形仿真和在FPGA芯片上调试且优化程序5.根据设计要求进行综合调试,并最终完成设计任务和论文的撰写成果描述设计一个能够将所测频率分为六档进行自动换档的数字频率计,且高位显示档位,并有秒表功能。第0档:a×100;第1档:a×101;第2档:a×102;第3档:a×103;第4档:a×104;第5档:a×105〔基本单位:HZ,a:读数。成果价值频率计是工程技术人员必不可少的测量工具,也是电子领域里的一项重要内容而高精度频率计的应用尤为广泛,不少物理的测量,如转速、振动频率等测量都涉及到或可以转化为频率的测量,多功能频率计设计的完成可以实现。开展本课题的意义及工作内容:在电子工程,资源勘探,仪器仪表等相关应用中,频率计是工程技术人员必不可少的测量工具,频率测量也是电子领域里的一项重要内容,而高精度频率计的应用尤为广泛,不少物理的测量,如转速、振动频率等测量都涉及到或可以转化为频率的测量,多功能频率计设计的完成可以实现。采用了在FPGA芯片上实现高精度频率计的设计原理和具体的VHDL语言编程思路。课题工作的总体安排及进度:第一周:根据论题内容查找有关资料,做好毕业设计的前期工作,并与指导老师讨论相关设计相关计划,便于今后更好进行,写好开题报告第二周至第七周:软件的设计,撰写论文安排如下:2月下旬对VHDL语言进一步加强巩固,为更好地编写程序;3月份主要工作在于软件设计和进行实验验证结果;3月下旬至4月上旬进行论文撰写及修改的完成第八周:准备答辩课题预期达到的效果:所测频率可以进行自动换档的数字频率计,且高位显示档位,并有秒表功能。第0档:a×100;第1档:a×101;第2档:a×102;第3档:a×103;第4档:a×104;第5档:a×105〔基本单位:HZ,a:读数二、文献综述20世纪末,数字电子技术得到了飞速发展,有力地推动和促进了社会生产力的发展和社会信息化的提高,数字电子技术的应用已经渗透到人类生活的各个方面。从计算机到手机,从数字到数字电视,从家用电器到军用设备,从工业自动化到航天技术,都尽可能采用了数字电子技术。现代电子设计技术的核心是EDA技术。EDA技术就是以计算机为工具,在EDA软件平台上,对硬件语言HDL为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑化简、逻辑综合及优化、逻辑仿真,直至对特定目标芯片的适配编译、逻辑映射和编程下载等工作〔文本选用的开发工具为Altera公司的MAX+PLUSII。EDA的仿真测试技术只需要通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,大大提高了大规模系统电子设计的自动化程度。设计者的工作仅限于利用软件方式,即利用硬件描述语言〔如VHDL来完成对系统硬件功能的描述。EDA技术使实现,极大地提高了设计效率,缩短了设计周期,节省了设计成本。今天EDA技术已经成为电子设计的重要工具,无论是设计芯片还是设计系统,如果没有EDA工具的支持,都将是难以完成的。EDA工具已经成为现代电路设计工程师的重要武器,正在发挥越来越重要的作用。为了提高自身的实践能力与专业知识应用能力,为了更快地与社会实际和社会需要接轨,这次毕业设计我选择了以EDA技术为方向,设计数字频率计,在所参考的文献中,都包含了这一技术。相信通过此次毕业设计将为我更全面更系统更深入地掌握EDA技术打下良好的基础。EDA发展历程EDA技术伴随着计算机、集成电路、电子系统设计的发展,经历了三个发展阶段,即:20世纪70年代发展起来的CAD技术;0世纪80年代开始应用的CAE技术;20世纪90年代后期,出现的以硬件描述语言、系统级仿真和综合技术为特征的EDA技术,这时的EDA工具不仅具有电子系统设计的能力,而且能提供独立于工艺和厂家的系统级设计能力,具有高级抽象的设计构思手段。EDA技术涉及面广,内容丰富,从教学和实用的角度看,主要有以下四个方面内容:<1>大规模可编程逻辑器件;<2>硬件描述语言;<3>软件开发工具;<4>实验开发系统。其中,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体;硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段;软件开发工具是利用EDA技术进行电子系统设计的智能化、自动化设计工具;实验开发系统是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。随着现代半导体的精密加工技术发展到深亚微米<0.18~0.35um>阶段,基于大规模或超大规模集成电路技术的定制或半定制ASIC<ApplicationSpecificIC即专用集成电路>器件大量涌现并获得广泛的应用,使整个电子技术与产品的面貌发生了深刻的变化,极大地推动了社会信息化的发展进程。而支撑这一发展进程的主要基础之一,就是EDA技术。可编程逻辑器件可编程逻辑器件是近几年才发展起来的一种新型集成电路,是当前数字系统设计的主要硬件基础,是硬件编程语言HDL物理实现工具。可编程逻辑器件对数字系统设计自动化起着推波助澜的作用,可以说,没有可编程逻辑器件就没有当前的数字电路自动化。目前,由于这种以可编程逻辑器件为原材料.从"制造自主芯片"开始的EDA设计模式己成为当前数字系统设计的主流,若要追赶世界最先进的数字系统设计方法,就要认识并使用可编程逻辑器件。数字集成电路本身在不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路<VLSIC,几万门以上>以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路<ASIC>芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件<FPLD>,其中应用最广泛的当属现场可编程门阵列<FPGA>和复杂可编程逻辑器件<CPLD>。可编程逻辑器件正处于高速发展的阶段。新型的FPGA/CPLD规模越来越大,成本越来越低。高性价比使可编程逻辑器件在硬件设计领域扮演着日益重要的角色。低端CPLD已经逐步取代了74系列等传统的数字元件,高端的FPGA也在不断地夺取ASIC的市场份额,特别是目前大规模FPGA多数支持可编程片上系统〔SOPC,与CPU或DSPCore的有机结合使FPGA已经不仅仅是传统的硬件电路设计手段,而逐步升华为系统级实现工具。基于EDA技术的数字系统层次化设计方法EDA<ElectronicsDesignAutomation>技术的出现使数字系统的分析与设计方法发生了根本的变化,采用的基本设计方法主要有三种:直接设计、自顶向下<Top-to-Down>设计、自底向上<Buttom-to-Up>设计。直接设计就是将设计看成一个整体,将其设计成为一个单电路模块,它适合小型简单的设计。而一些功能较复杂的大型数字逻辑系统设计适合自顶向下或自底向上的设计方法。自顶向下的设计方法就是从设计的总体要求入手,自顶向下地将设计划分为不同的功能子模块,每个模块完成特定的功能,这种设计方法首先确定顶层模块的设计,再进行子模块的详细设计,而在子模块的设计中可以调用库中已有的模块或设计过程中保留下来的实例。自底向上的设计方法与自顶向下的设计方法恰恰相反。在数字系统的EDA设计中往往采用层次化的设计方法,分模块、分层次地进行设计描述。描述系统总功能的设计为顶层设计,描述系统中较小单元的设计为底层设计。整个设计过程可理解为从硬件的顶层抽象描述向最底层结构描述的一系列转换过程,直到最后得到可实现的硬件单元描述为止。层次化设计方法比较自由,既可采用自顶向下的设计也可采用自底向上设计,可在任何层次使用原理图输入和硬件描述语言HDL设计。现代数字系统的设计方法一般都是自顶向下<Top-to-Down>的层次化设计方法,即从整个系统的整体要求出发,自上而下地逐步将系统设计内容细化,即把整个系统分割为若干功能模块,最后完成整个系统的设计。在电子设计领域,自顶向下的层次化设计方法,只有在EDA技术得到快速发展和成熟应用的今天才成为可能,自顶向下的层次化设计方法的有效应用必须基于功能强大的EDA工具,具备集系统描述、行为描述和结构描述功能为一体的硬件描述语言HDL,以及先进的ASIC制造工艺和CPLD/FPGA开发技术。当今,自顶向下的层次化设计方法已经是EDA技术的首选设计方法,是CPLD/FPGA开发的主要设计手段。EDA技术的未来从目前的EDA技术来看,其发展趋势是政府重视、使用普及、应用广泛、工具多样、软件功能强大。中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PCB制板和小型ASIC领域,仅有小部分〔约11%的设计人员开发复杂的片上系统器件。为了与XX地区和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要引进和学习一些最新的EDA技术。在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点。要大力推进制造业信息化,积极开展计算机辅助设计〔CAD、计算机辅助工程〔CAE、计算机辅助工艺〔CAPP、计算机辅助制造〔CAM、产品数据管理〔PDM、制造资源计划〔MRPII及企业资源管理〔ERP等。有条件的企业可开展"网络制造",便于合作设计、合作制造,参与国内和国际竞争。开展"数控化"工程和"数字化"工程。自动化仪表的技术、发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机〔M3C结构。在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方面发展。外设技术与EDA工程相结合的市场前景看好,如组合超大屏幕的相关连接,多屏幕技术也有所发展。中国1995年以来加速开发半导体产业,先后建立了几所设计中心,推动系列设计活动以应对亚太地区其它EDA市场的竞争。在EDA软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具。日本、韩国都有ASIC设计工具,但不对外开放。中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。相信在不久的将来会有更多更好的设计工具在各地开花结果。据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年增长率分别达到了50%和30%。结束语EDA技术为现代数字系统理论和设计的表达与应用提供了可能性,它已不是某一学科的分支,而是一门综合性学科。EDA技术打破了计算机软件与硬件间的壁垒,使计算机的软件技术与硬件实现、设计效率和产品性能合二为一,它代表了数字电子设计技术和应用技术的发展方向。21世纪将是EDA技术的高速发展时期,并着眼于数字逻辑向模拟电路和数模混合电路的方向发展。EDA将会超越电子设计的范畴进入其他领域,随着基于EDA的SOC设计技术的发展、软硬核功能库的建立、IP核复用,以及基于HDL的自顶向下的设计理念的确立,未来的电子系统级设计<ESL>将不再是电子工程师们的专利。简述毕业设计开始以来所做的具体工作和取得的进展或成果具体工作如下:〔1从毕业设计开始,根据所设计的项目,通过上网、图书馆等途径进行资料的收集和整理,对所得的资料进行详细地阅读和充分地理解,并确定了设计的总体框架和各模块组成。〔2根据个人设计项目,构思总体方案,然后再对各个模块进行分析。〔3了解各个功能模块可以实现的方案与途径,再对各个方案进行优缺点比较并确定最后的方案。〔4先用MAX+PLUSⅡ软件对各模块的波形仿真后,再用模块法进行整体的调试,通过编译后将其下载到FPGA芯片上,最后连接好各管脚,根据要求进行调试,使设计结果满足要求。〔5根据设计要求利用MAX+PLUSⅡ编写、调试和优化程序,根据功能要求对其进行修改,直至达到要求能实现所需的功能。目前存在问题,下一步的主要研究任务,具体设想与安排程序调试可行,各模块设计的电路也可以实现其功能,目前存在的问题就是设计的系统有时会不稳定,还有读取的数值反应很慢,不能及时获取,这就要求我们提高系统的稳定性和抗干扰性,并实现如何使理论与实际相结合起来进行综合调试,使设计能实现其相应的功能。[摘要]介绍一种以FPGA<FieldProgrammableGateArray>为核心,基于硬件描述语言VHDL的数字频率计设计与实现,采用模块化单元构建系统,进行数字频率计设计与开发的新方法。数字频率计是一种基本的测量仪器,它被广泛应用与航天、电子、测控等领域。它的基本测量原理是,首先通过分频器得到1Hz的时钟,然后用计数器计数信号在1S中里的脉冲个数,把标准时间内的计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用数码管显示出来。引言............................................................................<1>1设计任务.....................................................................<2>2总体方案论证与比较..................................................<2>3EDA及硬件描述语言介绍...............................................<2>3.1EDA技术和VHDL语言的特点..............................................<2>3.2FPGA芯片和EPF10K10LC84-4N简单介绍......................................<3>3.3MAX+PLUSⅡ软件介绍..................................................<3>4频率计的设计原理....................................................<5>5频率计的模块设计....................................................<7>5.1计数模块....................................................................<7>5.2分频模块....................................................................<8>5.3档位模块....................................................................<9>5.4锁存模块...................................................................<10>5.5数码管显示译码模块.........................................................<11>6系统调试...................................................................<11>7误差分析...................................................................<12>8结束语......................................................................<14>致谢语......................................................................<14>参考文献....................................................................<14>引言本文介绍了在FPGA芯片上实现高精度频率计的设计原理和具体的VHDL语言编程思路。现场可编程门阵列的出现给现代电子设计带来了极大的方便和灵活性,使复杂的数字电子系统设计变为芯片级设计,该系统具有稳定可靠、抗干扰能力强和现场可编程等优点,同时还可以很方便地对设计进行在线修改。相对于传统的系统电路设计方法,EDA技术可采用硬件描述语言来描述电路系统,而VHDL语言则具有多层次描述系统硬件功能的能力,而且能支持自顶向下的设计,在电子工程领域,已成为事实上的通用硬件描述语言,这使得设计者可以不必了解硬件结构。通过编译后最终下载到具体的FPGA器件中去,本设计采用的是EPF10K10LC84-4N这系列器件,从而实现可编程逻辑器件的设计。频率测量是电子测量技术中最基本最常见的测量之一,不少物理量的测量,如转速、振动频率等的测量都涉及到或可以转化为频率的测量,数字频率计是数字电路中的一个典型应用,但实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,从而造成测量误差和可靠性都比较差。而随着复杂可编程逻辑器件的广泛应用,以EDA技术进行开发并运用VHDL语言,将使整个系统大大简化,同时可大大提高系统的整体性能和可靠性。1设计任务设计一个能够将所测频率分为六档进行自动换档的数字频率计,且高位显示档位,并有秒表功能。第0档:a×100;第1档:a×101;第2档:a×102;第3档:a×103;第4档:a×104;第5档:a×105〔基本单位:HZ,a:读数。2总体方案论证与比较方案1:采用中小规模数字电路构成频率计,由计数器构成主要的测量模块,用定时器组成主要的控制电路。电路框图如图2-1所示。此方案软件设计简单,但外围芯片过多,且频带窄,实现起来较复杂,功能不强,而且不能程控和扩展。被测信号被测信号比较器量程选择计数器定时控制模型键盘显示图3-1方案1电路框图方案2:采用大规模现场可编程逻辑器件实现数字频率计并用模块法完成。大规模现场可编程器件采用ALTERA公司生产的EPF10K10LC84-4N实现,其特点是结构简单,功能较强。比较:方案1采用中小规模集成电路来实现,系统电路较复杂,扩展性能差。方案2用可编程逻辑器件实现大部分硬件电路的功能,并且调试简单。故采用方案2。3EDA及硬件描述语言介绍3.1EDA技术和VHDL语言的特点EDA〔ElectronicDesignAutomation———电子设计自动化代表了当今电子设计技术的最新发展方向,它的基本MAX+PLUSⅡ特征是:设计人员按照"自顶向下"<TopDown>的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路<ASIC>实现,然后采用硬件描述语言HDL〔HardwareDescriptionLanguage———硬件描述语言完成系统行为级设计,最后通过综合器和适配器生成最终目标器件[9]。FPGA可以通过软件编程对目标器件的结构和工作方式进行重构,能随时对设计进行调整,具有集成度高、结构灵活、开发周期短、快速可靠性高等特点,数字设计在其中快速发展,应用这种技术可使设计过程大大简化软件全部采用,VHDL语言进行编写。据统计,目前发达国家在电子产品开发中EDA工具的利用率已达50%[4],而大部分的ASIC和FPGA已采用HDL设计。EDA技术以VHDL高层次综合能力为特点,支持不同领域A行为、结构、几何B中各种层次A从系统级直至开关级B的设计描述和自顶向下以及自底向上等设计方法。由于VHDL已成为IEEE准,目前的EDA工具可以使ASIC系统行为、功能、算法的VHDL描述直接综合生成FPGA器件,因此可以使设计者将精力集中于设计构思,从而提高设计效率,同时也利于设计的分交流和重用。VHDL语言最大的特点是描述能力极强,可以覆盖逻辑设计的诸多领域和层次,并支持众多的硬件模型。其特点包括:<1>设计技术齐全,方法灵活,支持广泛;<2>系统硬件描述能力强;<3>VHDL语言可以与工艺无关地进行编程;<4>VHDL语言标准、规范,易于共享和重用。3.2FPGA芯片和EPF10K10LC84-4N简单介绍<1>FPGA简介FPGA<FieldProgrammableGateArray>即现场可编程逻辑阵列,是大规模可编程集成电路的主流器件[6]。FPGA一般由三种可编程电路和一个用于存放编程数据的SRAM<静态随机存储器>组成,这三种可编程电路是:可编程逻辑阵列LAB<LogicArrayBlock>、输人输出模块和互连资源<IntereonnectResource>。它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路〔ASIC领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA器件及其开发系统是开发大规模数字集成电路的新技术,这利用计算机辅助设计,绘制出实现用户逻辑的原理图、编辑布尔方程或用硬件描述语言等方式作为设计输入;然后经一系列转换程序、自动布局布线、模拟仿真的过程;最后生成配置FPGA器件的数据文件,对FPGA器件初始化[14]。这样就实现了满足用户要求的专用集成电路,真正达到了用户自行设计、自行研制和自行生产集成电路的目的。FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。概括地说,FPGA器件具有下列优点:高密度、高速率、系列化、标准化、小型化、多功能、低功耗、低成本,设计灵活方便,可无限次反复编程,并可现场模拟调试验证。<2>EPF10K10LC84-4N介绍可编程器件EPF10K10LC84-4实现IIC总线的通讯接口的基本原理,并给出了部分的VHDL语言描述。该通讯接口与专用的接口芯片相比,具有使用灵活、系统配置方便的特点。关键词:IIC总线CPLDVHDLISPIIC总线是PHILIPS公司开发的一种简单、双向、二线制、同步串行总线。它只需两根线〔串行时钟线和串行数据线即可在连接于总线上的器件之间传送信息[12]。该总线是高性能串行总线,具备多主机系统所需要的裁决和高低速设备同步等功能,应用极为广泛。目前市场上虽然有专用IIC总线接口芯片,但是地址可选范围小、性能指标固定、功能单一、使用不方便。根据IIC总线的电气特性及其通讯协议,采用ALTERA公司的FLEX10K系列ISP器件EPF10K10LC84-4可以方便地实现IIC总线的通讯接口,且具有高速、易调试、可以灵活地实现地在线配置等优点,同时大大地减少了系统的开发周期。IIC总线的数据传输规范IIC总线主从机之间的一次数据传送称为一帧,由启动信号、地址码、若干数据字节、应答位以及停止信号等组成。通讯启动时,主动发送一个启动信号〔当SCL线上是高电平时,SDA线上产生一个下降沿、从机的地址码〔8位和读写信号;通讯停止时,主机发送一个停止信号〔当SCL线上是高电平时,SDA线上产生一个上升沿。[8]在数据传送过程中,当SCL线上是高电平时,必须保证SDA线上的数据稳定;传送一个字节的数据,必须由接收机发一个应答信号。总线的传输码速率为100kbps〔标准~400kbps〔高速。采用+5V电源供电时,输入电平规定为:VILmax=1.5V,VIHmin=3V;采用宽电源电压时,电平规定为:VILmax=1.5VDD,VIHmin=3VDD[10]。3.3MAX+PLUSⅡ软件介绍<1>MAX+PLUSⅡ的概述Max+plusⅡ是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件的供应商之一。Max+plusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件[15]。在Max+plusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。Max+plusⅡ开发系统的特点:①开放的界面Max+plusⅡ支持与Cadence,Exemplarlogic,MentorGraphics,Synplicty,Viewlogic和其它公司所提供的EDA工具接口。[10]②与结构无关Max+plusⅡ系统的核心Complier支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000和Classic可编程逻辑器件,提供了世界上唯一真正与结构无关的可编程逻辑设计环境[13]。③完全集成化Max+plusⅡ的设计输入、处理与较验功能全部集成在统一的开发环境下,这样可以加快动态调试、缩短开发周期。④丰富的设计库Max+plusⅡ提供丰富的库单元供设计者调用,其中包括74系列的全部器件和多种特殊的逻辑功能〔Macro-Function以及新型的参数化的兆功能〔Mage-Function。⑤模块化工具设计人员可以从各种设计输入、处理和较验选项中进行选择从而使设计环境用户化。⑥硬件描述语言〔HDLMax+plusⅡ软件支持各种HDL设计输入选项,包括VHDL、VerilogHDL和Altera自己的硬件描述语言AHDL。<2>MAX+PLUSⅡ的应用①原理图输入〔GraphicEditorMAX+PLUSII软件具有图形输入能力,用户可以方便的使用图形编辑器输入电路图,图中的元器件可以调用元件库中元器件,除调用库中的元件以外,还可以调用该软件中的符号功能形成的功能块.图形编辑器窗口见图〔一。②硬件描述语言输入〔TextEditorMAX+PLUSII软件中有一个集成的文本编辑器,该编辑器支持VHDL,AHDL和Verilog硬件描述语言的输入,同时还有一个语言模板使输入程序语言更加方便,该软件可以对这些程序语言进行编译并形成可以下载配置数据。[5]③波形编辑器<WaveformEditor>在进行逻辑电路的行为仿真时,需要在所设计电路的输入端加入一定的波形,波形编辑器可以生成和编辑仿真用的波形〔*.SCF文件,使用该编辑器的工具条可以容易方便的生成波形和编辑波形。使用时只要将欲输入波形的时间段用鼠标涂黑,然后选择工具条中的按钮,例如,如果要某一时间段为高电平,只需选择按钮"1”还可以使用输入的波形<*.WDF文件>经过编译生成逻辑功能块,相当于已知一个芯片的输入输出波形,但不知是何种芯片,使用该软件功能可以解决这个问题,设计出一个输入和输出波形相同CPLD电路。④管脚〔底层编辑窗口<FloorplanEditor>该窗口用于将已设计好逻辑电路的输入输出节点赋予实际芯片的引脚,通过鼠标的拖拉,方便的定义管脚的功能。⑤编程文件的产生编译器中的装配程序<Assembler>将编译好的程序创建一个或多个编程目标文件:EPROM配置文件〔*.POF例如,MAX7000S系列SRAM文件〔*.SCF例如,FLEX8000系列的配置芯片EPROM十六进制文件<*.HEX>文本文件<*.TTF>⑥仿真当设计文件被编译好,并在波形编辑器中将输入波形编辑完毕后,就可以进行行为仿真了,通过仿真可以检验设计的逻辑关系是否准确.4频率计的设计原理<1>测频原理众所周知,所谓"频率"就是周期性信号在单位时间1S内变化的次数,若在一定时间间隔T内测得这个周期性信号的重复变化次数N,则其频率可表示为:f=N/T。数字频率计测频率的原理框图可如图4-1-1所示。其中脉冲形成电路的作用是:将被测信号变成脉冲信号,其重复频率等于被测频率fx。时间基准信号发生器提供标准的时间脉冲信号、若其周期为1s。则门控电路的输出信号持续时间亦准确地等于1s,闸门电路由标准秒信号进行控制。当秒信号来到时闸门开通,被测脉冲信号通过闸门送到计数译码显示电路;秒信号结束时闸门关闭,计数器停止计数。由于计数器计得的脉冲数N是在1秒时间内的累计数,所以被测频率为NHz。目前,有几种常用的数字频率测量方法,介绍如下:①直接测频法直接测频法是将被测信号整形后加到闸门的一个输入端,在闸门开通的时间〔T内,被测信号的脉冲被送计数器进行计数。设计数器记得的值为N,由频率计算式可得被测信号频率为f=N/T[2]。分析可知,本方法在频率较低时误差较大。增大T可以提高测量精度,但仍难以满足题目发挥部分的要求。图4-1-1数字频率计系统原理方框图②组合法被测信号频率较低时,通过直接测量周期可提高精度。因此,当被测信号频率较高时采用直接测频,而当被测信号频率较低时采用先测量周期,然后换算成频率的方法,就称为组合测量法。测频与测周时误差相等时对应的频率即为中介频率,它成为测频与测周的分水岭。这种方法可在一定程度上弥补方〔1的不足,提高测量精度。③倍频法由于直接测频法在被测信号频率较高时测量精度高,故可以将被测信号分为几个频段,在不同的频段采用不同的倍频系数,将低频信号转化成高频信号,从而提高测量精度。这种方法即为倍频法。④高精度恒误差测量法根据高精度恒误差测量法的原理,具有如下的测频方案。电路原理见图4-1-2电路中,预置门控信号控制计数的时间,可由计数器实现,CNT1和CNT2是两个可控计数器,标准信号从CNT1的时钟输入端CLK1输入,设其频率为Fs,被测信号经过整形后从CNT2的CLK端输入,设其频率为Fx,测量值为Fxe。预置门控信号为高电平时,经整形后的被测信号的上升沿通过D触发器后,输出Q端启动两计数器同时进行计数,当预置门控信号为低电平时,经整形后的被测信号的一个上升沿使两计数器同时停止计数。设在一次记数过程中,对标准信号计数值为Ns,被测信号计数值为Nx,则存在以下关系:Fx/Nx=Fs/Ns即:Fx=<Fs/Ns>*Nx相对误差公式为δ=±2/N+ΔF/F[2]从相对误差公式中分析可知,其测量精度与被测信号无关,只与标准信号频率精度有关。显然,Ns决定于预置门时间Ts和标准信号源的频率,其关系如下:NS=Ts*Fs如果采用频率为1MHz的标准信号源,则有δS≤1/N若预置门时间Ts取0.1秒,则NS=0.1×100000=10000,δ≤1×10-4可见,在整个测量范围内,精度可达到题目要求,若采用更高频率的信号源或适当延迟预置门时间,则可达到更高的测量精度。本设计就采用高精度恒误差测量法。图4-1-2高精度恒误差测量法框图〔2设计原理本设计系统正常工作时,可测试0-999MHz的频率,设计主要由分频模块、控制模块、计数模块、锁存模块等几个模块组成。被测信号接入计数器的输入端SIG,用5MHz时钟通过CLK端口输入,经过分频器分频为1Hz工作频率提供给测频器,再用测频器SHIXU测频,SHIXU的计数使能信号Q能产生一个1秒脉宽的周期信号,并对频率计中的计数器COUTN1的Q使能端进行同步控制。当Q高电平时允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号UP的上升沿将计数器在前一秒钟的计数值锁存进锁存器LOCK1中,当sig的频率高出或低于某个量程,lock模块会根据具体的值选择相应合适的量程<本设计共可分为六个量程>,再由chose选择具体的通路,由display实现动态扫描显示,扫描显示模块有sele控制七段数码管的片选信号,中间锁存保存的BCD码数据动态扫描译码,以十进制形式显示。以上的个功能模块都是在EPF10K10LC84-4N这芯片中运行,用VHDL予以实现的,较之以往的传统型电路更为简单,更易于实现频率计的小型化、微型化甚至芯片化设计。信号从被测信号输入处输入到波形整形电路后,经过FPGA算法处理,再由数字显示部分输出。在数字显示部分根据不同的档位,读出相应的结果,并加上秒表显示输出。设置锁存器的好处是数据显示稳定,不会由于周期性的清零而不断闪烁。锁存信号后,必须有一清零信号CLR对计数器清零,为下一秒的计数操作作准备。5频率计的模块设计数字频率计的各模块总连结框图如图5-1所示。图5-1各模块总连接图5.1计数模块<1>计数器功能计数器的作用是对输入脉冲计数,此计数器的特殊之处是,有一时钟使能输入端Q,用于锁定计数值,当高电平时计数允许,低电平时计数禁止。<2>原件符号图及仿真波形图①计数模块的模块图如图5-1-2所示,可以定义输入、输出信号如下:Q:计数使能信号,当Q为高电平时则开始计数,为低电平时则停止CLR:复位信号SIG:被测频率输入端H~P:计数输出端图5-1-1计数模块图②计数模块仿真仿真波形图如图5-1-2所示,从图中可以看出:当有一被测频率且Q为高电平时,计数开始直到变为低电平为止,当CLK为1时,计数器清零。图5-1-2计数模块的仿真波形图5.2分频模块<1>分频器功能在数字电路中,分频的原理也无非就是计数,分频器其实就是个计数器。想得到多少分频只要将该计数器的模取为该数值就行了,所以分频器的设计与计数器XX小异。当系统正常工作时,系统时钟经分频模块分频得到1Hz的时钟,作为频率测量控制电路的输人信号,完成在1s的时间里对被测信号进行计数。<2>原件符号图及仿真波形图①分频模块的模块图如图5-2-1所示,由图可以定义输入、输出信号如下:CLK:系统输入时钟,5MHzCOUNT:分频输出时钟信号,1Hz图5-2-1分频模块图②分频模块仿真仿真波形图如图5-2-1所示,从图中可以看出:当时钟信号还没到达时,不会翻转直到为5MHz后才翻转一次,即为1Hz,因为频率太大,图中只有部分显示。图5-2-1分频模块的波形仿真图5.3档位模块<1>档位模块的输入、输出信号的定义图5-3-1档位模块图档位模块的模块图如图5-3-1所示,由图可以得到输入、输出信号的定义:输入信号H~P:由计数模块提供,计数值UP:输入信号为上升沿时,开始分档,从高位分起输出信号A~D:对应四个数码管DANG:档位显示<2>档位模块仿真仿真波形图如图5-3-2所示,从图中可以看出:当UP为上升沿时,开始进行分档,从显示的数字可以知道,输出为0档。图5-3-2档位模块的波形仿真图5.4锁存模块<1>锁存器功能由于闸门开启时间很短,为了防止失去闸门信号后,译码显示电路无法显示计数器的值。在本系统中设计了一锁存电路模块作为数据暂存器,用于闸门关闭后锁存计数值,以便译码显示电路可靠地译码和显示测量结果,不会由于周期性的清零信号而不断闪烁。<2>原件符号图及仿真波形图①锁存模块的模块图如图5-4-1所示,由图可以定义输入、输出信号如下:CLR:信号为下降沿时开始对数据进行锁存A~D,DANG:输入信号由分档模块提供A11~D11,DANG11:对应的锁存输出数据图5-4-1锁存模块图②锁存模块仿真仿真波形图如图5-4-2所示,从图中可以看出:当CLR为下降沿时,锁存器对输入数据一一进行锁存。图5-4-2锁存模块的波形仿真图5.5数码管显示译码模块<1>输入、输出信号定义图5-5-1数码管显示译码模块图①输入信号D:4位的BCD码输入信号,由数码管扫描模块提供②输出信号Q:分别对应于7段LED的7个输入端口<2>功能描述在显示中,显示设备为7段LED,它将输出的数据分别显示在7个LED上,由于采用动态扫描显示,只须输出一下LED所须的驱动信号即可,这里采用共阴极LED,所以输出Q0~Q6高电平有效。6.系统调试本设计采用的是EDA-V型实验开发系统,系统调试是用模块法将其编译后再下载到EPF10K10LC84-4芯片上,并在实验开发系统上进行验证,实际测试表明系统的各项功能可以实现且系统工作稳定可靠,实物图如图6-1所示。被测频率:9.537Hz;所测频率:9×100Hz即9Hz;高位0:第0档;48表示时间,后四位则为所测频率值被测频率:5MHz;所测频率:5000×103Hz即5MHz;高位3:第3档;14表示时间,后四位则为所测频率值图6-1实物图7误差分析频率计所测值记录如表所示:表一第0档:a×100Hz次数123被测频率SIG9.537Hz610.352Hz2441.406Hz测出频率〔Hz96102441表二第1档:a×101Hz次数123被测频率SIG19531.25Hz39062.5Hz78125Hz测出频率〔Hz195339067812表三第2档:a×102Hz次数123被测频率SIG156250Hz312500Hz625000Hz测出频率〔Hz156231256250表四第3档:a×103Hz次数123被测频率SIG1.25MHz5MHz2.5MHz测出频率〔Hz125050002500表五第4档:a×104Hz次数12被测频率SIG10MHz20MHz测出频率〔Hz10002000记录表只对几组频率进行测试,由所测结果分析,如果被测频率有小数的话,显示出的数值则把小数部分忽略,取读数值的高四位,会产生一定的误差,除此之外,还有其它误差,分析如下:〔1量化误差设测的频率为FX,被测频率真实值为Fxe,标准频率为FS,在一次测量中,预置门信号时间为TP,被测信号计数值为Nx,标准时基信号计数值为Ns。FX计数的起止时间都是由被测信号的上升沿触发的,在TP时间内对FX计数Nx无误差,在此时间内FS的计数值Ns最多相差一个脉冲,即︱ΔS︱≤1而Fx/Nx=FS/NxFxe/Nx=FS/〔NS+ΔS由以上两式可得Fx=<FS/NS>*NxFxe=<FS/〔NS+ΔS>*Nx根据相对误差公式有︳δ︳=ΔFxe/Fxe=︳Fxe—Fx︱/Fxe将以上各式整理可得ΔFxe/Fxe=ΔS/Ns因为︳ΔS︱≤1,所以ΔS/Ns≤1/Ns即︳δ︳=ΔFxe/Fxe=1/NsNs=TP×Fs由此可得出以下结论:①相对测量误差与被测频率无关②增大TP或提高FS,可以减少误差,提高测量精度。<2>标准频率误差标准频率误差为ΔFs/Fs,因为晶体的稳定度很高,标准频率误差可以进行校准,相对于量化误差,校准后的标准频率误差可以忽略。8结束语通过分析测试,所设计的频率计可以完成频率检测功能。而且电路简单、工作速度快。该频率计可测量频率范围广泛,在数字系统设计过程中,采用EDA技术,通过分析仿真结果,改进设计方案方便快捷,这样可以大大提高设计效率、缩短设计周期,从而达到节约成本、提高产品更新换代速度的目的。伴随着微电子制造技术的飞速发展可编程逻辑器件取得了长足的进步。从早期的只能实现比较简单的组合逻辑功能,到现在己经发展到了可以完成超大规模的复杂组合逻辑及时序电路。并进而发展为两个方向复杂可编程逻辑器件<CPLD>和现场可编程逻辑器件<FPGA>。随着工艺技术的进一步发展,超大规模、高速、低功耗的新型器件不断诞生,可见EDA技术不断得到了飞跃,为我们的设计带来了优化性。附录:源程序:<1>jishu分频模块libraryieee;useieee.std_logic_1164.all;entityjishuisport<clk:instd_logic;count:outintegerrange6000000downto0>;endjishu;architecturefen_arcofjishuisbegina:process<clk>isvariablecnt:integerrange6000000downto0;beginifclk'eventandclk='1'thenif<cnt>=5999999>thencnt:=0;elsecnt:=cnt+1;endif;endif;count<=cnt;endprocessa;endfen_arc;〔2shixu控制模块libraryieee;useieee.std_logic_1164.all;entityshixuisport<count:inintegerrange6000000downto0;q,up,clr:outstd_logic>;endentityshixu;architecturechrofshixuisbeginb:process<count>isbeginifcount>5000000thenq<='0';elseq<='1';endif;ifcount>=5200000thenup<='1';elseup<='0';endif;ifcount>5400000andcount<5600000thenclr<='1';elseclr<='0';endif;endprocessb;endarchitecturechr;<3>count1计数器libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycount1isport<q:instd_logic;clr:instd_logic;sig:instd_logic;h,i,j,k,l,m,n,o,p:outintegerrange9downto0>;endentitycount1;architecturechrofcount1isbeginone:process<q,sig>isvariableh1,i1,j1,k1,l1,m1,n1,o1,p1:integerrange9downto0;beginif<sig'eventandsig='1'>thenif<q='1'>thenif<h1=9>thenh1:=0;if<i1=9>theni1:=0;if<j1=9>thenj1:=0;if<k1=9>thenk1:=0;if<l1=9>thenl1:=0;if<m1=9>thenm1:=0;if<n1=9>thenn1:=0;if<o1=9>theno1:=0;if<p1=9>thenp1:=0;elsep1:=p1+1;endif;elseo1:=o1+1;endif;elsen1:=n1+1;endif;elsem1:=m1+1;endif;elsel1:=l1+1;endif;elsek1:=k1+1;endif;elsej1:=j1+1;endif;elsei1:=i1+1;endif;elseh1:=h1+1;endif;endif;endif;ifclr='1'thenh1:=0;i1:=0;j1:=0;k1:=0;l1:=0;m1:=0;n1:=0;o1:=0;p1:=0;endif;h<=h1;i<=i1;j<=j1;k<=k1;l<=l1;m<=m1;n<=n1;o<=o1;p<=p1;endprocessone;endarchitecturechr;<4>档位选择libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitylockisport<up:instd_logic;h,i,j,k,l,m,n,o,p:inintegerrange9downto0;a,b,c,d:outintegerrange9downto0;dang:outintegerrange9downto0>;endentitylock;architecturechroflockisbegintwo:process<h,i,j,k,l,m,n,o,p,up>isbeginif<up'eventandup='1'>thenifp/=0thend<=p;c<=o;b<=n;a<=m;dang<=5;elsifo/=0thend<=o;c<=n;b<=m;a<=l;dang<=4;elsifn/=0thend<=n;c<=m;b<=l;a<=k;dang<=3;elsifm/=0thend<=m;c<=l;b<=k;a<=j;dang<=2;elsifl/=0thend<=l;c<=k;b<=j;a<=i;dang<=1;elsed<=k;c<=j;b<=i;a<=h;dang<=0;endif;endif;endprocesstwo;endarchitecturechr;<5>锁存器libraryieee;useieee.std_logic_1164.all;entitylock1isport<clr:instd_logic;a,b,c,d,dang:inintegerrange9downto0;a11,b11,c11,d11,dang11:outintegerrange9downto0>;endentitylock1;architecturechroflock1isbeginprocess<clr>isbeginifclr'eventandclr='0'thena11<=a;b11<=b;c11<=c;d11<=d;dang11<=dang;endif;endprocess;endarchitecturechr;<6>产生数码管的片选信号libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityseleisport<clk:instd_logic;sel:outstd_logic_vector<2downto0>>;endentitysele;architecturesel1_arcofseleisbeginprocess<clk>isvariablecnt:std_logic_vector<2downto0>;beginifclk'eventandclk='1'thencnt:=cnt+1;endif;sel<=cnt;endprocess;endarchitecturesel1_arc;<7>对应于数码管的片选信号libraryieee;useieee.std_logic_1164.all;entitychoseisport<sel:instd_logic_vector<2downto0>;a3,a2,a1,a0,dang:instd_logic_vector<3downto0>;sec:instd_logic_vector<6downto0>;q:outstd_logic_vector<3downto0>>;endentitychose;architecturech_arcofchoseisbeginprocess<sel>isbegincaseseliswhen"000"=>q<=a0;when"001"=>q<=a1;when"010"=>q<=a2;when"011"=>q<=a3;when"100"=>q<=sec<3downto0>;when"101"=>q<=sec<6downto4>;when"111"=>q<=dang;whenothers=>q<="1111";endcase;endprocess;endarchitecturech_arc;<8>时间显示libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitysecondisport<clk:instd_logic;reset:instd_logic;en:outstd_logic;daout:outstd_logic_vector<6downto0>>;endentitysecond;architectureartofsecondissignalcount:std_logic_vector<6downto0>;begindaout<=count;process<clk,reset>beginif<reset='0'>thencount<="0000000";elsif<clk'eventandclk='1'>thenif<count<3downto0>="1001">thenif<count<16#60#>thenif<count="1011001">thenen<='1';count<="0000000";elsecount<=count+7;endif;elsecount<="0000000";endif;elsif<count<16#60#>thencount<=count+1;en<='0'after10ns;elsecount<="0000000";endif;endif;endprocess;endarchitectureart;<9>译码显示libraryieee;ll;entitydisplayisport<d:instd_logic_vector<3downto0>;q:outstd_logic_vector<6downto0>>;endentitydisplay;architecturedisplay_arcofdisplayisbeginprocess<d>isbegincasediswhen"0000"=>q<="0111111";when"0001"=>q<="0000110";when"0010"=>q<="1011011";when"0011"=>q<="1001111";when"0100"=>q<="1100110";when"0101"=>q<="1101101";when"0110"=>q<="1111101";when"0111"=>q<="0000111";when"1000"=>q<="1111111";when"1001"=>q<="1101111";whenothers=>q<="0000000";endcase;endprocess;enddisplay_arc;用AlteraMAX+PLUSII开发系统在FLEX10K中编译和仿真pic_a功能1997.5.1导言:程序控制中断〔PCI功能提供了有效的解决方案集成32位PCI的周边设备,包括网络适配器,图形加速器板,嵌入式控制模块。该pci_aMegaCore的功能,实现了一个PCI接口。本应用指南说明如何汇编和模拟pci_a在FLEX10K设计其功能,并使用Altera中的MAX+PLUSⅡ发展系统。在本应用指南中指示承担如下:MAX+PLUSⅡ7.2版或更高的是安装在C:\maxplus2的目录中。您所使用的PC机,信息在这方面的应用要注意的是也适用于UNIX用户;不过,您应该改变步骤适当地安装pci_a的功能,及其中的所有文件都设在其中。3.默认目录为C:\megacore。如果安装位置是在您的系统上不同,要以适当的路径安装。4.您所购买的许可证为pci_amegacore功能或使用Altera的opencore功能。您可以使用Altera的opencore功能汇编和模拟该pci_amegacore功能。但是,您必须取得从Altera的许可之前,您可以生成一个程序员对象文件〔.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国稀土永磁材料出口管制对下游产业影响评估报告
- 2026人工智能语音识别系统供应商市场供需分析及投资机会评估规划系统报告
- 2026中国智能穿戴行业市场发展潜力竞争分析投资前景评估规划分析研究报告
- 2026中国医药保健行业市场供需现状分析及投资策略规划分析研究报告
- 300MW火力发电厂机组维修起重行车司机岗位规范培训
- 地下液态燃料油库火灾预防培训
- 2026煤炭加工行业市场需求供给特征分析及投资评估发展策略规划分析研究报告
- 2026乳制品行业竞争格局与创新投资价值研究报告
- 2026年家庭教育指导师综合技能认证试题及答案解析
- 2026中国智能照明传感器市场渗透率提升策略与案例分析报告
- 影视制作行业工作证明(6篇)
- JG/T 154-2013电动伸缩围墙大门
- 护理分级分层管理制度
- T/ACSC 01-2022辅助生殖医学中心建设标准
- QGDW11447-202410kV-500kV输变电设备交接试验规程
- 备战2025年中考物理压轴真题分类汇编挑战25广东卷(广东近两年共39题)(原卷版+解析)
- 鱼油提取工艺自动化-全面剖析
- TCAICI39-2022《通信光缆附挂供电杆路技术规范》
- 食堂定岗定责管理制度
- GB/T 10810.1-2025眼镜镜片第1部分:单焦和多焦
- 百部的鉴定(中药鉴定技术)
评论
0/150
提交评论