從閘級網表到 Verilog:語言為何而生#
要理解 Verilog 為何誕生,必須先回到 1980 年代那個硬體設計方法劇烈變動的年代:設計者第一次需要把「電路」當成「程式」來描述,而業界第一次需要一種專門的硬體描述語言。
一切的起點:閘級網表的世界#
在 Verilog 出現之前,數位電路設計的主流工作方式是畫 schematic(電路圖)。工程師在 CAE 工作站上用圖形編輯器把一顆顆邏輯閘(AND、OR、DFF)擺放連接,最後輸出一份 netlist(網表)——一份描述每顆閘、每條線的清單,直接交給佈局佈線工具或送進 Gate Array 代工廠。這個流程在 1980 年代初期配合 ASIC 與 Gate Array 產業的興起迅速擴張:半導體廠提供標準 cell 庫,設計公司不必自己開線路,只要在固定的閘陣列上「填閘」就能做出專用晶片。這波浪潮催生了大量 CAE(Computer-Aided Engineering)公司,Daisy、Mentor、Valid 等系統都在這個時期搶佔工作站市場。
但 schematic 流程有一個致命的限制:它把設計者的想像力鎖在「閘」的層次。一個幾千閘的設計還畫得動,幾萬閘就變成一場災難——改一個架構決策等於重畫數百頁電路圖。工程師真正想描述的其實是行為:「這個暫存器在時脈上緣把輸入鎖進來」,而不是「這是 37 號 cell 的 DFF,接到 38 號 cell 的 mux」。設計規模的成長速度遠超過畫圖的能力,這是純粹的工程生產力危機。
行為級抽象的需求:模擬先行#
第二個驅動力來自驗證。ASIC 的投影片(mask set)非常昂貴,一次流片失敗就是數月延誤與鉅額損失,因此業界強烈需要在投片之前先「跑」電路——也就是模擬。但要用電腦模擬,就必須用某種文字形式描述電路與測試激勵。早期的做法是:schematic 工具產生 netlist,netlist 餵給閘級模擬器,測試激勵用附帶的腳本語言寫。問題是閘級模擬太慢了,一個上百萬事件的模擬可能要跑整夜,而當時的工程師想要的是「先把演算法寫出來、行為級跑通,再逐步降到閘級」的自頂向下流程。這個需求指向同一個答案:需要一種語言,能在多個抽象層次——行為級、暫存器轉移級(RTL)、閘級——描述同一個電路,並且能被同一套模擬器執行。
Phil Moorby 與 Gateway Design Automation#
1984 年,Phil Moorby 在美國的 Gateway Design Automation 公司開始開發 Verilog 硬體描述語言,搭配他在 1985 至 1986 年間推出的 Verilog-XL 事件驅動模擬器。Verilog 的設計明顯吸收了 C 語言的語法風格(Moorby 曾參與與 Pascal 及 C 相關的語言工具工作),加上兩項關鍵的語言發明:一是 always 這類程序性描述結構,讓工程師能用熟悉的程式寫法描述時序行為;二是方便寫測試的語法與內建系統任務,讓同一份語言既能描述被測電路,也能描述測試環境(testbench)。Verilog-XL 的事件驅動模擬引擎效能出色,加上 商業授權模式靈活,Verilog 迅速在美國的 ASIC 設計圈站穩腳步。當時甚至流傳「Verilog 可以先免費用、量產才付錢」之類的推廣策略,這在今天的開源世界看來似曾相識——先用低門檻佔領使用者,再建立生態。
從私有財產到開放標準#
Verilog 的大轉折發生在 1989 至 1990 年前後:Cadence 收購了 Gateway,取得了 Verilog 與 Verilog-XL。當時 Cadence 的競爭對手普遍擁有自己的模擬器,如果 Verilog 一直是 Cadence 獨家的私有語言,其他 EDA 廠商與使用者就會抗拒採用。Cadence 於是在 1990 年做出關鍵決策:把 Verilog 語言開放,促成成立 Open Verilog International(OVI)這個開放組織來管理語言定義,讓所有工具廠商都能實作自己的 Verilog 模擬器。這一步是整個 EDA 產業標準化文化的里程碑——語言歸公眾,工具歸市場。之後 OVI 把語言提案送進 IEEE,Verilog 於 1995 年成為正式標準 IEEE 1364-1995,並在 2001 年推出功能大幅擴充的 IEEE 1364-2001(加入 generate、signed 運算、改良的 port 宣告等),2002 年前後又推出修正版本 1364-2005。從此 Verilog 不再是某家公司的產品,而是整個產業的公共基礎建設。
回頭看,這段歷史揭示了一個反覆出現的模式:一個設計社群的生產力瓶頸(schematic 畫不動了),由一個新抽象(語言描述+行為級模擬)解決;這個新抽象先是商業工具的賣點,最後因為生態系統的壓力被開放成標準。三十年後 Veryl 的誕生,走的是同一條路:先有人類可讀的轉譯輸出相容於既有生態,再靠開源社群推動標準化體驗。理解 Verilog 的起源,就是理解為什麼今天我們還需要新的 HDL。
本章小結#
- 1980 年代 ASIC/Gate Array 與 CAE 工具興起,schematic 流程在規模上崩潰。
- 模擬先行與行為級抽象是語言誕生的核心動機。
- Phil Moorby 於 1984 年在 Gateway 開發 Verilog,1985–86 推出 Verilog-XL 事件驅動模擬器。
- Cadence 於 1989/90 收購後開放語言,OVI 成立,Verilog 標準化為 IEEE 1364-1995 與 1364-2001。
- 語言的開放化是 EDA 產業生態思維的轉捩點,也是後世所有 HDL 演化的參考座標。