第一講可編程邏輯器件結(jié)構(gòu)_第1頁(yè)
第一講可編程邏輯器件結(jié)構(gòu)_第2頁(yè)
第一講可編程邏輯器件結(jié)構(gòu)_第3頁(yè)
第一講可編程邏輯器件結(jié)構(gòu)_第4頁(yè)
第一講可編程邏輯器件結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

可編程邏輯器件實(shí)驗(yàn)

第一部分:可編程邏輯器件結(jié)構(gòu)郭杰2012-11概述可編程邏輯器件概念(ProgrammableLogic

Device,簡(jiǎn)稱PLD)

PLD泛指由用戶編程,用戶可以配置的邏輯器件。它的基本邏輯結(jié)構(gòu)由與陣列和或陣列組成,能夠有效地實(shí)現(xiàn)“標(biāo)準(zhǔn)與或式”形式的布爾邏輯函數(shù)。

PLD的基本框圖PLD器件PLD誕生于20世紀(jì)70年代,經(jīng)歷了從PROM→PLA→PAL→GAL[低密度PLD]到SPLD→CPLD→FPGA[高密度PLD]的發(fā)展過(guò)程。PLD是最早的可編程邏輯器件,它包含兩個(gè)基本部分:邏輯陣列是用戶可編程的部分,它由“與”矩陣、“或”矩陣及反相器組成。輸出單元的作用是使設(shè)計(jì)者能改變PLD的輸出結(jié)構(gòu)。輸入信號(hào)通過(guò)“與”矩陣組合成為乘積項(xiàng),這些乘積項(xiàng)在“或”矩陣中相加,經(jīng)輸出單元或宏單元輸出。PLD器件以“與”“或”陣列結(jié)構(gòu)(即乘積項(xiàng)Product-Term)為基礎(chǔ)的PLD器件包括:可編程只讀存儲(chǔ)器PROM可編程邏輯陣列PLA可編程陣列邏輯PAL通用可編程陣列邏輯GAL簡(jiǎn)單可編程邏輯器件SPLD復(fù)雜可編程邏輯器件CPLD以查找表(LUT,Look-UpTable)結(jié)構(gòu)為基礎(chǔ)的PLD器件包括:現(xiàn)場(chǎng)可編程門(mén)陣列FPGAPLD器件分類根據(jù)結(jié)構(gòu)、集成度、編程方法分類:結(jié)構(gòu)[基于乘積項(xiàng)(與/或陣列可編程性)/基于LUT]PROM,PLA,PAL,CPLDFPGA集成度[低/高]PROM,PLA,PAL,

GALCPLD,FPGA編程方法掩模ROM熔絲/反熔絲PROM,PAL/ActelFPGA浮柵GAL,CPLDSRAM編程Xilinx/AlteraFPGAPLD器件——PROM最早出現(xiàn)的PLD就是可編程只讀存儲(chǔ)器PROM。它是由固定連接的“與”陣列和可編程的“或”陣列組成。PLD器件——PROMPROM缺點(diǎn):由于與陣列是固定的,不需編程,靈活性較差。而大多數(shù)邏輯函數(shù)不需要使用輸入的全部可能組合,這就使得PROM的與陣列不能充分利用,造成浪費(fèi)。為了增大芯片的容量,與門(mén)陣列可以做的很大,但陣列愈大,開(kāi)關(guān)延遲時(shí)間愈長(zhǎng),速度較慢。PLD器件——PLAPLA結(jié)構(gòu):PLA中包含一個(gè)可編程連接的“與”矩陣和一個(gè)可編程連接的“或”矩陣,為了減小陣列規(guī)模,提高器件速度,與門(mén)陣列不采用全譯碼式,與門(mén)個(gè)數(shù)小于2n(為輸入項(xiàng)數(shù))。PLD器件——PLAPLA應(yīng)用示例:例如:O0=I0·I1·I2+NOT(I1)·I2

O1=I0·I1·I2+NOT(I0)·NOT(I1)·NOT(I2)+I0·NOT(I1)·I2

O2=NOT(I0)·NOT(I1)·NOT(I2)+I1·I2

PLD器件——PLAPLA器件除了實(shí)現(xiàn)組合邏輯外,還可實(shí)現(xiàn)時(shí)序邏輯。PLA器件對(duì)于邏輯功能的處理比較靈活,但處理邏輯功能較簡(jiǎn)單的電路時(shí)比較浪費(fèi)資源,相應(yīng)的編程工具花費(fèi)也較大。因此在PLA器件的基礎(chǔ)上,發(fā)展了PAL器件和GAL等PLD器件。PLD器件——PALPAL:可編程陣列邏輯PAL對(duì)PLA的可編程結(jié)構(gòu)進(jìn)行了進(jìn)一步的簡(jiǎn)化,其與陣列可編程,或陣列固定。PLD器件——PALPAL器件具有靈活的設(shè)計(jì)功能,與PLA器件相比,體積小,功耗低,速度快,有防止復(fù)制該邏輯的保密熔絲,可實(shí)現(xiàn)產(chǎn)品的加密功能。缺點(diǎn)是PAL器件采用的熔絲工藝,一旦編程,無(wú)法改寫(xiě),而且不同的輸出結(jié)構(gòu)需要選用不同型號(hào)的PAL器件。PLD器件——GALGAL是基于PAL結(jié)構(gòu)的增強(qiáng)型器件,具有與PAL器件相同的基本結(jié)構(gòu)形式,既采用可編程“與”矩陣及固定的“或”矩陣結(jié)構(gòu),但是編程方式不同。GAL有如下優(yōu)點(diǎn):采用CMOS的浮柵工藝可以重復(fù)編程由于采用CMOS工藝而使器件速度提高,功耗下降具有不揮發(fā)性,在器件掉電后不必對(duì)GAL器件重新編程有一種“安全保護(hù)單元”,允許對(duì)GAL器件實(shí)現(xiàn)安全保護(hù)采用了一種可編程輸出邏輯宏單元OLMC(OutputLogicMacroCell)輸出邏輯宏單元OLMCGAL器件輸出邏輯宏單元(OLMC)OLMC的作用提供時(shí)序電路需要的寄存器或觸發(fā)器。提供多種形式的輸入/輸出方式。提供內(nèi)部信號(hào)反饋,控制輸出邏輯極性。分配控制信號(hào),如寄存器的時(shí)鐘和復(fù)位信號(hào),三態(tài)門(mén)的輸出使能信號(hào)。CPLD器件PAL的問(wèn)題太多的輸入和輸出延時(shí)受到“與”陣列的影響直接擴(kuò)展PAL結(jié)構(gòu)的效率不高CPLD是由多個(gè)類似PAL的功能塊組成,具有很長(zhǎng)的固定于芯片上的布線資源,通過(guò)位于中心的互連矩陣連接在一起。CPLD器件CPLD采用的是多路開(kāi)關(guān)的互連方式即集總總線方式,因而具有較大的時(shí)間可預(yù)測(cè)性??偩€上任意一對(duì)輸入端與輸出端之間的延時(shí)相等。CPLD的編程工藝有三種:EPROM工藝E2PROM工藝FLASH工藝PLD的編程方法——熔絲熔絲(Fuse)型開(kāi)關(guān)每個(gè)編程互聯(lián)節(jié)點(diǎn)上有熔絲,需要連接,保留熔絲;若需斷開(kāi),則用比工作電流大得多的編程電流燒斷熔絲。一次性編程。熔絲占芯片面積較大。PLD的編程方法——反熔絲反熔絲(Antifuse)型開(kāi)關(guān)未編程時(shí)開(kāi)關(guān)呈高阻(例如一對(duì)反向串聯(lián)的肖特基二極管),當(dāng)編程電壓加在開(kāi)關(guān)上將介質(zhì)擊穿后(使一個(gè)二極管永久性擊穿而短路),開(kāi)關(guān)呈現(xiàn)導(dǎo)通狀態(tài)。一次性編程。antifusepolysiliconONOdielectricn+

antifusediffusion2lPLD的編程方法——浮柵浮柵晶體管編程(EPROM、EEPROM和FlashROM)利用浮柵存儲(chǔ)電荷來(lái)保存數(shù)據(jù)??啥啻尉幊蹋且资Э芍貜?fù)擦除器件:GAL、CPLD。

EPROM紫外線擦除,擦除難度大。EEPROM電擦除。FlashROM快速電擦除EPROMEPROM存儲(chǔ)器EPROMEPROM的基本結(jié)構(gòu)是一個(gè)浮柵管,浮柵管相當(dāng)于一個(gè)電子開(kāi)關(guān),當(dāng)浮柵中注入電子時(shí),浮柵管截止;當(dāng)浮柵中沒(méi)有電子注入時(shí),浮柵管導(dǎo)通。與普通的NMOS管很相似,但有G1和G2兩個(gè)柵極,G1柵沒(méi)有引出線,被包圍在二氧化硅(SiO2)中,稱之為浮柵;G2為控制柵,有引出線。當(dāng)G1柵有電子積累時(shí),該MOS管的開(kāi)啟電壓變得很高,即使G2柵為高電平,該管仍不能導(dǎo)通,相當(dāng)于存儲(chǔ)了“0”。反之,當(dāng)G1柵無(wú)電子積累時(shí),MOS管的開(kāi)啟電壓較低,當(dāng)G2柵為高電平時(shí),該管可以導(dǎo)通,相當(dāng)于存儲(chǔ)了“1”。EPROM器件的上方有一個(gè)石英窗口,當(dāng)用光子能量較高的紫外光照射浮柵時(shí),G1中電子獲得了足夠的能量,穿過(guò)氧化層回到襯底中。這樣可使浮柵上的電子消失,達(dá)到抹去存儲(chǔ)信息的目的,相當(dāng)于存儲(chǔ)器又存入了全“1”。EEPROMEEPROM存儲(chǔ)器EEPROMEEPROM也可寫(xiě)成E2PROM,它是電可擦除電編程的元件。EEPROM有多種工藝,也是基于浮柵技術(shù)。具有兩個(gè)柵極的NMOS管,其中G1是控制柵,它是一個(gè)浮柵,無(wú)引出線;G2是抹去柵,它有引出線。在G1柵和漏極之間有一小面積的氧化層,其厚度極薄,可產(chǎn)生隧道效應(yīng)。當(dāng)G2柵加20V的正脈沖P1時(shí),通過(guò)隧道效應(yīng),電子由襯底注入到G1浮柵,相當(dāng)于存儲(chǔ)了“1”,利用此方法可將存儲(chǔ)器抹成全“1”狀態(tài)。存儲(chǔ)器在出廠時(shí),存儲(chǔ)內(nèi)容也為全“1”狀態(tài)。使用時(shí)可根據(jù)需要把某些存儲(chǔ)單元寫(xiě)“0”。寫(xiě)“0”時(shí)漏極D加20V正脈沖P2,G2柵接地,浮柵上電子通過(guò)隧道返回襯底,相當(dāng)于寫(xiě)“0”。EEPROM讀出時(shí),G2柵加3V的電壓,若G1柵有電子積累,則T2管不能導(dǎo)通,相當(dāng)于存“1”;若G1柵無(wú)電子積累,則T2管導(dǎo)通,相當(dāng)于存“0”。FlashROMFlashROM是一種新的可再編程只讀存儲(chǔ)器,它把EPROM的高密度、低成本的優(yōu)點(diǎn)與EEPROM的電擦除性能結(jié)合在一起。FlashROM與EPROM和EEPROM一樣屬于浮柵編程器件,其存儲(chǔ)單元也是由帶兩個(gè)柵極的MOS管組成。其中一個(gè)柵極稱為控制柵,連接到讀/寫(xiě)電路上;另一個(gè)柵極稱為浮置柵,位于控制柵與MOS管傳輸溝道之間,并完全處于絕緣的二氧化硅的包圍之中。閃速存儲(chǔ)器的編程和擦除分別采用了兩種不同的機(jī)理。在編程方法上,它與EPROM相似,利用“熱電子注入技術(shù)”,在擦除方法上則與EEPROM相似,利用“電子隧道效應(yīng)”。編程時(shí),一個(gè)高壓(12V)加到MOS管的控制柵,且漏極-源極偏置電壓為6~7V,MOS管強(qiáng)烈導(dǎo)通,溝道中的一些熱電子就具有了足夠的能量到達(dá)浮置柵,將MOS管的閾值電壓從大約2V提高到大約6V。擦除過(guò)程則利用電子的隧道效應(yīng)來(lái)完成,即在浮柵與MOS管溝道間極薄的氧化層上施加一個(gè)大電場(chǎng),使浮柵上的電子通過(guò)氧化層回到溝道中,從而擦除存儲(chǔ)單元中的內(nèi)容。FlashROMFlashROM在設(shè)計(jì)和工藝上與成熟的EPROM的產(chǎn)品十分相似,可以用類似于EPROM所用的工藝流程來(lái)制造。但兩者之間存在以下差別:FlashROM單元在源區(qū)利用分級(jí)雙擴(kuò)散;FlashROM有更薄的隧道氧化物層。PLD的編程方法——SRAM靜態(tài)配置存儲(chǔ)器(SRAM)編程SRAM,易失元件,XilinxFPGA每次加電必須重新配置,方便在線重置WLBLVDDM5M6M4M1M2M3BLQQConfig.ControlRead/Write.ControlDataIOCPLD器件CPLD采用的是多路開(kāi)關(guān)的互連方式即集總總線方式,因而具有較大的時(shí)間可預(yù)測(cè)性??偩€上任意一對(duì)輸入端與輸出端之間的延時(shí)相等。CPLD的編程工藝有三種:EPROM工藝E2PROM工藝FLASH工藝CPLD器件——Altera-MAX7000CPLD器件——內(nèi)部結(jié)構(gòu)分為三塊結(jié)構(gòu):宏單元(Macrocell),可編程連線(PIA)和I/O控制塊。宏單元是PLD的基本結(jié)構(gòu),由它來(lái)實(shí)現(xiàn)基本的邏輯功能。藍(lán)色部分是多個(gè)宏單元的集合(因?yàn)楹陠卧^多,沒(méi)有一一畫(huà)出)??删幊踢B線負(fù)責(zé)信號(hào)傳遞,連接所有的宏單元。I/O控制塊負(fù)責(zé)輸入輸出的電氣特性控制,比如可以設(shè)定集電極開(kāi)路輸出、擺率控制、三態(tài)輸出等。圖中左上的INPUT/GCLK1、INPUT/GCLRn、INPUT/OE1、INPUT/OE2是全局時(shí)鐘,清零和輸出使能信號(hào),這幾個(gè)信號(hào)有專用連線與PLD中每個(gè)宏單元相連,信號(hào)到每個(gè)宏單元的延時(shí)相同并且延時(shí)最短。CPLD器件——宏單元結(jié)構(gòu)CPLD器件——宏單元結(jié)構(gòu)左側(cè)是乘積項(xiàng)陣列,實(shí)際就是一個(gè)與或陣列,每一個(gè)交叉點(diǎn)都是一個(gè)可編程熔絲,如果導(dǎo)通就是實(shí)現(xiàn)“與”邏輯。后面的乘積項(xiàng)選擇矩陣是一個(gè)“或”陣列。兩者一起完成組合邏輯。圖右側(cè)是一個(gè)可編程D觸發(fā)器,它的時(shí)鐘,清零輸入都可以編程選擇,可以使用專用的全局清零和全局時(shí)鐘,也可以使用內(nèi)部邏輯(乘積項(xiàng)陣列)產(chǎn)生的時(shí)鐘和清零。如果不需要觸發(fā)器,也可以將此觸發(fā)器旁路,信號(hào)直接輸給PIA或輸出到I/O腳。FPGA器件由邏輯功能塊排列成陣列組成,并由可編程的內(nèi)部連線連接這些邏輯功能塊來(lái)實(shí)現(xiàn)不同的設(shè)計(jì)。更高密度,更復(fù)雜的布線結(jié)構(gòu)和邏輯實(shí)現(xiàn)。XilinxFPGA芯片內(nèi)部結(jié)構(gòu)FPGA器件典型的FPGA通常包含三類基本資源:可編程邏輯功能塊:是實(shí)現(xiàn)用戶功能的基本單元,多個(gè)邏輯功能塊通常規(guī)則地排成一個(gè)陣列結(jié)構(gòu),分布于整個(gè)芯片;可編程輸入/輸出塊:完成芯片內(nèi)部邏輯與外部管腳之間的接口,圍繞在邏輯單元陣列四周;可編程內(nèi)部互連資源:包括各種長(zhǎng)度的連線線段和一些可編程連接開(kāi)關(guān),它們將各個(gè)可編程邏輯塊或輸入/輸出塊連接起來(lái),構(gòu)成特定功能的電路。用戶可以通過(guò)編程決定每個(gè)單元的功能以及它們的互連關(guān)系,從而實(shí)現(xiàn)所需的邏輯功能。FPGA器件除了上述構(gòu)成FPGA基本結(jié)構(gòu)的三種資源以外,隨著工藝的進(jìn)步和應(yīng)用系統(tǒng)需求的發(fā)展,一般在FPGA中還可能包含以下可選資源:存儲(chǔ)器資源(塊RAM、分布式RAM);數(shù)字時(shí)鐘管理單元(分頻/倍頻、數(shù)字延遲、時(shí)鐘鎖定);算術(shù)運(yùn)算單元(高速硬件乘法器、乘加器);多電平標(biāo)準(zhǔn)兼容的I/O接口;高速串行I/O接口;特殊功能模塊(以太網(wǎng)MAC等硬IP核);微處理器(PowerPC405等硬處理器IP核)。例如:XilnxVirtex-II系列FPGAFPGA可編程單元結(jié)構(gòu)按編程的方式和邏輯功能的類型主要有三種:SRAM-查找表類型(以XilinxVirtex-II為例)反熔絲的多路開(kāi)關(guān)類型FPGA器件基于Flash的FPGAVirtexII器件結(jié)構(gòu)FPGA采用邏輯單元陣列LCA(LogicCellArray),內(nèi)部包括可配置邏輯模塊CLB(ConfigurableLogicBlock)、輸出輸入模塊IOB(InputOutputBlock)和內(nèi)部連線(Interconnect)三個(gè)部分I/OBlocks(IOBs)ConfigurableLogicBlocks(CLBs)ClockManagement(DCMs,BUFGMUXes)BlockSelectRAM?resourceDedicatedmultipliersProgrammableinterconnectXilinxVirtex-IIFPGA的CLB結(jié)構(gòu)Slice包含邏輯資源并被排列成兩列交換矩陣提供對(duì)通用布線資源的訪問(wèn)本地布線資源提供同一個(gè)CLB中的幾個(gè)Slice之間的互聯(lián)走線,并且提供到相鄰CLB的走線CINSwitchMatrixBUFTBUFTCOUTCOUTSliceS0SliceS1LocalRoutingSliceS2SliceS3CINSHIFTVirtex-IICLBcontainsfourslices可配置邏輯模塊(CLB,ConfigurableLogicBlock)XilinxVirtex-IIFPGA的Slice結(jié)構(gòu)每個(gè)Slice有4個(gè)輸出兩個(gè)寄存器輸出,兩個(gè)非寄存器輸出兩個(gè)BUFT與每個(gè)CLB相連,并能被CLB的所有16個(gè)輸出訪問(wèn)進(jìn)位邏輯垂直運(yùn)行,只向上進(jìn)位每個(gè)CLB有兩個(gè)獨(dú)立的進(jìn)位鏈簡(jiǎn)化的Slice結(jié)構(gòu)Slice0LUTCarryLUTCarryDQCEPRECLRDQCEPRECLRXilinxVirtex-IIFPGA的Slice結(jié)構(gòu)Slice特性LUTsMUXF5,MUXF6,MUXF7,MUXF8進(jìn)位邏輯MULT_ANDs時(shí)序元件詳細(xì)的Slice結(jié)構(gòu)FPGA——基于SRAM-查找表類型查找表(Look-Up-Table)簡(jiǎn)稱為L(zhǎng)UT,LUT本質(zhì)上就是一個(gè)RAM。目前FPGA中多使用4輸入的LUT,所以每一個(gè)LUT可以看成一個(gè)有4位地址線的16x1的RAM。當(dāng)用戶通過(guò)原理圖或HDL語(yǔ)言描述了一個(gè)邏輯電路以后,PLD/FPGA開(kāi)發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫(xiě)入RAM。這樣,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可。LUT也稱之為函數(shù)發(fā)生器(FGs)邏輯表達(dá)能力受限于輸入的數(shù)量,而不在于復(fù)雜性通過(guò)LUT的延遲是固定不變的布爾邏輯存儲(chǔ)在查找表(LUT)中CombinatorialLogicABCDZABCDZ000000001000100001110100101011...11000110101110011111FPGA器件的性能參數(shù)基本資源邏輯單元數(shù)量、等效邏輯門(mén)數(shù)量可用I/O片內(nèi)存儲(chǔ)資源附加資源時(shí)鐘管理,PLL,DLL,DCM高速I(mǎi)/O接口嵌入式微處理器硬件乘法器、DSP單元其他軟/硬IP其他指標(biāo)速度等級(jí)、功耗、成本、設(shè)計(jì)的安全性、封裝、工藝等CPLD與FPGA比較CPLD更適合完成各種組合邏輯,FPGA更適合于完成時(shí)序邏輯。換句話說(shuō),F(xiàn)PGA更適合于觸發(fā)器豐富的結(jié)構(gòu),而CPLD更適合于觸發(fā)器有限而乘積項(xiàng)豐富的結(jié)構(gòu)。CPLD的連續(xù)式布線結(jié)構(gòu)決定了它的時(shí)序延遲是均勻的和可預(yù)測(cè)的,而FPGA的分段式布

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論