文档详情

EDA课程设计报告--交通信号控制器的VHDL设计.doc

发布:2018-05-12约6.04千字共12页下载文档
文本预览下载声明
EDA 课题设计报告 题 目:交通信号控制器的VHDL设计 指 导 老 师 : 学 院 : 班 级 :08级电子信息工程 学 号 : 姓 名 : 交通灯信号控制器的VHDL设计 一、设计任务及要求: 设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。要求: 交通灯从绿变红时,有4秒黄灯亮的间隔时间; 交通灯红变绿是直接进行的,没有间隔时间; 主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒; 在任意时间,显示每个状态到该状态结束所需的时间。 支干道 主干道 图1 路口交通管理示意图 A B C D 主干道交通灯 绿(40秒) 黄(4秒) 红(20秒) 红(4秒) 支干道交通灯 红 红 绿 黄 表1 交通信号灯的4种状态 设计要求: 采用VHDL语言编写程序,并在QUARTUSII工具平台中进行仿真,下载到EDA实验箱进行验证。 编写设计报告,要求包括方案选择、程序清单、调试过程、测试结果及心得体会。 设计时间和地点:两个星期,信息楼4楼EDA实验室。 2、参考设计方案 时间显示数据输出 红黄绿灯信号输出 图2 交通信号灯控制器的原理框图 3、采用VHDL语言输入的方式实现交通信号灯控制器 CLK 时间显示数据输出 信号灯输出 图3 交通信号灯控制器程序原理框图 该程序由7个进程组成,进程P1和P2将CLK信号分频后产生1秒信号,进程P3、P4、P5构成两个带有预置数功能的十进制计数器,其中P4产生允许十位计数器计数的控制信号。进程P6实现状态转换和产生状态转换的控制信号,进程P7产生次态信号和信号灯输出信号,以及每一个状态的时间值。 二、程序设计 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY traffic IS PORT (clk:in std_logic; led7s1:out std_logic_vector(6 downto 0); led7s2:out std_logic_vector(6 downto 0); comb_out:out std_logic_vector(5 downto 0)); END; ARCHITECTURE one OF traffic IS TYPE dm IS (s0,s1,s2,s3); SIgnal current_state,next_state:dm; SIGNAL FULL : STD_LOGIC; SIGNAL tl :STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL th:STD_LOGIC_VECTOR(1 DOWNTO 0); SIGNAL tm :STD_LOGIC_VECTOR(6 DOWNTO 0); SIGNAL TIME :STD_LOGIC_VECTOR(6 DOWNTO 0); BEGIN P_REG: PROCESS(CLK) VARIABLE CNT8:STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF CLKEVENT AND CLK=1 THEN
显示全部
相似文档