EDA课程设计报告
- 格式:doc
- 大小:59.87 MB
- 文档页数:18
eda花样彩灯课程设计报告一、课程目标知识目标:1. 学生能理解并掌握EDA(电子设计自动化)花样彩灯的基本原理与设计流程。
2. 学生能识别并运用课程中所学的电子元件,如LED灯、电阻、电容等,并理解其在电路中的作用。
3. 学生能够运用已学的电子知识,设计并搭建简单的EDA花样彩灯电路。
技能目标:1. 学生能够运用计算机软件进行电路设计与仿真,提高实际操作能力。
2. 学生通过小组合作,提高沟通协调能力和团队协作能力。
3. 学生能够运用问题解决策略,对设计过程中出现的问题进行分析、调试和优化。
情感态度价值观目标:1. 学生培养对电子科技的兴趣,增强创新意识和实践能力。
2. 学生在设计和制作过程中,培养耐心、细心的品质,提高面对困难的勇气和毅力。
3. 学生通过课程学习,认识到科技与生活的密切联系,增强环保意识和责任感。
本课程针对五年级学生特点,结合电子设计实际应用,注重培养学生的动手能力、创新能力和团队协作能力。
通过课程学习,使学生能够将所学知识应用于实际生活,激发他们对科技的兴趣,提高科学素养。
课程目标具体、可衡量,便于教师进行教学设计和评估。
二、教学内容本课程教学内容主要包括以下几部分:1. 电子元件的认识:介绍常用电子元件如LED灯、电阻、电容等,使学生了解其性能、特点及在电路中的作用。
2. EDA软件使用:教授学生如何使用EDA软件进行电路设计与仿真,包括电路图的绘制、元件的选取与放置、电路的仿真与调试等。
3. 花样彩灯设计原理:讲解花样彩灯的设计原理,如电路的基本连接方式、控制方法等。
4. 实践操作:指导学生进行EDA花样彩灯的设计与制作,让学生在实际操作中掌握所学知识。
5. 课程总结与展示:学生完成作品后,进行课程总结,分享设计经验,展示作品成果。
教学内容安排如下:1. 第一课时:电子元件的认识及基本电路原理介绍。
2. 第二课时:EDA软件的使用方法教学。
3. 第三课时:花样彩灯设计原理及实践操作指导。
第一篇:eda课程设计数字钟一、设计要求设计一个数字钟,具体要求如下:1、具有时、分、秒计数显示功能,以24小时循环计时。
2、具有清零、校时、校分功能。
3、具有整点蜂鸣器报时以及LED花样显示功能。
二、设计方案根据设计要求,数字钟的结构如图8-3所示,包括:时hour、分minute、秒second计数模块,显示控制模块sel_clock,七段译码模块deled,报时模块alert。
三、VHDL程序library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; useIEEE.STD_LOGIC_UNSIGNED.ALL;---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM;--use UNISIM.VComponents.all;entityddz is port(rst,clk: in std_logic; hour_h: out std_logic_vector( 6 downto 0); hour_l: outstd_logic_vector( 6 downto 0); min_h: out std_logic_vector( 6 downto 0);min_l: out std_logic_vector( 6 downto 0);sec_h: out std_logic_vector( 6 downto 0);sec_l: out std_logic_vector( 6 downto 0)); endddz;architecture Behavioral of ddz is signalcnt: std_logic_vector(15 downto 0); signalsec_h_in: std_logic_vector( 3 downto 0); signalsec_l_in: std_logic_vector( 3 downto 0); signalmin_h_in: std_logic_vector( 3 downto 0); signalmin_l_in: std_logic_vector( 3 downto 0); signalhour_h_in: std_logic_vector(3 downto 0); signalhour_l_in: std_logic_vector(3 downto 0);signalclk_s,clk_m,clk_h: std_logic; begin process(rst,clk) begin if rst='0' then sec_h_in'0');sec_l_in'0');clk_msec_l_inifsec_h_in=5 thensec_h_inclk_melsesec_h_inclk_mend if; else sec_l_inclk_mend if; end if; end process;process(rst,clk_m) begin if rst='0' then-- min_h_in'0');min_l_in'0'); -- clk_hmin_l_inmin_h_inclk_mend if; else min_l_inend if; end if; end process;process(rst,clk_n) begin if rst='0' then-- hour_h_in'0');hour_l_in'0'); -- clk_hhour_l_inhour_h_inclk_nend if; else hour_l_inend if; end if; end process;process(sec_l_in) begin casesec_l_in iswhen "0000" =>sec_lsec_lsec_lsec_lsec_lsec_lsec_lsec_lsec_lsec_lsec_lprocess(sec_h_in) begin casesec_h_in iswhen "0000" =>sec_hsec_hsec_hsec_hsec_hsec_hsec_hsec_hsec_hsec_hsec_hprocess(min_l_in) begin casemin_l_in iswhen "0000" =>min_lmin_lmin_lwhen "0011" =>min_lmin_lmin_lmin_lmin_lmin_lmin_lmin_lprocess(min_h_in) begin casemin_h_in iswhen "0000" =>min_hmin _h min _hmin _hmin _h min _hmin _hmin _hmin _hmin _hmin _hend case; end process;process(hour_l_in) begin casehour_l_in iswhen "0000" =>hour_lhour_lhour_lhour_lhour_lhour_lhour_lhour_lhour_lhour_lhour_lprocess(hour_h_in) begin casehour_h_in iswhen "0000" =>hour_hhour_hhour_hhour_h hour _h hour _h hour _h hour _h hour _hhour_h hour _h四、VHDL仿真结果五、课程设计心得通过这次课程设计,有效得巩固了课本所学的知识,而且通过上机仿真不断发现问题并及时改正,加深了我们对该课程设计的印象。
《EDA课程实验设计报告》洗衣机自动控制器设计一实验要求:1、由一个按键控制洗衣机的启动、暂停。
2、洗衣机洗涤一定时间后,能自动停止,由一个LED灯闪烁提示,并发出报警提示。
3、洗涤时间能用数码管显示,暂停时时间停止,暂停后时间在停止的时间基础上继续计时。
4、用至少四个LED指示灯的流动表示洗衣机的正转和反转。
即当正转20秒时,四个指示灯从右向左循环移动;反转20秒时,四个指示灯从右向左循环移动。
5、暂停10秒时,四个指示灯闪烁来表示电机停止转动。
二.设计总体思路,基本原理1.设计总体思路从课程设计要求来看,要求实现电机的正传、反转、暂停,用四个LED灯的状态来表示,当显示时间前20秒正传、暂停10秒、反转20秒、再暂停10秒,如此一来,周期恰好是60秒,理所当然的分钟计数器、秒计数器是一定要有的。
接下来脉冲是一定的了,但是有分钟计数器和秒钟计数器还要考虑是不是要60分频器,就我们所学过的来说实现循环有移位寄存器;还有个问题,当洗涤时间到了,报警还要一个报警电路,根据要求,报警的蜂鸣器不可以长时间的叫,要有个合理的时间,我们可以用一个单稳态电路来实现。
方案为:直接从数值上进行提取信号来控制一个可以实现循环的74LS194来实现。
2.基本原理首先,从秒脉冲出来的信号,经过一个控制电路后进入秒计数器进行秒计数,进行清零,这时用户置入洗涤时间,并按开始按钮,洗衣机开始工作。
当秒计数器变为零的时候,去分钟计数器上面借数;与此同时,从十秒位转化出来的信号进入移位寄存器后,LED灯表示出电机运转状态;当用户设定的洗涤时间结束后,电路报警并清零。
三.单元电路设计1.一百进制分计数器和六十秒计数器的设计(1)分、秒计数器的设计分、秒计数器我们都用74192片,74192上升沿触发,由UP,DOWN两管脚控制加减计数,有异步置数端LOAR和异步复位端CLR,BO’和CO’分别输出高电平表示加进位和减进位。
由于74192没有保持脚,故需要外围电路实现保持功能。
一、课程设计目的以及要求1.1、课程设计应该达到的目的:《EDA课程设计》是根据《VHDL程序设计》这门课程开设的综合设计课程,要求学生利用VHDL语言编程,基于EDA开发平台Quartus II,设计相应的数字系统,通过对系统进行编程、仿真、调试与实现,体验设计的全过程,进一步加深对所学基础知识的理解,培养学生将理论知识应用于时间的能力、学生自学与创新能力和分析解决实际问题的能力。
1.2、课程设计的要求:多路彩灯控制器通过对应的开关按钮,能够控制个多个彩灯的输出状态,组合多种变换的灯光闪烁,它被广泛应用到节目庆典、剧场灯光、橱窗装饰中。
设计要求设计一个完整的16路彩灯控制器。
具体要求:设计一个多路彩灯控制器,能循环变化花型,可清零,可选择花型变化节奏。
彩灯控制器有16路发光二极管构成,当控制器开关打开时,能够在6种不同的彩灯花型之间进行循环变化。
要求控制具备复位清零功能,一旦复位信号有效,不论控制器花型变化处于何种状态,都会无条件即刻清零,恢复到初始状态。
设置节拍选择按钮。
按下此按钮,多路彩灯控制器的花型4变化的节奏减缓;放开此按钮,则变换节奏相对加快。
二、8路彩灯控制器的实现2.1、功能描述在电路中以 1 代表灯亮,以 0 代表灯灭,由 0,1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,从而实现多种图案多种频率的花样功能显示。
在该电路中只需简单的修改程序就可以灵活地调整彩灯图案和变化方式。
下面就以一个十六路彩灯控制系统的实现为例进行简单说明。
此十六路彩灯控制系统设定有六种花样变化 ,这六种花样可以进行自动切换 ,并且每种花样可以选择不同的频率。
2.2、设计原理用VHDL进行设计 ,首先应该了解 ,VHDL语言一种全方位硬件描述语言 ,包括系统行为级 ,寄存传输级和逻辑门级多个设计层次。
应充分利用DL “自顶向下”的设计优点以及层次化的设计概层次概念对于设计复杂的数字系统是非常有用它使得人们可以从简单的单元入手 ,逐渐构成庞大而复杂的系统。
EDA课程设计报告彩灯控制器三班级:学号:姓名:目录一.设计目的 (3)二.设计要求 (3)三.功能模块 (3)3.1 计数器模块 (3)3.2 分频器模块 (6)3.3 显示模块 (7)3.4 系统结构 (8)四.总结 (9)参考文献 (9)一.设计目的学习EDA开发软件quartus Ⅱ的使用方法,熟悉可编程逻辑器件的使用,通过制作来了解彩灯控制系统。
通过这次课程设计更清楚的理解了VHDL程序的描述语言,能进行简单程序的编写和仿真。
二.设计要求1. 有十只LED,L0……L92. 显示方式①先奇数灯依次灭②再偶数灯依次灭③再由L0到L9依次灭3.显示间隔0.5S,1S可调。
三.功能模块彩灯设计总体采用分模块的方法来完成,包括计数器、分频器、和显示部分。
3.1计数器模块计数器模块用来控制彩灯输出模块,即确定彩灯控制器的不同的输出。
Rst:输入信号复位信号用来复位计数器”。
Clk:输入信号用来给模块提供工作频率。
Coun[9..0]:输出信号即为计数器的输出。
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity caideng31 isport(clk,rst,en:in std_logic;cout:out std_logic_vector(9 downto 0));end caideng31;architecture one of caideng31 isbeginprocess(clk,rst,en)variable q1:std_logic_vector(1 downto 0); variable q2:std_logic_vector(2 downto 0); beginif rst='1' then q1:=(others=>'0');q2:=(others=>'0');elsif clk'event and clk='1' thenif en='1' thenif q2<"101" then q2:=q2+1;else q2:=(others=>'0');end if;end if;end if;if q1<"11" thenif q2="101" then q1:=q1+1;end if;end if;if q1="00" thencase q2 iswhen"000"=>cout<="1111111111";when"001"=>cout<="1011111111";when"010"=>cout<="1010111111";when"011"=>cout<="1010101111";when"100"=>cout<="1010101011";when"101"=>cout<="1010101010";when others=>null;end case;elsif q1="01" thencase q2 iswhen"000"=>cout<="1111111111"; when"001"=>cout<="0111111111"; when"010"=>cout<="010*******"; when"011"=>cout<="010*******"; when"100"=>cout<="010*******"; when"101"=>cout<="010*******"; when others=>null;end case;elsif q1="10" thencase q2 iswhen"000"=>cout<="1111111111"; when"001"=>cout<="0111111111"; when"010"=>cout<="0011111111"; when"011"=>cout<="0001111111"; when"100"=>cout<="0000111111"; when"101"=>cout<="0000011111"; when others=>null;end case;elsif q1="11" thencase q2 iswhen"000"=>cout<="0000001111"; when"001"=>cout<="0000000111"; when"010"=>cout<="0000000011"; when"011"=>cout<="0000000001"; when"100"=>cout<="0000000000"; when"101"=>cout<="1111111111";when others=>null;end case;end if;end process;end;3.2分频器模块设计要求显示间隔0.5S,1S可调,所以设计分频器来用不同的频率控制不同的显示间隔。
EDA课程设计报告•相关推荐EDA课程设计报告在我们平凡的日常里,报告的使用成为日常生活的常态,报告中涉及到专业性术语要解释清楚。
那么报告应该怎么写才合适呢?以下是小编为大家整理的EDA课程设计报告,希望对大家有所帮助。
EDA课程设计报告1实训任务:一、实训目的和要求:(1)熟练掌握keil c51集成开发环境的使用方法(2)熟悉keil c51集成开发环境调试功能的使用和dp?51pro。
net单片机仿真器、编程器、实验仪三合一综合开发平台的使用。
(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。
(4)了解掌握单片机芯片的烧写方法与步骤。
(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。
(6)掌握利用protel 99 se绘制电路原理图及pcb图。
(7)了解pcb板的制作腐蚀过程。
二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v 10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)dp?51pro。
net单片机仿真器、编程器、实验仪三合一综合开发平台(一台)三、实训步骤:(2)将流水灯程序编写完整并使用tkstudy ice调试运行。
(4)打开电源,将编写好的程序运用tkstudy ice进行全速运行,看能否实现任务要求。
(6)制板。
首先利用protel 99 se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb板上布线图外的铜全部后,将其取出,清洗干净。
(7)焊接。
将所给元器件根据原理图一一焊至pcb板相应位置。
(8)调试。
先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。
目录1、概述 (4)2、设计要求 (4)3、设计内容 (5)4、方案设计与原理分析 (6)5、锁存译码设计 (9)6、报警信号发生器 (16)7、密码锁控制电路仿真结果及下载分析(18)8、心得体会 (22)电子技术综合任务书姓名学号学院班级题目简易14位数字密码锁控制电路设计设计任务1、基本要求(1)、14位数字密码分成高7位(DH6….D H0)和低7位(DL6….D L0),用数字逻辑开关预置,输出信号out为1表示开锁,否则关闭。
;(2)、14位数字密码分时操作,先预置高7位,然后再置入低7位,(3)要求电路工作可靠,保密性强,开锁出错立即报警,(4)、利用MAXPLUS2软件进行设计、编译、并在FPGA芯片上实现;(5)、14位密码自己设定。
时间进度总体时间为1周;星期一上午:讲解;星期一下午:理解电路原理;星期二下午:编辑源程序设计电路;星期四下午:验收电路图,检验程序是否正确;星期五之前:上交课程设计报告;主要参考文献【1】刘爱荣、王振成。
EDA技术与CPLD︱FPGA开发应用简明教程。
北京:清华大学出版社;【2】刘吕华。
数字逻辑EDA设计与实践。
北京:国防工业出版1、概述现在EDA技术应用广泛,包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。
目前EDA 技术已在各大公司、科研和教学部门广泛使用。
在产品设计与制造方面,EDA 技术可实现前期的计算机仿真、系统级模拟及测试环境的仿真、PCB的制作、电路板的焊接、ASIC的设计等。
EDA是随着集成电路和计算机技术的飞速发展应运而生的一种高级、快速、有效的电子设计自动化工具。
它是为解决自动控制系统设计而提出的,从七十年代经历了计算机辅助设计CAD,计算机辅助工程CAE,电子系统设计自动化ESDA三个阶段。
前两个阶段的EDA产品都只是个别或部分的解决了电子产品设计中的工程问题;第三代EDA工具根据工程设计中的瓶颈和矛盾对设计数据库实现了统一管理,并提供了并行设计环境概念,提供了独立与工艺和厂家的系统级的设计工具。
eda课程设计报告一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握EDA工具的使用方法。
2. 学生能运用EDA软件进行电路设计与仿真,理解并掌握数字电路的设计原理。
3. 学生了解并掌握基础的硬件描述语言(如VHDL/Verilog),能完成简单的数字系统设计。
技能目标:1. 学生通过EDA软件的操作,培养电子电路设计、仿真与验证的实际操作能力。
2. 学生通过小组合作完成设计项目,提高团队协作与沟通技巧。
3. 学生能够运用所学知识解决实际问题,具备一定的创新意识和动手能力。
情感态度价值观目标:1. 学生在EDA课程学习中,培养对电子科学技术的兴趣和探究精神。
2. 学生通过课程实践,增强自信心和成就感,激发进一步学习的动力。
3. 学生在学习过程中,树立正确的工程伦理观念,认识到技术发展对社会的责任和影响。
课程性质:本课程为电子信息工程及相关专业高年级学生的专业核心课程,旨在通过理论与实践相结合的教学,提高学生的电子设计能力。
学生特点:学生已具备一定的电子技术基础,具有较强的学习能力和实践欲望,对新技术和新工具充满好奇心。
教学要求:结合学生特点,注重培养实际操作能力,鼓励学生创新思维,提高解决实际问题的能力。
通过课程目标分解,确保学生在知识、技能和情感态度价值观方面的全面成长。
后续教学设计和评估将以此为基础,关注学生的学习成果。
二、教学内容根据课程目标,教学内容分为以下三个模块:1. EDA基本概念与工具使用- 教材章节:第一章 EDA技术概述,第二章 EDA工具简介- 内容列举:EDA发展历程,常用EDA软件介绍,软件安装与配置,基本操作流程。
2. 数字电路设计与仿真- 教材章节:第三章 数字电路设计基础,第四章 仿真技术- 内容列举:数字电路设计原理,EDA软件电路设计流程,仿真参数设置,波形分析与验证。
3. 硬件描述语言与数字系统设计- 教材章节:第五章 硬件描述语言,第六章 数字系统设计实例- 内容列举:硬件描述语言基础,VHDL/Verilog语法要点,简单数字系统设计方法,设计实例分析与实操。
电子行业EDA课程设计报告1. 引言本文档是电子行业EDA课程的设计报告,旨在介绍课程的设计目标、内容、实施过程以及所取得的成果。
EDA(Electronics Design Automation)是指电子设计自动化,是电子行业中一种重要的设计和开发方法。
本课程旨在培养学生掌握EDA的基本概念、流程和工具,从而提高他们在电子行业中的设计能力和竞争力。
2. 设计目标本课程的设计目标如下:1.培养学生掌握EDA的基本概念和原理。
2.培养学生熟练掌握EDA工具的使用和应用。
3.培养学生具备独立进行EDA项目设计和开发的能力。
4.提高学生的团队合作和沟通能力。
3. 课程内容本课程的内容主要包括以下几个方面:3.1 EDA基础知识在本节课程中,学生将学习EDA的基本概念和原理,包括电子设计流程、硬件描述语言、电路仿真和验证等方面的知识。
3.2 EDA工具的使用本节课程将介绍常用的EDA工具,包括电路设计工具、电路仿真工具和电路布局工具等。
学生将学习如何使用这些工具进行电路设计、仿真和验证。
3.3 EDA项目设计与开发在本节课程中,学生将进行一个EDA项目的设计与开发实践。
学生将根据给定的项目需求,使用所学的EDA工具进行电路设计、仿真和验证,并最终提交一个完整的EDA项目报告。
3.4 团队合作与项目管理本节课程将讲解团队合作和项目管理的基本原理和方法,包括任务分配、进度管理和沟通协作等方面的内容。
学生将通过分组合作,在完成EDA项目的过程中提高团队合作和沟通能力。
4. 实施过程本课程的实施过程主要包括以下几个阶段:4.1 阶段一:知识讲解在此阶段,教师将讲解EDA的基本概念、流程和工具使用方法。
学生将通过课堂听讲和课后阅读相关资料,对EDA的基础知识进行学习和理解。
4.2 阶段二:工具练习在此阶段,学生将通过实际操作,熟悉常用的EDA工具的使用方法。
教师将提供实验环境和相关实验指导,学生将利用课余时间进行工具的练习和实践。
eda课程设计时间报告一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握EDA工具的使用方法。
2. 学生能运用EDA软件完成基本的电路设计,如数字电路、模拟电路等。
3. 学生了解并掌握电路仿真、波形分析等技能。
技能目标:1. 学生能独立使用EDA工具进行电路设计和仿真。
2. 学生具备分析电路原理和优化电路设计的能力。
3. 学生能够通过团队合作,共同完成一个综合性的电路设计项目。
情感态度价值观目标:1. 学生培养对电子工程的兴趣,激发创新意识和探索精神。
2. 学生树立正确的工程观念,注重实践操作和工程应用。
3. 学生在团队协作中学会沟通、分享和承担责任,培养合作精神。
课程性质:本课程为实践性较强的课程,结合理论教学和实际操作,培养学生运用EDA工具进行电路设计和仿真的能力。
学生特点:本年级学生具备一定的电子基础知识,具有较强的学习能力和动手能力,对新鲜事物充满好奇心。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,充分调动学生的主观能动性,培养其创新意识和实践能力。
在教学过程中,将目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容本课程教学内容主要包括以下三个方面:1. EDA基本概念与工具使用- 了解EDA的发展历程、基本概念及其在电子工程设计中的应用。
- 学习并掌握主流EDA软件(如Multisim、Protel等)的基本操作和使用方法。
2. 电路设计与仿真- 学习数字电路、模拟电路的基本原理和设计方法。
- 利用EDA软件进行电路设计与仿真,分析电路性能,优化设计方案。
教学大纲:- 数字电路设计:组合逻辑电路、时序逻辑电路设计。
- 模拟电路设计:放大器、滤波器等电路设计。
- 电路仿真:仿真参数设置、波形分析、性能评估。
3. 综合性项目实践- 学生分组进行项目实践,运用所学知识完成一个具有实际意义的电路设计项目。
- 项目过程中,培养学生的团队协作、沟通能力及解决问题的能力。
湘潭大学 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 Inputclk_out 4 OutputCLR 39 InputENB 42 InputPLD 43 InputS0[3] 76 OutputS0[2] 77 OutputS0[1] 79 OutputS0[0] 80 OutputS1[3] 70 OutputS1[2] 73 OutputS1[1] 74 OutputS1[0] 75 OutputWARN 44 Output1.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的持续时间,得到了如图正确的波形仿真。
2.2硬件下载与测试硬件下载:将编程电缆插入计算机的并行接口上同时将编程电缆的另一端接在试验箱上。
●按照引脚编号链接线路。
●将程序下载进试验箱。
●下载完成。
硬件测试:●将清零端置高电平,观察数码管显示状态。
若显示正常,则将清零端置低电平。
●将置数端置高电平,观察数码管显示状态。
若显示正常,则将置数端置低电平。
●打开使能端,观察其是否正常计数,若计数正常,关闭使能端,观察其是否可以暂停计数。
●待计数完毕后,观察警示led是否正常发光。
●测试完毕。
3. 收获与体会本次课程设计是将模拟电子技术基础和数字电子技术基础以及电工电子技术的内容相结合,在此次设计的过程中发现了自己对理论知识认识的不足还有在动手操作方面还欠缺锻炼,因此我在此次课程设计的时候加深对老师所教的内容进一步复习,并且在上机练习的时候我就更加加强了对实践的重视。
通过这次课程设计我还知道了在学习这条道路上我们不断要加强学习,还要有坚持不懈的学习精神。
要将理论知识与实践相结合,要用理论指导实践,用实践来验证理论,让我们学于所用。
此外,这次课程设计让我对学习的态度有了进一步的改变,事在人为,想做好一件事就要踏踏实实,兢兢业业,心无旁骛。
唯有这般,才能事半功倍,学有所成。
最后,还要感谢吴亚联老师的悉心指导,指导我顺利完成课设。
4. 参考文献[1] 潘松,黄继业.EDA技术实用教程[ M ].北京:科学出版社, 2002.[2]杨君,王景存.基于VerilogHDL的流水线的设计方法及应用[J].武汉科技大学学报(自然科学版) ,2002,25(4): 394—396.[3]郝国法,黄睿,郝琳,等.FPGA在设计中的应用[J].武汉科技大学学报(自然科学版),2001,24(2):178—180.[4]王景存,李炳生,郝国法,等.用FPGA实现数字逻辑分析仪设计[J].武汉科技大学学报(自然科学版),2001,24(1):298—300.[5]胡华春,石玉.数字锁相环原理与应用[M].上海科学技术出版社,1990.5. 附录附录1:代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY bsk30 ISPORT( clk,CLR: IN STD_LOGIC;PLD,ENB : IN STD_LOGIC; -------PLD表示复位信号WARN: OUT STD_LOGIC;clk_out : out std_logic ;S1,S0 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));------------译码输出,S1为十位S0为个位END bsk30;-------------------------------------------------------------------------------------------- ARCHITECTURE A OF bsk30 ISsignal cnt : std_logic_vector(3 downto 0);signal clk1: STD_LOGIC;BEGINPRO1: process(clk)beginif clk'EVENT AND clk='1' THENif cnt = "1111" thencnt <= "0000";clk1 <= not clk1;elsecnt <= cnt + "1";end if;end if;clk_out <= clk1;end process;PRO2:PROCESS (clk1,CLR,ENB)VARIABLE TMPA: STD_LOGIC_VECTOR (3 DOWNTO 0);VARIABLE TMPB: STD_LOGIC_VECTOR (3 DOWNTO 0);VARIABLE TMPWARN: STD_LOGIC;BEGINIF CLR='1' THEN TMPA:="0000";TMPB:="0000";TMPWARN:='0';ELSIF clk1'EVENT AND clk1 ='1' THENIF PLD='1' THENTMPB:="0011";TMPA:="0000";TMPWARN:='0';-------------------------------赋初值ELSIF ENB='1' THENIF TMPA="0000" THENIF TMPB/="0000" THENTMPA:="1001";TMPB:=TMPB-1;ELSETMPWARN:='1';END IF;ELSE TMPA:=TMPA-1;END IF;END IF;END IF;S0<=TMPA;S1<=TMPB;WARN<=TMPWARN;END PROCESS; -----------------------------------------PROT2显示部分PROCESS(S1)BEGINCASE S1 IS --------------------------------------十位显示部分WHEN "0000" => S1 <="0111111";--显示0WHEN "0001" => S1 <="0000110";--显示1WHEN "0010" => S1 <="1011011";--显示2WHEN "0011" => S1 <="1001111";--显示3WHEN "0100" => S1<="1100110";--显示4WHEN "0101" => S1 <="1101101";--显示5WHEN "0110" => S1 <="1111101";--显示6WHEN "0111" => S1 <="0000111";--显示7WHEN "1000" => S1 <="1111111";--显示8WHEN "1001" => S1 <="1101111";--显示9WHEN OTHERS =>S1<="0000000";END CASE ;END PROCESS;PROCESS(S0)BEGINCASE S0 IS --------------------------个位显示部分WHEN "0000" => S0 <="0111111";--显示0WHEN "0001" => S0 <="0000110";--显示1WHEN "0010" => S0 <="1011011";--显示2WHEN "0011" => S0 <="1001111";--显示3WHEN "0100" => S0<="1100110";--显示4WHEN "0101" => S0 <="1101101";--显示5WHEN "0110" => S0 <="1111101";--显示6WHEN "0111" => S0 <="0000111";--显示7WHEN "1000" => S0 <="1111111";--显示8WHEN "1001" => S0 <="1101111";--显示9WHEN OTHERS =>S0<="0000000";END CASE ;END PROCESS;END A;附录2:硬件测试结果图附图1 清零工作状态附图2 置数工作状态附图3 正常倒计时状态附图4 倒计时结束警示状态附录3:问题回答记录表学号:2015550605 姓名:毛圣杰专业、班级:电子信息工程二班老师所提问题:1)CLR与PLD在时序上有什么区别?2)进程的执行顺序是怎样的?3)译码显示中的case语句还可以用什么表示?学生问题回答:1)CLR与时间无关,为异步清零,PLD与时间有关,上升沿触发,为同步置数。