0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA設計是否需要學習SystemVerilog

OpenFPGA ? 來源:OpenFPGA ? 2023-10-26 10:07 ? 次閱讀

Verilog和System Verilog是同一硬件描述語言(HDL)的同義名稱。SystemVerilog是IEEE官方語言標準的較新名稱,它取代了原來的Verilog名稱。Verilog HDL語言最初是于1 9 8 3年由Gateway Design Automation 公司為其模擬產(chǎn)品開發(fā)的硬件建模語言。那時它只是一種專用語言。專有的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發(fā)布了一系列對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版標準中的勘誤表,并增加了對語言語法和語義規(guī)則的澄清。

6367c9da-73a0-11ee-939d-92fbcf53809c.png

verilog的發(fā)展歷史及未來

原始Verilog

Verilog始于20世紀80年代初,是一家名為Gateway Design Automation的公司的專有硬件描述語言(HDL)。最初的Verilog HDL的主要作者是Phil Moorby。在20世紀80年代早期,數(shù)字仿真開始流行。一些電子設計自動化(EDA)公司提供了數(shù)字仿真器,但這些仿真器沒有標準的硬件描述語言。相反,每個仿真器公司都提供了一種專用于該仿真器的專有建模語言。網(wǎng)表(Gateway)設計自動化也不例外。仿真器產(chǎn)品被命名為“Verilog XL”(Verification Logic,Accelerated的縮寫),其附帶的建模語言被稱為“Verilog”。

Verilog XL仿真器和Verilog HDL在20世紀80年代后半期成為數(shù)字設計的主要仿真器和語言。促成這種流行的一些因素包括:1)速度和容量,2)ASIC定時精度,3)集成設計和驗證語言,4)數(shù)字合成。

1、Verilog XL仿真器比大多數(shù)(如果不是全部的話)當代競爭對手的仿真器速度更快,設計容量更大,允許公司更有效地設計更大、更復雜的數(shù)字集成電路(IC)。

2、 在20世紀80年代后半期,許多電子設計公司正在從定制集成電路轉(zhuǎn)向?qū)S眉呻娐罚ˋSIC)。網(wǎng)表(Gateway)設計自動化與主要ASIC供應商密切合作,Verilog XL成為確保ASIC仿真計時準確的黃金參考仿真器。ASIC供應商的這種偏好使Verilog成為COM的首選語言,COM是設計ASIC的公司。

3、20世紀70年代和80年代早期的主要數(shù)字仿真器通常涉及使用兩種專有語言:門級建模語言來仿真數(shù)字邏輯,以及單獨的專有語言來仿真刺激和響應檢查。網(wǎng)關設計自動化背離了這一傳統(tǒng),將門級建模、抽象功能建模、刺激和響應檢查集成到一種稱為Verilog的語言中。

4、許多公司采用Verilog語言設計ASIC的第四個原因是能夠?qū)⒊橄蟮腣erilog模型合成為門級模型。20世紀80年代后半期,Synopsys,Inc.與Gateway Design Automation達成協(xié)議,在Synopsys Design Compiler(DC)數(shù)字合成工具中使用專有的Verilog語言。與當時所有其他專有數(shù)字建模語言相比,仿真和合成Verilog語言的能力是一個巨大的優(yōu)勢。

開放verilog和VHDL

Verilog語言的快速增長和普及在20世紀90年代初突然放緩。電氣電子工程師協(xié)會(IEEE,通常發(fā)音為“I-triple-E”)發(fā)布了VHDL語言,作為第一個行業(yè)標準、非專有硬件描述語言。與Verilog類似,VHDL還提供了一種集成的數(shù)字建模和驗證語言,并得到了ASIC供應商的支持(首先是在VHDL設計流程中使用經(jīng)過認證的Verilog ASIC庫)。隨著VHDL仿真器和合成編譯器的出現(xiàn),許多設計公司開始回避使用專有語言,包括Verilog。還有一些其他因素,比如美國國防部(DOD)授權使用VHDL作為DOD設計的文檔語言,也導致了從Verilog向VHDL的轉(zhuǎn)變(DOD不要求設計工作使用VHDL,只要求最終文檔使用VHDL)。

網(wǎng)關設計自動化公司(Gateway Design Automation)通過將Verilog發(fā)布到公共領域,阻止了這種遠離專有HDL的做法。第一步工作就是要求將Verilog語言文檔與Verilog XL仿真器產(chǎn)品文檔分開。在這項工作進行期間,Cadence Design Systems得到Gateway Design Automation的請求并完成了這項工作;1991年,Verilog正式成為公共領域語言,成立了一個名為Open Verilog International(OVI)的非營利組織,目的是控制Verilog語言并促進其使用。

Verilog向公共領域的發(fā)布有效地阻止了Verilog向VHDL的流動。在接下來的二十年中,這兩種HDL共存,并且可以說,在全球電子設計行業(yè)中保持了某種程度上均勻的總體使用。然而,2005年SystemVerilog的出現(xiàn)打破了VHDL的平衡,而Verilog在其新名稱SystemVerilogt下再次成為數(shù)字設計和驗證中使用的更主要的HDL語言。

IEEE Verilog-95和Verilog-2001

IEEE于1993年接管了Verilog語言,并在兩年后發(fā)布了正式的IEEE Verilog HDL標準,即IEEE 1364-1995,昵稱為“Verilog-95”。五年后,IEEE發(fā)布了1364-2001,綽號為“Verilog2001”,其中有許多用于建模和驗證數(shù)字設計的增強功能。

圖1-1顯示了Verilog-95中的主要語言功能,以及Verilog-2001中添加的主要新功能。請注意,此圖并不是語言特性的全面列表。其目的是展示Verilog-2001添加到原始Verilog語言中的主要新功能。

63750082-73a0-11ee-939d-92fbcf53809c.png

圖1-1:Verilog-95和Verilog-2001語言特性

SV向Verilog擴展-一個單獨的標準

到2001年,典型數(shù)字集成電路的規(guī)模和復雜性從20世紀80年代開始發(fā)生了巨大的變化,當時Verilog和VHDL語言都是第一次出現(xiàn)。即使在Verilog-2001中增加了新功能,有效地建模這些大型設計以及驗證這些復雜設計所需的大量激勵和反復檢查代碼也變得越來越困難,為了解決Verilog-2001的語言局限性,Accellera開始為Verilog語言定義大量新功能。”這些擴展被概括為兩個主要類別:

增強功能主要滿足更高效、更準確地建模數(shù)字邏輯功能的需要。

為大型復雜設計編寫高效廣泛驗證代碼的功能增強。

定義下一代Verilog的最初工作是在IEEE之外完成的,由一個名為Accellera(現(xiàn)為Accellera Systems Initiative)的獨立非營利組織完成。Accellera是一個think-tank組織,由開發(fā)電子設計自動化(EDA)軟件工具的公司和使用這些軟件工具的公司的代表組成。Accelera成立于20世紀90年代中期,由Verilog和VHDL用戶組合并而成。后來,其他EDA小組也并入了Accelera,如SystemC Initiative。Accelera負責目前使用的許多EDA工程標準的初始開發(fā)工作。許多Accelera標準最終“成為IEEE標準”。

2002年末,Accellera發(fā)布了這些主要擴展的第一個版本,該版本將添加到IEEE Verilog-2001語言中。在Verilog-2001擴展的開發(fā)過程中,這些新的語言功能被稱為“Verilog++”,但在最后一刻決定將這些擴展發(fā)布為“SystemVeriIog 3.0”。選擇使用是為了表明,當擴展與Verilog結合時,它將是Verilog語言的第三代(Verilog-95是第一代,Verilog-2001是第二代),B Accellera繼續(xù)定義對Verilog的更多擴展,一年后,在2003年發(fā)布了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發(fā)布了1364-2005 Verilog標準,同時發(fā)布了1800-2005 SystemVerilog對Verilog標準的擴展。

圖1-2顯示了SystemVerilog添加到Verilog-2001的主要功能。該圖還顯示,Verilog 1364-2005中包含了4項功能,而不是SystemVerilog 1800-2005標準。圖1-2沒有描述SystemVerilog的2005、、2009、 2012和2017版本之間的關系。SystemVerilog添加到傳統(tǒng)Verilog中的大多數(shù)新功能都是在SystemVerilog-2005版本中實現(xiàn)的。2009和2012版本中只添加了少量附加功能,2017版本中沒有添加任何新功能。

6391229e-73a0-11ee-939d-92fbcf53809c.png

圖1-2:帶有SystemVerilog語言擴展的Verilog-2005

SystemVerilog取代Verilog

在發(fā)布這兩個獨立的標準后,IEEE立即開始將這兩個標準合并在一起,合并了這兩個大型文檔。除了合并這兩個標準外,IEEE還定義了許多附加SystemVeriIog功能(西蒙·戴維曼(Simon Davidmann)是數(shù)字仿真領域的早期先驅(qū)之一,他就Verilog和SystemVerilog的起源寫了一本更詳細的歷史書,可以在《System Verilogfor Design,Second Edition》一書的附錄中找到。)。合并后的Verilog和SystemVerilog標準作為IEEE 1800-2009 SystemVerilog標準發(fā)布。當時,IEEE終止了舊的Verilog-1364標準?!癡erilog”的名稱正式成為“SystemVerilog”。

硬件設計和驗證這些設計的復雜性在不斷發(fā)展,IEEE也在不斷發(fā)展SystemVerilog標準以跟上步伐。2012年,IEEE發(fā)布了1800-2012 SystemVerilog標準。SystemVerilog-2017版本主要對SystemVerilog標準進行了修正,并未在2012標準中添加任何新的語言功能。

IEEE在2005年決定發(fā)布兩個獨立的標準——一個包含傳統(tǒng)的Verilog語言(1364-2005),另一個只包含Verilog的擴展,稱為SystemVerilog(1800-2005)——這讓工程師們感到困惑。一個普遍存在的誤解是Verilog是一種硬件建模語言,SystemVerilog是一種驗證語言。這種理解是不對的!最初的Verilog語言始終是一種集成的建模和驗證語言。SystemVerilog以實質(zhì)性的方式擴展了原始Verilog HDL的建模方面和驗證方面。SystemVerilog既是一種數(shù)字建模語言,也是一種數(shù)字驗證語言。

639e7872-73a0-11ee-939d-92fbcf53809c.jpg







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA設計
    +關注

    關注

    9

    文章

    428

    瀏覽量

    26465
  • 仿真器
    +關注

    關注

    14

    文章

    1014

    瀏覽量

    83591
  • HDL語言
    +關注

    關注

    0

    文章

    46

    瀏覽量

    8905

原文標題:談談Verilog和SystemVerilog簡史,F(xiàn)PGA設計是否需要學習SystemVerilog

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    SystemVerilog 的VMM驗證方法學教程教材

    SystemVerilog 的VMM 驗證方法學教程教材包含大量經(jīng)典的VMM源代碼,可以實際操作練習的例子,更是ic從業(yè)人員的絕佳學習資料。SystemVerilog 的VMM 驗證方法學教程教材[hide][/hide]
    發(fā)表于 01-11 11:21

    systemverilog------Let's Go

    官方的一個systemverilog詳解,很詳細。推薦給打算往IC方面發(fā)展的朋友。QQ群374590107歡迎有志于FPGA開發(fā),IC設計的朋友加入一起交流。一起為中國的IC加油?。?!
    發(fā)表于 06-02 09:47

    systemverilog學習教程

    systemverilog的一些基本語法以及和verilog語言之間的區(qū)別。
    發(fā)表于 04-01 14:24

    FPGA工程師需要掌握SystemVerilog嗎?

    在某大型科技公司的招聘網(wǎng)站上看到招聘邏輯硬件工程師需要掌握SystemVerilog語言,感覺SystemVerilog語言是用于ASIC驗證的,那么做FPGA工程師有沒有必要掌握
    發(fā)表于 08-02 20:30

    FPGA怎么學?學習FPGA需要了解什么?

    第一步:學習了解FPGA結構,FPGA到底是什么東西,芯片里面有什么,不要開始就拿個開發(fā)板照著別人的東西去編程。很多開發(fā)板的程序?qū)懙暮軤€,我也做過一段時間的開發(fā)板設計,我覺得很大程度上,開發(fā)板在
    發(fā)表于 08-20 09:48

    學習FPGA需要哪些基礎?怎么學好FPGA?

    學習了51單片機系統(tǒng),就應該對單片機系統(tǒng)有一個了解了。只要把FPGA當作51外圍的一個譯碼電路好了,沒那么復雜的。學完數(shù)電,你對74邏輯電路就應該了解了,FPGA就把它理解為74電路的集成好了。
    發(fā)表于 08-24 09:38

    使用SystemVerilog來簡化FPGA中接口的連接方式

    Xilinx推薦使用純bd文件的方式來設計FPGA,這樣HDL代碼就會少了很多。但我們大多數(shù)的工程還是無法避免使用HDL來連接兩個module。所以本文就推薦使用SystemVerilog來簡化
    發(fā)表于 01-08 17:23

    (2)打兩拍systemverilog與VHDL編碼 精選資料分享

    2打兩拍systemverilog與VHDL編碼1 本章目錄1)FPGA簡介2)SystemVerilog簡介3)VHDL簡介4)打兩拍verilog編碼5)打兩拍VHDL編碼6)結束語2 F
    發(fā)表于 07-26 06:19

    SystemVerilog Assertion Handbo

    SystemVerilog Assertion Handbook1 ROLE OF SYSTEMVERILOG ASSERTIONSIN A VERIFICATION METHODOLOGY
    發(fā)表于 07-22 14:08 ?188次下載

    SystemVerilog的斷言手冊

    SystemVerilog Assertion Handbook1 ROLE OF SYSTEMVERILOG ASSERTIONSIN A VERIFICATION METHODOLOGY
    發(fā)表于 07-22 14:12 ?20次下載

    如何采用SystemVerilog來改善基于FPGA的ASI

    如何采用SystemVerilog 來改善基于FPGA 的ASIC 原型關鍵詞:FPGA, ASIC, SystemVerilog摘要:ASIC 在解決高性能復雜設計概念方面提供了一種
    發(fā)表于 02-08 09:53 ?10次下載

    FPGA學習流程

    FPGA學習流程,有需要的朋友下來看看
    發(fā)表于 05-10 10:46 ?23次下載

    SystemVerilog3.1a語言參考手冊

    學習Systemverilog必備的手冊,很全且介紹詳細
    發(fā)表于 10-19 16:04 ?2次下載

    FPGA學習-SystemVerilog語言簡介

    SystemVerilog是一種硬件描述和驗證語言(HDVL),它基于IEEE1364-2001 Verilog硬件描述語言(HDL),并對其進行了擴展,包括擴充了 C語言 數(shù)據(jù)類型、結構、壓縮和非
    的頭像 發(fā)表于 12-08 10:35 ?2051次閱讀

    fpga學習需要具備哪些課程

    FPGA(Field Programmable Gate Array)學習需要具備一系列的課程知識和實踐技能
    的頭像 發(fā)表于 03-14 15:51 ?1095次閱讀