RNLRich Netlist
한국어

Translated from English by AI; it may contain errors. Report an issue · 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 Korean; they are shown in English. Help translate it

01 · RNL이란

회로 시맨틱이 풍부한 넷리스트

RNL은 넷리스트와 회로도 사이의 고수준 시맨틱 공백을 메웁니다: 구조, 설계 의도, 도면

에이전트가 실제로 설계한 RNL 사례와 그로부터 렌더링한 회로도

검토할 때 넷리스트를 한 줄씩 읽을 필요 없이 선언된 시맨틱만 확인하면 됩니다. 정확한 회로도 정보는 솔버가 생성하거나 모델이 직접 출력할 수 있습니다.

ota5t.sp 뷰어에서 열기
RNL 레코드선택한 항목의 줄

고수준 시맨틱 체크리스트항목에 마우스 올리기·클릭

    넷리스트가 맡는 것: 소자와 종류, 매개변수, 연결 관계, 서브서킷 인터페이스

    RNL이 맡는 것: 구조, 설계 의도, 도면, 표시용 심볼(넷리스트를 참조만 함)

    넷리스트는 전기적 사실을 기술하고, Rich Netlist는 그 회로를 어떻게 이해하고 표현할지를 기술합니다

    주석 속에 숨김

    SPICE의 * @RNL {…}처럼 호스트 넷리스트의 적법한 주석 안에 작성합니다. 시뮬레이터는 이를 건너뛰므로 따로 걷어낼 필요가 없습니다.

    회로는 건드리지 않음

    넷리스트의 소자, 넷, 단자를 참조만 할 수 있으며, 소자나 연결, 매개변수를 추가할 수 없습니다.

    자유로운 상세도

    “M1과 M2는 차동쌍이다”라는 설명부터 모든 좌표와 꺾임점까지 한 파일 안에서 자유롭게 섞어 쓸 수 있습니다.

    RNL이 아닌 것

    • 또 하나의 새로운 넷리스트 언어
    • 두 번째 연결 목록
    • 유일한 작도 방식만 강제하는 형식
    • 픽셀 단위의 이미지 아카이브

    02 · 필요성

    넷리스트와 회로도는 각각 전체 그림의 절반씩을 놓치고 있습니다

    시뮬레이션은 넷리스트로 돌아가고, 회로를 이해하려면 회로도가 필요합니다. 하지만 둘 다 단독으로는 한계가 있습니다.

    작업넷리스트회로도(독점 형식)넷리스트 + RNL
    시뮬레이터가 직접 읽음 원래 그 용도로 만들어짐 먼저 넷리스트로 내보내야 함 RNL은 주석일 뿐임
    회로 구조를 한눈에 파악 텍스트 줄만 나열됨 한눈에 보임 뷰어가 도면으로 그려 줌
    diff와 Git 관리가 가능한 일반 텍스트 예 바이너리 데이터베이스 예
    AI가 읽고 쓸 수 있음 텍스트 형식 그래픽 전용 형식 도면 정보 또한 텍스트임
    원래 도구 없이 열기 모든 텍스트 편집기 동일한 소프트웨어와 버전 필요 모든 RNL 뷰어
    설계 의도 보존 없음 그림으로만 존재해 기계가 읽지 못함 차동쌍과 대칭이 구문으로 명시됨
    회로에 대한 유일한 기준 예 도면과 넷리스트가 어긋날 수 있음 연결 관계는 오직 넷리스트에서만 가져옴

    AI 기반 설계 흐름의 새로운 과제

    AI가 작성한 넷리스트는 사람이 검토하기 어려움

    생성된 수백 줄의 코드만 봐서는 검토자가 어떤 회로인지 알 수 없습니다.

    AI가 그리는 회로도는 신뢰하기 어려움

    언어 모델이 선을 하나씩 그어 회로도를 그리기는 어렵고, 모델마다 결과 편차도 큽니다.

    에이전트는 EDA 도구를 거쳐야만 회로도에 접근 가능

    회로도는 독점 바이너리 데이터베이스에 들어 있어, 도면을 읽거나 배선 하나를 바꾸려 해도 도구의 인터페이스를 거쳐야 합니다.

    현재 쓰이는 임시방편들

    수작업으로 다시 그리기

    시간이 오래 걸릴 뿐 아니라 넷리스트가 바뀔 때마다 도면도 다시 그려야 합니다.

    자동 회로도 생성

    자동 배치는 연결 관계만 알 뿐 구조는 모르므로, 어느 트랜지스터들이 한 쌍을 이루는지 알아볼 수 없습니다.

    스크린샷 및 이미지 내보내기

    그림은 남지만 회로를 잃어버립니다. 시뮬레이션도, 추가 편집도 불가능합니다.

    EDA API에 의존

    AI는 EDA 도구의 API를 통해서만 회로를 편집할 수 있어 EDA 생태계에 종속됩니다.

    RNL의 해법: 특정 EDA 도구에 종속되지 않고 사람과 AI가 직접 읽고 편집할 수 있는 일반 텍스트 형식

    03 · 장점

    회로의 의미를 기록해 두면 얻게 되는 것들

    의미 우선

    어느 소자가 차동쌍이나 전류 거울을 이루는지, 무엇이 대칭인지, 전류가 어디로 흐르는지 적습니다. 도면이 어떻게 바뀌더라도 이 구문들은 파일 안에 그대로 남습니다.

    하나의 일반 텍스트 파일

    시뮬레이터는 이전처럼 그대로 실행하고, Git에서 diff와 병합을 할 수 있으며, 도면과 넷리스트가 서로 어긋나지 않습니다.

    AI가 쓰고, 사람이 검토

    AI는 회로와 함께 구조와 도면을 작성하고, 사람은 선언된 구조와 설계 의도를 뷰어에서 검토합니다.

    개방형

    공개 표준과 심볼 라이브러리, 오픈소스 도구, 브라우저에서 바로 열리는 뷰어.

    회로와 스타일의 분리

    HTML이 내용을 담고 CSS가 스타일을 정하듯, 넷리스트는 회로가 무엇인지를 정의하고 패키지는 어떻게 보일지를 결정합니다. 공개 패키지인 eda-symbol과 eda-style을 포함하면 같은 파일이 전통적인 EDA 회로도 모습으로 그려집니다. 예제에서 스타일을 전환해 보세요.

    04 · 시나리오 비교

    같은 작업, 두 가지 방식

    자주 겪는 상황들을 현재 처리하는 방식과 RNL로 처리하는 방식.

    현재

    5트랜지스터 OTA를 설계해 줘.

    넷리스트는 나왔지만, 그 안에 이 회로가 무엇인지 알려주는 내용은 전혀 없습니다.

    생성된 수백 줄의 코드만 봐서는 검토자가 어떤 회로인지 알 수 없고, 모델이 그리는 회로도 역시 신뢰하기 어렵습니다.

    RNL 사용 시

    5트랜지스터 OTA를 설계해 줘.

    에이전트가 회로와 함께 구조와 도면을 작성하면, 사람은 뷰어에서 선언된 내용을 검토합니다.

    사람은 넷리스트를 한 줄씩 읽는 대신 구조와 설계 의도를 검토합니다.

    05 · 비전

    개방형 생태계, 그리고 그 위에 구축된 설계 흐름

    RNL은 데이터 계층입니다. 회로와 그 의미를 누구나 열 수 있는 파일에 담습니다.

    개방형 생태계

    오픈소스 소프트웨어처럼 공개되고 재사용되는 회로와 심볼 라이브러리.

    RNL 기반의 설계 흐름

    에이전트는 회로를 작성·수정하고, 사람은 구조와 설계 의도를 검토하며, EDA 도구는 시뮬레이션과 검증을 수행합니다.

    에이전트

    구조와 도면을 포함해 회로를 작성하고 수정합니다.

    사람

    선언된 구조와 설계 의도를 뷰어에서 검토합니다.

    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. 다음 계획

    자주 묻는 질문(FAQ)

    RNL이 들어 있는 넷리스트를 넣으면 시뮬레이터가 오류를 내지 않나요?

    오류를 내지 않습니다. RNL은 호스트 넷리스트의 적법한 주석 안에만 작성되므로 시뮬레이터는 별도의 전처리 없이 이를 건너뜁니다. 모든 벤더의 시뮬레이터에서 어떤 표식이 완전히 안전한지는 계속 검증하고 있습니다.

    RNL이 내 회로를 변경할 수도 있나요?

    없습니다. 소자, 매개변수, 연결 관계는 오직 넷리스트에서만 정의되며 RNL은 이를 참조만 할 수 있습니다. RNL만 수정할 때는 넷리스트 본문이 그대로 유지됩니다.

    반드시 좌표를 적어야 하나요?

    아닙니다. “M1과 M2는 중심선 기준 대칭인 차동쌍이다”라고만 적어도 그 자체로 적법한 설명이 됩니다. 좌표는 솔버에 맡기거나 나중에 추가할 수 있습니다.

    같은 RNL을 서로 다른 도구에서 열면 똑같이 그려지나요?

    정확한 기하 정보가 적힌 부분은 일치합니다. 설계 의도만 적힌 부분은 솔버마다 그 의도를 만족하는 서로 다른 도면을 그릴 수 있으며, RNL은 픽셀 단위의 완전 일치를 보장하지 않습니다.

    Virtuoso나 KiCad의 회로도 파일과는 어떻게 다른가요?

    그 파일들은 각 도구의 고유한 그래픽 형식으로, 넷리스트와 분리되어 저장됩니다. RNL은 넷리스트에 부착되어 이를 지원하는 어떤 도구에서나 읽을 수 있으며, 심볼 자체도 RNL로 정의됩니다.

    왜 AI가 자주 언급되나요?

    언어 모델은 넷리스트 같은 텍스트를 읽고 쓰는 데 능숙합니다. RNL은 회로의 구조, 설계 의도, 도면도 텍스트로 바꾸므로, 에이전트가 한 파일에 회로와 그 의미를 함께 작성하고 사람은 뷰어에서 선언된 내용을 검토할 수 있습니다. 구문 사이의 자유 텍스트는 사람이 읽기 편하도록 도울 뿐 기계가 이해하는 내용은 결코 바꾸지 않습니다.

    다른 언어로도 RNL을 작성할 수 있나요?

    키워드와 표준 패키지의 이름에는 다른 언어로 된 별칭을 둘 수 있습니다. 파일의 헤더 레코드에서 @ALIAS로 개별 별칭을 선언하거나, 한 언어의 별칭들을 하나의 패키지 파일에 모은 별칭 패키지를 @USE-ALIASES(name=…, version=…)로 불러올 수 있습니다(사용자 정의 파일은 path=… 사용). 표준 시리즈 0.3에는 현재 내장 별칭 패키지로 중국어(rnl-zh) 하나가 포함되어 있으며, 헤더 레코드에 @USE-ALIASES(name="rnl-zh", version="0.3")를 적으면 그 별칭을 쓸 수 있습니다. 별칭은 단순히 또 다른 표기일 뿐이어서 표준 표기와 별칭 표기를 자유롭게 섞어 써도 기계는 정확히 동일한 구문으로 읽으며, 헤더 레코드 자체는 항상 표준 표기를 사용합니다.

    지금 바로 사용할 수 있나요?

    회로도를 보고 넷리스트 텍스트를 편집하는 용도로는 지금 바로 쓸 수 있습니다. 브라우저나 Windows, Linux, macOS의 뷰어에서 RNL이 담긴 넷리스트를 열어 배치된 객체를 그리고, 텍스트를 편집해 다시 렌더링할 수 있습니다. 자동 레이아웃은 초기 단계로, 첫 번째 솔버가 rnl solve와 데스크톱 뷰어(미리보기)에 들어 있습니다. 웹 뷰어는 아직 솔버를 실행하지 않으므로 배치되지 않은 객체를 미표시 뷰에 나열합니다. 드래그 앤 드롭 편집은 아직 지원하지 않습니다.