数字集成系统实验指导书 - 图文(5)

2019-04-01 20:58

实验五:十字路口交通管理器

实验学时:4 实验类型:设计 实验要求:必修 一、实验目的

1、深入理解VHDL语言进行层次化设计的基本要领.

2、掌握程序包(PACKAGE),元件(COMPONENT),端口映射(PORT MAP)的应用

二、实验内容

设计一个十字路口交通管理器.该管理器控制甲,乙两道的红,黄,绿三色的灯,指挥车辆

和行人安全通行。

三、实验原理、方法和手段

交通灯管理器如图所示.图中R1, G1, Y1是甲道红,黄,绿等;R2, G2, Y2是乙道红,黄,绿灯.

图5-1 交通灯示意图

该交通管理器有控制器和三个受其控制的定时器和六个交通等组成,图中三个定时器分别确定甲道通行,乙道通行时t3,t1以及公共的停车(黄灯亮)时间t2.这三个定时器采用以秒信号为时钟信号的计数器来实现.C1, C2, C3分别是这些定时器计数器的工作使能端,即当C1, C2, 或C3为1时候, 相应的定时器计数.W1,W2,W3为定时器的只是信号,计数器在计数过程中,相应的指示信号为1,计数结束时为0.

20

四、实验组织运行要求

教师简单讲解,学生调试程序,教师辅导 五、实验条件

安装MAXPUS++II的电脑一台

可编程数字开发系统CIC——310CPLD/FPGA硬件实验箱

六、实验步骤

文件的输入、编译、仿真参考前面的实验。

1、 画出ASM图

按照系统的功能要求,即常规的十字路口交通管理规则,给出交通管理器工作流程图,也可以看作是系统控制器的ASM图.

图5-2 交通灯ASM图

2、先用图形和文本相结合的方法进行设计,采用分层次自下而上的设计方法.

21

首用先VHDL语言实现控制器和三个各为模型26,模5,模30的计数器.将他们打包. 控制器的程序:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY traffic_control IS PORT(

clk :IN STD_LOGIC; c1,c2,c3 :OUT STD_LOGIC; w1,w2,w3 :IN STD_LOGIC; r1,r2 :OUT STD_LOGIC; y1,y2 :OUT STD_LOGIC; g1,g2 :OUT STD_LOGIC; reset :IN STD_LOGIC); END traffic_control;

ARCHITECTURE a OF traffic_control IS TYPE STATE_SPACE IS (S0,S1,S2,S3); SIGNAL state: STATE_SPACE; BEGIN PROCESS(clk)

BEGIN

IF reset='1' THEN state<=S0;

ELSIF(clk 'EVENT AND clk='1') THEN CASE state IS WHEN S0=>

IF W1='1' THEN state<=S1; END IF; WHEN S1=> IF W2='1' THEN state<=S2; END IF; WHEN S2=> IF W3='1' THEN state<=S3; END IF; WHEN S3=>

IF W2='1' THEN state<=S0; END IF; END CASE; END IF; END PROCESS;

22

c1<='1' WHEN state=S0 ELSE '0';

c2<='1' WHEN state=S1 OR state=S3 ELSE '0'; c3<='1' WHEN state=S2 ELSE '0';

r1<='1' WHEN state=S1 OR state=S0 ELSE '0'; y1<='1' WHEN state=S3 ELSE '0';

g1<='1' WHEN state=S2 ELSE '0';

r2<='1' WHEN state=S2 OR state=S3 ELSE '0'; y2<='1' WHEN state=S1 ELSE '0'; g2<='1' WHEN state=S0 ELSE '0'; END a; 模30的计数器 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY counter30 IS PORT(

clk :IN STD_LOGIC; enable :IN STD_LOGIC; c :OUT STD_LOGIC); END counter30;

ARCHITECTURE a of counter30 IS BEGIN

PROCESS(clk)

VARIABLE cnt: INTEGER RANGE 30 DOWNTO 0; BEGIN

IF(clk 'EVENT AND clk='1') THEN IF enable='1' AND cnt<30 THEN cnt:=cnt+1; ELSE cnt:=0; END IF; END IF;

IF cnt=30 THEN c<='1'; ELSE

c<='0'; END IF; END PROCESS; END a;

模26和模5进制的计数器程序略,请同学们自己设计 然后用原理图的方法进行顶层设计.见图5-3

2、完全采用VHDL 语言,采用自上而下的设计方法.见课本P311.在此不赘述。

七、思考题

23

八、实验报告

要求学生按本实验指导书后附的实验报告格式和要求的内容写出实验报告,实验报告应

包括实验预习、实验记录和实验报告等三部分内容。

九、其它说明

1. 学生实验时,应严格准守实验室规则、安全制度和学生实验守则;

2. 认真学习实验操作技能,严格按指导书和实验指导教师的指导操作有关规仪器设备,

不要做与本实验无关的事情;

3.做好实验预习、实验记录,并按要求按时完成实验报告。

图5-3 交通灯顶层图形输入文件

24


数字集成系统实验指导书 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:七八年级必须掌握的19个重点英语语法!110+学霸必背!

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: