在以前的生活中,我设计了IC。我做了十年,我进入它 - 可能就像你一样 - 因为半导体和系统设计给工程师提供了极大的挑战。您将复杂的抽象概念转变为改变世界的惊人具体产品。这是部分艺术,部分外科。
当时,艺术部分得到了数字模拟频谱的EDA工具的良好支持,从综合实施到验证等。但是手术部分呢?没那么多。这些领域潜伏着一些最大的设计工程挑战和瓶颈。
对我来说最重要的一个是工程变更单(ECO) - 在设计中添加或删除逻辑以解决最后一刻的功能变化的神经紧张时间。当时ECO的数量正在快速增长,因为我们越来越多的人正在为不断变化的标准或品味(例如消费者和汽车)的市场设计产品。随着竞争压力的增加和消费者需求的发展,近年来这种增长速度加快了。
即将发生的变化
我们的设计团队将编码约70-80%的原始规格目标,并且这将触发许多网表交接中的第一个到地方和路线团队。他们会像后台的硬宏布局,分层模块规划和引脚布局规划那样进行后端工作。然后我们最终得到一个早期的网表,这样我们就可以对潜在的瓶颈进行分析,并对我们处理的内容进行早期评估,并考虑到我们在设计芯片预算时考虑的因素。
最终有时间“冻结”网表并进入ECO模式 - 处理那些ECO,对设计功能进行逻辑更改以及处理非功能性ECO(即时序,电气和物理时序)在2007年左右之前,这是一项重大的工程挑战,因为没有办法自动化功能ECO步骤 - 没有办法有效地分析您的设计,以确定在哪里潜入网表因此,仔细查找网表的正确部分,以最小的影响进行切割,以匹配ECO RTL的变化(事实上,这是ECO的目标:对ECO的最小影响进行最小的改变,以便对其余部分产生影响。流)。此外,一旦确定了更改设计的位置,就无法有效地生成正确的布尔逻辑,并且无法在更改后对其进行有效优化。它是手工完成的。
手动ECO流程通常通过使用可用的逻辑等效检查工具将旧网表与修改后的ECO RTL进行比较来启动。这是设计团队最常见的起点。然后,设计人员将检查差异并在网表中找到必要的更改。经过耗时的手动编辑和重新检查过程后,网表就可以进行物理实施了。这就像用修剪锯进行手术一样。
我们的团队管理得很好,只有适度的小型ECO,但大型的ECO难以解决;有些是近或完全不可能的。按时间顺序,我们处理的ECO增加了数周或数月。出于这些原因,一些ECO必须被丢弃,或者我们必须具有创造性 - 例如,我们将打破并借用其他现有逻辑以在ECO中使用
在某些情况下,ECO是必要的如果一个竞争对手在我们即将到来的时候跳了起来。即使在那时,我们也可以与正确的ECO同步。
当时这是现实,但由于ECO的变化本身很难手动处理,质量可能会受到打击。随着我们接近最终的流片故事里程碑,情况变得越来越敏感,每次调整设计都会引起整个设计团队的管理警报和骚扰。我们会交叉手指,希望“最后”改变不会破坏那些难以修复的东西。在项目的某一点重新启动流程不是一个选择。这将是时间密集的,并且在许多情况下会对进度和项目成本产生太大的影响。
手动ECO过程需要额外的时间和关注,因为设计师通常不知道是否有在逻辑网表中进行的更改可以实现,直到它在物理网表中执行。当在多个级别上执行手动更改时,很难准确地跟踪已使用的备用单元和释放的单元,这是处理后硅ECO时的另一个限制因素。
锄头或拖拉机?
然后是2007年和自动化ECO工具的出现。该软件对工程团队的ECO进行了分析,生成和优化的过程 - 即使对于大型ECO来说也是如此(这非常好,因为在过去,你经常把手放在复杂的地方,打击“重置“,然后继续重做合成”。这种类型的工具是有意义的,因为任务的输入是明确的,结果也是如此。
虽然有工程师喜欢他们经过验证的锄头到一台闪亮的新拖拉机直到他们的领域,ECO自动化的采用随着时间的推移很好地起飞。采用自动化的人可以花更多的时间在设计艺术上而不是手术上。
自动化过程使其像机器人手术一样高效,精确,能够处理ECO以前的世俗方面。它允许工程师智能且相对无创地进入设计,并提高了准确性。 ECO自动化技术在这方面极大地改变了设计流程。
但完整的ECO自动化也可以减少用户对中间过程的控制。有时,工程师希望并且应该从世俗和非生产中提取自己,但有时他们可能需要将他们的知识和专业知识注入一个过程。想想自动驾驶汽车:你会想要在长途高速公路上下班途中投降自动化,但是当你在蜿蜒的小路上爬山时,你可能想要接管。
新时代的到来
因此,我们现在正进入具有辅助功能的全自动ECO时代 - 一个互补且可重入的系统。
两者的结合使工程师在自动化解决方案中获得了更大的好处:一个工具可以让工程师无缝退出并重新进入自动化。在某些情况下,他可能希望将大部分工作卸载到自动化中,但由于他具有特定的知识而自己分析设计的一部分,同时使用提供位置和网络指导的工具来执行手术和不同的选项比如利用方程综合功能来实现更复杂的优化逻辑。然后,他可能想要自己生成新的ECO逻辑,并让工具接管以优化它。
以下是一个示例:自动ECO工具在您认为不应该切割的地方切割网表。因此,您认为它有效地制作了比它应有的更大的切口,这将需要您添加比其他必要更多的逻辑。此时,您可以深入辅助模式并亲自尝试做得更好。您可以获得有关映射参考的指导,例如P& R网表和ECO参考之间的网络,以便您可以自己决定您认为正确的切口应该在哪里。然后,您可以借助可视化工具和命令行功能,根据您在何处进行精确的用户驱动切割添加逻辑,根据您的设计人员知识插入逻辑,然后通过利用以下内容重新输入自动化流程引擎优化引擎可以完善您刚刚插入逻辑的工作。
单个ECO系统,其中用户流程与工程师熟悉的旧ECO流程保持不变,有助于设计团队更快地工作。它允许对您刚刚进行的更改进行增量验证,而不是整个设计。因此,它可以在您的日程安排的关键部分节省大量时间,提高质量可预测性,并在处理ECO时为工程师提供前所未有的灵活性。
全部0条评论
快来发表一下你的评论吧 !