课程设计(论文):基于FPGA的数字电子闹钟设计_第1页
课程设计(论文):基于FPGA的数字电子闹钟设计_第2页
课程设计(论文):基于FPGA的数字电子闹钟设计_第3页
课程设计(论文):基于FPGA的数字电子闹钟设计_第4页
课程设计(论文):基于FPGA的数字电子闹钟设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计(论文) 题 目 名 称 基于 fpga 的数字电子闹钟设计 课 程 名 称 电子系统设计 学 生 姓 名 学 号 0741227304 系 、专 业 信息工程系、07 电子信息工程 指 导 教 师 2010 年 11 月 18 日 邵阳学院课程设计(论文)任务书 年级专业07 电子信息工程学生姓名学 号0741227304 题目名称基于 fpga 的数字电子闹钟设计设计时间11.08 至 11.19 课程名称电子系统设计课程编号设计地点校内 一、课程设计(论文)目的 通过查资料、选方案、设计电路、编写程序,调试程序和撰写设计报告等方式 使学生得到一次较全面的开发设计训练。理论联系实际

2、,培养和提高学生创新能力, 为后续课程的学习、毕业设计、毕业后的工作打下基础。 二、已知技术参数和条件 1、设计简易的一分钟闹钟; 2、可手动输入定时时间( 0-59s),如30s; 3、两个动态数码管上跟踪显示时间的变化:如 30,29,28到了指定时间蜂鸣器 发出5s的提示音; 4、采用2个动态数码管显示时间; 5、用蜂鸣器发出提示音; 6、拨码开关设置定时时间。 三、任务和要求 设计一个基于 fpga 的数字电子闹钟,要求: 1、设计出硬件电路; 2、设计出软件编程方法,并写出源代码; 3、用 max-plus 软件进行仿真; 4、论文格式要符合学院的统一规定,结构要合符逻辑,表达要得体

3、。 注:1此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效; 2此表 1 式 3 份,学生、指导教师、教研室各 1 份。 四、参考资料和现有基础条件(包括实验室、主要仪器设备等) 1有 eda 实验室,max-plus 软件和 eda 课程设计方面的书籍; 2有电子综合试验室,拥有 eda,dsp,fpga 等专用开发软件和仿真下载设备; 3有学校购买的丰富的电子资源(如中国知网,万方数据库等)。 五、进度安排 时间任务 2010 年 11 月 08 日课程设计动员 2010 年 11 月 11 日查阅资料,提出设计方案 2010 年 11 月 14 日电路设计、程序设计、系统仿

4、真 2010 年 11 月 17 日撰写课程设计论文 2010 年 11 月 19 日仿真结果验收、答辩、成绩评定 六、教研室审批意见 教研室主任(签字): 年 月 日 七、主管教学主任意见 主管主任(签字): 年 月 日 八、备注 指导教师(签字): 学生(签字): 邵阳学院课程设计(论文)评阅表 学生姓名 学 号 0741227304 系 信息工程系 专业班级 07 电子信息工程 题目名称 基于 fpga 的数字电子闹钟设计 课程名称 电子系统设计 一、学生自我总结 通过这次设计,初步对 eda 有一个新了解。 课程设计之初是做了一个简单的培训,关于软件和硬件的设计,算是入门训练吧。 通过

5、前两天的课程讲解,我对其有了初步的了解。之后就开始按照指导书中的例题就 行练习,仿真,有进一步的掌握后就开始了自己的课程设计。由于我 c+程序设计知 识不扎实,所以导致这次软件设计困难重重,也让我明白了在这个领域知识的串联是 非常普遍的,学好学扎实是我们必须要做到的要求。 学生签名: 年 月 日 二、指导教师评定 评分项目平时成绩报告格式电路设计仿真创新性综合成绩 权 重 2020401010 单项成绩 指导教师评语: 指导教师(签名): 年 月 日 注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面; 2、表中的“评分项目”及“权重”根据各系的考核

6、细则和评分标准确定。 目录 摘 要.i 第第 1 章章 设计方案设计方案.2 1.1 vhdl 简介.2 1.2 设计思路.3 第第 2 章章 模块介绍模块介绍.4 2.1 计时模块.4 2.2 数码显示模块.4 2.3 报警模块.4 2.4 顶层模块.4 第第 3 章章 verilog hdl 设计源程序设计源程序.5 3.1 计时模块程序.5 3.2 数码显示模块程序.6 3.3 报警模块程序.8 3.4 顶层模块程序. 9 第第 4 章章 波形仿真图波形仿真图.10 4.1 计时模块波形仿真图.10 4.2 报警模块波形仿真图.10 4.3 顶层模块波形仿真图.10 第第 5 章章 管脚

7、锁定及硬件连线管脚锁定及硬件连线.11 5.1 管脚锁定.11 5.2 引线说明.11 第第 6 章章 总结总结.12 参考文献参考文献.13 致谢致谢.14 第一章 设计方案 1.1 vhdl 简介 数字电路主要是基于两个信号(我们可以简单的说是有电压和无电压),用数字信号 完成对数字量进行算术运算和逻辑运算的电路我们称之为数字电路,它具有逻辑运算和逻 辑处理等功能,数字电路可分为组合逻辑电路和时序逻辑电路。 eda 技术,就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统 逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开 发系统为设计工具,通过有关的开发软件

8、,自动完成用软件的方式设计的电子系统 到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、 逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作, 最终形成集成电子系统或专用集成芯片的一门新技术。 利用 eda 技术进行电子系统的设计,具有以下几个特点: 用软件的方式设 计硬件; 用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成 的; 设计过程中可用有关软件进行各种仿真; 系统可现场编程,在线升级; 整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,eda 技术 是现代电子设计的发展趋势。 eda 技术伴随着计算机、集成电路、电子系

9、统设计的发展,经历了计算机辅助 设计(computer assist design,简称 cad)、计算机辅助工程设计(computer assist engineering design,简称 cae)和电子设计自动化(electronic design automation,简 称 eda)三个发展阶段。 常用的硬件描述语言有 vhdl、verilog、abel。 1 eda技术是随着集成电路和计算机技术的飞速发展应运而生的一种高级、快速、 有效的电子设计自动化工具。它是为解决自动控制系统设计而提出的,从70年代经历了计 算机辅助设计( cad),计算机辅助工程( cae),电子系统设计自

10、动化( esda)3个阶 段。前两个阶段的eda产品都只是个别或部分的解决了电子产品设计中的工程问题;第三 代eda工具根据工程设计中的瓶颈和矛盾对设计数据库实现了统一管理,并提出了并行设 计环境概念,提供了独立于工艺和厂家的系统级的设计工具。eda关键技术之一就 是采用 硬件描述语言对硬件电路进行描述,且具有系统级仿真和综合能力。目前应用比较广泛的 硬件描述语言就是verilog hdl。 2 verilog hdl简介 verilog hdl是目前大规模集成电路设计中最具代表性、使用最广泛的硬件描述语言之一。 具有如下特点: (1)能够在不同的抽象层次上,如系统级、行为级、rtl级、门级和

11、开关级,对设计 系 统进行精确而简练的描述。 (2)能够在每个抽象层次的描述上对设计进行仿真验证,及时发现及时发现可能存在的 错误,缩短设计周期,并保存整个设计过程的正确性。 (3)由于代码描述与工艺过程实现无关,便于设计标准化,提高设计的可重用性。如国 有c语言的编程基础经验,只需很短的时间就能学会和掌握verilog hdl,因此, verilog hdl可以作为学习hdl设计方法的入门和基础。 1.2 设计思路 1 设计要求 1、设计简易的一分钟闹钟; 2、可手动输入定时时间( 059s),如30s; 3、两个动态数码管上跟踪显示时间的变化:如 30,29,28到了指定时间蜂鸣器 发出5

12、s的提示音; 4、采用2个动态数码管显示时间; 5、用蜂鸣器发出提示音; 6、拨码开关设置定时时间。 2 设计思路 根据上述的设计要求,整个系统大致包括如下几个组成部分:它包括以下几个组成部 分:1、 显示屏,由2个七段动态数码管组成,用于显示当前设置的闹钟时间并进行跟踪 显示;2、 6个拨码开关,用于输入闹钟时间; 3)复位键,确定新的闹钟时间设置, 或显 示已设置的闹钟时间; 4)蜂鸣器,在当前时钟时间与闹钟时间相同时,发出报警声。 第二章 模块介绍 2.1 计时模块 此模块共有 6 个拨码开关作为输入信号,当开关无输入时,都处于低电平状态, d5、d4、d3、d2、d1 和 d0 是并行

13、数据输入端,crn 是异步复位输入端,ldn 是预置控制输入端。当开关有输入时,会产生一个六位的二进制输出信号 num,此 信号表示动作的开关序号,它是作为动态显示模块的输入信号。 2.2 数码显示模块 这个模块有两个输入信号和两个输出信号。其中一个是信号输入模块的输出 num 作为输入,另外一个是时钟输入端,作为扫描数码管的频率信号,采用 1024hz 的中高频信号。输出信号为 ss0、ss1、ss2,是动态数码管的片选段。 2.3 报警模块 报警模块共有两个输入信号 et 和 clk1,一个输出信号 cout。当从信号输入 模块检测到有开关输入时,et 信号已置 1,clk 上升沿到来时,

14、程序将 cout 置 1,蜂鸣器发出时间为 10s 的报警信号,时间到达后,跳出循环,蜂鸣器停止报警。 2.4 顶层模块 顶层模块的作用是将各个模块组合到一起,从而实现最终的功能。其输入即为 各个模块的输入,一个时钟信号,还有 6 个拨码开关的输入,其输出为数码管显示 和报警器。 第三章 verilog hdl 设计源程序 3.1 计时模块程序 module counter(ldn,d5,d4,d3,d2,d1,d0,clk,crn,q,oc); input ldn,d5,d4,d3,d2,d1,d0,clk,crn; output5:0 q; output oc; reg oc; reg5:

15、0 q; reg5:0 q_temp; reg3:0 num; always(posedge clk or negedge crn) begin if(crn) q_temp=6b000000; else if(ldn) begin q_temp=d5,d4,d3,d2,d1,d0; num=4b0000; end else if(q_temp6b000000) begin if(num=4b0000) num=num+1; else num=4b0001; if(num=4b1000) q_temp=q_temp-1; end else q_temp=6b000000; end always

16、 begin if(q_temp=6b000000 else oc=1b0; q=q_temp; end endmodule 3.2 数码显示模块程序 module showtime(a,q,clkm,ss0,ss1,ss2); input5:0 a; input clkm; output6:0 q; output ss0,ss1,ss2; reg6:0 q; reg ss0,ss1,ss2; reg m; reg5:0 b; reg5:0 c; always(posedge clkm) begin m=m+1; end always begin if(ab001001 c=5; end el

17、se if(a=b111100) begin b=0; c=6; end if(m=b1) begin ss0=1;ss1=0;ss2=0; case(b) b000000:q=b0111111; b000001:q=b0000110; b000010:q=b1011011; b000011:q=b1001111; b000100:q=b1100110; b000101:q=b1101101; b000110:q=b1111101; b000111:q=b0000111; b001000:q=b1111111; b001001:q=b1101111; default:q=b0111111; e

18、ndcase end else if(m=b0) begin ss0=0;ss1=0;ss2=0; case(c) b000000:q=b0111111; b000001:q=b0000110; b000010:q=b1011011; b000011:q=b1001111; b000100:q=b1100110; b000101:q=b1101101; b000110:q=b1111101; default:q=b0111111; endcase end end endmodule 3.3 报警模块程序 module speaker(clk1,et,cout); input clk1,et;

19、output cout; reg cout; reg5:0 temp; always(posedge clk1) begin if(et) temp=6b000000; else if(temp=6b000000) temp=temp+1; else temp=6b101001; end always begin if(tempchip=timer;input pin=75 clkmchip=timer:input pin=83 clk1 chip=timer;input pin=85 cout chip=timer;output pin=38 crn chip=timer;input pin

20、=39 do chip=timer;input pin=53 d1 chip=timer;input pin=47 d2 chip=timer;input pin=46 d3 chip=timer;input pin=45 d4 chip=timer;input pin=44 d5 chip=timer;input pin=41 ldn chip=timer;input pin=40 led0 chip=timer;output pin=173 led1 chip=timer;output pin=174 led2 chip=timer;output pin=175 led3 chip=timer;output pin=176 led4 chip=ti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论