AI 如何看懂 FPGA 大工程?RepoKey Starter 使用记录
如果只是几个 RTL 文件让 AI 直接读目录问题还不大。这次案例不是小 demo。这个 Vivado 工程围绕 RF Data Converter 搭建里面有 MicroBlaze 控制平面、AXI interconnect、AXI4-Stream 数据通路、Block Design、生成 wrapper、IP 输出和大量 Vivado 生成目录。这种工程直接丢给 AI很容易出现一个熟悉的画面AI 读了很多文件token 用了不少最后还是要工程师告诉它顶层入口在哪里RFDC 在哪个 BD 结构里MicroBlaze 如何控制 AXI 总线数据流从哪里进入 RFDC。所以这次我没有让 AI 一上来扫目录第一步先调用 RepoKey Starter生成一张低 token 工程地图。这个工程到底是干什么的这次案例来自一个真实 Vivado 2023.2 工程。它的核心结构是RF Data Converter 负责高速 RF 数据转换MicroBlaze 作为软件控制平面AXI interconnect 连接 MicroBlaze、UARTLite 和 RFDC 控制接口AXI4-Stream 数据通路把 DDS 生成的数据送入 RFDCBlock Design 生成顶层 wrapper作为 Vivado 工程入口ILA 用于观察 RFDC 输出相关 AXIS 数据流。Starter 识别到的基础信息如下项目识别结果Vivado 版本2023.2工程类型RFDC MicroBlaze AXI/AXIS 工程设计入口成功识别 topBlock Design成功识别关键用户 RTL成功识别这个项目的复杂点不在于“文件多”这么简单而是它混合了 RFDC、MicroBlaze、AXI、AXIS、BD wrapper、时钟复位和调试采样链路。AI 如果没有工程地图很容易先掉进 generated files 和 IP output 里。对话第一轮先别扫目录先看工程地图客户这个工程是一个 RFDC MicroBlaze 的 Vivado 工程里面有 BD、RF Data Converter、AXI/AXIS 和生成文件。你先不要直接扫整个目录先用 RepoKey Starter 看一下这个项目是干什么的top 是什么关键 IP 和数据流在哪。AI可以。我会先调用 RepoKey Starter 的工程上下文能力生成工程摘要和索引。这样我先拿到 Vivado 工程入口、设计 top、BD、IP、关键 RTL 和连接摘要再决定后续要读哪些具体文件。这一步的目标很明确先建立一张“这个工程从哪里开始看”的地图避免把所有源码直接塞进上下文。对话第二轮AI 返回项目骨架AIStarter 已经识别到这个工程的第一层结构Vivado version2023.2工程类型RFDC MicroBlaze AXI/AXIS设计入口已识别Block Design已识别关键用户 RTL已识别从工程结构看这是一个 RFDC MicroBlaze AXI/AXIS 的工程。MicroBlaze 负责控制平面RF Data Converter 是核心高速数据转换 IPAXI interconnect 连接控制外设AXI4-Stream 链路负责数据流。客户你能不能具体说说里面有哪些关键模块不要只说它有 BD。AI可以。Starter 从 BD 和工程结构中识别到这些关键结构类型识别结果RF Data Converter已识别MicroBlaze已识别AXI 外设已识别AXI interconnect已识别Clock wizard已识别Reset controller已识别用户 RTL已识别顶层 wrapper已识别现在我已经知道这个工程属于典型 RFSoC/RFDC 类 BD 工程软件控制、AXI 配置、高速 AXIS 数据和调试观测同时存在并不是单纯 RTL 项目。这段回答的价值在于AI 开始用“工程结构”说话不再只复述文件名。对话第三轮MicroBlaze 到 RFDC 是怎么连的客户接下来问到了更具体的问题控制平面怎么进 RFDC客户MicroBlaze 是怎么控制 RFDC 的你能看出 AXI 控制链路吗AI可以。Starter 在 BD 连接里识别到 MicroBlaze 的 AXI 控制链路MicroBlaze 先进入 AXI interconnect再访问 UARTLite 和 RFDC 控制接口。这说明工程里存在清晰的软件控制平面MicroBlaze 可以通过 AXI 总线访问 RF Data Converter 的控制接口。客户那如果我要让 AI 后续看 RFDC 配置相关问题它应该先读哪里AI我会先围绕这条控制路径读取相关证据BD 摘要确认 RFDC 控制接口的连接顶层 wrapper 摘要确认外部端口与 MicroBlaze 软件或配置相关的导出信息如果工程中包含RFDC IP 的配置摘要避免一开始读取所有 IP 生成文件如果问题涉及约束再回到 XDC 和时钟复位摘要。这就是 Starter 工程地图的作用先知道控制链路再按问题读取文件。对话第四轮AXI4-Stream 数据流怎么走这个工程不只是控制 RFDC还包含 AXI4-Stream 数据通路。客户继续追问数据流。客户数据流呢DDS 生成的数据是怎么进 RFDC 的AIStarter 识别到一条关键 AXI4-Stream 数据路径。链路结构可以概括为DDS 产生 AXIS 数据位宽转换模块调整数据宽度FIFO 做数据缓冲最终数据进入 RFDC 输入接口。如果你后续要检查“为什么 RFDC 输入没有数据”或“AXIS 位宽是否匹配”我会优先看这条链路上的 DDS、位宽转换、FIFO 和 RFDC AXIS 端口避免打开整个工程目录。客户RFDC 输出有没有被 ILA 观察AI有。Starter 识别到 RFDC 输出侧已经连接到 ILA 观测链路。这说明工程里已经有 ILA 观测 RFDC 多路输出 AXIS 数据。后续如果要做板级调试可以把这些 ILA 连接作为信号观察入口。这一轮对话开始像真实工程协作了客户问的是系统数据怎么走AI 回答的是具体 IP 和端口连接。对话第五轮为什么这比盲扫目录省得多客户这个工程如果直接让 AI 扫目录会浪费多少AI在这次 RFDC MicroBlaze 工程验证中原始工程目录扫描估算约148M tokens。通过 Starter 建立索引后交给 AI 的工程上下文约30K tokens。缓存命中后摘要返回时间约434 ms。项目数值原始工程扫描估算约148M tokensStarter 索引上下文约30K tokens缓存摘要返回约434 ms这个数据不应该理解成所有工程都有固定比例。它说明在这个 RFDC MicroBlaze 工程里大量 generated files、IP products、BD output 和 run/cache 目录并不适合直接塞给 AI。Starter 的做法是先给 AI 工程地图top、BD、关键 IP、AXI/AXIS flow、时钟复位和推荐入口。AI 需要深入时再读具体文件。对话第六轮如果我要继续让 AI 改工程它会怎么做客户如果我后面想让 AI 检查用户 RTL或者分析 RFDC 相关时钟复位它下一步会怎么做AI我会先基于 Starter 的工程地图缩小范围如果问题是用户 RTL 逻辑我会先读取对应用户 RTL再看它和 BD wrapper 的连接如果问题是 RFDC 输入数据我会沿着 DDS、位宽转换、FIFO 到 RFDC 输入接口这条数据路径读取相关证据如果问题是 MicroBlaze 配置 RFDC我会沿着 MicroBlaze、AXI interconnect 到 RFDC 控制接口这条控制路径检查如果问题是 ILA 观测我会先看 RFDC 输出侧到 ILA 的 AXIS 连接如果问题是时钟复位我会优先看 clock wizard、reset controller 和 XDC。这比“把所有 RTL 和生成文件都读一遍”更接近工程师的排查方式。客户所以 Starter 的重点是让 AI 先知道怎么进入工程不是替我完成综合实现AI对。Starter 的重点是工程理解、索引和结构图。它让 AI 少扫目录、少读噪声、少让工程师重复解释。如果后续需要执行综合、实现、报告摘要、证据归档或历史对比可以继续使用 Pro如果当前目标是让 AI 先理解一个复杂 Vivado 工程Starter 就是入口层。这次案例说明了什么这次 RFDC MicroBlaze 工程很适合说明 Starter 的价值。它不是单一 RTL 小项目而是一个真实复杂工程有 RF Data Converter 这种重量级 Xilinx IP有 MicroBlaze 控制平面有 AXI 和 AXI4-Stream 双链路有 Block Design 和 generated wrapper有时钟、复位、FIFO、位宽转换和 ILA 观测有大量不适合 AI 首轮阅读的生成文件和缓存目录。RepoKey Starter 做的事情可以概括成一句话先让 AI 拿到工程地图再让 AI 精读关键文件。这样 AI 在面对复杂 Vivado 工程时第一轮回答就能围绕设计入口、RFDC、MicroBlaze、AXI 控制链路和 AXIS 数据流展开避开 generated files 里的无效绕路。想自己试可以这样问 AI如果你正在用 Codex、Claude 或其他 AI Agent 做 FPGA 开发可以访问 RepoKey Vivado AI 官网 了解 Starter。第一次测试时可以直接这样问先用 RepoKey Starter 生成工程地图告诉我这个 Vivado 工程的 top、器件、Block Design、关键 IP、AXI/AXIS 数据流、时钟复位和优先阅读文件。如果你的工程里也有 IP、BD、XDC、生成文件和复杂数据通路这个问题比“帮我分析整个工程”更容易得到有用答案。