




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
可編程邏輯器件6.1概述6.2簡單可編程邏輯器件(SPLD)6.3復雜可編程邏輯器件(CPLD)6.4現場可編程邏輯器件(FPGA)習題
本章主要對現今比較常用的可編程邏輯器件進行了簡單介紹和比較。
6.1概述
數字邏輯器件的發展如圖6-1所示(圖中的白色區塊表示對應的半導體技術和產品雖然已經出現,但沒有得到大規模的推廣和應用)。20世紀60年代德州儀器TI公司推出了54系列和74系列的標準邏輯器件,這些標準邏輯器件一直沿用至今。1970年,Intel生產了第一塊1024位的DRAM芯片(型號為1103),仙童公司則生產了第一塊256位的SRAM芯片(型號為4100)。
1971年,Intel推出了世界上第一款商用微處理器芯片4004,
4004微處理器芯片中包含約2300個晶體管,每秒可以執行6萬次操作。從圖6-1中可以看到,雖然專用集成電路(ASIC,ApplicationSpecificIntegratedCircuit)芯片在20世紀60年代中期已經出現,但ASIC芯片生產工藝在70年代末期才趨于成熟并開始投入大規模應用。
圖6-1數字邏輯器件的發展
標準邏輯器件、微處理器芯片、SRAM和DRAM芯片以及專用集成電路ASIC芯片,這些種類的芯片一旦生產出來,它們內部的邏輯結構和電路結構是固定不變的。與這些芯片不同,業界還推出了另一大類數字邏輯器件,這類數字邏輯器件的邏輯功能和電路結構可以通過電學和邏輯編程的方式進行變換,從而得到新的邏輯功能和電路結構,這類器件
被稱為PLD(ProgrammableLogicDevices),即可編程邏輯器件。
可編程邏輯器件包括圖6-1中的簡單可編程邏輯器件(SPLD,SimpleProgrammableLogicDevices)、復雜可編程邏輯器件(CPLD,ComplexProgrammableLogicDevices)、現
場可編程邏輯器件(FPGA,FieldProgrammableGateArrays)三類器件。從圖6-1中可知,從簡單可編程邏輯器件、復雜可編程邏輯器件到現場可編程邏輯器件,這三類可編程邏輯器件的集成度、復雜度和性能是不斷提高的,它們產生的年代也是各不相同的。
由于可編程邏輯器件的邏輯功能和電路結構可以通過電學和邏輯編程的方式進行變換,因此最先出現的SPLD器件其功能和意義并不僅僅局限于將印制板上多個分立的54或74標準邏輯器件集成到一個SPLD芯片中,它提高了系統的性能和可靠性,降低了印制板和系統的成本,更重要的是,PLD芯片的邏輯功能和電路結構將可以按照系統的功能需求進行編程,極大地方便了系統原型的建構、系統功能的驗證和完善,具有重要的設計方法學的突破意義。隨著SPLD器件的成功運用、推廣以及半導體技術的不斷成熟和發展,性能更先進、功能更復雜的復雜可編程邏輯器件和現場可編程邏輯器件也在不斷推出并得到推廣應用。可編程邏輯器件的分類如圖6-2所示。圖6-2可編程邏輯器件的分類
6.2簡單可編程邏輯器件(SPLD)
如圖6-2所示,簡單可編程邏輯器件可分為PROM、PLA、PAL和GAL等不同種類的器件,這些SPLD器件的結構可以統一概括為圖6-3所示的基本結構,由輸入電路、與陣列、或陣列和輸出電路四部分組成。其中,與陣列和或陣列用于實現邏輯函數和功能,它是SPLD的核心部分。圖6-3SPLD器件的基本結構
輸入電路的功能是對輸入信號進行緩沖,在部分SPLD器件中會增加鎖存功能,經緩沖后的輸入信號將具有足夠的驅動能力,并可產生反信號。輸入信號包括外部輸入信號和輸出反饋信號,它們經輸入電路處理后作為與陣列的輸入項。
不同種類不同型號的SPLD器件的輸出電路存在很大的差異。由與或陣列產生的邏輯運算結果,既可以組合電路的方式,經輸出電路直接輸出,也可以時序電路的方式,通過輸出電路的寄存器暫存后輸出。輸出信號可根據設計需要,以高電平有效或以低電平有效的方式輸出。輸出電路通常采用三態電路,并由內部通道將輸出信號反饋到輸入端。
6.2.1PROM器件
第一種SPLD器件是PROM器件。PROM器件于1970年問世,主要用來存儲計算機的程序指令和常數,但設計人員也利用PROM來實現查找表和有限狀態機等一些簡單的邏輯功能。實際上,利用PROM器件可以方便地實現任意組合電路,這是通過一個固定的與陣列和一個可編程的或陣列組合來實現的。一個具有三輸入、三輸出的未編程PROM結構如圖6-4所示。在該結構中,與陣列固定地生成所有輸入信號的邏輯小項,而或陣列則通過編程,實現任意小項之和。圖6-4未編程的PROM結構
如果我們希望實現一個如圖6-5所示的簡單組合邏輯電路,則圖6-4中或陣列的編程情況如圖6-6所示。
在實際的PROM器件中,或陣列的編程是通過熔絲連接EPROM晶體管或E2PROM單元來實現的。
圖6-5一個簡單的組合邏輯電路圖6-6PROM中的或陣列編程
6.2.2PLA器件
為了克服PROM器件中固定與陣列的局限,設計人員在1975年推出了可編程邏輯陣列(PLA,ProgrammableLogicArrays)器件。PLA器件是簡單可編程器件SPLD中配置最靈活的一種器件,它的與陣列和或陣列都是可以編程的。一個未編程的PLA器件的結構如圖6-7所示。和PROM器件不同的是,PLA器件中的與陣列中的與項的數目是和輸入信號的數目無關的,或陣列中的或項的數目和輸入信號及與項的數目都是無關的。圖6-7未編程的PLA器件的結構
我們利用PLA器件來實現下列等式:
則對應的PLA器件的與陣列和或陣列的編程情況如圖6-8所示。圖6-8PLA器件的與陣列和或陣列的編程
由于信號通過編程節點傳輸需要花費更多的時間,因此,PLA器件的與陣列和或陣列在編程后,其運算速度與具有相同功能的PROM器件相比要慢。
6.2.3PAL器件
為了克服PLA器件速度慢的問題,設計人員于20世紀70年代末期推出了一種新型的器件:可編程陣列邏輯(PAL,ProgrammableArrayLogic)器件。PAL器件的結構與PROM正好相反,與陣列是可編程的,而或陣列則是固定的。未編程的PAL器件的結構如圖6-9所示。
由于PAL器件中只有與陣列是可以編程的,因此PAL器件的速度快于PLA器件。但是,由于PAL器件中輸入或陣列的與項(乘積項)是固定的,因此PAL器件在邏輯功能上
存在一定的局限。圖6-9未編程的PAL器件的結構
6.3復雜可編程邏輯器件(CPLD)
為了進一步提高SPLD器件的速度、性能和集成度,20世紀70年代末,80年代初,出現了復雜可編程邏輯器件。PAL器件的發明者,MMI公司(MonolithicMemoriesInc)
推出了一款稱為MegaPAL的CPLD器件,其中集成了四個標準的PAL模塊。MegaPAL的缺點是功耗太大。1984年,Altera公司推出了新一代的集成了CMOS和EPROM工藝
的CPLD器件。CMOS工藝的運用有利于提高芯片的集成度,并大量降低功耗;而利用EPROM單元來進行編程,可以極大地方便系統的原型設計和產品開發。
雖然各家公司生產的CPLD器件存在一定的差異,但CPLD器件的基本結構相同,如圖610所示。CPLD器件中包含多個SPLD模塊,這些SPLD模塊之間通過可編程的互
連矩陣連接起來。在對CPLD器件編程時,不但需要對其中的每一個SPLD模塊進行編程,而且SPLD模塊之間的互連線也需要通過可編程互連陣列進行編程。不同生產廠家,
不同產品系列的CPLD器件中所采用的可編程開關存在著差異,可編程開關可以利用EPROM、E2
PROM、FLASH和SRAM單元來實現。圖6-10CPLD器件的基本結構
CPLD器件通常可以實現數千至上萬個等效邏輯門,同時CPLD器件的集成度、速度和體系結構復雜度也在不斷地提高。典型的CPLD器件的特征參數如表6-1所示。
6.4現場可編程邏輯器件(FPGA)
在20世紀80年代初,可編程器件和ASIC芯片之間存在較大的集成度和性能的差距。SPLD器件和CPLD器件具有很高的可編程性,它們的設計和修改時間都很短,但這些器件的集成度都較低,無法實現更加復雜的功能。與此相反,ASIC芯片實現了極高的集成度和復雜的功能,但ASIC芯片的價格十分昂貴,其設計與生產周期也很長。ASIC芯片一旦在硅片上實現,就是不可改變的。
為了彌補可編程器件和ASIC芯片之間的差距,Xilinx公司于1984年推出了一種新型的可編程邏輯器件,它被稱為現場可編程邏輯陣列,即FPGA器件(FieldProgrammable
GateArrays)。FPGA器件和SPLD、CPLD器件的關系如圖6-11所示。圖6-11FPGA器件和SPLD、CPLD器件的對比
FPGA器件的基本結構如圖6-12所示。對于FPGA結構的一種形象化的描述是:大量的可編程邏輯功能模塊的“小島”,被可編程的、互連的“海洋”所包圍。圖6-12FPGA器件的基本結構
6.4.1FPGA器件和CPLD器件的對比
從圖6-11可知,高集成度的CPLD器件可以等價地實現較小規模的FPGA器件的功能。設計人員的當前設計如果是用CPLD器件來實現的,則當該設計在未來進行較大規模
的擴展時,可以考慮用FPGA器件來代替當前所采用的CPLD器件。
從CPLD器件發展到FPGA器件,并不僅僅是規模和集成度的進一步提升,FPGA器件的體系結構遠遠復雜于CPLD器件,它們的對比如圖6-13所示。從圖中可以看出,
CPLD器件更適合于實現具有更多的組合電路,而寄存器數目受限的簡單設計,同時,CPLD器件的連線延遲是可以準確地預估的,它的輸入/輸出引腳數目較少;FPGA器件更適合于實現規模更大,寄存器更加密集的針對數據路徑處理的復雜設計,FPGA器件具有更加靈活的布線策略,更多的輸入/輸出引腳數目。圖6-13CPLD器件和FPGA器件的體系結構比較
在集成度不高的設計中,CPLD器件往往以價格優勢取勝,而在更高集成度的設計中,FPGA器件則以較低的總體邏輯開銷取勝。
6.4.2FPGA器件的特征
典型的FPGA器件的特征參數如表6-2所示。隨著半導體工藝技術的不斷發展和商業競爭的日趨激烈,FPGA器件的集成度、復雜度、速度和I/O引腳數目也在不斷提高,
同時,FPGA器件的體系架構也在不斷發展,容量更大的嵌入式RAM模塊、嵌入式處理器硬核和軟核、專用硬件乘法器、高速通信模塊等功能模塊被集成到FPGA器件中。結合先進的EDA設計工具,這些新型FPGA器件可以支持設計者在很短的時間內完成復雜的設計。
FPGA器件必須在設計流程的某個節點上進行編程,以定義特定器件的具體功能。為此,FPGA器件可分為支持多次編程和一次編程(OTP,OneTimeProgrammable)兩大
類。FPGA器件的編程技術包括SRAM、反熔絲、EPROM和E2PROM四種,它們的特點
如下:
(1)基于SRAM的編程技術。在系統上電期間,通過外部的器件(通常是非易失性存儲器或微處理器)進行編程。它支持多次編程,且編程信息是易失性的(即器件斷電后,編程信息丟失),器件可以在系統中進行在線式的多次編程。
(2)基于反熔絲的編程技術。FPGA器件的編程是通過將器件內部的熔絲有選擇地進行燒斷來實現特定功能的。這種編程是非易失性的,且編程完成后是不可以改變的。
(3)基于EPROM的編程技術。編程方式類似于EPROM器件的編程,編程是非易失性的,必須將FPGA器件從系統中取出才可以編程。
(4)基于E2PROM的編程技術。編程方式類似于E
2PROM器件的編程,編程是非易失性的,進行編程和多次編程時,都必須從系統中取出FPGA器件才可以。
基于SRAM技術的FPGA器件可以實現在系統內部的在線動態編程,這對系統的快速原型設計和開發帶來了極大的便利。由于在原型系統設計和開發中,往往需要對FPGA器件的功能進行多次修改,因此基于SRAM技術的FPGA器件是原型系統設計和開發中的最佳選擇。主流FPGA生產廠家所采用的編程技術如表6-3所示。
6.4.3基于SRAM技術的FPGA結構特點
FPGA器件的基本結構如圖6-14所示。在芯片的中央是邏輯模塊的陣列,這些邏輯模塊之間通過可編程的互連布線矩陣相連接。在芯片的四邊上是一個由I/O單元組成的
環,I/O單元可以通過編程來支持不同的接口標準。FPGA這種靈活的結構可以支持和覆蓋范圍極為廣大的同步時序電路和組合電路的編程和實現。圖6-14FPGA器件的基本結構
如上所述,FPGA器件的特點是包含大量的可編程結構。組成FPGA的基本要素包括:
?邏輯單元
?布線矩陣和全局信號
?I/O單元
?時鐘網絡
?多路選擇器
?存儲器
1.FPGA的邏輯單元
邏輯單元(LC,LogicCell)是FPGA器件中最底層的邏輯功能模塊,雖然不同的FPGA廠家或同一廠家不同產品系列中的邏輯單元的結構都存在差異,但其基本結構是類似的。典型的邏輯單元的結構如圖6-15所示。邏輯單元中通常包含一個至多個N輸入的查找表(LUT,Look-UpTable)、觸發器、信號布線選擇器、控制信號和進位邏輯。
每一個查找表可以實現N輸入或低于N輸入的任意布爾邏輯函數。邏輯單元中的查找表的大小以及它們之間的相互關系將直接影響到最終設計的資源利用效率和實現。熟練
掌握邏輯單元的細節是實現最優FPGA設計的重要手段。當前常用的典型查找表采用的是四輸入結構。圖6-15典型邏輯單元的結構
查找表實際上是采用多個存儲器單元來實現的,例如,四輸入查找表中包含16個一位的RAM單元。因此,無論查找表實現什么樣的布爾邏輯函數,查找表的計算延遲都是相
同的。當然,也可以利用查找表實現存儲電路,如先進先出的隊列FIFO(FirstInFirstOut)等。
利用查找表來實現一個組合電路的例子如圖6-16所示。圖6-16用查找表實現一個組合電路
如圖6-15所示,查找表的輸出可以直接作為邏輯單元的輸出,也可以通過D觸發器緩存后輸出。邏輯單元中的D觸發器可以有多種配置,如支持時鐘使能、異步清零、異步
復位等功能。
為了支持更高層次的邏輯功能的實現,FPGA廠家可以將多個基本邏輯單元組合在一起,形成一個大的邏輯結構。不同的FPGA廠家或同一廠家的不同產品系列利用基本邏輯單元構成的邏輯結構的大小、功能、特點都存在差異,這些大的邏輯結構也有不同的命名,如可配置邏輯模塊(CLB,ConfigurableLogicBlock)、邏輯陣列模塊(LAB,LogicArray
Block)、宏邏輯陣列模塊(megaLAB)等。以Xilinx公司的命名規則為例,如圖6-17所示,包含三個層次,最小的組成單位是邏輯單元,兩個邏輯單元組成一個位片(Slice),四個位
片構成一個可配置邏輯模塊。
采取這種層次化構造方法的一個主要原因,是因為FPGA器件中的連線延遲大于器件延遲,邏輯單元內部的連線是最緊湊的布線,位片內的布線延遲小于位片間的布線延遲,可配置邏輯模塊內部的布線延遲小于可配置邏輯模塊之間的布線延遲。圖6-17由多個基本邏輯單元組成的大的邏輯模塊
2.FPGA中的布線矩陣和全局信號
FPGA器件中的基本布線單元是水平和垂直方向上的布線通道和可編程布線開關。不同FPGA廠家或不同FPGA器件產品系列中的布線通道數是不同的。水平和垂直方向上
的布線通道的功能是為布線開關提供一種互連機制。布線開關可以編程,提供180°和90°布線通路。布線開關被安排在由基本邏輯單元構成的可配置邏輯模塊所形成的每一行、每一列的中間。布線開關通過互連線段與可配置邏輯模塊的輸入/輸出相連。一種典型的布線矩陣結構如圖6-18所示。圖6-18一種典型的布線矩陣結構
設計約束條件對布線通路的選擇會產生重要的影響,并直接影響整個電路的時序參數。加法器進位鏈結構也對布線開關和CLB邏輯模塊之間的連接產生直接的影響。針對
FPGA器件的特定結構,進位鏈的方向既可以是水平的,也可以是垂直的。
圖6-19所示實現了一種進位鏈結構。圖6-19進位鏈結構與布線
除了規則的布線矩陣設計,絕大多數FPGA廠家還提供全局布線資源。全局布線資源的數量通常都是有限的,主要用于實現高性能和高負載的信號連線,例如時鐘信號線和控
制信號線。
3.FPGA中的I/O單元
環繞在邏輯模塊CLB陣列外圍四邊上的I/O單元環,其作用是實現FPGA器件與系統中其他芯片之間的接口和互連。I/O單元數與FPGA內部邏輯門數之間的比例是表征FPGA器件的一個重要參數,高的邏輯門數與I/O單元數比例表明該FPGA器件是以邏輯門為中心的設計,高的I/O單元數與邏輯門數比例表明該FPGA器件是以I/O為中心
的設計。FPGA器件中I/O單元環的結構如圖6-20所示。其中,I/O單元環上的I/O單元被組合為八個塊,每個塊中I/O單元的功能、參數和所支持的I/O協議標準均可以獨立
地進行配置。圖6-20FPGA器件中I/O單元環的結構
一種簡單的I/O單元的結構如圖6-21所示,它包含輸入/輸出觸發器、控制信號、多路選擇器和時鐘信號。I/O單元的輸入/輸出信號既可以通過觸發器緩存,也可以不緩存。
I/O單元的輸出電路部分可以支持三態電路輸出。由于CMOS電路在不定狀態下會產生功耗,因此FPGA器件上不用的輸入引腳不可浮空,否則會產生額外的功耗。一種解決方案是將不用的引腳配置為輸出引腳。
為了實現與不同種類的邏輯電路器件的互連,FPGA中的I/O單元必須支持多種I/O接口標準,這是通過I/O單元的配置來實現的。I/O單元所支持的配置內容包括:
?輸出信號的上拉或下拉
?I/O引腳的未使用狀態
?I/O信號的偏斜律
?I/O單元的驅動能力
?所支持的I/O標準
?阻抗特性圖6-21一種簡單的I/O單元的結構
4.FPGA中的時鐘策略
FPGA中的時鐘策略包含布線策略和參數控制兩部分。FPGA中的時鐘布線是通過占用全局布線資源來進行的,時鐘布線形成的網絡通常稱為時鐘網絡。
Xilinx公司的Spartan3系列芯片的時鐘布線策略如圖6-22所示,該布線策略分為系統布線和局部布線兩個層次。
系統(時鐘)布線往往開始于FPGA器件的中間,然后對稱地分枝擴散到各個局部模塊。對局部模塊內部的時鐘布線就是局部布線,對局部模塊內部的時鐘布線也相應地采取對稱型的分枝擴散形式來進行。圖6-22Xilinx公司的Spartan3系列芯片的時鐘布線策略
時鐘布線策略的核心是保證時鐘網絡的末端,即連接到每一個觸發器上的時鐘信號之間的延遲差異是最小的。
FPGA中的時鐘參數控制是通過時鐘管理模塊來完成的。時鐘管理模塊負責管理、調整FPGA片內局部和系統時鐘的基本參數。時鐘模塊對時鐘信號進行調制,主要是基于鎖
相環(PLL,Phase-LockedLoop)和延遲鎖相環(DLL,DelayLockLoop)技術的。時鐘管理模塊的功能如圖6-23所示,根據從FPGA芯片外輸入的外部時鐘信號,時鐘管理模塊生成具有不同性能參數的時鐘信號,這些時鐘信號通過時鐘網絡來進行傳播。圖6-23時鐘管理模塊的功能
時鐘管理模塊的功能包括抖動信號消除、頻率綜合、相移和自動偏斜校正四方面。其中,抖動信號消除功能是針對外部輸入FPGA器件的時鐘信號而言的。該信號的上升沿和下降沿與理想的時鐘信號的上升沿和下降沿相比,存在著超前或落后的情況,這種情況被稱為時鐘信號的抖動,如圖6-24所示。經過時鐘管理模塊處理后的時鐘信號的邊沿將與理想信號的邊沿對齊。圖6-24輸入時鐘信號的抖動
時鐘管理模塊的頻率綜合功能是指時鐘管理模塊可以針對時鐘輸入信號,產生頻率為原時鐘輸入信號頻率乘以或除以某一整數的新的時鐘信號,以滿足設計的特定頻率需要。
頻率綜合的示意圖如圖6-25所示。
時鐘管理模塊的相移功能是指時鐘管理模塊可以針對時鐘輸入信號,產生相位延遲于原時鐘輸入信號一定值的新的時鐘信號。例如,針對輸入時鐘信號,可以生成常用的延遲
0°、120°和240°的三相時鐘,或延遲0°、90°、180°和270°的四相時鐘。產生四相時鐘的頻率綜合的示意圖如圖6-26
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CECS 10179-2022建筑金屬結構及圍護系統認證通用技術要求
- T/CECS 10079-2019鋼鐵冶煉塵泥制鐵質校正料
- T/CCPITCSC 108-2022在線商事調解服務規范
- T/CCMA 0177-2023工程機械數字化水平評估規范
- T/CCIAS 018-2023壽喜鍋調味汁
- T/CAQP 001-2017汽車零部件質量追溯體系規范
- T/CAQI 224-2021城鎮污水深度處理技術規范
- T/CAQI 122-2020家用和類似用途飲用水處理裝置用納濾膜組件安全使用壽命評價規范
- 海員業務考試題及答案
- 醫藥代表面試題及答案
- 一年級100以內進退位加減綜合口算題
- 2024年電動汽車薄膜電容器市場分析報告
- 《城市地下綜合管廊運行維護及安全技術標準》
- 航空母艦發展史
- 自愿放棄孩子協議書(2篇)
- 勞動精神課件教學課件
- 甘肅省蘭州市2022年中考英語真題試卷(含答案)
- 220kVGIS安裝施工方案
- 《鉸鏈四桿機構》(課件)
- 通信企業協會網絡安全人員能力認證考試復習題庫(含答案)
- 化學家門捷列夫課件
評論
0/150
提交評論