1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

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

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

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

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

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

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

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

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

          在現(xiàn)代技術(shù)的所有領(lǐng)域中,縱觀許多得以飛速發(fā)展的科學(xué)技術(shù),多為計(jì)算機(jī)輔助設(shè)計(jì),而非自動(dòng)化設(shè)計(jì)。顯然,最早進(jìn)入設(shè)計(jì)自動(dòng)化的技術(shù)領(lǐng)域之一是電子技術(shù),這就是為什么電子技術(shù)始終處于所有科學(xué)技術(shù)發(fā)展最前列的原因之一。不難理解,EDA技術(shù)已不是某一學(xué)科的分支,或某種新的技能技術(shù),而應(yīng)該是一門(mén)綜合性學(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ā)展是同步的。就過(guò)去近30年的電子技術(shù)的發(fā)展歷程,可大致將EDA技術(shù)的發(fā)展分為三個(gè)階段。

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

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

          進(jìn)入20世紀(jì)90年代,隨著硬件描述語(yǔ)言的標(biāo)準(zhǔn)化得到進(jìn)一步的確立,計(jì)算機(jī)輔助工程、輔助分析和輔助設(shè)計(jì)在電子技術(shù)領(lǐng)域獲得更加廣泛的應(yīng)用,與此同時(shí),電子技術(shù)在通信、計(jì)算機(jī)及家電產(chǎn)品生產(chǎn)中的市場(chǎng)需求和技術(shù)需求,也極大地推動(dòng)了全新的電子設(shè)計(jì)自動(dòng)化技術(shù)的應(yīng)用和發(fā)展。特別是集成電路設(shè)計(jì)工藝步入了超深亞微米階段,百萬(wàn)門(mén)以上的大規(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)硬件描述語(yǔ)言的EDA工具軟件的研究,都有效地將EDA技術(shù)推向成熟和實(shí)用。

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

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

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

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

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

          ● 電子技術(shù)領(lǐng)域全方位融入EDA技術(shù),除了日益成熟的數(shù)字技術(shù)外,傳統(tǒng)的電路系統(tǒng)設(shè)計(jì)建模理念發(fā)生了重大的變化:軟件無(wú)線電技術(shù)的崛起,模擬電路系統(tǒng)硬件描述語(yǔ)言的表達(dá)和設(shè)計(jì)的標(biāo)準(zhǔn)化,系統(tǒng)可編程模擬器件的出現(xiàn),數(shù)字信號(hào)處理和圖像處理的全硬件實(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)級(jí)、行為驗(yàn)證級(jí)硬件描述語(yǔ)言出現(xiàn)(如System C),使復(fù)雜電子系統(tǒng)的設(shè)計(jì)和驗(yàn)證趨于簡(jiǎn)單。

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

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

          ● 全定制或半定制ASIC。

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

          ● PCB(印制電路板)。

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

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

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

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

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

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

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

          2.半定制或全定制ASIC

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

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

          門(mén)陣列ASIC

          門(mén)陣列芯片包括預(yù)定制相連的PMOS和NMOS晶體管行。設(shè)計(jì)中,用戶可以借助EDA工具將原理圖或硬件描述語(yǔ)言模型映射為相應(yīng)門(mén)陣列晶體管配置,創(chuàng)建一個(gè)指定金屬互連路徑文件,從而完成門(mén)陣列ASIC開(kāi)發(fā)。由于有掩膜的創(chuàng)建過(guò)程,門(mén)陣列有時(shí)也稱掩膜可編程門(mén)陣列(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是使用庫(kù)中的不同大小的標(biāo)準(zhǔn)單元設(shè)計(jì)的,這類芯片一般稱作基于單元的集成電路(Cell-based Integrated Circuits,CBIC)。在設(shè)計(jì)者一級(jí),庫(kù)包括不同復(fù)雜性的邏輯元件:SSI邏輯塊、MSI邏輯塊、數(shù)據(jù)通道模塊、存儲(chǔ)器、IP,以及系統(tǒng)級(jí)模塊。庫(kù)包含每個(gè)邏輯單元在硅片級(jí)的完整布局,使用者只需利用EDA軟件工具與邏輯塊描述打交道即可,完全不必關(guān)心電路布局的細(xì)節(jié)。標(biāo)準(zhǔn)單元布局中,所有擴(kuò)散、接觸點(diǎn)、過(guò)孔、多晶通道及金屬通道都已完全確定。當(dāng)該單元用于設(shè)計(jì)時(shí),通過(guò)EDA軟件產(chǎn)生的網(wǎng)表文件將單元布局塊“粘貼”到芯片布局之上的單元行上。標(biāo)準(zhǔn)單元ASIC設(shè)計(jì)與FPGA設(shè)計(jì)開(kāi)發(fā)的流程相近。

          全定制芯片

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

          3.混合ASIC

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

          1.3 硬件描述語(yǔ)言

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

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

          1.3.1 硬件描述語(yǔ)言VHDL

          VHDL的英文全名是VHSIC(Very High Speed Integrated CircuitHardware Description Language),于1983年由美國(guó)國(guó)防部(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ǔ)言的業(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)硬件描述語(yǔ)言。

          VHDL作為一個(gè)規(guī)范語(yǔ)言和建模語(yǔ)言,隨著它的標(biāo)準(zhǔn)化,出現(xiàn)了一些支持該語(yǔ)言的行為仿真器。由于創(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源碼自動(dòng)地轉(zhuǎn)化為文本方式表達(dá)的基本邏輯元件連接圖,即網(wǎng)表文件。這種方法顯然對(duì)于電路自動(dòng)設(shè)計(jì)是一個(gè)極大的推進(jìn)。很快,電子設(shè)計(jì)領(lǐng)域出現(xiàn)了第一個(gè)軟件設(shè)計(jì)工具,即VHDL邏輯綜合器,它可以標(biāo)準(zhǔn)地將VHDL的部分語(yǔ)句描述轉(zhuǎn)化為具體電路實(shí)現(xiàn)的網(wǎng)表文件。

          1993年,IEEE對(duì)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)硬件描述語(yǔ)言,得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語(yǔ)言,F(xiàn)在公布的最新VHDL標(biāo)準(zhǔn)版本是IEEE 1076-2002。

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

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

          1.3.2 硬件描述語(yǔ)言的綜合

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

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

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

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

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

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

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

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

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

          編譯器將軟件程序翻譯成基于某種特定CPU的機(jī)器代碼,這種代碼僅限于這種CPU而不能移植,并且機(jī)器代碼不代表硬件結(jié)構(gòu),更不能改變CPU的硬件結(jié)構(gòu),只能被動(dòng)地為其特定的硬件電路結(jié)構(gòu)所利用。如果脫離了已有的硬件環(huán)境(CPU),機(jī)器代碼將失去意義。此外,編譯器作為一種軟件的運(yùn)行,除了某種單一目標(biāo)器件,即CPU的硬件結(jié)構(gòu)外,不需要任何與硬件相關(guān)的器件庫(kù)和工藝庫(kù)參與編譯。因而,編譯器的工作單純得多,編譯過(guò)程基本屬于一種一一對(duì)應(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),因此具備了隨時(shí)改變硬件結(jié)構(gòu)的依據(jù)。綜合的結(jié)果具有相對(duì)獨(dú)立性。另一方面,綜合器在將硬件描述語(yǔ)言表達(dá)的電路功能轉(zhuǎn)化成具體的電路結(jié)構(gòu)網(wǎng)表過(guò)程中,具有明顯的能動(dòng)性和創(chuàng)造性,它不是機(jī)械的一一對(duì)應(yīng)式的“翻譯”,而是根據(jù)設(shè)計(jì)庫(kù)、工藝庫(kù)以及預(yù)先設(shè)置的各類約束條件,選擇最優(yōu)的方式完成電路結(jié)構(gòu)的形成。這就是說(shuō),對(duì)于相同的VHDL表述,綜合器可以用不同的電路結(jié)構(gòu)實(shí)現(xiàn)相同的功能。

          如圖1-3所示,與編譯器相比,綜合器具有更復(fù)雜的工作環(huán)境,綜合器在接受VHDL程序并準(zhǔn)備對(duì)其綜合前,必須獲得最終實(shí)現(xiàn)設(shè)計(jì)電路硬件特征相關(guān)的工藝庫(kù)的信息,以及獲得優(yōu)化綜合的諸多約束條件。一般地,約束條件可以分為3種,即設(shè)計(jì)規(guī)則、時(shí)間約束、面積約束。通常,時(shí)間約束的優(yōu)先級(jí)高于面積約束。設(shè)計(jì)優(yōu)化要求,當(dāng)綜合器把VHDL源碼翻譯成通用原理圖時(shí),將識(shí)別狀態(tài)機(jī)、加法器、乘法器、多路選擇器和寄存器等。這些運(yùn)算功能根據(jù)VHDL源碼中的符號(hào),如加減乘除。每種運(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)化時(shí)綜合器應(yīng)付出多大“努力”;“努力”一般可分為低、中、高三檔。

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

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

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

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

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

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

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

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

          由此可見(jiàn),在某些情況下,自底向上的設(shè)計(jì)方法是一種低效、低可靠性、費(fèi)時(shí)費(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硬件描述語(yǔ)言,以及先進(jìn)的ASIC制造工藝和FPGA開(kāi)發(fā)技術(shù)。當(dāng)今,自頂向下的設(shè)計(jì)方法已經(jīng)是EDA技術(shù)的首選設(shè)計(jì)方法,是ASIC或FPGA開(kāi)發(fā)的主要設(shè)計(jì)手段。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          (5)無(wú)論傳統(tǒng)的應(yīng)用電子系統(tǒng)設(shè)計(jì)得如何完美,使用了多么先進(jìn)的功能器件,都掩蓋不了一個(gè)無(wú)情的事實(shí),即該系統(tǒng)對(duì)于設(shè)計(jì)者來(lái)說(shuō),沒(méi)有任何自主知識(shí)產(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)方面有很大的可選性,它既可以用不同來(lái)源的通用FPGA/CPLD實(shí)現(xiàn),也可以直接以ASIC來(lái)實(shí)現(xiàn),設(shè)計(jì)者擁有完全的自主權(quán),再無(wú)受制于人之虞。

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

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

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

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

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

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

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

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

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

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

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

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

          1.圖形輸入

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

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

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

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

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

          然而,使用原理圖輸入的設(shè)計(jì)方法的缺點(diǎn)同樣是十分明顯的,如由于圖形設(shè)計(jì)方式并沒(méi)有得到標(biāo)準(zhǔn)化,不同的EDA軟件中的圖形處理工具對(duì)圖形的設(shè)計(jì)規(guī)則、存檔格式和圖形編譯方式都不同,因此圖形文件兼容性差,難以交換和管理;隨著電路設(shè)計(jì)規(guī)模的擴(kuò)大,原理圖輸入描述方式必然引起一系列難以克服的困難,如電路功能原理的易讀性下降,錯(cuò)誤排查困難,整體調(diào)整和結(jié)構(gòu)升級(jí)困難。例如,將一個(gè)4位的單片機(jī)設(shè)計(jì)升級(jí)為8位單片機(jī)幾乎難以在短期內(nèi)準(zhǔn)確無(wú)誤地實(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ì)自動(dòng)化最本質(zhì)的涵義;在設(shè)計(jì)中,由于必須直接面對(duì)硬件模塊的選用,因此行為模型的建立將無(wú)從談起,從而無(wú)法實(shí)現(xiàn)真實(shí)意義上的自頂向下的設(shè)計(jì)方案。

          2.硬件描述語(yǔ)言文本輸入

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

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

          1.5.2 HDL綜合

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

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

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

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

          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配器的適配對(duì)象直接與器件的結(jié)構(gòu)細(xì)節(jié)相對(duì)應(yīng)。

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

          1.5.4 仿真

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

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

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

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

          1.5.5 下載和硬件測(cè)試

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

          通常,將對(duì)CPLD的下載稱為編程(Program),對(duì)FPGA中的SRAM進(jìn)行直接下載的方式稱為配置(Configure),但對(duì)于反熔絲結(jié)構(gòu)和Flash結(jié)構(gòu)的FPGA的下載和對(duì)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)一測(cè)試,以便最終驗(yàn)證設(shè)計(jì)項(xiàng)目在目標(biāo)系統(tǒng)上的實(shí)際工作情況,以排除錯(cuò)誤,改進(jìn)設(shè)計(jì)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          (6)版圖驗(yàn)證(Layout Verification)。版圖設(shè)計(jì)完成以后進(jìn)行版圖驗(yàn)證,主要包括版圖原理圖比對(duì)(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)芯片測(cè)試。測(cè)試芯片是否符合設(shè)計(jì)要求,并評(píng)估成品率。

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

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

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

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

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

          在以上曾對(duì)設(shè)計(jì)輸入編輯器或稱設(shè)計(jì)輸入環(huán)境作了部分介紹,它們可以接受不同的設(shè)計(jì)輸入表達(dá)方式,如原理圖輸入方式、狀態(tài)圖輸入方式、波形輸入方式以及HDL的文本輸入方式。在各可編程邏輯器件廠商提供的EDA開(kāi)發(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)境。比較常見(jiàn)的還有Cadence的Orcad中的Capture工具等。這一類的工具一般都設(shè)計(jì)成通用型的原理圖輸入工具。由于針對(duì)FPGA/CPLD設(shè)計(jì)的原理圖要含有特殊原理圖庫(kù)(含原理圖中的Symbol)的支持,因此其輸出并不與EDA流程的下步設(shè)計(jì)工具直接相連,而要通過(guò)網(wǎng)表文件(如EDIF文件)來(lái)傳遞。

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

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

          有的EDA設(shè)計(jì)輸入工具把圖形設(shè)計(jì)與HDL文本設(shè)計(jì)相結(jié)合,如在提供HDL文本編輯器的同時(shí)提供狀態(tài)機(jī)編輯器,用戶可用圖形(狀態(tài)圖)來(lá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ù)中自動(dòng)化設(shè)計(jì)程度的不斷提高。

          1.7.2 HDL綜合器

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

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

          由于HDL綜合器是目標(biāo)器件硬件結(jié)構(gòu)細(xì)節(jié)、數(shù)字電路設(shè)計(jì)技術(shù)、化簡(jiǎn)優(yōu)化算法以及計(jì)算機(jī)軟件的復(fù)雜結(jié)合體,而且HDL可綜合子集標(biāo)準(zhǔn)化過(guò)程緩慢,所以相比于形式多樣的設(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開(kāi)發(fā)推出的綜合器是FPGA Compiler及DC-FPGA。為了便于處理,最初由Synopsys公司在綜合器中增加了一些用戶自定義類型,如Std_logic等,后被納入IEEE標(biāo)準(zhǔn)。對(duì)于其他綜合器也都只能支持VHDL中的可綜合子集。FPGA Compiler中帶有一個(gè)原理圖生成瀏覽器,可以把綜合出的網(wǎng)表用原理圖的方式畫(huà)出來(lái),便于驗(yàn)證設(shè)計(jì),還附有強(qiáng)大的延時(shí)分析器,可以對(duì)關(guān)鍵路徑進(jìn)行單獨(dú)分析。

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

          Exemplar公司的Leonardo Spectrum也是一個(gè)很好的HDL綜合器,它同時(shí)可用于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)化成硬件電路時(shí),一般要經(jīng)過(guò)兩個(gè)步驟:第一步是HDL綜合器對(duì)VHDL/Verilog進(jìn)行分析處理,并將其轉(zhuǎn)成相應(yīng)的電路結(jié)構(gòu)或模塊,這時(shí)是不考慮實(shí)際器件實(shí)現(xiàn)的,即完全與硬件無(wú)關(guān),這個(gè)過(guò)程是一個(gè)通用電路原理圖形成的過(guò)程;第二步是對(duì)應(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語(yǔ)言表達(dá)的標(biāo)準(zhǔn)格式的網(wǎng)表文件,或是對(duì)應(yīng)FPGA器件廠商的網(wǎng)表文件,如Xilinx的XNF網(wǎng)表文件。

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

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

          1.7.3 仿真器

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

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

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

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

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

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

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

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

          (2)行為級(jí)仿真。

          (3)RTL級(jí)仿真。

          (4)門(mén)級(jí)時(shí)序仿真。

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

          幾乎各個(gè)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)綜合通常都由可編程邏輯器件的廠商提供的專門(mén)針對(duì)器件開(kāi)發(fā)的軟件來(lái)完成。這些軟件可以單獨(dú)或嵌入在廠商的針對(duì)自己產(chǎn)品的集成EDA開(kāi)發(fā)環(huán)境中存在。例如Lattice公司在其ispLEVEL開(kāi)發(fā)系統(tǒng)嵌有自己的適配器,但同時(shí)提供性能良好、使用方便的專用適配器:ispEXPERT Compiler;而Altera公司的EDA集成開(kāi)發(fā)環(huán)境MAX+plus II、Quartus II中都含有嵌入的適配器(Fitter);Xilinx的Foundation和ISE中也同樣含有自己的適配器。

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

          ● 時(shí)序仿真文件,如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ì)下載到對(duì)應(yīng)的實(shí)際器件,實(shí)現(xiàn)硬件設(shè)計(jì)。軟件部分一般都由可編程邏輯器件的廠商提供的專門(mén)針對(duì)器件下載或編程軟件來(lái)完成。

          1.8 Quartus II概述

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

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

          Altera的Quartus II 提供了完整的多平臺(tái)設(shè)計(jì)環(huán)境,能滿足各種特定設(shè)計(jì)的需要,也是單芯片可編程系統(tǒng)(SOPC)設(shè)計(jì)的綜合性環(huán)境和SOPC開(kāi)發(fā)的基本設(shè)計(jì)工具,并為Altera DSP開(kāi)發(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具備仿真功能,同時(shí)也支持第三方的仿真工具,如ModelSim。此外,Quartus II與MATLAB和DSP Builder結(jié)合,可以進(jìn)行基于FPGA的DSP系統(tǒng)開(kāi)發(fā),是DSP硬件系統(tǒng)實(shí)現(xiàn)的關(guān)鍵EDA工具。

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

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

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

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

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

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

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

          1.9 IP(Intellectual Property)核

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

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

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

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

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

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

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

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

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

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

          其次是必須實(shí)現(xiàn)IP模塊的優(yōu)化設(shè)計(jì)。優(yōu)化的目標(biāo)通?捎“四最”來(lái)表達(dá),即芯片的面積最小、運(yùn)算速度最快、功率消耗最低、工藝容差最大。所謂工藝容差大是指所做的設(shè)計(jì)可以經(jīng)受更大的工藝波動(dòng),是提高加工成品率的重要保障。這樣的優(yōu)化目標(biāo)是普通的自動(dòng)化設(shè)計(jì)過(guò)程難以達(dá)到的,但是對(duì)于IP卻又必須達(dá)到。因?yàn)镮P必須能經(jīng)受得起成千上萬(wàn)次的使用。顯然,IP的每一點(diǎn)優(yōu)化都將產(chǎn)生千百倍甚至更大的倍增效益。因此基于晶體管級(jí)的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)開(kāi)展了多年,也制訂了一些標(biāo)準(zhǔn),但至今仍有大量問(wèn)題有待解決。例如,不同嵌入式處理器協(xié)議的統(tǒng)一、不同IP片內(nèi)結(jié)構(gòu)的統(tǒng)一等問(wèn)題。

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

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

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

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

          ● 由于工藝線寬的不斷減小,在半導(dǎo)體材料上的許多寄生效應(yīng)已經(jīng)不能簡(jiǎn)單地被忽略。這就對(duì)EDA工具提出了更高的要求。同時(shí),也使得IC生產(chǎn)線的投資更為巨大。可編程邏輯器件開(kāi)始進(jìn)入傳統(tǒng)的ASIC市場(chǎng)。

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

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

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

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

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

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

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

          在新一代的ASIC器件中留有FPGA的空間。如果希望改變?cè)O(shè)計(jì),或者由于開(kāi)始的工作中沒(méi)有條件完成做足夠的驗(yàn)證測(cè)試,稍后也可以根據(jù)要求對(duì)它編程。有了一定的再修改的自由度。ASIC設(shè)計(jì)人員采用這種小的可編程邏輯內(nèi)核用于修改設(shè)計(jì)問(wèn)題,很好地降低了設(shè)計(jì)風(fēng)險(xiǎn)。增加可編程邏輯的另一個(gè)原因是,考慮到設(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)級(jí)芯片不僅集成RAM和微處理器,也集成FPGA。整個(gè)EDA和IC設(shè)計(jì)工業(yè)都朝這個(gè)方向發(fā)展,這并非是FPGA與ASIC制造商競(jìng)爭(zhēng)的產(chǎn)物,而對(duì)于用戶來(lái)說(shuō),意味著有了更多的選擇。

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

        高校辦公自動(dòng)化存在的問(wèn)題及其發(fā)展05-19

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

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

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

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

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

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

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

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

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>