




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳工程学院课程设计(论文)摘 要随着eda技术发展和应用领域的扩大与深入,eda技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。随着技术市场与人才市场对eda的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。因此学好eda技术对我们有很大的益处。eda功能强大,一台计算机、一套eda软件和一片或几片大规模可编程芯(cpld/fpga或isppac),就能完成电子系统的设计。eda技术涉及面广,内容丰富,但在教学和技术推广层面上,应用较为广泛的是基于可编程器件的eda技术,它主要包括如下四大要素:1大规模可编程器件,它是利用eda技术进行电子系统设计的载体;2硬件描述语言,它是利用eda技术进行电子系统设计的主要手段;3软件开发工具,它是利用eda技术进行电子系统的智能化的自动化设计工具;4实验开发系统,它是利用eda技术进行电子系统设计的下载工具及硬件验证工具。 在此次eda设计中,首先我们要熟悉eda工具的使用过程,然后在此基础上再自主设计三层电梯的程序,并进行调试和运行及时域仿真,加深我们对eda工具的了解。关键词三层电梯,vhdl,可编程逻辑器件abstractwith the eda technology development and application of the expansion of the field and in-depth, eda technologies in the electronic information, communication, automation and computer applications in areas such as the importance of prominent. as the technology market and the talent market for eda continuously raise the demand, the market demand for products and technology market requirements will certainly be reflected in the field of teaching and research in the field. thus we learn of the eda technologies have great benefits. eda is powerful, a computer, a set of eda software and a tablet or a few large-scale programmable core (cpld / fpga or isppac), will be able to complete the design of electronic systems. eda technologies involved in a broad area, rich in content, but in teaching and technology promotion level, the wider application is based on the eda programmable device technology, it mainly includes the following four elements: 1a large-scale programmable devices, 2 it is eda technologies for the use of electronic system design carrier; hardware description language, it is to use eda technologies for electronic system design of the main means of three software development tools, 3 it is the use of eda technologies for the intelligent electronic system design automation tools; experimental development system,4 it is to use eda technologies for electronic system designed to download tools and hardware verification tools. keywordsthreelift, vhdl, cpld17沈阳工程学院课程设计(论文)目 录摘 要iabstractii1引 言21.1 eda和vhdl介绍21.1.1 eda介绍21.1.2 vhdl介绍21.1.3 vhdl语言的特点32 系统设计42.1 设计要求42.2 设计原理42.2.1 程序原理42.2.2 原理框图72.3源程序和仿真波形图82.3.1 源程序82.3.2仿真波形图15结 论16致 谢17参考文献181引 言1.1 eda和vhdl介绍1.1.1 eda介绍eda技术是在电子cad技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。 利用eda工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出ic版图或pcb版图的整个过程的计算机上自动处理完成。现在对eda的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有eda的应用。目前eda技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到eda技术。本文所指的eda技术,主要针对电子电路设计、pcb设计和ic设计。1.1.2 vhdl介绍vhdl是一种用来描述数字逻辑系统的“编程语言”它的全名是very-high-speed integrated circuit hardware description language。它源于美国政府于1980年开始启动的超高速集成电路计划,vhdl主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,vhdl的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。vhdl的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部沈阳工程学院课程设计(论文)沈阳工程学院课程设计(论文)分的概念是vhdl系统设计的基本点。应用vhdl进行工程设计的优点是多方面的。vhdl的应用必将成为当前以及未来eda解决方案的核心,更是整个电子逻辑系统设计的核心。1.1.3 vhdl语言的特点vhdl的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是vhdl系统设计的基本点。应用vhdl进行工程设计的优点是多方面的。(1)与其他的硬件描述语言相比,vhdl具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2)vhdl丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。(3)vhdl语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用vhdl完成的一个确定的设计,可以利用eda工具进行逻辑综合和优化,并自动的把vhdl描述设计转变成门级网表。(5)vhdl对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。2 系统设计2.1 设计要求电梯控制器是控制电梯按客户要求自动上下的装置。三层电梯控制器的功能如下:1) 每层电梯入口处设有请求开关,电梯内设有顾客到达层次的停站请求开关。2) 设有电梯入口处位置指示装置及电梯运行模式(上升或者下降)指示装置。3) 电梯每秒升(将)层楼。4) 电梯到达有停站请求的楼层,经过1秒电梯门打开,开门指示灯亮,开门5秒后,电梯门关闭(开门指示灯灭),电梯继续进行,直至最后一个请求信号后停留在当前层。5) 能记忆电梯内所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。6) 电梯运行规则当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,由上而下逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直接升到由下楼请求的最高楼层,然后进入下降模式。当电梯处于下降模式时则与上升模式相反。7) 电梯初始状态为一层开门状态。2.2 设计原理2.2.1 程序原理1).case语句case语句属于顺序语句,因此必须放在进程语句中使用,case语句的一般表达式是:case iswhen =;when =;end case;当执行到case语句时,首先计算的值,然后根据when条件句中与之相同的,执行对应的,最后结束case语句。条件句中的=“”不是操作符,它的含义相当于then(或“于是”)。使用case语句应该注意以下几点:when条件句中的选择值或标志符所代表的值必须在表达式的取值范围内。除非所以条件句中的选择值能完全覆盖case语句中表达式的取值,否则最末一个条件句中的选择必须如教材例那样用others关键词表示以上已列的所有条件句中的未能列出的其他可能的取值。others只能出现一次,且只能作为最后一种条件取值。使用others的目的是为了使条件句中的所有选择值能涵盖表达式的所有取值,以免综合器会插入不必要的锁存器。关键词null表示不做任何操作。case语句中的选择值只能出现一次,不允许有相同选择值的条件语句出现。case语句执行中必须选中,且只能选中所列条件语句中的一条。2).if语句if语句是vhdl设计中最重要和最常用的语句,以下对if语句的语法表达方式作一个概述。if语句作为一种条件语句,它根据语句中所设置的一种或多种条件,有选择地执行制定的顺序语句。if语句的语句结构有以下两种:1)if 条件句then 顺序语句end if;2)if 条件语句then顺序语句else 顺序语句end if;3)if 条件语句 then if 条件句 thenendifend if 4) if 条件句 then顺序句elsif 条件句then顺序语句else顺序语句 end if;if语句中至少应有一个条件句,“条件句”可以是boolean类型的标志符,如if a1 then ,或者是一个判别表达式,如if athen ,判别表达式输出的值,即判断结果的数据类型是boolean。if语句根据条件语句产生的判断结果是true或是false,有条件的选择执行其后的顺序语句。2.2.2 原理框图 图2系统原理图注:电梯的控制状态包括运行状态、停止状态及等待状态,其中运行状态又包含向上状态和向下状态。主要动作有开、关门,停靠和启动。乘客可通过键入开、关门按钮,呼唤按钮,指定楼层按钮等来控制电梯的行与停。据此,整个电梯控制器应包括如下几个组成部分: 时序输出及楼选计数器; 电梯服务请求处理器; 电梯升降控制器; 上升及下降寄存器; 电梯次态生成器。该电梯控制器设计的关键是确定上升及下降寄存器的置位与复位。整个系统的内部组成结构图如图2所示。2.3源程序和仿真波形图2.3.1 源程序library ieee; 库说明use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity threeflift is 定义实体 port(buttonclk:in std_logic; liftclk:in std_logic; 脉冲信号 reset:in std_logic; f1upbutton,f2upbutton, f2dnbutton,f3dnbutton:in std_logic; 外部请求信号 stop1button,stop2button,stop3button:in std_logic; 内部请求信号 position:buffer integer range 1 to 3; 电梯位置 dout1:out std_logic_vector(3 downto 0); 位置显示 doorlight:out std_logic; 开门灯 udsig:buffer std_logic);end; 电梯运行方向 architecture a of threeflift is 结构体type lift_state is(stopon1,dooropen,doorclose,doorwait1,doorwait2,doorwait3,doorwait4, doorwait5,up,down,stop); 电梯可能状态signal fuplight,fdnlight,stoplight:std_logic_vector(3 downto 1); 内外部请求信号signal mylift:lift_state;signal clearup:std_logic; 现在状态signal cleardn:std_logic; 清除信号beginctrlift:process(reset,liftclk)variable pos:integer range 3 downto 1; 定义变量begin if reset=1 then mylift=stopon1;clearup=0; cleardndoorlight=1;position=1;pos:=1;mylift myliftmylift=doorwait3; clearup=0; cleardnmyliftmyliftmyliftdoorlight=0; if udsig=0 then 上升状态 if position=3 then 在3楼 if a stoplight=000and fuplight=000and fdnlight=000 then udsig=1; mylift=doorclose; elsif stoplight(2)=1or(stoplight(2)=0and fdnlight(2)=1)then b udsig=1; mylift=doorclose; elsif stoplight(2)=1or(stoplight(2)=0and fuplight(2)=1)then c udsig=0; mylift=up; else udsig=1;mylift=down; d end if; elsif position=2 then 在2层 if stoplight=000and fuplight=000and fdnlight=000 then a1 udsig=0; mylift=doorclose; elsif fdnlight(2)=1 then b1 udsig=1; mylift=doorclose; elsif stoplight(3)=1or(stoplight(3)=0and fdnlight(3)=1)then c1 udsig=0; mylift=up; elsif stoplight(1)=1or(stoplight(1)=0and fdnlight(2)=1)then d1 udsig=1; mylift=doorclose; else udsig=1;mylift=down; e1 end if; elsif position=1 then 在一层 if stoplight=000and fuplight=000and fdnlight=000 then a2 udsig=0; mylift=doorclose; elsif stoplight(3)=1or(stoplight(3)=0and fdnlight(3)=1)then b2 udsig=0; mylift=up; elsif stoplight(1)=1or(stoplight(1)=0and fdnlight(2)=1)then c2 udsig=1; mylift=doorclose; else udsig=0; d2mylift=up; end if; end if;elsif udsig=1 then 电梯下降 if position=1 then 一层 if stoplight=000and fuplight=000and fdnlight=000 then udsig=0; mylift=doorclose; elsif stoplight(1)=1or(stoplight(1)=0and fuplight(1)=1)then udsig=1; mylift=doorclose; else udsig=0;mylift=up; end if; elsif position=2 then 二层 if stoplight=000and fuplight=000and fdnlight=000 then udsig=1; mylift=doorclose; elsif fuplight(2)=1 then udsig=0; mylift=doorclose; elsif stoplight(1)=1or(stoplight(1)=0and fuplight(1)=1)then udsig=1; mylift=down; else udsig=0;mylift=up; end if; elsif position=3 then 三层 if stoplight=000and fuplight=000and fdnlight=000 then udsig=1; mylift=doorclose; else udsig=1;mylift 上升操作 position=position+1; pos:=pos+1; if pos3 and(stoplight(pos)=1or fdnlight(pos)=1) then mylift=stop; elsif pos3 and(stoplight(pos)=1or fuplight(pos)=1) then mylift=stop; elsif pos=3 and (stoplight(pos)=1or fdnlight(pos)=1)then mylift=stop; else mylift 下降操作 position1 and (stoplight(pos)=1or fdnlight(pos)=1)then mylift=stop; elsif pos=1 and (stoplight(pos)=1or fuplight(pos)=1)then mylift=stop; else myliftmyliftdoorlight=1; 延时1秒开门 if udsig=0then if position=2 and (stoplight(pos)=1or fuplight(pos)=1)then clearup=1; else clearup=1;cleardn=2 and (stoplight(pos)=1or fdnlight(pos)=1)then cleardn=1; else clearup=1;cleardn=1; end if; end if; mylift=doorwait1; end case; end if; end if; end process ctrlift;ctrlight:process(reset,buttonclk) 按钮确认进程begin if reset=1 thenstoplight=000; fuplight=000; fdnlight=000; else if buttonclkevent and buttonclk=1 then if clearup=1 then stoplight(position)=0;fuplight(position)=0; else if f1upbutton=1 then fuplight(1)=1; elsif f2upbutton=1 then fuplight(2)=1; end if; end if; if cleardn=1 then stoplight(position)=0;fdnlight(position)=0; else if f2dnbutton=1 then fdnlight(2)=1; elsif f3dnbutton=1 then fdnlight(3)=1; end if; end if; if stop1button=1 then stoplight(1)=1; elsif stop2button=1 then stoplight(2)=1; elsif stop3button=1 then stoplight(3)=1; end if; end if; end if;end process;process(position) 位置显示进程beginif position=1 then dout1=0001;end if;if position=2 then dout1=0010;end if;if position=3 then dout1=0011;end if;end process;end;2.3.2仿真波形图注:电梯在一层,2楼有上升请求,3电梯内有人去3楼,电梯经过5秒等待关门进入上升状态。电梯经过2楼开门载客,经过5秒关门继续上3楼。注:电梯在3楼处于下降状态,2楼有下楼的信号和有去1楼的信号,电梯先去2楼载客,再去1楼。图2原器件图2原器件结 论这次为时一周的课程设计,主要是以上机操作为主。这次设计语言主要是采用vhdl语言的自顶向下的设计方法。eda中,自顶向下的设计方法,就是在整个设计流程中各设计环节逐步求精的过程应用vhdl运行自顶向下的设计,就是使用vhdl模型在所有综合级别上对硬件进行说明、建模和仿真测试。我的设计思路比较简单,最先是参考课本用简单的门电路和时序脉冲编写了一段“自动电梯”程序。程序在通过调试运行,下载到硬件上实现的时候,没有数码显示,直接是用二级管的指示灯的跳换来表示电梯的状态。频率选折1hz时,二级管在“01”、“10”、“11”之间跳变,分别表示电梯的1、2、3层。另有两个二极管灯,其中一个二极管指示灯的工作状态表示电梯的开关门,另一个表示电梯的上、下状态。在给老师检查后,老师指出还没有完成电梯的可控制要求,电梯必须要能实现人工控制。于是在原来的基础上,通过参考课本和请教完成得很好的的同学,加上了电梯可停止程序语句“stop1button”和数码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 本单元综合说课稿-2025-2026学年高中语文必修五语文版
- 2025年建筑工地安全员考试题库及答案解析
- 2025年新能源汽车二手车市场流通市场调研与分析报告
- 餐饮业食品安全监管信息化技术应用现状与2025年发展趋势报告
- 教师资格证考试幼儿《保教知识与能力》真题及答案
- 2025年株洲市重点中学生物高三第一学期期末教学质量检测试题
- 商铺住宿资源协议
- 第17课 二战后资本主义的新变化说课稿-2025-2026学年初中历史与社会部编版九年级下册-部编版
- 离职补偿协议样本
- 福建龙岩一中2025-2026学年高三生物第一学期期末监测模拟试题
- 金属非金属地下矿山紧急避险系统建设规范培训
- 企业环境与可持续发展制度
- 税务助理招聘笔试题与参考答案(某大型国企)2024年
- 老年照护试题库与答案
- GB/T 7247.1-2024激光产品的安全第1部分:设备分类和要求
- 2024-2025学年小学信息技术(信息科技)五年级全一册义务教育版(2024)教学设计合集
- 人教五年级上册数学教材解读课件
- 【新课标】人音版五年级上册第一单元 朝夕 大单元整体教学设计
- 自然保护区管理中的生态系统恢复策略
- 公路桥梁养护工程预算定额
- 办公楼室内装饰工程施工设计方案技术标范本
评论
0/150
提交评论