EDA是電子設計自動化(Electronic Design Automation)縮寫,是90年代初從CAD(計算機輔助設計)、CAM(計算機輔助制造)、CAT(計算機輔助測試)和CAE(計算機輔助工程)的概念發展而來的。EDA技術是以計算機為工具,根據硬件描述語言HDL( Hardware Description language)完成的設計文件,自動地完成邏輯編譯、化簡、分割、綜合及優化、布局布線、仿真以及對于特定目標芯片的適配編譯和編程下載等工作。典型的EDA工具中必須包含兩個特殊的軟件包,即綜合器和適配器。綜合器的功能就是將設計者在EDA平臺上完成的針對某個系統項目的HDL、原理圖或狀態圖形描述,針對給定的硬件系統組件,進行編譯、優化、轉換和綜合,最終獲得我們欲實現功能的描述文件。綜合器在工作前,必須給定所要實現的硬件結構參數,它的功能就是將軟件描述與給定的硬件結構用一定的方式聯系起來。也就是說,綜合器是軟件描述與硬件實現的一座橋梁。綜合過程就是
將電路的高級語言描述轉換低級的、可與目標器件FPGA/CPLD相映射的網表文件。
適配器的功能是將由綜合器產生的王表文件配置與指定的目標器件中,產生最終的下載文件,如JED文件。適配所選定的目標器件(FPGA/CPLD芯片)必須屬于在綜合器中已指定的目標器件系列。
硬件描述語言HDL是相對于一般的計算機軟件語言,如:C、PASCAL而言的。HDL語言使用與設計硬件電子系統的計算機語言,它能描述電子系統的邏輯功能、電路結構和連接方式。設計者可利用HDL程序來描述所希望的電路系統,規定器件結構特征和電路的行為方式;然后利用綜合器和適配器將此程序編程能控制FPGA和CPLD內部結構,并實現相應邏輯功能的的門級或更底層的結構網表文件或下載文件。目前,就FPGA/CPLD開發來說,比較常用和流行的 HDL主要有ABEL-HDL、AHDL和VHDL。
二、基于EDA工具的FPGA/CPLD開發流程:開發步驟:
1、 文本/原理圖編輯與修改。首先利用EDA工具的文本或圖形編輯器將設計者的設計意圖用文本(ABEL-HDL程序)或圖形方式(原理圖或狀態圖)表達出來。
2、 編譯。完成設計描述后即可通過編譯器進行排錯編譯,變成特定的文本格式,為下一步的綜合做準備。
3、 綜合。這是將軟件設計與硬件的可實現性掛鉤,是將軟件轉化為硬件電路的關鍵步驟。綜合后HDL綜合器可生成ENIF、XNF或VHDL等格式的網表文件,他們從門級開始描述了最基本的門電路結構。
4、 行為仿真和功能仿真。利用產生的網表文件進行功能仿真,以便了解設計描述與設計意圖的一致性。(該步驟可以略去)
5、適配。利用FPGA/CPLD布局布線適配器將綜合后的網表文件針對某一具體的目標器件進行邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優化、布局布線。該操作完成后,EDA軟件將產生針對此項設計的適配報告和JED下載文件等多項結果。適配報告指明了芯片內資源的分配與利用、引腳鎖定、設計的布爾方程描述情況。
6、 功能仿真和時序仿真。該不妨真實接近真實器件運行的方針,仿真過程已將器件的硬件特性考慮進去了,因此仿真精度要高的多。(該步驟也可略去)
7、 下載。如果以上的所有過程都沒有發現問題,就可以將適配器產生的下載文件通過FPGA/CPLD下載電纜載入目標芯片FPGA或CPLD中。
8、 硬件仿真