数字ASIC设计流程

时间:2022-09-17 09:41:31

数字ASIC设计流程

摘要:由于数字集成电路的设计过程中,本论文介绍了深亚微米数字集成电路自动化设计流程。该流程以单元库的设计为基准,从系统行为级的设计开始,经过系统行为级的功能设计、设计综合、综合仿真,布局布线,以及流程末端的版图后仿真,生成最后的版图设计文件GDSII,将该文件打包给厂商即可以进行流片生产。

关键词:ASIC;设计流程;数字集成电路

中图分类号:TN742 文献标识码:A 文章编号:1674-7712 (2012) 16-0028-02

进入21世纪以后,通信技术的发展与人民生活需求的不断增长,导致集成电路的需求出现井喷式的增长。集成电路分为专用集成电路和通用集成电路。相比通用集成电路,专用集成电路面向特定用户,品种多,批量少,需求设计和生产周期短,同时功耗更低,重量更轻,体积更小,性能更好,成本更低等优点。因此涌现出来一大批数字集成电路(简称ASIC)设计公司。其中,北京的微电子集成产业园和上海的张江微电子园集中了国内很多的芯片设计(简称IC设计)公司和国外顶尖IC设计公司驻中国研发部。而专用集成电路是现在集成电路设计的研究热点。包含有数字集成电路(简称ASIC)设计、模拟ASIC设计、数模混合ASIC设计、射频ASIC设计等类型。本论文研究集成电路中最为广泛的数字ASIC设计。ASIC设计过程总共分为5个阶段,分别为:项目策划、总体设计、详细设计与可测性设计、时序验证与版图设计、流片与整理。这5个阶段以文档的递交作为完成阶段性完成任务的分界点。本论文也将以此5个阶段为主线进行研究和讨论。

一、项目策划

在集成电路设计的第一个阶段是项目策划。这就需要开发团队在正式进入是实质性研发阶段之前,需要对该产品潜在的市场需求进行调研。根据调研的结果,做出可行性报告。将此可行性报告提交市场和研发部门进行论证,讨论该产品研发的正确性与否。如果可行,则写项目任务书,用以给出明确的产品性能的大致说明,项目进度、研发周期管理等的。

二、总体设计

第二阶段是总体设计。总体设计阶段的主要任务是:认真分析市场的需求,确定设计对象以及设计目标。在原先第一阶段给出的项目任务书的基础上,进一步充实芯片的功能确定,内外部性能的要求,芯片验收的参数指标。同时要积极组织各方面的人员论证各种实现可行的系统实现方案,选择最佳的实现方案,敲定最终的系统实现方案,以及加工工程,工艺水平。在系统实现方案完成之后,需要是使用仿真软件进行系统设计,并进行仿真,进行可行性验证。通过仿真结果,来初步估计产品的最终性能。这一阶段所做的工作,最终以系统规范化说明书为任务完成的标准。在系统规范化说明书中,主要包含有晶片面积的估计;.产品研发预算估计;初始的产品系统结构设计;风险分析;设立产品的目标、可行性和里程碑;设计路线和开发工具的选定。其中需要指出的是进行系统设计以及系统仿真的可行性分析。可行性分析是第二阶段最重要的一个环节,它是对该项目的利润模型、开发周期和风险性的分析。一方面,该ASIC开发项目的最终产品是替代目前的一个成功产品,则成本降低与功能增强是项目最突出的任务。另一方面,该ASIC开发项目旨在开辟新的市场或者替代目前尚未成功的产品,研发时间将是项目中首先关心的文图。由于项目的研发策略会对整个项目的结构设计、开发等产生巨大的影响,项目规划者需要根据项目的具体情况在正式研发阶段开始之前对项目的这些驱动因素进行归纳分析,以制定项目的研发策略。

三、详细设计与可测性设计

数字研发流程走到此,如果前面的任务全部走完,那么研发将进入实质性的开发阶段。这一个过程又拆分为如下的模块:

(一)顶层模块划分

顶层设计是一个富有创造性的阶段,在这个阶段,要定义产品的顶层架构。许多经典的工程折中问题都需要在这个阶段做出决定。产品的开销、设计的开销、产品上市时间、资源需求和风险之间的对比也是顶层结构设计过程中的一部分。这个阶段中的创造性思维对于产品的成功有着极大的影响。创造性可以体现在产品的创意、顶层架构设计创意和设计流程的创意等方面。这个阶段的工作主要由少数具有结构设计和系统设计才能的高级工程师参与。这一阶段的具体任务是:讨论几个顶层结构备选项;分析这几个顶层结构选项——需要考虑技术灵活性、资源需求及开发周期等;完成顶层结构设计说明;确定关键的模块(如果需要,这些模块可以尽早开始);确定需要使用的第三方IP模块;选择开发组成员;确定新的工具;确定开发路线/流程;讨论风险;预估硅片面积、输入输出引脚、开销和功耗等。这个阶段需要递交的文档则是这个阶段需要递交的文档:结构设计文档与ASIC开发计划文档。在结构设计文档中,设计者需要清楚地描述电路板、软件和ASIC的划分。通常ASIC作为系统中的一个重要部分,它的功能需要在顶层结构设计说明中详细的描述。ASIC开发计划:这个计划必须经过项目管理人员的验收通过。同时,还需要完成设计线路描述文档。这个文档要再次定义项目开发中所需要的工具、技术和方法。

(二)模块级详细设计

模块级详细设计,顾名思义,则是将顶层结构合理地划分成一些更小的模块。各个小设计模块间需认真细致的合理划分。划分着需要确定功能功能,模块与模块之间的联系等等。为了明了给对方展示划分结果,ASIC的层次化结构一般以图示方式表示。

本阶段的任务分别为:将顶层架构分解成更小的模块;定义模块的功能和接口;回顾上一阶段完成的初始项目开发计划和顶层结构设计文档;风险进一步分析;开发规范(代码编写风格,开发环境的目录结构);检查芯片设计规则(晶片温度,封装,引脚,供电等);还需要做的工作是重新估计芯片的门数。本阶段输出的则是各个模块的设计文档,以及准确的项目研发计划。同时,从该阶段开始,需要设计人员将ASIC的生产商必须确定下来。项目管理者必须与ASIC生产商建立例会制度,在这些例会中需要讨论ASIC的结构和设计路线。因为ASIC生产商有他们的一套生产流程和他们自己的技术特点,设计也需要遵循他们的设计规则。以免设计走不必要的弯路,耽误设计进度。

(三)模块实现

模块设计阶段,则是以文档引导设计。主要任务为:模块及设计、编码、测试和综合;芯片级的测试环境设计、编码和测试;给出一个更准确的芯片面积估计。在这个阶段,编码的测试一般使用VCS或者是modelsim软件。代码综合使用的综合器包括Synopsys公司的DesignCompiler或者SynplifyPro,Candence公司的BuilderGates等。这个阶段输出所有的模块设计、代码和模块织的测试;初始的模块级综合;最终决定的芯片引脚。

(四)系统仿真,综合和版图设计前门级仿真阶段

该阶段的主要任务是:撰写系统测试文档;编写测试伪代码;进行RTL(硬件描述语言)级与门级仿真;记录跟踪问题的解决过程,如可能,使用错误自动报告系统进行错误的反馈和修改;检查芯片设计是否满足设计规范;开始撰写芯片的使用指南;自行编写综合脚本,进行设计综合(这个时候就需要掌握TCL脚本的简单写法);依据芯片特性,大致画出芯片内模块摆放的方法成功地完成第这个阶段输出的条目如下:验收过的系统仿真;所有的RTL级仿真和门级仿真完成及测试报告;综合后的网表。

四、时序验证和版图设计

ASIC设计的第四部分是时序验证和版图设计。这个阶段是通过时序分析来指导版图设计。主要的流程如图1所示。

这个阶段需要多次进行预布局布线,从整个电路中提取出所有时序路径并计算信号沿在路径上的延迟传播,进而找出违背时序约束的错误(主要是SetupTime和HoldTime),这些信息添加进入下一轮布局布线方案,尽最大可能的合理布局布线,通过一次次的仿真确定最终的版图信息,并将最终版布局布线之后的版图进行后仿真。这些工作进行完毕以后需要输出物理设计与设计验证两个文档。物理设计(PhysicalDesign)是VLSI设计中最消耗时间的一步.他的工作是将电路设计中的每一个元器件(包括电阻、电容、晶体管、电感等)以及这些元器件之间的连线转换成集成电路制造所需要的版图信。而在版图设

计完成以后,非常重要的一步工作是版图验证。版图验证主要包括有设计规则检查(DRC),版图的电路提取(NE),电学规则检查(ERC)和寄生参数提取(PE)。对版图进行布局与布线不仅不要丰富的专业知识,同时更需要很多模拟电子以及布线的经验。布局布线使用的工具一般为SocEncounter。SOCEncounter采用层次化设计功能将芯片分割成多个小块,以便单独进行设计,再重新进行组装。SOCEncounter首先读入RTL或门级网表,并快速构建可准确代表最终芯片(包括时序、布线、芯片大小,功耗和信号完整性)的芯片“虚拟原型”。通过使用物理虚拟原型功能,设计师可以快速验证物理可行性并在逻辑上进行必要更改。在布局布线的时候,需要首先指定IO,电源和地的布置,制定平面布置、插入时钟树等工作之后,才可以进行开始使用工具进行自动的布局布线。最后得到的布局布线的结果仍然需要手工调整,才可以得到合理的设计版图。

五、流片与整理阶段

数字集成电路设计的最后阶段为流片与整理阶段。在完成版图设计之后的仿真和综合之后,网表被送去生产。生产签字文档将作为设计者和生产厂商之间的ASIC生产签字的根据。这个文档清楚地描述了网表的版本号、ASIC生产商所需要的测试向量、质量意向和商业上的问题等。签字之前,ASIC生产厂商需要仔细检查设计者提供的网表文件、版图设计结果和测试向量。通常ASIC生产厂商要求测试向量在签字之前是经过仿真的,这是一个比较长的过程。在样片返回设计公司以后,仍然需要测试芯片;用错误报告数据库跟踪测试中出现的错误;分析失败的测试例;对ASIC中出现的错误进行定位;针对ASIC中出现的错误,确定在网表中的改动;评估芯片的工作电压范围和温度范围(环境测试);进行与其他已有产品的互通性测试。确保生产的集成电路达到最初规定的性能与设计指标。

综上所述,由于底层工艺技术的不断变化,以及新工具厂商的出现,ASIC设计流程会出现一些流程上的调整,这个流程也不是一层不变。本论文所讲述的是现在各个IC设计公司通用的设计流程。

参考文献:

[1]我国数字频率合成芯片获突破性进展.www. /news_show.asp.

[2]任艳颖,王彬.IC设计基础[M].西安:西安电子科技大学出版社,2003.

[3]邹雪城,邹志革,刘政林.VLSI设计方法与项目实施[M].北京:科学出版社,2007,116-215.

上一篇:基于.NET的校友会网络系统平台的设计 下一篇:浅谈建筑施工中的电气工程监理