# Anlogic Testbench

> 安路 FPGA testbench skill。Use when: 需要消费 anlogic-code-design 的设计交付，生成 stimulus、monitor/checker、期望结果和通过判定口径，并把可运行输入交给 anlogic-modelsim。

- Skill: `folsie/anlogic-testbench` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add folsie/anlogic-testbench`
- Raw SKILL.md: https://api.skillmd.com/api/skills/folsie/anlogic-testbench/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: folsie (https://skillmd.com/u/folsie)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/folsie/anlogic-testbench

---


# Anlogic FPGA Testbench Skill

把“代码设计交付”转成“可执行的验证输入”，重点是刺激、检查点和通过判定，而不是工程创建或仿真执行。

## 角色

把设计交付压缩成可执行、可判定、可交接的验证输入。

## 输入

- 最新的 `doc/stage-S1-summary.md`
- DUT、接口、时钟复位和关键风险
- 来自 `anlogic-code-design` 的设计交付

## 边界

- 不直接修 RTL
- 不直接做仿真执行结论
- 不直接创建 TD 工程

## 输出

- 可交给 `anlogic-modelsim` 的验证输入
- `doc/stage-S2-summary.md`

## 不做什么

- 不用自由叙述替代固定字段 handoff

## 上游输入

优先来自 `anlogic-code-design`：

- DUT 顶层与子模块划分
- 接口说明
- 时钟/复位策略
- primitive / wrapper 使用点
- 必测场景与风险点

## 负责内容

- 选择合适的 testbench 粒度
- 生成 stimulus
- 生成 monitor / checker
- 明确预期行为与通过判定口径
- 组织需要交给 `anlogic-modelsim` 的脚本输入需求
- 明确 `compile.f` / `run.do` 所需的 DUT、IP、primitive、库与 include 依赖

## 不负责内容

- 不直接修 RTL
- 不直接做仿真执行结论
- 不直接创建 TD 工程

## 默认流程

1. 识别 DUT 边界和接口语义
2. 决定 testbench 粒度
3. 先生成 happy path，再补边界、错误和压力场景
4. 生成 monitor / checker 和通过判定
5. 列出仿真编译依赖，尤其是 PLL/IP/wrapper/primitive 等非纯 RTL 依赖
6. 把运行所需输入交给 `anlogic-modelsim`

## 输出要求

- testbench 粒度
- stimulus 列表
- monitor / checker 列表
- 预期结果与通过判定口径
- `run.do` / `wave.do` 所需输入
- `compile.f` 或等价编译清单所需的完整依赖集合
- 若不放行到仿真，缺的最小内容是什么
- fixed summary fields:
  - `current_stage`
  - `goal`
  - `confirmed_constraints`
  - `artifacts`
  - `decision`
  - `blocking_reason`
  - `next_action`

## 联动规则

- 需要真实仿真运行时联动 `anlogic-modelsim`
- 发现 DUT 边界、接口或 primitive 假设不清时回到 `anlogic-code-design`
- 需要最小复现板级问题时可联动 `anlogic-debug`

