VHDLFPGA交通灯
基于VHDL的交通灯设计(EDA课程设计报告)!!

EDA课程设计实验报告交通信号控制器的VHDL的设计一、设计任务及要求:设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。
要求:(1)交通灯从绿变红时,有4秒黄灯亮的间隔时间;(2)交通灯红变绿是直接进行的,没有间隔时间;(3)主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒;(4)在任意时间,显示每个状态到该状态结束所需的时间。
支干道主干道图1 路口交通管理示意图表1 交通信号灯的4种状态设计要求:(1)采用VHDL语言编写程序,并在QUARTUSII工具平台中进行仿真,下载到EDA实验箱进行验证。
(2)编写设计报告,要求包括方案选择、程序清单、调试过程、测试结果及心得体会。
二设计原理1、设计目的:学习DEA开发软件和QuartusII的使用方法,熟悉可编程逻辑器件的使用。
通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制2’设计说明(1)第一模块:clk时钟秒脉冲发生电路在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。
因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。
模块说明:系统输入信号:Clk: 由外接信号发生器提供256的时钟信号;系统输出信号:full:产生每秒一个脉冲的信号;(2)第二模块:计数秒数选择电路计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。
模块说明:系统输入:full: 接收由clk电路的提供的1hz的时钟脉冲信号;系统输出信号:tm:产生显示电路状态转换信号tl:倒计数值秒数个位变化控制信号th:倒计数值秒数十位变化控制信号(3)第三模块:红绿灯状态转换电路本电路负责红绿灯的转换。
模块说明:系统输入信号:full: 接收由clk电路的提供的1hz的时钟脉冲信号;tm: 接收计数秒数选择电路状态转换信号;系统输出信号:comb_out: 负责红绿灯的状态显示。
fpga交通灯课程设计

fpga交通灯课程设计一、课程目标知识目标:1. 学生能理解FPGA的基本原理和交通灯系统的功能需求。
2. 学生能掌握利用硬件描述语言(如VHDL/Verilog)设计简单的数字电路。
3. 学生能了解交通灯系统的时序逻辑设计和状态机原理。
技能目标:4. 学生能运用FPGA开发软件进行电路设计和仿真。
5. 学生能通过编程实现交通灯控制逻辑,并进行功能测试和调试。
6. 学生能分析并解决交通灯系统中可能出现的问题。
情感态度价值观目标:7. 培养学生对于电子工程和信息技术领域的兴趣,激发其创新意识和探索精神。
8. 强化学生的团队合作意识,使其能够在项目实施中有效沟通与协作。
9. 增强学生的社会责任感,使其理解技术在实际应用中对公共安全的作用。
课程性质:本课程为实践性强的设计与制作课程,结合理论知识与动手操作,旨在提升学生的实际工程能力。
学生特点:考虑到学生处于高年级,具备一定的电子电路基础和编程能力,能够理解和掌握较为复杂的逻辑设计。
教学要求:课程要求学生在理解理论知识的基础上,通过动手实践,完成具有实际应用价值的交通灯控制系统设计,注重培养学生解决实际问题的能力。
教学过程中将目标分解为具体可衡量的学习成果,以便于教学设计和最终评估。
二、教学内容1. 理论知识:- 数字电路基础:逻辑门、触发器、计数器等。
- 硬件描述语言:VHDL/Verilog基本语法和结构。
- 交通灯控制系统原理:状态机、时序逻辑设计。
- FPGA原理与设计流程:FPGA结构、配置过程、硬件描述语言到硬件的映射。
2. 实践操作:- FPGA开发环境搭建:安装与配置FPGA开发软件。
- 交通灯控制逻辑设计:编写VHDL/Verilog代码实现交通灯控制逻辑。
- 电路仿真与功能测试:使用开发软件进行电路仿真,验证设计功能。
- 硬件调试与优化:在FPGA开发板上进行实际测试,发现问题并进行优化。
3. 教学安排与进度:- 数字电路基础与硬件描述语言学习(2课时)。
VHDLFPGA交通灯

《VHDL与数字系统设计》课程设计报告(2014 -- 2015 年度第1 学期)名称:VHDL与数字系统设计题目: ________ 交通灯控制器 ___________院系:电气与电子工程学院班级:_____________ 电子1301 __________学号: _______________ 06 _________学生姓名: _______________ 韩辉 ____________指导教师: ______________ 高雪莲 ___________设计周数: _______________ 2周_____________成绩: ____________________________日期: 2015年1月reset=1 时保持原状态检测时钟上升沿 计 29 秒自动跳回 0、 课程设计的目的与要求1. 设计目的(1) 熟悉MAXPLUS2/Quartus II 软件,掌握软件的 VHDL 程序输入、程序编译和程序仿真操作;(2) 学习利用VHDL 语言设计交通灯控制器电路程序。
2.设计要求 :根据设计正文提出的交通灯控制器功能,实现交通灯控制器设计。
( 1 )分析交通灯控制器的基础功能(见设计正文) ,在此基础上完善该交通灯控制器功能。
(2 )根据提出的真值表编写相应的VHDL 程序。
( 3)对编写的程序说明其实现的功能和编程思路,描述程序中出现的端口含义。
二、设计正文1.设计思路:设计一个交通灯控制器,该控制器包括两组红黄绿灯(A 组和B 组)。
它们的变化顺序采用实际红绿灯变化顺序,变化时长设置:红灯 15 秒,绿灯 10秒,黄灯 5秒。
(便于最终仿真结果 的观察)2. 交通灯控制器的源程序: libraRy ieee;use——包含库和程序包entity counter is——定义实体port( clock,reset,hold:in std_logic;——输入变量 clock,reset,holdflash:out std_logic;——输出变量 flash , numa , numb , a , bnuma,numb:out integer range 0 to 25; aR,aG,aY:out std_logic; bR,bG,bY:out std_logic); end counter;——结束实体 architecture rtl of counter is——定义结构体signal countnum:integer range 0 to 30; beginprocess(clock) beginif reset='1' then countnum<=0;elsif rising_edge(clock) thenif countnum=29 then countnum<=0; elsecountnum<=countnum+1; 在前一秒的基础上加一秒end if;end if;end process;process(clock)beginif rising_edge(clock) thenif countnum<=9 thennuma<=10-countnum; aR<='0';aG<='1';aY<='0';elsif countnum<=14 thennuma<=15-countnum;aR<='0';aG<='0';aY<='1';else numa<=30-countnum;aR<='1';aG<='0';aY<='0';end if;if countnum<=14 thennumb<=15-countnum; bR<='1';bG<='0';bY<='0';elsif countnum<=24 thennumb<=25-countnum;bR<='0';bG<='1';bY<='0';else 检测时钟上升沿A路为绿灯A 路为黄灯A 路为红灯b 路为红灯B路为绿灯nu mb<=30-co untnum; B 路为黄灯结束进程K M 电gig ch rtxti0 ]ps B 0B ; 1bR<='0'; bG<='0'; bY<='1'; end if; end if; end process; en d;三•课程设计结论与总结1.交通灯控制器的仿真波形图及其分析:图1交通灯控制道路的仿真波形图一图1为交通灯控制道路的仿真波形图,由图1分析可得以下结论:(1) 如图1中蓝色框内区域所示,当reset=1时,交通灯状态保持不变;当 reset=O 时,交通灯控制器正常运行,即道路 A 按照绿一黄一红变化,道路B 按照红一绿一黄变化。
基于FPGA_CPLD和VHDL语言的交通灯控制系统设计

图 1 信号灯切换顺序 2.2 算法设计 交通灯系统工作主要有三个时间间隔 Tt、Ts、Ty: Tt 表示主干 道绿灯亮的时间间 隔 30s; Ts 表 示 支 干 道 绿 灯 亮 的 时 间 间 隔 20s; Ty 表示主干道 或 支 干 道 黄 灯 亮 的 时 间 间 隔 5s。 用 定 时 模 块 分 别 产 生 三 个 时 间 间 隔 后 , 向 控 制 器 发 出“时 间 已 到 ”信 号 , 控 制 器 根 据定时模块信号, 决定是否进行状态转换。如果肯定, 则控制器发 出状态转换信号, 计数器清零, 准备重新计时。 交通灯控制器的控制过程分为四个阶段。, 对应的输出有四 种 状 态 , 分 别 为 S0、S1、S2 和 S3 表 示 , 按 照 格 雷 码 进 行 编 码 分 别 为 00、01、11 和 10, 在此给出交通灯控制系统的工作流程图如图 2 所示, 也可看作系统控制器的 ASM 图。设系统的初始状态为主 干道绿灯亮、支干道红灯亮, 用 S0 状态框表示。
关键词: VHDL 硬件描述语言; 可编程逻辑器件; FPGA/ CPLD; 交通灯控制系统 中图分类号: TP 27 文献标识码: A 文章编号: 1009- 3044(2007)06- 11605- 01
Des ign of Traffic Light Control S ys tem Bas e on FP GA/CP LD and VHDL WEN Chang
图 2 交通控制器工作流程图( ASM 图) (下转第 1618 页)
收稿日期: 2007- 03- 20 作者简介: 文畅( 1979- ) , 女, 湖北荆州人, 助教, 主要从事: 计算机软硬件方面的教学与研究。
1605
开发研究与设计技术
基于FPGA的交通信号灯课程设计(以VHDL语言实现)

基于FPGA的数字电子技术课程设计(以VHDL语言实现)课题:交通信号灯设计题目:1.由主干道A和支干道B的汇合点形成十字交叉路口,在交叉路口处设有红绿黄三色信号灯。
红灯亮禁止通行;绿灯亮允许通行;黄灯亮则让行驶到路口的车辆有时间停靠到禁止线外。
用两位数码管显示当前主支干道所处的状态。
红黄绿分别用R,Y,G表示。
2.主干道车辆较多,所以绿灯亮灯时间为50S;支干道亮绿灯时间设为30S。
当主干道允许通行亮绿灯时则支干道亮红灯;支干道亮绿灯时也相反。
每次由绿灯转变为红灯时,期间要亮5S的黄灯。
3.交通灯正常运行时,用四位数码管显示主干道和支干道的倒计时时间。
4.能实现系统总清0,清0后计数器由初始状态开始计数。
5.具有一定的扩展功能。
一.设计思路1.根据设计题目要求可以得出交通信号灯控制器的设计用“状态法”来实现较好,因此先划分出交通灯显示时的几个较大的状态。
设状态用S表示。
S0:主干道亮黄灯支干道亮红灯亮灯5SS1:主干道亮红灯支干道亮绿灯亮灯30SS2:主干道亮红灯支干道亮黄灯亮灯5SS3:主干道亮绿灯支干道亮红灯亮灯50S状态之间应该要能实现循环:S0=>S1=>S2=>S3=>S02.然后再考虑在每个状态下要能够实现的功能。
根据题目可知在每个状态下要能实现将交通灯的颜色变换以字母的形式显示在两位数码管上,每位各表示一条道路。
在交通灯颜色输出的同时还要能够实现计数的输出,也就是各路灯转换前剩余的时间量。
3.在实现了各个状态下的功能后就要考虑加上清0功能与紧急功能,清0也就是复位功能。
在复位时实现系统清0,并且清0后计数器从初始状态开始计时,在此将S0状态视为初始状态。
也就是清0完毕后系统进入S0状态。
课题中将紧急功能设为两条路都显示红灯,并且计数器全置0。
4.这些实现的功能都加入后就可以对所写的VHDL语言进行测试与仿真了。
在其中实现对所写语言的改进和完善,并得到仿真图结合仿真图再进行修改。
基于VHDL的交通灯控制器的设计和实现

基于VHDL语言的交通灯控制器设计与实现摘要 VHDL是Very High Speed Integrated Circuit Hardware Description Language 的缩写,意思是超高速集成电路硬件描述语言。
对于复杂的数字系统的设计,它有独特的作用。
它的硬件描述能力强,能轻易的描述出硬件的结构和功能。
这种语言的应用至少意味着两种重大的改变:电路的设计可以通过文字描述的方式完成;电子电路可以当作文件一样来存储。
随着现代技术的发展,这种语言的效益与作用日益明显,每年均能够以超过30%的速度快速成长。
交通灯控制系统通常要实现自动控制红绿灯的变化,基于FPGA设计的交通灯控制系统电路简单、可靠性好。
本系统可控制2个路口的红、黄、绿三盏交通灯。
对于Max+PlusⅡ开发工具,它是美国Altera公司自行设计的一种CAE软件工具。
他具有全面的逻辑设计能力,设计者可以自由组合文本、图形和波形输入法,建立起层次化的单器件或多器件设计。
利用该工具配备的编辑、编译、仿真、综合、芯片编程等功能,将设计的电路图或电路描述程序变成基本的逻辑单元写入到可编程芯片中(如CPLD、FPGA),做成ASIC芯片。
仿真实验结果表明了该编解码器的正确性和合理性。
关键词:交通灯;控制器;VHDL;MAX+PlusⅡAbstract VHDL is the Very Hight Speed Integrated Circuit Hardware Description Language acronym,meaning that high-speed integrated circuit hardware description language.For complex digital system design,it has a unique role.Its hardware descirption ability,can easily describe the structure and funtion of the hardware.The application of this language implies that at least two kinds of major changes:the design of the circuit can actually be completed by the manner described in the text;electronic circuits can be used as to store the same files.With modern technology,the benefits and role of this language has become more obvious every year to more than 30% of the rate of rapid growth.Traffic light control system is usually to achieve the automatic trafffic light changes,FPGA-based design of a traffic light control system circuit is simplem,and good reliability.The system can control two junctions of red,yellow,green,three traffic lights.For theMax-Plus II development tool,it is United States Altera’s own design of a CAE software tools.It has a comprehensive logic design capabilities,designers can freely mix text,graphics,and waveform input method,set up hierarchical design of a single device or multiple devices.The use of the tool is equipped with the editing,compiling,simulation,synthesis,chip programming features such as the design of the circuit or circuit described procedure into the basic logic unit is written into the programmable chip(eg,CPLD,FPGA),made of ASIC chips.The simulation results show that the correct codec and rationality.Keywords:traffic light;controller,VHDL,MAX+PlusII目录1 引言 (1)2 课题背景及相关技术 (2)2.1 Max+plusII简介 (2)2.2 VHDL语言简介 (3)2.3 VHDL设计的优点与设计方法 (5)3交通灯控制器分析 (7)3.1 分频器 (7)3.2 状态机 (8)4交通灯控制器的VHDL设计 (9)4.1程序流程图 (9)4.2交通灯顶层文件和管脚分配 (10)4.3分频器和状态机的图示符号 (11)4.4仿真波形图 (12)附录 (13)结束语 (17)参考文献 (18)1引言在交通发达的当代,交通灯控制器无疑是最实用的的工具。
EDA实验报告:基于VHDL语言的交通灯控制系统设计与实现

图为k1=0时的输出状态s1,输出恒为011110。即亮灯为R1,y2。保持时间1S。
(k2=0)
上图为k2=0时的输出状态s2,输出恒为101011。即亮灯为G1,R2。保持时间2S。
(k3=0)
上图为k3=0时的输出状态s3,输出恒为110011。即亮灯为R1,G2。保持时间1S。
四、小结及心得体会
else
if counter<5 then
next_state<=s3;
else
next_state<=s0;
end if;
end if;
end if;
end if;
end if;
end case;
end process;
ouput:process(current_state)
begin ——显示程序
begin
u1: jiaotongdeng port map(
clk=>clki,
k0=>k0,
k1=>k1,
k2=>k2,
k3=>k3,
r1=>r1,r2=>r2,g1=>g1,g2=>g2,y1=>y1,y2=>y2
);
u2: div port map(clk=>clk1,clk_out=>clki);
end if;
end if;
end if;
when s3=>
if k0='0' then
next_state<=s0;
else
if k1='0' then
next_state<=s1;
基于VHDL的交通灯控制与实现

- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《VHDL与数字系统设计》课程设计报告( 2014 -- 2015 年度第 1 学期)名称:VHDL与数字系统设计题目:交通灯控制器院系:电气与电子工程学院班级:电子1301学号:06学生姓名:韩辉指导教师:高雪莲设计周数:2周成绩:日期:2015年 1 月日一、课程设计的目的与要求1.设计目的(1)熟悉MAXPLUS2/Quartus II软件,掌握软件的VHDL程序输入、程序编译和程序仿真操作;(2)学习利用VHDL语言设计交通灯控制器电路程序。
2.设计要求:根据设计正文提出的交通灯控制器功能,实现交通灯控制器设计。
(1)分析交通灯控制器的基础功能(见设计正文),在此基础上完善该交通灯控制器功能。
(2)根据提出的真值表编写相应的VHDL程序。
(3)对编写的程序说明其实现的功能和编程思路,描述程序中出现的端口含义。
二、设计正文1.设计思路:设计一个交通灯控制器,该控制器包括两组红黄绿灯(A组和B组)。
它们的变化顺序采用实际红绿灯变化顺序,变化时长设置:红灯15秒,绿灯10秒,黄灯5秒。
(便于最终仿真结果的观察)2.交通灯控制器的源程序:libraRy ieee;use ——包含库和程序包entity counter is ——定义实体port( clock,reset,hold:in std_logic; ——输入变量clock,reset,holdflash:out std_logic; ——输出变量flash,numa,numb,a,b numa,numb:out integer range 0 to 25;aR,aG,aY:out std_logic;bR,bG,bY:out std_logic);end counter; ——结束实体architecture rtl of counter is ——定义结构体signal countnum:integer range 0 to 30;beginprocess(clock)beginif reset='1' then ——reset=1时保持原状态countnum<=0;elsif rising_edge(clock) then ——检测时钟上升沿if countnum=29 then ——计29秒自动跳回0countnum<=0;elsecountnum<=countnum+1; ——在前一秒的基础上加一秒 end if;end if;end process;process(clock)beginif rising_edge(clock) then ——检测时钟上升沿if countnum<=9 then ——A路为绿灯numa<=10-countnum;aR<='0';aG<='1';aY<='0';elsif countnum<=14 then ——A路为黄灯numa<=15-countnum;aR<='0';aG<='0';aY<='1';elsenuma<=30-countnum; ——A路为红灯aR<='1';aG<='0';aY<='0';end if;if countnum<=14 thennumb<=15-countnum; ——b路为红灯bR<='1';bG<='0';bY<='0';elsif countnum<=24 thennumb<=25-countnum; ——B路为绿灯bR<='0';bG<='1';bY<='0';elsenumb<=30-countnum; ——B路为黄灯bR<='0';bG<='0';bY<='1';end if;end if;end process; ——结束进程end;三.课程设计结论与总结1.交通灯控制器的仿真波形图及其分析:图1 交通灯控制道路的仿真波形图一图1为交通灯控制道路的仿真波形图,由图1分析可得以下结论:(1)如图1中蓝色框内区域所示,当reset=1时,交通灯状态保持不变;当reset=0时,交通灯控制器正常运行,即道路A按照绿—黄—红变化,道路B按照红—绿—黄变化。
(2)如图1中绿色直线所示,道路A的绿灯持续时间为10S,之后跳变为黄灯,黄灯持续时间为5S;道路B的红灯持续时间为15S。
符合原设计方案。
图2为交通灯控制道路的仿真波形图,由图2分析可得以下结论:上一周期道路A的5S黄灯结束后跳变为红灯,并持续15S;上一周期道路B的15S红灯结束后跳变为绿灯,并持续10S,而后又变为黄灯,持续5S。
之后的周期继续循环往复。
2.课程设计的总结与改进方案考虑到道路在偶遇突发状况的特殊情况,可以考虑在交通灯控制系统中加入特殊控制信号control,其作用为:当道路遇到突发状况时,control=1,此时要求道路A、B均为红灯;在无突发状况时,control=0,交通灯按原方案运行。
改进后的交通灯控制器的源程序如下:(红色字体为修改部分)libraRy ieee;use counter isport( clock,reset,control:in std_logic;flash:out std_logic;numa,numb:out integer range 0 to 15;aR,aG,aY:out std_logic;bR,bG,bY:out std_logic);end counter;aRchitecture rtl of counter issignal countnum:integer range 0 to 30;beginprocess(clock)beginif reset='1' thencountnum<=0;elsif rising_edge(clock) thenif control='1' thenflash<='1';elseflash<='0';if countnum=29 thencountnum<=0;elsecountnum<=countnum+1;end if;end if;end if;end process;process(clock)beginif rising_edge(clock) thenif control='1' thenaR<='1';bR<='1';aG<='0';bG<='0';aY<='0';bY<='0';elseif countnum<=9 thennuma<=10-countnum;aR<='0';aG<='1';aY<='0';elsif countnum<=14 then numa<=15-countnum; aR<='0';aG<='0';aY<='1';elsenuma<=30-countnum;aR<='1';aG<='0';aY<='0';end if;if countnum<=14 thennumb<=15-countnum;bR<='1';bG<='0';bY<='0';elsif countnum<=24 thennumb<=25-countnum;bR<='0';bG<='1';bY<='0';elsenumb<=30-countnum;bR<='0';bG<='0';bY<='1';end if;end if;end if;end process;end;改进后的交通灯控制器的仿真波形图如下:图3 改进后的交通灯控制器的仿真波形图图3为改进后的交通灯控制器的仿真波形图,由图3分析可得以下结论:当control=1时,道路A、B的交通灯均为红色。
其他结论与未改进前相同,在此不再赘述。