EDA实验六.docVIP

  • 4
  • 0
  • 约3.85千字
  • 约 6页
  • 2018-04-09 发布于湖北
  • 举报
EDA实验六

“现代电子系统设计”实验教案 实验六 交通灯控制器实验 一、实验目的 1.掌握在Quartus II 软件中使用层次化设计的方法; 2.学习复杂数字系统的设计方法; 3.学习状态机的原理及使用Verilog HDL 语言设计的方法; 4.掌握交通灯控制器的原理,使用状态机实现交通灯控制器。 二、 实验设备 1.PC 微机一台; 2.TD-EDA 实验箱一台; 3.SOPC 开发板一块。 三、 实验内容 状态机是一类很重要的时序电路,是许多数字电路的核心部件。本实验是使用状态机实现十字路口的交通灯控制器,控制十字路口的交通灯,指挥各种车辆和行人安全通行。交通灯控制器的要求如下: 在十字路口的两个方向上各设一组红、绿、黄灯,显示顺序和计时如下图。 当任一条路上出现特殊情况,如消防车、救护车通过时,各方向均亮红灯,倒计时停止,当特殊状态结束后,控制器恢复原来状态。 本实验使用图形法与文本法结合的混合输入方法层次化设计交通灯控制器,分别进行仿真、引脚分配并下载到电路板进行功能验证。 四、 设计思路 1.系统框图 本课题的核心是一个计数范围为0-49 (共50s) 的计数器和一个根据计数值做出规定反应的控制器。实验箱有 1Hz 的方波输入可作为输入时钟,其时钟周期正好为1s,可作为计数器的输入时钟,因此不必再通过时钟分频得到1Hz的时钟信号,如果没有 1Hz 的时钟,则必须有分频模块将输入时钟分频,得到 1Hz 的时钟作为计数器的输入时钟。系统框图如下所示。 A.Reset: 重启键,表示系统上电,开始工作。 B.Hold: 特殊情况键, 表示出现消防车等特殊情况。 C.东西向的红、绿、黄灯为RA、GA、YA;南北向的红、绿、黄灯为RB、GB、YB。 2、设计计数器 counter.v 计数器的源程序如下: -- 计数器的源程序counter.v module counter(clk,reset,hold,num); input clk,reset,hold; output [5:0] num; reg [5:0] num; always @(posedge clk) begin if (reset) num=0; else if (hold) num=num; else if(num=49) num=0; else num=num+1; end endmodule 3、设计控制器 controller.v 设计思路:控制器根据计数值来控制交通灯的明灭,交通灯的明灭情况共有4种状态,其状态的转换可以用状态转换图来实现,因此控制器可以用状态机实现。 计数值与交通灯明灭状态关系图 交通灯控制器的状态转换图 交通灯状态与交通灯输出关系: S0: GA=1; YA=0; RA=0; RB=1; GB=0; YB=0; S1: GA=0; YA=1; RA=0; RB=1; GB=0; YB=0; S2: GA=0; YA=0; RA=1; RB=0; GB=1; YB=0; S3: GA=0; YA=0; RA=1; RB=0; GB=0; YB=1; 用 VHDL 实现状态机包含两个进程:状态机状态转换进程 Change_State 和状态机输出进程 Output_Process。状态转换进程由状态转换图决定。由于交通灯的明灭只与交通灯状态相关,因此该状态机为 Moore 机,输出进程由交通灯状态与交通灯输出关系决定。 根据状态转换图设计 module controller(clk,reset,num,GA,RA,YA,GB,RB,YB); input clk,reset; input[5:0] num; output GA,RA,YA,GB,RB,YB; reg GA,RA,YA,GB,RB,YB; reg[3:0] state; parameter s0=4h1,s1=4h2,s2=4h4,s3=4h8; always @(posedge clk) begin if (reset) state=s0; else begin case (num) 0:state=s0; 19:state=s1; 24:state=s2; 44:state=s3; endcase end case(state) s0: begin GA=1; YA=0; RA=0; RB=1; GB=0; YB=0;end s1:begin GA=0; YA=1; RA=0; RB=1; GB=0; YB=0;end s2:begin GA=0; YA=0; RA=1; RB=0; GB=1; YB=0;end s3:begin GA=0; YA=

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档