Overflow README

The project's README from github.com/Dollbar/Overflow. As one markdown file: README.md.

Overflow AI Accelerator RTL System

Overflow is an open engineering project that connects model-level accelerator requirements to synthesizable NPU and KDLink RTL. The repository lower boundary is synthesizable RTL; external HBM, SerDes, host, and technology behavior is represented by explicitly labeled models and interfaces.

The repository publishes the 1.0.0 source-and-verification baseline at tag v1.0.0. Its authoritative publication decision and validation boundary are recorded in docs/releases/ACCEPTANCE.json.

Release Scope

The 1.0 source scope includes:

This release does not include model weights, private datasets, a complete compiler/runtime/driver stack, an end-to-end Kimi-K3 product, analog PHY models, physical design, DFT, or silicon signoff. The 2 PFLOPS, 5 TB/s, 50 token/s, and one-million-endpoint values remain architecture or simulation claims at their declared evidence levels; they are not measured silicon results. Production private SRAM capacity is not frozen. Coverage is thresholded where a code-coverage gate exists and is never presented as exhaustive; the detailed subsystem boundary is recorded in the release scope.

See the complete release scope and release notes.

Architecture Envelope

Item Declared baseline
Reference workload Kimi-K3, 2.8T total and 104B active parameters
Forward-looking envelope 5.6T total and 208B active parameters
Weight and activation formats MXFP4 weights; MXFP8, FP8, and BF16 activations
Logical NPU scale 32 nodes in the system baseline
Logical HBM capacity 192 GB per NPU, 6.144 TB aggregate
NPU organization 8 Pods in a 2 by 4 mesh, 8 HBM partitions, 1 DMA per Pod
KDLink injection target 512 GB/s TX and 512 GB/s RX payload per NPU, analytical

Configuration values are source-controlled in config/system_baseline.yaml and config/npu_arch_proposed.yaml. Status fields distinguish frozen interfaces from proposed product sizing.

Repository Map

Directory Responsibility
Library/ Reusable HBM, SerDes, KD28 models, profiles, and synthetic timing views
specs/ Model, compiler, ISA, ABI, KDLink, and digital-interface specifications
rtl/ NPU, KDLink, memory, host, and common synthesizable RTL
simulator/ HBM, NPU, KDLink, and system functional environments
verification/ Packages, VIP, self-checking RTL tests, formal, CDC, and coverage
technology/ Portable timing-view validation and implementation-boundary scripts
requirements/ Requirement ownership and evidence states
docs/ Architecture, ADR, planning, management, and release records
config/ Machine-readable architecture, toolchain, and release configuration
third_party/ Dependency inventory; external restricted inputs are never stored here
LICENSES/ Owner-approved official license and exception texts

Other first-level directories define model, compiler, ISA, runtime, driver, firmware, and deployment ownership. Some are specification placeholders and are not represented as completed implementations.

Reproduce the Release

Use a fresh clone on a Linux x86-64 host with Python 3.12, GNU Make, GCC, Verilator, Yosys, OpenSTA, and verilator_coverage available from PATH. The exact validated versions, sources, licenses, and checksums are in third_party/dependencies.yaml.

A machine with at least 32 GiB of RAM is recommended for the complete RTL regression. Use RELEASE_JOBS=1 on smaller hosts or when several generated C++ compilations would otherwise overlap, and provide swap rather than relying on an OOM kill. The largest validated single Pod lint used about 20 GiB. The first uncached run is intentionally long: on the validated 24-thread host, the KDLink RTL gate takes about 45 minutes and its instrumented coverage gate takes about 48 minutes. These figures are planning guidance, not performance requirements.

python3 -m venv .release-env
. .release-env/bin/activate
python3 -m pip install --require-hashes -r requirements-build.lock
python3 -m pip install --require-hashes --no-build-isolation -r requirements-dev.lock
make release-preflight
make release-audit
make release-regression RELEASE_JOBS=2
make release-check

Expected outputs for the published tree are RELEASE_REGRESSION_PASS after all portable engineering gates and RELEASE_GATE_PASS from the clean, licensed release attestation. Generated files stay in ignored build/ or work/ directories. The immutable payload, attestation relationship, and annotated-tag procedure are documented in docs/management/release_management.md.

Contribution and Evidence Rules

Read Contributing, Governance, the Code of Conduct, Security Policy, and the repository-wide automation rules before changing interfaces. Specifications precede implementations; versioned protocol values live inside stable, version-neutral engineering files. Evidence is labeled as ANALYTICAL, FUNCTIONAL_SIM, RTL_SIM, FORMAL, or GENERIC_SYNTH.

Overflow (Dollbar/Overflow)

Searching Database…

这是什么?Overflow 是中科大 Dollbar 组织的开源硬件工程项目,为一个 AI 加速器 SoC(NPU 加 KDLink 互连)构建可综合 RTL,以 Kimi-K3 规模的混合专家模型作为参考工作负载。
这是一颗能工作的芯片,还是只是 RTL 源代码?它是可综合 RTL(硬件描述代码)加一套完整的验证栈,不是实体芯片。外部 HBM、SerDes、主机和工艺行为仅由明确标注的模型来表示。
怎么复现发布并运行验证门禁?在一台 PATH 中具备所需工具链的 Linux x86-64 主机上克隆仓库并运行基于 Make 的回归;在干净、经授权的认证流程下,输出应为 RELEASEREGRESSIONPASS 和 RELEASEGATEPASS。
构建之前需要安装哪些工具?PATH 中必须能找到 Python 3.12、GNU Make、GCC、Verilator、Yosys、OpenSTA 和 verilatorcoverage;完整 RTL 回归建议使用 32 GiB 内存的机器(仅单个 Pod lint 就占了约 20 GiB)。
这次发布包含完整可用的芯片或 AI 技术栈吗?不包含。1.0 发布不含模型权重、私有数据集、完整的编译器/运行时/驱动栈、端到端的 Kimi-K3 产品、模拟 PHY 模型、物理设计、DFT 和芯片签核;那些抢眼的性能数字是仿真/架构层面的声明,并非实测芯片结果。
这个项目面向谁?它面向从事 AI 加速器 SoC 设计的硬件/RTL 工程师和研究人员,不是给运行 AI 模型的最终用户用的。
KDLink 是什么?KDLink 是 Overflow 的芯片间互连,涵盖端点、路由和集合通信 RTL,外加一个厂商中立的数字 SerDes 模型,用于把多颗 NPU 连接在一起。
该架构面向什么工作负载?基线面向一个 Kimi-K3 风格的参考模型,总参数 2.8T、激活参数 104B;前瞻上限为总参数 5.6T、激活参数 208B,使用 MXFP4 权重和 MXFP8/FP8/BF16 激活。
一次完整验证运行要多久?在经过验证的 24 线程主机上,KDLink RTL 门禁约需 45 分钟,其插桩覆盖率门禁约需 48 分钟;这些只是规划参考数字,并非性能要求。
2 PFLOPS、5 TB/s 和 50 token/s 这些数字是在真实芯片上测得的吗?不是,它们被明确标注为架构或仿真层面的声明(ANALYTICAL、FUNCTIONALSIM、RTLSIM、FORMAL 或 GENERICSYNTH 证据等级),不是实测芯片结果。
Creator
Dollbar
Size
10.3 MB
Stars
170
Age
2mo
Commits · 90 Days