摘要:EDA技術是電子設計領域的一場革命,目前正處于高速發展階段。本文介紹了EDA技術的發展,基本特征及其開發設計流程。
關鍵詞:EDA技術 FPGA/CPLD VHDL
隨著計算機技術的出現及快速的更新與發展,以此為基礎并且在其強勁的推動下電子技術得到了遠超以往的飛速發展。如今,現代電子產品幾乎滲透入了人類生產生活中的各個領域。由于其的高性能,大復雜程度,價格的相對低廉及較快的更新換代速度,使得人類社會達到了一個高度發達的信息化社會階段,進一步的促進了社會生產力的發展和社會信息化程度的提高。
作為現代電子設計技術的核心,EDA(Electronic Design Automation)技術是以硬件描述語言HDL(Hardware Description Language)為系統邏輯描述的主要表達方式,以可編程器件PLD(Programmable Logic Device)為實驗載體,依賴功能強大的計算機,在EDA工具軟件平臺上,自動的完成邏輯編譯,邏輯化簡,邏輯分割,邏輯綜合,結構綜合(布局布線)以及邏輯優化和仿真測試,直至實現既定的電子線路系統功能。EDA技術的應用使得設計者的工作僅限于利用硬件描述語言和EDA軟件平臺來完成對系統硬件功能的實現,極大的提高了設計效率,縮短了設計周期,節省了設計成本。
一、EDA技術的發展
回顧自20實際90年代初到如今近30年電子設計技術的發展歷程,EDA工具的發展經歷大致可劃分為三個階段:計算機輔助設計(CAD),計算機輔助工程(CAE)和電子設計自動化(EDA)。
1.計算機輔助設計CAD(Computer Aided Design)階段。
20世紀70年代是EDA技術發展的初期階段,人們開始使用計算機輔助進行IC版圖編輯和PCB布局布線,使設計者從繁瑣,重負的計算和繪圖中解脫出來,由于PCB布局布線工具受到計算機工作平臺的制約,其支持的設計工作有限且性能較差。
2.計算機輔助工程設計CAE(Computer Aided Engineering)階段。
20世紀80年代為CAE階段,此時EDA工具主要以邏輯模擬,定時分析,故障仿真,自動布局和布線為核心,如果說CAD工具代替了設計工作中繪圖的重復勞動,則CAE工具則代替了設計師的部分工作。然而,大部分從原理圖出發的EDA工具仍不能滿足復雜電子系統的設計要求。
3.電子設計自動化EDA(Electronic Design Automation)階段。
20世界90年代,設計工程師逐步從使用硬件轉向設計硬件,從單個電子產品開發轉向系統級電子產品開發,即片上系統集成。這時的EDA工具不僅具有電子系統設計的能力,而且能提供獨立于工藝和廠家的系統級設計能力,具有高級抽象的設計構思手段。可以說,20世紀90年代EDA技術的發展是電子電路設計的革命。
二、EDA技術的特征
EDA技術代表了當今電子設計的最新發展方向,其基本特征是設計人員按照“自頂向下”的設計方法,對整個系統進行方案設計與功能劃分,系統的關鍵電路采用一片或幾片專用集成電路(ASIC)實現。然后采用硬件描述語言(HDL)完成系統行為級設計,最后通過綜合器及適配器生成最終的目標期間,這種設計方法被稱為高層次的電子設計方法。下面介紹與EDA基本特征有關的幾個概念。
1.“自頂向下”的設計方法
過去在較復雜的電子線路設計中,其基本思想是利用“自底向上”方法,用標準集成電路構造出一個新的系統,如同一磚一瓦構造金字塔,不僅效率低,成本高,而且容易出錯。
“自頂向下”的設計方法則是從系統整體進行設計,從頂層進行功能方框圖的劃分和結構設計,在方框圖一級進行仿真,糾錯,并用硬件描述語言對高層次的系統行為進行描述,在系統一級經行驗證。然后用綜合優化工具生成具體門電路的網表。其對應的物理實現級可以是印刷電路板或專用集成電路.由于設計的主要仿真和調試過程是在高層次上完成的。這不僅有利于早期發現結構設計上的錯誤。避免設計工作的浪費。而且也減少了邏輯功能仿真的工作量,提高了設計的一次成功率。
2.ASIC設計
現代電子產品的復雜度日益加深,一個電子系統可能由數萬中小規模集成電路構成,這就帶來了體積大、功耗大、可靠性差的問題,解決這一問題的有效方法就是采用ASIC(Application Specific Integrated Circuits)芯片進行設計。AS1C按照設計方法的不同可分為:全定制ASIC,半定制ASIC。可編程ASIC(@ ~可編程邏輯器件)。
設計全定制AS1C芯片時,設計師要定義芯片上所有晶體管的幾何圖形和工藝規則,最后將設計結果交由IC廠家掩膜制造完成。優點是:芯片可以獲得最優的性能,即面積利用率高、速度快、功耗低。缺點是:開發周期長,費用高,只適合大批量產品開發。
半定制ASIC芯片的版圖設計方法有所不同,分為門陣列設計法和標準單元設計法,這兩種方法都是約束性的設計方法,其主要目的就是簡化設計,以犧牲芯片性能為代價來縮短開發時間。
3.硬件描述語言
硬件描述語言HDL(Hardware Description Language)是一種用于設計硬件電子系統的計算機語言,它用軟件編程的方式來描述電子系統的邏輯功能、電路結構和連接形式,與傳統的門級描述方式相比,它更適合大規模系統的沒計。設計人員可以利用HDL語言來描述自己的設計思想,然后利用EDA工具進行仿真,綜合到門級網表,最后由ASIC和FPGA實現其功能。
硬件描述語言是EDA技術的中的重要組成部分,發展至今已有幾十年的歷史,并且已經成功的應用到系統的仿真,驗證和綜合等方面。目前世界上已有上百種硬件描述語言,常用的硬件描述語言有AHDL,VHDL和Verilog HDL,其中VHDL和Verilog HDL是當前最流行并且已經成為IEEE標準的硬件描述語言。這兩種硬件描述語言的同特點是可以形式化地抽象表示電路的結構與行為,支持邏輯設計中層次及領域的描述,可借用高級語言的精巧結構來簡化電路的描述,具有電路仿真與驗證機制以保證設計的正確性,支持電路描述由高層到底層的綜合轉換,硬件描述與實現工藝無關,便于文檔管理,易于理解和設計重用。同時VHDL與Verilog HDL又各自具有獨自的特點。Verilog HDL非常容易學習理解,一般可在2~3個月掌握這種設計技術,較適合系統級,算法級,寄存器傳輸級,門級及開關級電路設計。簡言之,Verilog HDL對電路底層細節的描述支持較好,較易控制綜合后的電路結果。而相對的,VHDL雖然較難掌握,但其系統級硬件描述能力強,而且用戶可自定義數據類型,設計靈活。缺點則是對電路細節的描述支持稍差。
4. 系統框架結構。
EDA系統框架結構(Framework)是一套配置和使用EDA軟件包的規范,目前主要的EDA系統都建立了框架結構,如Cadence公司的Design Framework,Mentor公司的Falcon Framework等,這些框架結構都遵守國際CFI組織(CAD Framework Initiative)制定的統一技術標準。Framework能將來自不同EDA廠商的工具軟件進行優化組合,集成在一個易于管理的統一的環境之下。而且還支持任務之間,設計師之間在整個產品開發過程中實現信息的傳輸與共享,這是并行工程和Top—Down設計方法的實現基礎。
三、基于EDA軟件的FPGA/CPLD開發流程
(1)設計輸入(原理圖/HDL文本編輯):利用EDA工具的文本或圖形編輯器將設計者的設計意圖用文本(HDL)或圖形方式(原理圖或狀態圖)表達出來。這是在EDA軟件上對FPGA/CPLD開發的最初步驟(2)編譯:完成設計描述后便可通過編譯器進行排錯,編譯,變成特定的文本格式。為下一步的綜合做準備。(3)綜合:一般來說,綜合是僅對HDL而言的。這是將軟件設計與硬件的可實現性掛鉤,將軟件轉化為硬件電路的關鍵步驟。綜合后HDL綜合器可生成ENIF、XNF或VHDL等標準格式的網表文件。其從門級開始描述了最基本的門電路結構。(4)行為仿真和功能仿真:利用產生的網表文件進行功能仿真。以便了解設計描述與設計意圖的一致性(可省略此步驟)。(5)適配:適配器也稱結構綜合器,其功能是將綜合后的網表文件針對某一具體的目標器件進行邏輯映射操作。其中包括底層器件配置,邏輯分割,邏輯優化,布局布線。適配完成后,EDA軟件將產生針對此項設計的適配報告和JED下載文件等多個結果。適配報告指明了芯片內資源的分配與利用,引腳鎖定,設計的布爾方程描述情況。(6)功能仿真和時序仿真:在編程下載前必須利用EDA工具對適配生成的結果進行模擬測試。該仿真接近真實器件的運行狀態,仿真過程中已考慮到器件的硬件特性,因此仿真精度要高得多。仿真是在EDA設計過程中的重要步驟。(7)編程下載:若以上的所有過程都沒有發現問題,便可以將適配器產生的下載文件通過編程器或編程電纜載入目標芯片FPGA或CPLD中。(8)硬件仿真與測試:最后是將含有載入了設計的FPGA或CPLD的硬件系統進行統一測試,最終驗證設計項目在目標系統上的實際工作情況,以排除錯誤,改進設計。
四、結束語
EDA技術是電子設計領域的一場革命。目前正處于高速發展階段,每年都會有新的EDA工具問世。雖然EDA作為一套完整的電子技術設計系統較為復雜,但作為工具卻十分方便于用戶的使用。EDA工具大都采用系統級目標設計方法,具有良好的設計界面。可視化操作方法及系統框架結構使得設計者可以把精力主要放在概念設計等頂層設計上,而把大量的具體的層次化設計工作留給EDA系統去做。而我國EDA技術的應用水平長期落后于發達國家,因此廣大電子工程人員應盡早掌握這一先進技術。這不僅是提高設計效率的需要。更是我國電子工業在世界市場上生存,競爭與發展的需要。
參考文獻:
[1]江國強.EDA技術與應用(第三版)[M].電子工業出版社,2010.
[2]趙全利,秦春斌.EDA技術及應用教程[M].機械工業出版社,2009.
[3]潘松,黃繼業.EDA技術實用教程(第三版)[M].科學出版社,2006