




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
介,最后展望了FPGA/CPLD設(shè)計(jì)技術(shù)的新發(fā)展。本章主要內(nèi)容如下FPGA/CPLD的基本結(jié)構(gòu);FPGA/CPLD的設(shè)計(jì)流程;FPGA/CPLD的常用開發(fā)工具;下一代可編程邏輯設(shè)計(jì)技術(shù)展望1.1可編程邏輯設(shè)計(jì)技術(shù)簡(jiǎn)本節(jié)在討論可編程邏輯器件發(fā)展簡(jiǎn)史的基礎(chǔ)上,簡(jiǎn)述目前常用的可編程邏輯器件的分 可編程邏輯器件發(fā)展簡(jiǎn)隨著微電子設(shè)計(jì)技術(shù)與工藝的發(fā)展,數(shù)字集成電路從電子管、晶體管、中小規(guī)模集成電路、超大規(guī)模集成電路(VSIC)逐步發(fā)展到今天的專用集成電路(ASIC。ASIC的出現(xiàn)降低了產(chǎn)品的生產(chǎn)成本,提高了系統(tǒng)的可靠性,縮小了設(shè)計(jì)的物理尺寸,推動(dòng)了社會(huì)的數(shù)字化進(jìn)程。但是ASC硬件工程師希望有一種更靈活的設(shè)計(jì)方法,根據(jù)需要,在實(shí)驗(yàn)室就能設(shè)計(jì)、更改大規(guī)模數(shù)字ASIC數(shù)據(jù),完成簡(jiǎn)單邏輯功能的可編程只讀存儲(chǔ)器(RM、紫外線可擦除只讀存儲(chǔ)器(POM)和電可擦除只讀存儲(chǔ)器(E2RM,發(fā)展到能完成中大規(guī)模的數(shù)字邏輯功能的可編程陣列邏輯(AL)和通用陣列邏輯(AL,今天已經(jīng)發(fā)展成為可以完成超大規(guī)模的復(fù)雜組合邏輯與時(shí)序邏輯的復(fù)雜可編程邏輯器件(LD)和現(xiàn)場(chǎng)可編程門陣列(GA。隨著工藝技術(shù)的發(fā)展與市場(chǎng)需要,超大規(guī)模、高速、低功耗的新型ACPD不斷推陳出新。新一代的FGA甚至集成了中央處理器(U)或數(shù)字處理器(DP)內(nèi)核,在一片GA上進(jìn)行軟硬件協(xié)同設(shè)計(jì),為實(shí)現(xiàn)片上可編程系統(tǒng)(OC,ymnogmbChip)提供了強(qiáng)大的硬件支持1.1.2可編程邏輯器件分1.1.2可編程邏輯器件分廣義上講,可編程邏輯器件是指一切可通過(guò)軟件手段配置、更改器件內(nèi)部連接結(jié)構(gòu)和邏輯單元,完成既定設(shè)計(jì)功能的數(shù)字集成電路。目前常用的可編程邏輯器件主要有簡(jiǎn)單的邏輯A/ALPLDFPGA)等3大類PAL/GALL是ogammabeyLogcL是GenercyogcL/AL件的發(fā)展形式,其特點(diǎn)是大多基于2COS單元多為與、或陣列,可編程單元密度較低,僅能適用于某些簡(jiǎn)單的數(shù)字邏輯電路。雖然A/L可靠性、軟件可編程、可重復(fù)更改等特點(diǎn)引發(fā)了數(shù)字電路領(lǐng)域的巨大振動(dòng)。雖CDFA的數(shù)字邏輯,GL等簡(jiǎn)單的可編程邏輯器件仍然被大量使用。目前國(guó)內(nèi)外很多對(duì)成本十分敏感的設(shè)計(jì)都在使用GL74GALL20ALLate是全球最大的GAL器件供應(yīng)商之一。PD。PD是CompexogammabeLogcvieAleraPDPDEnhnedogammabeLogcvceD和PDAteraLDPDPD是在LGAL2CMOSFhIOCPDALGL提升,一般可以完成設(shè)計(jì)中較復(fù)雜、較高速度的邏輯功能,如接口轉(zhuǎn)換、總線CPLD的主要器件供應(yīng)商有LaticeAtea和XilinxFPGAFPGA是FieldProgrammableGateArray的縮寫,即現(xiàn)場(chǎng)可編程邏輯陣列。FPGA是在CPLD的基礎(chǔ)上發(fā)展起來(lái)的新型高性能可編程邏輯器件,它一般采用SRAMFlash工藝或反熔絲(Anti-Fuse)工藝等。FPGA的集成度很高,其器件密度從與數(shù)萬(wàn)系統(tǒng)門到數(shù)千萬(wàn)系統(tǒng)門不等,可以輯電路設(shè)計(jì)領(lǐng)域。FPGA的基本組成部分有可編程輸入/輸出單元、基本可編程邏輯單元、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元、內(nèi)嵌專用硬核等。FPGA的主要器件供應(yīng)商有LatticeAlteraXilinxActel等1.2FPGA/CPLD的基本結(jié)1.2.1FPGA的基本結(jié)FPGA6部分組成,分別為可編程輸入/元、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元和內(nèi)嵌專用硬核等1-所1.2FPGA/CPLD的基本結(jié)1.2.1FPGA的基本結(jié)FPGA6部分組成,分別為可編程輸入/元、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元和內(nèi)嵌專用硬核等1-所圖1-1各種基本單元的概念介(1)可編程輸入/輸入/輸出(Input/Output)單元簡(jiǎn)稱I/O單元,它們是芯片與外界電路的接口部分,完成不同電氣特性下對(duì)輸入/輸出信號(hào)的驅(qū)動(dòng)與匹配需求。為了使FPGA有件的靈活配置,可以適配不同的電氣標(biāo)準(zhǔn)與I/O物理特性;可以調(diào)整匹配阻抗支持的I/O標(biāo)準(zhǔn)也不盡相同不同,一般說(shuō)來(lái),常見的電氣標(biāo)準(zhǔn)有LVTTLLVCMOS、SSTL、HSTL、LVDS、LVPECLLVCMOS、SSTL、HSTL、LVDS、LVPECLPCI等。值得一提的是,隨著ASICI/O支持的最高頻率越來(lái)越高,一些高端FPGA通過(guò)DDR寄存器技術(shù),甚至可以支持高達(dá)2Gbps的數(shù)據(jù)速率?;究删幊踢壿媶卧究删幊踢壿媶卧强删幊踢壿嬈骷闹黧w,可以根據(jù)設(shè)計(jì)靈活地改變其內(nèi)部連接與配置,完成不同的邏輯功能。FPGA一般是基于SRAM工藝的,其基本可編程邏輯單元幾乎都是由查找表(LUT,LookUpabe)和寄存器(Register)組成的。FPGA4輸入查找表(FPGA采用36輸入查找表),查找表一般完成純組合邏輯功能。FPGA內(nèi)部寄存器結(jié)構(gòu)相當(dāng)靈活,可以配置為帶同步/異步復(fù)位或置位、時(shí)鐘使能的觸發(fā)器(FF,F(xiàn)lipFlop,也可以配置成為鎖存器(Lach。FPGA一般依賴寄存器完成同步時(shí)序邏輯設(shè)計(jì)。一般來(lái)說(shuō),比較經(jīng)典的基本可編程單元的配置是一個(gè)寄存器加一個(gè)查找表,但是不同廠商的寄存器和查找表的內(nèi)部結(jié)構(gòu)有一定的差異,而且寄存器和查找表的組合模式也不相同。一般來(lái)說(shuō),將1個(gè)Regiter與1個(gè)LUT組合起來(lái),稱為1個(gè)LE(LogicEement,邏輯單元)或LC(LogicCel,邏輯單元。Lattice的底層邏輯單元叫PFU編程邏Slice,它是由上下兩LC構(gòu)成;AlteraFPGA10個(gè)LE組合起來(lái),稱為邏輯陣列模塊(LAB,LogicArrayBlock)。不PFU、SliceLAB,它們中除LE外,還配有進(jìn)位鏈、控制信號(hào)、局部互連線層配置單元的LUTRegister比率的一個(gè)重要意義在于器件選型和規(guī)模估算。很多器件手冊(cè)上用器件的ASIC門數(shù)或等效的系統(tǒng)門數(shù)表示器件的規(guī)模。但是由于目前FPGA內(nèi)部除了基本可編程邏輯單元外,還包含有豐富的嵌入式RAM、PLL或DLL,專用HardIPCore(硬知識(shí)產(chǎn)權(quán)功能核)等,這些功能模塊也會(huì)等效出一定規(guī)模的系統(tǒng)門,所以用系統(tǒng)門權(quán)衡基本可編程邏輯單元的數(shù)量是不準(zhǔn)確的,常?;煜O(shè)計(jì)者。比較簡(jiǎn)單科學(xué)的方法是用器件的Register或LUT的數(shù)量衡量。例如,Xilinx的Spartan-III系列的XC3S1000有15360個(gè)LUT,而Lattice的EC系列LEC15E也有15360個(gè)LUT,所以這兩款FPGA的可編程邏輯單元數(shù)量基本相當(dāng),屬于同一規(guī)模的產(chǎn)品。同樣道理,Alera的Cyclone器件族的EP1C12的LUT數(shù)量是12060個(gè),就比前面提到的兩款FPGA規(guī)模略小。需要說(shuō)明的是,器件選型是一個(gè)綜合性問(wèn)題,需要將設(shè)計(jì)的資源和頻率需求、成本壓力、功耗、規(guī)模、速度等級(jí)、時(shí)鐘資源、I/O特性、封裝、專用功能模塊等諸多因素綜合考慮。嵌入式塊RAM目前大多數(shù)FPGA都有內(nèi)嵌的塊RAM(BlockRAM)。FPGA內(nèi)部嵌入可RAM模塊,大大地拓展了FPGA的應(yīng)用范圍和使用靈活性。FPGARAM一般可以靈活配置為單口RAM(SPRAM,SinglePortRAM)、雙口( DoublePorts偽雙口RAM(Pseudo(ReadOnlyMemory)、CAM(ReadOnlyMemory)、CAM(ContentAddressableMemory)、FIFO(FirstInFirstOut)等常用存儲(chǔ)結(jié)構(gòu)。RAM的概念和功能讀者應(yīng)該非常熟悉,在此不再冗述。FPGA中其實(shí)并沒有專用的ROM硬件資源,實(shí)現(xiàn)ROM的思路是對(duì)RAM賦予初值,并保持該初值。所CAM,即內(nèi)容地址儲(chǔ)存器。CAM這種存儲(chǔ)器在其每個(gè)存儲(chǔ)單元都包含了一個(gè)內(nèi)嵌的比較邏輯,寫入CAM的數(shù)據(jù)會(huì)和其內(nèi)部括地講,RAM是一種根據(jù)地址讀、寫數(shù)據(jù)的存儲(chǔ)單元;而CAMRAM恰恰相反,它返回的是與端口數(shù)據(jù)相匹配的內(nèi)部地址。CAM的應(yīng)用也非常廣泛,比如在路由器中的地址交換表等。FIFO是“先進(jìn)先出隊(duì)列”式存儲(chǔ)結(jié)構(gòu)。FPGA內(nèi)部實(shí)現(xiàn)RAM、ROM、CAM、FIFO等存儲(chǔ)結(jié)構(gòu)都可以基于嵌入式塊RAM單元,并根據(jù)需求自動(dòng)生成相應(yīng)的粘合邏輯(GlueLogic)以完成地址和不同器件商或不同器件RAM的結(jié)構(gòu)不同,Lattice常用的塊RAM大9Kbit18Kbit,Altera一些高端器件內(nèi)部同時(shí)含3RAM結(jié)構(gòu),分M512RAM(512bit),M4KRAM(4Kbit),M-RAM(512Kbit),Xilinx常見的塊RAM大小是4Kbit和18Kbit兩種結(jié)構(gòu)。LUTRAM、ROM、FIFO(DistributedRAM)。根據(jù)設(shè)計(jì)需求RAM的數(shù)量和配置方式也是器件選型豐富的布線資布線資源連通FPGA內(nèi)部所有單元,連線的長(zhǎng)度和工藝決定著信號(hào)在連線上的驅(qū)動(dòng)能力和傳輸速度。FPGA內(nèi)部有著非常豐富的布線資源,這些布線資源根據(jù)工藝、長(zhǎng)度、寬度和分布位置的不同而被劃分為不同的等級(jí),有一些是全局性的專用布線資源,用以完成器件內(nèi)部的全局時(shí)鐘和全局復(fù)位/置位的布線;一些叫做長(zhǎng)線資源,用以完成器件Bank(分區(qū))間的一些高速信號(hào)和一些第二全局時(shí)鐘信號(hào)(有時(shí)也被稱為L(zhǎng)owSkew信號(hào))的布線;還有一些叫做短線資源,用以完成基本邏輯單元之間的邏輯互連與布線;另外,在基本邏輯單元內(nèi)部還有著各式各樣的布線資源和專用時(shí)鐘、復(fù)位等控制信號(hào)線。實(shí)現(xiàn)過(guò)程中,設(shè)計(jì)者一般不需要直接選擇布線資源,而是由布局布線器自動(dòng)根據(jù)輸入的邏輯網(wǎng)表的拓樸結(jié)構(gòu)和約束條件,選擇可用的布線資源連通所用的底層單元模塊,所以設(shè)計(jì)者常常忽略布線資源。其實(shí)布線資源的優(yōu)化與使用,與設(shè)計(jì)的最終實(shí)現(xiàn)結(jié)果(包含速度和面積兩個(gè)方面)有直接關(guān)系。底層嵌入功能單元底層嵌入功能單元的概念比較籠統(tǒng),這里我們指的是那些通用程度較高的嵌入式功能模塊,比如LL(PhaseockedLoop、DLL(eyockedLoop、PCPUFPAGA的內(nèi)用以FPGAFPGADLLPLL資源越來(lái)越豐富,功能越來(lái)越復(fù)雜,精度越來(lái)越高(ps的數(shù)量級(jí)。AlteraPLL,Xilinx芯片主要集成的是DLL,Lattice的新型FPGA同時(shí)集成了PLL與DLL以適應(yīng)不同的需求。這些時(shí)鐘模塊的生成和配置方法一般分為兩種,一種是在HDL代碼和原理圖中直接實(shí)例化;另一種方法是在IP核生成器中配置相關(guān)參數(shù),自動(dòng)生成IP。LatticeIP核生成器被IPexpress,AlteraIP核生成器MegaWizard,XilinxIPCoreGenerator。另外可以通過(guò)在綜合、實(shí)現(xiàn)步驟的越來(lái)越多的高端FPGA產(chǎn)品將包含DSPCPU等軟處理核,從而FPGA將由傳統(tǒng)的硬件設(shè)計(jì)手段逐步過(guò)渡為系統(tǒng)級(jí)設(shè)計(jì)平臺(tái)。例如Lattice(ECP/ECP2M/ECP3)系列器件族內(nèi)部集成了isDPCore模塊,同時(shí)Lattice、8bt或32bitIC(被稱為Mico8/Mico32);Altera的Stratix(Stratix/StratixII/StratixIII/StratixIV)系列器件族內(nèi)DSPCoreARM、MIPS、NIOS等嵌入式處理器系統(tǒng);XilinxVirtex(VirtexII/VirtexIIPro/Virtex4/Virtex5/Virtex6)系列器件族FPGA內(nèi)部集成了PowerPC450CPUCoreMicroBlazeRISC處理器Core。這些CPU或DSP處理模塊的硬件主要由一些加、乘、快速進(jìn)位鏈、PipeliningMuxRAM實(shí)現(xiàn)的軟核部波器、編碼解碼、FFT(快速傅立葉變換)等運(yùn)算密集型應(yīng)用。FPGA內(nèi)部嵌的能力,F(xiàn)PGA正逐步成為SPOC(SystemOnProgrammableChip)的高效設(shè)計(jì)SOPCBuilderDSPBuilder;XilinxEDK和PlatformStudio。內(nèi)嵌專用硬核Hdoe)里PGA硬GA和CPLDSC)而GA格適中的FGA;另一方面是針對(duì)性較強(qiáng),目標(biāo)市場(chǎng)明確,價(jià)格較高的APGA都內(nèi)嵌RS高速串行總線,如Lattice的ECP和Cilnx的pn6LT和rtxXTAtera的AraX和atixXADS,一FGA還集成了諸如P-EXI,4.2Lattice的SCMGA。這些Hardoeotoe相比具有高穩(wěn)定性低功耗不占用通用邏輯單元低成本易于調(diào)試等優(yōu)1.2.2CPLD的基本結(jié)CPLD在工藝和結(jié)構(gòu)FPGA有一定1.2.2CPLD的基本結(jié)CPLD在工藝和結(jié)構(gòu)FPGA有一定的區(qū)別。如前面介紹,F(xiàn)PGA一般都是SRAM工Lattice、Altera、XilinxFPGA器件,其基本結(jié)構(gòu)都是基于查找表加寄存器結(jié)構(gòu)的。CPLDLatticeispMACH4000、ispMACH5000器件,XilinxXC9500(0.35μmCMOSFastFlash工藝、CoolRunner2(0.18μmCMOS工藝)CPLD。CPLD的結(jié)構(gòu)相對(duì)比較簡(jiǎn)單,主要由可編程I/O單元、基本邏輯單元、布線池/布線矩和其他輔助功能模塊構(gòu)1-2所示單單圖1-2CPLD可編I/OCPLDI/O單元FPGA的可編程I/O單元的功能一致,完成不同電氣特性下對(duì)輸入/輸出信號(hào)的驅(qū)動(dòng)與匹配。由于CPLD的應(yīng)用范圍局限性較大,所以其可編程I/O的性能和復(fù)雜度與FPGA相比有一定的差距。CPLD的可編程I/O支持的I/O標(biāo)準(zhǔn)較少,頻率也較低?;具壿媶卧狥PGACPLD的主體,通過(guò)不同的配置,CPLD的基本邏輯單元可以完成不同類型的邏輯功能。需要強(qiáng)調(diào)的是,CPLD的基本邏輯FPGA相差較大。前面介紹過(guò),F(xiàn)PGA的基本邏輯單元基本是由LUTRegister1:1CPLDLUT這種概念,其基本邏輯單元是一種被稱為宏單元(MacroCell,簡(jiǎn)稱MC)的結(jié)構(gòu)。BANKBANK元,其本質(zhì)是由一些與、或陣列加上觸發(fā)器構(gòu)成的,其中與、或陣列完成組合PLD元,其本質(zhì)是由一些與、或陣列加上觸發(fā)器構(gòu)成的,其中與、或陣列完成組合PLDMCMCMCMC集合的名稱Lace的LC4000spLSI50spLS200PD輯模塊(GLB,GenecLogcBock;Atera的MX7000、MAX3000系列PD將之稱為邏輯陣列模塊(LAB,LogcyBok;ilinx900和CoolRunner2將之稱為功能模塊(B,unconBlok,其功能一致,但結(jié)構(gòu)CPLDMCFPGA內(nèi)部的可編程觸發(fā)器相似,一般也包含時(shí)鐘、復(fù)位/置位配置功能,布線池、布線矩陣PDPGAAFPAPD線池結(jié)構(gòu)。所謂布線池其本質(zhì)就是一個(gè)開關(guān)矩陣,通過(guò)打結(jié)點(diǎn)可以完成不同MCLattce(GP,obloungool;Altera的布線池叫做可編程互聯(lián)陣列(PA,ogammabeneconnctryilnx900PDasONECTIIihatrixoolRunnerICLD則稱之為先進(jìn)的互聯(lián)矩陣(AIM,Advncdneconnectatrix。由于PLD的器件內(nèi)部互聯(lián)資源比較缺乏,所以在某些情況下器件布線時(shí)會(huì)遇到一定的困Latice的LC400IOnkGB(OPOuputongool,在一定程度上提高了設(shè)計(jì)的布由于CPLD的布線池結(jié)構(gòu)固定,所以CPLD的輸入管腳到輸出管腳的標(biāo)準(zhǔn)延時(shí)固定,被稱為PintoPin延時(shí),用Tpd表示,PintoPin延時(shí)反應(yīng)了CPLD器件可以實(shí)現(xiàn)的最高頻率,也就清晰地標(biāo)明了CPLD器件的速度等級(jí)。其他輔助功能模塊編程模塊一些全局時(shí)鐘全局使能全局復(fù)位/置位單元等1.2.3FPGACPLD之比FPGA/CPLDASIC設(shè)計(jì)周期長(zhǎng)、投資大1.2.3FPGACPLD之比FPGA/CPLDASIC設(shè)計(jì)周期長(zhǎng)、投資大、靈活性差的缺點(diǎn),逐步成為復(fù)雜數(shù)字硬件電路設(shè)計(jì)的理想首選FPGA、CPLD有以下特VLSI(VeryLargeScaleIC,超大規(guī)模集成電路)工藝的開發(fā)過(guò)程投資小。FPGA/CPLD芯片在出廠之前都做過(guò)嚴(yán)格的測(cè)試,而且FPGA/CPLD設(shè)計(jì)靈活,發(fā)現(xiàn)錯(cuò)誤時(shí)可直接更改設(shè)計(jì),減少了投片風(fēng)險(xiǎn),節(jié)省時(shí)也要把實(shí)現(xiàn)FPGA功能樣機(jī)作為必需的步驟。FPGA/CPLD一般可以反復(fù)地編程、擦除。在不改變外圍電路的情況下,設(shè)計(jì)ASICFPGA/CPLD完成系統(tǒng)的研制與開A/LD開發(fā)工具智能化,功能強(qiáng)大?,F(xiàn)在,G/PD開發(fā)工具種類繁多、智能化高、功能強(qiáng)大。應(yīng)用各種工具可以完成從輸入、綜合、實(shí)現(xiàn)到配置芯片等一系列功能。還有很多工具可以完成對(duì)設(shè)計(jì)的仿真、優(yōu)化、約束、在線調(diào)試等功能。這些工具易學(xué)易用,可以使設(shè)計(jì)人員更能集中精力進(jìn)行電路設(shè)FPGACPUDSP內(nèi)核,支持軟硬件協(xié)同設(shè)計(jì),可以作為片上可編新型FPGA內(nèi)部?jī)?nèi)嵌高性能ASIC硬Core。通過(guò)這些HardIP(知識(shí)產(chǎn)權(quán))可以完成某些高速?gòu)?fù)雜設(shè)計(jì)(如SPI4.2,PCIExpress,F(xiàn)ibre-Channel這些通信規(guī)避了研發(fā)風(fēng)險(xiǎn),加速了研發(fā)進(jìn)程FPGA與CPLD的區(qū)別及聯(lián)系1-1所示,希望通過(guò)對(duì)照,加深讀者對(duì)FPGA各自特點(diǎn)的整體把握FPGACPLD項(xiàng)備LUT加寄存器結(jié)構(gòu),結(jié)構(gòu)工Flash、Anti-Fuse等工等不同工FPGA更適合實(shí)現(xiàn)時(shí)序邏觸發(fā)器數(shù)多少PintoPin不可Flash、Anti-Fuse等工等不同工FPGA更適合實(shí)現(xiàn)時(shí)序邏觸發(fā)器數(shù)多少PintoPin不可預(yù)固FPGA用以實(shí)現(xiàn)復(fù)雜設(shè)計(jì)CPLD用以實(shí)現(xiàn)簡(jiǎn)單設(shè)規(guī)模與邏輯復(fù)雜規(guī)模小,邏輯復(fù)雜度成本與價(jià)成本高,價(jià)格成本低,價(jià)格CPLD用于實(shí)現(xiàn)低成本設(shè)FPGAActel的某些Flash或EECMOS的FPGA,如Lattice的XP/XP2器件族,可以實(shí)現(xiàn)BootROM和通過(guò)CPU或ROM,另一模式。一般為ROM型,掉編程與配Flash加FLASH,保密一般保密性較好FPGA布線靈活,但是時(shí)序互連結(jié)構(gòu),連線資集總式,相對(duì)連線資源有適用的設(shè)計(jì)類復(fù)雜的時(shí)序功簡(jiǎn)單的邏輯功GA與CPLD在硬件結(jié)構(gòu)上有一定的差異,但是對(duì)用戶而言,PA和CPLD的EDA為可編程邏輯1.3FPGA/CPLD的設(shè)計(jì)流一般來(lái)說(shuō),完整的FPGA/CPLD設(shè)計(jì)流程包括電路設(shè)計(jì)與輸入、功能仿真、綜合、綜合圖1-3完整的FPGA/CPLD圖1-3完整的FPGA/CPLD(1)A常用的設(shè)計(jì)輸入方法有硬件描述語(yǔ)言(DL)和原理圖設(shè)計(jì)輸入方法等。原理圖設(shè)計(jì)輸入法在早期應(yīng)用得比較廣泛,它根據(jù)設(shè)計(jì)要求,選用器件、繪制原理圖、完成輸入過(guò)程。這種方法的優(yōu)點(diǎn)是直觀、便于理解、元器件庫(kù)資源豐富。但是在大型設(shè)計(jì)中,這種方法的可維護(hù)性較差,不利于模塊構(gòu)造與重用。更主要的缺點(diǎn)是當(dāng)所選用芯片升級(jí)換代后,所有的原理圖HL計(jì),利于模塊的計(jì),利于模塊的劃分與復(fù)用,可移植性好,通用性好,設(shè)計(jì)不因芯片的工藝與結(jié)構(gòu)的不變化,更利于向ASIC的移植。波形輸入和狀態(tài)機(jī)輸入方法是兩種常用的輔助設(shè)計(jì)輸入方法:使用波形輸入法時(shí),只要繪制出激勵(lì)波形和輸出波形,EDA軟件就能自動(dòng)地根據(jù)響應(yīng)關(guān)系進(jìn)行設(shè)計(jì);使用狀態(tài)機(jī)輸入法時(shí),設(shè)計(jì)者只需畫出狀態(tài)轉(zhuǎn)移圖,EDA軟件就能生成相應(yīng)的HDL代碼或者原理圖,使用十分方便。但是需要指出的是,波形輸入和狀態(tài)機(jī)輸入方法只功能仿真電路設(shè)計(jì)完成后,要用專用的仿真工具對(duì)設(shè)計(jì)進(jìn)行功能仿真,驗(yàn)證電路功能是否符合設(shè)計(jì)要求。功能仿真有時(shí)也被稱為前仿真。常用的仿真工具有Aldc公司的ActveDLerigHLModelechModeSiynpys公司的VCSCadenceNC-eriog和HDL綜合優(yōu)化綜合優(yōu)化(Synheize)HDL語(yǔ)言、原理圖等設(shè)計(jì)輸入翻譯成由與、或、非門,M,觸發(fā)器等基本邏輯單元組成的邏輯連接(網(wǎng)表,并根據(jù)目標(biāo)與要求(約束條件)優(yōu)edf和ednPGACPD布線器進(jìn)行實(shí)現(xiàn)。常用的專業(yè)綜合優(yōu)化工具有yy公司的ynpyynpfyo、pifyynpys公司的FAoprIIynopys公司將停止發(fā)展PGAExpess致力于ACopierI平臺(tái)的開發(fā),Menor公司旗下Exemplarogc公司出品的LeonardoSpetrum和MenorGaphcsPrecsonTLPA/PD綜合后仿真把綜合生成的標(biāo)準(zhǔn)延時(shí)文件反標(biāo)注到綜合仿真模型中去,可估計(jì)門延時(shí)帶來(lái)的影響。綜合后仿真雖然比功能仿真精確一些,但是只能估計(jì)門延時(shí),不能估計(jì)布線延時(shí),仿真結(jié)果與布線后的實(shí)際情況還有一定的差距,并不十分準(zhǔn)確。這種仿真的主要目的在于檢查綜合器的綜合結(jié)果是否與設(shè)計(jì)輸入一致。目前主流綜合工具日益成熟,對(duì)于一般性設(shè)計(jì),如果設(shè)計(jì)者確信自己表述明確,沒有綜合歧義發(fā)生,則可以省略綜合后仿真步驟。但是如果在布局布線后仿真時(shí)發(fā)現(xiàn)有電路結(jié)構(gòu)與設(shè)計(jì)意圖不符的現(xiàn)象,則常常需要回溯到綜合后仿真以確認(rèn)是否是由于綜合歧義造成的問(wèn)題。進(jìn)行綜合后仿真不需要特殊的工具,在功能仿真中介紹的仿真工具綜合優(yōu)化結(jié)果的本質(zhì)是一些由與、或、非門,觸發(fā)器,RAMPDD器件上,這個(gè)過(guò)程就叫做實(shí)現(xiàn)過(guò)程。因?yàn)橹挥衅骷_發(fā)商最了解器件的內(nèi)部結(jié)構(gòu),所以實(shí)現(xiàn)步驟必用器件開發(fā)商提供的工具。在實(shí)現(xiàn)過(guò)程中最主要的過(guò)程是布局布線(PAR,PlaceAnd所謂布局(Place)是指將邏輯網(wǎng)表中的硬件原語(yǔ)或者底層單元合理地適配到 內(nèi)部固有硬件結(jié)構(gòu)上,布局的優(yōu)劣對(duì)設(shè)計(jì)的最終實(shí)現(xiàn)結(jié)果(在速度和面積兩個(gè)方面)影響很所謂布線(Route)FPGA內(nèi)部的各種連線資源,合理正確滿足所謂布線(Route)FPGA內(nèi)部的各種連線資源,合理正確滿足設(shè)計(jì)的時(shí)序條件,一般采用時(shí)序驅(qū)動(dòng)的引擎進(jìn)行布局布線,所以對(duì)于不同的設(shè)計(jì)輸特別是不同的時(shí)序約束,獲得的布局布線結(jié)果一般有較大差異。結(jié)構(gòu)相對(duì)簡(jiǎn)單得多其資源有限而且布線資源一般為交叉連接矩陣,故CPLD一般被稱為適配過(guò)程。一般情況下,用戶可以通過(guò)設(shè)置參數(shù)指定布局布線的優(yōu)化準(zhǔn)則,總的來(lái)說(shuō)優(yōu)化目標(biāo)主要有兩個(gè)方面,面積和速度。一般根據(jù)設(shè)計(jì)的主要矛盾,選擇面積或者速度擇速度或時(shí)序優(yōu)化目標(biāo)效果更(6)將布局布線的時(shí)延信息反標(biāo)注到設(shè)計(jì)網(wǎng)表中,所進(jìn)行的仿真就叫時(shí)序仿真或布局布線后仿真,簡(jiǎn)稱后仿真。布局布線之后生成的仿真時(shí)延文件包含的時(shí)延信息最全,不僅包含門延時(shí),還包含實(shí)際布線延時(shí),所以布線后仿真最準(zhǔn)確,能較好地反映芯片的實(shí)際工作情況。一般來(lái)說(shuō),布線后仿真步驟必須進(jìn)行,通過(guò)布局布線后仿真能檢查設(shè)計(jì)時(shí)序與GA到此我們介紹了FPGA/CPLD設(shè)計(jì)流程中3個(gè)不同階段的仿真,請(qǐng)大家明確這些仿真的本質(zhì)和目的:功能仿真的主要目的在于驗(yàn)證語(yǔ)言設(shè)計(jì)的電路結(jié)構(gòu)和功能是否和設(shè)計(jì)意圖相符;有時(shí)為了保證設(shè)計(jì)的可靠性,在時(shí)序仿真后還要做一些驗(yàn)證。驗(yàn)證的手段比較豐富,Lattice軟件內(nèi)嵌時(shí)序分析工具完成靜態(tài)時(shí)序分析(STA,StaticTimingAnalysis);也以用第三方驗(yàn)證工具(如SynopsysFormality驗(yàn)證工具、PrimeTime靜態(tài)時(shí)序分析工具等在有些高速設(shè)計(jì)情況下還需要使用第三方的板級(jí)驗(yàn)證工具進(jìn)行仿真與驗(yàn)證,如MentorTauForteDesign-TimingDesignerMentorHyperlynx、MentorICX、CadenceSPECCTRAQuest、SynopsysHSPICE。這些工具通過(guò)對(duì)設(shè)計(jì)的IBIS、HSPICE等模型的仿真,器和邏輯分析儀(LA,LogcAnayer)驗(yàn)證手段是用邏輯分析儀分析信號(hào),設(shè)計(jì)時(shí)要求FPGAPCB設(shè)計(jì)人員保留一定數(shù)量FPGA腳作為測(cè)試管腳腳作為測(cè)試管腳,編寫FPGA代碼時(shí)將需要觀察的信號(hào)作為模塊的輸出信號(hào),在綜合實(shí)現(xiàn)時(shí)再一些的LA需要幾十萬(wàn)甚至上百萬(wàn)元人民幣),靈活性差。PCB布線后測(cè)試腳的數(shù)量就固定了,不能靈活增加,當(dāng)測(cè)試腳不夠用時(shí)影響測(cè)試,如果測(cè)試腳太多又影響PCB布局布線。對(duì)于相對(duì)簡(jiǎn)單一些的設(shè)計(jì),使用Lattice軟件內(nèi)嵌的Reveal對(duì)設(shè)計(jì)進(jìn)行在線邏輯分析可以較好地解決上述矛盾。Reveal是一種FPGA在線片內(nèi)信號(hào)分析工具,它的主要功能是通過(guò)JTAG口,在線、實(shí)時(shí)地讀出FPGA的內(nèi)部信號(hào)。其基本原理是利用FPGA中未使用的BlockRAM,根據(jù)用戶設(shè)定的觸發(fā)條件將信號(hào)實(shí)時(shí)地保存到這些BlockRAM中,然后通過(guò)JTAG從圖1-3中還可以明顯看到,上述設(shè)計(jì)流程中,任何一步?jīng)]有達(dá)到預(yù)期目標(biāo),或者任何改設(shè)計(jì)、進(jìn)行綜合實(shí)現(xiàn)、調(diào)FPGA/CPLD的常用開發(fā)工FPGA/CPLDEDA開發(fā)工具。各個(gè)可編程邏輯器件供應(yīng)廠商都有自己的集成開發(fā)平臺(tái),及其適應(yīng)的開發(fā)工具。本節(jié)以Lattice的開發(fā)平臺(tái)ispLEVER為例進(jìn)行說(shuō)明。ispLEVEREDALattice自己提供的軟件工具,另一類是其他EDA廠商提供的軟件工具,后者統(tǒng)稱為第三方工具。常用的Lattice自帶FPGA/CPLD開發(fā)工具常用的有:TextEditor(文本編輯器、DesignPlanner(設(shè)計(jì)規(guī)劃器)、IPexpress(IP生成器、ProjectNavigator(工程控制器、EPIC告觀察窗、PinMigrationTool(引腳遷移工具、PowerCalculator(功耗分析器、SSOCalculator(SimultaneousSwitchingOutput,同步翻轉(zhuǎn)輸出分析器、RevealInserter(在線邏IPCore插入工具、RevealLogicAnalyzer(在線邏輯分析儀觀察器、ispVM(配置下載工具、TCLTools(控制命令腳本編輯器)等。EDA工具生產(chǎn)商提供的設(shè)計(jì)工具,Lattice軟件集成了與這些設(shè)計(jì)工具的友好接口,在Lattice軟件中可以直接調(diào)用這些工具。Lattice軟件中內(nèi)嵌的第三方有Synplify/SynplifyPro綜合工具、MentorPrecisionRTL綜合工具、MentorLeonardoSpectrum綜合工具、Mentor的ModelSim(Lattice版本)仿真工具等。EDAA工具主要分為設(shè)計(jì)輸入工具、綜合工具、仿真工具、實(shí)現(xiàn)與優(yōu)化工具、后端輔助工具、驗(yàn)證yP7一、設(shè)計(jì)輸入設(shè)計(jì)輸入是工程設(shè)計(jì)的第一步,常用的設(shè)計(jì)輸入方法有HDL語(yǔ)言輸入、原理圖輸入IPCore輸入、其他輸入方法VerilogVHDLHDL語(yǔ)言輸鍵字。另外,大家常用的文本編輯器還有UltraEdit,通過(guò)修改鍵字。另外,大家常用的文本編輯器還有UltraEdit,通過(guò)修改UltraEdit的WORDFILE.TXT也可以支持彩色語(yǔ)法顯示。HDL取代,僅僅在有些設(shè)計(jì)的頂層描述時(shí)才會(huì)使用,所以本書強(qiáng)烈推薦初學(xué)者盡量HDLLattceSchemaicEditor。IPCoreFPGAIPCore,是指已經(jīng)設(shè)計(jì)好且受知識(shí)產(chǎn)權(quán)保護(hù)的標(biāo)準(zhǔn)模塊單元。LatticeIPCore生成IPexpressIP核功能繁多,從簡(jiǎn)單的基本設(shè)計(jì)模塊到復(fù)雜的IPCore,能大幅度地減輕工程師的設(shè)計(jì)工作行的狀態(tài)機(jī)輸入工具是SaeCAD,設(shè)計(jì)者只需畫出狀態(tài)轉(zhuǎn)移圖,狀態(tài)機(jī)編輯DLEL或erilogDL(TL)模型,優(yōu)計(jì)HDL的方式目前已經(jīng)逐步被淘汰二、綜合工主流的綜合工具主要SynplicitySynplify/SynplifyPro、MentorGraphicsExemplarLogic公司LeonardoSpectrum,MentorGraphics公司出PrecisionRTL等的提高,特別是其先進(jìn)的TimingDriven(時(shí)序驅(qū)動(dòng))和BEST(BehavioralExtractionSynthesisTechnology,行為級(jí)綜合提取技術(shù))算法引擎,往往使其Synplicity公司的Amplify物理約束功能,對(duì)很多設(shè)計(jì)都能大幅度地減少資源,優(yōu)化面積甚至可以達(dá)到30%以上。SynplifyPro的詳細(xì)介紹請(qǐng)參考本書第88.5節(jié)“綜合的概念與Synplify/SynplifyPro綜合工具”。MentorGraphics的子公司ExemplarLogic出品的LeonardoSpectrum也是一款非常流行的綜合工具,MentorGraphics還推出了升級(jí)的綜合工PrecisionRTL。三、仿真工ModelSimActiveHDLCadenceVerilog-XL、NC-Verilog/VHDL仿真工具,SynopsysVCS/VSS等仿真工具也具備一定的影響力。還有一些小可以說(shuō)是業(yè)界最流行的仿真工具之一。其主要特點(diǎn)是仿真速度快odmHVodmHVrogHDLDL和g混合編程的仿真。ModelSim的PC版的仿真速度也很快,甚至和工作站版不相上下。ModelSim的詳細(xì)介紹請(qǐng)參考本書第8章83節(jié)“odelSimvHDL時(shí)非常方便。另外值得一提的是,Adec公司還開發(fā)了許多比較著名的軟硬件vHDL8章84vHDL測(cè)試激勵(lì)生成器是一種根據(jù)電路設(shè)計(jì)輸入,自動(dòng)生成測(cè)試激勵(lì)的工具,它生成器是HDLBench。四、實(shí)現(xiàn)與優(yōu)化工LaieDesignanne設(shè)計(jì)規(guī)劃器、EPICDeviceEditor(芯片底層布線器、TimingAnalyst(時(shí)序分析器)gnlnner)是Lattie圖形化界面的工具,幫助用戶完成綜合后設(shè)計(jì)的約束、設(shè)計(jì)規(guī)劃和設(shè)計(jì)結(jié)果分DesgnPlnnerDesgnlnnerO理位置規(guī)劃與約束、電器特性規(guī)劃、設(shè)計(jì)分組、檢視設(shè)計(jì)元素、分析并優(yōu)化關(guān)鍵路徑、檢視靜態(tài)時(shí)序報(bào)告并互鏈到設(shè)計(jì)物理位置、生產(chǎn)分析SO(同步翻轉(zhuǎn))IOBuerEPICDeviceEditor也是分析修改芯片內(nèi)部布線情況的重要工具。通過(guò)EPICEditor可以觀察芯片時(shí)序的關(guān)鍵路徑,增量化修改在設(shè)計(jì)驗(yàn)證期間未解決的錯(cuò)PerformanceAnalyst與TimingAnalyst是Lattice軟件內(nèi)嵌的時(shí)序性能分析工具,它可以簡(jiǎn)單明了地顯示設(shè)計(jì)的P&R或Fit的結(jié)構(gòu)的時(shí)序性能,如最fMAX(最高頻率、tCO(ClocktoOutput時(shí)間),tSU/tH(建立/保持時(shí)間),tP2P(PintoPin延時(shí))五、后端輔助ispVM是Lattice軟件內(nèi)嵌的下載編程工具,用于對(duì)FPGA/CPLD下載配置 支持多種配置模式,以及這些配置模式所需下載文件的格式轉(zhuǎn)PowerCalculatorLattice軟件內(nèi)嵌的功耗仿真器,用以估算設(shè)計(jì)的功耗。功耗計(jì)算器也是系統(tǒng)設(shè)計(jì)初期估計(jì)FPGA功耗的有效工具。六、驗(yàn)證調(diào)試Lattice軟件內(nèi)嵌的調(diào)試工具有RevealInserter(在線邏輯分析儀IPCore插入工具、RevealLattice軟件內(nèi)嵌的調(diào)試工具有RevealInserter(在線邏輯分析儀IPCore插入工具、RevealLogicAnalyzer(在線邏輯分析儀觀察器)LatticeispTracy完可以根據(jù)觸發(fā)條件存儲(chǔ)所需捕獲的信號(hào)或結(jié)點(diǎn)信息,然后送到JTAG端口。RevealLogicAnalyzerRevealIP送出的數(shù)據(jù)信息,根據(jù)軟件設(shè)置,將這些數(shù)據(jù)用圖形和列表的方式顯示出來(lái),從而低成本地幫助用戶采集FPGA內(nèi)部七、sysDSP開發(fā)環(huán)MatlabSimulink是業(yè)界流行的DSP仿真、運(yùn)算開發(fā)工具。Lattice軟件軟件包提供了逾150個(gè)Simulink設(shè)計(jì)工具包,覆蓋了代數(shù)運(yùn)算、邏輯運(yùn)算、濾波器、時(shí)鐘運(yùn)算單元、地址/數(shù)據(jù)總線操作、各種存儲(chǔ)單元等常用DSP運(yùn)算功能。用戶在設(shè)計(jì)中可以任意調(diào)用庫(kù)中的所有運(yùn)算模塊,用戶也可以自行開發(fā)定義模塊,通過(guò)LatticeGatewayInLatticeGatewayOut兩個(gè)模塊完成數(shù)據(jù)的輸入和輸出轉(zhuǎn)換,使用LatticeGenerator模塊將用戶設(shè)計(jì)轉(zhuǎn)換成試,簡(jiǎn)單高效地進(jìn)行內(nèi)嵌DSPFPGA開發(fā)設(shè)計(jì)流1.5下一代可編程邏輯設(shè)計(jì)技術(shù)展可編程邏輯設(shè)計(jì)技術(shù)正處于高速發(fā)展的階段。新型的FPGA/CPLD規(guī)模越來(lái)越大,成越來(lái)越低。高性價(jià)比使可編程邏輯器件在硬件設(shè)計(jì)領(lǐng)域扮演著日益重要的角色。低已經(jīng)逐步取代了74系列等傳統(tǒng)的數(shù)字元件,高端的FPGA也在不斷地奪取ASIC的市場(chǎng)份額,特別是目前大規(guī)模FPGA多數(shù)支持可編程片上系統(tǒng)(SOPC)CPUDSPCore的有機(jī)結(jié)合使FPGA已經(jīng)不僅僅是傳統(tǒng)的硬件電路設(shè)計(jì)手段,而逐步升華為系統(tǒng)級(jí)實(shí)現(xiàn)工具。本節(jié)將從軟、硬件兩個(gè)方面初步探討下一代可編程設(shè)計(jì)技術(shù),希望讀者通過(guò)本節(jié)的學(xué)對(duì)可編程邏輯設(shè)計(jì)技術(shù)的發(fā)展趨勢(shì)有一個(gè)整體上的把1.5.1下一代可編程邏輯器件硬件上的5大發(fā)展趨5ACFGAGASP或U等處理器內(nèi)核,從而PGA將由傳統(tǒng)的硬件設(shè)計(jì)手段逐步過(guò)渡為系統(tǒng)級(jí)設(shè)計(jì)平臺(tái);GAHdPoeC構(gòu)化AC技術(shù)加快占領(lǐng)部分ASC市場(chǎng);低成本FGA的密度越來(lái)越高,價(jià)格越來(lái)越合理,PGAFahPD5簡(jiǎn)稱為先進(jìn)工藝、處理器內(nèi)核、硬核與結(jié)構(gòu)化ACGA。(1)先進(jìn)工藝FPGA本質(zhì)上是一款I(lǐng)C產(chǎn)品,所以IC的工藝發(fā)展也直接推FPGA的工藝進(jìn)步。從邏輯器件(PLD,直至今日可以完成超大規(guī)模的復(fù)雜組邏輯器件(PLD,直至今日可以完成超大規(guī)模的復(fù)雜組合邏輯與時(shí)序邏輯的現(xiàn)場(chǎng)可編邏輯器件(FGA)只用了短短的幾十年時(shí)間。一方面可編程邏輯器件的應(yīng)用場(chǎng)合越來(lái)越廣,客戶對(duì)PGA可程邏輯件提出更苛的要求希望G/PD的裝越來(lái)越,速度來(lái)越,器件度越越高,豐富可編程元可使用,要求礎(chǔ)功能強(qiáng)大的C硬核,以便實(shí)現(xiàn)復(fù)雜系統(tǒng)的單片解決方案。另一方面,A、CPLD等可編程邏輯器件的可觀利潤(rùn)又要求生產(chǎn)商不斷降低器件成本,從而在激烈的市場(chǎng)競(jìng)爭(zhēng)中立于不敗之。一就求可程件生產(chǎn)商斷最、最端的IC 計(jì)法制造FPGA/CPLD的新產(chǎn)品中。在這里我們不可能對(duì)最新的 設(shè)計(jì)方法和制造工藝展開論述,僅僅對(duì)已經(jīng)運(yùn)用于和即將運(yùn)用于FPGA生產(chǎn)制造的IC技術(shù)加以簡(jiǎn)單在工藝上第一個(gè)顯著的進(jìn)步是90nm,65nm,40nm等先進(jìn)CMOS芯片加工工藝被越來(lái)越廣泛地應(yīng)用于FPGA產(chǎn)品。與以往工藝尺寸相比,這些先進(jìn)工藝面臨著如下幾個(gè)方面的戰(zhàn)工藝復(fù)雜度因漏電電流(LeakageCurrent)而造成的功率耗散(PowerDissipation);時(shí)鐘頻率可生產(chǎn)性FPGA而言,采用IC加工工藝意味3方面進(jìn)FPGA提供了技術(shù)可能。與早期工藝相比,在相同的diesize(晶元尺寸)上可以多集成數(shù)十倍的晶體管,目前市FPGA700K350K個(gè)查找表,其等效系FPGAFPGA的FPGA的工ICLowKDielectric(低介電常數(shù))CopperMetal(全銅層)FPGA30%以上。Lattice、AlteraXilinx3家主流可編程器件生產(chǎn)商都采用了上述先進(jìn)FPGA500MHz。高的工作頻率,I/OFPGA除了能適應(yīng)傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)需求,也能適用于高FPGA在對(duì)等系統(tǒng)門條FPGAdiesizediesize是FPGA生產(chǎn)成本的決前提下,F(xiàn)PGA的生產(chǎn)成本將大幅度降低,因而在激烈的市場(chǎng)競(jìng)爭(zhēng)條件下,未來(lái)FPGA的價(jià)格會(huì)越來(lái)越低廉,未來(lái)FPGA再也不是高端數(shù)字系統(tǒng)的專寵,F(xiàn)PGA設(shè)計(jì)技術(shù)將FPGA設(shè)計(jì)技術(shù)將滲透到數(shù)字電路系統(tǒng)的高、中、低各個(gè)領(lǐng)(互聯(lián)延遲)已經(jīng)比TransistorDelay(晶體管延遲)更顯著,這時(shí)為了提高芯片的工作速度,降低連線延遲就成了主要的優(yōu)化目標(biāo)。而InterconnectDelay的主要相關(guān)變量是RC時(shí)間常數(shù)t=RCLowKDielectrcC)CopperMtalR(阻抗)參數(shù)的技術(shù)。通過(guò)采用低介電常數(shù)的新材料(如二氧化硅等氧化物,或氟化物,或有機(jī)物等,可以降低銅線的Crossak(,并降低orpaon功耗擴(kuò)散,從而使互連線布線更接近,這樣就提高了芯片的工作速度,并降低了功耗。傳統(tǒng)連線層材料為和電流密度。圖1-4所示Low-K工藝示意圖圖1-4Low-K(2)電路設(shè)計(jì)主要有偏硬和偏軟兩種應(yīng)用。偏硬的應(yīng)用即數(shù)字硬件電路,其特點(diǎn)是要求信號(hào)實(shí)時(shí)或高速處理,處理調(diào)度相對(duì)簡(jiǎn)單,前面已經(jīng)提到FGA/CLD件電路,成為偏硬部分的主要設(shè)計(jì)手段。偏軟的應(yīng)用即數(shù)字運(yùn)算電路,其特點(diǎn)是電路處理速UP偏硬和偏軟的兩種電路是可以互通的,比如目前有一些高速SP,其工作頻率達(dá)到Hz級(jí),高速的運(yùn)算速度使其延遲與傳統(tǒng)硬件并行處理方式可以比擬。而在PA內(nèi)部也可以用Regter和LUTGA和DP或CU3G第3代4G第4)3IC或GAPA或SC)加DSPSP前面所述是FPGA和DSP(或CPU)等處理器的競(jìng)爭(zhēng)一面,其實(shí)兩者還有互相融合的一面。比如目前很多FPGA產(chǎn)品都集成DSPCPU的運(yùn)BlockLatticeECP(ECP/ECP2M/ECP3)系列器件族中集成了高性能的sysDSP模塊。另外Lattice還開放自主研發(fā)的32bitRISKMico32的源代碼,大大地方便了用戶分析與調(diào)試這個(gè)軟CPU核;AlteraStratix(Stratix/StratixII/StratixIII/StratixIV)系列器件族集成DSP模塊,并通過(guò)通NiosAlteraNiosAlteraARM公司積極合作,在其FPGA上實(shí)現(xiàn)ARM處理器的功能;Xilinx的Virtex(VirtexIIPro/Virtex4/Virtex5/Virtex6)系列器件族中集成了PowerPC450的CPUCore,可以實(shí)現(xiàn)如PowerPC、MicroBlaze等處理器Core,XilinxVirtex4/5/6DSPBlockPowerPCBlock。需要注意的是,Altera、Xilinx都是在其高端FPGA器件內(nèi)嵌DSP/CPUBlock,只有Lattice另辟蹊徑,在其低成本FPGA上內(nèi)嵌了DSPBlock,這兩種不同目標(biāo)市FPGA內(nèi)嵌DSP/CPU解決方案為用戶提供了更貼切的選擇。圖1-5所示為ECP3內(nèi)嵌DSP模塊的結(jié)構(gòu)示意圖,其結(jié)構(gòu)在本書2.2.2.1節(jié)和高級(jí)篇有較詳細(xì)的介紹,圖1-6所示為使用Simulink設(shè)計(jì)ECP3的sysDSPBlock開發(fā)流程示意圖,其詳細(xì)的開發(fā)流程將在本套叢書高級(jí)篇中有較詳細(xì)的介紹圖1-5LatticesysDSP必須強(qiáng)調(diào)的是這類內(nèi)嵌在FPGA之中的DSPCPU處理模塊的硬件主要由一些加法器、乘法器、快速進(jìn)位鏈、Pipelining和Mux等結(jié)構(gòu)組成,加上用邏輯資源和塊RAM實(shí)現(xiàn)的軟DSPCPU的各種DSPCPU。如果要實(shí)現(xiàn)完整的Mico32、Nios、ARM、PowerPCMicroBlaze等處理器CoreFPGADSPCPUBlock時(shí)應(yīng)該注意其結(jié)DSPCPUBlock比較適合實(shí)現(xiàn)FIR濾波器、編碼解碼、FFT(快速傅立葉變換)FPGA內(nèi)部實(shí)DSPCPUDSPCPU的幾百倍。系統(tǒng)的能力,F(xiàn)PGA正逐步成為SOC(SystemOnChip)的高效設(shè)計(jì)平臺(tái)。(3)ASIC高端FPGA的另一個(gè)重要特點(diǎn)是集成了功能豐富的HardIPCore(硬知識(shí)產(chǎn)權(quán)核。這些HardIPCore一般完成高速、復(fù)雜的設(shè)計(jì)標(biāo)準(zhǔn)。通過(guò)這些HardIPCore,F(xiàn)PGA正在逐步進(jìn)入一些過(guò)去只有ASIC才能完成的設(shè)計(jì)領(lǐng)域。用全局時(shí)鐘驅(qū)動(dòng),ASIC一般采用門控時(shí)鐘樹驅(qū)動(dòng);FPGA一般采用時(shí)序驅(qū)動(dòng)方式在各級(jí)專ASICFPGA功耗更低。由于其門控時(shí)鐘結(jié)構(gòu)和異步電路設(shè)計(jì)方式,功耗非常低。點(diǎn)對(duì)于一些簡(jiǎn)單設(shè)計(jì)并不明顯,但是對(duì)于大規(guī)模器件和復(fù)雜設(shè)計(jì)就變得十分重要。目前有些網(wǎng)絡(luò)處理器SC的功耗在數(shù)十瓦特以上,如果用超大規(guī)模A點(diǎn)對(duì)于一些簡(jiǎn)單設(shè)計(jì)并不明顯,但是對(duì)于大規(guī)模器件和復(fù)雜設(shè)計(jì)就變得十分重要。目前有些網(wǎng)絡(luò)處理器SC的功耗在數(shù)十瓦特以上,如果用超大規(guī)模AA能完成高速設(shè)計(jì)。ASICFPGAFPGA設(shè)計(jì),如果想達(dá)到250MHz都是非常困難的。而很多數(shù)字ASIC的工作頻率都1GHz以上。設(shè)計(jì)密度大。由于FPGA的底層硬件結(jié)構(gòu)一致,在實(shí)現(xiàn)用戶設(shè)計(jì)時(shí)會(huì)有大元不能充分利用,所FPGA的設(shè)計(jì)效率并不高ASIC相比,F(xiàn)PGA的等效系統(tǒng)門和ASIC門的設(shè)計(jì)效率比約為1:10。計(jì)領(lǐng)域FPGAASIC相比,又有如下明顯的優(yōu)勢(shì)FGPAASIC設(shè)計(jì)周期短。FPGA的設(shè)ASIC簡(jiǎn)化許多,而且可以重復(fù)開發(fā),其設(shè)計(jì)與調(diào)試周期比傳統(tǒng)ASIC設(shè)計(jì)顯著縮短FPGAASIC開發(fā)成本低。ASICNRE費(fèi)用非常高,而且一旦流片失敗,開發(fā)成本與ASIC相比不可同日而語(yǔ)。適用于那些不斷演進(jìn)的標(biāo)準(zhǔn)FPGA和ASICFPGAASICA邏輯資源完成,這種思路體現(xiàn)了PA向C的融合;另一種思路是在C中集成部分可編程的靈活配置資源,或者繼承成熟的A設(shè)計(jì),將之轉(zhuǎn)換為SIC,這種思路是C向A的融合,被稱為結(jié)構(gòu)化C。FPGA內(nèi)嵌HardIPCore大大擴(kuò)展了FPGA的應(yīng)用范圍,降低了設(shè)計(jì)難度,縮短了開發(fā)周期。比如在前面FPGA結(jié)構(gòu)中提到的,在越來(lái)越多的高端FPGA器件內(nèi)部集成了SERDES的HardIPCore,如LatticeECP(ECP2M/ECP3)和SC系列FPGA,Altera的StratixGX和ArriaGX系列FPGA;Xilinx的VirtexLXT和Spartan6LXT系列FPGA等。LatticeSCM高FPGAHardCore的比重更大,內(nèi)嵌了通信領(lǐng)域通訊領(lǐng)域HardIPCore(如SPI4.2,XAUI/GE,PCI-E,SDH/SONET),以及QDR/DDR控制器等典型硬件單元。結(jié)構(gòu)化ASIC的形式多種多樣。相關(guān)于PA的形式主要有兩種,一是如Latie的eedomhp,Altera的HadopyXlnx的ayahLattie的MACOPAHdPoreBockRAMGA成為滿足設(shè)計(jì)需求的最小配置,從而降低了芯片面積,簡(jiǎn)化了芯片設(shè)計(jì),節(jié)約了生產(chǎn)成本。otPoeC的dPoePAASICMACOotPoHdPCoreMACOA和結(jié)構(gòu)化ASIC之路加快占領(lǐng)ASIC市場(chǎng)份額(4)FPGA發(fā)展的另一個(gè)主要趨勢(shì)。FPGA/CPLD因其價(jià)格昂貴,以前僅僅應(yīng)用在高端數(shù)字電路,特別是一些通信領(lǐng)域。但是高端應(yīng)用畢竟曲高和寡,F(xiàn)PGA/CPLD器件商發(fā)已經(jīng)日趨成熟,其價(jià)格也逐步合理,目前競(jìng)爭(zhēng)最激烈的是低端FPGA市場(chǎng)。低端FPGA簡(jiǎn)化掉了高端FPGA的許多專用和高性能電路,器件密度一般從幾千個(gè)(1個(gè)LUT4+1個(gè)Register)到幾十萬(wàn)個(gè)LE,器件的內(nèi)嵌BlockRAM一般較少,器件I/O僅僅支持最通用的一些電路標(biāo)準(zhǔn),器件PLL或DLL的適用范圍較低,器件工作頻率較低。但是這些低端FPGA器件已經(jīng)能夠滿足絕大多數(shù)市場(chǎng)需求。Lattice的低端FPGA主要有2個(gè)系列:ECP2M/ECP3系列(FPGAFabricSERDES、DSP模塊、大RAM等、XP/XP2系列(SRAM加Flash工藝,內(nèi)嵌程序存儲(chǔ)空間);Altera的低端FPGA主要有2個(gè)系列:Cyclone(Cyclone3等)系列和Arria(Arria2等)系列;XilinxFPGA主要等)系列。目前低端市場(chǎng)的競(jìng)爭(zhēng)非常激烈,隨著低成本器件不斷推陳出新FPGA將滲透到數(shù)字電路的各個(gè)領(lǐng)域,特別是消費(fèi)電子、汽車電路、有線電視等領(lǐng)域。也許當(dāng)FPGA被廣泛應(yīng)用后,電路設(shè)計(jì)將逐步走向歸一化,一般電路系統(tǒng)將由單片機(jī)、CPU、DSP、FPGA/CPLD等主要器件構(gòu)成。FPGA的廣泛應(yīng)用的另一個(gè)含義在于,邏輯設(shè)計(jì)工程(5)FPGA丟失,所以一般情況下FPGA都需要一塊存儲(chǔ)其配置文件的BootROM或者Flash配合使用。雖然基于Flash、EEPROMCMOS工藝的CPLD具有非易失程序的特性,但是由于藝制造的FPGA,從而真正實(shí)現(xiàn)單片可編程邏輯器件方案。隨著IC工藝的不斷進(jìn)步,F(xiàn)lash結(jié)合SRAM的FPGA逐步成熟,目前最典型的產(chǎn)品Lattice公司的XP/XP2系列和ActelProASIC系列FPGA。下LatticeFPGA為例簡(jiǎn)單介紹以下FPGA的特點(diǎn)。XP/XP2的結(jié)構(gòu)可以1-7圖1-7XP的SRAM圖1-7XP的SRAMFlashSAM工藝的GAFPA括基本邏輯單元,L,時(shí)鐘資源,嵌入式塊RAM(EBR)等;特別之處在于這款FA內(nèi)嵌了013umsh工藝的非易失存儲(chǔ)器,而且使用并行的控制邏輯電路完成從SRM到FhGA中,SAMPGAlh工GA這種基于SRAMFlash結(jié)構(gòu)的FPGA具有如下優(yōu)勢(shì)單片方節(jié)約了PCB面積和單板成本。高安全FPGA,不論是BootROMCPU加載,其配置鏈路總是暴露在FPGAFPGAXP/XP2系列FPGAFPGAFlash的安全位禁止回讀,從瞬間加通過(guò)后臺(tái)加載Flash,或者在生產(chǎn)過(guò)程中加載Flash就可以回避加載Flash的時(shí)間消耗。而在實(shí)際應(yīng)用XP/XP2時(shí),上電后Flash通過(guò)并行加載邏輯將配置文件全面配SRAM1ms,可以稱為“瞬間上電”。XP/XP2這種瞬間上電特性非常有助于實(shí)現(xiàn)單板的主控邏TFR透明在線升TFR透明在線升這里僅僅先給用戶一個(gè)基本概念。由于這款FPGA結(jié)合了Flash和SRAM工藝,SysConfig(CPU加載端口)JTAGFlashSRAM的操作,所以當(dāng)用戶需要在線升級(jí)時(shí),可以先從后臺(tái)加載Flash,此時(shí)并不影響SRAMLatticeI/OFPGAI/O根據(jù)用戶要求保持到特定電平(高、低、三態(tài))1ms左右FlashSRAM存儲(chǔ)的舊版本程序的刷新;最后預(yù)啟動(dòng)FPGA,釋放I/O電平,完成整個(gè)加載過(guò)程。這種加載方式的最大好處在于:可以使因加載導(dǎo)FPGA業(yè)務(wù)中斷的影響最小化1.5.2下一EDA軟件設(shè)計(jì)方法發(fā)展趨A軟件設(shè)計(jì)技術(shù)不斷發(fā)展,總的趨勢(shì)可以總結(jié)為:支持不斷更新的器件族,越來(lái)越人性化的設(shè)計(jì),越來(lái)越好的設(shè)計(jì)優(yōu)化效果,仿真軟件的仿真速度越來(lái)越快、仿真精度越來(lái)越高,綜合軟件的綜合優(yōu)化效果越來(lái)越好,分析驗(yàn)證手段越來(lái)越完備,布局布線軟件的效率和優(yōu)化效果不斷提高。EDA設(shè)計(jì)方法比較顯著的特點(diǎn)體現(xiàn)在如下幾個(gè)方面:高級(jí)設(shè)計(jì)語(yǔ)言,(1)HDLHL是dwaeDciptonLnguage的A原理圖(heiHL方式具有利于由頂向下設(shè)計(jì),利于模塊的劃分與復(fù)用,可移植性好,通用性好,設(shè)計(jì)不因芯SC前面已經(jīng)提到業(yè)界最流HDL語(yǔ)言是VerilogVHDL。在其基礎(chǔ)上又發(fā)展出了許多抽象程度更高的硬件描述語(yǔ)言SystemVerilog、Superlog、SystemC、CoWareC等,這高HDL語(yǔ)言的語(yǔ)法結(jié)構(gòu)更加豐富,更適合做系統(tǒng)級(jí)、功能級(jí)等高層次的設(shè)計(jì)描述和仿真語(yǔ)言的適用層次示意圖如圖1-8所示,其中實(shí)線框表示適用程度較高,虛線框表示適程度較低圖1-8HDL圖1-8HDL高級(jí)語(yǔ)言是系統(tǒng)級(jí)設(shè)計(jì)方法和軟硬件聯(lián)合設(shè)計(jì)的利器。所謂系統(tǒng)級(jí)設(shè)計(jì)方法是指:在系統(tǒng)級(jí)層次進(jìn)行設(shè)計(jì)和仿真,運(yùn)用系統(tǒng)級(jí)綜合工具將代碼綜合為門級(jí)網(wǎng)表,然后進(jìn)行布局布線的設(shè)計(jì)流程。系統(tǒng)級(jí)設(shè)計(jì)的好處是抽象層次高,仿真和結(jié)構(gòu)描述代碼一致,優(yōu)化效果好,非常利于由頂向下設(shè)計(jì)和團(tuán)隊(duì)分工協(xié)作,縮短了設(shè)計(jì)周期。系統(tǒng)級(jí)設(shè)計(jì)中,結(jié)構(gòu)代碼和仿真代碼完全一致。理想的系統(tǒng)級(jí)設(shè)計(jì)方式為在系統(tǒng)級(jí)構(gòu)建仿真模型,然后即可直接綜合,并布局PA中將
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圍堰施工課題申報(bào)書
- 軟件測(cè)試申報(bào)書課題
- 課題申報(bào)書方案構(gòu)建模板
- 合伙企業(yè)人合同范本
- 單位買電合同范本
- 合同范本分包合同
- 課題申報(bào)書課題類型
- 特殊學(xué)生教育課題申報(bào)書
- 和單位購(gòu)銷采購(gòu)合同范本
- 品牌門窗店銷售合同范本
- 全省檢察機(jī)關(guān)公訴業(yè)務(wù)知識(shí)考試試卷
- 10KV開關(guān)柜教學(xué)講解課件
- 損傷疼痛病(軟組織損傷)中醫(yī)臨床路徑
- 航模隊(duì)第一講-飛機(jī)基本原理和彈射機(jī)制作
- 花城版三年級(jí)下冊(cè)音樂教學(xué)計(jì)劃
- 全國(guó)計(jì)算機(jī)等級(jí)證書樣本
- 說(shuō)明書-prsPRS-7177電能質(zhì)量監(jiān)測(cè)裝置
- 知名房地產(chǎn)抖音代運(yùn)營(yíng)方案
- ISO 9001:2015新版質(zhì)量管理體系詳解與案例文件匯編
- 人教版八年級(jí)下冊(cè)英語(yǔ)全冊(cè)教案完整版教學(xué)設(shè)計(jì)含教學(xué)反思
- 五年級(jí)下冊(cè)數(shù)學(xué)課件 第1課時(shí) 因數(shù)和倍數(shù) 蘇教版(共25張PPT)
評(píng)論
0/150
提交評(píng)論