提升芯片投制设计的进度估算
芯片设计的进度经常估不准,连带影响芯片的开发成本、芯片的上市时间、及上市后的销售。许多芯片投制商(ASIC Supplier)会用总项目管理数据库来估算芯片投制设计的进度。同时绝大多数的进度估算都认为,投制设计完成的时间取决于芯片设计的复杂度,而复杂度多以电路中的逻辑门数, 存储器位数, 和时钟频率等来衡量。
然而,有家无晶圆厂的芯片投制在2008年完成一份芯片投制设计项目的内部研究,该研究显示,芯片从交付netlist后开始进行投制设计,一直到产生GDSII数据库后完成设计,此一投制过程时间的长短,其实与交付netlist的芯片设计商之成熟度密切关连。
举例来说,一线芯片设计商与三线芯片设计商均交出最终定案的芯片netlist,且芯片的复杂程度相近,则三线芯片商必须比一线芯片商多等待一倍的时日才能取得投制完成后的GDSII成果。
以下本文将解说该芯片项目及其进度数据,了解为何一线与三线间为何有如此差异,并藉此启发出更佳的规则、方法,以提升芯片设计进度的估算精确性。
本文所用的芯片投制项目进度数据,其项目的起讫认定,是从已完成最终定案的netlist开始,一直到GDSII数据库产生为止,并以单一家芯片投制商于2008年间所承接、完成的项目为依据。该投制商于2008年共承接、完成28个项目,其中19个为一线(芯片设计)业者所委托,4个来自二线业者,另5个来自三线业者。
在此,一线业者指的是已良善确立其主要部门,或者是其芯片已形成一个或多个类群,且类群化已达高度成熟性。而三线业者指的是小规模的新创公司,并专注于发展及推行新技术、新(芯片)产品。至于二线业者则在各方面均介于一线与三线之间,包括规模性、(芯片)产品成熟性、产品线的广度等等。请参考如下的表1,该表显示出一线、二线、三线业者在芯片投制项目上的相关信息。
表1 从最终定案的netlist到产生GDSII的设计时间表
表1
从表中可知,一线、二线、三线业者从netlist到tapeout(指正式将芯片设计交由晶圆厂生产成芯片)的天数分别为31天、45天、61天。其中一线与三线间有较大的差异,此差异大于一线与二线间的差异,也大于三线与二线间的差异。而较大的差异性也意味着个中的分析将能有较大且确切的斩获,因此以下本文将特别聚焦在一线与三线间的分析比较。
上表的数据也显示,芯片投制设计项目的复杂度,极大程度取决于平均门数、平均存储器位数、平均时钟频率等,关于此无论是一线、二线、三线业者均是相同的。
在平均门数方面,三线业者的用量较一线多出11%,若将此进行线性扩展对应,则会多增加3天的开制工程时间。平均存储器位数方面也是一线与三线间有所差异,不过,存储器个数(memory instance count)的差异所造成的影响,与内存在电路布局、芯片面积等方面的影响相比相对较小。即便如此,对三线业者的投制项目而言,所增加的电路布局上的工作及执行投制设计的软件工具运作时间等,也只会在整个项目中多增加几天时间而已。
在频率频率方面,一线业者的平均频率与三线业者的平均频率相比,约仅高出8%,由于差异太小,难以看出是否此为影响投制进度时间的主要因素。另外,一线业者使用较先进的制程节点技术,如此会增加设计后的验证心力,进而略增投制时间,不过使用旧制程的三线业者也会为了让芯片有较佳的频率表现而进行时序收敛(timing closure)的挑战性设计,此亦同样会略增投制时间。总体来说,一线与三线在投制设计上的差异太小,无法从中解释为何一线与三线间有长达30天的项目进度落差。
表1的所有数据都来自同一家无晶圆厂的芯片投制商,所以表中的所有投制项目用的都是同一种设计方法、同一种设计流程,在逻辑闸用量上、电路配布的密度目标等也都是相近。进一步的,参与、投入投制设计的设计工作者的能力水平,以及由工作者构成的设计团队等也都类似,而管理各设计团队的则是同一组总项目管理团队。
管理团队追查所有芯片投制设计的主要设计复杂性部份,也追查一线与三线的芯片实现差异性等,均因差异过小而难以解释为何项目进度时间有如此大的落差。唯一可解释的是一线、三线业者所交付的定案版netlist有极大的不同,进而导致后续投制进度时间的大落差。因此接下来将探讨一线与三线芯片设计商的设计工程团队,试图了解其是否为导致项目时程差异的主因。
由于一线与三线业者及其设计团队业者有着太多的不同点,所以本文只专注在会影响netlist稳定性、netlist质量方面的因素,此处的差异将对投制项目的进度造成极大影响、冲击。许多一线业者的项目是以之前已完成的项目为基础进行强化或升级,之前的项目能给新项目一个稳定的基础,同时在发展更高质量的netlist时能有更稳当的发展路径。
一线业者通常拥有内部自属的实体电路设计团队,如此他们可以决定投制工程的哪些部份要内部团队自行完成,以及哪些部份要委外交由芯片投制商完成,一线业者自属的内部实体电路设计团队多用来支持公司内极先进的芯片设计项目,这类的项目需要紧密的工程回复与反应。若项目是以既有设计进行强化、升级,则很适合直接委外,这表示一线业者通常是将相对简洁、稳定的netlist委外设计(委给芯片投制商)。
另外,一线业者通常有详整的项目定义,及开制设计完成后的接受性准则、依据,包括此次项目的诉求特点、规格、目标市场等,均经过仔细的检视才批核。一旦一线业者批准并启动一个设计项目,其主设计就极少再更动,如此设计目标的设计后的成效结果就相当稳定,同时能进一步提升设计的稳定性与质量。
相对的,多数的三线业者处于草创阶段,正摸索发展与建立其(芯片)产品及(芯片)技术,在新产品、新技术的定义上没有太多的过往设计可参考、倚赖。因此,与许多一线业者不同的,多数三线业者没有太多的余裕来主掌现有的设计项目,多数三线业者也无法评断是否该投资建立自属的内部实体电路设计团队,亦无法评断是否该购买EDA(电子设计自动化)相关的电路布局、线路绕布等工具。
因此多数三线业者将实体电路的设计工作委外,有关实体电路的设计内容与技术成熟性等,均难有进一步的关注或涉入。为了投制出客户交付的新的芯片设计和技术方案,三线业者就必须以更灵巧、弹性的手法来达成。
举例而言,如果(但很有可能发生)有一个大客户XYZ签订一纸合约,将大量采买新创公司ABC的芯片,可是ABC的芯片在封装上却不合乎大买家XYZ的需求,而ABC公司也找不到更有吸引力的买主或市场,这时ABC公司的设计团队就必须停止现有的设计,并重新设计该芯片的I/O环(I/O Ring,指接近封装接脚、接线的接口电路)来因应大买家所期望使用的封装型态。如此原初设计的规格及netlist就必须更新,进而延误netlist转化成GDSII的时间。
另外,一线业者与三线业者在结构组成上也有所不同,一线业者通常有完整、近似的前案设计,也拥有既定的设计流程及具凝聚力的设计团队,三线业者在设计流程上经常是设计团队开发完电路后,也由同一组团队进行设计除错。进一步的,一线业者可以取用较多的工程资源与EDA工具,且随着时间许多项目参与者可从中获得学习,进而提升到不错的水平。许多一线业者的工程师拥有比较专同时也比较深的经验实务,不过多数项目多只用及少数关键工程师及具广、深历练的管理者,以此共同推动项目进行。
而三线业者,由于要保存现金流量及控管有限的创业资金,因此必须节省开销,多数三线业者只拥有少数的关键工程师及具深广经验的管理者来投入项目。不过,三线业者通常缺乏传统工程与EDA工具资源,以致没有余力如一线业者般地执行诸多具系统、条理、且详整的设计确认,导致冲击三线业者的netlist的质量、稳定性。此外,三线业者的资源也只能进行有限的设计验证、除错、及问题排解,如此也延误了netlist转化成GDSII的时间进度。
以下我们将说明一种具启发性的规则,该规则可协助我们强化进度推估。进度时程的推估向来诡谲多变,其中牵涉了项目时程的精准度或是现实性,此与企业文化息息相关,同时也与「业务、营销团队与研发团队间的互动」息息相关。
有关进度推估,有的公司是实行一贯、固有的高度最佳化情境与假设来推算,又有的公司是致力于最大的进度精准度与可预测性来推算。如果有人很幸运的是在一家倾向于实行精准现实进度的芯片公司,则先取用一线业者的方式来进行进度估算,即是以逻辑闸用量、频率、及内存容量等来推估,之后将此推估套用于二线、三线业者的设计时,则会往上追加时间。
举例而言,二线业者且其营销团队、研发团队均受过良好训练,其进度估算就可逼近于一线业者的进度估算,而三线业者缺乏工程资源则必须延长设计时程,进而增加进度时间。
如果有个人所在的芯片公司,其进度是以一线到底式的瀑布流程为假设,即以高度最佳化的情境为设想,如此想强化进度估算的精准性就会出现极大的问题,有可能会在从高度最佳化进度到真实进度的突然转变时, 遭遇公司内部强大的阻力。
为改善估算精准度,初始的工作应致力于将原本高度最佳化的进度调整成很积极但却可行、合理的进度。
以上的讨论倾向于反映出二线、三线业者中的不佳工程、营销与业务团队,多数公司里的多数设计、营销及业务团队都非常专注自有领域,并尝试作出大的贡献,但却忽视了公司的处境。一线、二线、三线间的进度不同是由于公司情境的好坏因素,其影响性高过于控制设计、营销、业务团队。与其把心力用于强化、缩短芯片的设计时间,则更建议专注在规划及问题排解,而不是对抗。
结论是,表中的28个委托投制案,其交托的客户已归为一线、二线、三线,同时也依不同线别来列出其委托案的平均设计复杂度。由表中可知,同样的芯片投制商,同样从交付netlist到完成GDSII,一线委托案所需的时日能比二线快约50%,而能比三线快约100%。所以,在此建议当修订原有的时程估算方法,过去仅以逻辑门数、存储器位数、时钟频率等技术复杂度的方式来估算芯片开制所需的时间,必须尝试调整成以业者一线、二线、三线等区别来推估开制时间。
不过,每家公司及其投制工程团队均有所不同,因此项目时程的修改、调整须以逐案、逐案累积而得的基础来评断,此亦成为一个有趣且值得深入探讨的议题,包括不同线别业者的前段设计时间,以及项目启动, 从接受初始netlist到GDSII完成的时间。
评论
查看更多