版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGEIX《电气工程及其自动化EDA课程设计》课程设计报告题目:数字频率计的设计院(系):机电与自动化学院专业班级:学生姓名:学号:指导教师:2014年1月6日至2014年1月10日华中科技大学武昌分校自动化EDA课程设计设计任务书一、设计题目数字频率计的设计二、设计要紧内容1.设计目的:(1)巩固和加深对《EDA技术及应用》及《数字电子技术》差不多知识的理解,提高学生综合运用本课程所学知识的能力;(2)培养学生依照课题需要选学参考书籍、查阅手册、图表和文献资料的自学能力;通过独立考虑,深入钻研有关问题,学会自己分析解决问题的方法;(3)以学生的动手为要紧内容,培养学生系统软、硬件设计、调试的差不多思路、方法和技巧,并能熟练使用集成软件QuartusⅡ进行有关电路设计与分析;(4)掌握FPGA器件的正确使用方法,提高学生动手能力,能在教师指导下,完成课程任务;(5)培养严肃认确实工作作风和科学态度。通过课程设计实践,关心学生逐步建立正确的生产观念、工程观念和全局观点。2.设计内容:(1)8位频率计输入端分不为:系统基准时钟100MHZ(CLK)、被测信号输入(Fx);及输出端为(DOUT),皆采纳BCD码计数方式;(2)可测量范围从1Hz到99999999Hz;(3)将被测信号的频率直接送到8个LED显示;也可选择其它题目,但重量不能低于上述题目。三、原始资料1.频率测量方法的差不多原理是计算每秒内待测信号的脉冲个数,这就要求TESTCTL的计数使能信号TSTEN能产生一个1秒脉宽的周期信号,并对频率计的每一个计数器CNT10的ENA使能端进行同步操纵。当TSTEN高电平常,同意计数,并保持其所计的数。在停止计数期间,首先需要一个锁存信号LOAD的上跳沿将计数器在前1秒的计数值锁存进32位锁存器REG32B中,并由外部的7段译码器译出并稳定的显示。此方法测量精度高。数字频率计由多频信号源模块、测频操纵模块、CNT计数模块、32位锁存器模块及频率显示模块组成,其框图为图1所示:信信号源计数模块锁存器显示器操纵信号100MHzCLK1Hz用于测量用于扫描显示被测信号fsinTESTENLOADCLR产生1MHz信号产生多种频率输出图1数字频率计组成框图2.在QuartusII软件中,编写各个模块VHDL源程序;并上机调试通过;3.下载顶层文件到目标芯片;4.将被测信号fx输入到系统,数码管将会显示被测信号频率。
四、要求的设计成果1、差不多要求:在QuartusII软件中新建原理图文件,编译,仿真,锁定管脚并下载到目标芯片。将被测信号fx输入到系统,数码管将会显示被测信号频率。(1)依照设计要求,设计系统的原理框图,讲明系统中各要紧组成部分的功能;(2)在QuartusII软件中,编写各个模块VHDL源程序;并上机调试通过;(3)依照软件编好用于系统仿确实测试文件;(4)编好用于硬件验证的管脚锁定文件;(5)记录系统各个模块仿真结果;(6)记录仿真结果中出现的问题及解决方法。2、备选要求:学生可依照课堂教学对《EDA技术及应用》所掌握知识点的实际情况,也可选择其它方案完成设计,从而形成难易程度不同的设计方法。注意:差不多要求学生必须完成,学有余力的学生能够在差不多要求完成的前提下,选择其它方案完成设计。一般来讲,测频精度越高,考查评价就越高。五、进程安排表2进度安排及学时分配表序号课程设计内容学时分配备注1集中学生学习课程设计的关键理论知识、分配设计任务、明确设计要求、查找资料等。1天2依照任务的要求进行方案构思,初选方案,绘制系统原理框图并与指导教师讨论,方案定稿。1天完成各模块的VHDL程序设计、编译和时序仿真1天3编程、下载,结合硬件平台,进行调试。完成顶层文件图绘制,对编制好的封图交给老师检查,并按照老师要求修改。1天4撰写课程设计讲明书1天5答辩及验收课程设计1天合计5天六、要紧参考资料[1]侯伯享.VHDL硬件描述语言与数字逻辑电路设计.西安:西安电子科技大学出版,2010.[2]潘松.EDA技术有用教程.成都:电子科技大学出版社,2010.[3]李玉山.电子系统集成设计技术.北京:电子工业出版社,2010.6.[4]李国丽.EDA与数字系统设计.北京:机械工业出版社,2009.[5]周彩宝.VHDL语言及其应用.上海:华东计算机技术研究所:2009.[6]谭会生.EDA技术中和应用实例与分析.西安:西安电子科技大学出版社,2008.指导教师(签名):20年月日目录第一章绪论 11.1设计背景 11.2设计意义 11.3本文的要紧工作 2第二章EDA技术原理与概述 32.1可编程逻辑器件差不多原理 32.2硬件描述语言 42.3集成开发软件 5第三章数字频率计的系统分析 103.18位十进制数字频率计系统设计的原理 103.1.1数字频率计的差不多原理 103.1.2系统总体框架图 103.28位十进制数字频率计设计任务与要求 113.3目标芯片FLEX10K 11第四章各功能模块基于VHDL的设计与仿真 134.18位十进制数字频率计的电路逻辑图 134.2测频操纵信号发生器的功能模块及仿真 144.3系统时钟分频的功能模块及仿真 154.432位锁存器的功能模块及仿真 164.4.1锁存器 164.4.2锁存器的功能模块及仿真 174.5数码管扫描的功能模块及仿真 184.6数码管译码显示的功能模块及仿真 194.7十进制计数器的功能模块及仿真 214.7.1计数器 214.7.2十进制计数器的功能模块及仿真 214.88位十进制数字频率计的仿真 23第五章结束语 30参考文献 318位十进制数字频率计的设计绪论PAGE498位十进制数字频率计的设计绪论第一章绪论1.1设计背景数字频率计[1]是电子测量与仪表技术最基础的电子仪表类不之一,数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器,而且它是数字电压必不可少的部件。当今数字频率计不仅是作为电压表,计算机,天线电广播通讯设备,工艺过程自动化装置、多种仪表仪器与家庭电器等许多电子产品中的数据信息输出显示器反映到人们眼帘。集成数字频率计由于所用元件少、投资少、体积小、功耗低,且可靠性高、功能强、易于设计和研发,使得它具有技术上的有用性和应用的广泛性。不论从我们用的彩色电视机、电冰箱、DVD还有我们现在家庭常用到的数字电压表数字万用表等等都包含有频率计。现在频率计已是向数字智能方向进展,即能够专门精确的读数也精巧易于操纵。数字频率计已是现在频率计进展的方向,它不仅能够专门方便的读数。而且还能够使频率的测量范围和测量准确度上都比较先进.而且频率计的使用已设计到专门多的方面,数字卫星,数字通讯等高科技的领域都有应用,今天数字频率计的进展差不多不仅仅是一个小电子产品的进展也是整个民族乃至整个国家的进展,因此频率计的进展是一个整体的趋势。 而从民族产业上来讲,我们在这种产业中还落后于西方发达国家,这将会关系到民族产业的兴衰。因此我们必须专门重视当前的情况,学习发达国家的先进技术来进展本国的电子信息产业。1.2设计意义我国的频率计事实上不是落后发达国家太多的,我国在那个领域的进展是极其迅速的,现在的技术实际已是多年来见证。我国现时期电子产品的市场特点,电子数字化进展专门快。在我国和发达国家的进展情况是趋于一致的,数字频率计差不多应用于高科技等产品上面,能够不无夸张的讲没有不包含有频率计的电子产品。我国的CD、VCD、DVD和数字音响广播等新技术已开始大量进入市场。而在今天这些行业中都必须用到频率计。频率计已开始并正在向智能,精细方向的进展。国外的进展比我国要早,因此在这些行业中还领先于我们,我国依旧缺少开发和研发的资金投入,专门多的电子企业都不太乐意去花大量的时刻,资金和精力去研究和开发,这也就使得我国在这方面的人力和资金都不充足,也就无法于发达国家相比,不能够形成一个量产的效果。从而专门多的企业没有竞争力,这也和我国其他的民族产业存在相同的情况,这也正是我国在高速进展后的今天专门少有自己的民族品牌的缘故,因此我国应该大力的支持自己的民族品牌,不仅仅是要在资金和人才的投入,还要有具体的实际行动并起到一定的爱护作用。1.3本文的要紧工作本文的要紧工作为:(1)首先分析了8位十进制数字频率计的差不多原理。(2)对设计工具QuartusII进行了介绍,对设计中使用的VHDL语言[2-3]进行介绍。(3)对数字频率计的各个模块功能的分析,进行了功能仿真测试,得出仿真波形图。本文的安排如下:第一章介绍数字频率计的设计背景,设计意义,第二章介绍EDA技术原理与概述,本论文是以EDA技术为基础编写的因此对EDA技术的要求比较高,对VHDL语言的编写以及QuartusII的运用都要比较熟练。介绍了可编程逻辑器件FPGA和硬件描述语言,第三章是对数字频率计的差不多原理以及对设计的要求进行概述,对目标芯片的介绍等,第四章介绍各个功能模块的差不多功能以及VHDL语言的分析,将各部分进行仿真并对其进行仿真分析,测出所给频率。对该设计的数字频率计的仿真进行理论值与实验值的验证,第五章是本文的结束语。8位十进制数字频率计的设计EDA技术原理与概述第二章EDA技术原理与概述2.1可编程逻辑器件差不多原理FPGA[4-5]是一种高密度的可编程逻辑器件,自从Xilinx公司1985年推出第一片FPGA以来,FPGA的集成密度和性能提高专门快,其集成密度最高达1000万门/片以上,系统性能可达300MHz。由于FPGA器件集成度高,方便易用,开发和上市周期短,在数字设计和电子生产中得到迅速普及和应用。FPGA采纳了逻辑单元阵列LCA(LogicCellArray)如此一个概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。现场可编程门阵列(FPGA)是可编程器件。与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构,FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的差不多逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA同意无限次的编程。FPGA器件优点:高密度、高速率、系列化、标准化、小型化、多功能、低功耗、低成本,设计灵活方便,可无限次反复编程,并可现场模拟调试验证。图2.1FPGA差不多结构2.2硬件描述语言目前最要紧的硬件描述语言是VHDL和VerilogHDL,VerilogHDL和HDL差不多上用于逻辑设计的硬件描述语言,同时都已成为IEEE标准。VHDL进展的较早,语法严格,而VerilogHDL是在C语言的基础上进展起来的一种硬件描述语言,语法较自由。VHDL和VerilogHDL两者相比,VHDL的书写规则比Verilog烦琐一些,但verilog自由的语法也容易让少数初学者出错。VerilogHDL和VHDL作为描述硬件电路设计的语言,其共同的特点在于:能形式化地抽象表示电路的行为和结构、支持逻辑设计中层次与范围的描述、可借用高级语言的精巧结构来简化电路行为的描述、具有电路仿真与验证机制以保证设计的正确性、支持电路描述由高层到低层的综合转换、硬件描述与实现工艺无关。本设计是用的VHDL语言来实现数字频率计的设计的,本设计将重点介绍VHDL语言。VHDL语言要紧用于描述数字系统的结构,行为,功能和接口。VHDL的程序结构特点是将一项工程设计,或称设计实体(能够是一个元件,一个电路模块或一个系统)分成外部(或称但是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就能够直接调用那个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的差不多点。VHDL语言能够成为标准化的硬件描述语言并获得广泛应用,它自身必定具有专门多其他硬件描述语言所不具备的优点。VHDL程序组成部分由实体、构造体、配置、包集合、库5个部分组成。各组成部分的作用是:(1)实体:用于描述所设计的系统的外部接口信号。(2)构造体:用于描述系统内部结构和行为。(3)配置:用于从库中选取不同单元(器件)来组成系统设计的不同版本。(4)包集合:存放各设计模块都能共享的数据类型,常数和子程序等。(5)库:可由系统工程师生成或由ASIC芯片商提供,以便在设计中共享。VHDL系统优势(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)关于用VHDL完成的一个确定的设计,能够利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。(5)VHDL对设计的描述具有相对独立性,设计者能够不明白硬件的结构,也不必治理最终设计实现的目标器件是什么,而进行独立的设计。2.3集成开发软件QuartusII[6-7]是Altera公司推出的新一代开发软件,适合于大规模逻辑电路设计,其设计流概括为设计输入[8]、设计编译、设计仿真和设计下载过程。QuartusII支持多种编辑输入法,包括图形编辑输入法,VHDL,VerilogHDL和AHDL的文本编辑输入法,符号编辑输入法,以及内存编辑输入法。QuartusII与MATLAB和DSPBuilder结合能够进行基于FPGA的DSP系统开发,是DSP硬件系统[9]实现的关键EDA工具,与SOPCBuilder结合,可实现SOPC系统开发。Quartus(R)II软件中的工程由所有设计文件和与设计有关的设置组成。能够使用QuartusIIBlockEditor、TextEditor、MegaWizard(R)Plug-InManager(Tools菜单)和EDA设计输入工具[10]建立包括Altera(R)宏功能模块、参数化模块库(LPM)函数和知识产权(IP)函数在内的设计。能够使用Settings对话框(Assignments菜单)和AssignmentEditor设定初始设计约束条件。如图2.2所示为设计输入流程图。图2.2设计输入流程图本设计将以QuartusII软件来进行各个数据的操作,将仿确实图形数据来分析该课题。本设计所选择的QuartusII文本编辑输入法,在文本编辑窗口中完成VHDL设计文件的编辑,然后对设计文件进行编译、仿真操作。详细介绍QuartusII文本编辑输入法的使用方法:1.编辑设计文件(1)新建一个文件夹。利用资源治理器,新建一个文件夹,如e:\SINGNT。(2)输入源程序。打开QuartusII,执行File→New,在New窗口中的“DeviceDesignFiles”中选择编译文件的语言类型,那个地点选“VHDLFiles”,然后在VHDL文本编译窗口中键入VHDL程序。如图2.3所示。(3)文件存盘。执行File→SaveAs,找到已设立的文件夹e:\SIN_GNT,存盘文件名应该与实体名一致。2.创建工程(1)建立新工程治理窗。执行File→NewProjectWizard命名,在图2.4对话框进行工程设置。(2)将设计文件加入工程中。(3)选择仿真器和综合器类型。(4)选择芯片。(5)结束设置。3.编译前设置图2.3选择编辑文件的语言类型图2.4利用“NewProjectWizard”创建工程(1)选择目标芯片,执行Assignmemts→settings命令,在弹出的对话框中选CompilerSettings项下的Device选目标芯片。(2)选择目标器件编程配置方式,由图2.5的按钮DevicePinOptions进入选择窗,可选Configuration方式为ActiveSerial。(3)在下图所示的ProgrammingFiles窗口,Hexadecimal(Intel-Format)outputFile,即产生下载文件的同时,产生二进制十六进制配置文件fraqtest.hexout,可用于单片机与EPROM构成的FPGA配置电路系统如图2.6所示。4.编译及了解编译结果首先执行Processing→StartCompilation命令,启动全程编译,假如工程中的文件有错误,在下方的Processing处理栏中会显示出来。关于Processing栏显示出的语句格式错误,可双击此条文,即弹出VHDL文件,在闪动的光标处(或附近)可发觉文件中的错误。再次进行编译直至排除所有错误。5.仿真(1)打开波形编辑器。选择菜单File→New命令,在New窗口中选择OtherFiles中的“VectorWaveformFile”打开波形编辑器。(2)设置仿真时刻区域。执行Edit→EndTime项,在弹出窗口中的Time窗口中的设定仿真时刻50μs。(3)存盘波形文件。选择File中的Saveas,将以名为cnt4b的波形文件存入文件夹。(4)输入信号节点。(5)编辑输入波形。点击时钟名CLK,使之变为蓝色,再点击左列的时钟设置键,在Clock窗口中设置CLK的周期为3μs,再对文件存盘。图2.5选择配置器件和配置方式(6)总线数据格式设置。假如点击输出信号DOUT左旁的“+”,则将展开此总线中的所有信号;假如双击此“+”号左旁的信号标记,将弹出对该信号数据格式设置的Radix栏有4种选择。(7)仿真器参数设置。执行Assignment→Settings命令,在Settings窗口执行Catgory→SimulatorSettings命名,在此项下分不选中General按钮,观看仿真总体设置情况;选中Mode按钮,以确定仿真模式为时序仿真Timing;选中Optiongs,确认选定“Simulationcoveragereporting”;毛刺检测Glitchdetection为1ns宽度。(8)启动仿真器,观看仿真结果。执行Processing→StartSimulation命名,直到出现“Simulationwassuccessful”。仿真波形文件SimulationReport通常会自动弹出,将仿真输出结果与文件数据比较。图2.6选定目标器件8位十进制数字频率计的设计EDA技术原理与概述8位十进制数字频率计的设计数字频率计的系统分析第三章数字频率计的系统分析
3.18位十进制数字频率计系统设计的原理
3.1.1数字频率计的差不多原理数字频率计的差不多原理是用一个频率稳定度高的频率源作为基准时钟,通常情况下计算每秒内待测信号的脉冲个数,现在我们称闸门时刻为1秒。闸门时刻也能够大于或小于一秒。闸门时刻越长,得到的频率值就越准确,但闸门时刻越长则每测一次频率的间隔就越长。闸门时刻越短,测的频率值刷新就越快,但测得的频率精度就受阻碍。数字频率计的要紧功能是测量周期信号的频率。频率是单位时刻(1S)内信号发生周期变化的次数。假如我们能在给定的1S时刻内对信号波形计数,并将计数结果显示出来,就能读取被测信号的频率。数字频率计首先必须获得相对稳定与准确的时刻,同时将被测信号转换成幅度与波形均能被数字电路识不的脉冲信号,然后通过计数器计算这一段时刻间隔内的脉冲个数,将其换算后显示出来。这确实是数字频率计的差不多原理。3.1.2系统总体框架图图3.1系统总体框架图总体框图设计思路:由50MHz系统时钟分频得到0.5Hz的基准时钟。在基准时钟的1S高电平期间计被测频率的脉冲个数,1S高电平结束时计数结束,所记录的脉冲个数是被测信号的频率,为了在数码管上显示计数结果需要锁存器将所计的数锁存,因此,在基准时钟下降沿来的时候锁存器实现锁存功能。为了下次计数必须将本次计数的结果清零,因此在基准时钟低电平期间对计数器清零。被测频率从计数器的是中端输入实现频率的测试。将锁存器锁存的数据输入扫描器,通过译码器将锁存的二进制数译成十进制然后显示到数码管上,最终被读出来。3.28位十进制数字频率计设计任务及要求
用测频法设计一个八位十进制的数字频率器,测频范围是1HZ到49999999HZ。(1)测量范围信号:方波、正弦波;幅度:0.5V~5V;频率:1Hz~4999999HZ。(2)测量范围信号:脉冲波;幅度:0.5V~5V;脉冲宽度≥100μs.测量误差≤1%。(3)显示器:十进制数字显示,显示刷新时刻1~10秒连续可调,对上述三种测量功能分不用不同颜色的发光二极管指示。
(4)具有自校功能,时标信号频率为1Hz。
3.3目标芯片FLEX10K目标芯片[11]选用Altera公司生产的FPGA产品FLEX10K系列[9]中的LC84-4,FLEX10K是ALTERA公司研制的第一个嵌入式的PLD可编程逻辑器件系列。它具有高密度、低成本、低功率等特点,利用FLEX10K系列CPLD可编程逻辑器件的EAB可在系统中实现逻辑功能和存贮功能。FLEX10K是ALTERA公司研制的第一个嵌入式的PLD,它具有高密度、低成本、低功率等特点,是当今ALTERACPLD中应用前景最好的器件系列之一。它采纳了重复可构造的CMOSSRAM工艺,并把连续的快速通道互连与独特的嵌入式阵列结构相结合,同时可结合众多可编程器件来完成一般门阵列的宏功能。每一个FLEX10K器件均包括一个嵌入式阵列和一个逻辑阵列,因而设计人员可轻松地开发集存贮器、数字信号处理器及专门逻辑等强大功能于一身的芯片。FPGA采纳可编程的查找表LUT(LookUpTable)结构。LUT是可编程的最小逻辑单元,大部分FPGA采纳基于SRAM的查找表逻辑形式结构,用SRAM来构成逻辑函数发生器。FLEX内部结构如图3.2所示。图3.2FLEX内部芯片结构8位十进制数字频率计的设计数字频率计的系统分析8位十进制数字频率计的设计各功能模块基于VHDL的设计与仿真第四章各功能模块基于VHDL的设计与仿真
4.18位十进制数字频率计的电路逻辑图
8位十进制数字频率计的电路逻辑图,它由一个测频操纵信号发生器TESTCTL、8个有时钟使能的十进制计数器CNT10、一个32位锁存器REG32B[8]组成。以下分不叙述频率计各逻辑模块的功能与设计方法。8位十进制数字频率计的电路逻辑如图4.18所示。图4.18位十进制数字频率计的电路逻辑图4.2测频操纵信号发生器的功能模块及仿真(1)测频操纵信号发生器的功能模块如图4.2所示。图4.2测频操纵信号发生器的功能模块图(2)源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYTESTCTLISPORT(CLK:INSTD_LOGIC;--1Hz测频操纵时钟TSTEN:OUTSTD_LOGIC;--计数器时钟使能CLR_CNT:OUTSTD_LOGIC; --计数器清零LOAD:OUTSTD_LOGIC); --输出锁存信号ENDENTITYTESTCTL;ARCHITECTUREARTOFTESTCTLISSIGNALDIV2CLK:STD_LOGIC;BEGINPROCESS(CLK)ISBEGINIFCLK'EVENTANDCLK='1'THEN--1HZ时钟二分频DIV2CLK<=NOTDIV2CLK;ENDIF;ENDPROCESS;PROCESS(CLK,DIV2CLK)ISBEGINIFCLK='0'ANDDIV2CLK='0'THEN--产生计数器清零信号CLR_CNT<='1';ELSECLR_CNT<='0';ENDIF;ENDPROCESS;LOAD<=NOTDIV2CLK;TSTEN<=DIV2CLK;ENDARCHITECTUREART;频率计的关键是设计一个测频率操纵信号发生器,产生测量频率的操纵时序。操纵时钟信号CLK取为1Hz,2分频后即可产生一个脉宽为1秒的时钟TSTEN,以此作为计数闸门信号。当TSTEN为高电平常,同意计数;当TSTEN由高电平变为低电平(下降沿到来)时,应产生一个锁存信号,将计数值保存起来;锁存数据后,还要在下次TSTEN上升沿到哦来之前产生零信号CLEAR,将计数器清零,为下次计数作预备,如图4.3所示为测频操纵信号仿真图。图4.3测频操纵信号仿真图4.3系统时钟分频的功能模块及仿真(1)系统时钟分频的分频功能模块如图4.4因此。图4.4系统时钟分频的功能模块图(2)源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYdiv1hzISPORT(CLK:INSTD_LOGIC;CLOCK:OUTSTD_LOGIC);ENDdiv1hz;ARCHITECTUREBEHAVOFdiv1hzISSIGNALCOUNT:INTEGERRANGE0TO500000;SIGNALCLK_DATA:STD_LOGIC;BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENIFCOUNT=500THENCOUNT<=0;CLK_DATA<=NOTCLK_DATA;ELSECOUNT<=COUNT+1;ENDIF;ENDIF;CLOCK<=CLK_DATA;ENDPROCESS;ENDBEHAV;该模块由系统时钟分频模块[12]为TESTCTL的计数能使信号TSTEN产生一个1S脉宽的周期信号,并对频率计中的32位十进制计数器CNT10的ENA使能端进行同步操纵。TSTEN高电平常同意计数;当低电平常停止计数,并保持其所计的脉冲数。在停止计数期间,从仿真图4.5中能够看出,一个锁存信号LOAD的上跳沿将计数器在前一秒的计数值锁存进锁REG32B中,并由外部的十进制7段数码管显示计数值。设置锁存器的好处是数据显示稳定,可不能由于周期性的清零信号而不断闪耀。锁存信号后,必须有一个清零信号CLR_CNT对计数器进行清零,为下一秒的计数操作做预备。图4.5系统时钟分频的分频功能仿真图4.432位锁存器的功能模块及仿真4.4.1锁存器[13]锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们能够在特定输入脉冲电平作用下改变状态。锁存,确实是把信号暂存以维持某种电平状态。锁存器的最要紧作用是缓存,其次完成高速的操纵其与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个I/O口既能输出也能输入的问题。4.4.2锁存器的功能模块及仿真(1)32位锁存器的功能模块如图4.6所示。图4.6锁存器的功能模块图(2)源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYREG32BISPORT(LOAD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(31DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(31DOWNTO0));ENDENTITYREG32B;ARCHITECTUREARTOFREG32BISBEGINPROCESS(LOAD,DIN)ISBEGINIFLOAD'EVENTANDLOAD='1'THENDOUT<=DIN;--锁存输入数据ENDIF;ENDPROCESS;ENDARCHITECTUREART;仿真图4.7的LOAD信号上升沿到来时将对输入到内部的CNT10计数信号进行锁存,并将结果输出给SELTIME。当输入信号上升到时就会产生锁存,否则,不进行锁存,该仿真在上升沿的时候,将其锁存起来,直到下个上升沿才会改变锁存的数据,如仿真在“1”的时候上升,则对“1”进行锁存。图4.7锁存器的功能仿真4.5数码管扫描的功能模块及仿真(1)数码管扫描[8]的功能模块如图4.8所示。图4.8数码管扫描的功能模块(2)源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSELTIMEISPORT(CLK:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(31DOWNTO0);DAOUT:OUTSTD_LOGIC_VECTOR(3DOWNTO0);SEL:OUTSTD_LOGIC_VECTOR(2DOWNTO0));ENDSELTIME;ARCHITECTUREbehavOFSELTIMEISSIGNALSEC:STD_LOGIC_VECTOR(2DOWNTO0);BEGINPROCESS(CLK)BEGINIF(CLK'EVENTANDCLK='1')THENIF(SEC="111")THENSEC<="000";ELSESEC<=SEC+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(SEC,DIN(31DOWNTO0))BEGINCASESECISWHEN"000"=>DAOUT<=DIN(3DOWNTO0);WHEN"001"=>DAOUT<=DIN(7DOWNTO4);WHEN"010"=>DAOUT<=DIN(11DOWNTO8);WHEN"011"=>DAOUT<=DIN(15DOWNTO12);WHEN"100"=>DAOUT<=DIN(19DOWNTO16);WHEN"101"=>DAOUT<=DIN(23DOWNTO20);WHEN"110"=>DAOUT<=DIN(27DOWNTO24);WHEN"111"=>DAOUT<=DIN(31DOWNTO28);
WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;SEL<=SEC;ENDbehav;锁存信号输出DIN[31..0],然后由SELTIME进行扫描输出,从仿真图4.9能够得出,当SEL为”000”时选通第一个CNT10,输出到LED7进行译码输出。该仿真图中的SEL为“000”选通第一个CNT7,当所选SEL为“001”时所选通第二个CNT6,依次类推。当所选SEL为“111”时所选第八个CNT0。当每选定一个通道所对应的输入一个4位的二进制数所对应得数码管,图4.9为数码管扫描的仿真图。图4.9数码扫描管仿真图4.6数码管译码显示的功能模块及仿真
(1)数码管译码显示的功能模块如图4.10所示。图4.10数码管译码显示的功能模块(2)源程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYLED7ISPORT(DIN:INSTD_LOGIC_VECTOR(3DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDLED7;ARCHITECTUREbehavOFLED7IS--SIGNALLED7:STD_LOGIC_VECTOR(6DOWNTO0);BEGINPROCESS(DIN)BEGINCASEDINIS"0000"=>DOUT<="0111111";WHEN"0001"=>DOUT<="0000110";WHEN"0010"=>DOUT<="1011011";WHEN"0011"=>DOUT<="1001111";WHEN
"0100"=>DOUT<="1100110";WHEN"0101"=>DOUT<="1101101";WHEN"0110"=>DOUT<="1111101";WHEN"0111"=>DOUT<="0000111";WHEN"1000"=>DOUT<="1111111";WHEN"1001"=>DOUT<="1101111";WHEN"1010"=>DOUT<="1110111";WHEN"1011"=>DOUT<="1111100";WHEN"1100"=>DOUT<="0111001";WHEN"1101"=>DOUT<="1011110";WHEN"1110"=>DOUT<="1111001";WHEN"1111"=>DOUT<="1110001";WHENOTHERS=>NULL;ENDCASE;ENDPROCESS;ENDARCHITECTUREbehav;数码译码[14]要紧是用来完成各种码制之间的转换。例如可用来完成BCD—十进制数、十进制数—BCD之间数制的转换。从图4.11仿真图可知,当LED的输入为“0X7E”数码管就会显示为“0”,当LED的输入为“0X06”数码管就会显示为“1”。图4.11为数码管译码显示仿真图。图4.11数码管译码显示仿真图4.7十进制计数器的功能模块及仿真4.7.1计数器计数是一种最简单差不多的运算,计数器[15]确实是实现这种运算的逻辑电路,计数器在数字系统中要紧是对脉冲的个数进行计数,以实现测量、计数和操纵的功能,同时兼有分频功能,计数器是由差不多的计数单元和一些操纵门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS触发器、T触发器、D触发器及JK触发器等。计数器在数字系统中应用广泛,如在电子计算机的操纵器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。计数器能够用来显示产品的工作状态,一般来讲要紧是用来表示产品差不多完成了多少份的折页配页工作。它要紧的指标在于计数器的位数,常见的有3位和4位的。专门显然,3位数的计数器最大能够显示到999,4位数的最大能够显示到9999。4.7.2十进制计数器的功能模块及仿真(1)十进制计数器的功能模块如图4.12所示。图4.12十进制计数器的功能模块(2)源程序如下:
LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL; ENTITYCNT10ISPORT(CLK:INSTD_LOGIC; --计数时钟信号CLR:INSTD_LOGIC; --清零信号ENA:INSTD_LOGIC; --计数使能信号CQ:OUTINTEGERRANGE0TO15; --4位计数结果输出CARRY_OUT:OUTSTD_LOGIC); --计数进位ENDENTITYCNT10;ARCHITECTUREARTOFCNT10ISSIGNALCQI:INTEGERRANGE0TO15;BEGINPROCESS(CLK,CLR,ENA)ISBEGINIFCLR='1'THENCQI<=0; --计数器异步清零ELSIFCLK'EVENTANDCLK='1'THENIFENA='1'THENIFCQI<9THENCQI<=CQI+1;ELSECQI<=0;ENDIF;--等于9,则计数器清零ENDIF;ENDIF;ENDPROCESS;PROCESS(CQI)ISBEGINIFCQI=9THENCARRY_OUT<='1';--进位输出ELSECARRY_OUT<='0';ENDIF;ENDPROCESS;CQ<=CQI;ENDARCHITECTUREART;该仿确实作用是实现十进制计数功能。从仿真图4.13中能够得出,当第一个CNT10计数输出CQ=9时,下一秒时钟上升沿到来时,将产生一个CARRY_OUT信号作为下一个CNT10的时钟信号,同时CQ清零,依次递推到8个CNT10。图4.13十进制计数器仿真图8位十进制数字频率计的设计各功能模块基于VHDL的设计与仿真4.88位十进制数字频率计的功能仿真及电路图LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL; ENTITYCNT10ISPORT(CLK:INSTD_LOGIC; --计数时钟信号CLR:INSTD_LOGIC; --清零信号ENA:INSTD_LOGIC; --计数使能信号CQ:OUTINTEGERRANGE0TO15; --4位计数结果输出CARRY_OUT:OUTSTD_LOGIC); --计数进位ENDENTITYCNT10;ARCHITECTUREARTOFCNT10ISSIGNALCQI:INTEGERRANGE0TO15;BEGINPROCESS(CLK,CLR,ENA)ISBEGINIFCLR='1'THENCQI<=0; --计数器异步清零ELSIFCLK'EVENTANDCLK='1'THENIFENA='1'THENIFCQI<9THENCQI<=CQI+1;ELSECQI<=0;ENDIF;--等于9,则计数器清零ENDIF;ENDIF;ENDPROCESS;PROCESS(CQI)ISBEGINIFCQI=9THENCARRY_OUT<='1';--进位输出ELSECARRY_OUT<='0';ENDIF;ENDPROCESS;CQ<=CQI;ENDARCHITECTUREART;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYREG32BISPORT(LOAD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(31DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(31DOWNTO0));ENDENTITYREG32B;ARCHITECTUREARTOFREG32BISBEGINPROCESS(LOAD,DIN)ISBEGINIFLOAD'EVENTANDLOAD='1'THENDOUT<=DIN;--锁存输入数据ENDIF;ENDPROCESS;ENDARCHITECTUREART;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL; USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYTESTCTLISPORT(CLK:INSTD_LOGIC;--1Hz测频操纵时钟TSTEN:OUTSTD_LOGIC;--计数器时钟使能CLR_CNT:OUTSTD_LOGIC; --计数器清零LOAD:OUTSTD_LOGIC); --输出锁存信号ENDENTITYTESTCTL;ARCHITECTUREARTOFTESTCTLISSIGNALDIV2CLK:STD_LOGIC;BEGINPROCESS(CLK)ISBEGINIFCLK'EVENTANDCLK='1'THEN --1HZ时钟二分频DIV2CLK<=NOTDIV2CLK;ENDIF;ENDPROCESS;PROCESS(CLK,DIV2CLK)ISBEGINIFCLK='0'ANDDIV2CLK='0'THEN --产生计数器清零信号CLR_CNT<='1';ELSECLR_CNT<='0';ENDIF;ENDPROCESS;LOAD<=NOTDIV2CLK;TSTEN<=DIV2CLK;ENDARCHITECTUREART;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYFREQ8ISPORT(FSIN:INSTD_LOGIC;CLK:INSTD_LOGIC;DOUT:OUTSTD_LOGIC_VECTOR(31DOWNTO0));ENDENTITYFREQ8;ARCHITECTUREARTOFFREQ8ISCOMPONENTCNT10IS --待调用的有时钟使能的十进制计数器端口定义PORT(CLK,CLR,ENA:INSTD_LOGIC;CQ:OUTSTD_LOGIC_VECTOR(3DOWNTO0);CARRY_OUT:OUTSTD_LOGIC);ENDCOMPONENTCNT10;COMPONENTREG32BIS --待调用的32位锁存器端口定义PORT(LOAD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(31DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(31DOWNTO0));ENDCOMPONENTREG32B;COMPONENTTESTCTLIS --待调用的测频操纵信号发生器端口定义PORT(CLK:INSTD_LOGIC;TSTEN:OUTSTD_LOGIC;CLR_CNT:OUTSTD_LOGIC; LOAD:OUTSTD_LOGIC);endcomponentTESTCTL;SIGNALSE,SC,SL:STD_LOGIC;SIGNALS1,S2,S3,S4,S5,S6,S7,S8:STD_LOGIC;SIGNALSD:STD_LOGIC_VECTOR(31DOWNTO0);BEGINU0:TESTCTLPORTMAP(CLK=>CLK,TSTEN=>SE,CLR_CNT=>SC,LOAD=>SL);U1:CNT10PORTMAP(CLK=>FSIN,CLR=>SC,ENA=>SE,CQ=>SD(3DOWNTO0),CARRY_OUT=>S1);--名字关联U2:CNT10PORTMAP(CLK=>S1,CLR=>SC,ENA=>SE,CQ=>SD(7DOWNTO4),CARRY_OUT=>S2);U3:CNT10PORTMAP(S2,SC,SE,SD(11DOWNTO8),S3); --位置关联U4:CNT10PORTMAP(S3,SC,SE,SD(15DOWNTO12),S4);U5:CNT10PORTMAP(S4,SC,SE,SD(19DOWNTO16),S5);U6:CNT10PORTMAP(S5,SC,SE,SD(23DOWNTO20),S6);U7:CNT10PORTMAP(S6,SC,SE,SD(27DOWNTO24),S7);U8:CNT10PORTMAP(S7,SC,SE,SD(31DOWNTO28),S8);U9:REG32BPORTMAP(LOAD=>SL,DIN=>SD(31DOWNTO0),DOUT=>DOUT);EN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度数字经济人才培养委托培养合同3篇
- 2025年广播系统维修合同
- 果园种植承包合同书范本2025年
- 2025年度民品典当借款合同信息化管理范本3篇
- 河沙承包合同(2025年)
- 2025年度智能木门安装与智能家居系统集成合同3篇
- 2025年度智慧旅游项目软硬件采购合同3篇
- 2025年度智慧物业商铺租赁及增值服务合同3篇
- 担保公司四方借款合同(2025年)
- 事业单位合同续聘协议书
- 公安学基础智慧树知到期末考试答案章节答案2024年山东警察学院
- DB44-T 2480-2024 铝及铝合金深井铸造安全技术规范
- 中医适宜技术发展现状
- 部编人教版四年级数学上册期末考试卷(可打印)
- 一例阿尔茨海默病患者的护理查房
- 农贸市场安全生产工作方案
- 咸阳租房合同
- 《钢筋保护层检测》课件
- YJ-T 27-2024 应急指挥通信保障能力建设规范
- 合伙人协议书决策机制
- 西藏畜牧兽医知识培训课件
评论
0/150
提交评论