版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二部分EDA技术与可编程逻辑器件 -(CPLD/FPGA,VHDL)1需要掌握开发环境Quartus | 的使用。在FPGA/CPLD上构建时序逻辑。在FPGA/CPLD上建立Nios系统。完成下列作业: 1、通过实验“串口逻辑”,增加功能。 2、通过实验“Nios |”,增加功能。2 EDA(Electronic Design Automation )即电子设计自动化,是以计算机和微电子技术为先导,汇集了计算机图形学、拓扑、逻辑学、微电子工艺与结构学和计算数学等多种计算机技术应用学科最新成果,应用于电子设计过程而形成的一门新技术。 EDA的概念IMUST B&E LAB 3EDA技术以计算
2、机为工具,代替人完成对数字系统的逻辑综合、布局步线和设计仿真工作。设计人员只需要完成对系统功能的描述,在EDA软件平台上,用图形输入、硬件描述语言HDL为系统逻辑描述手段,所形成的设计文件自动完成逻辑编译、逻辑化简、逻辑综合及优化、逻辑仿真,支持对特定目标芯片的适配编译、逻辑映射和编程下载等工作。 EDA的概念IMUST B&E LAB 4 微电子和计算机领域的原理创新、技术创新、应用创新层出不穷,极大地推动了科学技术的发展,深刻地改变着人们对自然界的认识和人们的生活。 在该领域中,嵌入式系统,SOC、SOPC、IP核等新概念、新技术异军突起,其应用范围迅速深入到制造业,通信控制、仪器仪表、生
3、物、汽车、船舶、航空航天以及消费类等方面。EDA技术的发展趋势5 20世纪70年代MOS工艺的可编程逻辑器件问世 20世纪80年代 20世纪90年代80年代末CMOS工艺的复杂可编程逻辑器件应用FPGA,CAE和CAD技术广泛应用超大规模可编程逻辑器件面世EDA技术逐步成熟EDA技术的发展历程IMUST B&E LAB 6将数字系统的功能要求划分成许多模块。对每一个模块画出真值表。用卡诺图进行手工逻辑化简,写出布尔代数的表达式。画出相应的逻辑线路图。选择元器件,设计电路板自下向上设计方案。进行实测和调试。EDA技术与传统电子设计方法的比较手工设计的方法IMUST B&E LAB 7复杂的电路的
4、设计和调试困难。查找和修改错误十分不便。设计过程中产生大量的文档,不易管理。集成电路的设计和实现与具体的生产工艺相关,因此可移植性较差。EDA技术与传统电子设计方法的比较续手工设计的缺点8EDA技术与传统电子设计方法的比较续 采用硬件描述语言作为设计输入 强大的系统建模、电路仿真功能 适应于高效率大规模系统设计的自顶向下设计方案 开发技术的标准化、规范化以及IP核的可利用性 对设计者硬件知识和硬件经验要求低 ASIC的设计制造在实验室内就可以完成EDA技术的特点9利用电路的计算机辅助分析软件,采用硬件描述语言或原理图等输入方法对可编程逻辑器件进行软件仿真和硬件编辑。缩短产品开发周期、降低成本,
5、 且能最大限度地将设计资源应用到产品设计的各个环节,保证产品在性能、可靠性上适合工业化生产的各个方面 。使用EDA技术的优势10利用硬件描述语言和EDA软件来完成对系统硬件功能的实现。 设计输入可以使用硬件描述语言 (HDL),采用“自顶向下”的设计方法 ,为设计者提供了一个高效、便捷的设计环境 ,同时也为充分发挥设计人员的创造性提供了条件。使用EDA技术的优势EDA技术被广泛的应用于数字系统的设计11可编程逻辑器件按结构的分类其基本逻辑结构为与或阵列包括有低密度PLD(PROM,PLA,PAL,GAL也叫简单的PLD)以及 EPLD和CPLD1、PLD(Programmabe Logic D
6、evice)CPLD(Complex PLD):复杂可编程逻辑器件CPLD和简单的PLD相比,允许有更多的输入信号,更多的乘积项和宏单元,CPLD器件内部含有多个逻辑单元块,每个逻辑块就相当于一个 GAL器件,这些逻辑块之间可以用可编程内部连线实现相互连接。 12对用户而言,CPLD、FPGA的内部结构略有不同,但用法是相同的,所以,多数情况下不加以区分。它们具有掩膜编程逻辑门阵列的通用结构,由逻辑功能块排列为阵列,并由可编程的互连资源连接这些逻辑功能块,以实现不同的逻辑设计。FPGA不受“与或”阵列结构和含有触发器、I/O端数量的限制,依靠内部的逻辑单元以及它们的连接构成任何复杂的逻辑电路,
7、更适合实现多级的逻辑功能,并具有更高的密度和更大的灵活性。2、FPGA(现场可编程门阵列)可编程逻辑器件按结构的分类13CPLD的基本结构在单片芯片上集成了成千上万个等效门,因此在单片CPLD芯片上能集成数字电路系统CPLD和简单的PLD相比,允许有更多的输入信号,更多的乘积项和宏单元,CPLD器件内部含有多个逻辑单元块,每个逻辑块就相当于一个 GAL器件,这些逻辑块之间可以用可编程内部连线实现相互连接。14I/O逻辑块逻辑块逻辑块逻辑块器件内部的可编程连线区I/O逻辑块逻辑块逻辑块逻辑块CPLD的结构框图15CPLD内部逻辑块的结构16IOBIOBIOBIOBIOBIOBIOBIOBIOBI
8、OBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLBCLB布线区FPGA由可编程逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input /Output Block)、可编程连线资源构成。可编程逻辑模块是实现各种逻辑功能的基本单元,包括组合逻辑、时序逻辑、RAM以及各种运算功能。FPGA的基本结构不像PLD那样受结构的限制,它可以靠门与门的连接来实现任何复杂的逻辑电路,更适合实现多级逻辑功能。17FPGA的可编程逻辑
9、功能块前面介绍的PLD都是基于乘积项的可编程结构,即可编程的与阵列和固定的或项组成,而FPGA的结构按可编程逻辑功能块的不同主要有三种类型:查找表结构、多路开关结构、多级与非门结构。大部分的 FPGA都采用SRAM的查找表逻辑形成结构。18CPLD/FPGA的编程工艺基于熔丝和反熔丝编程单元基于电可擦除存储单元的EEPROM或FLASH技术基于SRAM查找表的编程单元19现场可编程门阵列FPGA的特点SRAM结构:可以无限次编程,但它属于易失性元件,掉电后芯片内信息丢失。通电之后,要为FPGA重新配置逻辑内部连线结构:CPLD的信号通路固定,系统速度可以预测。而FPGA的内连线是分布在CLB周
10、围,而且编程的种类和编程点很多,布线相当灵活。芯片逻辑利用率:由于FPGA的CLB规模小,可分为两个独立的电路,又有丰富的连线,其逻辑利用率很高。芯片功耗:FPGA芯片功耗0.25mW5mW之间,静态时几乎没有功耗,所以称FPGA为零功耗器件。20CPLD/FPGA相当于20到500以上个TTL电路集成到一个器件内,有较高的密度;设计者以自己的方法设计所需的逻辑系统, 增加了灵活性;可以方便地通过计算机软件平台,对所设计的系统进行修改和仿真,不用对印刷板进行修改;系统集成到可编程逻辑器件以后,可减少印刷板的层次和缩小印刷板的面积。CPLD和FPGA与TTL电路的比较211.FPGA有更多的I/
11、O管脚,多达几百条,不会出现PAL逻辑没有使用完之前,I/O已经用完;2.有更多的触发器,可以构造许多的寄存器和计数器;3.可以集成多个PAL;4.减少印刷板面积,降低系统成本;降低功耗;5. 系统有较少的元件在印刷板上,可靠性增加;6. 可重复编程性,PAL只能一次编程,FPGA/CPLD多次编程;7.加密能力增加。FPGA与PAL的比较22FPGA的结构与门阵列PLD不同,它内部由许多独立的可编程逻辑模块CLB组成,逻辑块之间可以灵活的相互连接。 CLB的功能很强,不仅能实现逻辑函数,还可以配置成RAM等复杂的形式。 基于SRAM的FPGA工作前需要从芯片外部加载配置数据,配置数据可以存放
12、在片外的EPROM上或计算机上,我们可以在现场控制加载过程,修改器件的逻辑功能,即所谓现场可编程。FPGA与CPLD的比较CPLD在单片芯片上集成了成千上万个等效门,主要由可编程逻辑宏单元、可编程I/O单元和器件内部的可编程连线构成231. Lattice 公司CPLD器件系列ispLSI、ispMACH系列集成度特点以及应用场合ispLSI1000系列2000-8000门价格便宜,适用于一般数字系统设计,例如网卡、控制器、高速编程器、游戏机和测试仪器仪表ispLSI2000E/2000VL/2000VE系列10006000门 速度最高可达300MHz,适合于速度要求高或需要I/O引脚较多的系
13、统,例如移动电话、高速路由器、和高速PCM遥测系统。ispLSI5000V系列1万5万门适用于具有32位或64位总线的系统,例如快速计数器、状态机和地址译码器ispLSI8000/8000V系列可达58000门该系列器件能满足复杂数字系统的设计,可用于外围控制器、运算协处理器等CPLD/FPGA器件产品简介242. Xilinx公司的FPGA和CPLD器件系列 Xilinx公司的CPLD以CoolRunner、XC9500系列为代表 Xilinx公司的FPGA以XC4000、Spartan、Virtex系列为代表,从XC2000、 XC4000到Spartan和Virtex、 VirtexII
14、 pro等系列其性能不断的提高。253. Altera公司FPGA和CPLD器件系列Altera公司的PLD具有高性能、高集成度和高性价比的特点,此外它还提供了全面的开发工具和丰富的IP核及宏功能库,所以多年来一直占据行业领先地位。Altera公司的产品按先后顺序依次为Classic系列、MAX系列、FLEX系列、APEX系列ACEX系列、Cyclone系列以及Stratix26器件总体说明独特性能MAXII最低的成本、单芯片、易用的CPLD系列最低的CPLD成本和功耗。最高的CPLD密度和性能Highest CPLD 上电即用性,非易失性用户Flash存储器1.8-V, 2.5-V & 3.
15、3-V电源电压MAX低成本CPLD,用于较低复杂度的低密度设计从低密度到中等密度 上电即用性,非易失性 5-V I/O支持 确定的时序 2.5-V、3.3-V 或5.0-V 电源电压CycloneII第二代低成本Cyclone FPGA系列用于那些考虑成本多于性能或其他功能的设计。Nios嵌入式处理器支持嵌入式18x18数字信号处理(DSP)乘法器中等容量的片内存储器中等速度的I/O和存储器接口广泛的IP核支持4. Altera公司的新型FPGA和CPLD器件系列Altera公司在MAX、Stratix 、Cyclone系列的基础上又开发了MAXII、StratixII及CycloneII27
16、Cyclone第一代低密度、低成本Cyclone FPGA系列Nios嵌入式处理器支持中等容量的片内存储器从低到中等速度的I/O和存储器接口广泛的IP核支持StratixII低成本FPGA系列,用于较低密度Nios嵌入式处理器支持最多的DSP块大容量片内存储器高速I/O和存储器接源同步信号1-Gbps 动态相位队列(DPA)广泛的IP核支持Stratix通用高性能FPGA系列Nios嵌入式处理器支持DSP块大容量片内存储器高速I/O及存储器接口广泛的IP核支持4. Altera公司的FPGA和CPLD器件系列(续)28FPGA/CPLD器件和电路系统原理图/HDL文本编辑综合FPGA/CPLD
17、编程下载时序与功能门级仿真FPGA/CPLD适配Isp方式下载JTAG方式下载针对SRAM结构的配置Otp器件编程功能仿真FPGA/CPLD的设计流程29 设计文件的输入方法有原理图输入、文本输入、波形输入等,生成方法不同,生成的文件格式也有所不同。 在图形设计文件中,EDA软件为了实现不同的逻辑功能提供了大量的基本单元符号和宏功能模块,在图形编辑器中可以直接调用;为了适应自顶向下的设计,设计者可以使用图形块输入建立顶层设计,可以使用AHDL、VHDL和Verilog HDL文本型输入建立底层设计。 设计输入设计流程30 综合、适配设计流程综合:把软件设计的HDL语言描述与硬件结构挂钩,是将电
18、路的高级语言(行为描述)转换为低级的,可产生与FPGA/CPLD的基本结构相映射的网表文件或程序。适配:适配器也称为结构综合器,它将综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件。综合适配31在把经过编译的输入设计编程或下载到器件之前,可以通过EDA软件的仿真器对文件进行全面测试,保证设计在各种可能的条件下都有正确的响应。根据所需的信息类型,可以进行功能仿真和时序仿真。设计流程 仿真验证和时序分析是接近真实器件运行特性的仿真,允许分析设计中所有逻辑的性能,得出时序分析结果,如建立时间、保持时间、引脚到引脚延迟、最大时钟频率、延迟时间及其它时序特征,并协助引导适配器满足设计中
19、的时序要求。 时序分析功能仿真是直接对VHDL/原理图等输入的逻辑功能的模拟测试,检测其功能是否能满足原设计的要求。32成功编译了设计工程之后,编译器的Assembler模块自动将适配过程的器件、逻辑单元和引脚分配信息转换为器件的编程图像,并以.sof形式保存,EDA软件的编程器(programmer)把该下载或配置文件通过编程电缆向FPGA/CPLD进行下载,以便进行硬件调试和验证。设计流程 器件编程33 硬件描述语言 ABEL AHDL Verilog HDL VHDL 美国国防部在80年代初提出了VHSIC(Very High Speed Integrated Circuit)计划,其目
20、标之一是为下一代集成电路的生产,实现阶段性的工艺极限以及完成10万门级以上的设计,建立一项新的描述方法。1981年提出了一种新的HDL,称之为VHSIC Hardware Description Language,简称为VHDL。VHDL概述IEEE标准34 VHDL语言的主要优点 是一种多层次的硬件描述语言,覆盖面广,描述能力强。即设计的原始描述可以是非常简练的描述,经过层层细化求精,最终成为可直接付诸生产的电路级或版图参数描述,整个过程都可以在VHDL的环境下进行。 VHDL 有良好的可读性,即可以被计算机接受,也容易被理解用VHDL 书写的原文件,即是程序,又是文挡,即是技术人员之间交换
21、信息的文件,又可作为合同签约者之间的文件。 VHDL概述35VHDL本身的生命期长。因为VHDL的硬件描述与工艺技术无关,不会因工艺变化而使描述过时。与工艺技术有关的参数可通过VHDL提供的属性加以描述,工艺改变时,只需修改相应程序中的属性参数即可。 支持大规模设计的分解和已有设计的再利用。一个大规模设计不可能一个人独立完成,它将由多人,多项目组来共同完成。VHDL为设计的分解和设计的再利用提供了有力的支持。 VHDL已成为IEEE承认的一个工业标准,事实上已成为通用硬件描述语言。 VHDL概述 VHDL语言的主要优点36 VHDL综合 综合器能够自动将一种设计表示形式向另一种设计表示形式转换
22、的计算机程序,或协助进行手工转换的程序。 高层次的表示 低层次的表示 行为域 结构域 算法级 门级37编译器和综合功能比较38VHDL综合器运行流程39VHDL的基本组成VHDL 语言参数部分程序包接口部分设计实体描述部分结构体40一、参数部分程序包程序包IEEE标准的标准程序包设计者自身设计的程序包 设计中的子程序和公用数据类型的集合。调用数据类型标准程序包的VHDL语言描述VHDL设计中常用的库有IEEE库、STD库、WORK库、VITAL库。 IEEE库包含IEEE标准的程序包和其他支持工业标准的程序包,在基于FPGA/CPLD的开发中, IEEE库中四个程序包STD_LOGIC_116
23、4、STD_LOGIC_ARITH、STD_LOGIC_SIGNED、STD_LOGIC_UNSIGNED已经足够。STD库包括输入/输出两个标准程序包,WORK库用于存放用户设计和定义的设计单元和程序包,只要在VHDL的应用环境中,都可以随时调用STD库和WORK库,所以不需专门的调用语句。在FPGA/CPLD的设计中一般都不需要VITAL库的程序包。 41LIBRARY ieee;USE ieee.std_logic_1164.all; 放在VHDL程序的最前面,表示以后在实体或结构体中要用到数据类型包中的数据类型。调用库的两种格式USE 库名.程序包名.项目名USE 库名.程序包名.AL
24、L程序包举例调用程序包语句标准程序包定义程序包42二、接口部分设计实体kxora1b1c1设计实体提供设计模块的公共信息,是VHDL设计电路的最基本部分。VHDL实体的描述方法:ENTITY kxor IS PORT(a1,b1:IN std_logic; c1:OUT std_logic);END kxor; 一个模块中仅有一个设计实体。调用程序包语句标准程序包定义程序包实体 及实体声明语句实体语句的格式ENTITY 实体名 IS PORT(端口名)END ENTITY 实体名43设计实体说明 ENTITY kxor IS PORT(a1,b1:IN std_logic;END kxor;
25、c1:OUT std_logic);ENTITY、IS、PORT、IN、OUT和END为关键字;ENTITY.END之间表示实体内容;kxor表示实体的名称,即电路的符号名;PORT端口(引脚)信息关键字,描述了信号的流向;IN输入模式;OUT输出模式;INOUT 输入输出双相模式BUFFER 与INOUT类似,区别在于当需要输入数据时,只允许内部回读输出信号,即允许反馈std_logic表示信号取值的类型为标准逻辑。44ENTITY sel IS PORT(d0,d1,d2,d3:IN BIT; s :IN INTEGER RANGE 0 TO 3; out1 :OUT BIT);END s
26、el;d0d1d2d3sout1sel设计实体举例再例:45三、描述部分结构体结构体描述实体硬件的互连关系、数据的传输和变换以及动态行为。即描述设计实体的内部结构和对外部设计实体端口间的逻辑关系。 一个实体可以对应多个结构体,每个结构体可以代表该硬件的某一方面特性,例如行为特性,结构特性。调用程序包语句标准程序包定义程序包实体 及实体声明语句结构体1结构体2结构体n46ARCHITECTURE kxor_arc OF kxor ISBEGIN c1 = (NOT a1 AND b1) OR (a1 AND NOT b1);END kxor_arc;当异或门的符号和外部端口a1、b1和c1确定之
27、后,就要确定实体的内部电路,使之与实体相对应。结构体的一般格式ARCHITECTURE 结构体名 OF 实体名 IS 说明语句BEGIN 功能描述语句END 结构体名 kxora1b1c1a1b1c1结构体举例47LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY kxor IS PORT(a1,b1:IN std_logic; c1:OUT std_logic);END kxor;ARCHITECTURE kxor_arc OF kxor ISBEGIN c1 = (NOT a1 AND b1) OR (a1 AND NOT b1);END kxo
28、r_arc;该例的完整程序48块(BLOCK)进程(PROCESS)格式:进程名: PROCESS(信号1,信号2。) 进程说明 BEGIN顺序语句 END PROCESS;子程序格式:FUNCTION 函数名(参数1,参数2。) RETURN 数据类型 IS 定义语句 BEGIN顺序语句RETURN 返回变量值 END 函数名;调用 如:peak=max(data,peak) 变量=函数名(参数1,参数2。)结构体的子结构描述进程注意事项1.同一构造体中的进程是并行的,但同一进程中的逻辑描述是顺序运行。2.进程是由敏感信号的变化启动的,若无敏感信号则在进程中应有WAIT语句激励。3.构造体中
29、多个进程之间通讯是通过“信号”和共享变量值来实现的。即信号具有全局性,在进程说明中不允许定义变量子程序说明1.由顺序语句组成,调用前进行初始化(若在包集合中,可直接调用)。2.有函数和过程两部分。 49过程:格式:PROCEDURE 过程名(参数1,参数2。) 定义语句 BEGIN顺序语句 END 过程名;结构体的子结构描述50常量仅可被分配一个值,而信号和变量可以赋予一系列的值。信号和变量又有不同,赋予信号的数值要到未来的某个时刻,信号才接受当前的数值,是全局量;而赋予变量的数值,变量立即接受当前的数值,是局部量。VHDL数据类型和属性在VHDL中,保持数据的信号,变量和常量称为目标。每一个
30、目标都有一种数据类型51 目标 : := ;目标种类:信号(SIGNAL)、变量(VARIABLE)和常量 (CONSTANT)。常量定义: CONSTANT 常量名:数据类型:=表达式 CONSTANT DATD1:INTEGER:=15;变量定义: VARIABLE 变量名:数据类型:=初始值 VARIABLE a: INTEGER RANGE 0 TO 5; VARIABLE b: STD_LOGIC;信号定义: SIGNAL 变量名:数据类型:=初始值 SIGNAL a,b: INTEGER 52格式:TYPE IS ;标量类型、复合类型、存储类型和文件类型。标量类型:包括所有的简单类
31、型:如整数、实数、枚举、时间等;复合类型:包括数组(Array)和记录(Record);存储类型:为给定的数据类型的数据对象提供存储方式;文件类型:用于提供多值存储类型;VHDL可用数据类型有四类:53 VHDL的预定义标准数据类型 布尔(BOOLEAN)数据类型TYPE BOOLEAN IS (false, true) ; 位(BIT)数据类型:TYPE BIT IS (0, 1) ; 位矢量(BIT_VECTOR)数据类型:基于BIT类型的数组 字符(CHARACTER)数据类型:如A 整数(INTEGER)数据类型 实数(REAL)数据类型 字符串(STRING)数据类型:如“abc”
32、时间(TIME)数据类型:包括整数和物理量单位54 IEEE的预定义标准逻辑位与矢量标准逻辑位(STD_LOGIC)数据类型标准逻辑矢量( STD_LOGIC_VECTOR )数据类型 其它预定义标准数据类型无符号数据类型(UNSIGNED TYPE)有符号数据类型(SIGNED TYPE )TYPE BIT IS (0, 1) ;TYPE STD_LOGIC IS (U, X 0, 1 Z, W L, H , -) ;U:初始值; X:不定; 0, 1 Z:高阻; W:弱信号不定; L:弱信号0;H:弱信号1;-:不可能55 VHDL的自定义数据类型枚举:TYPE states IS (元素
33、1,元素2,。) ;整数、实数数据类型(电路特殊设计要求) TYPE data IS INTEGER range 0 to 7; 数组数据类型 TYPE data4*8 IS array(integer range 0 to 3) of std_logic_vector (7 downto 0);赋值时:SIGNAL d:data4*8BEGINd(0)=“01010010”; d(1)=“01110010”; d(2)=“01010110”; d(3)=“01011010”;格式:TYPE , IS ;56在结构体说明区(ARCHITECTURE和BEGIN之间)被说明的目标,仅可以在此结构
34、体中引用或在结构体中的任何进程语句中被引用,称此目标为局部信号。 前面已经讨论VHDL描述语言的组成是由程序包、实体、结构体(结构体中有进程)、以及子程序而组成,不同的目标可以在指定的组成部分内加以说明。 如果一个目标在实体说明部分被说明,那么在本实体和本实体内部的任何结构体和任何进程中都可以引用这个目标,称为全局信号。 数据类型的全局化和局部化57VHDL的行为描述 在VHDL硬件描述语言中,描述电路逻辑的程序称为行为描述,行为描述有并行描述、进程描述和顺序描述。 三个行为即可以是相互独立,成为单一的行为描述体,又可以相互联系,成为混合描述体,如进程行为描述行为之间是并行行为,进程行为体的内
35、部是顺序行为。58由 process引导的语句称为进程语句各进程语句之间为并行行为在VHDL中所有合法的顺序描述语句都必须放在进程语句中 在VHDL中,结构体的内部没有规定语句的次序,执行的次序仅由对语句中的敏感信号发生的事件决定,且语句是同时执行。结构体中并行赋值语句的一般格式如下: = ; 每个表达式都至少有一个敏感信号,每当敏感信号改变其值时,就执行这个信号赋值语句。59 在所有的并行语句中,两个以上的并行赋值语句在字面上的顺序并不表明它们的执行顺序。例如下面的两个结构体在功能上是等价的。ENTITY exe IS PORT(a1,a2:IN BIT; b1,b2:OUT BIT);EN
36、D exe;ARCHITECTURE exe_arc1 OF exe ISBEGIN b1 = a1 AND b2; b2 = NOT a1 OR a2;END exe_arc1;a1a2b1b2ARCHITECTURE exe_arc2 OF exe ISBEGIN b2 = NOT a1 OR a2; b1 = a1 AND b2;END exe_arc2;60特殊货物运输车设计(PLC逻辑接口)实验一61控制器面板示意图 62正常操作元件动作顺序开关打到“正常”位置卸货(展开):按“卸货”按钮,自动执行下列操作1)、下平台移出,DT1DT2通电,(相应指示灯亮并报警)行程终点感应开关(J
37、2)闭合,DT10通电减速延时碰挡铁移出停止(DT1DT2DT10断电,相应指示灯灭,报警结束)2)、下平台支腿放下,DT1DT3通电,下平台支腿放下到位终点感应开关J5指示灯亮,支腿放下停止,DT1DT3断电;633)、上平台移出,DT1DT4通电,(相应指示灯亮并报警)行程终点感应开关(J4)闭合,DT11通电减速延时碰挡铁移出停止(DT1DT4DT11断电,相应指示灯灭,报警结束)4)、上平台支腿放下,DT1DT5通电,上平台支腿放下到位终点感应开关(J7)指示灯亮,支腿放下停止,DT1DT5断电;装货(收拢):按“装货”按钮,自动执行下列操作:1)、上平台支腿收回,DT1DT9通电,上
38、平台支腿放下到位终点感应开关(J8)指示灯亮,支腿放下停止,DT1DT9断电;642)、上平台移入,DT1DT8通电,(相应指示灯亮并报警)行程终点感应开关(J3)闭合,DT11通电减速延时碰挡铁移出停止(DT1DT8DT11断电,相应指示灯灭,报警结束) 3)、下平台支腿收回,DT1DT7通电,下平台支腿放下到位终点感应开关J6指示灯亮,支腿放下停止,DT1DT7断电;4)、下平台移入,DT1DT6通电,(相应指示灯亮并报警)行程终点感应开关(J1)闭合,DT10通电减速延时碰挡铁移出停止(DT1DT6DT10断电,相应指示灯灭,报警结束)65液压原理 电路原理图(切换到Protel99SE
39、)EDA原理图(切换到Quartus II d:cpld nTzcpld1)66车辆数字化仪表设计(PC总线接口)图1-2 硬件电路原理框图CPLD EP1K30PC104总线8路报警灯输出12路模拟量输入温度、压力、电源电压、电流(放大)通讯接口RS232C(COM1)CAN总线(COM2)供电电源DC24V输入+5V/5A+12V/3A键盘输入8路(5K上拉电阻对地)3189354闪烁电路4路频率量输入转速、车速、油量4PC10424路开关量输入温度、压力、气滤报警、火警、转向灯、炮位824硬件电路结构67电路原理图(切换到Protel99SE)EDA原理图(切换到Quartus II d
40、:cpld Shziyb2)界面功能图68FPGA/CPLD的开发软件Altera CPLD/FPGA的以前开发软件是MAX PlusII, 该软件是一个完全集成化的可编程逻辑设计环境,其设计输入、处理与校验功能全部集中在统一的开发环境下,它设计输入方式有图形输入、文本输入、波形输入、状态机设计输入,并支持各种HDL设计输入方式,包括VHDL、VerilogHDL、ABEL、AHDL等硬件描述语言。其编译及设计处理写仿真、定时分析、逻辑综合与适配均为Windows图形界面。使设计灵活、方便、高效,它有开放的界面,可与其它工业标准设计输入、综合与校验工具相连接。设计人员可以使用Altera或标准
41、EDA设计输入工具来建立逻辑设计,对器件设计进行编译,并能使用Altera校验工具进行器件仿真。MAX PlusII 软件开发平台69 QuartusII是Altera新开发的EDA软件设计平台,它在一个单一、标准的设计环境里提供一整套综合、优化及验证工具,其功能十分强大,包括设计输入、仿真、布局布线、NiosII嵌入式软核、SOPC Bulider、DSPBulider等。能够对CPLD和FPGA器件的最新系列进行设计。 Quartus II软件开发平台FPGA/CPLD的开发软件70Quartus开发软件结构71Quartus开发软件结构72Quartus开发软件结构73Quartus开发
42、软件特性(1)基于模块的设计方法提高工作效率 Altera Quartus II软件特有的LogicLock模块设计流程允许设计者单独设计、优化和锁定每个模块的性能,即使在大型Sopc设计过程中也能保持各个模块的性能,在FPGA设计过程中引入了团队的设计方法。(2)更快集成IP Quartus的SOPC Builder工具针对SOPC的各种应用自动完成IP核(包括嵌入式处理器、协处理器、外设、存储器和用户设定的逻辑)的添加、参数设置和连接等操作。 74Quartus开发软件特性 使设计人员能够在几分钟内将概念转化成为真正可运作的系统(硬件系统:HDL描述文档和软件开发包工具:C/C+语言编写的
43、接口驱动、库函数和实用程序)。 (3)在设计周期的早期对I/O引脚进行分配和确认。 (4)存储器编译器 用户使用Quartus软件中提供的存储器编译器功能对Altera FPGA中的嵌入式存储器进行轻松管理,Quartus软件的4.0版本增加了针对FIFO和RAM读操作的基于现有设置的波形动态生成功能。 75Quartus开发软件特性 (5)支持CPLD、FPGA和基于Hard Copy的ASIC 允许设计工程师通过专用的FPGA设计软件来进行结构化的ASIC设计,并且能够对设计后的性能和功耗进行准确的计算。 (6)使用全新的命令行和脚本功能自动化设计流程. 提供了易用的工具语言(TCL)界面
44、,允许用户使用该语言来创建和定制设计流程,与第三方软件结合进行无接缝链接满足用户的需求. 76Quartus开发软件特性(7) SignalTap II嵌入式逻辑分析仪 SignalTap II嵌入式逻辑分析仪是非插入式的,可升级,易于操作且对Quartus II用户免费的; 允许设计者利用指针的方式检查内部的信号状态,帮助调试FPGA设计77SOPC Builder开发工具 是Altera公司推出的一种可加快在PLD内实现嵌入式处理器相关设计的系统级工具,其功能与PC应用程序中的“引导摸板”类似,旨在提高设计者的效率。 SOPC Builder提供了强大的系统级开发平台,用于组建一个在模块级
45、和组件级定义的系统。组件库包含: (1)处理器:包括片内处理器和片外处理器接口 (2)IP及外设:通用微控制器外设、通信外设、多种接口(存储器、桥接、ASSP、ASIC),DSP的IP和硬件加速外设 78 其特点:(1):直观的图形用户界面(GUI):表单鼠标拖放、元件池。(2):自动生成和集成软件与硬件 生成每个硬件部件以及连接部件的片内总线结构,仲裁和中断逻辑。可仿真的RIL描述(HDL)和为特定硬件配置设计的测试平台。另外生成C和汇编头文件,这些头文件定义了存储器映射、中断优先级和外设数据结构并且当硬件改变时,SOPC Builder会自动修改相关头文件。(3):开放性: SOPC Bu
46、ilder开放了硬件和软件接口,允许第三方像Altera一样有效地管理SOPC部件,用户可以根据需要将自己设计的部件添加到SOPC Builder库的列表中。 79 其优势:(1):在逻辑容量、存储器和DSP块以及专用 I/O标准上具有灵活性。(2):上市周期快。(3):设计有非重复性工程费用。(4):不需要制作昂贵的设计工具。(5):风险低,用户可以以实际的运行频率在硅片上验证他们的设计。 80Nios嵌入式处理器设计(1)2000年Altera公司推出了第一代Nios处理器(5级流水线技术、16/32位数据通道、50MIPS、16位指令集),它是基于RISC技术的通用嵌入式处理器芯片软内核,它特别为可编程逻辑进行了优化设计,为SOPC设计了一套综合解决方案。2004年6月在Nios基础上推出了新款FPGA系列的Nios嵌入式处理器,采用32位指令集结构(ISA),有三种内核(Nios/f、Nios/e、Nios/s)。 81Nios嵌入式处理器特性82可配置软核嵌入式处理器的优势 (1)合理的性能组合三种内核供选择超过60种sopc builder配备的内核(处理器、外设等)无限的DMA通道组合(可连接到任何外设)可配置的硬件及软件调试特性(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 兰州-PEP-24年小学英语第6单元期中试卷
- 施工单位质量管理体系建设方案
- 物业管理企业财务制度优化
- 2024-2025学年河北省邯郸市高三上学期10月联考物理试题及答案
- 医疗器械供应保障应急预案
- 环境监测不良事件管理制度
- 滇西保山地块金厂河铁铜铅锌多金属矿床电气石地球化学特征
- 综合组工作计划
- 工业机器人倒咖啡工作站实习报告
- 停车场顶棚结构修复方案
- 河南师范大学《解析几何》2021-2022学年第一学期期末试卷
- 2024-2030年听力保护耳塞行业市场现状供需分析及投资评估规划分析研究报告
- 2024年中国智慧养老行业市场现状、发展概况、未来前景分析报告
- 少儿美术课件国家宝藏系列《凤冠》
- 天翼云从业者认证考试题库及答案
- 2024年艾滋病防治知识竞赛考试题库200题(含答案)
- HG-T 2006-2022 热固性和热塑性粉末涂料
- 《简单相信傻傻坚持》课件-高教版中职语文职业模块
- (完整版)链传动习题
- 消防安全教育培训记录表
- 泉州地区街道社区
评论
0/150
提交评论