资源描述
第2章EDA设计流程及其工具,第2章EDA设计流程及其工具,本章首先介绍FPGA/CPLD开发和ASIC设计的流程,然后分别介绍与这些设计流程中各环节密切相关的EDA工具软件,最后就MAX+plusII的基本情况和EDA重用模块IP作一简述。,FPGA/CPLD编程下载,2.1FPGACPLD设计流程,FPGA/CPLD的EDA设计流程:,原理图/VHDL文本编辑,综合,FPGA/CPLD适配,FPGA/CPLD器件和电路系统,时序与功能门级仿真,1、功能仿真2、时序仿真,逻辑综合器,结构综合器,1、isp方式下载2、JTAG方式下载3、针对SRAM结构的配置4、OTP器件编程,功能仿真,图2-1应用于FPGA/CPLD的EDA开发流程,DRAM,DynamicRandomAccessMemory动态随机存取存储器,需要不断的刷新,才能保存数据。而且是行列地址复用的,许多都有页模式。SRAM,StaticRandomAccessMemory静态的随机存取存储器,加电情况下,不需要刷新,数据不会丢失,而且,一般不是行列地址复用的。是一种类型的半导体存储器。“静态”是指只要不掉电,存储在SRAM中的数据就不会丢失。SDRAM,SynchronousDynamicRandomAccessMemory同步的DRAM,即数据的读写需要时钟来同步。,DRAM、SRAM、SDRAM比较:,2.1.1设计输入(原理图HDL文本编辑),1.图形输入,图形输入,原理图输入,状态图输入,波形图输入,1.设计者不需要增加新的相关知识,如HDL等。2.与用PROTEL方法相似,形象直观,适于教学演示。3.对于较小的设计,结构与实际电路相近,易于布局。4.易于控制逻辑资源的耗用,节省面积。,图形输入优点:,图形输入缺点:,1.没有标准化,不同软件的设计规则、存档格式和编辑方式不同,兼容性差。2.对于大规模的设计,易读性差,错误排查困难,整体调整和结构升级困难。3.由于兼容性差,性能优秀的电路模块难以移植和再利用。4.设计直接面对硬件模块,行为模块的建立无从谈起,无法实现自顶向下的设计方案。,2.HDL文本输入,2.1.1设计输入(原理图HDL文本编辑),这种方式与传统的计算机软件语言编辑输入基本一致。就是将使用了某种硬件描述语言(HDL)的电路设计文本,如VHDL或Verilog的源程序,进行编辑输入。可以说,应用HDL的文本输入方法克服了原理图输入法存在的所有弊端,为EDA技术的应用和发展打开了一个广阔的天地。,2.1.2综合,即依据给定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。由此可见,综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用某种网表文件的方式对应起来,成为相应互的映射关系。,综合就是将电路的高级语言(如行为描述)转换成低级的,可与FPGA/CPLD的基本结构相映射的网表文件或程序。,2.1.3适配,适配器也称结构综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如JEDEC、Jam格式的文件。适配所选定的目标器件(FPGA/CPLD芯片)必须属于原综合器指定的目标器件系列。,逻辑综合通过后必须利用适配器将综合后网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、逻辑布局布线操作。适配完成后可以利用适配所产生的仿真文件作精确的时序仿真,同时产生可用于编程的文件。,2.1.4时序仿真与功能仿真,时序仿真,功能仿真,就是接近真实器件运行特性的仿真,仿真文件中己包含了器件硬件特性参数,因而,仿真精度高。,是直接对VHDL、原理图描述或其他描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求的过程,仿真过程不涉及任何具体器件的硬件特性。,2.1.5编程下载,通常,将对CPLD的下载称为编程(Program),对FPGA中的SRAM进行直接下载的方式称为配置(Configure),但对于OTPFPGA的下载和对FPGA的专用配置ROM的下载仍称为编程。FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理。通常的分类方法是:将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。,2.1.6硬件测试,最后是将含有载入了设计的FPGA或CPLD的硬件系统进行统一测试,以便最终验证设计项目在目标系统上的实际工作情况,以排除错误,改进设计。,2.2ASIC及其设计流程,ASIC(ApplicationSpecificIntegratedCircuits,专用集成电路)是相对于通用集成电路而言的,ASIC主要指用于某一专门用途的集成电路器件。ASIC分类大致可分为数字ASIC、模拟ASIC和数模混合ASIC。,图2-2ASIC分类,通用集成电路:运算放大集成电路,功率放大集成电路,电源集成电路.,2.2.1ASIC设计方法,按版图结构及制造方法分,有半定制(Semi-custom)和全定制(Full-custom)两种实现方法。,ASIC设计方法,全定制法,半定制法,门阵列法,标准单元法,可编程逻辑器件法,全定制方法是一种基于晶体管级的,手工设计版图的制造方法。缺点:要考虑晶体管的尺寸、位置、互联线等细节,并进行布局布线。人工工作量大,周期长且容易出错。优点:面积利用率高,性能较好,功率较低,有利于降低设计成本,提高芯片集成度和速度,及降低功耗。适合于中小规模集成电路设计模拟集成电路等。,半定制法:是一种约束性设计方式,约束的目的是简化设计,缩短设计周期,降低设计成本,提高设计正确率。可分为:门阵列法、标准单元法、可编程逻辑器件法。1.门阵列法:最早的一种ASIC设计方法,又称母片法。2.标准单元法:必须先建立完善的版图单元库,库中包括电路元件和电路模块的标准单元,这些标准单元的逻辑功能和电性能已经过分析和验证。缺点:库的更新太繁琐。3.可编程逻辑器件法:是用可编程逻辑器件根据用户需要制定的数字电路系统。是前两种方法的延伸发展。硬件资源和连线资源由厂家制定,可方便地通过编程下载进行重新配置。,2.2.2一般ASIC设计的流程,系统规格说明,系统划分,逻辑设计与综合,综合后仿真,芯片测试,版图设计,版图验证,参数提取与后仿真,制版、流片,2.3常用EDA工具,本节主要介绍当今广泛使用的以开发FPGA和CPLD为主的EDA工具,及部分关于ASIC设计的EDA工具。EDA工具大致可以分为如下5个模块:,设计输入编辑器,仿真器,HDL综合器,适配器(或布局布线器),下载器,2.3常用EDA工具,2.3.1设计输入编辑器(前面已介绍),2.3.2HDL综合器,性能良好的FPGA/CPLD设计的HDL综合器有如下三种:Synopsys公司的FPGACompiler、FPGAExpress综合器。Synplicity公司的SynplifyPro综合器。Mentor子公司ExemplarLogic的LeonardoSpectrum综合器。,综合器的使用也有两种模式:图形模式和命令行模式(Shell模式)。,2.3常用EDA工具,2.3.3仿真器,按处理的硬件描述语言类型分,HDL仿真器可分为:(1)VHDL仿真器。(2)Verilog仿真器。(3)MixedHDL仿真器(混合HDL仿真器,同时处理Verilog与VHDL)。(4)其他HDL仿真器(针对其他HDL语言的仿真)。,按仿真的电路描述级别的不同,HDL仿真器可以单独或综合完成以下各仿真步骤:(1)系统级仿真。(2)行为级仿真。(3)RTL级仿真。(4)门级时序仿真。,2.3常用EDA工具,2.3.4适配器(布局布线器),2.3.5下载器(编程器),适配器的任务是完成目标系统在器件上的布局布线。适配,即结构综合通常都由可编程逻辑器件的厂商提供的专门针对器件开发的软件来完成。这些软件可以单独或嵌入在厂商的针对自己产品的集成EDA开发环境中存在。,把设计下载到对应的实际器件,实现硬件设计。,EDA工具软件,1、ALTERA:MAX+PLUSII、QUARTUSII,2、LATTICE:ispEXPERTSYSTEM、ispSynarioispDesignExpertSYSTEMispCOMPILER、PAC-DESIGNER,3、XILINX:FOUNDATION、ISE,4、FPGACompiler、FPGAExpress、Synplify、LeonardoSpectrum.,EDA公司:CADENCE、EXEMPLAR、MENTORGRAPHICS、OrCAD、SYNOPSYS、SYNPLICITY、VIEWLOGIC、.,2.4MAX+plusII概述,图形或HDL编辑器,MAX+plusII设计流程,编译网表提取数据库建立逻辑综合逻辑分割适配,延时网表提取编程文件汇编,编程器,设计输入,综合或编辑,适配器件,下载,仿真,MAX+plusII的启动界面:,2.4MAX+plusII概述,MAX+plusII的原理图编辑器,注意此处目录及名称,MAX+plusII的HDL文本编辑器,MAX+plusII的波形编辑器,2.5IP核,IP(IntellectualProperty)就是知识产权核或知识产权模块的意思,在EDA技术和开发中具有十分重要的地位。,IP核,软IP,固IP,硬IP,软IP:用VHDL硬件描述语言描述的功能块,通常以HDL源文件的形式出现。固IP:是完成综合的功能块。以网标文件的形式提交客户使用。硬IP:提供设计的最终阶段产品:掩膜。设计深度提高,但可修改性越小。不同的用户按需要选择订购不同的IP产品。,习题二,习题2-1叙述EDA的FPGA/CPLD设计流程。习题2-2IP是什么?IP与EDA技术的关系是什么?习题2-3叙述ASIC的设计方法。习题2-4FPGA/CPLD在ASIC设计中有什么用处?习题2-5简述在基于FPGA/CPLD的EDA设计流程所涉及的EDA工具,及其在整个流程中的作用。,
展开阅读全文