RV32I 管線:低成本模型 10 次全數通過

把 AI 帶進 IC 設計,讓工具當裁判。

RTLoop 協助 IC 設計團隊導入 AI,但不盲目相信 AI。在我們的驗證迴圈裡,低成本模型一次只寫一個模組,由模擬、結構檢查與合成決定能不能通過;沒通過時,原始的工具錯誤會回饋給模型,在固定的呼叫次數與費用預算內重試,仍不通過就停下,交由工程師判斷。

每個合作都從一個真實模組的試行開始。

run.stderr — rv32i-pipe-v2 · start A-01
重播

實際執行紀錄重播:低成本模型撰寫 RV32I 5 級管線的 13 個工作包,失敗時回饋錯誤,直到全部通過。共 20 次呼叫、934.5 秒。

實際紀錄節錄 · ↳ 為檢查紀錄 本次:13 個工作包 · 20 次呼叫 · 934.5 秒
10/10 RV32I 5 級管線 10 次執行全數通過,每個模組都由低成本模型撰寫
0 → 10/10 同一模型、同一規格:一次寫完 vs 逐模組驗證迴圈(RV32I 單週期)
$0.0081 每次成功的模型 API 費用(美元),不含撰寫規格與測試的人力
97% 達我們參考 RTL Fmax 的 97%(RV32I 管線),面積只多 0.8%(未佈局繞線的估計)
建立在開源、版本鎖定的 EDA 工具上
  • Icarus Verilog
  • Yosys
  • OpenROAD
  • OpenSTA
  • ORFS
  • KLayout
  • SkyWater SKY130

01How it works運作方式

模型無法替自己打分數的驗證迴圈

每個工作包都走同樣的循環:模型只負責提案,對錯由驗證工具決定。通過的版本會被鎖定,成為後續工作包的唯讀相依模組。這個迴圈不綁定特定模型:同一套關卡評判每個模型;低成本模型做不到的步驟(例如匯流排介面),可以改用較強的模型,同樣受關卡與預算約束。

FIG 01 — 驗證迴圈 單一工作包
工程師

介面規格與測試

埠定義、逐週期測試,以及(若有)測試必須先通過的參考 RTL。

design-check → PASS
模型

提出 RTL

只寫指定的模組,用一次工具呼叫交回完整檔案。

submit_rtl_files()
工具

驗收

先做收件檢查,再編譯、模擬並檢查結構:單一驅動、沒有 latch。

PASS鎖定
NEEDS_REPAIR回饋錯誤
STALLED乾淨重來
BUDGET停下,交給工程師
iverilog · vvp · yosys
流程

鎖定並繼續

通過的版本會被凍結,相依的工作包接著開工;整合包負責組裝已驗證的模組。

revisions/NNN

↺ NEEDS_REPAIR 與 STALLED 會退回模型重寫;預算用完時,迴圈停下並交給工程師。

所有工作包通過後,會在最終原始碼上重跑全部檢查,才進入合成。驗證迴圈只能保證 RTL 通過您給的測試,所以我們也檢驗測試本身:先對參考 RTL,再植入錯誤(RV32I 管線植入的 22 種錯誤全數被擋下)。

模型會看到什麼

  • 自己模組的介面規格
  • 這個工作包的計畫說明
  • 已驗證、唯讀的相依模組
  • 自己的上一版
  • 上次失敗的原始工具輸出
  • 這個工作包的修復歷史

模型不能做什麼

  • 修改測試或其他模組
  • 自己宣布成功
  • 超出呼叫次數或費用預算
  • 使用 latch、initial 區塊或系統任務

02Results實測結果

用量測說話,不靠承諾

表中每一次執行,每個模組都由同一個低成本模型從空白檔案寫起;介面規格、測試與拆分計畫則由我們的團隊事先準備,這正是需要專業的地方。

FIG 02 — 從空白 RTL 到合成 SkyWater SKY130HD
設計 模組數 通過 每次成功費用 每次成功時間 Fmax 面積
gcd88 位元最大公因數引擎 2 8/8 $0.0002–0.0006 26–63 秒 310–328 MHz 1,640–1,724 µm²
RV32I 單週期整數子集處理器 7 10/10 $0.0063 約 8 分鐘 115.1 MHz 68,212 µm²
RV32I 5 級管線拆成各階段模組 13 10/10 $0.0081 約 11 分鐘 177.9 MHz 85,030 µm²
SHA-256 核心拆分計畫(含停滯重來) 5 9/10* $0.0063 — — —
AES 核心工程師補一句架構說明(未補時 0/8) 6 8/10 $0.0143 約 12 分鐘 — —

模型寫的 RTL 與我們的參考 RTL 不相上下:拆分後的管線 Fmax 中位數為 177.9 MHz,參考 RTL 為 183.3 MHz,面積為 85,030 對 84,361 µm²;單週期核心甚至超越參考 RTL(115.1 對 105.2 MHz)。

*SHA-256 為最新一輪到合成的結果(2026-09-28);同一計畫不加停滯重來時,三輪分別為 6/10、10/10、6/10。RV32I 為整數基本指令子集(FENCE、ECALL、CSR 視為 no-op),以自建測試平台驗證,並非官方 riscv-tests;記憶體在核心之外。Fmax 與面積來自 ORFS 合成與 OpenSTA、未經佈局繞線,Fmax = 1000 /(時脈週期 − 最差 setup slack);有多次執行時取中位數。以上為 2026 年 9–10 月的工程估計值,不是 signoff,也不是正式的模型認證。

目前範圍:單一時脈的可合成 Verilog-2005,以 Icarus Verilog 模擬,並在 SkyWater SKY130 上以 Yosys 與 OpenROAD 合成。

為什麼需要專業

拆分方式決定成敗

同一份管線規格、同一個低成本模型。整個 RV32I 5 級管線核心放在一包時,大多數執行都失敗;拆成各階段模組並配上逐週期測試後,每一次都成功,費用只有約九分之一。

我們做了哪些調整

  1. 一個工作包只寫一個小模組,約幾十行,而不是幾百行。
  2. 大型時序模組拆成「一級組合邏輯+該級暫存器」,每一級都有自己的測試。
  3. 暫存器直接宣告在模組介面上(output reg),reset 時全部清零,測試才能逐週期比對。
  4. 測試在第一個錯誤就停,並印出所有輸入、實際值與預期值。
  5. 介面規格精確到每個時脈週期:誰在哪個週期更新、reset 優先順序、邊界值。
FIG 03 — 同一條管線,兩種拆法 各執行 10 次 · Fisher p = 0.003
核心整包 拆成階段模組
通過次數越高越好
核心整包:10 次中 3 次通過
拆成階段模組:10 次全數通過
每次成功的模型費用越低越好
核心整包:0.074 美元
拆成階段模組:0.0081 美元
每次成功時間中位數越低越好
核心整包:30 分鐘
拆成階段模組:11 分鐘
超過 32k 輸出 token 上限越低越好
核心整包:51 次
拆成階段模組:0 次

實體設計

不只合成:從 RTL 到 GDS

我們也把三個具備實體流程設定的模組,用固定、雜湊鎖定的 SKY130 流程做到 GDS。這些是較早期、由人主導的執行:SPI 的 RTL 是低成本模型依參考 RTL 重構的版本;AES-128 與 SHA-256 則由低成本模型撰寫運算區塊,其餘部分由較強的模型撰寫,包括 AES 核心、兩個 APB 介面,以及 SHA-256 的 compression、padding 與 stream 區塊。上方的 RV32I 等設計目前只做到合成。

FIG 04 — 實體流程 17 項驗收條件
  1. synth映射+等價檢查
  2. floorplan核心與腳位
  3. place元件擺置
  4. cts時脈樹
  5. route訊號繞線
  6. finish輸出 GDS
  7. DRC零違規
  8. LVSMATCH
SHA-256/APB 數位核心從交付的 GDS 讀回的金屬層
SHA-256/APB 數位核心:從交付的 GDS 讀回的金屬層。957 × 957 µm,時脈週期 100 ns,17 項條件全數通過(2026-09-09)。

已完成到 GDS

SPI17/17 AES-128 / APB17/17 SHA-256 / APB17/17

AES-128 與 SHA-256 的時脈週期為 100 ns(10 MHz)。由人主導、混用多個模型。

必須通過的條件

  • setup slack ≥ 0
  • hold slack ≥ 0
  • DRC = 0
  • LVS = MATCH

另有 13 項條件,共 17 項。

以上為開源 SkyWater SKY130 PDK 上的數位核心佈局,證明流程能從頭到尾跑完;pad ring、封裝與下線(tape-out)簽核不在範圍內。

03Services服務

兩種方式,把 AI 帶進您的流程

無論是讓您的工程師用 AI 輔助設計,還是直接交付一個模組,我們的做法都一樣:先建立可量測的驗收關卡,再放進模型。

顧問服務

IC 設計 AI 導入顧問

檢視您的設計與驗證流程,找出模型能安全接手的例行 RTL 工作,並為這些工作建立驗收關卡、預算上限與完整的稽核紀錄。


涵蓋內容

  • 流程評估與導入藍圖
  • 為 AI 撰寫的規格與測試
  • 模型選擇與成本控管
  • 顧及 IP 的部署方式
  • 工程師實作訓練
委託開發

交付附完整驗證證據的 RTL

交給我們一個模組和它的規格。我們撰寫介面規格與測試、規劃拆分方式、跑完驗證迴圈,交付通過所有工具檢查的 RTL。


您會收到

  • 設計套件:介面規格、測試平台與變異測試報告
  • 拆分計畫,以及每個模組驗收通過的 RTL(附雜湊值)
  • 每次模型呼叫與費用的 HTML 報告
  • 合成結果:時序、面積、功耗、網表與 SDC

合作流程

每一步都以可以檢查的數字收尾。

  1. 01

    了解現況

    了解您的流程、工具、IP 限制,以及工程時間實際花在哪裡。

  2. 02

    試行

    挑一個真實模組跑完驗證迴圈,量測通過率、成本與時間。

  3. 03

    導入

    把驗證迴圈接上您的回歸測試、審查流程與預算控管。

  4. 04

    交接

    提供操作手冊與訓練,讓您的團隊能自己運作。

04IP & security智慧財產與資安

送出什麼,由您掌握

IC 團隊承擔不起設計外流。除了單一模組所需的最少內容,所有資料都留在您的機器上,每筆送出的內容都有紀錄可查。

01

驗證在本機執行

模擬、結構檢查、合成與實體流程都在您的機器上執行;參考 RTL、測試平台、網表與佈局都不會送出。

02

每次只送必要內容

每次請求只帶一個工作包的介面規格與計畫說明、已驗證相依模組的 RTL、它的上一版,以及工具回饋與修復歷史,不含這個工作包以外的內容。

03

指定單一供應商

目前模型呼叫經由 OpenRouter 送往指定的單一推論供應商,不允許備援路由,並拒絕資料收集。

04

每次呼叫都有紀錄

每次請求與回覆都和專案一起保存,可供稽核。API 金鑰只存在呼叫模型的子行程中,不會出現在紀錄、報告或 Git 裡。

05Team團隊

IC 設計與 AI,在同一個團隊

RTLoop 於 2026 年 6 月 5 日在台灣成立。10 位成員中包括國立臺灣科技大學電機工程系與資訊工程系的 IC 設計與 AI 研究生。我們持續追蹤 AI for EDA 研究,新做法都先在自己的基準測試上驗證才採用,也用帶給客戶的同一條規則要求自己:沒有經過工具驗證的,就不算數。

  • 10位成員
  • NTUST電機系 · 資工系
  • 2026於台灣成立

一路走來

  1. RTLoop 成立
  2. 開發 repo 啟動:至 10 月 2 日共 813 個 commit、68 份附日期的實驗報告
  3. AES-128/APB 完成到 GDS,17 項全數通過(人主導)
  4. SHA-256/APB 完成到 GDS,17 項全數通過(人主導)
  5. RV32I 單週期從空白 RTL 開始,低成本模型 10/10
  6. RV32I 5 級管線拆成階段模組後,從 3/10 提升到 10/10
GitHub 上的成果與證據

06Contact聯絡

從一個模組開始。

告訴我們您的設計流程,我們會提出一個以通過率、成本與時程為目標的試行方案,並在真實模組上執行。

[email protected]