4层电梯设计Verilog代码Quartus DE2-115开发板

名称:4层电梯设计Verilog代码Quartus  DE2-115开发板(文末获取)

软件:Quartus

语言:Verilog

代码功能:

4层电梯设计

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

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

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

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

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

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

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

DE2-115开发板.png

1. 工程文件

2. 程序文件

3. 程序编译

4. 管脚分配

5. RTL图

6. Testbench

7. 仿真图

部分代码展示:

`timescale 1ns / 1ps
module elevatorTop(clk,reset,open_btn,close_btn,B1U,B2D,B2U,B3D,B3U,B4D,BF1,BF2,BF3,BF4,door_led,up_led,down_led,HEX0);
    input clk,reset,open_btn,close_btn,B1U,B2D,B2U,B3D,B3U,B4D,BF1,BF2,BF3,BF4;
    output door_led;
 output up_led;
 output down_led;
 output [6:0]HEX0;
 
 reg [7:0]display;
 wire door, dir;
    wire [2:0] state;
 
    wire [9:0] resetButtons;
    wire openDoor, closeDoor, MoveCountDone, MoveCountEn;
    wire C1U,C2D,C2U,C3D,C3U,C4D,G1,G2,G3,G4;
    wire [7:0] seconds;
    assign seconds = 2;
 
 assign door_led=door;
 assign up_led=(state[0]==1)? dir:0;//运行时候才亮
 assign down_led=(state[0]==1)? ~dir:0;//运行时候才亮
    
 floorControl fc(clk,reset,openDoor,closeDoor,C1U,C2D,C2U,C3D,C3U,C4D,G1,G2,G3,G4,MoveCountDone,MoveCountEn,door,dir,state,resetButtons);
    
 buttonControl bc({B1U,B2D,B2U,B3D,B3U,B4D,BF1,BF2,BF3,BF4},reset,resetButtons,{C1U,C2D,C2U,C3D,C3U,C4D,G1,G2,G3,G4});
    
 doorControl dc(reset,clk,open_btn,open_btn,close_btn,door,openDoor,closeDoor);
    
 counter moveCount
源代码

点击下方的公众号卡片获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值