第12章 可編程邏輯器件應(yīng)用_第1頁
第12章 可編程邏輯器件應(yīng)用_第2頁
第12章 可編程邏輯器件應(yīng)用_第3頁
第12章 可編程邏輯器件應(yīng)用_第4頁
第12章 可編程邏輯器件應(yīng)用_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第12章可編程邏輯器件應(yīng)用1可編程邏輯系統(tǒng)系統(tǒng)設(shè)計(jì)如何入門FPGA是基于硬件可編程的器件,設(shè)計(jì)方法與CPU和DSP有本質(zhì)的區(qū)別;設(shè)計(jì)者需要掌握硬件描述語言,還要具備硬件的概念和調(diào)試的經(jīng)驗(yàn),才能設(shè)計(jì)出高質(zhì)量的FPGA系統(tǒng)FPGA系統(tǒng)涉及到:FPGA的結(jié)構(gòu)原理、電路硬件設(shè)計(jì)與調(diào)試、硬件描述語言(HDL)、開發(fā)工具EDA軟件、仿真驗(yàn)證技術(shù)以及FPGA與其他處理器的互聯(lián)接口技術(shù)等。FPGA最好的入門方法---實(shí)踐。初期階段:看書+軟件仿真;實(shí)踐階段:結(jié)合FPGA開發(fā)板,將自己的設(shè)計(jì)在FPGA硬件系統(tǒng)上運(yùn)行。FPGA最小系統(tǒng):含電源、下載接口,引出全部IO,用戶自行設(shè)計(jì)外部電路。2可編程邏輯系統(tǒng)設(shè)計(jì)技術(shù)背景 目前數(shù)字系統(tǒng)設(shè)計(jì)領(lǐng)域公認(rèn)的基礎(chǔ)性技術(shù)CPU、DSP、FPGAFPGA技術(shù)發(fā)展迅速,正在逐漸融合CPU和DSP的功能;FPGA已經(jīng)廣泛應(yīng)用在如無線基站、千兆網(wǎng)絡(luò)路由器、智能手機(jī)、便攜式產(chǎn)品等領(lǐng)域。在我們的全國競賽中,F(xiàn)PGA的作用主要定位在時(shí)序信號(hào)產(chǎn)生、前端信號(hào)采集、高速控制、數(shù)據(jù)并行處理等方面,作為輔助控制器與MSP430或DSP協(xié)同運(yùn)行,不做單獨(dú)的處理器來使用。3FPGA與ASICASIC:指固定的或定制的邏輯器件(專用集成電路)---如MP3專用解碼芯片優(yōu)點(diǎn):通過固化的邏輯功能和大規(guī)模的工業(yè)化生產(chǎn),芯片成本大幅度降低,可靠性高;缺點(diǎn):設(shè)計(jì)周期長,投資大,風(fēng)險(xiǎn)高,設(shè)計(jì)投產(chǎn)后不可更改。FPGA的誕生解決了ASIC存在的這些不足,滿足了快速產(chǎn)品開發(fā)的需要。第一片F(xiàn)PGA:Xilinx公司1984年推出,20多年的發(fā)展,F(xiàn)PGA的可用門從當(dāng)初的1000余個(gè)可用門,發(fā)展到現(xiàn)在的1000萬個(gè)以上的可用門。容量提升了1萬倍。FPGA解決了電子系統(tǒng)小型化、低功耗、高可靠性的問題,開發(fā)周期短、投入少,芯片價(jià)格不斷下降。4FPGA技術(shù)發(fā)展趨向1、基于FPGA的嵌入式系統(tǒng)(SoPC)技術(shù)正在成熟;2、FPGA芯片向高性能、高密度、低壓和低功耗方向發(fā)展;3、基于IP庫的設(shè)計(jì)方法;FPGA的設(shè)計(jì)者只需要尋找適合項(xiàng)目需要的IP庫資源,然后將這些IP整合起來,完成頂層模塊設(shè)計(jì)。整個(gè)項(xiàng)目的仿真和驗(yàn)證工作主要就是驗(yàn)證IP庫的接口邏輯設(shè)計(jì)正確性。4、FPGA的動(dòng)態(tài)可重構(gòu)技術(shù)。指對于特定結(jié)構(gòu)的FPGA芯片,在一定的控制邏輯的驅(qū)動(dòng)下,對芯片的全部或部分邏輯資源實(shí)現(xiàn)高速的功能變換,從而實(shí)現(xiàn)硬件的時(shí)分復(fù)用,節(jié)省邏輯資源。51、PLD器件概述(3/3)---主流CPLD與FPGACPLD:基于乘積項(xiàng)結(jié)構(gòu),基本結(jié)構(gòu)為“與-或陣列”;FPGA:基于查找表結(jié)構(gòu),由簡單的查找表構(gòu)成可編程門,再構(gòu)成陣列形式(FPGA數(shù)據(jù)掉電后丟失,CPLD掉電保持)CPLDFPGA內(nèi)部結(jié)構(gòu)Product-termLook-upTable程序存儲(chǔ)內(nèi)部EEPROMSRAM,外掛EEPROM資源類型組合電路資源豐富觸發(fā)器資源豐富集成度低(幾十-數(shù)萬門級(jí))高(百萬門級(jí))使用場合完成邏輯控制完成比較復(fù)雜的算法速度慢快其他資源EEPROMEAB,鎖相環(huán)保密性可加密一般不能加密62、CPLD的結(jié)構(gòu)與可編程原理(1/2)CPLD即復(fù)雜可編程邏輯器件,是早期GAL器件的改進(jìn)。Altera的MAX7000系列具有典型性,以此為例,進(jìn)行簡介MAX7000系列包含32-256個(gè)宏單元,每16個(gè)宏單元組成一個(gè)邏輯陣列塊(LAB)每個(gè)宏單元含有一個(gè)可編程的“與”陣列和固定的“或”陣列,以及一個(gè)可配置寄存器。每個(gè)宏單元共享擴(kuò)展乘積項(xiàng)和高速并聯(lián)擴(kuò)展乘積項(xiàng),它們可向每個(gè)宏單元提供多達(dá)32個(gè)乘積項(xiàng),以構(gòu)成復(fù)雜的邏輯函數(shù)。73、FPGA的結(jié)構(gòu)與工作原理---簡介(1/3)多數(shù)FPGA采用基于SRAM的查找表邏輯形成結(jié)構(gòu),即利用SRAM(靜態(tài)隨機(jī)存儲(chǔ)器)來構(gòu)成邏輯函數(shù)發(fā)生器;一個(gè)N輸入查找表(LUT)可以實(shí)現(xiàn)N個(gè)輸入變量的任何邏輯功能;Altera的Cyclone系列器件成本低、性價(jià)比高,結(jié)構(gòu)和工作原理具有典型性;Cyclone器件主要由邏輯陣列塊(LAB)、嵌入式存儲(chǔ)器塊、IO單元和PLL等模塊構(gòu)成;每個(gè)LAB有多個(gè)LE(LogicElement,邏輯單元)構(gòu)成;LE是CycloneFPGA器件的最基本可編程單元;LE主要由一個(gè)4輸入的查找表LUT、進(jìn)位鏈邏輯和一個(gè)可編程的寄存器構(gòu)成。83、FPGA的結(jié)構(gòu)與工作原理---結(jié)構(gòu)(2/3)93、FPGA的結(jié)構(gòu)與工作原理---結(jié)構(gòu)(3/3)其它詳細(xì)結(jié)構(gòu)及工作原理請讀者自行閱讀教材P26-P3210芯片與外接電路的接口部分可編程邏輯的主體,可以根據(jù)設(shè)計(jì)靈活地改變其內(nèi)部連接與配置,完成不同的邏輯功能用作數(shù)據(jù)存儲(chǔ),可配置為單端口RAM,雙口RAM,FIFO等連通FPGA內(nèi)部所有單元,連線長度和工藝決定信號(hào)驅(qū)動(dòng)能力和傳輸速度通用程度較高的嵌入式功能模塊,如PLL、DSP、CPU等11PLL的作用:完成時(shí)鐘的高精度、低抖動(dòng)的倍頻、分頻、占空比調(diào)整、移相等功能(可達(dá)ps精度);內(nèi)嵌專用硬核:與“底層嵌入單元”有區(qū)分,指的是通用性相對較弱,不是所有FPGA都包含硬核。如Altera的StratixGX系列內(nèi)部專門集成了3.1875Gbit/s的串并收發(fā)單元;124、硬件測試技術(shù)內(nèi)部邏輯測試(動(dòng)態(tài)測試、分析內(nèi)部寄存器的狀態(tài))器件廠商在在PLD中嵌入某種邏輯功能模塊;與EDA工具配合提供一種嵌入式邏輯分析儀,通過測試發(fā)現(xiàn)內(nèi)部邏輯問題;如Altera的SignalTapII。JTAG邊界掃描測試(BST)135、FPGA/CPLD廠商ALtera:高性能、高集成度、高性價(jià)比,開發(fā)工具軟件豐富,且提供免費(fèi)使用版本;Xilinx:追求高集成度、高速度、低價(jià)格、低功耗設(shè)計(jì);Lattice:CPLD的開拓者,首創(chuàng)PLD及ISP技術(shù);Actel:加密性好,產(chǎn)品廣泛應(yīng)用于航空航天、軍事領(lǐng)域。146、編程與配置(1/3)CPLD/FPGA都具有在系統(tǒng)編程(ISP)能力ISP功能的特點(diǎn):使用CPLD/FPGA進(jìn)行邏輯設(shè)計(jì)時(shí)可以把芯片焊接在印制電路板上,在設(shè)計(jì)時(shí)一次又一次隨心所欲地改變整個(gè)電路的硬件邏輯關(guān)系,而不必改變電路板的結(jié)構(gòu)。有3種ISP方式:基于電可擦除存儲(chǔ)單元的EEPROM或Flash技術(shù)(CPLD)

---掉電數(shù)據(jù)不丟失,但編程次數(shù)有限,編程的速度慢基于SRAM查找表的編程單元(FPGA)

---配置次數(shù)無限、加電時(shí)可隨時(shí)更改邏輯,但掉電后數(shù)據(jù)即丟失,下次上電需要重新配置基于反熔絲編程單元(Actel的FPGA)JTAG方式的在系統(tǒng)編程接口157、編程與配置---PC機(jī)配置FPGA(2/3)使用PC并行口配置FPGA(傳統(tǒng)方法,使用ByteBlasterMV或ByteBlasterII下載電纜)使用PCUSB口配置FPGA(使用USB-Blaster下載電纜)Altera的FPGA有如下幾種常用編程配置方式:配置器件模式,如用EPC器件進(jìn)行配置。PS(PassiveSerial被動(dòng)串行)模式。JTAG模式,用于配置SRAM的SOF文件,或JTAG間接AS(ActiveSerial),這個(gè)模式是針對EPCS器件而言。167、編程與配置---FPGA配置器件(3/3)178、CPLD與FPGA的區(qū)別及應(yīng)用選型(1/2)FPGA采用SRAM進(jìn)行功能配置,可重復(fù)編程,但系統(tǒng)掉電后,SRAM中的數(shù)據(jù)丟失。因此,需在FPGA外加EPROM,將配置數(shù)據(jù)寫入其中,系統(tǒng)每次上電自動(dòng)將數(shù)據(jù)引入SRAM中。CPLD器件一般采用EEPROM存儲(chǔ)技術(shù),可重復(fù)編程,并且系統(tǒng)掉電后,EEPROM中的數(shù)據(jù)不會(huì)丟失,適于數(shù)據(jù)的保密。FPGA器件含有豐富的觸發(fā)器資源,易于實(shí)現(xiàn)時(shí)序邏輯,如果要求實(shí)現(xiàn)較復(fù)雜的組合電路則需要幾個(gè)CLB結(jié)合起來實(shí)現(xiàn)。CPLD的與或陣列結(jié)構(gòu),使其適于實(shí)現(xiàn)大規(guī)模的組合功能,但觸發(fā)器資源相對較少。FPGA內(nèi)部有豐富連線資源,CLB分塊較小,芯片的利用率較高。CPLD的宏單元的與或陣列較大,通常不能完全被應(yīng)用,且宏單元之間主要通過高速數(shù)據(jù)通道連接,其容量有限,限制了器件的靈活布線。內(nèi)部資源利用率較FPGA器件低18器件的資源Altera、Xilinx:數(shù)千門~數(shù)百萬門;

Lattice:數(shù)萬門以下資源占用以仿真的結(jié)果為準(zhǔn),并應(yīng)留有適當(dāng)?shù)挠嗔浚?0%)芯片速度:芯片速度越高,其對微小毛刺信號(hào)的反應(yīng)越靈敏,系統(tǒng)的穩(wěn)定性越差器件功耗:工作電壓越高功耗越大(5V,3.3V,2.5V,1.8V等)CPLDFPGA邏輯密集型數(shù)據(jù)密集型中小規(guī)模(1000~50000)大規(guī)模設(shè)計(jì)(5000~數(shù)百萬門)免費(fèi)軟件支持SoC設(shè)計(jì)編程數(shù)據(jù)不丟失,電路簡單ASIC的設(shè)計(jì)仿真ISP特性,編程加密布線靈活,但時(shí)序特性不穩(wěn)定布線延遲固定,時(shí)序特性穩(wěn)定需專用的ROM進(jìn)行數(shù)據(jù)配置8、CPLD與FPGA的區(qū)別及應(yīng)用選型(2/2)199.FPGA設(shè)計(jì)流程電路設(shè)計(jì)與輸入---采用HDL語言或原理圖設(shè)計(jì)輸入;大型設(shè)計(jì)中,原理圖設(shè)計(jì)方法的可維護(hù)性較差,不利于模塊構(gòu)造與重用。主流的HDL語言:VHDL與VerilogHDL功能仿真QuartusII自帶仿真;使用第三方仿真軟件ModelSim20綜合優(yōu)化將HDL語言、原理圖等設(shè)計(jì)輸入翻譯成與、或、非門,RAM,觸發(fā)器等基本邏輯單元組成的邏輯連接(網(wǎng)表),并根據(jù)目標(biāo)與要求(約束條件)優(yōu)化所生成的邏輯連接,輸出網(wǎng)表文件;QuartusII可進(jìn)行綜合,第三方綜合工具:Synplify綜合后仿真綜合后檢查綜合結(jié)果是否與原設(shè)計(jì)一致。實(shí)現(xiàn)與布局布線:綜合的結(jié)果本質(zhì)是基本邏輯單元所組成的網(wǎng)表,與芯片實(shí)際的配置情況還有較大差距;使用相應(yīng)軟件,根據(jù)所選芯片的型號(hào),將綜合輸出的邏輯網(wǎng)表適配到具體FPGA/CPLD上的過程就是實(shí)現(xiàn)。2110、Altera典型器件簡介ACEX系列FPGA:專為通信(如xDSL調(diào)制解調(diào)器、路由器)、音頻處理等應(yīng)用而推出的芯片系列。如ACEX1K100MAX系列CPLD:以乘積項(xiàng)最為基本結(jié)構(gòu)單元,具有ISP編程功能,支持JTAG。如MAX7128MAXII系列CPLD:低成本、低功耗,功耗是MAX系列的十分之一,支持內(nèi)部時(shí)鐘頻率高達(dá)300MHz,內(nèi)置用戶非易失性Flash存儲(chǔ)器塊,使用LUT結(jié)構(gòu)。如EPM240Cyclone/II系列FPGA(低成本FPGA):平衡了邏輯、存儲(chǔ)器、鎖相環(huán)(PLL)和高級(jí)IO接口。支持NIOSII系列嵌入式處理器,支持串行、總線和網(wǎng)絡(luò)接口及各種通信協(xié)議……如EP1C3、EP1C6……Stratix/II系列FPGA:帶有專用算法功能模塊,可高效地實(shí)現(xiàn)加法樹等大計(jì)算量的功能,提供了高速I/O信號(hào)和接口。我院的多普勒天氣雷達(dá)即采用它做核心運(yùn)算芯片2211、主流低成本FPGA-CycloneCyclone器件采用0.13um工藝制造,其內(nèi)部有鎖相環(huán)、RAM塊,邏輯容量從2910-20060個(gè)LE,特性如下表:CycloneFPGA中的PLL只能由全局時(shí)鐘管腳CLK0-3驅(qū)動(dòng);一個(gè)PLL的輸出可以驅(qū)動(dòng)兩個(gè)內(nèi)部全局時(shí)鐘網(wǎng)絡(luò)和一個(gè)(或一對)I/O管腳;特性EP1C3EP1C4EP1C6EP1C12EP1C20LE2910400059801206020060M4KRAM1317205264鎖相環(huán)12222最大用戶I/O10430118524930123Cyclone中的時(shí)鐘資源24CycloneFPGA的鎖相環(huán)結(jié)構(gòu)25CycloneFPGA的配置與IO新特性Altera公司的FPGA由于基于SRAM工藝,掉電后數(shù)據(jù)會(huì)丟失,可使用EPCS1或EPCS4加載配置數(shù)據(jù);這種加載方式即為:主動(dòng)串行模式(ActiveSerial),Cyclone器件在加載是主動(dòng)發(fā)出發(fā)在時(shí)鐘和其他控制信號(hào),數(shù)據(jù)從串行加載芯片中讀出,送入FPGA的片內(nèi)SRAM,運(yùn)行。Cyclone可支持DDR存儲(chǔ)器接口;Cyclone器件支持高速LVDS接口,性能可以達(dá)到311Mbit/s,在這種接口下必須注意外部匹配電阻網(wǎng)絡(luò)的接法。2612、新一代低成本FPGA---CycloneIICycloneIIFPGA采用90nm工藝,器件規(guī)模是Cyclone的3倍;增加了硬的DSP塊;特性EP2C5EP2C8EP2C20EP2C35EP2C50LE46088256187523321668416M4KRAM363652105129鎖相環(huán)22444乘法器模塊13182635862728293013、FPGA基本應(yīng)用系統(tǒng)的設(shè)計(jì)FPGA最小系統(tǒng):FPGA是可以使FPGA正常工作的最簡單的系統(tǒng),它的外圍電路只包括FPGA必要的控制電路;最小系統(tǒng)主要包括:FPGA芯片、下載/配置電路、外部時(shí)鐘、復(fù)位電路和電源。如果需要使用NIOSII軟核嵌入式處理器還要包括Flash和SDRAM;FPGA的功能管腳包括:用戶I/O,可用做輸入或輸出,或者雙向口,或LVDS;配置管腳:電源管腳:時(shí)鐘管腳:特殊管腳:31下載配置與調(diào)試接口電路 FPGA是SRAM型結(jié)構(gòu),本身不能固化程序,因此需要一片F(xiàn)lash結(jié)構(gòu)的配置芯片來存儲(chǔ)邏輯配置信息,用于上電時(shí)配置;在把程序固化到配置芯片之前,一般先使用JTAG模式去調(diào)試程序,也就是把程序下載到FPGA上運(yùn)行,這種方式擦寫次數(shù)無限。32FPGA硬件系統(tǒng)的設(shè)計(jì)技巧FPGA的硬件設(shè)計(jì)不同于DSP和ARM系統(tǒng),比較靈活和自由,只要設(shè)計(jì)好專用管腳的電路,通用I/O的連接可以自己定義根據(jù)電路布局來分配管腳功能。在電路設(shè)計(jì)流程中,根據(jù)PCB的布局來對應(yīng)的調(diào)整原理圖中FPGA的管腳定義,可以降低后期布線的難度;預(yù)留測試點(diǎn)。FPGA的I/O數(shù)量非常多,除了能夠滿足設(shè)計(jì)需要的I/O外,還有一些剩余I/O沒有定義,用作預(yù)留的測試點(diǎn)使用;考慮到如果需要高速I/O的應(yīng)用,則應(yīng)設(shè)計(jì)相關(guān)的LVDS差分I/O接口;充分的濾波,建議相關(guān)電源I/O處加一個(gè)104濾波電容,提高穩(wěn)定性;FPGA具有內(nèi)核電壓和I/O電壓兩個(gè)電壓,要注意區(qū)分。33FPGA硬件系統(tǒng)的調(diào)試方法如果硬件系統(tǒng)設(shè)計(jì)為插入式的背板結(jié)構(gòu),由于FPGA管腳多,密度大,焊接時(shí)具有很大難度,一般焊接需要相當(dāng)熟練的水準(zhǔn),極易出現(xiàn)芯片與焊盤對不齊導(dǎo)致管腳大量粘連。背板式的設(shè)計(jì)中,用戶只需要設(shè)計(jì)外部I/O的接口電路就可以了,如LED,數(shù)據(jù)IO等。調(diào)試的過程中,可以借助用戶自行設(shè)計(jì)的LED來指示

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論