在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

簡單總結(jié)一下Verilog在設(shè)計(jì)時(shí)的不方便地方

OpenFPGA ? 來源:OpenFPGA ? 2023-04-27 09:57 ? 次閱讀

Verilog始于20世紀(jì)80年代初,是一家名為Gateway Design Automation的公司的專有硬件描述語言(HDL)。最初的Verilog HDL的主要作者是Phil Moorby。

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

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

a6c73e2a-e455-11ed-ab56-dac502259ad0.png

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

從Verilog發(fā)布到今天,其已經(jīng)經(jīng)歷了四十年的風(fēng)雨,早期的“電路”設(shè)計(jì)Verilog的確很方便,尤其在那個(gè)年代,其也崔進(jìn)了集成電路的發(fā)展。但是“老”不代表方便,尤其高速發(fā)展的今天,集成電路以摩爾定律指數(shù)發(fā)展,FPGA的應(yīng)用場合以越來越復(fù)雜,復(fù)雜的邏輯設(shè)計(jì)讓這個(gè)“老人”有些力不從心,今天我們就簡單總結(jié)一下Verilog在設(shè)計(jì)時(shí)候的不方便地方。

Verilog的“貪婪”

下面是一個(gè)很常見的錯(cuò)誤:

Unabletobindwire/reg/memory`D'in`tb_alu_8bits.U0.$ivl_for_loop0'1err

變量D未聲明

聲明的“貪婪”

需要這么多聲明嗎?

大家在進(jìn)行邏輯設(shè)計(jì)時(shí)候是否對(duì)于變量申明感覺很煩,對(duì)于無休無止的變量聲明和位寬聲明,很容易在設(shè)計(jì)時(shí)候引進(jìn)錯(cuò)誤。

尤其對(duì)于一些綜合器在推斷變量的類型及位寬時(shí)候的錯(cuò)誤很難檢查出來,只有在進(jìn)行仿真及驗(yàn)證的時(shí)候才能發(fā)現(xiàn)問題。

Verilog的“傲慢”

Verilog 是一種弱類型和有限類型的語言,就導(dǎo)致其錯(cuò)誤檢測很弱。

PS:VHDL是強(qiáng)類型語言,SystemVerilog在兼容Verilog部分是弱類型,其他部分基本都是強(qiáng)類型。強(qiáng)類型的好處是在驗(yàn)證過程中盡早發(fā)現(xiàn)設(shè)計(jì)中的錯(cuò)誤。

一些錯(cuò)誤在進(jìn)行設(shè)計(jì)時(shí)候,Verilog并不會(huì)爆出錯(cuò)誤,但是會(huì)導(dǎo)致功能有問題,這種問題很難檢查出來,比如位寬不匹配、跨時(shí)鐘域、鎖存器等問題,這是因?yàn)閂erilog會(huì)自動(dòng)進(jìn)行位寬匹配,只有在進(jìn)行l(wèi)inting時(shí)候會(huì)爆出來警告,綜合時(shí)候基本不會(huì)爆出錯(cuò)誤。

錯(cuò)誤檢測的“傲慢”

傲慢到不讓我進(jìn)行檢測!

Verilog的“色欲”

不知道大家設(shè)計(jì)時(shí)函數(shù)或者任務(wù)用的多不多?

我猜肯定不多,而且很多Verilog入門教材中都是不建議使用函數(shù)或者任務(wù),主要是因?yàn)閂erilog使用函數(shù)或者任務(wù)有很多限制。

函數(shù)的限制:

函數(shù)不能由時(shí)間控制語句甚至延遲運(yùn)算符組成。

函數(shù)至少有一個(gè)輸入?yún)?shù)聲明。

函數(shù)可以由函數(shù)調(diào)用組成,但函數(shù)不能由任務(wù)組成。

函數(shù)在零模擬時(shí)間內(nèi)執(zhí)行,并在調(diào)用時(shí)返回單個(gè)值。

在編寫可綜合 RTL時(shí),不建議使用函數(shù)。

函數(shù)用于編寫行為或可仿真模型。

函數(shù)不應(yīng)具有非阻塞賦值。

任務(wù)的限制:

任務(wù)可以由時(shí)間控制語句甚至延遲操作符組成。

任務(wù)可以有輸入和輸出聲明。

任務(wù)可以由函數(shù)調(diào)用組成,但函數(shù)不能由任務(wù)組成。

任務(wù)可以有輸出參數(shù),在調(diào)用時(shí)不用于返回值。

任務(wù)可用于調(diào)用其他任務(wù)。

在編寫可綜合RTL時(shí),不建議使用任務(wù)。

任務(wù)用于編寫行為或可仿真模型。

以上的種種限制,你確定你設(shè)計(jì)的函數(shù)或者任務(wù)能簡化你的設(shè)計(jì)嗎?

函數(shù)、任務(wù)的“色欲”

愛我卻不讓我廣泛使用你~

a76ab17c-e455-11ed-ab56-dac502259ad0.png

上例是從給定字符串中計(jì)算1個(gè)數(shù)的設(shè)計(jì)。在本例中,函數(shù)與參數(shù)“data_in”一起使用。函數(shù)名為“count_1s_in_byte”。在大多數(shù)協(xié)議描述中,需要對(duì)輸入字符串執(zhí)行一些操作。在此示例中,字符串為8位輸入“data_in”,輸出結(jié)果為4位“out”。不建議使用該函數(shù)進(jìn)行綜合。

Verilog的“懶惰”

當(dāng)你設(shè)計(jì)了一個(gè)功能module,下一個(gè)文件想引用時(shí)候就需要例化,當(dāng)你的設(shè)計(jì)比較復(fù)雜時(shí)候(有幾十個(gè)module)你就會(huì)發(fā)現(xiàn)Verilog的例化極其不方便,需要手動(dòng)例化,不僅浪費(fèi)時(shí)間而且很容易出錯(cuò)(對(duì)于初學(xué)者這種錯(cuò)誤很常見)。

例化的“懶惰”

例化能不能不這么懶!

Verilog的“嫉妒”

Verilog不像VHDL有豐富的包文件,同時(shí)也沒有像一些高級(jí)語言庫文件(不奢求)。同時(shí)自己的參數(shù)化也不是很方便(宏做參數(shù)化時(shí)候,幾十個(gè)變量情況怎么辦?)。

現(xiàn)在我需要做一個(gè)乘法器,我需要花費(fèi)很長時(shí)間去了解乘法器的結(jié)構(gòu),然后去設(shè)計(jì)和優(yōu)化,如果有一個(gè)math包那是不是會(huì)大大減少設(shè)計(jì)時(shí)間呢?

庫、包的“嫉妒”

Verilog很嫉妒別的語言豐富的庫、包文件(Python:你直接念我身份證)。

Verilog的“暴食”

對(duì)于復(fù)雜設(shè)計(jì),Verilog設(shè)計(jì)基本都是以“年、月”進(jìn)行計(jì)時(shí)的,對(duì)于時(shí)間簡直就是惡魔。

調(diào)試的時(shí)候更是麻煩,增減一個(gè)信號(hào)或者改動(dòng)一個(gè)小小邏輯都需要重新綜合(調(diào)整時(shí)序時(shí)候需要插入寄存器的時(shí)候,想想都恐怖~)。

時(shí)間的“暴食”

大型設(shè)計(jì)以月為時(shí)間進(jìn)行計(jì)時(shí),調(diào)試時(shí)候更是“摸魚”黨的福利~

Verilog的“暴怒”

由于上面的各種缺陷,導(dǎo)致一些老工程師在編寫Verilog時(shí)候?yàn)榱吮WC綜合性及正確性會(huì)將設(shè)計(jì)的“邏輯性”很強(qiáng),如果沒有好的注釋,就會(huì)導(dǎo)致其他人在讀代碼時(shí)候可讀性比較差(SV在這方面改進(jìn)了很多,使代碼的自讀性加強(qiáng))。

注釋的“暴怒”

沒有注釋看得你“抓狂”。

總結(jié)

上面的觀點(diǎn)比較偏激,都是拿著Verilog的缺點(diǎn)對(duì)比其他語言的優(yōu)點(diǎn),大家看看笑笑就好了,千萬別較真,任何語言都有自己局限性,如果有那么優(yōu)秀的編程語言,目前就不會(huì)出現(xiàn)幾十上百種設(shè)計(jì)語言了。





審核編輯:劉清

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

    關(guān)注

    1643

    文章

    21968

    瀏覽量

    614296
  • VHDL語言
    +關(guān)注

    關(guān)注

    1

    文章

    113

    瀏覽量

    18528
  • 鎖存器
    +關(guān)注

    關(guān)注

    8

    文章

    922

    瀏覽量

    42132
  • Verilog語言
    +關(guān)注

    關(guān)注

    0

    文章

    113

    瀏覽量

    8487

原文標(biāo)題:Verilog“七宗罪”

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    verilog中調(diào)用VHDL模塊

    郁悶了,表示只看過VHDL語法但沒寫過。暫且不說VHDL模塊的內(nèi)容,我應(yīng)該如何在測試平臺(tái)中例化它并對(duì)它進(jìn)行測試呢?稍微查了一下,其實(shí)很簡單,只要把VHDL中的組件名、端口統(tǒng)統(tǒng)拿出來,按照verilog
    發(fā)表于 07-09 01:14

    請(qǐng)問優(yōu)化后代碼調(diào)試不方便怎么辦?

    各位專家好! 請(qǐng)問調(diào)試過程中,開啟優(yōu)化后得代碼,調(diào)試很不方便,比如斷點(diǎn)加不上,但是不優(yōu)化執(zhí)行速度跟不上,對(duì)于這個(gè)問題,有沒有什么好的辦法?謝謝!
    發(fā)表于 07-31 10:02

    基于liteos-a,能方便地開發(fā)GUI程序嗎?

    現(xiàn)在我們知道鴻蒙內(nèi)核是liteos-a,那么基于liteos-a,能方便地開發(fā)GUI程序嗎?
    發(fā)表于 09-30 10:03

    簡單分享一下Arduino程序編寫

    )中編寫程序代碼,然后我們將程序傳到Arduino電路板上,我們自己寫的程序會(huì)告訴電路板我們想要做的事情,因此,被許多電子愛好者(dalao)所喜愛。最近簡單了解了一下Arduino程序編寫,簡單分享
    發(fā)表于 01-07 08:14

    總結(jié)一下串口的幾種使用方法

    文章目錄.僅向上位機(jī)打印調(diào)試信息二.與上位機(jī)交互信息三.作為驅(qū)動(dòng)接口日常學(xué)習(xí)中,串口經(jīng)常作為和上位機(jī)通信的接口,進(jìn)行打印信息方便調(diào)試程序,有時(shí)也會(huì)作為模塊的驅(qū)動(dòng)接口,所以總結(jié)
    發(fā)表于 02-10 08:03

    總結(jié)一下STM32串口的用法

    STM32CubeMX_定時(shí)器中斷_PWM前兩節(jié)簡單總結(jié)了GPIO, EXTI, TIMER的相關(guān)用法, 本節(jié)總結(jié)一下STM32串口的用法, 依然是原理性的東西不多講, 直接開干.先
    發(fā)表于 02-10 06:17

    簡單總結(jié)一下電容和二極管應(yīng)用場景和選型方式

    電容和二極管是電路中最常用的兩個(gè)電子元器件,種類和系列眾多,這里簡單總結(jié)一下應(yīng)用場景和選型方式電容(Capacitor)電容的種類(20種以上)和應(yīng)用非常廣泛,但是我經(jīng)常遇到的無非就是下面這幾
    發(fā)表于 02-11 06:22

    簡單介紹一下數(shù)模混合信號(hào)建模語言Verilog-AMS

    -Verilog-AMS,今天就簡單介紹一下-Verilog-AMS?! 榱吮阌谖锢硐到y(tǒng)的建模,人們
    發(fā)表于 10-14 14:48

    基于verilog的FPGA編程經(jīng)驗(yàn)總結(jié)

    用了半個(gè)多月的ISE,幾乎全是自學(xué)起來的,碰到了很多很多讓人DT好久的小問題,百度也百不到,后來還是都解決了,為了盡量方便以后的剛學(xué)ISE的童鞋不再因?yàn)?b class='flag-5'>一些小問題而糾結(jié),把這幾天的經(jīng)驗(yàn)總結(jié)
    發(fā)表于 02-11 11:22 ?1584次閱讀
    基于<b class='flag-5'>verilog</b>的FPGA編程經(jīng)驗(yàn)<b class='flag-5'>總結(jié)</b>

    簡單介紹一下-Verilog-AMS的基礎(chǔ)知識(shí)

    -Verilog-AMS,今天就簡單介紹一下-Verilog-AMS。 為了便于物理系統(tǒng)的建模,人們V
    的頭像 發(fā)表于 10-21 14:50 ?1w次閱讀
    <b class='flag-5'>簡單</b>介紹<b class='flag-5'>一下</b>-<b class='flag-5'>Verilog</b>-AMS的基礎(chǔ)知識(shí)

    Verilog設(shè)計(jì)時(shí)候的不方便地方

    摩爾定律指數(shù)發(fā)展,F(xiàn)PGA的應(yīng)用場合以越來越復(fù)雜,復(fù)雜的邏輯設(shè)計(jì)讓這個(gè)“老人”有些力不從心,今天我們就簡單總結(jié)一下Verilog設(shè)
    發(fā)表于 08-02 10:08 ?1090次閱讀

    總結(jié)一下OpenCV遍歷圖像的幾種方法

    圖形處理中,遍歷每個(gè)像素點(diǎn)是最基本的功能,是做算法的基礎(chǔ),這篇文章來總結(jié)一下OpenCV遍歷圖像的幾種方法。
    的頭像 發(fā)表于 01-18 15:08 ?1934次閱讀

    簡單一下多點(diǎn)觸控協(xié)議

    前面簡單聊了一下多點(diǎn)觸控協(xié)議,接下來找個(gè)驅(qū)動(dòng)來看看具體實(shí)現(xiàn)。目前市面上多點(diǎn)觸控芯片用得比較多的主要是匯頂和敦泰。
    的頭像 發(fā)表于 04-17 09:20 ?2919次閱讀

    簡單介紹一下什么是微波通訊?

    歡迎來到東用知識(shí)小課堂,今天東東就為大家簡單介紹一下什么是微波通訊?我們通常說有三大傳輸系統(tǒng):光纖通信、微波通信、衛(wèi)星通信。實(shí)際上,衛(wèi)星通信也是微波通信的種。通俗的講電磁波通信,主要分為廣播方式
    的頭像 發(fā)表于 03-05 11:33 ?2653次閱讀
    <b class='flag-5'>簡單</b>介紹<b class='flag-5'>一下</b>什么是微波通訊?

    總結(jié)一下LM317的幾種經(jīng)典應(yīng)用電路

    說起LM317,我們做硬件的都很熟悉了,它是LDO的種,并且輸出電壓很容易通過外部電阻進(jìn)行調(diào)整,今天總結(jié)一下LM317的幾種經(jīng)典應(yīng)用電路。
    的頭像 發(fā)表于 05-01 10:07 ?8564次閱讀
    <b class='flag-5'>總結(jié)</b><b class='flag-5'>一下</b>LM317的幾種經(jīng)典應(yīng)用電路
    主站蜘蛛池模板: 欧美精品久久天天躁 | 日本一区二区三区欧美在线观看 | 国产精品免费久久 | 欧美专区在线播放 | 国产特黄一级一片免费 | 久久奈 | 伊人成伊人成综合网2222 | 国产美女在线观看 | 狂野欧美性色xo影院 | 亚洲成综合人影院在院播放 | 性欧美zoz0另类xxxx | 夜夜澡人人爽人人喊_欧美 夜夜综合网 | 日韩三级中文 | 免费人成黄页在线观看1024 | 狠狠gao| 国产精品综合色区在线观看 | 夜夜天天| 男女刺激性视频大片 | 色之综综| 夜夜春色 | 亚洲成a人片在线观看导航 亚洲成a人片在线观看尤物 | 黄 色 录像成 人播放免费 | 玖玖在线免费视频 | 最近2018中文字幕2019高清 | 亚洲爱爱网 | 天天色天天碰 | 四虎影院国产精品 | 爽好舒服老师快点 | 182.t v香蕉人人网站 | 中国美女一级黄色片 | 奇米影视第四色7777 | 一级做受毛片免费大片 | 天天摸天天干天天操 | 欧美精品videofree720p | 美女禁处 | 国产精品激情综合久久 | 男女交黄| 国产一区美女 | 婷婷啪啪 | 国产成人一区二区在线不卡 | 欧美h网 |