FPGA與硬件描述語言-第二章-可編程邏輯器件_第1頁
FPGA與硬件描述語言-第二章-可編程邏輯器件_第2頁
FPGA與硬件描述語言-第二章-可編程邏輯器件_第3頁
FPGA與硬件描述語言-第二章-可編程邏輯器件_第4頁
FPGA與硬件描述語言-第二章-可編程邏輯器件_第5頁
已閱讀5頁,還剩84頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

FPGA與

硬件描述語言2016.4第二章可編程邏輯器件2.1可編程邏輯器件的發展歷程2.2可編程邏輯器件的基本結構與分類2.3簡單可編程邏輯器件2.4復雜可編程邏輯器件

2.5現場可編程門陣列FPGA可編程邏輯器件—發展歷程可編程邏輯器件是近十幾年才發展起來的一種新型集成電路現代的可編程邏輯器件以EEPROM、SRAM或Flash為基礎,由用戶根據自己的需要對其進行編程,確定芯片的功能可編程邏輯器件—發展歷程標準邏輯器件TTL工藝制造的74/54系列和用CMOS工藝制造的CD4000系列軟件配置的器件CPU和單片機專用集成電路ASIC和可編程邏輯器件數字集成電路的發展歷程可編程邏輯器件—發展歷程在歷史上,可編程邏輯器件經歷了如下發展過程,在結構、工藝、集成度、功能、速度和靈活性方面都有了很大的改進和提高PLAPALGALEPLDCPLD/FPGA可編程邏輯器件—發展歷程最早的可編程邏輯器件是1970年出現的PROM(ProgrammableRead-OnlyMemory)由固定的全譯碼與陣列和可編程的或陣列組成,采用熔絲工藝制造,只能寫一次,不可擦除陣列規模大、速度低,主要被作為存儲器使用可編程邏輯器件—發展歷程EPROM(ErasableProgrammableRead-OnlyMemory)EEPROM(E2PROM,ElectricallyErasableProgrammableRead-OnlyMemory)可編程邏輯器件—發展歷程Flash(Flash

EEPROMMemory)可編程邏輯器件—發展歷程20世紀70年代中期出現了可編程邏輯陣列器件PLA(ProgrammableLogicArray)PLA是基于與或陣列的器件,PLA的與陣列和或陣列均可編程PLA編程復雜,開發起來相對困難,并且器件的資源利用率低可編程邏輯器件—發展歷程20世紀70年代末,美國MMI公司,推出了可編程陣列邏輯器件PAL(ProgrammableArrayLogic)PAL由可編程的與陣列和固定的或陣列組成,是基于與或陣列的器件PAL可以達到很高的工作速度,并且它的輸出結構種類很多,設計也很靈活可編程邏輯器件—發展歷程20世紀80年代初,Lattice公司發明了通用陣列邏輯器件GAL(GenericArrayLogic)與PAL相比,GAL增加了輸出邏輯宏單元(OLMC,OutputLogicMacroCell),并且具有可擦除、可重復編程、數據可長期保存和可重新組合結構等優點GAL比PAL使用更加靈活,典型的GAL器件可以取代幾乎所有的PAL器件可編程邏輯器件—發展歷程PLA、PAL和GAL同屬低密度的PLD,其規模小,難以實現復雜的邏輯功能從20世紀80年代末開始,隨著集成電路工藝水平的不斷提高,PLD突破了傳統的單一結構,向著高密度、高速度、低功耗以及結構體系更靈活的方向發展,相繼出現了各種不同結構的高密度PLD可編程邏輯器件—發展歷程20世紀80年代中期,Altera公司推出了一種新型的可編程邏輯器件EPLD(ErasableProgrammableLogicDevice)EPLD基于CMOS和EPROM工藝制造,集成度比PAL和GAL高得多,設計也更加靈活EPLD保留了邏輯塊結構,即使是規模很大的EPLD的內部延時也很小EPLD最大的缺點在于其內部互連能力比較弱,現在已不常使用可編程邏輯器件—發展歷程1985年Xillinx公司推出了現場可編程門陣列器件FPGAFPGA是一種新型的高密度PLD,采用標準CMOS工藝制造,其內部由許多獨立的可編程邏輯模塊組成,邏輯塊之間可以靈活地相互連接FPGA的功能由邏輯結構的配置數據決定,片內的SRAM或者熔絲圖用于工作時存放配置數據FPGA具有密度高、編程速度快、設計靈活和設計可再配置等優點可編程邏輯器件—發展歷程20世紀80年代末,Lattice公司提出了在系統可編程ISP(InSystemProgrammable)技術此后基于這一技術相繼出現了一系列具備在系統可編程能力的復雜可編程邏輯器件CPLD(ComplexProgrammableLogicDevice)CPLD是在EPLD的基礎上發展起來的,增加了內部互連線,改進了內部結構體系,增加了觸發器的數量CPLD的性能比EPLD更好,設計也更加靈活可編程邏輯器件—發展歷程進入20世紀90年代以后,高密度PLD在生產工藝、器件的編程和測試技術等方面都有了飛速發展FPGA的集成度已經可以達到100萬個等效PLD門,最高工作頻率可以達到100MHz以上CPLD產品的集成度最多可達25萬個等效門,最高工作速度已達180MHz第二章可編程邏輯器件2.1可編程邏輯器件的發展歷程2.2可編程邏輯器件的基本結構與分類2.3簡單可編程邏輯器件2.4復雜可編程邏輯器件

2.5現場可編程門陣列FPGA可編程邏輯器件—基本結構根據已學過的數電相關知識,任何的組合邏輯都可以用與―或表達式來表示因此現在使用的可編程邏輯器件普遍都有相似的內部結構,是由輸入電路、與陣列、或陣列和輸出電路幾部分構成可編程邏輯器件—基本結構可編程邏輯器件結構示意圖可編程邏輯器件—基本結構PLD輸入電路PLD與門表示法PLD或門表示法可編程邏輯器件—基本結構可編程邏輯器件—分類集成度是可編程邏輯器件一項非常重要的指標,通常根據這個指標將其分為低密度可編程邏輯器件(LDPLD,LowDensityProgrammableLogicDevice)和高密度可編程邏輯器件(HDPLD,HighDensityProgrammableLogicDevice)可編程邏輯器件—分類PLDLDPLDPROMPLAPALGALHDPLDEPLDCPLDFPGA可編程邏輯器件(按集成度)分類示意圖第二章可編程邏輯器件2.1可編程邏輯器件的發展歷程2.2可編程邏輯器件的基本結構與分類2.3簡單可編程邏輯器件2.4復雜可編程邏輯器件

2.5現場可編程門陣列FPGA可編程邏輯器件—簡單可編程邏輯器件簡單可編程邏輯器件一般僅由與陣列和或陣列組成,因此這類器件一般只能完成組合邏輯功能簡單可編程邏輯器件的輸入信號首先通過與陣列產生乘積項,然后經過或陣列完成相加,因此用簡單可編程邏輯器件完成組合邏輯功能是非常有效的簡單可編程邏輯器件的結構決定了在對其進行編程時不需要考慮布局布線的問題,因此其性能是完全可以被預測的,這是簡單可編程邏輯器件最大的優點可編程邏輯器件—簡單可編程邏輯器件根據剛才對可編程邏輯器件的分類,我們可以知道,簡單可編程邏輯器件就是早期的低密度可編程邏輯器件簡單可編程邏輯器件一般包括PROM、PLA、PAL和GAL這幾種類型的器件,區分它們的標準是與陣列和或陣列是否可以被編程可編程邏輯器件—簡單可編程邏輯器件A2A1A0D3D2D1D000000100011110010010001100011001011101100011000011110100

可編程邏輯器件—簡單可編程邏輯器件PLA陣列結構可編程邏輯器件—簡單可編程邏輯器件優點缺點因為與陣列是可編程的,它不需要準備輸入信號的所有可能組合,因此它的器件規模不會像PROM那樣隨著輸入信號數目的增加而增加這一優點使得器件芯片的利用率大大提高迄今為止沒有開發出一種高效高質量的PLA編程工具PLA器件制造工藝復雜,工作速度很低,輸出結構存在著缺陷PLA已經無法滿足設計現代數字系統的需要了,現在基本上已經不使用了可編程邏輯器件—簡單可編程邏輯器件PAL陣列結構可編程邏輯器件—簡單可編程邏輯器件PAL器件的優點陣列結構上的優勢PAL擁有成熟的開發工具具有較高的工作速度和性能可編程邏輯器件—簡單可編程邏輯器件GAL與PAL有什么不同?PAL和GAL采用不同的工藝制造:PAL用熔絲工藝制造,只可進行一次編程;而GAL的制造工藝為制造EEPROM的浮柵技術,可以方便地實現電擦除并進行多次改寫,大大方便了用戶的使用PAL和GAL的輸出結構不一樣,PAL的輸出結構是固定的(一般為三態門和寄存器輸出);而GAL在每個輸出端都集成了一個可編程的輸出邏輯宏單元OLMC,因此在使用GAL時,用戶可以自定義輸出結構可編程邏輯器件—簡單可編程邏輯器件GAL16V8的邏輯框圖可編程邏輯器件—簡單可編程邏輯器件OLMC的內部結構可編程邏輯器件—簡單可編程邏輯器件GAL的優點GAL的缺點通過編程可以把OLMC配置成多種輸出結構,很容易就可以實現PAL有限的幾種輸出結構幾種普通的GAL器件就可以完全代替幾乎所有型號PAL器件GAL的芯片規模小,無法完成較復雜的邏輯電路功能后來出現的FPGA和CPLD已經取代了GAL在可編程邏輯器件中的主流地位可編程邏輯器件—簡單可編程邏輯器件器件類型與陣列或陣列輸出結構PROM固定可編程固定PLA可編程可編程固定PAL可編程固定固定GAL可編程固定可編程第二章可編程邏輯器件2.1可編程邏輯器件的發展歷程2.2可編程邏輯器件的基本結構與分類2.3簡單可編程邏輯器件2.4復雜可編程邏輯器件

2.5現場可編程門陣列FPGA可編程邏輯器件—復雜可編程邏輯器件復雜可編程邏輯器件(CPLD)是從低密度可編程邏輯器件PAL、GAL發展而來的高密度可編程邏輯器件規模可以達到幾十萬門、甚至上百萬門,而工作速度可以達到100MHz以上CPLD已經成為主流的可編程邏輯器件之一可編程邏輯器件—復雜可編程邏輯器件CPLD的三大組成部分:邏輯陣列快LAB(LogicArrayBlock)可編程連線陣列PIA(ProgrammableInterconnectArray)可編程I/O單元可編程邏輯器件—復雜可編程邏輯器件CPLD結構框圖可編程邏輯器件—復雜可編程邏輯器件LABPIAI/O控制塊LAB包括與陣列、可編程的觸發器以及多路選擇器等單元電路,每個LAB都可以獨立地配置成組合邏輯電路或者時序邏輯電路來使用PIA提供CPLD內部LAB之間以及LAB與I/O之間的互聯CPLD的可編程I/O控制塊允許單獨的把每個管腳配置成輸入、輸出或者雙向工作方式LAB主要的結構特點體現在多觸發器結構、乘積項共享、異步時鐘和時鐘選擇互聯可以在不改變管腳配置的情況下改變內部設計,具有很大的靈活性內部連線延時是累加的(可預測),設計是可以得到較好的時序性能每個I/O管腳都配備一個三態緩沖器,三態緩沖器受全局輸出使能信號控制可編程邏輯器件—復雜可編程邏輯器件MAX7000系列器件的主要特點及性能:基于電可擦除可編程只讀存儲器(EEPROM)的MAX7000產品采用第二代多陣列矩陣(MAX)架構,用先進的CMOS工藝制造,提供從32到512個宏單元的密度范圍,速度達3.5ns的管腳到管腳延時MAX7000器件支持在系統可編程能力(ISP),可以再現場輕松進行配置可編程邏輯器件—復雜可編程邏輯器件特性EPM7032EPM7064EPM7096EPM7128EEPM7160EEPM7192EEPM7265E可用門數600125018002500320037505000宏單元數326496128160192256邏輯陣列塊2468101216最大用戶I/O數366876100105124164MAX7000/MAX7000E器件特點可編程邏輯器件—復雜可編程邏輯器件特性EPM7032SEPM7064SEPM7128SEPM7160SEPM7192SEPM7256S可用門數60012502500320037505000宏單元數3264128160192256邏輯陣列塊248101216最大用戶I/O數3668100104124164MAX7000S器件特點可編程邏輯器件—復雜可編程邏輯器件MAX7000S特有性能:具有標準JTAG接口,提供在系統可編程能力ISP提供128個或更多宏單元的內建JTAG邊界掃描測試電路可編程邏輯器件—復雜可編程邏輯器件MAX7000系列器件的整體結構主要包括以下幾個部分:邏輯陣列塊LAB擴展乘積項(分共享和并聯兩種)可編程連線陣列PIAI/O控制塊可編程邏輯器件—復雜可編程邏輯器件EPM7032/EPM7064/EPM7096器件的整體結構可編程邏輯器件—復雜可編程邏輯器件MAX7000E/S器件的整體結構可編程邏輯器件—復雜可編程邏輯器件MAX7000器件結構—邏輯陣列塊LAB每個LAB有如下輸入信號:來自PIA的36個輸入信號,用作通用邏輯輸入用作二級寄存器功能的全局控制信號MAX7000E/S器件提供了從I/O管腳到寄存器的直接路徑,這樣可以減小器件的建立時間可編程邏輯器件—復雜可編程邏輯器件MAX7000器件結構—宏單元(Macrocell)宏單元包括3個功能塊:邏輯陣列乘積項選擇矩陣可編程寄存器可編程邏輯器件—復雜可編程邏輯器件EPM7032/EPM7064/EPM7096器件的宏單元結構可編程邏輯器件—復雜可編程邏輯器件MAX7000E/S器件的宏單元結構可編程邏輯器件—復雜可編程邏輯器件MAX7000器件結構—宏單元宏單元中作為寄存器使用的觸發器可以單獨的編程為由可編程時鐘控制的D、T、JK或RS觸發器這些觸發器還可以被旁路以實現組合邏輯在設計輸入的時候,用戶指定期望的觸發器類型,開發工具為每一個寄存器功能選擇最有效的觸發器工作方式,這樣做的目的是優化資源的使用可編程邏輯器件—復雜可編程邏輯器件MAX7000器件結構—宏單元每個可編程寄存器可以有3中鐘控模式:采用全局時鐘信號采用全局時鐘信號和“高電平有效”的時鐘使能信號用乘積項實現陣列時鐘可編程邏輯器件—復雜可編程邏輯器件MAX7000器件結構—宏單元EPM7032、EPM7064和EPM7096器件的全局時鐘信號由專用時鐘管腳GCLK輸入。而在MAX7000E和MAX7000S中,可以有2個全局時鐘信號。這兩個時鐘信號可以從全局時鐘管腳GCLK1和GCLK2輸入,或者將兩個管腳的輸入信號“取反”后得到。可編程邏輯器件—復雜可編程邏輯器件MAX7000器件結構—宏單元每個寄存器都支持異步置位和清零功能這兩個功能是由乘積項選擇矩陣分配乘積項來實現的雖然由乘積項驅動的寄存器清零和置位是高電平有效,但只要在邏輯陣列中將相應信號反相即可得到低電平有效的控制此外,每個寄存器的清零功能可以由低電平有效的全局復位信號GCLRn來驅動。上電時,器件每個寄存器的狀態被置為“0”可編程邏輯器件—復雜可編程邏輯器件MAX7000器件結構—宏單元所有MAX7000E和MAX7000S器件的I/O管腳都有一個快速路徑可以連接到宏單元的寄存器這個快速路徑允許信號旁路PIA和組合邏輯,使得信號到達D觸發器輸入端時可以有極快的輸入建立時間(2.5ns)可編程邏輯器件—復雜可編程邏輯器件MAX7000器件結構—可編程連線陣列PIALAB間通過PIA的繞線連接可以構成用戶所需要的邏輯功能這個全局總線是一個可編程的通道,它可以再器件中把任意信號源送到目的地MAX7000的所有專用輸入、I/O管腳和宏單元輸出均反饋送入PIA,通過PIA可以把這些信號送到器件中的任一地方可編程邏輯器件—復雜可編程邏輯器件PIA布線可編程邏輯器件—復雜可編程邏輯器件MAX7000器件結構—可編程連線陣列PIAFPGA中采用基于通道的布線策略,因此其布線延時是累加的、可變的,并且與布線路徑有關而MAX7000的PIA有固定的延時,可以消除信號之間的時間偏移,使得時間性能更容易預測可編程邏輯器件—復雜可編程邏輯器件MAX7000器件結構—I/O控制塊I/O控制塊允許每個I/O管腳單獨地配置為輸入、輸出和雙向工作方式所有的I/O管腳都有一個三態緩沖器,它可以由全局輸出使能信號中的一個控制,或者直接連到底或者電源VCC上可編程邏輯器件—復雜可編程邏輯器件EPM7032/EPM7064/EPM7096的I/O控制塊可編程邏輯器件—復雜可編程邏輯器件MAX7000E/S的I/O控制塊可編程邏輯器件—復雜可編程邏輯器件MAX7000器件的配置—功耗控制MAX7000器件為用戶提供了節省功耗的工作模式,這種模式允許用戶定義的信號路徑或者整個器件工作在低功耗狀態由于大多數的邏輯應用僅需要一小部分的門在最高頻率下工作,所以這一特點使得整個功耗可以降低50%或者更多可編程邏輯器件—復雜可編程邏輯器件MAX7000器件的配置—可編程的速度設計人員可以講MAX7000器件中每個獨立的宏單元編程為高速(即Turbo位打開)或低速(即Turbo位關斷)工作模式這樣做的結果是,設計中影響速度的關鍵路徑可以工作在高速狀態,而余下的路徑可以在低功耗狀態下工作可編程邏輯器件—復雜可編程邏輯器件MAX7000器件的配置—輸出配置多電壓I/O接口MAX7000器件支持多電壓接口,這一特點使得MAX7000器件可以和不同供電電壓的系統一起工作這些器件有兩組VCC管腳:VCCINT用于器件內部工作和輸入緩沖,VCCIO用于I/O的輸出驅動第二章可編程邏輯器件2.1可編程邏輯器件的發展歷程2.2可編程邏輯器件的基本結構與分類2.3簡單可編程邏輯器件2.4復雜可編程邏輯器件

2.5現場可編程門陣列FPGA可編程邏輯器件—現場可編程門陣列FPGA是一種可由用戶自定義并進行配置的高密度專用集成電路FPGA具有陣列型PLD器件的優點,同時其結構又類似擬掩模可編程門陣列,因此具有更高的集成度和更強大的邏輯實現能力,使得設計更加靈活和容易實現事實上FPGA已經成為一類標準器件,并且已經和CPLD一起成為目前最常用的可編程邏輯器件可編程邏輯器件—現場可編程門陣列世界知名的可編程器件供應商可以為客戶提供各具特色的FPGA產品因此對FPGA而言有著不同的分類方法,一般可以根據互連結構和編程特性對FPGA進行分類目前主流的FPGA產品內部連線一般采用分段互連型結構,并且可重復編程。可編程邏輯器件—現場可編程門陣列FPGA的基本結構形式由3個可編程單元和1個用于存放編程數據的靜態存儲器組成3個可編程單元:可配置邏輯塊CLB(ConfigurableLogicBlock)、輸入輸出功能塊IOB(I/O

Block)和可編程的連線資源IR(InterconnectResource)3個可編程單元的工作狀態全部由編程數據存儲器中的數據設定可編程邏輯器件—現場可編程門陣列FPGA的基本結構框圖可編程邏輯器件—現場可編程門陣列下面我們以Xilinx公司生產的XC2064為例,介紹一下FPGA的IOB和CLB的電路結構和工作原理XC2064是Xilinx公司FPGA器件中結構比較簡單的一種,它一共有56個可編程的I/O端可編程邏輯器件—現場可編程門陣列XC2064的IOB電路可編程邏輯器件—現場可編程門陣列在XC2064中有64個CLB,排列成88的矩陣。每個CLB的電路中包含組合邏輯電路、存儲電路和由一些數據選擇器組成的內部控制電路可編程邏輯器件—現場可編程門陣列XC2064的CLB電路可編程邏輯器件—現場可編程門陣列二變量通用邏輯模塊的函數表可編程邏輯器件—現場可編程門陣列XC2064中CLB的存儲電路可編程邏輯器件—現場可編程門陣列為了能將FPGA中數目很大的CLB和IOB連接成各種復雜的系統,在布線區內布置了豐富的連線資源。這些互連資源可以分為三類,即金屬線、開關矩陣和可編程連接點布線區里的金屬線分為,水平通用連線、垂直通用連線、水平長線、垂直長線、全局連線和直接連線等幾種。這些金屬線經可編程的連接點與CLB、IOB和開關矩陣相連可編程邏輯器件—現場可編程門陣列FPGA的優點FPGA的缺點CLB陣列結構形式克服了PAL等PLD中那種固定的與或邏輯陣列結構的局限性,在組成一些復雜的、特殊的數字系統時顯得更加靈活信號傳輸延時時間不是確定的,限制了器件的工作速度

溫馨提示

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

評論

0/150

提交評論