Skip to content
CRUXOPEN

开源芯片 · 算法 → RTL → 板卡

开源硬件,
逐位验证。

CruxOpen 以开源方式构建 AI 加速器和图像处理流水线:先写可执行的 Golden Model,再让 RTL 每个字节都与之一致,最后在真实 FPGA 板卡上跑通。

实测数据,而非预估

Qwen3-0.6B 在 KV260 上的解码
0.07s/token
↳ openTARS README · Tested models (Qwen3-0.6B, KV260, 100 MHz)
Qwen3.5-0.8B 与 Golden Model 对比
逐位一致板上每个 logit
↳ openTARS README · run.sh selftest on the board
openISP 实时相机流水线
4K30板上实测
↳ openISP README · Hardware ISP on AMD Kria KV260
回归测试,外加 141 个 RTL 变异体
748项测试
↳ openTARS README · Run (pytest) + 141-mutant RTL mutation check

01 / 项目

两个开源设计,都已在硬件上运行。

每个仓库都包含 Golden Model、RTL、板卡工程,以及驱动它的软件。

大模型加速器 · NPU

openTARS

一个单核 NPU,在一块现成的 FPGA 开发板上运行 Qwen3.5-0.8B 和 Qwen3-0.6B,每个 logit 都与 Golden Model 逐位一致。

模型解码模型镜像
Qwen3.5-0.8B0.13 s/tok887 MiB
Qwen3-0.6B0.07 s/tok662 MiB

板上配置

板卡
AMD Kria KV260 (XCK26)
核心时钟
100 MHz
LUT 占用
90%
权重
INT8 W8A8
比特流 v1.0 → v3.3
2.6 → 0.13 s/token

验证方式

  • Python 可执行契约与 Golden Model,在写 RTL 之前先与 transformers 对齐
  • RTL 与 Golden 逐字节比对:随机指令队列、随机反压、五种阵列形状
  • 748 项回归测试与 141 个变异体检查:每个注入的 RTL bug 都必须被捕获
  • 同一核心按 ASIC 做时序:ASAP7 上 1 GHz 布局前时序

如实报告:MTP 投机解码已实现且结果逐位一致,但在这块硬件上平均只有 0.97×(草稿命中率 77% 才回本),因此默认关闭。

Qwen3.5-0.8B 通过 openTARS NPU 在 KV260 上对话
Qwen3.5-0.8B · KV260 · bitstream v3.3
SystemVerilogVerilatorDRAMsim3VivadoYosys + ASAP7Python golden model

↳ 来源: openTARS/README.md

相机流水线 · ISP

openISP

一条完整的 SystemVerilog 图像信号处理器(未使用 HLS),从传感器 RAW 输入到实时 HDMI 预览,带硬件 3A 统计和配套调优工具。

板上配置

传感器
onsemi AR1335
视频
1080p30 · 4K30
实测
30.04 fps @ 4K
视频时钟
200 MHz
数据通路
2 pixels/clock
面积
35% LUT (250 MHz OOC)

全栈

RTL → AXI4-Lite 控制 → V4L2 驱动 → AE/AWB/AF 守护进程 → PC 调优工具

127 项测试:模型、RTL 对模型、固件对模型、调优

待完成:ColorChecker 色彩标定、250 MHz 视频时钟、NV12 输出、镜头阴影校正。

CSI-2 RAW in2 pixels/clock
  1. BayerDPCBLCAAFAWBCNFCFA
  2. RGBCCMGammaCSC
  3. YUVNLMBNFEEFCSHSCBCC
+ 3A statistics (AE · AWB · AF)YUYV → DDR → HDMI/DP
RTL 模块,与整数模型逐位一致
SystemVerilog (no HLS)Verilator / xsimV4L2 driverAE/AWB/AF firmwarePC tuning tool

↳ 来源: openISP/README.md · hw/kv260/README.md

02 / 方法

Golden Model 是唯一的真相来源。

  1. 01 · Contract

    先把规格写下来

    用带版本的契约固定格式、数值行为和累加顺序。歧义在纸面上解决,而不是留到 RTL。

  2. 02 · Golden

    让规格可执行

    用 Python Golden Model 实现契约,并先与真实参考实现(PyTorch / transformers)对齐。

  3. 03 · RTL

    每个字节都对上

    随机 fuzz、构造的舍入与边界向量、变异测试,直到每个注入的 bug 都被抓住。

  4. 04 · Board

    在硬件上证明

    同样的检查在 FPGA 上运行:板卡输出与 Golden Model 逐位比对。

04 / 合作

有值得解决的硬件问题?

欢迎精选的硬件项目、科研合作,以及正在打造 AI 或视觉芯片的早期团队。

发邮件联系

[email protected]

请简单说明:你在做什么、运行在什么平台上、怎样算“完成”。

  • 01

    AI 加速器架构

    面向端侧 NPU 的大模型与视觉负载:数据流、存储层次与 Roofline 分析。

  • 02

    RTL 设计与验证

    Golden Model 驱动的 RTL、逐位回归、fuzz 与变异测试。

  • 03

    FPGA 上板

    Kria / Zynq UltraScale+ 工程搭建、Linux 驱动与板上验证。

  • 04

    ISP 流水线与调优

    Bayer 到 YUV 流水线、3A 统计、标定与调优工具。