《计算机组成原理课程设计报告十六路彩灯控制器的设计与实现.doc》由会员分享,可在线阅读,更多相关《计算机组成原理课程设计报告十六路彩灯控制器的设计与实现.doc(17页珍藏版)》请在三一办公上搜索。
1、 长沙理工大学计算机组成原理课程设计报告孙林学 院 计算机与通信工程 专 业 网络工程 班 级 网络工程08-02 学 号 200858080211 学生姓名 孙林 指导教师 陈沅涛 课程成绩 完成日期 2010年12月3日 孙林 十六路彩灯控制器的设计与实现 第 17页 共17页课程设计任务书计算机与通信工程学院 网络工程专业 课程名称计算机组成原理课程设计时间20102011学年第一学期1718周学生姓名孙林指导老师陈沅涛题 目十六路彩灯控制器的设计与实现主要内容: 设计一个彩灯控制器,使彩灯(LED管)能连续发出6种以上不同的显示形式;具有6种花型循环变化。整个系统共有三个输入信号:控制
2、彩灯节奏快慢的基准时钟信号CLK_IN,系统清零信号CLR,彩灯节奏快慢选择开关CHOSE_KEY;共有16个输出信号LED15.0,分别用于控制十六路彩灯。 要有多种花型变化。 多种花型可以自动变化,循环往复。 彩灯变化的快慢节拍可以选择。 具有清零开关。要求:(1)通过对相应文献的收集、分析以及总结,给出相应课题的背景、意义及现状研究分析。(2)通过课题设计,掌握计算机组成原理的分析方法和设计方法。(3)学按要求编写课程设计报告书,能正确阐述设计和实验结果。(4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及实现,给出个人分析、设计以及实现。应当提交的文件:(1)课
3、程设计报告。(2)课程设计附件(主要是源程序)。课程设计成绩评定学 院 计算机通信工程 专 业 网络工程 班 级 网络08-02 班 学 号 200858080211 学生姓名 孙林 指导教师 陈沅涛 课程成绩 完成日期 2010年12月31日指导教师对学生在课程设计中的评价评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程内容的程度课程设计完成情况课程设计动手能力文字表达学习态度规范要求课程设计论文的质量指导教师对课程设计的评定意见综合成绩 指导教师签字 年 月 日十六路彩灯控制器的设计与实现学生:孙林 指导老师:陈沅涛摘要: 随着科技的发展 , 在现代生活中, 彩灯作为一种景观应用
4、越来越多。EDA技术的应用引起电子产品及系统开发的革命性变革 , 现介绍了以VHDL为基础的十六路彩灯控制系统。同时减少了设计芯片的数量、缩小了体积、降低了功耗、提高了设计的灵活性、可靠性和可扩展性。在电子电路设计领域中,电子设计自动化(EDA)工具已成为主要的设计手段,而VHDL语言则是EDA的关键技术之一,它采用自顶向下的设计方法,即从系统总体要求出发,自上至下地将设计任务分解为不同的功能模块,最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。本文介绍了基于EDA技的多路彩灯控制器的设计与分析。MAX+PLUSII环境下采用VHDL语言实现,论述了基于VHDL语言和CPLD芯片的数
5、字系统设计思想和实现过程。电子设计自动化技术EDA的发展给电子系统的设计带来了革命性的变化,EDA软件设计工具,硬件描述语言,可编程逻辑器件(PLD)使得EDA技术的应用走向普及。CPLD是新型的可编程逻辑器件,采用CPLD进行产品开发可以灵活地进行模块配置,大大缩短了产品开发周期,也有利于产品向小型化,集成化的方向发展。而VHDL语言是EDA的关键技术之一,它采用自顶向下的设计方法,完成系统的整体设计。关键词: VHDL, 彩灯,仿真,控制目录1 引 言61.1课题背景61.2 EDA技术特征72 十六路彩灯控制器的实现82.1功能描述82.2设计原理83 模块设计及其功能103.1子模块及
6、功能104 程序下载与测试234.1下载234.2硬件测试245 总结26参考文献291 引 言1.1课题背景VHDL(Very High Speed Integrated Circuit Hardware Description Language,超高速集成电路硬件描述语言)诞生于1982年,是由美国国防部开发的一种快速设计电路的工具,目前已经成为IEEE(The Institute of Electrical and Electronics Engineers)的一种工业标准硬件描述语言。相比传统的电路系统的设计方法,VHDL具有多层次描述系统硬件功能的能力,支持自顶向下(Top to D
7、own)和基于库(LibraryBased)的设计的特点,因此设计者可以不必了解硬件结构。从系统设计入手,在顶层进行系统方框图的划分和结构设计,在方框图一级用VHDL对电路的行为进行描述,并进行仿真和纠错,然后在系统一级进行验证,最后再用逻辑综合优化工具生成具体的门级逻辑电路的网表,下载到具体的CPLD器件中去,从而实现可编程的专用集成电路(ASIC)的设计。用VHDL 语言进行数字逻辑电路和数字系统的设计,是电子电路设计方法上的一次革命性变革。与传统设计方法相比,VHDL 描述电路行为的算法有很多优点: (1) 设计层次较高用于较复杂的计算时,能尽早发现存在的问题,缩短设计周期;(2) 独立
8、实现,修改方便,系统硬件描述能力强;(3) 可读性好,有利于交流,适合于文档保存;(4) VHDL 语言标准、规范、移植性强;随着科学技术的发展以及人民生活水平的提高,在现代生活中, 彩灯作为一种装饰既可以增强人们的感观,起到广告宣传的作用,又可以增添节日气氛,为人们的生活增添亮丽。 用VHDL进行设计,首先应该理解,VHDL语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。应充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的。整个系统共有三个输入信号:控制彩灯节奏快慢的基准时钟信号CLK_IN,系统清零信号C
9、LR,彩灯节奏快慢选择开关CHOSE_KEY;共有16个输出信号LED15.0,分别用于控制十六路彩灯。据此,我们可将整个彩灯控制器CDKZQ分为两大部分:时序控制电路SXKZ和显示控制电路XSKZ。当各个模块均完成上述操作之后,即可利MAXPLLUS2的原理图输入,调用各个元器件(底层文件),以原理图的形式形成最后的十六路彩灯显示系统(顶层文件),并且进行仿真。仿真通过,即可下载到指定的CPLD芯片里面,并进行实际连线,进行最后的硬件测试。当然,可以将各个模块所生成的元件符号存放在元件库中,以被其他人或其他的设计所重复调用,以简化后面的设计。1.2 EDA技术特征EDA是电子设计领域的一场革
10、命,它源于计算机辅助设计(CAD,Computer Aided Design)、计算机辅助制造(CAM,Computer Aided Made)、计算机辅助测试(CAT,Computer Aided Test)和计算机辅助工程(CAE,Computer Aided Engineering)。利用EDA工具,电子设计师从概念、算法、协议开始设计电子系统,从电路设计、性能分析直到IC版图或PCB版图生成的全过程均可在计算机上自动完成。EDA代表了当今电子设计技术的最新发展方向,其基本特征是设计人员以计算机为工具,按照自顶向下的设计方法,对整个系统进行方案设计和功能划分,由硬件描述语言完成系统行为级
11、设计,利用先进的开发工具自动完成逻辑编译、化简、分割、综合、优化、布局布线(PAR,Place And Route)、仿真及特定目标芯片的适配编译和编程下载,这被称为数字逻辑电路的高层次设计方法。作为现代电子系统设计的主导技术,EDA具有两个明显特征:即并行工程(Concurrent Engineering)设计和自顶向下(Top-down)设计。其基本思想是从系统总体要求出发,分为行为描述(Behaviour Description)、寄存器传输级(RTL,Register Transfer Level)描述、逻辑综合(Logic Synthesis)三个层次,将设计内容逐步细化,最后完成整
12、体设计,这是一种全新的设计思想与设计理念。2 十六路彩灯控制系统的实现2.1功能描述在电路中以 1 代表灯亮,以 0 代表灯灭,由 0,1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,从而实现多种图案多种频率的花样功能显示。在该电路中只需简单的修改程序就可以灵活地调整彩灯图案和变化方式。下面就以一个十六路彩灯控制系统的实现为例进行简单说明。此十六路彩灯控制系统设定有六种花样变化 ,这四种花样可以进行自动切换 ,并且每种花样可以选择不同的频率 。2.2设计原理用VHDL进行设计 ,首先应该了解 ,VHDL语言一种全方位硬件描述语言 ,包括系统行为级 ,寄存传输级和逻辑门级多个设计层
13、次。应充分利用DL “自顶向下” 的设计优点以及层次化的设计概层次概念对于设计复杂的数字系统是非常有用它使得人们可以从简单的单元入手 ,逐渐构成庞大而复杂的系统 。首先应进行系统模块的划分 ,规定每一模块的功能以及各个模块之间的接口。最终设计方案为:以一个十六路彩灯花样控制器、 一个四频率输出分频器 ,一个四选一控制器和一个时间选择器总共四部分来完成设计。四选一控制器从分频器选择不同频率的时钟信号输送到彩灯花样控制器 ,从而达到控制彩灯闪烁速度的快慢 ,时间选择器控制每种速度维持的时间长短。整个十六路彩灯控制系统设计的模块图如图 1所示。图13 模块设计及其功能3.1子模块及其功能本次设计分为
14、四个子模块 ,即十六路彩灯花样控制器、 四频率输出分频器 ,四选一控制器和时间选择器 ,其子模块及其功能如下:(1)四频率输出分频器在本次设计中 ,只设计了四种花样 ,要求这四种花样以不同的频率显示 ,而只有一个输入的时钟信号 ,所以对所输入的时钟信号进行 2 分频 ,4 分频 ,8分频 ,16分频 ,得到四种频率信号 ,CLKDIV模块用来完成此功能。(2)时间选择器时间选择器实际上是两个分频器 ,其中一个频率是另一个频率的两倍。本来这两个分频器是可以在上述的四频率输出器中实现的 ,但为了方便地为四选一控制器提供不同的时间选择条件 ,就将这两个分频器独立开来。这两个输出的时钟信号组合起来就可
15、以为四选一控制器提供 00,01,10,11 四个时间选择条件 ,如下图2所示。(3)四选一控制器四选一控制器功能是从分频器中选择不同频率的时钟信号送给彩灯控制器 ,实现彩灯闪烁的频率变化。(4)彩灯控制器彩灯控制电路是整个设计的核心 ,它负责整个设计的输出效果即各种彩灯图案的样式变化。该程序充分地说明了用 VHDL设计电路的 “弹” 性 ,即可通过改变程序中输出变量 Q 的位数来改变彩灯的数目。其中 ,P1进程对灯闪的速度控制有两种方式可改变灯闪的速度:一是改变外部时钟的赋值 ,二是改变信号U 的位数。P2进程能进行彩灯的图案控制 ,改变 s的位数即可改变要控制图案的数目 ,改变输出变量 Q
16、 的组合即可变幻彩灯图案。其仿真波形如图3所示 ,模块符号如图4所示。最后 ,当各个模块均完成上述操作之后 ,即可利用MAXPLUS2的原理图输入 ,调用各个元器件(底层文件) ,以原理图的形式形成最后的十六路彩灯显示系统(顶层文件) ,并且进行仿真。仿真通过 ,即可下载到指定的 CPLD芯片里面 ,并进行实际连线 ,进行最后的硬件测试。当然 ,可以将各个模块所生成的元件符号存放在元件库中 ,用以被其它人或其它的设计所重复调用 ,以简化后面的设计。图3 主控制器输出波形图4块符号 4 硬程序下载与实现4.1 下载 以上的仿真正确无误,则可以将设计编程下载到选定的目标器件中做进一步的硬件测试,以
17、便最终了解设计的正确性。4.2硬件测试经检查没有错误后下载成功在开发板上连线后成功实现程序开发板上的灯按照程序依次亮灭。5 总结用VHDL进行设计,首先应该理解,VHDL语言是一种全方位硬件描述语言,包括系统行为级,寄存器传输级和逻辑门级多个设计层次。应充分利用VHDL“自顶向下”的设计优点以及层次化的设计概念,层次概念对于设计复杂的数字系统是非常有用的,它使得我们可以从简单的单元入手,逐渐构成庞大而复杂的系统。通过使用EDA编程既方便有快捷的实现了程序本次设计的程序已经在硬件系统上得到了验证 ,实验表明 ,此设计方法能够满足多种不同花样彩灯的变化要求 ,并且该方法便于扩展不同变化模式的彩灯花
18、样。不要自己写,要利用word来自动生成。详情请看最后一页致 谢电子技术课程设计是配合电子技术基础课程与实验教学的一个非常重要的教学环节。它不但能巩固我们已所学的电子技术的理论知识,而且能提高我们的电子电路的设计水平,还能加强我们综合分析问题和解决问题的能力,进一步培养我们的实验技能和动手能力,启发我们的创新意识及创新思维。在做这个课程设计的过程中虽然遇到了很多困难,但是最后都被一一克服了,其中要非常感谢我们的陈老师给了我很多的帮助和知道!参考文献 1 罗英伟1Agent及基于空间信息的辅助决策J. 计算机辅助计及图形学学报,2001,13 (7) :667-671.2 亢锐,叶青,范全义1基
19、于Multi-agent 技术的Internet信息挖研究J. 计算机工程,2001,27 (2) :107-109.3 CHORAFASDN. Agenttechnologyhandbook M.NewYork:McGraHill,2001.4RaymondKosala,HendrikBolckeel.WebMiningResearch:ASurveyJ.ACMSIGKDD2005,2 (1) :6-8.5 AjithAbrahamBussinessIntelligenceFromWebUsageMiningJ.IEEEPress,2003,11 (1) :94-107.代码(1) 时序控制
20、电路部分程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sxkz is port(chose_key:in std_logic; clk_in:in std_logic; clr:in std_logic; clk:out std_logic);end entity sxkz;architecture art of sxkz is signal cllk:std_logic; begin process(clk_in,clr,chose_key)is variable te
21、mp:std_logic_vector(2 downto 0); begin if clr=1then cllk=0;temp:=000; elsif rising_edge(clk_in)then if chose_key=1then if temp=011then temp:=000; cllk=not cllk; else temp:=temp+1; end if; else if temp=111then temp:=000; cllk=not cllk; else temp:=temp+1; end if; end if; end if; end process; clk=cllk;
22、 end architecture art;(2)显示控制电路部分程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY XSKZ ISPORT(CLK:IN STD_LOGIC;CLR:IN STD_LOGIC;LED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END ENTITY XSKZ;ARCHITECTURE ART OF XSKZ ISTYPE STATE IS(S0,S1,S2,S3,S4,S5,S6);SIGNAL CURRENT_STATE:STATE;SIGNAL FLOWER:STD_LOGIC_
23、VECTOR(15 DOWNTO 0);BEGINPROCESS(CLR,CLK)ISCONSTANT F1:STD_LOGIC_VECTOR(15 DOWNTO 0):=0001000100010001;CONSTANT F2:STD_LOGIC_VECTOR(15 DOWNTO 0):=1010101010101010;CONSTANT F3:STD_LOGIC_VECTOR(15 DOWNTO 0):=0011001100110011;CONSTANT F4:STD_LOGIC_VECTOR(15 DOWNTO 0):=0100100100100100;CONSTANT F5:STD_L
24、OGIC_VECTOR(15 DOWNTO 0):=1001010010100101;CONSTANT F6:STD_LOGIC_VECTOR(15 DOWNTO 0):=1101101101100110;BEGINIF CLR=1 THENCURRENT_STATEFLOWER=ZZZZZZZZZZZZZZZZ;CURRENT_STATEFLOWER=F1; CURRENT_STATEFLOWER=F2; CURRENT_STATEFLOWER=F3;CURRENT_STATEFLOWER=F4;CURRENT_STATEFLOWER=F5;CURRENT_STATEFLOWER=F6;CU
25、RRENT_STATE=S1;END CASE;END IF;END PROCESS;LED=FLOWER;END ARCHITECTURE ART; (3)整个电路系统部分程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CDKZQ ISPORT(CLK_IN:IN STD_LOGIC;CLR:IN STD_LOGIC;CHOSE_KEY:IN STD_LOGIC;LED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END ENTITY CDKZQ;ARCHITECTURE ART OF CDKZQ ISCOMP
26、ONENT SXKZ ISPORT(CHOSE_KEY:IN STD_LOGIC;CLK_IN:IN STD_LOGIC;CLR:IN STD_LOGIC;CLK:OUT STD_LOGIC);END COMPONENT SXKZ;COMPONENT XSKZ ISPORT(CLK:IN STD_LOGIC;CLR:IN STD_LOGIC;LED:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END COMPONENT XSKZ;SIGNAL S1:STD_LOGIC;BEGINU1:SXKZ PORT MAP(CHOSE_KEY,CLK_IN,CLR,S1);U2:X
27、SKZ PORT MAP(S1,CLR,LED);END ARCHITECTURE ART; endprocess;endcolor;ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupx
28、f8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lH
29、SSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SI
30、QrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUX
31、yBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1
32、BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ17