站在一个IC前端设计人员的角度学习DFT基础知识,概念。
· 验证和测试的区别。
验证主要是确认功能,时序是否满足要求,一般在仿真环境中,输入激励,分析响应。根据验证阶段可以分为功能仿真,门级仿真,版图后仿真。
然而在芯片制造过程中,受到各种不确定因素的影响,制造出来的芯片并不完全都能正常工作,检测出有制造缺陷的芯片就是测试的范畴。测试要检查的不是设计的功能错误,而是芯片生产过程中引入的电路结构上的制造缺陷。对测试工程师来说,一块芯片的功能,用途都不重要,那些实在设计阶段由前端设计人员保证的内容。
为什么需要DFT。(Design For Test)
因为芯片设计规模越来越大,测试成本不断提高,封装后的芯片还要经过ATE(Auto Test Equipment)自动测试机台的检查后,才能够确保芯片质量,交付客户。测试机台的测试激励如果人为设定的话,很难保证故障覆盖率。为了方便测试激励的生成,在设计阶段就有意识的加入一定用于测试的附加逻辑,从而在测试阶段就能够通过ATPG(Auto Test Pattern General)自动生成测试向量,作为ATE的输入,同时产生期待值和ATE的输出比较,得到测试结果。完备的DGT设计可以提供高故障覆盖率的测试激励,保证芯片良率。
DFT的工作包括
-- 在项目初期规划DFT架构;
-- 在RTL级别设计测试电路;
-- 在验证阶段验证测试电路;
-- 在synthesis阶段实现测试逻辑的插入;
-- 在测试阶段提供