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.多路选择器根据位选信号,输出对应位显示的数据。
EDA课程设计--数字秒表设计
电子课程设计—数字秒表的设计数字秒表的设计数字秒表的设计一、设计任务与要求1、数字秒表的计时范围是0秒~59分59.99秒,显示的最长时间为59分59秒。
秒。
2 2、数字秒表的计时精度是、数字秒表的计时精度是10ms 10ms。
3 3、、复位开关可以在任何情况下使用,复位开关可以在任何情况下使用,即便在计时过程中,即便在计时过程中,即便在计时过程中,只要按一下复位只要按一下复位开关,计时器就清零,并做好下次计时的准备。
开关,计时器就清零,并做好下次计时的准备。
4 4、、具有启具有启//停开关,停开关,即按一下启即按一下启即按一下启//停开关,停开关,启动计时器开始计时,启动计时器开始计时,启动计时器开始计时,再按一下再按一下启/停开关则停止计时。
停开关则停止计时。
二、总体框图由频率信号输出端输出频率为100HZ 的时钟信号,输入到微妙模块的时钟端clk ,高/低电平电平频率信号输入输入微妙模块微妙模块秒模块秒模块分模块分模块置数/位选位选显示模块显示模块进位进位微妙模块为100进制的计数器,产生的进位信号co 输入到下一级秒模块的时钟端,以此类推,直到分模块计数到59进60时,产生的进位信号不输出,计数清零。
将微妙、秒、分产生的计数通过置数/位选再通过显示模块实时显示。
设计方案:利用一块芯片完成除时钟源,利用一块芯片完成除时钟源,按键和显示器之外的所有数字电路功按键和显示器之外的所有数字电路功能。
所有数字逻辑功能都在CPLD 器件上用VHDL 语言实现。
这样设计具有体积小,设计周期短,调试方便,故障率地和修改升级容易等特点,本设计采用自顶向下,混合输入方式(原理图输入——顶层文件链接和VHDL 语言输入——各模块程序设计)实现数字秒表的设计,下载和调试。
三、功能模块1.1. 微秒模块微秒模块采用VHDL 语言输入方式,以时钟clk clk,清零信号,清零信号clr 以及暂停信号STOP 为进程敏感变量,程序如下:为进程敏感变量,程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity MINSECONDb isport(clk,clrm,stop:in std_logic;----时钟时钟//清零信号清零信号secm1,secm0:out std_logic_vector(3 downto 0);----秒高位秒高位//低位co:out std_logic);------- co:out std_logic);-------输出输出输出//进位信号进位信号 end MINSECONDb;architecture SEC of MINSECONDb is signal clk1,DOUT2:std_logic;beginprocess(clk,clrm)variable cnt1,cnt0:std_logic_vector(3 downto 0);---计数计数 VARIABLE COUNT2 :INTEGER RANGE 0 TO 10 beginIF CLK'EVENT AND CLK='1'THENIF COUNT2>=0 AND COUNT2<10 THEN COUNT2:=COUNT2+1; ELSE COUNT2:=0;DOUT2<= NOT DOUT2; END IF; END IF;if clrm='1' then----if clrm='1' then----当当clr 为1时,高低位均为0cnt1:="0000"; cnt0:="0000";elsif clk'event and clk='1' then if stop='1' then cnt0:=cnt0; cnt1:=cnt1; end if;if cnt1="1001" and cnt0="1000" ;then----then----当记数为当记数为9898(实际是经过(实际是经过59个记时脉冲)个记时脉冲) co<='1';----co<='1';----进位进位进位cnt0:="1001";----cnt0:="1001";----低位为低位为9elsif cnt0<"1001" then----elsif cnt0<"1001" then----小于小于9时 cnt0:=cnt0+1;----cnt0:=cnt0+1;----计数计数计数 --elsif cnt0="1001" then --clk1<=not clk1;elsecnt0:="0000";if cnt1<"1001" then----if cnt1<"1001" then----高位小于高位小于9时 cnt1:=cnt1+1; elsecnt1:="0000"; co<='0'; end if; end if; end if;secm1<=cnt1; secm0<=cnt0;end process; end SEC;程序生成器件如图:clk clrm stopsecm1[3..0]secm0[3..0]coMINSECONDbinst3微妙模块生成的器件可以实现带有100进制进位和清零功能,暂停等功能,MINSECONDb 输入为100HZ 脉冲和低电平的清零信号CLR 与暂停信号STOP STOP,输出,输出微妙个位、十位及进位信号CO CO。
eda课程设计资料 实验一 数字式秒表
实验一 数字式秒表设计一、设计任务与技术指标试设计并制作一个用七段数码管显示的秒表,并具有如下指标:1. 设计一个用七段数码管显示的秒表,它有“分”、“秒”、“百分之一秒” 十进制显示,如图1所示:图1 秒表表盘示意图2. 开机显示00.00.00,最大显示23.59.99; 3. 能够准确地计时并正确显示时间,计时精度 0.01秒;4. 用户可以随时开始计时,也可随时结束计时。
二、设计原理该系统由时钟信号发生器、分频电路、计时电路、译码显示电路等模块组成。
其总体框图如图2所示:图2 系统总体框图1.时钟信号发生器使用GW48系统主板上的“CL0CK0”时钟频率来实现(信号频率范围:0.5Hz ~50MHz ,建议选用1.5MHz 信号源)。
2.分频电路的设计设输入频率为1.5MHz 的脉冲信号,要求得到100Hz 的脉冲信号,那么分频系数的计算公式如下:分频系数=分频后的频率分频前的频率3.计时电路在数字电路中,计时电路一般是用计数器来实现的,例如时间的“秒”与“分”就是一个60进制的问题。
60进制计数器外部端口图如图3所示:occlky[5…0]图3 计数器外部端口图时钟信号 发 生 器 分频 电路 计时 电路 数码管显示驱动电路计数器其中,oc是计数器进位输出端。
y[5…0]为本位输出端。
三、设计平台及可选器件GW48-CK EDA实验板开发系统、EP1K30、共阴极七段数码管、发光二极管、按键开关、电阻、电容等。
选用平台的模式:No.7四、设计要求1.编制VHDL程序,并在QuartusII环境下编译通过;2.对源程序进行逻辑仿真,仿真结果正确;3.将编译后的程序下载至目标器件,进行硬件测试,硬件测试结果正确;4.各块采用文本编辑的方式生成元件图形,在直接利用元件图形编辑秒表。
五、设计报告要求1.简单叙述设计过程(包括原理、方案);2.画出完整的顶层文件原理图;3.给出完整的程序设计文档;4.说明调试方法与调试过程;。
eda电子秒表的课程设计
eda电子秒表的课程设计一、课程目标知识目标:1. 学生能够理解电子秒表的基本原理,掌握EDA技术中电子秒表的设计流程。
2. 学生能够描述电子秒表的各个模块功能,如计时器、触发器、显示等。
3. 学生了解数字电路的基础知识,并掌握基础的编程思想。
技能目标:1. 学生能够运用所学知识,设计并实现一个简单的电子秒表,具备计时、停止、清零等功能。
2. 学生能够通过实验操作,培养动手实践能力,提高问题解决能力。
3. 学生能够运用团队协作,进行项目设计与实施,提高沟通与协作能力。
情感态度价值观目标:1. 学生培养对电子技术和编程的兴趣,激发学习热情,形成积极的学习态度。
2. 学生通过实践操作,培养创新思维和探究精神,提高自信心。
3. 学生在团队协作中,学会尊重他人,培养集体荣誉感和社会责任感。
课程性质:本课程为实践性强的课程,结合电子技术、数字电路和编程知识,培养学生的实际操作能力和团队协作精神。
学生特点:学生为初中生,具备一定的电子知识和编程基础,对实践操作感兴趣,喜欢探索新事物。
教学要求:课程要求教师引导学生主动参与,注重实践操作和团队协作,强调知识与技能的融合,培养学生解决问题的能力。
通过本课程的学习,学生能够达到上述课程目标,实现知识、技能和情感态度价值观的全面发展。
二、教学内容本课程教学内容主要包括以下几部分:1. 电子秒表原理介绍:讲解电子秒表的基本工作原理,包括计时器、触发器、显示等模块的功能和相互关系。
2. 数字电路基础知识:复习与电子秒表相关的数字电路知识,如门电路、触发器、计数器等。
3. EDA技术:介绍EDA技术的基本概念,学习如何利用EDA软件(如Multisim、Protel等)进行电子秒表的设计与仿真。
4. 编程知识:学习与电子秒表相关的编程语言和编程思想,如C语言、汇编语言等。
5. 实践操作:分组进行电子秒表的设计与制作,包括电路图绘制、程序编写、电路板焊接、调试与测试等。
教学内容安排如下:第一课时:电子秒表原理介绍,数字电路基础知识复习。
EDA课程设计:数字秒表的设计
EDA 课程设计报告——数字秒表的设计指导老师:时间:组员:一、设计流程1. 文本编辑:用Active-HDL的编译环境进行编写源代码,编译通过后,保存为.hdl文件格式。
2. 功能仿真:将文件调入Active-HDL仿真环境里进行功能仿真,检查逻辑功能是否正确。
3. 逻辑综合与物理实现:将源代码调入ISE软件中,逻辑综合,管脚分配,下载到FPGA板上调试物理实现。
二、设计规划本系统设计采用自顶向下的设计方案,系统的整体组装设计原理图如图1所示,它主要由控制模块、时基分频模块,计时模块和显示模块四部分组成。
各模块分别完成计时过程的控制功能、计时功能与显示功能。
图1系统组成框图三、各模块的原理及其程序本系统设计由控制模块、时基分频模块,计时模块和显示模块四部分组成。
各模块实现秒表不同的功能。
1、控制模块计时模块的作用是针对计时过程进行控制。
计时控制模块可用俩个按钮来完成秒表的启动、停止和复位。
部分源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CTRL ISPORT( CLR,CLK,SP:IN STD_LOGIC;EN :OUT STD_LOGIC);COM:PROCESS(SP,CURRENT_STATE)BEGINEND IF;END PROCESS;END BEHAVE;2、时基分频模块时基分频模块的作用把输入时钟信号变为分频输出信号。
部分源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CB10 ISPORT( CLK: IN STD_LOGIC;CO : OUT STD_LOGIC);END CB10;ARCHITECTURE ART OF CB10 ISSIGNAL COUNT:STD_LOGIC_VECTOR (3 DOWNTO 0); BEGINPROCESS(CLK)BEGINIF RISING_EDGE(CLK)THENIF COUNT="1001"THENCOUNT<="0000";CO<='1';ELSECOUNT<=COUNT+1;CO<='0';END IF;END IF;END PROCESS;END ART;3、计时模块计时模块执行计时功能,计时方法和计算机一样是对标准时钟脉冲计数。
EDA-数字秒表设计
电子设计自动化I 大作业ii 题目数字秒表设计j:ii:-I 学院控制科学与工程学院:iI 班级_______ 自动化0803 ____________ -iI 姓名_______________________________________ j学号_______________________________________!j:i 二oo——年五月十二日题目:数字秒表的设计一、设计要求:(1)数字秒表的计时精度是10ms;(2)复位开关可以在任何情况下使用,计时在计时过程中,只要按一下复位开关,计时器就清零,并做好下次计时的准备;(3)具有启/停开关,即按一下启/停开关,启动计时器开始计时,再按一下启/ 停开关则停止计时。
⑷数字秒表的计时范围是0秒~59分59.99秒,显示的最长时间为59分59 秒、总体设计:1、总体结构图通过数据的编码控制数码管的显2、各模块功能示1) SEL模块:将扫描信号输给选择(CHOICE)模块2) 选择模块:按扫描信号的指定选择输出3) 3-8译码模块:通过SEL给的信号来控制8位数码管位的亮灭4 )计时模块:分别对毫秒,秒,分计时5)显示模块:通过CHOICE模块的输出信号来控制三、单元模块设计1、模块名:sel模块设计t-T-HHT—■- - - ■SH— -■■■ - -eH— - ! ! - - -BS - ■SB TT SS ・* - ■sel Ii3—elk □叫2期irstS 1j ■■■■= = > ■■■■■■■■"■■ - is™"■! ■■■r - —-r■ - yd、(1 )模块功能:CLK为扫描时钟脉冲,SELOUT端不停的发出扫描到的信号(2 )端口定义:CLK为信号输入端SELOUT[2..0]为选择到的信号输出3) VHDL 源程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sel is port(clk: in std_logic;selout: out std_logic_vector(2 downto 0)); end sel; architecture one of sel issignal count: std_logic_vector(2 downto 0);beginprocess(clk)beginif clk'event and clk='1' thenif (count="101") then count<="000";elsecount<=count+1;end if;end if;end process;selout<=count;end one;(4 )仿真结果0] 0](1 )模块功能:按扫描信号的指定选择输出 (2 )端口定义:a,b,c 为控制信号;data1[3..O],data2[3..O],data3[3..O],data4[3..O],data5[3..O], data6[3..O] 分别是毫秒的低位,毫秒的高位, 秒的低位,秒的高位,分的低位,分的高位的数据值; ch_out[3..0]为选择输出端。
数字秒表设计EDA课设报告
数字秒表设计EDA课设报告概述本课设要求设计一款加减计时秒表,需要实现的功能如下: - 显示秒表计时的数字; - 点击“开始”按钮开始计时; - 点击“停止”按钮停止计时; - 点击“复位”按钮清零计时; - 点击“加号”和“减号”按钮可以每次增加或减少1秒计时。
为了完成上述功能,我们选择EDA软件进行仿真和布图设计。
设计思路我们首先需要构思秒表的实现流程,考虑到需要实时更新读取的数据,所以我们选择使用FPGA芯片作为逻辑控制基础。
FPGA芯片是可编程逻辑芯片,可以对逻辑电路进行可编程配置,实现各种功能,如:加法器、减法器、触发器等。
整体设计思路我们将秒表的设计思路划分为以下步骤: 1. 使用时钟信号,设置计时寄存器和数码管显示寄存器; 2. 配合开始、停止两个开关控制开始和停止计时; 3. 设置加减计时器,在每次计时加减操作时使用; 4. 清零操作使用复位开关实现。
时钟信号和计时寄存器时钟信号可以使用EDA软件自带的时钟模块实现,设置计时寄存器用于记录加减后的计时结果。
这部分主要有以下几个步骤: - 外部时钟进入FPGA芯片中;- 引出一个指定频率的时钟信号; - 将时钟信号连接到计时寄存器的时钟端; - 计时寄存器向外部输出计时结果。
开始、停止控制实现开始、停止控制实现需要引入开关电路,可以使用EDA软件预设的开关模块。
我们可以将开关模块与数码管显示寄存器和计时寄存器进行连接,参考以下步骤进行实现: - 设计电路,将“开始”和“停止”两个开关用于控制计时器寄存器的启动和停止; - 将时钟信号连接到开关电路中,作为同步信号; - 将开关电路输出的信号连接到计时器寄存器和数码管显示寄存器。
这样,在开始计时时,计时寄存器会开始计时,并输出计时结果到数码管;而停止计时时,计时寄存器和数码管都会停止更新。
加减计时器和清零操作加减计时器和清零操作也可以使用EDA软件中的加减器模块和复位模块来实现。
实现步骤如下: - 设计加减计时器模块,包含加减按钮、加减器、计时寄存器,将加减按钮连接至加减器,加减器连接至计时寄存器; - 设计一个带复位功能的复位模块,将复位按钮连接至计时器寄存器和数码管。
EDA课程设计:数字秒表地设计
EDA课程设计报告——数字秒表的设计指导老师:时间:组员:一、设计流程1.文本编辑:用Active-HDL的编译环境进行编写源代码,编译通过后,保存为.hdl文件格式。
2.功能仿真:将文件调入Active-HDL仿真环境里进行功能仿真,检查逻辑功能是否正确。
3.逻辑综合与物理实现:将源代码调入ISE软件中,逻辑综合,管脚分配,下载到FPGA板上调试物理实现。
二、设计规划本系统设计采用自顶向下的设计方案,系统的整体组装设计原理图如图1所示,它主要由控制模块、时基分频模块,计时模块和显示模块四部分组成。
各模块分别完成计时过程的控制功能、计时功能与显示功能。
图1 系统组成框图三、各模块的原理及其程序本系统设计由控制模块、时基分频模块,计时模块和显示模块四部分组成。
各模块实现秒表不同的功能。
1、控制模块计时模块的作用是针对计时过程进行控制。
计时控制模块可用俩个按钮来完成秒表的启动、停止和复位。
部分源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CTRL ISPORT( CLR,CLK,SP:IN STD_LOGIC;EN :OUT STD_LOGIC);…………………………………………COM:PROCESS(SP,CURRENT_STATE)BEGINEND IF;END PROCESS;END BEHAVE;2、时基分频模块时基分频模块的作用把输入时钟信号变为分频输出信号。
部分源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CB10 ISPORT( CLK: IN STD_LOGIC;CO : OUT STD_LOGIC);END CB10;ARCHITECTURE ART OF CB10 ISSIGNAL COUNT:STD_LOGIC_VECTOR (3 DOWNTO 0);BEGINPROCESS(CLK)BEGINIF RISING_EDGE(CLK)THENIF COUNT="1001"THENCOUNT<="0000";CO<='1';ELSECOUNT<=COUNT+1;CO<='0';END IF;END IF;END PROCESS;END ART;3、计时模块计时模块执行计时功能,计时方法和计算机一样是对标准时钟脉冲计数。
eda数字秒表课程设计
eda数字秒表课程设计一、课程目标知识目标:1. 学生能够理解EDA(电子设计自动化)的基本概念,掌握数字秒表的设计原理;2. 学生能够运用所学知识,分析并描述数字秒表的电路结构、工作原理及各部分功能;3. 学生能够掌握数字秒表中计时、清零、启动/停止等基本操作。
技能目标:1. 学生能够运用EDA软件进行数字秒表的原理图绘制和仿真;2. 学生能够根据设计要求,编写数字秒表的Verilog HDL代码,并进行功能验证;3. 学生能够通过实际操作,调试并优化数字秒表的性能。
情感态度价值观目标:1. 学生培养对电子设计自动化技术的兴趣,激发学习热情;2. 学生培养团队协作精神,学会与他人共同解决问题;3. 学生培养严谨、细致、求实的科学态度,提高创新意识和实践能力。
课程性质:本课程为实践性较强的电子技术课程,旨在让学生通过实际操作,掌握EDA数字秒表的设计与实现。
学生特点:本年级学生已具备一定的电子技术基础,对EDA技术有一定了解,具有较强的学习能力和动手能力。
教学要求:教师需引导学生运用所学知识,通过实际操作,完成数字秒表的设计与制作。
在教学过程中,注重培养学生的实践能力、创新意识和团队协作能力。
通过本课程的学习,使学生能够将理论知识与实践相结合,提高综合素养。
二、教学内容本课程教学内容紧密围绕课程目标,结合教材相关章节,组织以下内容:1. EDA技术简介:使学生了解EDA技术的发展、应用及优势,为后续学习打下基础。
2. 数字秒表原理:讲解数字秒表的电路结构、工作原理,引导学生掌握计时、清零、启动/停止等基本功能。
3. 原理图绘制与仿真:教授学生使用EDA软件绘制数字秒表的原理图,并进行功能仿真。
4. Verilog HDL编程:教授学生编写数字秒表的Verilog HDL代码,掌握代码编写规范和技巧。
5. 功能验证与优化:指导学生进行数字秒表的功能验证,分析并解决可能出现的问题,优化设计。
具体教学内容安排如下:1. 第1-2课时:EDA技术简介,数字秒表原理学习。
eda电子秒表课程设计
eda电子秒表课程设计一、课程目标知识目标:1. 让学生掌握EDA电子秒表的基本原理和功能,理解数字电路基础知识;2. 学会使用EDA工具进行电子秒表的电路设计和仿真;3. 掌握电子秒表中计时、计数、复位等模块的工作原理和相互关系。
技能目标:1. 培养学生运用EDA工具进行电子电路设计和仿真的能力;2. 提高学生分析问题和解决问题的能力,能针对电子秒表设计过程中出现的问题进行调试和优化;3. 培养学生的团队合作能力,学会在团队中沟通、协作、共同完成任务。
情感态度价值观目标:1. 激发学生对电子工程的兴趣和热情,培养其探索精神和创新意识;2. 引导学生树立正确的工程观念,认识到电子工程在现代社会中的重要作用;3. 培养学生严谨、认真、负责的学习态度,养成良好的学习习惯。
本课程针对高中年级学生,结合其知识水平和认知特点,注重理论与实践相结合,以项目为导向,让学生在实际操作中掌握电子秒表的设计与制作。
通过课程学习,使学生能够将所学知识应用于实际工程问题,提高其创新能力和实践能力。
同时,注重培养学生的团队合作精神和责任感,为其未来的学习和职业发展奠定基础。
二、教学内容1. 电子秒表基本原理:介绍EDA电子秒表的工作原理,包括计时、计数、显示等模块的功能和相互关系,对应教材第三章第二节。
2. EDA工具使用:讲解如何使用EDA工具进行电子秒表的电路设计和仿真,包括电路图的绘制、元件库的选择、仿真参数的设置等,对应教材第四章。
a. 电路图绘制b. 元件库使用c. 仿真参数设置3. 电子秒表电路设计与仿真:指导学生进行电子秒表的电路设计和仿真,分析并解决设计过程中可能出现的问题,对应教材第五章。
a. 设计计时模块b. 设计计数模块c. 设计显示模块d. 整体电路调试与优化4. 团队合作与项目实施:组织学生分组进行项目实践,培养学生的团队合作能力和沟通协作能力,对应教材第六章。
a. 分组讨论b. 制定项目计划c. 项目实施与汇报教学内容的安排和进度:共安排6个课时,具体分配如下:1-2课时:电子秒表基本原理及EDA工具使用;3-4课时:电子秒表电路设计与仿真;5-6课时:团队合作与项目实施。
eda数字秒表课程设计
eda数字秒表课程设计一、教学目标本课程旨在让学生了解和掌握eda数字秒表的基本原理和设计方法。
通过本课程的学习,学生将能够:1.理解数字秒表的功能和应用;2.掌握eda数字秒表的设计原理和流程;3.学会使用eda工具进行数字秒表的设计和仿真;4.培养动手实践能力和团队协作精神。
二、教学内容本课程的教学内容主要包括以下几个部分:1.eda简介:介绍eda的基本概念、发展历程和常用工具;2.数字秒表设计原理:讲解数字秒表的组成部分、工作原理和设计方法;3.eda数字秒表设计实例:通过具体实例,演示如何使用eda工具进行数字秒表的设计和仿真;4.实践操作:学生分组进行数字秒表的设计和仿真,培养动手实践能力和团队协作精神。
三、教学方法为了提高教学效果,本课程将采用以下几种教学方法:1.讲授法:讲解eda的基本概念、发展历程和常用工具;2.案例分析法:通过分析具体案例,让学生了解数字秒表的设计方法和流程;3.实验法:学生动手进行数字秒表的设计和仿真,培养实践能力;4.讨论法:分组讨论,引导学生主动思考和解决问题。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统、科学的学习资料;2.多媒体资料:制作精美的PPT,生动展示数字秒表的设计原理和流程;3.实验设备:准备充足的设计和仿真实验设备,确保每位学生都能动手实践;4.网络资源:提供在线学习平台和参考资料,方便学生随时查阅和复习。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:考察学生在课堂上的参与程度、提问回答等情况,占总评的20%;2.作业:布置适量作业,检查学生对知识点的掌握程度,占总评的30%;3.实验报告:评估学生在实验过程中的操作能力和解决问题的能力,占总评的20%;4.期末考试:全面考察学生的知识掌握和应用能力,占总评的30%。
六、教学安排本课程的教学安排如下:1.课时:共计32课时,每课时45分钟;2.教学时间:安排在每周的二、四、六下午;3.教学地点:实验室和教室;4.教学进度:按照教材的章节顺序进行,确保每个章节都有足够的时间进行讲解和实践。
哪里有EDA数字秒表课程设计
哪里有EDA数字秒表课程设计一、课程目标知识目标:1. 让学生掌握EDA(电子设计自动化)的基本概念和原理;2. 使学生了解数字秒表的组成、功能及工作原理;3. 帮助学生掌握数字秒表设计的相关知识点,如计时器、计数器等。
技能目标:1. 培养学生运用EDA工具进行数字电路设计和仿真的能力;2. 提高学生分析问题、解决问题的能力,能针对具体需求设计合适的数字秒表;3. 培养学生的团队协作能力和沟通表达能力,能在小组合作中发挥积极作用。
情感态度价值观目标:1. 激发学生对电子设计领域的兴趣,培养其探索精神和创新意识;2. 引导学生树立正确的价值观,认识到科技发展对人类社会的重要性;3. 培养学生严谨、务实的科学态度,注重实践操作和理论学习的结合。
课程性质:本课程属于电子技术实践课程,注重理论与实践相结合,以项目为导向,培养学生的实际操作能力和创新能力。
学生特点:学生处于高年级阶段,已具备一定的电子技术基础,具有较强的学习能力和动手能力。
教学要求:教师需结合学生特点,以项目驱动教学,注重过程评价,引导学生主动参与,提高其综合运用知识解决问题的能力。
通过本课程的学习,使学生能够达到上述课程目标,为后续相关课程打下坚实基础。
二、教学内容本课程教学内容主要包括以下几部分:1. EDA基本概念与原理:介绍EDA技术的发展和应用,使学生了解EDA工具在数字电路设计中的重要性。
2. 数字秒表的组成与功能:分析数字秒表的各个组成部分,如计时器、计数器、控制单元等,以及它们的工作原理。
3. 数字秒表设计原理:讲解数字秒表设计的相关知识,包括晶振电路、分频器、计数器、显示电路等。
4. EDA工具应用:教授学生如何使用EDA工具(如Multisim、Protel等)进行数字秒表的设计和仿真。
5. 实践操作与调试:指导学生进行数字秒表的硬件搭建、程序编写和调试,培养学生的实际操作能力。
教学内容安排如下:1. 第一周:EDA基本概念与原理,数字秒表的组成与功能;2. 第二周:数字秒表设计原理,EDA工具的使用方法;3. 第三周:学生分组进行数字秒表设计,教师指导;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数码管上显示出来。