用 VHDL 设计交通灯控制器
图 a 是一个十字路口交通灯控制示意图,H 公路和 V 公路在路口各有两个红绿灯指示
道路通行状况。
图 a 十字路口交通灯控制示意图
对应图 a 的交通灯控制器,拟用 VHDL 语言设计一电路模拟其控制逻辑,图 b 为该
VHDL 电路的设计模块图。
图 b 交通灯控制器电路设计模块图
图 b 中 Timer 模块为一定时电路,其实体说明如下:
Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
Entity timer is
Port ( clk, reset, start_timer : in std_logic; -- 时钟、复位、启动信号
Long, short : out std_logic); -- 20秒、4秒定时完成信号
End timer;
图 c 为 Timer 模块仿真波形,输入信号 clk 为频率 1KHz 的时钟信号,当复位信号 reset 高电
平时定时器复位,启动信号 start_timer 为低电平时定时器清零,高电平时开始定时,定时 4
秒后 short 信号输出高电平,定时 20 秒后 long 信号输出高电平,定时器不再计数。