EDA技术与Verilog设计电子课件教案-_可编程逻辑器件概述

上传人:e****s 文档编号:243352469 上传时间:2024-09-21 格式:PPT 页数:59 大小:1.71MB
返回 下载 相关 举报
EDA技术与Verilog设计电子课件教案-_可编程逻辑器件概述_第1页
第1页 / 共59页
EDA技术与Verilog设计电子课件教案-_可编程逻辑器件概述_第2页
第2页 / 共59页
EDA技术与Verilog设计电子课件教案-_可编程逻辑器件概述_第3页
第3页 / 共59页
点击查看更多>>
资源描述
,第二级,第三级,第四级,第五级,第1章 概述,第二级,第三级,第四级,第五级,第1章 概述,第二级,第三级,第四级,第五级,第1章 概述,第1章 可编程逻辑器件概述,1.1 EDA,和PLD,发展概况,1.2 可编程逻辑器件,的基本结构,1.3 可编程逻辑器件的设计,1.1 EDA技术的发展概况,1.1.1 EDA,的概念和发展历史,EDA (Electronic Design Automation),电子设计自动化,就是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。,EDA,技术发展的三个阶段,20,世纪,70,年代,MOS,工艺,CAD,阶段,20,世纪,80,年代,CMOS,时代,CAE阶段,20,世纪,90,年代,ASIC,设计技术,EDA,阶段,CAD(Computer Aided Design),计算机辅助设计,CAE(Computer Aided Engineering),计算机辅助工程设计,MOS (Metal-Oxide Semiconductor) 金属氧化物半导体,CMOS,(Comlementary Metal-Oxide Semiconductor) 互补型,ASIC(,Application Specific Integrated Circuit,) 专用集成电路,EDA,技术在进入,21,世纪后,得到了更大的发展,:,电子设计成果 自主知识产权,仿真和设计 EDA软件不断推出,电子技术全方位纳入EDA领域 传统设计建模理念发生重大变化,EDA使得电子领域各学科的界限更加模糊 更加互为包容,更大规模的FPGA和CPLD器件的不断推出,EDA工具 ASIC设计 涵盖大规模电子系统及复杂IP核模块,软硬件IP核在电子行业广泛应用 IPIntellectual Property,SoC高效低成本设计技术的成熟,硬件描述语言出现(如System C) 设计和验证趋于简单,PROM (Programmable Read Only Memory),PLA (Programmable Logic Array),PAL (Programmable Array Logic),GAL (Generic Array Logic),EPLD,CPLD,FPGA,1.1.2 PLD的发展概况,可编程逻辑器件的分类,:,1.2 可编程逻辑器件的基本结构,1.2.1 简单PLD的基本结构,简单PLD包括PROM、 PLA、 PAL和GAL。 其结构特点是由与阵列和或阵列组成, 能有效地实现“积之和”形式的布尔逻辑函数, 与或阵列在硅片上也非常容易实现。与或表达式是布尔代数的常用表达式形式, 根据布尔代数的知识, 所有的逻辑函数均可以用与或表达式描述。,简单PLD的基本结构框图如图,所示:,电路符号表示,:,常用逻辑门符号与现有国标符号的对照,PLD,的互补缓冲器,PLD,的互补输入,PLD,中与阵列表示,K,X,康芯科技,PLD,中或阵列的表示,阵列线连接表示,四种简单PLD电路的结构特点,CPLD,的结构与工作原理,EPLD和CPLD是从PAL、 GAL基础上发展起来的高密度PLD器件, 它们大多采用CMOS、 EPROM、,E,2,PROM和快闪存储器(Flash Memory)等编程技术, 因而具有高密度、 高速度和低功耗等特点。,目前主要的半导体器件公司(如Xilinx、 Altera、 Lattice和AMD等公司)在各自的高密度PLD产品中都有着自己的特点, 但总体结构大致相同。 大多数EPLD和CPLD器件中至少包含了三种结构: 可编程逻辑宏单元, 可编程I/O单元和可编程内部连线。,Altera公司的MAX7000A系列器件是高密度高性能的EPLD, 其基本结构如图1.10所示, 包括逻辑阵列块(LAB)、 宏单元、 扩展乘积项(共享和并联)、 可编程连线阵列(PIA)和I/O控制块等五部分。,CPLD,的结构与工作原理,MAX7128S,的结构,1,逻辑阵列块,(LAB),CPLD,的结构与工作原理,2,宏单元,MAX7000,系列中的宏单元,逻辑,与,阵列,乘积项选择矩阵,可编程寄存器,三种时钟输入模式,全局时钟信号,全局时钟信号由高电平有效的时钟信号使能,用乘积项实现一个阵列时钟,CPLD,的结构与工作原理,共享扩展乘积项结构,3,扩展乘积项,CPLD,的结构与工作原理,3,扩展乘积项,并联扩展项馈送方式,CPLD,的结构与工作原理,4,可编程连线阵列,(PIA),PIA,信号布线到,LAB,的方式,CPLD,的结构与工作原理,5,I/O,控制块,EPM7128S,器件的,I/O,控制块,1.2.3 FPGA的基本结构,FPGA的发展非常迅速, 形成了各种不同的结构。 按逻辑功能块的大小分类, FPGA可分为细粒度FPGA和粗粒度FPGA。 细粒度FPGA的逻辑功能块较小, 资源可以充分利用, 但连线和开关多, 速度慢; 粗粒度FPGA的逻辑功能块规模大, 功能强, 但资源不能充分利用。从逻辑功能块的结构上分类,,可分为查找表结构、 多路开关结构和多级与非门结构。,查找表逻辑结构,FPGA,查找表单元,FPGA,查找表单元内部结构,根据FPGA内部连线的结构不同, 可分为分段互连型FPGA和连续互连型FPGA两类。 分段互连型FPGA中具有多种不同长度的金属线, 各金属线段之间通过开关矩阵或反熔丝编程连接, 走线灵活方便, 但走线延时无法预测; 连续互连型FPGA是利用相同长度的金属线, 连接与距离远近无关, 布线延时是固定的和可预测的。,根据编程方式, FPGA可分为一次编程型和可重复编程型两类。 一次编程型采用反熔丝开关元件, 具有体积小、 集成度高、 互连线特性阻抗低、 寄生电容小和高速度的特点, 此外还具有加密位、 防拷贝、 抗辐射、 抗干扰、 不需外接PROM或EPROM的特点, 但只能一次编程, 比较适合于定型产品及大批量应用, Actel公司和Quicklogic公司提供此类产品。可重复编程型FPGA采用SRAM开关元件或快闪EPROM控制的开关元件, 配置数据存储在SRAM或快闪EPROM中。,SRAM型FPGA的突出优点是可反复编程, 系统上电时, 给FPGA加载不同的配置数据就可完成不同的硬件功能, 甚至在系统运行中改变配置, 实现系统功能的动态重构。 快闪EPROM型FPGA具有非易失性和可重复编程的双重优点, 但不能动态重构, 功耗也较SRAM型高。 目前FPGA的主流仍然是Xilinx公司的产品, 下面就以Xilinx公司的FPGA为例, 分析其结构特点。FPGA一般由三种可编程电路和一个用于存放编程数据的SRAM组成, 这三种可编程电路是:,可编程逻辑块CLB(Configurable Logic Block)、 输入输出模块IOB(I/O Block)和互连资源IR(Interconnect Resource),,其基本结构如,下图,所示。,FPGA的基本结构,1. 可编程逻辑块CLB,CLB是FPGA的主要组成部分, 是实现逻辑功能的基本单元。 XC4000系列的CLB基本结构框图如图所示, 它主要由逻辑函数发生器、 触发器、 数据选择器等电路组成。,XC4000的CLB基本结构,2. 输入输出模块IOB,IOB提供了器件引脚和内部逻辑阵列之间的连接, 通常排列在芯片的四周。 其结构如图所示, 主要由输入触发器、 输入缓冲器、 输出触发锁存器和输出缓冲器组成。 每个IOB控制一个引脚, 可被配置为输入、 输出或双向I/O功能。,XC4000的IOB基本结构,3. 可编程互连资源IR,可编程互连资源包括各种长度的金属连线线段和一些可编程连接开关, 它们将各个CLB之间和CLB与IOB之间互相连接起来, 构成各种复杂功能的系统。 XC4000系列采用分段互连资源, 片内连线按相对长度分单长度线、 双长度线和长线三种。,单长度线和双长度线结构如图所示。 单长度线是贯穿CLB之间的八条垂直和水平金属线段, 在这些金属线段的交叉点处是可编程开关矩阵PSM。 CLB的输入输出分别接至相邻的单长度线与开关矩阵相连, 通过编程可将某个CLB与其它CLB或IOB连在一起。 双长度线是四条垂直和水平金属线, 其长度为单长度金属线的两倍, 要穿过两个CLB之后, 这些金属线段才与PSM相连。 因此, 利用双长度线可使两个相间(非相邻)的CLB连接在一起。,XC4000的单长度线和双长度线结构,可编程开关矩阵PSM的结构如图所示。 每个连线点上有6个选通晶体管, 进入开关矩阵的信号, 可与任何方向的单、 双长度线互连。,XC4000的PSM结构,长线连接结构如图所示。 由长线网构成的金属网络, 布满了阵列的全部长和宽, 这些长线不经过可编程开关矩阵, 信号延时小, 长线用于高扇出以及关键信号的传输。 每条长线中间有可编程分离开关, 使长线分成两条独立的连线通路, 每条连线只有阵列的宽度或高度的一半。 CLB输入可以由邻近的任一长线驱动, 输出可以通过三态缓冲器驱动长线。 单长度线和长线之间的连接由位于线交叉处的可编程互连点所控制, 双长度线不与其它线相连。,XC4000的长线连接结构,1.3 可编程逻辑器件的设计,1.3.1 基本设计方法,1. 传统的系统硬件电路设计方法,在EDA出现以前, 人们采用传统的硬件电路设计方法来设计系统。 传统的硬件电路采用自下而上(Bottom Up)的设计方法。 其主要步骤是: 根据系统对硬件的要求, 详细编制技术规格书, 并画出系统控制流图;,然后根据技术规格书和系统控制流图, 对系统的功能进行分化, 合理地划分功能模块, 并画出系统功能框图; 接着就是进行各功能模块的细化和电路设计; 各功能模块电路设计调试完毕以后, 将各功能模块的硬件电路连接起来, 再进行系统的调试; 最后完成整个系统的硬件电路设计。 如一个系统中, 其中一个功能模块是一个十进制计数器, 设计的第一步是选择逻辑元器件, 由数字电路的知识可知, 可以用与非门、 或非门、 D触发器、 JK触发器等基本逻辑元器件来构成一个计数器。,设计人员根据电路尽可能简单, 价格合理, 购买和使用方便及各自的习惯来选择元器件。 第二步是进行电路设计, 画出状态转移图, 写出触发器的真值表, 按逻辑函数将元器件连接起来, 这样计数器模块就设计完成了。 系统的其它模块也照此方法进行设计, 在所有硬件模块设计完成后, 再将各模块连接起来进行调试, 如有问题则进行局部修改, 直至系统调试完毕。,从上述过程可以看到, 系统硬件的设计是从选择具体逻辑元器件开始的, 并用这些元器件进行逻辑电路设计, 完成系统各独立功能模块设计, 然后再将各功能模块连接起来, 完成整个系统的硬件设计。 上述过程从最底层设计开始, 到最高层设计完毕, 故将这种设计方法称为自下而上的设计方法。,传统自下而上的硬件电路设计方法主要特征如下:, 采用通用的逻辑元器件。 设计者根据需要, 选择市场上能买得到的元器件, 如54/74系列, 来构成所需要的逻辑电路。 随着微处理器的出现, 系统的部分硬件电路功能可以用软件来实现, 在很大程度上简化了系统硬件电路的设计。 但是, 选择通用的元器件来构成系统硬件电路的方法并未改变。, 在系统硬件设计的后期进行仿真和调试。 系统硬件设计好以后才能进行仿真和调试, 进行仿真和调试的仪器一般为系统仿真器、 逻辑分析仪和示波器等。 由于系统设计时存在的问题只有在后期才能较容易发现, 一旦考虑不周, 系统设计存在缺陷, 那就得重新设计系统, 使得设计费用和周期大大增加。, 主要设计文件是电原理图。 在设计调试完毕后, 形成的硬件设计文件主要是由若干张电原理图构成的。 在电原理图中详细标注了各逻辑元器件的名称和相互间的信号连接关系。,该文件是用户使用和维护系统的依据。 如果是小系统, 这种电原理图只要几十张、 几百张就行了, 但是, 如果系统很复杂, 那么就可能需要几千张、 几万张甚至几十万张。 如此多的电原理图给归档、 阅读、 修改和使用都带来了极大的不便。,传统的自下而上的硬件电路设计方法已经沿用了几十年, 随着计算机技术、 大规模集成电路技术的发展, 这种设计方法已落后于当今技术的发展。 一种崭新的自上而下的设计方法已经兴起, 它为硬件电路设计带来一次重大的变革。,2. 新兴的EDA硬件电路设计方法,20世纪80年代初, 在硬件电路设计中开始采用计算机辅助设计技术(CAD), 开始仅仅是利用计算机软件来实现印刷板的布线, 以后慢慢地才实现了插件板级规模的电子电路的设计和仿真。,在我国所使用的工具中, 最有代表性的设计工具是Tango和早期的ORCAD。 它们的出现, 使得电子电路设计和印刷板布线工艺实现了自动化, 但还只能算自下而上的设计方法。 随着大规模专用集成电路的开发和研制, 为了提高开发的效率和增加已有开发成果的可继承性, 以及缩短开发时间, 各种新兴的EDA工具开始出现, 特别是硬件描述语言HDL(Hardware Description Language)的出现,,使得传统的硬件电路设计方法发生了巨大的变革, 新兴的EDA设计方法采用了自上而下(Top Down)的设计方法。 所谓自上而下的设计方法, 就是从系统总体要求出发, 自上而下地逐步将设计内容细化, 最后完成系统硬件的整体设计。,各公司的EDA工具基本上都支持两种标准的HDL, 分别是VHDL和Verilog HDL。 利用HDL语言对系统硬件电路的自上而下设计一般分为三个层次, 如图所示。,自上而下设计系统硬件的过程,规划设计,行为级描述,行为级仿真,RTL,级描述,RTL,级仿真,逻辑综合优化,门级仿真、定时检查,输出门级网表,第一层次为行为描述, 它是对整个系统的数学模型的描述。 一般来说, 对系统进行行为描述的目的是试图在系统设计的初始阶段, 通过对系统行为描述的仿真来发现系统设计中存在的问题。 在行为描述阶段, 并不真正考虑其实际的操作和算法用什么方法来实现, 考虑更多的是系统的结构及其工作过程是否能达到系统设计规格书的要求, 其设计与器件工艺无关。,第二层是寄存器传输描述RTL (RTL-Resistor Transistor Logic又称数据流描述) 。用第一层次行为描述的系统结构程序是很难直接映射到具体逻辑元件结构的, 要想得到硬件的具体实现, 必须将行为方式描述的HDL程序, 针对某一特定的逻辑综合工具, 采用RTL方式描述, 然后导出系统的逻辑表达式, 再用仿真工具对RTL方式描述的程序进行仿真。 如果仿真通过, 就可以利用逻辑综合工具进行综合了。,第三层是逻辑综合。 利用逻辑综合工具, 可将RTL方式描述的程序转换成用基本逻辑元件表示的文件(门级网络表), 也可将综合结果以逻辑原理图方式输出, 也就是说逻辑综合结果相当于在人工设计硬件电路时, 根据系统要求画出了系统的逻辑电原理图。 此后再对逻辑综合结果在门电路级上进行仿真, 并检查定时关系, 如果一切正常, 那么系统的硬件设计基本结束, 如果在某一层上仿真发现问题, 就应返回上一层, 寻找和修改相应的错误, 然后再向下继续未完的工作。,由逻辑综合工具产生门级网络表后, 在最终完成硬件设计时, 还可以有两种选择: 一种是由自动布线程序将网络表转换成相应的ASIC芯片的制造工艺, 定制ASIC芯片; 第二种是将网络表转换成相应的PLD编程码点, 利用PLD完成硬件电路的设计。 EDA自上而下的设计方法具有以下主要特点。,具有以下主要特点。,1) 电路设计更趋合理,硬件设计人员在设计硬件电路时使用PLD器件, 就可自行设计所需的专用功能模块, 而无需受通用元器件的限制, 从而使电路设计更趋合理, 其体积和功耗也可大为缩小。,2) 采用系统早期仿真,在自上而下的设计过程中, 每级都进行仿真, 从而可以在系统设计早期发现设计存在的问题, 这样就可以大大缩短系统的设计周期, 降低费用。,3) 降低了硬件电路设计难度,在使用传统的硬件电路设计方法时, 往往要求设计人员设计电路前应写出该电路的逻辑表达式和真值表(或时序电路的状态表), 然后进行化简等, 这一工作是相当困难和繁杂的,特别是在设计复杂系统时, 工作量大也易出错, 如采用HDL语言, 就可免除编写逻辑表达式或真值表的过程, 使设计难度大幅度下降, 从而也缩短了设计周期。,4) 主要设计文件是用HDL语言编写的源程序,在传统的硬件电路设计中, 最后形成的主要文件是电原理图, 而采用HDL语言设计系统硬件电路时, 主要的设计文件是用HDL语言编写的源程序。 如果需要, 也可以将HDL语言编写的源程序转换成电原理图形式输出。,用HDL语言的源程序作为归档文件有很多好处: 一是资料量小, 便于保存; 二是可继承性好,当设计其它硬件电路时, 可以使用文件中的某些库、 进程和过程程序; 三是阅读方便,阅读程序很容易看出某一硬件电路的工作原理和逻辑关系, 而阅读电原理图, 推知其工作原理需要较多的硬件知识和经验, 而且看起来也不那么一目了然。,1.3.2 设计流程,可编程逻辑器件的设计是指利用EDA开发软件和编程工具对器件进行开发的过程。 高密度复杂可编程逻辑器件的设计流程如图所示, 它包括设计准备, 设计输入, 功能仿真, 设计处理, 时序仿真和器件编程及测试等七个步骤。,可编程逻辑器件设计流程,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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