EDA课程设计报告

  • 格式:doc
  • 大小:59.87 MB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湘潭大学 EDA 课程设计报告

学院信息工程学院

专业班级电子信息工程2班

学号 **********

学生姓名毛圣杰

指导教师吴亚联

完成日期 2017年9月28日

课程设计任务书

目录

1.系统设计 (5)

1.1 系统方案设计 (5)

1.2 系统RTL图设计 (6)

1.3 代码编写与调试 (7)

2. 系统仿真与测试 (8)

2.1 系统时序仿真与分析 (8)

2.2硬件下载与测试 (9)

3. 收获与体会 (10)

4. 参考文献 (11)

5. 附录 (12)

附录1:代码 (12)

附录2:硬件测试结果图 (14)

附录3:问题回答记录表 (16)

篮球竞赛30秒倒计时器

摘要:

计时器在人类生活中有着非常重要而广泛的应用,古时候人们就开始用沙漏和水漏做定时工具,随着科技和社会的发展,人们开始用全新的方法来改造计时器以达到准确计时的目的。

篮球竞赛计时器就是一种典型的计时器的应用。在篮球比赛中规定球友持球的时间不能超过30秒,否则就是犯规。本课程设计的“篮球竞赛30秒计时器”,可用于篮球比赛中,用于对球员持球时间进行30秒限制,一旦球员持球的时间超过了30秒,它将自动报警从而判定刺球员的犯规。

本文设计用的是实现以中小规模集成电路设计计时器的方法,它是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。它是由秒脉冲产生电路、计数电路、译码显示电路、控制电路及报警电路组成。通过QUARTUS II设计并进行仿真,同时在试验箱上连接制作了硬件实现电路。

关键词:

30秒计时器;

1.系统设计

1.1 系统方案设计

图1-1 30秒计时器系统原理框图

该系统包括秒脉冲发生器、计数器、译码显示电路、辅助时序控制电路(简称控制电路)和报警电路等5个部分构成。其中,计数器和控制电路是系统的主要部分。计数器完成30s计时功能,而控制电路具有直接控制计数器的启动计数、暂停/连续计数、译码显示电路的显示和灭灯功能。为了满足系统的设计要求,在设计控制电路时,应正确处理各个信号之间的时序关系。在操作直接清零开关时,要求计数器清零,数码显示器灭灯。当启动开关闭合时,控制电路应封锁时钟信号CP,同时计数器完成置数功能,译码显示电路显示30s字样;当启动开关断开时,计数器开始计数;当暂停/连续开关拨在暂停位置上时,计数器停止计数,处于保持状态;当暂停/连续开关拨在连续时,计数器继续递减计数。另外,外部操作开关都应采取去抖动措施,以防止机械抖动造成电路工作不稳定。

在经济方面,因为结构简单,便于减少CPU的占用时间,减少能耗,从而降低用电成本,同时能节省操作人员的操作时间,提高了效率,也避免了劳动力的浪费。

1.2 系统RTL图设计

图 1-2

表1-1 引脚适配

Pin Name Pin Assignment Pin Type clk 53 Input

clk_out 4 Output

CLR 39 Input

ENB 42 Input

PLD 43 Input

S0[3] 76 Output

S0[2] 77 Output

S0[1] 79 Output

S0[0] 80 Output

S1[3] 70 Output

S1[2] 73 Output

S1[1] 74 Output

S1[0] 75 Output

WARN 44 Output

1.3 代码编写与调试

在设计初,由于实验箱有时钟输出,因此编程时没有考虑对时钟的编写,重点放在了对控制电路的实现,控制电路是这次课程设计的核心,要充分理解题目的要求,搞清楚各个功能的嵌套及与时钟的关系。最后是译码显示电路,其目的就是将计数的结果完整的显示在数码管上,代码可以参考课本,属于比较简单的内容。将所有程序编写完毕后,进行编译调试,由于混淆了功能的嵌套关系,虽然编译可以通过,但是从波形仿真不能得到有效的逻辑关系。从新调整过后,基本实现了其功能。

为了使系统功能更完整,在最终编程阶段加入了秒脉冲发生器的代码,经过简单的调整后,可以完美的实现系统功能。

2. 系统仿真与测试

2.1 系统时序仿真与分析

时序仿真前首先要对代码进行编译运行,没有错误之后才可以建立vector waveform file文件,建立文件之后加入引脚,设置合适的终止时间(在此次设计中我设置的终止时间为3.5ms),设置各个输入引脚的波形并仿真即可得到对应的仿真波形图。

图 1-2

如图,clk为高频时钟输入信号,由于频率过高所以在波形图上显示的为黑线,但可以通过编写的分频计程序将其分频;clk_out为系统内部的时钟总线,其相对于clk显得频率就小了很多,其为实现各个控制功能提供时序;CLR为清零控制端,与时钟信号无关,因此为异步清零,当期为‘1’时,可以看到计数器被清零;PLD 为置数端,上升沿触发,因此为同步置数,当其为高电平时,计数器显示‘30’;ENB为使能端,高电平有效,当其为‘1’时,系统开始工作;WARN为警示输出端,当计数满了之后,输出高电平;S0和S1为计数输出,为四位向量,通过译码可以转换为数字在数码管上显示,在波形图上也可以看到从‘30’到‘00’的倒计时的过程。

在第一次仿真时,由于没有注意clk_out的电平持续时间,在设置PLD的高电平时间过小,完全嵌套在clk_out的高电平中,无法实现有效触发。第二次仿真时更正了PLD的持续时间,得到了如图正确的波形仿真。