CN111581899A - 良率参数文件和门级网表的生成方法以及芯片的开发流程 - Google Patents
良率参数文件和门级网表的生成方法以及芯片的开发流程 Download PDFInfo
- Publication number
- CN111581899A CN111581899A CN202010366438.7A CN202010366438A CN111581899A CN 111581899 A CN111581899 A CN 111581899A CN 202010366438 A CN202010366438 A CN 202010366438A CN 111581899 A CN111581899 A CN 111581899A
- Authority
- CN
- China
- Prior art keywords
- yield
- simulation
- units
- database
- gate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000008569 process Effects 0.000 title claims abstract description 27
- 238000011161 development Methods 0.000 title claims abstract description 24
- 238000004088 simulation Methods 0.000 claims abstract description 100
- 238000012795 verification Methods 0.000 claims abstract description 38
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 28
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 28
- 238000012216 screening Methods 0.000 claims abstract description 21
- 238000013461 design Methods 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000004519 manufacturing process Methods 0.000 claims description 5
- 238000010206 sensitivity analysis Methods 0.000 claims description 5
- 230000002194 synthesizing effect Effects 0.000 claims description 5
- 230000007704 transition Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000009826 distribution Methods 0.000 description 9
- 230000000630 rising effect Effects 0.000 description 9
- 230000003111 delayed effect Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 4
- 229910052710 silicon Inorganic materials 0.000 description 4
- 239000010703 silicon Substances 0.000 description 4
- 108091007914 CDKs Proteins 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 238000000342 Monte Carlo simulation Methods 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供了一种良率参数文件和门级网表的生成方法以及芯片的开发流程,其中良率参数文件的生成方法包括:首选,提供数据库,且所述数据库中具有多个单元的数据参数;其次,建立仿真验证平台,并对所述单元进行仿真得到仿真参数,确认所述仿真参数与所述单元的数据参数的一致性;最后,设定所述仿真验证平台的约束条件,并通过所述仿真验证平台对所述单元进行蒙卡仿真得到良率仿真结果,且所有单元的良率仿真结果归纳成良率参数文件。所述良率参数文件可在后续综合的过程中对单元进行良率筛选,以使生成的门级网表有完整的良率仿真数据,能够提高流片的成功率,缩短芯片的开发周期和开发成本。
Description
技术领域
本发明涉及集成电路技术领域,特别涉及一种良率参数文件和门级网表的生成方法以及芯片的开发流程。
背景技术
SOC(system on chip,系统级芯片)的开发流程包括RTL(Register TransferLevel,寄存器传输级)Code(代码)到Synthesis(综合)的过程,且在此过程中仅仅依照原先设计的HDL(Hardware Description Language,硬件描述语言)代码不足以将设计的逻辑电路转换成门级网表,还需要配合工厂提供的工艺库(CDK)和.lib文件。所述.lib文件与本身设计的.v文件(RTL代码)进行综合,即将.v文件中的功能、逻辑、时序、电压、电流和功耗等描述,并通过与.lib文件中实际电子单元的数值参数配合,实现逻辑功能电路,也就是所谓的门级网表。
而现有的SOC的开发流程中并不包含良率文件,需要调用Reused IP(ReusedIntellectual Property Component,可重复使用的IP核)去避免芯片生成良率的问题。使用Reused IP,即在综合时,调用Reused IP进行综合。而使用Reused IP生成的电路网表,符合.v文件中各种的电性参数要求。由于调用的是Reused IP,所以有实际的流片数据,即生成良率的资料,因此,生成的电路网表还可以来确保芯片生成的良率。
但是,并不是所有的功能块都有Reused IP可以调用,如果没有可以调用的ReusedIP,就必须重新设计IP核,不但耗时,也没有实际流片后的数据,所以没办法保证芯片生成的良率。
发明内容
本发明的目的在于提供一种良率参数文件和门级网表的生成方法以及芯片的开发流程,能够提高流片的成功率,缩短芯片的开发周期和开发成本。
为实现上述目的,本发明提供一种良率参数文件的生成方法,包括:
步骤S11:提供数据库,且所述数据库中具有多个单元的至少一种数据参数;
步骤S12:建立仿真验证平台,并对所述单元进行仿真得到仿真参数,确认所述仿真参数与所述单元的相应的所述数据参数的一致性;
步骤S13:设定所述仿真验证平台的约束条件,并通过所述仿真验证平台对所述单元进行蒙卡仿真得到良率仿真结果,且所有单元的良率仿真结果归纳成良率参数文件。
可选的,在所述的良率参数文件的生成方法中,所述数据库包括.lib数据库,所述单元包括标准单元、输入输出单元以及IP核,而所述标准单元包括由晶体管串联或者并联组成的基本型态器件和由所述基本型态器件串联或者并联组成的复杂型态器件。
可选的,在所述的良率参数文件的生成方法中,多个所述单元组成电路,若各单元之间串联,则所述电路的良率为各单元的良率的乘积;若各单元之间并联,则所述电路的良率为各单元的良率中的最小值。
可选的,在所述的良率参数文件的生成方法中,所述仿真验证平台的约束条件包括单元的信号输出、延迟时间或者输出频率满足设定要求。
可选的,在所述的良率参数文件的生成方法中,确认所述仿真参数和所述单元的数据参数的一致性的方法包括:
步骤S121:选择数据库中的一坐标对应的数据条件;
步骤S122:将所述数据条件输入至仿真验证平台,得到仿真参数;
步骤S123:对比所述仿真参数与所述数据库中该坐标对应的数据参数是否一致。
为实现上述目的以及其他相关目的,本发明还提供了一种门级网表的生成方法,包括:
步骤S21:提供RTL代码和综合库,其中所述RTL代码用于描述单元功能的逻辑思维,所述综合库包括文艺库和数据库,所述文艺库具有工厂提供的单元,所述数据库具有所述单元的至少一种数据参数;
步骤S22:采用上述所述的良率参数文件的生成方法,生成所述数据库所对应的良率参数文件;
步骤S23:基于所述RTL代码、所述综合库以及所述良率参数文件,进行综合,以形成门级网表。
可选的,在所述的门级网表的生成方法中,在执行步骤S22之后且在执行步骤S23之前,还将所述RTL代码翻译成工具可读文件,并进行综合前约束条件设定;在步骤S23中,采用综合库和所述良率参数文件对所述工具可读文件进行综合,形成所述门级网表。
可选的,在所述的门级网表的生成方法中,在步骤S23中,所述综合的过程包括:
步骤S231:在数据库中筛选符合RTL代码的单元;
步骤S232:对所述筛选出的单元进行敏感性分析,筛选出敏感性单元;
步骤S233:通过良率分析文件对筛选出的敏感性单元进行良率筛选。
步骤S234:由良率筛选之后的单元生成电路。
可选的,在所述的门级网表的生成方法中,在步骤S23中,所述综合前的约束条件包括:时序约束条件、功耗约束条件和良率约束条件。
为实现上述目的以及其他相关目的,本发明还提供了一种芯片的开发流程,包括:
步骤S31:采用上述所述的门级网表的生成方法形成门级网表,以得到相应的芯片设计;
步骤S32:对所述芯片设计进行一次流片以及流片后的一次性能验证;
步骤S33:当所述芯片设计通过所述性能验证时,进行试量产。
综上所述,在本发明提供的良率参数文件的生成方法,通过良率仿真得到良率仿真结果,最终归纳成良率参数文件。所述良率参数文件可在后续综合的过程中对单元进行良率筛选,以使生成的门级电路网表有完整的良率仿真数据,换言之,不需要透过流片,便可以有可靠的资料,且此仿真数据与流片后测试的数据相匹配,提高了流片的成功率,使得可以仅通过一次流片及流片后的一次验证即可决定是否进行芯片量产,因此可以达到减少芯片开发成本和开发周期,即节省了芯片设计到量产的时间、人力和成本。
附图说明
图1是本发明一实施例中的基本型态的标准单元示意图;
图2是本发明一实施例中的复杂型态的标准单元示意图;
图3是本发明一实施例中的仿真验证平台对坐标(1,1)对应的单元的仿真时序图;
图4是本发明一实施例中的五级反相器示意图;
图5-图8分别是坐标(1,1)对应的单元的下降延迟、上升延迟、下降转换和上升转换的延迟良率分布图和数据图;
图9-图14分别是坐标(6,6)对应的单元的下降延迟、上升延迟、下降转换和上升转换的延迟良率分布图和数据图;
图15是坐标(6,6)对应的单元的仿真次数分析数据图;
图16是本发明一实施例中的具有输出负载电容的反相器的示意图;
图17是本发明一实施例中的反相器的输入和输出转换延迟时间示意图;
图18是本发明一实施例中的反相器的转换上升时间和下降时间示意图;
图19是本发明一实施例中的反相器的上升传播时间和下降传播时间示意图;
图20和图21是本发明一实施例中的.lib文件代码内容模板;
图22是本发明一实施例中的良率参数文件的代码内容模板;
图23是本发明一实施例中的一种门级网表的生成方法的流程图;
图24是本发明一实施例中的反相器的结构示意图;
图25是本发明一实施例中的NOR闸的结构示意图;
图26是本发明一实施例中提供的一种信号图;
图27是图26中的信号图对应的.v文件;
图28-图31是发明一实施例中通过,lib文件筛选的反相器的结构示意图;
图32是满足.v文件要求对应的.lib文件代码;
图33是筛选出的单元各指标的良率数据图;
图34是由良率筛选之后的单元生成电路;
其中,图1~图34中:
10-晶体管,20-反相器。
具体实施方式
以下结合附图和具体实施例对本发明提出的技术方案作进一步详细说明。根据下面说明,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
一般门级网表的生成过程是由RTL代码到Synthesis(综合)再到Gate Level(门级网表)的过程,RTL的目的是希望把人类思维所想要的功能型态,通过逻辑代码语言描述,演示成计算器可以解读的型式;而Synthesis便是将所述代码以逻辑电路的形式呈现出来,即有实际的电路生成,而不是只有凭空想象的逻辑思想。
在综合的过程中,首先,需要所述RTL代码(也就是.v文件)描述功能的逻辑思维,包含功能、时序、功耗等代码的演示;然后,基于特定工厂的综合库进行筛选,所述综合库包含.lib文件和工厂的CDK。即通过.v文件中对于功能、时序和功耗等的要求,配合.lib文件的查表和条件筛选,在工厂提供的CDK中调用最适合的单元或功能块。一般是通过Synopsys(新思科技)的综合工具Design Compiler进行综合,综合的过程中需要配合综合工具进行特定的约束,就可以生成门级网表。
而现有的SOC的开发流程中需要调用Reused IP去避免芯片生成的良率问题。使用Reused IP,即在综合时,调用Reused IP进行综合。而使用Reused IP生成的电路网表,符合.v文件中各种的电性参数要求。由于调用的是Reused IP,所以有实际的流片数据,即生成良率的资料,因此,生成的电路网表还可以来确保芯片生成的良率。
但并不是所有的功能块都有Reused IP可以调用,如果没有可以调用的ReusedIP,就必须重新设计IP核,不但耗时,也没有实际流片后的数据,所以没办法保证芯片生成的良率。
为了保证芯片生成的良率,提高流片的成功率,本发明提供了一种良率参数文件(.y文件)。且所述良率参数文件的生成方法,包括:
步骤S11:提供数据库,且所述数据库中具有多个单元的至少一种数据参数;
步骤S12:建立仿真验证平台,并对所述单元进行仿真得到仿真参数,确认所述仿真参数与所述单元的相应的所述数据参数的一致性;
步骤S13:设定所述仿真验证平台的约束条件,并通过所述仿真验证平台对所述单元进行蒙卡(Monte Carlo)仿真得到良率仿真结果,且所有单元的良率仿真结果归纳成良率参数文件。
在步骤S11中,所述数据库优选为.lib文件,而所述数据库中具有多个单元(cell)的至少一种数据参数,所述单元包括标准单元(standard cell)、输入输出单元(IO cell)以及IP核等基本信息,而数据参数包括时序(Timing)、面积(Area)、功能(functionality)和功耗(power)等。所述IP核(Intellectual Property Component)是可以重复利用的功能模块,其是一种已经开发完成的、针对特殊应用场景的、具有特定功能的且可以反复使用的功能模块。
所述标准单元包括由晶体管串联或者并联组成的基本型态器件和由所述基本型态器件串联或者并联组成的复杂型态器件。所述基本型态器件可以是反相器(Inverter)、与非门(NAND)和或非门(NOR)等基本逻辑单元,而其可能是由并联或者串联的晶体管10组成,例如由串联或者并联NMOS和PMOS组成,请参阅图1。所述复杂型态器件可以是半加器、全加器和缓冲器(Buffer)等较复杂的单元,其是由上述的基本逻辑闸(基本型态器件)的并联或串联组合而成,请参阅图2。
在步骤S12中,所述仿真验平台优选为Testbench。任何设计均有输入和输出,但是在软环境中即没有激励输入,也不会对设计的输出的正确性进行评估。而Testbench是模拟实际环境的激励输入和输出校验的一种"虚拟平台",可以对设计从软件层面上进行分析和校验。
在建立所述仿真验证平台之后,需要先验证所述仿真验证平台是否存在问题,即采用该仿真验证平台对数据库中的单元进行仿真得到仿真参数,通过确认仿真参数与所述单元的数据参数的一致性来验证仿真验证平台是否存在问题。确认所述仿真参数和所述单元的数据参数的一致性的方法包括:
步骤S121:选择数据库中的一坐标对应的数据条件;
步骤S122:将所述数据条件输入至仿真验证平台,得到仿真参数;
步骤S123:对比所述仿真参数与所述数据库中该坐标对应的数据参数是否一致。
所述数据库中的每一坐标对应着一种单元,所述单元具有至少一种数据参数,而所述数据参数是在一定的数据条件下得到的,即数据参数是与一定的数据条件相对应的。将所述数据条件输入至仿真验证平台,得到仿真参数,然后对比所述仿真参数与所述数据库中该坐标对应的数据参数是否一致(仿真参数在数据参数的规定范围内即为一致)。若所述仿真参数与所述数据库中该坐标对应的数据参数一致,则所述仿真验证平台没有问题;若所述仿真参数与所述数据库中该坐标对应的数据参数不一致,则所述仿真验证平台存在问题,需要根据电路重新调整,直至所述仿真参数与所述数据库中该坐标对应的数据参数一致。
例如,以电压良率表示,首先选择.lib文件中的坐标(1,1),即选择一反相器,然后建立反相器电路的testbech,并给定输入激励和输出电容负载,得到坐标(1,1)仿真时序波形图,参阅图3,从而得到仿真参数如表1所示。
表1仿真参数和数据库的数据参数
上升延迟(ns) | 下降延迟(ns) | 上升转换(ns) | 下降转换(ns) | |
仿真参数一 | 0.01545 | 0.01598 | 0.01954 | 0.01464 |
仿真参数一 | 0.01570 | 0.01580 | 0.02440 | 0.01660 |
数据参数 | 0.016754 | 0.016957 | 0.020350 | 0.015786 |
其中表1中的仿真参数一为根据公式得出的参数数值,而仿真参数二为根据仿真时序波形图得出的参数数值。当所述仿真参数在.lib文件中的数据参数的规定范围内(例如10%),即testbech建立没有问题。
在步骤S13中,设定所述仿真验证平台的约束条件,并通过所述仿真验证平台对所述单元进行蒙卡仿真得到良率仿真结果,且所有单元的良率仿真结果归纳成良率参数文件。所述仿真验证平台的约束条件可以为单元的信号输出、延迟时间或者输出频率满足设定要求。
例如,参阅图4,根据标准,50MHz的产品,其五级反相器的时序延迟为20ns,所以一级反相器的时序延迟为4ns,而良率的规范为±5%,所述五级反相器包括5个反相器20。即设定反相器20时序的良率容忍范围为±5%,也就是±0.2ns的约束条件。所述50MHz的产品的良率计算以.lib文件的坐标(1,1)(6,6)为例,即以下对坐标(1,1)进行良率的蒙卡仿真并得到仿真结果如图5~图9所示,对坐标(6,6)进行良率的蒙卡仿真并得到仿真结果如图10~图14所示。即仿真结果为:(x,y)=(1,1)=(0.0001pF,0.036848ns),Total Yield(总良率)=100%;(x,y)=(6,6)=(1.2pF,2.99771ns),Total Yield=73.8%。
由上述可得知,1000次的Monte Carlo仿真中,坐标(1,1)没有良率损失,即良率为100%;而坐标(6,6)有数据超出良率范围外,即良率为73.8%,参阅图15。
即将上述得到的仿真良率数据归纳到良率参数文件中,然后通过相同的方法可以得到不同坐标的仿真良率数据,并将不同坐标的数据归纳到良率参数文件中。所述良率文件的使用方法为:参照数据库的模板(例如.lib的模板,)给定与数据库一样的数据条件(例如上升转换时间和输出电容负载),通过查表的方式找到对应的良率数值。即良率参数文件的模板是根据数据库,例如.lib文件,的叙述和查表方式去描述的。下面以反相器的时序延迟为例,说明.lib的模板。
参阅图16,以反相器为例,单元的时序延迟取决于输出负载(output load)和输入信号的转换时间(input transition time),所述输出负载即为输出引脚Z的电容。所以延迟数据不只是单调关系,可能因为输出负载和输入信号转换时间的不同,造成上升和下降的延迟不一样,如图17和18所示。
多数.lib文件在描述时序关系时,以非线性模型,即通过二维查表的方式表示以下四个参数:上升延迟(Rise Delay或Rise Propagation Delay)、下降延迟(Fall Delay或Fall Propagation Delay)、上升转换(Rise Transition)和下降转换(Fall Transition)。例如,从上升沿的10%到90%,到下降沿的10%到90%的时间,统称为转换时间(Transition Time),参阅图18,即所述转换时间包括上升转换时间Tr和下降转换时间Tf。而再输入信号变化到50%VDD(Voltage Drain Drain,电源电压),到输出信号变化到50%VDD之间的时间,称为传播时间(Propagation Time)tPHL,参阅图19。
图20和图21是所述.lib文件中的反相器的代码内容。首先描述cell名称(为INVCLKHD2X)、面积(area)、单元的漏电功耗(cell_leakage_power)、输入Pin(引脚)A的负载电容(capacitance)和输出引脚Z的负载电容,还有其功能。其中“!A”表示输出”Z”为输入”A”的反转信号。Relate_pin是指连接Z的Pin是A,而timing_sense:negative_unate表示输入的反转和输出的翻转是相反的关系。即input rise(输入上升)对应output fall(输出下降);input fall(输入下降)对应output rise(输出上升)。参阅图21,图中cell rise表示从输入50%到输出上升沿50%的延迟,通过delay_template_6×6的查表模板表示所有的参数和对应的延迟关系。以图21中的cell rise为例,输入转换时间为0.036848ns,输出负载电容为0.0001pF时,对应的延迟应为0.016754ns。
由于良率参数文件的模板是根据数据库的模板,因此,良率参数文件的模板可参见图22。即可以根据给定与数据库一样的上升转换时间,和输出电容负载,通过查表的方式找到对应的良率数值。
通过上述的仿真方式,得到不同坐标下对应的时序良率,并通过综合工具产生.y文件。所述.y文件利用良率仿真结果,可以计算芯片生成的良率,且此仿真数据与流片后测试的数据相匹配,增加流片的成功率,减少开发成本和开发周期,可以在短时间内开发出新的SoC设计方案,大幅增加市场优势。
本发明还提供了一种门级网表的生成方法,参见图23,包括:
步骤S21:提供RTL代码和综合库,其中所述RTL代码用于描述单元功能的逻辑思维,所述综合库包括文艺库和数据库,所述文艺库具有工厂提供的单元,所述数据库具有所述单元的至少一种数据参数;
步骤S22:采用上述所述的良率参数文件的生成方法,生成所述数据库所对应的良率参数文件;
步骤S23:基于所述RTL代码、所述综合库以及所述良率参数文件,进行综合,以形成门级网表。
其中,在步骤S21中,所述综合库包括文艺库和数据库,其中所述文艺库具有工厂提供的单元,所述数据库具有所述单元的至少一种数据参数,且所述数据库基于所述RTL代码进行查表和条件筛选,并筛选出符合RTL代码的单元。
即在综合前,除了RTL代码(例如.v文件)和数据库(例如.lib文件)外,增加良率参数文件(即.y文件)。其中,.lib文件为工厂提供的单元参数数据库。.y文件通过上述提及的良率仿真的方法得到的良率数据归纳而成,并且可以根据得到的良率数据进行关联单元的良率预测。
在执行步骤S22之后且在执行步骤S23之前,还将所述RTL代码翻译成工具可读文件read_verilog,并进行综合前约束条件设定。所述综合前的约束条件可以包括:时序约束条件、功耗约束条件和良率约束条件。例如,所述时序约束条件:已经在.v描述功能时,也一并将时序约束进去;所述功耗约束条件:在环境设定时,约束电平电源为5V;所述良率约束条件:设定此电路的良率指针。
在步骤S23中,所述综合的过程包括:
步骤S231:在数据库中筛选符合RTL代码的单元;
步骤S232:对所述筛选出的单元进行敏感性分析,筛选出敏感性单元;
步骤S233:通过良率分析文件对筛选出的敏感性单元进行良率筛选。
步骤S234:由良率筛选之后的单元生成电路。
即在了解.v的功能、功耗、时序后,通过.lib文件找到符合需求的单元。通过电路敏感性分析,了解到每个单元对于电路的重要性,再通过良率参数文件对敏感性高的器件进行良率的筛选,即在其中符合功能、功耗和时序的器件中,再进行良率条件的选择。最终由良率筛选之后的单元生成电路。
在步骤S232中,由于需要进行后续的良率筛选,因此需要计算一个电路的良率,以简单的仿真电路来说,因为总和的电子单元不多,所以可以透过所有单元的良率分析,并且加总成完整电路的良率分布;但是现今的电路越来越复杂,如果透过分析所有的电路单元,是非常耗时且没有效率的方式,所以要透过电路的敏感性分析,敏感性分析可以知道每个组件对于电路影响程差异程度。例如电路中的某个电阻,通过由小到大改变电阻值,并注意电路的输出是否受到极大的影响(电路的输出是否超出规定的范围),从中可知此电阻对于电路的敏感性程度。或者电路中的某一单元,改变单元的电平,可以通过输出的逻辑信号的变化判断是否是敏感性单元,例如输出的逻辑信号从0变化到1则是敏感性单元。
而了解此电路敏感性较大的单元后,对于这些单元进行良率的分析,每个单元有属于自身器件的参数,最小值、最大值和标准值,我们透过蒙卡计算,以大量的计算次数构成蒙卡统计分布,所述蒙卡分布就是将单元由最小值到最大值进行良率分析,所形成的良率分布曲线,再将各个敏感性单元进行良率的加总,这样就可以产生此电路的良率预测和仿真。
例如标准单元的良率预测。即可以通过分析所述标准单元参数,进行标准单元的良率分析。所述标准单元的良率可以通过许多方面表达出来,例如标准单元的信号输出是否有达到要求、时序延迟或者输出频率等。
所述标准单元良率的计算方法:串联电路中标准单元中的各组件良率相乘得到该标准单元的良率;并联电路中标准单元中的各组件良率中良率最小值为该单元的良率。
例如,所述标准单元为CMOS反相器,通过输入电平的值和输出电平的值是否符合要求来评估器件的良率。参阅图24,所述CMOS反相器为一个PMOS和一个NMOS串联,可以通过分别计算所述PMOS和NMOS的高、低电平的蒙卡(Monte Carlo)分布来预测所述PMOS和NMOS的功率输出的良率。例如所述PMOS导通的低电平为1.2V,所述PMOS截止的高电平为3.3V,则可以分别计算高、低电平的蒙卡(Monte Carlo)分布,然后取分布的95%置信区间的下限和95%的置信区间的上限,得到最小值(Min.Value)、平均值(Mean Value)和最大值(Max.Value),从而预测所述PMOS的功率输出的良率。而NMOS导通电平为3.3V,截止电平为1.2V,则依照上述的方式预测NMOS的功率输出的良率。假设通过上述蒙卡分布得到的所述PMOS的良率为90%,NMOS的良率为80%,虽然反相器的PMOS和NMOS是串联的,但因为器件与输出的关系并不是串联关系,是独立关系,所以反相器单元的良率取此单元中的各组件良率的最小值,即良率为80%。
例如,所述标准单元为NOR闸,参阅图25,所述NOR闸是由串联的PMOS和并联的NMOS组合而成,根据上述CMOS反相器中各组件得到良率的方法可以得到PMOS和NMOS的良率,例如各PMOS的良率为90%、各NMOS的良率为80%,因为PMOS是串联的,所以PMOS的良率是相乘关系:90%×90%=81%,而NMOS是并联的,所以NMOS的良率为最低值,为80%。又因为PMOS和NMOS对此单元来说为独立关系,因此所述NOR闸单元的良率为此单元中的各组件良率的最小值,即良率为80%。
例如,所述器件为Buffer,为两个反相器串联。由上述可知,假设一个反相器良率为80%,则串联的良率为相乘关系,为80%×80%=64%。
因此,多个所述单元组成电路,若各单元之间串联,则所述电路的良率为各单元的良率的乘积;若各单元之间并联,则所述电路的良率为各单元的良率中的最小值。
所述门级网表的生成方法如下面的实施例。
例如,所述.v文件先使用代码描述需要的功能,参阅图26,需要产生图中的信号状态,即在RD为1时,RD1延迟4ns置0,而RDP延迟5ns置0,将以上条件写成代码,生成.v文檔。参阅图27,即图中内容的意思是在.v文件中用代码描述需要三个信号状态,在RD为1时,RD1延迟4ns置0,而RDP延迟5ns置0。
所述.lib文件记载工厂提供的单元参数,所以在.lib中可以寻找到符合RD到RD1有4ns延迟,且RD到RDP有5ns延迟的模块,并有5V的电源幅度,参阅图28-图31,为综合过程自动调用的反相器,并且其功耗、时延符合需求。不同的WP(反相器中的筒状硅层周长)、WN(反相器中的岛状硅层的外周长)、LP(反相器中的筒状硅层的沟道长度)、LN(反相器中的岛状硅层的沟道长度)代表的不同的反相器。即通过.lib找到了四种不同参数的反相器,并且以七个反向组合成逻辑电路,符合功耗时序要求。通过.v的功能及时序条件,先在.lib查找可以信号翻转并且可以延迟的电路器件,参见图32,所以找到几个反相器,可以满足RD、RD1、RDP的相互关系,也可以满足电平电源为5V。
一般综合过程在此便能透过.v文件的要求和.lib文件的查找生成门级网表,但是本实施例中在通过.y文件的良率约束,可以更精确地找到更适合的电路组件,.y文件的内容为各单元在各参数范围为多少良率的统计分布。例如,图33中的.y文件,代表其各指标的良率预测,假设此电路要求输出电压良率output_votltage_range(lower)要100%,则此器件符合需求。
而将上一步.lib文件后所符合需求,调用的器件,通过其相对应的.y文件比对良率是否在要求内,进而选择与否,然后再通过单元良率的计算方法计算出总良率,因为是7个反相器串接,所以良率是相乘关系,所以是100(%)×100(%)×100(%)×100(%)×100(%)×100(%)×100(%)=100(%),所以总良率为100%,即.y文件与流程做连接的方式,也就是我们.y文件中对良率参数的约束。
因为有良率的约束,通过.y文件筛选上一步通过.lib文件找到的反相器,所以通过这综合流程所产生的电路,便一定是由这7个不同的反相器所组成,可以满足RD为1时,RD1延时4ns后置0,而RDP延迟5ns后置0,参阅图34。
在综合时除了要配合.lib时序文件进行相对应的时序查表,也要配合.y良率文件进行良率筛选,所以所生成的门及电路会较原先没有使用.y文件的更为严谨。
上述方法生成的电路网表,有完整的良率仿真数据,不需要通过流片,便可以有可靠的资料,且此仿真数据与流片后测试的数据相匹配。即通过此方法可以在流片前,获取良率仿真参数,增加流片的成功率,减少开发成本和开发周期,可以在一年内开发出新的SoC,大幅增加市场优势。
本发明还提供了一种芯片的开发流程,包括:
步骤S31:采用上述所述的门级网表的生成方法形成门级网表,以得到相应的芯片设计;
步骤S32:对所述芯片设计进行一次流片以及流片后的一次性能验证;
步骤S33:当所述芯片设计通过所述性能验证时,进行试量产。
即在芯片设计的步骤之后只需要一次流片和性能验证,而现有技术中的芯片设计采用.lib文件与.v文件(RTL代码)进行综合,然后通过调用Reused IP去避免芯片生成良率的问题,需要采用两次流片和两次性能验证。因此,本发明的芯片的开发流程可以提高流片的成功率,缩短芯片的开发周期和开发成本。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于本发明技术方案的保护范围。
Claims (10)
1.一种良率参数文件的生成方法,其特征在于,包括:
步骤S11:提供数据库,且所述数据库中具有多个单元的至少一种数据参数;
步骤S12:建立仿真验证平台,并对所述单元进行仿真得到仿真参数,确认所述仿真参数与所述单元的相应的所述数据参数的一致性;
步骤S13:设定所述仿真验证平台的约束条件,并通过所述仿真验证平台对所述单元进行蒙卡仿真得到良率仿真结果,且所有单元的良率仿真结果归纳成良率参数文件。
2.如权利要求1所述的良率参数文件的生成方法,其特征在于,所述数据库包括.lib数据库,所述单元包括标准单元、输入输出单元以及IP核,而所述标准单元包括由晶体管串联或者并联组成的基本型态器件和由所述基本型态器件串联或者并联组成的复杂型态器件。
3.如权利要求2所述的良率参数文件的生成方法,其特征在于,多个所述单元组成电路,若各单元之间串联,则所述电路的良率为各单元的良率的乘积;若各单元之间并联,则所述电路的良率为各单元的良率中的最小值。
4.如权利要求1所述的良率参数文件的生成方法,其特征在于,所述仿真验证平台的约束条件包括单元的信号输出、延迟时间或者输出频率满足设定要求。
5.如权利要求1所述的良率参数文件的生成方法,其特征在于,确认所述仿真参数和所述单元的数据参数的一致性的方法包括:
步骤S121:选择数据库中的一坐标对应的数据条件;
步骤S122:将所述数据条件输入至仿真验证平台,得到仿真参数;
步骤S123:对比所述仿真参数与所述数据库中该坐标对应的数据参数是否一致。
6.一种门级网表的生成方法,其特征在于,包括:
步骤S21:提供RTL代码和综合库,其中所述RTL代码用于描述单元功能的逻辑思维,所述综合库包括文艺库和数据库,所述文艺库具有工厂提供的单元,所述数据库具有所述单元的至少一种数据参数;
步骤S22:采用权利要求1~5中任一项所述的良率参数文件的生成方法,生成所述数据库所对应的良率参数文件;
步骤S23:基于所述RTL代码、所述综合库以及所述良率参数文件,进行综合,以形成门级网表。
7.如权利要求6所述的门级网表的生成方法,其特征在于,在执行步骤S22之后且在执行步骤S23之前,还将所述RTL代码翻译成工具可读文件,并进行综合前约束条件设定;在步骤S23中,采用综合库和所述良率参数文件对所述工具可读文件进行综合,形成所述门级网表。
8.如权利要求6或7所述的门级网表的生成方法,其特征在于,在步骤S23中,所述综合的过程包括:
步骤S231:在数据库中筛选符合RTL代码的单元;
步骤S232:对所述筛选出的单元进行敏感性分析,筛选出敏感性单元;
步骤S233:通过良率分析文件对筛选出的敏感性单元进行良率筛选;
步骤S234:由良率筛选之后的单元生成电路。
9.如权利要求7所述的门级网表的生成方法,其特征在于,所述综合前的约束条件包括:时序约束条件、功耗约束条件和良率约束条件。
10.一种芯片的开发流程,其特征在于,包括:
步骤S31:采用权利要求6至9中任一项所述的门级网表的生成方法形成门级网表,以得到相应的芯片设计;
步骤S32:对所述芯片设计进行一次流片以及流片后的一次性能验证;
步骤S33:当所述芯片设计通过所述性能验证时,进行试量产。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010366438.7A CN111581899A (zh) | 2020-04-30 | 2020-04-30 | 良率参数文件和门级网表的生成方法以及芯片的开发流程 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010366438.7A CN111581899A (zh) | 2020-04-30 | 2020-04-30 | 良率参数文件和门级网表的生成方法以及芯片的开发流程 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111581899A true CN111581899A (zh) | 2020-08-25 |
Family
ID=72124626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010366438.7A Pending CN111581899A (zh) | 2020-04-30 | 2020-04-30 | 良率参数文件和门级网表的生成方法以及芯片的开发流程 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581899A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112613635A (zh) * | 2020-11-24 | 2021-04-06 | 全芯智造技术有限公司 | 芯片产品的良率预测方法、存储介质及终端 |
CN113688587A (zh) * | 2021-08-31 | 2021-11-23 | 上海商汤阡誓科技有限公司 | 一种电路布图的生成方法、装置、计算机设备及存储介质 |
CN115510780A (zh) * | 2022-09-30 | 2022-12-23 | 中国人民解放军国防科技大学 | 一种基于ppa预测的门级网表自动生成方法 |
CN117347839A (zh) * | 2023-12-05 | 2024-01-05 | 飞腾信息技术有限公司 | 芯片测试电路及芯片 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090222775A1 (en) * | 2008-02-28 | 2009-09-03 | Arm Limited | Characterising circuit cell performance variability in response to pertibations in manufacturing process parameters |
CN103577646A (zh) * | 2013-11-09 | 2014-02-12 | 深港产学研基地 | 一种快速估算集成电路良率的计算方法 |
CN106326535A (zh) * | 2016-08-16 | 2017-01-11 | 北京航空航天大学 | 一种提升高性能集成电路产出的速度分级优化结构及方法 |
CN109087914A (zh) * | 2017-06-14 | 2018-12-25 | 三星电子株式会社 | 集成电路及产生集成电路的布局的计算机实施方法 |
CN109426698A (zh) * | 2017-08-30 | 2019-03-05 | 三星电子株式会社 | 预测半导体集成电路良率的装置和半导体器件的制造方法 |
-
2020
- 2020-04-30 CN CN202010366438.7A patent/CN111581899A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090222775A1 (en) * | 2008-02-28 | 2009-09-03 | Arm Limited | Characterising circuit cell performance variability in response to pertibations in manufacturing process parameters |
CN103577646A (zh) * | 2013-11-09 | 2014-02-12 | 深港产学研基地 | 一种快速估算集成电路良率的计算方法 |
CN106326535A (zh) * | 2016-08-16 | 2017-01-11 | 北京航空航天大学 | 一种提升高性能集成电路产出的速度分级优化结构及方法 |
CN109087914A (zh) * | 2017-06-14 | 2018-12-25 | 三星电子株式会社 | 集成电路及产生集成电路的布局的计算机实施方法 |
CN109426698A (zh) * | 2017-08-30 | 2019-03-05 | 三星电子株式会社 | 预测半导体集成电路良率的装置和半导体器件的制造方法 |
Non-Patent Citations (11)
Title |
---|
GREG MILLER: "Using Statistical Design", 《HTTPS://EDADOCS.SOFTWARE.KEYSIGHT.COM/DISPLAY/ADS2009/USING+STATISTICAL+DESIGN》 * |
GREG MILLER: "Using Statistical Design", 《HTTPS://EDADOCS.SOFTWARE.KEYSIGHT.COM/DISPLAY/ADS2009/USING+STATISTICAL+DESIGN》, 27 May 2014 (2014-05-27), pages 1 - 18 * |
JOSEPH CROP ET AL: "Design automation methodology for improving the variability of synthesized digital circuits operating in the sub/near-threshold regime", 《2011 INTERNATIONAL GREEN COMPUTING CONFERENCE AND WORKSHOPS》 * |
JOSEPH CROP ET AL: "Design automation methodology for improving the variability of synthesized digital circuits operating in the sub/near-threshold regime", 《2011 INTERNATIONAL GREEN COMPUTING CONFERENCE AND WORKSHOPS》, 1 September 2011 (2011-09-01) * |
YAKUN SOPHIA SHAO ET AL: "Aladdin: A pre-RTL, power-performance accelerator simulator enabling large design space exploration of customized architectures", 《2014 ACM/IEEE 41ST INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA)》 * |
YAKUN SOPHIA SHAO ET AL: "Aladdin: A pre-RTL, power-performance accelerator simulator enabling large design space exploration of customized architectures", 《2014 ACM/IEEE 41ST INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA)》, 14 July 2014 (2014-07-14) * |
张毅 等: "《仿真系统分析与设计》", 国防工业出版社, pages: 239 - 240 * |
彭进等: "28nm SoC芯片设计方法及流程实现", 《集成电路应用》, no. 05, 10 May 2016 (2016-05-10) * |
许斌等: "VLSI CMOS模拟集成电路可靠性仿真设计技术", 《微电子学》 * |
许斌等: "VLSI CMOS模拟集成电路可靠性仿真设计技术", 《微电子学》, no. 02, 20 April 2013 (2013-04-20) * |
马光胜 等: "《SoC设计与IP核重用技术》", 31 August 2006, 国防工业出版社, pages: 239 - 102 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112613635A (zh) * | 2020-11-24 | 2021-04-06 | 全芯智造技术有限公司 | 芯片产品的良率预测方法、存储介质及终端 |
CN112613635B (zh) * | 2020-11-24 | 2023-04-07 | 全芯智造技术有限公司 | 芯片产品的良率预测方法、存储介质及终端 |
CN113688587A (zh) * | 2021-08-31 | 2021-11-23 | 上海商汤阡誓科技有限公司 | 一种电路布图的生成方法、装置、计算机设备及存储介质 |
CN113688587B (zh) * | 2021-08-31 | 2024-03-22 | 上海商汤阡誓科技有限公司 | 一种电路布图的生成方法、装置、计算机设备及存储介质 |
CN115510780A (zh) * | 2022-09-30 | 2022-12-23 | 中国人民解放军国防科技大学 | 一种基于ppa预测的门级网表自动生成方法 |
CN115510780B (zh) * | 2022-09-30 | 2023-03-31 | 中国人民解放军国防科技大学 | 一种基于ppa预测的门级网表自动生成方法 |
CN117347839A (zh) * | 2023-12-05 | 2024-01-05 | 飞腾信息技术有限公司 | 芯片测试电路及芯片 |
CN117347839B (zh) * | 2023-12-05 | 2024-03-12 | 飞腾信息技术有限公司 | 芯片测试电路及芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581899A (zh) | 良率参数文件和门级网表的生成方法以及芯片的开发流程 | |
US6499131B1 (en) | Method for verification of crosstalk noise in a CMOS design | |
CN101539958B (zh) | 一种标准单元库和集成电路的设计方法和装置 | |
CN107784136B (zh) | 一种标准单元库的创建方法及系统 | |
US10789406B1 (en) | Characterizing electronic component parameters including on-chip variations and moments | |
US8205177B2 (en) | Non-linear receiver model for gate-level delay calculation | |
US20150199460A1 (en) | Custom circuit power analysis | |
Tehrani et al. | Deep sub-micron static timing analysis in presence of crosstalk | |
US20030212967A1 (en) | Method and apparatus for custom design in a standard cell design environment | |
US7979262B1 (en) | Method for verifying connectivity of electrical circuit components | |
CN113723045A (zh) | 数字集成电路的设计方法 | |
Gupta et al. | Energy and peak-current per-cycle estimation at RTL | |
CN219872384U (zh) | 集成电路设计优化的装置及存储集成电路设计指令的装置 | |
US20190384869A1 (en) | Integrated system of pdn implementation and digital co-synthesis | |
US6532576B1 (en) | Cell interconnect delay library for integrated circuit design | |
US8555228B2 (en) | Tool for glitch removal | |
Ahmadi et al. | Symbolic noise analysis approach to computational hardware optimization | |
Jaramillo-Toral et al. | Automated IC Design Flow Using Open-Source Tools and 180 nm PDK | |
US10614182B2 (en) | Timing analysis for electronic design automation of parallel multi-state driver circuits | |
Martins et al. | Capacitance and power modeling at logic-level | |
TWI759817B (zh) | 系統單晶片級電源完整性模擬系統及其方法 | |
Miller et al. | Behavioral modeling in industrial IC design experiences and observations | |
US20240143878A1 (en) | Delay calculation with pattern matching for static timing analysis | |
US6389577B1 (en) | Analyzing CMOS circuit delay | |
US20100274548A1 (en) | Clock Approximation for Hardware Simulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200825 |