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