

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、封面 作者:PanHon glia ng 仅供个人学习 设计报告 课程名称在系统编程技术 任课教师 CCJ附录:数字时钟设计程序 9 设计题目数字时钟设计 班级 06 级通信工程 1 班 姓名 NCWSS 学号 11111111111 日期 2014-6-16 目录 前言 4 一、 任务和设计要求 4 二、 设计原理 5 三、 设计仪器、设备 6 四、 设计步骤 6 1.用 VHDL 程序设计 6 步骤 1 :为本项设计建立文件夹 6 步骤 2 :输入设计工程和存盘 6 步骤 3:选择目标器件并编译 7 步骤 4 :时序仿真 7 步骤 5:引脚锁定 8 步骤 6 :编程下载 8 2实验箱设置
2、8 3.实验结果 8 五、心得体会 8 六、参考文献 91 .设计指标 5 2 设计要求 5 1.时钟计数 5 2时间设置 6 Alert 模块 9 Hour 模块 10 Minute 模块 11 Second 模块 12 、八 、, 前言 EDA ( Electronic Design Automation 即电子设计自动化)技术是在系统编程 技术地核心 ,它依赖与功能强大地计算机 ,在 EDA 工具软件平台 ,对以硬件描述语 言 HDL ( Hardware Description Ianguage 为系统逻辑描述手段完成地设计文件, 自动地完成逻辑编译、逻辑简化、逻辑分割、逻辑综合、结构
3、综合(布局布 线),以及逻辑优化和仿真测试 ,直至实现既定地电子线路功能 .EDA 技术在硬件 实现方面融合了大规模集成电路制造技术、 IC 版图设计技术、 ASIC 测试和封 装 技 术 、 FPGA ( FieId ProgrammabIe Gate Array ) /CPLD(Complex Programmable Device)编程下载技术、自动测试技术等;在计算 机辅助工程方面融合了计算机辅助设计( CAD )、计算机辅助制造( CAM )、 计算机辅助测试(CAT)、计算机辅助工程(CAE)技术以及多种计算机语言 地设计概念;而在现代电子学方面则容纳了更多地内容 ,入电子线路设计
4、理论、 数字信号处理技术、数字系统建模和优化技术及给予微波技术地长线技术理论 等.因此,EDA 技术为现代电子理论和设计地表达与实现提供了可能性 . 本次设计主要利用 VHDL 语言在 EDA 平台上设计一个电子数字钟 ,它地计 时周期为 24 小时,显示满刻度为 24 时 59 分 59 秒,另外还具有校时功能和闹钟功 能.总地程序由几个各具不同功能地单元模块程序拼接而成 ,其中包括分频程序模 块、时分秒计数和设置程序模块、比较器程序模块、三输入数据选择器程序模 块、译码显示程序模块和拼接程序模块 .并且使用 QUARTUS II 软件进行电路波 形仿真,下载到 EDA 实验箱进行验证 .
5、数字时钟设计综述报告 一、任务和设计要求 1. 熟悉集成电路地引脚安排 2. 掌握各芯片地逻辑功能及使用方法 3. 了解数字钟地组成及工作原理 . 4. 熟悉数字钟地设计与制作 . 1 设计指标 (1)时间以 24 小时为一个周期; ( 2)显示时、分、秒; ( 3)有校时功能 ,可以分别对时及分进行单独校时 ,使其校正到标准时 间; (4)计时过程具有报时功能 ,当时间到达整点前 5 秒进行蜂鸣报时 . 2设计要求 (1)画出电路原理图(或仿真电路图); (2)元器件及参数选择; (3)电路仿真与调试 、设计原理 根据系统设计要求 ,系统设计采用自顶向下设计方法 ,由时钟分频部 分、计时部分
6、、按键部分调时部分和显示部分五个部分组成 .这些模块 都放在一个顶层文件中 . 1. 时钟计数 首先下载程序进行复位清零操作 ,电子钟从 00:00: 00 计时开 始.sethour 可以调整时钟地小时部分,setmin 可以调整分钟,步进为 1. 由于电子钟地最小计时单位是 1s,因此提供给系统地内部地时钟频 率应该大于 1Hz,这里取 100HZ.CLK 端连接外部 10Hz 地时钟输入信号 elk.对 elk进行计数,当 clk=10 时秒加 1,当秒加到 60 时,分加 1;当分加 到 60 时,时加 1;当时加到 24 时,全部清 0,从新计时 . 用 6 位数 码管分别显示“时”
7、、“分”、“秒”,通过 OUTPUT( 6 DOWNTO 0 )上地信号来点亮指定地 LED 七段显示数码 2时间设置 手动调节分钟、小时 ,可以对所设计地时钟任意调时间 ,这样使数字 钟 真正具有使用功能 .我们可以通过实验板上地键 7 和键 4 进行任意地 调整 ,因为我们用地时钟信号均是 1HZ 地 ,所以每 LED 灯变化一次就来 一个脉冲,即计数一次 . 3. 清零功能 reset 为复位键,低电平时实现清零功能,高电平时正常计数.可以根据 我们自己任意时间地复位 . 4. 硬件电路图 三、设计仪器、设备 PC 机一台、GW4 教案实验系统一台、下载电缆一根(已接好) 四、设计步骤
8、1. 用 VHDL 程序设计 步骤 1:为本项设计建立文件夹 任何一项设计都是一项工程 , 都必须首先为此工程建立一个放置与此工 程相关地所有地文件夹,在此文件夹被 EDA 软件默认为工作库.一个设计工程 可以包含多个设计文件 , 一般不同地设计工程最好放在不同地文件夹中 . 注 意:文件名不能使用中文 , 且不能带空格 . 步骤 2:输入设计工程和存盘 1)打开 QUARTUS|, 单击“ file ”菜单 ,将鼠标移到 New Project Wizard 选Simulator was successful 出现,仿真结束 .完成波形如图所示 项单击则显示下图内容 ,在其中建立工程名和实体
9、名 ,工程名和实体必须保持 一致 ,最后点击 finish 完成 件,点击确定则显示下图情况 ,可以在里面键入程序 ,如下图 . 步骤 3:选择目标器件并编译 1) 在 Assign 选项地下拉菜单中选择器件选择项 Device, 如图所示 . 在 Device Family (器件序列栏)中选定目标器件对应地序列名 ,EPF10K10 对应地 是FLEXION 列.为了选择 EPF10K10LC84-4 器件,应将此栏下方标有 Show only Fastest Speed Grades 地勾消去 , 以便显示出所有速度级别地器件 . 完成器件选 择后,按 OK 键. 选择 Cyclone
10、Package:TQFP PIN:144 Speed grade:8 输入完程序以后点击工具栏右方一个紫色地三角符号“” , 然后运行程序 如果程序出现错误再改正 . 步骤 4:时序仿真 1 建立波形文件:选择 File-New, 选择 Vector Waveform File, 单击 OK. 图 6.4 建立波形文件 2选择 Edit-End Time 选项, 如图 6.6 所示 , 设定仿真时间宽度 . 3.双击 Name 下地空白处,弹出 Insert Nod or Bus 对话框,单击 Node Finder. 4如图 6.7 所示选定各个选择项 . 5. 单击 OK,完成引脚输入.
11、6. 加上输入信号后波形文件存盘 . 7 .运行仿 真器.在 Processing 菜单下选择 StartSimulation 项,直到2)在其中点击 file T new,选择原理图编辑器 ,在这里我们建立 VHDL 文 步骤5:引脚锁定 选择 Assign.PinLocationChip, 在跳出地窗口中地 Node Name 栏中用键盘输 入半加器地端口名,如 a、b 等.如果输入地端口名正确,在右侧地 Pin Type 栏将显示 该信号地属性.输入以后如下图,设定完成以后再运行一次程序 . 步骤 6:编程下载 1) 首先将下载线把计算机地打印机口与目标板(如开发板或实验 板)连接好,打
12、开电源 2) 下载方式设定.选择 MAX+plusll “ Programmer 选项,跳出下图左侧所示 地编程器窗口,然后选择 OptionsHardware Setup 硬件设置选项,其窗口图中 左侧所示.在其下拉菜单中选 ByteBlaster ( MV 编程方式.此编程方式对应计算 机地并行口下载通道,“ MX”是混合电压地意思,主要指对 ALTERA 地各类芯核电 压(如 5V、3.3V、2.5V与 1.8V 等) 地 FPGA/CPLD 都能由此下载.此项设置只在 初次装软件后第一次编程前进行,设置确定后就不必重复此设置了 最后点击 start 按钮,进入下载模式,等待下载完成以后
13、在实验箱上进行调试检 测是否正确. 2 .实验箱设置 (1)任意设置时间,让其从某一时间开始显示 2)时间显示为 24 进制,当时间显示到大 23:59:59 后将会从 00: 00: 00 开始 显示 3.实验结果 实验箱使用模式 7,键 8 为复位按键,键 8 为 1 时正常工作.键 4 设置 小时,键 7 设置分钟.下载成功后,按下键 8,及使六个 LED 复位清零,显示 数秒地自动计时,可以通过 4 键设置小时数,7 键设置分钟数.当秒数满 60 则进一位,分钟数满 60 进一位,当显示为 23:59:59 时,秒数在加一则显 示00:00:00,之后从新计时. 五、心得体会 本次课程
14、设计我做出地数字时钟能够正确地进行整点报时 ,显示时 间,但是对于调时调分功能不能正确显示 .经过努力,简易电子时钟地设 计基本上算是完成了 ,在整个设计中 ,我最大地体会就是:对学过地知识 遗 忘太多 .在本次地课程设计中 ,我发现了很多问题 ,同时做起来也很难 不顺手 ,看着简单地电路 ,要动手把它设计出来实非易事 ,主要原因对相 关应用软件地不熟悉 ,这就要求我们在以后地学习中 ,应该注意复习地重 要性 ,对学过地知识要时常复习 ,加深记忆 ,更重要地是我们要学会把从 书本上学到地知识和实际电路联系起来 ,这不论对我们以后地学习还是 就业 ,都会起到很大地促进和帮助 . 通过本次课程设计
15、 ,巩固了我们以前学过地专业知识 ,通过这次地程 序设计 ,使我们对数字系统结构也有了更进一步地了解与认识 ,同时对数 据库软件EDA技术,VHDL语言等系列知识都有了一定地了解与认 识.使用EDA技术开发页面地能力也有了提高,也使我们把理论与实践 从正真意义上结合了起来 ,考验了我们地动手能力和查阅相关资料地能 力 ,还有组织材料地能力 . 通过此次实践 ,我们从中可以找出自己知识地不足与欠缺 ,以便我们在日后地学习 中得以改进与提高 .经过本次设计使我们对大学四年期间所学习到地知 识得以进一步实践 ,这将对我们走出校园 ,走向社会 ,走向工作岗位奠定坚 实地基础. 六、参考文献 1 姜雪松
16、,吴钰淳,王鹰 1VHDL 设计实例与仿真M 1 北京:机械工业出 版社, 2007.1. 2 Stefan Sjohp lm,LennartL indh1VHDL 设计电子线路 M1 边计年, 薛宏熙,译 1 北京:清华大学出版社 , 20001. 3.李国洪,沈明山.可编程器件 EDA 技术与实践M.北京:机械工业出版 社,2004 4.周红,刘光蓉,张红武.利用 MAX+ plus U进行数字逻辑课程设计 J . 武汉工业学院学报 ,2004.4. 附录:数字时钟设计程序 Alert 模块 LIBRARY IEEE 。 USE IEEE.STD_LOGIC_1164.ALL 。 USE
17、IEEE.STD_LOGIC_UNSIGNED.ALL 。 ENTITY alert IS PORT(clk:IN STD_LOGIC 。 dain:IN STD_LOGIC_VECTOR(6 DOWNTO 0) 。 speak:OUT STD_LOGIC 。 lamp:OUT STD_LOGIC_VECTOR(2 DOWNTO 0) 。 END alert 。 ARCHITECTURE fun OF alert IS SIGNAL count:STD_LOGIC_VECTOR(1 DOWNTO 0) 。 SIGNAL count1:STD_LOGIC_VECTOR(1 DOWNTO 0) B
18、EGIN speaker:PROCESS(clk) BEGIN -speak=count1(1) 。 IF(clkevent and clk=1)THEN IF(dain=0000000)THEN speak=10)THEN count1=00 。 -count1 为三进制加法计数器 ELSE count1=count1+1 。 -speak=count1(0) END IF 。 END IF 。 END IF 。 END PROCESS speaker。 lamper:PROCESS(clk) BEGIN IF(rising_edge(clk)THEN IF(count=10)THEN IF
19、(count=00)THEN lamp=001 。- 循环点亮三只灯 ELSIF(count=01)THEN lamp=010 。 ELSIF(count=10)THEN lamp=100 。 END IF 。 count=count+1 。 ELSE count=00 。 END IF 。 END IF 。 END PROCESS lamper 。 END fun 。 Hour 模块 LIBRARY IEEE 。 use IEEE.STD_LOGIC_1164.ALL 。 USE IEEE.STD_LOGIC_UNSIGNED.ALL 。 ENTITY hour IS PORT(clk,re
20、set:IN STD_LOGIC 。 daout:out STD_LOGIC_VECTOR(5 DOWNTO 0) END ENTITY hour 。 ARCHITECTURE fun OF hour IS SIGNAL count:STD_LOGIC_VECTOR(5 DOWNTO 0) BEGIN daout=count 。 PROCESS(clk,reset) BEGIN IF(reset=O)THEN count=000000。-若 reset=O 则异步清零 ELSIF(clkevent and clk=1)THEN - 否则,若 clk 上升沿到 IF(count(3 DOWNTO
21、 0)=1001)THEN - 若个位计时恰好到 1001即 9 IF(count16#23#)THEN -23 进制 count=count+7 。 -若到 23D 则 else ELSIF(clkevent and clk=1)THEN - 否则 , 若 clk 上升沿到 IF(count (3 DOWNTO 0) =1001)THEN- 若个位计时恰好到 1001 即 9 IF(count 16#60#) THEN - 又若 count 小于 16#60#, 即 60 count=000000 END IF。 -复 0 ELSIF (count16#23#)THEN -若未到 23D,则
22、 count 进 1 count=count+1 ELSE -否则清零 count=000000 。 END IF 。 -END IF (count(3 DOWNTO 0 )=1001) END IF 。 -END IF (reset=0) END PROCESS 。 END fun Minute 模块 IF(count=1011001) THEN- 又若已到 59D enhour_1=1。 - 则置进位为 1 count=0000000 。 -count 复 0 ELSE count=count+7。-若 count 未到 59D,则加 7,即作加 6 校正 END IF 。 -使前面地 1
23、6#60#地个位转变为 8421BCD 地容量 ELSE count=0000000 。 -count 复 0(有此句 ,则对无效状态电路可自启动) END IF 。 -END IF ( count16#60#) ELSIF (count 16#60#) THEN count=count+1。-若 count16#60#则 count 加 1 enhour_1=0 after 100 ns。 -没有发生进位 ELSE count=0000000。-否则若 count 不小于 16#60# count 复 0 END IF。 -END IF(count(3 DOWNTO 0 )=1001) EN
24、D IF 。 -END IF ( reset=0) END process 。 END fun 。 Second 模块 LIBRARY IEEE 。 USE IEEE.STD_LOGIC_1164.ALL 。 USE IEEE.STD_LOGIC_UNSIGNED.ALL 。 ENTITY second IS PORT( clk,reset,setmin:STD_LOGIC 。 enmin:OUT STD_LOGIC 。 daout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0) 。 END ENTITY second 。 ARCHITECTURE fun OF second
25、 IS SIGNAL count:STD_LOGIC_VECTOR(6 DOWNTO 0) 。 SIGNAL enmin_1,enmin_2:STD_LOGIC 。 -enmin_1 为 59秒时地进位信号 BEGIN -enmin_2 由 clk 调制后地手动调分脉冲信号串 daout=count。 enmin_2=(setmin and clk) 。 -setmin 为手动调分控制信号 ,高电平有效 enmin=(enmin_1 or enmin_2) 。 -enmin 为向分进位信号 PROCESS(clk,reset,setmin) BEGIN IF(reset=0)THEN coun
26、t=0000000。-若 reset 为 0,则异步清零 ELSIF(clk event and clk=1)then - 否则,若 clk 上升沿到 IF(count(3 downto 0)=1001)then - 若个位计时恰好到 1001即 9 IF(count16#60#)then -又若 count 小于 16#60#,即 60H IF(count=1011001)then - 又若已到 59D enmin_1=1。 count=0000000。-则置进位为 1 及 count 复 0 ELSE -未到 59D count=count+7。-则加 7,而 +7=+1+6,即作加 6
27、校正 END IF。 ELSE -若 count 不小于 16#60# (即 count 等于或大于 16#60#) count=0000000。 -count 复 0 END IF。 -END IF ( count16#60#) ELSIF(count16#60#)then -若个位计数未到1001则转此句再判 count=count+1。 -若 count16#60#则 count 加 I 1 enmin_1=0after 100 ns。-没有发生进位 ELSE -否则,若 count 不小于 16#60# count=0000000。 -则 count 复 0 END IF。 -END
28、IF ( count (3 DOWNTO 0 ) =1001) END IF。 -END IF (reset=0) END PROCESS。 END fun。 版权申明 本文部分内容,包括文字、图片、以及设计等在网上搜集整 理。版权为潘宏亮个人所有 This article includes some parts, including text, pictures, and desig n. Copyright is Pan Hon glia ngs pers onal own ership. 用户可将本文的内容或服务用于个人学习、研究或欣赏,以及 其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关 法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以 外,将本文任何内容或服务用于其他用途时,须征得本人及相关权 利
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 老年精神病的护理
- 家装工程协议模板
- 花店饮品蛋糕创业计划
- 旅行社油漆翻新合同范本
- 绿色DIY蛋糕创业计划书
- 政府采购合同范本指南
- 2024洛阳市第一职业中等专业学校工作人员招聘考试及答案
- 2024甘南县职业教育中心学校工作人员招聘考试及答案
- 2024沧州渤海中等专业学校工作人员招聘考试及答案
- 公园绿化石材供应合同
- 《公共营养师》课件
- 卡乐控制器说明书简易
- 作文讲解细节描写公开课一等奖省优质课大赛获奖课件
- 门诊慢特病病种待遇认定申请表
- 雷锋叔叔你在哪里评课稿
- 中南大学湘雅医院进修汇报演示文稿
- 《艺术学概论考研》课件艺术本体论-模仿论
- 电厂防腐涂装培训ppt课件
- 《汽车座椅制造工艺》PPT课件
- 履带-轮式爬楼梯电动轮椅设计【带图纸】
- 毕业论文小型玉米脱粒机的设计
评论
0/150
提交评论