第一講可編程邏輯器件結構_第1頁
第一講可編程邏輯器件結構_第2頁
第一講可編程邏輯器件結構_第3頁
第一講可編程邏輯器件結構_第4頁
第一講可編程邏輯器件結構_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

可編程邏輯器件實驗

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

Device,簡稱PLD)

PLD泛指由用戶編程,用戶可以配置的邏輯器件。它的基本邏輯結構由與陣列和或陣列組成,能夠有效地實現“標準與或式”形式的布爾邏輯函數。

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

GALCPLD,FPGA編程方法掩模ROM熔絲/反熔絲PROM,PAL/ActelFPGA浮柵GAL,CPLDSRAM編程Xilinx/AlteraFPGAPLD器件——PROM最早出現的PLD就是可編程只讀存儲器PROM。它是由固定連接的“與”陣列和可編程的“或”陣列組成。PLD器件——PROMPROM缺點:由于與陣列是固定的,不需編程,靈活性較差。而大多數邏輯函數不需要使用輸入的全部可能組合,這就使得PROM的與陣列不能充分利用,造成浪費。為了增大芯片的容量,與門陣列可以做的很大,但陣列愈大,開關延遲時間愈長,速度較慢。PLD器件——PLAPLA結構:PLA中包含一個可編程連接的“與”矩陣和一個可編程連接的“或”矩陣,為了減小陣列規模,提高器件速度,與門陣列不采用全譯碼式,與門個數小于2n(為輸入項數)。PLD器件——PLAPLA應用示例:例如: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器件除了實現組合邏輯外,還可實現時序邏輯。PLA器件對于邏輯功能的處理比較靈活,但處理邏輯功能較簡單的電路時比較浪費資源,相應的編程工具花費也較大。因此在PLA器件的基礎上,發展了PAL器件和GAL等PLD器件。PLD器件——PALPAL:可編程陣列邏輯PAL對PLA的可編程結構進行了進一步的簡化,其與陣列可編程,或陣列固定。PLD器件——PALPAL器件具有靈活的設計功能,與PLA器件相比,體積小,功耗低,速度快,有防止復制該邏輯的保密熔絲,可實現產品的加密功能。缺點是PAL器件采用的熔絲工藝,一旦編程,無法改寫,而且不同的輸出結構需要選用不同型號的PAL器件。PLD器件——GALGAL是基于PAL結構的增強型器件,具有與PAL器件相同的基本結構形式,既采用可編程“與”矩陣及固定的“或”矩陣結構,但是編程方式不同。GAL有如下優點:采用CMOS的浮柵工藝可以重復編程由于采用CMOS工藝而使器件速度提高,功耗下降具有不揮發性,在器件掉電后不必對GAL器件重新編程有一種“安全保護單元”,允許對GAL器件實現安全保護采用了一種可編程輸出邏輯宏單元OLMC(OutputLogicMacroCell)輸出邏輯宏單元OLMCGAL器件輸出邏輯宏單元(OLMC)OLMC的作用提供時序電路需要的寄存器或觸發器。提供多種形式的輸入/輸出方式。提供內部信號反饋,控制輸出邏輯極性。分配控制信號,如寄存器的時鐘和復位信號,三態門的輸出使能信號。CPLD器件PAL的問題太多的輸入和輸出延時受到“與”陣列的影響直接擴展PAL結構的效率不高CPLD是由多個類似PAL的功能塊組成,具有很長的固定于芯片上的布線資源,通過位于中心的互連矩陣連接在一起。CPLD器件CPLD采用的是多路開關的互連方式即集總總線方式,因而具有較大的時間可預測性。總線上任意一對輸入端與輸出端之間的延時相等。CPLD的編程工藝有三種:EPROM工藝E2PROM工藝FLASH工藝PLD的編程方法——熔絲熔絲(Fuse)型開關每個編程互聯節點上有熔絲,需要連接,保留熔絲;若需斷開,則用比工作電流大得多的編程電流燒斷熔絲。一次性編程。熔絲占芯片面積較大。PLD的編程方法——反熔絲反熔絲(Antifuse)型開關未編程時開關呈高阻(例如一對反向串聯的肖特基二極管),當編程電壓加在開關上將介質擊穿后(使一個二極管永久性擊穿而短路),開關呈現導通狀態。一次性編程。antifusepolysiliconONOdielectricn+

antifusediffusion2lPLD的編程方法——浮柵浮柵晶體管編程(EPROM、EEPROM和FlashROM)利用浮柵存儲電荷來保存數據。可多次編程,非易失可重復擦除器件:GAL、CPLD。

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

溫馨提示

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

評論

0/150

提交評論