EDA课程设计报告材料数字电子时钟

上传人:沈*** 文档编号:101198587 上传时间:2022-06-04 格式:DOC 页数:23 大小:326.50KB
收藏 版权申诉 举报 下载
EDA课程设计报告材料数字电子时钟_第1页
第1页 / 共23页
EDA课程设计报告材料数字电子时钟_第2页
第2页 / 共23页
EDA课程设计报告材料数字电子时钟_第3页
第3页 / 共23页
资源描述:

《EDA课程设计报告材料数字电子时钟》由会员分享,可在线阅读,更多相关《EDA课程设计报告材料数字电子时钟(23页珍藏版)》请在装配图网上搜索。

1、wordEDA课程设计报告设计题目:数字时钟的设计 班 级: 电气工程与其自动化 姓 名:学 号:日 期: 2014年6月15日 目录摘要一、课程设计任务与要求34二、整体设计思想4三、详细设计53.1数字时钟的结构:5按键处理模块6定时时钟模块6扫描时钟模块6定时计数模块6显示控制模块7四、主程序.7五、实验步骤14 14完毕语15参考文献16EDA技术实现的数字电子时钟设计 指导教师:摘 要 EDA技术在硬件实现方面融合了大规模集成电路制造技术,IC版图设计技术、ASIC测 试与封装技术、FPGA /CPLD编程下载技术、自动检测技术等;EDA技术为现代电子理论和设计的表达与实现提供了可能

2、性。在现代技术的所有领域中,纵观许多得以飞速开展的科学技术,多为计算机辅助设计,而非自动化设计。显然,最早进入设计自动化的技术领域之一是电子技术,这就是为什么电子技术始终处于所有科学技术开展最前列的原因之一。不难理解,EDA技术已不是某一学科的分支,或某种新的技能技术,应该是一门综合性学科。它融合多学科于一体,打破了软件和硬件间的壁垒,是计算机的软件技术与硬件实现、设计效率和产品性能合二为一,它代表了电子设计技术合应用激活速 的开展方向。电子时钟以成为人们常生活中数字电子钟一般由振荡器,分频器,译码器,显示器等局部组成。电子时钟的应用非常广泛,应用于人家庭或车站、剧场、办公室等公共场所,给人们

3、的生活,学习,工作,娱乐带来极大的便利, 尽管目前市场上以有现成电子时钟集成电路芯片,价格廉价这些都是数字电路中最根本的,应用最广的电路。数字电子钟的根本逻辑功能框图如下:它是一个将“时,“分,“秒显示于人的视觉器官的计时装置。他的计时装置的周期为24小时,显示满刻度为23时 59分59秒,另外应有校时功能。 关键字:EDA;VHDL语言;电子时钟 一、 课程设计任务与要求内容选用适宜的可编程逻辑器件与外围电子元器件。设计一个数字电子钟,利用EDA软件QUARTUS进展编译与仿真,设计输入可采取VHDL硬件描述语言输入法和原理图输入法,并下载到EDA实验开发系统,连接外围电路,完成实际测试。设

4、计要求1用六个数码管显示时、分、秒信息2设置复位功能,可通过复位键将时、分、秒清零3具有时、分预置功能,可分别对时和分做递增设置和递减设置二、整体设计思想 数字钟时常见的一种计数装置,数字钟以1Hz的频率工作。该设计完成数字钟的运行和显示。其主要功能有: 1数字钟以1Hz的频率工作,其输入频率为1MHz。 2数字钟显示时、分、秒信息。这些显示信息在6个7段数码管上完成。 3通过按键设置时、分信息。并且具有对数字钟的复位功能。 复位键将时、分、秒清零,并做好重新计数的准备。按键具有预置时、分的功能。分别对当前的时和分信息做递增设置和递减设置。三、详细设计该数字钟的控制局部由PLD芯片完成。该芯片

5、的输入和输出接口由下面信号组成:输入信号:复位信号reset时钟输入信号clk小时递增信号inc_hour小时递减信号(sub_hour)分钟递增信号inc_min分钟递减信号sub_min输出信号:7段数码管选信号sel7段数码管段选信号(q)该设计分成下面五个模块:定时时钟模块、扫描时钟模块、按键处理模块、定时计数模块和显示控制模块。图11.2给出了这几个模块之间的信号连接关系。 3.2.1、按键处理模块 由于VHDL语言的规如此,将按键的处理和定时模块设计在一起。为了描述清楚,将对按键的处理进展说明。在该设计中,采用异步复位电路方式。当复位信号低有效时,计数器停止计数,时、分、秒清零。对

6、于小时的递增、递减按键操作,通过一个1Hz的计数时钟采样。图11.3给出了递增、递减的操作时序。当1Hz的div_clk信号的上升沿到来时,检测hour_inc和hour_dec按键,图中的虚线表示在时钟的上升沿对按键信号进展采样。当hour_inc或hour_dec按键低有效时,对小时进展递加或递减操作。对于分钟的递加、递减按键操作,也是通过一个1Hz的计数时钟采样。原理同图11.3。 3.2.2、定时时钟模块定时时钟模块其作用就是将外部提供的1MHz的时钟,通过分频器后向模块内的定时计数模块提供1Hz的定时计数时钟。在设计定时时钟模块时,采用同步计数电路。 3.2.3、扫描时钟模块扫描时钟

7、模块的作用就是通过对1MHz的分频处理后,向显示控制模块提供适宜的显示扫描时钟,该时钟必须经过合理的设计,才能保证7段数码显示的稳定。在设计扫描时钟模块时,采用同步计数电路。 3.2.4、定时计数模块 定时计数模块是该设计中最重要的一局部,在设计该模块时,为了便于后续显示控制模块的设计,将时、分、秒进展别离,即小时分成了小时的十位和个位分别处理,分钟分成了分钟的十位和个位分别处理。秒分成了秒的十位和个位分别处理。在该设计中,采用24小时计数模式。 例如:13:28:57。13为小时的表示,1为小时的十位,3为小时的个位;28为分钟的表示,2为分钟的十位,8为分钟的个位;57为秒的表示,5为秒的

8、十位,7为秒的个位。秒的个位计数从0-9,即十进制计数。当秒的个位计数到9后,准备向秒的十位进位。秒的十位计数从0-5,即六进制计数。当秒的十位计数到5后,准备向分的个位进位。分钟的个位计数从0-9,即十进制计数。当分钟的个位计数到9后,准备向分钟的十位进位。分钟的十位计数从0-5,即六进制计数。当分钟的十位计数到5后,准备向小时的个位进位。对于小时的处理比拟复杂,小时的十位和个位之间存在下面的关系:1当小时的十位为0或1时,小时的个位可以计数X围为0-9,即十进制计数;2当小时的十位为2时,小时的各位可以计数的X围为0-3,即四进制计数;3.2.5、显示控制模块显示控制模块主要作用是在7段数

9、码管上正确的显示0-9的数字。sel三位选择线和3-8译码器相连四、主程序library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity clock is port(clk : in std_logic;rst : in std_logic;inc_min : in std_logic;sub_min : in std_logic;inc_hour : in std_logic;sub_hour : in std_logic;sel : ou

10、t std_logic_vector(5 downto 0);q : out std_logic_vector(7 downto 0); end clock;architecture Behavioral of clock is signal sec_counter1:std_logic_vector(3 downto 0); signal sec_counter2:std_logic_vector(3 downto 0); signal min_counter1:std_logic_vector(3 downto 0); signal min_counter2:std_logic_vecto

11、r(3 downto 0); signal hour_counter1:std_logic_vector(3 downto 0); signal hour_counter2:std_logic_vector(3 downto 0); signal divcounter : std_logic_vector(8 downto 0); signal div_clk : std_logic; signal scancounter : std_logic_vector(1 downto 0); signal scan_clk : std_logic; signal scan_out : std_log

12、ic_vector(2 downto 0); signal secseg1,secseg2,minseg1,minseg2,hourseg1,hourseg2:std_logic_vector(7 downto 0); beginprocess(rst,clk) begin if(rst=1)then divcounter=000000000; div_clk=0;elsif(rising_edge(clk)thenif(divcounter=111111111) then divcounter=000000000; div_clk=not div_clk; else divcounter=d

13、ivcounter+1; end if;end if; end process;process(rst,clk) beginif(rst=1)then scancounter=00; scan_clk=0; elsif(rising_edge(clk)then if(scancounter=11) then scancounter=00; scan_clk=not scan_clk; else scancounter=scancounter+1; end if; end if; end process;clock:process(div_clk,rst) begin if(rst=1)then

14、 sec_counter1=X0;sec_counter2=X0;min_counter1=X0;min_counter2=X0;hour_counter1=X0;hour_counter2=X0;elsif(rising_edge(div_clk)then if(inc_min=1) then if(min_counter1=X9) then min_counter1=X5) then min_counter2=X0; else min_counter2=min_counter2+1; end if; else min_counter1=min_counter1+1; end if;elsi

15、f(sub_min=1) then if(min_counter1=X0) then min_counter1=X9; if(min_counter2=X0)then min_counter2=X5; else min_counter2=min_counter2-1; end if; else min_counter1=min_counter1-1;end if;elsif(inc_hour=1) then if(hour_counter2=X2)then if(hour_counter1=X3)then hour_counter1=X0; hour_counter2=X0; else hou

16、r_counter1=hour_counter1+1; end if; else if(hour_counter1=X9) thenhour_counter1=X0;hour_counter2=hour_counter2+1; else hour_counter1=hour_counter1+1; end if; end if;elsif(sub_hour=1) then if(hour_counter1=X0)then if(hour_counter2=X0)then hour_counter1=X3; hour_counter2=X2; else hour_counter2=hour_co

17、unter2-1; hour_counter1=X9; end if; else hour_counter1=X9) then sec_counter1=X5) then sec_counter2=X9) then min_counter1=X5) then min_counter2=X0; if(hour_counter2=X2) then if(hour_counter1=X3) then hour_counter1=X0; hour_counter2=X0; else hour_counter1=hour_counter1+1; end if; else if(hour_counter1

18、=X9) thenhour_counter1=X0;hour_counter2=hour_counter2+1; else hour_counter1=hour_counter1+1; end if; end if; else min_counter2=min_counter2+1; end if;else min_counter1=min_counter1+1; end if; else sec_counter2=sec_counter2+1; end if; else sec_counter1=sec_counter1+1; end if; end if; end if; end proc

19、ess clock;process(rst,scan_clk) begin if (rst=1) then scan_out=000; elsif(rising_edge(scan_clk) then if(scan_out=101)then scan_out=000; else scan_out q=secseg1; sel q=secseg2; sel q=minseg1; sel q=minseg2; sel q=hourseg1; sel q=hourseg2; sel q=11111111;sel secseg1 secseg1 secseg1 secseg1 secseg1 sec

20、seg1 secseg1 secseg1 secseg1 secseg1 secseg1 secseg2 secseg2 secseg2 secseg2 secseg2 secseg2 secseg2 minseg1 minseg1 minseg1 minseg1 minseg1 minseg1 minseg1 minseg1 minseg1 minseg1 minseg1 minseg2 minseg2 minseg2 minseg2 minseg2 minseg2 minseg2 hourseg1 hourseg1 hourseg1 hourseg1 hourseg1 hourseg1 h

21、ourseg1 hourseg1 hourseg1 hourseg1 hourseg1 hourseg2 hourseg2 hourseg2 hourseg2,所有输入/输出都被拷贝到右边的一侧,这些正是我们希望的各个引脚,也可以只选其中的的一局部,根据实际情况决定。然后单击屏幕右上脚的 “OK。在出现的小屏幕上单击“OK。 设定仿真时间宽度。选择 Edit End time选项,在End time选择窗中选择适当的仿真时间域,以便有足够长的观察时间。波形文件存盘。选择FileSave as 选项,直接存盘即可。运行仿真器。在菜单中选择项,直到出现,仿真完毕。将设计编程下载进选定的目标器件中操

22、作如下:1选择 Assignments Assignments Editor ,即进入 Assignments Editor编辑器。在Category 栏选择 Pin,或直接单击右上侧的 Pin 按钮。2双击 TO 栏的new,在出现的的下拉栏中选择对应的端口信号名(如 D0);然后双击对应的栏的new,在出现的下拉栏中选择对应的端口信号名的期间引脚号。3最后存储这些引脚锁定信息后,必须再编译启动 一次,才能将引脚锁定信息编译进编程下载文件中。此后就可以准备将编译好的 SOF 文件下载到试验系统的FPGA中去了。1.首先将下载线把计算机的打印机口与目标板如开发板或实验板连接好,打开电源,选择模

23、式3。2.打开编辑窗和配置文件。选择,弹出一个编辑窗。在Mode栏中选择JTAG,并在选项下的小方框打勾。注意核对下载文件路径与文件名。如果文件没有出现或者出错,单击左Add file侧按钮,手动选择配置文件 clocksof。 3.最后单击下载标符Start,即进入对目标器件 FPGA 的配置下载操作。当 Progress 显示100%,以与在底部的处理栏中出现 Configuration Succeeded 时,表示编程成功,如下列图。注意,如果必要时,可再次单击 Start ,直至编程成功。4下载完成后,通过硬件测试进一步确定设计是否达到所有的技术指标,如未达到,可逐步检查,哪局部出现问

24、题。如果是代码出现问题,须修改代码;假如是时序波形图有问题,须重新设置。实验箱使用模式3,键8为复位按键,键8为0时正常工作。键3、4设置小时,键1、2设置分钟。下载成功后,按下键8,与使六个LED复位清零,松开键8,显示数秒的自动计时,可以通过3、4键设置小时数,1、2键设置分钟数。当秒数满60如此进一位,分钟数满60进一位,当显示为23:59:59时,秒数在加一如此显示00:00:00,之后从新计时。完毕语随着电子设计自动化技术的普与,利用EDA技术进展数字电路课程设计,不仅可以很好地锻炼学生的综合设计开发能力和动手能力,从而激发学生的学习兴趣,还可以大大节约数字电路课程设计实验的本钱,提

25、高设计效率。因此,将EDA技术应用于数字电路课程设计必将成为今后数字电路实验课程改革的新动向。EDA软件,可方便地在计算机上进展电路设计、仿真,其电路结构与设计观念可以很容易地被修正;也可方便地更换所需要的元件。通过模拟可快速地反映出所设计电路的性能。假如能利用计算机辅助设计进展电路模拟与分析,如此可有效地节约资源、缩短产品研发的本钱与时间。在本次课程设计中,曾遇到过不少问题,如果单靠我个人的努力,很难按时完成的,在此,我衷心感谢我的指导教师,我学到了很多东西。知道教师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我获益非浅。教师无论在理论上还是在实践中,都给予我无私帮助和悉心的教诲,使我的课程得以顺利地按时完成。参考文献1 曾繁泰 李冰 李晓林.EDA工程概论M. 清华大学, 2002年. 2 胡立涛.EWB电子仿真实验指导书M. 南海出版公司, 2006年.3 朱运利.EDA技术应用M. 电子工业, 2004年.4 郭勇.EDA技术M. 高等教育, 2004年.5 钟文耀 段玉生 何丽静.EWB电路设计入门与应用M.清华大学, 2000年.6 X建明.电子电工EDA仿真技术M. 高等教育, 2004年.7 周功明 周陈深.基于Electronics Workbench 6.0 的数字电子钟设计与仿真精彩文档

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!