世界从未停止变化。RSS
BIG CHANGE.

Markdown 版本

AI-translated from English; not yet reviewed by a fluent editor.

# 如何执行 openTPU 模擬器并评估其 FPGA 需求

> openTPU 记录了一套用于语言模型推論的 Python 模擬器,以及通往 Inspur Kintex-7 卡的另一條路徑。本指南整理代码库中的指令、预期输出与硬体需求。

By BIG CHANGE Editorial

Published: 2026-10-07T13:36:01.795Z
Updated: 2026-10-07T13:36:01.795Z
Canonical: https://bigchange.ai/blog/opentpu-simulator-fpga-requirements-guide

![Conceptual charcoal illustration of one engineer holding and examining a PCIe FPGA accelerator card above an electronics work mat.](https://bigchange.ai/api/media/file/opentpu-fpga-card-hero-v2.png)
AI-generated conceptual illustration by BIG CHANGE, based on a reference photograph of the Inspur YPCB-00338 board. It does not depict a BIG CHANGE test or observed openTPU run.

这个 [openTPU 代码库 ](https://github.com/FeSens/openTPU/tree/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93)將 Python 指令集模擬器、編譯器、SystemVerilog 设计与 FPGA 主机工具整合在同一个专案。作者表示曾在 Inspur Kintex-7 卡上执行语言模型。对 ML 系统或 FPGA 开发者而言,较容易开始的第一步,是以真正的模型权重执行软体聊天。將同一专案移至电路板,还需要特定板卡、具授权的建置工具与 Linux 主机设定。本指南依据代码库的 commit `b9a3f3b`(2026 年 10 月 7 日);BIG CHANGE 尚未安裝、模擬或测试此专案。

## 重大变化

- **有何改变:** openTPU 同时发布加速器指令集、模擬器、編譯器、RTL 与电路板整合。工程師可以先检视模型运算如何转成模擬指令,再決定是否购买支援的卡。
- **为何重要:**文件化的模擬器讓硬体学習者能以具体方式研究设计,并使用一般主机软体执行小型语言模型。专案称 AI agents 协助产生硬体堆疊;可检视的产出讓这项开发主張值得进一步查证,而卡上执行结果仍是专案自行测得。
- **接下来观察:**要重现实体结果,须有 Kintex-7 电路板、具授权的 Vivado 建置环境,以及可正常运作的 PCIe 启动流程。代码库提供相关指令和自我测试。以固定版本进行独立执行,才能確認其他工程師重现结果是否容易。

## 固定来源版本并选择软体路徑

以下步驟依据代码库 `main`的版本,使用 [commit `b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93`](https://github.com/FeSens/openTPU/commit/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93),于 10 月 7 日提交。代码库有一个 `v0.5` 标签,但本指南采用较新的固定 commit,因为其 README 新增了 [Hugging Face 验证章节](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/README.md#validating-against-hugging-face)。Python 套件仍在 `0.1.0` 中标示为版本 [`pyproject.toml`](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/pyproject.toml);仅憑套件版本号无法識别来源快照。代码库采用 Apache 2.0 授权。

需要 Python 3.10 或更新版本。套件宣告相依于 `numpy` 和 `textual`;README 另行安裝 `pytest`、`torch` 和 `transformers` 以供测试和使用模型。README 示範透过 Hugging Face 的 `hf` 指令,將 checkpoint 下载至 `models/LFM2.5-230M`。下载前請確認 Python 环境中可以使用 `hf`。Checkpoint 是聊天指令的输入,不是随原始码附上的模型。专案未说明这條路徑的下载总容量、主机记憶体需求或固定模擬器执行时间。

在代码库根目录执行,文件所列的 [步驟 ](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/README.md#try-it)如下:

```shell
git clone https://github.com/FeSens/openTPU.git
cd openTPU
git checkout b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93
pip install -e .
pip install pytest torch transformers
python3 -m pytest -q
hf download LiquidAI/LFM2.5-230M --local-dir models/LFM2.5-230M
otpu-chat --model lfm2 --backend isa
```

checkout 指令固定检视过的版本;安裝、测试、下载与聊天指令则来自 README。 `--backend isa`会选择 Python 指令集模擬器。完整的 `pytest` 测试套件也包含需要 Verilator 5 的 RTL 测试,因此沒有该工具的电脑无法用整套测试作为纯软体成功检查。文件中最精简的互动式执行,完成讯号是载入 LFM2.5-230M checkpoint,接著聊天介面可接收提示并回传模型文字。产生回覆的確切文字取決于提示和抽样设定。 [聊天 CLI 原始码 ](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/opentpu/host/chat.py)也提供终端机 REPL 的 `--plain` 和单次回覆的 `--prompt`;后者会输出回覆与回合统计。这些是文件记载的介面,并非 BIG CHANGE 实际观察到的输出。

README 將 Qwen3-0.6B、LFM2.5-230M 和 Qwen3.5-0.8B 列为主要聊天模型,另有数个较大型模型。每个模型都需在预期目录中放置自己的 checkpoint,或指定明確路徑。上述 LFM2 路徑是代码库中最简短的模型下载範例。README 更完整的结果涵蓋卡上十个模型,包括 Gemma 4 与需要专家卸载的模型;部分模型也测试了多種权重格式。该表是作者的测量结果,并不保证所有模型都能采用这项单指令 LFM2 设定。

## 模擬器检查什么

专案说明,一種 kernel 语言与編譯器会产生加速器指令。Python ISA 模擬器执行这些指令;SystemVerilog RTL 则是硬体实作。 [README 的系统概述 ](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/README.md#how-it-works)和 [`opentpu/isasim.py`](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/opentpu/isasim.py)可讓读者追蹤两者的界线。执行 `otpu-chat` 搭配 `isa`会透过软体指令路徑进行模型推論,不会編写 FPGA,也不会测量电路板的吞吐量。

维护者表示,他們的卡所产生的 token 与模擬器逐位元相同,并提供 [验证指令码 ](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/tools/validate.py),將选定的裝置执行结果与 CPU Hugging Face 参考结果比较。固定版本 README 说明预设提示、token 与 logit 比较,以及 10 月 7 日的卡上执行。这些报告和程序码可供检查。BIG CHANGE 未重做测试,因此不能据此证明独立的准確度或速度。

## 使用实体卡有何不同

这份 [电路板手冊 ](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/board.md)以 **Inspur YPCB-00338** 搭配 Xilinx Kintex-7 `xc7k480t-ffg1156-2`、两个 2 GiB DDR3 通道,以及连接主机电脑的 PCIe 为目标。预设 bitstream 建置使用 Vivado 2026.1。手冊称免费版不包含此裝置,并建議购买授权或使用 30 天评估版。 [AMD 2026.1 裝置表 ](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Device-Availability-by-Subscription-Tier?contentId=FXBYqlfi_pd_k5OTkJcJ1A)对此裝置说法提出相反资讯: **Basic 包含所有 Kintex 7 裝置**。

[AMD 目前的授权选项 ](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/vivado/vivado-licensing-options.html)列出 Basic 价格为 $0,支援 Linux,且可免费年度续約。 [授权常見问题 ](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/licensing-faq.html)指出 Basic 仍需有效的年度授权档;独立提供的完整功能评估版期限为 **60 天**。 [AMD 2026.1 功能表 ](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Supported-Devices-and-Features)列出 Basic 支援 JTAG 編程,但限制 XSIM 模擬和部分除错功能。较高階付费層级增加功能,AMD 并表示 IP 授权不变。BIG CHANGE 尚未用 Basic 建置 openTPU。在將此流程称为零成本建置前,仍须確認 bitstream 流程所需的工具和 IP 权利。电路板手冊估计 `make bit` 需时 1.5 至 3 小时,视电脑而定。手冊与 AMD 層级表都未提供此卡的购买价格或完整重现成本。

取得电路板和工具鏈后,文件记载的板卡路徑是在 `boards/ypcb-00338` 建置 bitstream,透过 JTAG 編程 FPGA,并设定 Linux 主机。板卡的 [`Makefile`](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/boards/ypcb-00338/Makefile) 会將 `make bit` 输出传送至 `build/vivado/otpu.bit`。`make program` 预设使用 openFPGALoader;手冊也说明 Vivado 的 hardware manager。JTAG 载入内容不会在断电重启后保留。

```shell
cd boards/ypcb-00338
make lint
make bit
make program
```

上述硬体步驟来自电路板手冊,并非本指南实际测试的流程。Linux 主机的启动检查表要求 Python 套件与 checkpoint、 `sudo otpu-setup`(用来安裝 XDMA 驅动程序和裝置规则)、JTAG 载入后重新掃描 PCIe,以及执行 `otpu-setup --check`。文件指出,若驅动程序、卡、连线、裝置节点和 ID register 正確,最后一项会以「all in place」成功结束。之后由 `otpu-selftest` 检查卡,再执行 `otpu-chat --backend board --model lfm2`。板卡診断可用 `otpu-diag --json diag.json` 儲存。这些检查才是卡板路徑的具体完成讯号;ISA 聊天本身无法取代。

对公开的效能数字也须同样謹慎。README 舉例指出,作者的卡以 4-bit 权重和 int8 head 执行 LFM2.5-230M,wall time 为 **每秒 82.1 个 token** 。其方法是在 512-token 提示后使用 greedy decode 产生 64 个 token;表格区分裝置週期与包含主机时间的 wall time。更換主机、bitstream、权重格式或提示都会得到不同测量。10 月 7 日的 commit 讯息记录卡上的額外验证,但仍是维护者紀录。本指南检视的来源中,沒有独立重现的基准测试。

## 来源与延伸阅读

- [检视版本的 openTPU 代码库](https://github.com/FeSens/openTPU/tree/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93),2026 年 10 月 7 日。README 提供系统概述、模擬器指令、模型清单和作者自行回报的板卡测量。结果是专案主張;BIG CHANGE 未执行代码库。
- [Python 套件中继资料](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/pyproject.toml)和[Apache 2.0 授权](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/LICENSE)。这些资料说明 Python 版本、宣告的相依套件、CLI 进入点、套件版本与原始码授权。模型 checkpoint 和 Vivado 有各自的條款与要求。
- [电路板与主机启动手冊](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/board.md),于 2026 年 10 月 7 日检查。手冊说明支援的卡、bitstream 步驟、Linux 设定、JTAG 編程与自我测试。其付费授权和 30 天评估版说法与 AMD 现行 2026.1 授权文件相互矛盾。部分历史 bitstream 範例提及较早建置;重现时請使用固定版本樹与目前的建置指示。
- [AMD Vivado 2026.1 裝置可用性,UG973](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Device-Availability-by-Subscription-Tier?contentId=FXBYqlfi_pd_k5OTkJcJ1A)和[支援的裝置与功能](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Supported-Devices-and-Features),两者日期均为 2026 年 6 月 23 日;另有[授权选项](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/vivado/vivado-licensing-options.html),于 10 月 7 日检查。这些资料將所有 Kintex 7 裝置列入免费 Basic,列出 Linux 和 JTAG 支援,并说明 Basic 的模擬与除错限制。[AMD 授权常見问题](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/licensing-faq.html)说明 Basic 的年度授权档与 60 天评估版。仅有裝置支援资讯,无法验证此专案完整 bitstream 流程可在 Basic 上运作。
- [聊天 CLI](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/opentpu/host/chat.py)和[LFM2 指南](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/lfm2.md)。这些资料说明后端选择、模型路徑、互动式与单次输出的行为,以及小型 checkpoint 範例。
- [GIGAZINE 10 月 7 日报导](https://gigazine.net/gsc_news/en/20261007-opentpu)可提供专案受到公开关注的背景。本指南的设定和效能细节是根据代码库查核,而非取自该报导。

## Sources

- [检视版本的 openTPU README](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/README.md) — 主要概述、模擬器指令、模型清单、卡上测量结果及方法。结果和 AI 輔助设计说明均为专案主張。
- [openTPU 电路板手冊](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/docs/board.md) — 支援的 Inspur 卡、裝置、DDR3、Vivado 2026.1、建置/編程/主机设定与检查。其仅提供付费授权/30 天评估的建議,与 AMD 2026.1 層级文件相衝突。历史章节包含较舊图片。
- [openTPU 套件中继资料与聊天原始码](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/pyproject.toml) — Python 最低版本、宣告的相依套件、套件版本、授权聲明和 CLI 进入点;聊天原始码说明后端选项与预期输出介面。
- [openTPU Apache 2.0 授权](https://github.com/FeSens/openTPU/blob/b9a3f3bc98e7f74808fd5650bf9db33eaf7b2c93/LICENSE) — 专案原始码授权;不代表模型和 Vivado 也采用相同條款。
- [AMD Vivado 2026.1 依订阅層级区分的裝置可用性(UG973)](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Device-Availability-by-Subscription-Tier?contentId=FXBYqlfi_pd_k5OTkJcJ1A) — AMD 2026.1 裝置表明確將所有 Kintex 7 裝置列在 Basic 之下;裝置涵蓋範圍并未独立验证 openTPU 整个 bitstream/IP 流程。
- [AMD Vivado 2026.1 支援的裝置与功能(UG973)](https://docs.amd.com/r/en-US/ug973-vivado-release-notes-install-license/Supported-Devices-and-Features) — 启动时需要有效授权档;Basic 包含 JTAG 編程,但限制 XSIM 模擬与部分除错功能。此文件并未验证 openTPU 可在 Basic 下建置。
- [AMD Vivado 授权选项](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/vivado/vivado-licensing-options.html) — 目前 Basic 价格为 $0,可免费年度续約,支援 Linux;不同層级功能有别,IP 授权不变。此層级模式自 2026.1 开始。
- [AMD 授权常見问题](https://www.amd.com/en/products/software/adaptive-socs-and-fpgas/licensing-faq.html) — Basic 2026.1 以上版本需要有效的年度授权档,可免费取得;另行提供的完整功能评估版期限为 60 天。
- [GIGAZINE:openTPU 报导](https://gigazine.net/gsc_news/en/20261007-opentpu) — 仅作为次级报导背景。设定和效能资讯已对照代码库的第一手来源查核。
BIG CHANGE 新闻通讯

纵览全局,按自己的节奏。

关于人工智能和机器人技术的近期报道、值得关注的变化以及可采用的实用想法。选择每日简报、每周摘要或每月视角。