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