头部
页面定位共通
您的位置: 首页 >>  专业技术服务 >>  关于芯片

                                               你见过芯片,但了解设计流程吗?

集成电路

       俗称芯片,是无数设计工程师们烧死很多脑细胞后产生的作品,完全可以称得上是当代的艺术品。无论是电工们,还是科技小白,甚至是大妈们,离开了芯片,生活都无法继续(是不是说得太严重了)。

       集成电路是怎么来得呢,当然是设计出来的呗,这不是废话吗?但是,你知道具体的设计流程吗?沉默了吧?下面,就请目不转睛地跟着我们来了解集成电路的完整设计流程(鼓掌)。    

      常见的集成电路分为数字、模拟和数模混合三大类,我们分头来说。 

 

数字集成电路设计

       数字集成电路设计多采用自顶向下设计方式,首先是系统的行为级设计,确定芯片的功能、性能,允许的芯片面积和成本等。然后是进行结构设计,根据芯片的特点,将其划分成接口清晰、相互关系明确的、功能相对独立的子模块。接着进行逻辑设计,这一步尽量采用规则结构来实现,或者利用已经验证过的逻辑单元。接下来是电路级设计,得到可靠的电路图。最后就是将电路图转换成版图。

 

1 系统功能描述

    系统功能描述主要确定集成电路规格并做好总体设计方案。其中,系统规范主要是针对整个电子系统性能的描述,是系统最高层次的抽象描述,包括系统功能、性能、物理尺寸、设计模式、制造工艺等。 

功能设计主要确定系统功能的实现方案,通常是给出系统的时序图及各子模块之间的数据流图,附上简单的文字,这样能更清晰的描述设计功能和内部结构。为了使整个设计更易理解,一般在描述设计可见功能之后,对系统内部各个模块及其相互连接关系也进行描述。描述从系统应用角度看,需要说明该设计适用场合、功能特性、在输入和输出之间的数据变换。

 

2 逻辑设计

    逻辑设计是将系统功能结构化。通常以文本、原理图、逻辑图表示设计结果,有时也采用布尔表达式来表示设计结果。依据设计规范完成模块寄存器传输级代码编写,并保证代码的可综合、清晰简洁、可读性,有时还要考虑模块的复用性。

    随后进行功能仿真和FPGA 验证,反复调试得到可靠的源代码。其中,还要对逻辑设计的RTL 级电路设计进行性能及功能分析,主要包括代码风格、代码覆盖率、性能、可测性和功耗评估等。

 

3 电路设计

    电路设计大体分为逻辑实现、版图前验证和版图前数据交付三个阶段。逻辑实现将逻辑设计表达式转换成电路实现,即用芯片制造商提供的标准电路单元加上时间约束等条件,使用尽可能少的元件和连线完成从RTL描述到综合库单元之间的映射,得到一个在面积和时序上满足需求的门级网表。时钟树插入也将在逻辑实现中完成,插入时钟树后,再进行逻辑综合、功耗优化和扫描链插入后得到门级网表,并通过延迟计算得到相关标准延时格式(SDF)文件。版图前验证利用逻辑实现得到的相关门级网表和SDF文件,进行门级逻辑仿真和测试综合,包括静态时序仿真、动态仿真、功耗分析、自动测试图形生成等,经过版图前验证得到的电路设计门级网表必须要满足一定的时序/功耗约束要求。

 

4 物理设计

    物理设计就是版图设计。将综合得到的网表和时序约束文件导入EDA 软件中,进行布局布线,生成符合设计要求的Layout,在完成了全部的Layout 之后,利用相关提取软件进行寄生参数提取,并重新反馈到物理实现的布局布线软件中,进行时序计算和重新优化,直到得到满意的时序结果为止。这时可以生产包含精确寄生信息的SDF 文件,与布局布线后生成的网表一道进行时序分析。时序分析通过后,就可以导出布局布线后的GDS 格式的版图数据,供后续流程使用。

 

5 设计验证

    在版图设计完成之后,非常重要的一步工作就是版图验证。版图验证保证了芯片依照其设计功能准确无误地实现,主要包括设计规则检查(DRC)、电路版图对照检查(LVS)、版图的电路提取(NE)、电学规则检查(ERC)和寄生参数提取(PE)。

 

 

模拟集成电路设计


1 数字时代下的模拟电路

    早在20世纪80年代初期,就有人预言模拟电路即将消失。当时,数字信号处理算法的功能日益增强,而VLSI 技术的发展又使得在一块芯片上集成数百万、上千万个晶体管成为可能。由于这些算法可以在硅片上紧凑而有效的实现,所以许多传统上采用模拟电路形式来实现的功能很容易在数字领域内完成,例如,数字音频和无线蜂窝电话。

    与模拟信号处理相比,数字信号处理拥有不少优点,例如:⑴鲁棒性。数字信号处理电路对集成电路制造工艺的偏差、电源电压波动、温度漂移以及器件的老化并不敏感。⑵灵活,可重新配置。数字电路可以通过软件代码的变动很容易实现算法公式中相应权值的改变。⑶适应能力。某些信号处理算法使用数字电路实现时可以允许带来额外的设计自由度。正因为数字信号处理这些显而易见的优点,人们开始假定:如果集成电路制造有足够的能力,那么信号的所有处理最终都可以采用数字方式来实现。但事实上,直到今天模拟电路设计人才的需求量仍然非常巨大。尽管许多类型的信号处理确实已经转移到数字领域,但是,在现代许多复杂高性能系统中,模拟电路从根本上被证明是不可或缺的。其根本原因在于就宏观角度而言,自然界产生的信号就是模拟量。由于这些信号最终都会在数字领域进行处理,所以每个这样的系统都会需要模数/数模转换器。

 

2 模拟集成电路设计流程

    完成一个模拟集成电路的设计,需要多个步骤,具体包括:①规格定义;②电路结构选择以及工艺确定;③具体电路设计;④电路仿真;⑤版图设计;⑥版图验证;⑦后仿真。

 ①  规格定义

    通常,电路设计的规格定义始于一份清晰的问题报告书。在提出设计问题之前就应当对所要研究和设计对象的需求有一个全面、清晰的了解。这种需求可能表现在性能上,也可能仅仅出于成本的考虑。不管出于哪一方面的考虑,设计需求最终都会转化成为具体、直观的数量指标。例如,增益需要达到90dB,带宽要求100MHz以上,以及输入/输出阻抗大小等。所有这些指标必须在规格定义中有所体现,以便形成具体的设计目标,并方便设计结果的检验。

    然而,实际中形成设计对象的规格定义可能会相当麻烦,因为所有的选择都需要在成本与性能以及一个性能与另外一个性能之间进行权衡,有些权衡是相当复杂甚至是令人非常痛苦的。很多时候这种权衡会与实现性能指标的模块结构相关。但是,在规格定义阶段,一般的设计人员可能并不会顾及电路实现的细节,这就会导致某些指标间的相互冲突,甚至会造成设计过程的不同的抽象层次间的反复。显然,不管是哪种情况都会造成资源浪费,并且会推迟产品上市的时间。

 ②  电路结构选择和工艺确定

    一旦形成清晰的规格定义,就可以开始展开正式的设计过程,包括工艺的确定、模块电路结构的选择以及电路细节的完善。值得注意的是,虽然这个步骤被放到规格定义之后进行,但实际上设计的结果在相当大程度上会影响规格定义的有效性。一方面,规格定义给出的设计指标会在很大程度上决定所能选用的工艺和具体的电路结构;但另一方面,设计所能采用的实现工艺以及可供选用的电路结构又与最终实现的性能指标息息相关。因而,通常在设计规格定义好之后,都会尽可能广泛选择工艺流程并精心设计电路结构以满足规格定义的要求。一旦需要重新修正规格定义就会导致无法估计的经济损失,所以应当尽量避免这种情况的出现。一般都会在设计阶段的初期完成工艺的选择。选择可能会基于成本、性能指标的要求,或者代工厂的产能、上市时间等。很多时候,实际上可供选择的工艺实现并不会太多。

    即使基于给定的流程,还存在很多与工艺相关的问题需要在后续的设计过程中慎重考虑。DAPs(Dependent On Absolute Parameters)、TAPs(Tolerent On Absolute Parameters)以及STMs(Sensitive To Mismatches)都会严重困扰模拟电路设计者。例如,DAPs 无法通过电路设计技巧来完全消除,但在某些特殊情形之下却可以大大减小。

当面临工艺选择和电路结构选择时,为增强设计的鲁棒性,可以遵循以下设计原则:追求较理想的TAPs 时,应当尽可能采用器件绝对数值的比值而尽量避免直接使用绝对值;可以进行敏感性分析并采用对工艺变动不敏感的结构实现设计,从而抑制DAPs;对于STMs,可以通过精心的版图设计予以排除。 

    模拟集成电路工艺主要有三种:标准的双极型晶体管(Bipolar Transistor)、多晶硅栅CMOS 和双极型CMOS(BiCMOS)工艺。 

    双极型的优点主要是开关速度快、电流驱动能力强,所以主要应用于高速电路、功率放大器电路、大电流和大功率处理的应用上。但由于其器件功耗大,面积大,不适于大规模电路芯片。

    CMOS 的主要优点是面积小、功耗低、噪声容限好,主要应用于数字电路的微处理器和动态存储器上。由于其模拟性能的不断提高,同时速度的不断改进,在模拟电路中已经逐步取代双极型工艺,并得到了广泛的使用。由于尺寸小的优点,CMOS 已经成为大规模集成电路的主要工艺。

    BiCMOS 集中了双极型和CMOS 电路两者的优点,主要应用于无线通讯设备的收发器、放大器及振荡器、带隙基准等电路上,某些性能要求高的数模混合电路也往往采用BiCMOS 工艺。

表1 给出了IC 不同工艺的对照,用户可以根据电路的用途,从成本和功能方面综合考虑,以选择合适的工艺。

表1 三种主流IC 工艺的对照工艺 性能参数

640.jpg

 ③  电路设计
        在整个模拟集成电路设计流程中,电路设计可以说是最具创造性的环节,是为解决特定问题而构思一个电路的创造过程,也是用具体电路元件实现规格定义的过程。它要求具有对实际系统进行建模的能力,所建立的模型既要足够简单,以便可以观察到系统的运行情况,进而思考改进系统性能的方法;又要足够全面,以充分体现系统的突出特征。最终,需要电路设计人员能够从要求的特性出发,找出满足这些特性的电路结构。

 

 

数模混合集成电路设计

    混合信号集成电路设计对数字电路和模拟电路做整体上的考虑以及验证,这将面临许多挑战和困难。传统的混合信号集成电路设计是采用有底向上的方法,用SPICE 等电路仿真器对混合电路中的模拟元件进行设计,用数字电路仿真器对数字电路部分进行仿真。然后通过手工建立网表,对数字和模拟电路的协同工作进行设计验证。然而,模拟电路和数字电路之间协同工作的验证比较困难,因此用这种传统设计方法仿真和验证整个混合电路系统既费时,又不精确,特别对于复杂度越来越大的系统而言,这种缺陷更显突出。 

    随着EDA 技术的飞速发展,混合信号集成电路设计推进到了自顶向下的设计流程。该流程同数字系统自顶向下的流程相似,但与纯数字系统的结构有所不同,这是因为混合系统模拟部分仍然需要自底向上的设计,需要更多的时间和丰富的知识与经验。因此,研究如何采用通用的设计方法和共有的约束与资源来建立混合系统,是十分有价值的。

    混合信号集成电路的基本设计流程主要包括设计规划、系统级设计、模拟电路/数字电路划分、电路级设计与仿真、版图级设计与仿真等。
设计规划

    研究和开发混合信号集成电路首先应从市场需求出发,选定一个研究开发的目标,然后确定混合信号集成电路的系统定义、系统指标,在此基础上开发和选择合适的算法。

 2 系统建模

    当算法确定后,将其映射成特定的结构,以利于线路设计及对各模块进行整体验证。此时,混合信号集成电路的系统功能行为与非功能约束都要被详细说明。另外考虑到电路的混合特性,电路必须要以不同类型的方式来规范,使用连续时变和离散时变的方式来处理,可以采用方框图结构形式将其分开。目前设计者常采用Matlab、C语言、SystemC、SPW 等软件进行系统设计。Matlab在算法工程师中应用极广,作为DSP算法的首选开发工具,它拥有很大的用户群。SystemC是一种专为集成电路系统设计而开发的语言,SPW是应用最广的系统级设计工具,在通信、视频等领域应用很多。

 3 数字电路/模拟电路划分

    在这个阶段,需要根据电路的功能将模拟电路和数字电路划分开来。数字电路用来处理离散的信号,模拟电路则处理连续的信号。
4
电路级设计与仿真

    电路可以通过具体的元器件,例如,运算放大器、晶体管、电容器、逻辑门等来表征。混合信号集成电路包括数字和模拟两部分,其中模拟电路一般全定制设计,采用自底向上的设计流程,进行全定制版图设计、验证、仿真;数字电路一般采用自顶向下的设计流程,进行寄存器传输级描述、寄存器传输级仿真、测试、综合、门级仿真。然后,将两种电路放在混合信号验证平台中进行混合仿真。

    这种混合仿真可以是寄存器传输级的数字电路与晶体管级的模拟电路的混合仿真,也可以是门级或晶体管级的数字电路与模拟电路的混合仿真。目前设计者主要采用由Mentor Graphics、Synopsys 和Cadence 三大EDA 工具供应商提供的模拟和混合信号工具和技术进行混合仿真。

5 版图级设计与后仿真

    在这两个阶段,将整合后的电路级设计,结合相关物理实现工艺,进行对相关模拟电路和数字电路的版图设计、设计规则检查、版图验证、寄生参数提取等工作。之后通过相关的混合信号验证平台对整个系统进行混合信号电路的后仿真。

6 流片

    在后仿真完成后,就可以将几何数据标准(GDSII)格式的文件送到制板厂做掩膜板,制作完成后便可上流水线流片。

 

       芯片就这么设计出来了,但是要真正跑到手机电脑里,还需要复杂的制作流程,至于这个,就是另外一个故事了。。。

 

 

底部