Verilog和System Verilog是同一硬件描述語言(HDL)的同義名稱。SystemVerilog是IEEE官方語言標準的較新名稱,它取代了原來的Verilog名稱。Verilog HDL語言最初是于1 9 8 3年由Gateway Design Automation 公司為其模擬器產品開發的硬件建模語言。那時它只是一種專用語言。專有的Verilog HDL于1989年逐漸向公眾開放,并于1995年由IEEE標準化為國際標準,即IEEE Std 1364-1995TM(通常稱為“Verilog-95”)。IEEE于2001年將Verilog標準更新為1364-2001 TM標準,稱為“Verilog-2001”。Verilog名稱下的最后一個官方版本是IEEE Std 1364-2005TM。同年,IEEE發布了一系列對Verilog HDL的增強功能。
這些增強功能最初以不同的標準編號和名稱記錄,即IEEE Std 1800-2005TM SystemVerilog標準。2009年,IEEE終止了IEEE-1364標準,并將Verilog-2005合并到SystemVerilog標準中,標準編號為IEEE Std 1800-2009TM標準。2012年增加了其他設計和驗證增強功能,如IEEE標準1800-2012TM標準,稱為SystemVerilog-2012。在撰寫本書時,IEEE已接近完成擬定的IEEE標準1800-2017TM或SystemVerilog-2017。本版本僅修正了2012版標準中的勘誤表,并增加了對語言語法和語義規則的澄清。
verilog的發展歷史及未來
原始Verilog
Verilog始于20世紀80年代初,是一家名為Gateway Design Automation的公司的專有硬件描述語言(HDL)。最初的Verilog HDL的主要作者是Phil Moorby。在20世紀80年代早期,數字仿真開始流行。一些電子設計自動化(EDA)公司提供了數字仿真器,但這些仿真器沒有標準的硬件描述語言。相反,每個仿真器公司都提供了一種專用于該仿真器的專有建模語言。網表(Gateway)設計自動化也不例外。仿真器產品被命名為“Verilog XL”(Verification Logic,Accelerated的縮寫),其附帶的建模語言被稱為“Verilog”。
Verilog XL仿真器和Verilog HDL在20世紀80年代后半期成為數字設計的主要仿真器和語言。促成這種流行的一些因素包括:1)速度和容量,2)ASIC定時精度,3)集成設計和驗證語言,4)數字合成。
1、Verilog XL仿真器比大多數(如果不是全部的話)當代競爭對手的仿真器速度更快,設計容量更大,允許公司更有效地設計更大、更復雜的數字集成電路(IC)。
2、 在20世紀80年代后半期,許多電子設計公司正在從定制集成電路轉向專用集成電路(ASIC)。網表(Gateway)設計自動化與主要ASIC供應商密切合作,Verilog XL成為確保ASIC仿真計時準確的黃金參考仿真器。ASIC供應商的這種偏好使Verilog成為COM的首選語言,COM是設計ASIC的公司。
3、20世紀70年代和80年代早期的主要數字仿真器通常涉及使用兩種專有語言:門級建模語言來仿真數字邏輯,以及單獨的專有語言來仿真刺激和響應檢查。網關設計自動化背離了這一傳統,將門級建模、抽象功能建模、刺激和響應檢查集成到一種稱為Verilog的語言中。
4、許多公司采用Verilog語言設計ASIC的第四個原因是能夠將抽象的Verilog模型合成為門級模型。20世紀80年代后半期,Synopsys,Inc.與Gateway Design Automation達成協議,在Synopsys Design Compiler(DC)數字合成工具中使用專有的Verilog語言。與當時所有其他專有數字建模語言相比,仿真和合成Verilog語言的能力是一個巨大的優勢。
開放verilog和VHDL
Verilog語言的快速增長和普及在20世紀90年代初突然放緩。電氣和電子工程師協會(IEEE,通常發音為“I-triple-E”)發布了VHDL語言,作為第一個行業標準、非專有硬件描述語言。與Verilog類似,VHDL還提供了一種集成的數字建模和驗證語言,并得到了ASIC供應商的支持(首先是在VHDL設計流程中使用經過認證的Verilog ASIC庫)。隨著VHDL仿真器和合成編譯器的出現,許多設計公司開始回避使用專有語言,包括Verilog。還有一些其他因素,比如美國國防部(DOD)授權使用VHDL作為DOD設計的文檔語言,也導致了從Verilog向VHDL的轉變(DOD不要求設計工作使用VHDL,只要求最終文檔使用VHDL)。
網關設計自動化公司(Gateway Design Automation)通過將Verilog發布到公共領域,阻止了這種遠離專有HDL的做法。第一步工作就是要求將Verilog語言文檔與Verilog XL仿真器產品文檔分開。在這項工作進行期間,Cadence Design Systems得到Gateway Design Automation的請求并完成了這項工作;1991年,Verilog正式成為公共領域語言,成立了一個名為Open Verilog International(OVI)的非營利組織,目的是控制Verilog語言并促進其使用。
Verilog向公共領域的發布有效地阻止了Verilog向VHDL的流動。在接下來的二十年中,這兩種HDL共存,并且可以說,在全球電子設計行業中保持了某種程度上均勻的總體使用。然而,2005年SystemVerilog的出現打破了VHDL的平衡,而Verilog在其新名稱SystemVerilogt下再次成為數字設計和驗證中使用的更主要的HDL語言。
IEEE Verilog-95和Verilog-2001
IEEE于1993年接管了Verilog語言,并在兩年后發布了正式的IEEE Verilog HDL標準,即IEEE 1364-1995,昵稱為“Verilog-95”。五年后,IEEE發布了1364-2001,綽號為“Verilog2001”,其中有許多用于建模和驗證數字設計的增強功能。
圖1-1顯示了Verilog-95中的主要語言功能,以及Verilog-2001中添加的主要新功能。請注意,此圖并不是語言特性的全面列表。其目的是展示Verilog-2001添加到原始Verilog語言中的主要新功能。
圖1-1:Verilog-95和Verilog-2001語言特性
SV向Verilog擴展-一個單獨的標準
到2001年,典型數字集成電路的規模和復雜性從20世紀80年代開始發生了巨大的變化,當時Verilog和VHDL語言都是第一次出現。即使在Verilog-2001中增加了新功能,有效地建模這些大型設計以及驗證這些復雜設計所需的大量激勵和反復檢查代碼也變得越來越困難,為了解決Verilog-2001的語言局限性,Accellera開始為Verilog語言定義大量新功能。”這些擴展被概括為兩個主要類別:
增強功能主要滿足更高效、更準確地建模數字邏輯功能的需要。
為大型復雜設計編寫高效廣泛驗證代碼的功能增強。
定義下一代Verilog的最初工作是在IEEE之外完成的,由一個名為Accellera(現為Accellera Systems Initiative)的獨立非營利組織完成。Accellera是一個think-tank組織,由開發電子設計自動化(EDA)軟件工具的公司和使用這些軟件工具的公司的代表組成。Accelera成立于20世紀90年代中期,由Verilog和VHDL用戶組合并而成。后來,其他EDA小組也并入了Accelera,如SystemC Initiative。Accelera負責目前使用的許多EDA工程標準的初始開發工作。許多Accelera標準最終“成為IEEE標準”。
2002年末,Accellera發布了這些主要擴展的第一個版本,該版本將添加到IEEE Verilog-2001語言中。在Verilog-2001擴展的開發過程中,這些新的語言功能被稱為“Verilog++”,但在最后一刻決定將這些擴展發布為“SystemVeriIog 3.0”。選擇使用是為了表明,當擴展與Verilog結合時,它將是Verilog語言的第三代(Verilog-95是第一代,Verilog-2001是第二代),B Accellera繼續定義對Verilog的更多擴展,一年后,在2003年發布了SystemVerilog 3.1標準。
需要注意的是,Accellera SystemVerilog 3.1文檔不是一種完整的獨立語言,它是IEEE 1364-2001 Verilog語言的一組擴展。Accellera最初的意圖是,IEEE隨后將這些擴展添加到下一版本的IEEE 1364 Verilog標準中,目標是1364-2005,昵稱為Verilog-2005。然而,出于多種原因,IEEE Verilog標準委員會決定不立即將這些擴展合并到實際的Verilog 1364標準中。相反,IEEE為這些擴展指定了一個新的標準編號,在2005年,IEEE發布了1364-2005 Verilog標準,同時發布了1800-2005 SystemVerilog對Verilog標準的擴展。
圖1-2顯示了SystemVerilog添加到Verilog-2001的主要功能。該圖還顯示,Verilog 1364-2005中包含了4項功能,而不是SystemVerilog 1800-2005標準。圖1-2沒有描述SystemVerilog的2005、、2009、 2012和2017版本之間的關系。SystemVerilog添加到傳統Verilog中的大多數新功能都是在SystemVerilog-2005版本中實現的。2009和2012版本中只添加了少量附加功能,2017版本中沒有添加任何新功能。
圖1-2:帶有SystemVerilog語言擴展的Verilog-2005
SystemVerilog取代Verilog
在發布這兩個獨立的標準后,IEEE立即開始將這兩個標準合并在一起,合并了這兩個大型文檔。除了合并這兩個標準外,IEEE還定義了許多附加SystemVeriIog功能(西蒙·戴維曼(Simon Davidmann)是數字仿真領域的早期先驅之一,他就Verilog和SystemVerilog的起源寫了一本更詳細的歷史書,可以在《System Verilogfor Design,Second Edition》一書的附錄中找到。)。合并后的Verilog和SystemVerilog標準作為IEEE 1800-2009 SystemVerilog標準發布。當時,IEEE終止了舊的Verilog-1364標準。“Verilog”的名稱正式成為“SystemVerilog”。
硬件設計和驗證這些設計的復雜性在不斷發展,IEEE也在不斷發展SystemVerilog標準以跟上步伐。2012年,IEEE發布了1800-2012 SystemVerilog標準。SystemVerilog-2017版本主要對SystemVerilog標準進行了修正,并未在2012標準中添加任何新的語言功能。
IEEE在2005年決定發布兩個獨立的標準——一個包含傳統的Verilog語言(1364-2005),另一個只包含Verilog的擴展,稱為SystemVerilog(1800-2005)——這讓工程師們感到困惑。一個普遍存在的誤解是Verilog是一種硬件建模語言,SystemVerilog是一種驗證語言。這種理解是不對的!最初的Verilog語言始終是一種集成的建模和驗證語言。SystemVerilog以實質性的方式擴展了原始Verilog HDL的建模方面和驗證方面。SystemVerilog既是一種數字建模語言,也是一種數字驗證語言。
審核編輯:劉清
-
FPGA設計
+關注
關注
9文章
428瀏覽量
26489 -
仿真器
+關注
關注
14文章
1016瀏覽量
83646 -
HDL語言
+關注
關注
0文章
46瀏覽量
8912
原文標題:談談Verilog和SystemVerilog簡史,FPGA設計是否需要學習SystemVerilog
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論