EDA数字电子钟设计
数字电子电路设计中EDA技术的应用
数字电子电路设计中EDA技术的应用在科学技术发展的大力推动之下,数字电子电路设计也随之进步。
传统的电路设计工作已经不能实现时代需求与发展的满足,因此必须在电子电路设计中实现对EDA技术的科学使用。
本文主要针对数字电子电路设计中EDA技术的应用进行进一步探析,这对电子电路设计工作的顺利开展有相当重要的作用,同时也为后续各项工作打下坚实基础。
我们必须提高对EDA技术的重视程度,在作业过程当中,结合实际科学使用EDA技术。
标签:数字电子电路;EDA技术;应用现代社会微电子技术发展速度相当迅猛,数字电子电路设计工作所面临的难度也在逐步增加。
电子产品翻新周期的缩短给数字电子电路设计工作带来一定的难度与挑战。
EDA技术所具备的优势相当明显,在数字电子电路设计中进行科学使用可以说是划时代的改革。
在降低成本以及缩短设计周期方面,EDA技术所占据的优势相当明显,这也是其在数字电子电路设计中应用范围逐步扩大的主要原因,并为电子产品后续发展与进步打下坚实基础。
一、EDA技术概述EDA(Electronic Design Automation,电子设计自动化)技术是逐渐从计算机辅助测试、计算机辅助制造、计算机辅助设计以及计算机辅助工程中发展而来的。
该技术主要是将计算机作为载体,在EDA软件平台上,设计者主要采用硬件描述语言VHDL进行设计,进而由计算机自动完成各项工作。
EDA技术是一种融合了当前多种新型技术的新技术,它以计算机为载体,将计算机技术、信息技术、电子技术以及智能技术相互融合起来,进而完成电子产品的自动化设计工作,这样有效促进了电路设计的可操作性以及效率性,不仅保障了电路设计的质量和效率,同时也极大地减轻了设计者的工作强度,同时也降低了电子产品的生产成本。
具体来说,EDA技术的特点以及EDA技术设计流程如下。
1.1EDA技术的特点(1)EDA技术可利用多种软件设计方式在硬件电路选择中进行使用。
设计工作可借助VHDL语言、波形等开展,在下载配置之前也可以实现自动完成的目标,并不需要得到硬件设备的参与。
EDA技术
徐州工业职业技术学院班级:电子与电气071姓名:徐勤学号:730516137指导老师:张江伟内容摘要:EDA 技术是依赖功能强大的计算机,在EDA 工具软件平台上来实现既定的电子线路系统功能。
就因为EDA 有如此大的功能,因此选择EDA 来实现数字钟的设计。
数字钟是一种用数字显示秒、分、时的计时装置,与传统机械钟相比,它具有走时准确、显示直观、无机械转动装置等优点,因而得到广泛应用。
本课题是利用EDA 技术用集成电路设计一个数字钟,即显示秒、分、时,分别用60、60、24进制计数器,秒、分均为六十进制,即显示00~59,它们的个位是十进制,十位是六进制。
时为二十四进制,显示00~23,个位仍为十进制,而十位为二进制,但当十位计到2、个位计到4时清零,就为二十四进制了,其中组成秒、分、时的芯片均用7490来实行,先用它实现十进制,然后分别用两个十进制模板来实现六十进制、二十四进制,最终实现数字钟。
但这只是用4位二进制数来表示1位十进制数,因此要将这些二进制码,通过译码器7448来实现十进制文字符号的转换,将数字钟的计时状态直观清晰的反应出来,然后通过EDA 的坡形仿真,来检验其真确性。
这一设计原本原理图复杂,所用连线众多,但因EDA 具有把原理图模板化的功能,因此,最终生成的数字钟原理图简单、清晰、明了。
(参考文献《EDA 技术及其应用》、《电子技术技能实验实训指导》)一.设计要求:设计一个综合性的数字计时钟,要求能实现时、分、秒的计数功能,,同时将结果通过4个7段数码管显示,具体框图如下:根据设计要求,综合数字钟电路可分为计秒电路、计分电路、计时电路3个子模块,这3个子模块必须都具有预置、计数、进位功能,设计思想如下:A.计秒电路:以直接输入或由分频器产生的秒脉冲作为计秒电路的计数时钟信号,待计数至60瞬间,进位,计分电路加1,而计秒电路则清零并重新计秒。
B.计分电路:计秒电路得到进位脉冲,来一个脉冲就加1,当得到60个脉冲,即计数至60瞬间,进位,计时电路加1,而计秒、计分电路则清零,并重新计秒、分。
EDA技术教学设计
EDA技术教学设计EDA(Electronic Design Automation,电子设计自动化)是现代数字电路设计中十分重要的技术。
EDA技术的出现,使得电路设计从传统的手工设计向自动化设计、智能化设计转变。
在高校电子信息工程等相关专业的教学中,应注重EDA技术的介绍与应用,提高学生的实际设计能力。
一、教学目标在学习完本教学内容后,学生应具备以下能力:1.理解EDA技术在数字电路设计中的重要意义;2.熟悉EDA的基本知识和工具使用方法;3.能够完成简单数字电路的自动化设计工作;4.能够对数字电路进行仿真、性能测试和修正。
二、教学内容1. EDA技术介绍首先,应介绍EDA技术的基本概念和发展历程,以及在数字电路设计中的作用和意义。
同时,还需简要说明EDA技术与其他数字电路设计工具的不同之处,并培养学生的创新思维和实践能力。
2. EDA技术的工具EDA技术的主要工具包括Project Navigator、ISE、PlanAhead等,应对学生进行详细介绍和举例说明这些工具的基本操作、使用方法和注意事项,使得学生掌握基本使用技能,并在以后的实验中能够熟练操作。
3. 自动化设计自动化设计是EDA技术的重要应用之一,应对学生解释自动化设计的优势和适用范围,并着重介绍Verilog语言作为数字电路设计语言的基本语法和使用方法,使学生能够编写简单的Verilog程序并进行仿真测试。
4. 仿真与性能测试在完成数字电路的设计之后,应对设计结果进行仿真和性能测试。
学生应该熟悉ISE工具的仿真功能及其操作方法,能够将仿真结果与原始设计进行比较,根据测试数据对数字电路进行性能评估和修正。
三、教学方法在教学内容的选取和设计上,应注重新颖性和实战性。
通过对EDA技术的基本原理和实际应用进行深入剖析,引导学生通过自主学习、小组探讨、课堂演示等形式进行学习和实践,不断拓展思路和创新思维。
在具体的教学操作中,应把理论知识与实际操作结合起来,让学生在操作中体会EDA技术的魅力和实用性,提高学生的实战能力。
EDA设计 数字钟
摘要利用MAX+PLUSⅡ软件,设计一个能进行时、分、秒计时的24制多功能数字钟,使其具有定时与闹钟功能,且能在设定的时间发出闹铃音,能非常方便地对时、分、秒进行手动调节以校准时间,每逢整点,产生报时音效,并在实验板上成功下载,验证后满足要求。
关键词:EDA ; MAX+PLUS2 ;数字钟;0 引言随着科学技术的发展,现代电子设计技术已进入一个全新的阶段,传统的电子设计方法、工具和器件在更大的程度上被EDA所取代。
在EDA技术中,最为瞩目的是以现代电子技术为特征的逻辑设计仿真测试技术,该技术的出现,使电子系统设计发生了质的变化,设计速度快、体积小、重量轻、功耗小的集成电路已成为趋势。
本文利用EDA 技术,选用ALTERA公司的CPLD器件EPF10K10LC84-4和软件MAX+PLUS2,设计了一个多功能数字钟,提高了系统的整体性能和可靠性,并通过编译、仿真、下载,经验证后已满足要求。
1 多功能数字钟设计任务1.1 数字钟设计要求(1)、设计一个能显示1/10秒、秒、分、时的12小时数字钟。
(2)、熟练掌握各种计数器的使用。
(3)、能用计数器构成十进制、六十进制、十二进制等所需进制的计数器。
(4)、能用低位的进位输出构成高位的计数脉冲。
1.2 设计思路此设计可分为主控电路、计数器模块和扫描显示三大模块。
1.2.1 主控电路模块主控电路状态用表格显示,如下表所列:模式选择秒、时、分、计数器脉冲输出状态备注Reset Reset1 A B Turn LD-h LD-m LD-alert0 X X X X X 0 0 0 系统复位1 X 0 0 X CLK 0 0 0 系统计时1 X 0 1 0 Change=分计数器加1 0 1 0手动1 X 0 1 1 Change=时计数器加1 1 0 0校时1 1 1 0 0 Change=分计数器加1 0 1 1 设置闹钟1 1 1 0 1 Change=时计数器加11 0 11 0 X X X X 0 0 0 关闭闹钟1.2.2 计数器模块计数器模块中,分钟和秒用带进位位的60进制功能模块,小时用不带进位位的24进制功能模块(如果考虑到日期的问题,在24进制模块加进位输出即可实现)。
多功能数字钟设计实验报告XilinxEDABasys2华中科技大学HUST
多功能数字钟设计实验报告院系:电子与通信工程学院:郭世康班级:1301学号:U202113639指导教师:唐祖平一、实验目标掌握可编程逻辑器件的应用开发技术——设计输入、编译、仿真和器件编程熟悉EDA软件使用掌握Verilog HDL设计方法分模块、分层次数字系统设计二、实验容要求根本功能能显示小时、分钟、秒钟〔时、分用显示器,秒用LED〕能调整小时、分钟的时间提高要求任意闹钟;〔1分〕小时为12/24进制可切换〔1分〕报正点数〔几点钟LED闪烁几下〕〔1分〕三、实验条件Xilinx工程环境,win7操作系统,BASYS2实验板。
四、实验设计1.设计分析数字钟大体上由2个60进制计数器,1个24进制计数器构成,中间有数据选择器进展连接。
为实现提高功能,还需12进制计数和整点判断模块。
下列图为数字钟层次构造图。
2. 实验原理振荡器产生稳定的高频脉冲信号,作为数字钟的时间基准,再经分频器输出标准秒脉冲。
秒计数器计满60后向分计数器进位,分计数器满60后向小时计数器进位,小时计数器按24或12进制规律计数。
计数器的输送译码显示电路,即可显示出数码〔即时间〕。
计时出现误差时可以用校时电路进展校时和校分。
小时显示〔12\24〕切换电路、仿电台报时、定时闹钟为扩展电路,只有在计时主体电路正常运行的情况下才能进展功能扩展。
本实验采用Verilog HDL进展描述,然后用FPGA/CPLD实现,使用部50MHz 晶振作为时钟电路。
3. 逻辑设计实现上述功能的Verilog HDL 程序如下。
实现根本功能的程序分为两层次四个模块,底层有3个模块构成,即6进制计数器模块,10进制计数器模块和24进制计数器模块,顶层有一个模块,他调用底层的3个模块完成数字中的计时功能。
moduletimeclock(Hour,Minute,Second,CP,nCR,EN,Adj_Min,Adj_Hour,number,Light,clk,temp,c hange,AMTM,dingdong);output [7:0] Hour,Minute,Second;output [3:0] Light,temp;output [6:0] number;output clk,AMTM,dingdong;//clk为分频之后的时钟信号,频率为1Hz,AMTM为24进制转换12进制时说明上下午的变量,dingdong为整点报时时的闪烁信号。
EDA课程设计数字秒表
课程设计目录第一章:系统设计要求 (3)第二章:实验目的 (3)第三章:实验原理 (3)第四章:系统设计方案 (3)第五章:主要VHDL源程序 (4)1) 十进制计数器的VHDL源程序 (4)2) 六进制计数器的VHDL源程序 (5)3)蜂鸣器的VHDL源程序 (5)4)译码器的VHDL源程序 (6)5)控制选择器的VHDL源程序 (7)6)元原件例化的VHDL源程序 (8)第六章:系统仿真 (10)第七章:系统扩展思路 (11)第八章:设计心得总结 (11)数字秒表的设计一、系统设计要求1.秒表共有6个输出显示,分别为百分之一秒、十分之一秒、秒、十秒、分、十分,所以共有6个计数器与之相对应,6个计数器的输出全都为BCD码输出,这样便于和显示译码器的连接。
当计时达60分钟后,蜂鸣器鸣响10声。
2.整个秒表还需有一个启动信号和一个归零信号,以便秒表能随意停止及启动。
3.秒表的逻辑结构较简单,它主要由显示译码器、分频器、十进制计数器、六进制计数器和报警器组成。
在整个秒表中最关键的是如何获得一个精确的100HZ计时脉冲。
二、实验目的通过本次课设,加深对EDA技术设计的理解,学会用QuartusⅡ工具软件设计基本电路,熟练掌握VHDL语言,为以后工作使用打下坚实的基础。
三、实验原理秒表由于其计时精确,分辨率高(0.01秒),在各种竞技场所得到了广泛的应用。
秒表的工作原理与数字时基本相同,唯一不同的是秒表的计时时钟信号,由于其分辨率为0.01秒,所以整个秒表的工作时钟是在100Hz的时钟信号下完成。
当秒表的计时小于1个小时时,显示的格式是mm-ss-xx(mm表示分钟:0~59;ss表示秒:0~59;xx表示百分之一秒:0~99),当秒表的计时大于或等于一个小时时,显示的和多功能时钟是一样的,就是hh-mm-ss(hh表示小时:0~99),由于秒表的功能和钟表有所不同,所以秒表的hh表示的范围不是0~23,而是0~99,这也是和多功能时钟不一样的地方。
电子设计自动化(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课程设计 数字钟。
一、课程目标知识目标:1. 让学生理解数字时钟的基本原理,掌握数字时钟电路的设计方法。
2. 使学生掌握EDA工具的使用,学会利用工具进行电路设计、仿真和调试。
3. 帮助学生了解数字时钟中各个模块的功能和相互关系。
技能目标:1. 培养学生运用EDA工具进行数字电路设计的能力。
2. 培养学生分析问题、解决问题的能力,能够根据实际需求设计简单的数字时钟电路。
3. 提高学生的动手实践能力,学会使用相关仪器设备进行电路调试。
情感态度价值观目标:1. 激发学生对电子设计的兴趣,培养创新意识和探索精神。
2. 培养学生良好的团队协作精神,学会与他人共同解决问题。
3. 培养学生严谨的科学态度和勤奋刻苦的学习精神。
课程性质:本课程为实践性课程,旨在通过数字时钟电路设计,提高学生的电子设计能力。
学生特点:学生具备一定的电子基础知识,对EDA工具感兴趣,但动手实践能力有待提高。
教学要求:注重理论与实践相结合,充分调动学生的积极性,引导学生主动参与教学活动,提高学生的实践能力。
教学过程中,注重培养学生的团队合作精神和创新能力,为学生的未来发展奠定基础。
通过本课程的学习,使学生能够具备独立设计、制作和调试数字时钟电路的能力。
二、教学内容根据课程目标,本章节教学内容主要包括以下几部分:1. 数字时钟原理:讲解数字时钟的基本原理,分析数字时钟的各个模块功能,如秒脉冲发生器、计数器、显示驱动等。
2. EDA工具使用:介绍EDA工具的基本操作,如原理图绘制、电路仿真、PCB设计等,使学生掌握使用EDA工具进行数字电路设计的方法。
3. 数字时钟电路设计:根据实际需求,制定数字时钟设计方案,包括选择合适的元器件、绘制原理图、编写程序等。
4. 电路仿真与调试:指导学生利用EDA工具进行电路仿真,分析电路性能,优化设计方案;并进行实际电路搭建与调试,培养学生的动手实践能力。
教学大纲安排如下:1. 第一周:数字时钟原理学习,熟悉各个模块功能。
EDA课程设计-万年历电子钟的设计
EDA课程设计-万年历电子钟的设计————————————————————————————————作者:————————————————————————————————日期:课程设计(论文)任务书信息工程学院学院通信工程专业2009.2 班一、课程设计(论文)题目电子钟设计二、课程设计(论文)工作自2012年1月 3日起至 2012 年 1月 6 日止。
三、课程设计(论文) 地点: 华东交通大学4-410,图书馆四、课程设计(论文)内容要求:1.本课程设计的目的(1)掌握EDA技术及CPLD/FPGA的开发流程;(2)掌握自顶向下的设计思想;(3)掌握实用电子钟的设计原理;(4)掌握系统设计的分析方法;(5)提高学生的科技论文写作能力。
2.课程设计的任务及要求1)基本要求:(1)用HDL设计一个多功能数字钟,包含以下主要功能:精确计时,时间可以24小时制或12小时制显示;(2)日历:显示年月日星期;(3)能把设计文件进行仿真并下载到实验箱实现功能验证。
2)创新要求:在基本要求达到后,可进行创新设计,如增加报时等、秒表功能模块。
3)课程设计论文编写要求(1)要按照书稿的规格打印誊写论文(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等(3)论文装订按学校的统一要求完成4)答辩与评分标准:(1)完成系统分析:20分;(2)完成设计过程:20分;(3)完成仿真:10分;(4)完成下载:10分(5)回答问题:10分。
5)参考文献:(1)潘松,黄继业编著 .《EDA技术实用教程》,2005 ,科学出版社(2)徐志军,徐光辉编著.《CPLD/FPGA的开发与应用》,电子工业出版社,2001.1(3)/html/85/t-113885.html6)课程设计进度安排内容天数地点构思及收集资料1图书馆设计与调试3实验室撰写论文1图书馆、实验室学生签名:年月日课程设计(论文)评审意见(1)设计程序(40分):优()、良()、中()、一般()、差();(2)仿真结果(10分):优()、良()、中()、一般()、差();(3)下载结果(10分):优()、良()、中()、一般()、差();(4)回答问题(10分):优()、良()、中()、一般()、差();(5)报告成绩(30分):优()、良()、中()、一般()、差();(6)格式规范性及考勤是否降等级:是()、否()评阅人:职称:年月日电子钟的设计摘要基于FPGA的电子钟设计,主要完成的任务是使用Verilog语音,在Quartise2上完成电路的设计,程序的开发,基本功能是能够显示、修改年月日时分秒。
EDA数字钟实验报告
EDA数字钟实验报告EDA实验EDA实验数字钟一.实验任务用FPGA器件和EDA技术的设计已知条件:XXX软件XXX实验开发装臵基本功能:1.以数字形式显示时,分,秒的时间;2.小时计数器为24进制;3.分,秒计数器为60进制;多功能数字电子钟设计:输入变量:时钟CPS,直接清零RD;输出变量:小时H[7..4]、H[3..0]为8421BCD码输出,其时钟为CLK;分计时M[7..4]、M[3..0]为8421BCD 码输出,其时钟为CPM;秒计时S[7..4]、S[3..0]为8421BCD码输出,其时钟为CLK;RD为清零信号等。
二.仿真与波形1.60进制原理图如下;其仿真波形如下:2.24进制原理图如下:其仿真波形如下:3.数字钟的整个电路图如下:逻辑电路说明:由电路分析得知,多功能数字电子钟最基本的计时电路在CLK(秒)时钟作用下,电路输出变量为H[7..0],M[7..0]及S[7..0],按8421BCD码正常走时,电路为异步时序逻辑电路4.数字电子钟的仿真波形如下:仿真波形分析及结论:由仿真波形分析得知在CLK(秒)时钟作用下,电路正常走时。
分析过程完全符合多功能数字电子钟最基本的计时功能,逻辑电路设计正确。
三.感想:这次的课程设计的内容是《EDA多功能数字钟》,这次课程设计验我花了两个上午的时间。
虽然我是顺利的完成了任务,但是在实验中我还是发现了自己存在的一些问题。
在课程设计中我经常做完上一步就忘记了下一步该怎么做,总是一边看老师的课件一边做,这样一来浪费了不少时间,这是由于我对软件的操作不熟练的缘故,因此我觉得我应该在今后的日子里多练习一下这个MA_+PLUS软件,做到在以后的学习及工作中能利用这个软件快速的正确的完成任务。
在实验中我还经常出现掉步骤的现象,比如经常忘记“指向当前文件”,从而导致得到的结果是错误的甚至根本就得不到结果,这全都是因为粗心大意造成的。
在今后的日子里我会努力的去改掉这个毛病,从而高质量的完成老师交给我的各项任务!。
EDA课程设计--数字秒表设计
电子课程设计—数字秒表的设计数字秒表的设计数字秒表的设计一、设计任务与要求1、数字秒表的计时范围是0秒~59分59.99秒,显示的最长时间为59分59秒。
秒。
2 2、数字秒表的计时精度是、数字秒表的计时精度是10ms 10ms。
3 3、、复位开关可以在任何情况下使用,复位开关可以在任何情况下使用,即便在计时过程中,即便在计时过程中,即便在计时过程中,只要按一下复位只要按一下复位开关,计时器就清零,并做好下次计时的准备。
开关,计时器就清零,并做好下次计时的准备。
4 4、、具有启具有启//停开关,停开关,即按一下启即按一下启即按一下启//停开关,停开关,启动计时器开始计时,启动计时器开始计时,启动计时器开始计时,再按一下再按一下启/停开关则停止计时。
停开关则停止计时。
二、总体框图由频率信号输出端输出频率为100HZ 的时钟信号,输入到微妙模块的时钟端clk ,高/低电平电平频率信号输入输入微妙模块微妙模块秒模块秒模块分模块分模块置数/位选位选显示模块显示模块进位进位微妙模块为100进制的计数器,产生的进位信号co 输入到下一级秒模块的时钟端,以此类推,直到分模块计数到59进60时,产生的进位信号不输出,计数清零。
将微妙、秒、分产生的计数通过置数/位选再通过显示模块实时显示。
设计方案:利用一块芯片完成除时钟源,利用一块芯片完成除时钟源,按键和显示器之外的所有数字电路功按键和显示器之外的所有数字电路功能。
所有数字逻辑功能都在CPLD 器件上用VHDL 语言实现。
这样设计具有体积小,设计周期短,调试方便,故障率地和修改升级容易等特点,本设计采用自顶向下,混合输入方式(原理图输入——顶层文件链接和VHDL 语言输入——各模块程序设计)实现数字秒表的设计,下载和调试。
三、功能模块1.1. 微秒模块微秒模块采用VHDL 语言输入方式,以时钟clk clk,清零信号,清零信号clr 以及暂停信号STOP 为进程敏感变量,程序如下:为进程敏感变量,程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity MINSECONDb isport(clk,clrm,stop:in std_logic;----时钟时钟//清零信号清零信号secm1,secm0:out std_logic_vector(3 downto 0);----秒高位秒高位//低位co:out std_logic);------- co:out std_logic);-------输出输出输出//进位信号进位信号 end MINSECONDb;architecture SEC of MINSECONDb is signal clk1,DOUT2:std_logic;beginprocess(clk,clrm)variable cnt1,cnt0:std_logic_vector(3 downto 0);---计数计数 VARIABLE COUNT2 :INTEGER RANGE 0 TO 10 beginIF CLK'EVENT AND CLK='1'THENIF COUNT2>=0 AND COUNT2<10 THEN COUNT2:=COUNT2+1; ELSE COUNT2:=0;DOUT2<= NOT DOUT2; END IF; END IF;if clrm='1' then----if clrm='1' then----当当clr 为1时,高低位均为0cnt1:="0000"; cnt0:="0000";elsif clk'event and clk='1' then if stop='1' then cnt0:=cnt0; cnt1:=cnt1; end if;if cnt1="1001" and cnt0="1000" ;then----then----当记数为当记数为9898(实际是经过(实际是经过59个记时脉冲)个记时脉冲) co<='1';----co<='1';----进位进位进位cnt0:="1001";----cnt0:="1001";----低位为低位为9elsif cnt0<"1001" then----elsif cnt0<"1001" then----小于小于9时 cnt0:=cnt0+1;----cnt0:=cnt0+1;----计数计数计数 --elsif cnt0="1001" then --clk1<=not clk1;elsecnt0:="0000";if cnt1<"1001" then----if cnt1<"1001" then----高位小于高位小于9时 cnt1:=cnt1+1; elsecnt1:="0000"; co<='0'; end if; end if; end if;secm1<=cnt1; secm0<=cnt0;end process; end SEC;程序生成器件如图:clk clrm stopsecm1[3..0]secm0[3..0]coMINSECONDbinst3微妙模块生成的器件可以实现带有100进制进位和清零功能,暂停等功能,MINSECONDb 输入为100HZ 脉冲和低电平的清零信号CLR 与暂停信号STOP STOP,输出,输出微妙个位、十位及进位信号CO CO。
数字电子实习设计能显示小时,分,秒的数字钟之令狐文艳创作
数字电子实习令狐文艳实习题目:报时式数字钟的设计指导教师:吴勇马占辉班级:测控 08-2班姓名:于国庆学号: 29号目录一、软件介绍 (3)二、设计任务与要求 (5)三、设计原理 (5)四、设计过程 (6)五、元器件清单 (13)六、实习心得 (14)七、参考文献 (16)一、软件介绍Max+plusⅡ开发软件是Altera公司自行设计的可编程逻辑器件的EDA开发工具。
它是一种与器件结构无关的集成设计环境,提供了灵活和高效的界面,允许设计人员选择各种设计输入方法和工具,能够支持Altera公司的MAX、Classic、FLEX以及ACEX系列的PLD器件。
Max+plusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件。
在Max+plusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。
Max+plusⅡ开发系统的特点作为最为流行的EDA开发软件,Max+plusⅡ为设计人员提供的丰富功能、灵活的操作界面是其他同类软件无可比拟的。
概括起来,此软件主要有以下几个特点:1、支持多种操作平台Max+plusⅡ开发软件可在基于windowsNT4.0、windows95、windows98、windows2000、操作系统下运行,也可在Sun SPARC Station、HP9000Series 700/800和IMB RISC System/6000工作站上运行。
2、提供开放性的界面Max+plusⅡ支持与Cadence,Exemplarlogic,Mentor Graphics,Synplicty,Viewlogic和其它公司所提供的EDA 工具接口。
3、与结构无关Max+plusⅡ系统的核心Complier支持Altera公司的FLEX10K、FLEX8000、FLEX6000、MAX9000、MAX7000、MAX5000和Classic可编程逻辑器件,提供了世界上唯一真正与结构无关的可编程逻辑设计环境。
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章“数字电路实践”。
EDAII设计详解
EDA设计Ⅱ--多功能数字钟设计姓名:学号:院系:电子工程与光电技术学院专业:电子信息工程指导老师:谭雪琴2015年11月摘要本实验综合运用数字逻辑电路知识,借助QuartusⅡ软件对多功能数字钟系统进行设计、仿真和调试,并将工程下载到SmartSOPC实验箱进行验证和完善。
该数字钟系统不仅具有24小时计时、保持、清零、快速校时、快速校分、整点报时等基本功能,还具有闹钟的拓展功能。
系统按照自顶向下及模块设计思想,独立设计出各功能电路,然后进行封装和整合,最终得到性能完齐全,集中于一个整体的数字钟系统。
关键字:Quartus 数字钟多功能仿真AbstractThis experiment is based on fundamental digital knowledge.The aim of it is to design a digital clock based on Quartus software,and then download into experiment board to validate the correction of the system.The designed clock has basic functions including 24-hours time-counting,hour-correcting,minute-correcting,reset,time-holding,sharp -hour time-telling.In addition,the clock is added an extra function-- alarm ,which makes this digital clock more fully functional.目录一.设计要求 (4)二.方案论证 (4)2.1 多功能电子数字钟整体设计方案 (4)2.2多功能电子数字钟整体电路 (6)三.基础功能模块设计 (6)3.1分频电路模块 (6)3.2计时电路模块 (10)3.2.1秒部计时 (10)3.2.2分部计时 (11)3.2.3时部计时 (13)3.2.4整合电路 (14)3.3控制电路模块 (15)3.3.1消颤 (15)3.3.2快速较分,校时 (16)3.3.3保持 (17)3.3.4清零 (18)3.4整点报时电路模块 (18)3.5译码显示电路模块 (19)四.附加功能设计 (20)4.1周历功能 (20)4.2闹钟功能 (21)五.调试编译,管脚分配及编程下载 (24)4.1调试编译 (24)4.2管脚分配 (24)4.3编程下载 (25)六.实验总结与感想 (25)七.参考文献 (26)一.设计要求1、要求简介设计一个数字计时器,可以完成00:00:00到23:59:59的计时功能,并在控制电路的作用下具有保持、清零、快速校时和校分及整点报时等功能。
eda课程设计数字时钟设计
eda课程设计数字时钟设计一、教学目标本课程旨在通过数字时钟设计项目,让学生掌握EDA(电子设计自动化)工具的基本使用,理解数字电路的设计原理,培养学生的动手实践能力和创新能力。
具体目标如下:1.知识目标:•掌握数字电路的基本概念和设计方法。
•学习常用的EDA工具,如Multisim、Proteus等,并能够运用它们进行数字电路的设计和仿真。
•了解时钟信号的产生和应用,理解RTC(实时时钟)的工作原理。
2.技能目标:•能够运用EDA工具设计简单的数字时钟电路。
•能够进行电路仿真,调试并优化设计。
•学会阅读和理解电子电路图,培养良好的电子工程实践能力。
3.情感态度价值观目标:•培养学生对电子科技的兴趣,增强其科技意识。
•培养学生团队协作精神和自主学习能力。
•培养学生解决问题的能力,增强其面对挑战的信心。
二、教学内容本课程的教学内容主要包括数字电路基础、EDA工具的使用、数字时钟设计原理和RTC的应用。
具体安排如下:1.数字电路基础:•数字逻辑门电路•组合逻辑电路•时序逻辑电路2.EDA工具的使用:•Multisim和Proteus的基本操作•数字电路图的绘制和仿真3.数字时钟设计原理:•常见的时钟信号生成电路•数字时钟电路的设计方法4.RTC的应用:•RTC的工作原理•RTC在数字时钟中的应用三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:用于讲解数字电路基础和EDA工具的使用方法。
2.案例分析法:通过分析具体的数字时钟设计案例,让学生理解数字时钟的设计过程。
3.实验法:让学生动手实践,使用EDA工具进行数字时钟的设计和仿真。
四、教学资源为了支持教学,我们将准备以下教学资源:1.教材:选用《数字电路与EDA技术》作为主要教材。
2.参考书:提供《EDA技术教程》等参考书籍,供学生课后自主学习。
3.多媒体资料:制作课件和教学视频,用于课堂讲解和课后复习。
4.实验设备:提供计算机、EDA工具软件、电路仿真实验板等,供学生进行实验和实践。
EDA课程设计——基于VHDL语言的数字时钟设计(可编辑)
EDA课程设计——基于VHDL 语言的数字时钟设计(可编辑)(文档可以直接使用,也可根据实际需要修改使用,可编辑推荐下载)一、设计要求 0二、设计原理及框图 01、设计原理 02、结构框图 0三、设计过程 (1)1、模块化设计 (1)2、顶层文件生成 (2)四、仿真调试过程 (3)1、各模块时序仿真图 (3)2、仿真过程中遇到的问题 (4)五、设计体会及收获 (4)一、设计要求1、稳定的显示时、分、秒。
2、当电路发生走时误差时,要求电路有校时功能。
3、电路有整点报时功能。
报时声响为四低一高,最后一响高音正好为整点。
二、设计原理及框图1、设计原理系统框图由六个模块组成,分别为:秒、分、时计数模块,整点报时模块,LED动态显示扫描模块,调时控制模块组成。
其工作原理是:基准脉冲输入信号同时加到秒、分、时、分隔符的脉冲输入端,采用并行计数的方式,秒的进位接到分的使能端上,秒的使能借到分隔符的使能上,分得接到时的使能端上,完成秒、分、时和分隔符的循环计数。
整点报时是根据分的A、B输出同时为0时,整点报时模块输出高电平控制报时。
LED显示扫描模块根据输入的扫描信号CKDSP轮流选通秒、分、时、分隔符的8位八段数码管,LED显示译码器完成计数器输出的BCD的译码。
2、结构框图三、设计过程1、模块化设计(1)秒计时模块秒计时模块由一个60位计数器为主体构成,其输入输出端口组成为:Clk:计时时钟信号Reset:异步清零信号Setmin:分钟设置信号Enmin:使能输出信号Daout[6:0]:BCD码输出(2)分计时模块分计时模块由一个60位计数器为主体构成,其输入输出端口组成为:Clk、clk1:计时时钟信号Reset:异步清零信号Sethour:小时设置信号Enmin:使能输出信号Daout[6:0]:BCD码输出(3)时计时模块时计时模块由24位计数器为主体构成,其输入输出端口组成为:Clk:计时时钟信号Reset:异步清零信号Daout[6:0]:BCD码输出(4)显示模块系统时间输出由六个七段数码管显示。
EDA实验课程简介
EDA实验课程简介EDA实验课程是为了更好的提高科研能力,深化本科及高职高专的教学方针,使学生能更有效的将理论知识与实践结合起来而创办的一个集教学和科研为一体的实验课程。
EDA实验室位于电子信息楼B304,占地面积为140㎡,其所含的设备有:联想电脑32台及配套的可编程器件CPLD/FPGA实验箱50套。
这套可编程器件CPLD/FPGA实验系统配有功能强大的开发软件,不仅支持多种电路设计方法,如电原理路图、硬件描述语言VHDL 等,而且还支持电路仿真和时序分析等功能,为老师和学生开发和调试产品提供了极大的方便。
EDA实验课程适用专业应用电子、通信工程、电子信息工程、供用电技术、电气工程、机电一体化、水动等电子、机械专业。
适用课程可编程控制器原理及应用。
主要实验项目有 :1、矩阵键盘控制接口设计实验2、 电子色子游戏机设计实验3、 数字时钟设计实验4、 秒表设计实验5、VGA 显示接口设计实验-VGA 彩条信号发生器6、PS/2 键盘接口设计实验7、 16×16 点阵汉字显示与应用设计实验8、 液晶显示与应用设计实验9、 串行AD 数据采集与显示设计实验10、 并行AD 数据采集与显示设计实验-数字电压表11、并行DA-简易函数发生器设计实验12、 串行DA-函数信号发生与扫频信号发生器设计实验13、硬件电子琴设计实验14、 计算机控制的(串行口)电子琴设计实验15、乐曲自动演奏与硬件电子琴设计实验16、 并行口实验-直接数字合成DDS 设计实验17、 简易语音采集与处理-数字录音机设计实验EDA实验室优美的教学环境为学生施展才华提供了广阔的空间,使学生在学习理论知识的同时又能在实践上加强感性认识,提高实际操作能力。
数字时钟课程设计
数字时钟课程设计数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。
虽然现在市场上已有现成的电子钟集成电路芯片出售,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示日期、农历、以及星期等,给人们的生活带来了方便。
另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。
1绪论1.1课题背景及目的在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。
早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着数字集成电路性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。
小则可以用于家电控制,甚至可以用于儿童电子玩具。
它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。
随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。
根据这种实际情况,设计了一个单片机多功能定时系统,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准和定点打铃。
它可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时间。
这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。
1.2数字时钟的应用数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。
虽然现在市场上已有现成的电子钟集成电路芯片出售,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示日期、农历、以及星期等,给人们的生活带来了方便。
另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
青海民族大学EDA论文论文题目:基于EDA的数字电子钟的实现指导老师:院系:物理与电子信息工程学院姓名:学号:班级:08通信工程(1)班2010年11月25日摘要Abstract第一章:绪论1.1:选题目的1.2:设计思路第二章:数字电子钟小系统 2.1:整体设计方案框架图 2.2:模块程序验证2.3:总程序框图第三章:硬件实现与总结3.1:硬件实现3.2:总结致谢参考文献EDA技术[1]的设计语言为VHDL(硬件描述语言),实验载体为可编程器件CPLD或者FPGA,进行元件建模和仿真的目标器件为ASIC/SOC芯片。
它是一种自动化设计电子产品的过程。
在电子设计仿真的领域里,EDA技术的出现具有非常重要的现实意义。
EDA 源自于计算机辅助设计、制造、测试以及辅助工程。
利用EDA工具,设计者们可以从概念、算法、协议等方面来设计电子系统。
值得一提的是,在整个电子系统的设计过程中,设计电路、分析性能、布置IC和PCB版图等步骤都可以在电脑上自动完成。
时钟我们的日常生活中必备的生活用品之一。
而数字时钟的出现更是给人们的生产生活带来了极大的便利。
EDA技术为数字类产品提供了一个非常简便实用的开发平台。
随着EDA技术的快速发展,数字时钟的应用的范围越来越广泛,并且它在功能、外观等方面也有了很大的改善和提高。
本文就是基于EDA技术和数字电路的基础知识,利用Quartus2软件、再现一个传统时钟功能和闹铃功能的数字时钟。
整个小系统包括传统数字时钟所拥有的计时模块、校时模块、译码显示模块。
关键词:EDA;数字时钟;模块;闹钟AbstractEDA technology design language for VHDL (hardware description language), experimental carrier for programmable devices, components or FPGA CPLD device modeling and simulation of target for ASIC/SOC chip. It is a kind of automation design electronic product process. In the electronic design simulation field, EDA technique appears has very important practical significance. EDA originated in computer aided design, manufacture, test and the auxiliary projects. Using EDA tools, designers can from concept, algorithm, agreement, etc to design electronic systems. Be worth what carry is, in the whole electronic system design process, the circuit design, analyzing performance, decorate IC and PCB layout steps can be on the computer automatically.Clock is one of the necessaries in our daily life. And digital clock has brought about lots of convenience. EDA technology provides a simpler and more useful platform to make a study of digital products. With the development of EDA technology, digital clock has improved a lot in its designing process, functions, appearance and so on. Nowadays, this paper is based on EDA technique and digital circuit, by using the basic knowledge of Quartus2 software, reproduce a traditional clock function and alarm function of digital clock. The system includes traditional digital clocks have timer modules, alarm clock module, decoding display module.Keywords: EDA; digital clock; modules; alarm第一章:绪论1.1:选题目的时钟是我们日常生活中常见的一种电子产品,它的出现给我们的生活带来了极大的便利,在大学这两年里所学的有关电子的知识尤其是EDA给了我一个平台去再现原始的、传统的数字电子钟,也为深入去了解、思考创新数字电子钟有一个基础。
目前,现代时钟正朝着高精度、多功能、小体积、低功耗等方向发展。
在这种趋势下,数字时钟以其小巧的外形、便宜的价格、走时准确、功能强大等优点迅速成为钟表市场上的主流产品。
由此可见,研究数字时钟的扩展及其应用,有着非常重要的现实意义。
因此,本论文即利用EDA技术(本论文仅涉及VHDL语言编程及硬件实现)以及数字电路技术等基础知识设计了一个传统钟表功能(如计时、闹铃等)数字时钟小系统。
1.2:设计思路要实现一个数字时钟小系统,整个系统由主要模块电路模块和外部输入输出以及显示模块组成。
首先分别实现单个模块的功能,然后再通过级联组合的方式实现对整个系统的设计。
其中,主要模块有四个。
它包括脉冲信号产生模块、时间计数模块(计数模块又分为分计数模块、秒计数模块、时计数模块)、译码显示模块、复位模块。
各个模块先用EDA技术中的VHDL语言编程仿真,再生成各个小模块的模拟元件,再元件例化,根据设计连接电路实现数字电子钟小系统。
第二章:数字电子钟小系统2.1:整体设计方案框架图译码显示计时模块校时模块复位模块时钟脉冲2.2:模块程序验证1、秒计时器(second1)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity second isport(clk,reset:in std_logic;sec1,sec2:out std_logic_vector(3 downto 0);carry:out std_logic);end second;architecture rt1 of second issignal sec1_t,sec2_t:std_logic_vector(3 downto 0); beginprocess(clk,reset)beginif reset='1'thensec1_t<="0000";sec2_t<="0000";elsif clk'event and clk='1'thenif sec1_t="1001"thensec1_t<="0000";if sec2_t="0101"thensec2_t<="0000";elsesec2_t<=sec2_t+1;end if;elsesec1_t<=sec1_t+1;end if;if sec1_t="1001" and sec2_t="0101"thencarry<='1';elsecarry<='0';end if;end if;end process;sec1<=sec1_t;sec2<=sec2_t;end rt1;程序生成波形和硬器件:同秒计时器一样3、时计时器(hour1)library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hour isport (clk,reset:in std_logic;hour1,hour2:out std_logic_vector(3 downto 0)); end hour;architecture rt1 of hour issignal hour1_t,hour2_t:std_logic_vector(3 downto 0); beginprocess(clk,reset)beginif reset='1'thenhour1_t<="0000";hour2_t<="0000";elsif clk'event and clk='1'thenif hour1_t="0011" and hour2_t="0010"thenhour1_t<="0000";hour2_t<="0000";elseif hour1_t="1001"thenhour1_t<="0000";if hour2_t="0010"thenhour2_t<="0000";elsehour2_t<=hour2_t+1;end if;elsehour1_t<=hour1_t+1;end if;end if;end if;end process;hour1<=hour1_t;hour2<=hour2_t;end rt1;程序生成波形和硬器件:4、分频器(fp)library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity fp isport (rst,clk : in STD_LOGIC;what: out STD_LOGIC);end fp;architecture a of fp issignal count100 : integer range 0 to 99;signal tt:std_logic;beginprocess (rst,clk)beginif rst='1' then count100<=0;elsif rising_edge(clk) thencount100<= count100 + 1 ;tt<=tt;if count100=99 then count100<=0;tt<=not tt;end if ;end if;what<=tt;end process;end a;程序生成波形和硬器件:5、mux6_1scanlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity mux6_1scan isport(clkscan,reset:in std_logic;in1,in2,in3,in4,in5,in6:in std_logic_vector(3 downto 0);data:out std_logic_vector(3 downto 0);sel:out std_logic_vector(2 downto 0));end mux6_1scan;architecture rt1 of mux6_1scan issignal count:std_logic_vector(2 downto 0);beginprocess(clkscan,reset)beginif reset='1'thencount<="000";elsif clkscan'event and clkscan='1'thenif count="101"thencount<="000";elsecount<=count+1;end if;end if;end process;process(count)begincase count iswhen "000"=>data<=in1;when "001"=>data<=in2;when "010"=>data<=in3;when "011"=>data<=in4;when "100"=>data<=in5;when others=>data<=in6;end case;end process;sel<=count;end rt1;程序生成波形和硬器件:6.译码显示模块的VHDL程序(segment7.vhd)library ieee;use ieee.std_logic_1164.all;entity segment7 isport(data:in std_logic_vector(3 downto 0); dout:out std_logic_vector(6 downto 0)); end segment7;architecture behav of segment7 isbeginprocess(data)begincase data iswhen "0000"=>dout<="1111110";when "0001"=>dout<="0110000";when "0010"=>dout<="1101101";when "0011"=>dout<="1111001";when "0100"=>dout<="0110011";when "0101"=>dout<="1011011";when "0110"=>dout<="1011111";when "0111"=>dout<="1110010";when "1000"=>dout<="1111111";when "1001"=>dout<="1111011";when others=>dout<="0000000";end case;end process;end behav;程序生成波形和硬器件:7.校时模块图四、系统设计将上述5个程序作为底层文件,存放在同一个文件夹中,然后按下面的图将这几个文件连接起来,并用元件例化语句编写顶层文件的程序,如下:library ieee;use ieee.std_logic_1164.all;entity zdbs isport(hour1,hour2,min1,min2,sec1,sec2:in std_logic_vector(3 downto 0);q1,q0:in std_logic;q:out std_logic);end zdbs;architecture one of zdbs issignal q3,q4:std_logic;beginprocess(min1,min2,sec1,sec2)beginif hour2="0000"and hour1<"0111"thenq3<='0';q4<='0';elsif min2="0101"and min1="1001"and sec2="0101"thenif sec1="0000"or sec1="0010"or sec1="0100" or sec1="0110"or sec1="1000"thenq3<='1';elseq3<='0';end if;end if;if hour2="0000"and hour1<"0111"thenq3<='0';q4<='0';elsif min2="0000"and min1="0000"and sec2="0000"and sec1="0000"then q4<='1';elseq4<='0';end if;end process;q<=(q3 and q0)or(q4 and q1);end one;程序生成波形和硬器件:2.3:总程序框图第三章:硬件实现与总结3.1:硬件实现3.2:总结在这次设计过程中,我在老师和老师的指导下逐步加深了了解,其间也曾经遇到很多问题,不论是程序设计方面的,还是调试方面的问题。