EDA数字秒表设计
EDA课程设计数字秒表

课程设计'【目录第一章:系统设计要求 (3)第二章:实验目的 (3)第三章:实验原理 (3)第四章:系统设计方案 (3)第五章:主要VHDL源程序 (4)1) 十进制计数器的VHDL源程序 (4)2) 六进制计数器的VHDL源程序 (5)3)蜂鸣器的VHDL源程序 (5)4)译码器的VHDL源程序 (6)5)控制选择器的VHDL源程序 (7)6)元原件例化的VHDL源程序 (8)第六章:系统仿真 (10)第七章:系统扩展思路 (11)第八章:设计心得总结 (11)数字秒表的设计一、系统设计要求1.秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。
当计时达60分钟后,蜂鸣器鸣响10声。
2.整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。
3.秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。
在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲。
二、实验目的通过本次课设,加深对EDA技术设计的理解,学会用QuartusⅡ工具软件设计基本电路,熟练掌握VHDL语言,为以后工作使用打下坚实的基础。
三、实验原理秒表由于其计时精确,分辨率高(秒),在各种竞技场所得到了广泛的应用。
秒表的工作原理与数字时基本相同,唯一不同的是秒表的计时时钟信号,由于其分辨率为秒,所以整个秒表的工作时钟是在100Hz的时钟信号下完成。
当秒表的计时小于1个小时时,显示的格式是mm-ss-xx(mm表示分钟:0~59;ss表示秒:0~59;xx表示百分之一秒:0~99),当秒表的计时大于或等于一个小时时,显示的和多功能时钟是一样的,就是hh-mm-ss(hh表示小时:0~99),由于秒表的功能和钟表有所不同,所以秒表的hh表示的范围不是0~23,而是0~99,这也是和多功能时钟不一样的地方。
EDA数字秒表的设计

目录1 绪论 ....................................................................... 1 .2 设计要求 ................................................................... 2 .3 总体设计要求 ............................................................... 2 .3.1 基本原理.............................................................. 2 .3.2 分频器模块............................................................ 3 .3.3 计数模块.............................................................. 4 .3.4 记录模块.............................................................. 6 .3.5 寄存器模块............................................................ 7 .3.6 回放模块.............................................................. 8 .3.7 选择模块.............................................................. 9 .3.8 数显模块............................................................. 1..13.9 数字秒表的总原理图................................................... 1..34 仿真调试 .................................................................. 1..44.1 分频器模块的仿真调试................................................. 1 (4)4.2 计数器模块的仿真调试................................................. 1 (4)4.3 记录模块的仿真调试................................................... 1..54.4 寄存器模块的仿真..................................................... 1 (5)4.5 回放模块的仿真调试................................................... 1..64.6 选择模块的仿真调试................................................... 1..65 管脚分配 .................................................................. 1..66 总结与心得体会 ............................................................ 1..7参考文献..................................................................... 1 (8)附录:源程序代码............................................................. 1..9 1绪论EDA是电子设计自动化(Electronic Design Automation )的缩写,在20世纪 60年代中期从计算机辅助设计(CAD )、计算机辅助制造(CAM )、计算机辅助测试(CAT)和计算机辅助工程(CAE、的概念发展而来的。
基于EDA的数字秒表课程设计

基于EDA的数字秒表课程设计一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握数字秒表的基本原理;2. 学生能描述数字秒表的电路结构,了解各个部分的功能和相互关系;3. 学生能掌握数字秒表设计中所涉及的数字逻辑,如计时、清零、启动/停止等功能的实现。
技能目标:1. 学生能够运用所学知识,使用EDA工具进行数字秒表的电路设计和仿真;2. 学生能够分析并解决数字秒表设计过程中遇到的问题,提高实际操作能力;3. 学生能够通过小组合作,完成数字秒表的调试与优化,提高团队协作能力。
情感态度价值观目标:1. 学生通过本课程的学习,培养对电子设计的兴趣和热情,提高探究精神;2. 学生能够认识到科技发展对日常生活的影响,增强社会责任感和创新意识;3. 学生在小组合作中学会尊重他人意见,培养良好的沟通能力和团队精神。
分析课程性质、学生特点和教学要求,本课程目标将分解为以下具体学习成果:1. 学生能够独立完成数字秒表的电路设计和仿真;2. 学生能够通过小组合作,完成数字秒表的调试与优化,并撰写实验报告;3. 学生能够对课程中所学知识进行总结,以口头或书面的形式进行分享。
二、教学内容本课程教学内容依据课程目标,紧密结合教材,制定以下详细教学大纲:1. 数字电路基础知识回顾- 复习数字逻辑基础,强调触发器、计数器等基本组件的工作原理。
2. EDA工具介绍- 介绍EDA软件的使用方法,如Multisim、Proteus等。
3. 数字秒表的原理与设计- 讲解数字秒表的电路结构,分析各部分功能;- 引导学生理解秒表的计时原理,探讨如何实现启动、停止、清零等功能。
4. 电路设计与仿真- 指导学生使用EDA工具进行数字秒表的电路设计;- 教学过程中,针对设计过程中可能遇到的问题进行讲解和指导。
5. 小组合作调试与优化- 学生分组进行电路调试,优化设计;- 引导学生学会分析问题、解决问题,提高实际操作能力。
EDA课程设计数字秒表设计

目录数字秒表设计性实验任务书 ........................................................ 错误!未定义书签。
一、设计性实验目的 ............................................................... 错误!未定义书签。
二、设计性实验说明 ............................................................... 错误!未定义书签。
三、实验箱给定硬件 ............................................................... 错误!未定义书签。
四、要求 ................................................................................... 错误!未定义书签。
实验报告 .. (3)一、数字秒表顶层设计 (3)二、数字秒表内部设计 (3)1、分频器 (3)2、十进制计数器 (4)3、六进制计数器 (6)4、二十四进制计数器 (7)5、数据选择和数码管选择模块 (8)6、数码管驱动模块: (10)三、数字秒表仿真波形 (11)四、实验总结 (11)数字秒表设计性实验任务书一、设计性实验目的:在MAX-PLUS II软件平台上,熟练运用VHDL硬件描述语言,完成数字时钟的文本输入或原理图输入、编译、综合、仿真,利用EDA实验箱,实现数字秒表的硬件实现。
二、设计性实验说明:1、数字秒表电路主要由:分频器、扫描显示译码器、六十进制计数器(或由十进制计数器与六进制计数器组成),十二进制计数器(或二十四进制计数器)、一百进制计数器电路组成;2、数字秒表显示由小时(十二或二十四进制任选)、分钟(六十进制)、秒(六十进制)、十分之一秒、百分之一秒组成;3、各模块功能:(1)分频器模块:用来产生100Hz计时脉冲;(2)十二或二十四进制计数器模块:对小时进行计数;(3)六十进制计数器模块:对分秒进行计数;(4)六进制计数器模块:分别对分十位和秒十位进行计数;(5)十进制计数器模块:分别对分个位、秒个位、十分之一秒、百分之一秒进行计数;(6)扫描显示译码器模块:完成对7字段数码管/液晶显示的控制;(7)一百进制计数器模块:对十分之一秒和百分之一秒进行计数;三、实验箱给定硬件:1、系统时钟脉冲信号为10MHz;2、CPLD/FPGA芯片型号:EPM7128SLC84-5、EPM1K30TC144-3、EPM1K100QC208-3(根据实验箱上的芯片型号选择);3、8个7字段共阴显示数码管(选用);4、液晶显示器1602(选用);5、拨码开关、按键;四、要求:1、精确显示小时、分钟、秒;2、具有清零、启动、保持功能;3、显示采用数码管显示或液晶显示;实验报告一、数字秒表顶层设计外部输入:启动/停止信号(start);10MHZ的时钟信号(clk);清零信号(clr);外部输出:位选控制信号(sel0、sel1、sel2);7段数码管显示信号(led0、led1、led2、led3、led4、led5、led6、led7);数字秒表顶层原理图二、数字秒表内部设计1、分频器功能:将10MHz的时钟信号转换成100Hz的计时脉冲,使秒表正常工作。
EDA秒表设计

EDA原理及应用实验报告题目:多功能数字秒表专业:电子信息工程班级:姓名:学号:一、设计题目:多功能数字秒表二、设计目标:1.精确到1/100秒2.留个数码管显示范围0.01——59.59.99S3.有复位端,使能端4.当时间到达设置的时间时,蜂鸣器报警,按下按键可消除声音,但继续计时。
三、设计原理:(含系统总的原理图)由三个分频器模块,六个计数器模块,一个扫描数码管模块,和一个蜂鸣器报警模块连接而成。
四、设计内容:(含状态转换图、软件流程图、说明文字等,每单独模块的图标和VHDL程序;最后为总体程序框图)(1)分频器模块1LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DVF ISPORT(CLK:IN STD_LOGIC;--D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);FOUT:OUT STD_LOGIC);END;ARCHITECTURE one OF DVF ISSIGNAL FULL:STD_LOGIC;BEGINP_REG:PROCESS(CLK)V ARIABLE CNT8:INTEGER RANGE 48000000 DOWNTO 0; BEGINIF CLK'EVENT AND CLK='1' THENIF CNT8=240000 THENCNT8:=0;FULL<='1';ELSE CNT8:=CNT8+1;FULL<='0';END IF;END IF;END PROCESS P_REG;P_DIV:PROCESS(FULL)V ARIABLE CNT2:STD_LOGIC;BEGINIF FULL'EVENT AND FULL='1' THENCNT2:=NOT CNT2;IF CNT2='1' THEN FOUT<='1';ELSE FOUT<='0';END IF;END IF;END PROCESS P_DIV;END;RTL状态图说明:采用的是48M时钟输入,作为0.01S最低位的时钟信号。
EDA课程设计数字秒表

课程设计目录第一章:系统设计要求 (3)第二章:实验目的 (3)第三章:实验原理 (3)第四章:系统设计方案 (3)第五章:主要VHDL源程序 (4)1) 十进制计数器的VHDL源程序 (4)2) 六进制计数器的VHDL源程序 (5)3)蜂鸣器的VHDL源程序 (5)4)译码器的VHDL源程序 (6)5)控制选择器的VHDL源程序 (7)6)元原件例化的VHDL源程序 (8)第六章:系统仿真 (10)第七章:系统扩展思路 (11)第八章:设计心得总结 (11)数字秒表的设计一、系统设计要求1.秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。
当计时达60分钟后,蜂鸣器鸣响10声。
2.整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。
3.秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。
在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲。
二、实验目的通过本次课设,加深对EDA技术设计的理解,学会用QuartusⅡ工具软件设计基本电路,熟练掌握VHDL语言,为以后工作使用打下坚实的基础。
三、实验原理秒表由于其计时精确,分辨率高(0.01秒),在各种竞技场所得到了广泛的应用。
秒表的工作原理与数字时基本相同,唯一不同的是秒表的计时时钟信号,由于其分辨率为0.01秒,所以整个秒表的工作时钟是在100Hz的时钟信号下完成。
当秒表的计时小于1个小时时,显示的格式是mm-ss-xx(mm表示分钟:0~59;ss表示秒:0~59;xx表示百分之一秒:0~99),当秒表的计时大于或等于一个小时时,显示的和多功能时钟是一样的,就是hh-mm-ss(hh表示小时:0~99),由于秒表的功能和钟表有所不同,所以秒表的hh表示的范围不是0~23,而是0~99,这也是和多功能时钟不一样的地方。
EDA多功能秒表课程设计

EDA多功能秒表课程设计一、课程目标知识目标:1. 学生能理解EDA多功能秒表的基本原理和功能。
2. 学生能掌握秒表的计时、计次和闹钟等功能操作。
3. 学生了解秒表在日常生活和运动竞赛中的应用。
技能目标:1. 学生能运用所学知识,独立操作多功能秒表,进行计时和计次。
2. 学生能通过分析秒表数据,提高解决问题的能力。
3. 学生能运用秒表进行简单的运动计时和数据分析。
情感态度价值观目标:1. 学生培养对电子产品的兴趣,激发学习电子技术知识的热情。
2. 学生在团队协作中,培养合作精神和沟通能力。
3. 学生通过运用秒表进行运动计时,培养公平竞争和尊重规则的意识。
课程性质:本课程为实践性较强的电子技术课程,结合多功能秒表的实用功能,使学生掌握基本操作和运用。
学生特点:学生处于好奇心强、动手能力逐渐增强的阶段,对新鲜事物充满兴趣,善于合作与分享。
教学要求:教师需引导学生主动参与,注重实践操作,培养学生动手能力和解决问题的能力。
在教学过程中,关注学生的情感态度,激发学生的学习兴趣,提高学生的综合素质。
通过本课程的学习,使学生将所学知识应用于实际生活,达到学以致用的目的。
二、教学内容本章节教学内容主要包括以下几部分:1. 多功能秒表的原理与结构:介绍秒表的电子元件、工作原理和整体结构,使学生了解秒表的内部构造和功能实现方式。
教材章节:第一章 电子元件与电路基础2. 多功能秒表的操作与使用:详细讲解秒表的计时、计次、闹钟等功能操作,以及如何进行复位、设置等操作。
教材章节:第二章 数字电路与计时器3. 秒表在运动计时中的应用:通过实例分析,使学生了解秒表在运动竞赛中的实际应用,如田径、游泳等项目的计时。
教材章节:第三章 计时器在体育运动中的应用4. 秒表数据的分析与处理:教授学生如何分析秒表数据,进行简单的数据处理,提高学生解决问题的能力。
教材章节:第四章 数据分析与处理5. 实践操作:安排学生进行实际操作,如使用秒表进行计时、计次,分析数据等,巩固所学知识。
EDA数字秒表的设计

EDA数字秒表的设计第一篇:EDA数字秒表的设计设计报告——数字秒表的设计EDA 一设计目的1.根据设计要求,完成对数字秒表的设计。
2.进一步加强对QuartusⅡ的应用和对Verilog HDL语言的使用。
二设计内容和要求1.计时精度应大于1/100S,计时器能显示1/100S的时间,提供给计时器内部定时的时钟频率应大于100Hz,这里选用KHz。
2.计时器的最大计时时间为1小时,为此需要6位的显示器,显示的最长时间为59分59.99秒。
3.设置有复位和起/停开关,复位开关用来使计数器清零,做好计时准备。
起停开关的使用方法与传统的机械式计数器相同,即按一下,启动计时器开始计时,再按一下计时终止。
三系统设计方案自顶向下的设计自顶向下的设计方法是数字系统设计中最常用的设计方法.也是基于芯片的系统设计的主要方法。
自顶向下的设计方法利用功能分割手段将设计由上到下进行层次话和模块化,及分层次、分模块进行设计和仿真。
功能分割时,将系统功能分解为功能块,功能块再分解为逻辑块,逻辑块再分解为更少的逻辑块和电路。
如此分割,逐步的将系统细化,将功能逐步的具体化,模块化。
高层次设计进行功能和接口描述,说明模块的功能和接口,模块功能的更详细描述在下一设计层次说明,最底层的设计才涉及具体寄存器和逻辑门电路等实现方式的描述。
四模块设计1.分频模块将输入1KHZ的系统时钟经过十分频分为100HZ的单位时钟。
编程原理跟计数器原理相似。
2.定时模块采用2个60进制、1个100进制的BCD码全加器作为定时器,分为分,秒,百分秒,输入时钟信号为分频器输出信号100HZ时钟,外界两个拨码开关作为清零按钮和暂停按钮。
3.位选发生器:根据显示的数据位和人眼暂留效应,设计显示分为分、秒、百分秒位,每位需要2个数码管进行显示,因此变化频率至少为300HZ,为了方便则采用1KHZ,循环码则从000循环到101。
4.多路选择器根据位选信号,输出对应位显示的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《EDA技术与应用》课程设计报告报告题目:数字秒表设计作者所在系部:电子工程系作者所在专业:电子信息工程作者所在班级:作者姓名:指导教师:完成时间:2017-6-10容摘要在科技高度发展的今天,集成电路和计算机应用得到了高速发展。
尤其是计算机应用的发展。
它在人们日常生活已逐渐崭露头角。
大多数电子产品多是由计算机电路组成,如:手机、mp3等。
而且将来的不久他们的身影将会更频繁的出现在我们身边。
各种家用电器多会实现微电脑技术。
电脑各部分在工作时多是一时间为基准的。
本报告就是基于计算机电路的时钟脉冲信号、状态控制等原理,运用EDA技术及VHDL语言设计出的数字秒表。
秒表在很多领域充当一个重要的角色。
在各种比赛中对秒表的精确度要求很高,尤其是一些科学实验,他们对时间精确度达到了几纳秒级别。
利用VHDL语言设计基于计算机电路中时钟脉冲原理的数字秒表。
该数字秒表能对0秒~59分59.99秒围进行计时,显示最长时间是59分59秒,超过该时间能够进行报警。
计时精度达到10ms。
设计了复位开关和启停开关。
复位开关可以在任何情况下使用,使用以后计时器清零,并做好下一次计时的准备。
关键词:EDA技术、VHDL语言、分频器、计数器、数码管、蜂鸣器目录一概述 (1)二方案设计与论证 (1)三单元电路设计 (2)⒊1分频器的设计 (2)⒊2计时控制模块的设计 (3)⒊3计时模块的设计 (4)⒊⒊1十进制计数器的设计 (4)⒊⒊2六进制计数器的设计 (5)⒊⒊3计数器的设计 (6)⒊4显示模块的设计 (8)⒊⒋1选择器的设计 (8)⒊⒋2七段译码器的设计 (9)⒊5报警模块设计 (10)⒊6顶层文件的设计 (11)四器件编程与下载 (11)五性能测试与分析 (12)⒌1分频器模块的仿真 (12)⒌2计时控制模块的仿真 (12)⒌3计时模块的仿真 (13)⒌⒊1十进制计数器的仿真 (13)⒌⒊2六进制计数器的仿真 (13)⒌⒊3计数器的仿真 (13)⒌4显示模块的仿真 (15)⒌⒋1扫描模块的仿真 (15)⒌⒋2七段译码器的仿真 (15)⒌5报警模块的仿真 (15)⒌6顶层文件的仿真 (16)⒌7设计调试 (16)六实验设备 (16)七心得体会 (16)八参考文献 (16)课程设计任务书一、概述EDA是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术的最新成果而开发出的电子CAD通用软件包,它根据硬件描述语言VHDL完成的设计文件,自动完成逻辑编译、化简、分割、综合、优化、布局布线及仿真,直至完成对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
随着科技发展,在现代生活中,计数器应用越来越广泛。
EDA技术的应用引起电子产品即系统开发的革命性变革,在MAX+PLUS2环境下采用VHDL语言实现,论述了基于VHDL语言在FPGA芯片的数字设计思想与实现过程。
本设计是以VHDL语言为基础的数字秒表。
在数字秒表的程序中应用了四个10进制计数器和两个6进制计数器,以及报警器、选择器和显示译码器等。
电子设计自动化技术EDA的发展给电子系统的设计带来了革命性变化,EDA软件设计工具,硬件描述语言,可编程逻辑器件(PLD)使得EDA技术的应用走向普及。
VHDL语言是EDA的关键技术之一,它采用自顶向下的设计方法,完成系统的整体设计。
二、方案设计与论证本系统设计采用自顶向下的设计方案,系统的整体组装设计原理图如图1-1所示,它主要由控制模块、分频模块,计时模块、显示模块和报警模块五部分组成。
各模块分别完成计时过程的控制功能、计时功能与显示功能。
图1-1 系统组成框图三、单元电路设计⒊1分频器的设计:由于本设计中需要用到精确的100Hz计时脉冲,因此分频器的设计显得尤为重要。
考虑到实验箱上输出频率的限制及所产生及时脉冲的精度要求,采用由5MHz的时钟脉冲经过分频器产生100Hz的计时脉冲。
分频器的设计程序(divclk.vhd)如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY divclk ISPORT( CLK: IN STD_LOGIC;CO : OUT STD_LOGIC);END divclk;ARCHITECTURE behave OF divclk IS SIGNAL COUNT:INTEGER RANGE 0 TO 49999; BEGINPROCESS(CLK)BEGINIF RISING_EDGE(CLK)THENIF COUNT=49999 THENCOUNT<=0;CO<='1';ELSECOUNT<=COUNT+1;CO<='0';END IF;END IF;END PROCESS; END behave;⒊2计时控制模块的设计:计时控制模块的作用是将按键信号转变为计时器的控制信号。
计时控制模块可用两个按钮来完成秒表的启动、停止和复位,即启动/暂停键和清零键,由它们产生计数允许/保持和清零信号。
此电路设计采用状态机描述。
根据启动/暂停键的作用,建立状态转换关系,画出状态转换图如图1—2所示。
K 为启动/暂停键输入信号,K=0时表示按下,K=1时表示松开。
计时控制的设计程序(key.vdh )如下: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY key ISPORT( CLR,CLK,k:IN STD_LOGIC;EN :OUT STD_LOGIC); END key;ARCHITECTURE BEHAVE OF key ISCONSTANT S0: STD_LOGIC_VECTOR (1 DOWNTO 0):="00"; CONSTANT S1: STD_LOGIC_VECTOR (1 DOWNTO 0):="01"; CONSTANT S2: STD_LOGIC_VECTOR (1 DOWNTO 0):="11"; TYPE STATES IS (S0,S1,S2);K=1 K=0K=1图1—2计数状态的转换图SIGNAL CURRENT_STATE,NEXT_STATE:STATES; BEGINCOM:PROCESS(k,CURRENT_STATE) BEGINCASE CURRENT_STATE ISWHEN S0=>EN<='0';IF k='1'THEN NEXT_STATE<=S0;ELSE NEXT_STATE<=S1;END IF;WHEN S1=>EN<='1';IF k='1'THEN NEXT_STATE<=S2;ELSE NEXT_STATE<=S1;END IF;WHEN S2=>EN<='1';IF k='1'THEN NEXT_STATE<=S2;ELSE NEXT_STATE<=S0;END IF;END CASE;END PROCESS;SYNCH:PROCESS(clk)BEGINIF CLR='1'THENCURRENT_STATE <=S0;ELSIF CLK'EVENT AND CLK='1'THENCURRENT_STATE<=NEXT_STATE;END IF;END PROCESS;END BEHAVE;⒊3计时模块的设计:计时模块执行计时功能,计时方法和计算机一样是对标准时钟脉冲计数。
计时模块是由四个十进制计数器和两个六进制计数器构成的。
其中毫秒位、十毫秒位、秒位和分位采用十进制计数器,十秒位和十分位采用六进制计数器。
⒊⒊1十进制计数器的设计程序(count_10.vhd)如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count_10 ISPORT( CLK:IN STD_LOGIC;CLR,en:IN STD_LOGIC;CO :OUT STD_LOGIC;COUNT10:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END count_10;ARCHITECTURE behave OF count_10 ISSIGNAL SCOUNT10: STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINCOUNT10<=SCOUNT10;PROCESS (CLK,CLR,en)BEGIN IF(CLR='1')THENSCOUNT10<="0000";CO<='0';ELSIF RISING_EDGE(CLK)THENIF(en='1')THENIF SCOUNT10="1001"THENCO<='1';SCOUNT10<="0000";ELSECO<='0';SCOUNT10<=SCOUNT10+'1';END IF;END IF;END IF;END PROCESS;END behave;⒊⒊2六进制计数器的设计程序(count_6.vhd)如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count_6 ISPORT( CLK,CLR,EN:IN STD_LOGIC;CO :OUT STD_LOGIC;COUNT6:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END count_6;ARCHITECTURE behave OF count_6 ISSIGNAL SCOUNT6: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINPROCESS (CLK,CLR,EN)BEGINIF(CLR='1')THENSCOUNT6<="0000";CO<='0';ELSIF RISING_EDGE(CLK) THENIF(EN='1')THENIF SCOUNT6="0101"THENCO<='1';SCOUNT6<="0000";ELSECO<='0';SCOUNT6<=SCOUNT6+'1';END IF;END IF;END IF;END PROCESS;COUNT6<=SCOUNT6;END behave;⒊⒊3计数器的设计程序(count0.vhd)如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNT0 ISPORT( CLK,CLR,EN:IN STD_LOGIC;msl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);msh:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);sl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);sh:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);ml:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);mh:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);CO:OUT STD_LOGIC);END COUNT0;ARCHITECTURE behave OF COUNT0 ISCOMPONENT count_10PORT( CLK,CLR,EN:IN STD_LOGIC;CO:OUT STD_LOGIC;COUNT10:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;COMPONENT count_6PORT( CLK,CLR,EN:IN STD_LOGIC;CO :OUT STD_LOGIC;COUNT6:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;SIGNAL A,B,C,D,E:STD_LOGIC;BEGINU1:count_10 PORT MAP (CLK,CLR,EN,A,msl);U2:count_10 PORT MAP (A,CLR,EN,B,msh);U3:count_10 PORT MAP (B,CLR,EN,C,Sl);U4:count_6 PORT MAP (C,CLR,EN,D,sh);U5:count_10 PORT MAP (D,CLR,EN,E,ml);U6:count_6 PORT MAP (E,CLR,EN,CO,mh);END behave;⒊4显示模块的设计:计时显示电路的作用是将计时值在LED数码管上显示出来。