verliog电梯控制器.docx

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电梯控制器 一、实验题目 以交大一附院住院大楼为例设计一款电梯控制器,能够适用于该大楼所有电梯。(交大一附院住院大楼地下2层,地上20层,共有8部电梯,1号梯停奇数层,2~4号梯停10层以下,5~7号梯停10层以上,8号梯停偶数层。) 二、实验目的 1)掌握verilog语言对组合逻辑的描述; 2)学习testbench的设计方法 3)掌握仿真器(modelsim/verilog/VCS)的仿真、调试、波形输出等常用技巧; 4)掌握DC约束规划方法、综合器使用、结果查看、后仿真等; 5)熟悉简单芯片从规划到实现方法。 三、实验内容 3.1电梯内部以及外部按钮的输出。 图1 电梯按钮 3.2设计一个电梯类型控制器模块,使其控制电梯既能奇数层停,也能偶数层停,也能10层之上,也能10层之下。这里主要使用了组合逻辑电路,通过组合电路来控制输出信号。 图2电梯类型开关 3.3分频器模块,这里主控模块使用了1HZ的时钟信号,所以,我们需要使用分频器来产生一个1HZ的时钟信号,1HZ的时钟信号主要用来控制电梯状态的转化,包括上升一层,下降一层,暂停,开门,关门,待命。 3.4主控模块,这里是电梯控制的核心模块,主要实现的电梯上下楼层的判断。 WAIT WAIT UP UPSTOP DOWN OPENDOOR DOWNSTOP CLOSEDOOR 图3 电梯状态转化 3.5显示模块,显示出电梯在运动过程中当前所在的楼层,使用了动态扫描。 图4 数码管动态显示 3.6电梯控制器的流程图 图6电梯控制器流程图 四、实验结果 实验中,为了方便仿真查看,所产生的时钟信号并不是1s和10ns,特此声明 4.1 QUARTUSII综合结果 图5 总的综合电路 4.2Modelsim前仿真结果 4.2.1 此时,电梯外部有19层和20层的向下请求,13层的向上请求,以及电梯内部的5层的请求,由于电梯类型为ODD,所以20层的向下请求被屏蔽。根据设计规则,电梯会运行到5层后,开门5S,然后关门,并且动态输出电梯层数05。 图6仿真1 4.2.2 电梯停在五层,外部有19层和118层的向下请求,8层的向上请求,电梯内部我请求,因为此时电梯类型为UP10所以8层的想上请求被屏蔽,同时电梯停在五层之前的动作是向上的,所以,电梯先响应19层的向下请求。到达19层后,电梯开门5S,然后关门。运动过程中,数码管动态显示楼层 图7 仿真2 4.2.3 电梯停在19层,此时,外部有20层、12层、4层的向下请求,14层和8层的向上请求,以及电梯内部6层和15的请求。因为此时的电梯类型为BLOW10所以,20层、12层向下请求,14层向上请求,电梯内部15层请求被屏蔽,同时电梯停在19层之前的动作是向下的,所以,电梯先响应内部6层的请求。到达6层后,电梯开门5s,然后关门。运动过程中,数码管动态显示楼层 图8 仿真3 4.2.3 电梯停在6层,此时只有2层和一层的向下请求,所以响应2层的向下请求,到达2层后,开门5S,然后关门。然后有1层的电梯内部请求,电梯回到1层后,电梯内外均没有1任何按键请求,电梯处于WAIT状态,电梯门处于关闭态。 图9 仿真4 4.3覆盖率报告 图10覆盖率报告 图11 toggle报告 4.4 DC综合结果 图12顶层模块 图13 模块之间具体连接 图14 分频器模块 图15 电梯类型控制模块 图16数码管显示模块 图17 DC命令运行脚本tcl 图18 DC生成的面积报告 图19 DC综合后生成的约束报告(只报告违例) 图20 DC综合后生成的时序报告 五、实验结论 本次EDA实验使我对整个设计流程有了基本的认识,从代码设计,功能设计,以及后面的功能仿真,代码覆盖率查看,和DC综合约束,生成时序报告的查看,错误的修改,以及最后的后仿真部分,查看最长数据延时,都有了基本的了解。对一些TCL命令也有了初步的认知。 但是,此次设计中不足之处很多,首先是功能方面,没有实现对电梯运动的电机控制,没有加入对电梯门控的信号,自身设计水平还有待提高,代码风格很差,任重而道远。 在DC综合这块,存在很大的问题,很多约束不会添加,违例报告不会修改,还是需要长期的学习才能掌握! 附录 代码1电梯类型控制 module floorstyle(clk,reset,floor_full,floor_odd,floor_even,floor_blow10,floor_up10,request_all, call_up_all,call_down_all,call_up_out,request_all_out,call_down_out); input clk,reset,floor_full,floor_odd,floor_even,floor_blow10,floor

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档