扫码加入

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

4层电梯设计VHDL代码Quartus仿真

2025/08/19
801
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240Z31Q20G55.doc

共1个文件

名称:4层电梯设计VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

4层电梯设计

(1)电梯运行规则:当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直接升到由下楼请求的最高层,然后进入下降模式。当电梯处于下降模式时则与上升模式相反;

(2)电梯初始状态为一层状态。

(3)每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请求开关;

(4)设有电梯入口处设有位置指示装置及电梯运行模式(上升或下降)指示装置;

(5)电梯到达有停站请求的楼层,电梯门打开,开门指示灯亮,开门3秒后,电梯门关闭(开门指示灯灭)。若按下电梯内开门按钮,则电梯一直处于开门状态,若按下电梯内关门按钮,则电梯立即关门。电梯继续进行,直至执行完最后一个请求信号后停留在当前层;

(6)能记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。

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

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

整体仿真图

按键控制模块buttonControl

楼层控制模块floorControl

计时器模块counter

电梯门控制模块doorControl

部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
--testbench
ENTITY elevatorTop_tb IS
END elevatorTop_tb;
ARCHITECTURE trans OF elevatorTop_tb IS
   COMPONENT elevatorTop IS
      PORT (
         clk : IN STD_LOGIC;
         reset : IN STD_LOGIC;
alarm  : IN STD_LOGIC;
         open_btn : IN STD_LOGIC;
         close_btn : IN STD_LOGIC;
         B1U : IN STD_LOGIC;
         B2D : IN STD_LOGIC;
         B2U : IN STD_LOGIC;
         B3D : IN STD_LOGIC;
         B3U : IN STD_LOGIC;
         B4D : IN STD_LOGIC;
         BF1 : IN STD_LOGIC;
         BF2 : IN STD_LOGIC;
         BF3 : IN STD_LOGIC;
         BF4 : IN STD_LOGIC;
         door_led : OUT STD_LOGIC;
         up_led : OUT STD_LOGIC;
         down_led : OUT STD_LOGIC;
         HEX0 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
      );
   END COMPONENT;
   
   SIGNAL clk         : STD_LOGIC:='0';
   SIGNAL reset       : STD_LOGIC;
SIGNAL alarm       : STD_LOGIC;
   SIGNAL open_btn    : STD_LOGIC;
   SIGNAL close_btn   : STD_LOGIC;
   SIGNAL B1U         : STD_LOGIC;
   SIGNAL B2D         : STD_LOGIC;
   SIGNAL B2U         : STD_LOGIC;
   SIGNAL B3D         : STD_LOGIC;
   SIGNAL B3U         : STD_LOGIC;
   SIGNAL B4D         : STD_LOGIC;
   SIGNAL BF1         : STD_LOGIC;
   SIGNAL BF2         : STD_LOGIC;
   SIGNAL BF3         : STD_LOGIC;
   SIGNAL BF4         : STD_LOGIC;
    SIGNAL     door_led :  STD_LOGIC;
    SIGNAL     up_led :  STD_LOGIC;
    SIGNAL     down_led :  STD_LOGIC;
   SIGNAL HEX0       : STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNAL alarm_signal :  STD_LOGIC;
BEGIN
   
   
   --调用模块
   UUT : elevatorTop
      PORT MAP (
         clk,
         reset,
alarm,
         open_btn,
         close_btn,
         B1U,
         B2D,
         B2U,
         B3D,
         B3U,
         B4D,
         BF1,
         BF2,
         BF3,
         BF4,
         door_led,
         up_led,
 down_led,
         HEX0,
alarm_signal
      );
   
   PROCESS
   BEGIN
      clk <= NOT(clk);--产生时钟
WAIT FOR 5 ns;
   END PROCESS;

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

  • 2-240Z31Q20G55.doc
    下载

相关推荐