毕业论文.DOC

tx099电梯控制电路的VHDL的设计和实现

收藏

压缩包内文档预览:(预览前20页/共28页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:149921807    类型:共享资源    大小:683.74KB    格式:RAR    上传时间:2021-10-10 上传人:好资料QQ****51605 IP属地:江苏
20
积分
关 键 词:
tx099 电梯 控制电路 VHDL 设计 实现
资源描述:
tx099电梯控制电路的VHDL的设计和实现,tx099,电梯,控制电路,VHDL,设计,实现
内容简介:
江苏大学2004界本科毕业设计论文 电梯控制电路的VHDL的设计和实现院系: 计算机科学与通信工程 专业: 通 信 工 程 班级: tw001 班 姓名: 王 伟 丽 指导老师: 韩 晓 茹 江苏大学本科毕业论文摘 要文章第一章主要介绍了课题来源,VHDL和FPGA的应用背景。第二章详细介绍了VHDL语言和FPGA及其特点。第三章介绍了论文的主要工作部分即电梯控制电路的设计。第四章介绍了电梯控制电路的VHDL源代码。第五章对设计过程进行了小结。关键字 VHDL,FPGA,可编程逻辑器件,电梯控制ABSTRACTThe main idea of the first chapter is the source of the subject, vhdl and the background of the fpgas application. The main idea of the second chapter is the character of the vhdl and the fpga. The third chapter is the main part of the paper that introduces the design of the lift controlling circuit. The fourth chapter is about the VHDL source code of the lift controlling circuit. The last chapter is the summary of the design.keywords VHDL,FPGA,PLD,lift controlling目 录第一章 绪论11.1前言11.2用VHDL的理由11.2.1 VHDL的简单介绍11.2.2 VHDL的发展11.3 FPGA的发展21.3.1 FPGA的起源21.3.2 FPGA的简单介绍31.4电梯控制系统3第二章 相关技术介绍42.1 VHDL的相关技术42.1.1 VHDL的自身优点42.1.2用VHDL设计的优越性42.1.3 VHDL的模块组织52.1.4 开发流程62.1.5 VHDL编码方式对综合质量的影响72.2 FPGA的优势82.2.1 FPGA推动制造技术的发展82.2.2 FPGA/EPLD的自上而下(Top-Down)设计方法82.2.3FPGA将替代ASIC92.2.4 FPGA推动制造技术的发展102.2.5可编程ASSP方案10第三章 电梯控制系统的设计方案113.1实验要求:113.2 初步方案:123.3 简单框图:123.4简单流程图:133.5详细方案:143.6详细框图143.7 详细流程图兼状态图:(图中”,”表示or)143.8电路图17第四章 电梯控制系统的实现184.1源程序极其简单解释18第五章 小结235.1设计的划分235.2设计的流程235.3设计中需要注意的地方23结束语23致谢24参考文献2425第一章 绪论1.1前言 VHDL语言是一种非常流行的硬件描述语言。而FPGA设计已成为电子设计的主要手段,随着集成电路产业及通信产业在我国的迅速发展,学习VHDL语言和FPGA设计是大中专在校生和工程技术人员的迫切需求。1.2用VHDL的理由1.2.1 VHDL的简单介绍严格地讲,VHDL是一种用来描述数字逻辑系统的“编程语言”。它源于美国政府于1980年开始启动的超高速集成电路计划(Very High Speed Integrated Circuits,VHSIC)。在这一计划的执行过程中,专家们认识到要有一种标准的语言来描述集成电路的结构和功能,由此,VHSIC的硬件描述语言(VHSIC HDL)即VHDL便诞生了,并很快被美国电气和电子工程师协会(IEEE)所承认。VHDL(VHSIC Hardware Description Language)是用来描述从抽象到具体级别硬件的工业标准语言,VHDL既可以被计算机阅读又可以被人阅读,它支持硬件的设计,验证,综合和测试。它还支持硬件设计数据的交换,维护,修改和硬件的实现。VHDL支持行为级和结构级的硬件描述,并且可以从最抽象的系统级即顶层一直到可实现的逻辑级最低层。VHDL可实现下至具体逻辑门的描述,上至系统行为描述。这种宽范围的描述能力使VHDL成为高层次设计的核心,而高层次的设计非常接近人们的日常习惯,不必经过繁琐的层层细化来梳理信号的逻辑关系。VHDL的优点之一是:在描述数字系统时,可以使用前后一致的语意义和语法跨越多哥级别的混合描述模拟该系统。因此,可以对由高层次行为描述子系统及低层次详细实现子系统所组成的系统进行模拟。由于VHDL是IEEE公布的工业标准,故得到众多EDA软件的支持。用编辑器编写的VHDL程序可在各EDA软件平台上运行,具有良好的移植性。正因为有诸多的优点,VHDL越来越得到电子工程师的青睐,使以前繁琐的硬件设计软件化。在技术高速发展的现代社会中,数字化的浪潮正席卷各个行业,数字电子系统的设计方法和设计手段已有了根本性的变化,以往分立的数字电路已经被可编程逻辑器件(CPLD和FPGA)所取代。现在我们已经可以采用自上到下的模式用软件(硬件描述语言)的方法来设计硬件。这也促使可编程逻辑器件在通信系统及复杂的现场控制系统中得到广泛的应用。 1.2.2 VHDL的发展VHDL最早是美国国防部为描述电子电路所开发的一种语言,因此早期的VHDL是用在文件上的。他可以很容易的描述一个系统的功能,也可以详细描述一个器件的状态。在70年代,大多数的数字逻辑还是以分散的TTL器件所组成。就当时的情况而言,工程师们必须了解各种逻辑器件的特性,再将逻辑器件组合成电路图。一个简单的逻辑电路,也许需要十歌分散的TTL器件组合成一块电路板。加上当时的器件都是以DIP的方式封装,一块电路板是一排排地器件看起来壮观无比。80年代后期出现了可编程逻辑器件,其设计的切入点有两个,一种是采用原理图的方法,这就像是原先将分散的TTL逻辑组合成电路板一样,只是将电路板换成了一个IC。另一种设计方法是以简单的方程式来表现逻辑架构,经过编译器产生刻录文件,再写到可编程逻辑器件里。这种器件的最大好处是可以将不同的逻辑放在一颗IC中。假设一个设计中使用到一个ANDgate,一个Orgate和一个Inverter,要是使用分散的TTL器件,电路板上就要使用三个IC。但如果使用可编程逻辑器件,只要一颗IC就能将这三种功能放进去了不过由于其容量并不是很大,因此能容纳的功能也不是很多,所有电路板上的IC还是很多。随着技术的发展,90年代初期出现了FPGA(Field Programmable Gate Array),这是一种比较复杂的可编程逻辑器件。但当时的FPGA其逻辑门数目(gate count)并不是很多,因此并没有影响到工程师的设计方式,画原理图的设计方式仍是最流行的。随着半导体制程的演进,单位面积内逻辑门的数目急速增加。逻辑门的数目增多,半导体线径的宽度变细,逻辑门的延时时间也越来越小,使其功能大为增加。所以FPGA使用的范围也就大了许多。加上其弹性极大,对于规格不是很确定的设计,使用起来相当方便。当然市场上并不是只有可编程逻辑器件的出现,许多大厂乐于将固定功能设计成一颗IC,这种IC称为ASSP(APPLICATION SPECIFIC SRANDARD PRODUCT,专用标准产品)。ASSP的好处是设计者可以将许多功能都放在一颗IC里面,一般设计者要将这么复杂的功能设计时间急降低风险的情况下,许多设计者会直接选择ASSP来使用。但是优点也可能变成缺点,由于ASSP的功能都已经确定了,如果有些设计中只甬道ASSP的一小部分功能但仍使用ASSP设计的话,则只有将整颗IC放在电路板上。或者是设计者要将ASSP提供的功能再做修改,由于ASSP缺乏弹性,在某些设计中也会无法应用。除了PLD和ASSP之外,还有一种称为ASIC的器件。其内部功能完全由设计者自行决定,因此不会出现使用ASSP做设计浪费许多功能的情况。但当ASIC开发出来以后,就和ASSP一样,仅能完全满足设计者的要求。而且当器件开发出来之后其单价相当低,这是ASIC的最大优点。不过其仍有缺点,由于其设计时间与设计PLD相当,还要额外加上光罩制作等过程,所以其设计的时间最长。而且设计的复杂度越来越大。因此设计PLD或ASIC时,传统的画原理图方式也就越来越不能满足设计者的需求。加上逻辑合成器的日趋成熟,高级的硬件描述语言的设计方式,以逐渐取代画原理图的方式了。1.3 FPGA的发展 1.3.1 FPGA的起源随着计算机与微电子技术的发展,电子设计自动化EDA(Electronic Design Automation)和可编程逻辑器件PLD(Programmable Logic Device)的发展都非常迅速,熟练地利用EDA软件进行PLD器件开发已成为电子工程师必须掌握的基本技能。先进的EDA工具已经从传统的自下而上的设计方法改变为自顶向下的设计方法,以硬件描述语言HDL(Hardware Description Language)来描述系统级设计,并支持系统仿真和高层综合。ASIC(Application Specific Integrated Circuit)的设计与制造,电子工程师在实验室就可以完成,这都得益于PLD器件的出现及功能强大的EDA软件的支持。现在应用最广泛的高密度PLD器件主要是现场可编程门阵列FPGA(Field Programmable Gate Array)和复杂可编程逻辑器件CPLD(Complex Programmable Logic Device)。1.3.2 FPGA的简单介绍目前流行的FPGA/CPLD在EDA基础上得到了广泛的应用,由于可以通过软件编程对该硬件的结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷。这一特性极大地改变了传统数字系统的设计方法、设计过程、乃至设计观念。在设计过程中,设计者可根据需要,随时改变器件的内部逻辑功能和管脚的信号方式。而管脚定义的灵活性,能大大减轻电路图设计和电路板设计的工作量和难度,同时,这种基于可编程逻辑器件芯片的设计大大减少了系统芯片的数量,缩小了系统的体积,提高了系统的可靠性。对于FPGA/CPLD器件,常用的硬件描述语言有VHDL和Verilog等。而支撑FPGA/CPLD及硬件描述语言的对应工具软件有MAX-Plus等,它被尊为业界最易用易学的EDA软件,它支持原理图、VHDL和Verilog语言文本文件,以及波形与EDIF等格式的文件作为设计输入。MAX-Plus具有门级仿真器,可以进行功能仿真和时序仿真,能够产生精确的仿真结果。在设计一项工程时,首先利用EDA工具软件MAX-Plus中的文本编辑器,将其用文本方式(VHDL程序方式)表达出来,在通过MAX-Plus转换为实际可用的电路网表,并用此网表对FPGA/CPLD进行布线,最后进行功能仿真和时序仿真,得到所需的设计效果。FPGA(Field Programmable Gates Arrays,现场可编程门列阵)与CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)都是可编程逻辑器件,他们是在PAL,GAL等逻辑器件的基础上发展起来的。同以往的PAL,GAL相比较,FPGA/CPLD规模较大,适合于时序,组合等逻辑电路应用场合,它可以替代几十甚至上百片通用IC芯片。这样的FPGA/CPLD实际上就是一个子系统部件。这种芯片具有可编程性和实现方案容易改动的特点。随着半导体技术的迅速发展,在现代数字系统设计中,现场可编程器件(FPGA和CPLD)的使用越来越广泛。CPLD/FPGA的应用设计复杂,硬件描述语言HDL(Hardware Description Language)已成为设计大规模CPLD/FPGA的一种有效手段。随着半导体技术的迅速发展,在现代数字系统设计中,现场可编程器件(FPGA和CPLD)的使用越来越广泛。与此同时,基于大规模可编程逻辑器件的EDA(电子设计自动化)硬件解决方案也被广泛采用。一般地说,EDA解决方案均采用计算机自顶向下的设计方式:在底层设计时对逻辑进行必要的描述,并依赖特定的软件执行逻辑优化(logic optimization)与器件映射(device mapping),最后再使用由各芯片生产厂商提供的编译器执行布线(route)和网单优化(netlist optimization)。虽然对于简单的逻辑,采用原始逻辑图或布尔方程输入可以获得非常有效的结果,但对于复杂的系统设计,应用以上两种方案就很容易产生错误,而必须依靠一种高层的逻辑输入方式,这样就产生了硬件描述语言HDL(hardware description language),其中符合IEEE-1076标准的VHDL的应用成为新一代EDA解决方案中的首选。因此,VHDL的应用必将成为当前以及未来EDA解决方案的核心,更是整个电子逻辑系统设计的核心。 1.4电梯控制系统随着人类社会的发展,建筑技术水平的提高,出现了高楼大厦。这些高层建筑物的数量增多,人们迫切需要一种交通工具,以方便人们的生活,提高工作效率,这样电梯这一新的交通工具便应运而生。电梯自从诞生起,就得到许多国家的重视,尤其是经济发达的国家,这对电梯事业的发展起着重要的推动作用,使得电梯行业在随后得到很大发展。第二章 相关技术介绍2.1 VHDL的相关技术2.1.1 VHDL的自身优点 VHDL是为了满足逻辑设计过程中的各种需求而设计的。首先,它可以用来描述逻辑设计的结构,比如逻辑设计中有多少个子逻辑,而这些子逻辑又是如何连接的。除此之外,VHDL并不十分关心一个具体逻辑是靠何种方式实现的,而是把开发者的精力集中到逻辑所实现的功能上。 其二,VHDL采用类似高级语言的语句格式完成对硬件行为的描述,这也是为什么我们把VHDL称为“编程语言”的原因。 最后,VHDL所给出的逻辑的模拟与调试为设计工作提供了最大的空间,用户甚至不必编写任何测试向量便可以进行源代码级的调试。而且,设计者可以非常方便地比较各种方案之间的可行性及其优劣,而不需做任何实际的电路实验。 鉴于VHDL具有以上诸多优点,只要开发者拥有Pascal、C等计算机高级语言的基础,便可以轻松地掌握VHDL,使硬件工作软件化。2.1.2用VHDL设计的优越性VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。应用VHDL进行工程设计的优点是多方面的。 (1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。 (2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。 (3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。 (5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。2.1.3 VHDL的模块组织1 在应用VHDL描述数字系统结构时,我们使用entity-achitecture结构。 2 entity描述了数字系统的输入输出接口,同时还定义了一些全局常量以及与其他电路(程序模块或逻辑图模块)之间必要连接的拓扑结构。但在entity中,我们并不对电路的逻辑做任何描述,可将其看成是一个所谓的逻辑“黑盒子”。很明显,VHDL遵循EDA解决方案中自顶向下的设计原则,并能够保持良好的接口兼容性。 3 architecture则是entity的实体,它对具体的逻辑进行描述,主要由变量声明和语句描述两部分构成,变量有信号型和内部节点型;语句包括组合逻辑语句、同步时序逻辑语句。对于异步时序则依靠语句排列顺序再加上延时语句来完成。entity和architecture总是成对出现,它们是VHDL描述逻辑时的基本结构。 4 VHDL在描述同步时序逻辑时主要使用process结构和wait语句。在一个 architecture中可以同时拥有几个process,它是用于描述时序的基本单元。VHDL描述硬件行为时,最重要的就是依据时间的变化对信号做出相应的分配和赋值,具体细节由于篇幅所限不再赘述。 5 在EDA解决方案中应用VHDL有助于缩短数字系统的开发周期。但除了靠编写VHDL程序简化逻辑之外,还需要选择合理的HDL合成(HDL synthesis),不同的HDL合成所支持的语法并不相同,而且生成的代码效率也不同。经实验比对,相同的程序经过不同的编译器编译,芯片资源的消耗相差可高达10%。另外,由于知识产权和专利保护等问题,目前国际上尚无统一的集成化开发工具可以完成从逻辑输入到下载电路所需要的全部工作,这也给VHDL在EDA解决方案中的广泛应用带来了一定的困难。但总的来讲,一般厂商均遵循VHDL-87通用标准并互相提供良好的软件接口,在某种程度上可以缓解该矛盾。可以预计,随着VHDL-93标准的广泛应用以及第二代可编程逻辑器件的推出,VHDL必将在未来的EDA解决方案中发挥不可替代的作用。CPLD/FPGA设计越来越复杂,使用硬件描述语言设计可编程逻辑电路已经成为大势所趋,目前最主要的硬件描述语言是:VHDL(Very High Speed Integrated Circuit HDL)和Verilog HDL。两种语言都已被确定为IEEE标准。附:一个简单的VHDL的例子:(12位寄存器) - VHDL Example- User-Defined Macrofunctionlibrary ieeeuse ieee.std_logic_1164_.all;ENTITY reg12 IS PORT(d: IN BIT_VECTOR(11 DOWNTO 0); clk : IN BIT; q: OUT BIT_VECTOR(11 DOWNTO 0);END reg12;ARCHITECTURE a OF reg12 ISBEGIN PROCESS BEGIN WAIT UNTIL clk = 1; q = d; END PROCESS;END a;2.1.4 开发流程用VHDL/Verilog HDL语言开发可编程逻辑电路的完整流程为: 文本编辑。用任何文本编辑器都可以,但通常在专用的HDL编辑环境中进行。因为专业的集成开发环境通常提供各种结构模板,并且可以自定义各种要素(例如关键字、字符串、注释等)的色彩显示,提高可读性,提高输入效率。 功能仿真。将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确。 逻辑优化与综合。将源文件调入逻辑综合软件进行逻辑分析处理,即将高层次描述(行为或数据流级描述)转化为低层次的网表输出(寄存器与门级描述),逻辑综合软件会生成EDIF(Electronic Design Interchange Format)格式的EDA工业标准文件。这步在PLD开发过程中最为关键,影响综合质量的因素有两个,即代码质量和综合软件性能。 适配与分割。如果整个设计超出器件的宏单元或I/O单元资源,可以将设计划分到多片同系列的器件中。 装配或布局布线。将EDIF文件调入PLD厂家提供的软件中进行装配(对于CPLD)或布局布线(对于FPGA),即将设计好的逻辑写入CPLD/FPGA器件中。 时序仿真。即延时仿真,由于不同器件、不同布局布线,给延时造成的影响不同,因此对系统进行时序仿真,检验设计性能,消除竞争冒险是必不可少的步骤。 2.1.5 VHDL编码方式对综合质量的影响VHDL语言支持全部的仿真功能,但并不是全部可综合的。VHDL程序的许多硬件描述和仿真结构没有对应的数字电路来实现,还有些描述在理论上可以映射为对应的数字电路,但是却不能保证其精确性,比如延时模型。随着综合算法技术水平的提高,针对某些寄存器传输级RTL(Register Transfer Level)电路描述可以进行有效的优化,但是对于更普遍的电路描述这还不够,因此综合结果是否满足给定的时间约束条件和面积约束条件,还取决于VHDL编码方式。下面给出几点经验,相信对提高综合质量有所帮助与启发。(1)资源共享例如下面的两段代码中,需要2个加法器,而完成同样的功能,略做修改;只需要1个加法器,有效地减少了使用面积。适当地利用圆括号进行重新组合,有时也可以实现资源的共享。如下面两段代码(D)中输入信号b和c即可实现加法器的共享。(2)使用带范围限制的整数在VHDL中无约束整数的范围是-2147483647+2147483647。这意味着至少需要32位来表示,但通常这会造成资源的浪费,有些综合软件会自动优化,但所消耗的时间是相当可观的。因此,如果不需要全范围的整型数据,最好指定范围,例如:signal small_int : integer range 255 downto 0 ;small_int在本例中只需要8位,而不是32位,有效地节约了器件面积。(3)使用宏模块当在VHDL中使用算术逻辑、关系逻辑等通用逻辑结构时,多数EDA开发软件及专用综合工具通常包含针对特定工艺的优化宏模块供我们选择,从功能上可分为时序电路宏模块、运算电路宏模块和存储器宏模块,具有很高的执行效率,使得综合结果面积更小、频率更高、所需编译时间更短。当然,它们是针对特定工艺的,这将使VHDL程序依赖于具体的器件系列,影响移植性。(4)高级设计优化上述几种方法是在没有改变其功能性的情况下进行综合优化的,有时候我们可以在不妨碍设计规格约束的前提下,稍微改变其功能,来提高综合效率,参考下面两个例子。在(E)中,综合工具建立递增计数器和完整的比较器;在(F)中,综合工具建立递减计数器和对于常数零的比较器。由于和常数作比较更易于实现,且占用逻辑单元更少,因此(F)程序更高效。2.2 FPGA的优势用户充分利用套件资源,就可以设计完成并检验各种各样的具有一定规模的数字系统,可编程逻辑技术目前已经能与ASIC(专用集成电路)和ASSP(专用标准产品)争夺市场,并逐渐呈现出取代ASIC和ASSP的趋势,这极大程度上是因为FPGA技术的发展。FPGA产品在逻辑密度、性能和功能上有了极大的提高,同时器件成本也大幅下降。另外,FPGA进步的同时,ASIC市场也发生了重大的变化。传统ASIC供应商逐渐改变过去的通用ASIC战略,转而专注于开发满足特定应用的产品。系统设计商、智力产权开发商和代工制造厂也逐渐开始关注设计者的需求。随着深亚微米ASIC掩模的成本接近50万美元,设计人员不得不重新评估定制的固定逻辑器件高昂的、不可再利用的工程成本。许多产品工程师发现,ASIC只有在产量或销售达到一定规模,才能平衡前期的投资。正是基于这样的考虑,越来越多的设计人员开始采用FPGA,使得FPGA逐渐吞噬原来由门阵列产品占据的市场。同时,ASSP市场的变化也为FPGA提供了新的发展机会。由于FPGA提供更合理的成本和更高的性能,因而成功地取代了分立TTL芯片的市场地位。FPGA在将存储器、PAL和UART集成进单一芯片方面也取得了相当的成功。除此之外,最近FPGA还被大量用作电路板上连接不同器件的“连接逻辑”器件。2.2.1 FPGA推动制造技术的发展 与过去不同,FPGA供应商迅速采用目前最先进的半导体制造技术。Xilinx已经采用领先的0.15微米技术和铜金属互连工艺制造FPGA器件,进一步提高了FPGA产品的性能。事实上,FPGA已经成为OEM制造厂“制造工艺发展的驱动器”,取代了存储器在此方面的地位。制造工艺技术的快速发展使FPGA供应商提供的可编程逻辑器件PLD引脚越来越少,每引脚成本越来越低。采用先进工艺技术使FPGA供应商可以从每个大圆片(Wafer)上获得更多的芯片,提供更多的逻辑容量,并且芯片的性能得到极大的改善。供应商还可以提供延迟锁相环路以进行片上或片外时钟管理、提供足够的片上块状RAM并广泛支持各种单端和差分输入/输出标准。这些进步大大缩小了FPGA和ASSP间的差距。2.2.2 FPGA/EPLD的自上而下(Top-Down)设计方法 传统的设计手段是采用原理图输入的方式进行的,如图1所示。通过调用FPGA/EPLD厂商所提供的相应物理元件库,在电路原理图中绘制所设计的系统,然后通过网表转换产生某一特定FPGA/EPLD厂商布局布线器所需网表,通过布局布线,完成设计。原理图绘制完成后可采用门级仿真器进行功能验证。 图1:传统的设计手段与Top-Down设计工具的比较 然而,工程师的最初设计思想不是一开始就考虑采用某一FPGA/EPLD厂商的某一特定型号器件,而是从功能描述开始的。设计工程师首先要考虑规划出能完成某一具体功能、满足自己产品系统设计要求的某一功能模块,利用某种方式(如HDL硬件描述语言)把功能描述出来,通过功能仿真(HDL仿真器)以验证设计思路的正确性。当所设计功能满足需要时,再考虑以何种方式(即逻辑综合过程)完成所需要的设计,并能直接使用功能定义的描述。实际上这就是自顶而下设计方法。 与传统电原理图输入设计方法相比,Top-Down设计方法具体有以下优点: 、完全符合设计人员的设计思路,从功能描述开始,到物理实现的完成。 、功能设计可完全独立于物理实现 在采用传统的电原理输入方法时,FPGA/EPLD器件的采用受到器件库的制约。由于不同厂商FPGA/EPLD的结构完全不同,甚至同一厂商不同系列的产品也存在结构上的差别,因此,在设计一开始,工程师的设计思路就受到最终所采用器件的约束,大大限制了设计师的思路和器件选择的灵活性。而采用Top-Down设计方法,功能输入采用国际标准的HDL输入方法,HDL可不含有任何器件的物理信息,因此工程师可以有更多的空间去集中精力进行功能描述,设计师可以在设计过程的最后阶段任意选择或更改物理器件。 、设计可再利用 设计结果完全可以以一种知识产权(IP-Intellectual Property)的方式作为设计师或设计单位的设计成果,应用于不同的产品设计中,做到成果的再利用。 、易于设计的更改 设计工程师可在极短的时间内修改设计,对各种FPGA/EPLD结构进行设计结果规模(门消耗)和速度(时序)的比较,选择最优方案。、设计、处理大规模、复杂电路 目前的FPGA/EPLD器件正向高集成度、深亚微米工艺发展。为设计系统的小型化,低功耗、高可靠性等提供了集成的手段。设计低于一万门左右的电路,Top-Down设计方法具有很大的帮助,而设计更大规模的电路,Top-Down设计方法则是必不可少的手段。 、设计周期缩短,生产率大大提高,产品上市时间提前,性能明显提高,产品竞争力加强。据统计,采用Top-Down设计方法的生产率可达到传统设计方法的2到4倍。 Top-Down设计流程如图2所示,其核心是采用HDL语言进行功能描述,由逻辑综合(Logic Synthesis)把行为(功能)描述转换成某一特定FPGA/EPLD的工艺网表,送到厂商的布局布线器完成物理实现。在设计过程的每一个环节,仿真器的功能验证和门级仿真技术保证设计功能和时序的正确性。可编程逻辑技术目前已经能与ASIC(专用集成电路)和ASSP(专用标准产品)争夺市场,并逐渐呈现出取代ASIC和ASSP的趋势,这极大程度上是因为FPGA技术的发展。FPGA产品在逻辑密度、性能和功能上有了极大的提高,同时器件成本也大幅下降。 2.2.3FPGA将替代ASIC另外,FPGA进步的同时,ASIC市场也发生了重大的变化。传统ASIC供应商逐渐改变过去的通用ASIC战略,转而专注于开发满足特定应用的产品。系统设计商、智力产权开发商和代工制造厂也逐渐开始关注设计者的需求。随着深亚微米ASIC掩模的成本接近50万美元,设计人员不得不重新评估定制的固定逻辑器件高昂的、不可再利用的工程成本。许多产品工程师发现,ASIC只有在产量或销售达到一定规模,才能平衡前期的投资。正是基于这样的考虑,越来越多的设计人员开始采用FPGA,使得FPGA逐渐吞噬原来由门阵列产品占据的市场。同时,ASSP市场的变化也为FPGA提供了新的发展机会。由于FPGA提供更合理的成本和更高的性能,因而成功地取代了分立TTL芯片的市场地位。FPGA在将存储器、PAL和UART集成进单一芯片方面也取得了相当的成功。除此之外,最近FPGA还被大量用作电路板上连接不同器件的“连接逻辑”器件。2.2.4 FPGA推动制造技术的发展与过去不同,FPGA供应商迅速采用目前最先进的半导体制造技术。Xilinx已经采用领先的0.15微米技术和铜金属互连工艺制造FPGA器件,进一步提高了FPGA产品的性能。事实上,FPGA已经成为OEM制造厂“制造工艺发展的驱动器”,取代了存储器在此方面的地位。制造工艺技术的快速发展使FPGA供应商提供的可编程逻辑器件PLD引脚越来越少,每引脚成本越来越低。采用先进工艺技术使FPGA供应商可以从每个大圆片(Wafer)上获得更多的芯片,提供更多的逻辑容量,并且芯片的性能得到极大的改善。供应商还可以提供延迟锁相环路以进行片上或片外时钟管理、提供足够的片上块状RAM并广泛支持各种单端和差分输入/输出标准。这些进步大大缩小了FPGA和ASSP间的差距。FPGA在有线通信领域的应用在有线通信领域,FPGA可以适应不断变化的标准。虽然独立ASSP供应商也想推出用于高赢利的数据通信、通信和消费市场的解决方案,但他们会受到标准不断变化这一问题的干扰。例如,Internet用户对带宽的不断需求为数字用户线(DSL)技术提供了巨大的市场空间。缺少统一的标准影响了DSL业务的迅速推广。目前,至少已有7种不同的技术被不同的公司采用,所有的技术都各有短长,不过,我们无法断言哪一种技术最终能成为业界的标准。不断变化的标准使得ASSP供应商无法明确产品技术的未来发展方向。这使得人们不得不转向可编程ASSP方案。而且,不同标准之间的冲突可能永远也无法解决。由于开发成本高昂,ASSP厂商只能冒险选择一种标准进行开发,而不可能满足所有的标准要求。而可编程ASSP方案则不存在这一问题。2.2.5可编程ASSP方案ASSP市场的竞争非常激烈,延长产品推向市场的时间就意味着失去市场机会。特别是在新兴市场,产品开发的时间越来越短,ASSP供应商要保持其产品上市时间快的优势,必须保证产品有足够的灵活性、可定制编辑能力,并缩短开发周期,这实际上也是可编程逻辑器件的特点。FPGA供应商现在可以解决很多ASSP设计人员无法解决的问题。通用ASSP结构很难满足每个设计人员的特定要求。因为ASSP必须通用才能保证广泛的应用。因此设计者必须配合ASSP利用可编程逻辑或ASIC为其产品增加其它增值功能,以便区分市场上的同类产品。这样会增加成本,占用更多的基板空间,同时也会降低产品性能。另外,设计人员有时并不需要ASSP的所有功能。虽然ASSP能基本满足设计者的要求,但设计人员很少直接采用独立的ASSP。采用FPGA这样的可编程ASSP方案,设计人员可以任意选择所要的功能组合,并通过优化使产品达到最佳的性能。采用可编程ASSP方案,设计人员还可在同一器件上集成增值功能,这样不仅增加了产品的个性,也能降低成本在技术高速发展的现代社会中,数字化的浪潮正席卷各个行业,数字电子系统的设计方法和设计手段已有了根本性的变化,以往分立的数字电路已经被可编程逻辑器件(CPLD和FPGA)所取代。现在我们已经可以采用自上到下的模式用软件(硬件描述语言)的方法来设计硬件。这也促使可编程逻辑器件在通信系统及复杂的现场控制系统中得到广泛的应用。FPGA/EPLD的发展正逐步取代越来越多的ASIC市场。可重复使用,小批量,低投入,高性能,高密度,开发周期短等诸多优点,使国内更多的工程师们乐于采用。由于不需要任何投片费用,也不需要建立任何生产线,因此,采用FPGA/EPLD所需的投资远远低于ASIC的投资。据估计,引进一套先进的FPGA Top-Down设计工具所需费用还不到ASIC所需的十分之一,而大力推广先进的FPGA设计方法,既可以降低诸多产业投资成本,也可培养一大批国内的Top-Down的设计人才,从而提高国内Top-Down设计的整体水平,为将来国内ASIC产业的快速、健康发展打下坚实的基础。 第三章电梯控制电路的设计3.1实验要求:这里我们就以设计一个4层楼房全自动电梯控制电路为例,它所用到的功能总结如下所述:(1) 对于每层电梯入口处都要求设有上下请求开关各一个,电梯内设有乘客到达楼层层次的停站要求开关。(2) 有电梯所处位置指示装置和电梯上行、下行状态指示装置。(3) 电梯每秒升(降)一层楼。到达某一层楼时,指示该层次的灯发光,并一直保持到电梯到达新一层为止。(4) 电梯到达有请求的楼层后,该层的指示灯亮,经过0.5S,电梯门自动打开,开门指示灯亮,开门5S后,电梯门自动关闭(开门指示灯灭),电梯继续运行.(5) 能记忆电梯内、外的所有请求信号,并按照电梯运行规则次第响应,每个请求信号保留至执行后撤除。(6) 电梯运行规则。电梯处于上升模式时,只响应比电梯所在位置高的层次的上楼请求信号,由下而上逐个执行,直到最后一个请求执行完毕。如更高层次有下楼请求,则直接升到有下楼请求的最高楼层接客,然后再进入下降模式。电梯处于下降模式时与之相反。电梯执行完成所有的请求后,呆在最后所在的位置不变,等待新的请求。(7) 开机时(接通电源),电梯停在一楼,而各种上下请求皆被清除。3.2 初步方案:先定义需要用到的外部按键(1) 控制中心按钮:start(2) 电梯内按键:1,2,3,4(3) 电梯外按键:各楼层的按键(一楼只有,四楼只有)(4) 各种指示灯:开门灯,楼层显示灯,电梯运行状态指示灯()3.3 简单框图:这里有一个对于设计的简单框图,对于电梯系统来说它所接受到外部的一些请求信号,再由控制电梯控制系统经过处理之后输出的输出信号完成电梯控制的功能。其中左边为输入(按钮)控制中心按键start,电梯内的按键请求输入信号i1,i2,i3,i4,各楼层的上下请求信号i1up,i2up,i2down,i3up,i3down,右边为输出(除floor接数码管以外,其余都接发光二极管),每个楼层的指示灯lightopen1, lightopen2, lightopen3, lightopen4,电梯处于上还是下的指示灯light up,light down,及电梯所处位置的指示灯floor30。简单框图3.4简单流程图:这里介绍一下关于电梯工作的简单流程图:设定电梯开始停在一楼电梯处于上升模式时,只响应比电梯所在位置高的层次的上楼请求信号,由下而上逐个执行,直到最后一个请求执行完毕。如更高层次有下楼请求,则直接升到有下楼请求的最高楼层接客,然后再进入下降模式。电梯处于一楼时,先看是否有开门请求有就开门,再看是否有其他请求,如果有上楼请求,再直接上楼。(1) 电梯处于二楼时,先看是否有开门请求有就开门,再看是否有其他请求,如果有上楼请求,再直接上楼,最后看是否有下楼请求有就等上升到最后有请求的楼层后下楼。(2) 电梯处于三楼时,先看是否有开门请求有就开门,再看是否有其他请求,如果有上楼请求,再直接上楼,最后看是否有下楼请求有就等上升到最后有请求的楼层后下楼(3) 电梯处于四楼时,先看是否有开门请求有就开门,再看是否有其他请求,如果有下楼请求等上升到最后有请求的楼层后就下楼。电梯处于下降模式时与之相反。电梯执行完成所有的请求后,呆在最后所在的位置不变,等待新的请求。 3.5详细方案:(1)输入信号先经过消抖同步,其中消抖按钮可以消抖,而后需经过一个同步电路使电梯的请求命令变成为同步信号。(2)同步命令需要用相应的部件来储存,在命令执行以后要消除,这样就需要用一个寄存器电路来实现,同时可以对命令进行编码。(3)输出的楼层信号到数码管需要一个译码器来实现。(4)开门等待、电梯运行、门开着的时间都需要用计数器来实现。(5)时钟信号由外部电路提供(10Hz)。(6)控制器要控制三个计数器的运行,执行各楼层的请求,输出寄存器清零命令,并控制各指示灯。3.6详细框图各个输入请求信号先经过同步器处理之后输入请求信号变成同步信号,同步信号通过编码器编码,变成机器能识别的代码,同时要将同步命令先存储在寄存器,命令执行以后进行消除。需要执行的命令编码进入控制器进行处理,最后输出各个状态,通过指示灯来显示。3.7 详细流程图兼状态图:(图中”,”表示or) (1) 初始化信号,在接通电源的时候使用,设置电梯在一楼,寄存器清零信号为0 。(2) 在f1stay状态下(stay状态默认门是关着的),如果有一楼的请求,先等待0.5秒钟(让开们等待计数器计数至模满),再开门(1楼开门灯亮),5秒以后门关上(开门灯关,将两计数器清零),接着看是否有高楼层的请求,如果有就上行进入f1up状态,否则状态不变。(3) 在f1up状态,1秒后(电梯运行计数器模满),进入f2up状态,电梯运行计数器清零。(4) 在f2stay状态下,如果有上行请求进入f2up状态,如果有下行请求进入f2down状态,否则保持不变。(5) 在f2up状态,如果有电梯内的二楼请求或者二楼外部的上楼请求或者下楼请求且高层楼没有请求,则先等待0.5秒钟(让开们等待计数器计数至模满),再开门(2楼开门灯亮),5秒以后门关上(开门灯关,将两计数器清零),接着看是否有高楼层的请求,如果有就继续上行,1秒后(电梯运行计数器模满)进入状态f3up,同时电梯运行计数器清零,否则进入f2stay状态。(6) 在f2down状态,如果有电梯内的二楼请求或者二楼外部的下楼请求或者上楼请求且底层楼没有请求,则先等待0.5秒钟(让开们等待计数器计数至模满),再开门(2楼开门灯亮),5秒以后门关上(开门灯关,将两计数器清零),接着看是否有低楼层的请求,如果有就继续下行,1秒后(电梯运行计数器模满)进入状态f1stay,同时电梯运行计数器清零,否则进入f2stay状态。(7) 在f3stay状态下,如果有上行请求进入f3up状态,如果有下行请求进入f3down状态,否则保持不变。(8) 在f3up状态,如果有电梯内的三楼请求或者三楼外部的上楼请求或者下楼请求且高层楼没有请求,则先等待0.5秒钟(让开们等待计数器计数至模满),再开门(3楼开门灯亮),5秒以后门关上(开门灯关,将两计数器清零),接着看是否有高楼层的请求,如果有就继续上行,1秒后(电梯运行计数器模满)进入状态f4stay,同时电梯运行计数器清零,否则进入f3stay状态。(9) 在f3down状态,如果有电梯内的三楼请求或者三楼外部的下楼请求或者上楼请求且底层楼没有请求,则先等待0.5秒钟(让开们等待计数器计数至模满),再开门(3楼开门灯亮),5秒以后门关上(开门灯关,将两计数器清零),接着看是否有低楼层的请求,如果有就继续下行,1秒后(电梯运行计数器模满)进入状态f2down,同时电梯运行计数器清零,否则进入f3stay状态。(10) 在f4stay状态下(stay状态默认门是关着的),如果有一楼的请求,先等待0.5秒钟(让开们等待计数器计数至模满),再开门(4楼开门灯亮),5秒以后门关上(开门灯关,将两计数器清零),接着看是否有低楼层的请求,如果有就下行,进入f4down状态,否则状态不变。(11) 在f4down状态,1秒后(电梯运行计数器模满),进入f3down状态,电梯运行计数器清零3.8电路图这里我们将电梯控制系统化分成了几块小的,功能较相近的模块,将划分完的一个个经过coding, 再做完function simulation,将一块块小的再结合成完整的设计。这里分了七个模块分别是同步器(SYNCIR),寄存器和编码器,开门等待计数器,电梯运行计数器,开门后等待计数器,楼层显示译码器,控制器。第四章电梯控制电路的VHDL实现4.1源程序极其简单解释-控制器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity center isport(clk:in std_logic; -时钟信号(默认10Hz)start:in std_logic;-初始化信号r1,r2,r2down,r2up,r3,r3down,r3up,r4:in std_logic;各楼层请求信号co:in std_logic;开门时间到5秒信号cw:in std_logic; 开门等待时间到0.5秒信号cr:in std_logic; 电梯运行时间到1秒信号(到达另一层)enco:out std_logic;对开门时间计数器控制信号encw:out std_logic; 对开门等待时间计数器控制信号encr:out std_logic; 对电梯运行时间计数器控制信号reset1,reset2,reset2up,reset2down,reset3,reset3up,reset3down,reset4:out std_logic;输出命令寄存器清零信号lightopen1,lightopen2,lightopen3,lightopen4:out std_logic;-控制各楼层开门灯亮lightup,lightdown:out std_logic;-控制电梯上下指示灯亮灭floor:out std_logic_vector(3 downto 0)控制显示楼层的数码管);end center;architecture behaves of center istype elevator_system is(f1stay,f1up,f2down,f2stay,f2up,f3down,f3stay,f3up,f4down,f4stay);signal state:elevator_system;beginprocess(clk,start)beginif(start=1)then -初始化信号,在接通电源的时候使用,设置电梯在一楼,寄存器清零信号为0state=f1stay;encw=0;enco=0;encr=0;reset1=0;reset2=0;reset2up=0;reset2down=0;reset3=0;reset3up=0;reset3down=0;reset4=0;lightopen1=0;lightopen2=0;lightopen3=0;lightopen4=0;floorif(r1=1)and(cw=0)and(co=0)thenencw=1;elsif(r1=1)and(cw=1)and(co=0)thenenco=1;lightopen1=1;elsif(r1=1)and(cw=1)and(co=1)thenreset1=1;lightopen1=0;encw=0;enco=0;elsif(r2=1)or(r2up=1)or(r2down=1)or(r3=1)or(r3up=1)or(r3down=1)or(r4=1)thenstate=f1up;encr=1;reset1=0;else reset1if(cr=1)thenstate=f2up;encrif(r2up=1)or(r3=1)or(r3up=1)or(r3down=1)or(r4=1)thenstate=f2up;elsif(r2down=1)or(r1=1)thenstateif(r2=1)or(r2up=1)or(r2down=1)and(r3=0)and(r3down=0)and(r3up=0)and(r4=0)and(cw=0)and(co=0)thenencw=1;elsif(r2=1)or(r2up=1)or(r2down=1)and(r3=0)and(r3down=0)and(r3up=0)and(r4=0)and(cw=1)and(co=0)thenenco=1;lightopen2=1;elsif(r2=1)or(r2up=1)or(r2down=1)and(r3=0)and(r3down=0)and(r3up=0)and(r4=0)and(cw=1)and(co=1)thenreset2=1;reset2up=1;lightopen2=0;encw=0;enco=0;if(r2down=1)and(r3=0)and(r3down=0)and(r3up=0)and(r4=0)thenreset2down=1;end if;elsif(r3=1)or(r3up=1)or(r3down=1)or(r4=1)thenencr=1;reset2=0;reset2up=0;if(cr=1)thenstate=f3up;encr=0;end if;else state=f2stay;reset2=0;reset2up=0;reset2downif(r2=1)or(r2down=1)or(r2up=1)and(r1=0)and(cw=0)and(co=0)thenencw=1;elsif(r2=1)or(r2down=1)or(r2up=1)and(r1=0)and(cw=1)and(co=0)thenenco=1;lightopen2=1;elsif(r2=1)or(r2down=1)or(r2up=1)and(r1=0)and(cw=1)and(co=1)thenreset2=1;reset2down=1;lightopen2=0;encw=0;enco=0;if(r2up=1)and(r1=0)thenreset2up=1;end if;elsif(r1=1)thenencr=1;reset2=0;reset2down=0;if(cr=1)thenstate=f1stay;encr=0;end if;else state=f2stay;reset2=0;reset2up=0;reset2downif(r3up=1)or(r4=1)thenstate=f3up;end if;if(r3down=1)or(r2=1)or(r2up=1)or(r2down=1)or(r1=1)thenstateif(r3=1)or(r3up=1)or(r3down=1)and(r4=0)and(cw=0)and(co=0)thenencw=1;elsif(r3=1)or(r3up=1)or(r3down=1)and(r4=0)and(cw=1)and(co=0)thenenco=1;lightopen3=1;elsif(r3=1)or(r3up=1)or(r3down=1)and(r4=0)and(cw=1)and(co=1)thenreset3=1;reset3up=1;lightopen3=0;encw=0;enco=0;if(r3down=1)and(r4=0)thenreset3down=1;end if;elsif(r4=1)thenencr=1;reset3=0;reset3up=0;if(cr=1)thenstate=f4stay;encr=0;end if;else state=f3stay;reset3=0;reset3up=0;reset3downif(r3=1)or(r3down=1)or(r3up
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:tx099电梯控制电路的VHDL的设计和实现
链接地址:https://www.renrendoc.com/paper/149921807.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!