5. TCAM学习笔记
L5TestMax —— 把 SMS「插进」SoC RTLL1~L4 学的是macro 是什么、SMS 子系统怎么工作、Server 怎么对外。但真实芯片里功能 RTL 最初只有一颗裸 macrocore_rtl/core.v里直接例化 TCAM并没有 Server/Processor/Wrapper。TestMax干的事就是读功能 RTL .masis_c自动规划、生成、插入、连接整套 SMS并做连通性检查和 BIST 仿真验证。本 case 入口脚本run_testmax.sh→scripts/testmax_sms.tcl在WORK/目录下跑testmax_shell。本篇L5目标搞懂 TestMax MBIST 流程里每条命令干什么、和 L3 Integrator 的关系、本 case 输入输出是什么、以及 validate 报告怎么读。0. L5 在全局地图里的位置L1 .masis_c接口合同 │ ▼ L2 Macro RTL黑盒或全模型 │ ▼ L3 Processor Wrapper ─┐ L4 ServerIEEE1500 ─┤ SMS 子系统Integrator / core_prj.ish │ generate_dft 内部也会调同一套 Compiler │ ▼ L5 TestMaxplan → generate → connect → validate ←── 本篇焊进 SoC RTL │ ▼ 插 SMS 后的 core.v SMS_constraints → 综合/STA/量产 │ ▼ L6 Verifiervalidate_dft 里也会调 / L7 YA pattern一句话L3L4 是 SMS 子系统本身L5 是把它插进 SoC 并做连通/BIST 验证。1. 本 case 输入 vs 输出输入插 SMS 前core_rtl/core.v——极简功能顶层只有时钟 1 颗 macromodule core ( clk1001 ); input clk1001; sadtcs0g4l1p128x68... u_tcam128x68_inst1 ( .CLK(clk1001), ... ); endmodule另需输入路径作用.masis_cmasis/sadtcs...masis_cTestMax 识别 memory 类型、BIST 口RTL filelistscripts/sms_rtl.f目前只含core_rtl/core.v仿真模型sms_sim_model/Verifier 仿真用标准单元库$ILANE_LIB_PATHNDM lib输出connect_dft 后输出路径内容插 SMS 后的 RTLWORK/output/Verilog/core.v顶层冒出 IEEE1500 SMART BIST pinStubWORK/output/stub/综合用黑盒 stubSMS 约束WORK/SMS_constraints/write_dft_constraint写出报告WORK/tmm_wdir/report/plan / connectivity / memory 等Verifier 仿真WORK/verifier_project_simulation/verify_mbist_system产物插完后的顶层端口节选——这就是 L4 Server 要对外的口clk1001 vl_srv_WRCK, vl_srv_WSI, vl_srv_WSO, vl_srv_SelectWIR, ... vl_srv_smart_bist_srv, vl_srv_fast_mode_srv, ... vl_srv_ready_sms_srv, vl_srv_fail_sms_srv, ... vl_sms_dm0, vl_sms_dm1, vl_sms_dm2内部层次core_srv_1→core_proc_1→core_wrap_...→ macro 黑盒。2. TestMax 流程本 casetestmax_sms.tclPhase 1读设计analyze -format sverilog -vcs -f ../scripts/sms_rtl.f elaborate core set_top_module core setup_rtl_flow create_clock -name clkgrp_user_1001 -period 1 { clk1001 } # 1ns 1GHzmacro 此时是unresolved reference黑盒TestMax 仍可通过.masis_c识别 memory 实例。Phase 2DFT 配置set_dft_configuration -mbist enableset_dft_access_element——把 L3core_prj.ish里的参数告诉 TestMax保证生成的 SMS 与手工一致type本 case 参数sub_serversrv_smart_bist_en true,enable_hard_repair truecam_processorsmart_bist_en true,talgo_prog_enable true,treg_algo 1cam_wrapperadd_user_pins_to_builder_list falseset_mbist_configuration——绑定 SMS 工程资源set_mbist_configuration -project_name core_prj set_mbist_configuration -masis_file ../masis set_mbist_configuration -simulation_models ../sms_sim_model set_mbist_configuration -allow_module_override on set_mbist_configuration -setup_options { extract_rcl.limited_test_pin_propagation true extract_rcl.connect_proc_clocks 1 extract_rcl.connect_proc_resets 1 extract_rcl.connect_proc_dms 1 }要点-masis_fileL1 的.masis_c在此被 TestMax 消费connect_proc_clocks把 Processor 的clk_sms接到 macro 的CLKclk1001limited_test_pin_propagation避免 memory 功能 pin 全部 propagate 到 chip topPhase 3SMS 三步走步骤命令内部工具干什么① 规划plan_dftSTAR Planner读 memory、分组、时钟检查出dft_memory_report.rpt② 生成generate_dftIntegrator Builder生成 Server/Proc/Wrapper RTL≈ L3core_prj.ish③ 连接connect_dftrtl_modifier把 SMS 层次插进core.v连线到 macro BIST 口本 caseplan_dft结果1 个 memory 实例core.u_tcam128x68_inst1时钟clk1001 1000 MHz。Phase 4约束 验证write_dft_constraint -sms -sms_outdir SMS_constraints validate_dft -check connectivity validate_dft -check verify_mbist_system检查干什么connectivity静态分析 Processor→Wrapper→macro 路径是否可达verify_mbist_system调STAR Verifier跑 BIST 仿真bist_all、repair_verification等3. 本 case 实际跑通结果plan_dft/generate_dft/connect_dft均成功STAR Planner / Integrator / Builder completed successfully。validate_dft -check connectivity统计数值Total messages1884Error69Info路径 OK181569 个 Error 的原因macro 是黑盒RTL 里看不到TWE、TVBI、BISTE、Q[67:0]等内部 pin工具报no design object found。这是blackbox 预期行为不是 SMS 连错。真正重要的 Info 路径都 OK例如clk1001 → vl_sms_core_proc_1_sms_1_stp/clk_sms Processor/biste → Wrapper/biste Processor/WSO → Server/sms_wsovalidate_dft -check verify_mbist_system全部PASSEDsignature_reg_check TEST FLOW PASSED sms_status TEST FLOW PASSED bist_all TEST FLOW PASSED bist_all_fail TEST FLOW PASSED repair_verification TEST FLOW PASSED说明插 SMS 后的设计能跑通 VLCAM BIST 和 repair 验证L6 Verifier 细讲。4. L3 Integrator vs L5 TestMaxL3core_prj.ishL5testmax_sms.tcl工具Embed-It IntegratorTestMax Shell输入手工指定组件/参数功能 RTL .masis_c输出core_prj/compout/views/WORK/output/Verilog/core.v连线不连 SoCconnect_dft 自动连线验证QA sim argsvalidate_dft关系可单独跑TestMaxgenerate_dft会调同一套 Compiler自动化端到端本 case 两者参数对齐srv_smart_bist_en、smart_bist_en、talgo_prog_enable等完全一致。5. 关键命令速查命令一句话set_dft_configuration -mbist enable打开 MBIST clientset_dft_access_element指定 SMS 组件类型和编译参数set_mbist_configuration绑.masis_c、仿真模型、Integrator 选项plan_dft规划 memory 分组和时钟generate_dft生成 SMS IPServer/Proc/Wrapperconnect_dft插入并连接 RTLwrite_dft_constraint -sms写 SMS 时序/约束validate_dft -check connectivity静态连通性validate_dft -check verify_mbist_systemVerifier BIST 系统仿真Man pageman -M /global/apps/tmm_2025.06/doc/TESTMAX/man command6. 和 L4/L6/L7 的衔接L5 connect_dft 后的顶层 IEEE1500 pin ↓ L4 Server 行为WRCK 移位 BIST_RUN ↓ L5 validate_dft → 调 L6 Verifier 仿真 ↓ L7 YA 根据 SMS_constraints / UDS 生成 ATE pattern量产时TestMax 插完 SMS → 约束给 DC/PT → YA 出 pattern → ATE 从vl_srv_*pin 进 Server 跑 BIST。7. L5 小结TestMax 读裸 macro RTL .masis_c自动 plan/generate/connect 整套 SMS 到 SoC写出带 IEEE1500 端口的core.v并用 Verifier 验证 BIST 能跑通。本 case 连通性 69 个 error 是黑盒 macro 所致系统级 BIST 仿真全部 PASS。8. 自测题本 case TestMax 入口脚本插 SMS 前后的core.v顶层端口差多少set_mbist_configuration -masis_file指向哪plan_dft/generate_dft/connect_dft各调什么工具connect_proc_clocks解决什么问题本 case 有几个 memory 实例connectivity 69 个 Error 的主要原因verify_mbist_system测了哪些 flowL3 和 L5 生成的 SMS 参数怎么对齐插 SMS 后的 RTL 输出路径答案run_testmax.sh→scripts/testmax_sms.tcl。插前只有clk1001插后增加~20 个vl_srv_*/vl_sms_dm*DFT pin。../masis含本 macro 的.masis_c。Planner /IntegratorBuilder/rtl_modifier。把 Processorclk_sms接到 macroCLK。1 个u_tcam128x68_inst1。macro黑盒看不到TWE、BISTE等 BIST pin。signature_reg_check、sms_status、bist_all、bist_all_fail、repair_verification。通过set_dft_access_element设与core_prj.ish相同参数。WORK/output/Verilog/core.v。速查L5脚本run_testmax.sh·scripts/testmax_sms.tcl功能 RTLcore_rtl/core.v插 SMS 后 RTLWORK/output/Verilog/core.v报告WORK/tmm_wdir/report/plan_dft/·validate_dft_connectivity/约束WORK/SMS_constraints/Man pageDOC/L5_TestMax/man_pages/*.2本 case1×128×68 XYCAMconnectivity 69 errblackboxverify_mbist_system 全 PASS下一篇L6 — Verifier 仿真验证fault injection、chk_bist

相关新闻

最新新闻

日新闻

周新闻

月新闻