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

付費(fèi)下載

下載本文檔

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

文檔簡介

第2章可編程邏輯器件2.1概論2.2簡單PLD原理2.3大規(guī)模PLD內(nèi)部資源2.4CPLD的結(jié)構(gòu)與工作原理2.5FPGA的結(jié)構(gòu)與工作原理2.6硬件測試技術(shù)2.7FPGA/CPLD產(chǎn)品概述2.8編程與配置1☆數(shù)字電路系統(tǒng)分為組合電路和時(shí)序電路,均可由基本門構(gòu)成?!罱M合電路在邏輯上輸出總是當(dāng)前輸入的函數(shù);時(shí)序電路的輸出是當(dāng)前系統(tǒng)狀態(tài)與當(dāng)前輸入的函數(shù),它含有存儲元件?!钊魏谓M合邏輯函數(shù)都可化為“與-或”表達(dá)式,從而都可用“與”門和“或”門來實(shí)現(xiàn)。時(shí)序電路都可由組合電路加上存儲元件(鎖存器、觸發(fā)器、RAM)構(gòu)成。由此,提出了乘積項(xiàng)邏輯可編程結(jié)構(gòu)。2.1概論P(yáng)LD(ProgrammableLogicDevice)2特點(diǎn):結(jié)構(gòu)簡單。后來,又根據(jù)ROM工作原理、地址信號和輸出數(shù)據(jù)的關(guān)系,以及ASIC的門陣列法得到啟發(fā),構(gòu)造出另一種可編程邏輯結(jié)構(gòu),即查找表邏輯。其邏輯函數(shù)采用RAM“數(shù)據(jù)”查找的方式,并使用多個查找表構(gòu)成一個查找表陣列,稱為可編程門陣列PGA(ProgrammableGateArray)?;綪LD器件的原理結(jié)構(gòu)圖輸入緩沖電路與陣列或陣列輸出緩沖電路輸入﹒︰輸出﹒︰32.1.1PLD的發(fā)展歷程20世紀(jì)70年代,最早的可編程邏輯器件PROM和PLA;20世紀(jì)70年代末,AMD公司推出PAL;20世紀(jì)80年代初,Lattice公司發(fā)明電可擦寫的GAL器件;20世紀(jì)80年代中期,Xilinx公司提出現(xiàn)場可編程概念,同時(shí)生產(chǎn)出世界上第一片F(xiàn)PGA器件;Altera公司推出EPLD器件,較GAL有更高的集成度,可用紫外線或電擦除;20世紀(jì)80年代末,Lattice公司又提出在系統(tǒng)可編程技術(shù),并推出一系列具有在系統(tǒng)可編程能力的CPLD器件,將可編程器件的性能和應(yīng)用技術(shù)推向了一個全新的高度;進(jìn)入20世紀(jì)90年代后,可編程集成電路技術(shù)進(jìn)入飛速發(fā)展時(shí)期。器件的可用邏輯門數(shù)超過百萬門,并出現(xiàn)了內(nèi)嵌復(fù)雜功能模塊(如加法器、乘法器、RAM、CPU核、DSP核、DLL等)的SOPC(SystemOnaProgrammableCircuit)。42.1.2PLD的種類及分類方法

低密度PLD、高密度PLD(超過500門)PLD低密度器件(LDPLD)PLA、PROM、PAL、GAL高密度器件(HDPLD)EPLD、CPLD、FPGA1、根據(jù)器件密度:5FPGA(FieldProgrammableGatesArray)分段式布線,延遲不可預(yù)測CPLD(ComplexProgrammableLogicDevice)連續(xù)式布線,延遲可預(yù)測3、互連結(jié)構(gòu)2、編程結(jié)構(gòu)

乘積項(xiàng)結(jié)構(gòu)(PROM、PLA、PAL、GAL、EPLD、CPLD)查找表結(jié)構(gòu)(FPGA)6熔絲(Fuse)型反熔絲(Anti-fuse)型:如Actel公司的FPGA器件EPROM(ErasablePROM)紫外線擦除,電可編程。EEPROM(ElectricallyEPROM)可直接用電擦寫Flash型(閃存):信息在一瞬間即可被存儲。SRAM型:編程速度、編程要求較低,被大部分FPGA采用,如Xilinx和Altera公司的FPGA。4、編程工藝7前五類編程元件為非易失性元件,編程后能使邏輯配置數(shù)據(jù)保持在器件上。SRAM類為易失性元件,即每次掉電后邏輯配置數(shù)據(jù)會丟失,需專用配置元件。熔絲型開關(guān)和反熔絲開關(guān)元件只能寫一次;采用浮柵編程的EPROM、EEPROM、Flash元件和SRAM編程元件則可以進(jìn)行多次編程。反熔絲開關(guān)元件一般用在要求較高的軍品系列(如通信衛(wèi)星、航空電子儀器等)器件上,而浮柵編程元件一般用在民品系列器件上。8基于SRAM的器件主要優(yōu)勢:新的設(shè)計(jì)思想可以很快的得到實(shí)現(xiàn)和驗(yàn)證;這些器件能夠站在技術(shù)的最前沿。在系統(tǒng)可編程(ISP)不利之處:

在系統(tǒng)每次上電時(shí)需要重新配置。這就需要使用專用的外部存儲器件(這就增加了板級有關(guān)的成本和面積消耗)或一個板上微處理器。9基于SRAM的器件安全問題:

知識產(chǎn)權(quán)很難得到保護(hù)。逆向工程竊取外部存儲器件中的知識產(chǎn)權(quán);或克隆設(shè)計(jì)功能。解決方案:比特流加密。最終的配置數(shù)據(jù)經(jīng)過加密后存入外部存儲器件,加載進(jìn)器件時(shí)對比特流進(jìn)行解密,并自動禁用FPGA的回讀功能。方案的缺點(diǎn):需在電路板上增加電池,在系統(tǒng)斷電時(shí)保持FPGA中密鑰寄存器的內(nèi)容。增加了電路板的尺寸、重量、復(fù)雜性和成本。10基于反熔絲的器件優(yōu)點(diǎn):非易失性。天生的“防輻射”,三倍相對不受電磁輻射的影響,多用于軍事和宇航。防盜。配置數(shù)據(jù)被深深嵌入器件內(nèi)部的金屬層,已編程器件會設(shè)置一個專門的反熔絲,防止內(nèi)部數(shù)據(jù)被讀出。11基于反熔絲的器件缺點(diǎn):OTP(OneTimeProgrammable)總是落后于基于SRAM的元件至少一代。因?yàn)樵谥饕闹圃爝^程合格后,還需要使用三個額外的處理步驟。專用編程器離線編程。12基于E2PROM/Flash的器件優(yōu)點(diǎn):非易失性可在系統(tǒng)編程,也可離線編程內(nèi)部邏輯更緊密缺點(diǎn):落后于基于SRAM工藝的器件一代或幾代。這類器件在標(biāo)準(zhǔn)CMOS工藝后還行大約5個額外的處理步驟。13Flash-SRAM混合器件特點(diǎn):每個配置單元由一個Flash或EEPROM單元和一個SRAM單元組合構(gòu)成。Flash單元可以提前編程,系統(tǒng)上電時(shí),數(shù)據(jù)并行復(fù)制到SRAM單元。重配置時(shí)既可以使用Flash單元也可以使用SRAM單元。14基于EPROM的器件

目前沒有基于EPROM的FPGA或CPLD。152.1.3可編程邏輯器件的發(fā)展趨勢待MRAM(磁阻式隨機(jī)訪問存儲器)技術(shù)走向成熟,F(xiàn)PGA的面貌很可能會因之改變。MRAM集成了SRAM的高速讀寫性能與閃存存儲器的非易失性,以磁電阻性質(zhì)來存儲數(shù)據(jù),采用磁化的方向不同所導(dǎo)致的磁電阻不同來記錄0和1,只要外部磁場不改變,磁化的方向就不會變化。162.2簡單PLD的原理輸入緩沖電路:主要用來對輸入信號進(jìn)行預(yù)處理,產(chǎn)生輸入變量的原變量和反變量;與陣列:產(chǎn)生輸入變量的與項(xiàng)(乘積項(xiàng));或陣列:將與陣列輸出的乘積項(xiàng)有選擇地進(jìn)行和運(yùn)算,形成與或式,從而實(shí)現(xiàn)不同的邏輯函數(shù);輸出緩沖電路:主要用來對輸出信號進(jìn)行處理,用戶可以根據(jù)需要選擇各種靈活的輸出方式(組合方式、時(shí)序方式)。17緩沖電路表示方法為了使輸入信號具有足夠的驅(qū)動能力并產(chǎn)生原變量和反變量兩個互補(bǔ)的信號,PLD的輸入緩沖器和反饋緩沖器都采用互補(bǔ)的輸出結(jié)構(gòu)。18與門表示法19或門表示法20PLD連接的表示法硬線連接是不可編程的,而接通和開斷連接是靠編程實(shí)現(xiàn)的。在熔絲式工藝的PLD中(如PAL),接通對應(yīng)于熔絲未熔斷,開斷對應(yīng)于熔絲被熔斷;在E2CMOS工藝的PLD中(如GAL),接通對應(yīng)于一個基本單元的導(dǎo)通狀態(tài),稱此單元為被編程單元,開斷對應(yīng)于該單元的截止?fàn)顟B(tài),稱此單元為被擦除單元。212.2.1可編程只讀存儲器PROMPROM是由固定的“與”陣列和可編程的“或”陣列組成的。與陣列構(gòu)成地址譯碼器,“.”是固定的聯(lián)結(jié)點(diǎn);或陣列是存儲矩陣,“×”表示用戶可編程。22PROM結(jié)構(gòu)

連接點(diǎn)編程時(shí),需畫一個叉。23PROM結(jié)構(gòu)簡化圖24

與陣列輸出為n個輸入變量可能產(chǎn)生的全部最小項(xiàng),即2n個最小項(xiàng)?;蜿嚵惺强删幊痰模總€或門有2n個輸入可供選用,由用戶編程來選定。所以,在PROM的輸出端,輸出表達(dá)式是最小項(xiàng)之和的標(biāo)準(zhǔn)與或式。PROM應(yīng)用25例1:用PROM設(shè)計(jì)一個π發(fā)生器,輸入為4位二進(jìn)制代碼,輸出為8421碼。該電路串行產(chǎn)生常數(shù)π,若取小數(shù)點(diǎn)后15位,則π=3.141592653589793。

WXYZ與陣列或陣列26例2:用PROM設(shè)計(jì)一個全加器。SiCi與陣列或陣列AiBiCi-1SiCi

0000010110101111100010011001011101010101對于大多數(shù)邏輯函數(shù)而言,并不需要使用全部最小項(xiàng),造成浪費(fèi)。272.2.2PLA結(jié)構(gòu)PLA(ProgrammableLogicArray)是處理邏輯函數(shù)的一種更有效的方法,其結(jié)構(gòu)與ROM類似,但它的與陣列是可編程的,且不是全譯碼方式而是部分譯碼方式,只產(chǎn)生函數(shù)所需要的乘積項(xiàng)。

或陣列也是可編程的,它選擇所需要的乘積項(xiàng)來完成或功能。在PLA的輸出端產(chǎn)生的邏輯函數(shù)是簡化的與或表達(dá)式。2829PLA應(yīng)用首先根據(jù)邏輯要求列出真值表,得出最簡表達(dá)式;然后把真值表的輸入作為PLA的輸入,畫出相應(yīng)的陣列圖。例1:用PLA設(shè)計(jì)一個代碼轉(zhuǎn)換電路,將一位十進(jìn)制數(shù)的8421碼轉(zhuǎn)換成余三碼。30WXYZ與陣列或陣列31PROM和PLA的缺陷PROM和PLA都存在著致命的缺陷:PROM器件在輸入數(shù)目增加時(shí),與陣列的輸出信號線數(shù)目以2的級數(shù)增加;PLA器件制造工藝復(fù)雜,器件工作速度慢,且缺乏相應(yīng)的EDA軟件支撐。因此除PROM還被用來存儲數(shù)據(jù)以外,PLA已處于被淘汰的邊緣。32PAL(ProgrammableArrayLogic)是在ROM和PLA基礎(chǔ)上發(fā)展起來的,它采用可編程的與陣列和固定的或陣列組成。2.2.3PAL結(jié)構(gòu)33每個交叉點(diǎn)都可編程。L1L1為兩個乘積項(xiàng)之和。與陣列可編程,或陣列不可編程。34例:用PAL實(shí)現(xiàn)組合邏輯函數(shù)。3536存儲器型PAL時(shí)序PLD中的宏單元:在組合PLD的“與-或”陣列和輸出緩沖電路之間插入觸發(fā)器,構(gòu)成一種時(shí)序邏輯的基本宏單元。各三態(tài)緩沖門控制端都連接在同一輸出使能線上,受OE控制。各觸發(fā)器時(shí)鐘也連接到同一CLK上,使所有觸發(fā)器同時(shí)刷新。改進(jìn)后形成輸出邏輯宏單元(OLMC),即時(shí)序PLD的輸出。3738組合PLD特點(diǎn)PLA缺少高質(zhì)量的支撐軟件和編程工具,且價(jià)格昂貴,因而使用不廣泛。與中小規(guī)模集成器件比,PAL通用性好,速度和集成度均有所提高,靈活度得到改善。但它采用的是雙極性熔絲技術(shù),編程后無法更改,且PAL實(shí)現(xiàn)的時(shí)序電路有限。因此引入了時(shí)序可編程邏輯器件GAL。39GAL結(jié)構(gòu)與PAL相同,由可編程的與陣列去驅(qū)動一個固定的或陣列,其差別在于輸出結(jié)構(gòu)不同。寄存器型PAL的輸出是一個有記憶功能的D觸發(fā)器,而GAL器件的每一個輸出端都有一個可組態(tài)的輸出邏輯宏單元OLMC(OutputLogicMacroCells)。GAL采用高速的電可擦除的E2CMOS工藝,具有速度快、功耗低、集成度高等特點(diǎn)。2.2.4通用陣列邏輯GAL結(jié)構(gòu)40GAL和PAL在結(jié)構(gòu)上的區(qū)別見下圖:PAL結(jié)構(gòu)GAL結(jié)構(gòu)適當(dāng)?shù)貫镺LMC進(jìn)行編程,GAL就可以在功能上代替前面討論過的PAL各種輸出類型以及其派生類型41(一)GAL器件結(jié)構(gòu)和特點(diǎn)GAL器件型號定義和PAL一樣根據(jù)輸入輸出的數(shù)量來確定,GAL16V8中的16表示陣列的輸入端數(shù)量,8表示輸出端數(shù)量,V則表示輸出形式可以改變的普通型。1.GAL16V8的基本結(jié)構(gòu)(下圖)8個輸入緩沖器8個輸出反饋緩沖器一個共用時(shí)鐘CLK8個輸出緩沖器8個OLMC422.GAL輸出邏輯宏單元OLMC的組成輸出邏輯宏單元OLMC由或門、異或門、D觸發(fā)器、多路選擇器MUX、時(shí)鐘控制、使能控制和編程元件等組成,如下圖:組合輸出時(shí)序輸出433.輸出邏輯宏單元OLMC組態(tài)輸出邏輯宏單元由對AC1(n)和AC0進(jìn)行編程決定PTMUX、TSMUX、OMUX和FMUX的輸出,共有5種基本組態(tài):專用輸入組態(tài)、專用輸出組態(tài)、復(fù)合輸入/輸出組態(tài)、寄存器組態(tài)和寄存器組合I/O組態(tài)。8個宏單元可以處于相同的組態(tài),或者有選擇地處于不同組態(tài)。4、GAL的工作模式

GAL16V8有三種工作模式,即簡單型、復(fù)雜型和寄存器型。446、GAL編程與開發(fā)

除isp系列GAL可在系統(tǒng)編程,其他需專用編程器。GAL的編程有相應(yīng)的軟件,可以用邏輯圖的形式給出,也可以用特定格式的表達(dá)式描述。無論用什么方式描述邏輯功能,最終都要編譯成對應(yīng)交叉點(diǎn)通斷的編程文件,最后用編程器寫入就可以了。GAL設(shè)有加密位,加密后不能讀出內(nèi)部的編程狀態(tài)。原始設(shè)計(jì)要求HDL描述電路功能輸入狀態(tài)表狀態(tài)圖邏輯方程驗(yàn)證、仿真排錯、優(yōu)化編譯熔絲圖文件編程器GAL器件457、GAL是繼PAL之后具有較高性能的PLD,和PAL相比,具有以下特點(diǎn):(1)有較高的通用性和靈活性:它的每個邏輯宏單元可以根據(jù)需要任意組態(tài)既可實(shí)現(xiàn)組合電路,又可實(shí)現(xiàn)時(shí)序電路。(2)100%可編程:GAL采用浮柵編程技術(shù),使與陣列以及邏輯宏單元可以反復(fù)編程,當(dāng)編程或邏輯設(shè)計(jì)有錯時(shí),可以擦除重新編程、反復(fù)修改,直到得到正確的結(jié)果,因而每個芯片可100%編程。(3)100%可測試:GAL的宏單元接成時(shí)序狀態(tài),可以通過測試軟件對它門的狀態(tài)進(jìn)行預(yù)置,從而可以隨意將電路置于某一狀態(tài),以縮短測試過程,保證電路在編程以后,對編程結(jié)果100%可測。(4)高性能的E2COMS工藝:使GAL的高速度、低功耗,編程數(shù)據(jù)可保存20年以上。正是由于這些良好的特性,使GAL器件成為數(shù)字系統(tǒng)設(shè)計(jì)的初期理想器件。46GAL器件仍然存在著以下問題:時(shí)鐘必須共用;或的乘積項(xiàng)最多只有8個;GAL器件的規(guī)模小,達(dá)不到在單片內(nèi)集成一個數(shù)字系統(tǒng)的要求;盡管GAL器件有加密的功能,但隨著解密技術(shù)的發(fā)展,對于這種陣列規(guī)模小的可編程邏輯器件解密已不是難題。以上三種PLA、PAL、GAL屬于早期的小規(guī)模的PLD器件,內(nèi)部結(jié)構(gòu)簡單,工作速度快,適于完成較簡單的邏輯功能。47PAL和GAL的區(qū)別PAL和GAL的基本門陣列部分的結(jié)構(gòu)是相同的,即“與陣列”是可編程的,“或陣列”是固定連接的。它們之間的差異除了表現(xiàn)在輸出結(jié)構(gòu)上,還在于PAL器件只能編程一次,而GAL器件則可以反復(fù)編程,這一點(diǎn)使得GAL器件更受用戶的歡迎。從GAL器件開始出現(xiàn)宏單元的概念。在GAL器件中稱為OLMC(OutputLogicMacroCell)482.3大規(guī)模PLD內(nèi)部資源2.3.1可編程邏輯塊一、基于MUX與基于LUT的邏輯塊。以一個3輸入函數(shù)y=ab+c為例。49基于MUX(多路復(fù)用器)的體系結(jié)構(gòu)50基于LUT(查找表)的體系結(jié)構(gòu)主流FPGA采用4輸入LUT結(jié)構(gòu)。51LUT、分布式RAM、移位寄存器LUT核往往包含大量SRAM單元,一些廠商允許將這些SRAM單元作為一個小塊的RAM使用。如4輸入LUT可作為一個16×1RAM使用。由于LUT分散在芯片的各個部分,所以稱為分布式RAM。另外,所有的FPGA配置單元實(shí)際上串在一起成為一個長鏈,有些廠商允許構(gòu)成LUT的SRAM單獨(dú)使用,構(gòu)成移位寄存器。52多面LUT53二、LC和LE、Slice和Dicing、

CLB和LAB不同廠商對相同或類似東西的不同命名,只有實(shí)際用到哪個廠商的芯片時(shí)才有意義。以Xilinx公司的為例。

LC(LogicCell)由一個4輸入LUT、一個多路復(fù)用器和一個寄存器構(gòu)成。除此之外,LC也包含其它元件,如一些用于算術(shù)運(yùn)算的專用快速進(jìn)位邏輯。54Slice(切片)由多個LC構(gòu)成,不同系列芯片有所不同。由兩個LC構(gòu)成的Slice55CLB(ConfigurableLogicBlock)由多個Slice構(gòu)成,不同系列芯片有所不同。由4個Slice構(gòu)成的CLB56綜合以上,LUT→LC→Slice→CLB。

等效層次間可以互相補(bǔ)充。即同一個Slice中的多個LC間具有快速互連結(jié)構(gòu),同一個CLB的多個Slice間互連稍慢,接下來是CLB間互連。這樣很容易將它們互連在一起,但又不會增加太多的互連延遲,達(dá)到優(yōu)化平衡。另外,如果LUT用作移位寄存器的話,由于這些專用互連的存在,就允許同一Slice內(nèi)的一個寄存器的最后一位連接到另一個寄存器的第一位,構(gòu)成更大的移位寄存器。以此可類推到CLB內(nèi)及CLB間?!羝渌恍┟~是Altera公司常用的結(jié)構(gòu)劃分命名。572.3.2嵌入式模塊一、嵌入式RAM

也稱為e-RAM或塊RAM,根據(jù)不同的元件結(jié)構(gòu)可能位于器件的外圍、孤立分散在芯片的表面或按列組織,可能保存數(shù)千到數(shù)萬bit數(shù)據(jù),一個器件中可能包含幾十到數(shù)百個這樣的RAM,可提供數(shù)百K到數(shù)Mbit數(shù)據(jù)。每個RAM塊可單獨(dú)使用,也可多個連在一起構(gòu)成更大的RAM塊??捎糜诙喾N用途,如標(biāo)準(zhǔn)單口或雙口RAM、FIFO、狀態(tài)機(jī)等。58具有嵌入式RAM塊列的芯片鳥瞰圖59二、嵌入式乘法器、加法器和MAC等象乘法器,如果用大量的可編程邏輯塊連在一起實(shí)現(xiàn)速度會很慢,所以很多FPGA嵌入了專門的硬線乘法器塊。一般緊鄰嵌入式RAM塊,因?yàn)檫@些功能經(jīng)常同時(shí)使用。具有嵌入式乘法器和RAM塊列的芯片鳥瞰圖60二、嵌入式乘法器、加法器和MAC等在DSP型的應(yīng)用里常用到乘累加(MAC),即把兩個數(shù)相乘再把結(jié)果累加到總和當(dāng)中。有些FPGA還提供了專用的加法器模塊,有的甚至提供完整的MAC塊。61三、嵌入式處理器核電子設(shè)計(jì)中,幾乎所有部分都可以用硬件(邏輯門和寄存器等)或軟件(在微處理器中按指令執(zhí)行)來實(shí)現(xiàn),區(qū)分的標(biāo)準(zhǔn)是:任務(wù)執(zhí)行時(shí)的期望速度。

皮秒、納秒邏輯——運(yùn)行非???,必須用硬件;

微秒邏輯——運(yùn)行相當(dāng)快,可用硬件也可用軟件;

毫秒邏輯——用來實(shí)現(xiàn)接口功能的,這些任務(wù)在微處理器上運(yùn)行代碼比較好。高端FPGA包含一個或多個嵌入式微處理器,一般稱為微處理器核,分為硬核和軟核。62微處理器硬核微處理器硬核是一種專用的、預(yù)定義好的塊。有兩種途徑集成到FPGA中。第一種,放在FPGA主結(jié)構(gòu)一側(cè)的長條形區(qū)域窄帶中。優(yōu)勢:FPGA主結(jié)構(gòu)完全相同,便于應(yīng)用;存儲器、專用外圍設(shè)備等可以裝入窄帶便于輔助微處理器。63微處理器硬核第二種,直接放在FPGA主結(jié)構(gòu)中。這樣,對設(shè)計(jì)工具要求較高,要能夠考慮到這些塊在主結(jié)構(gòu)中的存在,核用的存儲器由嵌入式RAM實(shí)現(xiàn),外設(shè)由通用可編程邏輯塊實(shí)現(xiàn)。64微處理器軟核

用通用可編程邏輯塊配置成一個微處理器。根據(jù)被映射為邏輯塊的方式不同,可以稱為“軟核”或“固核”。與硬核相比,軟核簡單,但是速度慢。652.3.3時(shí)鐘樹和時(shí)鐘管理器FPGA內(nèi)部所有同步部件都需要的時(shí)鐘信號一般來自外部,通過專用時(shí)鐘輸入引腳進(jìn)入FPGA,然后傳送到整個器件并連接到適當(dāng)?shù)募拇嫫?。片?nèi)的時(shí)鐘網(wǎng)絡(luò),稱為時(shí)鐘樹。主時(shí)鐘信號在芯片內(nèi)一次又一次地進(jìn)行分支,以此保證所有觸發(fā)器的時(shí)鐘信號盡可能一致,否則會產(chǎn)生時(shí)鐘偏移。662.3.3時(shí)鐘樹和時(shí)鐘管理器配置時(shí),如果時(shí)鐘引腳不直接連接到內(nèi)部時(shí)鐘樹,也可以先驅(qū)動一個專用硬線功能塊—時(shí)鐘管理器,由時(shí)鐘管理器產(chǎn)生一系列的子時(shí)鐘,由子時(shí)鐘驅(qū)動內(nèi)部時(shí)鐘樹或其它需要時(shí)鐘的部件。時(shí)鐘管理器可以完成的功能:

消除抖動、頻率合成、相位調(diào)整、自動偏移校正等。672.3.4通用I/O通用I/O的標(biāo)準(zhǔn)是可配置的。設(shè)計(jì)電路時(shí),工程師會選擇一個特定的標(biāo)準(zhǔn)來傳輸數(shù)據(jù)信號,比如邏輯1和邏輯0的電平。而這一類的標(biāo)準(zhǔn)很多,因此,I/O信號被分成大量的簇(Bank),每個簇可以獨(dú)立配置成支持一種特定的I/O標(biāo)準(zhǔn)。通用I/O的阻抗是可配置的。為了防止信號的邊界反射,一般在FPGA外部電路板上為I/O引腳設(shè)置適當(dāng)?shù)慕K端電阻。隨著引腳數(shù)目的增加和間距的減小,終端電阻都配置在FPGA內(nèi)部,大小可由用戶根據(jù)電路板環(huán)境和I/O標(biāo)準(zhǔn)來進(jìn)行調(diào)整。682.3.4通用I/O采用不同的核心電壓(VCCINT)和I/O電壓(VCCIO)。一般核心電壓與制作工藝成正比例關(guān)系,但是由于晶體管輸入變換閾值與電壓降有關(guān),所以這個規(guī)律不能持續(xù)到1V以下。另外,不同I/O標(biāo)準(zhǔn)可能使用明顯不同于核心電壓的電平,因此每個簇具有自身額外的電源輸入引腳。692.3.5通用I/O采用不同的核心電壓(VCCINT)和I/O電壓(VCCIO)。一般核心電壓與制作工藝成正比例關(guān)系,但是由于晶體管輸入變換閾值與電壓降有關(guān),所以這個規(guī)律不能持續(xù)到1V以下。另外,不同I/O標(biāo)準(zhǔn)可能使用明顯不同于核心電壓的電平,因此每個簇具有自身額外的電源輸入引腳。702.3.6吉比特收發(fā)器、快速進(jìn)位鏈高端FPGA都包含專門的硬線吉比特收發(fā)器塊,用來高速傳送數(shù)據(jù),代替?zhèn)鹘y(tǒng)的總線結(jié)構(gòu)。此外,F(xiàn)PGA還包含有快速進(jìn)位鏈,用來實(shí)現(xiàn)LUT用作移位寄存器、嵌入式模塊等功能。71CPLD:ComplexProgrammableLogicDevice在單片芯片內(nèi)可以集成成千上萬個等效門。

早期CPLD大多采用EPROM編程技術(shù),過程和簡單PLD一樣,每次編程都需要專用或通用設(shè)備。后來采用E2ROM和Flash技術(shù),使CPLD具有了“在系統(tǒng)可編程(isp)”特性。這類器件不需要專門編程器,編程電路和升壓電路集成在ISP器件內(nèi)部。2.4

CPLD的結(jié)構(gòu)與工作原理72CPLD的結(jié)構(gòu)邏輯塊相當(dāng)于GAL器件。邏輯塊間可用可編程內(nèi)部連線實(shí)現(xiàn)相互連接。為增強(qiáng)對I/O的控制能力,提高引腳的適應(yīng)性,CPLD還增加了I/O控制塊,每個I/O塊中有若干個I/O單元。73在系統(tǒng)編程芯片EPM7128S是Altera公司生產(chǎn)的高密度、高性能CMOS可編程邏輯器件之一,下圖是PLCC封裝84端子的引腳圖:它有4個直接輸入(INPUT)TMS、TDI、TDO和TCK是在系統(tǒng)編程引腳64個I/O引腳在系統(tǒng)編程芯片EPM7128S的基本結(jié)構(gòu)74下圖是EPM7128S器件結(jié)構(gòu)圖:由8個相似的邏輯陣列塊(LogicArrayBlock,LAB)、一個可編程內(nèi)連矩陣(PIA)和多個輸入/輸出控制塊(I/OBlock)組成。751、邏輯陣列塊(LAB)每個LAB由16個宏單元構(gòu)成,多個宏單元之間通過可編程連線陣列(ProgrammableInterconnectArry,PIA)和全局總線連接。全局總線從所有的專用輸入、I/O引腳和宏單元饋入信號。對于每個LAB有下列輸入信號:來自作為通用邏輯輸入的PIA的36個信號;全局控制信號,用于寄存器輔助功能;從I/O引腳到寄存器的直接輸入通道。76宏單元由邏輯陣列(與、或陣列)、乘積項(xiàng)選擇矩陣和可編程寄存器組成,可被單獨(dú)配置成組合邏輯和時(shí)序邏輯。邏輯陣列實(shí)現(xiàn)組合邏輯,可為每個宏單元提供5個乘積項(xiàng)。乘積項(xiàng)選擇矩陣分配乘積項(xiàng)。Ⅰ、作為“或門”或“異或門”輸入實(shí)現(xiàn)組合邏輯;Ⅱ、作為寄存器的輔助輸入:清零、置位、時(shí)鐘和時(shí)鐘使能控制。77并行擴(kuò)展項(xiàng)來自其它宏單元共享邏輯擴(kuò)展項(xiàng)可配置成D、T、JK、RS有3種工作模式78時(shí)鐘工作模式:全局時(shí)鐘信號。能實(shí)現(xiàn)最快的時(shí)鐘到輸出性能,全局時(shí)鐘直接連向寄存器的CLK端。全局時(shí)鐘信號由高電平有效的時(shí)鐘信號使能。能提供給每個觸發(fā)器的時(shí)鐘使能信號,由于仍使用全局時(shí)鐘,輸出速度較快。用乘積項(xiàng)實(shí)現(xiàn)一個陣列時(shí)鐘。觸發(fā)器由來自宏單元或I/O引腳的信號進(jìn)行鐘控,其速度稍慢。79擴(kuò)展乘積項(xiàng)

每個宏單元提供5個乘積項(xiàng),但復(fù)雜的邏輯函數(shù)需要附加乘積項(xiàng)??捎善渌陠卧驍U(kuò)展項(xiàng)提供。擴(kuò)展項(xiàng)有兩種:*共享擴(kuò)展項(xiàng)。由每個宏單元提供一個單獨(dú)的乘積項(xiàng),通過一個非門反饋到邏輯陣列中,可被LAB內(nèi)任何一個或全部宏單元使用或共享。每個LAB有16個共享擴(kuò)展項(xiàng)。*并聯(lián)擴(kuò)展項(xiàng)。并聯(lián)擴(kuò)展項(xiàng)是宏單元中一些沒使用的乘積項(xiàng),可分配到鄰近的宏單元去實(shí)現(xiàn)快速、復(fù)雜的邏輯函數(shù)。使用并聯(lián)擴(kuò)展項(xiàng),允許最多20個乘積項(xiàng),5個由宏單元本身提供,另外15個并聯(lián)擴(kuò)展項(xiàng)從同一LAB中鄰近宏單元借用。8081822、可編程連線陣列(PIA)可編程通道,把器件中任何信號連接到其目的地。所有MAX7000S器件的專用輸入、I/O引腳和宏單元輸出都連接到PIA,由PIA把這些信號送到整個器件的各個地方。由于PIA有固定的延時(shí),使得器件延時(shí)性能容易預(yù)測。833、I/O控制塊I/O控制塊允許每個I/O引腳單獨(dú)配置為輸入、輸出和雙向工作方式。所有I/O引腳都有一個由選擇器控制的三態(tài)緩沖器。當(dāng)控制端接地時(shí),輸出為高阻態(tài),此時(shí)I/O作為專用輸入引腳。當(dāng)控制端接VCC時(shí),作為普通輸出引腳。84前面討論的可編程邏輯器件基本組成部分是與陣列、或陣列和輸出電路。再加上觸發(fā)器則可實(shí)現(xiàn)時(shí)序電路。本節(jié)介紹的FPGA(FieldProgrammableGateArray)不像PLD那樣受結(jié)構(gòu)的限制,它可以靠門與門的連接來實(shí)現(xiàn)任何復(fù)雜的邏輯電路,更適合實(shí)現(xiàn)多級邏輯功能。陸續(xù)推出了新型的現(xiàn)場可編程門陣列FPGA。功能更加豐富,具有基本邏輯門電路、傳輸外部信號的輸入/輸出電路和可編程內(nèi)連資源之外,還具有很高的密度等等。2.5FPGA的結(jié)構(gòu)與工作原理85Cyclone系列器件的結(jié)構(gòu)與原理Altera公司的一款低成本、高性價(jià)比的FPGA,具有典型性。由邏輯陣列塊(LAB)、嵌入式存儲器塊、I/O單元和PLL等模塊構(gòu)成,各模塊間有豐富的互聯(lián)線和時(shí)鐘網(wǎng)絡(luò)??删幊藤Y源主要來自LAB,每個LAB都由多個LE(LogicElement)構(gòu)成。LE是FPGA的最基本可編程單元。86現(xiàn)場可編程門陣列FPGA結(jié)構(gòu)快速通道互連I/O單元87FPGA的編程單元是基于靜態(tài)存儲器(SRAM)的查找表結(jié)構(gòu),從理論上講,具有無限次重復(fù)編程的能力。(LookUpTable,LUT)1、查找表邏輯結(jié)構(gòu)88892、嵌入式陣列塊EABEAB是在輸入輸出口上帶有寄存器的靈活RAM塊,用于實(shí)現(xiàn)一般陣列宏功能。因其大而靈活,也適用于實(shí)現(xiàn)乘法器、適量定標(biāo)器和錯誤校正電路等功能。這些功能結(jié)合在一起就可實(shí)現(xiàn)數(shù)字濾波器和微控制器??杀粎?shù)化功能模塊(LPM)自動利用。EAB用作RAM時(shí),可構(gòu)成多個尺寸。根據(jù)需要,軟件可以使器件中的所有EAB級聯(lián)成一個單一的RAM。能在級聯(lián)多達(dá)2048字時(shí)而不影響時(shí)序。903、邏輯陣列塊LABLAB由一系列相鄰的LE構(gòu)成。CycloneLAB包含10個LE、LE進(jìn)位鏈和級聯(lián)鏈、LAB控制信號、LAB局部互聯(lián)、LUT鏈和寄存器鏈。91LE結(jié)構(gòu)組合邏輯時(shí)序邏輯92特點(diǎn)LE有3個輸出來驅(qū)動內(nèi)部互連。一個驅(qū)動局部互連,另兩個驅(qū)動行或列的互連資源。LUT和寄存器的輸出可以單獨(dú)控制??蓪?shí)現(xiàn)一個LE中LUT驅(qū)動一個輸出,而寄存器驅(qū)動另一個輸出。因此一個LE中的LUT和寄存器可以實(shí)現(xiàn)不相關(guān)的功能,提高了LE的資源利用率。LE可以通過LUT鏈和寄存器鏈互連。在同一個LAB中的LE,通過LUT鏈互連實(shí)現(xiàn)寬輸入(輸入多于4個)的邏輯功能;通過寄存器鏈互連構(gòu)成移位寄存器,而LUT還可以實(shí)現(xiàn)其它組合邏輯功能。Cyclone的LE可以工作在普通模式和動態(tài)算術(shù)模式下。93普通模式適合通用邏輯應(yīng)用和組合邏輯的實(shí)現(xiàn)。每一個LE可以通過LUT鏈連接到下一個LE。此模式下LE的輸入信號可作為Reg的異步裝載信號。94動態(tài)算術(shù)模式可更好的實(shí)現(xiàn)加法器、計(jì)數(shù)器、累加器、寬輸入奇偶校驗(yàn)器和比較器。

此模式的LE內(nèi)包含4個二輸入LUT,可被配置成動態(tài)的加法/減法器結(jié)構(gòu)。952個二輸入LUT用于計(jì)算和信號,另外兩個用來生成進(jìn)位輸出信號。964、互連信號

作用:(在同一個LAB中)局部互連可以驅(qū)動LE、連接行與列互連、在LE之間傳輸信號;LUT鏈用來鏈接LE的LUT輸出和下一個LE的LUT的輸入;寄存器鏈用來LE的寄存器輸出和下一個LE的寄

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論