1、江 西 科 技 师 范 学 院毕业设计(论文)题 目: 自动转换量程频率计控制器设计系 院: 通信与电子学院专 业: 电子信息工程学生姓名: 陈 浩学 号: 20061628指导老师: 陈 亮 亮封面格式不对,封面格式电子档已放入群共享量程自动转换的数字式频率计的设计数字频率计是一种基本的测量仪器。它被广泛应用与航天、电子、测控等领域。它的基本测量原理是,首先让被测信号与标准信号一起通过一个闸门,然后用计数器计数信号脉冲的个数,把标准时间内的计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用LED数码管显示出来。根据数字频率计的基本原理,本文设计方案的基本思想是分为四个模块来实现其
2、功能,即整个数字频率计系统分为分频模块、计数并自动换挡模块、锁存器模块和译码器模块,并且分别用VHDL对其进行编程,实现了闸门控制信号、计数电路、锁存电路、显示电路等。本设计方案还要求,被测输入信号的频率范围自动切换量程,控制小数点显示位置,并以十进制形式显示。整个频率计设计在一块CPLD芯片上,与用其他方法做成的频率计相比,体积更小,性能更可靠。频率计的测频范围:010MHz。该设计方案通过了Max+plus软件仿真、硬件调试和软硬件综合测试。关键词:数字频率计;电子设计自动化;CPLD;格式不对,而且你怎么会用到CPLD?目 录第一章 引 言11.1 研究背景11.2 频率计的发展情况3第
3、二章 设计所用工具与环境介绍42.1 BTYG-EDA实验开发系统简介42.1.1 系统特点42.1.2 系统资源介绍42.2 CPLD简介52.2.1 CPLD器件结构简介52.2.2 典型CPLD器件简述82.2.3 CPLD在新技术中的应用112.3 VHDL语言简介122.3.1 VHDL的发展情况与特点122.3.2 VHDL语言结构14第三章 频率计的设计方案183.1 传统方法183.2 现代方法183.2.1 自顶向下的设计方法183.2.2 与传统的设计方法相比EDA的特点193.3 本设计的方法21第四章 数字频率计的设计234.1 频率计的设计要求与原理234.1.1 设
4、计要求234.1.2 频率测量方法及原理234.2 频率计的硬件设计254.2.1 电子设计的发展情况254.3 频率计的软件设计及其仿真264.3.1 软件设计的实现264.3.2 功能模块的实现274.3.3 各模块基于VHDL的设计与仿真284.4 下载验证374.4.1 管脚分配374.4.2 硬件调试394.4.3 软件调试404.4.4 数据下载与验证40第五章 实验测试与误差分析435.1 实验测试的方法435.2 系统的验证435.3 频率测量精度分析445.4 测量误差分析45总结语47参考文献48Abstract49附录50第一章 引 言1.1 研究背景近年来信息技术、电子
5、技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的大大提高。前几年的数字频率计一般由分离元件搭接而成,其测量范围、测量精度和测量速度都受到很大的限制。虽然单片机的发展与应用改善了这一缺陷,但由于单片机本身也受到工作频率及内部计数器位数等因素的限制,所以无法在此领域取得突破性的进展。随着新型可编程逻辑器件FPGA/CPLD技术的发展,能够将大量的逻辑功能集成在单个器件中,FPGA/CPLD根据不同的需要所提供的门数可以从几十万到上百万门,从根本上解决了单片机的先天性不足。本课题所设计的量程自动转换的数字频率计不但集成度远远超过了
6、以往的数字频率计,而且在基准频率等外部条件的允许下,可以根据不同场合的精度要求,对硬件描述语言进行一定的改动,使系统在精度提高的同时,而不增加系统硬件,从而降低系统的整体造价。随着EDA技术的发展,现代频率计的设计多采用基于FPGA/CPLD芯片的方法来实现频率计的设计,即通过VHDL(Very High Speed Integrated Circuit Hardware Description Language)硬件描述语言的设计,用FPGA/CPLD来实现。现代电子设计技术的核心是EDA(Electronic DesignAutomation)技术。就是依赖功能强大的计算机,使设计者的工作
7、仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。FPGA/CPLD即现场可编程逻辑器件是由存放在片内RAM中的程序来设置其工作状态的,因此工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA/CPLD芯片将EPROM中数据读入片内编程RAM中,培植完成后,FPGA/CPLD进入工作状态。掉电后,FPGA/CPLD恢复成白片,内部逻辑关系消失,因此FPGA能够反复使用。FPG/CPLD A的编程无须专用的FPGA/CPLD编程器,只需使用通用的EPROM、PROM编程器即可。当需要修改FPGA/CPLD功能时,只需换一
8、片EPROM即可。这样,同一片FPGA/CPLD,不同的编程数据,可以产生不同的电路功能。因此,FPGA/CPLD的使用非常灵活。同时EDA开发工具的通用性、设计语言(本设计为VHDL)的标准化以及设计过程几乎与所用器件的硬件结构无关,所以设计成功的各类逻辑功能块软件有很好的兼容性和可移植性,可以在很短的时间内完成十分复杂的系统设计EDA(电子设计自动化)技术就是以计算机为工具,在EDA软件平台上,对硬件语言HDL为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑化简、逻辑综合及优化、逻辑仿真,直至对特定目标芯片的适配编译、逻辑映射和编程下载等工作(文本选用的开发工具为Altera公司
9、的Max+plusII)。EDA的仿真测试技术只需要通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,大大提高了大规模系统电子设计的自动化程度。设计者的工作仅限于利用软件方式,即利用硬件描述语言(如VHDL)来完成对系统硬件功能的描述。VHDL语言(Very High Speed Integrated Circuit Hardware Description Language,超高速集成电路硬件描述语言)诞生于1982年,是由美国国防部开发的一种快速设计电路的工具,目前已成为IEEE(The Institute of Electrical and El
10、ectronics Engineers)的一种工业标准硬件描述语言,相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(Top to Down)和基于库(Library-based)的设计特点,因此设计者可以不必了解硬件结构设计,从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件去,从而实现可编程的专用集成电路(ASIC)的设计。1.2 频率计的发展情况频率测量是电子测量中最为基本的测量之一。由
11、于频率信号抗干扰能力强,易于传输,因此可以获得较高的测量精度。随着数字电子技术的发展,频率测量成为一项越来越普及的工作,测频原理和测频方法的研究正受到越来越多的关注。在电子工程、源勘探、仪表等相关应用中,率计是工程技术人员必不可少的测量工具。不少物理量的测量,如转速、振动频率等的测量都涉及到或可以转化为频率的测量。目前,市场上有各种多功能、高精度、高频率的数字频率计,但价格不菲。为适应实际工作的需要,本文在简述频率测量的基本原理和方法的基础上,提供一种基于FPGA/CPLD的数字频率计的设计和实现过程,本方案不但切实可行,而且具有成本低廉、小巧轻便、便于携带等特点。数字频率计是一种基本的测量仪
12、器,是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。因此,它被广泛应用与航天、电子、测控等领域。它是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生较大的延时,造成测量误差、可靠性差。随着可编程逻辑器件(CPLD)的广泛应用,以EDA工具为开发平台,运用VHDL语言,将使系统大大简化,提高整体的性能和可靠性。1.用单元电路或单片机技术设计的频率计电路复杂、稳定性差。采用EDA技术就能够克服这一点,它可以把具有控制功能的各个模块程序下载在一块芯片上。这一块芯片就能代替原来的许许多多的单元电路或单片机的控制芯片和大量的外围电路。大大
13、的简化了电路结构的复杂性,又提高了电路的稳定性。2.以往的频率计测量范围都是有限的,为测量不同频率的信号都要专门的设计某一部分电路,这样很麻烦。我们采用EDA技术可以通过修改程序来达到改变测量范围的目的。第二章 设计所用工具与环境介绍本实验用用到的主要硬件是:BTYG-EDA实验箱,核心芯片是CPLD,型号是FLEX10K20RC208-4。软件是用的Max+plusII,使用VHDL语言进行编程后,放到此软件里进行编译和仿真,当没有错误的时候下载到实验箱,进行硬件调试,最后得以功能实现。2.1 BTYG-EDA实验开发系统简介BTYG-EDA实验开发系统是一种多功能、高配置、高品质的EDA教
14、学与开发设备,适用于大学本科EDA教学,课程设计与毕业设计,也适用于其他项目开发使用。2.1.1 系统特点可编程器件的I/O接口与输入输出器件(开关、按键、数码管、发光二极管、信号源等)采用固定连接,在可编程器件的有限I/O资源下最大限幅的连接上输入输出器件,使得该系统能满足从简单的数字电路基础实验到复杂的数字系统设计,并延伸到具有创新性的综合电子设计等项目的开发等方面。试验方法上可以大量减少传统试验中需要大量连线而带来的诸多不便,使得实验从传统的硬件搭接为主转移到了以软件设计、仿真调试上来,并将传统的硬件设计方式用EDA技术来实现。可以节省宝贵的设计时间,提高工作效率。2.1.2 系统资源介
15、绍(1)主芯片采用2万门208引脚CPLD,型号为FLEX10K20RC208-4,提供147条IO线。(2)设计有专用配置芯片插座,以便上电自动配置需要。(3)主时钟频率4MHz。(4)单步时钟按键。(5)6位七段数码显示。(6)8路开关输入,8路按键输入。(7)20路LED灯输出。(8)1路8位高速模入通道:20MHz采样频率,配有高输入阻抗放大器,直流偏移调整电平,触发电平调整和同步触发电路。(9)2路8位高速模出通道:10MHz更新速率,用于高速任意函数发生器。(10)1个标准RS-232C串行接口。(11)1个标准并行接口。(12)1个PS/2借口。(13)1个VGA接口。(14)1
16、个多功能扩展夹紧座。可扩接单片机、RAM、EPROM等芯片和用户扩展模板,该座提供38个IO线和电源。(15)另外提供79条外扩IO线,并有主芯片引脚序号标明,允许用户自主锁定,方便编程。(16)采用开关电源供电,除实验箱所需+/-5V外,还提供一组+/-12V/1A的备用电源。2.2 CPLD简介2.2.1 CPLD器件结构简介具有固定输入和输出数目的任何组合逻辑函数可以在可编程只读存储器(PROM)中,以输出为输入的查找表方式来实现,许多实现组合逻辑的结构变型已从这一简单的概念引伸出来,然后利用VLSI的密度产生更通用的,能实现PCB板上几个简单PAL互连功能的器件是PAL/ PROM这类
17、范例的扩展,称为PAL构造的PLD,也就是说复杂可编程逻辑器件CPLD(Complex Programmable Logic Devices). CPLD的架构方块图,如图2.9。图2.9 CPLD的架构方块图在考察PAL构造的CPLD之前,让我们先看一下或阵列可编、与阵列固定的可编程只读存储器。作为两级可编程逻辑较简单的概念,PROM具有n个输入和m个输出,2行的查找表,它有以下3个特点:(1)给定输入和输出的数目,允许在逻辑设计完成之前就开始PCB设计,也允许在PCB设计完成之后更改PROM的设计。(2)允许将时序校验从逻辑设计中分出来,因为通过此可编程器件的延时是固定的,与要实现的逻辑函
18、数无关。(3)器件的功能可以在较高的级别上规定,如用一系列逻辑方程或真值表表示,这样做可以加快设计。但是PROM的结构也有两个主要的缺点:(1)硅片面积和由此产生的成本以及封装和板的面积都是由乘积项的数量所决定,n输入的PROM就有2n个乘积项。(2)通过PROM的延时正比与乘积项的数目,所以延时性能随输入数目增加成正比地加大而边坏。因此,PROM仅适合必须完成输入信号译码等功能的场合,例如,由一种字符码变换为另一种字符码的查找表。在全定制设计中,与阵列和或阵列都可编程的PAL是实现中到大尺寸任意逻辑函数的主要方法。但是,因为可编程能力的额外层增加了延时,可编程PLA不在具有实现n个变量所有函
19、数的PROM特性,必须在器件设计之前选择一个较小的确定数目的乘积项,不能在输入和输出变量数目的基础上单独选择器件。所以与PLA等效的可编程逻辑阵列未能充满可编程逻辑市场。类似地,要实现函数的任何改变可能不在适合所选的器件。CPLD的集成度在千门/片以上,其基本结构依然是由与阵列、或阵列、输入缓冲电路、输出宏单元组成。其与阵列比PAL大的多,但并非靠简单的增大阵列的输入、输出端口达到。阵列占用芯片的面积随其输出端数的增加而急剧增加,而芯片面积的增大不仅使芯片的成本增加,还使信号在阵列中传输延时加大而影响其运行速度。所以CPLD通常是由多个类似PAL的功能块组成,具有很长的固定于芯片上的布线资源,
20、通过位于中心的互连矩阵连接在一起。互连矩阵要将来自I/O的信号和逻辑块的输出布线到器件内任何逻辑块的输入。一般互连矩阵有两种形式:基于阵列的互连和基于多路开关的互连。基于阵列的互连是完全的纵横开关的实现方式,它允许任何输入到互连矩阵中的信号布线到任何逻辑块,是完全可布通的。基于多路开关的互连是对逻辑块的每个输入有一个多路转换器,输入到互连矩阵的信号被连接到每个逻辑块的大量多路开关的输入端,这些多路转换器的选择是可编程的,只允许其一个输入通过它进入逻辑块。所以不通率与多路转换器的输入宽度有关,宽度愈大,所占面积增加,性能降低。此外,CPLD具有很宽的输入结构,适合于实现高级的有限状态机:具有IS
21、P性能的CPLD,可以直接在系统内对其进行编程,因而类似与具有ISP性能的SRAM查找表类型的FPGA。CPLD的主要缺点是功耗比较大,15000门以上的CPLD功耗要高于FPGA、门阵列和分立器件。2.2.2 典型CPLD器件简述下面介绍几个厂家的一些典型CPLD器件。首先介绍下Altera公司的CPLD,Altera公司成立10余年来,一直致力于高密度可编程逻辑器件的开发生产,成为世界上的佼佼者。Altera公司的CPLD器件具有良好的性能,极高的密度和非常大的灵活性,它通过高集成度、多I/O容量及最快速度,为用户的各种需求提供了有效的解决方案,极大的满足了用户对“在一个可编程芯片上集成系
22、统”日益增长的需求。Altera 的CPLD是从基于PLA的传统PLD结构演变来的,它的逻辑块是由20个到超过100个输入的宽扇入的与门馈送到带有3个8个输入的或门组成的。Altera的与非结构可以实现与-或逻辑电路,其输出馈送到一个异或门,这个基本电路可以用一个触发器和一个多路开关来扩充,此多路开关选择锁存的输出信号。可编程的非逻辑可以用异或门来获得,如果一个异或门的输入端是分离的,它的作用和或门相同,允许或门和异或门形成更大的或函数,用来实现其他算术功能,这个可编程的形式明显增加了逻辑块的功能性。Altera的CPLD器件除了具有PLD的一般特点外,还具有先进的结构、先进的处理技术、现代化
23、的开发工具以及各种兆(Mega)功能等特点。1.高性能Altera 器件采用先进的CMOS计数,具有非常低的功耗和相当高的速度,采用连续式互联结构,在整个芯片内提供高速、连续的信号延时。对芯片内部电路的专业化改进也增加了系统性能。2.高密度逻辑集成为缩小印制板的尺寸和成本,设计人总是追求尽可能高的集成度,试图通过把更多的逻辑集成到更小的器件中来降低成本。此外,对现有的设计也经常需要进行二次开发。高逻辑集成度的CPLD为上述要求提供了很好的解决方案。Altera器件密度从300门到100万门,能够集成现有的各种逻辑器件,包括小规模及大规模标准逻辑器件、PLD、FPGA或ASIC器件。3.较短的开
24、发周期Altera的快速、直观、易于使用的Max+plusII软件能够极大地缩短开发周期。使用Max+plusII软件设计项目、处理、校验以及对器件编程一共只需几个小时。在Max+plusII环境下的一个典型的PLD开发周期图,如图2.10所示,途中标出了设计1万门的逻辑器件说用的典型时间。图2.10 用Altera器件设计1万门逻辑器件典型开发周期图4.高性能的价格比Altera公司不断改进产品的开发与制造工艺,10多年积累的经验使其工艺计数及制造工艺非常先进,因此能够提供性能价格比合理的可编程逻辑器件,Altera的PLD的成本与门列阵相当。5.兆(Maga)功能模块Altera的CPLD
25、高达100万门的集成度,这使得在单个编程器件中实现一个完整的数字系统成为可能。为了推进这种高集成度器件的应用,进一步缩短设计周期,Altera公司提供了兆功能模块并支持AMPP功能。兆功能模块具有高度的灵活性及固定功能器件所不能达到的功能,如可以实现高速有限冲击响应(FIR)滤波器。兆功能还可以实现总线协议(PCI总线)、DSP、图像处理、高速网络和微处理及微型外设等。作为复杂的系统级功能,Altera的功能模块是由先验证过的硬件描述语言(HDL)设计的,兆功能模块应用范围包括从标准模块(如通用异步收发控制器)到利用PLD的特点进行改进实例设计。6.在系统可编程(ISP)Altera器件在系统
26、可编程性能提高了设计的灵活度,简化了样品之中过程及流水线的生产过程,并且可以对产品进行快速而有效的现场升级。Altera的ISP使用IEEE1149.1标准的JTAG测试端口,可以在一个独立的生产过程中对器件进行编程,并可以对印刷电路板(PCB)进行功能测试。Lattice的CPLDispLSI系列是具有ISP 性能的器件,但是用标准的测试程序检验时,引脚锁定的能力较差,因而影响其ISP的性能。为了解决这个问题,在称为“布线池”的互连矩阵基础上,在 I/O块和功能块之间增加“辅助布线池”。Lattice的ispLSI器件有布线资源少和功能块扇入窄的缺点,Lattice的适陪器软件利用逻辑资源作
27、为直通来尽力完成设计的布线。但是,这样对性能和利用率的影响较显著,在某些情况下,适配器软件编译时间在引脚锁定之后要比引脚锁定之前慢80%之多,宏单元数则增加25%,所以,ispLSI器件采用了较差的引脚锁定结构。Xilinx的XC9500系列是采用创新FastFLASH工艺制造的CPLD,具有特殊的系统内编程(ISP)的能力,系统内编程/擦除的次数可以高达上万次,比其他CPLD的编程/擦除的次数高一至二个数量级,高的耐久程度使其可用于经常要求现场更改和再配置的应用场合,它的扩展IEEE_1149.1边界(JTAG)指令集允许器件编程模式变更扩展和实现系统内的诊断。XC9500系列还提供整个产品
28、寿命期间的支持措施和引脚锁定能力。在大多数CPLD器件中,每个I/O引脚的宏单元通过一个I/O块直接驱动,当设计要求引脚锁定时,EDA软件的适配器强迫逻辑影射到专门的宏单元来保持引脚不变。XC9500XL和 XC9500XV器件为低电压、低功耗的CPLD器件,使用XC9500XV器件可以比使用XC9500器件节省75%的功耗,而且成本也大大降低。低电压不仅具有最佳的系统性能,同时确保灵活性与不通率,可以很方便的设计出工作频率近200MHz的快速同步DRAM控制器以及与微处理器配合更紧密的借口。AMD的MACH5器件具有不足的布线资源和差的适配器性能的缺点,窄的功能在引脚锁定之后总是重新布线,带
29、来了由于分段延时引起的某些性能的降低。2.2.3 CPLD在新技术中的应用1CPLD的在系统编程技术 传统的CPLD编程是在编程器上完成的,因为那时CPLD编程需要较高的电压和较特殊的波形。然而,由于工艺的改进,对CPLD器件的编程可在其工作电压下进行。因此,可将CPLD芯片安装在系统中,在其工作环境下,依靠编程软件完成,这就是所谓在系统编程(In System Program)。2片内存储器和其他片内逻辑在某些CPLD的芯片中,专门开辟了一个区,制作了一定容量的片内RAM(包含FIFO、双口随机型、单口随机型三种),为用户开发DSP功能(例如FIR滤波器、图像卷积等)提供条件。由于这是用RA
30、M工艺制作的,占用面积小,所以其速度比逻辑单元配置RAM高。有些CPLD芯片中专门制作了20位高速计数器和高速阵列乘法器,可以很方便地得到高性能地器件。另外有些芯片(如ALTERA公司APEX等系列芯片)中包含有锁相电路,可以与外电路配合,完成信号源、通信等有关电路或系统地设计制作。此外,有些芯片在某些局部结构上形成自己的特色,如可在内部完成三态功能等。3.低电压、低功耗系列芯片随着集成工艺的改进,3.3V供电的CPLD已进入应用领域,并逐渐成为主流,其他旨在降低功耗的产品(例如零支持功耗的芯片等)也有生产。内核电压为2.5V、1.8V供电的产品也陆续问世。以上各种特色的芯片可供用户在需要时选
31、用。4. IP的使用和嵌入式模块随着芯片规模的日益扩大,系统功能的日益复杂,特别是片上系统的出现、如仍按常规的设计方法,开发周期将会很长,设计质量也会受到影响。因此,IP(Intellectual Property知识产权)应运而生。人们可以将合适的IP软核(Core)或其他形式的核,作为嵌入式模块装在自己的设计中,方便而快捷地完成一个系统地设计。对处理器类IP核的嵌入,须在芯片对外接口上有特殊的安排。现在,各半导体公司的CPLD新产品已注意到此问题,并有相应的产品问世。5.混合编程技术关于可编程模拟电路(PAC,Programmable Analog Circuit)正在研究之中,已有一些P
32、AC的芯片问世,片中包含一些增益可调额的放大器和滤波器等,但目前还未到广泛使用,在不久的将来,带有放大器、比较器、A/D变换器、滤波器等模拟器件的混合可编程器件将进入应用领域。2.3 VHDL语言简介2.3.1 VHDL的发展情况与特点VHDL诞生于1982年。在1987年底,VHDL被IEEE和美国国防部确认为标准硬件描述语言。自IEEE公布了VHDL的标准版本,IEEE-1076(简称87版)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具可以和VHDL接口。此后VHDL在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准的硬件描述语言。而VHDL是由GDA(G
33、ateway Design Automation)公司的PhilMoorby在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出它的第三个商用仿真器VXL,获得了巨大的成功,从而使得VHDL迅速得到推广应用。1989年CADENCE公司收购了GDA公司,使得VHDL成为了该公司的独家专利。1990年CADENCE公司公开发表了VHDL,并成立LVI组织以促进VHDL成为IEEE标准,即IEEE Standard 1364-1995。VHDL语言主要用于描述数字系统的结构、行为、功能和接口,与其他硬件描述语言相比,VHDL
34、语言有如下优越之处:(1)VHDL语言支持自上而下(Top Down)和基于库(Library Base)的设计方法,还支持同步电路、异步电路、FPGA以及其他随机电路的设计。(2)VHDL语言具有多层次描述系统硬件功能的能力,可以从系统的数学模型直到门级电路,其高层次的行为描述可以与低层次的RTL描述和结构描述混合使用,还可以自定义数据类型,给编程人员带来较大的自由和方便。(3)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必关心最终设计实现的目标器件是什么。(4)VHDL具有电路仿真与验证功能,可以保证设计的正确性,用户甚至不必编写如何测试相量便可以进行源代码级的调试,
35、而且设计者可以非常方便地比较各种方案之间的可行性及其优劣,不需做任何实际的电路实验。(5)VHDL语言可以与工艺无关编程。(6)VHDL语言标准、规范,易于共享和复用。2.3.2 VHDL语言结构图2.11 VHDL程序结构框图图2.11中是VHDL的全部结构,但实际上并不需要全部的结构,就像在许多设计项目中,大部分工程师只用到VHDL其中的30%的语法。通常图2.12的结构才是基本和必需的。图2.12 VHDL程序基本结构(1)实体实体作为一个设计实体的组成部分,其功能是对这个设计实体与外部电路进行接口描述,它是设计实体的表层设计单元。实体说明部分规定了设计单元的输入输出接口信号或引脚,它是
36、设计实体对外一个通信界面。就一个设计实体面言,外界所看到的仅仅是它的界面上的各种接口。它可以拥有一个或多个结构体,用于描述此设计实体的逻辑结构和逻辑功能,对于外界来主,这一部分是不可见的。不同逻辑功能的实体可以拥有相同的实体描述,这是因为实体类似于原理图中的一个部件符号,而其的逻辑功能是由设计实体中结构体的描述确定的。实体是VHDL的基本设计单元,它可以对一个门电路、一个芯片、一块电路板乃至整个系统进行接口描述。其结构:ENTITY 实体名 IS GENERIC(常数名:数据类型:设定值 ;常数名:数据类型:设定值 ); PORT(端口名:端口模式 数据类型;端口名:端口模式 数据类型);EN
37、D ENTITY 实体名;(2)结构体结构体是实体所定义的设计实体中的一个组成部分。结构体描述设计实体的内部结构和实体端口间的逻辑关系。结构体由六部分组成:1.对数据类型、常数、信号、子程序和元件等元素的说明部分;2.描述实体逻辑行为的,以各种不同的描述风格表达的功能描述语句,它们包括各种形式的顺序描述语句和并行描述语句。其语句格式如下:ARCHITECTURE 结构体名; 说明语句BEGIN 功能描述语句END ARCHITECTURE 结构体名;3.块语句是由一个系列并行执行语句构成的组成体,它的功能是将结构中的并行语句组成一个或多个模块。4.进程语句定义顺序语句模块,用以将从外部获得的信
38、号值,或内部的运算数据向其它的信号进行赋值。5.信号赋值语句将设计实体内的处理结果向定义的信号或界面端口进行赋值。6.子程序调用语句用以调用过程或者函数,并将此元件的端口与其它的元件、信号或高层次实体的界面端口进行连接。 图2.13 结构体构造图系统电路的软件设计可采用工具软件Max+plusII,用该工具软件所支持的语言硬件描述语言VHDL,以文本的方式进行编程输入。在编程时分别对控制、计数、锁存、译码等电路模块进行VHDL文本描述,使每个电路模块以及器件都以文本的形式出现,然后通过编译、波形分析、仿真、调试来完善每个器件的功能。单个器件制作完成后,然后将它们生成库文件,并产生相应的符号,最
39、后用语言将各个已生成库文件的器件的各个端口连接在一起,从而形成了系统主电路的软件结构。在连接器件时,也可以采用图形输入方式,即在图形输入界面中调出先制作好的库文件器件符号,再将每个器件符号的各端口直接连线,从而构成系统主电路。在上述工作的基础上,再进行波形分析、仿真调试便完成整个软件设计。第三章 频率计的设计方案3.1 传统方法传统的数字电子系统设计中,手工设计占了较大的比例。一般先按电子系统的具体功能要求进行功能划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑简化,写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,最后进行实测与调试。手工设计方法的缺点是:(1)复杂电
40、路的设计、调试十分困难。(2)如果某一过程存在错误,查找和修改十分不便。(3)设计过程中产生大量文档,不易管理。(4)对于集成电路设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差。(5)只有在设计出样机或生产出芯片后才能进行实测。传统的手工设计发展而来的自底向上的设计方法,在进行手式电路设计时,一个硬件系统的实现过程是从选择具体的元器件开始的。3.2 现代方法随着集成电路发展,自底向上的设计方法已逐步被现代的自顶向下的设计方法所取代。所谓自顶向下的设计,就是设计者首先从整体上规划整个系统的功能和性能,然后对系统进行划分,分解为规模,较小、功能较为简单的局部模块,并确立它们之间的相互
41、关系,这种划分过程可以不断地进行下去,直到划分得到的单元可以映射到物理实现。3.2.1 自顶向下的设计方法自顶向下的设计方法是随着硬件描述语言(HDL)和EDA工具同步发展起来的。硬件描述语言可以在各个抽象层次上对电子系统进行描述,而且借助于EDA设计工具,可以自动实现从高层次到低层次的转换,这就使得自顶向下的设计过程得以实现。采用自顶向下的设计方法的优点是显而易见。由于整个设计是从系统顶层开始的,结合模拟手段,可以从一开始就掌握所实现系统的性能状况,结合应用领域的具体要求,在此时就调整设计方案,进行性能优化或折衷取舍。随着设计层次向下进行,系统性能参数将得到进一步的细化与确认,随时可以根据需
42、要加以调整,从而保证了设计结果的正确性,缩短了设计周期,设计规模越大,这种设计方法的优势越明显。自顶向下的设计方法的缺点就是需要先进的EDA设计工具和精确的工艺库的支持。3.2.2 与传统的设计方法相比EDA的特点(1)采用硬件描述语言作为设计输入。用HDL对数字电子系统进行抽象的行为与功能描述到具体的内部线路结构描述,从而可以在电子线路的各个阶段、各个层次进行计算机模拟验验,保证设计过程的正确性。可以大大降低设计成本,缩短设计周期。(2)库(Library)的引入。EDA工具之所以能够完成各种自动设计过程,关键是有各类库的支持。如逻辑仿真时的模拟库、逻辑综合时的综合库、版图综合时的版图库、测
43、试综合时的测试库等。这些库都是EDA设计公司与半导体生产厂商紧密合作、共同开发的。(3)设计文档的管理。某些HDL语言也是文档型的语言(如VHDL),极大地简化设计文档的管理。(4)强大的系统建模、电路仿真功能。EDA技术中最为瞩目的功能,即最具现代电子技术特征的功能是日益强大的逻辑设计仿真测试技术。EDA仿真测试技术只需通过计算机,就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,在完成实际系统安装后,还能对系统上的目标器件进行所谓边界扫描测试。这一切都极大地提高了大规模系统电子设计的自动化程度。如果与传统的使用专用功能器件等分离元件构成的应用电子系统的技术性
44、能和设计手段相比,EDA技术及其设计系统具有更加明显的优势。(5)具有自主知识产权。(6)开发技术的标准化、规范化以及IP核的可利用性。(7)适用于高效率大规模系统设计的自顶向下设计方案。从电子设计方法学来看,EDA技术的最大优势就是能将所有设计环节纳入统一的自顶向下的设计方案中。传统的电子设计技术中,由于没有规范的设计工具和表达方式,无法进行这种先进的设计流程。(8)全方位地利用计算机自动设计、仿真和测试技术。EDA不但在整个设计流程上充分利用计算机的自动设计能力,在各个设计层次上利用计算机完成不同内容的仿真模拟,而且在系统板设计结束后仍可利用计算机对硬件系统进行完整的测试(边界扫描技术)。
45、对于传统的设计方法,如单片机仿真器的使用仅仅只能在最后完成的系统上进行局部的硬件仿真调试,在整个设计的中间过程是无能为力的。至于硬件系统测试,由于现在的许多系统主板不但层数多,而且许多器件都是BGA(Ball-Grid Array)封装,所有引脚都在芯片的底面,焊接后普通的仪器仪表无法接触到所需要的信号点,因此无法测试。(9)对设计者的硬件知识和硬件经验要求低。EDA技术的标准化和HDL设计语言与设计平台对具体硬件的无关性,使设计者能更大程度地将自己的才智和创造力集中在设计项目性能的提高和成本的降低上,而将更具体的硬件实现工作让专业部门来完成。显然,高技术人才比经验性人才的培养效率要高得多。(
46、10)高速性能好。这是与以CPU为主的电路系统相比。以软件方式控制操作和运算的系统速度显然无法与纯硬件系统相比,因为软件是通过顺序执行指令的方式来完成控制和运算步骤的,而用HDL语言描述的系统是以并行方式工作的。以对A/D进行数据采样控制为例,采样周期包括对A/D工作时序的控制和将每一次获得的数据存入RAM(或FIFO)中。工作于12MHZ晶振频率的MCS51系列单片机对A/D控制的采样频率为20KHZ上下,即约每秒两万次。但若用FPGA中设计的状态机来完成同样的工作,如对于具有流水线采样工作时序的A/D来说,只需两个状态即可完成一次采样,状态间转换的时间仅为一个时钟周期,而如果FPGA的工作
47、频率是100MHZ,则采样速度可达50MHZ。(11)纯硬件系统的高可靠性。大量事实表明,由CPU(或单片机)为核心的系统的可靠性通常不高,而且与CPU的种类关系不大,即任何由CPU为主控单元的系统,都不得不受到用户的特别关注。其主要原因是,以软件运行为核心的CPU的指令地址指针在外部干扰下,容易发生不可预测的变化,而使运行陷入不可预测的非法循环中,使系统瘫痪。事实上,许多要求高可靠的智能控制系统完全可以利用EDA技术以全应件来实现。例如状态机就是很好的选择。它的运行方式类似于CPU,但却有良好的可靠性和高速的性能。因为在外部强干扰情况下,状态机的死寂机(进入非法装态)情况是可预测的,这包括非法状态的数量和进入状态的可预测性,以及是否已经进入的非法状态的可判断性。因为状态机的非法状态的编码方式和数量是明确的,从而确保了恢复正常状态各种措施的绝对可行性。3.3 本设计的方法基于以上EDA技术的优点,我采用现代EDA的设计方法即自顶向下的设计方案来设计频率计。频率计的基本测量原理是,首先让被测信号与标准信号一起通过一个闸门,然后用计数器计数信号脉冲的个数,把标准时间内的计数的结果,用锁存器锁存起来,最后用显示译码器,把锁存的结果用LED数码显示管显示出来。根据数字频率计的基本原理,本文设计方案的
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100