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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

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

通用HDL的技術(shù)特性

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-11-02 09:13 ? 次閱讀

VHDL、Verilog和SystemVerilog的比較

簡介

各種硬件描述語言 (HDL) 在過去幾年中不斷增強(qiáng),確定哪種語言適合哪種設(shè)計(jì)的復(fù)雜性也隨之增加。許多設(shè)計(jì)人員和組織正在考慮是否應(yīng)該從一種 HDL 切換到另一種HDL。

本文比較了三種通用 HDL 的技術(shù)特性:

VHDL (IEEE-Std 1076):一種由多種驗(yàn)證和綜合(實(shí)現(xiàn))工具支持的通用數(shù)字設(shè)計(jì)語言。

Verilog (IEEE-Std 1364):一種通用數(shù)字設(shè)計(jì)語言,支持多種驗(yàn)證和綜合工具。

SystemVerilog:Verilog 的增強(qiáng)版本。

語言的“感覺”

每個(gè) HDL 都有自己的風(fēng)格和特點(diǎn)。以下描述提供了每種語言的整體“感覺”。文章末尾的表格提供了更詳細(xì)的功能比較。

VHDL

VHDL 是一種強(qiáng)類型且類型豐富的語言。源自 Ada 編程語言,其語言要求比 Verilog 更冗長。額外的冗長旨在使設(shè)計(jì)自我記錄(所謂的更嚴(yán)謹(jǐn))。此外,強(qiáng)類型需要額外的編碼才能從一種數(shù)據(jù)類型顯式轉(zhuǎn)換為另一種數(shù)據(jù)類型。

VHDL 的創(chuàng)建者強(qiáng)調(diào)明確的語義和易于從一種工具移植到另一種工具的設(shè)計(jì)。因此,作為語言和工具實(shí)現(xiàn)的產(chǎn)物,競爭條件不是 VHDL 用戶關(guān)心的問題。

已經(jīng)開發(fā)了幾個(gè)相關(guān)的標(biāo)準(zhǔn)來增加語言的實(shí)用性。今天的 VHDL 設(shè)計(jì)都依賴于 IEEE-Std 1164(std_logic 類型),并且許多還依賴于標(biāo)準(zhǔn)的 Numeric 和 Math 包。相關(guān)標(biāo)準(zhǔn)的開發(fā)是 VHDL 作者的另一個(gè)目標(biāo):即產(chǎn)生一種通用語言并允許開發(fā)可重用的包以涵蓋語言中未內(nèi)置的功能。

VHDL 沒有在語言中定義任何仿真控制或監(jiān)視功能。這些功能取決于工具。

由于缺乏語言定義的仿真控制命令以及 VHDL 的用戶定義類型功能,VHDL 社區(qū)通常依賴交互式 GUI 環(huán)境來調(diào)試設(shè)計(jì)問題。

Verilog

Verilog 是一種弱類型和有限類型的語言。它的傳統(tǒng)可以追溯到 C 編程語言和稱為 Hilo 的舊 HDL。

Verilog 中的所有數(shù)據(jù)類型都在語言中預(yù)定義。Verilog 承認(rèn)所有數(shù)據(jù)類型都有位級表示。支持的數(shù)據(jù)可以在 Verilog 中自由混合。

Verilog 中的仿真語義比 VHDL 中的更加模糊。這種模糊性為設(shè)計(jì)人員在應(yīng)用優(yōu)化方面提供了更大的靈活性, 但如果不遵循編碼準(zhǔn)則,它也可能(并且經(jīng)常會)導(dǎo)致競爭條件 。有可能在不同供應(yīng)商的工具上甚至在同一供應(yīng)商工具的不同版本上產(chǎn)生不同結(jié)果的設(shè)計(jì)。

與 VHDL 的創(chuàng)建者不同,Verilog 的作者認(rèn)為他們?yōu)樵O(shè)計(jì)人員提供了語言所需的一切。語言的范圍更有限,加上缺乏打包能力,即使不是不可能,也很難開發(fā)語言中尚未包含的可重用功能。

Verilog 在語言中定義了一組基本的仿真控制能力(系統(tǒng)任務(wù))。

由于這些預(yù)定義的系統(tǒng)任務(wù)和缺乏復(fù)雜的數(shù)據(jù)類型,Verilog 用戶經(jīng)常運(yùn)行批處理或命令行仿真,并通過查看仿真結(jié)果數(shù)據(jù)庫中的波形來調(diào)試設(shè)計(jì)問題。

SystemVerilog

SystemVerilog 的父級顯然是 Verilog,但該語言還受益于稱為 Superlog 的專有 Verilog 擴(kuò)展以及 C 和 C++ 編程語言的特點(diǎn)。

SystemVerilog 通過添加豐富的用戶定義類型系統(tǒng)來擴(kuò)展 Verilog。它還添加了強(qiáng)類型功能,特別是在用戶定義類型領(lǐng)域。但是,VHDL 中類型檢查的強(qiáng)度仍然超過了 SystemVerilog。而且,為了保持向后兼容性,SystemVerilog 為內(nèi)置的 Verilog 類型保留了弱類型。

由于 SystemVerilog 是一種比 Verilog 更通用的語言,它提供了定義和打包該語言中尚未包含的可重用功能的能力。

SystemVerilog 還增加了針對測試臺開發(fā)、基于斷言的驗(yàn)證以及接口抽象和封裝的功能。

強(qiáng)類型的優(yōu)點(diǎn)和缺點(diǎn)

強(qiáng)類型的好處是在驗(yàn)證過程中盡早發(fā)現(xiàn)設(shè)計(jì)中的錯(cuò)誤。在分析/編譯源代碼的過程中有很多都是強(qiáng)類型發(fā)現(xiàn)的問題,在仿真過程中可能會發(fā)現(xiàn)更多問題。

強(qiáng)類型的缺點(diǎn)是性能成本。由于工具必須對源代碼進(jìn)行檢查,因此編譯速度往往較慢。

當(dāng)啟用運(yùn)行時(shí)檢查時(shí),仿真也會由于檢查開銷而變慢。此外,由于設(shè)計(jì)人員在編寫代碼時(shí)必須編寫類型轉(zhuǎn)換函數(shù)并插入類型轉(zhuǎn)換或顯式聲明的轉(zhuǎn)換函數(shù),因此設(shè)計(jì)人員的工作效率在編寫代碼階段可能會降低。

1,000,000 元的問題是:強(qiáng)類型的好處是否超過成本?

這個(gè)問題沒有一個(gè)正確答案。一般來說,VHDL 語言設(shè)計(jì)者想要一種安全的語言,能夠在流程的早期捕獲盡可能多的錯(cuò)誤。Verilog 語言設(shè)計(jì)者想要一種設(shè)計(jì)者可以使用的語言——用來快速編寫模型。SystemVerilog 的設(shè)計(jì)者正試圖通過在增強(qiáng)領(lǐng)域提供強(qiáng)類型來提供兩全其美,同時(shí)不會顯著影響代碼編寫和建模效率。

語言特征比較

下表顯示了三種 HDL 的逐個(gè)特性比較。請注意,紅色字體將 Verilog 2001 功能與 Verilog 1995 功能區(qū)分開來。

db22da16-5a4a-11ed-a3b6-dac502259ad0.pngdb392b90-5a4a-11ed-a3b6-dac502259ad0.pngdb456e8c-5a4a-11ed-a3b6-dac502259ad0.pngdb80c2f2-5a4a-11ed-a3b6-dac502259ad0.png

總結(jié)

除了上面的語言特性比較之外,這里還有一些需要考慮的最后幾點(diǎn):

SystemVerilog 是一個(gè)新興的標(biāo)準(zhǔn),仍在不斷發(fā)展。SystemVerilog 擁有一系列引人注目的功能,是當(dāng)前 Verilog 用戶可能的遷移路徑。但是目前一些綜合工具支持的還不是支持的特別好~

對于VHDL 用戶,許多SystemVerilog 和Verilog 2001 增強(qiáng)功能已經(jīng)以VHDL 語言提供。還有一項(xiàng)新的 VHDL 增強(qiáng)工作正在進(jìn)行中,它將為該語言添加測試平臺和擴(kuò)展的斷言功能(SystemVerilog 將在這兩個(gè)領(lǐng)域提供超過 VHDL 2002 的價(jià)值)??紤]到更改流程和工具的成本以及培訓(xùn)所需的投資,必須非常慎重地考慮是否放棄 VHDL(應(yīng)該都不會)。

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

    關(guān)注

    11

    文章

    3164

    瀏覽量

    66004
  • HDL
    HDL
    +關(guān)注

    關(guān)注

    8

    文章

    324

    瀏覽量

    47284
  • 仿真控制
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    6546

原文標(biāo)題:VHDL、Verilog和SystemVerilog的比較

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

收藏 人收藏

    評論

    相關(guān)推薦

    硬件描述語言(HDL)編碼技術(shù):xilinx verilog語法技巧

    xilinx verilog語法技巧 一 硬件描述語言(HDL)編碼技術(shù)讓您: ?描述數(shù)字邏輯電路中最常見的功能。 ?充分利用Xilinx?器件的架構(gòu)特性。 1 Flip-Flops
    的頭像 發(fā)表于 12-13 10:29 ?3457次閱讀

    寄存器用廠家distributed ram描述是否比"HDL通用寄存器描述...

    個(gè)人覺得如果用“HDL通用寄存器描述”一個(gè)32位寄存器,則綜合需要32個(gè)LUT(假設(shè)每個(gè)LUT后有1個(gè)FF)。而用廠家 distributed ram 原語描述,則是不是可把每個(gè)LUT用做RAM
    發(fā)表于 10-04 22:44

    Verilog HDL入門教程(全集)

    的復(fù)雜性可以介于簡單的門和完整的電子數(shù)字系統(tǒng)之間。數(shù)字系統(tǒng)能夠按層次描述,并可在相同描述中顯式地進(jìn)行時(shí)序建模。Verilog HDL 語言具有下述描述能力:設(shè)計(jì)的行為特性、設(shè)計(jì)的數(shù)據(jù)流特性、設(shè)計(jì)的結(jié)構(gòu)
    發(fā)表于 11-30 19:03

    基于模型設(shè)計(jì)的HDL代碼自動生成技術(shù)綜述

    摘要:在調(diào)研近幾年基于模型設(shè)計(jì)的HDL代碼自動生成技術(shù)相關(guān)工具及工程應(yīng)用情況的基礎(chǔ)上,從HDL代碼自動生成的技術(shù)角度分析了基于模型設(shè)計(jì)的應(yīng)用需求及現(xiàn)狀,分析了基于模型的設(shè)計(jì)自動生成
    發(fā)表于 06-08 09:29

    Verilog HDL綜合實(shí)用教程

    Verilog HDL 綜合實(shí)用教程第1章 基礎(chǔ)知識第2章 從Verilog結(jié)構(gòu)到邏輯門第3章 建模示例第4章 模型的優(yōu)化第5章 驗(yàn)證附錄A 可綜合的語言結(jié)構(gòu)附錄B 通用
    發(fā)表于 07-20 11:21 ?86次下載
    Verilog <b class='flag-5'>HDL</b>綜合實(shí)用教程

    Verilog HDL華為入門教程

    Verilog HDL 華為入門教程 本文主要介紹了Verilog HDL 語言的一些基本知識,目的是使初學(xué)者能夠迅速掌握HDL設(shè)計(jì)方法,初步了解并掌握Verilog HDL語言的基
    發(fā)表于 02-11 08:35 ?140次下載

    Verilog HDL語言簡介

    Verilog HDL語言簡介 1.什么是Verilog HDLVerilog HDL是硬件描述語言的一種,用于數(shù)
    發(fā)表于 02-09 08:59 ?3866次閱讀

    Verilog HDL入門教程

    本文主要介紹了Verilog HDL 語言的一些基本知識,目的是使初學(xué)者能夠迅速掌握HDL設(shè)計(jì)方法,初步了解并掌握Verilog HDL語言的基本要素,能夠讀懂簡單的設(shè)計(jì)代碼并能夠進(jìn)行一些簡單設(shè)計(jì)的Verilog
    發(fā)表于 07-15 15:27 ?0次下載

    Verilog HDL入門教程之Verilog HDL數(shù)字系統(tǒng)設(shè)計(jì)教程

    本文檔的主要內(nèi)容詳細(xì)介紹的是Verilog HDL入門教程之Verilog HDL數(shù)字系統(tǒng)設(shè)計(jì)教程。
    發(fā)表于 09-20 15:51 ?83次下載
    Verilog <b class='flag-5'>HDL</b>入門教程之Verilog <b class='flag-5'>HDL</b>數(shù)字系統(tǒng)設(shè)計(jì)教程

    Verilog HDL入門教程

    本文主要介紹了Verilog HDL 語言的一些基本知識,目的是使初學(xué)者能夠迅速掌握HDL 設(shè)計(jì)方法,初步了解并掌握Verilog HDL語言的基本要素,能夠讀懂簡單的設(shè)計(jì)代碼并能夠進(jìn)行一些簡單設(shè)計(jì)的Verilog
    發(fā)表于 02-11 08:00 ?98次下載
    Verilog <b class='flag-5'>HDL</b>入門教程

    詳細(xì)介紹基于HDL的FPGA開發(fā)流程

    原理圖和HDL(Hardware description language,硬件描述語言)是兩種最常用的數(shù)字硬件電路描述方法,其中HDL設(shè)計(jì)法具有更好的可移植性、通用性和模塊劃分與重用性的特點(diǎn)。
    發(fā)表于 01-20 09:35 ?2974次閱讀
    詳細(xì)介紹基于<b class='flag-5'>HDL</b>的FPGA開發(fā)流程

    HDL是什么_HDL語言的特點(diǎn)

    HDL是一種硬件描述語言,以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言,用它可以表示邏輯電路圖、邏輯表達(dá)式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。 Verilog HDL和VHDL是世界上最流行
    發(fā)表于 08-26 09:14 ?6.2w次閱讀

    Verilog HDL語言技術(shù)要點(diǎn)

    HDL語言具有大量成熟的模塊,從某種角度說Verilog HDL更具生命力。 本文整理了一下Verilog HDL語言技術(shù)要點(diǎn),并分享給大家。如發(fā)現(xiàn)有錯(cuò)誤,歡迎留言指正。
    的頭像 發(fā)表于 09-01 11:47 ?4307次閱讀
    Verilog <b class='flag-5'>HDL</b>語言<b class='flag-5'>技術(shù)</b>要點(diǎn)

    Verilog HDL入門教程-Verilog HDL的基本語法

    Verilog HDL入門教程-Verilog HDL的基本語法
    發(fā)表于 01-07 09:23 ?174次下載

    DL/T1221-2013 互感器綜合特性測試儀通用技術(shù)條件

    DL-T1221-2013互感器綜合特性測試儀通用技術(shù)條件musen
    發(fā)表于 10-18 14:05 ?0次下載