日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

谈VHDL/Verilog的可综合性以及对初学者的一些建议

發布時間:2024/9/21 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 谈VHDL/Verilog的可综合性以及对初学者的一些建议 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、HDL不是硬件設計語言 過去筆者曾碰到過不少VHDL或Verilog HDL的初學者問一些相似的問

題,諸如如何實現除法、開根號,如何寫循環語句等等。
在這個論壇上,也時常能看到一些網友提出這一類的問題。 對于這些問題,首先要明確的是

VHDL和Veriglog并非是針對硬件設計而開發的語言,只不過目前被我們用來設計硬件。
HDL是Hardware Description Language的縮寫,正式中文名稱是“硬件描述語言”。也就是說,

HDL并不是“硬件設計語言(Hardware Design Language)”。別看只差這一個單詞,正是這一個

單詞才決定了絕大部分電路設計必須遵循RTL的模式來編寫代碼,而不能隨心所欲得寫僅僅符合

語法的HDL代碼。
?二、HDL的來歷 之所以是“硬件描述語言”,要從HDL的來歷說起。 VHDL于1980年開始在美國

國防部的指導下開發,完成于1983年,并于1987年成為IEEE的標準。當初開發這種語言,是出于

美國國防部采購電子設備的需要。美軍的裝備采購自私人企業,時常要面對這樣一種風險:如果

某種武器大量裝備部隊,而其中某個零件的供應商卻在幾年后倒閉了,那這種武器的再生產、維

修和保養都會出現大問題。而電子設備、尤其是集成電路的內部結構較為復雜,若出現前面所說

的情況要找其他公司生產代用品非常困難。于是美國防部希望供應商能以某種形式留下其產品的

信息,以保證一旦其破產后能由其他廠商迅速生產出代用品。 顯然,當初的設計文檔顯然是不

能交出來的,這在美國會涉及商業機密和知識產權問題。于是美國防部就想出了一種折衷的方法

——描述硬件的語言,也就是VHDL。通過VHDL,供應商要把自己生產的集成電路芯片的行為描述

出來:比如說,加了什么樣的信號后過多少時間它能輸出什么等等。這樣,如果有必要讓其他廠

商生產代用品,他們只需照著VHDL文檔,設計出行為與其相同的芯片即可。這樣的代用品相當于

是新廠商在不了解原產品結構的情況下獨立設計的,所以不太會涉及知識侵權。 Verilog HDL也

形成于差不多的年代,是由Gateway Design Automation公司大約在1983年左右開發的。其架構

同VHDL相似,但主要被用來進行硬件仿真。或許私人公司更注重實用,Verilog要比VHDL簡潔得

多。
?由此可見,這兩種最流行的用于電路設計的語言,沒有一種是為了設計硬件而開發的(更何況80

年代還沒有現在的那些功能強大的EDA軟件呢)。因此,當初制訂HDL語言標準的時候,并沒有考

慮這些代碼如何用硬件來實現。換句話說,有些代碼寫起來簡單,實現起來卻可能非常復雜,或

者幾乎不可能實現。
?三、HDL代碼的可綜合性 現在回到最初的問題上。為什么諸如除法、循環之類的HDL代碼總是會

出錯? 由上一部分可知,任何符合HDL語法標準的代碼都是對硬件行為的一種描述,但不一定是

可直接對應成電路的設計信息。行為描述可以基于不同的層次,如系統級,算法級,寄存器傳輸

級(RTL)、門級等等。以目前大部分EDA軟件的綜合能力來說,只有RTL或更低層次的行為描述才

能保證是可綜合的。而眾多初學者試圖做的,卻是想讓軟件去綜合算法級或者更加抽象的硬件行

為描述。 比如說,要想實現兩個變量相除的運算,若在代碼中寫下C=A/B,你將會發現只有一些

模擬軟件在前仿真中能正確執行這句代碼,但幾乎任何軟件都不能將其綜合成硬件。不要怪軟件

太笨。試想一下,如果我們自己筆算除法是怎么做的?從高位到低位逐次試除、求余、移位。試

除和求余需要減法器,商數和余數的中間結果必須有寄存器存儲;而此運算顯然不能在一個時鐘

周期里完成,還需要一個狀態機來控制時序。一句簡單的C=A/B同所有這些相比顯得太抽象,對

于只能接受RTL或更低層次描述的EDA軟件來說確實太難實現
。而如果代碼是類似于(Verilog) always @(posedge clk) c<=A/B; 這樣的,要求除法在一個時

鐘延上完成,那更是不可能實現的。(注:有些FPGA的配套軟件提供乘除法的運算模塊,但也只

能支持直接調用,不支持把形如C=A/B的語句綜合成除法模塊。) 又比如,一個很多初學者常見

的問題是試圖讓HDL進行循環運算,形同(Verilog): for (i=0; iparity = parity xor data

[i]; 一些功能比較簡單的綜合軟件會完全拒絕綜合循環語句;而一些功能較強的軟件僅當

wordlength是常數的時候能綜合;當wordlength為變量時,任何軟件都不能綜合上面的語句。這

是因為硬件規模必須是有限的、固定的。
當綜合軟件遇到循環語句時,總是將其展開成若干條順序執行的語句,然后再綜合成電路。若

wordlength是常數,則展開的語句數是確定的,具有可綜合性;而若它是變量時,展開的語句數

不確定,對應的硬件電路數量也不能確定,無法被綜合。或許有人說用計數器就能實現變量循環

,但這情形又和上面的除法運算相同。那需要額外的硬件,用來存儲中間結果和進行時序控制,

象上面那樣的循環語句對此描述得太抽象,軟件接受不了。
四、如何判斷自己寫的代碼是可綜合的? 用一句簡單的話概括:電腦永遠沒有你聰明。具體來

說,通常EDA軟件對HDL代碼的綜合能力總是比人差。對于一段代碼,如果你不能想象出一個較直

觀的硬件實現方法,那EDA軟件肯定也不行。比如說,加法器、多路選擇器是大家都很熟悉的電

路,所以類似A+B-C,(A>B)?C:D這樣的運算一定可以綜合。
**************************
而除法、開根、對數等等較復雜的運算,必須通過一定的算法實現,沒有直觀簡單的實現方法,

則可以判斷那些計算式是不能綜合的,必須按它們的算法寫出更具體的代碼才能實現。
***************************
此外,硬件無法支持的行為描述,當然也不能被綜合(比如想在FPGA上實現DDR內存那樣的雙延觸

發邏輯,代碼很容易寫,但卻不能實現)。 不過,這樣的判斷標準非常主觀模糊,遇到具體情況

還得按設計人員自己的經驗來判斷。如果要一個相對客觀的標準,一般來說:在RTL級的描述中

,所有邏輯運算和加減法運算、以及他們的有限次組合,基本上是可綜合的,否則就有無法綜合

的可能性。當然,這樣的標準仍然有缺陷,更況且EDA的技術也在不斷發展,過去無法綜合的代

碼或許將來行,某些軟件不支持的代碼換個軟件或許行。比如固定次數的循環,含一個常數參數

的乘法運算等等,有些EDA軟件支持對它們的綜合,而有些軟件不行。 所以,正確的判斷仍然要

靠實踐來積累經驗。
當你可以較準確判斷代碼的可綜合性的時候,你對HDL的掌握就算完全入門了。
作者:董培良 電機和電子工程系博士生 英國University of Nottingham

總結

以上是生活随笔為你收集整理的谈VHDL/Verilog的可综合性以及对初学者的一些建议的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产白浆视频 | 国产精品自拍电影 | 奇米超碰在线 | 可以免费看的av网站 | 五月天色婷婷丁香 | 91视频免费在线 | 国产aⅴ精品一区二区果冻 台湾性生生活1 | 久久久精品视 | 手机在线一区二区 | 欧美精品亚洲一区 | 欧美精品久久久久性色 | 天堂资源中文在线 | 在线免费一区二区 | 亚洲人人插| 鬼灭之刃柱训练篇在线观看 | 插插插操操操 | 免费观看黄色网 | 日韩国产免费 | 亚洲香蕉av| 亚洲一区日韩精品 | 国产精品一区二区三区久久久 | 亚洲系列中文字幕 | 中文久久久 | 国产欧美精品一区二区色综合朱莉 | 成色视频 | 伊人影院综合在线 | 神马午夜视频 | 豆花在线观看 | 日本做爰高潮又黄又爽 | 秋霞影院午夜伦 | 国产一区二区影院 | 久久久久久久久久久99 | 健身教练巨大粗爽gay视频 | 亚洲欧美影院 | 国产精品视频无码 | 成年人黄国产 | 老司机精品在线 | 91亚洲精品国偷拍自产在线观看 | 51国产偷自视频区视频 | 精品婷婷| 日韩av一区在线观看 | 日韩亚州 | 四虎av网址| √资源天堂中文在线 | 欧美第一页草草影院 | 久久国产情侣 | 国产成人在线观看免费 | 久久女人天堂 | 熟女毛片 | 精品国产乱码久久久久久久 | 欧美色视频在线 | 邻居校草天天肉我h1v1 | 69毛片| 亚洲国产精品区 | 亚洲国产欧美精品 | 永久免费无码av网站在线观看 | 星空大象在线观看免费播放 | 西西人体www大胆高清 | 成人免费高清在线播放 | 色欲久久久天天天综合网 | 欧美一区国产一区 | 久久久久久久国产精品毛片 | 国产成人久久777777 | 韩国黄色视屏 | 免费国偷自产拍精品视频 | chinesepron hd videos国产91 | 麻豆69 | 欧美在线观看a | 天天av天天| 天天久久综合网 | 国产999精品| 蜜臀99久久精品久久久久久软件 | 丝袜 亚洲 另类 欧美 重口 | 在线免费观看福利 | 亚洲精品理论片 | 欧美激情在线 | 国产亚洲精品久久久久久青梅 | 久久久无码18禁高潮喷水 | 森泽佳奈作品在线观看 | 黄色777 | 亚洲一区中文字幕在线 | 婷婷国产视频 | 日韩一级完整毛片 | 日韩字幕在线 | 在线观看你懂得 | 骚虎tv| 国产一级影片 | 亚洲欧美日韩国产成人精品影院 | 韩国av一区二区 | 国产久草av| 97在线观看免费视频 | 日本xxxx18高清hd | 美女视频在线观看免费 | 亚洲无av在线中文字幕 | 成人动漫免费在线观看 | 中文字幕无码日韩专区免费 | 色乱码一区二区三区网站 | 国产一区二区三区在线 | 97人人模人人爽人人少妇 |