🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
现代先进工艺下的后端设计都是在**MCMM**情况下设计的,所谓 MCMM 就是**muti-corner  muti-mode**,用于芯片的不同工作模式和工作条件。 后端设计过程中,需要保证芯片在所有工作模式和工作条件下都能正常工作,工作模式一般只有几种,可以全部验证一遍;而工作条件则有无数种,不可能一一遍历,所以我们一般选取极端工作条件,只要在所有极端条件下可以正常工作,那么其他所有工作条件下都不会有问题。 在ICC 中,MCMM 是用 scenario 来描述的,而scenario 是 mode 和 corner 的随机组合,比如有两个 mode 四个 corner,那么就需要定义 2x4=8 种 scenario。 此外,先进工艺中还会考虑不同的 RC条件,即 CMAX / CMIN ,这样一共就需要定义 2x4x2=16 种 scenario。 常见的 scenario 定义如下图: ![](https://img.kancloud.cn/a0/7c/a07c75a647468b1c640009dd2dc5194e_465x411.png) 那么,在具体定义scenario 时,是如何去描述 mode、corner、rc 呢? 首先,**mode 是由 sdc 决定的**,一般情况下,designer 会提供至少两份 sdc:   func.sdc   scan.sdc **corner 是由 operating condition 来描述的**,而 opcn 则来源于 db 库中的定义,包括温度和电压 **RC 则是由 TLU+ 文件描述的**,常见的 max\_tlup / min\_tlup,由 foundry 提供