ChipAgents 演講紀錄:利用 AI Agent 加速 RISC-V 設計與驗證
2025 年 5 月 28 日 - RISC-V International 簡報
半導體設計日益擴大的複雜度鴻溝
Mehir Arora:大家聽得到我的聲音嗎?麥克風有作用嗎?好,麥克風沒問題。太棒了。大家好,我是 Mehir Arora,來自 ChipAgents.ai。我們是一家專注於 AI 電子設計自動化(EDA)的公司,實際上也是該領域首批企業之一。我們致力於將代理式 AI(agentic AI)應用於硬體晶片設計與驗證,我將在本次簡報中詳細說明其含義。
我們的終極目標源於每個人都面臨的核心問題。30 年前,你可能只需要處理 1 萬個邏輯閘,但今天你至少要面對 100 億個邏輯閘。我們見證了晶片複雜度的指數級增長,也目睹了需求呈指數級上升。然而,硬體工程師的人數卻面臨短缺。硬體工程師的成長速度遠遠趕不上硬體團隊目前在生產全尺寸 SOC(系統單晶片)時所面臨的指數級增長期望。這些系統規模極其龐大,針對目前生產的超大規模 AI 系統,邏輯閘數量甚至可能達到兆級。
我們的目標是讓小型團隊透過 AI Agent,具備與規模大上 5 倍的團隊競爭的能力。大約一年後,這個差距將擴大到 25 倍。我們將看到 5 人的團隊能夠與 25 人的團隊抗衡,或者 20 到 30 人的團隊能夠挑戰 100 到 150 人的團隊。我們有許多不同的應用場景,這些場景皆由代理式 AI 實現,這意味著你可以將整個任務以端到端(end-to-end)的方式委派給這些系統,它們將為你非同步地執行這些任務。
硬體工程中代理式 AI 的目標應用場景
每個人都想了解應用場景,所以我馬上為大家示範幾個。這些示範不會花太長時間。我們一些核心的突出應用場景源於這是一個具備多種功能的通用產品。其中一個非常有趣的應用是讀取回歸測試(regression)日誌。或許你每天晚上都在執行大量的回歸測試,你可以讓 Agent 讀取日誌輸出、波形、待測設計(DUT)以及測試平台(testbench),它就能自主判斷問題的根本原因。
此外,還有許多強大的功能,例如讀取規格書,無論是內部規格還是成熟且公開的開放標準協定。你可以輸入這些規格,然後為整個設計產生完整的驗證計畫。你也可以讀取該驗證計畫,進而產生 UVM 覆蓋率模型、序列(sequences)和檢查器(checkers)。此外,你還可以讀取微架構或 SystemC 架構,進而實作並整合新的 SystemVerilog 模組。我們實現了所有這些新的流程。
頂尖基準測試與學術基礎
大家對效能非常感興趣,所以我簡單談一下效能表現。我們的團隊源自學術界,創辦人是加州大學聖塔芭芭拉分校(UC Santa Barbara)的教授與研究生。我也是該校校友,同樣來自研究領域。我們最初的工作是基於「SWE-bench」,這是一個針對 Python 程式設計的 AI Agent 著名基準測試。其驗證版本是由普林斯頓大學與 OpenAI 共同建立的。我們的創辦人在該基準測試中取得了領先成績,現在我們已將重心轉向硬體領域。
螢幕上的投影片展示了一張關於「Verilog-Eval」的表格,這是由 Nvidia 針對處理暫存器傳輸級(RTL)任務的 Agent 所製作的基準測試。我們在幾個月前於該基準測試中創下了業界領先的成績。這就是我們現在的任務:將這些學術成果轉化為產品。接下來我將快速示範我們的系統。為了釐清示範內容,我們將進行根本原因分析,並討論測試計畫與 UVM 覆蓋率模型的產生。
現場示範:波形根本原因分析與 AXI 測試規劃
在示範中,我準備了一個先進加密標準(AES)模組。目前該模組運作異常,我們希望從波形中找出根本原因。同時,我手邊有一份從 ARM 取得的 AXI 協定規格書,我希望建立所有相關的驗證資料。我現在就為大家操作。
螢幕上是我開啟的 Visual Studio Code。ChipAgents 是我們的旗艦產品,我們以命令列工具的形式部署。雖然我在 Visual Studio Code 中,但我們在左右兩側都開啟了終端機。由於只有 10 分鐘,我將同步執行這些示範。
第一個示範與這個 AES 加密模組有關。我們遇到的問題是這個 AES 模組(頂層模組)運作異常,還有其他幾個模組。我還有一個測試平台,執行速度很快,包含第一個測試案例和後面的兩個測試案例。問題在於第一個測試案例通過,但第二個失敗了。這是一個相當棘手的問題,但幸運的是,我擁有對應此次執行軌跡輸出的波形。
這是我與 ChipAgents 的介面,完全基於自然語言。我將以完整的自然語言輸入指令給 ChipAgents。讓我確認一下是否在正確的目錄中。我將使用此提示詞並移至 ChipAgents 的 AES 目錄。好了。我將開啟 ChipAgents 並輸入提示詞,告知 Agent 第一個測試案例通過而第二個失敗的資訊。我希望它利用波形來找出問題所在。
同時,讓我們看看這份 AXI 協定。這是一份我從 ARM 網站下載的 300 頁 AXI 協定完整規格書。我希望讀取該規格書並撰寫一份 Markdown 格式的測試計畫。我也想撰寫 UVM 覆蓋率模型和 UVM 序列,並根據一些一般性要求對這些序列進行調整。我也將按下執行鍵,它將啟動整個流程。我同時執行這兩項任務是因為時間有限,這樣我能更充分地說明運作過程。
AES 加密模組的詳細除錯
首先談談波形及其功能。你會看到 Agent 正在檢查 testbench.vcd。我們最常被問到的問題之一是:你們支援哪些其他波形格式?我們支援 FSDB,未來也會支援更多格式。目前我們透過 Verdi 波形檢視函式庫支援 FSDB。
你可以看到 Agent 正在分析此波形檔。它正在檢視 VCD 波形中涉及的多個訊號,同時也在檢視多個檔案,包括 AES 加密模組的核心元件。
在執行期間,讓我解決 AXI 規格書的目錄問題。我剛才跑錯目錄了。好了,這就是 AXI 規格書。現在我將提示它讀取 AXI 規格書並撰寫 Markdown 測試計畫、UVM 序列及覆蓋率模型。雖然我剛才搞混了目錄,但沒關係,因為波形分析已經完成了。這個結果非常、非常有意思。
讓我們來看看波形分析結果。重申一下,ChipAgents 實際上是在讀取波形。它讀取與 AES 相關的各個檔案,並據此執行根本原因分析。這就是最終產出的波形分析結果。主要問題實際上出在 AES-128 加密模組的狀態機中。在「add round key」階段,當輪次計數器等於 NR-1(代表最後一輪)時,它正確地設定了密文並正確設定了完成旗標(done flag),但它錯誤地將階段設定為「sub bytes」而非「idle」。這就是核心問題。
Agent 甚至在波形中為我提供了證據。它指出了確切的皮秒(picosecond)時間戳,明確告知我關於 done 訊號以及階段轉換錯誤的資訊。它也告訴我其他可以檢視密文的時間戳。就在輸出結果中,它向我展示了它是如何從 4 循環到 1,再到 2,然後又回到 4,而正確路徑應該是轉換到階段 0。它在程式碼的第 80 到 90 行之間明確標示了根本原因。錯誤顯而易見。這一行需要改為 0,它也同時告訴了我影響範圍。
最後,ChipAgents 總結了我們的結果,你可以看到它已經自主完成了整個根本原因分析。這讓我們感到非常興奮。我們已有許多商業客戶正在使用這種方式使用 ChipAgents——將夜間回歸測試的輸出結果、波形與待測設計檔案輸入 ChipAgents,進而隔離出根本原因。
自動化 AXI 測試計畫與 UVM 序列產生
但 ChipAgents 能做的不僅於此,儘管這已經非常令人興奮。ChipAgents 還能為我整理出這份完整的測試計畫,它一直在背景執行這項任務。讓我接受此檔案的建立,然後為大家說明運作流程。當我們進行其他操作時,ChipAgents 一直在處理 AXI 協定。它讀取了這份 AXI 協定,檢查了目錄、主要的 AXI 通道及其用途、AXI 轉換類型以及關鍵面向。現在,它已經為我整理出一份大規模的 AXI 測試計畫。與此同時,我也要求它建立這些實際的 UVM 序列。
簡而言之,我來談談實際的 AXI 測試計畫。我將在此以 Markdown 格式呈現,讓大家看看其功能。你可以看到它已經將測試計畫以 Markdown 表格的形式完美列出。這正是我的要求;我希望它是 Markdown 格式。它捕捉了關於 AXI 介面的所有特定細節。例如,這裡有關於通道交握(handshakes)以及所有通道上執行的各種交握資訊。這裡有時鐘與重置、寫入請求通道以及寫入資料通道。
我可以向下捲動看看更有趣的部分。我們在 AXI 中列舉了所有這些不同的突發傳輸(burst)類型,以及不同的記憶體屬性、不同的保護與安全類型、交易識別碼(transaction identifiers)、請求排序,以及獨佔與原子存取。它必須從這份規格書中提取大量資訊。這份規格書有 300 頁,而 Agent 在你們眼前就為我整理出了這份驗證計畫。這在之前是不存在的;這些資料原本完全不存在。
我們已經在任意規模、任意大小和任意文件數量下測試過該系統。你可以提供數千頁的文件;例如 Ethernet 規格書就有 3,000 頁。ChipAgents 完全能勝任,並能為你產生測試計畫,或者你可以針對這些文件進行查詢以獲取規格資訊。這在查詢其他長篇文件,甚至是整個程式碼庫時也非常有用。例如在驗證方面,理解 RTL 是一個巨大的瓶頸。你可以將數百個檔案餵給 ChipAgents,它會梳理所有檔案並回答你關於資料流的問題。
同時,ChipAgents 也為我整理出這組很長的交易序列。讓我捲動到最上方以找到路徑。這就是 UVM 序列。我們可以處理 UVM 測試平台的所有不同部分,但我只展示實際的序列。這是一個 800 行的 Verilog 檔案,僅憑規格書和它產生的測試計畫就憑空產生出來。它包含了基礎序列、帶有各種約束的寫入序列、讀取序列等等。我可以繼續捲動,但你會發現所有這些序列都與現有的測試計畫直接對齊。
電子設計自動化的未來
ChipAgents 還在持續執行更多任務。總結來說,我們是目前世界上唯一一家正在解決電子設計自動化領域這一重大問題的公司。硬體領域的核心問題在於硬體團隊面臨指數級的期望。人們需要具備處理海量資訊與數據的能力,並將其製表並轉換為大量的驗證資料。他們需要進行大量的除錯與設計工作。
我們建立了這個系統,它能幫助團隊發揮出 5 倍甚至 10 倍的戰力。這就是我們肩負的任務,也是我們目前取得的進展。我們已經有許多商業客戶在使用 ChipAgents。這就是 EDA 的未來,也是我們致力於開發它的原因。非常感謝大家。