在芯片设计中,ECO(Engineering Change Order,工程变更订单)是一个关键的环节,用于在芯片设计后期对设计进行必要的调整和优化。
ECO通常应用于数字芯片的版图设计,它是对设计的layout进行局部的小范围修改和重新布线的过程,而不影响设计的其他部分的布局布线。
ECO的目的是为了节省时间和成本,特别是在芯片设计的后期阶段,当RTL(寄存器传输级)代码冻结后,通过ECO来修正设计中的问题。
ECO可以分为不同的阶段,包括:
1. **Pre-Mask ECO(预掩模ECO)**:这一阶段的ECO发生在设计的前端到后端流程之间,特别是在布局布线(Place and Route, P&R)之后但在制造掩模之前。在这个阶段,设计团队可以对逻辑、电路结构、布局或早期的金属层进行修改。由于修改发生在物理实现的较早阶段,因此成本相对较低,主要是时间成本和计算资源消耗。
2. **Post-Mask ECO(后掩模ECO)**:当设计已经完成并制造了光刻掩模后,如果需要修改,就只能进行Post-Mask ECO。这种情况下,修改通常局限于金属层(Metal ECO),以避免重新制造掩模的巨大成本。Post-Mask ECO的成本较高,因为它涉及到对已有的物理设计进行局部调整,这可能需要手工或自动的金属层重新路由,以及额外的验证工作。
3. **Tapeout前的ECO**:在RTL freeze后,tapeout前这一阶段,RTL已经无法修改,但还有补救的机会。数字前端工程师需要在final RTL的基础上,通过写ECO脚本的方式来实现功能上的ECO。
4. **Tapeout过程中的ECO**:当数字后端实现后的design,timing已经符合signoff标准,DRC已经clean,LVS已经pass,此时进入tapeout阶段。如果后期仿真发现的问题不需要添加额外的cell,则不耽误之前的tapeout。
5. **Tapeout后的ECO**:当芯片已经tapeout回来,在测试过程中发现了必须修复的bug。这时做ECO的代价相对较大,可能需要修改几层到十几层Metal layer,甚至重新流片。ECO的实施策略和注意事项包括:ECO的实施阶段越晚,对项目时间和成本的影响越大。因此,应尽量减少Pre-Mask ECO以控制项目进度和成本。
Post-Mask ECO,特别是Metal ECO,是成本敏感的,应当谨慎评估变更的必要性和潜在影响,确保只有在必要且经济效益合理的情况下才进行。在整个设计流程中,有效的ECO管理策略对于控制成本和保证产品质量至关重要。
ECO技术在芯片设计中扮演着重要角色,它允许设计团队在芯片设计的后期阶段对设计进行必要的调整和优化,以提高性能、降低成本并确保产品质量。通过不同的ECO阶段和实施策略,工程师可以在保证项目进度的同时,有效地控制成本并应对设计中的挑战。