20世紀后半期,隨著集成電路和計算機技術的發展,數字系統也得到了飛速發展,其實現方法經歷了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI的過程。同時為了提高系統的可靠性與通用性,微處理器和專用集成電路(ASIC)逐漸取代了通用集成硬件LSI電路,而在這兩者之間,ASIC以其體積小、重量輕、功耗低、速度快、成本低、保密性好而脫穎而出??偟膩碚f,ASIC的制作可粗略地分為掩膜式方法和現場可編程方法兩大類。目前,業界大量可編程器件(PLD),尤其是現場可編程邏輯器件(CPLD/FPGA)被大量地應用在ASIC的制作中。在可編程集成電器開發過程中,電子設計自動化(EDA)技術應運而生。EDA技術的出現,不僅為電子系統設計帶來了一場革命性的變化,從某種角度說,也成為其發展的必然。下面論述EDA技術的發展和基本特征以及在電子技術設計中的地位和作用。
1 EDA技術發展概述
EDA是以計算機為平臺,融合了應用電子技術、計算機技術、智能化技術最新成果而研制的電子CAD通用軟件包,主要輔助進行三方面的工作:IC設計、電子線路設計以及PCB設計。回顧近30年電子設計技術的發展歷程,可將EDA技術分為三個階段:20世紀70年代為CAD階段,人們開始用計算機輔助進行IC版圖編輯、PCB布局布線,取代了手工操作,產生計算機輔助設計的概念。20世紀80年代為CAE階段,與CAD相比,除了純粹的圖形設計功能之外,又增加了電路功能設計和結構設計,并且通過電器連接網絡表將二者結合在一起,實現了工程設計,這就是計算機輔助設計的概念。CAE的主要功能是:原理圖輸入,邏輯圖仿真,電路分析,自動布局布線,PCB分析。20世紀90年代為EDA階段,盡管CAD/CAE技術取得了很大的成功,但并沒有把人們從繁重的勞動中解放出來。在整個設計過程中,自動化和智能化程度還不高,各種軟件界面千差萬別,學習使用困難,互不兼容,直接影響到設計環節的銜接?;谝陨檄h節不足,人們開始追求:貫徹整個設計過程的自動化,這就是EDA即電子系統設計自動化。
2 EDA技術的基本特征及實驗室配置
EDA代表了當今電子設計技術發展的方向,它的基本特征是:設計人員按照“自頂向下”的設計方法,對整個系統進行方案設計和功能劃分,系統的關鍵電路用一片或幾片專用集成電路(ASIC)實現,然后采用硬件描述語言(HDL)完成系統設計,最后通過綜合器和適配器生成最終的目標器件。這樣的設計方法被稱為高層次的電子設計方法,下面介紹與EDA基本特征有關的幾個概念。
2.1 “自頂而下”的設計方法
10年前,電子設計的基本思路還是選擇標準的集成電路“自底向上”(Bottom-Up)地構造出一個新的系統。這樣的設計方法如同一磚一瓦建造樓房,不僅效率低、成本高而且容易出錯。高層次的設計給我們提供了一種“自頂向下”(Top-Down)的全新設計方法,這種方法首先從系統入手,在頂層進行功能方框圖的劃分和結構設計。在方框圖一級進行仿真、糾錯,并用硬件描述語言對高層的系統進行描述,在系統一級進行驗證。然后用綜合優化工具生成具體的門電路網表,其對應的物理實現級可以是印刷電路板或專用集成電路。
由于設計的主要仿真和調試過程是在高層次上完成的。這既有利于早期發現結構設計上的錯誤,避免設計工時的浪費,同時也減少了邏輯功能仿真的工作量,提高了設計的一次成功率。
2.2 ASIC設計
現在電子產品的復雜程度日益加深,一個電子系統可能由數萬個中小集成電路構成,這就帶來了體積大、功耗大、可靠性差的問題,解決這一問題的有效方法就是采用ASIC(Application Specific Integrated Circuits)芯片進行設計。ASIC按照設計方法的不同可分為全定制ASIC,半定制ASIC,可編程ASIC(也成為可編程邏輯器件)。
設計全定制ASIC芯片時,設計人員要定義芯片上所有晶體管的幾何圖形和工藝規則,最后將設計結果交由IC廠家掩膜制造完成。優點是:芯片可以獲得最優的性能,即面積利用率高、速度快、功耗低。缺點是:開發周期長,費用高,只適合大批量產品開發。
半定制ASIC芯片的版圖設計方法有所不同,分為門陣列設計方法和標準單元設計方法。這兩種設計方法都是約束性設計方法,其主要目的就是簡化設計,以犧牲芯片性能為代價來縮短開發時間。可編程邏輯器件自20世紀70年代以來,經歷了PAL、GAL、CPLD、FPGA幾個發展階段,其中CPLD/FPGA屬于高密度邏輯器件,目前集程度已高達200萬門/片,它將掩膜ASIC集程度高的優點和可編程邏輯器件設計生產方便的特點結合在一起,特別適合于樣品研究或小批量產品開發,使產品能以最快的速度上市,而當市場擴大時,它可以很容易的轉由掩膜ASIC實現,因此開發風險也大為降低。
上述ASIC芯片,尤其是CPLD/FPGA器件,已成為現代高層次電子設計方法的實現載體。
2.3 硬件描述語言
硬件描述語言(HDL-Hardw are Description Language)是一種用于硬件電子設計的計算機語言。它用軟件編程的方式來描述電子系統的邏輯功能、電路結構和連接方式,與傳統的門級描述方式相比,它更適合大規模系統的設計。早期硬件描述語言,如ABEL-HDL、AHDL,由不同的EDA廠家開發,互不兼容,而且不支持多層次設計,層次間翻譯工作由人工來完成。為了克服以上不足,1985年美國國防部正式推出了VHDL(Very High Speed IC Hardware Description Language)語言。VHDL是一種全方位的硬件描述語言,包括系統行為級、寄存器傳輸級和邏輯門級多個設計層次,支持結構描述、數據流描述、行為描述三種描述形式的混合描述,因此VHDL幾乎覆蓋了以往各種硬件描述語言的功能,整個自頂而下或自底向上的電路設計過程都可以用VHDL來完成。VHDL還具有以下優點:①VHDL范圍描述能力使它成為高層次設計的核心,將設計人員的工作重心提高到系統功能的實現和調試,而花較少的精力用于物理的實現。②VHDL可以用簡潔明確的代碼描述來進行復雜的控制邏輯設計,靈活方便,而且也便于設計結果的交流、保存和重用。③VHDL的設計不依賴于特定的器件,方便了工藝轉換。④VHDL是一種標準語言,為眾多的EDA廠商所支持,因此移植性好。
2.4 EDA技術的建模與仿真
EDA技術必須進行元件的建模與系統仿真,基于Spice/Xspice為內核的Multisim是目前教育系統流行的電路仿真軟件。MultisimV7是通過對V5、V6的功能不斷擴充,特別增加了VHDL和VerilogHDL模塊,使它成為真正的“數/模/VHDL/VerilogHDL”混合電路仿真軟件。
Multisim的元件庫分為Mult isim主數據庫(Multisim Master Database)、共享數據庫(Corporate Library)和用戶數據庫(User Database),其中主數據庫的元件不能更改,共享數據庫和用戶數據庫可以更改,用戶可以將常用的元件或用戶編輯的新元件放在這兩個數據庫中。單極版的Multisim中共享數據庫不可使用。Multisim中的元件模型分為SPICE模型、Code Model模型、VHDL元件模型和Verilog HDL元件模型。SPICE模型是指SPICE預定義的元件模型或利用子電路的方法建立的模型。Code Model是在SPICE中用C語言編寫的元件模型。建立VHDL模型和Verilog HDL模型前首先要編寫相應的語言代碼,進行仿真驗證,然后匯編和連接,產生Multisim可以接受的模型文件。
與其他EDA工具相比較,Multisim主要具有以下優點:①采用直觀的圖形界面創建電路。②軟件提供了豐富而全面的儀器設備,且同一臺儀器可以多臺同時調用,和真實實驗相比,大大節約了費用。③Multisim軟件帶有豐富的電路元件庫,特別是有大量與現實對應的元件模型,使電路有很強的實用性,并提供了多種電路分析方法。④作為設計工具,它可以同其他流行的電路分析、設計和制板軟件交換數據。⑤Multisim還是一個優秀的電子訓練工具,利用它提供的虛擬儀器可以用比實驗室中更靈活的方式進行電路實驗,仿真電路實際運行情況,熟悉常用電子儀器測量方法。⑥具有射頻電路的仿真功能。⑦專業版支持VHDL和Verilog語言的電路仿真。
對于學生而言,學習Multisim軟件進行EDA技術的基礎訓練更為重要。
2.5 EDA實驗室系統及配置
EDA實驗室系統是一套硬件配置以及EDA軟件配置。最基礎的硬件配置是計算機,除此之外就高校而言,EDA實驗室還需要以下軟硬件配置:①具有模數混合電路仿真軟件Multisim。②具有PCB自動化設計功能的軟件,目前高校系統更多采用Ult iboard。③PCB雕刻機或PCB板制作系統。若資金允許,可配備PCB雕刻機,否則可配備一般PCB板制作系統。具備以上資源,就可以進行On board設計但要進行On chip設計和開發,還必須配備以下資源:④具有CPLD/FPGA設計輸入、軟件仿真、下載功能的軟件和硬件。EDA實驗室可采用CPLD/FPGA下載板,然后利用MaxplusⅡ軟件進行設計,完成芯片制造。Max plus Ⅱ具有設計輸入、軟件仿真、角位定義的功能,它和CPLD/FPGA組合就可以完成在IC上的設計。⑤完成對電路進行時序測試的軟硬件。邏輯分析儀可以對硬件電路進行時序測試,但一般分析儀價格比較昂貴,鑒于此EDA實驗室可選用PC-base LA1000P型邏輯分析儀,該分析儀的功能和一般分析儀的功能相當,但價格實惠,非常適合EDA實驗室使用。
3 EDA技術在當今電路設計中的應用
20世紀90年代以來,電子信息類產品的開發明顯出現兩個特點:一是產品的復雜程度加深;二是產品的上市時限緊迫。然而電路級設計本質上是基于門級描述的單層次設計(主要以數字電路為主),設計的所有工作(包括設計輸入、仿真和分析、設計修改等)都是在基本邏輯門這一層次上進行的。顯然這種設計方法不能適應新的形勢,為此引入一種高層次的電子設計方法,也稱為系統的設計方法。
高層次設計是一種“概念驅動式”的設計,設計人員無須通過門級原理圖描述電路,而是對設計目標進行功能描述,由于擺脫了電路細節的束縛,設計人員可以把精力集中于創造性的方案與概念構思上,一旦這些概念構思以高層次描述輸入計算機后,EDA系統就能以規則驅動的方式自動完成整個設計。這樣,新的概念得以迅速有效地成為產品,大大縮短了產品的研制周期。不僅如此,高層次的設計只是定義系統的行為特性,可以不涉及實現工藝,在廠家的綜合庫的支持下,利用綜合優化工具可以將高層次的描述轉化成對某種工藝優化的網表,工藝轉化變得輕松容易。
高層次設計步驟如下:第一,按照“自頂而下”的設計方法進行系統劃分。
第二,輸入VHDL代碼,這是高層次設計中最為普遍的輸入方式。此外EDA實驗室采用Multisim圖形仿真輸入,這種方法具有直觀、容易理解的特點。
第三,將以上設計輸入編譯成標準的VHDL文件。對于大型的設計,還要進行代碼級的功能仿真,主要是檢驗系統功能設計的正確性。因為對大型設計,綜合、適配要花費數小時,在綜合前對源代碼仿真,就可大大減少設計重復的次數和時間,一般情況下,可略去這一仿真步驟。
第四,利用仿真器對VHDL源代碼進行綜合優化處理,生成門級描述的網表文件,這是將高層次描述轉化為硬件電路的關鍵步驟。綜合優化是針對ASIC芯片供應商的某一產品進行的,所以綜合的過程要在相應的廠家綜合庫支持下才能完成。綜合后,可利用生產的網表文件進行適配前的時序仿真,仿真過程不涉及具體器件的特性,是較為粗略的,一般設計這一仿真步驟可略去。
第五,利用適配器件將綜合后的網表文件針對某一具體的目標器件進行邏輯映射操作,包括底層器件配置、邏輯分割、邏輯優化、布局布線。適配完成后,產生多項設計結果:適配報告,包括芯片內部資源利用情況、設計的布爾方程描述情況等;適配后的仿真模型;器件編程文件。根據適配后的仿真模型,可以進行適配后的時序仿真,因為已經得到器件的實際硬件特性(如延時特性),所以仿真結果能比較精確地預期未來芯片的實際性能。如果仿真結果達不到設計要求,就需要修改VHDL源代碼或選擇不同速度品質的器件,直至滿足設計要求。
第六,將適配器件生產的器件編程文件通過編程器或下載電纜載入到目標芯片CPLD/FPGA中。如果是大批量產品開發,通過更換相應的廠家綜合庫,可以很容易轉由ASIC形式實現。
EDA在教學、科研、產品設計與制造等方面都發揮著巨大的作用。在教學方面,幾乎所有的理工科(特別是電子信息)類的高等院校都開設了EDA課程。主要是讓學生了解EDA的基本概念和基本原理、學習Multisim軟件、掌握VHDL語言的編寫規范、掌握邏輯理論和算法、使用EDA工具進行電子電路課程的實驗并從事簡單的設計。學習電路仿真工具和PLD開發工具的使用,為今后的工作打下基礎。科研方面主要利用電路仿真工具,利用虛擬儀器進行產品測試,將CPLD/FPGA器件實際應用到儀器設備中,從事PCB設計和ASIC設計等。在產品設計與制造方面,包括前期的計算機仿真,產品開發中的EDA工具應用、產品測試等各個環節,如PCB的制作、電子設備的研制與生產、電路板的焊接、ASIC的流片過程等。另外,EDA軟件的功能日益增大,原來功能比較單一的軟件,現在增加了很多用途。EDA技術發展迅猛,完全可以用日新月異來描述。EDA技術的廣泛應用,現在已涉及各行各業。EDA水平不斷提高,設計工具趨于完美的地步,EDA市場日趨成熟。
評論
查看更多