范成澳
(南京大學(xué)金陵學(xué)院 江蘇 南京 210000)
當(dāng)前,伴隨科學(xué)技術(shù)水平的不斷提升,許多先進(jìn)技術(shù)得以呈現(xiàn)與應(yīng)用,其中,最具代表性的便是計算機(jī)技術(shù)、半導(dǎo)體技術(shù)等;在這些技術(shù)的影響與驅(qū)動下,數(shù)字電路不管是在具體的設(shè)計理念上,還是與之相對應(yīng)的設(shè)計方法上,都已經(jīng)有了比較明顯的改變。需指出的是,從起初的手工形式的設(shè)計方法,到現(xiàn)在的電子設(shè)計自動化(EDA)等,設(shè)計的自動化程度越發(fā)提升。可編程邏輯(PLD)器件與EDA技術(shù)的誕生,使傳統(tǒng)的設(shè)計思路發(fā)生改變,人們能夠借助芯片來獲得各種功能。而伴隨復(fù)雜可編程邏輯器件(CPLD)/現(xiàn)場可編程邏輯門陣列(FPGA)的越發(fā)復(fù)雜,采用硬件描述語言(HDL)對CPLD/FPGA進(jìn)行設(shè)計,已經(jīng)成為了一種趨勢。針對EDA設(shè)計計數(shù)而言,其不僅能為設(shè)計工作提供切實輔助,而且還能依據(jù)現(xiàn)實情況及具體需要,提供各種實用價值高且類型多樣的自動化工具,實現(xiàn)自電子CAD到EDA的成功突破。本文結(jié)合設(shè)計實例(多功能數(shù)字鐘),就HDL在數(shù)字電路中的設(shè)計思路探討如下。
采用形式化方法對數(shù)字系統(tǒng)的硬件電路進(jìn)行描述,是EDA的核心技術(shù)之一?,F(xiàn)階段,主要有兩種硬件描述語言(IEEE標(biāo)準(zhǔn)),其一為Verilog HDL,其二是VHDL,但對于這兩種比較典型的語言來分析,其均有各自的優(yōu)點?,F(xiàn)階段,許多在行業(yè)內(nèi)具有代表性的EDA供應(yīng)商,把Verilog以及VHDL當(dāng)作EDA軟件完成輸入或者輸出操作的基本標(biāo)準(zhǔn),其中最具代表性的公司有Cadence、Synopsys公司等。但需說明的是,對于Verilog HDL來分析,由于其實為一種比較基礎(chǔ)性的硬件描述語言(其發(fā)展根基為C語言),易學(xué)易用為其最大特點。比如在比較短的時間內(nèi),便能掌握C語言的編程經(jīng)驗[1-2]。
Verilog HDL又被稱作module的模塊構(gòu)成。針對定義模塊來考量,其起始點為關(guān)鍵詞module,止于endmodule,另外,在各條語句之間,都會用分號“;”將其隔開。比如可以用8位寄存器對Verilog HDL語言的機(jī)構(gòu)加以說明,見圖1。
圖1 Verilog HDL語言的機(jī)構(gòu)
從中得知,一個完整的模塊由五個部分組成,分別為描述體部、模塊定義行、數(shù)據(jù)類型說明、端口類型說明與結(jié)束行。
能夠根據(jù)現(xiàn)實情況及相關(guān)需要,將相關(guān)數(shù)字顯示出來,比如“秒”、“分”及“時”等,此外,其還有其它功能,比如能做到正點報時以及準(zhǔn)確校時等。(1)計時功能。所采取的進(jìn)制方式比較常規(guī)。(2)校時功能。通常情況下,會借助手動方式來對時、分、秒等內(nèi)容進(jìn)行調(diào)節(jié),借此實現(xiàn)校時工作的快速化完成。(3)整點報時。針對數(shù)字鐘而言,如果其中正好是準(zhǔn)點,此時,可以及時且準(zhǔn)確保濕,并有四短一長的報時音(即“嘀嘀嘀嘀-嘟”)。
采用HDL語言展開硬件描述,并選用EDA開發(fā)工具(由Altera公司所開發(fā))MAX+ PLUSⅡ;圍繞CPLD/FPGA,對其實施開發(fā)的基本流程為:首先需要輸入文本→進(jìn)行有目的性的設(shè)計處理→進(jìn)行全面的模擬仿真→最后進(jìn)行編程下載[3]。借助HDL語言,將一個數(shù)字系統(tǒng)整個設(shè)計工作予以完成,在實際操作當(dāng)中,市場會把此系統(tǒng)當(dāng)作是一組完成模塊來予以描述與分析。因數(shù)字鐘有著并不復(fù)雜的功能,因此,單用一個模塊便可滿足現(xiàn)實需要。(2)設(shè)計處理。運用編譯器(MAX+ PLUSⅡ軟件),完成整個項目的全部設(shè)計工作,比持續(xù)優(yōu)化、編譯、適配等。但在實際工作當(dāng)中,從設(shè)計者的角度來考量,僅需根據(jù)現(xiàn)實需要,對相關(guān)參數(shù)進(jìn)行合理化、有效性設(shè)置,便可以實現(xiàn)有效控制或規(guī)范化處理的目的。(3)模擬仿真。把文件以一種合理、妥當(dāng)?shù)姆绞秸{(diào)入至HDL仿真軟件中,然后根據(jù)具體需要,進(jìn)行全面且深入的功能仿真分析,對邏輯功能正確與否進(jìn)行嚴(yán)格檢查,如果是比較簡單的設(shè)計可將此步驟跳過。(4)編程下載。在編譯過程中,借助MAX+PLUSⅡ軟件自動生成編程文件,通過電纜實施器件的編程下載。
綜上,HDL語言與C語言相似,相比于其它硬件描述語言,掌握此語言更為容易。因此,可將HDL語言當(dāng)作切入點,對EDA技術(shù)進(jìn)行學(xué)習(xí)。另外,用HDL硬件語言來進(jìn)行整個電子電路的設(shè)計工作,其主要特點就是把軟件工具當(dāng)作整個操作的重心所在;當(dāng)成功設(shè)計出源文件后,分別經(jīng)文本輸入、模擬仿真等操作,生成目標(biāo)器件,最終達(dá)到自動化設(shè)計電子電路的目的。