基于vhdl交通灯设计实验报告

上传人:s9****2 文档编号:463894222 上传时间:2023-07-22 格式:DOC 页数:15 大小:172KB
返回 下载 相关 举报
基于vhdl交通灯设计实验报告_第1页
第1页 / 共15页
基于vhdl交通灯设计实验报告_第2页
第2页 / 共15页
基于vhdl交通灯设计实验报告_第3页
第3页 / 共15页
基于vhdl交通灯设计实验报告_第4页
第4页 / 共15页
基于vhdl交通灯设计实验报告_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《基于vhdl交通灯设计实验报告》由会员分享,可在线阅读,更多相关《基于vhdl交通灯设计实验报告(15页珍藏版)》请在金锄头文库上搜索。

1、 基于VHDL交通灯设计实验报告 学 院 名 称:班 级:姓 名: 2011年 1 月 目 录序言3一 实验目的3二 实验要求3三 实验步骤4四 实验设计44.1 端口描述模块44.2 计数模块的设计54.3 控制模块的设计5 4.3.1 时间状态的转换5 4.3.1 信号灯的状态显示6五、 实验电路波形图8六、 实验心得9参考文献10附录10序言VHDL的英文全写是:VHSIC(Very High Speed Integrated Circuit)Hardware Description Language.翻译成中文就是超高速集成电路硬件描述语言。因此它的应用主要是应用在数字电路的设计中。V

2、HDL主要用于描述数字系统的结构,行为,功能和接口VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。 随着基于VHDL的EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制用计算机等领域的重要性日益突出。作为一个学电子信息专业的学生,我们必须不断地了解更多的新产品信息,这就更加要求我们对EDA有个全面的认识。本程序设计的是交通灯的设计。采用EDA作为开发工具,VHDL语言为硬件描述语言,quartusII作为程序运行平台,所开发的程序

3、通过调试运行、波形仿真验证,初步实现了设计目标在一个交通繁忙的十字路口,没有交通灯来控制来往车辆和行人的通行,假设也没有交警,那会发生什么事情呢?后果是难以想象的,可能会陷入一片混乱,甚至瘫痪。当然我们每个人都不希望这样。我们作为社会的一员,每人都有责任为它的更加先进和快捷做出力所能及的事情。我们设计的这个信号控制系统可以通过交通灯控制东西方向车道和南北方向车道两条交叉道路上的车辆交替运行,每次通行时间都可以根据实际情况预设,用以减少交通事故的发生概率。并且经过些次实验使得我们对电子技术课程内容的理解和掌握有了更深一层的认识,掌握电子电路的基本分析方法和设计方法。一、实验目的 设计一个基于ED

4、A的十字路口交通控制器,假设南北方向和东西方向,两个方向分别设置红灯、绿灯、黄灯,每个方向设置一组倒计时显示器,用以指挥车辆和行人有序的通行。红灯亮表示直行车辆禁行;绿灯亮表示直行车辆可以通行;黄灯亮表示直行车辆即将禁行;.二、 实验要求 在十字路口南北和东西两个方向各设一组红灯、绿灯、黄灯。显示顺序:绿灯 黄灯 红灯 黄灯 红灯。南北方向绿灯、黄灯和红灯显示时间分别是40*tclk、5*tclk,南北方向红灯显示时间为东西方向黄绿灯显示时间的总和;东西方向绿灯、黄灯和红灯显示时间亦为40*tclk、5*tclk,东西方向红灯显示时间为南北方向黄绿灯显示时间的总和。(tclk为时钟周期)三、

5、实验步骤 在VHDL设计描述中,采用自顶向下的设计思路,该思路,首先要描述顶层的接口,上面的描述已经规定了交通灯控制的外部时钟信号clk,输出信号:east_green_led;east_yellow_led ;east_red_led;south_green_led ;south_yellow_led;south_red_led。在自顶向下的VHDL设计描述中,通常把整个设计的系统划分为几个模块,然后采用结构描述方式对整个系统进行描述。根据实验设计的结构功能,来确定使用哪些模块以及这些模块之间的关系。通过上面的分析,不难得知可以把交通灯控制系统划分为3个模块:端口描述模块,计数模块,控制模块

6、。端口描述模块:定义实验要求的输入输出信号和灯亮时间; 计数器模块:这里需要的计数器的计数范围为0150。计到150后,下一个时钟沿升为1时,开始下一轮计数0。控制模块:通过计数器的计数控制东西南北方向灯的亮灭。四、 实验设计:4.1 端口描述模块实体:entity jiaotongdeng is generic(-定义灯亮的时间 east_green_cnt:integer:=40;-东西方向主干道绿灯 east_yellow_cnt:integer:=5;-东西方向主干道黄灯 south_green_cnt:integer:=40;-南北方向支干道绿灯 south_yellow_cnt:i

7、nteger:=5);-南北方向支干道黄灯 port(clk:in std_logic; east_green_led:out std_logic; east_yellow_led:out std_logic; east_red_led:out std_logic; south_green_led:out std_logic; south_yellow_led:out std_logic; south_red_led:out std_logic);end jiaotongdeng;功能:实现输出端口、外部时钟的定义4.2 计数模块的设计signal cnt:integer range 0 to

8、 150;.if clkevent and clk=1 then if enable_cnt=1 then cnt=cnt+1; else cnt=1; end if; 功能:实现0到150的计数4.3 控制模块的设计4.3.1 时间状态的转换u1:process(clk)-信号灯的时间状态的转换beginif clkevent and clk=1 then if enable_cnt=1 then cnt=cnt+1; else cnt if (cnt=east_green_cnt)then state=s1; else state if (cnt=east_yellow_cnt)then

9、state=s2; else state if(cnt=south_green_cnt)then state=s3; else state if (cnt=south_yellow_cnt)then state=s0; else state end case; end if;end process u1;4.3.2信号灯的状态显示u2:process(state)-信号灯的状态显示begin case state is when s0= east_green_led=1; east_yellow_led=0; east_red_led=0; south_green_led=0; south_y

10、ellow_led=0; south_red_led=1; enable_cnt=1; if(cnt=east_green_cnt)then enable_cnt east_green_led=0; east_yellow_led=1; east_red_led=0; south_green_led=0; south_yellow_led=0; south_red_led=1; enable_cnt=1; if(cnt=east_yellow_cnt)then enable_cnt east_green_led=0; east_yellow_led=0; east_red_led=1; south_green_led=1; south_yellow_led=0; south_red_led=0; enable_cnt=1; if(cnt=south_green_cnt)then enable_cnt east_green_led=0; east_yellow_led=0; east_red_led=1; south_green_led=0; south_yellow_led=1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号