1、基于 FPGA 的六层电梯控制系统 草鱼 草鱼 郑州轻工业学院 草鱼 电子技术课程设计 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 题 草鱼 草鱼 草鱼 草鱼 目 草鱼 草鱼 草鱼 草鱼 草鱼 基于 FPGA 的 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 六层电梯控制系统 草鱼
2、 学生姓名 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 专业班级 草鱼 草鱼 草鱼 电子信息工程 10-01 草鱼 草鱼 草鱼 草鱼学 草鱼 草鱼 草鱼 草鱼 号 草鱼 草鱼 草鱼 草鱼 草鱼 541001030136 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 院 草鱼 (系) 草鱼 草鱼 电气信息工程学院 草鱼 草鱼 草鱼 草鱼 草鱼 指导教师 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 杜海明 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 完成时间 草鱼 草鱼 草鱼 2013 年 06 月 22 日 草鱼 草鱼 草
3、鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼草鱼 郑州轻工业学院 草鱼 课 草鱼程 草鱼设 草鱼计 草鱼任 草鱼务 草鱼书 草鱼 草鱼 题目 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 基于 FPGA 草鱼 的 六层电梯控制系统 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 专业 、 pork班级 草鱼 草鱼电子信息工程 10-01 草鱼 学号 草鱼 541001030136 草鱼 草鱼 草鱼 姓名 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼
4、 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 主要内容 、 pork基本要求 、 pork主要参考资料等 : pork草鱼 主要内容 : pork草鱼 要求学生 使用硬件描述语言设计六层电梯控制系统的 FPGA 源程序 , 鲤鱼 实现如下功能 : pork(1)每层电梯入口处设有上下请求开关 , 鲤鱼 电梯内设有顾客到达层次的停站请求开关 。 草鱼 (2)设有电梯入口处位置指示装置及电梯运行模式 (上升或下降 )指示装置 。 草鱼 ( 3)电梯到达有停站请求的楼层 , 鲤鱼 开门指示灯亮 , 鲤鱼 开门后 ,经一段时延后 , 鲤鱼 电梯门关闭电梯继续进行 ,
5、鲤鱼 直至执行完最后一个请求信号后停留在当前层 。 草鱼 草鱼 (4)电梯运行规则 : pork当处于上升模式时 , 鲤鱼 只响应比所在位置高的请求信号 , 鲤鱼 由下而上逐个执行 , 鲤鱼 直到最后一个上楼请求执行完毕 ; pork高层有下楼请求 , 鲤鱼 则直接升到请求层 , 鲤鱼 进入下降模式 。草鱼 当电梯处于下降模式时则与上升模式相反 。 草鱼 草鱼 草鱼 基本要求 : pork草鱼 1、 p ork掌握 FPGA 草鱼 的程序设计方法 。 草鱼 草鱼草鱼 2、 p ork掌握 硬件描述语言语法 。 草鱼 草鱼 3、 p ork掌握 有限状态机的原理与实现方法 。 草鱼 草鱼 基于
6、FPGA 的六层电梯控制系统 4、 p ork程序设计完成后要求在软件中实现功能仿真 。 草鱼 草鱼 主要参考资料 : p ork草鱼 1、 p ork王锁萍 .电子设计自动化( EDA)教程 M.成都 : pork成都电子科技大学出版社 ,2006.草鱼 2、 p ork何立民 EDA 应用技术选编 M北京 : pork北京航空航天大学出版社 , 鲤鱼 2008 草鱼 草鱼 完 草鱼 草鱼成 草鱼 草鱼期 草鱼 草鱼限 : pork 草鱼 草鱼 2013.6.21 2013.6.25 草鱼 草鱼 草鱼 草鱼 指导教师签名 : p o r k 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草
7、鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 课程负责人签名 : pork 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 2013年 草鱼6 月 草鱼18 草 鱼草鱼 草鱼 草鱼 草鱼 摘要 I 草鱼 1 概述 1 草鱼 1.1 课题背景及意义 1 草鱼 1.2 草鱼 EDA 技术及实现方法概述 1 草鱼 1.2.1 草鱼 EDA 技术简介 1 草鱼 1.2.2 草鱼 FPGA 简介 3 草鱼 1.2.3 草鱼 VHDL 语言介绍 4 草鱼 1.3 草鱼 状态机简介 5 草鱼 2 草鱼 系统方案设
8、计 6 草鱼 2.1 设计要求 6 草鱼 2.2 草鱼 总体设计方案 6 草鱼 2.2.1 草鱼 控制器模块化概述 6 草鱼 2.2.2 草鱼 电梯上下层运行流程图 7 草鱼 2.2.3 电 梯运行控制流程图 8 草鱼 目录 基于 FPGA 的六层电梯控制系统 2.2.4 草鱼 电梯控制器设计思路 9 草鱼 2.3 草鱼 设计 的 VHDL 实现 10 草鱼 2.3.1 草鱼 控制器实体设计 10 草鱼 2.3.2 草鱼 控制器结构体设计 10 草鱼 3 草鱼 器件选型 11 草鱼 3.1 草鱼 FPGA 芯片选型 11 草鱼 3.2 草鱼 功能模块 12 草鱼 3.2.1 草鱼 主控器模块
9、12 草鱼 3.2.2 草鱼 分频器模块 13 草鱼 3.2.3 草鱼 译码器模块 13 草鱼 3.2.4 草鱼 数据选择器模块 14 草鱼 4 草鱼 程序仿真 14 草鱼 4.1 草鱼 电梯控制器仿真分析 15 草鱼 4.2 草鱼 其它 模块仿真 19 草鱼 5 草鱼 结论 19 草鱼 参考文献 20 草鱼 致谢 21 草鱼 附录 22 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 基于 FPGA 的六层电梯控制系统 草鱼 草鱼 草鱼 基于 FPGA 的六层电梯控制系统 基于 FPGA 草鱼 的六层电梯控制系统 草鱼 摘 草鱼 草鱼 要 草鱼 草鱼 本设计 是基于电子设计自动化
10、( EDA)技术中的甚高速集成电路硬件描述语言( VHDL)语言 ,运用 FPGA 所开发的 四 层电梯控制程序 , 鲤鱼 采用 Quartus 草鱼 II 软件仿真 。 草鱼 运用有限状态机的设计方法 , 鲤鱼 设计了两个进程相互配合 , 鲤鱼 状态机进程作为主要进程 , 鲤鱼 信号灯控制进程作为辅助进程 。 草鱼 在主进程中定义了 7 个状态 , 鲤鱼 在电梯时钟的触发下 , 鲤鱼 通过当前状态和信号灯信号判定下一状态 。 草鱼 信号灯控制进程中 , 鲤鱼 信号灯存储按键请求情况 , 鲤鱼它的熄灭是由状态机进程中传出的信号来控制 。 草鱼 草鱼 通过程序调试及运行仿真 , 鲤鱼 结果表明
11、, 鲤鱼 本程序可以完成电梯运行所在楼层显示 、 pork电梯运行方向指示 、 p ork关门延时设置等 。 草鱼 草鱼 草鱼 关键词 : p ork电梯控制器 草鱼 草鱼 VHDL 草鱼 草鱼 状态机 草鱼 草鱼 FPGA草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 基于 FPGA 的六层电梯控制系统 1 1概述 草鱼 1.1 课题背景及意义 草鱼 随高层楼宇的增加 , 鲤鱼 电梯越来越多的走进了人们的生活 , 鲤鱼 对人们的生活的影响越来越大 。 草鱼 为了让电梯更好的服务人们 , 鲤鱼 各种电梯新技术不断地发展起来 。 草鱼 随着人们生活水平的不断提高 , 鲤鱼 经济的快速发展和生产生
12、活的需要 , 鲤鱼 城市高层建筑如雨后春笋拔地而起 。 草鱼 与此相应 , 鲤鱼 作为一种可以垂直升降运输的工具一电梯也得到迅猛的发展 。 草鱼 现在 ,鲤鱼 电梯已完全融入我们的生活 、 pork工作及学习中 , 鲤鱼 人们越来越离不开它 。 草鱼 因此 , 鲤鱼 它的安全可靠性 、 pork迅速准确性 、 pork舒适性 , 鲤鱼 对人们来说都是非常重要的 。 草鱼 为了确保电梯正常运行 、pork安全使用 , 鲤鱼 一般电梯都有专业的维修管理人员 。 草鱼 他们必须对电梯原理 、 pork性能 、 pork特点 、pork控制 、 pork运行要全面认识和掌握 , 鲤鱼 才能做到对电梯的
13、正确使用 、 pork管理及维护 。 草鱼 根据我国有关部门的规定 , 鲤鱼 电梯作业属于特种作业 , 鲤鱼 其作业人员必须经过专门培训 , 鲤鱼 并经理论考试和实践考核合格后 , 鲤鱼 发给特种作业操作证方可上岗操作 。 草鱼 同时 , 鲤鱼 对电梯操作人员定期考核 , 鲤鱼 让他们定期参加安全技术学习 , 鲤鱼 扎扎实实地做好电梯维护和保养工作 ,鲤鱼 才能使人们平安长久的使用电梯 。 草鱼 草鱼 电梯控制系统是一个相当复杂的逻辑控制系统系统要同时对几百个信号进行接收 、p ork处理 。 草鱼 由于用户对电梯功能的要求不断提高其相应控制方式也在不断发生变化 。 草鱼随着 EDA 技术的快
14、速发展基于 FPGA 的微机化控制已广泛应用于电梯电路设计与控制的各个方面 。 草鱼 草鱼 在经济不断发展 , 鲤鱼 科学技术日新月异的今天 , 鲤鱼 楼的高度已和经济发展同样的速度成长起来 。 草鱼 作为 建筑 的中枢神经 , 鲤鱼 电梯起着不可或缺的作用 , 鲤鱼 电梯作为建筑物内的主要运输工具 , 鲤鱼 像其他的交通工具一样 , 鲤鱼 已经成为我们日常生活的一个不可缺少的组成部分 。草鱼 一个国家的电梯需求总量 , 鲤鱼 主要受其经济增长速度 、 pork城市化水平 、 pork人口密度及数量 、pork国家产业结构等综合因素的影响 。 草鱼 在全球经济持续低迷的情况下 , 鲤鱼 我国国
15、民经济仍然以较高的速度持续增长 , 鲤鱼 城市化水平不断提高 。 草鱼 这从客观上导致了我国电梯行业的空前繁荣景象 , 鲤鱼 我国已经成为全球最大的电梯市场 。 草鱼 上世纪 80 年代以来 , 鲤鱼 随着经济建设的持续高速发展 , 鲤鱼 我国电梯需求量越来越大 。 草鱼 总趋势是上升的 , 鲤鱼 电梯行业 进入了 “ 第三次浪潮 ” 。 草鱼 如此庞大的市场需求为我国电梯行业的发展创造了广阔的舞台 !草鱼 1.2 草鱼 EDA 技术 及实现方法概述 草鱼 1.2.1 草鱼 EDA 技术简介 草鱼 EDA 代表了当今电子设计技术的最新发展方向 , 鲤鱼 它的基本特征是 : pork设计人员按照
16、“自基于 FPGA 的六层电梯控制系统 2 顶向下”的设计方法 , 鲤鱼 对整个系统进行方案设计和功能划分 , 鲤鱼 系统的关键电路用一片或几片专用集成电路( ASIC)实现 , 鲤鱼 然后采用硬件描述语言( HDL)完成系统行为级设计 , 鲤鱼 最后通过综合器和适配器生成最终的目标器件 , 鲤鱼 这样的设计方法被称为高层次的电子设计方法 。 草鱼 下面介绍与 EDA 基本特征有关的几个概念 。 草鱼 1“自顶向下”的设计方法 ,10 年前 , 鲤鱼 电子设计的基本思路还是选用标准集成电路“自底向上”地构造出一个新的系统 , 鲤鱼 这样的设计方法就如同一砖一瓦建造金字塔 , 鲤鱼 不仅效率低
17、、 pork成本高而且容易出错 。 草鱼 高层次设计是一种“自顶向下”的全新设计方法 , 鲤鱼 这种设计方法首先从系统设计入手 , 鲤鱼 在顶层进行功能方框图的划分和结构设计 。 草鱼 在方框图一级进行仿真 、 pork纠错 , 鲤鱼并用硬件描述语言对高层次的系统行为进行描述 , 鲤鱼 在系统一级进行验证 。 草鱼 然后 , 鲤鱼 用综合优化工具生成具体门电路的网络表 , 鲤鱼 其对应的物理实现级可以是印刷电路板或专用集成电路 。 草鱼 由于设计的主要仿真和调试过程是在高层次上完成的 , 鲤鱼 这既有利于早期发现结构设计上的错误 , 鲤鱼 避免设计工作的浪费 , 鲤鱼 又减少了逻辑功能仿真的工
18、作量 , 鲤鱼 提高了设计的一次成功率 。 草鱼 2 ASIC 设计现代电子产品的复杂度日益提高 , 鲤鱼 一个电子系统可能由数万个中小规模集成电路构成 , 鲤鱼 这就带来了体积大 、 pork功耗大 、 pork可靠性差的问题 。 草鱼 解决这一问题的有效方法就是采用 ASIC芯片进行设计 。 草鱼 ASIC按照设计方法的不同可分为全定制 ASIC、p ork半定制 ASIC 和可编程 ASIC(也称为可编程逻辑器件) 。 草鱼 设计全定制 ASIC 芯片时 , 鲤鱼 设计师要定义芯片上所有晶体管的几何图形和工艺规则 , 鲤鱼 最后将设计结果交由 IC 厂家去进行掩模制造 , 鲤鱼 做出产品
19、 。 草鱼 这种设计方法的优点是芯片可以获得最优的性能 , 鲤鱼 即面积利用率高 、 pork速度快 、 pork功耗低 , 鲤鱼 而缺点是开发周期长 , 鲤鱼 费用高 , 鲤鱼 只适合大批量产品开发 。 草鱼 半定制 ASIC 芯片的版图设计方法分为门阵列设计法和标准单元设计法 , 鲤鱼 这两种方 法都是约束性的设计方法 ,其主要目的就是简化设计 , 鲤鱼 以牺牲芯片性能为代价来缩短开发时间可编程逻辑芯片与上述掩模 ASIC 的不同之处在于 : p ork设计人员完成版图设计后 , 鲤鱼 在实验室内就可以烧制出自己的芯片 ,无须 IC厂家的参与 , 鲤鱼 大大缩短了开发周期 。 草鱼 可编程
20、逻辑器件自 70年代以来 , 鲤鱼 经历了 PAL、 porkGAL、 porkCPLD、 porkFPGA 几个发展阶段 ,鲤鱼 其中 CPLD/FPGA 属高密度可编程逻辑器件 , 鲤鱼 目前集成度已高达 200 万门 /片 , 鲤鱼 它将掩基于 FPGA 的六层电梯控制系统 3 模 ASIC 集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起 , 鲤鱼 特别适合于样品研制或小批量产品开发 , 鲤鱼 使产品能以最快的速度上市 , 鲤鱼 而当市场扩大时 , 鲤鱼它可以很容易地转由掩模 ASIC 实现 , 鲤鱼 因此开发风险也大为降低 。 草鱼 上述 ASIC 芯片 , 鲤鱼 尤其是
21、CPLD/FPGA 器件 , 鲤鱼 已成为现代高层次电子设计方法的实现载体 草鱼 1.2.2 草鱼 FPGA 简介 草鱼 目前以硬件描述语言( Verilog 或 草鱼 VHDL)所完成的电路设计 , 鲤鱼 可以经过简单的综合与布局 , 鲤鱼 快速的烧录至 草鱼 FPGA 草鱼 上进行测试 , 鲤鱼 是现代 草鱼 IC 草鱼 设计验证的技术主流 。 草鱼 这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如 AND、 porkOR、 porkXOR、 porkNOT)或者更复杂一些的组合功能比如解码器或数学方程式 。 草鱼 在大多数的 FPGA 里面 , 鲤鱼 这些可编辑的元件里也包含记忆元
22、件例如触发器( Flip flop)或者其他更加完整的记忆块 。 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 草鱼 系 统设计师可以根据需要通过可编辑的连接把 FPGA 内部的逻辑块连接起来 , 鲤鱼 就好像一个电路试验板被放在了一个芯片里 。 草鱼 一个出厂后的成品 FPGA 的逻辑块和连接可以按照设计者而改变 , 鲤鱼 所以 FPGA 可以完成所需要的逻辑功能 。 草 鱼草鱼 FPGA 一般来说比 ASIC(专用集成芯片)的速度要慢 , 鲤鱼 无法完成复杂的设计 , 鲤鱼而且消耗更多的电能 。 草鱼 但是他们也有很多的优点比如可以快速成品
23、 , 鲤鱼 可以被修改来改正程序中的错误和更便宜的造价 。 草鱼 厂商也可能会提供便宜的但是编辑能力差的 FPGA。 草鱼 因为这些芯片有比较差的可编辑能力 , 鲤鱼 所以这些设计的开发是在普通的 FPGA 上完成的 , 鲤鱼 然后将设计转移到一个类似于 ASIC 的芯片上 。 草鱼 另外一种方法是用 CPLD(复杂可编程逻辑器件备) 。 草鱼草鱼 FPGA 是由存放在片内 RAM 中的程序来设置其工作状态的 , 鲤鱼 因此 , 鲤鱼 工作时需要对片内的 RAM进行编程 。 草鱼 用户可以根据不同的配置模式 , 鲤鱼 采用不同的编程方式 。 草鱼 草 鱼草鱼 加电时 , 鲤鱼 FPGA 芯片将
24、 EPROM 中数据读入片内编程 RAM 中 , 鲤鱼 配置完成后 , 鲤鱼 FPGA 进入工作状态 。 草鱼 掉电后 , 鲤鱼 FPGA 恢复成白片 , 鲤鱼 内部逻辑关系消失 , 鲤鱼 因此 , 鲤鱼 FPGA 能够反复使用 。草鱼 FPGA 的编程无须专用的 FPGA 编程器 , 鲤鱼 只须用通用的 EPROM、 porkPROM 编程器即可 。 草鱼 当需要修改 FPGA 功能时 , 鲤鱼 只需换一片 EPROM 即可 。 草鱼 这样 , 鲤鱼 同一片 FPGA, 鲤鱼 不同的编程数据 ,鲤鱼 可以产生不同的电路功能 。 草鱼 因此 , 鲤鱼 FPGA 的使用非常灵活 。 草鱼草鱼 基
25、于 FPGA 的六层电梯控制系统 4 1.2.3 草鱼 VHDL 语言 介绍 草鱼 VHDL 草鱼 的英文全名是 草鱼 Very-High-Speed 草鱼 Integrated 草鱼 Circuit 草鱼 Hardware 草鱼Description 草鱼 Language, 鲤鱼 诞生于 草鱼 1982 草鱼 年 。 草鱼 1987 草鱼 年底 , 鲤鱼 VHDL 被 草鱼 IEEE 草鱼 和美国国防部确认为标准硬件描述语言 。 草鱼 草 鱼草鱼 VHDL 主要用于描述数字系统的结构 , 鲤鱼 行为 , 鲤鱼 功能和接口 。 草鱼 除了含有许多具有硬件特征的语句外 , 鲤鱼 VHDL 的语
26、言形式 、 pork描述风格以及语法是十分类似于一般的 计算机高级语言 。 草鱼 VHDL 的程序结构特点是将一项工程设计 , 鲤鱼 或称设计实体(可以是一个元件 , 鲤鱼一个电路模块或一个系统)分成外部(或称可视部分 ,及端口 )和内部(或称不可视部分) , 鲤鱼 既涉及实体的内部功能和算法完成部分 。 草鱼 在对一个设计实体定义了外部界面后 ,鲤鱼 一旦其内部开发完成后 , 鲤鱼 其他的设计就可以直接调用这个实体 。 草鱼 这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本点 。 草鱼 草鱼 VHDL 具有功能强大的语言结构 , 鲤鱼 可以用简洁明确的 源代码 来描述复杂的逻辑控
27、制 。 草鱼它具有多层次的设计描述功能 , 鲤鱼 层层细化 , 鲤鱼 最后可直接生成电路级描述 。 草鱼 VHDL 支持同步电路 、 pork异步电路和随机电路的设计 , 鲤鱼 这是其他硬件描述语言所不能比拟的 。 草鱼 VHDL还支持各种设计方法 , 鲤鱼 既支持自底向上的设计 , 鲤鱼 又支持自顶向下的设计 ; pork既支持模块化设计 , 鲤鱼 又支持层次化设计 。 草鱼 草鱼 VHDL 草鱼 语言具有多层次的电路设计描述功能 , 鲤鱼 既可描述系统级电路 草鱼 , 草鱼 也可以描述门级电路 ; pork描述方式既可以采用行为描述 、 pork寄存器传输描述或者结构描述 , 鲤鱼 也可以
28、采用三者的混合描述方式 。 草鱼 同时 , 鲤鱼 VHDL 草鱼 语言也支持惯性延迟和传输延迟 , 鲤鱼 这样可以准确地建立硬件电路的模型 。 草鱼 VHDL 草鱼 语言的强大描述能力还体现在它具有丰富的数据类型 。 草鱼 VHDL 草鱼 语言既支持标准定义的数据类型 , 鲤鱼 也支持用户定义的数据类型 , 鲤鱼 这样便会给硬件描述带来较大的自由度 。 草鱼 草 鱼草鱼 VHDL 草鱼 语言很强的移植能力主要体现在 : 草鱼 对于同一个硬件电路的 草鱼 VHDL 草鱼 语言描述 草鱼 , 草鱼 它可以从一个模拟器移植到另一个模拟器上 、 pork从一个综合器移植到另一个综合器上或者从一个工作平
29、台移植到另一个工作平台上去执行 。 草鱼草鱼 采用 草鱼 VHDL 草鱼 语言描述硬件电路时 , 草鱼 设计人员并不需要首先考虑选择进行设计的器件 。 草鱼 这样做的好处是可以使设计人员集中精力进行电路设计的优化 , 草鱼 而不需要考虑其他的问题 。 草鱼 当硬件电路的设计描述完成以后 草鱼 ,VHDL 草鱼 语言允许采用多种不同的器件结构来实现 。 草鱼草鱼 基于 FPGA 的六层电梯控制系统 5 草鱼 VHDL 草鱼 语言采用基于库 草鱼 ( 草鱼 library) 草鱼 的设计方法 。 草鱼 在设计过程中 草鱼 , 草鱼 设计人员可以建立各种可再次利用的模块 草鱼 , 草鱼 一个大规模的
30、硬件电路的设计不可能从门级电路开始一步步地进行设计 草鱼 , 草鱼 而是一些模块的累加 。 草鱼 这些模块可以预先设计或者使用以前设计中的存档模块 , 草鱼 将这些模块存放在库中 草鱼 , 草鱼 就可以在以后的设计中进行复用 。 草鱼 草 鱼草鱼 由于 草鱼 VHDL 草鱼 语言是一种描述 、 pork模拟 、 pork综合 、 pork优化和布线的标准硬件描述语言 草鱼 , 草鱼 因此它可以使设计成果在设计人员之间方便地进行交流和共享 , 草鱼 从而减 草鱼 小硬件电路设计的工作量 , 草鱼 缩短开发周期 草鱼 1.3 草鱼 状态机简介 草鱼 关于状态机的一个极度确切的描述是它是一个有向图形
31、 , 鲤鱼 由一组节点和一组相应的转移函数组成 。 草鱼 状态机通过响应一系列事件而 “ 运行 ” 。 草鱼 每个事件都在属于 “ 当前 ” 草鱼节点的转移函数的控制范围内 , 鲤鱼 其中函数的范围是节点的一个子集 。 草鱼 函数返回 “ 下一个 ” (也许是同一个)节点 。 草鱼 这些节点中至少有一个必须是终态 。 草鱼 当到达终态 , 鲤鱼 草鱼 状态机停止 。 草鱼 草鱼 草鱼 包含一组状态集( states) 、 pork一个起始状态( start 草鱼 state) 、 pork一组输入符号集( alphabet) 、 pork一个映射输入符号和当前状态到下一状态的转换函( tran
32、sition 草鱼 function)的计算模型 。 草鱼 当输入符号串 , 鲤鱼 模型随即进入起始状态 。 草鱼 它要改变到新的状态 , 鲤鱼 依赖于转换函数 。 草鱼 在有限状态机中 , 鲤鱼 会有有许多变量 , 鲤鱼 例如 , 鲤鱼 状态 草鱼 机有很多与动作( actions)转换 (Mealy 机 )或状态(摩尔机)关联的动作 , 鲤鱼 多重起始状态 , 鲤鱼 基于没有输入符号的转换 , 鲤鱼 或者指定符号和状态(非定有 草鱼 限状态机)的多个转换 , 鲤鱼 指派给接收状态(识别者)的一个或多个状态 , 鲤鱼 等等 。 草鱼 草 鱼草鱼 传统应用程序的控制流程基本是顺序的 : pork遵循事先设定的逻辑 , 鲤鱼 从头到尾地执行 。 草鱼 很少有事件能改变标准执行流程 ; pork而且这些事件主要涉及异常情况 。 草鱼 “ 命令行实用程序 ” 是这种传统应用程序的典型例子 。 草鱼 草 鱼草鱼 有限状态机是一种概念性机器 , 鲤鱼 它能采取某种操作来响应一个外部事件 。 草鱼 具体采取的操作不仅能取决于接收到的事件 , 鲤鱼 还能取决于各个事件的相对发生顺序 。草鱼 之所以能 草鱼 做到这一点 , 鲤鱼 是因为机器能跟踪一个内部状态 , 鲤鱼 它会在收到事件后进行更新 。 草鱼 为一个事件而响应的行动不仅取决于事件本身 , 鲤鱼 还取决于机器的内