芯片公司的‘DFT工程师’岗位,日常工作中用到的工具和流程是怎样的?和设计工程师的协作频繁吗?

开放5 回答 135 浏览

对DFT岗位感兴趣,但学校课程接触不到实际的EDA工具和流程。想了解一下,在企业里,DFT工程师从拿到网表到生成测试向量,整个工作流程是怎样的?主要使用哪些工具(Tessent, Modus等)?和前端设计、后端物理实现工程师的沟通点主要在哪里?

分享:
  • 嵌入式入门生

    我工作三年了,主要负责SoC芯片的DFT。简单说,流程就是拿到前端给的网表,然后插入扫描链、做压缩、加BIST、做ATPG生成测试向量,最后交给后端去布局布线。工具的话,我们公司用Tessent和Genus做综合,主流就是Synopsys和Cadence两家。

    和前端协作挺多的,比如确定扫描链的数目和长度,时钟和复位结构也得提前沟通好。有时候设计代码里有些DFT不友好的结构,比如门控时钟太复杂,就得找前端工程师一起改。

    和后端沟通主要在物理实现阶段,比如扫描链的布线会不会引起时序问题,测试引脚怎么分配,IO PAD够不够用。经常要一起看布局布线后的网表,确认DFT结构没被优化掉。

    建议你学一下Tcl和Perl,工具操作基本靠脚本。还有,懂一点静态时序分析(STA)对debug帮助很大。

  • 逻辑设计新人

    刚入行一年的DFT新人来分享下。我们小公司流程没那么复杂,但基本环节都有。工具主要是Synopsys的DFT Compiler和TetraMAX,偶尔用Mentor的Tessent(太贵了)。

    日常就是:拿到综合后的网表,跑DFT insertion,插扫描链和mbist。然后做ATPG,生成测试向量(stil格式),再跑仿真验证向量对不对。最后把带DFT的网表和测试向量给后端。

    协作方面,和前端设计工程师沟通最多的是测试模式下的时钟和复位方案,比如怎么切换时钟、复位怎么控制。如果设计里有异步电路或者多时钟域,沟通会更频繁。

    和后端主要是确认测试引脚的位置和布线资源,还有测试功耗会不会导致IR drop问题。

    注意点:DFT插入后一定要做形式验证(Formality),确保功能没变。还有,ATPG的覆盖率要达标,一般要求95%以上。

  • 芯片设计入门

    从设计转DFT的视角说说。DFT工程师的核心任务是保证芯片造出来后能测试,找出坏芯片。流程上,先参与架构讨论,定DFT方案(全扫描、mbist、jtag等)。然后等前端出网表,开始插扫描链、加测试逻辑。再用ATPG工具生成测试向量,并验证。最后支持后端实现和流片后的测试程序开发。

    工具链:设计公司用Synopsys的DFT Compiler + TetraMAX 或 Cadence的Modus + Genus DFT。大型公司可能用Mentor的Tessent全套。

    协作非常频繁。和前端:在RTL阶段就要介入,review代码的DFT友好性,避免使用不可测的结构。和后端:要确认物理限制,比如扫描链长度和布线拥堵,测试IO位置,以及DFT逻辑的时序闭合。

    建议:学好脚本语言(Tcl/Python),因为工具操作自动化是常态。了解芯片制造和测试机台的基本知识也有帮助。

  • 电子爱好者小张

    我们公司DFT流程比较成熟。大致分几步:1. 预处理网表(清理不需要的IP和层次)。2. 插入扫描链(scan chain)和压缩逻辑(比如EDT)。3. 插入内存BIST(mbist)和逻辑BIST(lbist)如果需要。4. 运行ATPG生成测试向量(stuck-at, transition fault等)。5. 验证向量功能正确性(仿真)。6. 交付网表和向量给后端,并参与时序收敛。

    工具以Synopsys为主:Design Compiler综合,DFT Compiler插扫描,TetraMAX做ATPG,VCS仿真。

    协作点:和前端设计工程师在项目初期就要定DFT spec,包括测试模式、引脚复用方案、测试时钟方案。设计中后期要一起解决测试覆盖率低的问题,可能需修改设计。

    和后端工程师的沟通主要在物理实现阶段:扫描链的布线、测试引脚分配、电源规划(测试功耗)、以及最终签核(timing signoff)时检查测试模式下的时序。

    容易踩的坑:测试时钟规划不好会导致时序问题;测试引脚不够用;ATPG时忽略异步复位导致仿真失败。多沟通能避免很多问题。

  • 数字系统初学者

    简单粗暴版回答:

    流程:拿网表 -> 插扫描链 -> 加BIST -> 跑ATPG出向量 -> 给后端 -> 支持流片和测试。

    工具:三大EDA厂商的套件,Synopsys(DFT Compiler, TetraMAX)、Cadence(Modus)、Siemens EDA(Tessent)。公司买啥你用啥。

    协作:非常频繁。和前端吵代码风格(比如别用latch),和后端吵布线资源。沟通好坏直接决定项目进度。

    建议:学校学不到工具就自己下个学生版玩玩,或者网上找教程。重点理解扫描链、ATPG、故障模型的概念。实际工作后,公司会有培训的。

登录后可在本页底部提交回答

提问者

FPGA学员4查看主页

描述场景与已尝试方案,更容易获得有效解答

浏览「其他」

相关问题

同分类问答

提问建议

  • 标题写清核心疑问,避免「求助」「请问」等空泛用语
  • 正文补充环境、版本、报错信息或截图
  • 先搜索本站是否已有相近问题,减少重复提问
  • 若与课程相关,请标明课时或章节便于讲师定位

技术问答

问完之后的闭环

  • 关联课程精学高频问题往往对应章节,建议回到课程补基础。
  • 产出与互助解决过程可写成笔记,帮助后续同学。

探索全站