八位十进制数字频率计设计报告_第1页
八位十进制数字频率计设计报告_第2页
八位十进制数字频率计设计报告_第3页
八位十进制数字频率计设计报告_第4页
八位十进制数字频率计设计报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、题目:作者:学号:所属学院:专业年级:完成时间:word格式.整理版8位十进制数字频率计的设计摘要数字频率计是用数字显示被测信号频率的仪器,被测信号是方波信号.数字 频率计广泛应用于科研机构、学校、实验室、企业生产车间等场所.研究数字频 率计的设计和开发,有助于频率计功能的不断完善、性价比的提升和实用性的加 强.本文介绍了 一种自顶向下分层设计多功能数字频率计的设计方法.该频率计 采用Verilog硬件描述语言编程,以 QuartusII为开发环境,极大地减少了硬件 资源的占用.数字频率计模块划分的设计具有相对独立性,可以对模块单独进行设计、调试和修改,缩短了设计周期.所设计的Verilog语

2、言通过仿真能够较好的测出所给频率并且满足数字频率计的自动清零和自动测试的功能要求,具有理论与实践意义.关键词:Verilog ;数字频率计;EDA; QuartusII第一章 EDA技术原理与概述1.1可编程逻辑器件根本原理FPGA 4-5是一种高密度的可编程逻辑器件,自从Xilinx公司1985年推出第一片FPGA以来,FPGA的集成密度和性能提升很快,具集成密度最高达1000万门/片以上,系统性能可达 300MHz.由于FPGA器件集成度高,方便 易用,开发和上市周期短,在数字设计和电子生产中得到迅速普及和应用. FPGA采用了逻辑单元阵列LCA (Logic Cell Array )这样

3、一个概念,内部包括可配置逻辑模块 CLB (Configurable Logic Block )、输出输入模块 IOB (Input Output Block )和内部连线(Interconnect )三个局部.现场可编程门阵列(FPGA)是可编程器件.与传统逻辑电路和门阵列(如 PAL, GAL 及CPLD器件)相比,FPGA具有不同的结构,FPGA利用小型查找表(16X1RAM )来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O ,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的根本逻辑单元模块,这些模块间利用金属连线 互相连接或连接到I/O

4、模块.FPGA的逻辑是通过向内部静态存储单元加载word格式.整理版编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能 以及各模块之间或模块与I/O间的联接方式,并最终决定了 FPGA所能实现的功能,FPGA允许无限次的编程.FPGA器件优点:高密度、高速率、系列化、标准化、小型化、多功能、 低功耗、低本钱,设计灵活方便,可无限次反复编程,并可现场模拟调试 验证.1.2硬件描述语言目前最主要的硬件描述语言是 VHDL和Verilog HDL,Verilog HDL和HDL 都是用于逻辑设计的硬件描述语言,并且都已成为 IEEE标准.VHDL开展的较 早,语法严格,而Verilog

5、 HDL是在C语言的根底上开展起来的一种硬件描述语 言,语法较自由. VHDL和Verilog HDL两者相比,VHDL的书写规那么比Verilog 烦琐一些,但verilog自由的语法也容易让少数初学者出错.Verilog HDL和VHDL 作为描述硬件电路设计的语言,其共同的特点在于:能形式化地抽象表示电路的 行为和结构、支持逻辑设计中层次与范围的描述、可借用高级语言的精巧结构来简化电路行为的描述、具有电路仿真与验证机制以保证设计的正确性、支持电路描述由高层到低层的综合转换、硬件描述与实现工艺无关.本设计是用的Verilog 语言来实现数字频率计的设计的,本设计将重点介绍Verilog语言

6、.Verilog语言主要用于描述数字系统的结构,行为,功能和接口.Verilog的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是局部,及端口)和内部(或称不可视局部),既 涉及实体的内部功能和算法完成局部. 在对一个设计实体定义了外部界面后,一且其内部开发完成后,其他的设计就可以直接调用这个实体.这种将设计实体分成内外局部的概念是Verilog系统设计的根本点.Verilog语言能够成为标准化的 硬件描述语言并获得广泛应用,它自身必然具有很多其他硬件描述语言所不具备 的优点.Verilog程序组成局部由实体、构造体、配置、包集合、库5个局

7、部组成.各组成局部的作用是:(1)实体:用于描述所设计的系统的外部接口信号.(2)构造体:用于描述系统内部结构和行为.(3)配置:用于从库中选取不同单元(器件)来组成系统设计的不同版本.(4)包集合:存放各设计模块都能共享的数据类型,常数和子程序等.(5)库:可由系统工程师生成或由ASIC芯片商提供,以便在设计中共享.详细介绍QuartusII文本编辑输入法的使用方法:1 .编辑设计文件word格式.整理版(1)新建一个文件夹.利用资源治理器,新建一个文件夹,如 e:SIN GNT.(2)输入源程序.翻开 QuartusII,执行File-New,在New窗口中的“ Device Design

8、 Files中选择编译文件的语言类型, 这里选“Verilog Files,然后在Verilog 文本编译窗口中键入 Verilog程序.如图2.3所示.(3)文件存盘.执行File-Save As找到已设立的文件夹e:SIN_GNT,存盘文 件名应该与实体名一致.2 .创立工程(1)建立新工程治理窗.执行FilefNew Project Wizard命名,在图2.4对话框 进行工程设置.(2)将设计文件参加工程中.(3)选择仿真器和综合器类型.(4)选择芯片.(5)结束设置.3 .编译前设置(1) 选择目标芯片,执行 Assignmemtssettings命令,在弹出的对话框中 选Compi

9、ler Settings项下的Device选目标芯片.(2)选择目标器件编程配置方式,由图2.5的按钮Device Pin Options进入选 择窗,可选 Configuration 方式为 Active Serial 03 3) 在下列图所示的 Programming Files窗口, Hexadecimal(Intel-Format)output File,即产生下载文件的同时,产生二进制十六进制配置文件fraqtest.hexout可用 于单片机与EPROM构成的FPGA配置电路系统如图2.6所示.4 .编译及了解编译结果首先执行Processings Start Compilatio

10、n命令,启动全程编译,如果工程中的 文件有错误,在下方的 Processing处理栏中会显示出来.对于 Processing栏显示 出的语句格式错误,可双击此条文,即弹出 Verilog文件,在闪动的光标处(或 附近)可发现文件中的错误.再次进行编译直至排除所有错误第二章 数字频率计的系统分析2.1 8位十进制数字频率计系统设计的原理2.1.1 数字频率计的根本原理数字频率计的根本原理是用一个频率稳定度高的频率源作为基准时钟,通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒.闸门时间word格式.整理版也可以大于或小于一秒.闸门时间越长,得到的频率值就越准确,但闸门时间越 长那

11、么每测一次频率的间隔就越长.闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响.数字频率计的主要功能是测量周期信号的频率.频率是单位时间(1S)内信号发生周期变化的次数.如果我们能在给定的1S时间内对信号波形计数,并将计数结果显示出来,就能读取被测信号的频率.数字频率计 首先必须获得相对稳定与准确的时间,同时将被测信号转换成幅度与波形均能被 数字电路识别的脉冲信号,然后通过计数器计算这一段时间问隔内的脉冲个数, 将其换算后显示出来.这就是数字频率计的根本原理.2.1.2 系统总体框架图总体框图设计思路:由20MHz系统时钟分频得到0.5Hz的基准时钟.在基 准时钟的1S高电平期间计被

12、测频率的脉冲个数,1S高电平结束时计数结束, 所记录的脉冲个数是被测信号的频率,为了在数码管上显示计数结果需要锁存器 将所计的数锁存,因此,在基准时钟下降沿来的时候锁存器实现锁存功能.为了 下次计数必须将本次计数的结果清零,所以在基准时钟低电平期间对计数器清 零.被测频率从计数器的是中端输入实现频率的测试.将锁存器锁存的数据输入扫描器,通过译码器将锁存的二进制数译成十进制然后显示到数码管上,最终被读出来.2.2 8位十进制数字频率计设计任务及要求用测频法设计一个八位十进制的数字频率器,测频范围是1HZ到49999999HZ 0(1)测量范围信号:方波、正弦波;幅度:0.5V5V;频率:1Hz4

13、999999HZ. (2)测量范围信号:脉冲波;幅度:0.5V5V;脉冲宽度?100仙.s测量误差0 1%(3)显示器:十进制数字显示,显示刷新时间110秒连续可调,对上述三 种测量功能分别用不同颜色的发光二极管指示.(4)具有自校功能,时标信号频率为1HZ第三章各功能模块基于Verilog的设计3.1 8位十进制数字频率计的电路逻辑图word格式.整理版8位十进制数字频率计的电路逻辑图,它由一个测频限制信号发生器TESTCTL、 8个有时钟使能的十进制计数器 CNT10、 一个32位锁存器REG32B网组成.以下分别表达频率计各逻辑模块的功能与设计方法.8位十进制数字频率计的电路逻辑如图4.

14、18所示图4.1 8位十进制数字频率计的电路逻辑图3.2 系统时钟分频的功能模块(1)系统时钟分频的分频功能模块如图4.4所以.图4.4系统时钟分频的功能模块图(2)源程序如下:module fre_div(clk,clkout); 输入 20MHz,输出分频到 1Hzword格式.整理版input clk;output clkout;reg clkout;reg31:0 counter; /中间变量counter定义为存放器型parameter N=20_000_000;always(posedge clk) beginif(counter= N/2-1)beginclkout = clko

15、ut;counter=0;endelsecounter=counter+1b1;endendmodule3.4.2锁存器的功能模块(1)32位锁存器的功能模块如图4.6所示.REG32BLOADDOUT31.0一| DIN31,0inst18图4.6锁存器的功能模块图(2)源程序如下:module REG32B (LOAD, DIN, DOUT);input LOAD;input31:0 DIN;output31:0 DOUT;reg31:0 DOUT;word格式.整理版always (posedge LOAD)begin : xhdl_1/时钟到来时,锁存输入示 DOUT = DIN ;e

16、nd endmodule3.5数码管扫描的功能模块(1)数码管扫描网的功能模块如图4.8所示./20MHz/复位信号,低电平有效要显示的32位数据位选信号段码dp到a由高到低排列分频系数扫描时钟分频计数器扫描计数器每一位数码管待译码数据图4.8数码管扫描的功能模块(2)源程序如下:module seven_seg( clk ,rst_n,d,dig ,seg);input clk ;input rst_n ;input 31:0 d;output 7:0 dig ; / output 7:0 seg; /parameter N= 20000; / reg clkout ;/reg 13:0cn

17、t;/reg 2:0 scan_cnt ; / reg 3:0 disp_dat ; /reg 7:0 dig;reg 7:0 seg_r;word格式.整理版always ( posedge clk or negedge rst_n)/ 分频至ij 1KHzbeginif (!rst_n)cnt = 0 ; elsebeginif(cnt= N/2-1)beginclkout = clkout;cnt=0;endelsecnt=cnt+1b1;end endalways (posedge clkout or negedge rst_n)/ 产生扫描计数值beginif (!rst_n)sca

18、n_cnt = 0 ; elsescan_cnt = scan_cnt + 1b1; endalways ( scan_cnt,d)/8 位数码管位选择,同时送相应要显示数据begincase ( scan_cnt )3b000 : begindig= 8b0000_0001;disp_dat= d3:0;end3b001 : begindig= 8b0000_0010;disp_dat= d7:4;end3b010 : begindig= 8b0000_0100;disp_dat= d11:8; end3b011 : begindig= 8b0000_1000;disp_dat= d15:1

19、2; end3b100 : beginword格式.整理版dig= 8b0001_0000;disp_dat= d19:16;end3b101 : begindig= 8b0010_0000;disp_dat= d23:20;end3b110 : begindig= 8b0100_0000;disp_dat= d27:24;end3b111 : begindig= 8b1000_0000;disp_dat= d31:28;enddefault : begindig= 8b0000_0001;disp_dat= d3:0;endendcaseendalways ( disp_dat ) /共阳极

20、数码管译码begincase (disp_dat)4h0 : seg_r = 8hc0; /显示04h1 : seg_r = 8hf9; /显示14h2 : seg_r = 8ha4; /显示24h3 : seg_r = 8hb0; /显示34h4 : seg_r = 8h99; /显示44h5 : seg_r = 8h92; /显示54h6 : seg_r = 8h82; /显示64h7 : seg_r = 8hf8; /显示74h8 : seg_r = 8h80; /显示84h9 : seg_r = 8h90; /显示94ha : seg_r = 8h88; /显示a4hb : seg_r

21、 = 8h83; /显示b4hc : seg_r = 8hc6; /显示c4hd : seg_r = 8ha1; /显示d4he : seg_r = 8h86; /显示e4hf : seg_r = 8h8e; /显示fdefault: seg_r = 8hff;/灭endcaseendword格式.整理版取反变成共阴极段码assign seg=seg_r; / endmodule3.7十进制计数器的功能模块4.7.1计数器计数是一种最简单根本的运算,计数器15就是实现这种运算的逻辑电路, 计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和限制的功能,同时兼有分频功能,计数器是由根本的计数单元和一些限制门所组成,计数单元那么由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等.计数器在数字系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论