科學背景
自積體電路從60年代出現以來,隨著它在速度、規模和價格上取得了令人矚目的飛躍,電子系統也得到了快速發展。進入90年代,電子信息類產品的開發明顯地出現了兩個特點:一是開發產品的複雜程度加深;二是開發產品的上市時限緊迫。所謂開發產品的複雜程度深是指設計者往往要將更多的功能、更高的性能和更豐富的技術含量集成於所開發的電子系統之中。目前的趨勢是系統集成(system on a chip或chip in system。所謂產品開發的時限性,是指在產品的壽命期間應讓產品早日上市。從市場的角度開發應市的新產品應該做到使產品無延誤地投放市場。如圖示出了市場學中的一種市場視窗,從圖中可以看出,減少延誤、縮短系統開發周期以及儘早推出產品上市是十分重要的。
由於電子系統複雜且具有上市的時限性,因此手工設計無法完成。只有採用EDA(電子設計自動化)設計方式,從手工設計過渡到自動設計,將大量繁重、重複性的工作交給計算機去完成。因而,提高EDA方法的自動化程度,縮短整體EDA設計周期,具有十分重要的意義。
瓶頸問題
典型的電子系統的製造周期中包含以下幾個步驟:系統規劃、功能設計、邏輯設計、電路設計、設計驗證、生產製作、測試調試。歸納起來可劃為三個主要階段:設計階段、生產製作階段與測試階段。
進行電路設計時,首先要選擇使用的電子器件。由於系統的複雜性加深,分立器件已經不能滿足對設計的精度和質量的要求,應採用積體電路進行設計。電子系統中所使用的積體電路,一般來說有三種晶片可供選擇:全定製電路晶片、半定製電路晶片、通用電路晶片。全定製電路晶片完全由設計者自己開發設計,集成度高,可以針對所設計的電子系統進行最佳化,使性能達到最優,但是其晶片設計、製作的成本都比較高,並且設計開發的周期較長,所以全定製電路晶片一般只用於大規模生產中,在電子系統的設計開發過程中不使用全定製電路晶片。對於半定製電路晶片,設計者不需從頭設計,只需將所需功能用開發系統“寫”入半定製電路晶片,如EPLD,CPLD,FPGA等。因而在性能上雖然不能達到最優,但是設計製作的成本較低,開發周期短,比較適合於在電子系統的設計開發中使用。而通用電路晶片,特別是SROM , EPROM , EPROM等,由於價格便宜,使用方便,也廣泛地套用於電子系統的設計、生產過程中。
因此,在電子系統的設計開發過程中,主要考慮使用半定製電路晶片和通用電路晶片。在電子系統規模較大的情況下,如果在開發設計過程中全部使用或者主要依賴於通用電路晶片,則設計出的PC B板會規模非常大,並且整個系統的集成度很差,同時性能下降,可靠性降低。如果對電子產品的設計開發採用半定製電路晶片,由設計者自行規定器件的邏輯功能,可將大量的電路功能集成到一個單晶片中,從而提高了系統的集成度和可靠性。然而半定製電路晶片的製作成本比通用電路晶片的成本高得多,例如,同樣是使用上百萬門的存儲器電路,將此部分電路集成到半定製電路晶片中,比直接使用ROM或RAM通用電路晶片的花費高几十倍。所以,要同時考慮性能、集成度和開發成本這些相互矛盾的因素,並最終取得相對最優的結果。可見電子系統的設計開發應該採取半定製電路晶片與通用電路晶片配合使用的方法。
開發過程
綜上所述,電子系統設計開發的一般過程是:
系統規劃,功能設計。
邏輯設計,並進行邏輯模擬。
電路設計。根據系統的規模、複雜度選擇所使用的元器件。在設計開發的過程中,要縮短設計周期,降低開發成本,主要選擇半定製電路和通用的元器件。根據電路的邏輯功能,同時考慮系統集成度和設計成本,確定將哪些電路功能集成到半定製電路晶片中,哪些電路功能可直接採用通用元器件晶片。
設計半定製電路晶片。
設計印刷電路板。將自己設計的半定製電路晶片與通用電路晶片組合成完整的電路,設計印刷電路板。
製作印刷電路板,完成整個系統的製作。
測試調試,並最終形成設計開發的新產品,推向市場。
在現在的技術條件下,EDA設計方式已經比較成熟,從邏輯分析模擬到半定製電路設計、印刷電路板設計,都有專門的軟體來完成。隨著PLD,FPGA技術、以及PCB板自動布局、布線技術的發展,半定製電路設計、PCB板設計已實現了較高程度的自動化,可以簡單、迅速地完成設計任務。然而將自己設計的半定製電路晶片與通用電路晶片組合成完整電路輸入到PCB板的設計軟體中去設計PCB板,這一步基本上是手工操作,做起來相當繁瑣。
例如,使用軟體ALTERA進行半定製電路晶片的設計,使用軟體PROTEL進行印刷電路板的設計。雖然其最新版本(Protel98,99)中包含了ALTERA的元件庫,但由於半定製電路晶片都是自己設計的,管腿功能和名稱不可能統一,所以即使PRO-TEL中有ALTERA的元件庫,仍然不實用。通常的做法是先在PROTEL的元件庫中建立或編輯修改晶片的原型,然後使用。而且由於自己設計的半定製電路晶片互不相同,所以對每一個晶片都需要在庫中建立修改它的原型;另一方面,半定製電路晶片的管腿很多(一般都有幾十個甚至上百個管腿),並且在很多情況下庫中所建晶片原型只使用少數幾次。建庫完成後,還需進行Schematic式設計繪製電路原理圖。因而這種通常的做法費時費力,效率非常低,已成為制約提高電子產品開發速度的一個瓶頸,具有非常大的改進餘地。
接口軟體Port
解決這一瓶頸問題,就要將手工作業部分變為自動。解決方案就是在半定製電路設計與印刷電路板設計之間用軟體自動接口,使設計好的半定製電路晶片能夠直接用於PCB板的設計,從而省去繁瑣的建庫操作,實現從半定製電路設計到印刷電路板設計的自動化。
以ALTERA(半定製電路設計軟體)和PROTELCPCB(板設計軟體)為例,編寫ALTERA與PROTEL之間的接口軟體Port,來完成自動輸入。
使用PROTEL進行PC B設計的步驟是:首先使用Protel Schematic進行電氣原理設計,即用電氣圖形符號編輯器(Schematic Library Editor)製作、編輯和管理元器件的圖形符號庫,用電氣原理圖編輯器(Schemat-is Sheet Editor)製作、編輯和檢查符合電氣設計方案的原理圖;然後利用編輯好的原理圖生成電氣連線網路表,以此與PCB設計及其他EDA工具(SPICE ,EEsof , Xilinx , OrCAD等)有機地連線。由此可見,Protel Schematic依靠電氣連線網路表進行數據傳輸,因此可以考慮跳過Protel Schematic Sheet Editor繪製電氣原理圖部分,直接產生用於其他EDA工具的電氣連線網路表。接口軟體Port能直接生成整個電子系統的元器件連線網路表,作為Protel PCB設計的輸入檔案,而跳過了Protel Schematic繪製原理圖的部分。由於現在接口軟體Port主要為PC B設計服務,所以編寫Port時只考慮了生成用於PC B設計的電氣連線網路表,但是仍保留了與其他EDA工具(如SPICE , EEsof等)傳遞數據的接口。
接口軟體Port以C++作為程式語言,採用VisualC++ 6.0作為編程的工作平台,是標準的Windows多文檔應用程式,可以同時編輯多個電氣連線網路表。能夠非常方便地處理半定製電路晶片和通用電路晶片,並且對連線網路表提供了很強大的修改、整理以及統計的功能。下面詳細介紹接口軟體Port的使用。
首先,對於自己設計的半定製電路晶片,直接利用ALTERA的設計結果。通過對話框調用ALTERA的輸出檔案,將自己設計的半定製電路晶片加入到網路連線表中,省去了對半定製電路晶片建庫的工作。另外,如果需要更改半定製電路晶片的管腿名,可通過複選框的設定來打開對話框,進行管腿名的修改。
其次,同樣可以將通用電路晶片加入到網路連線表中。對於通用電路晶片,通過庫的形式進行處理,調用庫編輯對話框將庫中的元器件加入網路表。庫編輯對話框上半部分是對庫進行處理,列表框顯示記憶體中的元件庫,按鈕Add和Remove的功能分別是將庫加入記憶體和從記憶體中剔除庫,按鈕NewLib是建立新的庫。下半部分是對庫中的元器件進行處理,列表框顯示選中元件庫中所包含的元器件,右側的一排按鈕對選中的元件進行操作,其功能如下:
按鈕Add to Net:打開添加通用電路晶片對話框,通過輸入網路名稱,即將選中的元件加入到網路連線表。
按鈕Append a New和Append a Copy:打開庫元件編輯對話框,通過填寫對話框中的各項內容,實現向所選庫中增加期望的新元件。
按鈕Modify Comp:打開庫元件編輯對話框,修改選中的元件。
按鈕Remove Comp:從庫中永久性地刪除所選中的元件。
可簡單快捷地將電路設計中所用到的半定製電路晶片與通用電路晶片構造成完整的電氣連線網路表,供Propel PCB設計自動布局、布線使用。如此可非常容易地完成Propel PCB設計的輸入工作,實現從半定製電路設計到PCB設計的自動化。
此外,為使用方便,接口軟體Port還提供對網路連線表進行檢查、修改、整理的功能。可以對網路連線表中多餘的元器件進行刪除;對輸入錯誤的元器件進行修改;對選擇錯誤的元器件進行替換。如果要查詢元器件的連線關係,打開對話框,可方便地顯示出元器件的管腿連線,而且通過單擊按鈕Input A File可以調用Microsoft Office 97中的MicrosoftExcel,將元件的連線關係自動生成Excel檔案,為製作設計報告提供方便。
科學概況
隨著計算機及其相關技術的發展,一門嶄新的技術正在世界範圍內興起,這就是CAD ( ComputerAided Design)技術。CAD技術是電子信息技術發展的傑出成果,它的發展與套用正引發著一場工業設計和製造領域的革命。EDA ( Electronic DesignAutomation,電子設計自動化)技術,就是採用CAD技術進行電子系統和專用積體電路設計的技術。
EDA技術可面向三個不同的層次,即系統級、電路級和物理實現級。進人20世紀90年代以來,EDA技術逐漸以高級語言描述、系統仿真(systemsimulation)和綜合最佳化(synthesis)為特徵。此時的EDA技術經常被稱為ESDA ( Electronics SystemDesign Automation)。
EDA 涉及各種各樣的軟體算法和套用,它們都是設計複雜的下一代半導體和電子產品所需要的工具。 超大規模積體電路設計變得更加複雜,這對 EDA 構成了巨大挑戰。應用程式的性能無法有效提升,因為伴隨著擴展而出現的功耗增長與工藝性等問題阻礙了微處理器的性能提升。 數字系統的驗證一般通過把邏輯模擬任務分配到多個大型計算中心來完成,每次耗時長達數周之久。 然而,模擬的性能通常滯後,從而導致驗證不完整,漏掉了一些功能上的Bug。 因此,半導體行業始終在尋求更快的模擬解決方案便不足為奇了。
高性能計算 (HPC) 領域中近來的趨勢是不斷發掘群核 GPU 極具競爭力的優勢,方法是通過將這種 GPU 用作大規模並行的 CPU 協處理器,從而在計算量繁重的諸多 EDA 模擬上實現速度提升,這些模擬包括Verilog 模擬、信號完整性與電磁學、計算光刻以及 SPICE 電路模擬等等。
傳統的電子系統設計基本上採用自底向上( bottom-up)的設計方法,利用SPICE完成模擬驗證。這種方法要求設計者具有豐富的設計經驗。大部分電子系統的設計工作需要設計專家人工完成,同時任何一次設計方案的修改,都意味著一次詳細設計過程的重複,再加上模擬驗證速度較慢,因此無論在設計時間還是在設計精度上都不十分令人滿意。因此,採用人工的自底向上設計方法,已很難滿足當今電子系統的設計要求;而現在EDA所採用的自頂向下(top-down)的設計方法則有效地實現了設計周期、系統性能和系統成本之間的最佳權衡。
一般認為衡量一個電子設計自動化系統的優劣主要有以下三個方面的標準。
①一般性:用該自動化設計系統成功實現的電路和性能要求範圍;
②精確性:使用該自動化設計系統能達到的設計精度;
③有效性:把電路設計編譯成設計系統的輸入格式所用的時間和綜合最佳化所用的CPU時間。
當今流行的電子系統設計環境還存在一些弊端:層次單一;庫單元十分有限,而且結構固定,不易修改和擴充;自動化程度低,需要大量的人工設計;核心的算法在設計時間和設計精度上都不能達到理想的要求。針對這些弊端,我們借鑑以前已有設計環境的長處,提出了一個新穎的電子系統設計環境即ASEDA 。
設計方法
(1) 前端設計(系統建模RTL 級描述)後端設計(FPGAASIC)系統建模。
(2)IP復用。
(3) 前端設計。
(4) 系統描述:建立系統的數學模型。
(5) 功能描述:描述系統的行為或各子模組之間的數據流圖。
(6)邏輯設計:將系統功能結構化,通常以文本、原理圖、邏輯圖、布爾表達式來表示設計結果。
(7) 仿真:包括功能仿真和時序仿真,主要驗證系統功能的正確性及時序特性。
設計技巧
•密碼鎖輸入電路KEYB 0ARD.VHD中對各種分頻信號/信號序列的設計有獨到之處。該設計中,利用一個自由計數器來產生各種需要的頻率,也就是先建立一個N位計數器,N的大小根據電路的需求來決定。N的值越大,電路可以除頻的次數就越多,這樣就可以獲得更大的頻率變化,以便提供多種不同頻率的時鐘信號。若輸入時鐘為CLK,N位計數器的輸出為Q[N-1,0],則Q(0)為CLK的2分頻脈衝信號,Q(1)為CLK的4分頻脈衝信號,Q(2)為CLK的6分頻脈衝信號,……Q(N-1)為CLK的2N分頻脈衝信號;Q(5 DOWNT04)取得的是一個脈衝波形序列,其值是依00、01、10、11、00、01周期性變化的,其變化頻率為CLK的25分頻,也就是32分頻。我們利用以上規律即可得到各種我們所需要頻率的信號或信號序列。
•鍵盤輸入去抖電路的設計程式DEBOUNCING.VHD在實際系統的開發中有較好的參考價值。
•密碼鎖控制電路CTRL,VHD中對於數據的更新及移位方法比較好。程式中使用語句“ACC <=ACC(11 DOWNT0 0)&DATA_N”非常簡潔地同時實現了ACC中的低4位用DATA_N進行更新,而高12位用ACC中的原來的低12位左移而來的處理。
•在密碼鎖輸入電路等模組的程式的設計和仿真中,為了便於觀察一些中間結果,在程式中增加了一些觀測輸出點。這一設計技巧,對於較大的程式或多進程程式的設計非常重要。同時在仿真時,為了便於觀測全局結果,降低了分頻常數。同理,在進行程式仿真時,對於程式中數目較大的分頻/計數/計時常數的修改是非常必要的。
工具軟體
分類
EDA工具軟體可大致可分為晶片設計輔助軟體、可程式晶片輔助設計軟體、系統設計輔助軟體等三類。
目前進入我國並具有廣泛影響的EDA軟體是系統設計輔助類軟體和可程式晶片輔助設計軟體:Protel、Altium Designer、PSPICE、multisim12(原EWB的最新版本)、OrCAD、PCAD、LSIIogic、MicroSim、ISE、modelsim、Matlab等等。這些工具都有較強的功能,一般可用於幾個方面,例如很多軟體都可以進行電路設計與仿真,同時還可以進行PCB自動布局布線,可輸出多種網表檔案與第三方軟體接口。
下面按主要功能或主要套用場合,分為電路設計與仿真工具、PCB設計軟體、IC設計軟體、PLD設計工具及其它EDA軟體,進行簡單介紹。
電子電路設計與仿真工具
電子電路設計與仿真工具包括SPICE/PSPICE;multiSIM7;Matlab;SystemView;MMICAD LiveWire、Edison、Tina Pro Bright Spark等。下面簡單介紹前三個軟體。
①SPICE(Simulation Program with Integrated Circuit Emphasis):是由美國加州大學推出的電路分析仿真軟體,是20世紀80年代世界上套用最廣的電路設計軟體,1998年被定為美國國家標準。1984年,美國MicroSim公司推出了基於SPICE的微機版PSPICE(Personal-SPICE)。現在用得較多的是PSPICE6.2,可以說在同類產品中,它是功能最為強大的模擬和數字電路混合仿真EDA軟體,在國內普遍使用。最新推出了PSPICE9.1版本。它可以進行各種各樣的電路仿真、激勵建立、溫度與噪聲分析、模擬控制、波形輸出、數據輸出、並在同一視窗內同時顯示模擬與數字的仿真結果。無論對哪種器件哪些電路進行仿真,都可以得到精確的仿真結果,並可以自行建立元器件及元器件庫。
②multiSIM(EWB的最新版本)軟體:是Interactive Image Technologies Ltd在20世紀末推出的電路仿真軟體。其最新版本為multiSIM13,目前普遍使用的是multiSIM2001,相對於其它EDA軟體,它具有更加形象直觀的人機互動界面,特別是其儀器儀表庫中的各儀器儀表與操作真實實驗中的實際儀器儀表完全沒有兩樣,但它對模數電路的混合仿真功能卻毫不遜色,幾乎能夠100%地仿真出真實電路的結果,並且它在儀器儀表庫中還提供了萬用表、信號發生器、瓦特表、雙蹤示波器(對於multiSIM7還具有四蹤示波器)、波特儀(相當實際中的掃頻儀)、字信號發生器、邏輯分析儀、邏輯轉換儀、失真度分析儀、頻譜分析儀、網路分析儀和電壓表及電流表等儀器儀表。還提供了我們日常常見的各種建模精確的元器件,比如電阻、電容、電感、三極體、二極體、繼電器、可控矽、數碼管等等。模擬積體電路方面有各種運算放大器、其他常用積體電路。數字電路方面有74系列積體電路、4000系列積體電路、等等還支持自製元器件。MultiSIM7還具有I-V分析儀(相當於真實環境中的電晶體特性圖示儀)和Agilent信號發生器、Agilent萬用表、Agilent示波器和動態邏輯平筆等。同時它還能進行VHDL仿真和Verilog HDL仿真。
③MATLAB產品族:它們的一大特性是有眾多的面向具體套用的工具箱和仿真塊,包含了完整的函式集用來對圖像信號處理、控制系統設計、神經網路等特殊套用進行分析和設計。它具有數據採集、報告生成和MATLAB語言編程產生獨立C/C++代碼等功能。MATLAB產品族具有下列功能:數據分析;數值和符號計算、工程與科學繪圖;控制系統設計;數字圖像信號處理;財務工程;建模、仿真、原型開發;套用開發;圖形用戶界面設計等。MATLAB產品族被廣泛套用於信號與圖像處理、控制系統設計、通訊系統仿真等諸多領域。開放式的結構使MATLAB產品族很容易針對特定的需求進行擴充,從而在不斷深化對問題的認識同時,提高自身的競爭力。
PCB設計軟體
PCB(Printed-Circuit Board)設計軟體種類很多,如Protel、Altium Designer、OrCAD、Viewlogic、PowerPCB、Cadence PSD、MentorGraphices的Expedition PCB、Zuken CadStart、Winboard/Windraft/Ivex-SPICE、PCB Studio、TANGO、PCBWizard(與LiveWire配套的PCB製作軟體包)、ultiBOARD7(與multiSIM2001配套的PCB製作軟體包)等等。
目前在我國用得最多當屬Protel,下面僅對此軟體作一介紹。
Protel是PROTEL(現為Altium)公司在20世紀80年代末推出的CAD工具,是PCB設計者的首選軟體。它較早在國內使用,普及率最高,在很多的大、中專院校的電路專業還專門開設Protel課程,幾乎所在的電路公司都要用到它。早期的Protel主要作為印刷板自動布線工具使用,其最新版本為Altium Designer 10,現在普遍使用的是Protel99SE,它是個完整的全方位電路設計系統,包含了電原理圖繪製、模擬電路與數字電路混合信號仿真、多層印刷電路板設計(包含印刷電路板自動布局布線),可程式邏輯器件設計、圖表生成、電路表格生成、支持宏操作等功能,並具有Client/Server(客戶/服務體系結構), 同時還兼容一些其它設計軟體的檔案格式,如ORCAD、PSPICE、EXCEL等。使用多層印製線路板的自動布線,可實現高密度PCB的100%布通率。Protel軟體功能強大(同時具有電路仿真功能和PLD開發功能)、界面友好、使用方便,但它最具代表性的是電路設計和PCB設計。
IC設計軟體
IC設計工具很多,其中按市場所占份額排行為Cadence、Mentor Graphics和Synopsys。這三家都是ASIC設計領域相當有名的軟體供應商。其它公司的軟體相對來說使用者較少。中國華大公司也提供ASIC設計軟體(熊貓2000);另外近來出名的Avanti公司,是原來在Cadence的幾個華人工程師創立的,他們的設計工具可以全面和Cadence公司的工具相抗衡,非常適用於深亞微米的IC設計。下面按用途對IC設計軟體作一些介紹。
①設計輸入工具
這是任何一種EDA軟體必須具備的基本功能。像Cadence的composer,viewlogic的viewdraw,硬體描述語言VHDL、Verilog HDL是主要設計語言,許多設計輸入工具都支持HDL(比如說multiSIM等)。另外像Active-HDL和其它的設計輸入方法,包括原理和狀態機輸入方法,設計FPGA/CPLD的工具大都可作為IC設計的輸入手段,如Xilinx、Altera等公司提供的開發工具Modelsim FPGA等。
②設計仿真工作
我們使用EDA工具的一個最大好處是可以驗證設計是否正確,幾乎每個公司的EDA產品都有仿真工具。Verilog-XL、NC-verilog用於Verilog仿真,Leapfrog用於VHDL仿真,Analog Artist用於模擬電路仿真。Viewlogic的仿真器有:viewsim門級電路仿真器,speedwaveVHDL仿真器,VCS-verilog仿真器。Mentor Graphics有其子公司Model Tech出品的VHDL和Verilog雙仿真器:Model Sim。Cadence、Synopsys用的是VSS(VHDL仿真器)。現在的趨勢是各大EDA公司都逐漸用HDL仿真器作為電路驗證的工具。
③綜合工具
綜合工具可以把HDL變成門級網表。這方面Synopsys工具占有較大的優勢,它的Design Compile是作為一個綜合的工業標準,它還有另外一個產品叫Behavior Compiler,可以提供更高級的綜合。
另外最近美國又出了一個軟體叫Ambit,據說比Synopsys的軟體更有效,可以綜合50萬門的電路,速度更快。今年初Ambit被Cadence公司收購,為此Cadence放棄了它原來的綜合軟體Synergy。隨著FPGA設計的規模越來越大,各EDA公司又開發了用於FPGA設計的綜合軟體,比較有名的有:Synopsys的FPGA Express, Cadence的Synplity, Mentor的Leonardo,這三家的FPGA綜合軟體占了市場的絕大部分。
④布局和布線
在IC設計的布局布線工具中,Cadence軟體是比較強的,它有很多產品,用於標準單元、門陣列已可實現互動布線。最有名的是Cadence spectra,它原來是用於PCB布線的,後來Cadence把它用來作IC的布線。其主要工具有:Cell3,Silicon Ensemble-標準單元布線器;Gate Ensemble-門陣列布線器;Design Planner-布局工具。其它各EDA軟體開發公司也提供各自的布局布線工具。
⑤物理驗證工具
物理驗證工具包括版圖設計工具、版圖驗證工具、版圖提取工具等等。這方面Cadence也是很強的,其Dracula、Virtuso、Vampire等物理工具有很多的使用者。
⑥模擬電路仿真器
前面講的仿真器主要是針對數字電路的,對於模擬電路的仿真工具,普遍使用SPICE,這是唯一的選擇。只不過是選擇不同公司的SPICE,像MiceoSim的PSPICE、Meta Soft的HSPICE等等。HSPICE現在被Avanti公司收購了。在眾多的SPICE中,HSPICE作為IC設計,其模型多,仿真的精度也高。
PLD設計工具
PLD(Programmable Logic Device)是一種由用戶根據需要而自行構造邏輯功能的數字積體電路。目前主要有兩大類型:CPLD(Complex PLD)和FPGA(Field Programmable Gate Array)。它們的基本設計方法是藉助於EDA軟體,用原理圖、狀態機、布爾表達式、硬體描述語言等方法,生成相應的目標檔案,最後用編程器或下載電纜,由目標器件實現。生產PLD的廠家很多,但最有代表性的PLD廠家為Altera、Xilinx和Lattice公司。
PLD的開發工具一般由器件生產廠家提供,但隨著器件規模的不斷增加,軟體的複雜性也隨之提高,目前由專門的軟體公司與器件生產廠家使用,推出功能強大的設計軟體。下面介紹主要器件生產廠家和開發工具。
①ALTERA:20世紀90年代以後發展很快。主要產品有:MAX3000/7000、FELX6K/10K、APEX20K、ACEX1K、Stratix等。其開發工具-MAX+PLUS II是較成功的PLD開發平台,最新又推出了Quartus II開發軟體。Altera公司提供較多形式的設計輸入手段,綁定第三方VHDL綜合工具,如:綜合軟體FPGA Express、Leonard Spectrum,仿真軟體ModelSim。
②XILINX:FPGA的發明者。產品種類較全,主要有:XC9500/4000、Coolrunner(XPLA3)、Spartan、Vertex等系列,其最大的Vertex-II Pro器件已達到800萬門。開發軟體為Foundation和ISE。通常來說,在歐洲用Xilinx的人多,在日本和亞太地區用ALTERA的人多,在美國則是平分秋色。全球PLD/FPGA產品60%以上是由Altera和Xilinx提供的。可以講Altera和Xilinx共同決定了PLD技術的發展方向。
③Lattice-Vantis:Lattice是ISP(In-System Programmability)技術的發明者。ISP技術極大地促進了PLD產品的發展,與ALTERA和XILINX相比,其開發工具比Altera和Xilinx略遜一籌。中小規模PLD比較有特色,大規模PLD的競爭力還不夠強(Lattice沒有基於查找表技術的大規模FPGA),1999年推出可程式模擬器件,1999年收購Vantis(原AMD子公司),成為第三大可程式邏輯器件供應商。2001年12月收購Agere公司(原Lucent微電子部)的FPGA部門。主要產品有ispLSI2000/5000/8000,MACH4/5。
④ACTEL:反熔絲(一次性燒寫)PLD的領導者。由於反熔絲PLD抗輻射、耐高低溫、功耗低、速度快,所以在軍品和宇航級上有較大優勢。ALTERA和XILINX則一般不涉足軍品和宇航級市場。
⑤Quicklogic:專業PLD/FPGA公司,以一次性反熔絲工藝為主,在中國地區銷售量不大。
⑥Lucent:主要特點是有不少用於通訊領域的專用IP核,但PLD/FPGA不是Lucent的主要業務,在中國地區使用的人很少。
⑦ATMEL:中小規模PLD做得不錯。ATMEL也做了一些與Altera和Xilinx兼容的片子,但在品質上與原廠家還是有一些差距,在高可靠性產品中使用較少,多用在低端產品上。
⑧Clear Logic:生產與一些著名PLD/FPGA大公司兼容的晶片,這種晶片可將用戶的設計一次性固化,不可程式,批量生產時的成本較低。
⑨WSI:生產PSD(單片機可程式外圍晶片)產品。這是一種特殊的PLD,如最新的PSD8xx、PSD9xx集成了PLD、EPROM、Flash,並支持ISP(線上編程),集成度高,主要用於配合單片機工作。
⑦Altium:提供Actel、Altera、Lattice和Xilinx四家PLD/FPGA器件的通用跨廠商開發平台,最新推出了Altium Designer 10軟體中集成了Aldec HDL仿真功能。
順便提一下:PLD(可程式邏輯器件)是一種可以完全替代74系列及GAL、PLA的新型電路,只要有數字電路基礎,會使用計算機,就可以進行PLD的開發。PLD的線上編程能力和強大的開發軟體,使工程師可以幾天,甚至幾分鐘內就可完成以往幾周才能完成的工作,並可將數百萬門的複雜設計集成在一顆晶片內。PLD技術在已開發國家已成為電子工程師必備的技術。
其它EDA軟體
①VHDL語言:超高速積體電路硬體描述語言(VHSIC Hardware Description Language,簡稱VHDL),是IEEE的一項標準設計語言。它源於美國國防部提出的超高速積體電路(Very High Speed Integrated Circuit,簡稱VHSIC)計畫,是ASIC設計和PLD設計的一種主要輸入工具。
②Verilog HDL:是Verilog公司推出的硬體描述語言,在ASIC設計方面與VHDL語言平分秋色。
③其它EDA軟體如專門用於微波電路設計和電力載波工具、PCB製作和工藝流程控制等領域的工具,在此就不作介紹了。
套用範圍
EDA在教學、科研、產品設計與製造等各方面都發揮著巨大的作用。在教學方面,幾乎所有理工科(特別是電子信息)類的高校都開設了EDA課程。主要是讓學生了解EDA的基本概念和基本原理、掌握用HDL語言編寫規範、掌握邏輯綜合的理論和算法、使用EDA工具進行電子電路課程的實驗驗證並從事簡單系統的設計。一般學習電路仿真工具(如multiSIM、PSPICE)和PLD開發工具(如Altera/Xilinx的器件結構及開發系統),為今後工作打下基礎。
科研方面主要利用電路仿真工具(multiSIM或PSPICE)進行電路設計與仿真;利用虛擬儀器進行產品測試;將CPLD/FPGA器件實際套用到儀器設備中;從事PCB設計和ASIC設計等。
在產品設計與製造方面,包括計算機仿真,產品開發中的EDA工具套用、系統級模擬及測試環境的仿真,生產流水線的EDA技術套用、產品測試等各個環節。如PCB的製作、電子設備的研製與生產、電路板的焊接、ASIC的製作過程等。
從套用領域來看,EDA技術已經滲透到各行各業,如上文所說,包括在機械、電子、通信、航空航航天、化工、礦產、生物、醫學、軍事等各個領域,都有EDA套用。另外,EDA軟體的功能日益強大,原來功能比較單一的軟體,現在增加了很多新用途。如AutoCAD軟體可用於機械及建築設計,也擴展到建築裝璜及各類效果圖、汽車和飛機的模型、電影特技等領域。
發展趨勢
從目前的EDA技術來看,其發展趨勢是政府重視、使用普及、套用廣泛、工具多樣、軟體功能強大。
中國EDA市場已漸趨成熟,不過大部分設計工程師面向的是PCB制板和小型ASIC領域,僅有小部分(約11%)的設計人員開發複雜的片上系統器件。為了與台灣和美國的設計工程師形成更有力的競爭,中國的設計隊伍有必要引進和學習一些最新的EDA技術。
在信息通信領域,要優先發展高速寬頻信息網、深亞微米積體電路、新型元器件、計算機及軟體技術、第三代移動通信技術、信息管理、信息安全技術,積極開拓以數位技術、網路技術為基礎的新一代信息產品,發展新興產業,培育新的經濟成長點。要大力推進制造業信息化,積極開展計算機輔助設計(CAD)、計算機輔助工程(CAE)、計算機輔助工藝(CAPP)、計算機機輔助製造(CAM)、產品數據管理(PDM)、製造資源計畫(MRPII)及企業資源管理(ERP)等。有條件的企業可開展“網路製造”,便於合作設計、合作製造,參與國內和國際競爭。開展“數控化”工程和“數位化”工程。自動化儀表的技術發展趨勢的測試技術、控制技術與計算機技術、通信技術進一步融合,形成測量、控制、通信與計算機(M3C)結構。在ASIC和PLD設計方面,向超高速、高密度、低功耗、低電壓方面發展。
外設技術與EDA工程相結合的市場前景看好,如組合超大螢幕的相關連線,多螢幕技術也有所發展。
中國自1995年以來加速開發半導體產業,先後建立了幾所設計中心,推動系列設計活動以應對亞太地區其它EDA市場的競爭。
在EDA軟體開發方面,目前主要集中在美國。但各國也正在努力開發相應的工具。日本、韓國都有ASIC設計工具,但不對外開放。中國華大積體電路設計中心,也提供IC設計軟體,但性能不是很強。相信在不久的將來會有更多更好的設計工具在各地開花並結果。據最新統計顯示,中國和印度正在成為電子設計自動化領域發展最快的兩個市場,年複合增長率分別達到了50%和30%。