当前位置: 首页 > news >正文

基于3D-DFT架构下的ICL文件生成(DFT)

1、背景

1.1 项目情况简述

        该项目是一个采用3D堆叠技术的AI芯片,由logic die、buffer die和dram die三种不同的芯片组成。

        其中,dram die是从外部公司采购的IP,该IP提前预留了BIST测试方案,因此此die不需要DFT去定义测试方案。

        剩下的logic die和buffer die是需要DFT去定义测试方案的,为了让两个die能够尽可能的独立测试,采用的测试方案如下:

        (1)将logic die的top层电路定义为tessent工具识别的chip level,于是整个die的ijtag network将挂在产生的TAP下;

        (2)logic die作为此款芯片的主die,die的底部连接了基板,因此所有的IO PAD仅存在于logic die中;

        (3)将buffer die的top层电路也定义为tessent工具识别的chip level,于是整个die的ijtag network也将挂在其产生的TAP下;

        (4)buffer die的所有DFT port信号通过TSV与logic die产生交互,一部分会被挂载到logic die中的IO PAD下,另一部分会直接参与logicdie中一些gating逻辑的控制,这些TSV信号包括:edt channels in、edt channels out、ijtag signals、scan_en、edt_update、test_clock、retargeting mode tdr signals、global dft mode signal等等;

1.2 项目关键难点定位

        按照1.1节中的测试方案可以顺利的将DFT instrument加入到design中,接下来将分别在logicdie top和bufferdie top层次完成stuck和transition模式下的pattern generation和simulation;

        此时,buffer die的可控点和可观点均停留在自身边界上,因此针对于buffer die的测试方案需要通过TSV将可控点和可观点扩展到logic die中的IO PAD上。

        为了联合logic die和buffer die进行buffer die的测试验证,前端会准备一个更高的代码层(multidie_wrapper.v),该wrapper下会同时例化logic die和buffer die,验证组在multidie_wrapper层级下将完成对buffer die的验证。

        DFT需要提前准备logic die与buffer die的TSV mapping list,让前端按照这个mapping list去修改multidie_wrapper.v,更新logic die与buffer die之间的例化关系。

        因此,产生multi die层次的ICL文件是很关键的第一步,接下来就将描述不同层次下的ICL手动抽取方法。

2、基于harden的ICL抽取

2.1 ICL抽取流程介绍

        这里以测试SOC中某个harden为例,该harden对应一个子系统中的模块。流程如下:

        (1)定义整个flow的context类型为IJTAG mode,同时定义读取的design类型为rtl或no_rtl:

set_context patterns -ijtag -no_rtl

        (2)使用read_verilog命令去读取网表文件:

read_verilog harden.vg

       (3)使用read_cell_library命令读取库文件:

read_cell_library /DATA53/TSMCHOME/digital/Front_End/mentor_dft/tcbn28hpcplusbwp7t30p140opp_110a/tcbn28hpcplusbwp7t30p140opp.mdt read_cell_library /DATA53/TSMCHOME/digital/Front_End/mentor_dft/tcbn28hpcplusbwp7t30p140opphvt_110a/tcbn28hpcplusbwp7t30p140opphvt.mdt read_cell_library /DATA53/TSMCHOME/digital/Front_End/mentor_dft/tcbn28hpcplusbwp7t30p140opplvt_110a/tcbn28hpcplusbwp7t30p140opplvt.mdt read_cell_library /DATA53/TSMCHOME/digital/Front_End/mentor_dft/tcbn28hpcplusbwp7t30p140oppuhvt_150a/tcbn28hpcplusbwp7t30p140oppuhvt.mdt

        (4)使用read_icl命令读取每个tsdb instrument的ICL文件:

read_icl *_pre_occedt_tessent_sib_sri.icl read_icl *_pre_occedt_tessent_tdr_sri_ctrl.icl read_icl *_pre_occedt_tessent_sib_sri_ctrl.icl

        (5)将每个instrument的ICL匹配到具体design时,使用set_module_matching_options命令去定义合适的前缀和后缀:

set_module_matching_options -prefix_pattern_list ${PART}_ -suffix_pattern_list {_u[0-9]+} -regexp

        (6)report每个ICL和design的匹配信息:

report_module_matching -icl > $RPT_DIR/$PART.matched_module.rpt report_icl_module -all > $RPT_DIR/$PART.icl_module.rpt

        (7)使用set_current_design命令去设置design的top-level:

set_design_level physical_block

        (8)定义ICL client interface:

add_icl_scan_interface {client_interface} set_icl_scan_interface_ports -name client_interface -ports {ijtag_tck ijtag_si ijtag_ce ijtag_se ijtag_ue ijtag_reset ijtag_so}

        (9)使用set_system_mode命令将system mode切换到analysis模式同时运行ICL extraction:

set_system_mode analysis

        (10)使用write_icl命令将抽出的ICL结果写入到一个外部文件:

write_icl $RESULT_DIR/$PART.full_instrument.icl -replace write_icl $RESULT_DIR/$PART.no_instrument.icl -replace -create

2.2 makefile文件介绍

        当前的extraction flow是基于makefile来建立的,里面涵盖了执行流程和各种输入/输出的变量定义,具体内容如下:

####################################################################################################### TESSENT = /Tool/EDA/mentor/tessent_2024.4/bin/tessent -shell TIME = $(shell date '+%Y%m%d_%H%M') DIR = . PART = harden_name design_version = 9294 local_version = 1 run_tag = $(design_version)_$(local_version) LOG_DIR = $(DIR)/log/$(PART).$(run_tag).$(TIME) RPT_DIR = $(DIR)/rpt/$(PART).$(run_tag).$(TIME) RESULT_DIR = $(DIR)/icl_gen DOFILE_EXTRACT_ICL = ./scripts/run_extract_icl.dofile EXIT = noauto ####################################################################################################### ####################################################################################################### run_extract_icl: make extract_icl_TMP make extract_icl extract_icl_TMP: test -d $(LOG_DIR) || rm -rf $(LOG_DIR) test -d $(RPT_DIR) || rm -rf $(RPT_DIR) test -d $(RESULT_DIR) || rm -rf $(RESULT_DIR) test -d $(LOG_DIR) || mkdir -p $(LOG_DIR) test -d $(RPT_DIR) || mkdir -p $(RPT_DIR) test -d $(RESULT_DIR) || mkdir -p $(RESULT_DIR) extract_icl: TIME=$(TIME) \ PART=$(PART) \ design_version=$(design_version) \ local_version=$(local_version) \ run_tag=$(run_tag) \ LOG_DIR=$(LOG_DIR) \ RPT_DIR=$(RPT_DIR) \ RESULT_DIR=$(RESULT_DIR) \ EXIT=$(EXIT) \ $(TESSENT) -logfile $(LOG_DIR)/extract_icl_${TIME}.log -dofile $(DOFILE_EXTRACT_ICL) -replace #######################################################################################################

2.3 ICL extraction脚本介绍

############################################################################################################################################################################################################ set TIME $env(TIME); set PART $env(PART); set design_version $env(design_version); set local_version $env(local_version); set run_tag $env(run_tag); set LOG_DIR $env(LOG_DIR); set RPT_DIR $env(RPT_DIR); set RESULT_DIR $env(RESULT_DIR); set EXIT $env(EXIT); puts $TIME puts $PART puts $design_version puts $local_version puts $run_tag puts $LOG_DIR puts $RPT_DIR puts $RESULT_DIR puts $EXIT ############################################################################################################################################################################################################ ############################################################################################################################################################################################################ # 1. read design and lib set_context patterns -ijtag -no_rtl source std_cell_mdt.tcl read_verilog harden.vg ############################################################################################################################################################################################################ ############################################################################################################################################################################################################ # 2. read icl for every instrument read_icl *_pre_occedt_tessent_sib_sri.icl read_icl *_pre_occedt_tessent_tdr_sri_ctrl.icl read_icl *_pre_occedt_tessent_sib_sri_ctrl.icl ############################################################################################################################################################################################################ ############################################################################################################################################################################################################ # 3. current design set_module_matching_options -prefix_pattern_list ${PART}_ -suffix_pattern_list {_u[0-9]+} -regexp set_current_design $PART -show_elaboration_warnings ############################################################################################################################################################################################################ ##############################################
http://www.jsqmd.com/news/988814/

相关文章:

  • 数据的加密与解密(23:46)
  • Mac微信防撤回终极指南:3分钟解锁完整聊天记录保护
  • 2026广州中高端财税服务商权威测评:合规评级与服务能力双维度排行 - 互联网科技品牌测评
  • RN/hook/TS
  • Makepad 界面怎么做得更像产品,而不是示例
  • 宜兴住宅智能家居装修前应该怎么规划:先把点位、布线和验收边界说清楚
  • Grounding DINO实战:开放词汇目标检测上手指南
  • 终于不用再“盲猜”了:一位硬件工程师的 SC2010 使用手记
  • 2026 湛江市 GEO 推广优化服务商 TOP5 权威排名完整新闻合集(含榜单表格) - 广东科技观察
  • 数据的加密与解密(23:55)
  • 品牌人,快去劝老板做GEO!告别被动营销,让品牌效果彻底可视化
  • Authlib:Python OAuth 与 OpenID Connect 服务端库
  • 代付分账核心方案:备付金直付 + 多层分账
  • 软考中级第3版教材怎么学?按这个顺序效率翻倍
  • 2026年 Geo优化服务商推荐排行榜:SEO本地化排名、Google地图排名与多语言站点Geo优化公司实力解析 - 品牌发掘
  • HttpPrinter的url地址或者说json过长的解决问题
  • TranslucentTB如何让Windows任务栏焕然一新?透明化美学的全面解析
  • 苹果秋季将推Siri AI更新,聚焦用户需求带来全新对话体验
  • 大模型API聚合平台技术架构深度对比:六大平台协议转换、路由调度与安全治理全解析 - 微元算力(weytoken)
  • 解决JDY-31蓝牙模块指令交互无响应问题:EN使能脚的关键作用
  • 微信网页版插件:5分钟解决无法访问问题,享受便捷网页聊天体验
  • 宇树科技,即将上市!
  • Balatro后端进阶(3):为什么机制设计比写代码更难
  • 2026年5月成都宠物航空托运靠谱服务商攻略|正规有氧舱 安全不踩坑 - TOP10品牌推荐榜单
  • IBM MQ特性-- 面向零停机世界的弹性
  • 我的 Agent 真的能提效 —— 深信服 FastGPT 平台赋能业务革新
  • 创新驱动中国制造业的智能化转型**
  • 对于工业相机的认识(对机械臂的,工业方面的也可以参考)
  • STM32L051K6U6 IAP要点记录-LL库
  • 2026年全球市场研究服务前3款推荐 高效匹配海外供应商的精选榜单