Skip to content

Skill 依赖关系与数据流向

Forenyx 平台的各个 Skill 遵循明确的输入输出契约。上游 Skill 产生的配置文件或代码产物,为下游 Skill 的执行提供数据输入。


1. 全局依赖拓扑

下图描述了芯片验证全流程中,各个 Skill 的数据流动与依赖拓扑:


2. Skill 输入输出契约

Skill 名称前置依赖 Skill输入文件 / 数据输出产物
ic-docx2md.docx 文档spec.md, 图片目录
ic-audit-specic-docx2mdspec.mdspec_audit_report.md
ic-audit-prd-specic-docx2mdprd.md, spec.mdprd_consistency_matrix.md
ic-gen-halic-docx2mdspec.md, 寄存器 .xmlhal_csr_map.h 说明文档
uvm-testplan-gen-featureic-docx2mdspec.md, 寄存器 .xml功能点报告 .md
uvm-testplan-gen-testplanuvm-testplan-gen-feature已审核功能点 .mduvm_testplan.md
uvm-env-createIP 名称、接口类型UVM 骨架与冒烟测试
uvm-env-cfguvm-env-create接口与配置参数*_config_db.sv
uvm-env-inf-connectuvm-env-createRTL 端口列表{ip}_inf_connect.sv
uvm-env-impluvm-env-createRTL, Spec, VIPDriver/Monitor/Scoreboard
uvm-env-svauvm-testplan-gen-testplantestplan.md, RTLsva_checker.sv, sva_bind.sv
uvm-env-base-seq-genuvm-env-createSequencer, Item 定义base_sequence.sv, smoke_sequence.sv
uvm-testcase-gen-testcaseuvm-testplan-gen-testplantestplan.md, [TC_NAME]TC 类, Virtual Sequence
uvm-testcase-compile-simuvm-testcase-gen-testcaseWORK_DIR, [TC_NAME]sim.log, wave.fsdb
uvm-testcase-debug-failureuvm-testcase-compile-simcom.log / run.log代码修复或 RCA 报告
uvm-testcase-wave-rcauvm-testcase-compile-simwave.fsdb, run.log波形 RCA 根因报告
uvm-fsdb-wave-extractuvm-testcase-compile-simwave.fsdb, 信号名信号跳变 JSON
uvm-coverage-closureuvm-testcase-compile-simVCS 覆盖率报告缺口分析与 testplan 补充
uvm-progress-trackeruvm-testplan-gen-testplan回归测试日志verification_status.json
uvm-progress-chartuvm-progress-tracker进度 JSON趋势折线图 (.drawio + .png)

3. 核心数据传递机制

3.1 测试计划属性标记

uvm_testplan.md 包含功能点与其校验手段属性:

  • [CSR]:由 UVM RAL 读写测试覆盖;
  • [Scoreboard]:由 Scoreboard 执行期望值与实际值比对;
  • [SVA-cover]:由 SVA Cover 模块进行覆盖率统计;
  • [SVA-off]:供 uvm-testcase-gen-testcase 生成 $assertoff() 抑制控制。

3.2 接口与数据流契约

  • Monitor ➔ Scoreboard:Monitor 采样总线事务通过 Analysis Port 广播至 Scoreboard 比对 FIFO;
  • Sequence ➔ Driver:Sequence 产生 Item 经 Sequencer 传送至 Driver 驱动接口;
  • SVA ➔ DUT:SVA Checker 模块通过 SystemVerilog bind 挂载到 DUT 内部信号。

4. 故障排查

4.1 缺少 uvm_testplan.md

当跳过测试计划直接生成用例时,系统会基于接口定义生成通用基础用例,但无法针对特定功能点进行针对性配置。

4.2 SVA 绑定与层次结构错误

若仿真编译提示断言层次不可用,需确认:

  • 是否已运行 uvm-env-sva 产生 sva_bind.sv
  • sva_bind.sv 是否已正确加入编译 filelist.f

基于 MIT 许可发布