林佳奇+劉愷麟+曹可震
摘 要:隨著科技的不斷發(fā)展,現(xiàn)代電子技術(shù)的核心已經(jīng)逐漸向基于計(jì)算機(jī)的自動(dòng)化電子設(shè)計(jì)技術(shù)的方向轉(zhuǎn)變。EDA技術(shù)對(duì)計(jì)算機(jī)的依賴性非常強(qiáng),在EDA工具軟件平臺(tái)上,EDA會(huì)對(duì)以硬件描述語言為系統(tǒng)邏輯描述手段完成的文件自動(dòng)進(jìn)行邏輯編譯、化簡(jiǎn)、分割等一系列步驟。然而VHDL作為硬件描述語言,是EDA技術(shù)中的重要組成部分,同時(shí)也是電子設(shè)計(jì)主流硬件的描述語言之一。本文將著重介紹它的程序結(jié)構(gòu)和使用技術(shù)。
關(guān)鍵詞:EDA;FPGA;VHDL
1 EDA技術(shù)
1.1 基本概念
EDA技術(shù)是一種用于電子系統(tǒng)設(shè)計(jì)的高端技術(shù),廣泛地融合了應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理及智能化技術(shù)。它一般用于完成集成電路(ASIC)或印制電路板(PCB)的設(shè)計(jì)與實(shí)現(xiàn)。進(jìn)行電子產(chǎn)品的自動(dòng)設(shè)計(jì)。利用EDA技術(shù)電子設(shè)計(jì)師可以多個(gè)方面設(shè)計(jì)電子系統(tǒng)。極大地提高了效率和可操作性。
1.2 面向FPGA的EDA開發(fā)流程
一般可分為五個(gè)步驟,本文中我們粗略地對(duì)這五個(gè)步驟進(jìn)行簡(jiǎn)述。第一步,設(shè)計(jì)輸入,將電路系統(tǒng)以一定的表達(dá)方式輸入計(jì)算機(jī)。它包括圖形輸入和代碼文本輸入兩部分。第二步,綜合,把抽象的實(shí)體簡(jiǎn)化為單一的實(shí)體,也就是把某些東西結(jié)合在一起,把設(shè)計(jì)中抽象的層次轉(zhuǎn)化為讓人容易看懂的好表達(dá)的實(shí)體過程。它也可分為自然語言綜合、行為綜合、邏輯綜合、結(jié)構(gòu)綜合四個(gè)部分。第三步,適配,它的功能是將綜合后的文件配置于指定的適配器中。最終產(chǎn)生下載文件。第四步,仿真,在下載之前必須對(duì)適配產(chǎn)生的結(jié)果進(jìn)行仿真。根據(jù)編寫的算法對(duì)EDA設(shè)計(jì)進(jìn)行模擬,驗(yàn)證設(shè)計(jì)的正確性。第五步,RTL描述,利用獨(dú)立的組合電路模塊和獨(dú)立的寄存器模塊構(gòu)建描述數(shù)字電路的形式。
1.3 EDA技術(shù)的優(yōu)點(diǎn)
通過對(duì)抽象的行為與功能的描述,提高了設(shè)計(jì)過程的正確性,大大地降低了成本,縮短了設(shè)計(jì)周期。EDA的仿真技術(shù)也是非常具有優(yōu)勢(shì)的,只需通過計(jì)算機(jī)就能對(duì)所設(shè)計(jì)的電子系統(tǒng)的各個(gè)層次及功能進(jìn)行仿真。然而EDA進(jìn)行設(shè)計(jì)過程使用的語言是標(biāo)準(zhǔn)化的。不會(huì)由于設(shè)計(jì)對(duì)象的不同而改變,根據(jù)IP核可以移植和測(cè)試,為系統(tǒng)開發(fā)提供了可靠的保障。
2 VHDL
2.1 VHDL的基本內(nèi)容
VHDL被稱為標(biāo)準(zhǔn)硬件描述語言,用軟件的方式設(shè)計(jì)系統(tǒng),它主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。一個(gè)完整的VHDL程序可以稱為設(shè)計(jì)實(shí)體,分成內(nèi)部和外部。設(shè)計(jì)實(shí)體的內(nèi)部功能和算法完成部分后,再對(duì)設(shè)計(jì)實(shí)體的外部界面進(jìn)行定義。其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。VHDL語言作為EDA工具的橋梁使電子系統(tǒng)向集成化、大規(guī)模、高速度等方向發(fā)展。
2.2 VHDL的程序結(jié)構(gòu)
面對(duì)電路系統(tǒng)設(shè)計(jì)的VHDL程序代碼可以由4個(gè)模塊構(gòu)成,它包括庫和程序包調(diào)用聲明語句構(gòu)成的模塊、描述電路信號(hào)端口和參數(shù)通_道的實(shí)體模塊、具體描述電路功能的結(jié)構(gòu)體模塊以及配置結(jié)構(gòu)體模塊。下面我們對(duì)這四個(gè)模塊進(jìn)行分析和講解。
庫是一種用來存儲(chǔ)預(yù)先完成的程序包、數(shù)據(jù)集合體和元件的倉庫。通常,庫中放置不同數(shù)量的程序包,而程序包中又包含不同數(shù)量的子程序。VHDL語言的庫可以分為設(shè)計(jì)庫和資源庫。我們?cè)诔绦蛟O(shè)計(jì)過程中通常用的庫有IEEE庫、STD庫、WORK庫及VITAL庫。IEEE是VHDL設(shè)計(jì)中最為常用的庫,其中的STD_LOGIC_1164是最重要和最常用的程序包。STD庫包含了STANDARO和TEXTIO兩個(gè)標(biāo)準(zhǔn)程序包,只要在VHDL應(yīng)用環(huán)境中,隨時(shí)可以調(diào)用這兩個(gè)程序包中的所有內(nèi)容。WORK庫用于存放用戶設(shè)計(jì)和定義的一些設(shè)計(jì)單元和程序包,在實(shí)際調(diào)用中,不允許在根目錄下進(jìn)行,必須在某一路徑上設(shè)計(jì)一個(gè)文件夾才可以調(diào)用其中的內(nèi)容。VITAL庫可以用來提高時(shí)序模擬的精度,因而只在時(shí)序仿真中使用。
VHDL實(shí)體是整個(gè)設(shè)計(jì)實(shí)體的重要部分,主要用于設(shè)計(jì)實(shí)體和外部電路的接口描述實(shí)體模塊的一般語句結(jié)構(gòu)如下:
ENTITY 實(shí)體名 IS
[GENERIC (參數(shù)名:數(shù)據(jù)類型);]
[PORT(端口表:數(shù)據(jù)類型);]
END ENTITY 實(shí)體名;
在實(shí)體中,GENERIC引導(dǎo)的參數(shù)傳遞語句負(fù)責(zé)構(gòu)建一個(gè)影響電路規(guī)?;驎r(shí)序特性等參數(shù)的通道。可綜合的電路端口模式有IN(輸入端口)、OUT(輸出端口)、INOUT(雙向端口)、BUFFER(緩沖端口)四種。
結(jié)構(gòu)體是實(shí)體定義的設(shè)計(jì)實(shí)體中的一個(gè)組成部分。一般來說,結(jié)構(gòu)體的組成分為兩種。一是對(duì)數(shù)據(jù)類型、常數(shù)、信號(hào)、子程序和元件等元素的說明部分,二是描述實(shí)體邏輯行為的,各種不同的描述風(fēng)格表達(dá)的功能描述語句。結(jié)構(gòu)體的語句格式如下:
ARCHITECTURE 結(jié)構(gòu)體名 OF 實(shí)體名 IS
[說明語句]
BEGIN
[功能描述語句]
END ARCHITECTURE 結(jié)構(gòu)體名;
配置是VHDL設(shè)計(jì)實(shí)體中的一個(gè)基本單元,在綜合和仿真中,配置語句為實(shí)體指定或配置一個(gè)結(jié)構(gòu)體。為整個(gè)設(shè)計(jì)提供許多信息,從而形成一個(gè)例化元件層次的設(shè)計(jì)實(shí)體。
2.3 VHDL的使用技術(shù)
隨著市場(chǎng)需求的增長(zhǎng),集成工藝水平及計(jì)算機(jī)自動(dòng)技術(shù)的不斷提高,VHDL的應(yīng)用越來越廣泛,越來越多的數(shù)字系統(tǒng)都是基于VHDL語言的編寫。例如,數(shù)字秒表的設(shè)計(jì),就采用了VHDL語言層次化設(shè)計(jì)方法設(shè)計(jì)。然而一些常見的組合邏輯電路的設(shè)計(jì)、時(shí)序邏輯電路的設(shè)計(jì)、存儲(chǔ)器的設(shè)計(jì)及狀態(tài)機(jī)的設(shè)計(jì)都基于VHDL語言。VHDL技術(shù)在生活逐步頻繁使用,極大地的提高了工作效率。
在電子技術(shù)設(shè)計(jì)領(lǐng)域,可編程邏輯器件的應(yīng)用,已經(jīng)得到了廣泛的普及,這些器件為數(shù)字系統(tǒng)的設(shè)計(jì)帶來了極大的靈活性。EDA技術(shù)徹底地改變了數(shù)字系統(tǒng)的設(shè)計(jì)方法和實(shí)現(xiàn)手段,通過VHDL語言和EDA工具,大大地縮短了設(shè)計(jì)周期。同時(shí)隨著科技的不斷發(fā)展和更新,傳統(tǒng)的電子系統(tǒng)設(shè)計(jì)發(fā)生了根本的變革,VHDL語言的使用范圍日益增大,這也會(huì)為我們的生活帶來更好便利和提高。
參考文獻(xiàn):
[1] 潘松,黃繼業(yè),潘明.EDA技術(shù)實(shí)用教程(第四版)[M].北京:科學(xué)出版社,2010.
[2] 潘松,成龍,黃繼業(yè).實(shí)用數(shù)字電子技術(shù)基礎(chǔ)[M].北京:電子工業(yè)出版社,2011.
[3] 潘明,黃繼業(yè),潘松.單片機(jī)原理與應(yīng)用技術(shù)[M].北京:清華大學(xué)出版社,2011.