经验丰富的 ASIC 工程师可能会告诉项目团队的初级成员,没有捷径可走,尤其是当挑战因素发挥作用时,例如:如果设计要在现代、激进的工艺节点上实施;或者,如果项目团队依赖的半导体知识产权 (IP) 可以占芯片的 70% 之多;或者如果 ASIC 有 5 亿个或更多的门;或者,如果项目团队将部分或全部设计委托给合同设计公司,他们可以省去很多细节,但信任一个单独的组织。在任何这些情况下走捷径都可能出错。
然而,这并不意味着没有途径可以简化设计过程。每次确保项目成功都需要使用基于多年实践项目管理经验的设计管理系统,以确保每个项目都按计划进行并实现其目标。因此,以下重点关注设计 ASIC 设计管理系统和实施已成为工程师和管理人员重要资源的决策。
设计管理系统简化流程
设计公司在设计芯片时有许多目标,从实现最高性能设计到在尽可能短的时间内完成设计,同时保持高质量。
ASIC 设计人员通常比 FPGA 设计人员需要考虑更多。例如,大部分设计可以由第三方 IP 或以前实现的代码片段组成。此外,工艺技术变得越来越小,而门数继续增加,使得验证(或验证 ASIC 是否按预期工作)成为必要。
因此,ASIC 设计管理系统的目标是以最小的开销提供项目的一致性,以便所有设计都以可预测的方式进行。
随着新的半导体工艺技术的发展,每个设计都受到越来越复杂的工具链的影响。项目管理的一个困难和对一致性的威胁是每个工程师对设计应该如何通过工具有不同的想法。例如,个别工程师喜欢通过调用工具和管理结果的脚本来自动化他们的 ASIC 设计部分的流程。他或她可能有一个脚本例程,有助于简化详细时序分析的输出结果。如果管理不当,这可能会导致“简历依赖”,即每个项目都根据工程师的历史、技能和突发奇想进行管理。如果发生这种情况,如果工程师加入或离开公司,每个项目都会面临风险,并且很难将工程师从一个项目转移到另一个项目。
ASIC 设计管理系统是一个基于软件的平台,它提供了一种标准的、一致的方式来进行所有设计(图 2),通过使用不同的模块来平衡所有项目的需求,包括数据管理器、构建管理器、分析仪和监视器。
图 2: ASIC 设计管理系统为每个设计提供一致的格式。例如,其中一个系统包括数据管理器、构建管理器以及分析器和监视器。
文件、文件和更多文件
在项目的生命周期中,将使用和创建许多文件,并调用许多工具,分析结果并用于确定下一步做什么。设计管理系统通过在整个芯片实现过程中提供一致的方法和流程来自动化和管理这个过程。
ASIC 设计中的事情很容易出错,并且很容易相信其他人已经完成的先前工作。从脚本到代码再到库文件,在不检查所有内容的情况下继续进行可能会产生可能导致返工的问题。
种类繁多的库文件就是一个很好的例子,尤其是当第三方 IP 与反映不同过程变体和角落的大量文件一起使用时。即使有已建立的流程,在这些文件中发现软件错误也并不罕见,并且存在真正的风险,即直到项目后期才能发现此类错误。由于库文件和数据的变体如此之多,很容易错误地使用错误的变体,因此需要一种管理修订控制的方法。
通常,这些库文件是通过从原始位置复制到项目的数据结构中来手动管理的,这很容易出错。文件名或目录名可能指示哪些文件,但这些名称可能与文件中的内容无关,并且实际上可能是错误的。这就是设计管理系统可以通过自动定位、审查和存储项目的所有输入文件来提供帮助的地方。它解析(分析、组织和分发)文件的内容,以确保不会发生错误。它强制执行标准文件结构,因此可以在设计阶段的早期发现潜在问题,而不是在它们可能影响进度和成本时发现。
自动化分析在设计的早期审查中起着至关重要的作用。扫描所有设计和 IP 文件以提取层次结构、跟踪时钟并检查模块连接性。来自这些早期分析的信息有助于设计工程师将精力集中在设计中更有问题的领域。
自动优化
完成预设计分析后,即可继续进行设计工作。构建管理器和分析器模块是此阶段的重要组件。构建管理器封装了整个 ASIC 流程,确保每个项目都具有相同的结构。个别工程师不维护自己的构建脚本。相反,设计管理系统自动生成构建脚本(程序指令集)并为用于设计 ASIC 的 EDA 工具所需的所有各种文件创建工作目录。
ASIC 设计不是一个线性过程,许多设计策略中的哪一个可能最有效可能并不明显。构建经理创建并运行一系列不同的设计选项,以便项目团队可以审查它们并找到最佳解决方案。
同时,分析器执行结果聚合和优化(图 3)。从综合和仿真到验证和测试的各种电子设计工具将生成大量不同的结果文件,对于人类来说,这些文件不易阅读,难以识别最紧迫的问题。分析器从文件中提取结果并将它们汇总在一个地方,从而更容易查看当前构建的状态。
图 3:分析器模块从文件中提取结果并将它们汇总在一个地方。
实现 ASIC 顶层
借助设计管理系统,ASIC 设计中的各个模块可以直接实现。每个工程师都从平面图中分配了一块不动产,假设有足够的硅区域可以工作,则该区域内的布局和布线可以顺利进行。它需要额外的逻辑和互连来将块连接到一个单一的设计中顶级,这可能具有挑战性。
在设计平面图时,为顶层 ASIC 集成留出空间以确保顶层逻辑(组件)能够适应通道是至关重要的。这些添加的组件必须填充到成品块周围和穿过的通道中。
根据大小和复杂性,一个芯片设计项目可能涉及少数到数十名工程师,他们同时在不同的模块上工作。项目经理希望了解项目的不同方面是如何进行的。
顾名思义,监控模块对每个设计活动的当前状态具有持续可见性。由于它在后台工作,它使管理人员可以了解进度,而不会干扰和减慢设计工作。任何可识别的问题都将可见。因为它们被及早发现,所以它们可以及早修复,随着项目的进展,进度表不太可能出现。
到达终点线
流片是项目中最关键的时间,必须解决对设计的任何最终更改。其中包括 ECO(对网表的更改)和 DCO(对 RTL 代码的更改)(参见图 4)。在理想情况下,对设计的所有更改都将在流片之前就位。实际上,最终设计变更将被识别并且必须在最终流片之前解决,这是设计过程的预期部分。
设计管理系统应该能够适应最后一刻的更改并将它们合并到设计中,而无需返回并重新开始。由于设计管理系统可以直接访问所有项目数据,它可以快速接受设计更改并使用新数据自动重新运行设计。
图 4:设计管理系统可以适应最后一刻的更改并将它们合并到设计中。
赢得高风险的 ASIC 设计游戏
ASIC 设计的风险是巨大的,从失去市场机会和收入到公司因设计失败而倒闭。在冒险走捷径时,很多事情都会出错。通过建立标准的项目流程和结构,项目团队可以自信地参与每个新项目,相信它将以可预测、有序的方式进行——这比走捷径要好得多。该过程应包括设计管理系统的实施。例如,Uniquify 开发并实施了 Perseus,这是一个构成项目主干的设计管理系统。这样的设计管理系统是设计师和管理者的关键资源。
审核编辑:郭婷
-
芯片
+关注
关注
453文章
50387浏览量
421783 -
asic
+关注
关注
34文章
1193浏览量
120319 -
eda
+关注
关注
71文章
2708浏览量
172866
发布评论请先 登录
相关推荐
评论