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

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

软件:Quartus

语言:VHDL

代码功能:

4层电梯设计

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

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

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

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

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

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


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


演示视频:

设计文档:

设计文档.doc

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;

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 4层电梯设计VHDL代码Quartus仿真

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员