電子設計自動化技術(DOC 27)_第1頁
電子設計自動化技術(DOC 27)_第2頁
電子設計自動化技術(DOC 27)_第3頁
電子設計自動化技術(DOC 27)_第4頁
電子設計自動化技術(DOC 27)_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.:.; 電子設計自動化技術20世紀末,電子設計技術獲得了飛速的開展,在其推進下,現代電子產品幾乎浸透到社會的各個領域,有力地推進了社會消費力的開展和社會信息化程度的提高,同時也使現代電子產品性能進一步提高,產品更新換代的節拍也變得越來越快。微電子技術的提高表如今大規模集成電路加工技術即半導體工藝技術的開展上,使得表征半導體工藝程度的線寬曾經到達了90nm,并還在不斷地減少,在硅片單位面積上,集成了更多的晶體管。集成電路設計正在不斷地向超大規模、極低功耗和超高速的方向開展;公用集成電路ASICApplication Specific Integrated Circuit的設計本錢不斷降低,在功

2、能上,現代的集成電路已可以實現單片電子系統SOCSystem On a Chip。現代電子設計技術的中心已日趨轉向基于計算機的電子設計自動化技術,即EDAElectronic Design Automation技術。EDA技術就是依賴功能強大的計算機,在EDA工具軟件平臺上,對以硬件描畫言語HDLHardware Description Language為系統邏輯描畫手段完成的設計文件,自動地完成邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合、構造綜合規劃布線,以及邏輯優化和仿真測試,直至實現既定的電子線路系統功能。EDA技術使得設計者的任務僅限于利用軟件的方式,即利用硬件描畫言語和EDA軟件來完成對

3、系統硬件功能的實現,這是電子設計技術的一個宏大提高。另一方面,在現代高新電子產品的設計和消費中,微電子技術和現代電子設計技術是相互促進、相互推進又相互制約的兩個環節;前者代表了物理層在廣度和深度上硬件電路實現的開展,后者那么反映了現代先進的電子實際、電子技術、仿真技術、設計工藝和設計技術與最新的計算機軟件技術有機的交融和升華。因此,嚴厲地說,EDA技術應該是這二者的結合,是這兩個技術領域共同孕育的奇葩。EDA技術在硬件實現方面交融了大規模集成電路制造技術,IC幅員設計技術、ASIC測試和封裝技術、FPGA/CPLD編程下載技術、自動測試技術等;在計算機輔助工程方面交融了計算機輔助設計CAD、計

4、算機輔助制造CAM、計算機輔助測試CAT、計算機輔助工程CAE技術以及多種計算機言語的設計概念;而在現代電子學方面那么包容了更多的內容,如電子線路設計實際、數字信號處置技術、數字系統建模和優化技術及長線技術實際等。因此EDA技術為現代電子實際和設計的表達與實現提供了能夠性。在現代技術的一切領域中,縱觀許多得以飛速開展的科學技術,多為計算機輔助設計,而非自動化設計。顯然,最早進入設計自動化的技術領域之一是電子技術,這就是為什么電子技術一直處于一切科學技術開展最前列的緣由之一。不難了解,EDA技術已不是某一學科的分支,或某種新的技藝技術,而應該是一門綜合性學科。它交融多學科于一體,又浸透于各學科之

5、中,突破了軟件和硬件間的壁壘,使計算機的軟件技術與硬件實現、設計效率和產品性能合二為一,它代表了電子設計技術和運用技術的開展方向。正由于EDA技術豐富的內容以及與電子技術各學科領域的相關性,其開展的歷程同大規模集成電路設計技術、計算機輔助工程、可編程邏輯器件,以及電子設計技術和工藝的開展是同步的。就過去近30年的電子技術的開展歷程,可大致將EDA技術的開展分為三個階段。20世紀70年代,在集成電路制造方面,MOS工藝已得到廣泛的運用。可編程邏輯技術及其器件曾經問世,計算機作為一種運算工具已在科研領域得到廣泛運用。而在后期,CAD的概念已見雛形,這一階段人們開場利用計算機取代手工勞動,輔助進展集

6、成電路幅員編輯、PCB規劃布線等任務。20世紀80年代,集成電路設計進入了CMOS互補場效應管時代。復雜可編程邏輯器件已進入商業運用,相應的輔助設計軟件也已投入運用;而在80年代末,出現了FPGAField Programmable Gate Array,CAE和CAD技術的運用更為廣泛,它們在PCB設計方面的原理圖輸入、自動規劃布線及PCB分析,以及邏輯設計、邏輯仿真、布爾方程綜合和化簡等方面擔任了重要的角色。特別是各種硬件描畫言語的出現、運用和規范化方面的艱苦提高,為電子設計自動化必需處理的電路建模、規范文檔及仿真測試奠定了根底。進入20世紀90年代,隨著硬件描畫言語的規范化得到進一步確實

7、立,計算機輔助工程、輔助分析和輔助設計在電子技術領域獲得更加廣泛的運用,與此同時,電子技術在通訊、計算機及家電產品消費中的市場需求和技術需求,也極大地推進了全新的電子設計自動化技術的運用和開展。特別是集成電路設計工藝步入了超深亞微米階段,百萬門以上的大規模可編程邏輯器件的陸續面世,以及基于計算機技術的面向用戶的低本錢大規模ASIC設計技術的運用,促進了EDA技術的構成。更為重要的是各EDA公司努力于推出兼容各種硬件實現方案和支持規范硬件描畫言語的EDA工具軟件的研討,都有效地將EDA技術推向成熟和適用。EDA技術在進入21世紀后,得到了更大的開展,突出表如今以下幾個方面。在FPGA上實現DSP

8、數字信號處置運用成為能夠,用純數字邏輯進展DSP模塊的設計,使得高速DSP實現成為現實,并有力地推進了軟件無線電技術的適用化和開展。基于FPGA的DSP技術,為高速數字信號處置算法提供了實現途徑。嵌入式處置器軟核的成熟,使得SOPCSystem On a Programmable Chip步入大規模運用階段,在一片FPGA中實現一個完備的數字處置系統成為能夠。使電子設計成果以自主知識產權的方式得以明確表達和確認成為能夠。在仿真和設計兩方面支持規范硬件描畫言語且功能強大的EDA軟件不斷推出。電子技術領域全方位融入EDA技術,除了日益成熟的數字技術外,傳統的電路系統設計建模理念發生了艱苦的變化:軟

9、件無線電技術的崛起,模擬電路系統硬件描畫言語的表達和設計的規范化,系統可編程模擬器件的出現,數字信號處置和圖像處置的全硬件實現方案的普遍接受,軟硬件技術的進一步交融等。EDA使得電子領域各學科的界限更加模糊,更加互為包容:模擬與數字、軟件與硬件、系統與器件、ASIC與FPGA、行為與構造等。更大規模的FPGA和CPLD器件的不斷推出。基于EDA的用于ASIC設計的規范單元已涵蓋大規模電子系統及復雜IP核模塊。軟硬IPIntellectual Property核在電子行業的產業領域廣泛運用。SOC高效低本錢設計技術的成熟。系統級、行為驗證級硬件描畫言語出現如System C,使復雜電子系統的設計

10、和驗證趨于簡單。1.2 電子設計自動化運用對象普通地說,利用EDA技術進展電子系統設計,最后實現的目的是以下3種。全定制或半定制ASIC。FPGA/CPLD或稱可編程ASIC開發運用。PCB印制電路板。實現目的的前面兩項可以歸結為公用集成電路ASIC的設計和實現如圖1-1所示,ASIC是最終的物理平臺,集中包容了用戶經過EDA技術將電子運用系統的既定功能和技術目的詳細實現的硬件實體。普通而言,公用集成電路就是具有專門用途和特定功能的獨立集成電路器件,根據這個定義,作為EDA技術最終實現目的的ASIC,可以經過3種途徑來完成,這可以經過圖1-1來闡明。圖1-1 EDA技術實現目的圖1-1中所標的

11、另外一個EDA技術實現目的PCB,指的是印制電路板的規劃布線設計及驗證分析,由于不涉及芯片層面上的設計,故不擬展開。下面主要引見FPGA/CPLD與ASIC。1超大規模可編程邏輯器件FPGAField Programmable Gate Array和CPLDComplex Programmable Logic Device是實現這一途徑的主流器件,它們的特點是直接面向用戶,具有極大的靈敏性和通用性,運用方便,硬件測試和實現快捷,開發效率高,本錢低,上市時間短,技術維護簡單,任務可靠性好等。FPGA和CPLD的運用是EDA技術有機交融軟硬件電子設計技術以及對自動化設計與自動化實現最典型的詮釋。由

12、于FPGA和CPLD的開發工具、開發流程和運用方法與ASIC有類似之處,因此這類器件通常也被稱為可編程公用IC,或可編程ASIC。2半定制或全定制ASIC根據實現的工藝,基于EDA設計技術的半定制或全定制ASIC可統稱為掩膜MASKASIC,或直接稱ASIC。ASIC大致分為門陣列ASIC、規范單元ASIC和全定制ASIC。門陣列ASIC門陣列芯片包括預定制相連的PMOS和NMOS晶體管行。設計中,用戶可以借助EDA工具將原理圖或硬件描畫言語模型映像為相應門陣列晶體管配置,創建一個指定金屬互連途徑文件,從而完成門陣列ASIC開發。由于有掩膜的創建過程,門陣列有時也稱掩膜可編程門陣列MPGA。但

13、是 MPGA與FPGA完全不同,它不是用戶可編程的,也不屬于可編程邏輯范疇,而是實踐的ASIC。MPGA出如今FPGA之前,FPGA技術那么源自MPGA。如今,Altera的HardCopy、HardCopy II技術可以提供一種把FPGA的設計轉化為構造化ASIC的途徑。規范單元ASIC目前大部分ASIC是運用庫中的不同大小的規范單元設計的,這類芯片普通稱作基于單元的集成電路Cell-based Integrated Circuits,CBIC。在設計者一級,庫包括不同復雜性的邏輯組件:SSI邏輯塊、MSI邏輯塊、數據通道模塊、存儲器、IP,以及系統級模塊。庫包含每個邏輯單元在硅片級的完好規

14、劃,運用者只需利用EDA軟件工具與邏輯塊描畫打交道即可,完全不用關懷電路規劃的細節。規范單元規劃中,一切分散、接觸點、過孔、多晶信道及金屬信道都已完全確定。當該單元用于設計時,經過EDA軟件產生的網表文件將單元規劃塊“粘貼到芯片規劃之上的單元行上。規范單元ASIC設計與FPGA設計開發的流程相近。全定制芯片全定制芯片中,在針對特定工藝建立的設計規那么下,設計者對于電路的設計有完全的控制權,如線的間隔和晶體管大小確實定。該領域的一個例外是混合信號設計,運用通訊電路的ASIC可以定制設計其模擬部分。3混合ASIC混合ASIC不是指數模混合ASIC主要指既具有面向用戶的FPGA可編程功能和邏輯資源,

15、同時也含有可方便調用和配置的硬件規范單元模塊,如CPU、RAM、ROM、硬件加法器、乘法器、鎖相環等。Xilinx、Atmel和Altera公司曾經推出了這方面的器件,如Virtex-4系列、Excalibur含ARM核和Stratix II系列等。混合ASIC為SOC和SOPCSystem On a Programmable Chip的設計實現成為便利的途徑。1.3 硬件描畫言語硬件描畫言語HDL是EDA技術的重要組成部分,常見的HDL主要有VHDL、Verilog HDL、ABEL、AHDL、SystemVerilog和SystemC。其中VHDL、Verilog在如今EDA設計中運用最多

16、,也擁有幾乎一切的主流EDA工具的支持。而SystemVerilog和SystemC這兩種HDL言語還處于完善過程中。VHDL是作為電子設計主流硬件的描畫言語之一,本書將重點引見它的編程方法和運用技術。1.3.1 硬件描畫言語VHDLVHDL的英文全名是VHSICVery High Speed Integrated CircuitHardware Description Language,于1983年由美國國防部DOD發起創建,由IEEEThe Institute of Electrical and Electronics Engineers進一步開展,并在1987年作為“IEEE規范1076

17、發布。從此,VHDL成為硬件描畫言語的業界規范之一。自IEEE公布了VHDL的規范版本IEEE Std 1076之后,各EDA公司相繼推出了本人的VHDL設計環境,或宣布本人的設計工具支持VHDL。以后VHDL在電子設計領域得到了廣泛運用,并逐漸取代了原有的非規范硬件描畫言語。VHDL作為一個規范言語和建模言語,隨著它的規范化,出現了一些支持該言語的行為仿真器。由于創建VHDL的最初目的是用于規范文檔的建立和電路功能模擬,其根本想法是在高層次上描畫系統和組件的行為。但到了20世紀90年代初,人們發現,VHDL不僅可以作為系統模擬的建模工具,而且可以作為電路系統的設計工具;可以利用軟件工具將VH

18、DL源碼自動地轉化為文本方式表達的根本邏輯組件銜接圖,即網表文件。這種方法顯然對于電路自動設計是一個極大的推進。很快,電子設計領域出現了第一個軟件設計工具,即VHDL邏輯綜合器,它可以規范地將VHDL的部分語句描畫轉化為詳細電路實現的網表文件。1993年,IEEE對VHDL進展了修訂,從更高的籠統層次和系統描畫才干上擴展了VHDL的內容,公布了新版本的VHDL,即IEEE規范的1076-1993版本。如今,VHDL和Verilog作為IEEE的工業規范硬件描畫言語,得到眾多EDA公司的支持,在電子工程領域,已成為現實上的通用硬件描畫言語。如今公布的最新VHDL規范版本是IEEE 1076-20

19、02。VHDL言語具有很強的電路描畫和建模才干,能從多個層次對數字系統進展建模和描畫,從而大大簡化了硬件設計義務,提高了設計效率和可靠性。VHDL具有與詳細硬件電路無關和與設計平臺無關的特性,并且具有良好的電路行為描畫和系統描畫的才干,并在言語易讀性和層次化構造化設計方面,表現了強大的生命力和運用潛力。因此,VHDL在支持各種方式的設計方法、自頂向下與自底向上或混合方法方面,在面對當今許多電子產品生命周期的縮短,需求多次重新設計以融入最新技術,改動工藝等方面都表現了良好的順應性。用VHDL進展電子系統設計的一個很大的優點是設計者可以專心努力于其功能的實現,而不需求對不影響功能的與工藝有關的要素

20、破費過多的時間和精神。1.3.2 硬件描畫言語的綜合綜合Synthesis,就其字面含義應該為:把籠統的實體結合成單個或一致的實體。因此,綜合就是把某些東西結合到一同,把設計籠統層次中的一種表述轉化成另一種表述的過程。對于電子設計領域的綜合概念可以表示為:將用行為和功能層次表達的電子系統轉換為低層次的便于詳細實現的模塊組合裝配而成的過程。現實上,設計過程中的每一步都可稱為一個綜合環節。設計過程通常從高層次的行為描畫開場,以最低層的構造描畫終了,每個綜合步驟都是上一層次的轉換。從自然言語表述轉換到VHDL言語算法表述,是自然言語綜合。從算法表述轉換到存放器傳輸級Register Transfer

21、 Level,RTL表述,即從行為域到構造域的綜合,是行為綜合。從RTL級表述轉換到邏輯門包括觸發器的表述,即邏輯綜合。從邏輯門表述轉換到幅員表述ASIC設計,或轉換到FPGA的配置網表文件,可稱為幅員綜合或構造綜合。有了幅員信息就可以把芯片消費出來了。有了對應的配置文件,就可以使對應的FPGA變成具有專門功能的電路器件。顯然,綜合器就是可以自動將一種設計表示方式向另一種設計表示方式轉換的計算機程序,或協助進展手工轉換的程序。它可以將高層次的表述轉化為低層次的表述,可以從行為域轉化為構造域,可以將高一級籠統的電路表述如算法級轉化為低一級的表述如門級,并可以用某種特定的硬件技術實現如CMOS。對

22、設計者而言,在高籠統層次進展系統設計,再利用綜合工具將設計轉化為低層次的表示,與直接在低籠統層次來設計系統的情況相比,類似于一個程序員用高級言語編程并用編譯器將程序編譯成機器代碼和直接用機器代碼進展編程時的情況。前一種情況在于設計者可以將精神主要集中于系統級問題上,而由于不用關懷低級層次的設計所面臨的細節問題,在高籠統層次上進展設計和編程將破費較少的時間和精神,并且減少錯誤的發生。另一方面,雖然如圖1-2所示從外表上看,VHDL等硬件描畫言語綜合器和軟件程序編譯器都不過是一種“翻譯器,它們都能將高層次的設計表達轉化為低層次的表達,但它們卻具有許多本質的區別。編譯器將軟件程序翻譯成基于某種特定C

23、PU的機器代碼,這種代碼僅限于這種CPU而不能移植,并且機器代碼不代表硬件構造,更不能改動CPU的硬件構造,只能被動地為其特定的硬件電路構造所利用。假設脫離了已有的硬件環境CPU,機器代碼將失去意義。此外,編譯器作為一種軟件的運轉,除了某種單一目的器件,即CPU的硬件構造外,不需求任何與硬件相關的器件庫和工藝庫參與編譯。因此,編譯器的任務單純得多,編譯過程根本屬于一種一一對應式的“翻譯行為。綜合器那么不同,同樣是類似的軟件代碼如VHDL程序,綜合器轉化的目的是底層的電路構造網表文件,這種滿足原設計程序功能描畫的電路構造不依賴于任何特定硬件環境,因此可以獨立地存在,并能隨便地被移植到任何通用硬件

24、環境中,如ASIC、FPGA等。換言之,電路網表代表了特定的硬件構造,因此具備了隨時改動硬件構造的根據。綜合的結果具有相對獨立性。另一方面,綜合器在將硬件描畫言語表達的電路功能轉化成詳細的電路構造網表過程中,具有明顯的能動性和發明性,它不是機械的一一對應式的“翻譯,而是根據設計庫、工藝庫以及預先設置的各類約束條件,選擇最優的方式完成電路構造的構成。這就是說,對于一樣的VHDL表述,綜合器可以用不同的電路構造實現一樣的功能。如圖1-3所示,與編譯器相比,綜合器具有更復雜的任務環境,綜合器在接受VHDL程序并預備對其綜合前,必需獲得最終實現設計電路硬件特征相關的工藝庫的信息,以及獲得優化綜合的諸多

25、約束條件。普通地,約束條件可以分為3種,即設計規那么、時間約束、面積約束。通常,時間約束的優先級高于面積約束。設計優化要求,當綜合器把VHDL源碼翻譯成通用原理圖時,將識別形狀機、加法器、乘法器、多路選擇器和存放器等。這些運算功能根據VHDL源碼中的符號,如加減乘除。每種運算都可用多種方法實現,如加法可實現方案有多種,有的面積小,速度慢;有的速度快,面積大。VHDL行為描畫強調的是電路的行為和功能,而不是電路如何實現。選擇電路的實現方案正是綜合器的義務。綜合器選擇一種能充分滿足各項約束條件且本錢最低的實現方案。如今的許多綜合器還允許設計者指定在做映像優化時綜合器應付出多大“努力;“努力普通可分

26、為低、中、高三檔。圖1-2 編譯器和綜合功能比較 圖1-3 VHDL綜合器運轉流程需求留意的是,VHDL和Verilog方面的IEEE規范主要指的是文檔的表述、行為建模及其仿真,至于在電子線路的設計方面,VHDL和Verilog并沒有得到全面的支持和規范化。這就是說,VHDL綜合器并不能支持規范VHDL的選集全部語句程序,而只能支持其子集,即部分語句,并且不同的VHDL綜合器所支持的VHDL子集也不完全一樣。這樣一來,對于一樣VHDL源代碼,不同的VHDL綜合器能夠綜合出在構造和功能上并不完全一樣的電路系統。對此,設計者應給予充分的留意。因此,對于不同的綜合結果,不應對綜合器的特性貿然作出評價

27、,同時在設計過程中,必需盡能夠全面了解所運用的綜合工具的根本特性。1.3.3 自頂向下設計方法傳統的電子設計流程通常是自底向上的,即首先確定構成系統的最底層的電路模塊或組件的構造和功能,然后根據主系統的功能要求,將它們組合成更大的功能塊,使它們的構造和功能滿足高層系統的要求。以此流程,逐漸向上遞推,直至完成整個目的系統的設計。例如,對于普通電子系統的設計,運用自底向上的設計方法,必需首先決議運用的器件類別和規格,如74系列的器件、某種RAM和ROM、某類CPU或單片機以及某些公用功能芯片等;然后是構成多個功能模塊,如數據采集控制模塊、信號處置模塊、數據交換和接口模塊等,直至最后利用它們完成整個

28、系統的設計。對于ASIC設計,那么是根據系統的功能要求,首先從繪制硅片幅員開場,逐級向上完成幅員級、門級、RTL級、行為級、功能級,直至系統級的設計。在這個過程中,任何一級發生問題,通常都不得不返工重來。自底向上的設計方法的特點是必需首先關注并努力于處理系統最底層硬件的可獲得性,以及它們的功能特性方面的諸多細節問題;在整個逐級設計和測試過程中,一直必需顧及詳細目的器件的技術細節。在這個設計過程中的任一時辰,最底層目的器件的改換,或某些技術參數不滿足總體要求,或缺貨,或由于市場競爭的變化,暫時提出降低系統本錢,提高運轉速度等不可預測的外部要素,都將能夠使前面的任務前功盡棄。由此可見,在某些情況下

29、,自底向上的設計方法是一種低效、低可靠性、費時費力,且本錢高昂的設計方法。在電子設計領域,自頂向下設計方法只需在EDA技術得到快速開展和成熟運用的今天才成為能夠。自頂向下設計方法的有效運用必需基于功能強大的EDA工具、具備集系統描畫、行為描畫和構造描畫功能為一體的VHDL硬件描畫言語,以及先進的ASIC制造工藝和FPGA開發技術。當今,自頂向下的設計方法曾經是EDA技術的首選設計方法,是ASIC或FPGA開發的主要設計手段。在EDA技術運用中,自頂向下的設計方法就是在整個設計流程中各設計環節逐漸求精的過程。一個工程的設計過程包括從自然言語闡明到VHDL的系統行為描畫、系統的分解、RTL模型的建

30、立、門級模型產生,到最終的可以物理布線實現的底層電路,就是從高籠統級別到低籠統級別的整個設計周期。后端設計還必需包括涉及硬件的物理構造實現方法和測試依然利用計算機完成。運用VHDL進展自頂向下的設計,就是運用VHDL模型在一切綜合級別上對硬件設計進展闡明、建模和仿真測試。主系統及子系統最初的功能要求在VHDL里表達為可以被VHDL仿真程序驗證的可執行程序。由于綜合工具可以將高級別的模型轉化為門級模型,所以整個設計過程根本是由計算機自動完成的。人為介入的方式主要是根據仿真的結果和優化的目的來控制邏輯綜合的方式和指向。因此,在設計周期中,要根據仿真的結果進展優化和晉級,以及對模型及時的修正,以改良

31、系統或子系統的功能,更正設計錯誤,提高目的系統的任務速度,減小面積耗用,降低功耗和本錢等。或者啟用新技術器件或新的IP核。在這些過程中,由于設計的下一步是基于當前的設計,即使發現問題或作新的修正而需從頭開場設計,也不妨礙整體的設計效率。此外,VHDL優秀的可移植性、EDA平臺的通用性以及與詳細硬件構造的無關性,使得前期的設計可以容易地運用于新的設計工程,那么工程設計的周期可以顯著縮短。因此,EDA設計方法里非常強調將前一個VHDL模型重用的方法。此外隨著設計層次的降低,在低級別上運用高級別的測試包來測試模型也很重要并有效。自頂而下的設計方法能使系統被分解為各個模塊的集合之后,可以對設計的每個獨

32、立模塊指派不同的任務小組。這些小組可以任務在不同地點,甚至可以分屬不同的單位,最后將不同的模塊集成為最終的系統模型,并對其進展綜合測試和評價。1.3.4 EDA技術設計流程圖1-4給出了自頂向下設計流程的框圖闡明,它包括以下設計階段:1提出設計闡明書,即用自然言語表達系統工程的功能特點和技術參數等。2建立VHDL行為模型,這一步是將設計闡明書轉化為VHDL行為模型。在這一工程的表達中,可以運用滿足IEEE規范的VHDL的一切語句而不用思索可綜合性。這一建模行為的目的是經過VHDL仿真器對整個系統進展系統行為仿真和性能評價。在行為模型的建立過程中,假設最終的系統中包括目的ASIC或FPGA以外的

33、電路器件,如RAM、ROM、接口器件或某種單片機,也同樣能建立一個完好一致的系統行為模型而進展整體仿真。這是由于可以根據這些外部器件的功能特性設計出VHDL的仿真模型,然后將它們并入主系統的VHDL模型中。現實上,如今有許多公司可提供各類流行器件的VHDL模型,如8051單片機模型、PIC16C5X模型、80386模型等。利用這些模型可以將整個電路系統組裝起來。有的VHDL模型既可用來仿真,也可作為實踐電路的一部分。例如,現有的PCI總線模型大多是既可仿真又可綜合的。3VHDL行為仿真。這一階段可以利用VHDL仿真器如ModelSim對頂層系統的行為模型進展仿真測試,檢查模擬結果,繼而進展修正

34、和完善。這一過程與最終實現的硬件沒有任何關系,也不思索硬件實現中的技術細節,測試結果主要是對系統純功能行為的調查,其中許多VHDL的語句表達主要為了方便了解系統在各種條件下的功能特性,而不能夠用真實的硬件來實現。4VHDL-RTL級建模。如上所述,VHDL只需部分語句集合可用于硬件功能行為的建模,因此在這一階段,必需將VHDL的行為模型表達為VHDL行為代碼或稱VHDL-RTL級模型。這里應該留意的是,VHDL行為代碼是用VHDL中可綜合子集中的語句完成的,即可以最終實現目的器件的描畫。由于利用VHDL的可綜合的語句同樣可以對電路方便地進展行為描畫,而目前許多主流的VHDL綜合器都能將其綜合成

35、RTL級,乃至門級模型。從第3步到第4步,人工介入的內容比較多,設計者需求給予更多的關注。5前端功能仿真。在這一階段對VHDL-RTL級模型進展仿真,稱為功能仿真。雖然VHDL-RTL級模型是可綜合的,但對它的功能仿真依然與硬件無關,仿真結果表達的是可綜合模型的邏輯功能。6邏輯綜合。運用邏輯綜合工具將VHDL行為級描畫轉化為構造化的門級電路。在ASIC設計中,門級電路可以由ASIC庫中的根本單元組成。7測試向量生成。這一階段主要是針對ASIC設計的。FPGA設計的時序測試文件主要產生于適配器。對ASIC的測試向量文件是綜合器結合含有幅員硬件特性的工藝庫后產生的,用于對ASIC的功能測試。8功能

36、仿真。利用獲得的測試向量對ASIC的設計系統和子系統的功能進展仿真。9構造綜合。主要將綜合產生的表達邏輯銜接關系的網表文件,結合詳細的目的硬件環境進展規范單元調用、規劃、布線和滿足約束條件的構造優化配置,即構造綜合。10門級時序仿真。在這一級中將運用門級仿真器或依然運用VHDL仿真器由于構造綜合后能同步生成VHDL格式的時序仿真文件進展門級時序仿真,在計算機上了解更接近硬件目的器件任務的功能時序。對于ASIC設計,被稱為規劃后仿真。在這一步,將帶有從規劃布線得到的準確時序信息映射到門級電路重新進展仿真,以檢查電路時序,并對電路功能進展最后檢查。這些仿真的勝利完成稱為ASIC sign off。

37、接下去的任務就可以將設計提供應硅鑄造消費工序了。11硬件測試。這是對最后完成的硬件系統如ASIC或FPGA進展檢查和測試。與其它的硬件描畫言語相比,VHDL具有較強的行為仿真級與綜合級的建模功能,這種能遠離詳細硬件,基于行為描畫方式的硬件描畫言語恰好滿足典型的自頂向下設計方法,因此能順應EDA技術開展的趨勢,處理現代電子設計運用中出現的各類問題。圖1-4 自頂向下的設計流程1.4 EDA技術的優勢在傳統的數字電子系統或IC設計中,手工設計占了較大的比例。普通先按電子系統的詳細功能要求進展功能劃分,然后對每個子模塊畫出真值表,用卡諾圖進展手工邏輯簡化,寫出布爾表達式,畫出相應的邏輯線路圖,再據此

38、選擇元器件,設計電路板,最后進展實測與調試。手工設計方法主要有以下缺陷。復雜電路的設計、調試非常困難。由于無法進展硬件系統功能仿真,假設某一過程存在錯誤,查找和修正非常不便。設計過程中產生大量文檔,不易管理。對于IC設計而言,設計實現過程與詳細消費工藝直接相關,因此可移植性差。只需在設計出樣機或消費出芯片后才干進展實測。相比之下,EDA技術有很大不同:1用HDL對數字電子系統進展籠統的行為與功能描畫到詳細的內部線路構造描畫,從而可以在電子設計的各個階段、各個層次進展計算機模擬驗證,保證設計過程的正確性,可以大大降低設計本錢,縮短設計周期。2EDA工具之所以可以完成各種自動設計過程,關鍵是有各類

39、庫的支持,如邏輯仿真時的模擬庫、邏輯綜合時的綜合庫、幅員綜合時的幅員庫、測試綜合時的測試庫等。這些庫都是EDA公司與半導體消費廠商嚴密協作、共同開發的。3某些HDL言語也是文檔型的言語如VHDL,極大地簡化設計文檔的管理。4EDA技術中最為矚目的功能,即最具現代電子設計技術特征的功能是日益強大的邏輯設計仿真測試技術。EDA仿真測試技術只需經過計算機就能對所設計的電子系統從各種不同層次的系統性能特點完成一系列準確的測試與仿真操作,在完成實踐系統的安裝后,還能對系統上的目的器件進展所謂邊境掃描測試,嵌入式邏輯分析儀的運用。這一切都極大地提高了大規模系統電子設計的自動化程度。5無論傳統的運用電子系統

40、設計得如何完美,運用了多么先進的功能器件,都掩蓋不了一個無情的現實,即該系統對于設計者來說,沒有任何自主知識產權可言,由于系統中的關鍵性的器件往往并非出自設計者之手,這將導致該系統在許多情況下的運用直接遭到限制。基于EDA技術的設計那么不同,由于用HDL表達的勝利的公用功能設計在實現目的方面有很大的可選性,它既可以用不同來源的通用FPGA/CPLD實現,也可以直接以ASIC來實現,設計者擁有完全的自主權,再無受制于人之虞。6傳統的電子設計方法自今沒有任何規范規范加以約束,因此,設計效率低,系統性能差,開發本錢高,市場競爭才干小。EDA技術的設計言語是規范化的,不會由于設計對象的不同而改動;它的

41、開發工具是規范化的,EDA軟件平臺支持任何規范化的設計言語;它的設計成果是通用性的,IP核具有規范的接口協議。良好的可移植與可測試性,為系統開發提供了可靠的保證。7從電子設計方法學來看,EDA技術最大的優勢就是能將一切設計環節納入一致的自頂向下的設計方案中。8EDA不但在整個設計流程上充分利用計算機的自動設計才干,在各個設計層次上利用計算機完成不同內容的仿真模擬,而且在系統板設計終了后仍可利用計算機對硬件系統進展完好的測試。對于傳統的設計方法,如單片機仿真器的運用僅僅只能在最后完成的系統上進展部分的軟件仿真調試,在整個設計的中間過程是無能為力的。至于硬件系統測試,由于如今的許多系統主板不但層數

42、多,而且許多器件都是BGABall-Grid Array封裝,一切引腳都在芯片的底面,焊接后普通的儀器儀表無法接觸到所需求的信號點,因此無法測試。1.5 面向FPGA的EDA開發流程完好地了解利用EDA技術進展設計開發的流程對于正確地選擇和運用EDA軟件,優化設計工程,提高設計效率非常有益。一個完好的、典型的EDA設計流程既是自頂向下設計方法的詳細實施途徑,也是EDA工具軟件本身的組成構造。1.5.1 設計輸入圖1-5所示是基于EDA軟件的FPGA開發流程框圖,以下將分別引見各設計模塊的功能特點。對于目前流行的用于FPGA開發的EDA軟件,圖1-5所示的設計流程具有普通性。圖1-5 FPGA的

43、EDA開發流程將電路系統以一定的表達方式輸入計算機,是在EDA軟件平臺上對FPGA/CPLD開發的最初步驟。通常,運用EDA工具的設計輸入可分為兩種類型。1圖形輸入圖形輸入通常包括原理圖輸入、形狀圖輸入和波形圖輸入等方法。形狀圖輸入方法就是根據電路的控制條件和不同的轉換方式,用繪圖的方法,在EDA工具的形狀圖編輯器上繪出形狀圖,然后由EDA編譯器和綜合器將此形狀變化流程圖形編譯綜合成電路網表。波形圖輸入方法那么是將待設計的電路看成是一個黑盒子,只需通知EDA工具該黑盒子電路的輸入和輸出時序波形圖,EDA工具即能據此完成黑盒子電路的設計。原理圖輸入方法是一種類似于傳統電子設計方法的原理圖編輯輸入

44、方式,即在EDA軟件的圖形編輯界面上繪制能完成特定功能的電路原理圖。原理圖由邏輯器件符號和銜接線構成,圖中的邏輯器件可以是EDA軟件庫中預制的功能模塊,如與門、非門、或門、觸發器以及各種含74系列器件功能的宏功能塊,甚至還有一些類似于IP的功能塊。用原理圖表達的輸入方法的優點是顯而易見的,如設計者進展電子線路設計不需求添加新的諸如HDL等的相關知識;設計過程籠統直觀,適用于初學或教學演示;對于較小的電路模型,其構造與實踐電路非常接近,設計者易于把握電路全局;由于設計方式接近于底層電路規劃,因此易于控制邏輯資源的耗用,節省面積。然而,運用原理圖輸入的設計方法的缺陷同樣是十清楚顯的,如由于圖形設計

45、方式并沒有得到規范化,不同的EDA軟件中的圖形處置工具對圖形的設計規那么、存檔格式和圖形編譯方式都不同,因此圖形文件兼容性差,難以交換和管理;隨著電路設計規模的擴展,原理圖輸入描畫方式必然引起一系列難以抑制的困難,如電路功能原理的易讀性下降,錯誤排查困難,整體調整和構造晉級困難。例如,將一個4位的單片機設計晉級為8位單片機幾乎難以在短期內準確無誤地實現;由于圖形文件的不兼容性,性能優秀的電路模塊移植和再利用非常困難;由于在原理圖中已確定了設計系統的根本電路構造和組件,留給綜合器和適配器的優化選擇的空間已非常有限,因此難以實現用戶所希望的面積、速度以及不同風格的綜合優化,顯然,原理圖的設計方法明

46、顯偏離了電子設計自動化最本質的涵義;在設計中,由于必需直接面對硬件模塊的選用,因此行為模型的建立將無從談起,從而無法實現真實意義上的自頂向下的設計方案。2硬件描畫言語文本輸入這種方式與傳統的計算機軟件言語編輯輸入根本一致,就是將運用了某種硬件描畫言語HDL的電路設計文本,如VHDL或Verilog的源程序,進展編輯輸入。可以說,運用HDL的文本輸入方法抑制了上述原理圖輸入法存在的一切弊端,為EDA技術的運用和開展翻開了一個寬廣的天地。1.5.2 HDL綜合普通地,綜合是僅對應于HDL而言的。利用HDL綜合器對設計進展綜合是非常重要的一步,由于綜合過程將把軟件設計的HDL描畫與硬件構造掛鉤,是將

47、軟件轉化為硬件電路的關鍵步驟,是文字描畫與硬件實現的一座橋梁。綜合就是將電路的高級言語如行為描畫轉換成低級的,可與FPGACPLD的根本構造相映射的網表文件或程序。當輸入的HDL文件在EDA工具中檢測無誤后,首先面臨的是邏輯綜合,因此要求HDL源文件中的語句都是可綜合的。在綜合之后,HDL綜合器普通都可以生成一種或多種文件格式網表文件,如有EDIF、VHDL、Verilog等規范格式,在這種網表文件中用各自的格式描畫電路的構造。如在VHDL網表文件采用VHDL的語法,用構造描畫的風格重新詮釋綜合后的電路構造。整個綜合過程就是將設計者在EDA平臺上編輯輸入的HDL文本、原理圖或形狀圖形描畫,根據

48、給定的硬件構造組件和約束控制條件進展編譯、優化、轉換和綜合,最終獲得門級電路甚至更底層的電路描畫網表文件。由此可見,綜合器任務前,必需給定最后實現的硬件構造參數,它的功能就是將軟件描畫與給定的硬件構造用某種網表文件的方式對應起來,成為相應的映射關系。假設把綜合了解為映射過程,那么顯然這種映射不是獨一的,并且綜合的優化也不是單純的或一個方向的。為到達速度、面積、性能的要求,往往需求對綜合加以約束,稱為綜合約束。1.5.3 布線規劃適配適配器也稱構造綜合器,它的功能是將由綜合器產生的網表文件配置于指定的目的器件中,使之產生最終的下載文件,如JEDEC、Jam格式的文件。適配所選定的目的器件FPGA

49、/CPLD芯片必需屬于原綜合器指定的目的器件系列。通常,EDA軟件中的綜合器可由專業的第三方EDA公司提供,而適配器那么需由FPGA/CPLD供應商提供。由于適配器的適配對象直接與器件的構造細節相對應。邏輯綜合經過后必需利用適配器將綜合后網表文件針對某一詳細的目的器件進展邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優化、邏輯規劃布線操作。適配完成后可以利用適配所產生的仿真文件作準確的時序仿真,同時產生可用于編程的文件。1.5.4 仿真在編程下載前必需利用EDA工具對適配生成的結果進展模擬測試,就是所謂的仿真。仿真就是讓計算機根據一定的算法和一定的仿真庫對EDA設計進展模擬,以驗證設計,排

50、除錯誤。仿真是在EDA設計過程中的重要步驟。圖1-5所示的時序與功能門級仿真通常由PLD公司的EDA開發工具直接提供當然也可以選用第三方的專業仿真工具,它可以完成兩種不同級別的仿真測試。1時序仿真。就是接近真實器件運轉特性的仿真,仿真文件中已包含了器件硬件特性參數,因此,仿真精度高。但時序仿真的仿真文件必需針對詳細器件的適配器。綜合后所得的EDIF等網表文件通常作為FPGA適配器的輸入文件,產生的仿真網表文件中包含了準確的硬件延遲信息。2功能仿真。它是直接對VHDL、原理圖描畫或其它描畫方式的邏輯功能進展測試模擬,以了解其實現的功能能否滿足原設計要求的過程,仿真過程不涉及任何詳細器件的硬件特性

51、。不閱歷適配階段,在設計工程編輯編譯或綜合后即可進入門級仿真器進展模擬測試。直接進展功能仿真的益處是設計耗時短,對硬件庫、綜合器等沒有任何要求。對于規模比較大的設計工程,綜合與適配在計算機上的耗時是非常可觀的,假設每一次修正后的模擬都必需進展時序仿真,顯然會極大地降低開發效率。因此,通常的做法是,首先進展功能仿真,待確認設計文件所表達的功能滿足設計者原有意圖時,即邏輯功能滿足要求后,再進展綜合、適配和時序仿真,以便把握設計工程在硬件條件下的運轉情況。1.5.5 下載和硬件測試把適配后生成的下載或配置文件,經過編程器或編程電纜向FPGA或CPLD進展下載,以便進展硬件調試和驗證Hardware

52、Debugging。通常,將對CPLD的下載稱為編程Program,對FPGA中的SRAM進展直接下載的方式稱為配置Configure,但對于反熔絲構造和Flash構造的FPGA的下載和對FPGA的公用配置ROM的下載仍稱為編程。FPGA與CPLD的區分和分類主要是根據其構造特點和任務原理。通常的分類方法是:1以乘積項構造方式構成邏輯行為的器件稱為CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice原Vantis的Mach系列等。2以查表法構造方式構成邏輯行為的器件稱為FPGA,如Xilinx的SPARTAN系列、Al

53、tera的FLEX10K、ACEX1K或Cyclone系列等。當然也有從下載方式上分的。有關FPGA/CPLD下載的詳細情況將在第2章中引見。最后是將含有載入了設計的FPGA或CPLD的硬件系統進展一致測試,以便最終驗證設計工程在目的系統上的實踐任務情況,以排除錯誤,改良設計。1.6 公用集成電路設計流程公用集成電路ASICApplication Specific Integrated Circuits是相對于通用集成電路而言的,ASIC主要指用于某一專門用途的集成電路器件。ASIC分類大致如圖1-6所示,分為數字ASIC、模擬ASIC和數模混合ASIC。1.6.1 公用集成電路ASIC設計方

54、法對于數字ASIC,其設計方法有多種。按幅員構造及制造方法分,有半定制Semi- custom和全定制Full-custom兩種實現方法,如圖1-7所示。ASIC的全定制方法是一種基于晶體管級的,手工設計幅員的制造方法。設計者需求運用全定制幅員設計工具來完成,設計者必需思索晶體管幅員的尺寸、位置、互連線等技術細節,并據此確定整個電路的規劃布線,以使設計的芯片的性能、面積、功耗、本錢到達最優。顯然,在全定制設計中,人工參與的任務量大,設計周期長,而且容易出錯。 圖1-6 ASIC分類 圖1-7 ASIC實現方法然而利用全定制方法設計的電路,面積利用率最高,性能較好,功耗較低,有利于降低設計本錢,

55、提高芯片的集成度和任務速度,以及降低功耗。在通用中小規模集成電路設計、模擬集成電路,包括射頻級集成器件的設計,以及有特殊性能要求和功耗要求的電路或處置器中的特殊功能模塊電路的設計中被廣泛采用。ASIC的半定制法是一種約束性設計方式,約束的目的是簡化設計,縮短設計周期,降低設計本錢,提高設計正確率。半定制法按邏輯實現的方式不同,可再分為門陣列法、規范單元法和可編程邏輯器件法。門陣列Gate Array法是較早運用的一種ASIC設計方法,又稱為母片Master Slice法。需預先設計和制造好各種規模的母片,其內部成行成列,并等間距地陳列著根本單元的陣列。除金屬連線及引線孔以外的各層幅員圖形均固定

56、不變,只剩下一層或兩層金屬鋁連線及孔的掩膜需求根據用戶電路的不同而定制。每個根本單元是以三對或五對晶體管組成,根本單元的高度和寬度都是相等的,并按行陳列。設計人員只需求設計到電路一級,將電路的網表文件交給IC廠家即可。IC廠家根據網表文件描畫的電路銜接關系,完成母片上電路單元的規劃及單元間的連線,然后對這部分金屬線及引線孔的圖形進展制版和流片。這種設計方式涉及的工藝少、方式規范、設計自動化程度高、設計周期短、造價低,且適宜于小批量的ASIC設計。一切這些都有賴于事先制備母片及庫單元,并經過驗證。門陣列法的缺陷是芯片面積利用率低,靈敏性差,對設計限制得過多。規范單元Standard Cell法必

57、需預建完善的幅員單元庫,庫中包括以物理幅員級表達的各種電路組件和電路模塊“規范單元,可供用戶調用以設計不同的芯片。這些單元的邏輯功能、電性能及幾何設計規那么等都曾經過分析和驗證。與門陣列庫單元不同的是,規范單元的物理幅員將從最低層至最高層的各層幅員設計圖形都包括在內。在設計布圖時,從單元庫中調出規范單元按行陳列,行與行之間留有布線通道,同行或相鄰行的單元相連可經過單元行的上、下通道完成。隔行單元之間的垂直方向互連那么必需借用事先預留在“規范單元內部的走線道feed-through或在兩單元間設置的“走線道單元feed-through cell或“空單元empty cell來完成銜接。規范單元法

58、設計ASIC的優點是:1比門陣列法具有更加靈敏的布圖方式。2“規范單元預先存在單元庫中,可以極大地提高設計效率。3可以從根本上處理布通率問題,到達100%的布通率。4可以使設計者更多地從設計工程的高層次關注電路的優化和性能問題。5規范單元設計方式自動化程度高、設計周期短、設計效率高,非常適宜利用功能強大的EDA工具進展ASIC的設計。因此規范單元法是目前ASIC設計中運用最廣泛的設計方法之一。規范單元法還有一個重要的優勢,即它與可編程邏輯器件法的運用有類似點,它們都是建立在規范單元庫的根底之上的,因此從FPGA/CPLD設計向運用規范單元法設計的ASIC設計遷移是非常方便的。利用這種設計方式可

59、以很好地處理直接進展ASIC設計中代價高昂的功能驗證問題和快速的樣品評價問題。規范單元法存在的問題是,當工藝更新之后,規范單元庫要隨之更新,這是一項非常繁重的任務。為理處理人工設計單元庫費時費力的問題,目前幾乎一切在市場上銷售的IC CAD系統,如Synopsys、Cadence、Mentor等都含有規范單元自動設計工具。此外,設計重用Design Reuse技術也可用于處理單元庫的更新問題。門陣列法或規范單元法設計ASIC共存的缺陷是無法防止冗雜繁復的IC制造后向流程,而且與IC設計工藝嚴密相關,最終的設計也需求集成電路制造廠家來完成,一旦設計有誤,將導致宏大的損失。另外還有設計周期長、根底

60、投入大、更新換代難等方面的缺陷。可編程邏輯器件法是用可編程邏輯器件設計用戶定制的數字電路系統。可編程邏輯器件芯片本質上是門陣列及規范單元設計技術的延伸和開展。可編程邏輯器件是一種半定制的邏輯芯片,但與門陣列法、規范單元法不同,芯片內的硬件資源和連線資源是由廠家預先制定好的,可以方便地經過編程下載獲得重新配置。這樣,用戶就可以借助EDA軟件和編程器在實驗室或車間中自行進展設計、編程或電路更新。而且假設發現錯誤,那么可以隨時更改,完全不用關懷器件實現的詳細工藝。用可編程邏輯器件法設計ASIC或稱可編程ASIC,設計效率大為提高、上市的時間大為縮短。當然,這種用可編程邏輯器件直接實現的所謂ASIC的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論