打印

ASIC 设计技术及其发展研究(转)

[复制链接]
1983|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yun888|  楼主 | 2010-8-26 09:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ASIC 设计技术及其发展研究(转)
摘要:对ASIC 设计的工作流程和相关工具软件进行了简要介绍,并概括了ASIC 设计的
发展过程和较新趋势,以促进大家对芯片设计领域的认识和了解。
1、引言
(1)ASIC 设计的分类
ASIC 设计主要有全定制(full custom)设计方法和半定制(semi- custom)设计方法。半定制设计又可分为门阵列设计、标准单元设计、可编程逻辑设计等等。全定制方法是完全由设计师根据工艺,以尽可能高的速度和尽可能小的面积以及完全满意的封装、独立地进行芯片设计。这种方法虽然灵活性高,而且可以达到最优的设计性能,但是需要花费大量的时间与人力来进行人工的布局布线,而且一旦需要修改内部设计,将不得不影响到其它部分的布局。所以,它的设计成本相对较高,适合于大批量的ASIC 芯片设计,如存储芯片的设计等等。相比之下,半定制方法是一种基于库元件的约束性设计。约束的主要目的是简化设计、缩短设计周期,并提高芯片的成品率。它更多地利用了EDA 系统来完成布局布线等工作,可以大大地减少设计工程师的工作量,因此它比较适合于小规模设计生产和实验。与传统的电路设计方法相比,ASIC 设计具有如下优点:①用ASIC 来设计和改造电子产品可以大幅度地减小印刷电路板的面积和接插件,降低装配和调试费用,从而降低产品的综合成本。②提高产品的可靠性。
采用ASIC 后,可以大幅度减少焊点和接插件数目,系统的可靠性可以大幅度提高。③提高产品的保
密程度和竞争能力,维护设计者IP 权力。④降低电子产品的功耗。由于ASIC 内部电路尺寸很小,互连线短、分布电容小,驱动电路的功耗可以大大降低;另外由于芯片内部受外界干扰很小,可以使用比较低的工作电压以降低功耗。⑤提高电子产品的工作速度。ASIC 芯片内部很短的互连线能大大缩短延迟时间,且芯片内部不易受外界干扰,对提高系统运行速度非常有利。⑥大大减小电子产品的体积重量。
(2)ASIC 设计与FPGA
我们知道,FPGA 开发流程大致为:选定器件,安装软件,设计输入,代码调试(包括管脚定义、时
序定义、时序分析),设计仿真(功能仿真、时序仿真)和下载调试。而ASIC 是为某个客户定制的芯片,与FPGA 相比,有非通用的后端设计费、制掩模费、测试费等,故前期成本较高。在ASIC 设计过程中,往往要用到FPGA 进行原型验证。FPGA 验证是进行ASIC 设计的重要环节,其后,还需要引入ASIC 版本源码,插入IO PAD,DFT,功耗估计和进行其它后端流程。完成FPGA 验证可以说就完成了ASIC 整套流程的50~80%。
在过去的二十年间,ASIC 与FPGA 一直是电子设计的主流技术。在相当长的一段时间内,二者不同
的技术特征造就了它们应用于不同的市场:ASIC 被用于大批量的专用产品,以尽可能摊薄设计与制造成本,实现良好的性价比;FPGA 虽单价较高,但由于其可编程的灵活性受小批量应用的青睐,很多时候还被用于ASIC 设计中的原型验证。然而在最近的几年中,原有的平衡逐渐被打破。随着半导体制造技术的进步,硅器件的单位面积制造成本迅速降低,FPGA 厂商不断采用新工艺使得FPGA 的价格不断下降;相反随着设计复杂性的增加,ASIC 的非重复性工程(NRE)费用、最少订购数量以及开发工具套件的费用都在上涨,加之面市时间的压力,对产品设计的快捷性和灵活性提出更高的要求,因此FPGA 表现出强于ASIC 的发展势头,这特别反映在新开工设计项目对设计方法的选择上。但是原有FPGA 架构相对于ASIC的固有弱点,如功耗高、速度慢、资源冗余,价格偏贵等,使FPGA 在面对复杂功能设计的要求时还是会感到吃力,因此人们开始考虑通过技术上的融合在ASIC 与FPGA 之间寻找一条"中间道路",它们在某些方面有慢慢靠拢的趋势。
根据Zeidman Consulting 公司的比较结论,在经济萧条时期,由于价格是市场的主要驱动力,产品的批量小,小型企业倾向于利用FPGA,大型企业倾向于使用ASIC,或者将FPGA 转换为ASIC。在经济起飞时期,价格因素的作用减少,所有的企业将大量利用FPGA,只有对较大批量和极低价格的产品的特殊要求下才使用ASIC。FPGA 最本质的特性是可编程性和设计周期短的优势,而这正是ASIC 的弱点。两者在价格上的比较要考虑多种因素,但趋势是向有利于FPGA 的方面发展。因为深亚微米工艺的掩模费用更加昂贵,因此NRE 费用急剧上升。一般的ASIC 在0.25μm 工艺线的NRE 费用为10 万美元左右,在0.13μm 时要在100 万美元左右。原因是增大的晶圆和减小的芯片,厂家要求增加订购批量。ASlC 的设计周期越来越长,而FPGA 的设计周期仍然很短,设计者不必担心深亚微米的影响。因此有人认为,ASIC 不久会萎缩到较小的市场份额。随着ASIC 向深亚微米工艺发展,掩模的复杂度提高,逼迫低瑞的ASIC 必须在FPGA 方面找出自己的出路。
(3)ASIC 设计与DSP
从历史角度讲,以前的DSP 名词是指一种信号处理技术,一直到1980 年初推出DSP 芯片,DSP 才逐步成为一种全新高速处理器的名称。最初的DSP 处理能力有限,主要应用于数据通信和语音处理领域,其后DSP 应用逐步扩展到各种电子产品中,诸如硬盘驱动器、通用调制解调器、无线通信终端等等。随着技术的飞速发展,1990 年中DSP 在数字GSM 手机应用和无线基站应用中获得了巨大的成功。目前DSP 开始全面拓展到各种应用领域,在宽带通信、数字控制、数字音频、数字视频等市场上开始占居主角。
很少有嵌入式应用是完全用可编程逻辑器件来实现的。串行化的步进式算法最好是由CPU 或DSP 用
软件来实现。最佳的硬件加速性能大多是由并行执行的功能来完成,其物理形式通常是将硬件协处理器(FPGA) 与CPU 紧密的结合在一起,CPU 与FPGA 的紧密结合可以提供软硬件的最佳连接方式。在这种结构中,CPU 通常运行系统应用方面的程序,实时很强的任务放到FPGA 等硬件上,这样可以减轻处理器的负荷,从而获得更大的带宽。我们还可以通过把算法的软件实现移植到硬件上来克服速度瓶颈。但因此我们又将面临一个问题:设计者必须使用硬件描述语言编写FPGA 代码,而这些功能原本是用C 语言在处理器或DSP 中实现的,如何实现硬件描述语言与C 语言的相互转换和融合,是二者之间的障碍和挑战。目前的发展趋势就是"软件硬件化"、"硬件软件化"。前者如TCP/IP 协议等,已有人进行硬件实现的尝试,后者如"软件无线电",就是用可配置软件来实现各种硬件模块的功能。
目前嵌入式的DSP 硬核比较常见,但嵌入式DSP 硬核往往不能完成一个完整的DSP 功能,它可以实
现乘法、乘加和乘累加运算。软核可以实现相同功能,两者区别主要在于性能,如Stratix DSP 硬核可以达到300MHz 左右的时钟频率,而软核一般很难超过150MHz。
2、ASIC 设计流程
主流ASIC 设计大体可分为三个阶段:系统开发阶段,RTL 设计阶段和门级验证阶段。其具体流程可
细分如下:
1. Design entry:Using a hardware description language (HDL) or schematic entry.
2. Logic synthesis:Produces a netlist-logic cells and their connections.
3. System partitioning: Divide a large system into ASIC-sized pieces.
4. Prelayout simulation:Check to see if the design functions correctly.
5. Floorplanning:Arrange the blocks of the netlist on the chip.
6. Placement:Decide the locations of cells in a block.
7. Routing:Make the connections between cells and blocks.
8. Extraction:Determine the resistance and capacitance of the interconnect.
9. Postlayout simulation: Check to see the design still works with the added loads of the interconnect.
在系统开发阶段,主要完成:①项目策划:形成项目任务书(项目进度,周期管理等)。具体流程为:
市场需求--调研--可行性研究--论证--决策--任务书。②总体设计:确定设计对象和目标,进一步明确芯片功能、内外部性能要求、参数指标,论证各种可行方案,选择最佳方式等。具体流程为:需求分析--系统方案--系统设计--系统仿真。③详细设计和可测性设计:分功能确定各个模块算法的实现结构,确定设计所需的资源。按芯片的要求、速度、功耗、带宽、增益、噪声、负载能力、工作温度等和时间、成本、效益要求,选择加工厂家,确定实现方式,如全定制、半定制、FPGA 等;可测性设计在总体设计阶段就要开始考虑,确定芯片的测试方案和方法。总体设计在整个设计中,约占设计时间的30%。在RTL 设计阶段即源码设计阶段,主要完成:①设计输入:完成设计的行为或结构描述。可以采用图形输入、文本输入、状态机输入等方式。②代码调试:对设计输入的文件进行代码调试和语法检查。③功能仿真:对代码进行功能验证,保证源码能完成预想的功能。④综合:把设计转换成标准逻辑单元,保证设计源码的可综合性。以上阶段一般统称为前端设计。
在门级验证阶段,主要完成:①逻辑综合(synthesis):逻辑综合是面向给定的设计约束,将高级的设计描述翻译和优化到厂家库中的门级网表的自动化过程。②静态时序分析(Static Timing Analyze):静态时序分析是检测综合结果是否满足时序约束的一个手段。主要验证寄存器的建立和保持时间的异常,它具有较高的计算效率,是对仿真的补充。③形式验证(formal verification),也就是等效性检查,对设计过程中每一步的设计输入和输出间进行逻辑功能的等效检查。经常进行的是综合后的网表与RTL 的设计输入之间的等效检查。与静态时序分析一起,构成设计的静态验证。④布局(Floor Plan):就是确定设计中各个模块的位置,整个芯片的尺寸等。主要的过程有:IO 规划:确定IO Buffer 的位置,定义电源和地PAD 的位置。模块放置:定义各种物理的组、区域或模块;对这些大的宏单元进行放置,现在已经有许多好的block Placer,帮助设计者更快的形成模块布局。供电设计:设计整个供电网络,基于电势降和电迁移进行拓扑优化。微调:通过添加布局和布线的阻碍、以及密度、属性等的修改,达到优化布线阻塞率,甚至时序的目的。总之,Floor Plan 就是在保证布线能够走通、性能允许的前提下,如何最大限度的减少芯片面积。
⑤布线:布线应该算是设计上的最后一个阶段。布线策略的应用,会影响整个芯片的性能。可以选择手动走一些比较关键,或者对自动走线效果不满意的一些线。然后,对关键路径上的走线和时钟线尽量在走线时先走,避免绕线,确保时序收敛。最后,还要进行门级验证和版图/逻辑图对比(LVS, Logic vs. Schematic)和设计规则检查(DRC,Design Rule Check)。
以上所述主要是数字电路的设计流程。模拟电路的设计流程与之相比有所不同。模拟电路的设计主要
包括:①模拟仿真环境:模拟仿真环境主要是提供完整的模拟电路设计解决方案,并使最终用户的应用得到最优化且支持完整的从前端到后端的设计流程。完整的模拟设计环境应该是所有的解决方案集成在一起,具有完全的中间可操作性。②版图编辑工具:对于一些全定制的设计,需要对最终的版图进行编辑。版图编辑器应以强大的交互式版图功能来提高全定制IC 设计的生产率。③版图验证:版图验证包括设计规则检查(DRC)、电学规则检查(ERC)、版图/逻辑图对比(LVS)、版图参数提取(LPE)和寄生电阻提取(PRE),电磁兼容分析(EMC)等等。
ASIC 设计流程随着不同的设计目标、设计方法、设计工艺的变化而变化。一般而言,数字电路设计
中几个关键的环节分别为:设计、综合、仿真以及布局布线等。如何熟练使用这些工具软件、掌握使用技巧以及不断解决出现的问题等等,都与工具使用的熟练程度和相关经验分不开。下面特别就综合和仿真进行一点阐述。
综合是将行为级描述的设计在一定的规约下转化为逻辑结构。它是面向给定的设计约束,将高级的设
计描述翻译和优化到工艺库中的门级网表的自动化过程。(Compiler=Translation + Mapping +
Optimization)。综合约束包括时序、面积和功耗的约束。其中时序是最复杂和最关键的约束,决定了整个芯片的性能。时序约束中,输入输出的约束由芯片的应用环境决定,通常需要抽象出输入的驱动和输出的负载信息。另外一个重要的方面,就是时钟树(Clock Tree)的综合和插入。时钟树的定义、约束的设置,对最后时钟偏斜起着决定性的作用。时钟树插入后,偏斜往往会导致某些保持时间(Hold Time)方面的问题。还有,传统的ASIC 综合工具本身能力限制了综合模块的门数不能超过200K。随着百万门甚至千万门的设计的出现,工程师们不得不把一个设计分成更多的子模块来进行综合。一般情况下,在采用传统ASIC综合技术时,工程师们习惯按照功能和时序来进行子模块的划分,而不是按照设计门数的大小来划分模块。不管是谁进行综合,在现有的技术下,都要对综合的质量和综合的效率进行折衷。因此,综合问题必须通盘考虑。
仿真是模拟出芯片工作的过程,故又称为设计的动态验证。如果带有时序信息,在验证功能的同时,
也可以验证时序性能。仿真主要有:RTL 级仿真、门级仿真,它们也分别简称为前仿和后仿。在RTL 层进行的仿真,其特点是不考虑构成电路的逻辑和门的时间延迟,着重考虑电路在理想环境下的行为和设计构想的一致性。即RTL 级仿真是没有延时的、基于周期的事件驱动的仿真方式。门级仿真是在电路已经映射到特定的工艺环境后,将电路的路径延迟和门延迟考虑进去对电路行为的影响后,来比较电路的行为是否还能够在一定条件下满足设计构想。后仿是基于最终时序的仿真,故往往作为流片前签收(sign-off or type out)的条件。所有时序的仿真,一般是使用SDF(标准延时)文件来输入延时信息。仿真不是一个孤立的过程,它和综合、时序分析等形成一个反馈工作过程,只有这个过程收敛,各个环节才有意义,而孤立的功能仿真通过是没有意义的,如果在时序分析过程中发现时序不满足,需要更改代码,则功能仿真必须重新进行。


相关帖子

沙发
yun888|  楼主 | 2010-8-26 09:47 | 只看该作者
代码覆盖率(Code Coverage)是验证仿真激励是否完备、检验代码质量的一个重要标准。测试激励的代码覆盖率至少要达到95%以上,才能基本认为代码在逻辑上是通过质量控制的,是基本可测的。在大的设计中,如果想通过一个激励就验证完一个设计或者模块是不现实的。一方面是从逻辑功能上很难做到;另外一方面是因为如果在一个激励中包括了各种情况,整个仿真过程的速度会随着计算机内存的消耗而成线性下降,效率低下。通常的做法是每一个激励只验证电路功能的某个方面。整个电路的功能验证由数个激励共同完成。在这种验证方法中代码覆盖率更显重要,因为可以通过代码覆盖率来控制激励对功能的覆盖程度。另外,由于设计复杂度越来越高,基于时序的仿真往往需要较长的时间,同时对机器性能也有较高要求。目前的仿真工具都支持并行处理,用几台机器同时来进行处理,还出现了硬件仿真加速器,进一步提高时序仿真的速度。
另外,值得一提的是,HDL 语言虽然是一种语言,但它是描述RTL 的语言,所以其着眼点是电路实
现而非逻辑推理。RTL 就是电路在寄存器层的一种表现,虽然已经不像门级那样具体,但也没有抽象到逻辑层。因此写代码的正确方法是:在大脑中构思出电路的结构,然后用代码把它点滴不漏的表现出来,而不是先写一些只是逻辑上行得通的代码,然后等待工具帮你综合成能实现的电路。工具永远只能做繁重而低级的工作,因此如果你的电路性能不好,说明你对如何实现电路还没有清晰的思路。还有,不要只指望通过提高器件的速度等级来使你的电路达到要求,如果你的电路在第一次综合后已经有80%的路径满足时间要求了,那么就不要想着用更快的器件,而应该考虑改变你的电路拓扑结构和设计构架,来使另外的20%逐渐达到要求。
3 、ASIC 设计工具软件
ASIC 设计的软件提供商主要有CADENCE、SYNOPSYS 和MENTOR 等公司。它们都能提供全定制
集成电路设计环境和工具、标准单元设计、综合、仿真、布局布线以及版图验证等一整套软件。基于EDA平台的这些软件,可以完成各种集成电路设计的全部流程,包括全定制集成电路设计流程、数字电路自动化设计流程、模拟电路设计流程和FPGA 设计流程等等。下面就常见的工具软件进行一些归类和说明。至于它们的使用方法请大家参阅相应手册,这里就不多着墨,仅列提纲如下:
(1)设计语言:VHDL、Verilog HDL、AHDL、System C 等等。
(2)各阶段典型软件:
输入及调试工具:Summit、Debussy、以及Xilinx、Altera 等开发的套件。
仿真工具:Modsim、Verilog-XL、NC-Verilog、NC-VHDL、VSS、Active HDL
综合器:Design Compiler、Physical Compiler、Ambit logic synthesis
布局布线工具:Preview、Silicon Ensemble、Apollo 系列、ST-Hspice
版图验证工具:Dracula、Diva、Cosmos SE
静态时序分析:Prime Time
测试:DFT Compiler
4、 ASIC 设计的发展趋势
我国科技规划指出近期产业化的重点是:以加强集成电路设计为重点,积极支持集成电路设计与整机
开发相结合,设计开发市场需求较大的整机产品所需的各种专用集成电路和系统级芯片。积极发展
0.25~0.18μm 的深亚微米集成电路技术,扩大集成电路生产加工和封装能力,提高工艺技术水平,扩大产品品种和生产规模。积极鼓励国内外有经济实力和技术实力的企业以及投资机构在国内建立国际先进水平的集成电路芯片生产线,提高我国集成电路生产技术水平。可见,芯片设计是我国目前大力扶持和重点发展的产业方向。
目前,芯片设计除了向更大规模、更高工艺技术的方向发展外,还有两个明显的发展特征:一是向IP
内核方向的发展,一是向SOC 的技术方向发展。下面分别简述之。
(1)IP 内核
IP 内核是指满足特定规范,并能在设计中复用的功能模块。在IC 设计中,IP 内核复用可以有效地缩
短产品开发周期并降低成本。目前整个IP 产业尚不成熟,行业规范和交流渠道缺乏,限制了IP 产业的发
展。IP 内核可以在不同的硬件描述级别实现,依据产品交付的方式,可分为三类IP 内核:软核(Soft cores)、
固核(Firm cores)和硬核(Hard cores)。
软核通常以可综合的HDL 形式提供,因此具有较高的灵活性,并与具体的实现工艺无关,其主要缺
点是缺乏对时序、面积和功耗的预见性。由于软核是以源代码的形式提供,尽管源代码可以采用加密方法,但其知识产权保护问题不容忽视。硬核则以经过完全的布局布线的网表形式提供,这种硬核既具有可预见性,同时还可以针对特定工艺或购买商进行功耗和尺寸上的优化。尽管硬核由于缺乏灵活性而可移植性差,但由于无须提供寄存器转移级(RTL)文件,因而更易于实现IP 保护。固核则是软核和硬核的折衷。大多数应用于FPGA 的IP 内核均为软核,软核有助于用户调节参数并增强可复用性。软核通常以加密形式提供,这样实际的RTL 对用户是不可见的,但布局和布线灵活。在这些加密的软核中,如果对内核进行了参数化,那么用户就可通过头文件或图形用户接口(GUI)方便地对参数进行操作。
像Altera 和Xilinx 这些公司已将IP 产品的开发视为百万门级新器件产品获得成功的关键因素。这些
公司都开发了IP 设计技术,并通过与第三方IP 供应商的合作,协助客户理解新设计方法以及为用户提供的内核程序。尽管这些公司也经销IP 内核,但他们的目标是缩短FPGA 设计时间以出售更多的硅片。可以通过出售内核许可来在一年的时间里将内核进行节点锁定(node-locked),允许用户在这一年时间内,在设计中随时地采用该内核。一些硅片销售商允许在特定的设计中使用其内核,而只在其他设计中收取较少的内核复用费,而另外一些硅片销售商则对内核复用完全不加任何限制。以出售IP 为其主营业务的第三方IP 供应商可选择不同的销售策略,他们既可以出售内核以收取相关费用,用户可以将该内核用于特定设计或未来任何设计,也可以选择按件计费的方式购买内核,从而降低用户购买内核的风险。此外,还可以采取综合上述两种方式的混合模式。
目前常用的IP 内核主要有:
RISC:ARM、PPC、MIPS、SPARC 等
Controllers:USB、PCI、UART 等
Encryption:DES、AES 等
**:JPEG compressor、MPEG decoder 等
Networking:PHY、MAC、ATM switch 等
Memories:Specialized embedded memories、High speed、Low power 等等
(2)SOC
SOC 就是将系统的全部功能模块集成到单一半导体芯片上,包括CPU、I/O 接口、存储器,以及一些重要的模拟集成电路等。功能模块化的系统芯片具有易于增加新功能和缩短上市时间的显著特点,是ASIC设计业当前、乃至可预见未来的主流设计方式。一个芯片如果包含了可编程处理器(Programmable processor)、控制器(Controllers)、信号处理器(Signal processors)和片上存储器(On-chip memory)等部分就是一个SOC 芯片。
短期内设计出超大规模集成电路的商业压力在逐渐增加。目前SOC 几乎都是由大公司来开发,因为
只有他们才有庞大的工程资源和充足的设计经费。造成这种实质垄断的原因就是SOC 设计中使用的仍然是已经不适应现实需要的传统设计方法与工具,厂商必须用现有的工具拼凑出一个设计流程,然后投入大量的人力和财力来逐个解决设计问题。基于IP 复用技术的设计重用方法将会提高SOC 的开发效率,并逐渐成为一种主流方法。美国Dataquest 公司总裁全球半导体部首席分析师Jim Tully 指出,IP 模块是设计重用的关键部分以及结束"设计间距"的唯一有效的方法,如果没有它,半导体生产商和OEM 供应商根本无法达到今天已经达到的水平。在SOC 和IP 技术基础上,集成电路产业在过去的三年里开始了新一轮的分工,具体表现为一些中小规模的设计公司提供商业化的IP 核设计,而大公司则购买这些设计成果并向系统集成公司的方向发展。这是近年来ASIC 设计产业发展的大方向。
参考文献:
[1] 孟李林,FPGA 和ASIC 设计特点及应用探讨[J],半导体技术,2006(7)
[2] 舒适,唐长文,闵昊,ASIC 综合后的静态验证方法的研究[J],微电子学,2004(1)
[3] 唐明,张焕国,PLD 技术与DSP 应用的结合[J],计算机工程,2003(15)
[4] 冯亚林,张蜀平,集成电路的现状及其发展趋势[J],微电子学,2006(2)
[5] 李加元,成立,王振宇,系统芯片设计中的可复用IP 技术[J],半导体技术,2006(1)
作者简介:
姚亚峰,华中科技大学电信系博士后,主要研究方向为多媒体芯片和SOC 芯片设计等,并在武汉邮电科
学研究院ASIC 设计中心等从事多年的芯片研发工作。
陈建文,华中科技大学电信系博士、副教授,主要研究方向为MEMS 技术和集成电路设计等。
黄载禄,华中科技大学电信系教授、博导,主要研究方向为现代信号处理、宽带视频通信等。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

78

帖子

1

粉丝