LEDN<=NIGHT; PROCESS(CLK,LP,LR) BEGIN
IF CLK'EVENT AND CLK = '1' THEN IF(LR ='0')THEN IF(LP = '0')THEN LEDL<='0'; ELSE
LEDL<='1'; END IF; ELSE
LEDL <='0'; END IF; END IF; END PROCESS; END ART; 右边灯控制模块
右边灯控制模块的工作框图如图3.5所示。
RC CLK RP LEDR LR LEDB BRRAKE LEDN NIGHT
图3.5 右边灯控制模块的工作框图
右边灯控制模块由VHDL程序来实现,下面是其中的一段VHDL代码: LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY RC IS
PORT(CLK,RP,LR,BRAKE,NIGHT:IN STD_LOGIC; LEDR,LEDB,LEDN: OUT STD_LOGIC); END;
ARCHITECTURE ART OF RC IS BEGIN
LEDB<=BRAKE; LEDN<=NIGHT;
PROCESS(CLK,RP,LR) BEGIN
IF CLK'EVENT AND CLK = '1' THEN IF(LR = '0')THEN IF(RP = '0')THEN
11 / 19
LEDR <='0'; ELSE
LEDR <= '1'; END IF; ELSE
LEDR <='0'; END IF; END IF; END PROCESS; END ART;
4系统仿真
4.1分频模块仿真及分析
分频模块由VHDL程序实现后,其仿真图如图4.1所示。
12 / 19
图4.1 分频模块仿真图
对其仿真图进行仿真分析:如图所示,首先生成一个600ns的时钟脉冲,通过时钟分频把600ns的脉冲分成一个40ns的脉冲,实现了信号同步。
4.2汽车尾灯主控模块仿真及分析
汽车尾灯主控模块由VHDL程序实现后,其仿真图如图4.2所示。
图4.2主控模块时序仿真图
对时序仿真图进行分析:RIGHT,LEFT,NIGHT,BRAKE 为输入信号,RIGHT为1表示右转,LEFT为1表示左转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。RP,LP,NIGHT_LED,BRAKE_LED为输出信号。如图所示:当RIGHT为1时,产生一个RP为1的信号脉冲输出,当LEFT为1时,产生一个LP为1的信号脉冲输出,当NIGHT为1时,产生一个NIGHT_LED为1的信号脉冲输出。当BRAKE为1时,产生一个BRAKE_LED为1的信号脉冲输出。
4.3左边灯控制模块仿真及分析
左边灯控制模块由VHDL程序实现后,其仿真图如图4.3所示。
13 / 19
图4.3左边灯控制模块时序仿真图
对时序仿真图进行分析:LP,LR,NIGHT,BRAKE 为输入信号,LP为1表示左转,LR为1表示右转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。LEDL,LEDB,LEDN为输出信号,表示汽车左侧的三盏灯。如图所示:当LP为1时,LEDL输出为1表示左侧灯亮,当BRAKE为1时,LEDB输出为1表示左侧灯亮,当NIGHT为1时,LEDN输出为1表示左侧灯亮。当LR为1时,左侧三盏灯输出均为0。即没有灯亮。
4.4右边灯控制模块仿真及分析
右边灯控制模块由VHDL程序实现后,其仿真图如图4.4所示。
图4.4右边灯控制模块时序仿真图
对时序仿真图进行分析:RP,LR,NIGHT,BRAKE 为输入信号,LR为1表示左转,RP为1表示右转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。LEDR,LEDB,LEDN为输出信号,表示汽车右侧的三盏灯。如图所示:当RP为1时,LEDR输出为1表示右侧灯亮,当BRAKE为1时,LEDB输出为1表示右侧灯亮,当NIGHT为1时,LEDN输出为1表示右侧灯亮。当LR为1时,右侧三盏灯输出均为0。即没有灯亮。
14 / 19
相关推荐: