• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

红绿灯设计VHDL代码Quartus DE2开发板

09/15 08:56
707
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-241016210425J8.doc

共1个文件

名称:红绿灯设计VHDL代码Quartus  DE2开发板

软件:Quartus

语言:VHDL

代码功能:

简单红绿灯设计

1、设计十字路口红绿灯

2、每条路均有红、黄、绿三种信号灯

3、信号灯按交通规则亮灭

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在DE2开发板验证,DE2开发板如下,其他开发板可以修改管脚适配:

DE2开发板.png

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 管脚分配

4. 程序编译

5. Testbench

6. 仿真图

部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
   USE ieee.std_logic_unsigned.all;
ENTITY traffic_light IS
   PORT (
      clk_50M              : IN STD_LOGIC;
      reset_n              : IN STD_LOGIC;
      main_red             : OUT STD_LOGIC;--主路灯
      main_green           : OUT STD_LOGIC;
      main_yellow          : OUT STD_LOGIC;
      branch_red           : OUT STD_LOGIC;--支路灯
      branch_green         : OUT STD_LOGIC;
      branch_yellow        : OUT STD_LOGIC
   );
END traffic_light;
ARCHITECTURE behave OF traffic_light IS
   SIGNAL clk_1Hz            : STD_LOGIC := '0';
   SIGNAL count              : STD_LOGIC_VECTOR(31 DOWNTO 0) := "00000000000000000000000000000000";
   SIGNAL main_green_time    : STD_LOGIC_VECTOR(7 DOWNTO 0);
   SIGNAL main_yellow_time   : STD_LOGIC_VECTOR(7 DOWNTO 0);
   SIGNAL branch_green_time  : STD_LOGIC_VECTOR(7 DOWNTO 0);
   SIGNAL branch_yellow_time : STD_LOGIC_VECTOR(7 DOWNTO 0);
   
   TYPE State_type IS (main_green_state, main_yellow_state, branch_green_state, branch_yellow_state);  -- 定义状态
   SIGNAL State : State_Type:=main_green_state;    -- 创建信号
   
   SIGNAL main_green_cnt     : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000001";
   SIGNAL main_yellow_cnt    : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000001";
   SIGNAL branch_green_cnt   : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000001";
   SIGNAL branch_yellow_cnt  : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000001";
BEGIN

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1211

  • 2-241016210425J8.doc
    下载

相关推荐