wuhong,EDA数字时钟

合集下载

eda数字时钟课程设计论文

eda数字时钟课程设计论文

eda数字时钟课程设计论文一、课程目标知识目标:1. 理解数字时钟的基本原理,掌握EDA工具的使用方法。

2. 学习数字时钟设计的基本流程,包括时钟信号生成、分频、计数等模块的设计与实现。

3. 了解数字时钟的显示原理,掌握七段显示译码器的应用。

技能目标:1. 培养学生运用所学知识进行数字电路设计的能力。

2. 培养学生运用EDA工具进行电路仿真、调试的能力。

3. 培养学生团队协作、沟通表达的能力。

情感态度价值观目标:1. 激发学生对电子设计的兴趣,培养创新意识和动手能力。

2. 培养学生严谨的科学态度,注重实验数据的真实性。

3. 增强学生的自信心,勇于面对和解决问题。

本课程针对高年级学生,结合学科特点和教学要求,将目标分解为具体的学习成果。

课程性质为实践性较强的设计课,注重培养学生的实际操作能力和团队合作精神。

通过本课程的学习,学生能够掌握数字时钟设计的基本方法,提高电子设计能力,培养良好的情感态度价值观。

二、教学内容本课程教学内容主要包括以下三个方面:1. 数字时钟原理及设计流程- 了解数字时钟的基本原理,包括时钟信号、分频器、计数器等组成部分。

- 学习数字时钟设计的基本流程,结合教材相关章节,进行实例分析。

2. EDA工具的使用- 介绍EDA工具的基本功能,如原理图绘制、仿真、PCB设计等。

- 结合教材,学习使用EDA工具进行数字时钟电路的设计与仿真。

3. 数字时钟电路设计与实现- 分析并设计数字时钟的各个功能模块,如时钟信号生成、分频、计数、显示等。

- 结合教材章节,进行具体电路设计,列举所需元器件及参数。

教学进度安排如下:1. 第一周:数字时钟原理及设计流程学习。

2. 第二周:EDA工具的使用方法及操作练习。

3. 第三周:数字时钟电路设计与实现,包括各功能模块设计和整体调试。

教学内容注重科学性和系统性,结合教材章节,使学生能够循序渐进地掌握数字时钟的设计方法。

同时,通过实践操作,提高学生的动手能力和实际应用能力。

(2023)EDA课程数字钟设计报告(一)

(2023)EDA课程数字钟设计报告(一)

(2023)EDA课程数字钟设计报告(一)EDA课程数字钟设计报告设计目的本次设计的目的是通过使用EDA software,设计一个能够正常运行的数字钟,使其能够满足一定的时间显示功能。

设计思路本设计主要使用Verilog HDL编程语言,利用EDA software提供的仿真功能,模拟数字钟的运行过程。

具体实现过程如下:1.首先,设置时钟频率,并利用counter计数器进行计数,产生时间基准信号。

2.利用BCD编码对时间进行编码,分别将时、分、秒的数据传至显示器。

3.设计逻辑电路计算秒钟、分针、时钟转动角度。

4.在EDA software上进行仿真,观察数字钟是否正常工作。

设计图样以下为数字钟方案的部分设计图样。

image textimage text实现结果通过复杂的编程训练和模拟,数字钟设计的功能已经被确认。

数字钟电路能够准确地显示当前时间。

同时,数字钟的设计也具有较高的可靠性、稳定性和精度。

并且,数字钟的主板设计紧凑、易于集成。

这些优点使得本次设计非常适合应用于智能仪器、家庭用品和其他数字显示电子设备中。

总结数字钟设计是一项有挑战性的工程,需要设计人员具有充分的编程功底和深入的EDA工具熟练度。

本设计的成功,体现了设计团队的技术实力和团队协作能力,为未来的科技产品发展提供了有力的技术支撑。

改进方案虽然本设计实现了数字钟正常工作的功能,但是我们仍然可以从以下几个方面进行改进:1.在原有电路基础上增加闹钟功能,方便用户定时提醒。

2.增加显示背光,使数字钟更方便在夜间环境下使用。

3.将数字钟设计进行微小的改动使其更小巧便携,方便携带和使用。

参考文献1.微机原理与接口技术(第四版) 教材2.EDA Software (Xilinx ISE) 许可证书致谢在本次数字钟的设计过程中,我们向来自各地的优秀工程师团队表示感谢,感谢他们在繁忙的工作中,准确地指导我们的设计工作。

同时也感谢电子设计自动化(EDA) company提供的软件支持,使得我们能够顺利完成该设计。

eda多功能数字钟实验报告

eda多功能数字钟实验报告

eda多功能数字钟实验报告
《EDA多功能数字钟实验报告》
摘要:
本实验通过对EDA多功能数字钟的组装和测试,探索了数字钟的功能和性能。

实验结果表明,EDA多功能数字钟具有精准的时间显示、多种闹铃设置、温度
和湿度监测等功能,是一款实用且性能稳定的数字钟产品。

引言:
数字钟作为现代生活中不可或缺的家居用品,其功能和性能一直备受关注。


次实验选择了EDA多功能数字钟作为研究对象,旨在通过对其组装和测试,深
入了解数字钟的各项功能和性能指标。

实验方法:
1. 组装数字钟:按照产品说明书,将数字钟的各个部件进行组装,并确保连接
牢固。

2. 功能测试:测试数字钟的时间显示、闹铃设置、温度和湿度监测等功能。

3. 性能测试:对数字钟的时间精准度、闹铃响铃声音、温度和湿度监测准确度
等进行测试。

实验结果:
1. 时间显示:数字钟的时间显示精准,误差在1秒以内。

2. 闹铃设置:数字钟支持多组闹铃设置,响铃声音清晰、音量适中。

3. 温度和湿度监测:数字钟的温湿度监测准确度高,与实际环境温湿度相符合。

讨论:
通过本次实验,我们发现EDA多功能数字钟具有精准的时间显示、多种闹铃设
置、温度和湿度监测等功能,性能稳定,符合用户对数字钟的基本需求。

同时,数字钟的组装和操作也相对简单,适合家庭使用。

结论:
EDA多功能数字钟是一款实用且性能稳定的数字钟产品,能够满足用户对数字
钟的基本需求。

在未来的生活中,数字钟将继续扮演重要的角色,为人们的生
活提供便利。

致谢:
感谢实验中提供支持和帮助的老师和同学们。

EDA课程设计数字闹钟

EDA课程设计数字闹钟

EDA课程设计数字闹钟一、教学目标本课程旨在通过数字闹钟的设计与实现,让学生掌握EDA(电子设计自动化)的基本原理和方法,培养学生的实践能力和创新精神。

具体目标如下:知识目标:使学生了解数字闹钟的原理和结构,理解时钟芯片的工作原理,掌握EDA工具的使用方法。

技能目标:培养学生使用EDA工具进行数字电路设计的能力,提升学生的编程和调试技能,训练学生的团队协作和沟通能力。

情感态度价值观目标:培养学生对电子科技的兴趣和热情,增强学生解决实际问题的信心和勇气,培养学生负责任的工作态度和良好的团队合作精神。

二、教学内容本课程的教学内容主要包括数字闹钟的原理与设计、时钟芯片的工作原理、EDA工具的使用等。

1.数字闹钟的原理与设计:介绍数字闹钟的工作原理,包括时钟发生器、分频器、计数器等基本组成部分,以及如何实现闹钟功能。

2.时钟芯片的工作原理:讲解时钟芯片的内部结构和工作原理,使学生了解时钟芯片在数字电路中的应用。

3.EDA工具的使用:介绍常用的EDA工具,如Cadence、Altera等,讲解如何使用这些工具进行数字电路设计。

三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括讲授法、案例分析法、实验法等。

1.讲授法:通过讲解数字闹钟的原理、时钟芯片的工作原理以及EDA工具的使用方法,使学生掌握相关知识。

2.案例分析法:分析实际案例,让学生了解数字闹钟设计的过程和注意事项。

3.实验法:让学生动手实践,使用EDA工具设计数字闹钟,提高学生的实践能力。

四、教学资源为了支持教学内容的实施,我们将准备以下教学资源:1.教材:选择合适的教材,如《数字电路与EDA技术》等,为学生提供理论支持。

2.多媒体资料:制作课件、视频等多媒体资料,丰富教学手段,提高学生的学习兴趣。

3.实验设备:准备实验设备,如计算机、EDA工具软件、开发板等,为学生提供实践平台。

4.网络资源:利用网络资源,为学生提供更多的学习资料和实践案例,拓宽学生的视野。

EDA课程数字钟设计报告-V1

EDA课程数字钟设计报告-V1

EDA课程数字钟设计报告-V1数字钟设计报告数字钟设计是EDA(Electronic Design Automation)课程的一项实验任务。

在本次实验中,我们学习了数字电路设计的基本原理和EDA工具的使用方法,并通过数字钟的设计和实现,进一步加深了对数字电路运作的理解和应用能力。

设计原理在数字钟的设计中,我们需要考虑以下几个方面的原理:1.时钟信号发生器时钟信号发生器是数字钟的核心部件,它需要产生一种能够精确计时的信号,来控制其他部件的运作。

我们使用的时钟信号发生器是基于分频电路的原理,通过将高频信号逐步分频,最终得到1Hz的低频信号作为时钟信号。

2.计数器计数器是用于记录时间的关键部件,它需要能够根据时钟信号的变化而自动计数。

我们使用的计数器是基于JK触发器的原理,通过配置不同的触发器状态和逻辑门电路,实现对秒、分、时位数的分别计数。

3.显示器显示器是将计数器的结果通过人们能够理解的形式进行输出的部件,它需要能够清晰、准确地显示时间信息。

我们使用的显示器是基于七段数码管的原理,通过将计数器的结果转换为七段数码管的相应显示状态,实现对时间的显示。

技术实现在技术实现方面,我们使用了EDA工具Xilinx ISE Design Suite来完成数字钟的设计和编程。

通过该工具,我们可以方便地进行原理图绘制、模拟仿真、逻辑设计和HDL编程等过程,最终得到可供FPGA实现的数字钟设计。

具体实现过程如下:1. 通过原理图绘制工具,建立时钟信号发生器、计数器和显示器等部件的原理图,并进行逻辑连接;2. 在模拟仿真工具中,针对不同的输入信号进行仿真测试,检查各个部件的正常运行情况;3. 在HDL编程工具中,编写相应的代码实现数字钟的各项功能,并进行综合和优化;4. 在下载工具中,将编译后的数字钟设计文件下载到FPGA芯片中,完成数字钟的实际实现。

实验结果经过以上的设计和实现,我们最终完成了一款具有完整计数与显示功能的数字钟,能够自动计时、定时报时、清零等各项操作。

eda数字电子钟课程设计

eda数字电子钟课程设计

eda数字电子钟课程设计一、课程目标知识目标:1. 让学生理解数字电子时钟的基本原理,掌握EDA技术及其在数字电子时钟中的应用。

2. 使学生掌握数字电子时钟的设计流程,包括硬件设计、软件编程及系统调试。

3. 让学生掌握时钟信号的产生、计数、显示等模块的工作原理和电路设计。

技能目标:1. 培养学生运用EDA工具(如Protel、Multisim等)进行电路设计与仿真测试的能力。

2. 培养学生具备编程和调试数字电子时钟程序的基本技能,提高实际动手操作能力。

3. 培养学生团队协作、沟通表达、问题分析和解决的能力。

情感态度价值观目标:1. 培养学生对电子工程学科的兴趣,激发学生学习热情,形成积极的学习态度。

2. 培养学生具有创新意识和实践精神,鼓励学生勇于尝试,不断优化设计方案。

3. 培养学生关注社会发展,了解电子产品在生活中的应用,提高社会责任感和使命感。

分析课程性质、学生特点和教学要求,本课程目标将分解为以下具体学习成果:1. 学生能够独立完成数字电子时钟的电路设计和程序编写。

2. 学生能够运用EDA工具进行电路仿真测试,分析并解决设计中出现的问题。

3. 学生能够以团队形式进行项目汇报,展示设计成果,接受提问并给予解答。

4. 学生通过课程学习,提升对电子工程的兴趣,树立正确的价值观和人生观。

二、教学内容根据课程目标,本章节教学内容主要包括以下三个方面:1. 数字电子时钟原理及EDA技术概述- 时钟信号的产生与计数原理- 数字电子时钟的组成与工作原理- EDA技术简介及其在数字电子时钟设计中的应用2. 数字电子时钟设计与实现- 硬件设计:时钟信号电路、计数器电路、显示电路等- 软件编程:基于单片机的程序编写,实现时钟功能- 系统调试:电路测试、程序调试及优化3. 教学实践与项目汇报- 实践操作:运用EDA工具进行电路设计与仿真测试- 项目实施:分组进行数字电子时钟设计,培养学生的团队协作能力- 项目汇报:展示设计成果,锻炼学生的沟通表达和问题分析解决能力教学内容安排和进度如下:1. 第一周:数字电子时钟原理及EDA技术概述2. 第二周:硬件设计与软件编程基础3. 第三周:系统调试与优化4. 第四周:实践操作与项目实施5. 第五周:项目汇报与评价教学内容与教材章节关联如下:1. 《电子技术基础》第三章:数字电路基础2. 《单片机原理与应用》第四章:单片机程序设计3. 《EDA技术及应用》第二章:EDA工具使用与电路设计实例三、教学方法针对本章节内容,采用以下多样化的教学方法,以激发学生的学习兴趣和主动性:1. 讲授法:用于对基本原理和概念进行系统讲解,如数字电子时钟的工作原理、EDA技术概述等。

电子设计自动化(EDA)_数字时钟程序模块(LED数码管显示)_实验报告

电子设计自动化(EDA)_数字时钟程序模块(LED数码管显示)_实验报告

电子设计自动化(EDA)—数字时钟LED数码管显示二、实验内容和实验目的1. 6个数码管动态扫描显示驱动2. 按键模式选择(时\分\秒)与闹钟(时\分)调整控制,3. 用硬件描述语言(或混合原理图)设计时、分、秒计数器模块、闹钟模块、按键控制状态机模块、动态扫描显示驱动模块、顶层模块。

要求使用实验箱左下角的6个动态数码管(DS6 A~DS1A)显示时、分、秒;要求模式按键和调整按键信号都取自经过防抖处理后的按键跳线插孔。

实验目的: 1)学会看硬件原理图, 2)掌握FPGA硬件开发的基本技能3)培养EDA综合分析、综合设计的能力三、实验步骤、实现方法(或设计思想)及实验结果主要设备: 1)PC机, 2)硬件实验箱, 3)Quartus II软件开发平台。

1.打开Quartus II , 连接实验箱上的相关硬件资源, 如下图1所示。

2.建立新文件, 选择文本类型或原理图类型。

3. 编写程序。

4.编译5. 仿真, 加载程序到芯片, 观察硬件输出结果(数码管显示)6.结果正确则完成。

若结果不正确, 则修改程序, 再编译, 直到正确。

模24计数器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY count24 ISPORT(clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END count24;ARCHITECTURE arc OF count24 ISSIGNAL a,b:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(clk,en)BEGINhh<=a;hl<=b;IF(clk'EVENT AND clk='1') THENIF(en='1') THENIF(a="0010" AND b="0011") THENa<="0000";b<="0000";ELSE IF(b="1001") THENa<=a+'1';b<="0000";ELSE b<=b+'1';END IF;END IF;IF(a="0010" AND b="0010") THENcout<='1';ELSE cout<='0';END IF;END IF;END IF;END PROCESS;END arc;模60计数器模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY count60 ISPORT(clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END count60;ARCHITECTURE arc OF count60 ISSIGNAL a,b:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL sout:STD_LOGIC;BEGINPROCESS(clk)BEGINhh<=a; hl<=b;IF(clk'EVENT AND clk='1') THENIF(en='1') THENIF(a="0101" AND b="1001") THENa<="0000";b<="0000";ELSE IF(b="1001") THENa<=a+'1';b<="0000";ELSE b<=b+'1';END IF;END IF;END IF;END IF;END PROCESS;sout<='1' WHEN a="0101" AND b="1001" ELSE '0';cout<=sout AND en;END arc;4-7显示译码模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY segment4to7 ISPORT(s:IN STD_LOGIC_VECTOR(3 DOWNTO 0);a,b,c,d,e,f,g:OUT STD_LOGIC);END segment4to7;ARCHITECTURE arc OF segment4to7 IS SIGNAL y:STD_LOGIC_VECTOR(6 DOWNTO 0); BEGINa<= y(6);b<= y(5);c<= y(4);d<= y(3);e<= y(2); f<= y(1);g<= y(0);PROCESS(s)BEGINCASE s ISWHEN "0000"=>y<="1111110"; WHEN "0001"=>y<="0110000"; WHEN "0010"=>y<="1101101"; WHEN "0011"=>y<="1111001"; WHEN "0100"=>y<="0110011"; WHEN "0101"=>y<="1011011"; WHEN "0110"=>y<="1011111"; WHEN "0111"=>y<="1110000"; WHEN "1000"=>y<="1111111"; WHEN "1001"=>y<="1111011"; WHEN OTHERS=>y<="0000000"; END CASE;END PROCESS;END arc;带闹钟控制模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mode_adjust_with_alarm ISPORT (adjust,mode,clk1hz: IN STD_LOGIC;clkh,enh,clkm,enm,clks,enha: OUT STD_LOGIC;clkh_a,clkm_a:OUT STD_LOGIC;mode_ss: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END mode_adjust_with_alarm;ARCHITECTURE arc OF mode_adjust_with_alarm ISTYPE mystate IS (s0,s1,s2,s3,s4,s5);SIGNAL c_state,next_state: mystate;BEGINPROCESS (c_state)BEGINCASE c_state ISWHEN s0=> next_state <= s1; clkh<=clk1hz; clkm<=clk1hz; clks<=clk1hz;enh<='0'; enm<='0'; enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="000";WHEN s1=> next_state <= s2; clkh<=adjust; clkm<= '0'; clks<='0';enh<='1'; enm<='0';enha<='0'; clkh_a<= '0';clkm_a<= '0'; mode_ss <="001";WHEN s2=> next_state <= s3; clkh<= '0'; clkm<=adjust; clks <= '0';enh<='0';enm<='1';enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="010";WHEN s3=> next_state <= s4; clkh<= '0'; clkm<= '0'; clks<=adjust;enh<='0'; enm<='0';enha<='0'; clkh_a<= '0'; clkm_a<= '0'; mode_ss <="011";WHEN s4=> next_state <= s5; clkh<= clk1hz; clkm<= clk1hz; clks<=clk1hz;enh<='0';enm<='0';enha<='1'; clkh_a<=adjust; clkm_a<= '0'; mode_ss <="100";WHEN s5=> next_state <= s0; clkh<= clk1hz; clkm<= clk1hz; clks<=clk1hz;enh<='0'; enm<='0'; enha<='0'; clkh_a<= '0'; clkm_a<=adjust; mode_ss <="101";END CASE;END PROCESS;PROCESS (mode)BEGINIF (mode'EVENT AND mode='1') THENc_state<=next_state ;END IF;END PROCESS;END arc;扫描模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY scan ISPORT(clk256hz:IN STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END scan;ARCHITECTURE arc OF scan ISTYPE mystate IS (s0, s1,s2,s3,s4,s5);SIGNAL c_state,next_state: mystate;BEGINPROCESS ( c_state )BEGINCASE c_state ISWHEN s0=> next_state <=s1; ss<="010";WHEN s1=> next_state <=s2; ss<="011";WHEN s2=> next_state <=s3; ss<="100";WHEN s3=> next_state <=s4; ss<="101";WHEN s4=> next_state <=s5; ss<="110";WHEN s5=> next_state <=s0; ss<="111";END CASE;END PROCESS;PROCESS (clk256hz)BEGINIF (clk256hz'EVENT AND clk256hz='1') THENc_state<=next_state ;END IF;END PROCESS;END arc;复用模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux ISPORT(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla:IN STD_LOGIC_VECTOR(3 DOWNTO 0);ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);alarm:OUT STD_LOGIC);END mux;ARCHITECTURE arc OF mux ISSIGNAL a,hhtmp,hltmp,mhtmp,mltmp,shtmp,sltmp:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(mode_ss)BEGINCASE mode_ss ISWHEN "000"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "001"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "010"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "011"=>hhtmp<=hh; hltmp<=hl; mhtmp<=mh; mltmp<=ml; shtmp<=sh; sltmp<=sl;WHEN "100"=> hhtmp<=hha; hltmp<=hla; mhtmp<=mha; mltmp<=mla; shtmp<=sh; sltmp<=sl;WHEN "101"=> hhtmp<=hha; hltmp<=hla; mhtmp<=mha; mltmp<=mla; shtmp<=sh; sltmp<=sl;WHEN OTHERS=>hhtmp<="0000";hltmp<="0000";mhtmp<="0000";mltmp<="0000";shtmp<="0000";sltmp<="0000"; END CASE;END PROCESS;PROCESS(ss)BEGINCASE ss ISWHEN "010"=> a <=hhtmp;WHEN "011"=> a <=hltmp;WHEN "100"=> a <=mhtmp;WHEN "101"=> a <=mltmp;WHEN "110"=> a <=shtmp;WHEN "111"=> a <=sltmp;WHEN OTHERS => a <="0000";END CASE;y<=a;END PROCESS;alarm<='1' WHEN ((hh=hha)AND(hl=hla)AND(mh=mha)AND(ml=mla)) ELSE '0';END arc;闪烁模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY blink_control ISPORT(ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);blink_en:OUT STD_LOGIC);END blink_control;ARCHITECTURE arc OF blink_control ISBEGINPROCESS (ss,mode_ss)BEGINIF(ss="010" AND mode_ss="001") THEN blink_en<='1';ELSIF(ss="011" AND mode_ss="001") THEN blink_en<='1';ELSIF(ss="100" AND mode_ss="010") THEN blink_en<='1';ELSIF(ss="101" AND mode_ss="010") THEN blink_en<='1';ELSIF(ss="110" AND mode_ss="011") THEN blink_en<='1';ELSIF(ss="111" AND mode_ss="011") THEN blink_en<='1';ELSIF(ss="010" AND mode_ss="100") THEN blink_en<='1';ELSIF(ss="011" AND mode_ss="100") THEN blink_en<='1';ELSIF(ss="100" AND mode_ss="101") THEN blink_en<='1';ELSIF(ss="101" AND mode_ss="101") THEN blink_en<='1';ELSE blink_en<='0';END IF;END PROCESS;END arc;Top文件LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY design3 ISPORT (mode,adjust,clk1hz,clk2hz,clk256hz,clk1khz:IN STD_LOGIC;alarm,a,b,c,d,e,f,g:OUT STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END design3;ARCHITECTURE arc OF design3 ISCOMPONENT mode_adjust_with_alarm PORT (adjust,mode,clk1hz: IN STD_LOGIC;clkh,enh,clkm,enm,clks,enha: OUT STD_LOGIC;clkh_a,clkm_a:OUT STD_LOGIC;mode_ss: OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT;COMPONENT scan PORT (clk256hz:IN STD_LOGIC;ss:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));END COMPONENT;COMPONENT segment4to7 PORT (s: IN STD_LOGIC_VECTOR(3 DOWNTO 0);a,b,c,d,e,f,g: OUT STD_LOGIC);END COMPONENT;COMPONENT mux PORT(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla:IN STD_LOGIC_VECTOR(3 DOWNTO 0);ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);alarm:OUT STD_LOGIC);END COMPONENT;COMPONENT blink_control PORT(ss,mode_ss:IN STD_LOGIC_VECTOR(2 DOWNTO 0);blink_en:OUT STD_LOGIC);END COMPONENT;COMPONENT count24 PORT (clk,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;COMPONENT count60 PORT (clk ,en:IN STD_LOGIC;cout:OUT STD_LOGIC;hh,hl:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;SIGNALclkh,enh,clkm,enm,clks,clkh_a,clkm_a,coutm,couts,coutm_en,couts_en,cout,vcc,coutma_en,coutma,alarm1,bli nk_en,blink_tmp,enha: STD_LOGIC;SIGNAL mode_ss,ss1:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL hh,hl,mh,ml,sh,sl,hha,hla,mha,mla,y,i:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINvcc<='1';coutm_en <= enh OR coutm;couts_en <= enm OR couts;coutma_en<= enha OR coutma;blink_tmp<=blink_en and clk2hz;i(3)<=y(3) OR blink_tmp;i(2)<=y(2) OR blink_tmp;i(1)<=y(1) OR blink_tmp;i(0)<=y(0) OR blink_tmp;ss<=ss1;alarm<=alarm1 AND clk1khz;u1:mode_adjust_with_alarmPORT MAP( adjust,mode,clk1hz,clkh,enh,clkm,enm,clks,enha,clkh_a,clkm_a,mode_ss);u2:count24 PORT MAP(clkh,coutm_en,cout,hh,hl);u3:count60 PORT MAP(clkm,couts_en,coutm,mh,ml);u4:count60 PORT MAP(clks,vcc,couts,sh,sl);u5:count24 PORT MAP(clkh_a,coutma_en,cout,hha,hla);u6:count60 PORT MAP(clkm_a,vcc,coutma,mha,mla);u7:mux PORT MAP(hh,hl,mh,ml,sh,sl,hha,hla,mha,mla,ss1,mode_ss,y,alarm1);u8:scan PORT MAP(clk256hz,ss1);u9:blink_control PORT MAP(ss1,mode_ss,blink_en);u10:segment4to7 PORT MAP(i,a,b,c,d,e,f,g);END arc;实验结果:数字钟包括正常的时分秒计时, 实验箱左下角的6个动态数码管(DS6 A~DS1A)显示时、分、秒。

EDA技术基础课程设计--数字闹钟

EDA技术基础课程设计--数字闹钟

《EDA技术基础》期末课程设计报告题目数字闹钟专业电子信息工程班级学生目录1数字闹钟设计要求 (3)2数字闹钟总体框图 (3)3数字闹钟局部框图 (3)4数字闹钟功能描述 (4)5程序设计 (5)5.1最顶层文件TOP: (5)5.2调用元件second0: (10)5.3调用元件minute0: (11)5.4调用元件hour0: (14)5.5调用元件r_minute0: (17)5.6调用元件r_hour0: (20)5.7底层元件r_hour0_0:………………………………………………………245.8调用元件DECL7S: (25)6波形仿真 (26)7总结体会 (28)1. 数字闹钟设计要求(见上方)1.1. 时钟信号周期为1s ;1.2. 能够设置时钟时间,时钟时间可以是24小时制或者12小时(若设计为12小时制,要求指示出am/pm);1.3. 能设置闹钟时间,达到设置时间时,闹铃响一分钟结束; 1.4. 掉电或上电时,时钟显示为00:00,要求设置时间。

2. 数字闹钟总体框图(见上方)clkclk1 reset (共4个数码管,用于显 示时间) (共4个数码管,用于 显示设置的闹铃时刻)3. 数字闹钟局部框图(见上方)num4.数字闹钟功能描述(见上方)4.1.由该数字闹钟的顶层文件及框图可见,输入端口有clk(秒脉冲),clk1(较高频率脉冲2Hz),reset(清零,电源),setmin_t(调试时间分钟),sethour_t (调试时间小时),setmin_r(设置闹铃分钟),sethour_r(设置闹铃小时)及输出端口led_h_H4(波形显示小时的高位),led_h_L4(波形显示小时的低位),led_m_H4(波形显示分钟的高位),led_m_L4(波形显示分钟的低位),rled_h_H4(波形显示闹铃小时的高位),rled_h_L4(波形显示闹铃小时的低位),rled_m_H4(波形显示闹铃分钟的高位),rled_m_L4(波形显示闹铃分钟的低位)和相应的实际上电送入数码管的段选信号。

eda数字钟实验报告

eda数字钟实验报告

eda数字钟实验报告EDA数字钟实验报告本次实验旨在设计并实现一个EDA数字钟。

通过这个实验,我们将学习如何使用EDA工具来设计数字电路,并通过实际的电路实现来验证我们的设计。

1. 实验背景数字钟是我们日常生活中常见的设备之一。

它不仅可以显示时间,还具有闹钟等功能。

在这个实验中,我们将使用EDA工具来设计一个数字钟电路,并通过FPGA实现这个电路。

2. 实验目标本次实验的目标是设计一个能够显示小时、分钟和秒的数字钟电路。

我们将使用七段数码管来显示这些信息,并通过按键来设置时间和闹钟。

3. 设计思路我们的设计思路如下:3.1 时钟模块我们首先需要设计一个时钟模块,用来产生一个固定的时钟信号。

我们可以使用FPGA的时钟模块来实现这个功能,或者使用外部的晶振电路。

3.2 数码管驱动模块接下来,我们需要设计一个数码管驱动模块,用来将数字转换为七段数码管的显示信号。

我们可以使用查找表或者逻辑门电路来实现这个功能。

3.3 时间设置模块为了能够设置时间,我们需要设计一个时间设置模块。

这个模块可以通过按键来设置小时、分钟和秒。

3.4 闹钟设置模块类似于时间设置模块,我们还需要设计一个闹钟设置模块。

这个模块可以通过按键来设置闹钟的小时和分钟。

3.5 主控制模块最后,我们需要设计一个主控制模块,用来控制时钟、数码管驱动、时间设置和闹钟设置模块之间的交互。

这个模块可以根据设置的时间和闹钟来控制数码管的显示。

4. 电路实现根据我们的设计思路,我们使用EDA工具来实现我们的数字钟电路。

我们使用VHDL语言来描述电路,并使用模块化的方式来组织我们的代码。

5. 实验结果经过实际的电路实现和测试,我们成功地实现了数字钟电路。

我们可以通过按键来设置时间和闹钟,并通过七段数码管来显示时间和闹钟。

6. 实验总结通过这个实验,我们学习了如何使用EDA工具来设计数字电路,并通过实际的电路实现来验证我们的设计。

我们深入了解了数字钟的工作原理,并学会了如何使用VHDL语言来描述电路。

EDA设计(II)实验报告数字电子钟

EDA设计(II)实验报告数字电子钟

EDA设计(II)实验报告-数字电子钟实验报告:数字电子钟一、实验目的本实验旨在通过使用EDA设计软件,设计并实现一个具有时、分、秒功能的数字电子钟。

通过学习使用EDA工具,掌握数字电路设计的基本步骤和技巧,培养实践能力和创新思维。

二、实验原理数字电子钟是一种以数字形式显示时间的装置,它利用了时、分、秒的计时原理。

核心部分包括一个时钟发生器,用于产生标准时间信号,以及一个计数器,用于对时间进行计数并显示。

此外,还需要一些控制逻辑来控制时、分、秒的进位和显示。

三、实验步骤1.设计准备:在开始设计之前,首先明确设计要求和功能。

考虑到实验的复杂性和可实现性,我们采用最简单的电路结构,即基于计数器和译码器的数字电子钟。

2.绘制电路图:使用EDA设计软件(如Quartus II)绘制电路图。

首先创建新项目,然后添加必要的元件(如74LS192计数器、74LS248译码器等),并根据设计要求连接元件。

3.编写程序:使用硬件描述语言(如VHDL或Verilog)编写计数器和译码器的程序。

确保程序能够实现所需的功能,并进行仿真测试。

4.编译和下载:将程序编译成可下载的配置文件,然后下载到FPGA开发板上。

5.硬件测试:连接开发板到PC,启动程序,观察数字电子钟的显示情况。

检查时间是否准确,各部分功能是否正常。

6.性能评估:对数字电子钟的性能进行评估,包括计时精度、稳定性等指标。

根据评估结果对设计进行优化。

四、实验结果与分析1.设计结果:经过上述步骤,我们成功地设计并实现了一个基于FPGA的数字电子钟。

通过EDA软件和硬件描述语言,我们实现了计数器和译码器的功能,并完成了程序的编写和下载。

2.性能分析:经过测试,我们的数字电子钟具有较高的计时精度和稳定性。

时间显示准确,各部分功能正常。

这表明我们的设计是成功的。

3.优化方向:虽然我们的数字电子钟已经具有较好的性能,但仍有一些方面可以优化。

例如,可以考虑添加更多的功能,如闹钟、温度显示等;也可以进一步优化电路结构,降低成本和提高性能。

eda多功能数字钟实验报告

eda多功能数字钟实验报告

eda多功能数字钟实验报告EDA多功能数字钟实验报告一、引言数字钟是现代生活中常见的一种时间显示工具,其准确性和便携性使其成为人们生活中不可或缺的一部分。

本实验旨在设计并制作一款多功能数字钟,通过EDA(电子设计自动化)软件进行模拟和仿真,验证其功能和性能。

二、设计原理1. 时钟电路:采用CMOS(互补金属氧化物半导体)技术设计时钟电路,包括时钟发生器、计数器和显示器。

时钟发生器产生稳定的方波信号,计数器根据方波信号进行计数,显示器将计数结果以数字形式显示出来。

2. 功能模块:多功能数字钟除了显示时间外,还应具备日期显示、闹钟设置、温度检测等功能。

为实现这些功能,需要添加相应的模块,如时钟芯片、温度传感器、闹钟电路等。

三、电路设计1. 时钟电路设计:根据设计原理,使用EDA软件进行电路设计,选择合适的元器件和连接方式。

通过仿真验证电路的工作稳定性和准确性。

2. 功能模块设计:根据需求,添加相应的功能模块。

时钟芯片用于精确计时和日期显示,温度传感器用于检测环境温度并显示,闹钟电路用于设置闹钟时间并触发报警。

四、电路实现1. 元器件选取:根据电路设计需求,选择合适的元器件。

时钟芯片应具备高精度和稳定性,温度传感器应具备高灵敏度和准确度,闹钟电路应具备可调节和触发功能。

2. 电路布局:将选取的元器件按照电路设计进行布局,注意元器件之间的连接和布线,避免干扰和短路。

3. 电路连接:根据电路设计进行元器件之间的连接,注意连接的正确性和稳定性。

五、仿真与测试1. 仿真验证:使用EDA软件进行电路仿真,检查电路的稳定性和准确性。

通过仿真结果对电路进行调整和优化,确保其正常工作。

2. 功能测试:对多功能数字钟进行功能测试,包括时间显示、日期显示、温度检测和闹钟设置等。

通过测试结果对电路进行调整和改进,确保其功能的完善和可靠性。

六、实验结果与分析经过仿真和测试,多功能数字钟实现了准确的时间显示、日期显示、温度检测和闹钟设置等功能。

eda多功能数字时钟课程设计

eda多功能数字时钟课程设计

eda多功能数字时钟课程设计一、课程目标知识目标:1. 学生能理解数字时钟的基本原理,掌握EDA工具的使用方法,并运用相关电路知识设计多功能数字时钟。

2. 学生能够运用所学知识,分析并解释数字时钟电路中各个部分的功能及其相互关系。

3. 学生了解数字时钟在实际生活中的应用,理解其重要性。

技能目标:1. 学生能够运用EDA工具进行电路设计,具备实际操作能力。

2. 学生通过动手实践,培养解决实际问题的能力,提高创新意识和团队协作能力。

3. 学生能够运用所学知识,对数字时钟电路进行调试和优化。

情感态度价值观目标:1. 学生在学习过程中,培养对电子技术的兴趣,激发创新精神。

2. 学生通过团队合作,学会尊重他人,培养良好的沟通能力和团队精神。

3. 学生认识到科技发展对社会进步的重要性,树立正确的价值观。

课程性质:本课程为实践性较强的课程,结合理论教学,注重培养学生的动手能力和实际操作技能。

学生特点:学生具备一定的电子技术基础知识,对实践操作有较高的兴趣。

教学要求:教师需结合理论教学,指导学生进行实践操作,注重启发式教学,引导学生主动探究,提高学生的综合能力。

在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。

通过课程学习,使学生能够将所学知识应用于实际生活中,提高学生的创新意识和实践能力。

二、教学内容本课程教学内容主要包括以下几部分:1. 数字时钟原理:讲解数字时钟的基本工作原理,包括时钟信号、计数器、显示驱动等组成部分。

2. EDA工具使用:介绍EDA工具的基本操作,如原理图绘制、电路仿真、PCB设计等。

3. 电路设计与实现:指导学生运用EDA工具设计多功能数字时钟电路,包括时钟信号电路、分频器、计数器、显示驱动和按键控制等模块。

4. 电路调试与优化:教授学生如何对设计的数字时钟电路进行调试,找出问题并进行优化。

教学内容与教材关联性如下:1. 《电子技术基础》中关于数字电路的基础知识,为理解数字时钟原理提供理论支持。

EDA数字时钟实验报告

EDA数字时钟实验报告

EDA与数字系统课程设计报告书专业(班级):自动化2011级姓名(学号):丁兴宇20111965指导教师:刘春朱维勇胡存刚指导单位:电气与自动化工程学院目录中文摘要英文摘要实验一 (6)实验二 (7)实验三 (8)实验四 (9)数字时钟实验一.设计说明1.功能说明 (10)2.功能简介 (10)二.各模块设计原理1.扫描显示模块及原理 (11)2.时钟计时模块电路图及原理 (13)3.整点报时模块 (15)4.闹铃模块 (16)三.管脚分布 (19)四.讨论与心得 (20)参考文献 (21)附件 (22)中文摘要本文是基于Altera公司出品MAX+Plus2软件以及相应的ALTERA FLEX EPF10K10LC84-4实验平台完成的数字时钟实验,使我们清楚地了解到我们身边的数字时钟的功能是怎样实现的。

数字时钟实验主要包含两个主体时钟基本功能电路、闹钟电路。

主体一:主要涉及模60与模24计数器、动态显示控制电路、分频器主要整点报时电路,这些电路都是以模块封装好的,以便其他电路调用。

以计数器构成计时部件,通过分频器分出的1HZ脉冲计时,调用动态显示电路显示,通过整点报时电路控制蜂鸣器。

主体二:主要涉及模60与模24计数器、显示控制电路、4个数据比较器。

以模60与模24计数器构成定时与存储电路,调用动态显示控制电路显示,通过4个数据比较器比较时钟与闹铃的小时、分钟,和后续与门控制蜂鸣器。

英文摘要(Abstract)This article is based on Altera MAX + Plus2 software company produced and the corresponding ALTERA FLEXEPF10K10LC84-4 experimental platform to complete the digital clock experiments, so that we clearly understand our side of the digital clock function is how to achieve.Digital clock experiment consists mainly of two basic functions of the body clock circuits, alarm circuits.The main one: mainly related to mold 60 and the mold 24 counters, dynamic display control circuit, the whole point timekeeping main divider circuits, which are packaged in modules, so that other circuits calls. To constitute a timing counter parts, through the separation of the 1HZ divider pulse timing, called dynamic display circuit display, through the whole point timekeeping circuit control buzzer.Subject II: mainly related counter mold 60 and the mold 24, a display control circuit, four data comparator. Mold 60 and the mold 24 to form counter timing and memory circuit,called dynamic display control circuit shows that by four data comparator compares the clock and the alarm hour, minute, and follow-up with the door control buzzer.关键词:MAX+Plus2软件 EPF10K10LC84-4 数字时钟基本功能电路闹钟电路实验一题目:Max+Plus2使用练习,完成一个简单门电路的图形设计输入、编译、仿真、管脚分配、下载。

EDA设计报告-数字钟

EDA设计报告-数字钟

一、设计要求1、设计一个能显示1/10秒、秒、分、时的12小时数字钟。

2、熟练掌握各种计数器的使用。

能用计数器构成十进制、六十进制、十二进制等所需进制的计数器。

能用低位的进位输出构成高位的计数脉冲。

3、“时显示”部分应注意12点后显示1点。

4、注意各部分的关系,由低位到高位逐级设计、调试。

5、时钟显示使用数码管显示。

二、系统方案论证与模块划分1、计数器模块计数器模块中,1/10秒采用带进位的10进制功能模块,秒和分采用带进位的60进制功能模块,小时采用不带进位的12进制功能模块。

计数器模块均用Verilog HDL语言编写,实现计数逻辑功能。

(1)十进制计数器设计程序如下:module ssecond(q,rco,clk,reset);input clk,reset;output [3:0] q;output rco;reg rco;reg [3:0] q;always @(posedge clk or negedge reset)beginif(~reset)q<=4'b0000;else if (q==4'b1001) begin q<=4'b0000; rco=1;endelse begin q<=q+1'b1; rco=0;endendendmodule经编译、仿真、下载,满足要求。

然后通过Create Default Symbol,生成符号体如下:(2)六十进制计数器设计程序如下:module second(qh,ql,rco,clk,reset);output[3:0]qh;output[3:0]ql;output rco;reg [3:0]qh;reg [3:0]ql;reg rco;input clk,reset;always @(posedge clk or negedge reset)beginif(~reset){qh,ql}<=0;elsebeginif({qh,ql}==8'h59)begin {qh,ql}<=0;rco<=1;endelsebeginif(ql==9)begin ql<=0; qh<=qh+1;endelsebegin ql<=ql+1;rco<=0;endendendendendmodule经编译、仿真、下载,满足要求。

eda课程设计数字时钟

eda课程设计数字时钟

eda课程设计 数字时钟一、课程目标知识目标:1. 学生能理解数字时钟的基本概念和原理,掌握数字时钟的组成、功能及使用方法。

2. 学生能够运用所学知识,分析并设计简单的数字时钟电路。

3. 学生了解EDA(电子设计自动化)软件在数字时钟设计中的应用。

技能目标:1. 学生能够运用EDA软件完成数字时钟电路的绘制、仿真和调试。

2. 学生能够运用逻辑电路知识,设计并实现数字时钟的基本功能,如时、分、秒显示。

3. 学生能够通过团队合作,解决数字时钟设计过程中遇到的问题。

情感态度价值观目标:1. 学生培养对电子设计技术的兴趣,提高创新意识和动手能力。

2. 学生在学习过程中,养成积极思考、主动探究的良好习惯。

3. 学生通过团队合作,培养沟通协作能力和集体荣誉感。

课程性质:本课程为实践性课程,以学生动手实践为主,注重培养学生的实际操作能力和创新能力。

学生特点:本课程面向初中生,学生对电子技术有一定了解,具备基本的逻辑思维能力,但实际操作能力有待提高。

教学要求:教师应结合学生特点,采用任务驱动法、分组合作法等教学方法,引导学生主动参与,确保课程目标的实现。

同时,注重过程评价和成果评价,全面评估学生的学习成果。

二、教学内容本章节教学内容依据课程目标,紧密结合教材,确保科学性和系统性。

具体内容包括:1. 数字时钟基础知识:介绍数字时钟的原理、组成及功能,对应教材第3章“数字电路基础”。

- 时钟信号产生- 计数器原理- 显示技术2. EDA软件应用:学习EDA软件的使用方法,绘制数字时钟电路图,对应教材第5章“EDA技术及其应用”。

- EDA软件操作- 电路图绘制- 电路仿真与调试3. 数字时钟电路设计:运用逻辑电路知识,设计数字时钟电路,对应教材第4章“组合逻辑电路”。

- 逻辑门电路- 时钟分频器设计- 计数器设计- 显示控制电路4. 数字时钟制作与调试:分组合作,动手实践,完成数字时钟的制作与调试,对应教材第6章“数字电路实践”。

EDA课程设计数字电子钟

EDA课程设计数字电子钟

一、设计任务及要求1、设计内容选用合适的可编程逻辑器件及外围电子元器件,设计一个数字电子钟,利用EDA 软件(QUARTUS Ⅱ)进行编译及仿真,设计输入采用Verilog HDL硬件描述语言输入法,并下载到EDA实验箱系统,连接外围电路,完成实际测试。

2、设计要求(1)具有时、分、秒计数显示功能,该电子钟正常显示小时、分钟、秒,各用2位数码管(共6位数码管),显示范围为0—23时59分59秒。

(2)具有复位清零的功能,且能够对计时系统的小时、分钟进行调整。

(3)定时响铃功能,设计计时到01分10秒后蜂鸣器开始响,持续时间10秒。

二、设计思想对于数字钟来说首先是时分秒的计数功能,然后能显示,附带功能是清零、调整时分,拟定如下方案:计时校正模块中,用1Hz时钟送入秒脉冲信号,“秒计数器”采用60进制,每累计60秒,发出一个“分脉冲”信号,该信号将被送到“分计数器”。

“分计数器”采用60进制计数器,每累计60分,发出一个“分脉冲”信号,该信号被送到“时计数器”。

“时计数器”采用24进制,可实现24小时的累计计数,时钟使用三个输入按键K1、K2、K3,分别控制数字钟的校时、校分、清零,每次分别按下K1、K2按键,对应的时、分计数就加1,按下K3,时间清零。

显示模块中,分别用六个八位数码管显示时钟的时十位、时个位、分十位、分个位、秒十位、秒个位,设置一个时钟脉冲用于扫描数码管显示。

最后的定时响铃功能,本报告设计为计时到01分10秒开始驱动蜂鸣器响,持续十秒。

三、程序清单Verilog HDL源程序:module clock(clk1,clk2,dx,wei,k1,k2,rst,led);input clk1,clk2,k1,k2,rst;output [2:0] wei;output [7:0] dx;output led;reg led;reg [2:0] wei;reg [7:0] dx;reg [7:0] as,ts,am,tm,ah,th,xs;reg [7:0] q;always @(posedge clk1 or posedge rst)beginif(rst){as,ts,xs,am,tm,xs,ah,th}<=8'b00000000; else if(k1)beginif(ah==8'b00001001)beginah=8'b00000000;th=th+8'b00000001;endelse if(ah==8'b00000011&&th==8'b00000010) beginth=8'b00000000;ah=8'b00000000;endelse ah=ah+8'b00000001;endelse if(k2)beginif(am==8'b00001001)beginam=8'b00000000;if(tm==8'b00000101)tm=8'b00000000;else tm=tm+8'b00000001;endelse am=am+8'b00000001;endelse if(as==8'b00001001)beginas=8'b00000000;if (ts==8'b00000101) begints=8'b00000000;if(am==8'b00001001)beginam=8'b00000000;if(tm==8'b00000101)begintm=8'b00000000;if(ah==8'b00001001)beginah=8'b00000000;th=th+8'b00000001;endelseif(ah==8'b00000011&&th==8'b00000010)beginth=8'b00000000;ah=8'b00000000;endelse ah=ah+8'b00000001;endelse tm=tm+8'b00000001;endelse am=am+8'b00000001;end else ts=ts+8'b00000001; endelse as=as+8'b00000001;endalways @(posedge clk2)beginif(wei==3'b111)wei<=3'b000;else wei<=wei+3'b001;endalways @(q or wei or k1)beginif(wei==3'b000)q<=as;else if(wei==3'b001)q<=ts;else if(wei==3'b010)q<=8'b11111111;else if(wei==3'b011)q<=am;else if(wei==3'b100)q<=tm;else if(wei==3'b101)q<=8'b11111111;else if(wei==3'b110)q<=ah;else if(wei==3'b111)q<=th;case(q)0:dx<=8'b11111100;1:dx<=8'b01100000;2:dx<=8'b11011010;3:dx<=8'b11110010;4:dx<=8'b01100110;5:dx<=8'b10110110;6:dx<=8'b10111110;7:dx<=8'b11100000;8:dx<=8'b11111110;9:dx<=8'b11110110;default dx<=8'b00000010;endcaseendalways @(posedge clk1)beginled=1;if(ts==8'b00000001&&am==8'b00000001&&tm==8'b00000000&&ah= =8'b00000000&&th==8'b00000000)led=~led;elseif(as==8'b00000000&&ts==8'b00000010&&am==8'b00000001&&tm= =8'b00000000&&ah==8'b00000000&&th==8'b00000000) led=0;endendmodule四、调试及总结1.仿真波形图2.总结通过此次课程设计,让我对EDA这门技术有了更深的体会,并更好的学会了使用QuartusⅡ软件进行硬件设计。

eda数字钟实验报告

eda数字钟实验报告

eda数字钟实验报告一、实验目的与背景数字钟是一种在现代社会中广泛应用的时间显示器,其具有精度高、易于观察、维修方便等特点。

本次实验旨在通过使用EDA 软件,实现数字钟的制作,以便更好地了解数字时钟的原理及其设计过程。

二、实验器材与软件器材:电脑、EDA软件、闹钟模块、LCD液晶显示器、电源线、按键开关、电阻等。

软件:Protues、Keil、Proteus VSM等。

三、设计过程1. 硬件设计(1)指示器:使用了LCD液晶显示屏来显示时间。

其可显示当前的小时、分钟、秒等信息。

(2)核心控制器:使用了AT89S52单片机作为核心,用来控制整个数字时钟的运行。

(3)时钟电路:使用DS1302时钟芯片来实现时钟计时功能。

该芯片具有高精准度、低功耗等特点,能够提供准确的时间信号。

(4)外设控制:使用了按键开关、蜂鸣器等外设来实现数字时钟的启停、闹钟设置等功能。

2. 软件设计(1)包含了时间可视化方案的设计。

(2)编写了大量的实时驱动程序,使计时、位置更新、操作循环等功能得到实现。

(3)事件触发机制设计,使得按键响应、报时提示等功能得到实现。

(4)根据时钟电路信号进行时钟校准等相关处理。

四、实验结果通过实验,我们成功地制作出了一个高精度、功能齐全、操作简便的数字时钟。

该时钟可以准确地显示当前时间,同时根据设置还可以产生报时提示,启动或关闭闹钟等功能。

五、实验总结通过本次实验,我们对数字时钟的原理和设计过程有了更加深入的理解,增加了对数字电路的整体认识。

同时,我们还掌握了EDA软件的使用方法和调试技术。

希望今后能够在数字电路设计和嵌入式系统开发中能够有更好的发挥。

eda数字闹钟课程设计

eda数字闹钟课程设计

eda数字闹钟课程设计一、课程目标知识目标:1. 学生能够理解数字闹钟的基本原理,掌握EDA(电子设计自动化)软件的使用方法;2. 学生能够运用所学的数字电路知识,设计并实现一个具有基本功能的数字闹钟;3. 学生了解数字闹钟中各个模块的功能和相互关系,如时钟模块、闹钟设置模块、显示模块等。

技能目标:1. 学生能够运用EDA软件进行电路设计,提高动手实践能力;2. 学生能够通过小组合作,培养团队协作能力和沟通能力;3. 学生掌握基本的调试方法,能够分析和解决数字闹钟设计过程中出现的问题。

情感态度价值观目标:1. 学生培养对电子设计制作的兴趣,激发创新精神和实践欲望;2. 学生认识到电子技术在日常生活中的重要作用,增强学以致用的意识;3. 学生通过课程学习,培养严谨、细致的学习态度,提高克服困难的勇气和自信心。

分析课程性质、学生特点和教学要求,本课程以实践操作为主,注重培养学生的动手能力和实际应用能力。

针对初中年级学生的认知水平,课程内容以基本原理和实际操作相结合的方式进行,使学生在学习过程中能够将理论知识与实际应用紧密结合,提高学生的学习兴趣和积极性。

通过本课程的学习,学生能够将所学知识运用到实际项目中,实现学以致用,提升自身的综合素质。

二、教学内容本课程教学内容主要包括以下三个方面:1. 数字闹钟原理学习:- 时钟基础知识:时钟信号、晶振、分频器等;- 数字电路基础:逻辑门、触发器、计数器等;- 闹钟功能模块:时钟模块、闹钟设置模块、显示模块等。

2. EDA软件操作与应用:- EDA软件安装与界面认识;- 原理图绘制:学习如何使用软件绘制数字电路原理图;- PCB布线:学习如何将原理图转化为PCB布线图。

3. 数字闹钟设计与制作:- 教学大纲制定:明确教学内容、进度安排和教学目标;- 实践操作:学生分组进行数字闹钟设计、制作和调试;- 评价与反馈:对学生的设计作品进行评价,及时给予反馈。

教学内容与教材关联性:本课程教学内容紧密结合教材中关于数字电路和EDA软件的相关章节,确保学生能够将所学理论知识应用于实际项目中。

EDA课程设计多功能数字时钟报告

EDA课程设计多功能数字时钟报告
II.功能简介…………………………………………………………………………………4
III.开关功能介绍(两种方案)……………………………………………………………4
二.方案论证……………………………………………………5
I.总体方案分析…………………………………………………………………………5
II.电路的工作原理……………………………………………………………………6
二.方案论证:
I。总体方案分析:
利用QuartusII软件设计一个数字钟,对设计电路进行功能仿真,并下载到SmartSOPC实验系统中,可以完成00:00:00到23:59:59的计时功能,并在控制电路的作用下具有保持、清零、快速校时、快速校分、整点报时等功能.本电路在原有基础上进行了拓展,具备以下功能:
①.能进行正常的时、分、秒计时功能;
These electric circuits are all packed with mold piece okay, for the purpose of other electric circuits adjust to use.With count machine composing to account parts, pass a cent repeatedly the machine divides of when the 1 HZ pulse accounts adjust to show that the electric circuit suggests and passes a little bit whole buzzer that tell the time an electric circuit control with the dynamic state.BE counting the way that the machine class adopted synchronously external different step in the inner part while uniting, but came to a synchronous effect through a simple change and than synchronously returned credibility。While showing a control for economizing a resources adoption dynamic state principle,from wove VHDL language of 24 choose 4 data selectors.文档为个人收集整理,来源于网络文档为个人收集整理,来源于网络
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《在系统编程技术》项目设计报告课程名称在系统编程技术任课教师周泽华设计题目数字时钟班级自动化(1)姓名学号吴红0905075014成绩日期2012-6-13一、课程设计任务1.1设计目的1)掌握VHDL语言的基本运用2)掌握QuartusII的简单操作并会使用EDA实验箱3)掌握六十进制和二十四进制计数器的设计方法。

4)掌握多位计数器相连的设计方法。

5)掌握多位共阴极扫描显示数码管的驱动及编码。

1.2设计任务分析设计一台能显示时、分、秒的数字时钟。

具体要求如下:1)有时、分、秒计数显示功能,小时为24进制,分、秒以60进制计数;2)由实验箱上的时钟信号经分频产生秒脉冲;3)设置复位、清零等功能;4)有校时功能,可以分别对时及分进行手动校时,使其校正到标准时间;5)整点报时;二、整体设计思想2.1性能指标及功能设计根据系统设计要求,系统设计采用自顶向下设计方法,由时钟分频部分、计时部分、按键部分调时部分和显示部分五个部分组成。

这些模块都放在一个顶层文件中。

1)时钟计数:首先下载程序进行复位清零操作,电子钟从00:00:00计时开始。

sethour可以调整时钟的小时部分, setmin可以调整分钟,步进为1。

由于电子钟的最小计时单位是1s,因此提供给系统的内部的时钟频率应该大于1Hz,这里取100Hz。

CLK端连接外部10Hz的时钟输入信号clk。

对clk进行计数,当clk=10时,秒加1,当秒加到60时,分加1;当分加到60时,时加1;当时加到24时,全部清0,从新计时。

用6位数码管分别显示“时”、“分”、“秒”,通过OUTPUT( 6 DOWNTO 0 )上的信号来点亮指定的LED七段显示数码管。

2)时间设置:手动调节分钟、小时,可以对所设计的时钟任意调时间,这样使数字钟真正具有使用功能。

我们可以通过实验板上的键1和键4进行任意的调整,因为我们用的时钟信号均是1HZ 的,所以每LED灯变化一次就来一个脉冲,即计数一次。

3)清零功能:reset为复位键,低电平时实现清零功能,高电平时正常计数。

可以根据我们自己任意时间的复位。

2.2总体方框图三、总体设计方案本数字系统实现数字钟的基本的计时功能,输入8Hz的时钟,通过分频产生1Hz的时钟信号,采用24小时制计时,60进制记分、秒,能显示时、分、秒。

本系统还具有校正功能,可以进行时分的校时,当计时器运行到59分59秒开始报时。

本数字钟实际上是一个对频率(1Hz)进行计数的计数电路。

由于计数的起始时间不可能与标准时间一致,故需要在电路上加一个校时电路,同时分频后的1Hz时间信号必须做到准确稳定。

通常使用石英晶体振荡器电路构成数字钟。

3.1数字时钟的基本组成:本数字钟的实现可分为以下几个模块:(1) 秒计数模块:秒计数,在频率为1Hz的时钟下以60次为循环计数,并产生进位信号影响分计数;(2) 分计数模块:分计数,在秒进位信号为高电平时,计数一次,同样以60次为一个循环计数,同时产生分进位信号影响时计数;(3) 时计数模块:时计数,在分进位信号为高电平时,计数一次,以24次为一个循环计数;(4) 频率产生模块:产生8Hz的计数频率,通过分频得到1Hz频率;(5) 时间显示模块:数码管通过动态显示,同时进行一定频率的扫描显示时,分,秒;(6) 时间设置模块:设置调试使能端,可以调时,分。

基本功能是在使能端为低电平时,可以使时、分和秒循环计数;(7) 整点报时模块:在秒计数到59秒时,同时分计数到59分开始,蜂鸣器产生四个时钟周期的鸣叫,到整点是产生两个时钟周期的鸣叫。

一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器和定时器组成。

干电路系统由秒信号发生器、“时”,“分”,“秒”计数器、译码器及显示器、电路组成。

3.2 数字时钟功能模块1)分频器电路:通常,数字钟的晶体振荡器输出频率较高,为了得到1Hz的秒信号输入,需要对振荡器的输出信号进行分频。

通常实现分频器的电路是计数器电路,当计数满时则产生相应的跳变,从而得到想要的的分频后频率。

2)时间计数单元:时间计数单元有时计数、分计数和秒计数等几个部分。

时计数单元为24进制计数器,分、秒计数单元为60进制计数器。

3)译码驱动及显示单元:计数器实现了对时间的累计以8421BCD码形式输出,为了将计数器输出的8421BCD码显示出来。

试验箱上有几种模式可供选择,选择模式7则自带有显示译码器,代码中就可以直接送四位bcd码给相应端口就行。

4)校时电源电路:当重新接通电源或走时出现误差时都需要对时间进行校正。

通常,校正时间的方法是:首先截断正常的计数通路,然后再进行人工出触发计数将高电平信号加到需要校正的计数单元的输入端,相应的时分秒数值随着时钟脉冲信号跳变,校正好后,再按下使能键变为高电平,转入正常计时状态。

5)整点报时电路:一般时钟都应具备整点报时电路功能,即在时间出现整点时,数字钟会自动报时,以示提醒。

其作用方式是发出连续的或有节奏的音频声波,较复杂的也可以是实时语音提示。

3.3设计步骤3.3.1工程建立及存盘1.打开 QuartusⅡ,单击“File”菜单,选择 File→New Project Wizard,对话框如下:分别输入项目的工作路径、项目名和实体名,单击Finish。

2.单击“File”菜单,选择New,弹出小对话框,双击“VHDL File",即选中了文本编辑方式。

在出现的“Vhdl1.vhd”文本编辑窗中键入VHDL程序,输入完毕后,选择File→Save As,即出现“Save As”对话框。

选择自己建立好的存放本文件的目录,然后在文件名框中键入文件名,按“Save”按钮。

3. 建立工程项目,在保存VHDL文件时会弹出是否建立项目的小窗口,点击“Yes”确定。

即出现建立工程项目的导航窗口,点击“Next”,最后在出现的屏幕中分别键入新项目的工作路径、项目名和实体名。

注意,原理图输入设计方法中,存盘的原理图文件名可以是任意的,但VHDL程序文本存盘的文件名必须与文件的实体名一致,输入后,单击“Finish”按钮。

4.本设计原理图:3.3.2工程项目的编译单击工具条上的编译符号开始编译,并随着进度不断变化屏幕,编译完成后的屏幕如图所示:选择菜单 Assignments 选项的下拉菜单中选择器件 Device …,如图所示:在弹出的对话框中的 Family(器件序列栏)对应的序列名,EP1C3 对应的是 Cyclone 系列。

在 Available Devices里选择 EP1C3T144-C8 (有时需要把 Show advanced devices 的勾消去,以便显示出所有速度级别的器件)。

注意:所选器件必须与目标板的器件型号完全一致。

在图中,单击“Device and Pin Options…”,在弹出的“Device and Pin Options…”窗口中,单击“Unused Pins”标签。

选择“As output driving an unspecified signal ”(由于学习机的“FPGA”具有很多功能,为了避免使用引脚对其它器件造成影响,保证本系统可靠工作,将未使用引脚设定为输出不定状态)后,单击确定后,无误后单击“OK”。

3.3.4时序仿真建立波形文件:选择 File→New,在New窗中选中“Other File”标签。

在出现的屏幕中选择“Vector Waveform File”项出现一新的屏幕。

在出现的新屏幕中,双击“Name”下方的空白处,弹出“Insert Nod or Bus”对话框,单击该对话框的“Node Finder……”。

在屏幕中的 Filter 中选择 Pins,单击“List”。

而后,单击“>>”,所有输入/输出都被拷贝到右边的一侧,这些正是我们希望的各个引脚,也可以只选其中的的一部分,根据实际情况决定。

然后单击屏幕右上脚的“OK”。

在出现的小屏幕上单击“OK”。

设定仿真时间宽度。

选择 Edit → End time…选项,在End time选择窗中选择适当的仿真时间域,以便有足够长的观察时间。

波形文件存盘。

选择File→Save as 选项,直接存盘即可。

运行仿真器。

在菜单中选择项,直到出现,仿真结束。

未曾编辑的仿真波形仿真波形3.3.5引脚锁定将设计编程下载进选定的目标器件中,如EPF10K10,作进一步的硬件测试,将设计的所有输入输出引脚分别与目标器件的EPF10K10的部分引脚相接,操作如下:1.选择 Assignments → Assignments Editor ,即进入 Assignments Editor编辑器。

在Category 栏选择 Pin,或直接单击右上侧的 Pin 按钮。

2.双击 TO 栏的《new》,在出现的的下拉栏中选择对应的端口信号名(如 D[0]);然后双击对应的栏的《new》,在出现的下拉栏中选择对应的端口信号名的期间引脚号。

3.最后存储这些引脚锁定信息后,必须再编译(启动)一次,才能将引脚锁定信息编译进编程下载文件中。

此后就可以准备将编译好的 SOF 文件下载到试验系统的FPGA中去了。

引脚锁定3.3.6硬件测试1.首先用下载线把计算机的打印机口与目标板(如开发板或实验板)连接好,打开电源,选择模式7。

2.打开编辑窗和配置文件。

选择,弹出一个编辑窗。

在Mode栏中选择JTAG,并在选项下的小方框打勾。

注意核对下载文件路径与文件名。

如果文件没有出现或者出错,单击左Add file侧按钮,手动选择配置文件 clock.sof。

3.最后单击下载标符Start,即进入对目标器件 FPGA 的配置下载操作。

当 Progress 显示100%,以及在底部的处理栏中出现 Configuration Succeeded 时,表示编程成功,如图所示。

注意,如果必要时,可再次单击 Start ,直至编程成功。

4.下载完成后,通过硬件测试进一步确定设计是否达到所有的技术指标,如未达到,可逐步检查,哪部分出现问题。

如果是代码出现问题,须修改代码;若是时序波形图有问题,须重新设置。

下面是硬件电路:CLOCK9CLOCK5CLOCK2CLOCK0D16D15D14D13D12D11D9D8PIO47D7PIO46D6PIO45D5PIO44D4PIO43D3PIO42D2PIO41PIO40D1NO.7实验电路结构图S P E A K E R扬声器FPGA/CPLD 目标芯片12345678PIO0PIO2PIO3PIO4PIO5PIO6PIO7单脉冲单脉冲单脉冲键1键2键3键4键5键6键7键8PIO47-PIO40PIO39-PIO36PIO35-PIO32PIO31-PIO28PIO27-PIO24PIO23-PIO20PIO19-PIO16译码器译码器译码器译码器译码器译码器模式七实验电路图3.3.7实验结果实验箱使用模式7,键8为复位按键,键8为1时正常工作。

相关文档
最新文档