3.5 微电子系统设计
微电子系统中最具代表性的设计是微处理器的设计。微处理器就是把计算机的中央处理元用大规模集成电路工艺制造在一块硅片上。这种芯片可以按程序工作以实现一系列复杂功能,处理各种信息。如果说微电子技术有过一场革命的话,那么这场革命的主要特征就小小的硅片微处理器。因为它可以安装在任何设备内,起控制、存储、计算等作用。它的现把庞大的计算机体积降低了一千万倍,甚至更高,而速度却提高了几千万倍。它的出现微型计算机迅速进入家庭,使信息技术爆炸并渗透到人类社会的每一个领域。
微电子系统设计随着技术的不断进步而发生了很大变化,尤其是系统集成概念的出现,致了新的设计理念。20世纪70年代出现了第一代集成电路设计自动化系统,即计算机辅设计CAD系统,该系统使设计人员摆脱了繁复、易出错误的手工画图,大大提高了效率;0世纪80年代出现了第二代设计自动化系统,称为计算机辅助工程CAE系统,这个比较完的系统大大减轻了版图设计的工作量;进入20世纪90年代,芯片的复杂度越来越高,采硬件描述语言HDL的设计方法应运而生,于是出现了第三代设计自动化系统EDA,其特是高层次设计的自动化。它引入了硬件描述语言和行为综合与逻辑综合工具,采用层次化法进行管理,大大提高了处理复杂设计的能力,与此同时,芯片的面积、速度、功耗都获极大的优化,设计所花费时间大大缩短,因而EDA系统迅速得到推广及应用。
3.5.1 设计方法分类
根据不同的设计要求,微电子系统的设计方法可归为以下几种。
1.全定制设计方法
全定制设计方法有时也称全用户设计方法,这种设计方法完全是用户根据所选定的生产工艺按自己的要求独立地进行集成电路产品设计。它适用于要求得到最高速度、最低功耗和最省面积的芯片设计。该方法的缺点是版图设计通常需要人来不断完善,以便器件及连接安排得最紧凑,因而特别花费时间。
2.半定制设计方法
半定制的含义在于对一批芯片作“单独处理”,即单独设计和制作接触孔和连线以完成电路的要求。这样可使从设计到芯片完成的整个周期大大缩短,因而设计和制造成本大大下降。这种设计方法制造的芯片利用率一般较低,面积较大。它适用于要求设计成本低、设计周期短而生产批量小的情况。门阵列方法属于此类。
3.可编程逻辑器件(PLD)法
可编程逻辑器件(ProgrammableLogicDevice,PLD)是作为一种通用集成电路生产的,它的逻辑功能按照用户对器件编程来定。一般的PLD集成度很高,足以满足设计一般数字系统的需要。这样就可以由设计人员自行编程把一个数字系统“集成”在一片PLD上,而不需要芯片制造厂商设计和制作专用的集成电路芯片。其特点是“可编程”,往往由制造商提供通用器件,而由设计者根据需要进行“再加工”实现其特定的逻辑。可编程只读存储器(PROM)、可编程逻辑阵列(FPLA)、可编程阵列逻辑(PAL)、通用阵列逻辑(GAL)都属于此类。
4.硅编译法
硅编译法是一种全自动的设计方法,利用这种方法可从集成电路的行为级描述直接得到该电路的掩膜版图。硅编译器是一种软件程序,它能将输入的电路设计资料经过编译变为硅片上实现所需的各种数据、输出掩膜版。以硅编译器为基础的超大规模集成电路(Very LargeScale Integrated Circuites,VLSI)设计为系统设计人员提供了一种真正的设计自动化工具。
5.混合模式设计方法
随着VLSI复杂性的增加,在整个芯片中只利用一种设计方法已被认为是不经济的,因而提出了混合模式,即把不同的设计方法加以优化并组合而构成一体。
3.5.2 门阵列
门阵列是在硅片上以矩阵的方式排列逻辑门电路并预先制成集成电路的半成品,常称为母片,存放在工厂里。当用户提出需求时,经过简单设计并完成金属连接加工,便可成为商品出货。门阵列已有系列化产品出现,规模可达数万门,十几万门的门阵列也已研制成功。门阵列现有CMOS、nMOS、TTL和BiCMOS等不同工艺。
门阵列设计的优点是设计自动化程度较高,设计周期短,设计成本低。因为母片已完成了整个集成电路制造工艺的大部分流程。当用户提交了逻辑图之后,只要进行基本单元内部线和基本单元之间的互连就可以了,因此把这种器件称为半用户器件或半定制器件。门阵设计的缺点是布图密度低,并且品种有限,为了使所有单元间的连线都能布通,势必造成片面积利用率的下降。
3.5.3 可编程阵列逻辑(PAL)
可编程阵列逻辑(ProgrammableArrayLogic,PAL)是20世纪70年代后期MMI公司推出的可编程逻辑器件。PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输出可以通过触发器有选择地被置为寄存状态。PAL原意是PLD的一种结构。PAL器件是现场可编程的,它的实现工艺有反熔丝技术、EPROM技术和E2PROM技术。
在PAL器件中,与门阵列是可编程的,或门阵列是固定连接的,它有多种输出和反馈结构,为数字逻辑设计带来了一定的灵活性。但PAL仍采用熔断丝工艺,一次性编程后就不能再改写。另外,还要根据不同的需要选择不同的输出器件,给用户带来诸多不便。
3.5.4 通用阵列逻辑(GAL)
通用阵列逻辑(GenericArrayLogic,GAL)是1985年由美国LATTICE公司开发并商品的一种新型PLD器件。它是在PAL器件的基础上综合了E2PROM和CMOS技术发展起来一种新型技术,和PAL一样,它的与门阵列是可编程的,或门阵列是固定的。但GAL采了E2CMOS工艺,实现了电可擦除、电可改写,使得该器件的编程非常方便。另外,由于输出采用了逻辑宏单元结构,使得电路的逻辑设计更加灵活。
3.5.5 现场可编程门阵列(FPGA)
现场可编程门阵列(FieldProgrammableGateArray,FPGA)是在通用阵列逻辑GAL、编程阵列逻辑PAL、可编程逻辑器件PLD等可编程器件的基础上进一步发展的产物。利用PGA,工程师可以通过用原理图与硬件描述语言设计相结合的层次化方法设计一个数字系。通过软件仿真,可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA的在修改能力,随时修改设计而不必改动硬件电路。使用FPGA开发数字电路,可以大大缩短计时间,减少PCB面积,提高系统的可靠性。
FPGA具有体系结构和逻辑单元灵活、集成度高及适用范围宽等特点。FPGA可达到1000万个可用门,片内可集成处理器、DDR控制器、以太网控制器、Flash控制器、UART控制器及硬件乘法器,甚至DSP等资源。同时FPGA还兼容了PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与门阵列等其他设计方法相比,它又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无须测试、质量稳定,以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产之中。目前FPGA向着高性能、高密,逐步成为复杂数字硬件电路设度、低压和低功耗的方向发展,被称为“SmallerwithMore”计的理想首选。可以说,几乎所有应用门阵列、PLD和中小规模通用数字集成电路的场合均可应用FPGA。
3.5.6 专用集成电路(ASIC)
大规模集成电路技术的发展与成熟,促使它向着科学技术的其他领域进行渗透。大量生产并标准化的通用集成电路一般不能满足所有用户的要求,于是,与CPU、ROM、RAM、A/D和D/A变换器等通用集成电路概念相对应的专用集成电路(ASIC)技术应运而生。专用集成电路技术的应用,使得电子产品的速度提高、成本降低、体积缩小、保密性增强。
所谓专用集成电路(ApplicationSpecificIntergratedCircuits,ASIC),是泛指面向专门用途或特定用户而专门设计制造的集成电路。集成电路技术和计算机辅助设计CAD技术的发展促成了专用集成电路的出现。尽管在集成电路发展的初期就已着手探索以阵列方式排布门电路或改变母片上的互连引线来获得不同功能的集成电路产品,但是,直到20世纪80年代初期,集成电路技术和CAD技术日趋成熟时,ASIC产品才开始步入市场。几乎所有有专门用途而又不属于标准逻辑电路或通用存储器及通用微处理器的新开发的产品都可以称为ASIC。现代ASIC常包含整个32-bit处理器,类似于ROM、RAM、E2PROM、Flash的存储单元和其他模块,这样的ASIC常被称为SoC。
ASIC既可以采用全定制方法来实现,也可以采用半定制方法来实现。全定制能使ASIC芯片的运行速度比半定制的更快。全定制设计需要设计者完成所有电路的设计,因此需要大量人力、物力,灵活性好但开发效率低下。半定制使用库里的标准逻辑单元(StandardCell),设计时可以从标准逻辑单元库中选择SSI(门电路)、MSI(如加法器、比较器等)、数据通路(如ALU、存储器、总线等)、存储器甚至系统级模块(如乘法器、微控制器等)和IP核,这些逻辑单元已经布局完毕,而且设计得较为可靠,设计者可以较方便地完成系统设计。目前用CPLD(复杂可编程逻辑器件)和FPGA(现场可编程逻辑阵列)来进行ASIC设计是最为流行的方式之一。
3.5.7 片上系统(SoC)设计
SoC(System on Chip)称为片上系统,也有的称为系统级芯片,它是一个有专用目标的集成电路,其中包含完整的系统并有嵌入软件的全部内容。
从20世纪90年代至今,设计能力正在发生一次质的飞跃,IC即由ASIC设计方法向SoC设计方法转变。SoC由可设计重用的IP核组成,所以IP核是SoC片上系统的核心部分,但多数公司和研究机构没有能力开发自己的IP核处理器,业界比较流行的做法是购买微处理器的IP核,如ARM核或MIPS核。
IP核是具有知识产权(IntellectualProperty)的集成电路芯核的简称,其作用是把一组拥有知识产权的电路设计集合在一起,构成芯片的基本单位,以供系统设计之用。它是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导用体工艺中去生产集成电路芯片。核有两种,VHDL等硬件描述语言描述的功能块称为软IP核;具有特定电路功能的集成电路版图称为硬核。其实可以把IP核理解为一颗ASIC,以前是ASIC做好以后在PCB上使用,现在是IP核做好以后以便集成在更大的芯片里。
利用IP核设计电子系统,引用方便,修改基本元件的功能容易。IP核具有复杂功能和商业价值,故而具有知识产权,尽管IP核的市场活动还不规范,但是仍有许多集成电路设计公司从事IP核的设计、开发和营销工作。IP核是ARM公司的核心业务,目前全球有103家巨型IT公司在采用ARM技术,20家最大的半导体厂商中有19家是ARM的用户,包括得州仪器、意法半导体、Philips和Intel等。
SoC设计包括三种主要技术:软/硬件协同设计技术、设计重用技术、与底层相结合的高层设计技术。三者相辅相成、相互促进。软/硬件协同设计通常是从一个给定的系统任务开始的,通过有效地分析系统任务和所需要的资源,采用一系列的变换方法并且遵循特定的准则,自动生成符合系统功能要求的、符合实现代价约束的硬件和软件框架。这种全新的软/硬件协同设计思想需要解决许多问题:系统级建模、系统级描述语言、软硬件划分、性能评估、协调综合、协同仿真和协同验证。设计重用技术主要是指基于IP核的设计重用技术、测试技术及验证技术。软硬件协同设计技术常与设计重用技术交织在一起,成为目前SoC系统级设计的主要部分。而与底层相结合的高层设计技术是在现阶段由于制造工艺不断进步、进入纳米级环境的前提下,提出的一种能有效解决高层综合和物理设计不匹配而导致设计不收敛问题的新技术。
目前,在学术界和工业界比较认可的SoC系统级设计方法学从性质上基本可分为三大阵:自顶向下、自底向上、上下结合或中间相遇。从具体的表现形式和实现方式来说,这三阵营分别由以下三个研究团体提出的相关方法和技术支撑,即美国加州大学Irvine分校嵌式系统研究小组的基于SpecC的逐层细化求精设计方法、法国TIMA实验室系统级综合小的基于组件的多处理器核SoC设计方法、美国加州大学Berkeley分校CAD研究小组的基平台的设计方法。