11.26电梯控制器设计分析

  1. 项目三 电梯控制器设计(*****)

    设计一个多楼层的电梯控制器系统,并能在开发板上模拟电梯运行状态。可以利用按键作为呼叫按键,数码管显示电梯运行时电梯所在楼层,led灯显示楼层叫梯状态。

就是初始默认在1楼,然后用几个开关模拟第几楼,打开就意味着这个楼在呼叫电梯,下面的按键应该是每个楼的使能,然后那4个键才是呼叫,目的是为了防止处于一直呼叫的状态

然后电梯还要分为上行与下行的状态,每隔3秒更新一次数字

11.26电梯控制器设计分析_第1张图片

如果是MEALY的话,就是,第一个是是否有叫梯服务

状态应该就是 

确定上行还是下行,在底层时只能上行,

不能填0,因为要保证里面至少是有1的,如果填0,就有可能使1丢失

[31:0]reg[31:0]前面的表示有32个这样的数据,类似于数组;后面表示每个这样的数据的位宽(大小),是每个数组上的元素的情况

在Verilog中,reg [4:0] data_reg [0:7];表示定义了一个包含8个寄存器的数组data_reg,每个寄存器的宽度为5位(从40)。

具体来说,data_reg是一个8个元素的数组,每个元素都是一个5位宽的寄存器。这意味着你可以通过索引访问和操作数组中的每个寄存器。索引范围从0到7,对应于数组中的8个元素。

用一个序列,为呼叫序列,这个序列最长为5,因为只有5个楼层,

呼叫进楼后,从队列头部取出元素,并进入等待状态,在等待状态里,要输入要去的楼层,并放进队列当中

队列取出来的元素,是要去的目标楼,只有到了目标楼,才会把其从队列头部中取出

if(cs==call)wait=1.

即每次wait=1时,上升沿来临,就从队头取出元素

然后是要输入元素,每次输入元素,是要整进移位寄存器的末尾,

只有停下来后,才会往寄存器里放入元素

停下来时,是进电梯后要去的楼,但是没停的时候也可以呼叫电梯

就是说,每当wait=1的时候,必须要等待电梯里的人做出选择才能继续运动

5个按键决定要去的楼层,

你可能感兴趣的:(数电,数据结构,fpga开发)