vhdl轉(zhuǎn)換為verilog
今天給大家分享一個VHDL和Verilog的工具。
很多新手初次學(xué)習(xí)FPGA都曾遇到過一個問題:是學(xué)Verilog OR VHDL?
很多初學(xué)者最終選擇了Verilog,因為:
VHDL比較嚴(yán)謹(jǐn),入門難;Verilog比較自由,容易快速掌握;
用Verilog的越來越多,VHDL越來越少,我感覺這絕對是一個趨勢。國內(nèi)的許多IC設(shè)計公司,Verilog也已經(jīng)成為了主流設(shè)計語言。
Verilog代碼運行速度快,simulation performance 好,所以netlist都用verilog,VHDL package 比較好,但寫得費事。
IP供應(yīng)商的IP核大多使用Verilog HDL,可找到的成熟Verilog設(shè)計比較多。
然而當(dāng)前的現(xiàn)狀卻是:
并不是所有能找到的設(shè)計都是使用Verilog的,總有一些多年前的代碼、IP核使用VHDL設(shè)計,但目前還在使用。
現(xiàn)在好多FPGA設(shè)計軟件和仿真軟件都支持混合設(shè)計,也就是說你的設(shè)計中可以有的模塊使用Verilog設(shè)計,有的模塊使用VHDL設(shè)計
其實VHDL與Verilog的語法是很固定且很簡單的,對于編程有經(jīng)驗的人來說并不會糾結(jié)選Verilog和VHDL,兩種語言完全是相通的,如果放開點說完全是一模一樣的,換湯不換藥。所以肯定可以將Verilog和VHDL語法之間相互轉(zhuǎn)換。
可如果你只會Verilog,但是你拿到的設(shè)計是VHDL怎么辦,不要擔(dān)心,現(xiàn)在我教大家如何進行將Verilog和VHDL相互轉(zhuǎn)換。
以下面一段VHDL代碼為例,將其轉(zhuǎn)換成Verilog,

我們使用下面的小工具將VHDL轉(zhuǎn)換成Verilog

第一步:選擇轉(zhuǎn)換模式,可以VHDL-》Verilog,也可以Verilog轉(zhuǎn)VHDL
第二步:選擇要轉(zhuǎn)換的VHDL文件,和轉(zhuǎn)換后生成Verilog文件的路徑
第三步:點擊轉(zhuǎn)換按鈕,幾秒鐘就可以轉(zhuǎn)換好。
下面是轉(zhuǎn)換后的效果:

轉(zhuǎn)換出來的格式是不是很漂亮,看著很舒服呢!即使復(fù)雜的狀態(tài)機也能轉(zhuǎn)換的明明白白!
VHDL和Verilog誰更勝一籌
這兩種語言都是用于數(shù)字電子系統(tǒng)設(shè)計的硬件描述語言,首先要明確的是VHDL、Verilog并非是針對硬件設(shè)計而開發(fā)的語言,只不過目前被我們用來設(shè)計硬件。HDL是Hardware Description Language的縮寫,中文名稱是“硬件描述語言”。也就是說HDL并不是“硬件設(shè)計語言(Hardware Design Language)”。別看只差這一個單詞,正是這一個單詞才決定了絕大部分電路設(shè)計必須遵循RTL的模式來編寫代碼,而不能隨心所欲得寫僅僅符合語法的HDL代碼。這兩種語言都已經(jīng)是 IEEE 的標(biāo)準(zhǔn)。那么VHDL VS Verilog哪個更勝一籌呢?
共同點:
現(xiàn)在我們來看看這兩者有哪些共同的特點:
1. 能形式化地抽象表示電路的行為和結(jié)構(gòu);
2. 支持邏輯設(shè)計中層次與范圍地描述;
3. 可借用高級語言地精巧結(jié)構(gòu)來簡化電路行為和結(jié)構(gòu);具有電路仿真與驗證機制以保證設(shè)計的正確性;
4. 支持電路描述由高層到低層的綜合轉(zhuǎn)換;
5. 硬件描述和實現(xiàn)工藝無關(guān);
6. 便于文檔管理;
7. 易于理解和設(shè)計重用
區(qū)別:
兩者各有各的特點。 Verilog HDL 推出已經(jīng)有 20 年了,擁有廣泛的設(shè)計群體,成熟的資源也比 VHDL 豐富。 Verilog 更大的一個優(yōu)勢是:它非常容易掌握,是類C語言,只要有 C 語言的編程基礎(chǔ),可以通過比較短的時間掌握這種設(shè)計技術(shù)。而 VHDL 設(shè)計相對來說要難一點,是類ADA語言,這個是因為 VHDL 不是很直觀,需要有 Ada 編程基礎(chǔ),一般認(rèn)為至少要半年以上的專業(yè)培訓(xùn)才能掌握。
目前版本的 Verilog HDL 和 VHDL 在行為級抽象建模的覆蓋面范圍方面有所不同。一般認(rèn)為 Verilog 在系統(tǒng)級抽象方面要比 VHDL 略差一些,而在門級開關(guān)電路描述方面要強的多。
Verilog code 運行速度快,仿真表現(xiàn)好,所以網(wǎng)表都用Verilog。VHDL語言比較嚴(yán)謹(jǐn),某些語法錯誤在語法分析階段就可以被發(fā)現(xiàn),而Verilog和C類似語言風(fēng)格比較自由。Verilog適合算法級,RTL,邏輯級,門級,而VHDL適合特大型的系統(tǒng)級設(shè)計。Verilog更加靈活效率更高。能用較少的代碼實現(xiàn)相同的功能。而且擁有VHDL沒有的系統(tǒng)函數(shù)。VHDL抽象層次較verilog略高,具有一些verilog沒有的功能比如可以定義模塊端口為多維數(shù)組類型、可以不指定狀態(tài)機的具體編碼方式等。
總結(jié)
那么對數(shù)字邏輯設(shè)計中究竟用哪一種硬件描述語言?目前在美國,高層次數(shù)字系統(tǒng)設(shè)計領(lǐng)域中,應(yīng)用 Verilog 和 VHDL 的比率是 80 %和 20 %;日本和臺灣和美國差不多;而在歐洲 VHDL 發(fā)展的比較好。在中國很多集成電路設(shè)計公司都采用 Verilog。
VHDL是美國軍方組織開發(fā)的,1987年成為標(biāo)準(zhǔn),而 Verilog 是 1995 年才成為標(biāo)準(zhǔn)的。Verilog 是一個公司的私有財產(chǎn)轉(zhuǎn)化而來的。為什么 Verilog 能成為 IEEE 標(biāo)準(zhǔn)呢?
筆者認(rèn)為一定有它獨特的優(yōu)越性, Verilog 擁有更強的生命力。而且容易入門,接受Verilog HDL代碼做后端芯片的集成電路廠家比較多。如果著重于集成電路的設(shè)計,建議學(xué)習(xí)Verilog HDL語言。VHDL強調(diào)組合邏輯的綜合,在各個高校用的比較多。
電子發(fā)燒友App



















評論