Home
Explore Uedu
Student Console
Register as Member/Login
(2) In future presentations of the research findings, in addition to the course project website and public presentations, your real name and personal information will not appear in this research report. If you are interested in the research results, we can provide you with an executive summary after the study is completed.
問卷中心
Teacher Console
Course Setup
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

0

Local AI

--

CISOSE26 本地 AI UG26
政治大學 AQI 19 29°C

AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

軟體與 EDA
軟體與 EDA

從 RTL 到 GDSII:數位設計流程

一段硬體描述語言,如何一步步變成可製造的版圖。

從 RTL 到 GDSII:數位設計流程 概念示意插圖
概念示意插圖(AI 生成,僅供輔助理解,非精確技術圖示)
研究所  ·  約 18 分鐘  ·  RTL合成布局繞線tape-out

一段程式碼如何變成可製造的版圖

數位晶片設計是一條從抽象行為描述可製造光罩資料的精煉管線,業界稱為 RTL→GDSII 流程。工程師寫的不是電路,而是 RTL(暫存器傳輸層)程式碼;EDA 工具把它一步步轉換、最佳化、驗證,最終產出 GDSII(或 OASIS)格式的版圖交給晶圓廠。整條流程的共同目標是在滿足功能正確的前提下,最佳化 PPA——performance(效能)、power(功耗)、area(面積) 這個鐵三角。

流程全貌

階段 輸入 輸出 核心問題
RTL 設計與驗證 規格 RTL + 測試 行為對不對
邏輯合成 RTL + 約束 + .lib 閘級網表 映射到標準單元、達 PPA
DFT 插入 網表 含掃描鏈網表 做好後測得出壞
佈局(placement) 網表 + LEF 單元座標 擺哪裡才好繞、好收時序
時脈樹合成(CTS) 已佈局設計 時脈網路 把時脈準時送到每個正反器
繞線(routing) 已 CTS 設計 完整連線 用金屬層接通且不違規
簽核(signoff) 版圖 通過報告 STA/DRC/LVS/IR 全過
Tape-out GDSII 光罩資料 交付製造

約束驅動:設計從一份 SDC 開始

整條流程被設計約束主導,最核心的是 SDC(Synopsys design constraints):定義時脈週期、輸入輸出延遲、多週期路徑、假路徑、最大電容/轉態等。約束就是設計的「考卷」——工具一切最佳化都在試圖讓設計通過這份約束。約束寫錯(如時脈定義漏掉、假路徑誤設)會導致「工具報全過、晶片回來卻壞」的災難,因此約束審查本身是一門功夫。

從 RTL 到閘級:合成與最佳化

邏輯合成 把 RTL 翻譯成布林邏輯,再映射(mapping)到目標製程的標準單元庫(standard cell library)——一組預先設計、特徵化好的閘(INV、NAND、DFF 等),其時序與功耗封裝在 .lib(Liberty)檔。合成器在滿足時序約束下,於 PPA 之間做取捨:用更大的單元換速度(但耗面積與功耗)、或共享邏輯換面積(但可能變慢)。

合成輸出的閘級網表接著插入 DFT(design for test):把正反器串成掃描鏈(scan chain)、加入 MBIST、邊界掃描,讓晶片量產後能用 ATE 測出製造缺陷。DFT 會佔用面積與時序預算,這是「可測試性」與「PPA」之間的取捨,必須在流程早期規劃。

實體實作:把網表攤進矽

進入實體階段,抽象的網表變成有座標的版圖:

  • Floorplan:劃定晶片邊界、擺放硬 IP(記憶體、PLL)、定義電源網(power grid)、IO 環。
  • Placement:為數百萬標準單元決定座標。目標是讓連線總長最短、時序可收斂、密度均勻。這是一個超大規模的組合最佳化問題,現代工具用解析式(analytical)演算法配合合法化(legalization)求解。
  • CTS(clock tree synthesis):時脈要同時到達數十萬個正反器。CTS 插入緩衝器建平衡的時脈樹,把時脈偏斜(skew) 壓到最小,否則 skew 直接吃掉時序餘裕。
  • Routing:在十幾層金屬上把所有連線接通,需避開 DRC 違規、控制串擾(crosstalk)與繞線壅塞。
  • 最佳化(opt):每一步後反覆做時序、功耗、設計規則最佳化,這是流程中最耗機時的部分。

簽核:四道把關

設計完成後進入 signoff,用最精確(但最慢)的工具做最終驗證,全過才能 tape-out:

  • STA(靜態時序分析):不靠模擬,靜態窮舉所有時序路徑,檢查每條都滿足 setup 與 hold。核心是 slack(時序餘裕)

$$\mathrm{slack} = \mathrm{required\_time} - \mathrm{arrival\_time}$$

其中 $\mathrm{arrival\_time}$ 是訊號實際抵達終點的時間、$\mathrm{required\_time}$ 是為了不違規、訊號最晚必須抵達的時間。若 $\mathrm{slack} \geq 0$ 該路徑通過;$\mathrm{slack} < 0$ 即為違規(violation)。

setup(建立時間)違規讓晶片跑不到目標頻率,可降頻救;hold(保持時間)違規更致命——它與頻率無關,晶片在任何速度都會壞,必須插延遲緩衝修掉。

  • DRC(設計規則檢查):版圖是否違反代工廠物理規則(最小線寬、間距、密度)。
  • LVS(佈局與電路一致性):版圖萃取出的電路是否與原始網表等價,防止繞錯線。
  • IR drop / EM:電源網壓降與金屬電遷移壽命分析,確保供電穩定且互連不會燒斷。

簽核全綠後,輸出 GDSII,這道交付動作稱為 tape-out(沿用早期把資料寫到磁帶交廠的歷史用語)。其後晶圓廠對版圖做 OPC(光學鄰近修正) 與光罩合成,才正式投片。

工程現實:迭代與收斂

教科書把流程畫成一條直線,現實是無數次回頭:時序收不了就回去改約束、改架構甚至改 RTL;繞線壅塞就回去重佈局;功耗超標就回頭做電源閘控與多臨界電壓設計。整條流程的本質是一個在 PPA 鐵三角上反覆逼近的最佳化迴圈,而「收斂(timing closure)」——讓所有路徑 slack 同時非負——往往是一個專案最後、也最痛苦的衝刺。前沿趨勢是用 AI 預測佈局繞線後的時序、自動調參,把這場收斂之戰縮短。

延伸閱讀:〈RTL 與邏輯合成〉、〈佈局與繞線(P&R)〉。

接著問 AI 助教

點一下複製提問,到 ClassroomGPT、優學伴(AIDA)或你的 UeduGPTs 頻道貼上,AI 會引用本專區內容回答。

AI 共讀助教正在陪你讀:從 RTL 到 GDSII:數位設計流程
嗨!我是這篇文章的共讀助教,只根據〈從 RTL 到 GDSII:數位設計流程〉的內容回答。可以問我「解釋某段」「舉個例子」「出題考我」,或反白文中段落後點下方「解釋選取段落」。