基于VerilogHDL数字频率计设计与实现课程设计任务书学院:计算机与通信工程学院专业:网络工程专业课程名称计算机组成原理课程设计时间2010~2011学年第一学期17~18周学生姓名郭祥斌指导老师陈沅涛题目主要内容:(1)数字频率计前端信号的放大整形处理(2)数字频率计的VerilogHDL设计实现(3)数字频率计的CPLD/FPGA制作要求:(1)通过对相应文献的收集、分析以及总结,给出相应课题的背景、意义及现状研究分析。(2)通过课题设计,掌握计算机组成原理的分析方法和设计方法。。(3)学按要求编写课程设计报告书,能正确阐述设计和实验结果。(4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及实现,给出个人分析、设计以及实现。应当提交的文件:(1)课程设计报告。(2)课程设计附件(主要是源程序)。课程设计成绩评定学院计算机通信工程专业网络工程班级网络08-02班学号200858080223学生姓名郭祥斌指导教师陈沅涛课程成绩完成日期2010年12月31日指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩指导教师签字年月日基于VerilogHDL数字频率计设计与实现学生:郭祥斌指导老师:陈沅涛摘要:在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。电子计数器测频有两种方式:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。直接测频法适用于高频信号的频率测量,间接测频法适用于低频信号的频率测量。本文阐述了用VerilogHDL语言设计了一个简单的数字频率计的过程关键词:周期;EDA;VerilogHDL;数字频率计;波形仿真目录1引言.........................................................-5-1.1数字频率计概述..........................................-6-1.2频率测量的思想和方法....................................-6-2VerilogHDL简介.............................................-9-2.1VerilogHDL的简介.......................................-9-3数字频率计系统框图..........................................-10-3.1数字频率计系统框图......................................-10-3.2数字频率计系统部件简介..................................-10-4基于VerilogHDL数字频率计程序设计..........................-11-4.1数字频率计系统模块划分结构..............................-11-4.2计数模块counter........................................-12-4.3门控模块gate_control...................................-15-4.4分频模块fdiv...........................................-18-4.5寄存器模块flip_latch...................................-20-4.6多路选择模块data_mux...................................-22-4.7动态位选模块dispselect.................................-23-4.8BCD译码模块dispdecoder................................-25-4.9顶层电路top............................................-28-5总结........................................................-31-参考文献.......................................................-32-1引言在电子测量领域中,频率测量的精确度是最高的,可达10—10E-13数量级。因此,在生产过程中许多物理量,例如温度、压力、流量、液位、PH值、振动、位移、速度、加速度,乃至各种气体的百分比成分等均用传感器转换成信号频率,然后用数字频率计来测量,以提高精确度。国际上数字频率计的分类很多。按功能分类,测量某种单一功能的计数器。如频率计数器,只能专门用来测量高频和微波频率;时间计数器,是以测量时间为基础的计数器,其测时分辨力和准确度很高,可达ns数量级;特种计数器,它具有特种功能,如可逆计数器、予置计数器、差值计数器、倒数计数器等,用于工业和白控技术等方面。数字频率计按频段分类(1)低速计数器:最高计数频率<10MHz;(2)中速计数器:最高计数频率10—100MHz;(3)高速计数器:最高计数频率>100MHz;(4)微波频率计数器:测频范围1—80GHz或更高。单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系统、高级计算器、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统。单片机的潜力越来越被人们所重视。特别是当前用CMOS工艺制成的各种单片机,由于功耗低,使用的温度范围大,抗干扰能力强、能满足一些特殊要求的应用场合,更加扩大了单片机的应用范围,也进一步促使单片机性能的发展。1.1数字频率计概述频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于一秒。闸门时间越长,得到的频率值就越准确,但闸门时间越长则没测一次频率的间隔就越长。闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。本文数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。因此,数字频率计是一种应用很广泛的仪器电子系统非常广泛的应用领域内,到处可见到处理离散信息的数字电路。数字电路制造工业的进步,使得系统设计人员能在更小的空间内实现更多的功能,从而提高系统可靠性和速度。集成电路的类型很多,从大的方面可以分为模拟电路和数字集成电路2大类。数字集成电路广泛用于计算机、控制与测量系统,以及其它电子设备中。一般说来,数字系统中运行的电信号,其大小往往并不改变,但在实践分布上却有着严格的要求,这是数字电路的一个特点。数字集成电路作为电子技术最重要的基础产品之一,已广泛地深入到各个应用领域1.2频率测量的思想和方法1.频率测量的基本思想测量被测信号在单位时间内的脉冲个数,其数字表达式f=N/t其中:F为被测信号的频率N为脉冲的个数T为被测信号产生N个脉冲所需的时间2.频率测量方法直接测量法:直接测量被测信号的频率,通过计数法来对被测信号在一定时间内的脉冲个数进行计数。直接厕灵法的结构框图如图1.2.1所示。图1.2.1直接测量法的结构框图3.误差来源①技术过程中最大存在着±1个字的量化误差②对时间t的准确把握,主要包括准时钟的时间准确性、整形电路、分频电路以及技术时间控制闸门的开关速度等因素。直接法测量的最大相对误差可以表达为(df/f)max=±(|1/N|+|G|)=±(|1/ft|+|G|)其中:N为脉冲的个数,G为标准时钟的频率稳定性,f为被测信号频率,t为被测信号产生N个脉冲所需的时间。被测信号测量结果放大整形计数分频标准时钟4.功能及技术指标●频率测量范围:10Hz~100MHz●测量分辨率:1Hz●测量通道灵敏度:50mVpp●通道输入阻抗:不小于100kΩ●测量误差:±1●测量结果显示:6位数码管显示该数字频率计的操作面板如图1.2.4所示图1.2.4简易数字频率计的操作面板其中,被测信号可以有三种,分别是方波、三角波和正弦波;测量结果显示采用六个数码管来显示;量程分为三个,分别为:0~999999Hz、0~9999.99kHz、0~99.9999MHz2VerilogHDL简介2.1VerilogHDL的简介VerilogHDL是一种硬件描述语言(hardwaredescriptionlanguage),为了制作数位电路(数字电路)而用来描述ASICs和FPGAs的设计之用。Verilog的设计者想要以C程序语言(en:Cprogramminglanguage)为基础设计一种语言,可以使工程师比较熟悉跟容易接受。事实上,它产生与C程序语言类似的不严谨性质,并且大概与Pascal很相像。这种语言跟传统的程序设计语言不同,在于它的程序叙述并非严格地线性(循序)执行。Verilog模式包含不同模组(modules)的阶层关系。模组(modules)是输出(inputs)和输入(outputs)所定义出来的一个集合。在每个模组中,有一串的电线(wires)、暂存器(registers)和子模组(submodules)的定义。并且在每个模组里面,语言叙述大部分都被群组成为各种的执行区块(blocks),用来定义该模组所产生的行为描述。在每个区块(blocks)内,使用begin和end的关键字来区隔开来,其中的叙述是循序被执行。但是同一个设计,不同的区块间的执行是平行的。这个语言的叙述之子集合是可合成(synthesizable)。如果在一个电路设计的模组中仅包含可合成的叙述,那麽这个电路设计就可以被适当的软件,转换合成为电脑芯片的电路layout。3数字频率计系统框图3.1数字频率计系统框图设计如图3.1.1所示的数字频率计系统电路框图图3.1.1所示的数字频率计系统电路框图3.2数字频率计系统部件简介1.放大整形数字频率计允许测量信号的类型有三种:方波、三角波和正弦波,并且信号的测量通道灵敏度为50mVpp,为此,需要将被测信号放大整形成标准的TTL电平的方波型号,便于CPLD/FPGA对信号脉冲的计数。2.SW1、SW2、SW3按键SW1、SW2、SW3这三个按键用来在测量的时候,用户根据被测信号的大致频率范围选择不同的适合被测信号的量程。在按键的设计中,需要考虑实际按键的消抖问题3.标准时钟标准时钟为频率计测量提供精度相对比较高的时基信号,其时间的稳定性与精度将会直接影响到频率计测量的准确性。4.LED显示模块频率计将测量的结果通过6位数码管(LED)来显示。4基于VerilogHDL数字频率计程序设计4.1数字频率计系统模块划分结构数字频率计中的CPLD/FPGA是频率计的核心,主要实现在一定时间内,对被测信号的脉冲个数进行计算,并且转化为相应的频率值显示在六个数码管上。首先将系统分成七个模块来分别设计仿真。分别有以下七个模块:经过上述模块化划分后的结构框如图4.1所示图4.1模块化划分后的结构●计数模块counter:对包含被测信号频率信息的脉冲进行计数●门控模块gate_control:根据量程,控制技术模块计数。