分享一篇文章:
http://www.cadence.com/Community/blogs/ii/archive/2010/07/12/user-perspective-what-changes-when-socs-move-to-40-nm.aspx
描述了40nm之后对设计提出的新的要求,不得不说是一个很大的挑战。
(1)硬核购买(Hard IP procurement)
在40nm之后,制程会出现很多很多的corner, 不像之前的best_case, typical_case, worst_case那么简单。制程的漂移不再那么容易建模,导致corner增加。如果使用low-power设计,corner还会增加更多。 购买硬核IP的时候,请注意一定要和vendor沟通,确保购买的IP确实能够量产实用,硬核IP满足DFM规则,有很好的良率(yield). 否则是赔了夫人又折兵。同时要注意其硬核最好能够对制程的各种metal stack options都能够支持。也就是不论你的产品是几层metal, 这个IP都能够使用。
(2)降低功耗(Power Reduction)
40nm的漏电很大,特别是温度高的时候,漏电可能是工作耗电的两倍高还多。
对于Memory的漏电,我们没有太多办法处理bit cell, 可以让decoder使用高阈值电压的MOS管以降低耗电。 设计Memory睡眠模式,或者使用latch-based的RAM. 甚至是在不需要使用memory的时候,干脆将其断电。
对于标准单元,一般使用高阈值电压MOS(HVT)的标准单元,或者使用50nm的标准单元,增加沟道长度以降低漏电。 这两种方法都会带来负面效果,速度降低(HVT, L增大),面积增大(L增大), 需要在设计的时候进行trade off.
(3)测试和可靠性(Test and Reliability)
- 在65nm一下,必须使用At-Speed Scan的方式,原始的静态ATPG不再能够保证产品质量。原始的ATPG一般速度不高,很有可能出货给客户后,速度跑不上去,导致很多RMA问题,破坏了产品口碑,对公司带来很负面的影响。
- 硬核需要放在不同的scan chain中。 这一点主要是为了更好的timing收敛,是否有其他原因还有待研究。
- BIST必须能够识别电源域,不同电源域的BIST或许不一样,有待研究。(BIST must recognize power domains)Memory BIST必须在运行的时定义测试算法。(Memory BIST should define the test algorithm at run time),原来的March-C等等的测试算法不再能够满足。 有待研究。
- 在40m以上,软错误(Soft Error)增加很多,并且触发器比memory还有多。大部门memory都需要ERR校验来解决软错误。软错误是指那些不是物理损害,时错时不错的错误,发生有些概率。所以需要借鉴Nand Flash的设计思想,用冗余ECC来纠错,满足即使发生少量的软错误,也能够纠错正确。提高良率。
- 负偏置温度不稳定性在40nm后增加(Negative bias temperature instability), 必须考虑保留更多的设计裕度。
(4)封装设计(Package Design)
当前的消费性产品一直要求成本降低,也就需要使用跑较便宜的封装。 我们必须对各种封装进行功耗和信号完整性(Signal Integrity)的仿真。封装设计必须考虑在At-Speed Scan测试的时候的冲击电流(Current Surge)。那个时候clock同时toggle, 瞬间电流很大。当然这部分也可以通过使用useful skew,将clock edge进行一定的分布来降低冲击电流,不过当前的EDA工具我并没有发现有这个功能,也许是我没有使用过这个功能,还不清楚。另外,scan的测试可以分组,不一定需要同时测试所有的电路。当然这样增加了测试时间,从而增加了测试成本。
(5)信号完整性(Signal Integrity)
40nm之后,高速的界面都要求进行芯片/封装/PCB一起仿真。另外,硬核也必须进行仿真,不能完全相信硬核供应商说的,必须自己进行仿真,确保正确无误。
综上所述,40nm的挑战不小,这也是为什么许多公司仍然还在使用90nm/65nm/55nm甚至180nm/130nm的原因。
大家携手准备吧,相信40nm产品的设计,只要用心专研,也不是高不可攀的。