自1990年以来,Sun微系统公司就致力于用各种各样的指标跟踪那些影响设计复杂度和生产率的因素。在此基础上建立并采用了一种新设计方法,利用此方法可以规避当前IC设计所面临的困难。该方法源自于Ultrasparc III处理器的开发过程。Ultrasparc III采用了专为1,000路可升级系统设计的600MHz、64位处理器芯片,具有极大的物理验证难度。
1991年,Sun微系统公司IC设计组就采用了约有40种工具的设计流程。4年之后,工具的数目增加到100种,而到了1999年则达到惊人的250种。每月批量任务的数目也由1991年的10k迅速攀升至1999年的1M,同期设计组的规模也增大到10倍。附表中显示了芯片设计及设计工具和相关数据的变化情况。
由于Ultrasparc III的设计规模及其更高的性能要求,原有的物理验证流程需要进行大规模升级。在整个设计思路中利用对相互依存的设计复杂度的深刻理解,提出了一整套的物理验证工具选择基准。
主要的流程设计挑战是裸片的面积优化和功率分配,并实现芯片的最佳性能。对于Ultrasparc III处理器而言,最佳性能意味着达到可能的最高频率、最小晶体管、低电压、高电流和大量的动态逻辑。
此外,以前单独考虑的设计决策现在产生了相互覆盖的问题,逻辑、电子和物理设计之间的分割也被消除。以前,垂直设计策略假定单层结构适合于设计的所有方面,而现在并行数据分层结构中,行为、逻辑和物理设计则必须综合考虑,三者之间相互依存。对于如时钟、电源和中继电路等基本功能部分,必须进行满足复杂度的分析和设计,同时保证降低指令处理延迟并消除信号传送干扰。Ultrasparc III项目还必须对各种数据进行更为精确的多维分析。 在整个设计过程中,必然会出现各种问题的权衡和折衷。需要考虑的主要问题有:
1. 解决器件的小型化和高性能要求与不断增加的成本之间的矛盾。
2. 采用省时的单元库与需要手工设计的元件之间的权衡。
3. 调整库元件以满足不同的需求。例如,不采用单一的“nand2”标准单元,而采用具有不同驱动强度的单元形式。
4. 权衡需要限定的触发器/锁存器配置数目,在将信号延迟降低至最小的同时,使时钟相位差也最小。
此外,还必须解决当前存在的分层设计问题。IC设计不再采用由上至下、由下至上或两者相结合的方法,而已成为各种迭代方法的组合。随着裸片上集成的元件越来越多,在各层和各抽象体中所需运行的物理验证也相应增多。物理验证工具必须能快速、高效地动态识别重复性元件(如单元和宏等),并准确发现所存在的错误。
设计过程选择
Sun微系统公司采用了一种能将效率最大化的设计思想,使其产品能率先投放市场。其设计方法支持能提升生产率,并易于在整个中央运算架构中进行配置的高性能工具,这不仅有利于在项目中运用设计标准和工具标准,在任何需要加速设计的地方实现自动化处理,并能对某些独特的元件按需要进行手工处理,还可利用迭代方法(包括全芯片集成、无效数据流程处理和单步验证及分析)进行连续改进和校正。 在Ultrasparc III处理器的设计过程中,每个设计部分均采用专有流程。开发阶段采用并行流程而不是线性流程控制,这样不必等待第一阶段设计完成就可创建后续阶段。在并行过程中,只需对那些中等和最小规格的构件模块进行估计就可完成整个芯片设计的创建。有时还能用“黑盒子”表示该数据,有时则可应用尚未通过验证的实际模块。
在整个设计过程中,集成模式还将用到交互作用,通过智能迭代得到基于预估和假定方案的快速结果。实物块由下至上进行释放,并且每个设计阶段均带有一个验证过程。当前许多适用的物理验证工具都能迅速对有效数据进行处理,但当存在重大的实际错误时(如在迭代的并行设计流程中),这些工具的运行速率将明显下降。
这种情形促使Sun微系统公司采用了能跟踪异常,并在不牺牲效率的条件下提高灵活度的CAD策略。
在设计工艺中可靠地验证和集成EDA工具必须考虑以下9条准则:
1. 标准。所有的工具必须支持公开的标准,以更有效地协调制造商资源,并能在Sun微系统公司的设计流程中方便地集成。
2. 显著的灵活度。工具必须能对流水线设计环境下的所有迭代、分析和校正参数进行处理。
3. 后期连接(late binding)。工具必须能自动适应硬件结构的变化,并且随着设计的发展,不必修改规则文件,以支持高效易行的设计验证。此外,还能通过与先进的计算中心兼容以提高自动化效率。
4. 流水线设计的无状态系统(Stateless system)。设计工程师需要同时使用不同的设计方法,而不必保留数据或在每个设计阶段保持数据。工具不应带有任何可能导致设计工程师产生疏忽的硬编码路径、链接或中央转换。
5. 资源共享和优化。必须支持运算资源的优化使用,并与其它工具兼容。这有助于提高运行时的效率和灵活度,并可避免单点故障。
6. 面向批量任务的便捷操作。一个工具不仅不能增加运算资源的负担,还必须支持成批数据在最适于网络运算操作时通过计算中心进行管理和处理。
7. 以数据为中心的环境。工具必须能在以数据为中心并独立于工具提供商的环境下进行操作,即单个生产数据库在组合和测试流程中为不同的工具提供数据。这有利于Sun微系统公司改变单个应用系统,而不会对整个操作产生不利影响。计算密集型操作工作于受控的网络资源(计算中心)下,通常保留工具供应商的设计格式,否则转化为Sun微系统公司的标准。
8. 将设计思想转化为设计流程。Sun微系统公司在设计工艺和工具应用中采用了递增的分层设计,并行展开开发过程,这有利于避免线性化模块创建方法在后续阶段出现开发进程减慢的问题。
9. 采用最佳工具。最佳工具是成功实现设计和市场目标的必要保障,而选择易于管理的工具也相当关键。
选择正确的验证工具
在选择Ultrasparc III处理器项目的物理验证工具时,Sun微系统公司考虑了3个核心标准。
功能:能处理无效数据,符合Sun微系统公司的分层设计思想,并能规避早期工具中递增设计规则校验(DRC)运行特性方面的限制。
性能:满足12小时的周转时间。
容量:可提供2,900万个晶体管、124个库和17万个单元的容量。
此外,还必须能在Sun微系统公司的Solaris操作环境下以64位模式进行物理验证。
虽然设计工程师已经非常熟悉以前使用多年的物理验证工具,但是随着设计工艺的进步,原有的工具已经不能满足设计需要。在新的设计流程中,Sun微系统公司采用了来自Mentor Graphics的Calibre。对于像Sun微系统公司这样的大公司而言,采用新工具的成本和所付出的精力通常是很大的,而实际应用中只用了8个月就完成了这个转变过程。
能如此快速而成功地转向新的设计工具是由于以下两个原因:公司传达了明确的目标和要求,简明无误的表述了验证准则并准备了明确的测试实例;Mentor Graphics在整个过程中提供了专门培训和资深Calibre应用工程师的技术支持。
Calibre具有先进的分层处理引擎,是唯一能在提高验证速率的同时,可自动分析设计步骤并优化重复设计分层的物理验证工具。例如,在Calibre完成设计并验证设计库后,将其传送到中央区域,然后Calibre重新验证设计库元件。在设计库开发流程中,单元和其它电路元件将进行5次验证,以降低失败风险并消除错误。
Calibre不仅需要对所有的元件进行验证,包括单个单元、大型单元、数据通路、控制模块、SRAMS和群集,同时还包括整个芯片。此外,还能在不影响性能的条件下处理无效数据。Sun微系统公司的设计工艺要求物理验证工具在较小的操作中保持很低的系统开销,但具有很强的灵活性,以迅速处理较大的操作。Calibre具有64位性能,采用了Solaris 8操作系统,能与Simplex工具接口进行寄生提取,并具有后向标注功能。这些都有利于满足日益增长的IC设计需求。
作者:
John Ferguson
Ward Vercruysse
高级CAD工程师
Sun微系统公司
技术行销经理
Mentor Graphics
京公网安备 11011202001138号
