EDA课程设计流水灯设计
EDA实验流水灯控制
彩灯控制器一、设计内容及要求:设计一个彩灯控制器,要求:1.四路彩灯从左向右逐次渐亮,间隔为1秒。
2.四路彩灯从右向左逐次渐灭,间隔为1秒。
3.四路彩灯同时点亮,时间间隔为1秒,然后同时变暗,时间为1秒,反复4次。
二、总体框图图(1)总体框图根据设计要求,电路设计大体思路如下:由脉冲发生器发出频率脉冲信号,利用计数器加法计数功能输出0000~1111的脉冲信号,经过数据选择器分别在0000~0011,0100~0111,1000~1111三个时段输出不同的高低电平,控制移位寄存器实现右移→左移→置数功能,从而控制彩灯按照设计要求实现亮灭。
三、选择器件本次课程设计所用器件如表一:表一本次课程设计所用器件1.同步二进制计数器74LS163表二7-3 74LS163功能表根据逻辑图、波形图、功能表分析,74LS163具有如下功能:管脚图逻辑符号1)1是同步4位二进制加法计数器,M=16,CP上升沿触发2)2既可同步清除,也可异步清除。
同步清除时,清除信号的低电平将在下一个CP上升沿配合下把四个触发器的输出置为低电平。
异步清除时,直接用清除信号的低电平把四个触发器的输出置为低电平。
3)3同步预置方式:当LD = 0时,在CP作用下,计数器可并行打入预置数据.当LD = 1时,使能输入PT同时为高电平,在CP作用下,进行正常计数。
4)PT任一为低时,计数器处于保持状态。
5) 5 CO为进位输出,可用来级联成n位同步计数器。
2.四位双向移位寄存器74LS19474LS194内部原理图74LS194四位双向移位寄存器具有左移、右移、并行数据输入、保持、清除功能。
1)从图1中74LS194的图形符号和引脚图分析。
SRG4是4位移位寄存器符号,D0~D3并行数据输入端、D SL左移串行数据输入端、D SR右移串行数据输入端、S A(M0)和S B (M1)(即9脚和10脚)工作方式控制端分别接电平开关,置1或置0,CP 时钟输入端接正向单次脉冲,清零端接负向单次脉冲,Q0~Q3输出端。
eda花样流水灯的课程设计
eda花样流水灯的课程设计一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握花样流水灯的设计原理;2. 学生能描述流水灯电路的工作原理,了解相关电子元件的功能和连接方式;3. 学生掌握C语言编程基础,能编写简单的程序控制流水灯的显示效果。
技能目标:1. 学生能运用所学知识,设计出具有创意的花样流水灯电路;2. 学生通过实践操作,提高焊接和电路调试的能力;3. 学生通过团队协作,学会沟通和解决问题,提高项目实践能力。
情感态度价值观目标:1. 学生对电子设计产生兴趣,培养创新意识和探索精神;2. 学生认识到科技发展对社会进步的重要性,增强社会责任感和使命感;3. 学生在团队协作中,学会尊重他人、分享成果,培养良好的团队合作精神。
分析课程性质、学生特点和教学要求:本课程为电子技术与应用的实践课程,适用于初中或高中年级学生。
学生在之前的学习中已经掌握了基本的电路知识和C语言编程基础。
课程注重实践操作,鼓励学生创新设计,培养学生的动手能力和团队协作能力。
课程目标具体、可衡量,旨在让学生通过实践,掌握EDA技术的基本应用,提高电子设计能力,同时注重培养学生的情感态度价值观,为今后的学习和发展奠定基础。
二、教学内容本课程教学内容主要包括以下三个方面:1. 电子设计自动化(EDA)基础理论- 了解EDA的基本概念、发展历程和应用领域;- 学习流水灯的设计原理和电路组成;- 掌握相关电子元件的功能、符号和连接方式。
2. 流水灯电路设计与编程- 学习流水灯电路的设计方法,分析不同显示效果的实现原理;- 掌握C语言编程基础,编写控制流水灯的程序;- 结合教材相关章节,实践操作,调试电路。
3. 团队协作与项目实践- 分组进行项目设计,明确分工,培养团队协作能力;- 制定项目进度计划,按计划完成电路设计、编程、调试和展示;- 教师指导,学生互评,总结项目实施过程中的经验教训。
教学内容安排和进度:第一周:EDA基础理论学习和流水灯设计原理了解;第二周:学习C语言编程基础,编写简单的流水灯程序;第三周:分组项目实践,进行电路设计和调试;第四周:项目总结与展示,交流学习心得。
eda流水灯课程设计
eda流水灯课程设计一、课程目标知识目标:1. 理解EDA(电子设计自动化)的基本概念,掌握流水灯的设计原理;2. 学习并掌握流水灯电路的组成、工作原理及编程方法;3. 了解数字电路基础知识,如逻辑门、触发器等,并能将其应用于流水灯设计。
技能目标:1. 学会使用EDA软件(如Multisim、Protel等)进行电路设计和仿真;2. 学会编写简单的C语言程序,实现流水灯的控制;3. 培养动手实践能力,能够独立完成流水灯的制作与调试。
情感态度价值观目标:1. 培养学生对电子设计的兴趣和热情,激发创新意识;2. 培养学生的团队合作精神,学会在团队中沟通与协作;3. 培养学生严谨的科学态度,注重实践,敢于面对困难和挑战。
课程性质:本课程属于电子技术实践课程,结合理论知识,强调动手实践,培养学生的实际操作能力。
学生特点:本课程面向初中或高中学生,学生对电子技术有一定的基础,具备一定的逻辑思维能力和动手能力。
教学要求:注重理论与实践相结合,充分调动学生的积极性,引导学生在实践中掌握知识,提高技能,培养情感态度价值观。
教学过程中,将目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 电子设计自动化(EDA)基本概念介绍:包括EDA的定义、发展历程、应用领域等;相关教材章节:第一章 电子设计自动化概述2. 流水灯设计原理:讲解流水灯的工作原理、电路组成、编程方法;相关教材章节:第二章 常见数字电路设计实例3. 数字电路基础知识:回顾逻辑门、触发器等基础知识,并应用于流水灯设计;相关教材章节:第三章 数字电路基础知识4. EDA软件使用:学习Multisim、Protel等软件的基本操作,进行电路设计和仿真;相关教材章节:第四章 EDA软件及其应用5. 流水灯编程:学习编写简单的C语言程序,实现流水灯的控制;相关教材章节:第五章 C语言在数字电路设计中的应用6. 流水灯制作与调试:动手实践,分组进行流水灯的制作、编程与调试;相关教材章节:第六章 数字电路实践教学进度安排:1. 第1周:电子设计自动化基本概念介绍;2. 第2周:流水灯设计原理及电路组成;3. 第3周:数字电路基础知识回顾;4. 第4周:EDA软件使用;5. 第5周:流水灯编程;6. 第6周:流水灯制作与调试。
EDA_流水灯设计
EDA课程设计报告设计课题: 流水灯姓名:专业: 电子信息工程学号:流水灯1. 设计的任务与要求此次设计彩灯控制系统就是为了了解如何运用VHDL语言来实现彩灯的循环控制,并且能改变彩灯循环的模式。
从而能为以后制作跑马灯,花样灯等打下基础。
更好的掌握对日常各式各样变幻灯的认识。
1.画出仿真波形图2.写出VHDL语言3.编写设计报告,写出设计的全过程,附上有关资料和图纸(也可直接写在相关章节中),有心得体会。
2. 方案2.1 彩灯控制系统的方案彩灯是由实验箱上的LED灯代替,有一下四种循环模式(1)彩灯从左到右逐次闪亮。
然后从右到左逐次熄灭。
(2)彩灯两边同时各亮一个,然后逐次向中间点亮。
(3)彩灯从左到右两个两个点亮,然后从右到左两个两个逐次熄灭。
(4)彩灯中间两个点亮。
然后同时向两边散开。
(5)彩灯最后一个开始亮一次,结束亮一次,其他的两个两个逐次亮(6)彩灯在开始和结束时候,最后两个灯亮起,其他从左到右逐次亮(7)彩灯第七个在第三次,其他的两个两个逐次亮(8)彩灯第五个和第八个在第一次亮,第八个在第二次亮,其他的两个两个逐次亮本控制电路采用VHDL语言设计。
运用自顶而下的设计思想,按功能逐层分割实现层次化设计。
根据多路彩灯控制器的设计原理,将整个控制器分为四个部分,分别对应彩灯的四种变化模式、利用VHDL语言实现该功能2.2 仿真后的波形图以下为选取四种循环模式的仿真波形图:3.系统的VHDL编译语言LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.std_logic_ARITH.ALL;USE IEEE.std_logic_UNSIGNED.ALL;ENTITY CaiDeng ISport(CLK:IN std_logic;RST:in std_logic;SelMode:in std_logic_vector(2 downto 0);--彩灯花样控制Light:out std_logic_vector(7 downto 0));END CaiDeng;ARCHITECTURE control OF CaiDeng ISSIGNAL clk1ms:std_logic:='0';SIGNAL cnt1:std_logic_vector(3 downto 0):="0000";SIGNAL cnt2:std_logic_vector(1 downto 0):="00";SIGNAL cnt3:std_logic_vector(3 downto 0):="0000";SIGNAL cnt4:std_logic_vector(1 downto 0):="00";SIGNAL cnt5:std_logic_vector(3 downto 0):="0000";SIGNAL cnt6:std_logic_vector(3 downto 0):="0000";SIGNAL cnt7:std_logic_vector(3 downto 0):="0000";SIGNAL cnt8:std_logic_vector(3 downto 0):="0000";BEGINP1:PROCESS(clk)BEGINif(clk'EVENT AND clk='1')thenif selmode="000" then --第一种彩灯花样的程序if cnt1="1111" thencnt1<="0000";elsecnt1<= cnt1+1;end if;case cnt1 iswhen "0000"=>light<="10000000";when "0001"=>light<="11000000";when "0010"=>light<="11100000"; when "0011"=>light<="11110000"; when "0100"=>light<="11111000"; when "0101"=>light<="11111100";when "0110"=>light<="11111110"; when "0111"=>light<="11111111";when "1000"=>light<="11111110"; when "1001"=>light<="11111100";when "1010"=>light<="11111000"; when "1011"=>light<="11110000";when "1100"=>light<="11100000"; when "1101"=>light<="11000000";when "1110"=>light<="10000000";when others=>light<="00000000";end case;elsif selmode="001" then -- 第二种彩灯花样的程序if cnt2="11" thencnt2<="00";else cnt2<= cnt2+1;end if;case cnt2 iswhen "00"=>light<="10000001";when "01"=>light<="11000011"; when "10"=>light<="11100111";when "11"=>light<="11111111"; when others=>light<="00000000";end case;elsif selmode="010" then --第三种彩灯花样的程序if cnt3="1111" thencnt3<="0000";else cnt3<=cnt3+1;end if;case cnt3 iswhen "0000"=>light<="11000000"; when "0001"=>light<="01100000"; when "0010"=>light<="00110000";when "0011"=>light<="00011000"; when "0100"=>light<="00001100";when "0101"=>light<="00000110"; when "0110"=>light<="00000011";when "0111"=>light<="00000110"; when "1000"=>light<="00001100";when "1001"=>light<="00011000"; when "1010"=>light<="00110000";when "1011"=>light<="01100000"; when "1100"=>light<="11000000";when others=>light<="00000000"; end case;elsif selmode="011" then -- 第四种彩灯花样的程序if cnt4="11" thencnt4<="00";else cnt4<= cnt4+1;end if;case cnt4 iswhen "00"=>light<="00011000";when "01"=>light<="00111100"; when "10"=>light<="01111110";when "11"=>light<="11111111";when others=>light<="00000000";end case; --delsif selmode="100" then --第五种彩灯花样的程序if cnt5="1111" thencnt5<="0000";else cnt5<=cnt5+1;end if;case cnt5 iswhen "0000"=>light<="11000001"; when "0001"=>light<="01100000"; when "0010"=>light<="00110000";when "0011"=>light<="00011000";when "0110"=>light<="00000011";when "0111"=>light<="00000110"; when "1000"=>light<="00001100";when "1001"=>light<="00011000"; when "1010"=>light<="00110000";when "1011"=>light<="01100000"; when "1100"=>light<="11000001";when others=>light<="00000000"; end case; --delsif selmode="101" then --第六种彩灯花样的程序if cnt6="1111" thencnt6<="0000";elsecnt6<= cnt6+1;end if;case cnt6 iswhen "0000"=>light<="10001100";when "0001"=>light<="11000000";when "0010"=>light<="11100000"; when "0011"=>light<="11110000"; when "0100"=>light<="11111000"; when "0101"=>light<="11111100";when "0110"=>light<="11111110"; when "0111"=>light<="11111111";when "1000"=>light<="11111110"; when "1001"=>light<="11111100";when "1010"=>light<="11111000"; when "1011"=>light<="11110000";when "1100"=>light<="11100000"; when "1101"=>light<="11000000";when "1110"=>light<="10001100"; when others=>light<="00000000";end case;elsif selmode="110" then --第七种彩灯花样的程序if cnt7="1111" thencnt7<="0000";else cnt7<=cnt7+1;end if;case cnt7 iswhen "0000"=>light<="11000000"; when "0001"=>light<="01100000"; when "0010"=>light<="00110010";when "0011"=>light<="00011000"; when "0100"=>light<="00001100";when "0101"=>light<="00000110"; when "0110"=>light<="00000011";when "0111"=>light<="00000110"; when "1000"=>light<="00001100";when "1001"=>light<="00011000"; when "1010"=>light<="00110000";when "1011"=>light<="01100000"; when "1100"=>light<="11000000";when others=>light<="00000000"; end case;elsif selmode="111" then --第八种彩灯花样的程序if cnt8="1111" thencnt8<="0000";else cnt8<=cnt8+1;end if;case cnt8 iswhen "0000"=>light<="11001001"; when "0001"=>light<="01100001";when "0100"=>light<="00001100";when "0101"=>light<="00000110";when "0110"=>light<="00000011";when "0111"=>light<="00000110";when "1000"=>light<="00001100";when "1001"=>light<="00011000";when "1010"=>light<="00110000";when "1011"=>light<="01100000";when "1100"=>light<="11000000";when others=>light<="00000000";end case; --dend if;end if;END PROCESS P1;--P2:PROCESS(clk) --分频进程--variable cnt:integer range 0 to 1000;--BEGIN--IF(RST='0')then--cnt:=0;--ELSIF(clk'EVENT AND clk='1')then--if cnt<999 then--cnt:=cnt+1;--clk1ms<='0';--else--cnt:=0;--end if;--end PROCESS P2;end control;5.经验体会通过本次设计让我明白了VHDL语言的实用性,同时让我对QuartusII有了进一步的了解。
EDA实验设计报告流水灯
EDA实验设计报告姓名:张炫学号:2011128085班级:11电工设计内容:设计8位流水灯的4种循环模式,并用quartusII进行编译和仿真,用LED灯实现需求。
控制系统方案:四种循环模式(1)灯从右到左依次都闪亮(2)灯从右向左逐次闪亮(3)灯从右向左逐次闪亮(4) 从右向左每间隔一个闪亮设计方案:通过复位端reset 与按键端right,left,shan,yici控制,当复位reset为 1 时led 灯最左端点亮,再通过else-if语句控制试验程序:module light(clk,reset,right,left,shan,yici,led);input clk,reset,right,left,shan,yici;output[7:0] led;reg[7:0] led;always @ (posedge clk)beginif(reset)beginled<=8’b00000001;endelsebeginif(yici)beginled<=((led<<1)+8’b00000001);if(led==8’b11111111)led<=8’b00000001;endif(right)beginled<=led>>1;if(led==8’b00000001)led<=8’b10000000;endif(left)beginled<=led<<1;if(led==8’b10000000)led<=8’b00000001;endif(shan)beginif(led==8’b01010101)led<=8’b10101010;elseled<=8’b01010101;endendendendmodule实验总结:经过本次课程设计使我进一步巩固了从课堂上学到的知识,虽然在实验过程中多次出错,但通过不断的检查和调试终于成功的实现了8位流水灯的控制。
eda课设__音乐流水灯
1 绪论1.1 EDA简介EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
现在对EDA的概念或范畴用得很宽。
包括在机械、电子、通信、航空航天、化工、矿产、生物等各个领域,都有EDA的应用。
1.2 硬件描述语VHDL硬件描述语言(HDL)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。
例如一个32位的加法器,利用图形输入软件需要输人500至1000个门,而利用VHDL语言只需要书写一行“A=B+C” 即可。
而且VHDL语言可读性强,易于修改和发现错误。
早期的硬件描述语言,如ABEL、HDL、AHDL,由不同的EDA厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。
为了克服以上不足,1985年美国国防部正式推出了高速集成电路硬件描述语言VHDL,1987年IEEE采纳VHDL 为硬件描述语言标准(IEEE-STD-1076)。
VHDL 是一种全方位的硬件描述语言,包括系统行为级。
寄存器传输级和逻辑门多个设计层次,支持结构、数据流和行为三种描述形式的混合描述,因此VHDL 几乎覆盖了以往各种硬件俄语言的功能,整个自顶向下或由下向上的电路设计过程都可以用VHDL 来完成。
基于EDA的流水灯实验
万年历的设计一、实验目标1. 巩固对基本的开发流程的掌握2. 复习对QUARTUS II软件的使用3. 复习NIOS II软件的使用4.在训练掌握相关软件使用的基础上,完成课题的设计二、设计要求用Nios II DE2开发楹的LCD(或8个七段数码管)显示电子钏的日期和时间。
LCD 分两行显示,第1行显示年、月和日(例如显示:20080101);第2行显示时、分和秒(例如显示:00152545)。
用输入按钮BUTTON[0]来控制LCD行修改,同时让Nios II DE2开发板上的绿色发光二极管LDG3的亮与灭来表示这个选择。
当BUTTON[0]按下一次后,LDG3亮,可以修改年、月和日的数字;再按一次BUTTON[0]后,LDG3灭,可以修改时、分和秒的数字。
另外和输入按钮BUTTON[3]来控制日期和时间的修改,当处于日期修改方式时,每按动一次BUTTON[3]按钮,依次更换“年”、“月”和“日”的修改。
当处于时间修改方式时,每按动一次BUTTON[3]按钮,依次更换“时”、“分”和“秒”的修改。
修改对象被选中后,按动BUTTON[2]输入按钮可以增加显示的数字;按动BUTTON[1]输入按钮可以减少显示的数字。
三、实验原理与步骤⑴在QUARTUS II 中建立工程⑵用SOPC BUILDER建立NIOS系统模块⑶在QUARTUS II 中的图形编辑界面中进行管脚连接、锁定工作⑷编译工程后下载到FPGA中⑸在NIOS II IDE中根据硬件建立软件工程⑹编译后,经过简单设置下载到FPGA中进行调试、验证下面根据以上的步骤进行进行一次全程开发:第一步:硬件部分设计1. 在自己的文件目录下建立一个hello_led文件夹,注意目录中不能有空格或中文;2. 打开QUARTUS II,点击FILE菜单下的New Project Wizard…会弹出如图2-1所示的对话框:图2-1 建立工程3. 然后输入工程存放目录,或点击工程路径右面的按钮设置工程存放目录,在第二栏中输入工程名称,我们这里输入为led;之后点击Finish,对话框消失,此时已经建立好了LED工程文件;4. 点击Assignment菜单中的Device,选择芯片为Cyclone II系列的EP2C35F672C6,如下图2-2所示:图2-2 选择器件5. 确认后。
EDA流水灯课程设计
流水灯程序设计
编程语言:C语言 编译工具:Keil C51
开发环境:Keil uVision 调试工具:Keil Debugger
初始化:设置流水灯的初始状态,如关闭所有灯 循环控制:设置循环条件,如循环次数或循环时间 灯状态更新:根据循环条件,更新流水灯的状态,如依次点亮或熄灭 延时处理:在灯状态更新后,添加延时处理,使流水灯效果更加明显 结束处理:循环结束后,关闭所有灯,结束程序
EDA流水灯课程设计
汇报人:
目录
EDA流水灯概计
流水灯程序设计
流水灯硬件实现
流水灯系统优化与 扩展
EDA流水灯概述
流水灯是一种常见 的电子设备,用于 显示各种信息
流水灯通常由多个 LED灯组成,可以 显示不同的颜色和 亮度
流水灯可以通过 编程控制,实现 各种动态效果
流水灯的工作原理是通过控制LED灯的亮灭时间,使LED灯按照一定的顺序依次亮 起和熄灭。
流水灯的控制方式有多种,包括硬件控制和软件控制。硬件控制通常使用定时器 或计数器,软件控制通常使用微控制器或单片机。
流水灯的应用广泛,可以用于广告牌、指示灯、装饰灯等领域。
EDA软件介绍
添加标题 添加标题 添加标题 添加标题 添加标题 添加标题
编写流水灯程序:根据硬件电路和功能需求,编写相应的程序代码 调试流水灯程序:通过仿真软件或实际硬件设备,对编写的程序进行调试,确保其正确运行 优化流水灯程序:根据调试结果,对程序进行优化,提高运行效率和稳定性 编写流水灯程序的注意事项:注意硬件接口的匹配,避免出现硬件冲突等问题
流水灯硬件实现
发展趋势:智能 化、集成化、小 型化、低功耗
技术挑战:提高 稳定性、可靠性、 安全性
市场前景:随着 物联网、人工智 能等技术的发展, 流水灯系统将有 更广泛的应用前 景
EDA实验设计报告流水灯
EDA实验设计报告流水灯一、实验背景流水灯是一种光电组合组件,它大多由两个简单元件组成,一个是led发光二极管,另一个是电位器,可以改变二极管的亮度。
本实验以FATI0A0话题,使用IMO89C52单片机实现流水灯,探究LED的工作原理和单片机的控制原理。
二、实验目的1、通过练习,掌握FATI0A0开发工具的使用,熟悉FATI0A0的基础开发流程;2、掌握基于PORTA的控制方法,通过调节端口的输出电压,控制LED的亮度和闪烁;3、掌握基于定时器的控制方法,使LED实现流水灯效果;4、掌握电路结构和作用原理,用多种方式实现流水灯效果,利用延时函数编程,启用定时器0、定时器1和定时中断,掌握定时器的设置方法等。
三、实验环境本次流水灯实验由FATI0A0开发平台准备了硬件环境:实验台、IMO89C52单片机、晶振、电源、LED等组成。
四、实验步骤(一)编写程序1.首先利用CY8IDE软件设计并编写流水灯程序,开启定时器,通过定时中断实现LED 的闪烁;2.然后了解定时器1的设置方法,编写流水灯程序,将定时器1设置为内部计数,并设定中断周期;3.最后将定时器1设置为高中断优先级,以确保流水灯的互斥性。
(二)烧写1.连接实验台的FATI0A0和串口,Push连接拨码开关,检查元件布局是否正确;2.将编写的程序烧写到FATI0A0,同时将电源和晶振接到FATI0A0的连接器上;3.然后将烧写好的源代码下载到FATI0A0可编译环境,并在FATI0A0上启动,程序就会运行起来。
(三)验证1.将拉线连接到LED上,先检查LED是否能正常亮灭;2.将程序烧写到FATI0A0后,打开LED,检查流水灯效果,看是否按照要求显示;3.如果实验结果满足要求,实验就成功。
五、结论本次实验熟悉了FATI0A0开发环境的使用,掌握了PORTA的控制方法,熟悉了基于定时器的控制方法,使LED实现流水灯效果,用多种方式实现流水灯效果,利用延时函数编程,启动定时器0、定时器1和定时中断,掌握定时器的设置方法等,有助于更好、更全面地掌握IMO89C52单片机和流水灯的相关知识。
EDA流水灯设计报告
:EDA流水灯设计报告姓名:余帅学号:2011128076专业:电子信息工程年级:11电工一.实验目的1掌握EDA编程的基本步骤2学会用EDA编写简单的程序3熟悉EDA实验箱的使用方法二.实验程序设计流水灯的源程序:module ysLED(input clk, input reset,input[1:0] mod, output reg[15:0] led,input ting);//定义输入输出);reg [31:0]counter; //计数器always @(posedge clk or negedge reset)beginif(!reset)begincounter <= 0;//归零endelse if(counter == 20)begincounter <= 0;endelsecounter <= counter + 1;//循环计数endalways @(posedge clk)beginif(!reset)beginled <= 16'b0000000000000001;//置初值endelse if(ting==1'b1)beginif(counter==20)begincase(mod)2'b00:led<={led[0],led[15:1]};2'b01:led<={led[14:0],led[15]};2'b10:beginled=led|16'b0000000110000000;led={led[14:8],1'b1,1'b1,led[7:1]};end2'b11:beginled=led|16'b1000000000000001;led={led[8],led[15:9],led[6:1],led[0],led[7]};enddefault:led<=16'b1111111111111111;endcase//实现循环移位。
EDA流水灯,数码管显示01234567,加减计数,
练习1.两位的循环彩灯,自定义的循环彩灯2.用另外的方式实现按键控制数码管加减3.设计一个在四个数码管上,显示拨码开关给定的值。
1、设计一个流水灯。
原理图设计:(8位流水灯)程序设计:(16位流水灯)module led_s(rst,clk,leds);input rst,clk;output [15:0] leds;reg [15:0] leds;reg [3:0]count;always @(posedge clk)beginif (rst)count <=16 'h00_00;elsebeginif(count==4'hf)count <=16 'h00_00;elsecount <=count+1;endendalways @(count)begincase(count)0: leds<= 16 'b0000_0000_0000_0001;1: leds<= 16 'b0000_0000_0000_0010;2: leds<= 16 'b0000_0000_0000_0100;3: leds<= 16 'b0000_0000_0000_1000;4: leds<= 16 'b0000_0000_0001_0000;5: leds<= 16 'b0000_0000_0010_0000;6: leds<= 16 'b0000_0000_0100_0000;7: leds<= 16 'b0000_0000_1000_0000;8: leds<= 16 'b0000_0001_0000_0000;9: leds<= 16 'b0000_0010_0000_0000;10: leds<=16 'b0000_0100_0000_0000;11: leds<=16 'b0000_1000_0000_0000;12: leds<=16 'b0001_0000_0000_0000;13: leds<=16 'b0010_0000_0000_0000;14: leds<=16 'b0100_0000_0000_0000;15: leds<=16 'b1000_0000_0000_0000;default: leds<=16 'hxxxx;endcaseendendmodule2、设计一个加减计数器,计数器的值在一位数码管上显示出来。
eda流水灯课程设计
eda流水灯课程设计一、教学目标本课程旨在通过eda流水灯的设计,让学生掌握基本电子设计原理和技能,培养学生的创新能力和实践能力。
知识目标:使学生了解eda流水灯的工作原理,掌握基本的电子电路设计方法,了解电子器件的使用和调试。
技能目标:培养学生使用eda工具进行电子设计的能力,提高学生的电路调试和优化技能,培养学生的创新设计思维。
情感态度价值观目标:培养学生对电子科技的兴趣和热情,引导学生正确使用电子设备,注意安全,培养学生的团队合作意识和沟通能力。
二、教学内容本课程的教学内容主要包括eda流水灯的基本原理、设计方法和实践操作。
首先,介绍eda流水灯的工作原理和相关电子器件的使用方法。
然后,讲解使用eda工具进行电子设计的基本方法,包括电路图的绘制、元件的选型和电路的仿真。
最后,进行eda流水灯的实践操作,包括电路的搭建、调试和优化。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法。
首先,通过讲授法,使学生了解eda流水灯的基本原理和相关知识。
然后,通过讨论法,引导学生进行思考和交流,提高学生的理解能力。
接下来,通过案例分析法,分析实际案例,使学生了解eda流水灯的设计方法和流程。
最后,通过实验法,进行eda流水灯的实践操作,培养学生的动手能力和实践能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备适当的教学资源。
教材:选用权威、实用的教材,为学生提供基本的学习资料。
参考书:提供相关的参考书籍,帮助学生深入了解eda流水灯的相关知识。
多媒体资料:制作精美的多媒体课件,生动展示eda流水灯的设计原理和实践操作。
实验设备:准备充足的实验设备,保证每个学生都能进行实践操作。
五、教学评估本课程的教学评估将采用多元化的评估方式,以全面、客观、公正地评价学生的学习成果。
平时表现:通过观察学生在课堂上的参与度、提问回答、小组讨论等表现,评估学生的学习态度和理解能力。
EDA流水灯课程设计
黄冈师院物电学院《EDA技术》课程设计报告项目名称:多模式流水灯设计专业年级:电子信息工程2010级学号: 201022240202 学生姓名:指导教师:冯杰报告完成日期2012 年12 月30 日评阅结果评阅教师第一章绪论1.1 系统背景1.1.1、EDA技术EDA技术是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
1.1.2、实验内容设计可以多模式控制的流水灯,并用Max+PlusⅡ10.2进行编译和仿真,可以在实验箱上实现自己的需求功能。
1.1.3、设计要求可以进行不同频率选择及不同模式选择进行组合,必须有手动选择组合,至少4种流水灯方式第二章系统电路设计2.1 系统总体设计框架结构设计原理:由分频器实现2、4、8、16的分频,设计一个十六进制计数器,由低位控制四选一电路,高位控制模式选择电路。
模式选择则由状态机来实现四种状态之间的转换。
2.2系统单元电路设计2.2.1分频器设计程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.std_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLK_DIV ISPORT(CLK : IN STD_LOGIC;CLK_DIV2 :OUT STD_LOGIC;CLK_DIV4 :OUT STD_LOGIC;CLK_DIV8 :OUT STD_LOGIC;CLK_DIV16 :OUT STD_LOGIC);END CLK_DIV;ARCHITECTURE RTL OF CLK_DIV ISSIGNAL COUNT : STD_LOGIC_VECTOR (3 DOWNTO 0);BEGINPROCESS(CLK)BEGINIF (CLK'EVENT AND CLK='1') THENIF(COUNT="1111") THEN COUNT<=(OTHERS=>'0');ELSE COUNT<=COUNT+1;END IF;END IF;END PROCESS;CLK_DIV2<=COUNT(0);CLK_DIV4<=COUNT(1);CLK_DIV8<=COUNT(2);CLK_DIV16<=COUNT(3);END RTL;仿真分析:本程序用VHDl语言,对时钟信号进行2分频、4分频、8分频、16分频。
EDA流水灯电路课程设计
课程设计说明书课程设计名称:EDA技术课程设计题目:流水灯电路设计学生姓名:专业:信息工程学号:指导教师:阳小明日期:2014年 6月 17 日成绩摘要:本次设计要求采用可编程逻辑器件实现一个流水灯控制电路,8个LED灯能连续发出三种不同的流水显示形式,先是8个LED灯从左到右依次点亮,左边亮四个,右边亮四个,最后从中间往两边亮、两边往中间亮,实现了灯光的移动和闪亮效果,特别是用于夜晚装饰,可以使我们的生活更为丰富多彩,同时也发挥出可编程器件的灵活性特点,可以改动电路实现多种效果。
流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。
流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。
关键字:EDA,CPLD,LED,状态机;Abstract:The design requirements by using the programmable logic device implements a water light control circuit, eight LED lights out for three different water display form, The first 8 LED lights lit up sequentially from left to right, the left four bright bright,right four, finally from the middle to both sides, both sides to the middle of the brightlight, realize the middle of mobile and ablaze effect, especially used for decoration, night can make our life more rich and colorful, also play a programmable device of flexibility, can change characteristics DuoZhong circuit implementation effect.Water lamp is a string of according to certain rules for shining, like water flowing water light control is a programmable controller, the control application in industrial control technology thought also applies. Water light control method can be used DuoZhong, but for modern programmable controller based on the technology for EDA water lamp design also is very common.Key word: EDA, CPLD, LED, state machine;目录1、前言 (1)1.1EDA技术介绍 (1)1.2 Verilog HDL简介 (1)2、总体方案设计 (2)2.2 设计方案比较 (2)2.3 方案论证 (2)2.4 方案选择 (3)3、单元模块设计 (4)3.1 CPLD系统电路 (4)3.1.1 时钟电路 (4)3.1.2 JTAG下载电路 (4)3.2 LED灯输出电路 (5)3.3 电源模块电路设计 (5)4、特殊器件的介绍 (7)4.1 CPLD器件介绍 (7)5、软件实现 (8)5.1 软件设计的程序 (8)6、系统仿真及调试 (10)6.1仿真 (10)6.2 调试 (12)7.1 设计小结 (13)7.2 设计收获 (13)7.3 致谢 (14)8、参考文献 (15)附录一:CPLD中顶层模块连接图 (16)1、前言1.1EDA技术介绍EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。
EDA流水灯设计
一、实验目的
1.熟练掌握Quartus II原理图设计数字电路的方法;
2.掌握译码器、移位寄存器、计数器等的使用方法;
3.设计一个彩灯控制器,要求有四种不同形式自动变化。
二、所用器件
图1、二进制计数器图2、bcd计数器图3、移位寄存器图4、双2-4译码器
三、 设计方案
如图5所示为总体方框图。
3、花样控制器
花样控制器是一个2-4译码器,选择花样,并使其轮所示,LED指示灯显示过程是:八个灯依次被点亮,当所有灯都点亮后再将它们熄灭,再依次点亮所有灯……
图7
花样二如图8所示,LED指示灯显示过程是:第一个LED灯亮,其它灯灭,向左循
图8
花样三如图9所示,LED指示灯显示过程是:先点亮所有灯,再依次熄灭
图5、彩灯流程图
1、分频器
将实验箱48MHZ的频率分成1HZ、2HZ、4HZ、8HZ等频率,以供花样电路、时间选择器使用。电路图如图6所示下:
图6
2、时间选择器
时间选择器是一个二分频的分频器,将1HZ分成1/4HZ和1/8HZ,可以实现00、01、10、11的周期变化,在接上译码器就可以实现四种花样电路轮流变化。
EDA课程设计流水灯设计
EDA课程设计流水灯设计教学目标:通过设计流水灯的项目,让学生熟悉EDA工具的使用,了解数字电路的基本原理和设计思想。
教学内容:1. 数字电路基础知识复习:- 二进制和十进制的转换- 逻辑门的基本原理和真值表- Karnaugh图的绘制与简化逻辑表达式2. EDA工具的介绍:- 常见的EDA工具有哪些- EDA工具的安装与配置3. 流水灯的基本原理和设计思路:- 利用时钟信号控制LED灯的亮灭- 利用触发器实现流水灯效果- 设计时钟频率、LED灯数量等参数4. EDA工具的使用:- 创建新项目- 绘制电路图- 设置时钟频率和参数- 仿真电路并观察波形5. 流水灯设计:- 使用逻辑门和时序电路设计流水灯- 绘制电路图并进行仿真- 优化电路设计,减少逻辑门的使用6. 实验报告撰写:- 记录实验设计和过程- 分析实验结果教学步骤:1. 复习数字电路基础知识,包括二进制和十进制的转换、逻辑门的基本原理和真值表、Karnaugh图的绘制与简化逻辑表达式等。
2. 介绍常见的EDA工具并进行安装与配置。
3. 分析流水灯的基本原理和设计思路,包括利用时钟信号控制LED灯的亮灭、利用触发器实现流水灯效果、设计时钟频率、LED灯数量等参数。
4. 演示EDA工具的使用,创建新项目,绘制电路图,设置时钟频率和参数,进行电路仿真并观察波形。
5. 根据教学步骤4中演示的方法,引导学生设计流水灯电路,并进行仿真。
6. 分析仿真结果,讨论实际电路与理论设计的差异。
7. 优化电路设计,减少逻辑门的使用,提高电路的性能。
8. 学生根据实验过程和结果撰写实验报告。
教学评估:1. 在设计流水灯电路时,学生的思路清晰,能够正确设置时钟频率和参数。
2. 在电路仿真中,学生能够正确绘制电路图并观察波形。
3. 在优化电路设计时,学生能减少逻辑门的使用,提高电路的性能。
4. 学生能够撰写清晰、准确的实验报告,对实验过程和结果进行分析。
扩展练习:1. 设计多种流水灯效果,如交替闪烁、循环移动等。
EDA流水灯的设计
一.流水灯控制的设计1.题目1).设计要求设计能让一排灯(8只)自动改变显示花样的控制系统。
可将实验板上的一排发光二极管作为彩灯用。
控制器应有两种控制方式:◆规则变化。
变化节拍有0.5秒和0.25秒两种,交替出现,每种节拍可有8种花样,各执行一或二个周期后轮换。
彩灯变化方向有单向移动,双向移动,跳跃移动等。
◆随机变化。
变化花样相同,但节拍及花样的转换都随机出现。
2).设计提示▲灯光移动用移位寄存器实现。
各种花样,有的可以存于寄存器中,使用时并行置人移位寄存器,有的可以利用环形计数器或扭环计数器实现。
▲节拍信号可选用实验板上的振荡器,花样控制信号可用计数器控制。
▲随机信号可以用长度大于是15的伪随机序列信号发生器或用高速时钟驱动上述4位计数器得到。
2.引言EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。
随着技术市场与人才市场对EDA的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。
因此学好EDA技术对我们有很大的益处。
EDA是指以计算机为工具,在EDA软件平台上,根据设计社描述的源文件(原理图文件、硬件描述语言文件或波形图文件),自动完成系统的设计,包括编译、仿真、优化、综合、适配(或布局布线)以及下载。
3.设计思路1)灯光移动用移位寄存器实现,各种花样,有的可以存于寄存器中,使用时并行置入移位寄存器,有的可以利用环形计数器或扭环计数器实现。
2)节拍信号可选用实验板上的振荡器,花样控制信号可用4位计数器实现控制,1为节拍变化,另三位控制花样。
3)随机信号可以用长度大于15的伪随机序列信号发生器或用高速时钟驱动计数器得到4.代码library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity KKJ isport(clk: in std_logic;clr: in std_logic;choose: in std_logic_vector(2 downto 0);led: out std_logic_vector(7 downto 0));end KKJ;architecture control of KKJ issignal cnt1:std_logic_vector(1 downto 0);signal cnt2:std_logic_vector(1 downto 0);signal cnt3:std_logic_vector(1 downto 0);signal cnt4:std_logic_vector(1 downto 0);signal cnt5:std_logic_vector(1 downto 0);signal cnt6:std_logic_vector(1 downto 0);signal cnt7:std_logic_vector(1 downto 0);signal cnt8:std_logic_vector(1 downto 0);beginprocess(clk,clr)beginif clr='0'thenled<="00000000";elseif choose="000" thenif clk'event and clk='0' thencnt1<=cnt1+1;end if;case cnt1 iswhen "00"=>led<="10000000";when "01"=>led<="01000000";when "10"=>led<="00100000";when "11"=>led<="00010000";end case;elsif choose="001" thenif clk'event and clk='1' thencnt2<=cnt2+1;end if;case cnt2 iswhen "00"=>led<="00000001";when "01"=>led<="00000010";when "10"=>led<="00000100";when "11"=>led<="00001000"; end case;elsif choose="010" thenif clk'event and clk='1' then cnt3<=cnt3+1;end if;case cnt3 iswhen "00"=>led<="10000000";when "01"=>led<="00100000";when "10"=>led<="00001000";when "11"=>led<="00000010"; end case;elsif choose="011" thenif clk'event and clk='1' thencnt4<=cnt4+1;end if;case cnt4 iswhen "00"=>led<="00000001";when "01"=>led<="00000100";when "10"=>led<="00010000";when "11"=>led<="01000000"; end case;elsif choose="100" thenif clk'event and clk='0' thencnt5<=cnt5+1;end if;case cnt5 iswhen "00"=>led<="10000001";when "01"=>led<="11000011";when "10"=>led<="11100111";when "11"=>led<="11111111"; end case;elsif choose="101" thenif clk'event and clk='1' thencnt6<=cnt6+1;end if;case cnt6 iswhen "00"=>led<="01111110";when "01"=>led<="00111100";when "10"=>led<="00011000";when "11"=>led<="00000000";end case;elsif choose="110" thenif clk'event and clk='1' thencnt7<=cnt7+1;end if;case cnt7 iswhen "00"=>led<="11000000";when "01"=>led<="00110000";when "10"=>led<="00001100";when "11"=>led<="00000011";end case;elsif choose="111" thenif clk'event and clk='1' thencnt8<=cnt8+1;end if;case cnt8 iswhen "00"=>led<="10000001";when "01"=>led<="01000010";when "10"=>led<="00100100";when "11"=>led<="00011000";end case;end if;end if;end process;end architecture control;5.运行结果:1)运行代码2)波形图上可清楚的看出彩灯的移向。
EDA课程设计流水灯设计
EDA课程实践报告基于verilog的流水灯设计学院:物理与电气工程学院专业:11级电子信息工程姓名:蒋美菊学号:111102088基于verilog的流水灯设计一、摘要随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。
随着技术市场与人才市场对EDA 的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。
因此学好EDA技术对我们有很大的益处。
EDA是指以计算机为工具,在EDA软件平台上,根据设计社描述的源文件(原理图文件、硬件描述语言文件或波形图文件),自动完成系统的设计,包括编译、仿真、优化、综合、适配(或布局布线)以及下载。
流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。
流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。
课程设计主要的目的是通过某一电路的综合设计,了解一般电路综合设计过程、设计要求、应完成的工作内容和具体的设计方法、通过设计也有助于复习、巩固以往的学习内容、达到灵活应用的目的。
在设计完成后,还要将设计的电路进行安装、调试以加强学生的动手能力。
在此过程中培养从事设计工作的整体观念。
课程设计应强调以能力培养为主,在独立完成设计及制作任务同时注意多方面能力的培养与提高,主要包括以下方面:·独立工作能力和创造力。
·综合运用专业及基础知识,解决实际工程技术问题的能力。
·查阅图书资料、产品手册和各种工具书的能力。
·写技术报告和编制技术资料的能力。
·实际动手能力。
利用学到的电子技术知识,通过布置具有一定难度的设计题目,帮助学生熟悉课程设计任务和设计方法。
二、设计目的1,学习使用EDA集成设计软件Quartus II,电路描述,综合,模拟过程。
EDA流水灯设计
课程设计报告课程设计题目:EDA流水灯设计姓名:简讯学号: 09325210专业: 电子信息工程班级: 093252指导教师:黄河2012年11月9日目录一设计任务与要求 (2)二设计的基本内容 (2)三EDA和verilog简介 (3)3. 1 EDA简介 (3)3. 2 verilog简介 (4)3. 3 verilog硬件描述语言的主要能力 (4)四设计过程 (6)4.1程序设计 (6)4.2程序分析 (7)4.3设计电路图 (8)4. 4仿真结果与分析 (9)五心得体会 (10)六参考文献 (11)一.设计任务与要求随着大规模集成电路技术和EDA技术的迅速发展,使得数字系统的硬件设计如同软件设计那样方便快捷,而Verilog HDL 是当前应用最广泛的并成为IEEE 标准的一种硬件描述语言。
Verilog HDL是在C语言的基础上演化而来,具有结构清晰、文法简明、功能强大、高速模拟和多库支持等优点。
此次课程设计通过使用Verilog HDL硬件描述语言设计了一个程序,使得流水灯可以根据自己所期望的方式点亮,并能在、Quartus II进行仿真测试,得出出仿真结果。
通过课程设计深入理解VHDL语言的精髓,加深对数字电路和VHDL基本单元的理解,理论联系实际,提高设计能力,提高分析、解决计算机技术实际问题的独立工作能力。
二.设计的基本内容此次课程设计是对流水灯的设计,通过在verilog HDL中书写程序,实现八盏流水灯点亮,点亮方式首先八盏灯从左到右循环点亮,再奇数个点亮,偶数个点亮,再1,2灯;3,4灯;5,6灯,7,8灯依次点亮,再1,2,3,4灯,5,6,7,8灯依次点亮,总共十六个不同状态,转换为二进制表示为:l0=1;l1=0;l2=0;l3=0;l4=0;l5=0;l6=0;l7=0;l0=0;l1=1;l2=0;l3=0;l4=0;l5=0;l6=0;l7=0;l0=0;l1=0;l2=1;l3=0;l4=0;l5=0;l6=0;l7=0;l0=0;l1=0;l2=0;l3=1;l4=0;l5=0;l6=0;l7=0;l0=0;l1=0;l2=0;l3=0;l4=1;l5=0;l6=0;l7=0;l0=0;l1=0;l2=0;l3=0;l4=0;l5=1;l6=0;l7=0;l0=0;l1=0;l2=0;l3=0;l4=0;l5=0;l6=1;l7=0;l0=0;l1=0;l2=0;l3=0;l4=0;l5=0;l6=0;l7=1;l0=1;l1=0;l2=1;l3=0;l4=1;l5=0;l6=1;l7=0;l0=0;l1=1;l2=0;l3=1;l4=0;l5=1;l6=0;l7=1;l0=1;l1=1;l2=0;l3=0;l4=0;l5=0;l6=0;l7=0;l0=0;l1=0;l2=1;l3=1;l4=0;l5=0;l6=0;l7=0;l0=0;l1=0;l2=0;l3=0;l4=1;l5=1;l6=0;l7=0;l0=0;l1=0;l2=0;l3=0;l4=0;l5=0;l6=1;l7=1;l0=1;l1=1;l2=1;l3=1;l4=0;l5=0;l6=0;l7=0;l0=0;l1=0;l2=0;l3=0;l4=1;l5=1;l6=1;l7=1;其中10~17表示的是八盏流水灯的代号。
eda课程设计流水灯控制
eda课程设计流水灯控制一、课程目标知识目标:1. 让学生掌握EDA(电子设计自动化)的基本概念和原理;2. 使学生了解流水灯控制的硬件设计原理,掌握相关的电路图绘制和仿真;3. 引导学生掌握C语言编程控制流水灯的方法,理解程序与硬件的关联。
技能目标:1. 培养学生运用EDA软件进行电路设计和仿真的能力;2. 培养学生运用C语言编写控制程序,实现流水灯功能;3. 提高学生动手实践能力,培养团队合作精神。
情感态度价值观目标:1. 激发学生对电子设计的兴趣,培养创新意识和探索精神;2. 培养学生严谨、细心的学习态度,提高分析和解决问题的能力;3. 引导学生认识到科技对社会发展的贡献,增强社会责任感。
分析课程性质、学生特点和教学要求,本课程目标旨在使学生在掌握基本理论知识的基础上,通过实践操作,培养实际设计和制作电子产品的能力。
课程目标具体、可衡量,有助于学生和教师在教学过程中明确预期成果,为教学设计和评估提供依据。
二、教学内容1. EDA基本概念与原理:介绍EDA的发展历程、基本概念、设计流程和常用软件工具。
相关教材章节:第一章 电子设计自动化概述。
2. 流水灯硬件设计:讲解流水灯的电路原理,引导学生学习如何绘制电路图并进行仿真。
相关教材章节:第二章 常用电子元器件;第三章 电路设计与仿真。
3. C语言编程控制流水灯:教授C语言基础知识,指导学生编写程序实现流水灯的控制。
相关教材章节:第四章 C语言基础;第五章 微控制器编程。
4. 实践操作:组织学生进行EDA软件操作,绘制电路图,编写程序,实现流水灯功能。
相关教材章节:第六章 实践操作与案例分析。
教学大纲安排:第一周:EDA基本概念与原理学习;第二周:流水灯硬件设计与电路图绘制;第三周:C语言基础学习;第四周:流水灯控制程序编写;第五周:实践操作与成果展示。
教学内容科学性和系统性较强,结合教材章节和教学实际,使学生能够循序渐进地掌握EDA流水灯控制的相关知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA课程实践报告
基于verilog的流水灯设计
学院:物理与电气工程学院
专业:11级电子信息工程
姓名:蒋美菊
学号:111102088
基于verilog的流水灯设计
一、摘要
随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。
随着技术市场与人才市场对EDA 的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。
因此学好EDA技术对我们有很大的益处。
EDA是指以计算机为工具,在EDA软件平台上,根据设计社描述的源文件(原理图文件、硬件描述语言文件或波形图文件),自动完成系统的设计,包括编译、仿真、优化、综合、适配(或布局布线)以及下载。
流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。
流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。
课程设计主要的目的是通过某一电路的综合设计,了解一般电路综合设计过程、设计要求、应完成的工作内容和具体的设计方法、通过设计也有助于复习、巩固以往的学习内容、达到灵活应用的目的。
在设计完成后,还要将设计的电路进行安装、调试以加强学生的动手能力。
在此过程中培养从事设计工作的整体观念。
课程设计应强调以能力培养为主,在独立完成设计及制作任务同时注意多方面能力的培养与提高,主要包括以下方面:
·独立工作能力和创造力。
·综合运用专业及基础知识,解决实际工程技术问题的能力。
·查阅图书资料、产品手册和各种工具书的能力。
·写技术报告和编制技术资料的能力。
·实际动手能力。
利用学到的电子技术知识,通过布置具有一定难度的设计题目,帮助学生熟悉课程设计任务和设计方法。
二、设计目的
1,学习使用EDA集成设计软件Quartus II,电路描述,综合,模拟过程。
2,了解基于EDA应用系统的设计方法。
3,掌握使用EDA工具设计流水灯的设计思路和设计方法
4,熟练使用Quartus II对实验程序进行改错,调试以及演示现象。
5,帮助学生养成良好的实验习惯。
三、设计流程
(1)此次实验要求我们通过学习的EDA课程,来编制Verilog程序,以及使用这些程序代码来显示我们所要求的结果。
流水灯设计是由八只LED显示灯来实现的,通过程序代码来控制这八只灯的亮灭,在实验初期,我们首先得编程序,通过我们上课所学的基础知识,再结合近段时间去图书馆查阅的有关参考书籍,以及网上所搜索的相关知识,我们小组共同完成了程序的编制,程序代码在下面有详细介绍。
(2)其次,我们需要掌握Quartus II的用法,因为要求的现象是通过这个软件实现的,在EDA实验课程中老师有详细介绍Quartus II的使用方法,所以在这一阶段对我们来说也比较得心应手,安装,调试,然后将编好的程序输入,在此过程中我们遇到了点小困难,显示程序有错误,但是通过我们集体的努力,终于发现,是因为在操作时,我们应该先创建自己的文件夹,然后统一存放在一起,而我们存放的地方有误,所以显示不出我们所输入的代码。
(3)当所有的程序输入无误后,我们要为每个器件设置管脚,因为这些在实验课上老师有说过,而且管脚号也已告诉我们,只需查询便可,所以这一阶段应该说也挺简单的。
(4)当所有的这一切准备工作做完后就是该演示现象了,这是最关键的一步,因为实验教材有限,所以不能保证我们每位同学都来演示,我们一组人中只需一个代表将我们的程序整理一下,然后演示一遍,8只LED显示灯能被控制其亮灭,会显示像流水一样的灯光。
那么我们便可以通过这次的课程设计了,在此过程中,我们每个人的任务不同,我虽然没有亲手去调试,但是我也了解它的运作。
(5)设计报告也是我们课程设计的最后一步了,说白了就是将我们这一周所干的事情总结一下,从开始使用Verilog编程序,在Quartus II输入程序,及改正错误,调试,运行,显示现象。
这所有的东西详细的说明。
那么这次的课程设
计就圆满结束。
四、流水灯设计程序
module Verilog1(LED,CLK,reset);
output[7:0] LED;
input CLK,reset;
reg [7:0] LED;
reg [24:0] counter;
initial
LED=8'b11111111;
always@(posedge CLK)
begin
counter<=counter+1;
if(counter==25'b1_0111_1101_0111_1000_0100_0000) //25M // 1_0111_1101_0111_1000_0100_0000
begin
LED<=LED<<1;
counter<=0;
if(LED==8'b0000000)
LED<=8'b11111111;
end
end
endmodule
五、流水灯设计管脚分配
六、设计注意事项
在编写程序时,注意格式以及拼写是否正确,因为Quartus II要求的程序代码也是很严格的,所以没有扎实的Verilog编程基础,也很难得到所要求的程序。
其次在保存程序时,我们要建立自己的文件夹来存放所编的程序,以防止运行时和其他程序的混乱导致错误。
在管脚分配这块,我们要注意查找每个器件的标号,然后准确输入进去,可以使用文本编辑工具打开QuickSOPC管脚分配.txt文件,将# Pin & Location Assignments段拷贝并替代用户QuartusII工程文件夹下的*.qsf文件中的相同段。
当然,用户也可以直接在该文件中修改管脚的配置,这比在Quartus II中逐一分配管脚效率要高。
当只使用部分管脚时,可以只拷贝用到的管脚分配,当然,也可以全部拷贝,没有使用的管脚不会影响设计。
七、课程设计总结
两个月的电子设计技术(EDA)课程已经结束,在这验收学习成果的一星期内,通过对流水灯的制作,清楚地看到了自己在EDA方面知识的薄弱,各个知识点没有联会贯穿,EDA基础知识的掌握也不够牢固。
在做此课件的过程中,充分体会到了实际操作的重要性。
如果没有同学的指点,可能自己会在一些地方打转弯,浪费掉很多时间。
通过这次课程设计,可以很好的把各个章节的模块融合到一起,对以后的学习,设计很有帮助。
经过这次的课程设计,让我感觉自己在动手操作方面有质上的飞跃。
再加上前几次的课程设计所积淀下来的经验,以及老师悉心的指导,有力地指导了这次课程设计的进行,提高了这次课程设计任务的质量和速度,进一步地增强了自己完成任务的能力,巩固了所学的理论知识。
完成课程设计的质量明显提高。
几个人集体完成任务,必然存在弊端的,尤其体现在合作的分工不明确和对任务的消极怠工。
这次课程设计要求五人一组,一个中心,但需要融入自己的思想在里面,这也在一定程度上摆脱了依赖和消极怠工的现象。
使我们独立完成任务能力增强。
所有的专业课实验,以及这次的课程设计,无不有力地证明了基础知识的重要性,无不在提醒自己,要重视对基础知识的学习。
通过这次的实验,理解了电子技术设计的设计方法和流程,夯实了QuartusII的操作流程。
很显然,任何的实践活动,都不可能闭门造车,是必须去吸取前人的实践经验,这就要求在课程
设计的过程中,从网络上,从图书馆,借寻相关资料书籍等,有力地指导课程设计。
进一步认清了毕业走向。
增强了搜索资料的能力。
通过这次的课程设计,就直接指明了一条出路,那就是学习如何通过EDA只是设计一些器件。
这就要求在最后的大学时间里,要继续夯实相关的理论知识,继续多动手操作,提高具体的实践操作能力,为即将毕业的工作出路,做好充分的准备。
对这次课程设计的建议。
整个的课程设计的过程中,老师的悉心指导对我们是大有裨益的,对老师表示感谢。
还有同学之间的互相帮助,也进一步增进了我们的友谊,所以说这次的课程设计真的让我获益匪浅。
八、参考文献
《EDA技术实用教程》,潘松、黄继业,科学出版社,2001.7
《CPLD系统设计技术入门与应用》,黄正瑾等著,电子工业出版社
《电子设计自动化(EDA)手册》,王丹、童如松,电子工业出版社
《可编程逻辑器件与EDA技术》李景华,杜玉远.东北大学出版社,2000 《FPGA系统设计与实践》陈琼,潘礼.电子工业出版社,2005。