🕸️ 第6课:rv_control 知识图谱全览
用 Understand-Anything 方法论生成的项目知识图谱——19 个节点、30 条边、5 层架构。一眼看清整个项目。
💡 什么是知识图谱?
把项目中的每个文件/模块/文档当作一个"节点",它们之间的关系(包含、调用、依赖)当作"边"——最终形成一张可以导航、搜索、问答的知识网络。Understand-Anything 工具自动化了这个过程。
一、完整知识图谱
rv_control 项目知识图谱 (19节点/30边)
graph TB
subgraph L1["RTL设计层"]
TOP["rv_control
顶层SoC"] --> CORE["rv32i_core
CPU核心"] TOP --> BUS["bus_fabric
总线"] TOP --> RAM["soc_ram
64KB RAM"] TOP --> I2C["i2c_controller"] TOP --> SPI["spi_controller"] TOP --> UART["uart_controller x4"] TOP --> GPIO["gpio_controller"] end subgraph L2["验证测试层"] TB["tb_rv_control
测试平台"] -.->|"tested_by"| TOP VPLAN["verification_plan
45个测试用例"] -.->|"documents"| TB MK["Makefile
构建系统"] -.->|"configures"| FL["filelist.f"] end subgraph L3["物理设计层"] OR["openroad_config
ORFS配置"] -.->|"configures"| SDC["synth_sdc
时序约束"] PD["pd_handoff
PD移交报告"] -.->|"documents"| OR end subgraph L4["文档规格层"] DS["design_spec
设计规格"] -.->|"documents"| TOP IS["interface_spec
接口规格"] -.->|"documents"| TOP RM["regmap
寄存器映射"] -.->|"documents"| I2C end subgraph L5["固件应用层"] FW["seed_words
裸机固件"] -.->|"depends_on"| UART end style TOP fill:#3987e5,color:#fff style CORE fill:#e66767,color:#fff style BUS fill:#c98500,color:#000
顶层SoC"] --> CORE["rv32i_core
CPU核心"] TOP --> BUS["bus_fabric
总线"] TOP --> RAM["soc_ram
64KB RAM"] TOP --> I2C["i2c_controller"] TOP --> SPI["spi_controller"] TOP --> UART["uart_controller x4"] TOP --> GPIO["gpio_controller"] end subgraph L2["验证测试层"] TB["tb_rv_control
测试平台"] -.->|"tested_by"| TOP VPLAN["verification_plan
45个测试用例"] -.->|"documents"| TB MK["Makefile
构建系统"] -.->|"configures"| FL["filelist.f"] end subgraph L3["物理设计层"] OR["openroad_config
ORFS配置"] -.->|"configures"| SDC["synth_sdc
时序约束"] PD["pd_handoff
PD移交报告"] -.->|"documents"| OR end subgraph L4["文档规格层"] DS["design_spec
设计规格"] -.->|"documents"| TOP IS["interface_spec
接口规格"] -.->|"documents"| TOP RM["regmap
寄存器映射"] -.->|"documents"| I2C end subgraph L5["固件应用层"] FW["seed_words
裸机固件"] -.->|"depends_on"| UART end style TOP fill:#3987e5,color:#fff style CORE fill:#e66767,color:#fff style BUS fill:#c98500,color:#000
二、知识图谱统计
总节点19总边数30架构层5
导览步数6RTL模块8文档节点4
配置节点4边类型6图谱文件JSON
三、六步导览路线
Understand-Anything 自动生成了推荐的阅读顺序(Guided Tour):
- 了解SoC全貌 → 从顶层 rv_control 开始,看端口表和内部互联
- 深入CPU核心 → rv32i_core 的 3级流水线和 CSR 寄存器
- 理解总线架构 → bus_fabric 的地址译码和超时检测
- 逐个了解外设 → I2C/SPI/UART/GPIO 各有什么特点
- 查看物理设计流程 → OpenROAD 六阶段如何产出 GDS
- 探索固件和验证 → 唐诗生成器固件和冒烟测试
四、关系类型说明
| 边类型 | 含义 | 示例 |
|---|---|---|
contains | 包含/实例化 | rv_control → rv32i_core |
depends_on | 依赖 | seed_words → uart_controller |
routes | 路由/连接 | bus_fabric → soc_ram |
documents | 文档关联 | design_spec → rv_control |
tested_by | 测试关系 | rv_control → tb_rv_control |
configures | 配置关系 | openroad_config → synth_sdc |
五、Wiki 方法 vs 知识图谱
| 方法 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|
| LLM Wiki | 深度解释、交叉引用、矛盾标记、进度追踪 | 需要人工维护 wikilinks | 深入理解单个项目 |
| 知识图谱 | 可视化、自动生成、交互式导航、一眼看清结构 | 节点摘要较短、缺深层分析 | 快速了解项目全貌 |
| RAG 检索 | 灵活问答、不预设结构 | 每次从零检索、无积累 | 临时查询 |
💡 本学习指南用的什么方法?
三种方法全用了:Wiki 提供了 16 页深度分析(来源页+实体页+概念页);知识图谱提供了 19节点/30边的可视化地图;RAG 让 AI 在写每篇课文时查找相关的 Wiki 页面和代码。Mermaid 图则是"人读版本"的知识图谱——把机器可读的 JSON 翻译成人能一眼看懂的流程图。
六、相关资源
- Wiki 总览:proj_wiki/wiki/overview.md(16 页面全中文)
- 知识图谱 JSON:
.understand-anything/knowledge-graph.json(19 节点/30 边) - Understand-Anything 工具:github.com/Egonex-AI/Understand-Anything
- 项目索引:projects_index/index.html