VHDL,FPGA数字闹钟.pdf

上传人:tbuqq 文档编号:5435007 上传时间:2020-05-11 格式:PDF 页数:14 大小:449.59KB
返回 下载 相关 举报
VHDL,FPGA数字闹钟.pdf_第1页
第1页 / 共14页
VHDL,FPGA数字闹钟.pdf_第2页
第2页 / 共14页
VHDL,FPGA数字闹钟.pdf_第3页
第3页 / 共14页
VHDL,FPGA数字闹钟.pdf_第4页
第4页 / 共14页
VHDL,FPGA数字闹钟.pdf_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《VHDL,FPGA数字闹钟.pdf》由会员分享,可在线阅读,更多相关《VHDL,FPGA数字闹钟.pdf(14页珍藏版)》请在三一文库上搜索。

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

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

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

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

5、 是 采 用 ASIC(Application Specific Integrated Circuits)芯片进行设计。ASIC 按照设计方法的不同 可分为:全定制ASIC,半定制ASIC,可编程ASIC( 也称为可编程逻辑器件) 。设计全定制ASIC 芯片时,设计师要定义芯片上所有晶体管的几何图形和工艺规则,最后将设计结果交由IC 厂家 掩膜制造完成。优点是:芯片可以获得最优的性能,即面积利用率高、速度快、功耗低。缺点 是:开发周期长,费用高,只适合大批量产品开发。半定制ASIC 芯片的版图设计方法有所不 同,分为门阵列设计法和标准单元设计法,这两种方法都是约束性的设计方法,其主要目的就 是

6、简化设计,以牺牲芯片性能为代价来缩短开发时间。可编程逻辑芯片与上述掩膜ASIC 的不同 之处在于:设计人员完成版图设计后,在实验室内就可以烧制出自己的芯片, 无须IC 厂家的参 与,大大缩短了开发周期。20 世纪末,电子技术获得了飞速的发展,在其带动下,现代电子产 品几乎渗透了社会的各个领域,有力的推动了社会生产力的发展和社会信息化程度的提高,同 时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。现代电子设计技术的 核心是 EDA技术。 EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述 语言 VHDL为系统逻辑描述手段完成的设计文件,自动的完成逻辑编译、逻

7、辑化简、逻辑分割、 逻辑综合、结构综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA 技 术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA 软件来完成对系统硬 件功能的实现。从另一方面看,在现代到新电子产品的设计和生产中,微电子技术和现代电子 设计技术时互相促进、互相推动又相互制约的两个技术环节。前者代表了物理层在广度和深度 上硬件电路实现的发展,后者则反应了现代先进的电子理论、电子技术、仿真技术、设计。工 艺和设计技术与最新的计算机软件技术有机的融合和升华。因此,严格的说,EDA 技术已不是 某一学科的分支,或某种新的技能技术,它应该是一门综合性学科。它融

8、合多学科于一体,又 渗透于各学科之中,打破了软件和硬件间的壁垒,使计算机的软件技术与硬件实现、设计效率 和产品性能合二为一,它代表了电子设计技术和应用技术的发展方向。作为当代大学生,特别 是信息工程类的学生,EDA 技术是知识体系中不可缺少的一部分。所以我们这次课程设计是基 于 EDA技术来设计一个闹钟系统,通过对EDA的实际应用来更加充分的认识、使用和发展EDA 技术。 一、设计任务与要求 1、设计要求 (1)有“时”、 “分” 、 “秒”十进制显示; (2)计时以 24 小时为周期; (3)具有校时电路,能对当前时间进行校对,(校对小时和分钟) ; (4)整点报时; (5)闹钟起闹(整点起

9、闹)。 2、系统设计 3、主体设计 (1)秒信号发生器 (2)计时部分框图 (3)校时电路 当数字钟接通电源或者计时出现误差时,均需要校正时间,校时是数字钟应具备的基本 功能 方案: 快脉冲。 将所需要校对的时或分计数电路的脉冲输入端切换到秒信号,使之用快 脉冲计数,当到达标准时间后再切换回正确的输入信号,达到校准目的; (4)定时起闹 要求整点起闹,不要求分; 可以用点亮发光二极管来表示。 (5)整点报时 每到整点时起闹。 二、设计原理、方案 1、系统结构描述 (一)系统的顶层文件: 1、 顶层文件图: (见下页) 2、 各模块的解释: (1) 、7 个输入量clk,rst, alinem,

10、alineh,alarm: 其中 clk 为 1KHZ,给数码管译码模块提供刷新频率,并且经过三个74163 十倍分频 变为 1HZ 给秒模块,闹铃模块,校准模块等提供脉冲。Res为复位输入端:按下的时候 时钟时间全部清零;alinem,alineh 为分、时的校准开关:按下的时候能够使分、时以 秒的速度跳动,达到校时的功能。Alarm 为闹钟设定开关:按下时设定闹钟时间。 (2)4 个输出端口: sg70、bt70 、point 、ledalarm。 其中 sg70为数码管的段选,bt70 为数码管的位选。Point 为整点报时的闹铃输 出端, ledalarm 为闹钟时的响铃输出端。 (3

11、) 、CNT60s模块: 这个模块式将clk_1hz这个时钟信号进行60进制计数,并产生一个分钟的触发信号。 该模块能将当前计数值实时按BCD码的格式输出。将该输出接到两位LED数码后能时 时显示秒的状态。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt60 is port(clk,rst:in std_logic; co:out std_logic; qh,ql:buffer std_logic_vector(3 downto 0); end cnt60; archi

12、tecture behave of cnt60 is begin process(rst,clk) begin if(rst=0)then qlbtbtbtbtbtbtbtbtnull; end case; end process p1; p2:process(clk) begin if clkevent and clk=1 then cnt8sgsgsgsgsgsgsgsgsgsgnull; end case; end process p3; end; (10) 、脉冲分频模块 这个模块是由三个74163 计数器组成的, 每个计数器设定为摸十,三级进位就为模1000 的计数器, 1KHZ的脉

13、冲经过分频器输出为1HZ的秒脉冲给各个模块提供秒信号。 三、实验步骤 1、首先我们仔细阅读实验要求, 选择 30Q-208 器件进行实验。画原理图,确定各个模块 2、 编写各个模块的程序,进行仿真 Cnt24h 模块仿真图 Cnt60 模块仿真图 Scanf 模块仿真图 4、将各个模块连接,编译无错误后开始分配引脚: Ret: 7 脚; Alineh:8 脚; Alinem:9 脚; Alarm:10 脚; Point:39 脚; Ledalarm:40 脚; Sg70:75、76、83、 84、85、86、 87、88 Bt70:89 、90、92、 93、94、95、96、97 Clk:1

14、83。 5、我们把最后做好的程序下载进入试验箱运行,检查错误,再分析错误,修改程序。 四、本次实验的的问题及解决方法 本次实验遇到了巨大的困难,第一次编译模24 模块时,个位总是跳到3 就进位了, 后来发现控制个位进位的那句程序if(ql=9 or ql=3) 修改为 if(ql=9 or (qh=2 and ql =3) 即可。 本来想尝试使用键盘输入数字来校准闹钟和时钟的时间,但是无论怎么写都有问题, 后来不得不放弃键盘输入的想法,使努力功亏一篑。 实验时总是想不起来把文件调整为当前文件,第一天出了不少的问题,下次实验一定 要注意。 闹钟的响铃每次触发都一分钟,整点提示也有一分钟,这样的闹

15、钟设计是不合理的。 对于闹钟报时的问题,通过阅读程序发现是设计时为了兼顾闹钟报时能够响足一分钟 而这样设计的。两者在这里引用了同样的电平的上升沿,即当闹钟时间和当前时间一样时, 有一个报警电平信号, 但是这个信号必须在秒钟进位信号变化的时候才能送到led 使闹钟发 出报时。 解决这样的问题的方法时单独设立闹钟响时长度模块,即闹钟响一分钟不利用秒高 位的进位信号控制而是单独制作这部分的电路,这样会增加电路的复杂程度。在要求不是很 高的情况下是没有必要的,误差不超过一分钟时可以接受的。 五、实验感想 在设计的整个过程中,我们利用VHDL 语言,设计了整个闹钟系统,并且利用MAX+PLUS 对程序进

16、行了仿真。这个闹钟系统包括了键盘接口电路、状态机、 闹钟时间寄存器和计时 器几个主要的模块。其中在设计状态机的时候,由于我们以前对它的研究比较少但在闹钟系 统的设计中它又时最重要的部分,所以我们花费了大量的时间来研究它。最终我们通过查阅 资料,顺利的完成了本部分的设计。同时状态机的使用也时我们这次课程设计的最大的收获。 在设计过程中, 我们遇到的问题很多。开始的时候还时比较的迷茫没有头绪,但是通过 思考和查阅资料后我们解决了状态机这样的问题。当把主要的问题解决后,后面的键盘接口 电路、 寄存器电路等电路就比容易的实现了。这使我们认识到,在研究过程中往往是某一个 问题挡着我们进展,然而关键就是在

17、这个时候我们不能放弃,只有坚持才能够获得最终的成 功。 、 在设计的整个过程中,我们利用VHDL语言来设计整个系统。通过对问题的分解,我们 采取逐一进行问题突破的方法,一个一个的解决问题,将比较复杂的任务分成多个模块。这 样就使设计比较简单问题比较集中,我们可以有重点的来解决问题。 在完成了整个系统程序的设计后我们利用MAX+PLUS对程序进行了仿真和硬件测试。 通过测试我们不仅对MAX+PLUS这个软件有了更加一步的认识,而且对下载也有了更加深 刻的理解。由下载测试我们最后发现了一个问题就是闹钟的报时不能和设定的时间完全同 步,但是误差步会超过1 分钟, 这成了我们设计的一处败笔,比较遗憾。不过通过问题我们 了解了不少问题, 只有真正的通过实际测试才能完全的找出问题然后再经过实际的改进才能 够使问题得到比较完美的解决。 总的来说我们这次毕业设计完成的比较的成功的,通过问题我们学到了关于EDA的很 多知识。 而且在实际工作中我们学到了更多的工作经验,知道了怎么和同事相处和合作。只 有大家的共同努力才能解决问题,一个人的力量时很有限的。希望这次课程设计的收获能够 对以后的学习生活带来帮助,帮助我们能够很好的发展。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1