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