亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

電子設(shè)計(jì)自動化技術(shù)及其發(fā)展

時間:2023-01-21 11:27:08 EDA技術(shù)培訓(xùn) 我要投稿
  • 相關(guān)推薦

2017年電子設(shè)計(jì)自動化技術(shù)及其發(fā)展

  電子設(shè)計(jì)自動化已經(jīng)被廣泛應(yīng)用于電子電路的設(shè)計(jì)和仿真,集成電路的版圖設(shè)計(jì)、印刷電路板(PCB)的設(shè)計(jì)和可編程器件的編程等各項(xiàng)工作中。下面是小編整理的關(guān)于電子設(shè)計(jì)自動化技術(shù)及其發(fā)展,歡迎大家參考!

  20世紀(jì)末,電子設(shè)計(jì)技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透到社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也變得越來越快。

  微電子技術(shù)的進(jìn)步表現(xiàn)在大規(guī)模集成電路加工技術(shù)即半導(dǎo)體工藝技術(shù)的發(fā)展上,使得表征半導(dǎo)體工藝水平的線寬已經(jīng)達(dá)到了90nm,并還在不斷地縮小,在硅片單位面積上,集成了更多的晶體管。集成電路設(shè)計(jì)正在不斷地向超大規(guī)模、極低功耗和超高速的方向發(fā)展;專用集成電路ASIC(Application Specific Integrated Circuit)的設(shè)計(jì)成本不斷降低,在功能上,現(xiàn)代的集成電路已能夠?qū)崿F(xiàn)單片電子系統(tǒng)SOC(System On a Chip)。

  現(xiàn)代電子設(shè)計(jì)技術(shù)的核心已日趨轉(zhuǎn)向基于計(jì)算機(jī)的電子設(shè)計(jì)自動化技術(shù),即EDA(Electronic Design Automation)技術(shù)。EDA技術(shù)就是依賴功能強(qiáng)大的計(jì)算機(jī),在EDA工具軟件平臺上,對以硬件描述語言HDL(Hardware Description Language)為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動地完成邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合、結(jié)構(gòu)綜合(布局布線),以及邏輯優(yōu)化和仿真測試,直至實(shí)現(xiàn)既定的電子線路系統(tǒng)功能。EDA技術(shù)使得設(shè)計(jì)者的工作僅限于利用軟件的方式,即利用硬件描述語言和EDA軟件來完成對系統(tǒng)硬件功能的實(shí)現(xiàn),這是電子設(shè)計(jì)技術(shù)的一個巨大進(jìn)步。

  另一方面,在現(xiàn)代高新電子產(chǎn)品的設(shè)計(jì)和生產(chǎn)中,微電子技術(shù)和現(xiàn)代電子設(shè)計(jì)技術(shù)是相互促進(jìn)、相互推動又相互制約的兩個環(huán)節(jié);前者代表了物理層在廣度和深度上硬件電路實(shí)現(xiàn)的發(fā)展,后者則反映了現(xiàn)代先進(jìn)的電子理論、電子技術(shù)、仿真技術(shù)、設(shè)計(jì)工藝和設(shè)計(jì)技術(shù)與最新的計(jì)算機(jī)軟件技術(shù)有機(jī)的融合和升華。因此,嚴(yán)格地說,EDA技術(shù)應(yīng)該是這二者的結(jié)合,是這兩個技術(shù)領(lǐng)域共同孕育的奇葩。

  EDA技術(shù)在硬件實(shí)現(xiàn)方面融合了大規(guī)模集成電路制造技術(shù),IC版圖設(shè)計(jì)技術(shù)、ASIC測試和封裝技術(shù)、FPGA/CPLD編程下載技術(shù)、自動測試技術(shù)等;在計(jì)算機(jī)輔助工程方面融合了計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測試(CAT)、計(jì)算機(jī)輔助工程(CAE)技術(shù)以及多種計(jì)算機(jī)語言的設(shè)計(jì)概念;而在現(xiàn)代電子學(xué)方面則容納了更多的內(nèi)容,如電子線路設(shè)計(jì)理論、數(shù)字信號處理技術(shù)、數(shù)字系統(tǒng)建模和優(yōu)化技術(shù)及長線技術(shù)理論等。因此EDA技術(shù)為現(xiàn)代電子理論和設(shè)計(jì)的表達(dá)與實(shí)現(xiàn)提供了可能性。

  在現(xiàn)代技術(shù)的所有領(lǐng)域中,縱觀許多得以飛速發(fā)展的科學(xué)技術(shù),多為計(jì)算機(jī)輔助設(shè)計(jì),而非自動化設(shè)計(jì)。顯然,最早進(jìn)入設(shè)計(jì)自動化的技術(shù)領(lǐng)域之一是電子技術(shù),這就是為什么電子技術(shù)始終處于所有科學(xué)技術(shù)發(fā)展最前列的原因之一。不難理解,EDA技術(shù)已不是某一學(xué)科的分支,或某種新的技能技術(shù),而應(yīng)該是一門綜合性學(xué)科。它融合多學(xué)科于一體,又滲透于各學(xué)科之中,打破了軟件和硬件間的壁壘,使計(jì)算機(jī)的軟件技術(shù)與硬件實(shí)現(xiàn)、設(shè)計(jì)效率和產(chǎn)品性能合二為一,它代表了電子設(shè)計(jì)技術(shù)和應(yīng)用技術(shù)的發(fā)展方向。

  正因?yàn)镋DA技術(shù)豐富的內(nèi)容以及與電子技術(shù)各學(xué)科領(lǐng)域的相關(guān)性,其發(fā)展的歷程同大規(guī)模集成電路設(shè)計(jì)技術(shù)、計(jì)算機(jī)輔助工程、可編程邏輯器件,以及電子設(shè)計(jì)技術(shù)和工藝的發(fā)展是同步的。就過去近30年的電子技術(shù)的發(fā)展歷程,可大致將EDA技術(shù)的發(fā)展分為三個階段。

  20世紀(jì)70年代,在集成電路制作方面,MOS工藝已得到廣泛的應(yīng)用?删幊踢壿嫾夹g(shù)及其器件已經(jīng)問世,計(jì)算機(jī)作為一種運(yùn)算工具已在科研領(lǐng)域得到廣泛應(yīng)用。而在后期,CAD的概念已見雛形,這一階段人們開始利用計(jì)算機(jī)取代手工勞動,輔助進(jìn)行集成電路版圖編輯、PCB布局布線等工作。

  20世紀(jì)80年代,集成電路設(shè)計(jì)進(jìn)入了CMOS(互補(bǔ)場效應(yīng)管)時代。復(fù)雜可編程邏輯器件已進(jìn)入商業(yè)應(yīng)用,相應(yīng)的輔助設(shè)計(jì)軟件也已投入使用;而在80年代末,出現(xiàn)了FPGA(Field Programmable Gate Array),CAE和CAD技術(shù)的應(yīng)用更為廣泛,它們在PCB設(shè)計(jì)方面的原理圖輸入、自動布局布線及PCB分析,以及邏輯設(shè)計(jì)、邏輯仿真、布爾方程綜合和化簡等方面擔(dān)任了重要的角色。特別是各種硬件描述語言的出現(xiàn)、應(yīng)用和標(biāo)準(zhǔn)化方面的重大進(jìn)步,為電子設(shè)計(jì)自動化必須解決的電路建模、標(biāo)準(zhǔn)文檔及仿真測試奠定了基礎(chǔ)。

  進(jìn)入20世紀(jì)90年代,隨著硬件描述語言的標(biāo)準(zhǔn)化得到進(jìn)一步的確立,計(jì)算機(jī)輔助工程、輔助分析和輔助設(shè)計(jì)在電子技術(shù)領(lǐng)域獲得更加廣泛的應(yīng)用,與此同時,電子技術(shù)在通信、計(jì)算機(jī)及家電產(chǎn)品生產(chǎn)中的市場需求和技術(shù)需求,也極大地推動了全新的電子設(shè)計(jì)自動化技術(shù)的應(yīng)用和發(fā)展。特別是集成電路設(shè)計(jì)工藝步入了超深亞微米階段,百萬門以上的大規(guī)?删幊踢壿嬈骷年懤m(xù)面世,以及基于計(jì)算機(jī)技術(shù)的面向用戶的低成本大規(guī)模ASIC設(shè)計(jì)技術(shù)的應(yīng)用,促進(jìn)了EDA技術(shù)的形成。更為重要的是各EDA公司致力于推出兼容各種硬件實(shí)現(xiàn)方案和支持標(biāo)準(zhǔn)硬件描述語言的EDA工具軟件的研究,都有效地將EDA技術(shù)推向成熟和實(shí)用。

  EDA技術(shù)在進(jìn)入21世紀(jì)后,得到了更大的發(fā)展,突出表現(xiàn)在以下幾個方面。

  ● 在FPGA上實(shí)現(xiàn)DSP(數(shù)字信號處理)應(yīng)用成為可能,用純數(shù)字邏輯進(jìn)行DSP模塊的設(shè)計(jì),使得高速DSP實(shí)現(xiàn)成為現(xiàn)實(shí),并有力地推動了軟件無線電技術(shù)的實(shí)用化和發(fā)展。基于FPGA的DSP技術(shù),為高速數(shù)字信號處理算法提供了實(shí)現(xiàn)途徑。

  ● 嵌入式處理器軟核的成熟,使得SOPC(System On a Programmable Chip)步入大規(guī)模應(yīng)用階段,在一片F(xiàn)PGA中實(shí)現(xiàn)一個完備的數(shù)字處理系統(tǒng)成為可能。

  ● 使電子設(shè)計(jì)成果以自主知識產(chǎn)權(quán)的方式得以明確表達(dá)和確認(rèn)成為可能。

  ● 在仿真和設(shè)計(jì)兩方面支持標(biāo)準(zhǔn)硬件描述語言且功能強(qiáng)大的EDA軟件不斷推出。

  ● 電子技術(shù)領(lǐng)域全方位融入EDA技術(shù),除了日益成熟的數(shù)字技術(shù)外,傳統(tǒng)的電路系統(tǒng)設(shè)計(jì)建模理念發(fā)生了重大的變化:軟件無線電技術(shù)的崛起,模擬電路系統(tǒng)硬件描述語言的表達(dá)和設(shè)計(jì)的標(biāo)準(zhǔn)化,系統(tǒng)可編程模擬器件的出現(xiàn),數(shù)字信號處理和圖像處理的全硬件實(shí)現(xiàn)方案的普遍接受,軟硬件技術(shù)的進(jìn)一步融合等。

  ● EDA使得電子領(lǐng)域各學(xué)科的界限更加模糊,更加互為包容:模擬與數(shù)字、軟件與硬件、系統(tǒng)與器件、ASIC與FPGA、行為與結(jié)構(gòu)等。

  ● 更大規(guī)模的FPGA和CPLD器件的不斷推出。

  ● 基于EDA的用于ASIC設(shè)計(jì)的標(biāo)準(zhǔn)單元已涵蓋大規(guī)模電子系統(tǒng)及復(fù)雜IP核模塊。

  ● 軟硬IP(Intellectual Property)核在電子行業(yè)的產(chǎn)業(yè)領(lǐng)域廣泛應(yīng)用。

  ● SOC高效低成本設(shè)計(jì)技術(shù)的成熟。

  ● 系統(tǒng)級、行為驗(yàn)證級硬件描述語言出現(xiàn)(如System C),使復(fù)雜電子系統(tǒng)的設(shè)計(jì)和驗(yàn)證趨于簡單。

  1.2 電子設(shè)計(jì)自動化應(yīng)用對象

  一般地說,利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì),最后實(shí)現(xiàn)的目標(biāo)是以下3種。

  ● 全定制或半定制ASIC。

  ● FPGA/CPLD(或稱可編程ASIC)開發(fā)應(yīng)用。

  ● PCB(印制電路板)。

  實(shí)現(xiàn)目標(biāo)的前面兩項(xiàng)可以歸結(jié)為專用集成電路ASIC的設(shè)計(jì)和實(shí)現(xiàn)(如圖1-1所示),ASIC是最終的物理平臺,集中容納了用戶通過EDA技術(shù)將電子應(yīng)用系統(tǒng)的既定功能和技術(shù)指標(biāo)具體實(shí)現(xiàn)的硬件實(shí)體。一般而言,專用集成電路就是具有專門用途和特定功能的獨(dú)立集成電路器件,根據(jù)這個定義,作為EDA技術(shù)最終實(shí)現(xiàn)目標(biāo)的ASIC,可以通過3種途徑來完成,這可以通過圖1-1來說明。

  電子設(shè)計(jì)自動化技術(shù)及其發(fā)展 - Ryan - liyongfeng1111的博客 電子設(shè)計(jì)自動化技術(shù)及其發(fā)展 - Ryan - liyongfeng1111的博客

  圖1-1 EDA技術(shù)實(shí)現(xiàn)目標(biāo)

  圖1-1中所標(biāo)的另外一個EDA技術(shù)實(shí)現(xiàn)目標(biāo)PCB,指的是印制電路板的布局布線設(shè)計(jì)及驗(yàn)證分析,由于不涉及芯片層面上的設(shè)計(jì),故不擬展開。

  下面主要介紹FPGA/CPLD與ASIC。

  1.超大規(guī)?删幊踢壿嬈骷

  FPGA(Field Programmable Gate Array)和CPLD(Complex Programmable Logic Device)是實(shí)現(xiàn)這一途徑的主流器件,它們的特點(diǎn)是直接面向用戶,具有極大的靈活性和通用性,使用方便,硬件測試和實(shí)現(xiàn)快捷,開發(fā)效率高,成本低,上市時間短,技術(shù)維護(hù)簡單,工作可靠性好等。FPGA和CPLD的應(yīng)用是EDA技術(shù)有機(jī)融合軟硬件電子設(shè)計(jì)技術(shù)以及對自動化設(shè)計(jì)與自動化實(shí)現(xiàn)最典型的詮釋。由于FPGA和CPLD的開發(fā)工具、開發(fā)流程和使用方法與ASIC有類似之處,因此這類器件通常也被稱為可編程專用IC,或可編程ASIC。

  2.半定制或全定制ASIC

  根據(jù)實(shí)現(xiàn)的工藝,基于EDA設(shè)計(jì)技術(shù)的半定制或全定制ASIC可統(tǒng)稱為掩膜(MASK)ASIC,或直接稱ASIC。

  ASIC大致分為門陣列ASIC、標(biāo)準(zhǔn)單元ASIC和全定制ASIC。

  門陣列ASIC

  門陣列芯片包括預(yù)定制相連的PMOS和NMOS晶體管行。設(shè)計(jì)中,用戶可以借助EDA工具將原理圖或硬件描述語言模型映射為相應(yīng)門陣列晶體管配置,創(chuàng)建一個指定金屬互連路徑文件,從而完成門陣列ASIC開發(fā)。由于有掩膜的創(chuàng)建過程,門陣列有時也稱掩膜可編程門陣列(MPGA)。但是 MPGA與FPGA完全不同,它不是用戶可編程的,也不屬于可編程邏輯范疇,而是實(shí)際的ASIC。MPGA出現(xiàn)在FPGA之前,F(xiàn)PGA技術(shù)則源自MPGA,F(xiàn)在,Altera的HardCopy、HardCopy II技術(shù)可以提供一種把FPGA的設(shè)計(jì)轉(zhuǎn)化為結(jié)構(gòu)化ASIC的途徑。

  標(biāo)準(zhǔn)單元ASIC

  目前大部分ASIC是使用庫中的不同大小的標(biāo)準(zhǔn)單元設(shè)計(jì)的,這類芯片一般稱作基于單元的集成電路(Cell-based Integrated Circuits,CBIC)。在設(shè)計(jì)者一級,庫包括不同復(fù)雜性的邏輯元件:SSI邏輯塊、MSI邏輯塊、數(shù)據(jù)通道模塊、存儲器、IP,以及系統(tǒng)級模塊。庫包含每個邏輯單元在硅片級的完整布局,使用者只需利用EDA軟件工具與邏輯塊描述打交道即可,完全不必關(guān)心電路布局的細(xì)節(jié)。標(biāo)準(zhǔn)單元布局中,所有擴(kuò)散、接觸點(diǎn)、過孔、多晶通道及金屬通道都已完全確定。當(dāng)該單元用于設(shè)計(jì)時,通過EDA軟件產(chǎn)生的網(wǎng)表文件將單元布局塊“粘貼”到芯片布局之上的單元行上。標(biāo)準(zhǔn)單元ASIC設(shè)計(jì)與FPGA設(shè)計(jì)開發(fā)的流程相近。

  全定制芯片

  全定制芯片中,在針對特定工藝建立的設(shè)計(jì)規(guī)則下,設(shè)計(jì)者對于電路的設(shè)計(jì)有完全的控制權(quán),如線的間隔和晶體管大小的確定。該領(lǐng)域的一個例外是混合信號設(shè)計(jì),使用通信電路的ASIC可以定制設(shè)計(jì)其模擬部分。

  3.混合ASIC

  混合ASIC(不是指數(shù);旌螦SIC)主要指既具有面向用戶的FPGA可編程功能和邏輯資源,同時也含有可方便調(diào)用和配置的硬件標(biāo)準(zhǔn)單元模塊,如CPU、RAM、ROM、硬件加法器、乘法器、鎖相環(huán)等。Xilinx、Atmel和Altera公司已經(jīng)推出了這方面的器件,如Virtex-4系列、Excalibur(含ARM核)和Stratix II系列等。混合ASIC為SOC和SOPC(System On a Programmable Chip)的設(shè)計(jì)實(shí)現(xiàn)成為便捷的途徑。

  1.3 硬件描述語言

  硬件描述語言HDL是EDA技術(shù)的重要組成部分,常見的HDL主要有VHDL、Verilog HDL、ABEL、AHDL、SystemVerilog和SystemC。

  其中VHDL、Verilog在現(xiàn)在EDA設(shè)計(jì)中使用最多,也擁有幾乎所有的主流EDA工具的支持。而SystemVerilog和SystemC這兩種HDL語言還處于完善過程中。VHDL是作為電子設(shè)計(jì)主流硬件的描述語言之一,本書將重點(diǎn)介紹它的編程方法和使用技術(shù)。

  1.3.1 硬件描述語言VHDL

  VHDL的英文全名是VHSIC(Very High Speed Integrated CircuitHardware Description Language),于1983年由美國國防部(DOD)發(fā)起創(chuàng)建,由IEEE(The Institute of Electrical and Electronics Engineers)進(jìn)一步發(fā)展,并在1987年作為“IEEE標(biāo)準(zhǔn)1076”發(fā)布。從此,VHDL成為硬件描述語言的業(yè)界標(biāo)準(zhǔn)之一。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本(IEEE Std 1076)之后,各EDA公司相繼推出了自己的VHDL設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具支持VHDL。此后VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛應(yīng)用,并逐步取代了原有的非標(biāo)準(zhǔn)硬件描述語言。

  VHDL作為一個規(guī)范語言和建模語言,隨著它的標(biāo)準(zhǔn)化,出現(xiàn)了一些支持該語言的行為仿真器。由于創(chuàng)建VHDL的最初目標(biāo)是用于標(biāo)準(zhǔn)文檔的建立和電路功能模擬,其基本想法是在高層次上描述系統(tǒng)和元件的行為。但到了20世紀(jì)90年代初,人們發(fā)現(xiàn),VHDL不僅可以作為系統(tǒng)模擬的建模工具,而且可以作為電路系統(tǒng)的設(shè)計(jì)工具;可以利用軟件工具將VHDL源碼自動地轉(zhuǎn)化為文本方式表達(dá)的基本邏輯元件連接圖,即網(wǎng)表文件。這種方法顯然對于電路自動設(shè)計(jì)是一個極大的推進(jìn)。很快,電子設(shè)計(jì)領(lǐng)域出現(xiàn)了第一個軟件設(shè)計(jì)工具,即VHDL邏輯綜合器,它可以標(biāo)準(zhǔn)地將VHDL的部分語句描述轉(zhuǎn)化為具體電路實(shí)現(xiàn)的網(wǎng)表文件。

  1993年,IEEE對VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展了VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言,F(xiàn)在公布的最新VHDL標(biāo)準(zhǔn)版本是IEEE 1076-2002。

  VHDL語言具有很強(qiáng)的電路描述和建模能力,能從多個層次對數(shù)字系統(tǒng)進(jìn)行建模和描述,從而大大簡化了硬件設(shè)計(jì)任務(wù),提高了設(shè)計(jì)效率和可靠性。

  VHDL具有與具體硬件電路無關(guān)和與設(shè)計(jì)平臺無關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,并在語言易讀性和層次化結(jié)構(gòu)化設(shè)計(jì)方面,表現(xiàn)了強(qiáng)大的生命力和應(yīng)用潛力。因此,VHDL在支持各種模式的設(shè)計(jì)方法、自頂向下與自底向上或混合方法方面,在面對當(dāng)今許多電子產(chǎn)品生命周期的縮短,需要多次重新設(shè)計(jì)以融入最新技術(shù),改變工藝等方面都表現(xiàn)了良好的適應(yīng)性。用VHDL進(jìn)行電子系統(tǒng)設(shè)計(jì)的一個很大的優(yōu)點(diǎn)是設(shè)計(jì)者可以專心致力于其功能的實(shí)現(xiàn),而不需要對不影響功能的與工藝有關(guān)的因素花費(fèi)過多的時間和精力。

  1.3.2 硬件描述語言的綜合

  綜合(Synthesis),就其字面含義應(yīng)該為:把抽象的實(shí)體結(jié)合成單個或統(tǒng)一的實(shí)體。因此,綜合就是把某些東西結(jié)合到一起,把設(shè)計(jì)抽象層次中的一種表述轉(zhuǎn)化成另一種表述的過程。對于電子設(shè)計(jì)領(lǐng)域的綜合概念可以表示為:將用行為和功能層次表達(dá)的電子系統(tǒng)轉(zhuǎn)換為低層次的便于具體實(shí)現(xiàn)的模塊組合裝配而成的過程。

  事實(shí)上,設(shè)計(jì)過程中的每一步都可稱為一個綜合環(huán)節(jié)。設(shè)計(jì)過程通常從高層次的行為描述開始,以最低層的結(jié)構(gòu)描述結(jié)束,每個綜合步驟都是上一層次的轉(zhuǎn)換。

  ● 從自然語言表述轉(zhuǎn)換到VHDL語言算法表述,是自然語言綜合。

  ● 從算法表述轉(zhuǎn)換到寄存器傳輸級(Register Transfer Level,RTL)表述,即從行為域到結(jié)構(gòu)域的綜合,是行為綜合。

  ● 從RTL級表述轉(zhuǎn)換到邏輯門(包括觸發(fā)器)的表述,即邏輯綜合。

  ● 從邏輯門表述轉(zhuǎn)換到版圖表述(ASIC設(shè)計(jì)),或轉(zhuǎn)換到FPGA的配置網(wǎng)表文件,可稱為版圖綜合或結(jié)構(gòu)綜合。

  有了版圖信息就可以把芯片生產(chǎn)出來了。有了對應(yīng)的配置文件,就可以使對應(yīng)的FPGA變成具有專門功能的電路器件。顯然,綜合器就是能夠自動將一種設(shè)計(jì)表示形式向另一種設(shè)計(jì)表示形式轉(zhuǎn)換的計(jì)算機(jī)程序,或協(xié)助進(jìn)行手工轉(zhuǎn)換的程序。它可以將高層次的表述轉(zhuǎn)化為低層次的表述,可以從行為域轉(zhuǎn)化為結(jié)構(gòu)域,可以將高一級抽象的電路表述(如算法級)轉(zhuǎn)化為低一級的表述(如門級),并可以用某種特定的硬件技術(shù)實(shí)現(xiàn)(如CMOS)。

  對設(shè)計(jì)者而言,在高抽象層次進(jìn)行系統(tǒng)設(shè)計(jì),再利用綜合工具將設(shè)計(jì)轉(zhuǎn)化為低層次的表示,與直接在低抽象層次來設(shè)計(jì)系統(tǒng)的情況相比,類似于一個程序員用高級語言編程并用編譯器將程序編譯成機(jī)器代碼和直接用機(jī)器代碼進(jìn)行編程時的情況。前一種情況在于設(shè)計(jì)者可以將精力主要集中于系統(tǒng)級問題上,而由于不必關(guān)心低級層次的設(shè)計(jì)所面臨的細(xì)節(jié)問題,在高抽象層次上進(jìn)行設(shè)計(jì)和編程將花費(fèi)較少的時間和精力,并且減少錯誤的發(fā)生。

  另一方面,盡管(如圖1-2所示)從表面上看,VHDL等硬件描述語言綜合器和軟件程序編譯器都不過是一種“翻譯器”,它們都能將高層次的設(shè)計(jì)表達(dá)轉(zhuǎn)化為低層次的表達(dá),但它們卻具有許多本質(zhì)的區(qū)別。

  編譯器將軟件程序翻譯成基于某種特定CPU的機(jī)器代碼,這種代碼僅限于這種CPU而不能移植,并且機(jī)器代碼不代表硬件結(jié)構(gòu),更不能改變CPU的硬件結(jié)構(gòu),只能被動地為其特定的硬件電路結(jié)構(gòu)所利用。如果脫離了已有的硬件環(huán)境(CPU),機(jī)器代碼將失去意義。此外,編譯器作為一種軟件的運(yùn)行,除了某種單一目標(biāo)器件,即CPU的硬件結(jié)構(gòu)外,不需要任何與硬件相關(guān)的器件庫和工藝庫參與編譯。因而,編譯器的工作單純得多,編譯過程基本屬于一種一一對應(yīng)式的“翻譯”行為。

  綜合器則不同,同樣是類似的軟件代碼(如VHDL程序),綜合器轉(zhuǎn)化的目標(biāo)是底層的電路結(jié)構(gòu)網(wǎng)表文件,這種滿足原設(shè)計(jì)程序功能描述的電路結(jié)構(gòu)不依賴于任何特定硬件環(huán)境,因此可以獨(dú)立地存在,并能輕易地被移植到任何通用硬件環(huán)境中,如ASIC、FPGA等。換言之,電路網(wǎng)表代表了特定的硬件結(jié)構(gòu),因此具備了隨時改變硬件結(jié)構(gòu)的依據(jù)。綜合的結(jié)果具有相對獨(dú)立性。另一方面,綜合器在將硬件描述語言表達(dá)的電路功能轉(zhuǎn)化成具體的電路結(jié)構(gòu)網(wǎng)表過程中,具有明顯的能動性和創(chuàng)造性,它不是機(jī)械的一一對應(yīng)式的“翻譯”,而是根據(jù)設(shè)計(jì)庫、工藝庫以及預(yù)先設(shè)置的各類約束條件,選擇最優(yōu)的方式完成電路結(jié)構(gòu)的形成。這就是說,對于相同的VHDL表述,綜合器可以用不同的電路結(jié)構(gòu)實(shí)現(xiàn)相同的功能。

  如圖1-3所示,與編譯器相比,綜合器具有更復(fù)雜的工作環(huán)境,綜合器在接受VHDL程序并準(zhǔn)備對其綜合前,必須獲得最終實(shí)現(xiàn)設(shè)計(jì)電路硬件特征相關(guān)的工藝庫的信息,以及獲得優(yōu)化綜合的諸多約束條件。一般地,約束條件可以分為3種,即設(shè)計(jì)規(guī)則、時間約束、面積約束。通常,時間約束的優(yōu)先級高于面積約束。設(shè)計(jì)優(yōu)化要求,當(dāng)綜合器把VHDL源碼翻譯成通用原理圖時,將識別狀態(tài)機(jī)、加法器、乘法器、多路選擇器和寄存器等。這些運(yùn)算功能根據(jù)VHDL源碼中的符號,如加減乘除。每種運(yùn)算都可用多種方法實(shí)現(xiàn),如加法可實(shí)現(xiàn)方案有多種,有的面積小,速度慢;有的速度快,面積大。VHDL行為描述強(qiáng)調(diào)的是電路的行為和功能,而不是電路如何實(shí)現(xiàn)。選擇電路的實(shí)現(xiàn)方案正是綜合器的任務(wù)。綜合器選擇一種能充分滿足各項(xiàng)約束條件且成本最低的實(shí)現(xiàn)方案,F(xiàn)在的許多綜合器還允許設(shè)計(jì)者指定在做映射優(yōu)化時綜合器應(yīng)付出多大“努力”;“努力”一般可分為低、中、高三檔。

  電子設(shè)計(jì)自動化技術(shù)及其發(fā)展 - Ryan - liyongfeng1111的博客 電子設(shè)計(jì)自動化技術(shù)及其發(fā)展 - Ryan - liyongfeng1111的博客

  圖1-2 編譯器和綜合功能比較 圖1-3 VHDL綜合器運(yùn)行流程

  需要注意的是,VHDL(和Verilog)方面的IEEE標(biāo)準(zhǔn)主要指的是文檔的表述、行為建模及其仿真,至于在電子線路的設(shè)計(jì)方面,VHDL(和Verilog)并沒有得到全面的支持和標(biāo)準(zhǔn)化。這就是說,VHDL綜合器并不能支持標(biāo)準(zhǔn)VHDL的全集(全部語句程序),而只能支持其子集,即部分語句,并且不同的VHDL綜合器所支持的VHDL子集也不完全相同。這樣一來,對于相同VHDL源代碼,不同的VHDL綜合器可能綜合出在結(jié)構(gòu)和功能上并不完全相同的電路系統(tǒng)。對此,設(shè)計(jì)者應(yīng)給予充分的注意。

  因此,對于不同的綜合結(jié)果,不應(yīng)對綜合器的特性貿(mào)然作出評價(jià),同時在設(shè)計(jì)過程中,必須盡可能全面了解所使用的綜合工具的基本特性。

  1.3.3 自頂向下設(shè)計(jì)方法

  傳統(tǒng)的電子設(shè)計(jì)流程通常是自底向上的,即首先確定構(gòu)成系統(tǒng)的最底層的電路模塊或元件的結(jié)構(gòu)和功能,然后根據(jù)主系統(tǒng)的功能要求,將它們組合成更大的功能塊,使它們的結(jié)構(gòu)和功能滿足高層系統(tǒng)的要求。以此流程,逐步向上遞推,直至完成整個目標(biāo)系統(tǒng)的設(shè)計(jì)。例如,對于一般電子系統(tǒng)的設(shè)計(jì),使用自底向上的設(shè)計(jì)方法,必須首先決定使用的器件類別和規(guī)格,如74系列的器件、某種RAM和ROM、某類CPU或單片機(jī)以及某些專用功能芯片等;然后是構(gòu)成多個功能模塊,如數(shù)據(jù)采集控制模塊、信號處理模塊、數(shù)據(jù)交換和接口模塊等,直至最后利用它們完成整個系統(tǒng)的設(shè)計(jì)。

  對于ASIC設(shè)計(jì),則是根據(jù)系統(tǒng)的功能要求,首先從繪制硅片版圖開始,逐級向上完成版圖級、門級、RTL級、行為級、功能級,直至系統(tǒng)級的設(shè)計(jì)。在這個過程中,任何一級發(fā)生問題,通常都不得不返工重來。

  自底向上的設(shè)計(jì)方法的特點(diǎn)是必須首先關(guān)注并致力于解決系統(tǒng)最底層硬件的可獲得性,以及它們的功能特性方面的諸多細(xì)節(jié)問題;在整個逐級設(shè)計(jì)和測試過程中,始終必須顧及具體目標(biāo)器件的技術(shù)細(xì)節(jié)。在這個設(shè)計(jì)過程中的任一時刻,最底層目標(biāo)器件的更換,或某些技術(shù)參數(shù)不滿足總體要求,或缺貨,或由于市場競爭的變化,臨時提出降低系統(tǒng)成本,提高運(yùn)行速度等不可預(yù)測的外部因素,都將可能使前面的工作前功盡棄。

  由此可見,在某些情況下,自底向上的設(shè)計(jì)方法是一種低效、低可靠性、費(fèi)時費(fèi)力,且成本高昂的設(shè)計(jì)方法。

  在電子設(shè)計(jì)領(lǐng)域,自頂向下設(shè)計(jì)方法只有在EDA技術(shù)得到快速發(fā)展和成熟應(yīng)用的今天才成為可能。自頂向下設(shè)計(jì)方法的有效應(yīng)用必須基于功能強(qiáng)大的EDA工具、具備集系統(tǒng)描述、行為描述和結(jié)構(gòu)描述功能為一體的VHDL硬件描述語言,以及先進(jìn)的ASIC制造工藝和FPGA開發(fā)技術(shù)。當(dāng)今,自頂向下的設(shè)計(jì)方法已經(jīng)是EDA技術(shù)的首選設(shè)計(jì)方法,是ASIC或FPGA開發(fā)的主要設(shè)計(jì)手段。

  在EDA技術(shù)應(yīng)用中,自頂向下的設(shè)計(jì)方法就是在整個設(shè)計(jì)流程中各設(shè)計(jì)環(huán)節(jié)逐步求精的過程。一個項(xiàng)目的設(shè)計(jì)過程包括從自然語言說明到VHDL的系統(tǒng)行為描述、系統(tǒng)的分解、RTL模型的建立、門級模型產(chǎn)生,到最終的可以物理布線實(shí)現(xiàn)的底層電路,就是從高抽象級別到低抽象級別的整個設(shè)計(jì)周期。后端設(shè)計(jì)還必須包括涉及硬件的物理結(jié)構(gòu)實(shí)現(xiàn)方法和測試(仍然利用計(jì)算機(jī)完成)。

  應(yīng)用VHDL進(jìn)行自頂向下的設(shè)計(jì),就是使用VHDL模型在所有綜合級別上對硬件設(shè)計(jì)進(jìn)行說明、建模和仿真測試。主系統(tǒng)及子系統(tǒng)最初的功能要求在VHDL里體現(xiàn)為可以被VHDL仿真程序驗(yàn)證的可執(zhí)行程序。由于綜合工具可以將高級別的模型轉(zhuǎn)化為門級模型,所以整個設(shè)計(jì)過程基本是由計(jì)算機(jī)自動完成的。人為介入的方式主要是根據(jù)仿真的結(jié)果和優(yōu)化的指標(biāo)來控制邏輯綜合的方式和指向。因此,在設(shè)計(jì)周期中,要根據(jù)仿真的結(jié)果進(jìn)行優(yōu)化和升級,以及對模型及時的修改,以改進(jìn)系統(tǒng)或子系統(tǒng)的功能,更正設(shè)計(jì)錯誤,提高目標(biāo)系統(tǒng)的工作速度,減小面積耗用,降低功耗和成本等。或者啟用新技術(shù)器件或新的IP核。在這些過程中,由于設(shè)計(jì)的下一步是基于當(dāng)前的設(shè)計(jì),即使發(fā)現(xiàn)問題或作新的修改而需從頭開始設(shè)計(jì),也不妨礙整體的設(shè)計(jì)效率。此外,VHDL優(yōu)秀的可移植性、EDA平臺的通用性以及與具體硬件結(jié)構(gòu)的無關(guān)性,使得前期的設(shè)計(jì)可以容易地應(yīng)用于新的設(shè)計(jì)項(xiàng)目,則項(xiàng)目設(shè)計(jì)的周期可以顯著縮短。因此,EDA設(shè)計(jì)方法里十分強(qiáng)調(diào)將前一個VHDL模型重用的方法。此外隨著設(shè)計(jì)層次的降低,在低級別上使用高級別的測試包來測試模型也很重要并有效。

  自頂而下的設(shè)計(jì)方法能使系統(tǒng)被分解為各個模塊的集合之后,可以對設(shè)計(jì)的每個獨(dú)立模塊指派不同的工作小組。這些小組可以工作在不同地點(diǎn),甚至可以分屬不同的單位,最后將不同的模塊集成為最終的系統(tǒng)模型,并對其進(jìn)行綜合測試和評估。

  1.3.4 EDA技術(shù)設(shè)計(jì)流程

  圖1-4給出了自頂向下設(shè)計(jì)流程的框圖說明,它包括以下設(shè)計(jì)階段:

  (1)提出設(shè)計(jì)說明書,即用自然語言表達(dá)系統(tǒng)項(xiàng)目的功能特點(diǎn)和技術(shù)參數(shù)等。

  (2)建立VHDL行為模型,這一步是將設(shè)計(jì)說明書轉(zhuǎn)化為VHDL行為模型。在這一項(xiàng)目的表達(dá)中,可以使用滿足IEEE標(biāo)準(zhǔn)的VHDL的所有語句而不必考慮可綜合性。這一建模行為的目標(biāo)是通過VHDL仿真器對整個系統(tǒng)進(jìn)行系統(tǒng)行為仿真和性能評估。在行為模型的建立過程中,如果最終的系統(tǒng)中包括目標(biāo)ASIC或FPGA以外的電路器件,如RAM、ROM、接口器件或某種單片機(jī),也同樣能建立一個完整統(tǒng)一的系統(tǒng)行為模型而進(jìn)行整體仿真。這是因?yàn)榭梢愿鶕?jù)這些外部器件的功能特性設(shè)計(jì)出VHDL的仿真模型,然后將它們并入主系統(tǒng)的VHDL模型中。事實(shí)上,現(xiàn)在有許多公司可提供各類流行器件的VHDL模型,如8051單片機(jī)模型、PIC16C5X模型、80386模型等。利用這些模型可以將整個電路系統(tǒng)組裝起來。有的VHDL模型既可用來仿真,也可作為實(shí)際電路的一部分。例如,現(xiàn)有的PCI總線模型大多是既可仿真又可綜合的。

  (3)VHDL行為仿真。這一階段可以利用VHDL仿真器(如ModelSim)對頂層系統(tǒng)的行為模型進(jìn)行仿真測試,檢查模擬結(jié)果,繼而進(jìn)行修改和完善。這一過程與最終實(shí)現(xiàn)的硬件沒有任何關(guān)系,也不考慮硬件實(shí)現(xiàn)中的技術(shù)細(xì)節(jié),測試結(jié)果主要是對系統(tǒng)純功能行為的考察,其中許多VHDL的語句表達(dá)主要為了方便了解系統(tǒng)在各種條件下的功能特性,而不可能用真實(shí)的硬件來實(shí)現(xiàn)。

  (4)VHDL-RTL級建模。如上所述,VHDL只有部分語句集合可用于硬件功能行為的建模,因此在這一階段,必須將VHDL的行為模型表達(dá)為VHDL行為代碼(或稱VHDL-RTL級模型)。這里應(yīng)該注意的是,VHDL行為代碼是用VHDL中可綜合子集中的語句完成的,即可以最終實(shí)現(xiàn)目標(biāo)器件的描述。因?yàn)槔肰HDL的可綜合的語句同樣可以對電路方便地進(jìn)行行為描述,而目前許多主流的VHDL綜合器都能將其綜合成RTL級,乃至門級模型。從第3步到第4步,人工介入的內(nèi)容比較多,設(shè)計(jì)者需要給予更多的關(guān)注。

  (5)前端功能仿真。在這一階段對VHDL-RTL級模型進(jìn)行仿真,稱為功能仿真。盡管VHDL-RTL級模型是可綜合的,但對它的功能仿真仍然與硬件無關(guān),仿真結(jié)果表達(dá)的是可綜合模型的邏輯功能。

  (6)邏輯綜合。使用邏輯綜合工具將VHDL行為級描述轉(zhuǎn)化為結(jié)構(gòu)化的門級電路。在ASIC設(shè)計(jì)中,門級電路可以由ASIC庫中的基本單元組成。

  (7)測試向量生成。這一階段主要是針對ASIC設(shè)計(jì)的。FPGA設(shè)計(jì)的時序測試文件主要產(chǎn)生于適配器。對ASIC的測試向量文件是綜合器結(jié)合含有版圖硬件特性的工藝庫后產(chǎn)生的,用于對ASIC的功能測試。

  (8)功能仿真。利用獲得的測試向量對ASIC的設(shè)計(jì)系統(tǒng)和子系統(tǒng)的功能進(jìn)行仿真。

  (9)結(jié)構(gòu)綜合。主要將綜合產(chǎn)生的表達(dá)邏輯連接關(guān)系的網(wǎng)表文件,結(jié)合具體的目標(biāo)硬件環(huán)境進(jìn)行標(biāo)準(zhǔn)單元調(diào)用、布局、布線和滿足約束條件的結(jié)構(gòu)優(yōu)化配置,即結(jié)構(gòu)綜合。

  (10)門級時序仿真。在這一級中將使用門級仿真器或仍然使用VHDL仿真器(因?yàn)榻Y(jié)構(gòu)綜合后能同步生成VHDL格式的時序仿真文件)進(jìn)行門級時序仿真,在計(jì)算機(jī)上了解更接近硬件目標(biāo)器件工作的功能時序。對于ASIC設(shè)計(jì),被稱為布局后仿真。在這一步,將帶有從布局布線得到的精確時序信息映射到門級電路重新進(jìn)行仿真,以檢查電路時序,并對電路功能進(jìn)行最后檢查。這些仿真的成功完成稱為ASIC sign off。接下去的工作就可以將設(shè)計(jì)提供給硅鑄造生產(chǎn)工序了。

  (11)硬件測試。這是對最后完成的硬件系統(tǒng)(如ASIC或FPGA)進(jìn)行檢查和測試。

  與其他的硬件描述語言相比,VHDL具有較強(qiáng)的行為仿真級與綜合級的建模功能,這種能遠(yuǎn)離具體硬件,基于行為描述方式的硬件描述語言恰好滿足典型的自頂向下設(shè)計(jì)方法,因而能順應(yīng)EDA技術(shù)發(fā)展的趨勢,解決現(xiàn)代電子設(shè)計(jì)應(yīng)用中出現(xiàn)的各類問題。

  電子設(shè)計(jì)自動化技術(shù)及其發(fā)展 - Ryan - liyongfeng1111的博客

  圖1-4 自頂向下的設(shè)計(jì)流程

  1.4 EDA技術(shù)的優(yōu)勢

  在傳統(tǒng)的數(shù)字電子系統(tǒng)或IC設(shè)計(jì)中,手工設(shè)計(jì)占了較大的比例。一般先按電子系統(tǒng)的具體功能要求進(jìn)行功能劃分,然后對每個子模塊畫出真值表,用卡諾圖進(jìn)行手工邏輯簡化,寫出布爾表達(dá)式,畫出相應(yīng)的邏輯線路圖,再據(jù)此選擇元器件,設(shè)計(jì)電路板,最后進(jìn)行實(shí)測與調(diào)試。手工設(shè)計(jì)方法主要有以下缺點(diǎn)。

  ● 復(fù)雜電路的設(shè)計(jì)、調(diào)試十分困難。

  ● 由于無法進(jìn)行硬件系統(tǒng)功能仿真,如果某一過程存在錯誤,查找和修改十分不便。

  ● 設(shè)計(jì)過程中產(chǎn)生大量文檔,不易管理。

  ● 對于IC設(shè)計(jì)而言,設(shè)計(jì)實(shí)現(xiàn)過程與具體生產(chǎn)工藝直接相關(guān),因此可移植性差。

  ● 只有在設(shè)計(jì)出樣機(jī)或生產(chǎn)出芯片后才能進(jìn)行實(shí)測。

  相比之下,EDA技術(shù)有很大不同:

  (1)用HDL對數(shù)字電子系統(tǒng)進(jìn)行抽象的行為與功能描述到具體的內(nèi)部線路結(jié)構(gòu)描述,從而可以在電子設(shè)計(jì)的各個階段、各個層次進(jìn)行計(jì)算機(jī)模擬驗(yàn)證,保證設(shè)計(jì)過程的正確性,可以大大降低設(shè)計(jì)成本,縮短設(shè)計(jì)周期。

  (2)EDA工具之所以能夠完成各種自動設(shè)計(jì)過程,關(guān)鍵是有各類庫的支持,如邏輯仿真時的模擬庫、邏輯綜合時的綜合庫、版圖綜合時的版圖庫、測試綜合時的測試庫等。這些庫都是EDA公司與半導(dǎo)體生產(chǎn)廠商緊密合作、共同開發(fā)的。

  (3)某些HDL語言也是文檔型的語言(如VHDL),極大地簡化設(shè)計(jì)文檔的管理。

  (4)EDA技術(shù)中最為矚目的功能,即最具現(xiàn)代電子設(shè)計(jì)技術(shù)特征的功能是日益強(qiáng)大的邏輯設(shè)計(jì)仿真測試技術(shù)。EDA仿真測試技術(shù)只需通過計(jì)算機(jī)就能對所設(shè)計(jì)的電子系統(tǒng)從各種不同層次的系統(tǒng)性能特點(diǎn)完成一系列準(zhǔn)確的測試與仿真操作,在完成實(shí)際系統(tǒng)的安裝后,還能對系統(tǒng)上的目標(biāo)器件進(jìn)行所謂邊界掃描測試,嵌入式邏輯分析儀的應(yīng)用。這一切都極大地提高了大規(guī)模系統(tǒng)電子設(shè)計(jì)的自動化程度。

  (5)無論傳統(tǒng)的應(yīng)用電子系統(tǒng)設(shè)計(jì)得如何完美,使用了多么先進(jìn)的功能器件,都掩蓋不了一個無情的事實(shí),即該系統(tǒng)對于設(shè)計(jì)者來說,沒有任何自主知識產(chǎn)權(quán)可言,因?yàn)橄到y(tǒng)中的關(guān)鍵性的器件往往并非出自設(shè)計(jì)者之手,這將導(dǎo)致該系統(tǒng)在許多情況下的應(yīng)用直接受到限制;贓DA技術(shù)的設(shè)計(jì)則不同,由于用HDL表達(dá)的成功的專用功能設(shè)計(jì)在實(shí)現(xiàn)目標(biāo)方面有很大的可選性,它既可以用不同來源的通用FPGA/CPLD實(shí)現(xiàn),也可以直接以ASIC來實(shí)現(xiàn),設(shè)計(jì)者擁有完全的自主權(quán),再無受制于人之虞。

  (6)傳統(tǒng)的電子設(shè)計(jì)方法自今沒有任何標(biāo)準(zhǔn)規(guī)范加以約束,因此,設(shè)計(jì)效率低,系統(tǒng)性能差,開發(fā)成本高,市場競爭能力小。

  EDA技術(shù)的設(shè)計(jì)語言是標(biāo)準(zhǔn)化的,不會由于設(shè)計(jì)對象的不同而改變;它的開發(fā)工具是規(guī)范化的,EDA軟件平臺支持任何標(biāo)準(zhǔn)化的設(shè)計(jì)語言;它的設(shè)計(jì)成果是通用性的,IP核具有規(guī)范的接口協(xié)議。良好的可移植與可測試性,為系統(tǒng)開發(fā)提供了可靠的保證。

  (7)從電子設(shè)計(jì)方法學(xué)來看,EDA技術(shù)最大的優(yōu)勢就是能將所有設(shè)計(jì)環(huán)節(jié)納入統(tǒng)一的自頂向下的設(shè)計(jì)方案中。

  (8)EDA不但在整個設(shè)計(jì)流程上充分利用計(jì)算機(jī)的自動設(shè)計(jì)能力,在各個設(shè)計(jì)層次上利用計(jì)算機(jī)完成不同內(nèi)容的仿真模擬,而且在系統(tǒng)板設(shè)計(jì)結(jié)束后仍可利用計(jì)算機(jī)對硬件系統(tǒng)進(jìn)行完整的測試。

  對于傳統(tǒng)的設(shè)計(jì)方法,如單片機(jī)仿真器的使用僅僅只能在最后完成的系統(tǒng)上進(jìn)行局部的軟件仿真調(diào)試,在整個設(shè)計(jì)的中間過程是無能為力的。至于硬件系統(tǒng)測試,由于現(xiàn)在的許多系統(tǒng)主板不但層數(shù)多,而且許多器件都是BGA(Ball-Grid Array)封裝,所有引腳都在芯片的底面,焊接后普通的儀器儀表無法接觸到所需要的信號點(diǎn),因此無法測試。

  1.5 面向FPGA的EDA開發(fā)流程

  完整地了解利用EDA技術(shù)進(jìn)行設(shè)計(jì)開發(fā)的流程對于正確地選擇和使用EDA軟件,優(yōu)化設(shè)計(jì)項(xiàng)目,提高設(shè)計(jì)效率十分有益。一個完整的、典型的EDA設(shè)計(jì)流程既是自頂向下設(shè)計(jì)方法的具體實(shí)施途徑,也是EDA工具軟件本身的組成結(jié)構(gòu)。

  1.5.1 設(shè)計(jì)輸入

  圖1-5所示是基于EDA軟件的FPGA開發(fā)流程框圖,以下將分別介紹各設(shè)計(jì)模塊的功能特點(diǎn)。對于目前流行的用于FPGA開發(fā)的EDA軟件,圖1-5所示的設(shè)計(jì)流程具有一般性。

  電子設(shè)計(jì)自動化技術(shù)及其發(fā)展 - Ryan - liyongfeng1111的博客

  圖1-5 FPGA的EDA開發(fā)流程

  將電路系統(tǒng)以一定的表達(dá)方式輸入計(jì)算機(jī),是在EDA軟件平臺上對FPGA/CPLD開發(fā)的最初步驟。通常,使用EDA工具的設(shè)計(jì)輸入可分為兩種類型。

  1.圖形輸入

  圖形輸入通常包括原理圖輸入、狀態(tài)圖輸入和波形圖輸入等方法。

  狀態(tài)圖輸入方法就是根據(jù)電路的控制條件和不同的轉(zhuǎn)換方式,用繪圖的方法,在EDA工具的狀態(tài)圖編輯器上繪出狀態(tài)圖,然后由EDA編譯器和綜合器將此狀態(tài)變化流程圖形編譯綜合成電路網(wǎng)表。

  波形圖輸入方法則是將待設(shè)計(jì)的電路看成是一個黑盒子,只需告訴EDA工具該黑盒子電路的輸入和輸出時序波形圖,EDA工具即能據(jù)此完成黑盒子電路的設(shè)計(jì)。

  原理圖輸入方法是一種類似于傳統(tǒng)電子設(shè)計(jì)方法的原理圖編輯輸入方式,即在EDA軟件的圖形編輯界面上繪制能完成特定功能的電路原理圖。原理圖由邏輯器件(符號)和連接線構(gòu)成,圖中的邏輯器件可以是EDA軟件庫中預(yù)制的功能模塊,如與門、非門、或門、觸發(fā)器以及各種含74系列器件功能的宏功能塊,甚至還有一些類似于IP的功能塊。

  用原理圖表達(dá)的輸入方法的優(yōu)點(diǎn)是顯而易見的,如設(shè)計(jì)者進(jìn)行電子線路設(shè)計(jì)不需要增加新的諸如HDL等的相關(guān)知識;設(shè)計(jì)過程形象直觀,適用于初學(xué)或教學(xué)演示;對于較小的電路模型,其結(jié)構(gòu)與實(shí)際電路十分接近,設(shè)計(jì)者易于把握電路全局;由于設(shè)計(jì)方式接近于底層電路布局,因此易于控制邏輯資源的耗用,節(jié)省面積。

  然而,使用原理圖輸入的設(shè)計(jì)方法的缺點(diǎn)同樣是十分明顯的,如由于圖形設(shè)計(jì)方式并沒有得到標(biāo)準(zhǔn)化,不同的EDA軟件中的圖形處理工具對圖形的設(shè)計(jì)規(guī)則、存檔格式和圖形編譯方式都不同,因此圖形文件兼容性差,難以交換和管理;隨著電路設(shè)計(jì)規(guī)模的擴(kuò)大,原理圖輸入描述方式必然引起一系列難以克服的困難,如電路功能原理的易讀性下降,錯誤排查困難,整體調(diào)整和結(jié)構(gòu)升級困難。例如,將一個4位的單片機(jī)設(shè)計(jì)升級為8位單片機(jī)幾乎難以在短期內(nèi)準(zhǔn)確無誤地實(shí)現(xiàn);由于圖形文件的不兼容性,性能優(yōu)秀的電路模塊移植和再利用十分困難;由于在原理圖中已確定了設(shè)計(jì)系統(tǒng)的基本電路結(jié)構(gòu)和元件,留給綜合器和適配器的優(yōu)化選擇的空間已十分有限,因此難以實(shí)現(xiàn)用戶所希望的面積、速度以及不同風(fēng)格的綜合優(yōu)化,顯然,原理圖的設(shè)計(jì)方法明顯偏離了電子設(shè)計(jì)自動化最本質(zhì)的涵義;在設(shè)計(jì)中,由于必須直接面對硬件模塊的選用,因此行為模型的建立將無從談起,從而無法實(shí)現(xiàn)真實(shí)意義上的自頂向下的設(shè)計(jì)方案。

  2.硬件描述語言文本輸入

  這種方式與傳統(tǒng)的計(jì)算機(jī)軟件語言編輯輸入基本一致,就是將使用了某種硬件描述語言(HDL)的電路設(shè)計(jì)文本,如VHDL或Verilog的源程序,進(jìn)行編輯輸入。

  可以說,應(yīng)用HDL的文本輸入方法克服了上述原理圖輸入法存在的所有弊端,為EDA技術(shù)的應(yīng)用和發(fā)展打開了一個廣闊的天地。

  1.5.2 HDL綜合

  一般地,綜合是僅對應(yīng)于HDL而言的。利用HDL綜合器對設(shè)計(jì)進(jìn)行綜合是十分重要的一步,因?yàn)榫C合過程將把軟件設(shè)計(jì)的HDL描述與硬件結(jié)構(gòu)掛鉤,是將軟件轉(zhuǎn)化為硬件電路的關(guān)鍵步驟,是文字描述與硬件實(shí)現(xiàn)的一座橋梁。綜合就是將電路的高級語言(如行為描述)轉(zhuǎn)換成低級的,可與FPGA/CPLD的基本結(jié)構(gòu)相映射的網(wǎng)表文件或程序。

  當(dāng)輸入的HDL文件在EDA工具中檢測無誤后,首先面臨的是邏輯綜合,因此要求HDL源文件中的語句都是可綜合的。

  在綜合之后,HDL綜合器一般都可以生成一種或多種文件格式網(wǎng)表文件,如有EDIF、VHDL、Verilog等標(biāo)準(zhǔn)格式,在這種網(wǎng)表文件中用各自的格式描述電路的結(jié)構(gòu)。如在VHDL網(wǎng)表文件采用VHDL的語法,用結(jié)構(gòu)描述的風(fēng)格重新詮釋綜合后的電路結(jié)構(gòu)。

  整個綜合過程就是將設(shè)計(jì)者在EDA平臺上編輯輸入的HDL文本、原理圖或狀態(tài)圖形描述,依據(jù)給定的硬件結(jié)構(gòu)組件和約束控制條件進(jìn)行編譯、優(yōu)化、轉(zhuǎn)換和綜合,最終獲得門級電路甚至更底層的電路描述網(wǎng)表文件。由此可見,綜合器工作前,必須給定最后實(shí)現(xiàn)的硬件結(jié)構(gòu)參數(shù),它的功能就是將軟件描述與給定的硬件結(jié)構(gòu)用某種網(wǎng)表文件的方式對應(yīng)起來,成為相應(yīng)的映射關(guān)系。如果把綜合理解為映射過程,那么顯然這種映射不是惟一的,并且綜合的優(yōu)化也不是單純的或一個方向的。為達(dá)到速度、面積、性能的要求,往往需要對綜合加以約束,稱為綜合約束。

  1.5.3 布線布局(適配)

  適配器也稱結(jié)構(gòu)綜合器,它的功能是將由綜合器產(chǎn)生的網(wǎng)表文件配置于指定的目標(biāo)器件中,使之產(chǎn)生最終的下載文件,如JEDEC、Jam格式的文件。適配所選定的目標(biāo)器件(FPGA/CPLD芯片)必須屬于原綜合器指定的目標(biāo)器件系列。通常,EDA軟件中的綜合器可由專業(yè)的第三方EDA公司提供,而適配器則需由FPGA/CPLD供應(yīng)商提供。因?yàn)檫m配器的適配對象直接與器件的結(jié)構(gòu)細(xì)節(jié)相對應(yīng)。

  邏輯綜合通過后必須利用適配器將綜合后網(wǎng)表文件針對某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優(yōu)化、邏輯布局布線操作。適配完成后可以利用適配所產(chǎn)生的仿真文件作精確的時序仿真,同時產(chǎn)生可用于編程的文件。

  1.5.4 仿真

  在編程下載前必須利用EDA工具對適配生成的結(jié)果進(jìn)行模擬測試,就是所謂的仿真。

  仿真就是讓計(jì)算機(jī)根據(jù)一定的算法和一定的仿真庫對EDA設(shè)計(jì)進(jìn)行模擬,以驗(yàn)證設(shè)計(jì),排除錯誤。仿真是在EDA設(shè)計(jì)過程中的重要步驟。圖1-5所示的時序與功能門級仿真通常由PLD公司的EDA開發(fā)工具直接提供(當(dāng)然也可以選用第三方的專業(yè)仿真工具),它可以完成兩種不同級別的仿真測試。

  (1)時序仿真。就是接近真實(shí)器件運(yùn)行特性的仿真,仿真文件中已包含了器件硬件特性參數(shù),因而,仿真精度高。但時序仿真的仿真文件必須來自針對具體器件的適配器。綜合后所得的EDIF等網(wǎng)表文件通常作為FPGA適配器的輸入文件,產(chǎn)生的仿真網(wǎng)表文件中包含了精確的硬件延遲信息。

  (2)功能仿真。它是直接對VHDL、原理圖描述或其他描述形式的邏輯功能進(jìn)行測試模擬,以了解其實(shí)現(xiàn)的功能是否滿足原設(shè)計(jì)要求的過程,仿真過程不涉及任何具體器件的硬件特性。不經(jīng)歷適配階段,在設(shè)計(jì)項(xiàng)目編輯編譯(或綜合)后即可進(jìn)入門級仿真器進(jìn)行模擬測試。直接進(jìn)行功能仿真的好處是設(shè)計(jì)耗時短,對硬件庫、綜合器等沒有任何要求。對于規(guī)模比較大的設(shè)計(jì)項(xiàng)目,綜合與適配在計(jì)算機(jī)上的耗時是十分可觀的,如果每一次修改后的模擬都必須進(jìn)行時序仿真,顯然會極大地降低開發(fā)效率。因此,通常的做法是,首先進(jìn)行功能仿真,待確認(rèn)設(shè)計(jì)文件所表達(dá)的功能滿足設(shè)計(jì)者原有意圖時,即邏輯功能滿足要求后,再進(jìn)行綜合、適配和時序仿真,以便把握設(shè)計(jì)項(xiàng)目在硬件條件下的運(yùn)行情況。

  1.5.5 下載和硬件測試

  把適配后生成的下載或配置文件,通過編程器或編程電纜向FPGA或CPLD進(jìn)行下載,以便進(jìn)行硬件調(diào)試和驗(yàn)證(Hardware Debugging)。

  通常,將對CPLD的下載稱為編程(Program),對FPGA中的SRAM進(jìn)行直接下載的方式稱為配置(Configure),但對于反熔絲結(jié)構(gòu)和Flash結(jié)構(gòu)的FPGA的下載和對FPGA的專用配置ROM的下載仍稱為編程。

  FPGA與CPLD的辨別和分類主要是根據(jù)其結(jié)構(gòu)特點(diǎn)和工作原理。通常的分類方法是:

  (1)以乘積項(xiàng)結(jié)構(gòu)方式構(gòu)成邏輯行為的器件稱為CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。

  (2)以查表法結(jié)構(gòu)方式構(gòu)成邏輯行為的器件稱為FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K、ACEX1K或Cyclone系列等。

  當(dāng)然也有從下載方式上分的。有關(guān)FPGA/CPLD下載的詳細(xì)情況將在第2章中介紹。

  最后是將含有載入了設(shè)計(jì)的FPGA或CPLD的硬件系統(tǒng)進(jìn)行統(tǒng)一測試,以便最終驗(yàn)證設(shè)計(jì)項(xiàng)目在目標(biāo)系統(tǒng)上的實(shí)際工作情況,以排除錯誤,改進(jìn)設(shè)計(jì)。

  1.6 專用集成電路設(shè)計(jì)流程

  專用集成電路ASIC(Application Specific Integrated Circuits)是相對于通用集成電路而言的,ASIC主要指用于某一專門用途的集成電路器件。ASIC分類大致如圖1-6所示,分為數(shù)字ASIC、模擬ASIC和數(shù);旌螦SIC。

  1.6.1 專用集成電路ASIC設(shè)計(jì)方法

  對于數(shù)字ASIC,其設(shè)計(jì)方法有多種。按版圖結(jié)構(gòu)及制造方法分,有半定制(Semi- custom)和全定制(Full-custom)兩種實(shí)現(xiàn)方法,如圖1-7所示。

  ASIC的全定制方法是一種基于晶體管級的,手工設(shè)計(jì)版圖的制造方法。設(shè)計(jì)者需要使用全定制版圖設(shè)計(jì)工具來完成,設(shè)計(jì)者必須考慮晶體管版圖的尺寸、位置、互連線等技術(shù)細(xì)節(jié),并據(jù)此確定整個電路的布局布線,以使設(shè)計(jì)的芯片的性能、面積、功耗、成本達(dá)到最優(yōu)。顯然,在全定制設(shè)計(jì)中,人工參與的工作量大,設(shè)計(jì)周期長,而且容易出錯。

  電子設(shè)計(jì)自動化技術(shù)及其發(fā)展 - Ryan - liyongfeng1111的博客 電子設(shè)計(jì)自動化技術(shù)及其發(fā)展 - Ryan - liyongfeng1111的博客

  圖1-6 ASIC分類 圖1-7 ASIC實(shí)現(xiàn)方法

  然而利用全定制方法設(shè)計(jì)的電路,面積利用率最高,性能較好,功耗較低,有利于降低設(shè)計(jì)成本,提高芯片的集成度和工作速度,以及降低功耗。在通用中小規(guī)模集成電路設(shè)計(jì)、模擬集成電路,包括射頻級集成器件的設(shè)計(jì),以及有特殊性能要求和功耗要求的電路或處理器中的特殊功能模塊電路的設(shè)計(jì)中被廣泛采用。

  ASIC的半定制法是一種約束性設(shè)計(jì)方式,約束的目的是簡化設(shè)計(jì),縮短設(shè)計(jì)周期,降低設(shè)計(jì)成本,提高設(shè)計(jì)正確率。半定制法按邏輯實(shí)現(xiàn)的方式不同,可再分為門陣列法、標(biāo)準(zhǔn)單元法和可編程邏輯器件法。

  門陣列(Gate Array)法是較早使用的一種ASIC設(shè)計(jì)方法,又稱為母片(Master Slice)法。需預(yù)先設(shè)計(jì)和制造好各種規(guī)模的母片,其內(nèi)部成行成列,并等間距地排列著基本單元的陣列。除金屬連線及引線孔以外的各層版圖圖形均固定不變,只剩下一層或兩層金屬鋁連線及孔的掩膜需要根據(jù)用戶電路的不同而定制。每個基本單元是以三對或五對晶體管組成,基本單元的高度和寬度都是相等的,并按行排列。設(shè)計(jì)人員只需要設(shè)計(jì)到電路一級,將電路的網(wǎng)表文件交給IC廠家即可。IC廠家根據(jù)網(wǎng)表文件描述的電路連接關(guān)系,完成母片上電路單元的布局及單元間的連線,然后對這部分金屬線及引線孔的圖形進(jìn)行制版和流片。

  這種設(shè)計(jì)方式涉及的工藝少、模式規(guī)范、設(shè)計(jì)自動化程度高、設(shè)計(jì)周期短、造價(jià)低,且適合于小批量的ASIC設(shè)計(jì)。所有這些都有賴于事先制備母片及庫單元,并經(jīng)過驗(yàn)證。門陣列法的缺點(diǎn)是芯片面積利用率低,靈活性差,對設(shè)計(jì)限制得過多。

  標(biāo)準(zhǔn)單元(Standard Cell)法必須預(yù)建完善的版圖單元庫,庫中包括以物理版圖級表達(dá)的各種電路元件和電路模塊“標(biāo)準(zhǔn)單元”,可供用戶調(diào)用以設(shè)計(jì)不同的芯片。這些單元的邏輯功能、電性能及幾何設(shè)計(jì)規(guī)則等都已經(jīng)過分析和驗(yàn)證。與門陣列庫單元不同的是,標(biāo)準(zhǔn)單元的物理版圖將從最低層至最高層的各層版圖設(shè)計(jì)圖形都包括在內(nèi)。在設(shè)計(jì)布圖時,從單元庫中調(diào)出標(biāo)準(zhǔn)單元按行排列,行與行之間留有布線通道,同行或相鄰行的單元相連可通過單元行的上、下通道完成。隔行單元之間的垂直方向互連則必須借用事先預(yù)留在“標(biāo)準(zhǔn)單元”內(nèi)部的走線道(feed-through)或在兩單元間設(shè)置的“走線道單元”(feed-through cell)或“空單元”(empty cell)來完成連接。標(biāo)準(zhǔn)單元法設(shè)計(jì)ASIC的優(yōu)點(diǎn)是:

  (1)比門陣列法具有更加靈活的布圖方式。

  (2)“標(biāo)準(zhǔn)單元”預(yù)先存在單元庫中,可以極大地提高設(shè)計(jì)效率。

  (3)可以從根本上解決布通率問題,達(dá)到100%的布通率。

  (4)可以使設(shè)計(jì)者更多地從設(shè)計(jì)項(xiàng)目的高層次關(guān)注電路的優(yōu)化和性能問題。

  (5)標(biāo)準(zhǔn)單元設(shè)計(jì)模式自動化程度高、設(shè)計(jì)周期短、設(shè)計(jì)效率高,十分適合利用功能強(qiáng)大的EDA工具進(jìn)行ASIC的設(shè)計(jì)。

  因此標(biāo)準(zhǔn)單元法是目前ASIC設(shè)計(jì)中應(yīng)用最廣泛的設(shè)計(jì)方法之一。標(biāo)準(zhǔn)單元法還有一個重要的優(yōu)勢,即它與可編程邏輯器件法的應(yīng)用有相似點(diǎn),它們都是建立在標(biāo)準(zhǔn)單元庫的基礎(chǔ)之上的,因此從FPGA/CPLD設(shè)計(jì)向使用標(biāo)準(zhǔn)單元法設(shè)計(jì)的ASIC設(shè)計(jì)遷移是十分方便的。利用這種設(shè)計(jì)模式可以很好地解決直接進(jìn)行ASIC設(shè)計(jì)中代價(jià)高昂的功能驗(yàn)證問題和快速的樣品評估問題。

  標(biāo)準(zhǔn)單元法存在的問題是,當(dāng)工藝更新之后,標(biāo)準(zhǔn)單元庫要隨之更新,這是一項(xiàng)十分繁重的工作。為了解決人工設(shè)計(jì)單元庫費(fèi)時費(fèi)力的問題,目前幾乎所有在市場上銷售的IC CAD系統(tǒng),如Synopsys、Cadence、Mentor等都含有標(biāo)準(zhǔn)單元自動設(shè)計(jì)工具。此外,設(shè)計(jì)重用(Design Reuse)技術(shù)也可用于解決單元庫的更新問題。門陣列法或標(biāo)準(zhǔn)單元法設(shè)計(jì)ASIC共存的缺點(diǎn)是無法避免冗雜繁復(fù)的IC制造后向流程,而且與IC設(shè)計(jì)工藝緊密相關(guān),最終的設(shè)計(jì)也需要集成電路制造廠家來完成,一旦設(shè)計(jì)有誤,將導(dǎo)致巨大的損失。另外還有設(shè)計(jì)周期長、基礎(chǔ)投入大、更新?lián)Q代難等方面的缺陷。

  可編程邏輯器件法是用可編程邏輯器件設(shè)計(jì)用戶定制的數(shù)字電路系統(tǒng)。可編程邏輯器件芯片實(shí)質(zhì)上是門陣列及標(biāo)準(zhǔn)單元設(shè)計(jì)技術(shù)的延伸和發(fā)展?删幊踢壿嬈骷且环N半定制的邏輯芯片,但與門陣列法、標(biāo)準(zhǔn)單元法不同,芯片內(nèi)的硬件資源和連線資源是由廠家預(yù)先制定好的,可以方便地通過編程下載獲得重新配置。這樣,用戶就可以借助EDA軟件和編程器在實(shí)驗(yàn)室或車間中自行進(jìn)行設(shè)計(jì)、編程或電路更新。而且如果發(fā)現(xiàn)錯誤,則可以隨時更改,完全不必關(guān)心器件實(shí)現(xiàn)的具體工藝。

  用可編程邏輯器件法設(shè)計(jì)ASIC(或稱可編程ASIC),設(shè)計(jì)效率大為提高、上市的時間大為縮短。當(dāng)然,這種用可編程邏輯器件直接實(shí)現(xiàn)的所謂ASIC的性能、速度和單位成本上對于全定制或標(biāo)準(zhǔn)單元法設(shè)計(jì)的ASIC都不具備競爭性。此外,也不可能用可編程ASIC去取代通用產(chǎn)品,如CPU、單片機(jī)、存儲器等的應(yīng)用。

  目前,為了降低單位成本,可以在用可編程邏輯器件實(shí)現(xiàn)設(shè)計(jì)后,用特殊的方法轉(zhuǎn)成ASIC電路,如Altera的部分FPGA器件在設(shè)計(jì)成功后可以通過HardCopy技術(shù)轉(zhuǎn)成對應(yīng)的門陣列ASIC產(chǎn)品。

  1.6.2 一般設(shè)計(jì)的流程

  一般的ASIC從設(shè)計(jì)到制造,需要經(jīng)過若干步驟,如圖1-8所示。

  電子設(shè)計(jì)自動化技術(shù)及其發(fā)展 - Ryan - liyongfeng1111的博客

  圖1-8 ASIC設(shè)計(jì)流程

  (1)系統(tǒng)規(guī)格說明(System Specification)。分析并確定整個系統(tǒng)的功能,要求達(dá)到的性能、物理尺寸,確定采用何種制造工藝、設(shè)計(jì)周期和設(shè)計(jì)費(fèi)用。建立系統(tǒng)的行為模型,進(jìn)行可行性驗(yàn)證。

  (2)系統(tǒng)劃分(System Division)。將系統(tǒng)分割成各個功能子模塊,給出子模塊之間信號連接關(guān)系。驗(yàn)證各個功能塊的行為模型,確定系統(tǒng)的關(guān)鍵時序。

  (3)邏輯設(shè)計(jì)與綜合(Logic Design and Synthesis)。將劃分的各個子模塊用文本(網(wǎng)表或硬件描述語言)、原理圖等進(jìn)行具體邏輯描述。對于硬件描述語言描述的設(shè)計(jì)模塊需要用綜合器進(jìn)行綜合獲得具體的電路網(wǎng)表文件,對于原理圖等描述方式描述的設(shè)計(jì)模塊經(jīng)簡單編譯后得到邏輯網(wǎng)表文件。

  (4)綜合后仿真(Simulate after Synthesis)。從上一步得到網(wǎng)表文件,進(jìn)行仿真驗(yàn)證。

  (5)版圖設(shè)計(jì)(Layout Design)。版圖設(shè)計(jì)是將邏輯設(shè)計(jì)中每一個邏輯元件、電阻、電容等以及它們之間的連線轉(zhuǎn)換成集成電路制造所需要的版圖信息。可手工或自動進(jìn)行版圖規(guī)劃(Floorplanning)、布局(Placement)、布線(Routing)。這一步由于涉及邏輯到物理實(shí)現(xiàn)的映射,又稱物理設(shè)計(jì)(Physical Design)。

  (6)版圖驗(yàn)證(Layout Verification)。版圖設(shè)計(jì)完成以后進(jìn)行版圖驗(yàn)證,主要包括版圖原理圖比對(LVS)、設(shè)計(jì)規(guī)則檢查(DRC)和電氣規(guī)則檢查(ERC)。在手工版圖設(shè)計(jì)中,這是非常重要的一步。

  (7)參數(shù)提取與后仿真。驗(yàn)證完畢,進(jìn)行版圖的電路網(wǎng)表提取(NE),參數(shù)提取(PE),把提取出的參數(shù)反注(Back-Annotate)至網(wǎng)表文件,進(jìn)行最后一步仿真驗(yàn)證工作。

  (8)制版、流片。送IC生產(chǎn)線進(jìn)行制版,光罩和流片,進(jìn)行試驗(yàn)性生產(chǎn)。

  (9)芯片測試。測試芯片是否符合設(shè)計(jì)要求,并評估成品率。

  1.7 面向FPGA的EDA開發(fā)工具

  EDA工具在EDA技術(shù)應(yīng)用中占據(jù)十分重要的位置,EDA的核心是利用計(jì)算機(jī)完成電子設(shè)計(jì)全程自動化,因此,基于計(jì)算機(jī)環(huán)境的EDA軟件的支持是必不可少的。由于EDA的整個流程涉及不同技術(shù)環(huán)節(jié),每一環(huán)節(jié)中必須有對應(yīng)的軟件包或?qū)S肊DA工具獨(dú)立處理,包括對電路模型的功能模擬、對VHDL行為描述的邏輯綜合等。因此單個EDA工具往往只涉及EDA流程中的某一步驟。這里就以EDA設(shè)計(jì)流程中涉及的主要軟件包為EDA工具分類,并給予簡要介紹。EDA工具大致可以分為5個模塊:設(shè)計(jì)輸入編輯器、仿真器、HDL綜合器、適配器(或布局布線器)和下載器。

  當(dāng)然這種分類不是絕對的,還有些輔助的EDA工具沒有在上面的分類中,如物理綜合器,例如Synplicity的Amplify和Mentor的Precision Physical Synthesis、HDL代碼分析調(diào)試器,例如Debussy、形式驗(yàn)證(Formal Verification)工具。

  由于對于一般設(shè)計(jì)使用不是很多,在這里就不再詳細(xì)講述。另外每個FPGA/CPLD生產(chǎn)廠家為了方便用戶,往往都提供集成開發(fā)環(huán)境,如Altera的Quartus II。

  1.7.1 設(shè)計(jì)輸入編輯器

  在以上曾對設(shè)計(jì)輸入編輯器或稱設(shè)計(jì)輸入環(huán)境作了部分介紹,它們可以接受不同的設(shè)計(jì)輸入表達(dá)方式,如原理圖輸入方式、狀態(tài)圖輸入方式、波形輸入方式以及HDL的文本輸入方式。在各可編程邏輯器件廠商提供的EDA開發(fā)工具中,一般都含有這類輸入編輯器,如Xilinx的ISE、Altera的MAX+plus II和Quartus II等。

  通常專業(yè)的EDA工具供應(yīng)商也提供相應(yīng)的設(shè)計(jì)輸入工具,這些工具一般與該公司的其他電路設(shè)計(jì)軟件整合,這點(diǎn)尤其體現(xiàn)在原理圖輸入環(huán)境上。如Innovada的eProduct Designer中的原理圖輸入管理工具DxDesigner(原為ViewDraw),既可作為PCB設(shè)計(jì)的原理圖輸入,又可作為IC設(shè)計(jì)、模擬仿真和FPGA設(shè)計(jì)的原理圖輸入環(huán)境。比較常見的還有Cadence的Orcad中的Capture工具等。這一類的工具一般都設(shè)計(jì)成通用型的原理圖輸入工具。由于針對FPGA/CPLD設(shè)計(jì)的原理圖要含有特殊原理圖庫(含原理圖中的Symbol)的支持,因此其輸出并不與EDA流程的下步設(shè)計(jì)工具直接相連,而要通過網(wǎng)表文件(如EDIF文件)來傳遞。

  由于HDL(包括VHDL、Verilog HDL等)的輸入方式是文本格式,所以它的輸入實(shí)現(xiàn)要比原理圖輸入簡單得多,用普通的文本編輯器即可完成。如果要求HDL輸入時有語法色彩提示,可用帶語法提示功能的通用文本編輯器,如UltraEdit、Vim、XEmacs等。當(dāng)然EDA工具中提供的HDL編輯器會更好用些,如Aldec的Active HDL中的HDL編輯器、Altium的DXP 2004中的HDL編輯器。

  另一方面,由于可編程邏輯器件規(guī)模的增大,設(shè)計(jì)的可選性大為增加,需要有完善的設(shè)計(jì)輸入文檔管理,Mentor提供的HDL Designer Series就是此類工具的一個典型代表。

  有的EDA設(shè)計(jì)輸入工具把圖形設(shè)計(jì)與HDL文本設(shè)計(jì)相結(jié)合,如在提供HDL文本編輯器的同時提供狀態(tài)機(jī)編輯器,用戶可用圖形(狀態(tài)圖)來描述狀態(tài)機(jī),最后生成HDL文本輸出。如Visual HDL、Mentor公司的FPGA Adantage(含HDL Designer Series)、Active HDL中的Active State等。尤其是HDL Designer Series中的各種輸入編輯器,可以接受諸如原理圖、狀態(tài)圖、表格圖等輸入形式,并將它們轉(zhuǎn)成HDL(VHDL/Verilog)文本表達(dá)方式,很好地解決了通用性(HDL輸入的優(yōu)點(diǎn))與易用性(圖形法的優(yōu)點(diǎn))之間的矛盾。

  設(shè)計(jì)輸入編輯器在多樣、易用和通用性方面的功能不斷增強(qiáng),標(biāo)志著EDA技術(shù)中自動化設(shè)計(jì)程度的不斷提高。

  1.7.2 HDL綜合器

  由于目前通用的HDL語言為VHDL、Verilog HDL,這里介紹的HDL綜合器主要是針對這兩種語言的。

  硬件描述語言誕生的初衷是用于電路邏輯的建模和仿真的,但直到Synoposys推出了HDL綜合器后,才改變了人們的看法,于是可以將HDL直接用于電路的設(shè)計(jì)。

  由于HDL綜合器是目標(biāo)器件硬件結(jié)構(gòu)細(xì)節(jié)、數(shù)字電路設(shè)計(jì)技術(shù)、化簡優(yōu)化算法以及計(jì)算機(jī)軟件的復(fù)雜結(jié)合體,而且HDL可綜合子集標(biāo)準(zhǔn)化過程緩慢,所以相比于形式多樣的設(shè)計(jì)輸入工具,成熟的HDL綜合器并不多。比較常用的,性能良好的FPGA/CPLD設(shè)計(jì)的HDL綜合器有以下3種。

  ● Synopsys公司的FPGA Compiler II、DC-FPGA綜合器。

  ● Synplicity公司的Synplify Pro綜合器。

  ● Mentor子公司Exemplar Logic的LeonardoSpectrum綜合器和Precision RTL Synthesis綜合器。

  較早推出綜合器的是Synopsys公司,它為FPGA/CPLD開發(fā)推出的綜合器是FPGA Compiler及DC-FPGA。為了便于處理,最初由Synopsys公司在綜合器中增加了一些用戶自定義類型,如Std_logic等,后被納入IEEE標(biāo)準(zhǔn)。對于其他綜合器也都只能支持VHDL中的可綜合子集。FPGA Compiler中帶有一個原理圖生成瀏覽器,可以把綜合出的網(wǎng)表用原理圖的方式畫出來,便于驗(yàn)證設(shè)計(jì),還附有強(qiáng)大的延時分析器,可以對關(guān)鍵路徑進(jìn)行單獨(dú)分析。

  Synplicity公司的Synplify Pro除了有原理圖生成器、延時分析器外,還帶有一個FSM Compiler(有限狀態(tài)機(jī)編譯器),可以從提交的VHDL/Verilog設(shè)計(jì)文本中提出存在的有限狀態(tài)機(jī)設(shè)計(jì)模塊,并用狀態(tài)圖的方式顯示出來,用表格來說明狀態(tài)的轉(zhuǎn)移條件及輸出。Synplify Pro的原理圖瀏覽器可以定位原理圖中元件在VHDL/Verilog源文件中的對應(yīng)語句,便于調(diào)試。

  Exemplar公司的Leonardo Spectrum也是一個很好的HDL綜合器,它同時可用于FPGA/CPLD和ASIC設(shè)計(jì)兩類工程目標(biāo)。Leonardo Spectrum作為Mentor的FPGA Adantage中的組成部分,與FPGA Adantage的設(shè)計(jì)輸入管理工具和仿真工具有很好的結(jié)合。

  當(dāng)然也有應(yīng)用于ASIC設(shè)計(jì)的HDL綜合器,如Synopsys的Design Compiler,Synplicity的Synplify ASIC,Cadence的Synergy等。

  HDL綜合器在把可綜合的VHDL/Verilog程序轉(zhuǎn)化成硬件電路時,一般要經(jīng)過兩個步驟:第一步是HDL綜合器對VHDL/Verilog進(jìn)行分析處理,并將其轉(zhuǎn)成相應(yīng)的電路結(jié)構(gòu)或模塊,這時是不考慮實(shí)際器件實(shí)現(xiàn)的,即完全與硬件無關(guān),這個過程是一個通用電路原理圖形成的過程;第二步是對應(yīng)實(shí)際實(shí)現(xiàn)的目標(biāo)器件的結(jié)構(gòu)進(jìn)行優(yōu)化,并使之滿足各種約束條件,優(yōu)化關(guān)鍵路徑等。

  HDL綜合器的輸出文件一般是網(wǎng)表文件,如EDIF格式(Electronic Design Interchange Format.),文件后綴是.edf ,是一種用于設(shè)計(jì)數(shù)據(jù)交換和交流的工業(yè)標(biāo)準(zhǔn)文件格式的文件,或是直接用VHDL/Verilog語言表達(dá)的標(biāo)準(zhǔn)格式的網(wǎng)表文件,或是對應(yīng)FPGA器件廠商的網(wǎng)表文件,如Xilinx的XNF網(wǎng)表文件。

  由于綜合器只完成EDA設(shè)計(jì)流程中的一個獨(dú)立設(shè)計(jì)步驟,所以它往往被其他EDA環(huán)境調(diào)用,以完成全部流程。它的調(diào)用方式一般有兩種:一種是前臺模式,在被調(diào)用時,顯示的是最常見的窗口界面;另一種稱為后臺模式或控制臺模式,被調(diào)用時不出現(xiàn)圖形界面,僅在后臺運(yùn)行。

  綜合器的使用也有兩種模式:圖形模式和命令行模式(Shell模式)。

  1.7.3 仿真器

  仿真器有基于元件(邏輯門)的仿真器和HDL語言的仿真器之分,基于元件的仿真器缺乏HDL仿真器的靈活性和通用性。在此主要介紹HDL仿真器。

  在EDA設(shè)計(jì)技術(shù)中仿真的地位十分重要。行為模型的表達(dá)、電子系統(tǒng)的建模、邏輯電路的驗(yàn)證乃至門級系統(tǒng)的測試,每一步都離不開仿真器的模擬檢測。在EDA發(fā)展的初期,快速地進(jìn)行電路邏輯仿真是當(dāng)時的核心問題,即使在現(xiàn)在,各設(shè)計(jì)環(huán)節(jié)的仿真仍然是整個EDA工程流程中最耗時間的一個步驟,因此仿真器的仿真速度、仿真的準(zhǔn)確性、易用性成為衡量仿真器的重要指標(biāo)。按仿真器對設(shè)計(jì)語言不同的處理方式分類,可分為編譯型仿真器和解釋型仿真器。

  編譯型仿真器的仿真速度較快,但需要預(yù)處理,因此不便即時修改;解釋型仿真器的仿真速度一般,可隨時修改仿真環(huán)境和條件。

  按處理的硬件描述語言類型分,HDL仿真器可分為VHDL仿真器、Verilog仿真器、Mixed HDL仿真器(混合HDL仿真器,同時處理Verilog與VHDL)和其他HDL仿真器(針對其他HDL語言的仿真)。

  Model Technology的ModelSim是一個出色的VHDL/Verilog混合仿真器。它也屬于編譯型仿真器,仿真執(zhí)行速度較快。

  Cadence的Verilog-XL是最好的Verilog仿真器之一,Verilog-XL的前身與Verilog語言一起誕生。

  按仿真的電路描述級別的不同,HDL仿真器可以單獨(dú)或綜合完成以下各仿真步驟:

  (1)系統(tǒng)級仿真。

  (2)行為級仿真。

  (3)RTL級仿真。

  (4)門級時序仿真。

  按仿真時是否考慮硬件延時分類,可分為功能仿真和時序仿真,根據(jù)輸入仿真文件的不同,可以由不同的仿真器完成,也可由同一個仿真器完成。

  幾乎各個EDA廠商都提供基于Verilog/VHDL的仿真器。常用的HDL仿真器除上面提及的ModelSim與Verilog-XL外、還有Aldec的Active HDL、Synopsys的VCS,Cadence的NC-Sim等。

  1.7.4 適配器(布局布線器)

  適配器的任務(wù)是完成目標(biāo)系統(tǒng)在器件上的布局布線。適配,即結(jié)構(gòu)綜合通常都由可編程邏輯器件的廠商提供的專門針對器件開發(fā)的軟件來完成。這些軟件可以單獨(dú)或嵌入在廠商的針對自己產(chǎn)品的集成EDA開發(fā)環(huán)境中存在。例如Lattice公司在其ispLEVEL開發(fā)系統(tǒng)嵌有自己的適配器,但同時提供性能良好、使用方便的專用適配器:ispEXPERT Compiler;而Altera公司的EDA集成開發(fā)環(huán)境MAX+plus II、Quartus II中都含有嵌入的適配器(Fitter);Xilinx的Foundation和ISE中也同樣含有自己的適配器。

  適配器最后輸出的是各廠商自己定義的下載文件,用于下載到器件中以實(shí)現(xiàn)設(shè)計(jì)。適配器輸出以下多種用途的文件。

  ● 時序仿真文件,如MAX+plus II的SCF文件。

  ● 適配技術(shù)報(bào)告文件。

  ● 面向第三方EDA工具的輸出文件,如EDIF、VHDL或Verilog格式的文件。

  ● FPGA/CPLD編程下載文件,如用于CPLD編程的JEDEC、POF、ISP等格式的文件;用于FPGA配置的SOF、JAM、BIT等格式的文件。

  1.7.5 下載器(編程器)

  把設(shè)計(jì)下載到對應(yīng)的實(shí)際器件,實(shí)現(xiàn)硬件設(shè)計(jì)。軟件部分一般都由可編程邏輯器件的廠商提供的專門針對器件下載或編程軟件來完成。

  1.8 Quartus II概述

  由于本書給出的實(shí)驗(yàn)是基于Quartus II的,其應(yīng)用方法和設(shè)計(jì)流程對于其他流行的EDA工具的使用具有一定的典型性和一般性,所以在此對它作一些介紹。

  Quartus II是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界最大可編程邏輯器件供應(yīng)商之一。Quartus II在21世紀(jì)初推出,是Altera前一代FPGA/CPLD集成開發(fā)環(huán)境MAX+plus II的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷。在Quartus II上可以完成1.5節(jié)所述的整個流程,它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。

  Altera的Quartus II 提供了完整的多平臺設(shè)計(jì)環(huán)境,能滿足各種特定設(shè)計(jì)的需要,也是單芯片可編程系統(tǒng)(SOPC)設(shè)計(jì)的綜合性環(huán)境和SOPC開發(fā)的基本設(shè)計(jì)工具,并為Altera DSP開發(fā)包進(jìn)行系統(tǒng)模型設(shè)計(jì)提供了集成綜合環(huán)境。Quartus II設(shè)計(jì)工具完全支持VHDL、Verilog的設(shè)計(jì)流程,其內(nèi)部嵌有VHDL、Verilog邏輯綜合器。Quartus II也可以利用第三方的綜合工具,如Leonardo Spectrum、Synplify Pro、FPGA Compiler II,并能直接調(diào)用這些工具。同樣,Quartus II具備仿真功能,同時也支持第三方的仿真工具,如ModelSim。此外,Quartus II與MATLAB和DSP Builder結(jié)合,可以進(jìn)行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實(shí)現(xiàn)的關(guān)鍵EDA工具。

  Quartus II包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analysis & Synthesis)、適配器(Fitter)、裝配器(Assembler)、時序分析器(Timing Analyzer)、設(shè)計(jì)輔助模塊(Design Assistant)、EDA網(wǎng)表文件生成器(EDA Netlist Writer)和編輯數(shù)據(jù)接口(Compiler Database Interface)等。可以通過選擇 Start Compilation來運(yùn)行所有的編譯器模塊,也可以通過選擇Start單獨(dú)運(yùn)行各個模塊。還可以通過選擇 Compiler Tool (Tools 菜單),在 Compiler Tool窗口中運(yùn)行該模塊來啟動編譯器模塊。在 Compiler Tool 窗口中,可以打開該模塊的設(shè)置文件或報(bào)告文件,或打開其他相關(guān)窗口。

  此外,Quartus II還包含許多十分有用的LPM(Library of Parameterized Modules)模塊,它們是復(fù)雜或高級系統(tǒng)構(gòu)建的重要組成部分,在SOPC設(shè)計(jì)中被大量使用,也可在Quartus II普通設(shè)計(jì)文件一起使用。Altera提供的LPM函數(shù)均基于Altera器件的結(jié)構(gòu)做了優(yōu)化設(shè)計(jì)。在許多實(shí)用情況中,必須使用宏功能模塊才可以使用一些Altera特定器件的硬件功能。例如各類片上存儲器、DSP模塊、LVDS驅(qū)動器、PLL以及SERDES和DDIO電路模塊等。

  圖1-9中所示的上排是Quartus II編譯設(shè)計(jì)主控界面,它顯示了Quartus II自動設(shè)計(jì)的各主要處理環(huán)節(jié)和設(shè)計(jì)流程,包括設(shè)計(jì)輸入編輯、設(shè)計(jì)分析與綜合、適配、編程文件匯編(裝配)、時序參數(shù)提取以及編程下載幾個步驟。在圖1-9下排的流程框圖,是與上面的Quartus II設(shè)計(jì)流程相對照的標(biāo)準(zhǔn)的EDA開發(fā)流程。

  Quartus II編譯器支持的硬件描述語言有VHDL(支持VHDL’87及VHDL’97標(biāo)準(zhǔn))、Verilog HDL及AHDL(Altera HDL),AHDL是Altera公司自己設(shè)計(jì)、制定的硬件描述語言,是一種以結(jié)構(gòu)描述方式為主的硬件描述語言,只有企業(yè)標(biāo)準(zhǔn)。

  Quartus II允許來自第三方的EDIF文件輸入,并提供了很多EDA軟件的接口,Quartus II支持層次化設(shè)計(jì),可以在一個新的編輯輸入環(huán)境中對使用不同輸入設(shè)計(jì)方式完成的模塊(元件)進(jìn)行調(diào)用,從而解決了原理圖與HDL混合輸入設(shè)計(jì)的問題。在設(shè)計(jì)輸入之后,Quartus II的編譯器將給出設(shè)計(jì)輸入的錯誤報(bào)告。Quartus II擁有性能良好的設(shè)計(jì)錯誤定位器,用于確定文本或圖形設(shè)計(jì)中的錯誤。對于使用HDL的設(shè)計(jì),可以使用Quartus II帶有的RTL Viewer觀察綜合后的RTL圖。在進(jìn)行編譯后,可對設(shè)計(jì)進(jìn)行時序仿真。在作仿真前,需要利用波形編輯器編輯一個波形激勵文件,用于仿真驗(yàn)證時的激勵。編譯和仿真經(jīng)檢測無誤后,便可以將下載信息通過Quartus II提供的編程器下載入目標(biāo)器件中了。

  電子設(shè)計(jì)自動化技術(shù)及其發(fā)展 - Ryan - liyongfeng1111的博客

  圖1-9 Quartus II設(shè)計(jì)流程

  1.9 IP(Intellectual Property)核

  IP就是知識產(chǎn)權(quán)核或知識產(chǎn)權(quán)模塊的意思,在EDA技術(shù)和開發(fā)中具有十分重要的地位。美國著名的Dataquest咨詢公司將半導(dǎo)體產(chǎn)業(yè)的IP定義為用于ASIC或FPGA/CPLD中的預(yù)先設(shè)計(jì)好的電路功能模塊。IP分軟IP、固IP和硬IP。

  軟IP是用VHDL等硬件描述語言描述的功能塊,但是并不涉及用什么具體電路元件實(shí)現(xiàn)這些功能。軟IP通常是以硬件描述語言HDL源文件的形式出現(xiàn),應(yīng)用開發(fā)過程與普通的HDL設(shè)計(jì)也十分相似,只是所需的開發(fā)軟硬件環(huán)境比較昂貴。軟IP的設(shè)計(jì)周期短,設(shè)計(jì)投入少。由于不涉及物理實(shí)現(xiàn),為后續(xù)設(shè)計(jì)留有很大的發(fā)揮空間,增大了IP的靈活性和適應(yīng)性。軟IP的弱點(diǎn)是在一定程度上使后續(xù)工序無法適應(yīng)整體設(shè)計(jì),從而需要一定程度的軟IP修正,在性能上也不可能獲得全面的優(yōu)化。

  固IP是完成了綜合的功能塊。它有較大的設(shè)計(jì)深度,以網(wǎng)表文件的形式提交客戶使用。如果客戶與固IP使用同一個IC生產(chǎn)線的單元庫,IP應(yīng)用的成功率會高得多。

  硬IP提供設(shè)計(jì)的最終階段產(chǎn)品是掩膜。隨著設(shè)計(jì)深度的提高,后續(xù)工序所需要做的事情就越少,當(dāng)然,靈活性也就越小。不同的客戶可以根據(jù)自己的需要訂購不同的IP產(chǎn)品。由于通信系統(tǒng)越來越復(fù)雜,PLD的設(shè)計(jì)也更加龐大,這增加了市場對IP核的需求。各大FPGA/CPLD廠家繼續(xù)開發(fā)新的商品IP,并且開始提供“硬件”IP,即將一些功能在出廠時就固化在芯片中。

  實(shí)際上,IP的概念早已在IC設(shè)計(jì)中使用,應(yīng)該說標(biāo)準(zhǔn)單元庫(Standard Cell library)中的功能單元就是IP的一種形式。IC生產(chǎn)廠(Foundry)為擴(kuò)大業(yè)務(wù),提供精心設(shè)計(jì)并經(jīng)過工藝驗(yàn)證的標(biāo)準(zhǔn)單元,以吸引IC設(shè)計(jì)公司(往往是Fabless,無生產(chǎn)線IC公司)成為他的客戶,同時向客戶免費(fèi)提供相關(guān)的數(shù)據(jù)資料。于是IC設(shè)計(jì)師十分樂于使用成熟、優(yōu)化的單元完成自己的設(shè)計(jì),這樣既可以提高效率,又可以減少設(shè)計(jì)風(fēng)險(xiǎn)。設(shè)計(jì)師一旦以這些數(shù)據(jù)完成設(shè)計(jì),自然也就必須要到這家Foundry去做工藝流片,這就使Foundry達(dá)到了擴(kuò)大營業(yè)的目的。

  標(biāo)準(zhǔn)單元使用者除與Foundry簽訂“標(biāo)準(zhǔn)單元數(shù)據(jù)不擴(kuò)散協(xié)議”之外,無須另交單元庫的使用費(fèi),因此Foundry并沒有直接獲取IP的收益,只是通過擴(kuò)大營業(yè)間接收到單元庫的IP效益,這就是IP的初級形式。

  今天的IP已遠(yuǎn)遠(yuǎn)超出了這個水平,IP已經(jīng)成為IC設(shè)計(jì)的一項(xiàng)獨(dú)立技術(shù),成為實(shí)現(xiàn)SOC設(shè)計(jì)的技術(shù)支撐以及ASIC設(shè)計(jì)方法學(xué)中的學(xué)科分支。

  從集成規(guī)模上說,現(xiàn)在的IP庫已經(jīng)包含有諸如8051、ARM、PowerPC等微處理器,320C50等數(shù)字信號處理器,MPEG-II、JPEG等數(shù)字信息壓縮/解壓器在內(nèi)的大規(guī)模IC模塊。這些模塊都曾經(jīng)是具有完整功能的IC產(chǎn)品,并曾廣泛用來與其他功能器件一起,在PCB上構(gòu)成系統(tǒng)主板。如今微電子技術(shù)已經(jīng)具有在硅片上實(shí)現(xiàn)系統(tǒng)集成的功能,因此這些昔日的IC便以模塊“核”(Core)的形式嵌入ASIC或SOC之中。

  從設(shè)計(jì)來源上說,單純靠Foundry設(shè)計(jì)IP模塊已遠(yuǎn)不能滿足系統(tǒng)設(shè)計(jì)師的要求。今天的IP庫需要廣開設(shè)計(jì)源頭,匯納優(yōu)秀模塊,不論出自誰家,只要是優(yōu)化的設(shè)計(jì),與同類模塊相比達(dá)到芯片面積更小、運(yùn)行速度更快、功率消耗更低、工藝容差更大,就自然會有人愿意花錢使用這個模塊的“版權(quán)”,因此也就可以納入IP庫,成為IP的一員。

  目前,盡管對IP還沒有統(tǒng)一的定義,但I(xiàn)P的實(shí)際內(nèi)涵已有了明確的界定:首先,它必須是為了易于重用而按嵌入式應(yīng)用專門設(shè)計(jì)的。即使是已經(jīng)被廣泛使用的產(chǎn)品,在決定作為IP之前,一般來說也須要再做設(shè)計(jì),使其更易于在系統(tǒng)中嵌入。比較典型的例子是嵌入式RAM,由于嵌入后已經(jīng)不存在引線壓點(diǎn)(PAD)的限制,所以在分立電路中不得不采取的措施,諸如數(shù)據(jù)線輸入輸出復(fù)用、地址數(shù)據(jù)線分時復(fù)用、數(shù)據(jù)串并轉(zhuǎn)換以及行列等分譯碼等,在嵌入式RAM中將被去除,不僅節(jié)省了芯片面積,而且大幅提高了讀寫速度。

  其次是必須實(shí)現(xiàn)IP模塊的優(yōu)化設(shè)計(jì)。優(yōu)化的目標(biāo)通常可用“四最”來表達(dá),即芯片的面積最小、運(yùn)算速度最快、功率消耗最低、工藝容差最大。所謂工藝容差大是指所做的設(shè)計(jì)可以經(jīng)受更大的工藝波動,是提高加工成品率的重要保障。這樣的優(yōu)化目標(biāo)是普通的自動化設(shè)計(jì)過程難以達(dá)到的,但是對于IP卻又必須達(dá)到。因?yàn)镮P必須能經(jīng)受得起成千上萬次的使用。顯然,IP的每一點(diǎn)優(yōu)化都將產(chǎn)生千百倍甚至更大的倍增效益。因此基于晶體管級的IP設(shè)計(jì)便成為完成IP設(shè)計(jì)的重要的途徑。

  再次,就是要符合IP標(biāo)準(zhǔn)。這與其他IC產(chǎn)品一樣,IP進(jìn)入流通領(lǐng)域后,也需要有標(biāo)準(zhǔn)。于是在1996年以后,RAIPD(Reusable Application-specific Intellectual-property Developers)、VSIA(Virtual Socket Interface Alliance)等組織相繼成立,協(xié)調(diào)并制訂IP重用所需的參數(shù)、文檔、檢驗(yàn)方式等形式化的標(biāo)準(zhǔn),以及IP標(biāo)準(zhǔn)接口、片內(nèi)總線等技術(shù)性的協(xié)議標(biāo)準(zhǔn)。雖然這些工作已經(jīng)開展了多年,也制訂了一些標(biāo)準(zhǔn),但至今仍有大量問題有待解決。例如,不同嵌入式處理器協(xié)議的統(tǒng)一、不同IP片內(nèi)結(jié)構(gòu)的統(tǒng)一等問題。

  我國在IP設(shè)計(jì)方面尚處于起步階段,與IP的應(yīng)用需求形成明顯的不一致,這為我國未來的IP設(shè)計(jì)工程師提供了廣闊的用武之地。

  1.10 EDA技術(shù)的發(fā)展趨勢

  隨著市場需求的增長,集成工藝水平及計(jì)算機(jī)自動設(shè)計(jì)技術(shù)的不斷提高,促使單片系統(tǒng),或稱系統(tǒng)集成芯片成為IC設(shè)計(jì)的發(fā)展方向,這一發(fā)展趨勢表現(xiàn)在以下幾個方面。

  ● 超大規(guī)模集成電路的集成度和工藝水平不斷提高,深亞微米(Deep-Submicron)工藝,如0.13μm、90nm已經(jīng)走向成熟,在一個芯片上完成的系統(tǒng)級的集成已成為可能。

  ● 由于工藝線寬的不斷減小,在半導(dǎo)體材料上的許多寄生效應(yīng)已經(jīng)不能簡單地被忽略。這就對EDA工具提出了更高的要求。同時,也使得IC生產(chǎn)線的投資更為巨大?删幊踢壿嬈骷_始進(jìn)入傳統(tǒng)的ASIC市場。

  ● 市場對電子產(chǎn)品提出了更高的要求,如必須降低電子系統(tǒng)的成本,減小系統(tǒng)的體積等,從而對系統(tǒng)的集成度不斷提出更高的要求。同時,設(shè)計(jì)的效率也成了一個產(chǎn)品能否成功的關(guān)鍵因素,促使EDA工具和IP核應(yīng)用更為廣泛。

  ● 高性能的EDA工具得到長足的發(fā)展,其自動化和智能化程度不斷提高,為嵌入式系統(tǒng)設(shè)計(jì)提供了功能強(qiáng)大的開發(fā)環(huán)境。

  ● 計(jì)算機(jī)硬件平臺性能大幅度提高,為復(fù)雜的SOC設(shè)計(jì)提供了物理基礎(chǔ)。

  但現(xiàn)有的HDL語言只是提供行為級,或功能級的描述,尚無法完成對復(fù)雜的系統(tǒng)級的抽象描述。人們正嘗試開發(fā)一種新的系統(tǒng)級設(shè)計(jì)語言來完成這一工作,現(xiàn)在已開發(fā)出更趨于電路行為級的硬件描述語言,如SystemC、SystemVerilog及系統(tǒng)級混合仿真工具,可以在同一個開發(fā)平臺上完成高級語言,如C/C++等,與標(biāo)準(zhǔn)HDL語言(VeriIog HDL、VHDL)或其他更低層次描述模塊的混合仿真。雖然用戶用高級語言編寫的模塊尚不能自動轉(zhuǎn)化成HDL描述,但作為一種針對特定應(yīng)用領(lǐng)域的開發(fā)工具,軟件供應(yīng)商已經(jīng)為常用的功能模塊提供了豐富的宏單元庫支持,可以方便地構(gòu)建應(yīng)用系統(tǒng),并通過仿真加以優(yōu)化,最后自動產(chǎn)生HDL代碼,進(jìn)入下一階段的ASIC實(shí)現(xiàn)。

  此外,隨著系統(tǒng)開發(fā)對EDA技術(shù)的目標(biāo)器件各種性能要求的提高,ASIC和FPGA將更大程度地相互融合。這是因?yàn)殡m然標(biāo)準(zhǔn)邏輯ASIC芯片尺寸小、功能強(qiáng)大、耗電省,但設(shè)計(jì)復(fù)雜,并且有批量生產(chǎn)要求;可編程邏輯器件開發(fā)費(fèi)用低廉,能在現(xiàn)場進(jìn)行編程,但卻體積大、功能有限,而且功耗較大。因此,F(xiàn)PGA和ASIC正在走到一起,互相融合,取長補(bǔ)短。由于一些ASIC制造商提供具有可編程邏輯的標(biāo)準(zhǔn)單元,可編程器件制造商重新對標(biāo)準(zhǔn)邏輯單元發(fā)生興趣,而有些公司采取兩頭并進(jìn)的方法,從而使市場開始發(fā)生變化,在FPGA和ASIC之間正在誕生一種“雜交”產(chǎn)品,以滿足成本和上市速度的要求。例如將可編程邏輯器件嵌入標(biāo)準(zhǔn)單元。

  盡管將標(biāo)準(zhǔn)單元核與可編程器件集成在一起并不意味著使ASIC更加便宜,或使FPGA更加省電。但是,可使設(shè)計(jì)人員將兩者的優(yōu)點(diǎn)結(jié)合在一起,通過去掉FPGA的一些功能,可減少成本和開發(fā)時間并增加靈活性。當(dāng)然現(xiàn)今也在進(jìn)行將ASIC嵌入可編程邏輯單元的工作。目前,許多PLD公司開始為ASIC提供FPGA內(nèi)核。PLD廠商與ASIC制造商結(jié)盟,為SOC設(shè)計(jì)提供嵌入式FPGA模塊,使未來的ASIC供應(yīng)商有機(jī)會更快地進(jìn)入市場,利用嵌入式內(nèi)核獲得更長的市場生命期。

  例如在實(shí)際應(yīng)用中使用所謂可編程系統(tǒng)級集成電路(FPSLIC),即將嵌入式FPGA內(nèi)核與RISC微控制器組合在一起形成新的IC,廣泛用于電信、網(wǎng)絡(luò)、儀器儀表和汽車中的低功耗應(yīng)用系統(tǒng)中。當(dāng)然,也有PLD廠商,不把CPU的硬核直接嵌入在FPGA中,使用了軟IP核,并稱之為SOPC(可編程片上系統(tǒng)),也可以完成復(fù)雜電子系統(tǒng)的設(shè)計(jì),只是代價(jià)將相應(yīng)提高。

  在新一代的ASIC器件中留有FPGA的空間。如果希望改變設(shè)計(jì),或者由于開始的工作中沒有條件完成做足夠的驗(yàn)證測試,稍后也可以根據(jù)要求對它編程。有了一定的再修改的自由度。ASIC設(shè)計(jì)人員采用這種小的可編程邏輯內(nèi)核用于修改設(shè)計(jì)問題,很好地降低了設(shè)計(jì)風(fēng)險(xiǎn)。增加可編程邏輯的另一個原因是,考慮到設(shè)計(jì)產(chǎn)品的許多性能指標(biāo)變化太快,特別是通信協(xié)議,為已經(jīng)完成設(shè)計(jì)并投入應(yīng)用的IC留有多次可自由更改的功能是十分有價(jià)值的事,這在通信領(lǐng)域中的芯片設(shè)計(jì)方面尤為重要。

  現(xiàn)在,傳統(tǒng)ASIC和FPGA之間的界限正變得模糊。系統(tǒng)級芯片不僅集成RAM和微處理器,也集成FPGA。整個EDA和IC設(shè)計(jì)工業(yè)都朝這個方向發(fā)展,這并非是FPGA與ASIC制造商競爭的產(chǎn)物,而對于用戶來說,意味著有了更多的選擇。

【電子設(shè)計(jì)自動化技術(shù)及其發(fā)展】相關(guān)文章:

高校辦公自動化存在的問題及其發(fā)展05-19

跟單員發(fā)展方向及其就業(yè)前景01-09

現(xiàn)代舞的現(xiàn)狀及其發(fā)展11-17

EDA技術(shù)的發(fā)展08-26

電氣工程及其自動化專業(yè)就業(yè)形勢08-10

2017年教師及其專業(yè)發(fā)展要點(diǎn)05-15

網(wǎng)格技術(shù)的特點(diǎn)及其對檔案工作的影響10-28

BI商務(wù)智能系統(tǒng)及其技術(shù)架構(gòu)06-20

中國動漫游戲產(chǎn)業(yè)的現(xiàn)狀及其發(fā)展對策06-21