版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第1章現(xiàn)代數(shù)字系統(tǒng)設(shè)計技術(shù)概述1.1概述1.2現(xiàn)代數(shù)字系統(tǒng)的設(shè)計流程1.3EDA軟件工具簡介1.4現(xiàn)代數(shù)字系統(tǒng)設(shè)計的發(fā)展趨勢小結(jié) 1.1概述
1.1.1可編程邏輯器件PLD概述
隨著科學(xué)技術(shù)的進(jìn)步,電路系統(tǒng)的基本硬件已從電子管、晶體管、小規(guī)模集成電路SSI、中規(guī)模集成電路MSI,發(fā)展到了超大規(guī)模集成電路VLSI及巨大規(guī)模集成電路GSI,數(shù)字集成電路已得到非常廣泛的應(yīng)用,而微處理器和專用集成電路ASIC的廣泛應(yīng)用提高了系統(tǒng)的可靠性與通用性,它已逐漸取代了通用全硬件LSI電路。ASIC以其體積小、重量輕、功耗低、速度快、成本低、保密性好等特點(diǎn)脫穎而出,占據(jù)了較大的市場份額。圖1.1數(shù)字系統(tǒng)中ASIC的分類
1.全定制ASIC
全定制ASIC設(shè)計是基于晶體管級、手工設(shè)計版圖的制造方法。設(shè)計人員從晶體管的版圖尺寸、位置和互聯(lián)線開始設(shè)計,以達(dá)到芯片面積利用率高、速度快、功耗低的最優(yōu)化性能。設(shè)計者對于電路具有完全的控制權(quán),各層掩模都是按照特定電路功能專門制造的,這種設(shè)計方式可以最大限度地實(shí)現(xiàn)電路性能的優(yōu)化。全定制ASIC要求設(shè)計人員具有半導(dǎo)體材料和工藝技術(shù)知識,還具有完整的系統(tǒng)和電路設(shè)計的工程經(jīng)驗(yàn)。全定制ASIC由于其設(shè)計周期很長,設(shè)計時間和成本非常高,市場風(fēng)險非常大,因此多用于大批量的ASIC產(chǎn)品,例如微處理器、高壓器件、A/D轉(zhuǎn)換器和傳感器等專用芯片。
2.半定制ASIC
半定制ASIC是一種約束性設(shè)計方法,它是在芯片上制作一些具有通用性的單元元件或元件組的半成品硬件,用戶僅需考慮電路邏輯功能和各功能模塊之間的合理連接即可。這種方法簡化了版圖設(shè)計,提高了設(shè)計效率和性價比。對于產(chǎn)量規(guī)模不大的器件,可以直接采用這種方式進(jìn)行生產(chǎn)。半定制ASIC按照邏輯實(shí)現(xiàn)的方式不同可以分為門陣列、標(biāo)準(zhǔn)單元和可編程邏輯器件PLD(ProgrammableLogicDevice)。門陣列是在硅片上按照某種規(guī)范的方式制造出大量的標(biāo)準(zhǔn)門(晶體管陣列),但沒有進(jìn)行相互的連接。用戶在設(shè)計時,根據(jù)電路的功能要求,將對應(yīng)的邏輯關(guān)系表達(dá)為晶體管的互連關(guān)系,再將這種互連關(guān)系轉(zhuǎn)換為連線版圖,從而在門陣列基礎(chǔ)上實(shí)現(xiàn)所設(shè)計的電路,它是較早使用的半定制ASIC設(shè)計方法。與全定制ASIC設(shè)計相比,這種方式涉及工藝少、造價低,適合于小批量的ASIC設(shè)計。門陣列設(shè)計的缺點(diǎn)是芯片面積利用率低,靈活性差,對設(shè)計限制過多。標(biāo)準(zhǔn)單元是在外部尺度規(guī)范條件下對各種常用的邏輯功能單元(各種組合邏輯或時序邏輯單元)進(jìn)行物理版圖級的設(shè)計,形成標(biāo)準(zhǔn)單元,并創(chuàng)建版圖單元庫,包括SSI邏輯塊、MSI邏輯塊、數(shù)據(jù)通道模塊、微處理器以及I/O電路的專用單元陣列,供用戶調(diào)用以設(shè)計不同的芯片。在標(biāo)準(zhǔn)單元設(shè)計中,所有的連線、接觸點(diǎn)、過孔、通道已完全確定,設(shè)計者通常按照性能優(yōu)化原則,根據(jù)特定的工藝條件,通過調(diào)整每個晶體管的寬度,可以在性能和面積上做到最大限度的優(yōu)化。標(biāo)準(zhǔn)單元設(shè)計完畢后可以形成對應(yīng)的工藝掩模文檔,以便在以后的設(shè)計中重復(fù)使用。用標(biāo)準(zhǔn)單元設(shè)計ASIC比門陣列具有更加靈活的布圖方式,可以根本解決布通率問題,是目前ASIC設(shè)計中應(yīng)用廣泛的設(shè)計方法之一。門陣列法和標(biāo)準(zhǔn)單元法設(shè)計的ASIC共有的缺點(diǎn)是與IC設(shè)計工藝密切相關(guān)的。一旦工藝發(fā)生變化,則標(biāo)準(zhǔn)門或標(biāo)準(zhǔn)單元庫要隨之更新,這是一項(xiàng)十分繁重的工作。另外,需要投入大量的成本和時間,才能制作出全套的工藝掩模和相關(guān)的工藝檢測系統(tǒng),一旦產(chǎn)品檢驗(yàn)不合格,設(shè)計需要修改,將導(dǎo)致巨大的損失??删幊踢壿嬈骷?shí)質(zhì)上是門陣列及標(biāo)準(zhǔn)單元技術(shù)的延伸和發(fā)展??删幊踢壿嬈骷且环N半定制的邏輯芯片,但與門陣列和標(biāo)準(zhǔn)單元不同,芯片內(nèi)的硬件資源和連線資源是由廠家預(yù)先定制好的,可編程邏輯器件的邏輯功能由用戶通過EDA軟件和編程器對其邏輯結(jié)構(gòu)進(jìn)行重新設(shè)定,它既具有硬件電路的工作速度又具有軟件可編程的靈活性??删幊唐骷O(shè)計不需要制作任何掩模,基本不考慮布局布線問題,設(shè)計成本低。它在設(shè)計中主要考慮邏輯功能的實(shí)現(xiàn),不需要考慮具體單元器件的實(shí)現(xiàn),設(shè)計周期短。由于可編程器件的編程工藝都可以反復(fù)寫入和擦除,設(shè)計中存在任何問題可以馬上進(jìn)行修改,不需要付出硬件代價,所以設(shè)計的風(fēng)險低。
PLD從20世紀(jì)70年代發(fā)展到現(xiàn)在,已形成了許多類型的產(chǎn)品,其結(jié)構(gòu)、工藝、集成度、速度和性能都在不斷地改進(jìn)和提高。最早期的可編程邏輯器件有可編程只讀存儲器(PROM)、紫外線可擦除只讀存儲器(EPROM)和電可擦除只讀存儲器(E2PROM),其后出現(xiàn)了結(jié)構(gòu)上稍復(fù)雜的可編程芯片,它能夠完成各種數(shù)字邏輯功能,這一階段的產(chǎn)品主要有可編程陣列邏輯(PAL)和通用陣列邏輯(GAL)。由于受到結(jié)構(gòu)規(guī)模的限制,以上這些PLD只能完成簡單的數(shù)字邏輯功能,稱為簡單低密度PLD器件。進(jìn)入90年代后伴隨著銅微處理器硅芯片技術(shù)的發(fā)展,可編程邏輯器件在體積與性能上得到了更良好的體現(xiàn),出現(xiàn)了復(fù)雜高密度PLD器件,如1984年Xilinx公司發(fā)明的現(xiàn)場可編程門陣列FPGA(FiledProgrammableGateArray)以及隨后出現(xiàn)的復(fù)雜可編程邏輯器件CPLD(ComplexProgrammableLogicDevice),它們直接面向用戶,具有極大的靈活性和通用性、使用方便、開發(fā)效率高、成本低以及工作可靠性好等特點(diǎn),因而很快得到普及和應(yīng)用,發(fā)展非常迅速。近十余年來,F(xiàn)PGA/CPLD作為可編程邏輯器件的一個重要分支,其在結(jié)構(gòu)、密度、功能、速度、性能等方面都取得了飛速的發(fā)展,如出現(xiàn)了集成度超過千萬門、時鐘頻率超過千兆赫、數(shù)據(jù)傳輸位數(shù)達(dá)到每秒幾十億次的可編程邏輯器件。利用CPLD和FPGA來進(jìn)行專用集成電路設(shè)計是目前最為流行的方式之一。如今電子設(shè)計工程師只需一臺計算機(jī)、一套與器件相應(yīng)的開發(fā)軟件和FPGA/CPLD芯片就能在實(shí)驗(yàn)室或家中通過對FPGA/CPLD編程實(shí)現(xiàn)各種復(fù)雜的專門用途的數(shù)字集成電路,即所謂的可編程ASIC。但是,由于FPGA/CPLD的硬件資源和連線資源是廠家預(yù)先定制好的,設(shè)計者對于可編程ASIC電路設(shè)計的控制權(quán)有限,從而使得全定制或標(biāo)準(zhǔn)單元設(shè)計的ASIC在性能、速度和單位成本方面不具有競爭性。此外,也不可能用可編程ASIC去取代通用產(chǎn)品,如CPU、存儲器、A/D和D/A等的應(yīng)用。
為了避免設(shè)計的風(fēng)險,在開發(fā)新的系統(tǒng)時通常采用FPGA/CPLD進(jìn)行初步設(shè)計以驗(yàn)證系統(tǒng)設(shè)計的正確性,這已經(jīng)成為一種標(biāo)準(zhǔn)的方法。在設(shè)計過程中,往往先利用EDA工具完成軟件仿真,再利用可編程ASIC器件FPGA/CPLD進(jìn)行硬件仿真,在可編程ASIC器件實(shí)現(xiàn)設(shè)計后,通過版圖設(shè)計、芯片測試、制版和流片轉(zhuǎn)成ASIC電路。1.1.2電子設(shè)計自動化技術(shù)概述
現(xiàn)代數(shù)字系統(tǒng)設(shè)計領(lǐng)域中的電子設(shè)計自動化EDA(ElectronicDesignAutomation)技術(shù)是隨著計算機(jī)輔助設(shè)計技術(shù)的提高和可編程專用集成電路FPGA/CPLD規(guī)模的擴(kuò)大而產(chǎn)生,并不斷完善的。由于可編程專用集成電路可以通過軟件編程來對器件的硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),這一切極大地改變了傳統(tǒng)的電子系統(tǒng)設(shè)計方法、設(shè)計過程,乃至設(shè)計觀念。
EDA技術(shù)融合電子技術(shù)、集成電路制造技術(shù)、計算機(jī)技術(shù)和智能化技術(shù)等,以計算機(jī)為工作平臺,以相關(guān)的EDA軟件為開發(fā)工具,以大規(guī)??删幊踢壿嬈骷樵O(shè)計載體,以硬件描述語言(HardwareDescriptionLanguage)為系統(tǒng)邏輯描述的主要方式,自動完成系統(tǒng)算法和電路設(shè)計。EDA技術(shù)已有30多年的發(fā)展歷程,大致可分為20世紀(jì)70年代的計算機(jī)輔助設(shè)計(CAD)階段、80年代的計算機(jī)輔助工程(CAE)階段和90年代后的電子系統(tǒng)設(shè)計自動化(EDA)階段。利用EDA技術(shù)進(jìn)行電子系統(tǒng)的設(shè)計,具有以下幾個特點(diǎn):
1)軟件硬化,硬件軟化
軟件硬化是指所有的軟件設(shè)計最后轉(zhuǎn)化成硬件來實(shí)現(xiàn),用軟件方式設(shè)計的系統(tǒng)到硬件系統(tǒng)的轉(zhuǎn)換是由EDA開發(fā)軟件自動完成的;硬件軟化是指硬件的設(shè)計使用軟件編程的方式進(jìn)行,盡管目標(biāo)系統(tǒng)是硬件,但整個設(shè)計和修改過程如同完成軟件設(shè)計一樣方便和高效。現(xiàn)代的EDA軟件配置了多種能兼用和混合使用的邏輯描述輸入工具,例如既支持功能完善的硬件描述語言如VHDL、VerilogHDL等作為文本輸入,又支持邏輯電路圖、工作波形圖等作為圖形輸入,具有從系統(tǒng)的數(shù)學(xué)模型直到門級電路多層次描述系統(tǒng)硬件功能的能力,而且可以將高層次的行為描述與低層次的寄存器傳輸級RTL(RegisterTransformationLevel)描述和結(jié)構(gòu)描述混合使用。EDA系統(tǒng)還配置了高性能的綜合和優(yōu)化工具,設(shè)計人員只需將設(shè)計描述程序輸入到計算機(jī),設(shè)計綜合工具便能自動將其轉(zhuǎn)化為適當(dāng)?shù)奈锢碛布?shí)現(xiàn),從而提高了設(shè)計效率,縮短了設(shè)計周期。
2)自頂向下(top-down)的設(shè)計方法
傳統(tǒng)的設(shè)計方法都是自底向上的,即首先確定可用的元器件,然后根據(jù)這些器件進(jìn)行邏輯設(shè)計,完成各模塊后進(jìn)行連接,并形成系統(tǒng),最后經(jīng)調(diào)試、測量看整個系統(tǒng)是否達(dá)到規(guī)定的性能指標(biāo)。這種“自下而上”的設(shè)計方法常常受到設(shè)計者的經(jīng)驗(yàn)及市場器件情況等因素的限制,且沒有明顯的規(guī)律可循。另外,系統(tǒng)測試在系統(tǒng)硬件完成后進(jìn)行,如果發(fā)現(xiàn)系統(tǒng)設(shè)計需要修改,則需要重新制作電路板,重新購買器件,重新調(diào)試與修改設(shè)計。整個修改過程需要花費(fèi)大量的時間與經(jīng)費(fèi)。再者,傳統(tǒng)的電路設(shè)計方式是原理圖設(shè)計方式,而原理圖設(shè)計的電路對于復(fù)雜系統(tǒng)的設(shè)計、閱讀、交流、修改、更新和保存都十分困難,不利于復(fù)雜系統(tǒng)的任務(wù)分解與綜合。基于EDA技術(shù)的所謂“自頂向下”的設(shè)計方法正好相反,它主要采用并行工程和“自頂向下”的設(shè)計方法,使開發(fā)者從一開始就要考慮到產(chǎn)品生成周期的諸多方面,包括質(zhì)量、成本、開發(fā)時間及用戶的需求等。該設(shè)計方法首先從系統(tǒng)設(shè)計入手,在頂層進(jìn)行功能劃分和結(jié)構(gòu)設(shè)計,由于采用高級語言描述,因此能在系統(tǒng)級采用仿真手段驗(yàn)證設(shè)計的正確性,然后再逐級設(shè)計底層的結(jié)構(gòu),用VHDL、VerilogHDL等硬件描述語言對高層次的系統(tǒng)行為進(jìn)行電路描述,最后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網(wǎng)表,其對應(yīng)的物理實(shí)現(xiàn)級可以是印刷電路板或?qū)S眉呻娐贰!白皂斚蛳隆痹O(shè)計方法的特點(diǎn)表現(xiàn)在以下幾個方面:
(1)基于可編程邏輯器件PLD和EDA開發(fā)工具支撐。
(2)采用系統(tǒng)級、電路級和門級的逐級仿真技術(shù),以便及早發(fā)現(xiàn)問題,進(jìn)而修改設(shè)計方案。
(3)現(xiàn)代的電子應(yīng)用系統(tǒng)正向模塊化發(fā)展,或者說向軟、硬核組合的方向發(fā)展。對于以往成功的設(shè)計成果稍作修改、組合就能投入再利用,從而產(chǎn)生全新的或派生的設(shè)計模塊。
(4)由于采用的是結(jié)構(gòu)化開發(fā)手段,所以可實(shí)現(xiàn)多人多任務(wù)的并行工作方式,使復(fù)雜系統(tǒng)的設(shè)計規(guī)模和效率大幅度提高。
(5)在選擇器件的類型、規(guī)模、硬件結(jié)構(gòu)等方面具有更大的自由度。
3)集設(shè)計、仿真和測試于一體
現(xiàn)代的EDA軟件平臺集設(shè)計、仿真、測試于一體,配備了系統(tǒng)設(shè)計自動化的全部工具,這些工具包括:多種能兼容和混合使用的邏輯描述輸入工具以及高性能的邏輯綜合、優(yōu)化和仿真測試工具。電子設(shè)計師可以從概念、算法、協(xié)議等開始設(shè)計電子系統(tǒng),將電子產(chǎn)品從電路設(shè)計、性能分析到設(shè)計出IC版圖或PCB版圖的整個過程在計算機(jī)上自動處理完成。
EDA仿真測試技術(shù)極大地提高了大規(guī)模系統(tǒng)電子設(shè)計的自動化程度。在設(shè)計的各個階段都能方便地進(jìn)行仿真和測試。設(shè)計的輸入、輸出或中間變量之間的信號關(guān)系由計算機(jī)根據(jù)要求提供的設(shè)計方案,從各種不同層次的系統(tǒng)性能出發(fā)完成一系列準(zhǔn)確的邏輯和時序仿真驗(yàn)證。該測試技術(shù)通過計算機(jī)就能對系統(tǒng)上的目標(biāo)器件進(jìn)行邊界掃描測試。目前大部分FPGA/CPLD芯片都支持邊界掃描技術(shù)。邊界掃描測試技術(shù)標(biāo)準(zhǔn)是由IEEE組織聯(lián)合測試行動組(JTAG)在20世紀(jì)80年代提出的,用來解決高密度引線器件和高密度電路板上的元件的測試問題。它只需要四根信號線就能夠?qū)﹄娐钒迳纤兄С诌吔鐠呙璧男酒瑑?nèi)部邏輯和邊界管腳進(jìn)行測試。
4)在系統(tǒng)可現(xiàn)場編程,在線升級
編程是指把系統(tǒng)設(shè)計的程序化數(shù)據(jù)按一定的格式裝入一個或多個可編程邏輯器件的編程存儲單元,定義內(nèi)部模塊的邏輯功能以及它們的相互連接關(guān)系。早期的可編程邏輯器件需要將芯片從印制板上拆下,然后把它插在專用的編程器上進(jìn)行編程,目前廣泛采用的在系統(tǒng)可編程技術(shù)則克服了這一缺點(diǎn)。所謂在系統(tǒng)可編程是指可編程邏輯器件不需要使用編程器,具有將器件插在系統(tǒng)內(nèi)或電路板上仍然可以對其進(jìn)行編程和再編程的能力。目前的FPGA/CPLD器件為設(shè)計者提供了系統(tǒng)內(nèi)可再編程或可再配置能力,使得系統(tǒng)內(nèi)硬件的功能可以像軟件一樣易于修改,這就為設(shè)計者進(jìn)行電子系統(tǒng)設(shè)計和開發(fā)提供了可實(shí)現(xiàn)的最新手段。采用這種技術(shù)對系統(tǒng)的設(shè)計、制造、測試和維護(hù)也產(chǎn)生了重大的影響,給樣機(jī)設(shè)計、電路板調(diào)試、系統(tǒng)制造和系統(tǒng)升級帶來革命性的變化。
5)設(shè)計工作標(biāo)準(zhǔn)化,模塊可移置共享
設(shè)計語言、EDA的底層技術(shù)及其接口的標(biāo)準(zhǔn)化能很好地對設(shè)計結(jié)果進(jìn)行交換、共享及重用。
EDA設(shè)計工作的重要設(shè)計語言——硬件描述語言HDL已經(jīng)逐步標(biāo)準(zhǔn)化。VHDL在1987年被IEEE采納為硬件描述語言標(biāo)準(zhǔn)(IEEE1076-1987),VHDL同時也是軍事標(biāo)準(zhǔn)(454)和ANSI標(biāo)準(zhǔn)。VerilogHDL在1995年成為IEEE標(biāo)準(zhǔn)(IEEE1364-1995),2001年發(fā)布了IEEE1364-2001。作為兩大被國際IEEE組織認(rèn)定的工業(yè)標(biāo)準(zhǔn)硬件描述語言,VHDL和VerilogHDL為眾多的EDA廠商支持,且移植性好。數(shù)據(jù)格式的一致性通過標(biāo)準(zhǔn)來保證。EDA的底層技術(shù)、EDA軟件之間的接口等則采用標(biāo)準(zhǔn)數(shù)據(jù)格式,這樣各具特色的EDA工具都能被集成在易于管理的統(tǒng)一環(huán)境之下,并支持任務(wù)之間、項(xiàng)目之間、設(shè)計工程師之間的信息傳輸和工程數(shù)據(jù)共享,從而使EDA框架日趨標(biāo)準(zhǔn)化。并行設(shè)計工作和“自頂向下”設(shè)計方法也是構(gòu)建電子系統(tǒng)集成設(shè)計環(huán)境或集成設(shè)計平臺的基本規(guī)范。目前,主要的EDA系統(tǒng)都建立了框架結(jié)構(gòu),并且都遵循國際計算機(jī)輔助設(shè)計框架結(jié)構(gòu)組織CFI(CADFrameworkInternational)的統(tǒng)一技術(shù)標(biāo)準(zhǔn)。因此,EDA技術(shù)代表了當(dāng)今數(shù)字系統(tǒng)設(shè)計技術(shù)的最新發(fā)展方向。
1.2現(xiàn)代數(shù)字系統(tǒng)的設(shè)計流程
現(xiàn)代數(shù)字系統(tǒng)的設(shè)計流程是指利用EDA軟件和編程工具對可編程邏輯器件進(jìn)行開發(fā)的過程。在EDA軟件平臺上,利用硬件描述語言HDL等邏輯描述手段完成設(shè)計,然后結(jié)合多層次的仿真技術(shù),在確保設(shè)計的可行性與正確性的前提下完成功能確認(rèn),接著利用EDA工具的邏輯綜合功能,把功能描述轉(zhuǎn)換成某一具體目標(biāo)芯片的網(wǎng)表文件,輸出給該器件廠商的布局布線適配器,進(jìn)行邏輯化簡及優(yōu)化、邏輯映射及布局布線,再利用產(chǎn)生的仿真文件進(jìn)行功能和時序等方面的驗(yàn)證,以確保實(shí)際系統(tǒng)的性能,最后,進(jìn)行針對特定目標(biāo)芯片的邏輯映射和編程下載等工作。整個過程包括設(shè)計準(zhǔn)備、設(shè)計輸入、設(shè)計處理和器件編程四個步驟以及相應(yīng)的功能仿真、時序仿真和器件測試三個設(shè)計校驗(yàn)過程。現(xiàn)代數(shù)字系統(tǒng)的設(shè)計流程如圖1.2所示。
圖1.2現(xiàn)代數(shù)字系統(tǒng)的設(shè)計流程
1.設(shè)計準(zhǔn)備
在設(shè)計之前,首先要進(jìn)行方案論證、系統(tǒng)設(shè)計和器件選擇等設(shè)計準(zhǔn)備工作。設(shè)計者首先要根據(jù)任務(wù)要求,判明系統(tǒng)指標(biāo)的可行性。系統(tǒng)的可行性要受到邏輯合理性、成本、開發(fā)條件、器件供應(yīng)、設(shè)計員水平等方面的約束。若系統(tǒng)可行,則根據(jù)系統(tǒng)所完成的功能及復(fù)雜程度,對器件本身的資源和成本、工作速度及連線的可布性等方面進(jìn)行權(quán)衡,選擇合適的設(shè)計方案和合適的器件類型。
2.設(shè)計輸入
設(shè)計輸入是設(shè)計者將所設(shè)計的系統(tǒng)或電路以EDA開發(fā)軟件要求的某種形式表示出來,并送入計算機(jī)的過程。它根據(jù)EDA開發(fā)系統(tǒng)提供的一個電路邏輯的輸入環(huán)境(如原理圖、硬件描述語言(HDL)等形式)進(jìn)行輸入,這些方法可以單獨(dú)構(gòu)成,也可將多種手段組合來生成一個完整的設(shè)計。
輸入軟件在設(shè)計輸入時,還會檢查語法錯誤,并產(chǎn)生網(wǎng)表文件,供設(shè)計處理和設(shè)計校驗(yàn)使用。
3.設(shè)計處理
設(shè)計處理是從設(shè)計輸入文件到生成編程數(shù)據(jù)文件的編譯過程,這是器件設(shè)計中的核心環(huán)節(jié)。設(shè)計處理是由編譯軟件自動完成的。設(shè)計處理的過程如下:
(1)邏輯優(yōu)化和綜合。由軟件化簡邏輯,并把邏輯描述轉(zhuǎn)變?yōu)樽钸m合在器件中實(shí)現(xiàn)的形式。綜合的目的是將多個模塊化設(shè)計文件合并為一個網(wǎng)表文件,并使層次設(shè)計平面化。邏輯綜合應(yīng)施加合理的用戶約束,以滿足設(shè)計的要求。
(2)映射。把設(shè)計分為多個適合用具體PLD器件內(nèi)部邏輯資源實(shí)現(xiàn)的邏輯小塊的形式。映射工作可以全部自動實(shí)現(xiàn),也可以部分由用戶控制,還可以全部由用戶控制進(jìn)行。
(3)布局和布線。布局和布線工作是在設(shè)計檢驗(yàn)通過以后由軟件自動完成的,它能以最優(yōu)的方式對邏輯元件布局,并準(zhǔn)確地實(shí)現(xiàn)PLD器件內(nèi)部邏輯元件間的互連。
(4)生成編程數(shù)據(jù)文件。設(shè)計處理的最后一步是產(chǎn)生可供器件編程使用的數(shù)據(jù)文件。對CPLD器件而言,產(chǎn)生熔絲圖文件即JDEC文件,對FPGA器件則生成位流數(shù)據(jù)文件。
4.設(shè)計校驗(yàn)
設(shè)計校驗(yàn)過程是使用EDA開發(fā)軟件對設(shè)計進(jìn)行分析,它包括功能仿真、時序仿真和器件測試。
功能仿真用于驗(yàn)證設(shè)計的邏輯功能,通常是在設(shè)計輸入完成之后,選擇具體器件進(jìn)行編譯之前進(jìn)行的邏輯功能驗(yàn)證。功能仿真沒有延時信息,對于初步的邏輯功能檢測非常方便。仿真結(jié)果將會生成報告文件和信號波形輸出,從中便可以觀察到各個節(jié)點(diǎn)的信號變化。若發(fā)現(xiàn)錯誤,則可返回設(shè)計輸入中修改邏輯設(shè)計。時序仿真是在選擇了具體器件并完成布局、布線之后進(jìn)行的快速時序檢驗(yàn),可對設(shè)計性能作整體上的分析,這也是與實(shí)際器件工作情況基本相同的仿真。由于不同器件的內(nèi)部延時不一樣,不同的布局、布線方案也給延時造成不同的影響,用戶可以得到某一條或某一類路徑的時延信息,時序仿真也可給出所有路徑的延時信息(又稱延時仿真)。若設(shè)計的性能不能達(dá)到要求,需找出影響性能的關(guān)鍵路徑,并返回延時信息,修改約束文件,對設(shè)計進(jìn)行重新綜合和布局布線,如此重復(fù)多次直到滿足設(shè)計要求為止。因此時序仿真對于分析時序關(guān)系,評估設(shè)計的性能以及檢查和消除競爭冒險等是非常有必要的。直接進(jìn)行功能仿真的優(yōu)點(diǎn)是設(shè)計耗時短,對硬件庫和綜合器沒有任何要求,尤其對于規(guī)模比較大的設(shè)計項(xiàng)目,綜合和布局布線在計算機(jī)運(yùn)行耗時可觀,若每次修改都進(jìn)行時序仿真,顯然會降低設(shè)計開發(fā)效率。通常的做法是:首先進(jìn)行功能仿真,待確認(rèn)設(shè)計文件滿足設(shè)計要求的邏輯功能后再進(jìn)行綜合、布局布線和時序仿真,把握設(shè)計項(xiàng)目在實(shí)際器件的工作情況。
5.器件編程
編程是把系統(tǒng)設(shè)計的下載或配置文件,通過編程電纜按一定的格式裝入一個或多個PLD的編程存儲單元,用于定義PLD內(nèi)部模塊的邏輯功能以及它們的相互連接關(guān)系,以便進(jìn)行硬件調(diào)試和器件測試。
器件編程需要滿足一定的條件,如編程電壓、編程時序和編程算法等。隨著PLD集成度的不斷提高,PLD的編程日益復(fù)雜,PLD的編程必須在開發(fā)系統(tǒng)的支持下才能完成。
器件在編程完畢之后,對于具有邊界掃描測試能力和在系統(tǒng)編程能力的器件來說,系統(tǒng)測試起來就更加方便,它可通過下載電纜下載測試數(shù)據(jù)來探測芯片的內(nèi)部邏輯以診斷設(shè)計,并能隨時修改設(shè)計重新編程。
1.3EDA軟件工具簡介
EDA軟件在現(xiàn)代數(shù)字系統(tǒng)設(shè)計中占據(jù)了極其重要的位置。EDA的核心是利用計算機(jī)完成電子設(shè)計全程自動化,因此,基于計算機(jī)環(huán)境的EDA軟件的支持是必不可少的。
由于EDA的整個流程涉及不同的技術(shù)環(huán)節(jié),每一環(huán)節(jié)中必須有對應(yīng)的軟件包或?qū)S肊DA工具獨(dú)立處理,因此單個EDA工具往往只涉及EDA設(shè)計流程中的某一步驟。這里就以EDA設(shè)計流程中涉及的主要軟件為EDA工具分類,并加以簡要介紹。EDA軟件工具大致可以分為如下五個模塊:模塊一:設(shè)計輸入編輯器。
模塊二:HDL綜合器。
模塊三:仿真器。
模塊四:適配器(或稱布局、布線器)。
模塊五:下載器(或稱編程器)。
現(xiàn)在也有將五個模塊集成在一起的EDA開發(fā)軟件,如Xilinx公司的ISE、Altera公司的Quartus?Ⅱ軟件。
1.設(shè)計輸入編輯器
優(yōu)秀的EDA軟件平臺不僅集成了多種輸入編輯器的設(shè)計輸入表達(dá)方式,如狀態(tài)圖輸入方式、波形輸入方式以及HDL的文本輸入方式,而且還提供了不同的設(shè)計平臺之間的信息交流接口和一定數(shù)量的功能模塊庫供設(shè)計人員直接選用。設(shè)計者可以根據(jù)功能模塊的具體情況靈活選用。下面介紹幾種設(shè)計輸入編輯器中較常用和較成熟的設(shè)計輸入方式。
1)原理圖輸入
原理圖輸入是EDA工具軟件提供的最基本的設(shè)計方法。該方法是選用EDA軟件提供的器件庫資源,并利用電路作圖的方法,進(jìn)行相關(guān)的電氣連接而構(gòu)成相應(yīng)的系統(tǒng)或滿足某些特定功能的系統(tǒng)或新元件。這種方式大多用在對系統(tǒng)及各部分電路很熟悉的情況,或在系統(tǒng)對時間特性要求較高的場合,它的主要優(yōu)點(diǎn)是容易實(shí)現(xiàn)仿真,便于信號的觀察和電路的調(diào)整。原理圖設(shè)計方法直觀、易學(xué)。但當(dāng)系統(tǒng)功能較復(fù)雜時,原理圖輸入方式效率低,它適應(yīng)于不太復(fù)雜的小系統(tǒng)和復(fù)雜系統(tǒng)的綜合設(shè)計(與其它設(shè)計方法進(jìn)行聯(lián)合設(shè)計)。XilinxISE設(shè)計軟件中原理圖編輯器的窗口如圖1.3所示。圖1.3原理圖編輯器的窗口
2)程序設(shè)計法
程序設(shè)計法是指使用硬件描述語言HDL進(jìn)行電路設(shè)計。使用HDL語言描述硬件電路是解決復(fù)雜電路描述的重要手段,大規(guī)模和超大規(guī)模集成電路均要使用HDL進(jìn)行設(shè)計。硬件描述語言種類較多,使用較多的主要有ABEL、VHDL和VerilogHDL。由于VHDL和VerilogHDL被國際IEEE組織認(rèn)定為工業(yè)標(biāo)準(zhǔn)硬件描述語言,目前這兩種語言在電子設(shè)計領(lǐng)域得到了廣泛的應(yīng)用。由于HDL輸入方式輸入的是文本格式,所以它的輸入實(shí)現(xiàn)要比原理圖輸入簡單得多,用普通的文本編輯器即可完成。如果要求HDL輸入時有語法色彩提示,可用帶語法提示功能的通用文本編輯器,如UltraEdit、Vim、Xemacs等。當(dāng)然EDA工具中提供的HDL文本編輯器會更好用一些,如Aldec公司的ActiveHDL的HDL文本編輯器。目前,各種EDA工具都集成了HDL編譯與綜合工具,它的出現(xiàn)為EDA的普及和發(fā)展奠定了良好的基礎(chǔ)。
3)狀態(tài)機(jī)
一些EDA設(shè)計輸入工具提供狀態(tài)機(jī)圖形設(shè)計描述方法。用戶可用可視化圖形(狀態(tài)圖)來描述狀態(tài)機(jī),可以繪畫似地創(chuàng)建一定功能的狀態(tài)機(jī),最后生成HDL文本輸出,如Mentor公司的FPGAadvantage(含HDLdesignerseries)、ActiveHDL中的ActiveState等。尤其是HDLdesignerseries中的各種輸入編輯器,可以接受諸如原理圖、狀態(tài)圖、表格圖等輸入形式。
在這種圖形狀態(tài)機(jī)設(shè)計中,設(shè)計者不必關(guān)心PLD內(nèi)部結(jié)構(gòu)和布爾表達(dá)式,只需考慮狀態(tài)轉(zhuǎn)移條件及各狀態(tài)之間的關(guān)系,使用作圖方法構(gòu)成狀態(tài)轉(zhuǎn)移圖,由計算機(jī)自動生成Verilog或VHDL語言描述的功能模塊,從而很好地解決了通用性(HDL輸入的優(yōu)點(diǎn))與易用性(圖形法的優(yōu)點(diǎn))之間的矛盾。圖1.4圖形狀態(tài)機(jī)的設(shè)計窗口
4)?IP模塊使用
使用具有知識產(chǎn)權(quán)的IP模塊是現(xiàn)代數(shù)字系統(tǒng)設(shè)計中最有效的方法之一。IP模塊也稱為IPCore(IntellectualPropertyCore),即知識產(chǎn)權(quán)芯核。
IP模塊或IPCore一般是比較復(fù)雜的模塊,如中央處理器(CPU)、數(shù)字信號處理器(DSP)、外設(shè)接口(PCI)等,這類模塊設(shè)計工作量大,設(shè)計者要在設(shè)計、仿真、優(yōu)化、邏輯綜合、測試等方面花費(fèi)大量勞動。供應(yīng)商在提供IP模塊時,已經(jīng)排除了語言描述的冗余性,并且經(jīng)過了驗(yàn)證,所以系統(tǒng)設(shè)計者采用IP模塊進(jìn)行設(shè)計時,可以集中精力去解決系統(tǒng)中的重點(diǎn)課題,并可以將優(yōu)化的IP模塊合并到其核心電路中來進(jìn)行邏輯合成。另外,除了EDA軟件工具提供大量IPCore以外,網(wǎng)絡(luò)上也有豐富的各類IPCore出售,甚至提供成套解決方案,使設(shè)計者之間資源共享,從而縮短了產(chǎn)品設(shè)計周期,降低了產(chǎn)品設(shè)計風(fēng)險。圖1.5是Xilinx的ISE設(shè)計軟件中實(shí)現(xiàn)二進(jìn)制計數(shù)器IP模塊的設(shè)計窗口,用戶只需設(shè)置合理的參數(shù)即可得到相應(yīng)的二進(jìn)制計數(shù)器。圖1.5二進(jìn)制計數(shù)器IP模塊設(shè)計窗口在設(shè)計輸入過程中,往往分模塊、分層次地進(jìn)行設(shè)計描述。描述器件總功能的模塊放置在最上層,稱為頂層設(shè)計;描述器件最基本功能的模塊放置在最下層,稱為底層設(shè)計。層次化設(shè)計方法比較自由,可以在任何層次使用電路圖或HDL進(jìn)行描述。由于電路圖的特點(diǎn)是適合描述連接關(guān)系和接口關(guān)系,而描述邏輯功能則很繁瑣;HDL語言正相反,邏輯描述能力強(qiáng),但不適合描述連接和接口關(guān)系。一般常見的做法是:在頂層設(shè)計中,使用電路圖描述模塊連接關(guān)系和芯片內(nèi)部邏輯到管腳的接口;在底層設(shè)計中,使用HDL硬件描述語言描述模塊的邏輯功能。現(xiàn)代EDA軟件為設(shè)計者提供了多種有效的設(shè)計入口,但各種設(shè)計方法都有其自身的優(yōu)勢和局限。合理選擇和綜合應(yīng)用各種設(shè)計方法尤其是IPCore和網(wǎng)上資源常常會使設(shè)計工作事半功倍。
2.HDL綜合器
邏輯綜合就是使用EDA綜合工具,將用HDL語言描述的寄存器傳輸級電路轉(zhuǎn)化成門級網(wǎng)表的過程。邏輯綜合是一個中間過程,它生成的網(wǎng)表是由用導(dǎo)線相互連接的寄存器傳輸級功能塊組成的,HDL綜合器則是用于邏輯綜合的工具。在把可綜合的VHDL/VerilogHDL轉(zhuǎn)化成硬件電路時,包含了三個過程:
(1)轉(zhuǎn)化:綜合工具讀入電路系統(tǒng)的HDL描述,將其轉(zhuǎn)化為各個功能單元連接的電路結(jié)構(gòu)的門級網(wǎng)表。這是一個通用電路原理圖形成的過程,不考慮實(shí)際器件的實(shí)現(xiàn)。
(2)優(yōu)化:根據(jù)設(shè)計者所施加的時序、面積等約束條件,針對實(shí)際實(shí)現(xiàn)的目標(biāo)器件的結(jié)構(gòu)將轉(zhuǎn)化的門級網(wǎng)表按一定的算法進(jìn)行邏輯重組和優(yōu)化,并使之滿足各種約束條件。
(3)映射:根據(jù)面積和時序的約束條件,綜合工具從目標(biāo)器件的工藝庫中搜索恰當(dāng)?shù)膯卧獊順?gòu)成電路。
HDL綜合器運(yùn)行流程如圖1.6所示。HDL綜合器由寄存器傳輸級(RTL)代碼、調(diào)用模塊的接口及用戶設(shè)置的綜合目標(biāo)和約束條件共同參與完成。其中,調(diào)用模塊的接口導(dǎo)入是由于RTL代碼調(diào)用了一些外部模塊,而這些外部模塊不能被綜合或無需綜合,但邏輯綜合器需要其接口的定義來檢查邏輯并保留這些模塊的接口。HDL綜合器的輸出文件一般是網(wǎng)表文件,如文件后綴?.edf的EDIF格式文件,或是直接用VHDL/VerilogHDL表達(dá)的標(biāo)準(zhǔn)格式網(wǎng)表文件,或是對應(yīng)FPGA器件廠商的網(wǎng)表文件,如Xilinx公司的XNF網(wǎng)表文件。圖1.6HDL綜合器運(yùn)行流程
EDA綜合工具可以由FPGA/CPLD廠家提供,如Xilinx公司的XST,也可以由第三方公司提供,如Synopsys公司的FPGACompilerII、Synplicity公司的Synplify。比較常用的、性能良好的FPGA/CPLD設(shè)計的HDL綜合器有以下幾種:Synplicity公司的Synplifypro綜合器,Synopsys公司的FPGAcompiler,F(xiàn)PGAexpress綜合器以及MentorGraphics公司的Leonardospectrum綜合器等。
HDL綜合器完成EDA設(shè)計流程中的一個獨(dú)立設(shè)計步驟,它的調(diào)用方式一般有兩種:一種是前臺模式,在被調(diào)用時顯示最常見的窗口界面;一種稱為后臺模式或控制臺模式,在被調(diào)用時不出現(xiàn)圖形界面,僅在后臺運(yùn)行。
3.仿真器
仿真器有基于元件(邏輯門)的仿真器和HDL仿真器。基于元件的仿真器缺乏HDL仿真器的靈活性和通用性,在此主要介紹HDL仿真器。
在EDA設(shè)計技術(shù)中,仿真的地位十分重要。行為模型的表達(dá)、電子系統(tǒng)的建模、邏輯電路的驗(yàn)證乃至門級系統(tǒng)的測試,每一步都離不開仿真器的模擬檢測,各設(shè)計環(huán)節(jié)的仿真仍然是整個EDA工程流程中最耗時間的一個步驟,因此HDL仿真器的仿真速度、仿真的準(zhǔn)確性和易用性成為衡量仿真器的重要指標(biāo)。
HDL仿真器按對設(shè)計語言不同的處理方式分類,可分為編譯型和解釋型仿真器。編譯型仿真器的仿真速度較快,但需要預(yù)處理,因此不便即時修改仿真環(huán)境和條件;解釋型仿真器的仿真速度一般,可隨時修改仿真環(huán)境和條件。
按照處理的硬件描述語言類型不同,HDL仿真器可分為VHDL仿真器、Verilog仿真器、MixedHDL仿真器(同時處理VerilogHDL與VHDL)和其它HDL仿真器。
按照仿真時是否考慮硬件延時分類,HDL仿真器可分為功能仿真器和時序仿真器。根據(jù)輸入和仿真文件的不同,可以由不同的仿真器完成,也可由同一個仿真器完成。功能仿真器流程如圖1.7所示。功能仿真是直接對HDL語言、原理圖描述或其它描述形式描述的邏輯功能進(jìn)行測試模擬,以了解其實(shí)現(xiàn)的功能是否滿足原設(shè)計的要求。它是由設(shè)計輸入的行為級或RTL級代碼、測試數(shù)據(jù)參與的測試程序以及調(diào)用模塊的行為仿真模型共同參與完成邏輯功能的驗(yàn)證。功能仿真沒有延時信息,仿真過程不涉及任何具體器件的硬件特性,對于初步的邏輯功能檢測非常方便。圖1.7功能仿真器流程時序仿真器流程如圖1.8所示。在選擇了具體器件后,由適配器完成布局、布線并得到HDL網(wǎng)表和標(biāo)準(zhǔn)延時文件,以及FPGA基本單元仿真模型和測試程序,它們共同參與時序仿真。時序仿真包含了器件的硬件特性參數(shù)和內(nèi)部連線時延的仿真,是接近真實(shí)器件運(yùn)行特性的仿真,因而仿真精度高。圖1.8時序仿真器流程按照仿真電路描述級別的不同,HDL仿真器可以單獨(dú)或綜合完成以下各仿真步驟:
(1)系統(tǒng)級仿真。
(2)行為級仿真。
(3)?RTL級仿真。
(4)門級時序仿真。
幾乎所有的EDA都提供基于VHDL和Verilog的仿真器。常用的仿真器有MentorGraphics公司的Modelsim,Aldec公司的ActiveHDL,Cadence公司的NC-VHDL、NC-Verilog、Verilog-XL,SYNOPSYS公司的VCS、VSS以及Xilinx公司和Altera公司自帶的仿真器等。
4.適配器(或稱布局、布線器)
適配即結(jié)構(gòu)綜合,它的任務(wù)是完成目標(biāo)系統(tǒng)在器件上的布局和布線,通常是由可編程邏輯器件生產(chǎn)廠商提供的專門針對器件開發(fā)的軟件來完成。這些軟件可以單獨(dú)運(yùn)行或嵌入到廠商提供的EDA集成開發(fā)軟件中,如Altera公司的EDA集成開發(fā)環(huán)境QuartusⅡ和Xilinx公司的ISE軟件中都含有嵌入的適配器。適配器運(yùn)行流程如圖1.9所示。圖1.9適配器運(yùn)行流程
5.下載器(或稱編程器)
下載是在功能仿真與時序仿真正確的前提下,將綜合后形成的下載文件下載到具體的FPGA芯片中,實(shí)現(xiàn)硬件設(shè)計,也叫芯片的編程/配置。下載軟件一般由可編程邏輯器件廠商提供,或嵌入到EDA開發(fā)軟件中。
1.4現(xiàn)代數(shù)字系統(tǒng)設(shè)計的發(fā)展趨勢
1.電子設(shè)計最優(yōu)化(EDO)
在電子設(shè)計的前端和后端,傳統(tǒng)EDA方法已經(jīng)發(fā)生了若干變化,EDA已不能準(zhǔn)確地反映出這一工業(yè)當(dāng)前正在發(fā)生的巨大變化,更恰當(dāng)?shù)脑~將是電子設(shè)計最優(yōu)化EDO(ElectronicDesignOptimization)。
隨著設(shè)計流程和各種設(shè)計工具的自動化水平達(dá)到一個新的層次,設(shè)計工程師已能夠?qū)⒏嗟臅r間花在設(shè)計創(chuàng)建和設(shè)計最優(yōu)化上??焖僭鲩L的計算能力與設(shè)計自動化相結(jié)合,將使設(shè)計工程師能既快又好地設(shè)計出新的產(chǎn)品。為了同步提高設(shè)計效率和設(shè)計創(chuàng)造性,這些新的設(shè)計工具能夠可靠地和最優(yōu)化地實(shí)現(xiàn)設(shè)計目標(biāo)。
然而,向EDO轉(zhuǎn)變將面臨一系列新的挑戰(zhàn)。舊的設(shè)計方法中的循序漸進(jìn)法將不再有效。過去,大多數(shù)人使用一種工具創(chuàng)建電路圖,接著用另一種工具放置元件,然后再用一種工具進(jìn)行布線。為了發(fā)揮新流程的作用,設(shè)計管理人員和設(shè)計人員都必須認(rèn)識到超越各自專業(yè)局限的必要性和具備較寬設(shè)計知識的重要性。例如,后端工作設(shè)計人員不但需要完成設(shè)計的布局和布線,而且要考慮物理設(shè)計問題,諸如時鐘、功率、時序分析、邏輯優(yōu)化、抽取、物理驗(yàn)證等。要實(shí)現(xiàn)真正意義的優(yōu)化,設(shè)計任務(wù)就不能由不同的設(shè)計人員獨(dú)立開發(fā)然后再“拼積木”完成。深亞微米技術(shù)的出現(xiàn)使得這種工作傳遞方式難以為繼,因?yàn)槲锢碓O(shè)計人員無法達(dá)到邏輯設(shè)計人員所要求的設(shè)計指標(biāo)。為此設(shè)計公司正嘗試以不同的方法將多種技術(shù)結(jié)合起來解決面臨的問題,開發(fā)出具備更強(qiáng)功能的混合工具?;诰C合的工具設(shè)計公司正嘗試引入物理布版能力,以便更好地評估能一次性通過(one-pass)物理實(shí)現(xiàn)的解決方案。物理布版工具設(shè)計公司正嘗試引入綜合技術(shù)來改變邏輯結(jié)構(gòu)以使物理實(shí)現(xiàn)能達(dá)到一次性通過的設(shè)計要求。
FPGA平臺可以按需求實(shí)現(xiàn)結(jié)構(gòu)綜合,從而實(shí)現(xiàn)電子設(shè)計最優(yōu)化。傳統(tǒng)的系統(tǒng)設(shè)計技術(shù)是根據(jù)應(yīng)用的要求把一個系統(tǒng)級的結(jié)構(gòu)映射或分割成專門的硬件部件和軟件部件,硬件部件由FPGA、ASIC和ASSP等構(gòu)成,軟件部件是運(yùn)行在CPU、DSP、處理器和微控制器上的代碼,所以系統(tǒng)級的結(jié)構(gòu)映射或分割是固定的硬件/軟件分割,但是這種分割不能達(dá)到性能和成本的最優(yōu)化。
新的系統(tǒng)分割方式應(yīng)該是靈活的硬件、軟件分割方式的取舍,它貫穿在設(shè)計的整個過程中,使得非傳統(tǒng)的系統(tǒng)結(jié)構(gòu)成為可能,即能夠重新定義系統(tǒng)結(jié)構(gòu),使系統(tǒng)結(jié)構(gòu)按照最佳的性能和成本進(jìn)行調(diào)配:軟件模塊可以在硬件中實(shí)現(xiàn),當(dāng)由硬件實(shí)現(xiàn)系統(tǒng)功能時,具有速度快和成本高的特性;硬件模塊可以移到軟件中實(shí)現(xiàn),當(dāng)由軟件實(shí)現(xiàn)系統(tǒng)功能時,相對來說速度慢和成本低。為了使得最優(yōu)的硬件/軟件集成成為可能,要求有一個可伸縮的和靈活的平臺,F(xiàn)PGA可再配置系統(tǒng)平臺可以實(shí)現(xiàn)在設(shè)計的任何時間和階段都允許設(shè)計的功能在硬件和軟件之間移動,達(dá)到在模塊級實(shí)現(xiàn)最優(yōu)的映射。以Virtex-IIPro系列FPGA為例,它集成了可編程的硬件和處理器,通過直接存取數(shù)據(jù)到處理器局部總線和FPGA片內(nèi)塊RAM的特性來減少等待時間。可重配置平臺的硬件資源與處理器之間有緊密的耦合,其有效性取決于硬件和/或軟件的及時響應(yīng)。要使真正的相互可操作性成為可能,數(shù)據(jù)帶寬和等待時間是關(guān)鍵的系統(tǒng)參數(shù),而外部接口和總線協(xié)議常常是其瓶頸。因此要使電子設(shè)計最優(yōu)化(EDO),作為設(shè)計人員,將不得不學(xué)習(xí)如何為設(shè)計工具提供更多關(guān)于設(shè)計的目標(biāo),此外還需要拓寬設(shè)計技能,不能再局限于特定的設(shè)計工具和工藝上。
2.在線可重構(gòu)技術(shù)
在互聯(lián)網(wǎng)時代,利用在線可重構(gòu)技術(shù)設(shè)計一個可以遠(yuǎn)程修改和升級的“通用”硬件系統(tǒng),可以滿足未來不斷發(fā)展的要求,同時為應(yīng)用技術(shù)的發(fā)展開辟一個新領(lǐng)域。
互聯(lián)網(wǎng)時代的在線可重構(gòu)技術(shù)已引發(fā)可編程片上系統(tǒng)設(shè)計的革命,F(xiàn)PGA的設(shè)計可以很容易地從網(wǎng)上下載和測試,并通過網(wǎng)絡(luò)對安裝好的應(yīng)用進(jìn)行維護(hù)、修改和更新升級,即“在線現(xiàn)場可更新應(yīng)用”,這類應(yīng)用系統(tǒng)的出現(xiàn)應(yīng)歸功于Xilinx等PLD公司的“互聯(lián)網(wǎng)可重構(gòu)邏輯”IRL(InternetReconfigurableLogic)技術(shù)。隨著IRL技術(shù)的發(fā)展,IRL已被許多網(wǎng)絡(luò)設(shè)備采用,如ATM轉(zhuǎn)發(fā)器、蜂窩基站、衛(wèi)星通信系統(tǒng),網(wǎng)絡(luò)應(yīng)用系統(tǒng)、多功能機(jī)頂盒和移動網(wǎng)絡(luò)設(shè)備等,這項(xiàng)技術(shù)使得專用或公共網(wǎng)具備了現(xiàn)場更新、修復(fù)和修改的能力。IRL技術(shù)主要特點(diǎn)體現(xiàn)在以下幾個方面:
(1)器件結(jié)構(gòu)的支持:例如Xilinx的最新產(chǎn)品Virtex系列除具有可編程邏輯功能塊、可編程I/O和可編程布線資源等基本的功能之外,還為可編程片上系統(tǒng)增加了許多新功能,包括分布式RAM和塊RAM構(gòu)成的片上存儲器。采用延時鎖相環(huán)技術(shù)的先進(jìn)時鐘及對多種I/O接口的支持使得Virtex系列FPGA可通過內(nèi)部嵌入式處理器內(nèi)核(如MicroBlaze和PPC405)及其軟件支持實(shí)現(xiàn)對自身的遠(yuǎn)程升級和重構(gòu)。
(2)?Java語言的使用:Java是一種易于使用的面向?qū)ο蟮木幊陶Z言,Java將語言編譯成處理器的通用代碼,可移植于多種平臺。Java語言的使用使得在各種系統(tǒng)上運(yùn)行和驗(yàn)證FPGA的設(shè)計成為可能,甚至可以將解釋處理器代碼的Java虛擬機(jī)也集成在FPGA中。采用Java開發(fā)平臺的優(yōu)點(diǎn)是可為TCP/IP、UDP以及一般的Socket接口提供協(xié)議支持。采用內(nèi)置Java數(shù)據(jù)加密技術(shù),還可以確保配置數(shù)據(jù)在互聯(lián)網(wǎng)傳輸中的可靠性。在線可重構(gòu)技術(shù)的推出,使得系統(tǒng)的遠(yuǎn)程升級和調(diào)試成為可能,因而優(yōu)于常規(guī)的固定邏輯設(shè)計。當(dāng)前工業(yè)界各種標(biāo)準(zhǔn)的競爭非常激烈,采用在線可重構(gòu)技術(shù)可以搶占市場先機(jī),并適應(yīng)標(biāo)準(zhǔn)的變化。在線可重構(gòu)技術(shù)還能確保系統(tǒng)能夠適應(yīng)不斷變化的環(huán)境。例如,圖像譯碼器可以根據(jù)不同的輸入數(shù)據(jù)采用不同的算法,并且能夠在不影響系統(tǒng)工作的前提下,下載新的算法。在線可重構(gòu)技術(shù)不僅可以提高產(chǎn)品的適應(yīng)性,延長產(chǎn)品的生存周期,更能提高經(jīng)濟(jì)效益。
3.SOPC技術(shù)
隨著制造工藝技術(shù)和系統(tǒng)芯片設(shè)計技術(shù)的發(fā)展,IC設(shè)計者能夠?qū)⒃絹碓綇?fù)雜的功能集成到單硅片上。片上系統(tǒng)SOC(SystemonaChip)正是在集成電路(IC)向集成系統(tǒng)(IS)轉(zhuǎn)變的大方向下產(chǎn)生的。它是信息系統(tǒng)的芯片集成,是將系統(tǒng)集成在一塊芯片上,SOC就是一個微小型系統(tǒng)。
SOC就是將微處理器、模擬IPCore、數(shù)字IPCore和存儲器(或片外存儲控制接口)、數(shù)據(jù)通路、與外部系統(tǒng)的數(shù)據(jù)接口等部件集成在單一芯片上,其存儲介質(zhì)可以是SRAM、DRAM、Flash等或幾種存儲器的組合。輸入/輸出接口則可以包括從PCI接口、以太網(wǎng)、USB、A/D和D/A到機(jī)電傳感器、機(jī)電控制器和光電轉(zhuǎn)換傳輸?shù)雀鞣N類型的數(shù)據(jù)接口。數(shù)據(jù)處理的內(nèi)容更可以多種多樣,可以僅完成簡單的控制,也可以完成復(fù)雜的圖像壓縮、解壓運(yùn)算,或完成高速度的路由功能。
SOC具有很多優(yōu)勢:可減少印制板上的部件數(shù)和管腳數(shù);有利于板卡的性能改善(由于片內(nèi)連線縮短);能極大改善功耗開銷;減少板卡失效的可能性;減少系統(tǒng)開發(fā)商的成本。
近年來,隨著可編程邏輯器件技術(shù)的進(jìn)步,F(xiàn)PGA的價格在不斷地降低,邏輯容量達(dá)到了千萬門級的水平,片內(nèi)存儲SRAM容量越來越大。Altera公司在2000年提出的片上可編程系統(tǒng)SOPC(SystemonaProgrammableChip)提供了另一種有效的解決方案,即基于可編程邏輯器件的SOC設(shè)計方案。
SOPC是SOC發(fā)展的新階段,代表了當(dāng)今電子設(shè)計的發(fā)展方向。SOPC作為一種特殊的嵌入式系統(tǒng),它將處理器、存儲器、I/O口、LVDS、CDR等系統(tǒng)設(shè)計需要的功能模塊集成到一個PLD器件上,構(gòu)建成一個可編程的片上系統(tǒng)。
SOPC是以目前廣泛使用的PLD器件——FPGA/CPLD來取代ASIC,是更加靈活、高效的片上系統(tǒng)的解決方案。SOPC兼有SOC系統(tǒng)和PLD器件的特點(diǎn),一方面作為SOC,它在單個芯片上實(shí)現(xiàn)一個完整的系統(tǒng),完成信號采集、轉(zhuǎn)換、存儲、處理和輸入/輸出等功能,把過去需要系統(tǒng)設(shè)計解決的問題,包括可靠性、低功耗等,集中在IC設(shè)計中解決,具有速度快、集成度高、功耗低等優(yōu)點(diǎn);另一方面,作為可編程系統(tǒng),沒有ASIC設(shè)計中昂貴的非經(jīng)常性工程費(fèi)用,具有靈活的設(shè)計方式,容易裁減、擴(kuò)充、升級,具備一定的系統(tǒng)可編程功能。
SOPC代表了一種新的系統(tǒng)設(shè)計技術(shù),也是一種初級的軟、硬件協(xié)同設(shè)計技術(shù)。SOPC芯片的設(shè)計雖然比較復(fù)雜,但在技術(shù)上比SOC芯片設(shè)計有更大的優(yōu)勢。SOPC的技術(shù)優(yōu)勢主要體現(xiàn)在以下幾個方面:
(1)運(yùn)用嵌入的微處理器軟核和其它IPCore資源。對于微處理器軟核,由于它是可配置的,所以可以應(yīng)用于FPGA廠商的任何FPGA芯片上。除了微處理器軟核,設(shè)計平臺還提供了大量的外設(shè)和接口庫,如UART、時鐘、DMA、SDRAM,以及并行I/O等大量免費(fèi)IP庫。另外,市場上有豐富的IPCore資源可供靈活選擇,這些資源使得設(shè)計變得簡單化,降低了設(shè)計成本。除了系統(tǒng)使用的資源外,可編程邏輯器件內(nèi)還具有足夠的可編程邏輯資源,用于實(shí)現(xiàn)其它的附加邏輯。有些可編程邏輯器件內(nèi)還包括部分可編程模擬電路資源。
(2)采用先進(jìn)的EDA開發(fā)工具,如Xilinx公司的ISE以及E
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GBT 35430-2017 信息與文獻(xiàn) 期刊描述型元數(shù)據(jù)元素集》專題研究報告
- 《GB-T 41678.1-2022農(nóng)業(yè)機(jī)械和拖拉機(jī) 高壓電氣電子元件和系統(tǒng)的安全性 第1部分:通 用要求》專題研究報告
- 《GB-T 28030-2011接地導(dǎo)通電阻測試儀》專題研究報告
- 《GBT 33756-2017 基于項(xiàng)目的溫室氣體減排量評估技術(shù)規(guī)范 生產(chǎn)水泥熟料的原料替代項(xiàng)目》專題研究報告
- 養(yǎng)老社區(qū)床位預(yù)定金擔(dān)保協(xié)議
- 智能農(nóng)業(yè)設(shè)備運(yùn)維員崗位招聘考試試卷及答案
- 2026年內(nèi)二科護(hù)理工作計劃
- 2025年白喉、百日咳、破傷風(fēng)、乙肝四聯(lián)制劑合作協(xié)議書
- 2025年平板型太陽熱水器項(xiàng)目建議書
- 兒童睡眠障礙的行為矯正方法
- 紡織業(yè)賬務(wù)知識培訓(xùn)課件
- 1688采購合同范本
- 購買鐵精粉居間合同范本
- GB/T 29730-2025冷熱水用分集水器
- 污水廠安全知識培訓(xùn)
- (2025年標(biāo)準(zhǔn))存單轉(zhuǎn)讓協(xié)議書
- 醫(yī)學(xué)科研誠信專項(xiàng)培訓(xùn)
- 電力通信培訓(xùn)課件
- 第五版FMEA控制程序文件編制
- 藥物致癌性試驗(yàn)必要性指導(dǎo)原則
- 軟骨肉瘤護(hù)理查房
評論
0/150
提交評論