王彩鳳,李衛(wèi)兵,卞 麗
(濱州學(xué)院 a.光電工程系;b.教務(wù)處,山東 濱州 256603)
近年來,隨著電子技術(shù)和計(jì)算機(jī)技術(shù)的迅速發(fā)展以及大規(guī)模集成電路的應(yīng)用,電子設(shè)計(jì)變得越來越復(fù)雜,正朝著高速度、大容量、小體積的方向發(fā)展,使用傳統(tǒng)的自底向上的設(shè)計(jì)方法進(jìn)行系統(tǒng)及芯片設(shè)計(jì)已經(jīng)不能滿足要求,迫切需要提高設(shè)計(jì)效率。能大大降低設(shè)計(jì)難度的 VHDL設(shè)計(jì)方法正在被越來越廣泛地采用,且運(yùn)用硬件描述語言完成硬件設(shè)計(jì)成為電子設(shè)計(jì)的趨勢(shì),并朝著自動(dòng)化方向發(fā)展,有效地縮短了開發(fā)周期,提高了開發(fā)效率及產(chǎn)品的可靠性[1-4]。
VHDL語言是超高速集成電路硬件描述語言,是一種對(duì)數(shù)字電路系統(tǒng)進(jìn)行性能描述和模擬的語言,由美國國防部在1983年創(chuàng)建,并在1987年作為“IEEE標(biāo)準(zhǔn)1076”發(fā)布,從此成為硬件描述語言的業(yè)界標(biāo)準(zhǔn)之一。1993年,IEEE對(duì)VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展了VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本?,F(xiàn)在,VHDL作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言?,F(xiàn)在公布的最新VHDL標(biāo)準(zhǔn)版本是IEEE 1076-2002[5]。
VHDL語言主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,與其他硬件描述語言相比,VHDL語言有如下優(yōu)越之處:
1)VHDL語言具有很強(qiáng)的電路描述和建模能力,能從多個(gè)層次對(duì)數(shù)字系統(tǒng)進(jìn)行建模和描述,從而大大簡(jiǎn)化了硬件設(shè)計(jì)任務(wù),提高了設(shè)計(jì)效率和可靠性。
2)VHDL語言具有與具體硬件電路無關(guān)和與設(shè)計(jì)平臺(tái)無關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,并在語言易讀性和層次化、結(jié)構(gòu)化設(shè)計(jì)方面,表現(xiàn)了強(qiáng)大的生命力和應(yīng)用潛力[6]。
3)VHDL語言支持自上而下(top down)和基于庫(library-base)的設(shè)計(jì)方法。在面對(duì)當(dāng)今許多電子產(chǎn)品的生命周期縮短,需要多次重新設(shè)計(jì)以融入最新技術(shù)、改變工藝等方面都表現(xiàn)出了良好的適應(yīng)性[7]。
4)用VHDL語言進(jìn)行電子系統(tǒng)設(shè)計(jì)時(shí),設(shè)計(jì)者可以專心致力于其功能的實(shí)現(xiàn),而不需要對(duì)不影響功能的與工藝有關(guān)的因素花費(fèi)過多的時(shí)間和精力。
VHDL語言的設(shè)計(jì)方法是一種高層次的設(shè)計(jì)方法,也稱為系統(tǒng)級(jí)的設(shè)計(jì)方法。
1)設(shè)計(jì)輸入
將電路系統(tǒng)以VHDL硬件描述語言的表達(dá)方式輸入計(jì)算機(jī)。
2)綜合
利用HDL綜合器對(duì)設(shè)計(jì)進(jìn)行綜合是十分重要的一步。因?yàn)榫C合過程將把軟件設(shè)計(jì)的HDL描述與硬件結(jié)構(gòu)掛鉤,是將軟件轉(zhuǎn)化為硬件電路的關(guān)鍵步驟,是文字描述與硬件實(shí)現(xiàn)的一座橋梁。綜合就是將電路的高級(jí)語言(如行為描述)轉(zhuǎn)換成低級(jí)的,可與FPGA/CPLD的基本結(jié)構(gòu)相映射的網(wǎng)表文件或程序[8]。
3)布線布局(適配)
適配器也稱結(jié)構(gòu)綜合器,它的功能是將由綜合器產(chǎn)生的網(wǎng)表文件配置于指定的目標(biāo)器件中,使之產(chǎn)生最終的下載文件。適配器就是將綜合后網(wǎng)表文件針對(duì)某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,其中包括底層器件配置、邏輯分割、優(yōu)化、布局布線操作。
4)仿真
1)任務(wù)型教學(xué)法有利于發(fā)揮學(xué)生的主體作用,是真正以學(xué)生為本的教學(xué)方法。在任務(wù)型教學(xué)中,教師設(shè)計(jì)的各項(xiàng)教學(xué)活動(dòng)都是以學(xué)生為主體,學(xué)生在教師的指導(dǎo)下,自主完成各項(xiàng)教學(xué)“任務(wù)”,教師幫助學(xué)生掌握學(xué)習(xí)方法,學(xué)會(huì)獨(dú)立思考和處理問題。這一方法給了學(xué)生自由地認(rèn)知語言的空間,讓學(xué)生通過完成任務(wù),探索所需的知識(shí),尋找語言學(xué)習(xí)的規(guī)律,掌握認(rèn)知語言。
仿真就是讓計(jì)算機(jī)根據(jù)一定的算法和一定的仿真庫對(duì)EDA設(shè)計(jì)進(jìn)行模擬,以驗(yàn)證設(shè)計(jì),排除錯(cuò)誤。仿真包括:
(1)時(shí)序仿真。就是接近真實(shí)器件運(yùn)行特性的仿真,仿真文件中已包含了器件硬件特性參數(shù),因而仿真精度高。
(2)功能仿真。是直接對(duì)VHDL描述的邏輯功能進(jìn)行測(cè)試模擬,以了解其實(shí)現(xiàn)的功能是否滿足原設(shè)計(jì)要求的過程。仿真過程不涉及任何具體器件的硬件特性。
5)下載和硬件測(cè)試
把適配后生成的下載或配置文件,通過編程器或編程電纜向FPGA或CPLD進(jìn)行下載,以便進(jìn)行硬件調(diào)試和驗(yàn)證。最后,將含有載入了設(shè)計(jì)的FPGA或CPLD的硬件系統(tǒng)進(jìn)行統(tǒng)一測(cè)試,以便最終驗(yàn)證設(shè)計(jì)項(xiàng)目在目標(biāo)系統(tǒng)上的實(shí)際工作情況,以排除錯(cuò)誤,改進(jìn)設(shè)計(jì)[9]。
以十進(jìn)制計(jì)數(shù)器的設(shè)計(jì)為例說明VHDL語言在電子設(shè)計(jì)中的應(yīng)用,該計(jì)數(shù)器具有異步清零和同步時(shí)鐘使能的特點(diǎn)。
可見程序相當(dāng)簡(jiǎn)單而且邏輯清晰。這種自頂向下的設(shè)計(jì)方法使一個(gè)較大的系統(tǒng)設(shè)計(jì)分解為若干個(gè)可操作的模塊,易于分工合作,并且可以對(duì)這些模塊分別進(jìn)行模擬仿真。由于設(shè)計(jì)的主要模擬仿真是在高層上實(shí)現(xiàn)的,所以能及早發(fā)現(xiàn)系統(tǒng)中的錯(cuò)誤并改正,提高設(shè)計(jì)的效率。
圖1是利用著名的HDL綜合器Synplify對(duì)上例的綜合結(jié)果。如電路圖所示,電路含有比較器、組合電路加1器、2選1多路選擇器、4位鎖存器等。
圖1 CNT10的RTL電路圖
仿真結(jié)果表明,VHDL程序所描述的功能與上述波形是完全一致的,而且從圖1所示的電路圖也能得到相同的結(jié)果,圖2中:
1)當(dāng)RST為高電平,EN為低電平時(shí),CQ輸出為0,即計(jì)數(shù)清零,并禁止計(jì)數(shù)。
2)當(dāng)RST為低電平,EN為高電平時(shí),每一個(gè)CLK的上升沿后,CQ輸出加1,而當(dāng)CQ輸出為9時(shí),COUT輸出高電平進(jìn)位信號(hào)。
3)當(dāng)EN為低電平時(shí),計(jì)數(shù)器保持原有的計(jì)數(shù)“1”,當(dāng)EN為高電平時(shí)則繼續(xù)計(jì)數(shù)。
圖2 CNT10的仿真波形圖
用VHDL語言實(shí)現(xiàn)電子設(shè)計(jì),是一個(gè)以軟件設(shè)計(jì)為主,器件配置相結(jié)合的過程,能從多個(gè)層次對(duì)數(shù)字系統(tǒng)進(jìn)行設(shè)計(jì),設(shè)計(jì)數(shù)字電路更為靈活方便,設(shè)計(jì)周期也可大大減小,提高了設(shè)計(jì)效率和可靠性。目前,VHDL已成為電子設(shè)計(jì)自動(dòng)化領(lǐng)域進(jìn)行自頂向下設(shè)計(jì)的應(yīng)用方向,是專用數(shù)字集成電路設(shè)計(jì)描述的有力工具,也是邏輯綜合和優(yōu)化的重要基礎(chǔ)。作為一種重要的高層設(shè)計(jì)技術(shù),VHDL已成為當(dāng)代電子設(shè)計(jì)者們必須掌握的重要工具,并將會(huì)給硬件的設(shè)計(jì)領(lǐng)域帶來很大的變革。
[1] 夏莉莉.淺議VHDL語言在電子設(shè)計(jì)自動(dòng)化中的應(yīng)用[J].信息安全與技術(shù),2012(7):44-46.
[2] 李要球,盧璐.VHDL硬件描述語言在數(shù)字電路設(shè)計(jì)中的應(yīng)用[J].實(shí)驗(yàn)室科學(xué),2011,14(5):97-100.
[3] 鄔錫琴.VHDL語言在數(shù)字電路教學(xué)中的應(yīng)用[J].電腦知識(shí)與技術(shù),2008(21):573-576.
[4] 夏益民,禹思敏,謝云,等.“VHDL程序設(shè)計(jì)”課程教學(xué)改革探討[J].廣東工業(yè)大學(xué)學(xué)報(bào) :社會(huì)科學(xué)版 ,2009(9):117-118,124.
[5] 潘松,黃繼業(yè).EDA技術(shù)與 VHDL[M].3版.北京:清華大學(xué)出版社,2009:4-5.
[6] 張文英.基于VHDL語言的數(shù)字電路設(shè)計(jì)[J].中國儀器儀表,2006(3):95-96.
[7] 夏琰,師衛(wèi).硬件描述語言與數(shù)字電路設(shè)計(jì)[J].電力學(xué)報(bào),2009,24(4):156-158.
[8] 王利,弓楠.VHDL語言在數(shù)字電路實(shí)驗(yàn)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2007(6):162-163.
[9] 王彩鳳,胡波,李衛(wèi)兵,等.EDA技術(shù)在數(shù)字電子技術(shù)實(shí)驗(yàn)中的應(yīng)用[J].實(shí)驗(yàn)科學(xué)與技術(shù),2011,9(1):4-6.