2302|2

65

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

大家帮忙看看,我这个电梯模拟程序哪里错了 [复制链接]

我们老师要就模拟3层的电梯
麻烦大家帮忙看看
哪里出错了
//电梯控制器
/*信号定义:
clk:时钟信号
d1,d2,d3,d4:楼层请求信号
o1,o2,o3,o4:楼层与请求信号状态显示
door:开门指示信号
fl:送数码管显示的当前楼层数
*/
module lift(clk,d1,d2,d3,d4,o1,o2,o3,o4,door,fl);
input clk,d1,d2,d3,d4;
output o1,o2,o3,o4,door,fl;
reg o1,o2,o3,o4,door,up,down;
reg[4:1] des;
reg[2:0] count;
reg[3:0] low,high,fl;

always@(posedge clk)
begin
//
if(d1)begin
des[1]<=1; if(low>1||low==2'b00)low<=1; end
if(d2)begin
des[2]<=1;if(high<2&&{d3,d4}==2'b00)high<=2;if((low>2||low==2'b00)&&!d1)low<=1;end
if(d3)begin
des[3]<=1;if(high<3&&!d4)high<=3;if((low>3||low==2'b00)&&{d1,d2}==2'b00)low<=3;end
if(d4)begin des[4]<=1;if(high<4)high<=4;end

//
if({o1,o2,o3,o4}==4'b0000)
begin
{o1,o2,o3,o4}<=4'b1000;
fl<=1;
end

else if(count==3'b101)
begin
count<=0;
door<=0;
if(low==fl)
low<=2'b00;
if(high==fl)
high<=2'b00;
end
else if(count!=0)
begin
count<=count+1;
door<=1;
end

else if(o1&&des[1])
begin
count<=1;
des[1]<=0;
end
else if(o2&&des[2])
begin
count<=1;
des[2]<=0;
end
else if(o3&&des[3])
begin
count<=1;
des[3]<=0;
end
else if(o4&&des[4])
begin
count<=1;
des[4]<=0;
end

//
else if(up)
begin
if(fl begin
{o1,o2,o3,o4}<={o1,o2,o3,o4}>>1;
fl<=fl+1;
end
else
begin
if(low!=2'b00&&low begin
if(high>fl&&high-fl up<=1;
else
down<=1;
end
else if(high>fl)
up<=1;
end
//**************
end
end module
up<=0;
end
//
else if(down)
begin
if(fl>low&&low!=2'b00)
begin
{o1,o2,o3,o4}<={o1,o2,o3,o4}<<1;
fl<=fl-1;
end
else
down<=0;
end
else
//**************

最新回复

楼上的太直接了吧,呵呵! 同建议:先仿真下。  详情 回复 发表于 2010-1-5 13:34
点赞 关注

回复
举报

64

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
楼主程序真牛逼,写的这么乱,还没有注释。 verilog程序比较难搞,建议用modesim仿真一下。
 
 

回复

57

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
引用 1 楼 zjf0000 的回复:
楼主程序真牛逼,写的这么乱,还没有注释。 verilog程序比较难搞,建议用modesim仿真一下。


楼上的太直接了吧,呵呵!

同建议:先仿真下。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表