ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:261.41KB ,
资源ID:5465817      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5465817.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA课程设计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA课程设计.docx

1、EDA课程设计课程设计EDA技术与 VHDL语言课程设计报告班 级:电信091班 姓 名:侯 万 鹏 学 号:0906110107 指导教师:张 沛 泓 成 绩: 电子与信息工程学院1.引言1.1 EDA技术概述EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线

2、和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成1.2 数字系统数字系统是由对信息进行采集, 转换、传输、存储、加工处理和利用的一组相互联系, 相互作用的部件所组成的一个有机的整体. 虽然信息来源不同, 有经济信息、政治信息、图文信息,信息形态不一,有离散的、有连续的等等.但都可经过变换, 转换成数字系统所能

3、接收的数字信息, 进行存储和处理. 同时又可把数字系统加工、处理后的信息经过相应逆变换,成为对被控对象进行控制的可靠依据.数字系统具有可靠性强, 精确度高,稳定性好可模块化, 便于集成等优点.2.交通灯控制系统介绍在经济科技高速发展的今天,交通灯在马路上随处可见应用广泛。交通灯控制器用于自动控制十字路口的交通灯和计时期,指挥各通道车辆和行人安全有序的通行。在马路的十字路口,红灯亮用于表示该马路禁止通行,绿灯亮表示该马路可以正常通行,黄灯亮表示停车。倒计时用于显示通行和禁止通行的时间。一般情况下, 当汽车行驶至十字交通路口时, 有3种选择: 向前, 向左转弯, 向右转弯。根据我国的交通规则规定,

4、 汽车是靠右行驶, 向右拐弯只要走弧形的支干道即可, 不需受十字交通灯的束缚。十字路口交通灯负责控制各走向红绿灯的状态及转换, 并且各状态之间有一定的时间过渡。同时, 东西南北每条干道上都为人行横道设置了红绿灯, 提醒过路行人在安全时刻穿越道路, 以保证行人的安全。2.1 交通灯控制系统的功能交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。在现代化的大城市中,十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理,本系统就是基于此目的而开发的。2.2 交通灯控制

5、系统设计城市路口交通信号控制系统大体上分为三种类型: 定周期的信号机、多时段且具有无电缆协调功能的微电脑型信号机以及联网式自适应多相位智能型信号机。具体采用哪种类型, 应根据其应用场合及特点加以确定。其中, 第一种类型以其成本低,设计简单, 安装及维护方便等特点得到了广泛应用。2.3 交通灯控制系统的基本组成模块交通灯控制器原理框图如图2.2所示,包括置数模块、计数模块、主控制器模块和译码器模块。置数模块将交通灯的点亮时间预置到置数电路中,计数模块以秒为单位倒计时,当计数值减为零时,主控电路改变输出状态,电路进入下一个状态的倒计时。其中,核心部分是主控制模块。图2.1 交通灯控制器原理框图2.

6、4 交通灯控制器状态状态南北道东西道时间1绿灯亮红灯亮202黄灯亮红灯亮53红灯亮绿灯亮204红灯亮黄灯亮53.交通灯控制系统的设计3.1 交通灯控制器功能描述及设计方法通过两组交通灯来模拟控制东西、南北两条通道上的车辆通行,所有功能在实验操作平台上进行模拟通过,根据原理其主要功能如下:图3.1 系统结构图3.2 设计要求1、功能:实现交通灯控制逻辑,控制红绿灯的亮和灭,并显示红绿灯的倒计时,东西车道和南北车道两条交叉道路上的车辆交替运行,每次通行时间都设为25秒;要求黄灯先亮5秒,才能变换运行车道2、输入信号:时钟信号clk为1kHz3、输出信号:红、绿、黄灯控制信号(高电平时亮),两位倒计

7、时LED数码管(共阴极)显示码(静态显示方式)4、要求:系统由分频器(将1kHz时钟变为1Hz)、计数器(实现25秒和5秒的倒计时)、状态机(控制红绿灯的变换)、显示码译码器(将时间的BCD码转换成LED显示码)。5、要求给出系统总体组成框图,设计思路,完成以上模块的VHDL实现及功能仿真,状态机的状态图、顶层文件及整体仿真。3.3 设计方案图3-2系统框图3.3.1 分频器的设计分频器实现是将高频时钟信号转换成低频的时钟信号,用于触发控制器和计数器。该分频器实现是五十分频,将五十赫兹的时钟信号分频成一赫兹的时钟信号。生成的Symbol 文件如图: 仿真波形如图: 图3-3 图3-4程序设计:

8、library ieee; use ieee.std_logic_1164.all;entity fenpinqi is port(clkin:in std_logic;clkout:out std_logic);end;architecture devider of fenpinqi isconstant n:integer:=999;signal counter:integer range 0 to 999;signal Clk:std_logic;beginprocess(clkin)beginif clkinevent and clkin=1 thenif coumter=999 th

9、en;counter=0;clk=not clk;elsecounter=counter+1;end if;end process;clkout=clk;end;3.3.2 控制器的设计控制器的作用是根据计数器的计数值及t1 的输入数据控制发光二极管的亮、灭,以及输出正计时数值给七段数码管的分位译码电路。本控制器是利用时钟沿的下降沿读取前级计数器的计数值,然后作出反应;生成的实体模块如图: 图3-5仿真波形如图: 图3-6程序设计:library ieee;use ieee.std_logic_1164.all;entity control isport (clk :in std_logic;

10、c1,c2,c3:out std_logic; w1,w2,w3:in std_logic; r1,r2 :out std_logic; y1,y2 :out std_logic; g1,g2 :out std_logic; reset :in std_logic); end control;architecture a of control istype state_space is (s3,s2,s1,s0) ; signal state : state_space ;beginprocess (clk)beginif reset=1 thenstateif w1=1 thenstatei

11、f w2=1 thenstateif w3=1 thenstateif w2=1 thenstate=s0;end if ;end case;end if;end if;end process;c1=1when state =s0 else 0;c2=1when state =s1 or state =s3 else 0;c3=1when state =s2 else 0;r1=1when state =s1 or state =s0 else 0;y1=1when state =s3 else 0;g1=1when state =s2 else 0;r2=1when state =s2 or

12、 state =s3 else 0;y2=1when state =s1 else 0;g2=1when state =s0 else 0;end a ;3.3.3 计数器的设计计数器1 的计数范围为由t1 引脚输入。计到t1 后,下一个时钟沿恢复到0,开始下一轮计数。仿真波形如图当t1 取7 时,计数器计数到7 后清零。实体模块和计数器2 和计数器3 的实体模块如图。 图3-7 图3-8 图3-9仿真波形: 图3-10程序设计:绿灯计数器:library ieee;use ieee.std_logic_1164.all;entity counter1 isport (clk :in std_

13、logic;enable :in std_logic;t1 :in integer range 0 to 30 ; c1 :out std_logic);end counter1 ;architecture a of counter1 isbeginprocess (clk)variable cnt : integer range 0 to 30 ; beginif (clkevent and clk=1) then if enable=1and cntt1 thencnt:=cnt+1;elsecnt:=0;end if ;if cnt=t1 thenc1=1;elsec1=0;end if

14、 ;end if ;end process;end a ;图3-11红灯计数器:library ieee;use ieee.std_logic_1164.all;entity counter2 isport (clk :in std_logic;enable :in std_logic;t1 :in integer range 0 to 30 ;c2 :out std_logic);end counter2 ;architecture a of counter2 isconstant y:Integer:=3;signal t2 : integer range 0 to 30; beginpr

15、ocess (clk)variable cnt : integer range 0 to 30 ; begint2=t1+y;if (clkevent and clk=1) then if enable=1and cntt2 then cnt:=cnt+1;elsecnt:=0;end if ;if cnt=t2 thenc2=1;elsec2=0;end if ;end if ;end process;end a;图3-12黄灯计数器:library ieee;use ieee.std_logic_1164.all;entity counter3 isport (clk :in std_lo

16、gic;enable :in std_logic;c3 :out std_logic;m3 :out integer range 0 to 5 );end counter3;architecture a of counter3 isbeginprocess (clk)variable cnt : integer range 0 to 5 ; beginif (clkevent and clk=1) then if enable=1and cnt5 then cnt:=cnt+1;elsecnt:=0;end if ;if cnt=5 thenc3=1; elsec3=0;end if ;end

17、 if ;m3=40 THEN NumA=4;NumB=30 THENNumA=3;NumB=20THENNumA=2;NumB=10 THENNumA=1;NumB=Numin-10;ELSENumA=0;NumB=40 THENNumC=4;NumD=30 THENNumC=3;NumD=20 THENNumC=2;NumD=10 THENNumC=1;NumD=Numin-10;ELSENumC=0;NumDsegoutsegoutsegoutsegoutsegoutsegoutsegoutsegoutsegoutsegoutnull;END CASE;END IF;END PROCES

18、S;END;3.3.7 数码管驱动的设计黄灯驱动由于黄灯固定时间是5秒,因此变化范围是0 至5秒,七段数码管只要能显示0-5的数就行了,所以单独用一个数码管驱动。 图3-19 图3-20程序设计:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY HDqudong IS PORT(clk:in STD_LOGIC;enable :in std_logic;data:IN integer RANGE 0 TO 5;segout: out STD_LOGIC_VECTOR(6 downto 0);END;ARCHITECTURE behavior OF

19、HDqudong ISBEGINprocess(Clk,data)BEGINIF falling_edge(Clk) and enable=1 thencase data iswhen 0=segoutsegoutsegoutsegoutsegoutsegoutnull;END CASE;END IF;END PROCESS;END;4.顶层连接及其仿真4.1 顶层文件的设计library ieee;use ieee.std_logic_1164.all;entity dingceng isport(clkd,resetd,cond,con1d:in std_logic;count1:out

20、std_logic_vector(6 downto 0);count2:out std_logic_vector(6 downto 0);count3:out std_logic_vector(6 downto 0);count4:out std_logic_vector(6 downto 0);reda,greena,yellowa,greena1: out std_logic;redb,greenb,yellowb,greenb1: out std_logic);end entity dingceng;clkd脉冲输入resetd复位信号con手动控制信号con1d状态控制信号count1

21、,count2,count3,count4七段数码管显示reda,greena,yellowa,greena1,redb,greenb,yellowb,greenb1发光二极管输出4.2 整体仿真波形 图4-1语言描述:在3-1 图中可以看出甲、乙车道绿灯亮的时间加上黄灯亮的时间等于甲车道红灯灭的时间。同时我们可以看出该系统满足我们所需的要求。5.心得体会通过此次课程设计,使我对EDA程序设计有了进一步的学习,进一步的认识;在程序的设计,程序的调试方面都学到了很多东西,现在能够熟练的使用QuartsII,能够用VHDL 语言编写简单的、实用的小程序,这次EDA 课程设计重点学习了交通灯控制电路

22、程序的编写、仿真、还有硬件下载、操作等过程。在这期间查阅了大量的关于EDA 的资料,特别是在网上和图书馆我找到了大量的关于VHDL编程的资料。此外,在整个过程中我认为调试程序是很重要的,要有耐心和探索研究的能力。我在第一次编译时有三十几个错误,其中有输入错误、语法错误,如:工程名和实体名不一致,少了分号或者少了END IF或者忘加了一个分号等错误。发现错误之后就要一遍一遍的仔细查错,直到没有错误,然后可以进行波行仿真了。通过这次的设计,进一步了解了EDA技术,收获很大,对软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。参考文献:潘松,黄继业.EDA 技术实用教程.科学出版社.2006.9李辉.PLD 与数字系统设计.西安电子科技大学出版社.2005 蒋璇.臧蠢华.数字系统设计与PLD 应用(第二版).电子工业出版社.2005曾繁泰等.VHDL程序设计(第二版).清华大学出版社

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1