Verilog交通灯要点Word下载.docx
- 文档编号:14546571
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:12
- 大小:455.68KB
Verilog交通灯要点Word下载.docx
《Verilog交通灯要点Word下载.docx》由会员分享,可在线阅读,更多相关《Verilog交通灯要点Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
一、概述.................................................4
二、任务功能.............................................5
三.系统设计.............................................5
1.工作原理..........................................5
2.系统设计方案......................................6
四、程序设计.............................................7
1.verilog源程序......................................7
2.设备选择...........................................11
3.引脚绑定...........................................12
五、仿真.................................................12
1.仿真波形...........................................12
2.硬件验证...........................................12
六、结束语...............................................13
七、参考文献.............................................14
一:
概述
HDL(HardwareDescriptionLanguage,硬件描述语言)是一种描述硬件所做工作的语言。
目前,电子系统向集成化、大规模和高速度等方向发展,以硬件描述语言和逻辑综合为基础的自顶向下的电路设计方法在业界得到迅猛发展,HDL在这种形势下显示出了巨大的优势,展望将来HDL在硬件设计领域的地位将与C和C++在软件设计领域地位一样,在大规模数字系统的设计中,它将逐步取代传统的逻辑状态表和逻辑电路图等硬件描述方法而成为主要的硬件描述工具。
VerilogHDL是工业和学术界的硬件设计者所使用的两种主要的HDL之一,另一种是VHDL。
现在它们都已成为IEEE标准。
两者各有特点,但VerilogHDL拥有更悠久的历史、更广泛的设计群体,资源也远比VHDL丰富,且非常容易学习掌握。
Quartus简介:
QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
QuartusII可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。
具有运行速度快,界面统一,功能集中,易学易用等特点。
QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。
对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。
此外,QuartusII通过和DSPBuilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;
支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。
二、任务功能
交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。
在现代化的大城市中,十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理,本系统就是基于此目的而开发的。
基本要求:
(1)设计一个交通红绿灯。
要求分主干道和支干道,每条道上安装红(主:
red1,支:
red2)绿(主:
green1,支:
green2)黄(主:
yellow1,支:
yellow2)三种颜色灯,由四种状态自动循环构成;
(2)在交通灯处在不同的状态时,设计一个计时器以倒计时方式显示计时,主干道上绿灯亮30S,支干道上绿灯亮20S。
每个干道上,在绿灯转为红灯时,要求黄灯先亮5S。
在完成基本要求的基础上,可进一步增加功能、提高性能,如绿灯亮的时间可调。
三、系统设计
1.工作原理:
城市十字交叉路口红绿灯控制系统主要负责控制主干道走向和从干道走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计:
S0:
当主干道走向的绿灯亮时,从干道走向的红灯亮,并保持30s
S1:
当主干道走向的黄灯亮时,从干道走向的黄灯亮,并保持5s
S2:
当主干道走向的红灯亮时,从干道走向的绿灯亮,并保持20s
S3:
在S3结束后又回到
(1)状态,并周期重复进行。
状态图如下:
2.系统设计方案:
根据设计要求和系统所具有功能,并参考相关的文献资料经行方案设计画出如下所示的十字路口交通灯控制器系统框图,及为设计的总体方案,框图如下图所示:
四、程序设计
1.verilog源程序:
moduletraffic(en,clk,rst,num1,num2,light1,light2,out1,out2,out3,out4,in1,in2);
inputen,clk,rst,in1,in2;
//en为使能端。
in1,in2控制绿灯和红灯亮时间
output[7:
0]num1,num2;
output[2:
0]light1,light2;
output[6:
0]out1,out2,out3,out4;
//输出四个数码管
reg[6:
regtim1,tim2;
reg[1:
0]state1,state2;
reg[2:
0]light1,light2;
reg[7:
0]red1,red2,green1,green2,yellow1,yellow2;
parameters0=2'
b00,s1=2'
b01,s2=2'
b10,s3=2'
b11;
//四个循环状态
reg[25:
0]count;
regdiv;
always@(en)
if(en)
begin//设置计数初值
if(!
in1)begingreen1<
=8'
b00110000;
red2<
end//30H,即30秒
elsebegingreen1<
b01100000;
end//60s
in2)beginred1<
b00100000;
green2<
end//20s
elsebeginred1<
b01000000;
end//40s
yellow1<
b00000101;
yellow2<
//05s
end
always@(posedgeclk)//分频
if(count==25000000)begindiv<
=1;
count<
=count+1;
end
elseif(count==50000000)begindiv<
=0;
elsecount<
always@(posedgediv)
begin
if(rst)//复位情况控制
begin
light1<
=3'
b001;
num1<
=green1;
end
elseif(en)
begin//使能有效开始控制计数
if(!
tim1)//开始控制
begin//主干道交通灯点亮控制
tim1<
case(state1)//状态机
s0:
beginnum1<
light1<
state1<
=s1;
s1:
=yellow1;
b010;
=s2;
s2:
=red1;
b100;
=s3;
s3:
=s0;
default:
endcase
else
begin//倒数计时
if(num1>
0)
if(num1[3:
0]==0)
num1[3:
0]<
=4'
b1001;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Verilog 交通灯 要点