Altifigence 為 Digital Design Studio 新增 Google XLS 支援

將以 DSLX 表達的硬體設計意圖轉化為 RTL 實作。

文章段落

Altifigence 已為 Digital Design Studio 新增 Google XLS 支援。使用者現在可以透過 DSLX 撰寫硬體功能,並利用 XLS 轉換為可合成的 RTL。此次更新為 Digital Design Studio 加入了從高階程式碼開始設計、檢視實作候選方案的方式。

Google XLS 是什麼工具?

Google XLS 是一套開放原始碼合成工具,可將以高階語言表達的運算實作為數位電路。它會將以 DSLX 撰寫的設計轉換為中間表示法 IR,再經過最佳化與排程,產生 Verilog 或 SystemVerilog。它的作用是連結描述功能的程式碼與實際硬體實作。Google XLS 官方文件

DSLX 是一種可以明確指定硬體所需資料型別與位元寬度的語言。設計者可將輸入與輸出、運算規則及資料表示方式寫入程式碼,具體定義所需的行為,接著檢視實作結果並調整設計。DSLX 官方文件

從功能描述到管線配置

在硬體設計中,即使功能相同,運算結構與管線的不同也可能產生不同的實作。XLS 的排程會考量運算之間的相依性與時序限制,將運算配置到各個管線階段。設計者可運用目標時脈週期或管線階段數等條件,檢視延遲與暫存器用量之間的關係。XLS 排程文件

這個流程有助於比較設計替代方案。先描述所需功能,再調整運算結構或條件並檢視結果,逐步找出符合需求的實作。產生的 RTL 隨後會在合成、驗證與實體實作過程中,依實際條件進行評估。

以運算區塊為例的設計方式

以將多個輸入分別乘上權重後再相加的運算區塊為例,可以先決定輸入的位元寬度與正負號、輸出範圍及溢位處理方式,再以 DSLX 表達。準備測試輸入與預期輸出,也有助於具體檢查功能。

接著,透過 XLS 的轉換、最佳化與排程流程產生 RTL。當需求改變時,可修改高階描述或實作條件,檢視其他候選方案。此範例說明如何運用 XLS 進行設計;實際效能與面積會因設計內容及後續實作條件而異。

將與 AI 共同撰寫的程式碼轉化為硬體實作

AI 可用於將設計需求具體化為程式碼、檢視資料型別與邊界條件,以及準備測試輸入。XLS 則是將這些撰寫與修改後的高階設計轉換為 RTL 的工具。設計者可確認預期功能與產生的結果,持續完善實作。

Altifigence 也支援 ChatGPT 的 GPT-6 Astra 模型。此次更新的核心是 Google XLS 支援,其意義在於可將與 AI 共同進行的程式碼撰寫及檢視,連結至高階硬體設計流程。

從 Digital Design Studio 開始

Google XLS 支援拓展了 Digital Design Studio 的設計方式。除了撰寫 RTL,您也可以選擇以 DSLX 表達所需功能,再逐步發展為硬體實作。

現在就從 Digital Design Studio 開始使用 Google XLS 進行硬體設計。