- 相關推薦
2017年電子設計自動化技術及其發展
電子設計自動化已經被廣泛應用于電子電路的設計和仿真,集成電路的版圖設計、印刷電路板(PCB)的設計和可編程器件的編程等各項工作中。下面是小編整理的關于電子設計自動化技術及其發展,歡迎大家參考!
20世紀末,電子設計技術獲得了飛速的發展,在其推動下,現代電子產品幾乎滲透到社會的各個領域,有力地推動了社會生產力的發展和社會信息化程度的提高,同時也使現代電子產品性能進一步提高,產品更新換代的節奏也變得越來越快。
微電子技術的進步表現在大規模集成電路加工技術即半導體工藝技術的發展上,使得表征半導體工藝水平的線寬已經達到了90nm,并還在不斷地縮小,在硅片單位面積上,集成了更多的晶體管。集成電路設計正在不斷地向超大規模、極低功耗和超高速的方向發展;專用集成電路ASIC(Application Specific Integrated Circuit)的設計成本不斷降低,在功能上,現代的集成電路已能夠實現單片電子系統SOC(System On a Chip)。
現代電子設計技術的核心已日趨轉向基于計算機的電子設計自動化技術,即EDA(Electronic Design Automation)技術。EDA技術就是依賴功能強大的計算機,在EDA工具軟件平臺上,對以硬件描述語言HDL(Hardware Description Language)為系統邏輯描述手段完成的設計文件,自動地完成邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合、結構綜合(布局布線),以及邏輯優化和仿真測試,直至實現既定的電子線路系統功能。EDA技術使得設計者的工作僅限于利用軟件的方式,即利用硬件描述語言和EDA軟件來完成對系統硬件功能的實現,這是電子設計技術的一個巨大進步。
另一方面,在現代高新電子產品的設計和生產中,微電子技術和現代電子設計技術是相互促進、相互推動又相互制約的兩個環節;前者代表了物理層在廣度和深度上硬件電路實現的發展,后者則反映了現代先進的電子理論、電子技術、仿真技術、設計工藝和設計技術與最新的計算機軟件技術有機的融合和升華。因此,嚴格地說,EDA技術應該是這二者的結合,是這兩個技術領域共同孕育的奇葩。
EDA技術在硬件實現方面融合了大規模集成電路制造技術,IC版圖設計技術、ASIC測試和封裝技術、FPGA/CPLD編程下載技術、自動測試技術等;在計算機輔助工程方面融合了計算機輔助設計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)、計算機輔助工程(CAE)技術以及多種計算機語言的設計概念;而在現代電子學方面則容納了更多的內容,如電子線路設計理論、數字信號處理技術、數字系統建模和優化技術及長線技術理論等。因此EDA技術為現代電子理論和設計的表達與實現提供了可能性。
在現代技術的所有領域中,縱觀許多得以飛速發展的科學技術,多為計算機輔助設計,而非自動化設計。顯然,最早進入設計自動化的技術領域之一是電子技術,這就是為什么電子技術始終處于所有科學技術發展最前列的原因之一。不難理解,EDA技術已不是某一學科的分支,或某種新的技能技術,而應該是一門綜合性學科。它融合多學科于一體,又滲透于各學科之中,打破了軟件和硬件間的壁壘,使計算機的軟件技術與硬件實現、設計效率和產品性能合二為一,它代表了電子設計技術和應用技術的發展方向。
正因為EDA技術豐富的內容以及與電子技術各學科領域的相關性,其發展的歷程同大規模集成電路設計技術、計算機輔助工程、可編程邏輯器件,以及電子設計技術和工藝的發展是同步的。就過去近30年的電子技術的發展歷程,可大致將EDA技術的發展分為三個階段。
20世紀70年代,在集成電路制作方面,MOS工藝已得到廣泛的應用。可編程邏輯技術及其器件已經問世,計算機作為一種運算工具已在科研領域得到廣泛應用。而在后期,CAD的概念已見雛形,這一階段人們開始利用計算機取代手工勞動,輔助進行集成電路版圖編輯、PCB布局布線等工作。
20世紀80年代,集成電路設計進入了CMOS(互補場效應管)時代。復雜可編程邏輯器件已進入商業應用,相應的輔助設計軟件也已投入使用;而在80年代末,出現了FPGA(Field Programmable Gate Array),CAE和CAD技術的應用更為廣泛,它們在PCB設計方面的原理圖輸入、自動布局布線及PCB分析,以及邏輯設計、邏輯仿真、布爾方程綜合和化簡等方面擔任了重要的角色。特別是各種硬件描述語言的出現、應用和標準化方面的重大進步,為電子設計自動化必須解決的電路建模、標準文檔及仿真測試奠定了基礎。
進入20世紀90年代,隨著硬件描述語言的標準化得到進一步的確立,計算機輔助工程、輔助分析和輔助設計在電子技術領域獲得更加廣泛的應用,與此同時,電子技術在通信、計算機及家電產品生產中的市場需求和技術需求,也極大地推動了全新的電子設計自動化技術的應用和發展。特別是集成電路設計工藝步入了超深亞微米階段,百萬門以上的大規模可編程邏輯器件的陸續面世,以及基于計算機技術的面向用戶的低成本大規模ASIC設計技術的應用,促進了EDA技術的形成。更為重要的是各EDA公司致力于推出兼容各種硬件實現方案和支持標準硬件描述語言的EDA工具軟件的研究,都有效地將EDA技術推向成熟和實用。
EDA技術在進入21世紀后,得到了更大的發展,突出表現在以下幾個方面。
● 在FPGA上實現DSP(數字信號處理)應用成為可能,用純數字邏輯進行DSP模塊的設計,使得高速DSP實現成為現實,并有力地推動了軟件無線電技術的實用化和發展。基于FPGA的DSP技術,為高速數字信號處理算法提供了實現途徑。
● 嵌入式處理器軟核的成熟,使得SOPC(System On a Programmable Chip)步入大規模應用階段,在一片FPGA中實現一個完備的數字處理系統成為可能。
● 使電子設計成果以自主知識產權的方式得以明確表達和確認成為可能。
● 在仿真和設計兩方面支持標準硬件描述語言且功能強大的EDA軟件不斷推出。
● 電子技術領域全方位融入EDA技術,除了日益成熟的數字技術外,傳統的電路系統設計建模理念發生了重大的變化:軟件無線電技術的崛起,模擬電路系統硬件描述語言的表達和設計的標準化,系統可編程模擬器件的出現,數字信號處理和圖像處理的全硬件實現方案的普遍接受,軟硬件技術的進一步融合等。
● EDA使得電子領域各學科的界限更加模糊,更加互為包容:模擬與數字、軟件與硬件、系統與器件、ASIC與FPGA、行為與結構等。
● 更大規模的FPGA和CPLD器件的不斷推出。
● 基于EDA的用于ASIC設計的標準單元已涵蓋大規模電子系統及復雜IP核模塊。
● 軟硬IP(Intellectual Property)核在電子行業的產業領域廣泛應用。
● SOC高效低成本設計技術的成熟。
● 系統級、行為驗證級硬件描述語言出現(如System C),使復雜電子系統的設計和驗證趨于簡單。
1.2 電子設計自動化應用對象
一般地說,利用EDA技術進行電子系統設計,最后實現的目標是以下3種。
● 全定制或半定制ASIC。
● FPGA/CPLD(或稱可編程ASIC)開發應用。
● PCB(印制電路板)。
實現目標的前面兩項可以歸結為專用集成電路ASIC的設計和實現(如圖1-1所示),ASIC是最終的物理平臺,集中容納了用戶通過EDA技術將電子應用系統的既定功能和技術指標具體實現的硬件實體。一般而言,專用集成電路就是具有專門用途和特定功能的獨立集成電路器件,根據這個定義,作為EDA技術最終實現目標的ASIC,可以通過3種途徑來完成,這可以通過圖1-1來說明。
電子設計自動化技術及其發展 - Ryan - liyongfeng1111的博客 電子設計自動化技術及其發展 - Ryan - liyongfeng1111的博客
圖1-1 EDA技術實現目標
圖1-1中所標的另外一個EDA技術實現目標PCB,指的是印制電路板的布局布線設計及驗證分析,由于不涉及芯片層面上的設計,故不擬展開。
下面主要介紹FPGA/CPLD與ASIC。
1.超大規模可編程邏輯器件
FPGA(Field Programmable Gate Array)和CPLD(Complex Programmable Logic Device)是實現這一途徑的主流器件,它們的特點是直接面向用戶,具有極大的靈活性和通用性,使用方便,硬件測試和實現快捷,開發效率高,成本低,上市時間短,技術維護簡單,工作可靠性好等。FPGA和CPLD的應用是EDA技術有機融合軟硬件電子設計技術以及對自動化設計與自動化實現最典型的詮釋。由于FPGA和CPLD的開發工具、開發流程和使用方法與ASIC有類似之處,因此這類器件通常也被稱為可編程專用IC,或可編程ASIC。
2.半定制或全定制ASIC
根據實現的工藝,基于EDA設計技術的半定制或全定制ASIC可統稱為掩膜(MASK)ASIC,或直接稱ASIC。
ASIC大致分為門陣列ASIC、標準單元ASIC和全定制ASIC。
門陣列ASIC
門陣列芯片包括預定制相連的PMOS和NMOS晶體管行。設計中,用戶可以借助EDA工具將原理圖或硬件描述語言模型映射為相應門陣列晶體管配置,創建一個指定金屬互連路徑文件,從而完成門陣列ASIC開發。由于有掩膜的創建過程,門陣列有時也稱掩膜可編程門陣列(MPGA)。但是 MPGA與FPGA完全不同,它不是用戶可編程的,也不屬于可編程邏輯范疇,而是實際的ASIC。MPGA出現在FPGA之前,FPGA技術則源自MPGA。現在,Altera的HardCopy、HardCopy II技術可以提供一種把FPGA的設計轉化為結構化ASIC的途徑。
標準單元ASIC
目前大部分ASIC是使用庫中的不同大小的標準單元設計的,這類芯片一般稱作基于單元的集成電路(Cell-based Integrated Circuits,CBIC)。在設計者一級,庫包括不同復雜性的邏輯元件:SSI邏輯塊、MSI邏輯塊、數據通道模塊、存儲器、IP,以及系統級模塊。庫包含每個邏輯單元在硅片級的完整布局,使用者只需利用EDA軟件工具與邏輯塊描述打交道即可,完全不必關心電路布局的細節。標準單元布局中,所有擴散、接觸點、過孔、多晶通道及金屬通道都已完全確定。當該單元用于設計時,通過EDA軟件產生的網表文件將單元布局塊“粘貼”到芯片布局之上的單元行上。標準單元ASIC設計與FPGA設計開發的流程相近。
全定制芯片
全定制芯片中,在針對特定工藝建立的設計規則下,設計者對于電路的設計有完全的控制權,如線的間隔和晶體管大小的確定。該領域的一個例外是混合信號設計,使用通信電路的ASIC可以定制設計其模擬部分。
3.混合ASIC
混合ASIC(不是指數模混合ASIC)主要指既具有面向用戶的FPGA可編程功能和邏輯資源,同時也含有可方便調用和配置的硬件標準單元模塊,如CPU、RAM、ROM、硬件加法器、乘法器、鎖相環等。Xilinx、Atmel和Altera公司已經推出了這方面的器件,如Virtex-4系列、Excalibur(含ARM核)和Stratix II系列等。混合ASIC為SOC和SOPC(System On a Programmable Chip)的設計實現成為便捷的途徑。
1.3 硬件描述語言
硬件描述語言HDL是EDA技術的重要組成部分,常見的HDL主要有VHDL、Verilog HDL、ABEL、AHDL、SystemVerilog和SystemC。
其中VHDL、Verilog在現在EDA設計中使用最多,也擁有幾乎所有的主流EDA工具的支持。而SystemVerilog和SystemC這兩種HDL語言還處于完善過程中。VHDL是作為電子設計主流硬件的描述語言之一,本書將重點介紹它的編程方法和使用技術。
1.3.1 硬件描述語言VHDL
VHDL的英文全名是VHSIC(Very High Speed Integrated CircuitHardware Description Language),于1983年由美國國防部(DOD)發起創建,由IEEE(The Institute of Electrical and Electronics Engineers)進一步發展,并在1987年作為“IEEE標準1076”發布。從此,VHDL成為硬件描述語言的業界標準之一。自IEEE公布了VHDL的標準版本(IEEE Std 1076)之后,各EDA公司相繼推出了自己的VHDL設計環境,或宣布自己的設計工具支持VHDL。此后VHDL在電子設計領域得到了廣泛應用,并逐步取代了原有的非標準硬件描述語言。
VHDL作為一個規范語言和建模語言,隨著它的標準化,出現了一些支持該語言的行為仿真器。由于創建VHDL的最初目標是用于標準文檔的建立和電路功能模擬,其基本想法是在高層次上描述系統和元件的行為。但到了20世紀90年代初,人們發現,VHDL不僅可以作為系統模擬的建模工具,而且可以作為電路系統的設計工具;可以利用軟件工具將VHDL源碼自動地轉化為文本方式表達的基本邏輯元件連接圖,即網表文件。這種方法顯然對于電路自動設計是一個極大的推進。很快,電子設計領域出現了第一個軟件設計工具,即VHDL邏輯綜合器,它可以標準地將VHDL的部分語句描述轉化為具體電路實現的網表文件。
1993年,IEEE對VHDL進行了修訂,從更高的抽象層次和系統描述能力上擴展了VHDL的內容,公布了新版本的VHDL,即IEEE標準的1076-1993版本。現在,VHDL和Verilog作為IEEE的工業標準硬件描述語言,得到眾多EDA公司的支持,在電子工程領域,已成為事實上的通用硬件描述語言。現在公布的最新VHDL標準版本是IEEE 1076-2002。
VHDL語言具有很強的電路描述和建模能力,能從多個層次對數字系統進行建模和描述,從而大大簡化了硬件設計任務,提高了設計效率和可靠性。
VHDL具有與具體硬件電路無關和與設計平臺無關的特性,并且具有良好的電路行為描述和系統描述的能力,并在語言易讀性和層次化結構化設計方面,表現了強大的生命力和應用潛力。因此,VHDL在支持各種模式的設計方法、自頂向下與自底向上或混合方法方面,在面對當今許多電子產品生命周期的縮短,需要多次重新設計以融入最新技術,改變工藝等方面都表現了良好的適應性。用VHDL進行電子系統設計的一個很大的優點是設計者可以專心致力于其功能的實現,而不需要對不影響功能的與工藝有關的因素花費過多的時間和精力。
1.3.2 硬件描述語言的綜合
綜合(Synthesis),就其字面含義應該為:把抽象的實體結合成單個或統一的實體。因此,綜合就是把某些東西結合到一起,把設計抽象層次中的一種表述轉化成另一種表述的過程。對于電子設計領域的綜合概念可以表示為:將用行為和功能層次表達的電子系統轉換為低層次的便于具體實現的模塊組合裝配而成的過程。
事實上,設計過程中的每一步都可稱為一個綜合環節。設計過程通常從高層次的行為描述開始,以最低層的結構描述結束,每個綜合步驟都是上一層次的轉換。
● 從自然語言表述轉換到VHDL語言算法表述,是自然語言綜合。
● 從算法表述轉換到寄存器傳輸級(Register Transfer Level,RTL)表述,即從行為域到結構域的綜合,是行為綜合。
● 從RTL級表述轉換到邏輯門(包括觸發器)的表述,即邏輯綜合。
● 從邏輯門表述轉換到版圖表述(ASIC設計),或轉換到FPGA的配置網表文件,可稱為版圖綜合或結構綜合。
有了版圖信息就可以把芯片生產出來了。有了對應的配置文件,就可以使對應的FPGA變成具有專門功能的電路器件。顯然,綜合器就是能夠自動將一種設計表示形式向另一種設計表示形式轉換的計算機程序,或協助進行手工轉換的程序。它可以將高層次的表述轉化為低層次的表述,可以從行為域轉化為結構域,可以將高一級抽象的電路表述(如算法級)轉化為低一級的表述(如門級),并可以用某種特定的硬件技術實現(如CMOS)。
對設計者而言,在高抽象層次進行系統設計,再利用綜合工具將設計轉化為低層次的表示,與直接在低抽象層次來設計系統的情況相比,類似于一個程序員用高級語言編程并用編譯器將程序編譯成機器代碼和直接用機器代碼進行編程時的情況。前一種情況在于設計者可以將精力主要集中于系統級問題上,而由于不必關心低級層次的設計所面臨的細節問題,在高抽象層次上進行設計和編程將花費較少的時間和精力,并且減少錯誤的發生。
另一方面,盡管(如圖1-2所示)從表面上看,VHDL等硬件描述語言綜合器和軟件程序編譯器都不過是一種“翻譯器”,它們都能將高層次的設計表達轉化為低層次的表達,但它們卻具有許多本質的區別。
編譯器將軟件程序翻譯成基于某種特定CPU的機器代碼,這種代碼僅限于這種CPU而不能移植,并且機器代碼不代表硬件結構,更不能改變CPU的硬件結構,只能被動地為其特定的硬件電路結構所利用。如果脫離了已有的硬件環境(CPU),機器代碼將失去意義。此外,編譯器作為一種軟件的運行,除了某種單一目標器件,即CPU的硬件結構外,不需要任何與硬件相關的器件庫和工藝庫參與編譯。因而,編譯器的工作單純得多,編譯過程基本屬于一種一一對應式的“翻譯”行為。
綜合器則不同,同樣是類似的軟件代碼(如VHDL程序),綜合器轉化的目標是底層的電路結構網表文件,這種滿足原設計程序功能描述的電路結構不依賴于任何特定硬件環境,因此可以獨立地存在,并能輕易地被移植到任何通用硬件環境中,如ASIC、FPGA等。換言之,電路網表代表了特定的硬件結構,因此具備了隨時改變硬件結構的依據。綜合的結果具有相對獨立性。另一方面,綜合器在將硬件描述語言表達的電路功能轉化成具體的電路結構網表過程中,具有明顯的能動性和創造性,它不是機械的一一對應式的“翻譯”,而是根據設計庫、工藝庫以及預先設置的各類約束條件,選擇最優的方式完成電路結構的形成。這就是說,對于相同的VHDL表述,綜合器可以用不同的電路結構實現相同的功能。
如圖1-3所示,與編譯器相比,綜合器具有更復雜的工作環境,綜合器在接受VHDL程序并準備對其綜合前,必須獲得最終實現設計電路硬件特征相關的工藝庫的信息,以及獲得優化綜合的諸多約束條件。一般地,約束條件可以分為3種,即設計規則、時間約束、面積約束。通常,時間約束的優先級高于面積約束。設計優化要求,當綜合器把VHDL源碼翻譯成通用原理圖時,將識別狀態機、加法器、乘法器、多路選擇器和寄存器等。這些運算功能根據VHDL源碼中的符號,如加減乘除。每種運算都可用多種方法實現,如加法可實現方案有多種,有的面積小,速度慢;有的速度快,面積大。VHDL行為描述強調的是電路的行為和功能,而不是電路如何實現。選擇電路的實現方案正是綜合器的任務。綜合器選擇一種能充分滿足各項約束條件且成本最低的實現方案。現在的許多綜合器還允許設計者指定在做映射優化時綜合器應付出多大“努力”;“努力”一般可分為低、中、高三檔。
電子設計自動化技術及其發展 - Ryan - liyongfeng1111的博客 電子設計自動化技術及其發展 - Ryan - liyongfeng1111的博客
圖1-2 編譯器和綜合功能比較 圖1-3 VHDL綜合器運行流程
需要注意的是,VHDL(和Verilog)方面的IEEE標準主要指的是文檔的表述、行為建模及其仿真,至于在電子線路的設計方面,VHDL(和Verilog)并沒有得到全面的支持和標準化。這就是說,VHDL綜合器并不能支持標準VHDL的全集(全部語句程序),而只能支持其子集,即部分語句,并且不同的VHDL綜合器所支持的VHDL子集也不完全相同。這樣一來,對于相同VHDL源代碼,不同的VHDL綜合器可能綜合出在結構和功能上并不完全相同的電路系統。對此,設計者應給予充分的注意。
因此,對于不同的綜合結果,不應對綜合器的特性貿然作出評價,同時在設計過程中,必須盡可能全面了解所使用的綜合工具的基本特性。
1.3.3 自頂向下設計方法
傳統的電子設計流程通常是自底向上的,即首先確定構成系統的最底層的電路模塊或元件的結構和功能,然后根據主系統的功能要求,將它們組合成更大的功能塊,使它們的結構和功能滿足高層系統的要求。以此流程,逐步向上遞推,直至完成整個目標系統的設計。例如,對于一般電子系統的設計,使用自底向上的設計方法,必須首先決定使用的器件類別和規格,如74系列的器件、某種RAM和ROM、某類CPU或單片機以及某些專用功能芯片等;然后是構成多個功能模塊,如數據采集控制模塊、信號處理模塊、數據交換和接口模塊等,直至最后利用它們完成整個系統的設計。
對于ASIC設計,則是根據系統的功能要求,首先從繪制硅片版圖開始,逐級向上完成版圖級、門級、RTL級、行為級、功能級,直至系統級的設計。在這個過程中,任何一級發生問題,通常都不得不返工重來。
自底向上的設計方法的特點是必須首先關注并致力于解決系統最底層硬件的可獲得性,以及它們的功能特性方面的諸多細節問題;在整個逐級設計和測試過程中,始終必須顧及具體目標器件的技術細節。在這個設計過程中的任一時刻,最底層目標器件的更換,或某些技術參數不滿足總體要求,或缺貨,或由于市場競爭的變化,臨時提出降低系統成本,提高運行速度等不可預測的外部因素,都將可能使前面的工作前功盡棄。
由此可見,在某些情況下,自底向上的設計方法是一種低效、低可靠性、費時費力,且成本高昂的設計方法。
在電子設計領域,自頂向下設計方法只有在EDA技術得到快速發展和成熟應用的今天才成為可能。自頂向下設計方法的有效應用必須基于功能強大的EDA工具、具備集系統描述、行為描述和結構描述功能為一體的VHDL硬件描述語言,以及先進的ASIC制造工藝和FPGA開發技術。當今,自頂向下的設計方法已經是EDA技術的首選設計方法,是ASIC或FPGA開發的主要設計手段。
在EDA技術應用中,自頂向下的設計方法就是在整個設計流程中各設計環節逐步求精的過程。一個項目的設計過程包括從自然語言說明到VHDL的系統行為描述、系統的分解、RTL模型的建立、門級模型產生,到最終的可以物理布線實現的底層電路,就是從高抽象級別到低抽象級別的整個設計周期。后端設計還必須包括涉及硬件的物理結構實現方法和測試(仍然利用計算機完成)。
應用VHDL進行自頂向下的設計,就是使用VHDL模型在所有綜合級別上對硬件設計進行說明、建模和仿真測試。主系統及子系統最初的功能要求在VHDL里體現為可以被VHDL仿真程序驗證的可執行程序。由于綜合工具可以將高級別的模型轉化為門級模型,所以整個設計過程基本是由計算機自動完成的。人為介入的方式主要是根據仿真的結果和優化的指標來控制邏輯綜合的方式和指向。因此,在設計周期中,要根據仿真的結果進行優化和升級,以及對模型及時的修改,以改進系統或子系統的功能,更正設計錯誤,提高目標系統的工作速度,減小面積耗用,降低功耗和成本等。或者啟用新技術器件或新的IP核。在這些過程中,由于設計的下一步是基于當前的設計,即使發現問題或作新的修改而需從頭開始設計,也不妨礙整體的設計效率。此外,VHDL優秀的可移植性、EDA平臺的通用性以及與具體硬件結構的無關性,使得前期的設計可以容易地應用于新的設計項目,則項目設計的周期可以顯著縮短。因此,EDA設計方法里十分強調將前一個VHDL模型重用的方法。此外隨著設計層次的降低,在低級別上使用高級別的測試包來測試模型也很重要并有效。
自頂而下的設計方法能使系統被分解為各個模塊的集合之后,可以對設計的每個獨立模塊指派不同的工作小組。這些小組可以工作在不同地點,甚至可以分屬不同的單位,最后將不同的模塊集成為最終的系統模型,并對其進行綜合測試和評估。
1.3.4 EDA技術設計流程
圖1-4給出了自頂向下設計流程的框圖說明,它包括以下設計階段:
(1)提出設計說明書,即用自然語言表達系統項目的功能特點和技術參數等。
(2)建立VHDL行為模型,這一步是將設計說明書轉化為VHDL行為模型。在這一項目的表達中,可以使用滿足IEEE標準的VHDL的所有語句而不必考慮可綜合性。這一建模行為的目標是通過VHDL仿真器對整個系統進行系統行為仿真和性能評估。在行為模型的建立過程中,如果最終的系統中包括目標ASIC或FPGA以外的電路器件,如RAM、ROM、接口器件或某種單片機,也同樣能建立一個完整統一的系統行為模型而進行整體仿真。這是因為可以根據這些外部器件的功能特性設計出VHDL的仿真模型,然后將它們并入主系統的VHDL模型中。事實上,現在有許多公司可提供各類流行器件的VHDL模型,如8051單片機模型、PIC16C5X模型、80386模型等。利用這些模型可以將整個電路系統組裝起來。有的VHDL模型既可用來仿真,也可作為實際電路的一部分。例如,現有的PCI總線模型大多是既可仿真又可綜合的。
(3)VHDL行為仿真。這一階段可以利用VHDL仿真器(如ModelSim)對頂層系統的行為模型進行仿真測試,檢查模擬結果,繼而進行修改和完善。這一過程與最終實現的硬件沒有任何關系,也不考慮硬件實現中的技術細節,測試結果主要是對系統純功能行為的考察,其中許多VHDL的語句表達主要為了方便了解系統在各種條件下的功能特性,而不可能用真實的硬件來實現。
(4)VHDL-RTL級建模。如上所述,VHDL只有部分語句集合可用于硬件功能行為的建模,因此在這一階段,必須將VHDL的行為模型表達為VHDL行為代碼(或稱VHDL-RTL級模型)。這里應該注意的是,VHDL行為代碼是用VHDL中可綜合子集中的語句完成的,即可以最終實現目標器件的描述。因為利用VHDL的可綜合的語句同樣可以對電路方便地進行行為描述,而目前許多主流的VHDL綜合器都能將其綜合成RTL級,乃至門級模型。從第3步到第4步,人工介入的內容比較多,設計者需要給予更多的關注。
(5)前端功能仿真。在這一階段對VHDL-RTL級模型進行仿真,稱為功能仿真。盡管VHDL-RTL級模型是可綜合的,但對它的功能仿真仍然與硬件無關,仿真結果表達的是可綜合模型的邏輯功能。
(6)邏輯綜合。使用邏輯綜合工具將VHDL行為級描述轉化為結構化的門級電路。在ASIC設計中,門級電路可以由ASIC庫中的基本單元組成。
(7)測試向量生成。這一階段主要是針對ASIC設計的。FPGA設計的時序測試文件主要產生于適配器。對ASIC的測試向量文件是綜合器結合含有版圖硬件特性的工藝庫后產生的,用于對ASIC的功能測試。
(8)功能仿真。利用獲得的測試向量對ASIC的設計系統和子系統的功能進行仿真。
(9)結構綜合。主要將綜合產生的表達邏輯連接關系的網表文件,結合具體的目標硬件環境進行標準單元調用、布局、布線和滿足約束條件的結構優化配置,即結構綜合。
(10)門級時序仿真。在這一級中將使用門級仿真器或仍然使用VHDL仿真器(因為結構綜合后能同步生成VHDL格式的時序仿真文件)進行門級時序仿真,在計算機上了解更接近硬件目標器件工作的功能時序。對于ASIC設計,被稱為布局后仿真。在這一步,將帶有從布局布線得到的精確時序信息映射到門級電路重新進行仿真,以檢查電路時序,并對電路功能進行最后檢查。這些仿真的成功完成稱為ASIC sign off。接下去的工作就可以將設計提供給硅鑄造生產工序了。
(11)硬件測試。這是對最后完成的硬件系統(如ASIC或FPGA)進行檢查和測試。
與其他的硬件描述語言相比,VHDL具有較強的行為仿真級與綜合級的建模功能,這種能遠離具體硬件,基于行為描述方式的硬件描述語言恰好滿足典型的自頂向下設計方法,因而能順應EDA技術發展的趨勢,解決現代電子設計應用中出現的各類問題。
電子設計自動化技術及其發展 - Ryan - liyongfeng1111的博客
圖1-4 自頂向下的設計流程
1.4 EDA技術的優勢
在傳統的數字電子系統或IC設計中,手工設計占了較大的比例。一般先按電子系統的具體功能要求進行功能劃分,然后對每個子模塊畫出真值表,用卡諾圖進行手工邏輯簡化,寫出布爾表達式,畫出相應的邏輯線路圖,再據此選擇元器件,設計電路板,最后進行實測與調試。手工設計方法主要有以下缺點。
● 復雜電路的設計、調試十分困難。
● 由于無法進行硬件系統功能仿真,如果某一過程存在錯誤,查找和修改十分不便。
● 設計過程中產生大量文檔,不易管理。
● 對于IC設計而言,設計實現過程與具體生產工藝直接相關,因此可移植性差。
● 只有在設計出樣機或生產出芯片后才能進行實測。
相比之下,EDA技術有很大不同:
(1)用HDL對數字電子系統進行抽象的行為與功能描述到具體的內部線路結構描述,從而可以在電子設計的各個階段、各個層次進行計算機模擬驗證,保證設計過程的正確性,可以大大降低設計成本,縮短設計周期。
(2)EDA工具之所以能夠完成各種自動設計過程,關鍵是有各類庫的支持,如邏輯仿真時的模擬庫、邏輯綜合時的綜合庫、版圖綜合時的版圖庫、測試綜合時的測試庫等。這些庫都是EDA公司與半導體生產廠商緊密合作、共同開發的。
(3)某些HDL語言也是文檔型的語言(如VHDL),極大地簡化設計文檔的管理。
(4)EDA技術中最為矚目的功能,即最具現代電子設計技術特征的功能是日益強大的邏輯設計仿真測試技術。EDA仿真測試技術只需通過計算機就能對所設計的電子系統從各種不同層次的系統性能特點完成一系列準確的測試與仿真操作,在完成實際系統的安裝后,還能對系統上的目標器件進行所謂邊界掃描測試,嵌入式邏輯分析儀的應用。這一切都極大地提高了大規模系統電子設計的自動化程度。
(5)無論傳統的應用電子系統設計得如何完美,使用了多么先進的功能器件,都掩蓋不了一個無情的事實,即該系統對于設計者來說,沒有任何自主知識產權可言,因為系統中的關鍵性的器件往往并非出自設計者之手,這將導致該系統在許多情況下的應用直接受到限制。基于EDA技術的設計則不同,由于用HDL表達的成功的專用功能設計在實現目標方面有很大的可選性,它既可以用不同來源的通用FPGA/CPLD實現,也可以直接以ASIC來實現,設計者擁有完全的自主權,再無受制于人之虞。
(6)傳統的電子設計方法自今沒有任何標準規范加以約束,因此,設計效率低,系統性能差,開發成本高,市場競爭能力小。
EDA技術的設計語言是標準化的,不會由于設計對象的不同而改變;它的開發工具是規范化的,EDA軟件平臺支持任何標準化的設計語言;它的設計成果是通用性的,IP核具有規范的接口協議。良好的可移植與可測試性,為系統開發提供了可靠的保證。
(7)從電子設計方法學來看,EDA技術最大的優勢就是能將所有設計環節納入統一的自頂向下的設計方案中。
(8)EDA不但在整個設計流程上充分利用計算機的自動設計能力,在各個設計層次上利用計算機完成不同內容的仿真模擬,而且在系統板設計結束后仍可利用計算機對硬件系統進行完整的測試。
對于傳統的設計方法,如單片機仿真器的使用僅僅只能在最后完成的系統上進行局部的軟件仿真調試,在整個設計的中間過程是無能為力的。至于硬件系統測試,由于現在的許多系統主板不但層數多,而且許多器件都是BGA(Ball-Grid Array)封裝,所有引腳都在芯片的底面,焊接后普通的儀器儀表無法接觸到所需要的信號點,因此無法測試。
1.5 面向FPGA的EDA開發流程
完整地了解利用EDA技術進行設計開發的流程對于正確地選擇和使用EDA軟件,優化設計項目,提高設計效率十分有益。一個完整的、典型的EDA設計流程既是自頂向下設計方法的具體實施途徑,也是EDA工具軟件本身的組成結構。
1.5.1 設計輸入
圖1-5所示是基于EDA軟件的FPGA開發流程框圖,以下將分別介紹各設計模塊的功能特點。對于目前流行的用于FPGA開發的EDA軟件,圖1-5所示的設計流程具有一般性。
電子設計自動化技術及其發展 - Ryan - liyongfeng1111的博客
圖1-5 FPGA的EDA開發流程
將電路系統以一定的表達方式輸入計算機,是在EDA軟件平臺上對FPGA/CPLD開發的最初步驟。通常,使用EDA工具的設計輸入可分為兩種類型。
1.圖形輸入
圖形輸入通常包括原理圖輸入、狀態圖輸入和波形圖輸入等方法。
狀態圖輸入方法就是根據電路的控制條件和不同的轉換方式,用繪圖的方法,在EDA工具的狀態圖編輯器上繪出狀態圖,然后由EDA編譯器和綜合器將此狀態變化流程圖形編譯綜合成電路網表。
波形圖輸入方法則是將待設計的電路看成是一個黑盒子,只需告訴EDA工具該黑盒子電路的輸入和輸出時序波形圖,EDA工具即能據此完成黑盒子電路的設計。
原理圖輸入方法是一種類似于傳統電子設計方法的原理圖編輯輸入方式,即在EDA軟件的圖形編輯界面上繪制能完成特定功能的電路原理圖。原理圖由邏輯器件(符號)和連接線構成,圖中的邏輯器件可以是EDA軟件庫中預制的功能模塊,如與門、非門、或門、觸發器以及各種含74系列器件功能的宏功能塊,甚至還有一些類似于IP的功能塊。
用原理圖表達的輸入方法的優點是顯而易見的,如設計者進行電子線路設計不需要增加新的諸如HDL等的相關知識;設計過程形象直觀,適用于初學或教學演示;對于較小的電路模型,其結構與實際電路十分接近,設計者易于把握電路全局;由于設計方式接近于底層電路布局,因此易于控制邏輯資源的耗用,節省面積。
然而,使用原理圖輸入的設計方法的缺點同樣是十分明顯的,如由于圖形設計方式并沒有得到標準化,不同的EDA軟件中的圖形處理工具對圖形的設計規則、存檔格式和圖形編譯方式都不同,因此圖形文件兼容性差,難以交換和管理;隨著電路設計規模的擴大,原理圖輸入描述方式必然引起一系列難以克服的困難,如電路功能原理的易讀性下降,錯誤排查困難,整體調整和結構升級困難。例如,將一個4位的單片機設計升級為8位單片機幾乎難以在短期內準確無誤地實現;由于圖形文件的不兼容性,性能優秀的電路模塊移植和再利用十分困難;由于在原理圖中已確定了設計系統的基本電路結構和元件,留給綜合器和適配器的優化選擇的空間已十分有限,因此難以實現用戶所希望的面積、速度以及不同風格的綜合優化,顯然,原理圖的設計方法明顯偏離了電子設計自動化最本質的涵義;在設計中,由于必須直接面對硬件模塊的選用,因此行為模型的建立將無從談起,從而無法實現真實意義上的自頂向下的設計方案。
2.硬件描述語言文本輸入
這種方式與傳統的計算機軟件語言編輯輸入基本一致,就是將使用了某種硬件描述語言(HDL)的電路設計文本,如VHDL或Verilog的源程序,進行編輯輸入。
可以說,應用HDL的文本輸入方法克服了上述原理圖輸入法存在的所有弊端,為EDA技術的應用和發展打開了一個廣闊的天地。
1.5.2 HDL綜合
一般地,綜合是僅對應于HDL而言的。利用HDL綜合器對設計進行綜合是十分重要的一步,因為綜合過程將把軟件設計的HDL描述與硬件結構掛鉤,是將軟件轉化為硬件電路的關鍵步驟,是文字描述與硬件實現的一座橋梁。綜合就是將電路的高級語言(如行為描述)轉換成低級的,可與FPGA/CPLD的基本結構相映射的網表文件或程序。
當輸入的HDL文件在EDA工具中檢測無誤后,首先面臨的是邏輯綜合,因此要求HDL源文件中的語句都是可綜合的。
在綜合之后,HDL綜合器一般都可以生成一種或多種文件格式網表文件,如有EDIF、VHDL、Verilog等標準格式,在這種網表文件中用各自的格式描述電路的結構。如在VHDL網表文件采用VHDL的語法,用結構描述的風格重新詮釋綜合后的電路結構。
整個綜合過程就是將設計者在EDA平臺上編輯輸入的HDL文本、原理圖或狀態圖形描述,依據給定的硬件結構組件和約束控制條件進行編譯、優化、轉換和綜合,最終獲得門級電路甚至更底層的電路描述網表文件。由此可見,綜合器工作前,必須給定最后實現的硬件結構參數,它的功能就是將軟件描述與給定的硬件結構用某種網表文件的方式對應起來,成為相應的映射關系。如果把綜合理解為映射過程,那么顯然這種映射不是惟一的,并且綜合的優化也不是單純的或一個方向的。為達到速度、面積、性能的要求,往往需要對綜合加以約束,稱為綜合約束。
1.5.3 布線布局(適配)
適配器也稱結構綜合器,它的功能是將由綜合器產生的網表文件配置于指定的目標器件中,使之產生最終的下載文件,如JEDEC、Jam格式的文件。適配所選定的目標器件(FPGA/CPLD芯片)必須屬于原綜合器指定的目標器件系列。通常,EDA軟件中的綜合器可由專業的第三方EDA公司提供,而適配器則需由FPGA/CPLD供應商提供。因為適配器的適配對象直接與器件的結構細節相對應。
邏輯綜合通過后必須利用適配器將綜合后網表文件針對某一具體的目標器件進行邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優化、邏輯布局布線操作。適配完成后可以利用適配所產生的仿真文件作精確的時序仿真,同時產生可用于編程的文件。
1.5.4 仿真
在編程下載前必須利用EDA工具對適配生成的結果進行模擬測試,就是所謂的仿真。
仿真就是讓計算機根據一定的算法和一定的仿真庫對EDA設計進行模擬,以驗證設計,排除錯誤。仿真是在EDA設計過程中的重要步驟。圖1-5所示的時序與功能門級仿真通常由PLD公司的EDA開發工具直接提供(當然也可以選用第三方的專業仿真工具),它可以完成兩種不同級別的仿真測試。
(1)時序仿真。就是接近真實器件運行特性的仿真,仿真文件中已包含了器件硬件特性參數,因而,仿真精度高。但時序仿真的仿真文件必須來自針對具體器件的適配器。綜合后所得的EDIF等網表文件通常作為FPGA適配器的輸入文件,產生的仿真網表文件中包含了精確的硬件延遲信息。
(2)功能仿真。它是直接對VHDL、原理圖描述或其他描述形式的邏輯功能進行測試模擬,以了解其實現的功能是否滿足原設計要求的過程,仿真過程不涉及任何具體器件的硬件特性。不經歷適配階段,在設計項目編輯編譯(或綜合)后即可進入門級仿真器進行模擬測試。直接進行功能仿真的好處是設計耗時短,對硬件庫、綜合器等沒有任何要求。對于規模比較大的設計項目,綜合與適配在計算機上的耗時是十分可觀的,如果每一次修改后的模擬都必須進行時序仿真,顯然會極大地降低開發效率。因此,通常的做法是,首先進行功能仿真,待確認設計文件所表達的功能滿足設計者原有意圖時,即邏輯功能滿足要求后,再進行綜合、適配和時序仿真,以便把握設計項目在硬件條件下的運行情況。
1.5.5 下載和硬件測試
把適配后生成的下載或配置文件,通過編程器或編程電纜向FPGA或CPLD進行下載,以便進行硬件調試和驗證(Hardware 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系列、Altera的FLEX10K、ACEX1K或Cyclone系列等。
當然也有從下載方式上分的。有關FPGA/CPLD下載的詳細情況將在第2章中介紹。
最后是將含有載入了設計的FPGA或CPLD的硬件系統進行統一測試,以便最終驗證設計項目在目標系統上的實際工作情況,以排除錯誤,改進設計。
1.6 專用集成電路設計流程
專用集成電路ASIC(Application Specific Integrated Circuits)是相對于通用集成電路而言的,ASIC主要指用于某一專門用途的集成電路器件。ASIC分類大致如圖1-6所示,分為數字ASIC、模擬ASIC和數模混合ASIC。
1.6.1 專用集成電路ASIC設計方法
對于數字ASIC,其設計方法有多種。按版圖結構及制造方法分,有半定制(Semi- custom)和全定制(Full-custom)兩種實現方法,如圖1-7所示。
ASIC的全定制方法是一種基于晶體管級的,手工設計版圖的制造方法。設計者需要使用全定制版圖設計工具來完成,設計者必須考慮晶體管版圖的尺寸、位置、互連線等技術細節,并據此確定整個電路的布局布線,以使設計的芯片的性能、面積、功耗、成本達到最優。顯然,在全定制設計中,人工參與的工作量大,設計周期長,而且容易出錯。
電子設計自動化技術及其發展 - Ryan - liyongfeng1111的博客 電子設計自動化技術及其發展 - Ryan - liyongfeng1111的博客
圖1-6 ASIC分類 圖1-7 ASIC實現方法
然而利用全定制方法設計的電路,面積利用率最高,性能較好,功耗較低,有利于降低設計成本,提高芯片的集成度和工作速度,以及降低功耗。在通用中小規模集成電路設計、模擬集成電路,包括射頻級集成器件的設計,以及有特殊性能要求和功耗要求的電路或處理器中的特殊功能模塊電路的設計中被廣泛采用。
ASIC的半定制法是一種約束性設計方式,約束的目的是簡化設計,縮短設計周期,降低設計成本,提高設計正確率。半定制法按邏輯實現的方式不同,可再分為門陣列法、標準單元法和可編程邏輯器件法。
門陣列(Gate Array)法是較早使用的一種ASIC設計方法,又稱為母片(Master Slice)法。需預先設計和制造好各種規模的母片,其內部成行成列,并等間距地排列著基本單元的陣列。除金屬連線及引線孔以外的各層版圖圖形均固定不變,只剩下一層或兩層金屬鋁連線及孔的掩膜需要根據用戶電路的不同而定制。每個基本單元是以三對或五對晶體管組成,基本單元的高度和寬度都是相等的,并按行排列。設計人員只需要設計到電路一級,將電路的網表文件交給IC廠家即可。IC廠家根據網表文件描述的電路連接關系,完成母片上電路單元的布局及單元間的連線,然后對這部分金屬線及引線孔的圖形進行制版和流片。
這種設計方式涉及的工藝少、模式規范、設計自動化程度高、設計周期短、造價低,且適合于小批量的ASIC設計。所有這些都有賴于事先制備母片及庫單元,并經過驗證。門陣列法的缺點是芯片面積利用率低,靈活性差,對設計限制得過多。
標準單元(Standard Cell)法必須預建完善的版圖單元庫,庫中包括以物理版圖級表達的各種電路元件和電路模塊“標準單元”,可供用戶調用以設計不同的芯片。這些單元的邏輯功能、電性能及幾何設計規則等都已經過分析和驗證。與門陣列庫單元不同的是,標準單元的物理版圖將從最低層至最高層的各層版圖設計圖形都包括在內。在設計布圖時,從單元庫中調出標準單元按行排列,行與行之間留有布線通道,同行或相鄰行的單元相連可通過單元行的上、下通道完成。隔行單元之間的垂直方向互連則必須借用事先預留在“標準單元”內部的走線道(feed-through)或在兩單元間設置的“走線道單元”(feed-through cell)或“空單元”(empty cell)來完成連接。標準單元法設計ASIC的優點是:
(1)比門陣列法具有更加靈活的布圖方式。
(2)“標準單元”預先存在單元庫中,可以極大地提高設計效率。
(3)可以從根本上解決布通率問題,達到100%的布通率。
(4)可以使設計者更多地從設計項目的高層次關注電路的優化和性能問題。
(5)標準單元設計模式自動化程度高、設計周期短、設計效率高,十分適合利用功能強大的EDA工具進行ASIC的設計。
因此標準單元法是目前ASIC設計中應用最廣泛的設計方法之一。標準單元法還有一個重要的優勢,即它與可編程邏輯器件法的應用有相似點,它們都是建立在標準單元庫的基礎之上的,因此從FPGA/CPLD設計向使用標準單元法設計的ASIC設計遷移是十分方便的。利用這種設計模式可以很好地解決直接進行ASIC設計中代價高昂的功能驗證問題和快速的樣品評估問題。
標準單元法存在的問題是,當工藝更新之后,標準單元庫要隨之更新,這是一項十分繁重的工作。為了解決人工設計單元庫費時費力的問題,目前幾乎所有在市場上銷售的IC CAD系統,如Synopsys、Cadence、Mentor等都含有標準單元自動設計工具。此外,設計重用(Design Reuse)技術也可用于解決單元庫的更新問題。門陣列法或標準單元法設計ASIC共存的缺點是無法避免冗雜繁復的IC制造后向流程,而且與IC設計工藝緊密相關,最終的設計也需要集成電路制造廠家來完成,一旦設計有誤,將導致巨大的損失。另外還有設計周期長、基礎投入大、更新換代難等方面的缺陷。
可編程邏輯器件法是用可編程邏輯器件設計用戶定制的數字電路系統。可編程邏輯器件芯片實質上是門陣列及標準單元設計技術的延伸和發展。可編程邏輯器件是一種半定制的邏輯芯片,但與門陣列法、標準單元法不同,芯片內的硬件資源和連線資源是由廠家預先制定好的,可以方便地通過編程下載獲得重新配置。這樣,用戶就可以借助EDA軟件和編程器在實驗室或車間中自行進行設計、編程或電路更新。而且如果發現錯誤,則可以隨時更改,完全不必關心器件實現的具體工藝。
用可編程邏輯器件法設計ASIC(或稱可編程ASIC),設計效率大為提高、上市的時間大為縮短。當然,這種用可編程邏輯器件直接實現的所謂ASIC的性能、速度和單位成本上對于全定制或標準單元法設計的ASIC都不具備競爭性。此外,也不可能用可編程ASIC去取代通用產品,如CPU、單片機、存儲器等的應用。
目前,為了降低單位成本,可以在用可編程邏輯器件實現設計后,用特殊的方法轉成ASIC電路,如Altera的部分FPGA器件在設計成功后可以通過HardCopy技術轉成對應的門陣列ASIC產品。
1.6.2 一般設計的流程
一般的ASIC從設計到制造,需要經過若干步驟,如圖1-8所示。
電子設計自動化技術及其發展 - Ryan - liyongfeng1111的博客
圖1-8 ASIC設計流程
(1)系統規格說明(System Specification)。分析并確定整個系統的功能,要求達到的性能、物理尺寸,確定采用何種制造工藝、設計周期和設計費用。建立系統的行為模型,進行可行性驗證。
(2)系統劃分(System Division)。將系統分割成各個功能子模塊,給出子模塊之間信號連接關系。驗證各個功能塊的行為模型,確定系統的關鍵時序。
(3)邏輯設計與綜合(Logic Design and Synthesis)。將劃分的各個子模塊用文本(網表或硬件描述語言)、原理圖等進行具體邏輯描述。對于硬件描述語言描述的設計模塊需要用綜合器進行綜合獲得具體的電路網表文件,對于原理圖等描述方式描述的設計模塊經簡單編譯后得到邏輯網表文件。
(4)綜合后仿真(Simulate after Synthesis)。從上一步得到網表文件,進行仿真驗證。
(5)版圖設計(Layout Design)。版圖設計是將邏輯設計中每一個邏輯元件、電阻、電容等以及它們之間的連線轉換成集成電路制造所需要的版圖信息。可手工或自動進行版圖規劃(Floorplanning)、布局(Placement)、布線(Routing)。這一步由于涉及邏輯到物理實現的映射,又稱物理設計(Physical Design)。
(6)版圖驗證(Layout Verification)。版圖設計完成以后進行版圖驗證,主要包括版圖原理圖比對(LVS)、設計規則檢查(DRC)和電氣規則檢查(ERC)。在手工版圖設計中,這是非常重要的一步。
(7)參數提取與后仿真。驗證完畢,進行版圖的電路網表提取(NE),參數提取(PE),把提取出的參數反注(Back-Annotate)至網表文件,進行最后一步仿真驗證工作。
(8)制版、流片。送IC生產線進行制版,光罩和流片,進行試驗性生產。
(9)芯片測試。測試芯片是否符合設計要求,并評估成品率。
1.7 面向FPGA的EDA開發工具
EDA工具在EDA技術應用中占據十分重要的位置,EDA的核心是利用計算機完成電子設計全程自動化,因此,基于計算機環境的EDA軟件的支持是必不可少的。由于EDA的整個流程涉及不同技術環節,每一環節中必須有對應的軟件包或專用EDA工具獨立處理,包括對電路模型的功能模擬、對VHDL行為描述的邏輯綜合等。因此單個EDA工具往往只涉及EDA流程中的某一步驟。這里就以EDA設計流程中涉及的主要軟件包為EDA工具分類,并給予簡要介紹。EDA工具大致可以分為5個模塊:設計輸入編輯器、仿真器、HDL綜合器、適配器(或布局布線器)和下載器。
當然這種分類不是絕對的,還有些輔助的EDA工具沒有在上面的分類中,如物理綜合器,例如Synplicity的Amplify和Mentor的Precision Physical Synthesis、HDL代碼分析調試器,例如Debussy、形式驗證(Formal Verification)工具。
由于對于一般設計使用不是很多,在這里就不再詳細講述。另外每個FPGA/CPLD生產廠家為了方便用戶,往往都提供集成開發環境,如Altera的Quartus II。
1.7.1 設計輸入編輯器
在以上曾對設計輸入編輯器或稱設計輸入環境作了部分介紹,它們可以接受不同的設計輸入表達方式,如原理圖輸入方式、狀態圖輸入方式、波形輸入方式以及HDL的文本輸入方式。在各可編程邏輯器件廠商提供的EDA開發工具中,一般都含有這類輸入編輯器,如Xilinx的ISE、Altera的MAX+plus II和Quartus II等。
通常專業的EDA工具供應商也提供相應的設計輸入工具,這些工具一般與該公司的其他電路設計軟件整合,這點尤其體現在原理圖輸入環境上。如Innovada的eProduct Designer中的原理圖輸入管理工具DxDesigner(原為ViewDraw),既可作為PCB設計的原理圖輸入,又可作為IC設計、模擬仿真和FPGA設計的原理圖輸入環境。比較常見的還有Cadence的Orcad中的Capture工具等。這一類的工具一般都設計成通用型的原理圖輸入工具。由于針對FPGA/CPLD設計的原理圖要含有特殊原理圖庫(含原理圖中的Symbol)的支持,因此其輸出并不與EDA流程的下步設計工具直接相連,而要通過網表文件(如EDIF文件)來傳遞。
由于HDL(包括VHDL、Verilog HDL等)的輸入方式是文本格式,所以它的輸入實現要比原理圖輸入簡單得多,用普通的文本編輯器即可完成。如果要求HDL輸入時有語法色彩提示,可用帶語法提示功能的通用文本編輯器,如UltraEdit、Vim、XEmacs等。當然EDA工具中提供的HDL編輯器會更好用些,如Aldec的Active HDL中的HDL編輯器、Altium的DXP 2004中的HDL編輯器。
另一方面,由于可編程邏輯器件規模的增大,設計的可選性大為增加,需要有完善的設計輸入文檔管理,Mentor提供的HDL Designer Series就是此類工具的一個典型代表。
有的EDA設計輸入工具把圖形設計與HDL文本設計相結合,如在提供HDL文本編輯器的同時提供狀態機編輯器,用戶可用圖形(狀態圖)來描述狀態機,最后生成HDL文本輸出。如Visual HDL、Mentor公司的FPGA Adantage(含HDL Designer Series)、Active HDL中的Active State等。尤其是HDL Designer Series中的各種輸入編輯器,可以接受諸如原理圖、狀態圖、表格圖等輸入形式,并將它們轉成HDL(VHDL/Verilog)文本表達方式,很好地解決了通用性(HDL輸入的優點)與易用性(圖形法的優點)之間的矛盾。
設計輸入編輯器在多樣、易用和通用性方面的功能不斷增強,標志著EDA技術中自動化設計程度的不斷提高。
1.7.2 HDL綜合器
由于目前通用的HDL語言為VHDL、Verilog HDL,這里介紹的HDL綜合器主要是針對這兩種語言的。
硬件描述語言誕生的初衷是用于電路邏輯的建模和仿真的,但直到Synoposys推出了HDL綜合器后,才改變了人們的看法,于是可以將HDL直接用于電路的設計。
由于HDL綜合器是目標器件硬件結構細節、數字電路設計技術、化簡優化算法以及計算機軟件的復雜結合體,而且HDL可綜合子集標準化過程緩慢,所以相比于形式多樣的設計輸入工具,成熟的HDL綜合器并不多。比較常用的,性能良好的FPGA/CPLD設計的HDL綜合器有以下3種。
● Synopsys公司的FPGA Compiler II、DC-FPGA綜合器。
● Synplicity公司的Synplify Pro綜合器。
● Mentor子公司Exemplar Logic的LeonardoSpectrum綜合器和Precision RTL Synthesis綜合器。
較早推出綜合器的是Synopsys公司,它為FPGA/CPLD開發推出的綜合器是FPGA Compiler及DC-FPGA。為了便于處理,最初由Synopsys公司在綜合器中增加了一些用戶自定義類型,如Std_logic等,后被納入IEEE標準。對于其他綜合器也都只能支持VHDL中的可綜合子集。FPGA Compiler中帶有一個原理圖生成瀏覽器,可以把綜合出的網表用原理圖的方式畫出來,便于驗證設計,還附有強大的延時分析器,可以對關鍵路徑進行單獨分析。
Synplicity公司的Synplify Pro除了有原理圖生成器、延時分析器外,還帶有一個FSM Compiler(有限狀態機編譯器),可以從提交的VHDL/Verilog設計文本中提出存在的有限狀態機設計模塊,并用狀態圖的方式顯示出來,用表格來說明狀態的轉移條件及輸出。Synplify Pro的原理圖瀏覽器可以定位原理圖中元件在VHDL/Verilog源文件中的對應語句,便于調試。
Exemplar公司的Leonardo Spectrum也是一個很好的HDL綜合器,它同時可用于FPGA/CPLD和ASIC設計兩類工程目標。Leonardo Spectrum作為Mentor的FPGA Adantage中的組成部分,與FPGA Adantage的設計輸入管理工具和仿真工具有很好的結合。
當然也有應用于ASIC設計的HDL綜合器,如Synopsys的Design Compiler,Synplicity的Synplify ASIC,Cadence的Synergy等。
HDL綜合器在把可綜合的VHDL/Verilog程序轉化成硬件電路時,一般要經過兩個步驟:第一步是HDL綜合器對VHDL/Verilog進行分析處理,并將其轉成相應的電路結構或模塊,這時是不考慮實際器件實現的,即完全與硬件無關,這個過程是一個通用電路原理圖形成的過程;第二步是對應實際實現的目標器件的結構進行優化,并使之滿足各種約束條件,優化關鍵路徑等。
HDL綜合器的輸出文件一般是網表文件,如EDIF格式(Electronic Design Interchange Format.),文件后綴是.edf ,是一種用于設計數據交換和交流的工業標準文件格式的文件,或是直接用VHDL/Verilog語言表達的標準格式的網表文件,或是對應FPGA器件廠商的網表文件,如Xilinx的XNF網表文件。
由于綜合器只完成EDA設計流程中的一個獨立設計步驟,所以它往往被其他EDA環境調用,以完成全部流程。它的調用方式一般有兩種:一種是前臺模式,在被調用時,顯示的是最常見的窗口界面;另一種稱為后臺模式或控制臺模式,被調用時不出現圖形界面,僅在后臺運行。
綜合器的使用也有兩種模式:圖形模式和命令行模式(Shell模式)。
1.7.3 仿真器
仿真器有基于元件(邏輯門)的仿真器和HDL語言的仿真器之分,基于元件的仿真器缺乏HDL仿真器的靈活性和通用性。在此主要介紹HDL仿真器。
在EDA設計技術中仿真的地位十分重要。行為模型的表達、電子系統的建模、邏輯電路的驗證乃至門級系統的測試,每一步都離不開仿真器的模擬檢測。在EDA發展的初期,快速地進行電路邏輯仿真是當時的核心問題,即使在現在,各設計環節的仿真仍然是整個EDA工程流程中最耗時間的一個步驟,因此仿真器的仿真速度、仿真的準確性、易用性成為衡量仿真器的重要指標。按仿真器對設計語言不同的處理方式分類,可分為編譯型仿真器和解釋型仿真器。
編譯型仿真器的仿真速度較快,但需要預處理,因此不便即時修改;解釋型仿真器的仿真速度一般,可隨時修改仿真環境和條件。
按處理的硬件描述語言類型分,HDL仿真器可分為VHDL仿真器、Verilog仿真器、Mixed HDL仿真器(混合HDL仿真器,同時處理Verilog與VHDL)和其他HDL仿真器(針對其他HDL語言的仿真)。
Model Technology的ModelSim是一個出色的VHDL/Verilog混合仿真器。它也屬于編譯型仿真器,仿真執行速度較快。
Cadence的Verilog-XL是最好的Verilog仿真器之一,Verilog-XL的前身與Verilog語言一起誕生。
按仿真的電路描述級別的不同,HDL仿真器可以單獨或綜合完成以下各仿真步驟:
(1)系統級仿真。
(2)行為級仿真。
(3)RTL級仿真。
(4)門級時序仿真。
按仿真時是否考慮硬件延時分類,可分為功能仿真和時序仿真,根據輸入仿真文件的不同,可以由不同的仿真器完成,也可由同一個仿真器完成。
幾乎各個EDA廠商都提供基于Verilog/VHDL的仿真器。常用的HDL仿真器除上面提及的ModelSim與Verilog-XL外、還有Aldec的Active HDL、Synopsys的VCS,Cadence的NC-Sim等。
1.7.4 適配器(布局布線器)
適配器的任務是完成目標系統在器件上的布局布線。適配,即結構綜合通常都由可編程邏輯器件的廠商提供的專門針對器件開發的軟件來完成。這些軟件可以單獨或嵌入在廠商的針對自己產品的集成EDA開發環境中存在。例如Lattice公司在其ispLEVEL開發系統嵌有自己的適配器,但同時提供性能良好、使用方便的專用適配器:ispEXPERT Compiler;而Altera公司的EDA集成開發環境MAX+plus II、Quartus II中都含有嵌入的適配器(Fitter);Xilinx的Foundation和ISE中也同樣含有自己的適配器。
適配器最后輸出的是各廠商自己定義的下載文件,用于下載到器件中以實現設計。適配器輸出以下多種用途的文件。
● 時序仿真文件,如MAX+plus II的SCF文件。
● 適配技術報告文件。
● 面向第三方EDA工具的輸出文件,如EDIF、VHDL或Verilog格式的文件。
● FPGA/CPLD編程下載文件,如用于CPLD編程的JEDEC、POF、ISP等格式的文件;用于FPGA配置的SOF、JAM、BIT等格式的文件。
1.7.5 下載器(編程器)
把設計下載到對應的實際器件,實現硬件設計。軟件部分一般都由可編程邏輯器件的廠商提供的專門針對器件下載或編程軟件來完成。
1.8 Quartus II概述
由于本書給出的實驗是基于Quartus II的,其應用方法和設計流程對于其他流行的EDA工具的使用具有一定的典型性和一般性,所以在此對它作一些介紹。
Quartus II是Altera提供的FPGA/CPLD開發集成環境,Altera是世界最大可編程邏輯器件供應商之一。Quartus II在21世紀初推出,是Altera前一代FPGA/CPLD集成開發環境MAX+plus II的更新換代產品,其界面友好,使用便捷。在Quartus II上可以完成1.5節所述的整個流程,它提供了一種與結構無關的設計環境,使設計者能方便地進行設計輸入、快速處理和器件編程。
Altera的Quartus II 提供了完整的多平臺設計環境,能滿足各種特定設計的需要,也是單芯片可編程系統(SOPC)設計的綜合性環境和SOPC開發的基本設計工具,并為Altera DSP開發包進行系統模型設計提供了集成綜合環境。Quartus II設計工具完全支持VHDL、Verilog的設計流程,其內部嵌有VHDL、Verilog邏輯綜合器。Quartus II也可以利用第三方的綜合工具,如Leonardo Spectrum、Synplify Pro、FPGA Compiler II,并能直接調用這些工具。同樣,Quartus II具備仿真功能,同時也支持第三方的仿真工具,如ModelSim。此外,Quartus II與MATLAB和DSP Builder結合,可以進行基于FPGA的DSP系統開發,是DSP硬件系統實現的關鍵EDA工具。
Quartus II包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analysis & Synthesis)、適配器(Fitter)、裝配器(Assembler)、時序分析器(Timing Analyzer)、設計輔助模塊(Design Assistant)、EDA網表文件生成器(EDA Netlist Writer)和編輯數據接口(Compiler Database Interface)等。可以通過選擇 Start Compilation來運行所有的編譯器模塊,也可以通過選擇Start單獨運行各個模塊。還可以通過選擇 Compiler Tool (Tools 菜單),在 Compiler Tool窗口中運行該模塊來啟動編譯器模塊。在 Compiler Tool 窗口中,可以打開該模塊的設置文件或報告文件,或打開其他相關窗口。
此外,Quartus II還包含許多十分有用的LPM(Library of Parameterized Modules)模塊,它們是復雜或高級系統構建的重要組成部分,在SOPC設計中被大量使用,也可在Quartus II普通設計文件一起使用。Altera提供的LPM函數均基于Altera器件的結構做了優化設計。在許多實用情況中,必須使用宏功能模塊才可以使用一些Altera特定器件的硬件功能。例如各類片上存儲器、DSP模塊、LVDS驅動器、PLL以及SERDES和DDIO電路模塊等。
圖1-9中所示的上排是Quartus II編譯設計主控界面,它顯示了Quartus II自動設計的各主要處理環節和設計流程,包括設計輸入編輯、設計分析與綜合、適配、編程文件匯編(裝配)、時序參數提取以及編程下載幾個步驟。在圖1-9下排的流程框圖,是與上面的Quartus II設計流程相對照的標準的EDA開發流程。
Quartus II編譯器支持的硬件描述語言有VHDL(支持VHDL’87及VHDL’97標準)、Verilog HDL及AHDL(Altera HDL),AHDL是Altera公司自己設計、制定的硬件描述語言,是一種以結構描述方式為主的硬件描述語言,只有企業標準。
Quartus II允許來自第三方的EDIF文件輸入,并提供了很多EDA軟件的接口,Quartus II支持層次化設計,可以在一個新的編輯輸入環境中對使用不同輸入設計方式完成的模塊(元件)進行調用,從而解決了原理圖與HDL混合輸入設計的問題。在設計輸入之后,Quartus II的編譯器將給出設計輸入的錯誤報告。Quartus II擁有性能良好的設計錯誤定位器,用于確定文本或圖形設計中的錯誤。對于使用HDL的設計,可以使用Quartus II帶有的RTL Viewer觀察綜合后的RTL圖。在進行編譯后,可對設計進行時序仿真。在作仿真前,需要利用波形編輯器編輯一個波形激勵文件,用于仿真驗證時的激勵。編譯和仿真經檢測無誤后,便可以將下載信息通過Quartus II提供的編程器下載入目標器件中了。
電子設計自動化技術及其發展 - Ryan - liyongfeng1111的博客
圖1-9 Quartus II設計流程
1.9 IP(Intellectual Property)核
IP就是知識產權核或知識產權模塊的意思,在EDA技術和開發中具有十分重要的地位。美國著名的Dataquest咨詢公司將半導體產業的IP定義為用于ASIC或FPGA/CPLD中的預先設計好的電路功能模塊。IP分軟IP、固IP和硬IP。
軟IP是用VHDL等硬件描述語言描述的功能塊,但是并不涉及用什么具體電路元件實現這些功能。軟IP通常是以硬件描述語言HDL源文件的形式出現,應用開發過程與普通的HDL設計也十分相似,只是所需的開發軟硬件環境比較昂貴。軟IP的設計周期短,設計投入少。由于不涉及物理實現,為后續設計留有很大的發揮空間,增大了IP的靈活性和適應性。軟IP的弱點是在一定程度上使后續工序無法適應整體設計,從而需要一定程度的軟IP修正,在性能上也不可能獲得全面的優化。
固IP是完成了綜合的功能塊。它有較大的設計深度,以網表文件的形式提交客戶使用。如果客戶與固IP使用同一個IC生產線的單元庫,IP應用的成功率會高得多。
硬IP提供設計的最終階段產品是掩膜。隨著設計深度的提高,后續工序所需要做的事情就越少,當然,靈活性也就越小。不同的客戶可以根據自己的需要訂購不同的IP產品。由于通信系統越來越復雜,PLD的設計也更加龐大,這增加了市場對IP核的需求。各大FPGA/CPLD廠家繼續開發新的商品IP,并且開始提供“硬件”IP,即將一些功能在出廠時就固化在芯片中。
實際上,IP的概念早已在IC設計中使用,應該說標準單元庫(Standard Cell library)中的功能單元就是IP的一種形式。IC生產廠(Foundry)為擴大業務,提供精心設計并經過工藝驗證的標準單元,以吸引IC設計公司(往往是Fabless,無生產線IC公司)成為他的客戶,同時向客戶免費提供相關的數據資料。于是IC設計師十分樂于使用成熟、優化的單元完成自己的設計,這樣既可以提高效率,又可以減少設計風險。設計師一旦以這些數據完成設計,自然也就必須要到這家Foundry去做工藝流片,這就使Foundry達到了擴大營業的目的。
標準單元使用者除與Foundry簽訂“標準單元數據不擴散協議”之外,無須另交單元庫的使用費,因此Foundry并沒有直接獲取IP的收益,只是通過擴大營業間接收到單元庫的IP效益,這就是IP的初級形式。
今天的IP已遠遠超出了這個水平,IP已經成為IC設計的一項獨立技術,成為實現SOC設計的技術支撐以及ASIC設計方法學中的學科分支。
從集成規模上說,現在的IP庫已經包含有諸如8051、ARM、PowerPC等微處理器,320C50等數字信號處理器,MPEG-II、JPEG等數字信息壓縮/解壓器在內的大規模IC模塊。這些模塊都曾經是具有完整功能的IC產品,并曾廣泛用來與其他功能器件一起,在PCB上構成系統主板。如今微電子技術已經具有在硅片上實現系統集成的功能,因此這些昔日的IC便以模塊“核”(Core)的形式嵌入ASIC或SOC之中。
從設計來源上說,單純靠Foundry設計IP模塊已遠不能滿足系統設計師的要求。今天的IP庫需要廣開設計源頭,匯納優秀模塊,不論出自誰家,只要是優化的設計,與同類模塊相比達到芯片面積更小、運行速度更快、功率消耗更低、工藝容差更大,就自然會有人愿意花錢使用這個模塊的“版權”,因此也就可以納入IP庫,成為IP的一員。
目前,盡管對IP還沒有統一的定義,但IP的實際內涵已有了明確的界定:首先,它必須是為了易于重用而按嵌入式應用專門設計的。即使是已經被廣泛使用的產品,在決定作為IP之前,一般來說也須要再做設計,使其更易于在系統中嵌入。比較典型的例子是嵌入式RAM,由于嵌入后已經不存在引線壓點(PAD)的限制,所以在分立電路中不得不采取的措施,諸如數據線輸入輸出復用、地址數據線分時復用、數據串并轉換以及行列等分譯碼等,在嵌入式RAM中將被去除,不僅節省了芯片面積,而且大幅提高了讀寫速度。
其次是必須實現IP模塊的優化設計。優化的目標通常可用“四最”來表達,即芯片的面積最小、運算速度最快、功率消耗最低、工藝容差最大。所謂工藝容差大是指所做的設計可以經受更大的工藝波動,是提高加工成品率的重要保障。這樣的優化目標是普通的自動化設計過程難以達到的,但是對于IP卻又必須達到。因為IP必須能經受得起成千上萬次的使用。顯然,IP的每一點優化都將產生千百倍甚至更大的倍增效益。因此基于晶體管級的IP設計便成為完成IP設計的重要的途徑。
再次,就是要符合IP標準。這與其他IC產品一樣,IP進入流通領域后,也需要有標準。于是在1996年以后,RAIPD(Reusable Application-specific Intellectual-property Developers)、VSIA(Virtual Socket Interface Alliance)等組織相繼成立,協調并制訂IP重用所需的參數、文檔、檢驗方式等形式化的標準,以及IP標準接口、片內總線等技術性的協議標準。雖然這些工作已經開展了多年,也制訂了一些標準,但至今仍有大量問題有待解決。例如,不同嵌入式處理器協議的統一、不同IP片內結構的統一等問題。
我國在IP設計方面尚處于起步階段,與IP的應用需求形成明顯的不一致,這為我國未來的IP設計工程師提供了廣闊的用武之地。
1.10 EDA技術的發展趨勢
隨著市場需求的增長,集成工藝水平及計算機自動設計技術的不斷提高,促使單片系統,或稱系統集成芯片成為IC設計的發展方向,這一發展趨勢表現在以下幾個方面。
● 超大規模集成電路的集成度和工藝水平不斷提高,深亞微米(Deep-Submicron)工藝,如0.13μm、90nm已經走向成熟,在一個芯片上完成的系統級的集成已成為可能。
● 由于工藝線寬的不斷減小,在半導體材料上的許多寄生效應已經不能簡單地被忽略。這就對EDA工具提出了更高的要求。同時,也使得IC生產線的投資更為巨大。可編程邏輯器件開始進入傳統的ASIC市場。
● 市場對電子產品提出了更高的要求,如必須降低電子系統的成本,減小系統的體積等,從而對系統的集成度不斷提出更高的要求。同時,設計的效率也成了一個產品能否成功的關鍵因素,促使EDA工具和IP核應用更為廣泛。
● 高性能的EDA工具得到長足的發展,其自動化和智能化程度不斷提高,為嵌入式系統設計提供了功能強大的開發環境。
● 計算機硬件平臺性能大幅度提高,為復雜的SOC設計提供了物理基礎。
但現有的HDL語言只是提供行為級,或功能級的描述,尚無法完成對復雜的系統級的抽象描述。人們正嘗試開發一種新的系統級設計語言來完成這一工作,現在已開發出更趨于電路行為級的硬件描述語言,如SystemC、SystemVerilog及系統級混合仿真工具,可以在同一個開發平臺上完成高級語言,如C/C++等,與標準HDL語言(VeriIog HDL、VHDL)或其他更低層次描述模塊的混合仿真。雖然用戶用高級語言編寫的模塊尚不能自動轉化成HDL描述,但作為一種針對特定應用領域的開發工具,軟件供應商已經為常用的功能模塊提供了豐富的宏單元庫支持,可以方便地構建應用系統,并通過仿真加以優化,最后自動產生HDL代碼,進入下一階段的ASIC實現。
此外,隨著系統開發對EDA技術的目標器件各種性能要求的提高,ASIC和FPGA將更大程度地相互融合。這是因為雖然標準邏輯ASIC芯片尺寸小、功能強大、耗電省,但設計復雜,并且有批量生產要求;可編程邏輯器件開發費用低廉,能在現場進行編程,但卻體積大、功能有限,而且功耗較大。因此,FPGA和ASIC正在走到一起,互相融合,取長補短。由于一些ASIC制造商提供具有可編程邏輯的標準單元,可編程器件制造商重新對標準邏輯單元發生興趣,而有些公司采取兩頭并進的方法,從而使市場開始發生變化,在FPGA和ASIC之間正在誕生一種“雜交”產品,以滿足成本和上市速度的要求。例如將可編程邏輯器件嵌入標準單元。
盡管將標準單元核與可編程器件集成在一起并不意味著使ASIC更加便宜,或使FPGA更加省電。但是,可使設計人員將兩者的優點結合在一起,通過去掉FPGA的一些功能,可減少成本和開發時間并增加靈活性。當然現今也在進行將ASIC嵌入可編程邏輯單元的工作。目前,許多PLD公司開始為ASIC提供FPGA內核。PLD廠商與ASIC制造商結盟,為SOC設計提供嵌入式FPGA模塊,使未來的ASIC供應商有機會更快地進入市場,利用嵌入式內核獲得更長的市場生命期。
例如在實際應用中使用所謂可編程系統級集成電路(FPSLIC),即將嵌入式FPGA內核與RISC微控制器組合在一起形成新的IC,廣泛用于電信、網絡、儀器儀表和汽車中的低功耗應用系統中。當然,也有PLD廠商,不把CPU的硬核直接嵌入在FPGA中,使用了軟IP核,并稱之為SOPC(可編程片上系統),也可以完成復雜電子系統的設計,只是代價將相應提高。
在新一代的ASIC器件中留有FPGA的空間。如果希望改變設計,或者由于開始的工作中沒有條件完成做足夠的驗證測試,稍后也可以根據要求對它編程。有了一定的再修改的自由度。ASIC設計人員采用這種小的可編程邏輯內核用于修改設計問題,很好地降低了設計風險。增加可編程邏輯的另一個原因是,考慮到設計產品的許多性能指標變化太快,特別是通信協議,為已經完成設計并投入應用的IC留有多次可自由更改的功能是十分有價值的事,這在通信領域中的芯片設計方面尤為重要。
現在,傳統ASIC和FPGA之間的界限正變得模糊。系統級芯片不僅集成RAM和微處理器,也集成FPGA。整個EDA和IC設計工業都朝這個方向發展,這并非是FPGA與ASIC制造商競爭的產物,而對于用戶來說,意味著有了更多的選擇。
【電子設計自動化技術及其發展】相關文章:
高校辦公自動化存在的問題及其發展05-19
跟單員發展方向及其就業前景01-09
現代舞的現狀及其發展11-17
EDA技術的發展08-26
電氣工程及其自動化專業就業形勢08-10
2017年教師及其專業發展要點05-15
網格技術的特點及其對檔案工作的影響10-28
BI商務智能系統及其技術架構06-20
中國動漫游戲產業的現狀及其發展對策06-21