芯片设计验证 — Markdown 文档管理
面向 RTL 设计、验证、综合、后端全流程的文档管理体系
一、项目目录结构
| chip-project/
├── README.md # 项目入口
├── docs/ # 文档根目录
│ ├── README.md # 文档导航
│ │
│ ├── spec/ # 规格定义
│ │ ├── README.md
│ │ ├── system-spec.md # 系统规格书
│ │ ├── feature-list.md # 功能特性清单
│ │ └── block-diagram.md # 系统框图(Mermaid)
│ │
│ ├── micro-arch/ # 微架构设计
│ │ ├── README.md
│ │ ├── pipeline.md # 流水线架构
│ │ ├── fsm.md # 状态机设计
│ │ ├── datapath.md # 数据通路
│ │ └── diagrams/ # Mermaid 源文件
│ │ ├── pipeline.mmd
│ │ └── fsm.mmd
│ │
│ ├── rtl/ # RTL 设计文档
│ │ ├── README.md
│ │ ├── modules/ # 模块文档
│ │ │ ├── cpu-core.md
│ │ │ ├── cache.md
│ │ │ ├── axi-interconnect.md
│ │ │ └── uart.md
│ │ ├── register-map/ # 寄存器映射
│ │ │ ├── cpu-registers.md
│ │ │ └── peripheral-registers.md
│ │ ├── interface.md # 接口定义
│ │ └── clock-reset.md # 时钟与复位
│ │
│ ├── verification/ # 验证
│ │ ├── README.md
│ │ ├── testplan.md # 验证计划
│ │ ├── env-architecture.md # 验证环境架构
│ │ ├── test-cases/ # 测试用例
│ │ │ ├── tc-001-reset.md
│ │ │ └── tc-002-burst.md
│ │ ├── coverage/ # 覆盖率
│ │ │ ├── functional-coverage.md
│ │ │ └── code-coverage.md
│ │ ├── bugs/ # Bug 追踪
│ │ │ ├── bug-001.md
│ │ │ └── bug-tracker.md
│ │ └── reports/ # 验证报告
│ │ └── weekly-report.md
│ │
│ ├── protocol/ # 协议文档
│ │ ├── README.md
│ │ ├── axi.md
│ │ ├── apb.md
│ │ ├── pcie.md
│ │ └── ddr.md
│ │
│ ├── synthesis/ # 综合
│ │ ├── README.md
│ │ ├── sdc-constraints.md # 时序约束
│ │ ├── synthesis-report.md
│ │ └── scripts.md # 综合脚本说明
│ │
│ ├── sta/ # 静态时序分析
│ │ ├── README.md
│ │ ├── timing-report.md
│ │ └── setup-hold-analysis.md
│ │
│ ├── physical-design/ # 物理设计
│ │ ├── README.md
│ │ ├── floorplan.md
│ │ ├── placement.md
│ │ ├── cts.md
│ │ ├── routing.md
│ │ └── drc-lvs.md
│ │
│ ├── ip/ # IP 集成
│ │ ├── README.md
│ │ ├── ip-list.md # IP 清单
│ │ ├── integration-guide.md
│ │ └── ip-xxx-integration.md
│ │
│ ├── power/ # 功耗分析
│ │ ├── README.md
│ │ ├── power-budget.md
│ │ └── upf-spec.md
│ │
│ ├── tapeout/ # 流片
│ │ ├── README.md
│ │ ├── checklist.md # 流片检查清单
│ │ ├── gdsii-delivery.md
│ │ └── post-tapeout.md
│ │
│ ├── decisions/ # ADR
│ │ └── adr/
│ │ ├── 001-choose-axi4.md
│ │ └── 002-cache-policy.md
│ │
│ ├── references/ # 参考文档
│ │ ├── specs/ # 协议规范 PDF
│ │ ├── templates/ # 模板
│ │ └── exports/ # 导出文件
│ │
│ └── templates/ # Markdown 模板
│ ├── module-template.md
│ ├── register-template.md
│ ├── testplan-template.md
│ ├── bug-template.md
│ └── adr-template.md
│
├── scripts/
│ ├── render-diagrams.sh # Mermaid 渲染
│ ├── reggen.py # 寄存器文档生成
│ └── coverage-report.py # 覆盖率报告
│
├── rtl/ # RTL 代码
├── sim/ # 仿真
├── tb/ # 测试平台
├── synth/ # 综合
└── constraints/ # 约束文件
|
二、核心原则
- 流程对齐 — 文档目录 = 设计流程阶段
- 一模块一文档 — 每个 RTL 模块一份完整文档
- Mermaid 优先 — 框图/状态机/时序全部用 Mermaid
- 脚本生成 — 寄存器文档/覆盖率报告自动化
- RTL 文档同 PR — RTL 变更必须同步更新文档
- Bug 可追溯 — Bug 关联 RTL 变更和回归结果
- 流片清单化 — 用 Markdown checklist 管理流片交付
详细文档见侧边栏导航