【芯片设计- RTL 数字逻辑设计入门 番外篇 12 -- SoC 设计中的 ECO】


请阅读【ARM AMBA AXI 总线 文章专栏导读】


请阅读【芯片设计 RTL 数字逻辑设计扫盲 】


转自:简单了解SoC设计中的ECO — 快乐的芯片工程师


在这里插入图片描述

ECO 概述

在芯片设计中,ECOEngineering Change Order,工程变更订单)是一个关键的环节,用于在芯片设计后期对设计进行必要的调整和优化。ECO通常应用于数字芯片的版图设计,它是对设计的layout进行局部的小范围修改和重新布线的过程,而不影响设计的其他部分的布局布线。ECO的目的是为了节省时间和成本,特别是在芯片设计的后期阶段,当RTL(寄存器传输级)代码冻结后,通过ECO来修正设计中的问题。
在这里插入图片描述

ECO可以分为不同的阶段,包括:

Pre-Mask ECO(预掩模ECO)

这一阶段的ECO发生在设计的 前端后端 流程之间,特别是在布局布线(Place and Route, P&R)之后但在制造掩模之前。在这个阶段,设计团队可以对逻辑、电路结构、布局或早期的金属层进行修改。由于修改发生在物理实现的较早阶段,因此成本相对较低,主要是时间成本和计算资源消耗。

芯片设计前端与后端的区别
  • 工作内容不同
    IC前端主要是熟悉 CPU/DMA/AXI/AHB总线及各种IP。而 IC后端是芯片物理结构分析、逻辑分析、建立后端设计流程、版图布局布线、版图编辑、版图物理验证、联络代工厂并提交生产数据。

  • 工作着重点不同
    IC前端是根据芯片规格书完成SOC的设计和集成, 使用仿真验证工具完成SOC的设计验证。而 IC 后端是将前端设计产生的门级网表通过EDA设计工具进行布局布线和进行物理验证并最终产生供制造用的GDSII数据

  • 工作要求不同
    IC前端熟练使用硬件描述语言(如Verilog, VHDL)和电路仿真工具(如VCS、NC-Verilog、Modelsim等),能独立完成硬件电路的设计和验证。而IC后端作为连接设计与制造的桥梁,合格的版图设计人员既要懂得IC设计、版图设计方面的专业知识,还要熟悉制程厂的工作流程、制程原理等相关知识。

Post-Mask ECO(后掩模ECO)

当设计已经完成并制造了光刻掩模后,如果需要修改,就只能进行Post-Mask ECO。这种情况下,修改通常局限于金属层(Metal ECO),以避免重新制造掩模的巨大成本。Post-Mask ECO的成本较高,因为它涉及到对已有的物理设计进行局部调整,这可能需要手工或自动的金属层重新路由,以及额外的验证工作。

Tapeout前的ECO

在RTL freeze后,tapeout前这一阶段,RTL已经无法修改,但还有补救的机会。数字前端工程师需要在final RTL的基础上,通过写ECO脚本的方式来实现功能上的ECO。

Tapeout过程中的ECO

当数字后端实现后的design,timing已经符合signoff标准,DRC已经clean,LVS已经pass,此时进入tapeout阶段。如果后期仿真发现的问题不需要添加额外的cell,则不耽误之前的tapeout。

Tapeout后的ECO

当芯片已经tapeout回来,在测试过程中发现了必须修复的bug。这时做ECO的代价相对较大,可能需要修改几层到十几层Metal layer,甚至重新流片。

ECO 实施策略和注意事项

  • ECO的实施阶段越晚,对项目时间和成本的影响越大。因此,应尽量减少Pre-Mask ECO以控制项目进度和成本。
  • Post-Mask ECO,特别是Metal ECO,是成本敏感的,应当谨慎评估变更的必要性和潜在影响,确保只有在必要且经济效益合理的情况下才进行。

在整个设计流程中,有效的ECO管理策略对于控制成本和保证产品质量至关重要。

ECO技术在芯片设计中扮演着重要角色,它允许设计团队在芯片设计的后期阶段对设计进行必要的调整和优化,以提高性能、降低成本并确保产品质量。通过不同的ECO阶段和实施策略,工程师可以在保证项目进度的同时,有效地控制成本并应对设计中的挑战。

推荐阅读
https://www.163.com/dy/article/GBB7DVH50538RW4A.html

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 03:18:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 03:18:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 03:18:02       58 阅读
  4. Python语言-面向对象

    2024-07-18 03:18:02       69 阅读

热门阅读

  1. (77)组合环路--->(01)组合环路介绍

    2024-07-18 03:18:02       21 阅读
  2. 开发扫地机器人系统时无法兼容手机解决方案

    2024-07-18 03:18:02       23 阅读
  3. Spring源码-读取XML文件配置信息

    2024-07-18 03:18:02       20 阅读
  4. 使用 Django 框架进行开发的基本模板

    2024-07-18 03:18:02       22 阅读
  5. ubuntu安装mininet-wifi

    2024-07-18 03:18:02       20 阅读
  6. VPN介绍

    2024-07-18 03:18:02       21 阅读
  7. Ubuntu下如何设置程序include搜索路径及链接路径

    2024-07-18 03:18:02       24 阅读
  8. 生成式 AI 的发展方向,是 Chat 还是 Agent?

    2024-07-18 03:18:02       25 阅读