EDA技术与应用课程—交通灯控制器的设计_第1页
EDA技术与应用课程—交通灯控制器的设计_第2页
EDA技术与应用课程—交通灯控制器的设计_第3页
EDA技术与应用课程—交通灯控制器的设计_第4页
EDA技术与应用课程—交通灯控制器的设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本科课程设计报告本科课程设计报告课程名称:CPLD/FPGA 应用设计 课程设计题目 交通灯控制器 实验地点: 中区采矿楼二层 专业班级: 电信 学号: 学生姓名: 2014 年 6 月 17 日目录目录第一章第一章 绪论绪论.11.1 EDA 技术的概述.11.1.1 EDA 技术发展历史 .11.1.2 EDA 技术的基本特征 .11.2 VHDL 硬件描述语言.2VHDL 设计的特点.2第二章第二章 系统设计要求与内容系统设计要求与内容.42.1 课程设计交通灯控制系统要求.42.2 设计思路.42.2.1 交通灯控制器原理框图.42.2.2 控制情况表.52.2.3 设计电路原理图.6

2、第三章第三章 系统设计方案系统设计方案.73.1 设计模块与程序.73.1.1 交通灯控制器 JTDKZ 设计模块与程序 .73.1.2 显示控制单元 CSKZ 设计模块与程序 .93.1.3 倒计时 45sCNT45s 设计模块与程序.103.1.4 倒计时 25sCNT25s 设计模块与程序.123.1.5 倒计时 5sCNT05s 的设计模块与程序.133.2 管脚定义.153.3 时序仿真结果.153.4 实验调试结果.16第四章第四章 心得体会心得体会.17参考文献参考文献.18 第 1 页 共 18 页第一章第一章 绪论绪论1.11.1 EDAEDA 技术的概述技术的概述EDA 是

3、在电子电路 CAD(ComputerAidedDesign,计算机辅助设计)的基础上发展起来的计算机软件系统。EDA 技术就是依赖功能强大的计算机,在EDA 工具软件平台上,对以硬件描述语言 HDL(HardwareDescriptionLanguage)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA 技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和 EDA 软件来完成对系统硬件功能的实现,这是电子设计技术的一个巨大进步。1.1.1 EDA 技术发展历史技术发

4、展历史20 世纪 70 年代为计算机辅助设计(CAD,ComputerAidedDesign)阶段。人们开始用计算机辅助进行 IC 版图编辑、PCB 布局布线,取代了手工操作。20 世纪 80 年代为计算机辅助工程 CAE,ComputerAidedEn 出 neering)阶段。与 CAD 相比,CAE 除了有纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。CAE 的主要功能是:原理图输入、逻辑仿真、电路分析、自动布局布线、PCB后分析。20 世纪 90 年代为电子设计自动化(EDA)阶段。1.1.2 EDA 技术的基本特征技术的

5、基本特征EDA 代表了当今电子设计技术的最新发展方向。它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分。系统的关键电路用一片或几片专用集成电路(ASIC,ApplicationSpecificIntegratedCircnit)实现,然后采用硬件描述语言(HDlHardwareDescriptionLanguage)完成系统行为级 第 2 页 共 18 页设计,最后通过综合器和适配器生成最终的目标器件,这样的设计方法被称为高层次的电子设计方法。 1.2 VHDL 硬件描述语言硬件描述语言 美国国防部在 1981 年提出了一种新的 HDL,称为 VHSICHa

6、rdwareDescriptionLanguage,简称为 VHDL。VHDL 是超高速集成电路硬件描述语言(VeryHigh-SpeedIntegratedCircuitHardwareDescriptionLanguage)的缩写。VHDL符合美国电气和电子工程师协会标准(IEEE1076 标准),它可以用一种形式化的方法来描述数字电路和设计数字逻辑系统。利用 VHDL 进行自顶向下的电路设计,并结合一些先进的 EDA 工具软件(例如 MAXPLUSII、EWB 和 Protel 等),可以极大地缩短产品的设计周期,加快产品进入市场的步伐,在当前高速发展的信息时代,可以更好地把握商机。14

7、1VHDL 编程思想 VHDL 必须适应实际电路系统的工作方式,以并行和顺序的多种语句方式来描述在同一时刻中所有可能发生的事件。可以认为,VHDL 具有描述由相关和不相关的多维时空组合的复合体系统的功能。因此,要求系统设计人员摆脱一维的思维模式,以多维并发的思路来完成 VHDL 的程序设计。一个成功的 VHDL 工程设计,对其评判的标准包括:是否能完成功能要求、满足速度要求,并考虑其可靠性以及资源的占用情况。在具体的工程设计中,必须清楚软件程序和硬件构成之间的联系,在考虑语句能够实现的功能的同时,要考虑实现这些功能可能付出的硬件代价。在编程过程中,某个不恰当的语句、算法或可省去的操作都可能带来

8、硬件资源的浪费。因此,在保证完成功能的情况下,应该尽量合理且有效地利用VHDL 语言所提供的各种有利的语法条件,尽量地优化算法,从而节约硬件资源。VHDL 设计的特点设计的特点用 VHDL 代码而不是原理图进行设计,意味着整个电路板的模型及其性能可用计算机模拟进行验证。 第 3 页 共 18 页VHDL 元件的设计与工艺无关,与工艺独立,方便工艺转换。设计出来的元件放在库中,想用时可以随时调用。在传统的原理图设计中,设计者在设计时必须手工检查与工艺有关的因素,如时序、面积、驱动强度、元件选择和扇出。有了 VHDL 后,无需考虑电路的功能、需求说明中的需求、电路的驱动能力和延时等与工艺有关的因素

9、,使设计者可计算机系统设计注重其功能,即需求的实现,而不必对不影响功能但与工艺有关的因素花费过多的精力去排除。VHDL 支持各种设计方法,自顶向下、自底向上或混合的都可以。VHDL 还支持高层次设计,使设计生命周期延长。可进行从系统级到逻辑级即最抽象的到最精确的跨越多层次的描述,即混合描述。VHDL 区别于其他的 HDL,已形成标准,其代码在不同的 EDA 系统中可交换建模。 第 4 页 共 18 页第二章第二章 系统设计系统设计要求要求与内容与内容2.1 课程课程设计交通灯控制系统要求设计交通灯控制系统要求设计一个由一条主干道和一条支干道的汇合点形成的十字交叉路口的交通灯控制器,具体求如下:

10、1、主、支干道各设一个绿、黄、红指示灯用于指示状态,两位显示数码管用于显示倒计时时间。2、当主、支道均有车时,两者交替允许通行,主干道每次放行 45s,支干道次每放行 25s,在每次由绿灯转换为红灯时,要有 5s 的黄灯作为过渡。应有倒计时显示。3、特殊功能,智能交通灯控制:若支干道无车时,主干道处于常允许通行状态。2.2 设计思路设计思路2.2.1 交通灯控制器原理框图交通灯控制器原理框图交通灯控制器原理框图如下图所示,包括置数模块、计数模块、主控制器模块和译码器模块。置数模块将交通灯的点亮时间预置到置数电路中,计数模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个

11、状态的倒计时。其中,核心部分是主控制模块。主控制器清零红 绿 黄特殊状态红 绿 黄定时计数器置数器译码器显示器 第 5 页 共 18 页2.2.2 控制情况表控制情况表状态主干道主干道倒时支干道主干道倒计时1绿灯亮45红灯亮2黄灯亮5红灯亮503红灯亮绿灯亮254红灯亮30黄灯亮5 第 6 页 共 18 页2.2.3 设计电路原理图设计电路原理图 第 7 页 共 18 页第三章第三章 系统设计方案系统设计方案3.1 设计设计模块与程序模块与程序3.1.1 交通灯控制器交通灯控制器 JTDKZ 设计模块与程序设计模块与程序交通灯控制器 JTDKZ 原理图模块LIBRARY IEEE;USE IE

12、EE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JTDKZ ISPORT(CLK,SM,SB: IN STD_LOGIC;MR,MY,MG,BR,BY,BG: OUT STD_LOGIC);END JTDKZ;ARCHITECTURE ART OF JTDKZ ISTYPE STATE_TYPE IS(A,B,C,D);SIGNAL STATE:STATE_TYPE;BEGINCNT:PROCESS(CLK) ISVARIABLE S:INTEGER RANGE 0 TO 45;VARIABLE CLR,EN:BIT;B

13、EGINIF(CLKEVENT AND CLK=1)THEN IF CLR=0THEN S:=0; ELSIF EN=0 THEN S:=S;ELSES:=S+1; 第 8 页 共 18 页END IF;CASE STATE ISWHEN A=MR=0;MY=0;MG=1; BR=1;BY=0;BG=0; IF(SB AND SM)=1THENIF S=45 THENSTATE=B;CLR:=0;EN:=0;ELSE STATE=A;CLR:=1;EN:=1; END IF;ELSIF(SB AND (NOT SM)=1THENSTATE=B;CLR:=0;EN:=0;ELSE STATEMR

14、=0;MY=1;MG=0; BR=1;BY=0;BG=0;IF S=5 THENSTATE=C;CLR:=0;EN:=0;ELSESTATEMR=1;MY=0;MG=0; BR=0;BY=0;BG=1;IF(SM AND SB)=1THENIF S=25 THENSTATE=D;CLR:=0;EN:=0;ELSESTATE=C;CLR:=1;EN:=1;END IF;ELSIF SB=0 THENSTATE=D;CLR:=0;EN:=0;ELSESTATEMR=1;MY=0;MG=0; BR=0;BY=1;BG=0;IF S=5 THENSTATE=A;CLR:=0;EN:=0;ELSESTA

15、TE=D;CLR:=1;EN:=1;END IF; 第 9 页 共 18 页END CASE;END IF;END PROCESS CNT;END ARCHITECTURE ART;3.1.2 显示控制单元显示控制单元 CSKZ 设计模块与程序设计模块与程序显示控制单元 CSKZ 原理图模块源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CSKZ IS PORT(EN45,EN25,EN05M,EN05B:IN STD_LOGIC;AIN45M,AIN45B:IN STD_L

16、OGIC_VECTOR(7 DOWNTO 0);AIN25M,AIN25B,AIN05:IN STD_LOGIC_VECTOR(7 DOWNTO 0); DOUTM,DOUTB:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END ENTITY CSKZ;ARCHITECTURE ART OF CSKZ ISBEGINPROCESS(EN45,EN25,EN05M,EN05B) ISBEGINIF EN45=1 THENDOUTM=AIN45M(7 DOWNTO 0);DOUTB=AIN45B(7 DOWNTO 0); ELSIF EN05M =1THENDOUTM=AIN

17、05(7 DOWNTO 0);DOUTB=AIN05(7 DOWNTO 0);ELSIF EN25=1 THENDOUTM=AIN25M(7 DOWNTO 0);DOUTB=AIN25B(7 DOWNTO 0); 第 10 页 共 18 页ELSIF EN05B=1 THENDOUTM=AIN05(7 DOWNTO 0);DOUTB=AIN05(7 DOWNTO 0);END IF ;END PROCESS;END ARCHITECTURE ART;3.1.3 倒计时倒计时 45sCNT45s 设计模块与程序设计模块与程序倒计时 45sCNT45s 的原理图模块:LIBRARY IEEE;US

18、E IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT45S ISPORT(SB,CLK,EN45:IN STD_LOGIC; DOUT45M,DOUT45B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END CNT45S;ARCHITECTURE ART OF CNT45S IS SIGNAL CNT6B:STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN PROCESS(SB,CLK,EN45) IS BEGIN IF SB=0 THEN CNT6B=CNT6B-C

19、NT6B-1; ELSIF(CLKEVENT AND CLK=1)THEN IF EN45=1THEN CNT6B=CNT6B+1; ELSIF EN45=0THEN CNT6BDOUT45M=01000101;DOUT45BDOUT45M=01000100;DOUT45BDOUT45M=01000011;DOUT45BDOUT45M=01000010;DOUT45BDOUT45M=01000001;DOUT45BDOUT45M=01000000;DOUT45BDOUT45M=00111001;DOUT45BDOUT45M=00111000;DOUT45BDOUT45M=00110111;DO

20、UT45BDOUT45M=00110110;DOUT45BDOUT45M=00110101;DOUT45BDOUT45M=00110100;DOUT45BDOUT45M=00110011;DOUT45BDOUT45M=00110010;DOUT45BDOUT45M=00110001;DOUT45BDOUT45M=00110000;DOUT45BDOUT45M=00101001;DOUT45BDOUT45M=00101000;DOUT45BDOUT45M=00100111;DOUT45BDOUT45M=00100110;DOUT45BDOUT45M=00100101;DOUT45BDOUT45M

21、=00100100;DOUT45BDOUT45M=00100011;DOUT45BDOUT45M=00100010;DOUT45BDOUT45M=00100001;DOUT45BDOUT45M=00100000;DOUT45BDOUT45M=00011001;DOUT45BDOUT45M=00011000;DOUT45BDOUT45M=00010111;DOUT45BDOUT45M=00010110;DOUT45BDOUT45M=00010101;DOUT45BDOUT45M=00010100;DOUT45BDOUT45M=00010011;DOUT45BDOUT45M=00010010;DO

22、UT45BDOUT45M=00010001;DOUT45BDOUT45M=00010000;DOUT45BDOUT45M=00001001;DOUT45BDOUT45M=00001000;DOUT45BDOUT45M=00000111;DOUT45BDOUT45M=00000110;DOUT45BDOUT45M=00000101;DOUT45BDOUT45M=00000100;DOUT45BDOUT45M=00000011;DOUT45BDOUT45M=00000010;DOUT45BDOUT45M=00000001;DOUT45BDOUT45M=01000110;DOUT45B=010100

23、01;END CASE; 第 12 页 共 18 页END PROCESS;END ARCHITECTURE ART;3.1.4 倒计时倒计时 25sCNT25s 设计模块与程序设计模块与程序倒计时 25sCNT25s 的原理图模块:源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT25S IS PORT(SB,SM,CLK,EN25:IN STD_LOGIC; DOUT25M,DOUT25B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END EN

24、TITY CNT25S;ARCHITECTURE ART OF CNT25S IS SIGNAL CNT5B:STD_LOGIC_VECTOR(4 DOWNTO 0); BEGINPROCESS(SB,SM,CLK,EN25)ISBEGIN IF SB=0 OR SM=0THEN CNT5B=CNT5B-CNT5B-1; ELSIF SM=0THEN CNT5B=CNT5B-CNT5B-1; ELSIF(CLKEVENT AND CLK=1)THEN IF EN25=1THEN CNT5B=CNT5B+1; ELSIF EN25=0THEN CNT5BDOUT25B=00100101;DOUT

25、25MDOUT25B=00100100;DOUT25MDOUT25B=00100011;DOUT25MDOUT25B=00100010;DOUT25MDOUT25B=00100001;DOUT25MDOUT25B=00100000;DOUT25MDOUT25B=00011001;DOUT25MDOUT25B=00011000;DOUT25MDOUT25B=00010111;DOUT25MDOUT25B=00010110;DOUT25MDOUT25B=00010101;DOUT25MDOUT25B=00010100;DOUT25MDOUT25B=00010011;DOUT25MDOUT25B=0

26、0010010;DOUT25MDOUT25B=00010001;DOUT25MDOUT25B=00010000;DOUT25MDOUT25B=00001001;DOUT25MDOUT25B=00001000;DOUT25MDOUT25B=00000111;DOUT25MDOUT25B=00000110;DOUT25MDOUT25B=00000101;DOUT25MDOUT25B=00000100;DOUT25MDOUT25B=00000011;DOUT25MDOUT25B=00000010;DOUT25MDOUT25B=00000001;DOUT25MDOUT25B=00100110;DOUT

27、25M=00110001;END CASE;END PROCESS;END ARCHITECTURE ART;3.1.5 倒计时倒计时 5sCNT05s 的设计模块与程序的设计模块与程序倒计时 5sCNT05s 设计的原理图模块源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT05S ISPORT(CLK,EN05M,EN05B:IN STD_LOGIC; DOUT5:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); 第 14 页 共 18 页END C

28、NT05S;ARCHITECTURE ART OF CNT05S IS SIGNAL CNT3B:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN PROCESS(CLK,EN05M,EN05B)IS BEGIN IF(CLKEVENT AND CLK=1)THEN IF EN05M=1THEN CNT3B=CNT3B+1; ELSIF EN05B=1THEN CNT3B=CNT3B+1; ELSECNT3BDOUT5DOUT5DOUT5DOUT5DOUT5DOUT5=00000000; END CASE; END PROCESS;END ARCHITECTURE ART; 第 15 页 共 18 页3.2 管脚定义管脚定义3.3 时序仿真结果时序仿真结果 第 16 页 共 18 页3.4 实验调试结果实验调试结果开始时,支干道没有车辆

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论