本章首先介绍EDA技术和硬件描述语言及其发展过程.docx

上传人:牧羊曲112 文档编号:1795423 上传时间:2022-12-19 格式:DOCX 页数:14 大小:149.77KB
返回 下载 相关 举报
本章首先介绍EDA技术和硬件描述语言及其发展过程.docx_第1页
第1页 / 共14页
本章首先介绍EDA技术和硬件描述语言及其发展过程.docx_第2页
第2页 / 共14页
本章首先介绍EDA技术和硬件描述语言及其发展过程.docx_第3页
第3页 / 共14页
本章首先介绍EDA技术和硬件描述语言及其发展过程.docx_第4页
第4页 / 共14页
本章首先介绍EDA技术和硬件描述语言及其发展过程.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《本章首先介绍EDA技术和硬件描述语言及其发展过程.docx》由会员分享,可在线阅读,更多相关《本章首先介绍EDA技术和硬件描述语言及其发展过程.docx(14页珍藏版)》请在三一办公上搜索。

1、概 述 第1章第1章 概 述本章首先介绍EDA技术和硬件描述语言及其发展过程,然后介绍基于EDA技术和VHDL的设计流程,以及EDA设计工具Quartus II。1.1 电子设计自动化技术及其发展微电子技术的进步主要表现在大规模集成电路加工技术即半导体工艺技术的发展上,使得表征半导体工艺水平的线宽已经达到了60nm,并还在不断地缩小,而在硅片单位面积上,集成了更多的晶体管。集成电路设计正在不断地向超大规模、极低功耗和超高速的方向发展,专用集成电路ASIC(Application Specific Integrated Circuit)的设计成本不断降低,在功能上,现代的集成电路已能够实现单片电

2、子系统SOC(System On a Chip)。现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化技术,即EDA(Electronic Design Automation)技术。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现,这是电子设计技术的一个巨大

3、进步。EDA技术在硬件实现方面融合了大规模集成电路制造技术、IC版图设计、ASIC测试和封装、FPGA(Field Programmable Gate Array)/CPLD(Complex Programmable Logic Device)编程下载和自动测试等技术;在计算机辅助工程方面融合了计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)、计算机辅助工程(CAE)技术以及多种计算机语言的设计概念;而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等。因此,EDA技术为现代电子理论和设计的表达与实现提供

4、了可能性。正因为EDA技术丰富的内容以及与电子技术各学科领域的相关性,其发展的历程同大规模集成电路设计技术、计算机辅助工程、可编程逻辑器件,以及电子设计技术和工艺的发展是同步的。就过去近30年的电子技术的发展历程,可大致将EDA技术的发展分为3个阶段。20世纪70年代,在集成电路制作方面,MOS工艺得到广泛的应用;可编程逻辑技术及其器件问世,计算机作为一种运算工具在科研领域得到广泛应用。而在后期,CAD的概念已见雏形,这一阶段人们开始利用计算机取代手工劳动,辅助进行集成电路版图编辑、PCB布局布线等工作。20世纪80年代,集成电路设计进入了CMOS(互补场效应管)时代,复杂可编程逻辑器件进入商

5、业应用,相应的辅助设计软件投入使用;而在80年代末,出现了FPGA;CAE和CAD技术的应用更为广泛,它们在PCB设计方面的原理图输入、自动布局布线及PCB分析,以及逻辑设计、逻辑仿真、布尔方程综合和化简等方面担任了重要的角色。特别是各种硬件描述语言的出现、应用和标准化方面的重大进步,为电子设计自动化必须解决的电路建模、标准文档及仿真测试奠定了基础。进入20世纪90年代,随着硬件描述语言的标准化进一步确立,计算机辅助工程、辅助分析和辅助设计在电子技术领域获得更加广泛的应用。与此同时,电子技术在通信、计算机及家电产品生产中的市场需求和技术需求,极大地推动了全新的电子设计自动化技术的应用和发展,特

6、别是集成电路设计工艺步入了超深亚微米阶段,百万门以上的大规模可编程逻辑器件的陆续面世,以及基于计算机技术的面向用户的低成本大规模ASIC设计技术的应用,促进了EDA技术的形成。更为重要的是各EDA公司致力于推出兼容各种硬件实现方案和支持标准硬件描述语言的EDA工具软件的研究,更有效地将EDA技术推向成熟和实用。EDA技术在进入21世纪后,得到了更大的发展,突出表现在以下几个方面:l 在FPGA上实现DSP(数字信号处理)应用成为可能,用纯数字逻辑进行DSP模块的设计,使得高速DSP实现成为现实,并有力地推动了软件无线电技术的实用化和发展。基于FPGA的DSP技术,为高速数字信号处理算法提供了实

7、现途径。l 嵌入式处理器软核的成熟,使得SOPC(System On a Programmable Chip)步入大规模应用阶段,在一片FPGA上实现一个完备的数字处理系统成为可能。l 在仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断推出。l 电子技术领域全方位融入EDA技术,除了日益成熟的数字技术外,传统的电路系统设计建模理念发生了重大的变化,如软件无线电技术的崛起、模拟电路系统硬件描述语言的表达和设计的标准化、系统可编程模拟器件的出现、数字信号处理和图像处理的全硬件实现方案的普遍接受以及软硬件技术的进一步融合等。l EDA使得电子领域各学科的界限更加模糊,更加互为包容,如模

8、拟与数字、软件与硬件、系统与器件、ASIC与FPGA、行为与结构等。l 基于EDA的用于ASIC设计的标准单元已涵盖大规模电子系统及复杂IP核模块。l 软硬IP(Intellectual Property)核在电子行业的产业领域广泛应用。l SOC高效低成本设计技术的成熟。l 系统级、行为验证级硬件描述语言的出现(如System C),使复杂电子系统的设计和验证趋于简单。1.2 电子设计自动化应用对象一般地说,利用EDA技术进行电子系统设计,最后实现的目标是以下3种:l 全定制或半定制ASIC。l FPGA/CPLD(或称可编程ASIC)开发应用。l PCB(印制电路板)。实现目标的前两项可以

9、归结为专用集成电路ASIC的设计和实现,ASIC是最终的物理平台,集中容纳了用户通过EDA技术将电子应用系统的既定功能和技术指标具体实现的硬件实体。一般而言,专用集成电路就是具有专门用途和特定功能的独立集成电路器件。根据这个定义,作为EDA技术最终实现目标的ASIC,可以通过下面3种途径来完成。1. 超大规模可编程逻辑器件FPGA和CPLD是实现这一途径的主流器件,它们的特点是直接面向用户、具有极大的灵活性和通用性、使用方便、硬件测试和实现快捷、开发效率高、成本低、上市时间短、技术维护简单、工作可靠性好等。FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术以及对自动化设计与自动化实

10、现最典型的诠释。由于FPGA和CPLD的开发工具、开发流程和使用方法与ASIC有相通之处,因此这类器件通常也被称为可编程专用IC,或可编程ASIC。2. 半定制或全定制ASIC根据实现的工艺,基于EDA设计技术的半定制或全定制ASIC可统称为掩模(MASK)ASIC,或直接称ASIC。ASIC大致分为门阵列ASIC、标准单元ASIC和全定制ASIC。l 门阵列ASIC:门阵列芯片包括预定制相连的PMOS和NMOS晶体管行。设计中,用户可以借助EDA工具将原理图或硬件描述语言模型映射为相应门阵列晶体管配置,创建一个指定金属互连路径文件,从而完成门阵列ASIC开发。由于有掩模的创建过程,门阵列有时

11、也称掩模可编程门阵列(MPGA)。但是MPGA与FPGA完全不同,它不是用户可编程的,也不属于可编程逻辑范畴,而是实际的ASIC。MPGA出现在FPGA之前,FPGA技术则源自MPGA。现在,Altera的HardCopy、HardCopyII技术,可以提供一种把FPGA的设计转化为结构化ASIC的途径。l 标准单元ASIC:目前大部分ASIC是使用库中的不同大小的标准单元设计的,这类芯片一般称作基于单元的集成电路(Cell-based Integrated Circuits,CBIC)。在设计者一级,库包括不同复杂程度的逻辑元件,如SSI逻辑块、MSI逻辑块、数据通道模块、存储器、IP以及系

12、统级模块。库还包含每个逻辑单元在硅片级的完整布局,使用者只需利用EDA软件工具与逻辑块描述打交道即可,完全不必关心电路布局的细节。在标准单元布局中,所有扩散、接触点、过孔、多晶通道及金属通道都已完全确定,当该单元用于设计时,通过EDA软件产生的网表文件将单元布局块“粘贴”到芯片布局之上的单元行上。标准单元ASIC设计与FPGA设计开发的流程相似。l 全定制芯片:全定制芯片中,在针对特定工艺建立的设计规则下,设计者对于电路的设计有完全的控制权,如线的间隔和晶体管大小的确定。该领域的一个例外是混合信号设计,使用通信电路的ASIC可以定制设计其模拟部分。3. 混合ASIC混合ASIC(不是指数模混合

13、ASIC)主要指既具有面向用户的FPGA可编程功能和逻辑资源,同时也含有可方便调用和配置的硬件标准单元模块,如CPU、RAM、ROM、硬件加法器、乘法器、锁相环等。Xilinx、Atmel和Altera公司已经推出了这方面的器件,如Virtex-4系列、Excalibur(含ARM核)和Stratix II系列等。混合ASIC为SOC和SOPC的设计实现提供了便捷的途径。1.3 VHDL硬件描述语言HDL是EDA技术的重要组成部分,常见的HDL主要有VHDL、Verilog HDL、ABEL、AHDL、SystemVerilog和SystemC。其中VHDL、Verilog在现在的EDA设计中

14、使用最多,也拥有几乎所有主流EDA工具的支持,而SystemVerilog和SystemC还处于完善过程中。本书将重点介绍VHDL的编程方法和使用技术。VHDL的英文全名是VHSIC(Very High Speed Integrated Circuit)Hardware Description Language,于1983年由美国国防部(DOD)发起创建,由IEEE(The Institute of Electrical and Electronics Engineers)进一步发展,并在1987年作为“IEEE标准1076”发布。从此,VHDL成为硬件描述语言的业界标准之一。自IEEE公布了

15、VHDL的标准版本(IEEE Std 1076)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具支持VHDL。此后,VHDL在电子设计领域得到了广泛应用,并逐步取代了原有的非标准硬件描述语言。VHDL作为一个规范语言和建模语言,随着它的标准化,出现了一些支持该语言的行为仿真器。由于创建VHDL的最初目标是用于标准文档的建立和电路功能模拟,其基本想法是在高层次上描述系统和元件的行为。但到了20世纪90年代初,人们发现,VHDL不仅可以作为系统模拟的建模工具,而且可以作为电路系统的设计工具,可以利用软件工具将VHDL源码自动地转化为文本方式表达的基本逻辑元件连接图,即网表文

16、件。这种方法显然对于电路自动设计是一个极大地推进。很快,电子设计领域出现了第一个软件设计工具,即VHDL逻辑综合器,它可以标准地将VHDL的部分语句描述转化为具体电路实现的网表文件。1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展了VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。现在公布的最新VHDL标准版本是IEEE 1076-2002。VHDL语言具有很强的电路描述和建模能力,能从多个层次对

17、数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化、结构化设计方面,表现了强大的生命力和应用潜力。因此,VHDL在支持各种模式的设计方法,如自顶向下与自底向上或混合方法方面,以及在面对当今许多电子产品生命周期的缩短,需要多次重新设计以融入最新技术、改变工艺等方面都表现出了良好的适应性。用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。1.4 EDA的优势在传统的数

18、字电子系统或IC设计中,手工设计占了较大的比例。一般都是先按电子系统的具体功能要求进行功能划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑简化,写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,最后进行实测与调试。手工设计方法的缺点是:l 复杂电路的设计、调试十分困难。l 由于无法进行硬件系统仿真,如果某一过程存在错误,查找和修改十分不便。l 设计过程中产生大量文档,不易管理。l 对于IC设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差。l 只有在设计出样机或生产出芯片后才能进行实测。相比之下,EDA技术有很大不同:l 用HDL对数字系统进行抽象的行为与功能

19、描述到具体的内部线路结构描述,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的正确性,可以大大降低设计成本,缩短设计周期。l EDA工具之所以能够完成各种自动设计过程,关键是有各类库的支持,如逻辑仿真时的模拟库、逻辑综合时的综合库、版图综合时的版图库、测试综合时的测试库等。这些库都是EDA公司与半导体生产厂商紧密合作、共同开发的。l 某些HDL本身也是文档型的语言(如VHDL),极大地简化了设计文档的管理。l EDA技术中最为瞩目的功能,即最具现代电子设计技术特征的功能是日益强大的逻辑设计仿真测试技术。EDA仿真测试技术只需通过计算机就能对所设计的电子系统从各种不同层次

20、的系统性能特点完成一系列准确的测试与仿真操作,在完成实际系统的安装后,还能对系统上的目标器件进行所谓边界扫描测试、嵌入式逻辑分析仪的应用,这一切都极大地提高了大规模系统电子设计的自动化程度。l 无论传统的应用电子系统设计得如何完美,使用了多么先进的功能器件,都掩盖不了一个无情的事实,即该系统对于设计者来说,没有任何自主知识产权可言,因为系统中的关键性器件往往并非出自设计者之手,这将导致该系统在许多情况下的应用直接受到限制。基于EDA技术的设计则不同,由于用HDL表达的成功的专用功能设计在实现目标方面有很大的可选性,它既可以用不同来源的通用FPGA/CPLD实现,也可以直接以ASIC来实现,设计

21、者拥有完全的自主权,再无受制于人之虞。l 传统的电子设计方法至今没有任何标准规范加以约束,因此设计效率低、系统性能差、开发成本高、市场竞争能力小。EDA技术的设计语言是标准化的,不会由于设计对象的不同而改变;它的开发工具是规范化的,EDA软件平台支持任何标准化的设计语言;它的设计成果是通用性的,IP核具有规范的接口协议;良好的可移植性与可测试性,为系统开发提供了可靠的保证。l 从电子设计方法学来看,EDA技术最大的优势就是能将所有设计环节纳入统一的自顶向下的设计方案中。l EDA不但在整个设计流程上充分利用计算机的自动设计能力、在各个设计层次上利用计算机完成不同内容的仿真模拟,而且在系统板设计

22、结束后仍可利用计算机对硬件系统进行完整的测试。1.5 面向FPGA的开发流程完整地了解利用EDA技术进行设计开发的流程对于正确地选择和使用EDA软件、优化设计项目、提高设计效率十分有益。一个完整的、典型的EDA设计流程既是自顶向下设计方法的具体实施途径,也是EDA工具软件本身的组成结构。1.5.1 设计输入图1-1所示是基于EDA软件的FPGA开发流程框图,下面将分别介绍各设计模块的功能特点。对于目前流行的用于FPGA开发的EDA软件,图1-1所示的设计流程具有普遍性。图1-1 FPGA的EDA开发流程将电路系统以一定的表达方式输入计算机,是在EDA软件平台上对FPGA/CPLD开发的最初步骤

23、。通常,使用EDA工具的设计输入可分为以下两种类型。1. 图形输入图形输入通常包括原理图输入、状态图输入和波形图输入等方法。状态图输入方法就是根据电路的控制条件和不同的转换方式,用绘图的方法在EDA工具的状态图编辑器上绘出状态图,然后由EDA编译器和综合器将此状态变化流程图形编译综合成电路网表。波形图输入方法则是将待设计的电路看成是一个黑盒子,只需告诉EDA工具该黑盒子电路的输入和输出时序波形图,EDA工具即能据此完成黑盒子电路的设计。原理图输入方法是一种类似于传统电子设计方法的原理图编辑输入方式,即在EDA软件的图形编辑界面上绘制能完成特定功能的电路原理图。原理图由逻辑器件(符号)和连接线构

24、成,图中的逻辑器件可以是EDA软件库中预制的功能模块,如与门、非门、或门、触发器以及各种含74系列器件功能的宏功能块,甚至还有一些类似于IP的功能块。2. 硬件描述语言文本输入这种方式与传统的计算机软件语言编辑输入基本一致,就是将使用了某种硬件描述语言(HDL)的电路设计文本,如VHDL或Verilog的源程序,进行编辑输入。1.5.2 综合综合(Synthesis),就其字面含义应该为把抽象的实体结合成单个或统一的实体。因此,综合就是把某些东西结合到一起,把设计抽象层次中的一种表述转化成另一种表述的过程。对于电子设计领域的综合概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于

25、具体实现的模块组合装配而成的过程。事实上,设计过程中的每一步都可称为一个综合环节。设计过程通常从高层次的行为描述开始,以最底层的结构描述结束,每个综合步骤都是上一层次的转换。(1)从自然语言表述转换到VHDL语言算法表述,是自然语言综合。(2)从算法表述转换到寄存器传输级(Register Transport Level,RTL)表述,即从行为域到结构域的综合,是行为综合。(3)从RTL级表述转换到逻辑门(包括触发器)的表述,即逻辑综合。(4)从逻辑门表述转换到版图表述(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。一般地,综合是仅对应于HDL而言的。利用HDL综合

26、器对设计进行综合是十分重要的一步,因为综合过程将把软件设计的HDL描述与硬件结构挂钩,是将软件转化为硬件电路的关键步骤,是文字描述与硬件实现的一座桥梁。综合就是将电路的高级语言(如行为描述)转换成低级的,可与FPGA/CPLD的基本结构相映射的网表文件或程序。当输入的HDL文件在EDA工具中检测无误后,首先面临的是逻辑综合,因此要求HDL源文件中的语句都是可综合的。在综合之后,HDL综合器一般都可以生成一种或多种文件格式网表文件,如EDIF、VHDL、Verilog等标准格式,在这种网表文件中用各自的格式描述电路的结构,如在VHDL网表文件中采用VHDL的语法,用结构描述的风格重新诠释综合后的

27、电路结构。整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。由此可见,综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用某种网表文件的方式对应起来,成为相应的映射关系。如果把综合理解为映射过程,那么显然这种映射不是唯一的,并且综合的优化也不是单纯的或一个方向的。为达到速度、面积、性能的要求,往往需要对综合加以约束,称为综合约束。1.5.3 布线布局(适配)适配器也称结构综合器,它的功能是将由综合器产生的网表文件配置于指

28、定的目标器件中,使之产生最终的下载文件,如JEDEC、Jam格式的文件。适配所选定的目标器件必须属于原综合器指定的目标器件系列。通常,EDA软件中的综合器可由专业的第三方EDA公司提供,而适配器则需由FPGA/CPLD供应商提供,因为适配器的适配对象直接与器件的结构细节相对应。适配器就是将综合后网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、优化、布局布线操作。适配完成后可以利用适配所产生的仿真文件作精确的时序仿真,同时产生可用于编程的文件。1.5.4 仿真在编程下载前必须利用EDA工具对适配生成的结果进行模拟测试,就是所谓的仿真。仿真就是让计算机根据一定的算法

29、和一定的仿真库对EDA设计进行模拟,以验证设计,排除错误。仿真是在EDA设计过程中的重要步骤。图1-1所示的时序与功能门级仿真通常由PLD公司的EDA开发工具直接提供(当然也可以选用第三方的专业仿真工具),它可以完成两种不同级别的仿真测试:(1)时序仿真。就是接近真实器件运行特性的仿真,仿真文件中已包含了器件硬件特性参数,因而仿真精度高。但时序仿真的仿真文件必须来自针对具体器件的适配器。综合后所得的EDIF等网表文件通常作为FPGA适配器的输入文件,产生的仿真网表文件中包含了精确的硬件延迟信息。(2)功能仿真。是直接对VHDL、原理图描述或其他描述形式的逻辑功能进行测试模拟,以了解其实现的功能

30、是否满足原设计要求的过程。仿真过程不涉及任何具体器件的硬件特性。不经历适配阶段,在设计项目编辑编译(或综合)后即可进入门级仿真器进行模拟测试。直接进行功能仿真的好处是设计耗时短,对硬件库、综合器等没有任何要求。1.5.5 下载和硬件测试把适配后生成的下载或配置文件,通过编程器或编程电缆向FPGA或CPLD进行下载,以便进行硬件调试和验证(Hardware Debugging)。通常,将对CPLD的下载称为编程(Program),对FPGA中的SRAM进行直接下载的方式称为配置(Configure),但对于反熔丝结构和Flash结构的FPGA的下载和对FPGA的专用配置ROM的下载仍称为编程。F

31、PGA与CPLD的分类主要是根据其结构特点和工作原理进行。通常的分类方法有以下几种:(1)以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000系列和Lattice(原Vantis)的Mach系列等。(2)以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系 列、Altera的FLEX10K、ACEX1K或Cyclone系列等。当然也有从下载方式上分的。有关FPGA/CPLD下载的详细情况将在第2章中介绍。最后是将含有载入了设计的FPGA或CPLD的硬件系统进行统一测试,以便最

32、终验证设计项目在目标系统上的实际工作情况,以排除错误,改进设计。1.6 Quartus II概述本书给出的所有示例和实验都是基于Quartus II的,其应用方法和设计流程对于其他流行EDA工具的使用具有一定的典型性和普遍性,所以在此对它作一些介绍。QuartusII是Altera提供的FPGA/CPLD开发集成环境,Altera是世界最大的可编程逻辑器件供应商之一。QuartusII在21世纪初推出,是Altera前一代FPGA/CPLD集成开发环境MAX+plus II的更新换代产品,其界面友好,使用便捷。在QuartusII上可以完成1.5节所述的整个流程,它提供了一种与结构无关的设计环

33、境,使设计者能方便地进行设计输入、快速处理和器件编程。Altera的Quartus II 提供了完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并为Altera DSP开发包进行系统模型设计提供了集成综合环境。Quartus II设计工具完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。QuartusII也可以利用第三方的综合工具,如Leonardo Spectrum、Synplify Pro、FPGA CompilerII,并能直接调用这些工具。同样,QuartusII具备仿

34、真功能,同时也支持第三方的仿真工具,如ModelSim。此外,QuartusII与MATLAB和DSP Builder结合,可以进行基于FPGA的DSP系统开发和数字通信模块的开发。QuartusII包括模块化的编译器。编译器包括的功能模块有分析/综合器(Analysis & Synthesis)、适配器(Fitter)、装配器(Assembler)、时序分析器(Timing Analyzer)、设计辅助模块(Design Assistant)、EDA网表文件生成器(EDA Netlist Writer)、编辑数据接口(Compiler Database Interface)等。可以通过选择

35、Start Compilation来运行所有的编译器模块,也可以通过选择Start单独运行各个模块。还可以通过选择 Compiler Tool (Tools 菜单),在 Compiler Tool窗口中运行该模块来启动编译器模块。在 Compiler Tool 窗口中,可以打开该模块的设置文件或报告文件,或打开其他相关窗口。此外,Quartus II还包含许多十分有用的LPM(Library of Parameterized Modules)模块,它们是复杂或高级系统构建的重要组成部分,在SOPC设计中被大量使用,也可与QuartusII普通设计文件一起使用。Altera提供的LPM函数均基于

36、Altera器件的结构做了优化设计。在许多实用情况中,必须使用宏功能模块才可以使用一些Altera特定器件的硬件功能,例如各类片上存储器、DSP模块、LVDS驱动器、PLL以及SERDES和DDIO电路模块等。图1-2所示的上排是Quartus II编译设计主控界面,它显示了Quartus II自动设计的各主要处理环节和设计流程,包括设计输入编辑、设计分析与综合、适配、编程文件汇编(装配)、时序参数提取以及编程下载几个步骤。在图1-2所示下排的流程框图,是与上面的Quartus II设计流程相对照的标准的EDA开发流程。QuartusII编译器支持的硬件描述语言有VHDL(支持VHDL87及V

37、HDL97标准)、Verilog HDL及AHDL(Altera HDL)。QuartusII支持层次化设计,可以在一个新的编辑输入环境中对使用不同输入设计方式完成的模块(元件)进行调用,从而解决了原理图与HDL混合输入设计的问题。在设计输入之后,Quartus II的编译器将给出设计输入的错误报告。可以使用Quartus II带有的RTL Viewer观察综合后的RTL图。图1-2 Quartus II设计流程1.7 IP核IP就是知识产权核或知识产权模块的意思,在EDA技术和开发中具有十分重要的地位。美国著名的Dataquest咨询公司将半导体产业的IP定义为用于ASIC或FPGA/CPL

38、D中的预先设计好的电路功能模块。IP分软IP、固IP和硬IP。软IP是用VHDL等硬件描述语言描述的功能块,但是并不涉及用什么具体电路元件实现这些功能。软IP通常是以硬件描述语言HDL源文件的形式出现,应用开发过程与普通的HDL设计也十分相似,只是所需的开发软硬件环境比较昂贵。软IP的设计周期短,设计投入少。由于不涉及物理实现,为后续设计留有很大的发挥空间,增大了IP的灵活性和适应性。软IP的弱点是在一定程度上使后续工序无法适应整体设计,从而需要一定程度的软IP修正,在性能上也不可能获得全面的优化。固IP是完成了综合的功能块。它有较大的设计深度,以网表文件的形式提交客户使用。如果客户与固IP使

39、用同一个IC生产线的单元库,IP应用的成功率会高得多。硬IP提供设计的最终阶段产品掩模。随着设计深度的提高,后续工序所需要做的事情就越少,当然,灵活性也就越小。不同的客户可以根据自己的需要订购不同的IP产品。由于通信系统越来越复杂,PLD的设计也更加庞大,这增加了市场对IP核的需求。各大FPGA/CPLD厂家继续开发新的商品IP,并且开始提供“硬件”IP,即将一些功能在出厂时就固化在芯片中。实际上,IP的概念早已在IC设计中使用,应该说标准单元库(Standard Cell library)中的功能单元就是IP的一种形式。IC生产厂家(Foundry)为扩大业务,提供精心设计并经过工艺验证的标

40、准单元,以吸引IC设计公司(往往是Fabless,无生产线IC公司)成为其客户,同时向客户免费提供相关的数据资料。于是IC设计师十分乐于使用成熟、优化的单元完成自己的设计,这样既可以提高效率,又可以减少设计风险。设计师一旦以这些数据完成设计,自然也就必须要到这家Foundry去做工艺流片,这就使Foundry达到了扩大营业的目的。标准单元使用者除与Foundry签订“标准单元数据不扩散协议”之外,无须另交单元库的使用费,因此Foundry并没有直接获取IP的收益,只是通过扩大营业间接收到单元库的IP效益,这就是IP的初级形式。今天的IP已远远超出了这个水平,它已经成为IC设计的一项独立技术,成

41、为实现SOC设计的技术支撑以及ASIC设计方法学中的学科分支。从集成规模上说,现在的IP库已经包含诸如8051和ARM、PowerPC等微处理器、TMS 320C50等数字信号处理器、MPEG-II、JPEG等数字信息压缩/解压器在内的大规模IC模块。这些模块都曾经是具有完整功能的IC产品,并曾广泛用来与其他功能器件一起,在PCB上构成系统主板。如今微电子技术已经具有在硅片上实现系统集成的功能,因此这些昔日的IC便以模块“核”(Core)的形式嵌入ASIC之中。从设计来源上说,单纯靠Foundry设计IP模块已远不能满足系统设计师的要求,今天的IP库需要广开设计源头,汇纳优秀模块,不论出自谁家

42、,只要是优化的设计,与同类模块相比达到芯片面积更小、运行速度更快、功率消耗更低、工艺容差更大,就自然会有人愿意花钱使用这个模块的“版权”,因此也就可以纳入IP库,成为IP的一员。目前,尽管对IP还没有统一的定义,但IP的实际内涵已有了明确的界定:首先,它必须是为了易于重用而按嵌入式应用专门设计的。即使是已经被广泛使用的产品,在决定作为IP之前,一般来说也须要再做设计,使其更易于在系统中嵌入。比较典型的例子是嵌入式RAM,由于嵌入后已经不存在引线压点(PAD)的限制,所以在分立电路中不得不采取的措施,诸如数据线输入输出复用、地址数据线分时复用、数据串并转换以及行列等分译码等,在嵌入式RAM中将被

43、去除,不仅节省了芯片面积,而且大幅提高了读写速度。其次是必须实现IP模块的优化设计。优化的目标通常可用“四最”来表达,即芯片的面积最小、运算速度最快、功率消耗最低、工艺容差最大。所谓工艺容差大是指所做的设计可以经受更大的工艺波动,是提高加工成品率的重要保障。这样的优化目标是普通的自动化设计过程难以达到的,但是对于IP却又必须达到,因为IP必须能经受得起成千上万次的使用。显然,IP的每一点优化都将产生千百倍甚至更大的倍增效益。因此基于晶体管级的IP设计便成为完成IP设计的重要途径。再次,就是要符合IP标准。这与其他IC产品一样,IP进入流通领域后,也需要有标准。于是在1996年以后,RAIPD(

44、Reusable Application-specific Intellectual-property Developers)、VSIA(Virtual Socket Interface Alliance)等组织相继成立,协调并制订IP重用所需的参数、文档、检验方式等形式化的标准,以及IP标准接口、片内总线等技术性的协议标准。虽然这些工作已经开展了多年,也制订了一些标准,但至今仍有大量问题有待解决,例如,不同嵌入式处理器协议的统一、不同IP片内结构的统一等问题。我国在IP设计方面尚处于起步阶段,但与IP的应用需求形成明显的不一致,这为我国未来的IP设计工程师提供了广阔的天地。1.8 EDA技术

45、的发展趋势随着市场需求的增长,集成工艺水平及计算机自动设计技术的不断提高,促使单片系统,或称系统集成芯片成为IC设计的发展方向,这一发展趋势表现在如下几个方面:l 超大规模集成电路的集成度和工艺水平不断提高,深亚微米(Deep-Submicron)工艺,如0.13m、90nm已经走向成熟,在一个芯片上完成的系统级的集成已成为可能。l 由于工艺线宽的不断减小,在半导体材料上的许多寄生效应已经不能简单地被忽略,这就对EDA工具提出了更高的要求。同时,也使得IC生产线的投资更为巨大。可编程逻辑器件开始进入传统的ASIC市场。l 市场对电子产品提出了更高的要求,如必须降低电子系统的成本,减小系统的体积

46、等,从而对系统的集成度不断提出更高的要求。同时,设计的效率也成了一个产品能否成功的关键因素,促使EDA工具和IP核应用更为广泛。l 高性能的EDA工具得到长足的发展,其自动化和智能化程度不断提高,为嵌入式系统设计提供了功能强大的开发环境。l 计算机硬件平台性能大幅度提高,为复杂的SOC设计提供了物理基础。但现有的HDL语言只是提供行为级或功能级的描述,尚无法完成对复杂的系统级的抽象描述。人们正尝试开发一种新的系统级设计语言来完成这一工作,现在已开发出更趋于电路行为级的硬件描述语言(如SystemC)SystemVerilog及系统级混合仿真工具,可以在同一个开发平台上完成高级语言,如C/C+等

47、,与标准HDL语言(Verilog HDL、VHDL)或其他更低层次描述模块的混合仿真。虽然用户用高级语言编写的模块尚不能自动转化成HDL描述,但作为一种针对特定应用领域的开发工具,软件供应商已经为常用的功能模块提供了丰富的宏单元库支持,可以方便地构建应用系统,并通过仿真加以优化,最后自动产生HDL代码,进入下一阶段的ASIC实现。此外,随着系统开发对EDA技术的目标器件各种性能要求的提高,ASIC和FPGA将更大程度地相互融合。这是因为虽然标准逻辑ASIC芯片尺寸小、功能强大、耗电小,但设计复杂,并且有批量生产要求;可编程逻辑器件开发费用低廉,能在现场进行编程,但却体积大、功能有限,而且功耗

48、较大。因此,FPGA和ASIC正在汇合到一起,互相融合,取长补短。由于一些ASIC制造商提供具有可编程逻辑的标准单元,可编程器件制造商重新对标准逻辑单元发生兴趣,而有些公司采取两头并进的方法,从而使市场开始发生变化,在FPGA和ASIC之间正在诞生一种“杂交”产品,以满足成本和上市速度的要求。例如将可编程逻辑器件嵌入标准单元。尽管将标准单元核与可编程器件集成在一起并不意味着使ASIC更加便宜,或使FPGA更加省电。但是,可使设计人员将二者的优点结合在一起,通过去掉FPGA的一些功能,可减少成本和开发时间并增加灵活性。当然,现今也在进行将ASIC嵌入可编程逻辑单元的工作。目前,许多PLD公司开始为ASIC提供FPGA内核。PLD厂商与ASIC制造商结盟,为SOC设计提供嵌入式FPGA模块,使未来的ASIC供应商有机会更快地进入市场,利用嵌入式内核获得更长的市场生命期。例如在实际应用中使用所谓可编程系统级集成电路(FPSLIC),即将嵌入式FPGA内核与RISC微控制器组合在一起形成新的IC,广泛用于电信、网络、仪器仪表和汽车中的低功耗应用系统中。当然,也有PLD厂商,不把CPU的硬核直接嵌入在FPGA中,使用了软IP核,并称之为SOPC(可编程片上系统),也可以完成复杂电子系统的设计,只是代价将相应提高。在新一代的ASIC器件中留有FP

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号