EDA课程设计报告
eda花样彩灯课程设计报告

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课程设计5篇[修改版]
![eda课程设计5篇[修改版]](https://img.taocdn.com/s3/m/a1aef8d5dd36a32d72758100.png)
第一篇: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课程实验设计报告

《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没有保持脚,故需要外围电路实现保持功能。
EDA电子钟课程设计报告

电子设计自动化EDA课程设计题目:电子钟设计学院专业班级指导老师学号姓名日期目录一、设计要求 (2)二、设计目的 (2)三、系统功能概述 (2)四、系统组成以及系统各部分的设计 (3)1.分秒计数模块CNT_S (3)2.时计数模块CNT_H (4)3按键消抖动模块 (5)4.分频模块FENPING (6)5.定点报时模块 (7)6.顶层模块 (9)五、下载到实验箱以后工作情况 (13)六、课程设计心得体会 (13)七、参考文献 (14)一、设计要求设计一个电子钟,要求可以显示时、分、秒,用户可以设置时间,可以实现整点报时功能。
系统顶层框图:二、实验目的1. 掌握多位计数器相连的设计方法。
2. 掌握二十四进制,六十进制计数器的设计方法。
3. 掌握CPLD技术的层次化设计方法。
4. 了解软件的元件管理含义以及模块元件之间的连接概念。
5. 掌握电子电路一般的设计方法,并了解电子产品的研制开发过程,基本掌握电子电路安装和调试的方法。
6. 培养独立分析问题,解决问题的能力三、系统功能概述1.已完成功能1.完成时/分/秒的依次显示并正确计数,利用六位数码管显示;2.时/分/秒各段个位满10正确进位,秒/分能做到满60向前进位,有系统时间清零功能;3.定时器:实现整点报时,通过扬声器发出报时声音;4.时间设置,也就是手动调时功能:当认为时钟不准确时,可以分别对分/时钟进行调整;2.待改进功能:1. 调整数码管的亮度功能未实现。
2. 应添加秒表功能。
四、系统组成以及系统各部分的设计1.分秒计数模块CNT_SVHDL的RTL描述如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT_S ISPORT(CLK,CLR:IN STD_LOGIC;OUT_H:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);OUT_L:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);C:OUT STD_LOGIC);END CNT_S;ARCHITECTURE ONE OF CNT_S ISSIGNAL S_H:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL S_L:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK,CLR)BEGINIF CLK 'EVENT AND CLK='1' THENIF S_L(3 DOWNTO 0)<"1001" THENS_L(3 DOWNTO 0)<=S_L(3 DOWNTO 0)+1;C<='0';ELSIF S_H(3 DOWNTO 0)<"0101" THENS_L(3 DOWNTO 0)<="0000";S_H(3 DOWNTO 0)<=S_H(3 DOWNTO 0)+1;ELSES_L(3 DOWNTO 0)<="0000";S_H(3 DOWNTO 0)<="0000";C<='1';END IF;END IF;IF CLR='1' THENS_L(3 DOWNTO 0)<="0000";S_H(3 DOWNTO 0)<="0000";END IF;OUT_H<=S_H;OUT_L<=S_L;END PROCESS;END ONE;分和秒计数器模块仿真波形如下从仿真波形可知,当计数到59时,下一个时钟上升沿到来时就清零了,并且产生进位信号,符合设计要求。
EDA-课程设计报告书

EDA-课程设计报告书《电子设计自动化EDA》课程设计报告书学号:08057102 班级:自动化081 姓名:陈婷指导教师:刘伟目录一、设计思想(一)、设计要求1、具有以24小时制时、分、秒记时、显示功能。
2、具有整点报时功能,整点报时的同时LED花样显示。
3、具有消零,调节小时,分钟功能。
4、设计精度要求为1s。
(二)、系统功能描述1.、系统输入:调时、调分,清零信号,分别用按键开关SETHOUR、SETMIN、RESET控制;计数时钟信号CLK采用2HZ时钟源,扫描时钟信号CLKDSP采用32HZ时钟源或更高;2、系统输出:8位八段共阴极数码管显示输出;LED花样显示输出;3、系统功能详细描述:计时:正常工作状态下,每日按24小时计时制,蜂鸣器无声,逢整点报时。
显示:要求采用扫描显示方式驱动8位8段数码管显示。
整点报时:蜂鸣器在“51”、“53”、“55”、“57”、“59”秒发音,结束时为整点;校时:在计时状态下,按下按键SETMIN设定分钟,按下按键SETHOUR设定小时。
(三)设计思路1、分别写出六进制、十进制、二十四进制、清零、设置时分、LED译码部分,在主体部分用元件例化语句计时,清零设置时分、LED译码,再加上扫描模块2、将六进制、十进制、二十四进制、清零、设置时分、LED译码、扫描模块分模块写在一个主中(四)系统电路结构框图二、设计步骤(一)各种进制的计时及时钟控制模块程序1、6进制library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter6 isport( clk,reset,set: in std_logic;ain:in std_logic_vector(3 downto 0);aout: out std_logic_vector(3 downto 0);co: out std_logic);end counter6;architecture art2 of counter6 issignal count:std_logic_vector(3 downto 0);beginprocess(clk)beginif (clk'event and clk='1')thenif(reset='0')then count<="0000";elsif(set='1')then count<=ain;elsif (count="0101")thencount<="0000";co<='1';else count<=count+1;co<='0';end if;end if;end process;aout<=count;end art2;2、10进制library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter10 isport(clk,reset,set: in std_logic;ain:std_logic_vector(3 downto 0);aout:out std_logic_vector(3 downto 0); co:out std_logic);end counter10;architecture art1 of counter10 issignal count:std_logic_vector(3 downto 0);beginprocess(clk)beginif(clk'event and clk='1') thenif(reset='0')then count<="0000";elsif(set='1')then count<=ain;elsif(count="1001") thencount<="0000";co<='1';else count<=count+1;co<='0';end if;end if;end process;aout<=count;end art1;3、24进制ibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity counter24 isport( clk,reset,set: in std_logic;ainh:in std_logic_vector(3 downto 0);ainl:in std_logic_vector(3 downto 0);aout: out std_logic_vector(7 downto 0)); end counter24;architecture art3 of counter24 issignal count:std_logic_vector(7 downto 0); beginprocess(clk)beginif(clk'event and clk='1') thenif(reset='0')then count<="00000000";elsif(set='1')then count(7 downto 4)<=ainh;count(3 downto 0)<=ainl;elsif(count(7 downto 4)<"0011" ) thenif(count(7 downto 4)="0010" and count(3 downto 0)="0011") thencount<="00000000";elsif(count(3 downto 0)="1001") thencount(3 downto 0)<="0000";count(7 downto 4)<=count(7 downto 4)+1;else count(3 downto 0)<=count(3 downto 0)+1;end if;end if;end if;--end if;end process;aout<=count;end art3;(二)系统整体程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock isport(clk,b1,clks: in std_logic;reset: in std_logic;setmin,sethour: in std_logic;minutell,minutehh,hourll,hourhh,b2:instd_logic_vector(3 downto 0);secondl,secondh:out std_logic_vector(3 downto 0);--second0,second2:out std_logic_vector(6 downto 0);minutel,minuteh:out std_logic_vector(3 downto 0);--minute0,minute2:out std_logic_vector(6 downto 0);hourl,hourh:out std_logic_vector(3 downto 0); --hour0,hour2,dout:out std_logic_vector(6 downto 0);dout:out std_logic_vector(6 downto 0);s:out std_logic_vector(2 downto 0); singing,light: out std_logic);end clock;architecture art of clock iscomponent counter10 isport(clk,reset,set: in std_logic;ain:in std_logic_vector(3 downto 0);aout:out std_logic_vector(3 downto 0);co:out std_logic);end component;component counter6 isport(clk,reset,set: in std_logic;ain:in std_logic_vector(3 downto 0);aout:out std_logic_vector(3 downto 0);co:out std_logic);end component;component counter24 isport(clk,reset,set: in std_logic;ainh,ainl:std_logic_vector(3 downto 0);aout:out std_logic_vector(7 downto 0));end component;component led7 isport(ain: in std_logic_vector(3 downto 0);aout:out std_logic_vector(6 downto 0));end component;signal cs0,cs1,cm0,cm1:std_logic;signals0,s1,m0,m1,h0,h1,cout:std_logic_vector(3 downto 0);signal h:std_logic_vector(7 downto 0);signal count:std_logic_vector(2 downto 0);beginh0<=h(3 downto 0);h1<=h(7 downto 4);u1:counter10 port map(clk=>clk,reset=>reset,set=>b1,ain=>b2,aou t=>s0,co=>cs0);u2:counter6 port map(clk=>cs0,reset=>reset,set=>b1,ain=>b2,aout=>s1,co=>cs1);u3:counter10portmap(clk=>cs1,reset=>reset,set=>setmin,ain=>mi nutell,aout=>m0,co=>cm0);u4:counter6portmap(clk=>cm0,reset=>reset,set=>setmin,ain=> minutehh,aout=>m1,co=>cm1);u5:counter24portmap(clk=>cm1,reset=>reset,set=>sethour,ainl=> hourll,ainh=>hourhh,aout=>h);u6:led7 port map(ain=>cout,aout=>dout);secondl<=s0;secondh<=s1;minutel<=m0;minute h<=m1;hourl<=h0;hourh<=h1;process(m1,m0,s1,s0)beginif(m1="0101" and m0="1001" and s1="0101" and s0="1001") thensinging<='1';light<='1';else singing<='0';light<='0';end if;end process;process(clks)beginif(clks'event and clks='1') thenif (count="101") thencount<="000";else count<=count+1;end if;s<=count;CASE count ISwhen"000"=> cout<=s0;when"001"=> cout<=s1;when"010"=>cout<=m0;s<="010";when"011"=> cout<=m1 ;when"100"=> cout<=h0;when"101"=> cout<=h1;when others=> cout<="0000";end case;end if;end process;end art;三、调试过程(一)仿真波形1、6进制程序仿真波形2、10进制程仿真波形3、24进制程序仿真波形4、系统程序仿真波形(二)分析问题1:u6:led7 port map(ain=>secondl,aout=>second0);u7:led7 port map(ain=>secondh,aout=>second1);u8:led7 port map(ain=>minutel,aout=>minute0);u9:led7 port map(ain=>minuteh,aout=>minute1);u10:led7 port map(ain=>hourl,aout=>hour0);u11:led7 port map(ain=>hourh,aout=>hour1);问题分析:元件例化是并行语句,按此段代码LDE并行显示,每一个数码管都需要八个端口,这样就需要八排插口,而试验箱只有一排端口。
EDA课设报告

一、课程设计目的以及要求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课程设计报告

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电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。
EDA课设设计报告

目录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工具根据工程设计中的瓶颈和矛盾对设计数据库实现了统一管理,并提供了并行设计环境概念,提供了独立与工艺和厂家的系统级的设计工具。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北华航天工业学院《EDA技术综合设计》课程设计报告报告题目:16X16点阵显示综合实验作者所在系部:电子工程系作者所在专业:自动化专业作者所在班级:作者姓名:指导教师:完成时间:2012年12月26日容摘要在本次课设中,设计一个共阴16X16点阵控制接口,要求:在时钟信号的控制下,使点阵动态点亮。
显示花样共有三种:①6*16点阵的16列同时从上往下依次点亮,全亮后16列又同时从下往上依次熄灭;②显示单字“飞”;③依次循环显示“航”,“天”,“学”,“院”四个字。
为使点阵显示器能够动态显示,列选信号为16-4编码器编码输出。
控制器各引脚功能为:DIN[3..0]为显示花样模式选择,高电平有效;CLK 为时钟输入端;DOTOUT[15..0]为行驱动信号输出;SELOUT[3..0]为列选信号输出,为16-4编码信号。
列选信号采用与7段数码管的位选信号一样的处理方法,即列扫描信号频率大于24HZ。
关键词: VHDL,16*16点阵,QuartusII,时序仿真图。
目录一、实验目的 (1)二、硬件要求 (1)三、方案论证 (1)四、模块说明 (1)1.整体程序 (1)2.花样一(动画) (6)3.花样二(“飞”字) (6)4.花样三(四字循环显示) (7)五、整体连接图 (7)六、实验步骤 (7)七、实验结果 (7)八、实验总结 (7)九、参考文献 (8)课程设计任务书一、实验目的(1)了解16*16LED的工作原理。
(2)了解点阵字符的产生和显示原理。
二、硬件要求(1)主芯片EPF10K10LC84-4。
(2)16*16点阵。
(3)可变时钟源。
(4)四个拨码开关(显示花样的选择)。
三、方案论证引脚整体可分为四个部分:clk(时钟信号)、din[3…0](花样选择控制)、dotout[15…0](行驱动信号输出)、selout[3…0](列选信号输出)。
其中有一个分频器的设计,可用一个16位的计数器实现:信号q从00000到11111循环变换,将q的低四位赋给列选信号selout,当q=11111时又可驱动另一计数器工作,实现分频。
第一个花样的设计:用q驱动一个5位计数器zhen从00000到11111循环变换,当Zhen=”00000”时,dotout=”00000”Zhen=”00001”时,dotout=”00001”…………Zhen=”10000”时,dotout=”1”…………Zhen=”11110”时,dotout=”00011”Zhen=”11111”时,dotout=”00001”。
第二个花样的设计:可参考第三个花样的设计。
第三个花样的设计:当zhen1(功能同zhen)=”00”时,显示第一个字“航”,当selout=”0000”时,dotout为“航”字的最后一列代码;当selout=”0001”时,dotout为“航”字的倒数第二列代码,依次类推。
其他三个字的设计同“航”字。
四、模块说明16*16点阵综合显示实验是用一个整体的程序编写的,所以不可分成模块,但可以分成三个部分:16*16点阵的16列同时从上往下依次点亮,全亮后16列又同时从下往上依次熄灭;显示“飞”字;依次循环显示“航”、“天”、“学”、“院”。
下面的程序分析中将讨论三个部分的设计。
1.整体程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dots_test isport(clk:in std_logic; - -硬件接口din:in std_logic_vector(3 downto 0);dotout:out std_logic_vector(15 downto 0);selout:buffer std_logic_vector(3 downto 0));end dots_test;architecture a of dots_test issignal q:std_logic_vector(15 downto 0);signal zhen:std_logic_vector(4 downto 0);beginprocess(clk,din)variable h:std_logic_vector(3 downto 0);variable h1:std_logic_vector(3 downto 0);variable q1:std_logic_vector(15 downto 0);variable zhen1:std_logic_vector(1 downto 0);beginif clk'event and clk='1' thenif din="0000" then - -花样一的设计if q="11111" then q<="00000"; - -用于分频if zhen="11111" then zhen<="00000";else zhen<=zhen+1;end if;else q<=q+1;end if;selout<=q(3 downto 0);case zhen iswhen "00000"=>dotout<="00000";when "00001"=>dotout<="00001";when "00010"=>dotout<="00011";when "00011"=>dotout<="00111";when "00100"=>dotout<="01111";when "00101"=>dotout<="11111";when "00110"=>dotout<="11111";when "00111"=>dotout<="11111";when "01000"=>dotout<="11111";when "01001"=>dotout<="11111";when "01010"=>dotout<="11111";when "01011"=>dotout<="11111";when "01100"=>dotout<="11111";when "01101"=>dotout<="11111";when "01110"=>dotout<="11111";when "01111"=>dotout<="11111";when "10000"=>dotout<="11111";when "10001"=>dotout<="11111";when "10010"=>dotout<="11111";when "10011"=>dotout<="11111";when "10100"=>dotout<="11111";when "10101"=>dotout<="11111";when "10110"=>dotout<="11111";when "10111"=>dotout<="11111";when "11000"=>dotout<="11111";when "11001"=>dotout<="11111";when "11010"=>dotout<="11111";when "11011"=>dotout<="11111";when "11100"=>dotout<="01111";when "11101"=>dotout<="00111";when "11110"=>dotout<="00011";when "11111"=>dotout<="00001";when others=>null;end case;elsif din="0001" then - -花样二的设计,显示“飞”字if h="1111" then h:="0000";else h:=h+1;end if;selout<=h;case h iswhen "0000" =>dotout<="00000";when "0001" =>dotout<="00000";when "0010" =>dotout<="00000";when "0011" =>dotout<="00000";when "0100" =>dotout<="00100";when "0101" =>dotout<="11000";when "0110" =>dotout<="00000";when "0111" =>dotout<="00000";when "1000" =>dotout<="11110";when "1001" =>dotout<="00010";when "1010" =>dotout<="00010";when "1011" =>dotout<="00010";when "1100" =>dotout<="00010";when "1101" =>dotout<="00010";when "1110" =>dotout<="00011";when "1111" =>dotout<="00010";when others=>dotout<=null;end case;else - -花样三的设计if q1="11111" then q1:="00000"; - -同q,用于分频if zhen1="11" then zhen1:="00";else zhen1:=zhen1+1;end if;else q1:=q1+1;end if;h1:=q1(3 downto 0);selout<=h1;case zhen1 iswhen "00"=> - -显示“航”字case h1 iswhen "0000" =>dotout<="00000";when "0001" =>dotout<="00100";when "0010" =>dotout<="10100";when "0011" =>dotout<="10110";when "0100" =>dotout<="10111";when "0101" =>dotout<="10100";when "0110" =>dotout<="00100";when "0111" =>dotout<="00000";when "1000" =>dotout<="00000";when "1001" =>dotout<="11100";when "1010" =>dotout<="10100";when "1011" =>dotout<="10101";when "1100" =>dotout<="00110";when "1101" =>dotout<="11100";when "1110" =>dotout<="00000";when "1111" =>dotout<="00000";when others=>dotout<=null;end case;when "01"=> - -显示“天”字case h1 iswhen "0000" =>dotout<="00000";when "0001" =>dotout<="00000";when "0010" =>dotout<="00010";when "0011" =>dotout<="00010";when "0100" =>dotout<="00010";when "0101" =>dotout<="00010";when "0110" =>dotout<="00010";when "0111" =>dotout<="00010";when "1000" =>dotout<="00010";when "1001" =>dotout<="11110";when "1010" =>dotout<="00010";when "1011" =>dotout<="00010";when "1100" =>dotout<="00010";when "1101" =>dotout<="00010";when "1110" =>dotout<="00000";when "1111" =>dotout<="00000";when others=>dotout<=null;end case;when "10"=> - -显示“学”字case h1 iswhen "0000" =>dotout<="10000";when "0001" =>dotout<="10011";when "0010" =>dotout<="10100";when "0011" =>dotout<="10000";when "0100" =>dotout<="10000";when "0101" =>dotout<="10000";when "0110" =>dotout<="10000";when "0111" =>dotout<="11110";when "1000" =>dotout<="10001";when "1001" =>dotout<="10000";when "1010" =>dotout<="10000";when "1011" =>dotout<="10000";when "1100" =>dotout<="00110";when "1101" =>dotout<="10001";when "1110" =>dotout<="00000";when "1111" =>dotout<="00000";when others=>dotout<=null;end case;when "11"=> - -显示“院”字case h1 iswhen "0000" =>dotout<="11000";when "0001" =>dotout<="11000";when "0010" =>dotout<="01000";when "0011" =>dotout<="01000";when "0100" =>dotout<="01110";when "0101" =>dotout<="01111";when "0110" =>dotout<="01011";when "0111" =>dotout<="01000";when "1000" =>dotout<="01000";when "1001" =>dotout<="01000";when "1010" =>dotout<="11000";when "1011" =>dotout<="01111";when "1100" =>dotout<="11011";when "1101" =>dotout<="10001";when "1110" =>dotout<="00001";when "1111" =>dotout<="11111";when others=>dotout<=null;end case;when others=>dotout<=null;end case;end if;end if;end process;end a;2.花样一(动画)花样一的仿真结果如下图(为了仿真的需要,在仿真时已将q改成5位,即q在00000到11111间循环变换):图一:16*16点阵的16列同时从上往下依次点亮图二:16行全部点亮图三:16列又同时从下往上依次熄灭3.花样二(“飞”字)花样一的仿真结果如下图当列选信号selout=”0000”时,dotout为“飞“字倒数第一列代码”00000”;当列选信号selout=”0001”时,dotout为“飞“字倒数第二列代码”00000”;当列选信号selout=”0010”时,dotout为“飞“字倒数第三列代码”00000”;…………图四:“飞”字仿真波形(部分)4.花样三(四字循环显示)为了仿真的需要,在仿真时已将q1改成5位,即q1在00000到11111间循环变换。