




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第6章可編程邏輯器件6.1概述6.2簡單可編程邏輯器件(SPLD)6.3復雜可編程邏輯器件(CPLD)6.4現場可編程邏輯陣列(FPGA)
6.1概
述
數字邏輯器件的發(fā)展如圖6-1所示(圖中的白色區(qū)塊表示對應的半導體技術和產品雖然已經出現,但沒有得到大規(guī)模的推廣和應用)。
圖6-1數字邏輯器件的發(fā)展
由于可編程邏輯器件的邏輯功能和電路結構可以通過電學和邏輯編程的方式進行變換,因此最先出現的SPLD的功能和意義并不僅僅局限于將印制板上多個分立的54或74標準邏輯器件集成到一個SPLD芯片中,它提高了系統的性能和可靠性,降低了印制板和系統的成本,更重要的是,SPLD芯片的邏輯功能和電路結構將可以按照系統的功能需求進行編程,極大地方便了系統原型的建構、系統功能的驗證和完善,具有重要的設計方法學的突破意義。隨著SPLD的成功應用、推廣以及半導體技術的不斷成熟和發(fā)展,性能更先進、功能更復雜的復雜可編程邏輯器件和現場可編程邏輯陣列也在不斷推出并得到推廣應用??删幊踢壿嬈骷姆诸惾鐖D6-2所示。
圖6-2可編程邏輯器件的分類
6.2簡單可編程邏輯器件(SPLD)
如圖6-2所示,簡單可編程邏輯器件可分為PROM、PLA、PAL和GAL等不同種類的器件,這些SPLD的結構可以統一概括為圖6-3所示的基本結構,由輸入電路、與陣列、或陣列和輸出電路四部分組成。其中,與陣列和或陣列用于實現邏輯函數和功能,它是SPLD的核心部分。
圖6-3SPLD器件的基本結構
6.2.1PROM器件
第一種SPLD是PROM器件。PROM器件于1970年問世,主要用來存儲計算機的程序指令和常數,但設計人員也利用PROM來實現查找表和有限狀態(tài)機等一些簡單的邏輯功能。實際上,利用PROM器件可以方便地實現任意組合電路,這是通過一個固定的與陣列和一個可編程的或陣列組合來實現的。一個具有三輸入、三輸出的未編程PROM器件的結構如圖6-4所示。在該結構中,與陣列固定地生成所有輸入信號的邏輯小項,而或陣列則通過編程,實現任意小項之和。
圖6-4未編程的PROM器件的結構
如果我們希望實現一個如圖6-5所示的簡單組合邏輯電路,則圖6-4中或陣列的編程情況如圖6-6所示。圖6-5一個簡單的組合邏輯電路
圖6-6-PROM中的或陣列編程
6.2.2PLA器件
為了克服PROM器件中固定與陣列的局限,設計人員在1975年推出了可編程邏輯陣列器件。PLA器件是簡單可編程器件中配置最靈活的一種器件,它的與陣列和或陣列都是可以編程的。一個未編程的PLA器件的結構如圖6-7所示。
我們利用PLA器件來實現下列等式:
則對應的PLA器件的與陣列和或陣列的編程情況如圖6-8所示。
圖6-7未編程的PLA器件的結構
圖6-8PLA器件的與陣列和或陣列的編程
6.2.3PAL器件
為了克服PLA器件速度慢的問題,設計人員于20世紀70年代末期推出了一種新型的器件:可編程陣列邏輯(PAL,ProgrammableArrayLogic)器件。PAL器件的結構與PROM器件的正好相反,與陣列是可編程的,而或陣列則是固定的。未編程的PAL器件的結構如圖6-9所示。
圖6-9未編程的PAL器件的結構
6.3復雜可編程邏輯器件(CPLD)
雖然各家公司生產的CPLD存在一定的差異,但CPLD的基本結構相同,如圖6-10所示。CPLD中包含多個SPLD模塊,這些SPLD模塊之間通過可編程的互連矩陣連接起來。在
對CPLD編程時,不但需要對其中的每一個SPLD模塊進行編程,而且SPLD模塊之間的互連線也需要通過可編程互連陣列進行編程。不同生產廠家,不同產品系列的CPLD中所采用的可編程開關存在著差異,可編程開關可以利用EPROM、E2PROM、FLASH和SRAM單元來實現。
圖6-10CPLD的基本結構
CPLD通常可以實現數千至上萬個等效邏輯門,同時CPLD的集成度、速度和體系結構復雜度也在不斷地提高。典型的CPLD的特征參數如表6-1所示。
6.4現場可編程邏輯陣列(FPGA)
為了彌補可編程器件和ASIC芯片之間的差距,Xilinx公司于1984年推出了一種新型的可編程邏輯器件,它被稱為現場可編程邏輯陣列,即FPGA(FieldProgrammableGateArrays)。FP_x0002_GA和SPLD、CPLD的關系如圖6-11所示。
圖6-11FPGA和SPLD、CPLD的對比
FPGA的基本結構如圖6-12所示。對于FPGA結構的一種形象化的描述是:大量的可編程邏輯功能模塊的“小島”,被可編程的、互連的“海洋”所包圍。
圖6-12FPGA的基本結構
從CPLD發(fā)展到FPGA,并不僅僅是規(guī)模和集成度的進一步提升,FPGA的體系結構遠遠復雜于CPLD,它們的對比如圖6-13所示。從圖中可以看出,CPLD更適合于實現具有更多的組合電路,而寄存器數目受限的簡單設計,同時,CPLD的連線延遲是可以準確地預估的,它的輸入/輸出引腳數目較少;FPGA更適合于實現規(guī)模更大,寄存器更加密集的針對數據路徑處理的復雜設計,FPGA具有更加靈活的布線策略、更多的輸入/輸出引腳數目。
圖6-13CPLD和FPGA的體系結構比較
6.4.2FPGA的特征
典型的FPGA的特征參數如表6-2所示。隨著半導體工藝技術的不斷發(fā)展和商業(yè)競爭的日趨激烈,FPGA的集成度、復雜度、速度和I/O引腳數目也在不斷提高,同時,FPGA的體系架構也在不斷發(fā)展,容量更大的嵌入式RAM模塊、嵌入式處理器硬核和軟核、專用硬件乘法器、高速通信模塊等功能模塊被集成到FPGA中。結合先進的EDA設計工具,這些新型FPGA可以支持設計者在很短的時間內完成復雜的設計。
FPGA器件的編程技術包括SRAM、反熔絲、EPROM和E2PROM四種,它們的特點如下:
(1)基于SRAM的編程技術。
(2)基于反熔絲的編程技術。
(3)基于EPROM的編程技術。
(4)基于E2PROM的編程技術。
基于SRAM技術的FPGA器件可以實現在系統內部的在線動態(tài)編程,這對系統的快速原型設計和開發(fā)帶來了極大的便利。由于在原型系統設計和開發(fā)中,往往需要對FPGA器件的功能進行多次修改,因此基于SRAM技術的FPGA器件是原型系統設計和開發(fā)中的最佳選擇。主流FP_x0002_GA生產廠家所采用的編程技術如表6-3所示。
6.4.3基于SRAM技術的FPGA的結構特點
FPGA的基本結構如圖6-14所示,在芯片的中央是邏輯模塊的陣列,這些邏輯模塊之間通過可編程的互連布線矩陣相連接。在芯片的四邊是一個由I/O單元組成的環(huán),I/O單元可以通過編程來支持不同的接口標準。FPGA的這種靈活的結構可以支持和覆蓋范圍極為廣大的同步時序電路和組合電路的編程和實現。
圖6-14FPGA的基本結構
如上所述,FPGA的特點是包含大量的可編程模塊。組成FPGA的基本要素包括:
?邏輯單元;
?布線矩陣和全局信號;
?I/O單元;
?時鐘策略;
?多路選擇器;
?存儲器。
1.FPGA中的邏輯單元
邏輯單元(LC,LogicCell)是FPGA中最底層的邏輯功能模塊,雖然不同的FPGA廠家或同一廠家不同產品系列中的邏輯單元的結構都存在差異,但其基本結構是類似的。典型的邏輯單元的結構如圖6-15所示。
圖6-15典型邏輯單元的結構
利用查找表來實現一個組合電路的例子如圖6-16所示。圖6-16用查找表實現一個組合電路
為了支持更高層次的邏輯功能的實現,FPGA廠家可以將多個基本邏輯單元組合在一起,形成一個大的邏輯結構。不同的FPGA廠家或同一廠家的不同產品系列利用基本邏輯單元構成的邏輯結構的大小、功能、特點都存在差異,這些大的邏輯結構也有不同的命名,如可配置邏輯模塊、邏輯陣列模塊、宏邏輯陣列模塊等。以Xilinx公司的命名規(guī)則為例,如圖6-17所示,包含三個層次,最小的組成單位是邏輯單元,兩個邏輯單元組成一個位片(Slice),四個位片構成一個可配置邏輯模塊。
圖6-17由多個基本邏輯單元組成的大的邏輯模塊
2.FPGA中的布線矩陣和全局信號
FPGA器件中的基本布線單元是水平和垂直方向上的布線通道和可編程布線開關。不同FP_x0002_GA廠家或不同FPGA產品系列中的布線通道數是不同的。水平和垂直方向上的布線通道的功能是為布線開關提供一種互連機制。布線開關可以編程,提供180°和90°布線通路。布線開關被安排在由基本邏輯單元構成的可配置邏輯模塊所形成的每一行、每一列的中間。布線開關通過互連線段與可配置邏輯模塊的輸入/輸出相連。
一種典型的布線矩陣結構如圖6-18所示。
圖6-18
圖6-19所示實現了一種進位鏈結構。
圖6-19進位鏈結構與布線
3.FPGA中的I/O單元
環(huán)繞在CLB陣列外圍四邊上的I/O單元環(huán),其作用是實現FPGA與系統中其他芯片之間的接口和互連。I/O單元數與FPGA內部邏輯門數之間的比例是FPGA的一個重要參數,高的邏輯門數與I/O單元數比例表明該FPGA是以邏輯門為中心的設計,高的I/O單元數與邏輯門數比例表明該FPGA是以I/O單元為中心的設計。FPGA器件中I/O單元環(huán)的結構如圖6-20所示。
圖6-20FPGA中I/O單元環(huán)的結構
種簡單的I/O單元的結構如圖6-21所示,它包含輸入/輸出觸發(fā)器、控制信號、多路選擇器和時鐘信號。I/O單元的輸入/輸出信號既可以通過觸發(fā)器緩存,也可以不緩存。I/O單元的輸出電路部分可以支持三態(tài)電路輸出。由于CMOS電路在不定狀態(tài)下會產生功耗,因此FPGA上不用的輸入引腳不可浮空,否則會產生額外的功耗。一種解決方案是將不用的引腳配置為輸出引腳。
圖6-21一種簡單的I/O單元的結構
為了實現與不同種類的邏輯電路器件的互連,FPGA中的I/O單元必須支持多種I/O接口標準,這是通過I/O單元的配置來實現的。I/O單元所支持的配置內容包括:
?輸出信號的上拉或下拉;
?I/O引腳的未使用狀態(tài);
?I/O信號的偏斜率;
?I/O單元的驅動能力;
?所支持的I/O標準;
?阻抗特性。
4.FPGA中的時鐘策略
Xilinx公司的Spartan3系列芯片的時鐘布線策略如圖6-22所示,該布線策略分為系統布線和局部布線兩個層次。
系統(時鐘)布線往往開始于FPGA器件的中間,然后對稱地分枝擴散到各個局部模塊。對局部模塊內部的時鐘布線就是局部布線,對局部模塊內部的時鐘布線也相應地采取對稱型的分枝擴散形式來進行。
圖6-22Xilinx公司的Spartan3系列芯片的時鐘布線策略
FPGA中的時鐘參數控制是通過時鐘管理模塊來完成的。時鐘管理模塊負責管理、調整FP_x0002_GA片內局部和系統時鐘的基本參數。時鐘模塊對時鐘信號進行調制,主要是基于鎖相環(huán)(PLL,Phase-LockedLoop)和延遲鎖相環(huán)(DLL,DelayLockLoop)技術。時鐘管理模塊的功能如圖6-23所示,根據從FPGA芯片外輸入的外部時鐘信號,時鐘管理模塊生成具有不同性能參數的時鐘信號,這些時鐘信號通過時鐘網絡來進行傳播。
圖6-23時鐘管理模塊的功能
時鐘管理模塊的功能包括抖動信號消除、頻率綜合、相移和自動偏斜校正四方面。其中,抖動信號消除功能是針對外部輸入FPGA器件的時鐘信號而言的。該信號的上升沿和下降沿與理想的時鐘信號的上升沿和下降沿相比,存在著超前或滯后的情況,這種情況被稱為時鐘信號的抖動,如圖6-24所示。經過時鐘管理模塊處理后的時鐘信號的邊沿將與理想信號的邊沿對齊。
圖6-24輸入時鐘信號的抖動
時鐘管理模塊的頻率綜合功能是指時鐘管理模塊可以針對時鐘輸入信號,產生頻率為原時鐘輸入信號頻率乘以或除以某一整數的新的時鐘信號,以滿足設計的特定頻率需要。頻率綜合的示意圖如圖6-25所示。圖6-25時鐘信號的頻率綜合
時鐘管理模塊的相移功能是指時鐘管理模塊可以針對時鐘輸入信號,產生相位延遲于原時鐘輸入信號一定值的新的時鐘信號。例如,針對輸入時鐘信號,可以生成常用的延遲0°、120°和240°的三相時鐘,或延遲0°
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 裝飾材料店客戶關系管理考核試卷
- 航天器空間站結構振動分析考核試卷
- 纖維制品的售后服務體系建設考核試卷
- 計算機網絡安全與企業(yè)形象關系試題及答案
- 計算機網絡未來展望試題及答案
- 輕質建筑材料在地下室結構中的應用考核試卷
- 社區(qū)衛(wèi)生服務實踐考核試卷
- 網絡技術的評估標準試題及答案
- 數據庫如何實現備份試題及答案
- 新車銷售品牌差異化競爭策略考核試卷
- 人力資源規(guī)劃復盤
- 2025屆蘇教版高考仿真模擬英語試卷含解析
- 中建道路起重吊裝施工方案
- 2mm土工膜長絲土工布檢測報告合格證
- 《產業(yè)政策》課件
- 第8課人工智能中的算法 說課稿 2023-2024學年浙教版(2023)初中信息技術八年級下冊
- 急性出血性結膜炎防治
- DB11T 745-2010 住宅采暖室內空氣溫度測量方法
- 國開(浙江)2024年《個人理財》形考作業(yè)1-4答案
- 小班班本課程《吃飯這件小事》
- 文學大數據中心建設項目需求
評論
0/150
提交評論