Verilog HDL語(yǔ)言在FPGA/CPLD開(kāi)發(fā)中的應用
由上述這個(gè)程序可以看出:Verilog HDL程序是由模塊構成的。每個(gè)模塊的內容都是嵌在module和endmodule兩個(gè)語(yǔ)句之間實(shí)現特定的功能的。每個(gè)模塊都由兩部分組成,一部分描述接口;另一部分描述邏輯功能,即定義輸入是如何影響輸出的。如程序中的sequdet(x,z,clk,rst)就是模塊的端口,聲明了模塊的輸入、輸出口。接下來(lái)就是模塊中最重要的部分邏輯功能的定義。在模塊中產(chǎn)生邏輯,Verilog HDL語(yǔ)言有3種方法:
(1)用“assign”聲明語(yǔ)句。這種方法很簡(jiǎn)單,只需寫(xiě)一個(gè)“assign”,后面再加一個(gè)方程式即可。這也是最常用的方法之一。如程序中的assign z==(state==D x==1)?1:0;就表示狀態(tài)為D時(shí)又收到了1,表明收到“01101”應使Z輸出為高電平。
(2)用“always”塊。它常被用來(lái)描述時(shí)序邏輯,上面的程序中即用這個(gè)模塊完成了狀態(tài)機的狀態(tài)轉化功能。
(3)采用實(shí)例元件的方法。這時(shí)只要鍵入元件的名字和相連的引腳即可。這樣就可以用上面這不長(cháng)的程序,完成這個(gè)對序列的檢測功能,并且邏輯描述也十分容易理解。
上述程序輸入完成后,接下來(lái)首先要經(jīng)EDA設計軟件進(jìn)行編譯。本設計采用的是美國ALTERA公司的MAX+PLUSII軟件,經(jīng)Compiler編譯器編譯,沒(méi)有任何問(wèn)題后。建網(wǎng)表、邏輯綜合、適配、劃分、時(shí)域分析、裝配等均已自動(dòng)完成,并生成多個(gè)后續工作要用的文件。編譯成功表明已為所設計的項目建立了一個(gè)編程文件,但還不能說(shuō)明該文件在各種情況下都有正確的響應,因此編譯通過(guò)后還要進(jìn)行功能和時(shí)序仿真,仿真結果如圖2所示。


經(jīng)仿真發(fā)現輸出Z和輸入X有一段延時(shí)。通過(guò)波形很難給出定量的信號延時(shí)關(guān)系,為此我們在進(jìn)行定時(shí)分析。定時(shí)分析結果如圖3所示,從表中顯示出了“CLK”到“Z”的延遲路徑為7.6ns、“X”到“Z”的延遲路徑為6ns。這樣,經(jīng)Verilog HDL語(yǔ)言的文本編輯、編譯、仿真波形編輯、仿真和定時(shí)分析一系列設計步驟,設計出符合要求的數字系統后就可以通過(guò)編程器下載到指定的芯片中去。
綜上所述,則更能體會(huì )到Verilog HDL語(yǔ)言的優(yōu)勢:由于它在其門(mén)級描述的底層,也就是晶體管開(kāi)關(guān)的描述方面比VHDL等各種其它的HDL語(yǔ)言有更強的功能。所以在復雜數字邏輯電路和系統的設計仿真時(shí)更有優(yōu)勢;描述的設計思想、電路結構和邏輯關(guān)系清晰明了,并且設計語(yǔ)言簡(jiǎn)練、易學(xué)易用;其模塊化分層結構在大規模設計時(shí)更能體現出優(yōu)勢。因此可以看出,Verilog HDL語(yǔ)言在EDA設計中相對與其他的各種硬件描述語(yǔ)言更有優(yōu)勢。
3 結束語(yǔ)
隨著(zhù)集成電路規模的越來(lái)越大,數字系統設計的越來(lái)越復雜,Verilog HDL語(yǔ)言在硬件電路設計的優(yōu)越性也會(huì )越來(lái)越顯突出。目前,數百萬(wàn)門(mén)規模的FPGA/CPLD已進(jìn)入實(shí)用,Verilog HDL強大的系統描述能力、規范的設計結構和簡(jiǎn)潔、靈活的編程風(fēng)格會(huì )使其必將能會(huì )用來(lái)完成大數字系統、超大規模數字系統的幾乎全部設計任務(wù)。
評論