设计复杂度并非简单等于芯片中晶体管的数目。本文中提出了一种精确量化分析IC复杂度的方法。
- 定义设计生产率
- 公平比较是关键
- 归一化方法
- 归一化的精确性
- 网站推荐
Ronald E. Collett
总裁兼 CEO
William E. Guthrie
执行副总裁
Numetrics Management Systems Inc.
对电子行业的半导体和系统设计公司来说,提高IC设计生产率要求变得越来越迫切。具备快速设计数百万门复杂芯片的能力,就意味着极大的竞争优势,而做到这一点,提高设计生产率是竞争中取胜的关键。
目前,由于从工艺精湛的硅片工厂可以获得各种芯片制造服务,从而令芯片外包制造业呈蓬勃发展之势,其结果使具有晶圆厂的半导体公司和没有晶圆厂的半导体公司的设计领域趋于平衡。由于没有晶圆厂的芯片设计公司与垂直集成器件制造商一样,都能接触和利用先进的制造工艺,因而,拥有晶圆厂的公司不再具备过去那样的竞争优势。设计能力才是竞争力的差异所在。
由于半导体公司加强了设计能力并扩大了产品线,系统制造商必须将他们的产品与用半导体厂商出售的最新芯片构成的产品区别开来。因此,系统制造商必须设计比半导体公司更先进的ASIC,以便实现具备竞争优势的产品差异性。对系统制造商来说,提高设计生产率的需求从未像今天这样紧迫。
由于工程资源的缺乏,在改善生产率时无论是半导体设计公司还是系统制造商,都面临日益恶化的竞争挑战。因此他们不得不增加设计产量和提高现有工程设计队伍的效率。总而言之,在电子行业,设计生产率正成为公司之间获得竞争优势的关键因素。
拥有世界级的设计生产率就等同于具备世界级的快速面市能力。提高设计生产率的中心是解决设计生产率的计算问题,这正是过去12到24个月内各领先电子公司积极建立设计生产率基准的原因所在。
定义设计生产率
如何定义设计生产率? 首先,我们需要探究普通的生产率的概念,它定义为“生产量”除以生产该产品的“劳动支出”,于是得到单位劳动输入的生产量。这里的劳动单位可以是每人小时。
在制造业中,生产率定义为“增加价值”除以“劳动支出”或简单的表示为“每人每小时的增加价值”,这里的“增加价值”定义为最终产品的售价减去材料费用。制造业生产率的最终定义为“每人每小时创造的美元数”。
同理,我们可以定义芯片设计生产率。此时,分母仍然是工程支出(engineering effort)。但分子是什么呢?也就是说,芯片设计团队的产出是多少?他们生产什么?显然,他们生产用晶体管和门电路表示的各种电路芯片。不过,无论是晶体管数还是门数都无法精确地反映出不同芯片的设计复杂度。
例如,一般地说模拟电路比数字电路复杂,因此需要付出更多的工程支出。设计包含95%模拟电路的10万个晶体管芯片比设计包含95%数字电路的相同规模的芯片所付出的劳动要多得多。事实的确如此,
图1:IC中晶体管的数量以数百万计。该数据说明,在晶体管数量与工程总支出之间几乎没有关连
(图1)说明设计一个芯片时,在晶体管数和设计支出之间几乎没什么关系。许多晶体管数量较多的设计反而比许多小型的设计需要较少的支出。
因此,用“每个工程师每小时设计的晶体管数”或“每个工程师每小时设计的门数”来定义设计生产率是不精确的。我们需要一种衡量设计人员输出的单位,该单位精确地描述芯片的复杂度。复杂度指“设计的困难程度”或“设计一种芯片所需的工程支出”。很明显,设计越复杂,支出越多。当我们说一个设计比另外一个复杂时,意味着那一个设计需要更多工程支出。
例如,当我们说一个芯片的复杂度是1万个复杂度单位,另外一个芯片的复杂度是5千个复杂性单位,那么,前者将需要两倍的设计支出,因而比后者复杂两倍。
因此,通过计算花费在每个芯片上的设计支出数量,可以对每个芯片的复杂度进行划分。这就得到了生产率的精确度量----每个工程师每小时的复杂度单位(complexity units)。当然,这是针对一个有1万个晶体管的设计和另外一个有5千个晶体管的设计的明显对比,前者的复杂度不一定是后者的两倍。
通过精确地量化复杂度,我们能够对开发不同复杂度芯片的团队进行公平的比较,因此,它提供了一种衡量每个设计团队生产率的尺度,同时还可以计算生产率。
Numetrics管理系统有限公司开发了一组称为归一化方法的专有技术以实现了这一目标。归一化算法可对不同的项目精确地量化芯片设计的复杂度,量化与器件的应用、设计方法、EDA工具、设计流程、设计实践或团队组织成分等因素无关。考虑了所有影响复杂度的主要因素之后,归一化可以量化复杂度,然后,它可计算出每个芯片的复杂度单位的数目。
公平比较是关键
精确地计算IC设计生产率意味着比较不同项目团队的工程表现。因此,必须确保公平的比较。 公平比较需要两种交叉的方法。 第一,必须正确地量化所有芯片的相对复杂度,量化的方法要对被测量的全部项目保持一致。如上所述,这需要一种精确地量化复杂性的度量单位。
第二,要精确计算设计生产率必须比较特性相似的项目。例如,可以将应用相似的项目分为一组,设计风格相似的项目分为另一组,并尽可能多地按相似性来分组。恰当的分组需要一个大的项目数据库支持。
归一化方法和相似设计分组的结合,在满足公平客观比较的前提下,可以对设计团队的生产率和整个项目团队成绩进行有意义的计算。
归一化方法
归一化对于计算生产率来说至关重要。前面介绍的工程支出的概念就代表了复杂度。于是,精确地测量复杂性的第一步是考察一个芯片影响工程支出的那些特性。这些特性包括电路类型、时序约束、复用的数量、体系结构、硅密度和固件等等。如果我们能够识别所有的主要复杂度的属性并针对每一个属性开发精确的权重因子,那样,我们就可以制定一种量化复杂度的方法。
一旦我们获得全部属性的权重因子,就可以将它们应用到芯片的复杂度的计量之中。然后,就能计算目标芯片的复杂度单位的数目,它是复杂度的定量表示。这就是Numetrics公司的设计生产率管理系统(DPMS)用以执行归一化的方法。
归一化的关键是识别出主要复杂度属性和开发精确的权重因子。为了识别关键的属性,CII已经与电子工业的许多公司和设计团队合作了多年。DPMS采用一种专有的方法(归一化方法的一部分)来确定主要复杂度属性的精确权重因子。
这种归一化方法生成一种称为归一化晶体管(normalized transistor)的复杂度单位对芯片复杂度进行量化。芯片的复杂度越高,归一化晶体管的数目越大。归一化晶体管只是一种复杂度单位,它不代表晶体管。
此外,DPMS使用权重因子精确地确定一个特定芯片设计中归一化晶体管的数量。归一化晶体管的数量仅取决于芯片的复杂度属性的特性。
归一化的精确性
现在,我们把归一化方法应用到图1所示的设计项目,以此计算每一设计的归一化晶体管数量并用数据重新绘制曲线。
图2:归一化晶体管数量与每人-工作周的关系曲线。工程总支出的52%耗费在解决固有的复杂性问题上
在(图2)中,X轴是归一化晶体管的数量,Y轴是开发该芯片所需要的支出。在此,可以看到结果与图1的不同。
图2说明归一化晶体管数量和设计一个芯片所需要的支出之间的相关性很大。反映数据线性相关性的R2因子通过一个最小平方回归分析产生,其数值为0.520,因此,52%的工程支出归因于芯片的固有的复杂性。这个测量复杂性的方法为DPMS用户提供了量化芯片的设计复杂度的方法。
只要能够精确和定量地测量复杂度,就可以建立一个精确测量系统。下列公式定义了设计生产率:
设计生产率 = 归一化晶体管数量/每人-工作周
工程经理必须关注的其他重要内容包括面市时间、开发成本和复用水平。DPMS对此和其他因素进行计算,并在必要时将计算结果归一化以实现公正和精确的比较。
图2已经显示工程总支出的52%花费在解决芯片的固有复杂度问题上,果真如此吗?回答是肯定的,因为这张图是在严格的统计分析基础上产生的,其精确性也可以通过分析占用工程总支出48%的其他因素来印证。
图3:响IC设计支出的因素
如(图3)所强调的那样,工程总支出和生产率高低不仅仅取决于芯片的复杂度,而且受到工程设计技巧、设计工具、设计流程和方法、管理以及某些常常难以预料的外部因素的影响。
因为这些因素对于项目的工程总支出具有潜在的影响,我们不希望在解决芯片的固有复杂性问题时占用工程总支出的比例超过52%。因此,我们可以断定,直觉与量化芯片复杂度统计方法的结合可以得到精确有效的设计生产率计算结果。
欲了解更多信息,请联系作者:Ronald E. Collett。
E-mail: ronc@; Fax: 1-408-5625712
网站推荐:
利用测试平台语言进行自动验证
本文介绍一种专用的验证语言,该语言在复杂芯片和系统的功能验证中有重要的作用。
一种以总线为中心的可配置系统级芯片
设计工程师可以为硬件的软扩展设计一种完整的系统级芯片,而EDA工具提供了一种简单的用户接口,可进行集成可编程逻辑和微控制器的高性能设计。
迎接先进IC封装的挑战
本文为IC设计、封装设计、封装分析和板级设计问题提供综合设计指导。
将设计和生产链接的ATE
自动测试设备能够进行混合信号VLSI的设计和评估,同时还能将测试程序置入生产过程之中,然而,其测试特性兼容两种应用。