




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于VHDL的数字闹钟设计 基于VHDL的数字闹钟设计摘要随着EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制及计算机应用领域的重要性日益突出。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。本设计介绍了基于VHDL硬件描述语言设计的多功能数字闹钟的思路和技巧,并在Quartus II开发环境中编译和仿真所设计的程序,并逐一调试验证程序的运行状况。仿真和验证的结果表明,该设计方法切实可行,该数字闹钟可以实现调时定时闹钟功能具有一定的实际应用性。 关键词: VHDL;FPGA;闹钟;Quartus IIDigital alarm clock design base on VHDLAbstractThe EDA (Electronic Design Automation) technology is experiencing a huge development and it widely spreads in its application field, thus emphasizes its importance in electronic message, communication, auto control and computer application gradually. EDA technology use computer as tool, designer is enabled to design files on the EDA platform with the help of HDL (Hardware Description Language). The computer automatically finishes tasks like logic compiling, simplication, division, colligation, optimization, distribution, wiring and simulation afterwards, and finally manages the match, compiling, mapping and download to a target chip. This project bases on the perspective and technique of multifunctional digital alarm clock of VHDL (Very-High-Speed Integrated Circuit Hardware Description Language). And then compiles and simulates the program it designed in the Quartus II environment. In addition, it adjusts and tests the program condition. The results of simulation and test imply the practicability of this project and the applicability of the timing function of digital alarm clock. Key words: VHDL, FPGA, Alarm clock ,Quartus II目录1 绪论 1.1 选题背景2 设计目的3 设计要求4 设计原理:4.1 功能描述4.2 基本原理5 设计内容:5.1 分频模块5.2 计数器模块5.2.1 秒计数器模块 5.2.2 分计数器模块 5.2.3 时计数器模块5.3 选择模块5.4 闹钟模块5.5 闹钟功能模块5.6显示6 数字闹钟原理方框图7 调试步骤8 结论参考文献附录A致谢3 1 绪论1.1 选题背景21新世纪,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。而数字闹钟能随时提醒这些容易忘记时间的人。钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 随着EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制及计算机应用领域的重要性日益突出。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。本文介绍了基于VHDL硬件描述语言设计的多功能数字闹钟的思路和技巧。在Quartus II开发环境中编译和仿真了所设计的程序,并逐一调试验证程序的运行状况。仿真和验证的结果表明,该设计方法切实可行,该数字闹钟可以实现调时定时闹钟功能具有一定的实际应用性。2 设计目的1. 熟练利用VHDL硬件描述语言进行数字系统设计;2. 掌握数字系统的设计方法自顶向下的设计思想;3. 掌握Quartus II开发软件的使用方法;4. 掌握FPGA/CPLD芯片的工作原理;5. 根据数字闹钟的功能要求设计一个数字闹钟;6. 掌握闹钟系统的原理。3 设计要求设计一个简单的数字闹钟,它的具体功能为:(1) 计时功能:这是本计时器设计的基本功能,可进行时、分、秒计时,并显示。(2) 清零功能:按下此键后计数器清零,数码管显示“0”;松开此键数码管开始显“000000”,并且以此开始重新计时;(3) 调时调分功能:当需要校时,可通过实验箱上的按键控制;(4) 闹钟开/关功能:为避免闹钟天天响,设计了闹钟开启/关闭功能;(5) 闹钟功能:开启闹钟功能后,通过闹钟键设置好铃响时间,时间到铃声响起,如果此时按下停止键,闹钟马上停止;如果按下忽略键,闹钟停止,并会在3分钟后重新响起,循环5次;什么都不按,闹钟响一分钟后停止,隔天再响,直到按下开启键关闭闹钟。4 设计原理4.1功能描述数字钟是一计时的工具,有着广泛的用途。本实验的数字钟要求有三个功能按钮:一个是清零按钮reset,当按下此按钮时,数字钟显示有位都清零二是调分钟的按钮 setmin,当按下此按钮时分钟会以1HZ的频率速度进行调时,而且在调分钟时秒钟会暂停不动;三是调小时的按钮sethour,当按下此按钮时时钟会以1HZ的频率速度进行调时,在调小时时分钟会暂停不动,但秒钟是正常记时的。另外还有一个闹钟模块,在闹钟模块中,先按下闹钟开启键,按下调时或调分键时,数码显示管显示所调闹钟的时间,并进行调时或调分。当两个键都未按下时,数码管显示数字钟的时间。当设定的闹钟时间和数字钟的时间一致时,铃声响起。在铃声响起时,按下PASS键,铃声停止响起,三分钟后闹钟再次响起,如此循环5次;按下STOP键时,铃声停止工作;什么都不按,铃声响起一分钟后停止,隔天再响,直到按下闹钟开/关键。其余时间喇叭不叫。4.2基本原理 在本实验中用到的主要元件有计数器,分频器,报时器,选择器和译码器等。控制逻辑主要是用来实现计数和清零。基本方框图如图4.1:选择输出模块clkSec6.0Min6.0Hour5.0分频模块Secon模块resetMinute模块resetHour模块reset闹钟模块 sp2clk译码输出模块闹钟功能模块 sp2图4.1 数字闹钟原理框图数字闹钟外观草图如图4.2所示: 闹钟按键 数字钟按键清零调时 e c d a f b g e c d a f b g e c d a f b g e c d a f b g e c d a f b g e c d调分停止忽略调时调分开启 图4.2 数字闹钟外观草图5 设计内容5.1分频模块此模块定义一个全局时钟,用频率为6MHz的信号源经分频从clk进入模块,经分频后由clk6输出,得到一个1Hz的时钟脉冲,用于驱动数字钟工作。分频模块和波形仿真如下图5.1(a)和5.1(b)所示:图5.1(a) 分频模块图5.1(b) 分频模块波形仿真图 分频模块在计数器计数到2999999的时候再来一个高电平,计数器加1,输出口clk6翻转,由低电平翻转成高电平,但仿真只能看到1us的情况,所以仿真未能看到其翻转,但是由图5.1(b)可知,在500ms前为低电平,在500ms时翻转为高电平,可判定该模块可行。5.2 计数器模块此模块包括秒计数器、分计数器、时计数器以及功能按键的设计。程序说明:1.由分频模块产生1Hz的时钟信号,输入计数60的秒计数器模块电路,等计数至60的瞬间,进位至计数60的分计数器模块电路加1,同时秒计数器模块电路也清除为0再重新计秒。2.分计数器模块电路和时计数器模块电路功能基本相似。时计数器模块电路计数为24,在计数至23的时,再来一个高电平,计数器模块全部清0,再重新计数。3.三组计数电路中的计分和计时数据传给闹钟模块,通过闹钟模块再和计秒数据一起传给位选模块,位选模块产生一组输出信号,而控制这个输出的信号为SEL2.0。4.由于取得的信号不论是时、分、秒,都将以十进制表示,所以先将这个十进制表示的时、分、秒转换成两个数位的BCD码。5.2.1 秒计数器模块秒计数模块和秒计数模块的波形仿真如下图5.2.1(a)和5.2.1(b)所示:图5.2.1(a) 秒计数模块图5.2.1(b) 秒计数模块波形仿真图模块功能介绍:clk是时钟型号输入端;reset是清零键,低电平有效;setmin是分钟调时按键,高电平有效;enmin是进位输出端;daout6.0是显示输出端,连接位选模块,再经显示模块译码后输出显示在七段码上。从图5.2.1(b)可以看出,当按下reset键时,计数器清零,重新计数;按下setmin键时,daout6.0是显示输出端输出的信号不变,同时enmin进位输出端输出与时钟信号周期相同的脉冲信号,进入分钟计数模块,驱动分钟模块工作;当计数器计数到59时,再来一个脉冲模块清零,并且重新计数。由此可以判定,该模块能实现全部预想功能,程序编写正确。5.2.2 分计数器模块分计数模块和分计数模块的波形仿真如下图5.2.2(a)和5.2.2(b)所示:图5.2.2(a) 分计数模块图5.2.2(b) 分计数模块波形仿真图模块功能介绍:clk是时钟信号输入端;clk1是秒进位信号输入端,秒钟算到60时发出一个进位脉冲,驱动分钟计数模块加1;reset是清零键,与秒钟计数模块的清零键是同一个键。sethour是时钟调时按键,高电平有效;enhour是进位输出端,功能与秒钟计数模块的相同;daout6.0是显示输出端,连接闹钟模块,再连接位选模块,经显示模块译码后输出显示在七段码上。从图5.2.2(b)可以看出,clk1输入秒钟模块的进位信号,daout6.0输出端输出分钟计数信号。当按下reset时daout6.0输出端清零,再次重新计数。按下sethour时,enhour输出频率与时钟信号相同的脉冲,用于使时计数模块计数增加,达到调时的目的。当分计数器计到60时,enhour输出一个高电平,分计数器重新计时,同时时计数器加1。由此可以判定,该模块能实现全部预想功能,程序编写正确。5.2.3 时计数器时计数模块和时计数模块的波形仿真如下图5.2.3(a)和5.2.3(b)所示:图5.2.3(a) 时计数模块图5.2.3(b) 时计数模块波形仿真图模块功能介绍:clk是进位信号,有分钟模块输出;resets是清零键;daout5.0是显示输出端,连接闹钟模块,再连接位选模块,经显示模块译码后输出显示在七段码上。由图5.2.3(b) 时计数模块波形仿真图可以看出,当按下resets清零键时,daout5.0是显示输出端清零并且重新计数。此可以判定,该模块能实现全部预想功能,程序编写正确。5.3 选择器模块选择器模块和选择器模块的波形仿真如下图5.3(a)和5.3(b)所示:图5.3(a) 选择器模块图5.3(b) 选择器模块波形仿真图模块功能介绍:clk电源信号输入端,输入的是分频前得频率为6MHz的信号,选择模块工作频率为6MHz;reset是清零键;低电平有效;sec6.0、min6.0、hour5.0是分别从秒钟计数模块、分钟计数模块、时钟计数模块引入的待显示的信号:SEL5.0=011111时输出sec3.0;SEL5.0101111时输出0和sec6.4;SEL5.0=110111时输出min3.0;SEL5.0=111011时输出0和min6.4;SEL5.0=111101时输出hour3.0;SEL5.0=111110时输出00和hour5.4;SEL5.0为其他数字,则显示符号“-”。从图5.3(b)可以看出,当SEL5.0=011111时,daout3.0输出为0011,与sec3.0输出的相同。此可以判定,该模块能实现全部预想功能,程序编写正确。5.4 闹钟模块闹钟模块和闹钟模块的波形仿真如下图5.4(a)和5.4(b)所示:图5.4(a) 闹钟模块5.4(b) 闹钟模块的波形仿真图模块功能介绍: clk输入1Hz的时钟信号,setmin1和sethour1是调分和调时键,低电平有效;dain和dainl是分钟信号和时钟信号输入;sp2是闹钟信号输出;doaut和doautl是分钟信号和时钟信号输出。从仿真波形图可以看出,按下setmin1和sethour1设置好闹铃时间后,到特定时间,sp2输出高电平。此可以判定,该模块能实现全部预想功能,程序编写正确。5.5闹钟功能模块闹钟功能模块和闹钟功能模块的波形仿真如下图5.5(a)和5.5(b)、5.5(c)所示:图5.5(a) 闹钟功能模块图5.5(b) 闹钟功能模块的波形仿真图(按下pass)图5.5(c) 闹钟功能模块的波形仿真图(按下stop)模块功能介绍:clk是时钟信号,工作频率6MHz;sp2是从闹钟模块输出的用于驱动闹钟功能模块的信号。开启闹钟(enable=1),当sp2输入为高电平,sp输出也为高电平。当按下stop时,铃响停止;当按下pass时,铃响停止,并且再3分钟后会再次响起,如此循环5次后铃声不会再响起。如果什么都不按,闹钟响一分钟后停止,隔天再响,直到按下enable。从仿真波形图看出,按下stop或pass后,sp由高电平变为低电平。此可以判定,该模块能实现全部预想功能,程序编写正确。5.6 显示模块显示模块和显示模块的波形仿真如下图5.6(a)和5.6(b)所示:图5.6(a) 显示模块图5.6(b) 显示模块的波形仿真图模块功能介绍:从选择模块出来的信号num3.0经显示模块翻译成BCD码后才能显示在七段码上。从仿真波形图看以看到,当num3.0=0111时,led6.0=0000111,七段码显示数字7。此可以判定,该模块能实现全部预想功能,程序编写正确。6 数字闹钟原理方框图数字闹钟的原理框图和闹钟调时程序流程图如图6.1、6.2所示:图6.1 数字闹钟原理图进程2clkeventclk=1daout=dain进程1setmin=0count=”1011001”输出个位为9个位数+1十位数+1daout=count结束count=”000000”脉冲Sethour=0daoutl=dainl输出23输出为0输出个位9个位数+1十位数+1daoutl=countl结束图6.2 闹钟调时程序流程图本设计是以setmin、sethour为控制整个数字钟的校分、校时,以enable控制闹钟开关,以setmin1、sethour1控制闹钟设置分、时。则当sethour=1时是对时钟进行校时,时个位和时十位会以二十四进制循环自动增加;当setmin=1时是对时钟进行校分,分个位和分十位会以六十进制循环增加,并且不对时进位;当sethour1=1时是对闹钟进行校时,闹钟时个位和时十位会以二十四进制循环自动增加;当setmin1=1时是对闹钟进行校分,闹钟分个位和分十位会以六十进制循环增加,并且不对时进位;而当sethour=0和setmin=0是正常的计时时间,秒从零开始计时,每秒加一,当到达五十九在来一个脉冲后,秒十位和秒个位清零,从零开始直到六十一直循环,并且向分个位清零;分位的原理同秒的一样,计数到五十九后自动清零向时进位,而时与秒,分的不同之处是,当时计数到二十四时清零并且不向任何位进位。另外当计数的时,分和闹钟所事先设置时,分相等,并且enable=1时,蜂鸣器会响起。此时,如果按下stop蜂鸣器会立即停止蜂鸣。如果按下pass蜂鸣器也会立即停止,但在三分钟后会再响,循环5次。如果两个键都不按蜂鸣器会维持蜂鸣一分钟,一分钟后蜂鸣自动停止。7 调试步骤1. 打开Quartus II新建一个工程,工程名用英文字母写,单独存放在一个文件夹,选择好芯片后新建一个vhd文件并保存,保存后开始用VHDL语言编写程序。每编写一个程序前要新建一个工程。2. 编写完成后进行编译,在编译无误后进行元件例化。3. 对每一个模块进行时序仿真,确认每一个模块功能是否符合要求。4.在时序仿真完成后新建一个bdf文件并置顶,保存后左键双击工作区间,在对话框中选中已例化的模块,按确定后置于工作区间。5.连接好线后对bdf文件进行编译,编译通过后,进行管脚分配,然后开始连线,将程序下载到实验箱中。6. 刚开始,数字种会先报时一分钟,并从000000开始计数,按下reset键,全部清零,并从头开始计数。按下调分键,秒不动,小时不动,分开始加一加一的计数,按下调时键,分不动,秒动,小时开始加一加一的计数。7. 根据程序设计,开始的初始状态为:clk接一个脉冲信号。sethour,setmin,sethour1,setmin1, stop,pass键置0,reset键置0。8 结论通过本次制作,系统的复习整个EDA的知识,并且了解了FPGA/CPLD可编程芯片的结构和引脚,能够熟练的运用quartus II这个软件,尤其可贵的是,学会了使用这个软件来给程序配置引脚,并且实际的通过实验箱的几个按键就可以控制整个操作的过程,终于感到自己所学到的知识可以付诸到实践了。在本文中采用VHDL硬件描述语言设计多功能数字闹钟,借助其功能强大的语言结构,简明的代码描述复杂控制逻辑设计,与工艺无关特性,在提高工作效率的同时达到求解目的,并可以通过VHDL语言的综合工具进行相应硬件电路的生成,具有传统逻辑设计方法所无法比拟的优越性。设计的电子闹钟基本上实现了所有的功能,但在有些功能的实现中,还有待提高。比如说对于调时功能,只能等待调时,这样对于调时的机动性不好,如果控制不好,过了应调时间的话,就必须在等一次循环后才能调时,有点浪费时间。参考文献1文畅.基于FPGA/CPLD和VHDL语言的交通灯控制系统设计J.电脑知识与技术(学术交流),2007,(06)2韩克,柳秀山.电子技能与EDA技术M.暨南大学出版社.2004.3刘昌华编著.数字逻辑EDA设计与实践M .国防工业出版社,2006.4杨晖.可编程逻辑器件与数字系统设计M.北京航天航空大学出版社,1999.5刘真,毕才术. 数字逻辑与计算机设计M 北京:高等教育出版社,2002.6HydeDC.BucknellHandbookonVerilogHDL.ComputerScienceDepartment,Bucknell University Lew is burg,1995.7王小军.VHDL简明教程M.北京:清华大学出版社,1997. 8黄晓明,黄璜.基于Max+Plus平台对VHDL硬件描述语言综合的探讨J.湖北第二师范学院学报,2008,(02)9邱磊,肖兵.基于VHDL语言的交通灯控制器设计J.福建电脑报,2004.10陈宗梅. 交通灯控制系统电路设计J.重庆职业技术学院学报,2005,(02) 11刘明丹.基于数字电路对交通灯控制的研究与设计D.四川.四川技术学院,2005.12孙芹芝,张瑾,苏晓鹭.基于EDA的交通灯控制系统J.电子学报,2007.13何峰. 基于Verilog HDL设计的交通灯控制系统J. 现代电子技术 , 2005,(08)14张淑骅.基于FPGA的交通灯的VHDL设计J.科技信息,2007.15黄任编著.VHDL入门解惑经典实例M.北京航空大学出版社.200516罗海涛.基于VHDL的交通信号灯设计与实现J.电脑知识与技术,2008,(15)17韩超.基于VHDL设计的交通灯系统J.电子与电脑,2008,(01)18杨捷,蒋炜华,马临超.基于VHDL语言的交通灯控制器设计J.河南机电高等专科学校学报,2008,(03)19曾珍虎.基于VHDL带音响的交通灯控制系统J.黑龙江科技信息,2007,(22)20李国栋,任志平.基于FPGA技术的交通灯控制系统设计J.现代电子技术, 2008,(17)附录A分频模块具体程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fenp isport(clk:in std_logic; clk6:out std_logic);end fenp;architecture one of fenp issignal cnt: std_logic_vector(21 downto 0);signal clk_temp:std_logic;constant c:INTEGER:=2999999;beginprocess(clk)beginif clkevent and clk=1 then if cnt=c then clk_temp=not clk_temp; cnt=0000000000000000000000; else cnt=cnt+1; end if;end if;end process;clk6=clk_temp;end;秒计数器具体程序:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity second is port(clk,reset,setmin:in std_logic; enmin:out std_logic; daout:out std_logic_vector(6 downto 0);end entity;ARCHITECTURE art OF second IS signal count:std_logic_vector(6 downto 0);begin daout=count; process(clk,reset,setmin) begin if(reset=0) then count=0000000; elsif setmin=1 then enmin=clk; elsif(clkevent and clk=1) then if(count(3 downto 0)=1001) then if(count=1011001) then enmin=1; count=0000000; else count=count+7; end if; else count(3 downto 0)=count(3 downto 0)+1; enmin=0 after 100 ns; end if; end if; end process;end art;分计数器具体程序:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity minute is port(clk,clk1,reset,sethour:in std_logic; enhour:out std_logic; daout:out std_logic_vector(6 downto 0);end entity;ARCHITECTURE art OF minute ISsignal count: std_logic_vector( 6 downto 0);begin daout=count;process(clk,reset,sethour,clk1) begin if(reset=0) then count=0000000; elsif sethour=1 then enhour=clk; elsif(clkevent and clk=1) then if(count(3 downto 0)=1001) then if(count=1011001) then enhour=1; count=0000000; else count=count+7; end if; else count(3 downto 0)=count(3 downto 0)+1; enhour=0; end if; end if; end process;end art;时计数器具体程序:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY hour ISPORT(clk,reset: IN STD_LOGIC; daout: out std_logic_vector (5 downto 0);END entity hour;ARCHITECTURE art OF hour IS signal count:std_logic_vector(5 downto 0);begin daout=count;process(clk,reset) begin if(reset=0) then count=000000; elsif (clkevent and clk=1) then if(count=100011) then count=000000; elsif(count(3 downto 0)=1001) then count=count+7; else count(3 downto 0)=count(3 downto 0)+1; end if; end if; end process;end art; 闹钟模块具体程序:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity naozhong is port( clk,setmin1,sethour1:in std_logic; sp2:out std_logic; dain:in std_logic_vector(6 downto 0); dainl:in std_logic_vector(5 downto 0); daout:out std_logic_vector(6 downto 0); daoutl:out std_logic_vector(5 downto 0);end entity naozhong;ARCHITECTURE art OF naozhong IS signal count:std_logic_vector(6 downto 0); signal countl:std_logic_vector(5 downto 0);beginprocess(clk,setmin1) begin if(clkevent and clk=1) then if(setmin1=0) then if(count(3 downto 0)=1001) then if(count=1011001) then count=0000000; else count=count+7; end if; else count(3 downto 0)=count(3 downto 0)+1; end if; daout=count; else daout=dain; end if;end if;end process;process(clk,sethour1) begin if(clkevent and clk=1) then if(sethour1=0) then if(countl=100011) then countl=000000; elsif(countl(3 downto 0)=1001) then countl=countl+7; else countl(3 downto 0)=countl(3 downto 0)+1; end if; daoutl=countl; else daoutl=dainl; end if; end if;end process;process(count,countl)beginif(count=dain and countl=dainl) then sp2=1; else sp2=0;end if;end process;end art;选择器具体程序:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;ENTITY seltime ISPORT(clk1, reset: INSTD_LOGIC;sec,min : INSTD_LOGIC_VECTOR(6 downto 0);hour : in std_logic_vector (5 downto 0);daout: OUTSTD_LOGIC_vector (3 downto 0);sel : out std_logic_vector ( 5 downto 0);END seltime;ARCHITECTURE art OF seltime IS signal count:std_logic_vector(5 downto 0);begin sel=count;process(clk1,reset) begin if(reset=0) then count=000000; elsif(clk1event and clk1=1) then countdaoutdaoutdaoutdaoutdaoutdaoutdaout0);signal pass_cnt : unsigned(9 downto 0) := (others=0);beginprocess(clk,sp2,pass,stop) begin if rising_edge(clk) then sp if sp2 = 1 then if stop = 1 then ctrl_state = s_rtn; elsif pass = 1 then ctrl_state = s_pass; end if; end if; sp = sp2; a 0); pass_cnt 0); when s_pass = if a = 5 then - alarm 5 times ctrl_state = s_rtn; else if pass_cnt(pass_cntleft) = 1 then - delay for 3 min, need to adjust the delay cnt according to clk freq pass_cnt 0); sp = 1; - alarm once every 3 min, (only last one cycle, if needs longer, add another state ) a = a + 1; else pass_cnt if sp2 = 0 then - go back when alarm goes off ctrl_state ctrl_state ledledledledledledledledledledled=1000000;end case;end process;en
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《幼儿教师招聘》综合练习附参考答案详解(精练)
- 2025年教师招聘之《幼儿教师招聘》经典例题带答案详解(满分必刷)
- 2025年指示灯具:设备指示灯项目发展计划
- 家庭弱电工程方案(3篇)
- 教师招聘之《小学教师招聘》考前冲刺模拟题库提供答案解析及完整答案详解【夺冠系列】
- 农副产品创新产业链创新创业项目商业计划书
- 智能门磁开关创新创业项目商业计划书
- 兰花园艺疗法课程创新创业项目商业计划书
- 教师招聘之《小学教师招聘》提分评估复习及完整答案详解(夺冠系列)
- 2025年教师招聘之《幼儿教师招聘》模拟考试试卷及参考答案详解【能力提升】
- 挂名法人股东协议书
- 企业车间5S培训课件
- 2025-2030中国代谢组学生物标志物行业市场发展趋势与前景展望战略研究报告
- GB/T 45345-2025金属及其他无机覆盖层工程用直流磁控溅射银镀层镀层附着力的测量
- 工程质量检查制度
- 脑瘫的分类及临床表现
- 风力发电基础施工合同范本
- ktv承包经营合同范文
- 《实战电池性能测试》课件
- 2025年贵州蔬菜集团有限公司招聘笔试参考题库含答案解析
- 2025年1月浙江省高二物理学业水平考试试卷试题(含答案详解)
评论
0/150
提交评论