PLD技术概述.doc
《PLD技术概述.doc》由会员分享,可在线阅读,更多相关《PLD技术概述.doc(12页珍藏版)》请在三一办公上搜索。
1、第1章 PLD技术概述本章将介绍PLD发展简史、PLD设计流程、硬件描述语言和常用EDA工具。1.1 PLD发展简史当今社会是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路本身在不断地进行更新换代,它由早期的电子管、晶体管、小中规模集成电路,发展到超大规模集成电路(VLSI)以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路ASIC(Application Specific IC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且能立即
2、投入实际应用之中。因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。早期的可编程逻辑器件只有可编程只读存储器(PROM)、紫外线可擦除只读存储器(EPROM)和电可擦除只读存储器(EEPROM)3种。由于结构的限制,它们只能完成简单的数字逻辑功能。其后,出现了一类结构上稍复杂的可编程芯片,即可编程逻辑器件(PLD),它能够完成各种数字逻辑功能。典型的PLD由一个“与”门和一个“或”门阵列组成,而任意一个组合逻辑都可以用“与-或”表达式来描述,所以, PLD能以乘积之和的形式完成大量的组合逻辑功能。这一阶段的产品主要有PA
3、L(可编程阵列逻辑)和GAL(通用阵列逻辑)。 PAL由一个可编程的与阵列和一个固定的或阵列构成,或门的输出可以通过触发器有选择地被置为寄存状态。PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和EEPROM技术。还有一类结构更为灵活的逻辑器件是可编程逻辑阵列(PLA),它也由一个与阵列和一个或阵列构成,但是这两个阵列的连接关系都是可编程的。PLA器件既有现场可编程的,也有掩膜可编程的。在PAL的基础上,又发展了一种通用阵列逻辑GAL(Generic Array Logic),如GAL16V8、GAL22V10 等。它采用EEPROM工艺,实现了电可擦除、电可改写,其输出结构
4、是可编程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人在使用。这些早期PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简单的结构也使它们只能实现规模较小的电路。为了弥补这一缺陷,20世纪80年代中期,Altera公司和Xilinx公司分别推出了类似于PAL结构的扩展型CPLD(Complex Programmab1e Logic Device)和与标准门阵列类似的FPGA(Field Programmable Gate Array),它们都具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。这两种器件兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程
5、也很灵活。与门阵列等其他ASIC相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无须测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产之中。几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA和CPLD器件。FPGA(现场可编程门阵列)和CPLD(复杂可编程逻辑器件)都是可编程逻辑器件,它们是在PAL、GAL等逻辑器件的基础之上发展起来的。同以往的PAL、GAL等相比较,FPGA/CPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。这样的FPGA/CPLD实际上就是一个子系统部件。这种芯片受到世界范围内电子工程设
6、计人员的广泛关注和普遍欢迎。经过了十几年的发展,许多公司都开发出了多种可编程逻辑器件。比较典型的就是Xilinx公司的FPGA器件系列和Altera公司的CPLD器件系列,它们开发较早,占用了较大的PLD市场。通常来说,在欧洲用Xilinx的人多,在日本和亚太地区用Altera的人多,在美国则是平分秋色。全球60%以上的FPGA/CPLD产品是由Altera和Xilinx提供的。可以说Altera和Xilinx共同决定了PLD技术的发展方向。当然还有许多其他类型器件,如Lattice、Vantis、Actel、Quicklogic、Lucent等。目前,PLD工艺已经达到65纳米数量级,正向4
7、5纳米迈进。2005年Altera公司生产可编程逻辑芯片的集成度达5亿只晶体管。原来需要成千上万只电子元器件组成的电子设备电路,现在以单片超大规模集成电路即可实现,为SOC技术和SOPC的发展开拓了可实施的空间。SOC称为片上系统,它是指将一个完整产品的功能集成在一个芯片上或芯片组上。SOC中可以包括微处理器CPU、数字信号处理器DSP、存储器(ROM、RAM、Flash等)、总线和总线控制器、外围设备接口等,还可以包括数模混合电路(放大器、比较器、A/D和D/A转换器、锁相环等),甚至延拓到传感器、微机电和微光电单元。SOC是专用集成电路系统,其设计周期长,设计成本高,SOC的设计技术难以被
8、中小企业、研究所和大专院校采用。为了让SOC技术得以推广,Altera公司于21世纪初推出SOPC新技术和新概念。SOPC称为可编程片上系统,它是基于可编程逻辑器件PLD(FPGA或CPLD)可重构的SOC。SOPC集成了硬核或软核CPU、DSP、锁相环(PLL)、存储器、I/O接口及可编程逻辑,可以灵活高效地解决SOC方案,且设计周期短、设计成本低,一般只需要一台配有SOPC开发软件的PC机和一台SOPC试验开发系统(或开发板),就可以进行SOPC的设计与开发。目前,SOPC技术已成为备受众多中小企业、研究所和大专院校青睐的设计技术。1.2 PLD设计流程PLD设计的大部分工作是在EDA软件
9、工作平台上进行的,PLD设计流程如图1.1所示。EDA设计流程包括设计准备、设计输入、设计处理和器件编程4个步骤,以及相应的功能仿真、时序仿真和器件测试3个设计验证过程。图1.1 PLD设计流程1.2.1 设计准备设计准备是指设计者在进行设计之前,依据任务要求,确定系统所要完成的功能及复杂程度,器件资源的利用、成本等所要做的准备工作,如进行方案论证、系统设计和器件选择等。1.2.2 设计输入设计输入是指将PLD设计的系统或电路按照EDA开发软件要求的某种形式表示出来,并送入计算机的过程。设计输入有多种方式,包括采用硬件描述语言(如AHDL、VHDL和Verilog HDL等)进行设计的文本输入
10、方式、图形输入方式和波形输入方式,或者采用文本、图形两者混合的设计输入方式。也可以采用自顶向下(Top-Down)的层次结构设计方法,将多个输入文件合并成一个设计文件等。1. 图形输入方式图形输入也称为原理图输入,这是一种最直接的设计输入方式,它使用软件系统提供的元器件库及各种符号和连线画出设计电路的原理图,形成图形输入文件。这种方式大多用在对系统及各部分电路很熟悉的情况下,或在系统对时间特性要求较高的场合。优点是容易实现仿真,便于信号的观察和电路的调整。2. 文本输入方式文本输入是指采用硬件描述语言进行电路设计的方式。硬件描述语言有普通硬件描述语言和行为描述语言,它们用文本方式描述设计和输入
11、。普通硬件描述语言有AHDL、CUPL等,它们支持逻辑方程、真值表、状态机等逻辑表达方式。行为描述语言是目前常用的高层硬件描述语言,包括VHDL、Verilog HDL等,它们具有很强的逻辑描述和仿真功能,可实现与工艺无关的编程与设计,可以使设计者在系统设计、逻辑验证阶段便确立方案的可行性,而且输入效率高,在不同的设计输入库之间转换也非常方便。运用VHDL或Verilog HDL硬件描述语言进行设计已是当前的趋势。3. 波形输入方式波形输入主要用于建立和编辑波形设计文件以及输入仿真向量和功能测试向量。波形设计输入适用于时序逻辑和有重复性的逻辑函数,系统软件可以根据用户定义的输入/输出波形自动生
12、成逻辑关系。波形编辑功能还允许设计者对波形进行复制、剪切、粘贴、重复与伸展,从而可以用内部节点、触发器和状态机建立设计文件,并将波形进行组合,显示各种进制的状态值。还可以通过将一组波形重叠到另一组波形上,对两组仿真结果进行比较。1.2.3 设计处理设计处理是PLD设计中的核心环节。在设计处理阶段,编译软件将对设计输入文件进行逻辑化简、综合和优化,并适当地用一片或多片器件自动地进行适配,最后产生编程用的编程文件。设计处理主要包括设计编译和检查、逻辑优化和综合、适配和分割、布局和布线、生成编程数据文件等过程。1. 设计编译和检查设计输入完成之后,将立即进行编译。在编译过程中首先进行语法检验,如检查
13、原理图的信号线有无漏接,信号有无双重来源,文本输入文件中关键词有无错误等各种语法错误,并及时标出错误的位置信息报告,供设计者修改。然后进行设计规则检验,检查总的设计有无超出器件资源或规定的限制并将编译报告列出,指明违反规则和潜在不可靠电路的情况以供设计者纠正。2. 逻辑优化和综合逻辑优化主要包括面积优化和时间优化。面积优化的目的是使设计所占用的PLD中的逻辑元件(Logic Elements,简称LE或LEs)数最少。时间优化是指设计电路的输入信号经过最短的路径到达输出,使传输延迟时间最小。综合的目的是将多个模块化设计文件合并为一个网表文件,并使层次设计平面化(即展平)。3. 适配和分割在适配
14、和分割过程,确定优化以后的逻辑能否与下载目标器件CPLD或FPGA中的宏单元和I/O单元适配,然后将设计分割为多个便于适配的逻辑小块形式映射到器件相应的宏单元中。如果整个设计不能装入一片器件时,可以将整个设计自动分割成多块并装入同一系列的多片器件中去。分割工作可以全部自动实现,也可以部分由用户控制,还可以全部由用户控制进行。分割时应使所需器件数目和用于器件之间通信的引脚数目尽可能少。4. 布局和布线布局和布线工作是在设计检验通过以后由软件自动完成的,它能以最优的方式对逻辑元件布局,并准确地实现元件间的布线互连。布局和布线完成后,软件会自动生成布线报告,提供有关设计中各部分资源的使用情况等信息。
15、5. 生成编程数据文件设计处理的最后一步是产生可供器件编程使用的数据文件。对CPLD来说,是产生熔丝图文件,即JEDEC文件(电子器件工程联合会制定的标准格式,简称JED文件);对于FPGA来说,是生成位流数据文件BG(Bit-stream Generation)。1.2.4 设计校验设计校验过程包括功能仿真和时序仿真,这两项工作是在设计处理过程中同时进行的。功能仿真是在设计输入完成之后,选择具体器件进行编译之前进行的逻辑功能验证,因此又称为前仿真。此时的仿真没有延时信息或者有由系统添加的微小标准延时,这对于初步的功能检测非常方便。仿真前,要先利用波形编辑器或硬件描述语言等建立波形文件或测试向
16、量(即将所关心的输入信号组合成序列),仿真结果将会生成报告文件和输出信号波形,从中便可以观察到各个节点的信号变化。若发现错误,则返回设计输入中修改逻辑 设计。时序仿真是在选择了具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为后仿真或延时仿真。由于不同器件的内部延时不一样,不同的布局、布线方案也给延时造成不同的影响,因此在设计处理以后,对系统和各模块进行时序仿真、分析其时序关系、估计设计的性能以及检查和消除竞争冒险等是非常有必要的。1.2.5 器件编程编程是指将设计处理中产生的编程数据文件通过软件放到具体的可编程逻辑器件中去。对CPLD器件来说是将JED文件下载(Down Load)到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PLD 技术 概述
链接地址:https://www.31ppt.com/p-2386487.html