RNLRich Netlist
简中

The English terms are the normative ones. Glossary

RICH NETLIST语言标准 0.3 已发布 · 工具链预览版

RNL

面向 AI 时代的电路源文件

RNL 把电路的语义写进网表的注释:结构、意图和画法,人和 AI 都能读懂的纯文本格式。

项目
Rich Netlist (RNL)
定位
附着在网表注释中的数据扩展
宿主格式
SPICE、Spectre 等网表,写于注释中
当前阶段
语言标准 0.3;工具链预览版;第一版求解器
语言版本
0.3 · 2026-10-18
许可证
代码 MIT · 规范 CC-BY-4.0 · 数据 CC0

Parts of this page are not yet available in Simplified Chinese; they are shown in English. Help translate it

01 · RNL 是什么

富含电路语义的网表

RNL 补齐网表与原理图之间的高层次语义缺失:结构、意图、画法

一个实际由 Agent 设计的 RNL 案例及渲染出的原理图

审查时不必逐行通读网表,只需核对它声明的语义。精确的原理图信息可由求解器生成,也可由模型直接输出。

ota5t.sp 在查看器中打开
RNL 记录所选条目对应的行

高层次语义清单悬停或点击条目

    网表负责 器件与类型、参数、连接关系、子电路接口

    RNL 负责 结构、意图、画法、显示符号;只引用网表

    网表描述电气事实,而 Rich Netlist 描述如何理解与呈现该电路

    藏于注释中

    写在宿主网表的合法注释里,如 SPICE 的 * @RNL {…}。仿真器直接跳过,无需剥离。

    绝不改动电路

    只引用网表已有的器件、网络和端子;不能新增器件、连接或参数。

    详略程度自由

    从“M1 和 M2 是差分对”到每个坐标和拐点,不同层次的描述可在同一文件中自由混写。

    RNL 不是

    • 另一种网表语言
    • 第二份连接关系表
    • 强制规定唯一画法的格式
    • 像素级的图片存档

    02 · 为什么

    网表与原理图,各自缺少了一半

    仿真靠网表,读懂电路靠原理图。只靠其中一种都不够用。

    工作事项网表原理图(专有格式)网表 + RNL
    仿真器直接读取 生来即为此用途 必须先导出网表 RNL 只是注释
    一眼看懂电路结构 只有一行行文本 一目了然 由查看器绘出原理图
    纯文本,可 diff 并纳入 Git 管理 可以 二进制数据库 可以
    AI 可直接读写 纯文本 图形格式 画法同样是纯文本
    无需原工具即可打开 任何文本编辑器 需要同款软件与对应版本 任何 RNL 查看器
    承载设计意图 无 仅停留在画面上,机器无法解读 差分对与对称均为明确语句
    电路的唯一真相来源 可以 原理图与网表可能不一致 连接关系完全取决于网表

    AI 设计流程中的新难题

    AI 写出的网表,人难以审查

    面对几百行生成的网表,审查者很难直接看出这是什么电路。

    AI 画原理图不够可靠

    让大语言模型一笔一画地画原理图很难,不同模型画出的结果也参差不齐。

    Agent 只能通过 EDA 工具读写原理图

    原理图保存在专有的二进制数据库里,读图或改一根导线都得经过工具接口。

    目前的权宜做法

    手动重画

    耗时费力,且每当网表修改就得重新画过。

    自动生成原理图

    自动布局只知连接关系、不知电路结构,看不出哪两个晶体管构成一对。

    截图与导出图片

    留下了图片却失去了电路:既无法运行仿真,也无法继续编辑。

    依赖 EDA 的 API 接口

    AI 只能调用 EDA 工具的 API 对电路进行编辑,受 EDA 生态约束。

    RNL 的思路:采用人与 AI 都能直接理解和编辑的纯文本格式,不依赖任何特定的 EDA 工具

    03 · 优势

    把电路含义写进网表能带来什么

    含义优先

    直接写明哪些器件构成差分对或电流镜、哪里对称、电流流向如何。无论画法怎么调整,这些语句都留在文件里。

    单一纯文本文件

    仿真器照常运行;可在 Git 中对比差异与合并;原理图和网表不会脱节。

    AI 编写,人来审查

    AI 在写电路的同时写出结构和画法;人在查看器里审查它声明的结构和意图。

    开放

    公开的标准与符号库、开源工具,以及可在浏览器中直接打开的查看器。

    电路与样式分离

    网表定义电路本身,包决定它的外观,正如 HTML 承载内容、CSS 负责样式。引入公开包 eda-symbol 和 eda-style,同一个文件就能画成传统 EDA 原理图的样式。在示例中切换样式。

    04 · 场景对比

    同一项任务,两种做法

    常见场景下,现状做法与 RNL 做法的对比。

    现在的做法

    帮我设计一个五管 OTA。

    网表虽然生成了,但里面没有任何内容说明这是什么电路。

    几百行生成的网表让人看不出电路结构,而大语言模型直接画原理图又不可靠。

    使用 RNL

    帮我设计一个五管 OTA。

    Agent 在写出电路的同时写明结构和画法;人在查看器里审查它声明的内容。

    人审查的是电路结构和设计意图,而不必逐行通读网表。

    05 · 愿景

    开放的生态,以及建立其上的设计流程

    RNL 是数据层:把电路及其含义保存在任何人都能打开的文件里。

    开放的生态

    让电路和符号库像开源软件一样发布与复用。

    基于 RNL 的设计流程

    Agent 编写和修改电路;人审查电路的结构与意图;EDA 工具负责仿真和验证。

    Agent

    编写和修改电路,同时写明结构和画法。

    人

    在查看器中审查已声明的结构和意图。

    ota5t.sp

    RNL 数据层:网表 + 含义

    EDA 工具

    执行仿真与验证;仿真器会自动跳过 RNL 注释。

    06 · 现状

    目前的进展

    语言已发布 0.3 版标准;网页版和桌面版查看器可以读取、绘制和编辑网表,求解器也已推出首个版本。下方列出最近发布的里程碑和后续计划;完整时间线列出了全部已发布的里程碑。

    1. RNL 核心 0.5.4

      Core 0.5.4: rnl solve says the solver is a preview; each object lists the usages and groups it is a member of, in the Document, the snapshot and the new rnl explain; package files and hardware-description files are known by their format; the solver tells supply, ground and port symbols by their drawing. 发布说明

    2. RNL 核心 0.5.5

      Core 0.5.5: the Document carries the parameters of subcircuits, those a definition gives, those an instance writes and the numbers they come to, and a build can bind values to them; an instance of a subcircuit that Auto Include found defined several times lists the definitions. 发布说明

    3. 桌面版查看器 0.5.3

      RNL Viewer 0.5.3: entering an instance of a subcircuit that Auto Include found defined several times asks which definition to open; a subcircuit shows its parameters in a bar under the path, and a dialog changes them; entering a subcircuit of another file takes the values its instance writes. 发布说明

    4. 完整时间线
    5. 接下来

    常见问题

    加入 RNL 的网表会让仿真器报错吗?

    不会。RNL 只写在宿主网表的合法注释中,仿真器无需预处理就会直接跳过。具体哪种注释标记在各家商用仿真器中都安全,仍在逐一验证。

    RNL 会改变我的电路吗?

    不会。器件、参数和连接关系完全由网表定义,RNL 只能引用它们。只修改 RNL 时,网表正文保持原样。

    一定要手写坐标吗?

    不必。“M1 和 M2 是差分对,关于中心线对称”本身就是合法且完整的描述;坐标可以交给求解器计算,也可以之后再补。

    不同工具绘制同一份 RNL 的结果会一样吗?

    写明精确几何坐标的部分会完全一致。只声明意图的部分,不同求解器在满足该意图的前提下可能画出不同布局;RNL 不承诺像素级一致。

    这跟 Virtuoso 或 KiCad 的原理图文件有什么不同?

    那些是各家工具私有的图形格式,与网表分开存放。RNL 直接写在网表里,任何支持 RNL 的工具都能读取,而且符号本身也是用 RNL 定义的。

    为什么经常提到 AI?

    大语言模型擅长读写网表这类文本。RNL 把电路的结构、意图和画法也变成文本,因此 Agent 可以在同一个文件里写出电路及其含义,人则在查看器里审查它声明的内容。语句之间的自由文本方便人阅读,但不会改变机器对语句的解析。

    可以用其他语言编写 RNL 吗?

    关键字与标准包中的名称都可以有另一种语言的代称。文件可在头段记录中用 @ALIAS 逐个声明代称,或用 @USE-ALIASES(name=…, version=…) 加载代称包(汇集某种语言代称的包文件;自定义文件则用 path=… 指定)。标准系列 0.3 目前随附一个代称包,即中文包 rnl-zh:在头段记录中写入 @USE-ALIASES(name="rnl-zh", version="0.3"),即可使用 #M1 @位于(10, 20) 这样的代称。代称只是另一种拼写方式:两种拼写可以自由混用,机器读到的语句相同;头段记录本身一律使用标准拼写。

    现在就能用吗?

    用于查看原理图和编辑网表文本已经可用:查看器可在浏览器中或 Windows、Linux、macOS 上打开带 RNL 的网表,绘制已放置的对象,并支持编辑文本后重新渲染。自动布局尚处早期:rnl solve 和桌面版查看器(预览功能)已内置初代求解器;网页版查看器暂未接入求解器,因此会把未放置的对象列在“未绘制”视图中。目前尚不支持直接拖动编辑。