vhdl-fpga数字闹钟

上传人:n**** 文档编号:91123556 上传时间:2019-06-23 格式:DOC 页数:14 大小:649.50KB
返回 下载 相关 举报
vhdl-fpga数字闹钟_第1页
第1页 / 共14页
vhdl-fpga数字闹钟_第2页
第2页 / 共14页
vhdl-fpga数字闹钟_第3页
第3页 / 共14页
vhdl-fpga数字闹钟_第4页
第4页 / 共14页
vhdl-fpga数字闹钟_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《vhdl-fpga数字闹钟》由会员分享,可在线阅读,更多相关《vhdl-fpga数字闹钟(14页珍藏版)》请在金锄头文库上搜索。

1、课程设计:多功能数字闹钟的设计专业:电气工程与自动化 姓名:陶静、 孙韬 学号:2009031523、2009031524 引言 人类社会已进入到高度发达的信息化社会,信息社会的发展离不开电子产品的进步。现代电子产品在性能提高、复杂度增大的同时,价格却一直呈下降趋势,而且产品更新换代的步伐也越来越快,实现这种进步的主要因素是生产制造技术和电子设计技术的发展。前者以微细加工技术为代表,目前已进展到深亚微米阶段,可以在几平方厘米的芯片上集成数千万个晶体管。后者的核心就是EDA技术,EDA是指以计算机为工作平台,融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD通用软件包,主要能辅

2、助进行三方面的设计工作:IC设计,电子电路设计,PCB设计。没有EDA技术的支持,想要完成上述超大规模集成电路的设计制造是不可想象的,反过来,生产制造技术的不断进步又必将对EDA技术提出新的要求。回顾近30年电子设计技术的发展历程,可将EDA技术分为三个阶段。七十年代为CAD阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作,产生了计算机辅助设计的概念。八十年代为CAE阶段,与CAD相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计,这就是计算机辅助工程的概念。CAE的主要功能是:原理图输入,逻辑仿真,

3、电路分析,自动布局布线,PCB后分析。九十年代为ESDA阶段,尽管CAD/CAE技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。在整个设计过程中,自动化和智能化程度还不高,各种EDA软件界面千差万别,学习使用困难,并且互不兼容,直接影响到设计环节间的衔接。基于以上不足,人们开始追求:贯彻整个设计过程的自动化,这就是ESDA即电子系统设计自动化。高层次设计给我们提供了一种%26ldquo;自顶向下%26rdquo;(Top%26ndash;Down)的全新设计方法,这种设计方法首先从系统设计入手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言

4、对高层次的系统行为进行描述,在系统一级进行验证。然后用综合优化工具生成具体门电路的网表,其对应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这一方面有利于早期发现结构设计上的错误,避免设计工作的浪费,同时也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。现代电子产品的复杂度日益加深,一个电子系统可能由数万个中小规模集成电路构成,这就带来了体积大、功耗大、可靠性差的问题,解决这一问题的有效方法就是采用ASIC(Application Specific Integrated Circuits)芯片进行设计。ASIC按照设计方法的不同可分为:全定制A

5、SIC,半定制ASIC,可编程ASIC(也称为可编程逻辑器件)。设计全定制ASIC芯片时,设计师要定义芯片上所有晶体管的几何图形和工艺规则,最后将设计结果交由IC厂家掩膜制造完成。优点是:芯片可以获得最优的性能,即面积利用率高、速度快、功耗低。缺点是:开发周期长,费用高,只适合大批量产品开发。半定制ASIC芯片的版图设计方法有所不同,分为门阵列设计法和标准单元设计法,这两种方法都是约束性的设计方法,其主要目的就是简化设计,以牺牲芯片性能为代价来缩短开发时间。可编程逻辑芯片与上述掩膜ASIC的不同之处在于:设计人员完成版图设计后,在实验室内就可以烧制出自己的芯片,无须IC厂家的参与,大大缩短了开

6、发周期。20世纪末,电子技术获得了飞速的发展,在其带动下,现代电子产品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。现代电子设计技术的核心是EDA技术。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言VHDL为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。从另一方面

7、看,在现代到新电子产品的设计和生产中,微电子技术和现代电子设计技术时互相促进、互相推动又相互制约的两个技术环节。前者代表了物理层在广度和深度上硬件电路实现的发展,后者则反应了现代先进的电子理论、电子技术、仿真技术、设计。工艺和设计技术与最新的计算机软件技术有机的融合和升华。因此,严格的说,EDA 技术已不是某一学科的分支,或某种新的技能技术,它应该是一门综合性学科。它融合多学科于一体,又渗透于各学科之中,打破了软件和硬件间的壁垒,使计算机的软件技术与硬件实现、设计效率和产品性能合二为一,它代表了电子设计技术和应用技术的发展方向。作为当代大学生,特别是信息工程类的学生,EDA技术是知识体系中不可

8、缺少的一部分。所以我们这次课程设计是基于EDA技术来设计一个闹钟系统,通过对EDA的实际应用来更加充分的认识、使用和发展EDA技术。一、 设计任务与要求1、设计要求(1)有“时”、“分”、“秒”十进制显示;(2)计时以24小时为周期;(3)具有校时电路,能对当前时间进行校对,(校对小时和分钟);(4)整点报时;(5)闹钟起闹(整点起闹)。2、系统设计3、主体设计(1)秒信号发生器(2)计时部分框图(3)校时电路当数字钟接通电源或者计时出现误差时,均需要校正时间,校时是数字钟应具备的基本功能方案:快脉冲。将所需要校对的时或分计数电路的脉冲输入端切换到秒信号,使之用快脉冲计数,当到达标准时间后再切

9、换回正确的输入信号,达到校准目的;(4)定时起闹 要求整点起闹,不要求分; 可以用点亮发光二极管来表示。(5)整点报时 每到整点时起闹。二、 设计原理、方案1、系统结构描述(一) 系统的顶层文件:1、 顶层文件图:(见下页)2、 各模块的解释:(1)、7个输入量clk,rst,alinem,alineh,alarm:其中clk为1KHZ,给数码管译码模块提供刷新频率,并且经过三个74163十倍分频变为1HZ给秒模块,闹铃模块,校准模块等提供脉冲。Res为复位输入端:按下的时候时钟时间全部清零;alinem,alineh为分、时的校准开关:按下的时候能够使分、时以秒的速度跳动,达到校时的功能。A

10、larm为闹钟设定开关:按下时设定闹钟时间。(2)4个输出端口:sg7.0、bt7.0、point、ledalarm。其中sg7.0为数码管的段选,bt7.0为数码管的位选。Point为整点报时的闹铃输出端,ledalarm为闹钟时的响铃输出端。(3)、CNT60s模块: 这个模块式将clk_1hz这个时钟信号进行60进制计数,并产生一个分钟的触发信号。该模块能将当前计数值实时按BCD码的格式输出。将该输出接到两位LED数码后能时时显示秒的状态。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;en

11、tity cnt60 isport(clk,rst:in std_logic; co:out std_logic; qh,ql:buffer std_logic_vector(3 downto 0);end cnt60;architecture behave of cnt60 isbeginprocess(rst,clk)beginif(rst=0)then ql=0000;qh=0000;elsif(clkevent and clk=1)then if(ql=9) then ql=0000; if (qh=5) then qh=0000;co=1;elseqh=qh+1;end if;els

12、e ql=ql+1;co=0;end if; end if;end process;end behave;(4)、CNT60M模块: 这个模块式将CNT60S或者1HZ的clk的输出信号进行60进制计数,并产生一个时位的触发信号。该模块能将当前计数值实时按BCD码的格式输出。将该输出接到两位LED数码后能时时显示分的状态。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt60 isport(clk,rst:in std_logic; co:out std_logic; qh,ql

13、:buffer std_logic_vector(3 downto 0);end cnt60;architecture behave of cnt60 isbeginprocess(rst,clk)beginif(rst=0)then ql=0000;qh=0000;elsif(clkevent and clk=1)then if(ql=9) then ql=0000; if (qh=5) then qh=0000;co=1;elseqh=qh+1;end if;else ql=ql+1;co=0;end if; end if;end process;end behave;(5)、CNT24H

14、这个模块式将CNT60M或者1HZ的clk的输出信号进行24进制计数,并产生一个时位的触发信号。该模块能将当前计数值实时按BCD码的格式输出。将该输出接到两位LED数码后能时时显示分的状态。library ieee ;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt24h isport(clk,rst:in std_logic ; ql,qh:buffer std_logic_vector(3 downto 0); end cnt24h;architecture behave of cnt24h is begin process(clk,rst)variable y0,y1:std_logic_vector(3 downto 0); begin if(rst=0)then ql=0000;qh=0000; elsif(clkevent and clk=1)then if(ql=9 or (qh=2 and ql=3) then ql=0000; if (qh=2) then qh=0000; else qh=qh+1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号