




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2章硬件基礎(chǔ)2.1概述2.2簡單可編程邏輯器件2.3復雜可編程邏輯器件CPLD2.4現(xiàn)場可編程門陣列FPGA2.5可編程邏輯器件的編程與配置2.6可編程邏輯器件的選擇
2.1概述
2.1.1可編程邏輯器件的發(fā)展歷程
1.標準元件
20世紀60年代,單片集成電路的復雜度達到了每芯片幾個簡單邏輯門的水平。設(shè)計者只需從芯片目錄中選取合適的元件,將它們插在面包板或印刷電路板上,通過電路板提供的連線對其進行互連,即可實現(xiàn)相應的邏輯功能。隨著時間的推移和設(shè)計規(guī)模的不斷擴大,產(chǎn)品目錄中逐漸出現(xiàn)了更加復雜的元件,集成電路從小規(guī)模集成(SmallScaleIntegrated,SSI)電路(通常包含10個或更少的邏輯門)發(fā)展到中規(guī)模集成(MediumScaleIntegrated,MSI)電路(通常包含10~100個邏輯門)。我們熟知的TI公司的7400芯片就是MSI電路典型的例子。在20世紀70年代,隨著集成度的不斷增加,設(shè)計師們嘗試使用更高密度的元件來實現(xiàn)邏輯功能,微處理器及隨機訪問存儲器(SRAM)這一類通用元件被設(shè)計師們廣泛用于系統(tǒng)的設(shè)計,集成電路的規(guī)模也發(fā)展到了大規(guī)模集成(LargeScaleIntegrated,LSI)電路(通常包含幾萬個邏輯門),例如Intel8008微處理器等。
2.專用集成電路
隨著系統(tǒng)規(guī)模的不斷擴大,過多的元件及互連線可能導致功耗高、占用空間大、可靠性差等問題,傳統(tǒng)的設(shè)計手段已無法滿足超大規(guī)模集成(VeryLargeScaleIntegrated,VLSI)電路(通常包含10萬~1000萬個邏輯門)、甚大規(guī)模集成(UltraLargeScaleIntegrated,ULSI)電路(通常包含1000萬以上個邏輯門)的要求。
20世紀80年代,借助于飛速發(fā)展的半導體技術(shù)及計算機技術(shù),設(shè)計師們提出了“EDA技術(shù)”的概念,即借助于計算機強大的處理能力,利用軟件及硬件描述語言HDL來完成數(shù)字系統(tǒng)的設(shè)計,數(shù)字系統(tǒng)的設(shè)計流程也由傳統(tǒng)的“自底向上”轉(zhuǎn)換為“自頂向下”,由此出現(xiàn)了ASIC技術(shù)。所謂ASIC,是指專門為某一應用領(lǐng)域或為專門用戶需要而設(shè)計、制造的電路,它可以將某些專用電路或電子系統(tǒng)設(shè)計在一個芯片上,構(gòu)成單片集成系統(tǒng)。利用ASIC設(shè)計數(shù)字系統(tǒng)時,設(shè)計者可以利用計算機對系統(tǒng)進行方案設(shè)計和功能劃分,系統(tǒng)的關(guān)鍵電路可以采用一片或幾片專用集成電路來實現(xiàn),因而使系統(tǒng)的體積和重量減小,功耗降低,而且這種系統(tǒng)還具有高性能、高可靠性和保密性好等優(yōu)點。
3.可編程邏輯器件
盡管ASIC具有諸多的優(yōu)點,但它存在著成本高、開發(fā)周期長、無法用于實驗原型驗證等問題,因而又出現(xiàn)了現(xiàn)場可編程邏輯器件(FPLD),其中應用最廣泛的是現(xiàn)場可編程門陣列(FPGA)和復雜可編程邏輯器件(CPLD)。
早期的可編程邏輯器件只有可編程只讀存儲器(PROM)、紫外線擦除只讀存儲器(EPROM)和電可擦除只讀存儲器(EEPROM)三種。其后,出現(xiàn)了一類結(jié)構(gòu)稍復雜的可編程芯片,即可編程邏輯器件(PLD),為了和后期的CPLD、?FPGA加以區(qū)別,我們通常將這一類器件稱為簡單可編程邏輯器件(SPLD)。利用SPLD能夠完成各種數(shù)字邏輯功能。典型的PLD由一個“與”門和一個“或”門陣列組成,而任意一個組合邏輯都可以用“與-或”表達式來描述,所以,PLD能以乘積項的形式完成大量的組合邏輯功能。
SPLD的代表有可編程陣列邏輯(PAL)和通用陣列邏輯(GAL)。PAL由一個可編程的“與”平面和一個固定的“或”平面構(gòu)成,或門的輸出可以通過觸發(fā)器有選擇地被置為寄存狀態(tài)。PAL器件是現(xiàn)場可編程的,它的實現(xiàn)工藝有反熔絲技術(shù)、EPROM技術(shù)和EEPROM技術(shù)。還有一類結(jié)構(gòu)更為靈活的邏輯器件是可編程邏輯陣列(PLA),它也由一個“與”平面和一個“或”平面構(gòu)成,但是這兩個平面的連接關(guān)系是可編程的。
PLA器件既有現(xiàn)場可編程的,也有掩膜可編程的。在PAL的基礎(chǔ)上,又發(fā)展了一種通用陣列邏輯GAL(GenericArrayLogic),如GAL16V8、GAL22V10等。它們采用EEPROM工藝,實現(xiàn)了電可擦除、電可改寫,其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因而其設(shè)計具有很強的靈活性,至今仍有許多人使用。這些早期PLD器件的一個共同特點是可以實現(xiàn)速度特性較好的邏輯功能,但其過于簡單的結(jié)構(gòu)也使它們只能實現(xiàn)規(guī)模較小的電路。為了彌補這一缺陷,20世紀80年代中期,Altera和Xilinx相繼推出了類似于PAL結(jié)構(gòu)的CPLD(ComplexProgrammableLogicDvice)以及與ASIC標準門陣列類似的FPGA(FieldProgrammableGateArray),它們都具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍廣等特點。這兩種器件兼容了SPLD和通用門陣列的優(yōu)點,可實現(xiàn)較大規(guī)模的電路,編程也很靈活。與門陣列等其他ASIC相比,它們又具有設(shè)計開發(fā)周期短、設(shè)計制造成本低、開發(fā)工具先進、標準產(chǎn)品無需測試、質(zhì)量穩(wěn)定以及可實時在線檢驗等優(yōu)點,因此被廣泛應用于產(chǎn)品的原型設(shè)計和產(chǎn)品生產(chǎn)(一般在10?000件以下)。幾乎所有應用門陣列、PLD和中小規(guī)模通用數(shù)字集成電路的場合均可應用FPGA和CPLD器件。
4.可編程的片上系統(tǒng)
20世紀90年代以來,出現(xiàn)了可編程的片上系統(tǒng)SoPC和片上系統(tǒng)SoC技術(shù),它們是PLD和ASIC技術(shù)融合的結(jié)果,涵蓋了實時化數(shù)字信號處理技術(shù)、高速數(shù)據(jù)收發(fā)器、復雜計算以及嵌入式系統(tǒng)設(shè)計技術(shù)的全部內(nèi)容。2.1.2PLD的表示方法
1.連接方式
門陣列的每個交叉點稱為“單元”,單元的連接方式共有三種情況,如圖2-1所示。
(1)硬線連接。硬線連接是固定的連接,不可以編程改變。
(2)可編程接通單元。它依靠用戶編程來實現(xiàn)接通連接。
(3)可編程斷開單元。編程實現(xiàn)斷開狀態(tài),這種單元又稱為可編程擦除單元。圖2-1PLD連接符號
2.基本門電路的表示方式
PLD中的基本門電路符號如圖2-2所示。圖(a)為與門;圖(b)為或門;圖(c)為輸出恒等于0的與門及其簡化表示形式;圖(d)中與門的所有輸入均不接通,保持“懸浮”的1狀態(tài);圖(e)為具有互補輸出的輸入緩沖器;圖(f)為三態(tài)輸出緩沖器。圖2-2PLD的基本門電路符號
3.?PLD的編程技術(shù)
常見的PLD編程技術(shù)有以下幾種:
(1)熔絲工藝。
(2)?EPROM,紫外線擦除電可編程邏輯器件,其工作時用較高電壓編程,用紫外線擦除,可編程幾十次。
(3)?EEPROM,電可擦寫編程器,其工作時,用較高電壓編程,用電擦除,編程次數(shù)稍多。
(4)?SRAM,靜態(tài)隨機存儲器,可實現(xiàn)無數(shù)次擦寫,編程速度、編程要求優(yōu)于前幾種方法,但由于具有易失性,因此需專門配置芯片。
(5)?Flash,電可擦除編程ROM,既具有EPROM結(jié)構(gòu)簡
單、編程可靠的優(yōu)點,又具有EEPROM擦除快速、集成度高的優(yōu)點。
2.1.3乘積項原理
人們通過研究發(fā)現(xiàn),任何組合邏輯電路都可以由與門-或門兩級電路構(gòu)成,而只要在組合邏輯電路中引入能夠記憶電路狀態(tài)的存儲單元或延遲單元,例如觸發(fā)器、鎖存器等,就可以構(gòu)成時序邏輯電路。由此人們提出了一種可編程邏輯電路結(jié)構(gòu),即乘積項(Product-Terms)可編程邏輯結(jié)構(gòu),其原理圖如圖2-3所示。圖2-3PLD結(jié)構(gòu)圖由圖2-3可知,這一類型器件的核心是預先設(shè)計好的可編程的與門陣列、或門陣列,使用時設(shè)計者只需要根據(jù)邏輯函數(shù)對輸入和構(gòu)成乘積項的與門之間的連接以及由與門構(gòu)成的乘積項與或門之間的連接進行編程,就可以實現(xiàn)特定的邏輯功能。輸入電路由輸入緩沖器構(gòu)成,通過它可以得到互補的輸入信號變量送到與陣列,若在輸入電路中包含鎖存器或寄存器等即可組成時序電路。輸出電路也可分為組合和時序兩種,組合方式的或陣列連接三態(tài)門輸出,而時序方式的則經(jīng)過寄存器和三態(tài)門輸出。為了增加器件的靈活性,可以根據(jù)需要將輸出反饋到與陣列的輸入。
【例2.1】實現(xiàn)一個如下的邏輯函數(shù):
Y=AB+AB
Z=AB
解(1)要實現(xiàn)上面的邏輯函數(shù),則該PLD需要包括2個輸入和2個輸出。
(2)由于PLD輸入電路包括輸入緩沖器,故可以直接實
現(xiàn)A、A、B、B。
(3)觀察布爾表達式可以看出,要實現(xiàn)以上邏輯功能,需3個乘積項:AB、AB、AB,將與門陣列相應位置的連接線進行編程連接即可。
(4)同理,根據(jù)布爾表達式,對或門陣列相應位置進行編程連接,即可得到相應的輸出信號Y、Z,編程后的PLD結(jié)構(gòu)圖如圖2-4所示。圖2-4例2-1編程后的結(jié)構(gòu)圖2.1.4查找表原理
在FPGA中,實現(xiàn)組合邏輯電路功能的基本電路是查找表(Look-Up-Table,LUT)和數(shù)據(jù)選擇器,而觸發(fā)器仍是實現(xiàn)時序邏輯電路的基本電路。LUT實質(zhì)上就是一個SRAM。目前FPGA中使用較多的是4個輸入、1個輸出的LUT,所以每一個LUT可以看成是一個4根地址線的16×1位的SRAM。利用SRAM實現(xiàn)組合邏輯函數(shù)時,只需列出真值表,輸入作為地址,輸出作為存儲內(nèi)容,將內(nèi)容按地址寫入即可。具體步驟如例2.2所示。
【例2.2】利用LUT實現(xiàn)函數(shù)F?=ABC+ABCD+AC。
解首先列出F的真值表,如表2-1所示。將F的值寫入SRAM中(如圖2-5所示),這樣,每輸入一組ABCD信號進行邏輯運算,就相當于輸入一個地址進行查表,就可以找出地址對應的內(nèi)容,并將其輸出,在輸出F端便得到該組輸入信號邏輯運算的結(jié)果。圖2-5四輸入查找表當用戶通過原理圖或HDL語言描述一個邏輯電路以后,F(xiàn)PGA開發(fā)軟件會自動計算邏輯電路的所有可能結(jié)果,并把結(jié)果寫入FPGA中的SRAM,這就是所謂的編程。此后,SRAM中的內(nèi)容保持不變,LUT就具有了確定的邏輯功能。待FPGA加電后,F(xiàn)PGA首先從PROM中讀入編程數(shù)據(jù)進行SRAM初始化,然后才能完成預定義的邏輯功能。2.1.5可編程邏輯器件的分類
1.按集成度分類
從結(jié)構(gòu)的復雜程度上一般可將PLD分為簡單PLD(SPLD)和復雜PLD(CPLD)(如圖2-6所示),或分為低密度PLD(LDPLD)和高密度PLD(HDPLD)。所謂簡單PLD,是指以邏輯門為編程單位,PROM、PLA、PAL、GAL均屬于此類;而復雜PLD則以邏輯塊為編程單元,CPLD、FPGA屬于復雜PLD。圖2-6按集成度PLD分類示意圖
2.按編程特性分類
從編程特性上可將PLD分為一次可編程(OTP)和重復可編程兩類。OTP型PLD器件包括PROM、PAL及熔絲型FPGA;重復可編程型PLD采用的是MOS工藝,包括EPROM、EEPROM、SRAM和Flash。
2.2簡單可編程邏輯器件
簡單可編程邏輯器件包括PROM(可編程只讀存儲器)、PAL(可編程陣列邏輯)、PLA(可編程邏輯陣列)和GAL(通用陣列邏輯)四類,它們都屬于陣列型結(jié)構(gòu)的PLD,其結(jié)構(gòu)如圖
2-3(a)所示。它們之間的差異在于編程特性與輸出方式不同,其工作原理已在2.1.4節(jié)講述,這里不再贅述。本節(jié)僅討論它們的電路結(jié)構(gòu)特點,四種SPLD電路結(jié)構(gòu)特點如表2-2所示。圖2-7、圖2-8和圖2-9分別畫出了PROM、PLA、PAL和GAL的陣列結(jié)構(gòu)圖。從這些陣列結(jié)構(gòu)圖可以看出,可編程陣列邏輯PAL和通用陣列邏輯GAL的基本門陣列結(jié)構(gòu)相同,均為與門陣列可編程,或門陣列固定連接,也就是說,每個或門的輸出是若干個乘積項之和,其中乘積項的數(shù)目是固定的。圖2-7PROM陣列結(jié)構(gòu)圖2-8PLA陣列結(jié)構(gòu)圖2-9PAL和GAL陣列結(jié)構(gòu)
1.?PROM與PLA比較
PROM與PLA電路結(jié)構(gòu)極為相似,都是由一個與門邏輯陣列、一個或門邏輯陣列和輸出緩沖器組成的。兩者之間的差異在于PROM的與門邏輯陣列是固定的,而PLA的與門邏輯陣列是可編程的。也就是說PROM的與門邏輯陣列將輸入變量的全部最小項都譯出了,而PLA的與門邏輯陣列只產(chǎn)生所需要的少得多的乘積項。
2.?PAL和GAL的比較
PAL和GAL的差異在于其輸出的結(jié)構(gòu)不相同。PAL有幾種固定的輸出結(jié)構(gòu),選定芯片型號后,其輸出結(jié)構(gòu)隨之而定。
例如,在圖2-10所示的PAL16L8的輸出結(jié)構(gòu)中,或門的輸出最多可以包含7個乘積項,最上面的與門所對應的乘積項用來控制三態(tài)門的輸出。當與門輸出為“0”時,三態(tài)門禁止,輸出呈高阻狀態(tài),I/O引腳作為輸入使用;當與門輸出為“1”時,三態(tài)門被選通,I/O引腳作為輸出使用。兩種情況下信號都可以通過右面的互補輸出緩沖器反饋至與門陣列的輸入端。圖2-10只畫出了其中一個輸出,PAL16L8有8個輸出,由于8個輸出的時間有可能不一致,因此稱為異步I/O輸出結(jié)構(gòu)。圖2-10異步I/O輸出結(jié)構(gòu)
PAL16R8的輸出結(jié)構(gòu)如圖2-11所示,稱為寄存器輸出結(jié)構(gòu)。系統(tǒng)時鐘的上升沿來到后,或門的輸出被存入D觸發(fā)器,然后通過選通三態(tài)緩沖器再將它送至輸出端,該輸出是低電平有效,而且Q還可以反饋至與門陣列,這樣能記憶原來的狀態(tài),從而實現(xiàn)時序邏輯功能。圖2-11寄存器輸出結(jié)構(gòu)
GAL的可編程輸出結(jié)構(gòu)稱為輸出邏輯宏單元OLMC(OutputLogicMacroCell)。圖2-12是GAL22V10的OLMC內(nèi)部邏輯圖,從圖中看出,OLMC中除了包含或門陣列和D觸發(fā)器之外,還多了兩個多路選擇器,其中4選1多路選擇器用來選擇輸出方式和輸出極性,2選1多路選擇器用來選擇反饋信號,而這些多路選擇器的輸出由兩位可編程特征碼S1、S2來控制。圖2-12GAL22V10的OLMC內(nèi)部邏輯圖2.3復雜可編程邏輯器件CPLD
2.3.1CPLD的基本結(jié)構(gòu)
不同廠家采用的工藝稍有差異,但總體來說,通常都由可編程邏輯宏單元(Macrocell)、可編程連線(PIA)和I/O控制塊三部分構(gòu)成,采用EPROM、EEPROM、Flash等工藝制造。其通用結(jié)構(gòu)如圖2-13所示。圖2-13通用的CPLD結(jié)構(gòu)示意圖
1.可編程邏輯宏單元
邏輯宏單元內(nèi)部主要包括與或陣列、可編程觸發(fā)器和多路選擇器等電路,能獨立地配置為時序或組合工作方式。CPLD器件與GAL器件相似,其邏輯宏單元同I/O在一起,稱為輸出邏輯宏單元,但其宏單元及與門陣列數(shù)目比GAL大得多。CPLD器件的宏單元在內(nèi)部,稱為內(nèi)部邏輯宏單元。
宏單元的具體結(jié)構(gòu)(以AlteraEPM7032、EPM7064及EPM7096宏單元為例)如圖2-14所示。圖2-14EPM7032、EPM7064及EPM7096宏單元結(jié)構(gòu)圖2-14左側(cè)是乘積項陣列,實際就是一個與或陣列,每一個交叉點都是一個可編程熔絲,如果導通可實現(xiàn)與邏輯。后面的乘積項選擇矩陣是一個或陣列。兩者一起完成組合邏輯。圖右側(cè)是一個可編程觸發(fā)器,它的時鐘、清零輸入都可以編程選擇,可以使用專用的全局清零和全局時鐘,也可以使用內(nèi)部邏輯(乘積項陣列)產(chǎn)生的時鐘和清零信號。如果不需要觸發(fā)器,也可以將此觸發(fā)器旁路,信號直接輸給PIA或輸出到I/O腳。可編程邏輯宏單元具有如下特點:
(1)多觸發(fā)器結(jié)構(gòu)和“隱埋”觸發(fā)器結(jié)構(gòu)。GAL器件每個輸出宏單元只有一個觸發(fā)器,而CPLD的宏單元內(nèi)部通常含兩個或兩個以上的觸發(fā)器,其中只有一個觸發(fā)器與輸出端相連,其余觸發(fā)器的輸出通過相應的緩沖電路反饋到與門陣列,從而與其他觸發(fā)器一起構(gòu)成較復雜的時序電路。這些不與輸出端相連的觸發(fā)器就稱為“隱埋”觸發(fā)器。這種結(jié)構(gòu)的優(yōu)點在于可以增加其內(nèi)部資源。
(2)乘積項共享結(jié)構(gòu)。由圖2-14可以看出,每個宏單元只提供5個乘積項,雖然這已經(jīng)足以應付大多數(shù)的邏輯應用,但當要實現(xiàn)更加復雜的邏輯函數(shù)時,就必須借助于其他的乘積項。CPLD提供了一種機制,允許每個宏單元提供未使用的乘積項供其他宏單元使用和共享,通常稱它們?yōu)閿U展乘積項。共享擴展乘積項如圖2-15所示,這種乘積項可以被任何宏單元使用和共享。并行擴展乘積項如圖2-16所示,這種乘積項允許從鄰近宏單元借用宏單元。圖2-15共享擴展乘積項圖2-16并行擴展乘積項
(3)異步時鐘和時鐘選擇。一般GAL器件只能實現(xiàn)同步時序電路,而在CPLD器件中各觸發(fā)器的時鐘可以異步工作,有些器件中觸發(fā)器的時鐘還可以通過多路選擇器或時鐘網(wǎng)絡(luò)進行選擇。此外,邏輯宏單元內(nèi)觸發(fā)器的異步清零和異步置位也可以用乘積項進行控制,因而使用更加靈活。
2.可編程連線陣列
可編程連線陣列PIA(ProgrammableInterconnectArray)的作用是在各邏輯宏單元之間以及邏輯宏單元和I/O單元之間提供互連網(wǎng)絡(luò)。各邏輯宏單元通過可編程連線陣列接收來自專用輸入或輸入端的信號,并將宏單元的信號反饋到其需要到達的目的地。這種互連機制有很大的靈活性,它允許在不影響引腳分配的情況下改變內(nèi)部設(shè)計。
3.可編程I/O單元
I/O單元是內(nèi)部信號到I/O引腳的接口部分。在CPLD中,通常只有少數(shù)幾個專用輸入端,大部分端口均為I/O端,而且系統(tǒng)的輸入信號常常需要鎖存。因此I/O常作為一個獨立單元來處理。
CPLD的I/O由輸入緩沖器、輸入寄存器/鎖存器、可編程數(shù)據(jù)選擇器和三態(tài)輸出緩沖器組成,CPLD的I/O示意圖如圖
2-17所示。這些三態(tài)輸出緩沖器一般由全局使能信號控制或直接與電源或地相連。圖2-17CPLDI/O示意圖2.3.2Altera公司的CPLD器件
1.?Altera的可編程解決方案
Altera的可編程解決方案包括:①FPGA、CPLD和結(jié)構(gòu)化ASIC技術(shù);②IP核;③可定制嵌入式處理器;④現(xiàn)成的開發(fā)包。Altera可編程器件除了具有PLD的一般特點外,還具有改進的內(nèi)部結(jié)構(gòu)、先進的處理技術(shù)、現(xiàn)代化的開發(fā)工具以及多種兆功能選用等優(yōu)點。
(1)高性能。Altera器件采用先進的CMOS技術(shù),具有非常低的功耗和相當高的速度;采用連續(xù)式互連結(jié)構(gòu),在整個芯片內(nèi)提供快速、連續(xù)的信號延時;諸如對芯片內(nèi)部電路的專業(yè)改進也增強了系統(tǒng)性能。
(2)高密度邏輯集成。為縮小印制板的尺寸和成本,設(shè)計人員總是尋求盡可能高的集成度,試圖通過把更多的邏輯器件集成到更少的器件中以降低成本。此外,對現(xiàn)有的設(shè)計也經(jīng)常進行二次開發(fā)。高邏輯集成度的CPLD為上述要求提供了很好的解決方案。Altera器件的密度從300門到100萬門,能夠集成現(xiàn)有的各種邏輯器件,包括小規(guī)模及大規(guī)模標準邏輯器件、PLD、FPGA或ASIC器件。
(3)較短的開發(fā)周期。Altera的快速、直觀、易于使用的QuartusⅡ和MAX?+?PLUSⅡ軟件能夠極大地縮短開發(fā)周期。
(4)高性能價格比。Altera公司不斷改進產(chǎn)品的設(shè)計與制造工藝,十多年積累的經(jīng)驗使其工藝技術(shù)及制造工藝非常先進,因此能夠提供性能價格比合理的可編程器件。Altera的PLD的成本與門陣列相當。
(5)兆功能模塊。Altera的CPLD高達100萬門的集成度,使得在單個可編程器件中實現(xiàn)一個完整的數(shù)字系統(tǒng)成為可能。為推進這種高集成度器件的應用,進一步縮短設(shè)計周期,Altera提供了兆功能模塊并支持AMPP功能。兆功能模塊具有高度的靈活性及固定功能器件所不能達到的性能,如高速有限沖激響應FIR濾波器等。兆功能可以實現(xiàn)總線協(xié)議、DSP、圖像處理、高速網(wǎng)絡(luò)、微處理器及微型外設(shè)等。
(6)在系統(tǒng)可編程(ISP)。Altrea器件的在系統(tǒng)可編程功能提高了設(shè)計的靈活性,簡化了樣品的制作過程及流水線的生產(chǎn)過程,并且可以對產(chǎn)品進行快速而有效的現(xiàn)場升級。Altera的ISP使用標準JTAG測試端口,可以在一個獨立的生產(chǎn)過程中對器件進行編程,并可以對印刷電路板進行功能測試。
2.?Altera公司的主要CPLD產(chǎn)品
1)?MAX7000
Altera的MAX7000系列CPLD是基于乘積項結(jié)構(gòu)的可編程邏輯器件,適用于實現(xiàn)高速、復雜的組合邏輯。該系列器件具有以下主要特點:
①采用第二代多陣列矩陣(MAX)結(jié)構(gòu)。
②通過標準的JTAG接口,支持在系統(tǒng)可編程ISP。
③集成密度為600~5000個可用門。④引腳到引腳之間的延時為6ns,工作頻率最高可達151.5MHz。
⑤?3.3V或者5V電源供電。
⑥在可編程功率節(jié)省模式下工作,每個宏單元的功耗可降到原來的50%或更低。
⑦高性能的可編程連線陣列(PIA)提供一個高速的、延時可預測的互連網(wǎng)絡(luò)資源。
⑧每個宏單元中可編程擴展乘積項可達32個。
⑨具有可編程保密位,能夠全面保護設(shè)計者的知識產(chǎn)權(quán)。
MAX7000系列中的高密度器件稱為MAX7000E系列,它包括EPM7128E、EPM7160E、EPM7192E和EPM7256E。這些器件有一些加強的功能,比如附加全局時鐘、附加輸出使能控制以及增加連線資源、快速輸入寄存器等。
MAX7000系列的另外兩個器件族分別為MAX7000A和MAX7000S系列。這兩個系列除了具有MAX7000E的增強特性外,還具有在系統(tǒng)可編程(ISP)功能和JTAG邊界掃描測試(BST)電路,它們包括EPM7032S、EPM7064S、EPM7128S、EPM7160S、EPM7192S、EPM7256S、EPM7128A、EPM7256A等。
2)?MAXⅡ
MAXⅡ系列是Altera最新一代的CPLD產(chǎn)品。它采用全新的構(gòu)架、0.18μmFlash工藝和6層金屬走線,它的邏輯容量從240個到2210個LE,即等效宏單元數(shù)從192個到1700個。
與傳統(tǒng)的CPLD相比,它可以提供給用戶更多的邏輯資源和更多的I/O,同時又有更低的功耗。另外,MAXⅡ系列支持MultiVolt核,它能夠在1.8V、2.5V或3.3V電源下工作。該特性將電源線數(shù)量減至最少,從而簡化了板級設(shè)計。
MAXⅡ使用MultiVoltI/O接口,能夠和具有1.5V、1.8V、2.5V或3.3V邏輯電平的其他器件無縫連接。MAXⅡ還支持實時在線配置,用戶可以在不影響正在工作的邏輯的基礎(chǔ)上,對MAXⅡ內(nèi)部的Flash進行配置,在配置Flash完成后,用戶可以選擇立即把邏輯信號加到內(nèi)核工作或者等到下一次重新上電。
MAXⅡ作為大容量、低成本的CPLD可以用來取代一些小FPGA、ASSP和標準邏輯器件。其整個產(chǎn)品系列參見表2-3。2.4現(xiàn)場可編程門陣列FPGA
2.4.1FPGA的基本結(jié)構(gòu)
FPGA由六個部分組成,分別為可編程輸入/輸出單元、基本可編程邏輯單元、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元和內(nèi)嵌專用硬核等,其結(jié)構(gòu)示意圖如圖2-18
所示。圖2-18FPGA結(jié)構(gòu)示意圖
1.可編程輸入/輸出單元
為了使FPGA有更靈活的應用,目前大多數(shù)FPGA的I/O單元被設(shè)計為可編程模式,即通過軟件的靈活配置,可以適配不同的電氣標準與I/O物理特性;可以調(diào)整匹配阻抗特性、上/下拉電阻;可以調(diào)整輸出驅(qū)動電流的大小等。
2.基本可編程邏輯單元
LE內(nèi)部結(jié)構(gòu)如圖2-19所示。FPGA一般是基于SRAM工藝的,其基本可編程邏輯單元主要由查找表、寄存器等組成。FPGA內(nèi)部查找表一般為4輸入,查找表一般完成純組合邏輯功能。FPGA內(nèi)部寄存器的結(jié)構(gòu)相當靈活,可以配置為帶同步/異步復位或置位、時鐘使能的觸發(fā)器,也可以配置為鎖存器。
FPGA通常依賴寄存器完成同步時序邏輯設(shè)計。一般來說,比較經(jīng)典的基本可編程單元的配置是一個寄存器加一個查找表,但是不同廠家的寄存器和查找表的內(nèi)部結(jié)構(gòu)有一定的差異,而且寄存器和查找表的組合模式也不同。例如,Altera可編程邏輯單元LE是由一個寄存器加一個查找表構(gòu)成的。Altera大多數(shù)FPGA將10個LE有機地組合起來構(gòu)成更大的功能單元——邏輯陣列模塊LAB(LogicArrayBlock)。
Xilinx的可編程邏輯單元稱為Slice,它由上下兩個部分構(gòu)成,每個部分都由一個寄存器加一個查找表組成,被稱為邏輯單元LC(LogicCell)。而Lattice底層邏輯單元稱為可編程功能單元PFU(ProgrammableFunctionUnit),它是由8~9個寄存器加8個LUT構(gòu)成的。圖2-19LE內(nèi)部結(jié)構(gòu)圖
3.嵌入式塊RAM
目前大多數(shù)FPGA都有內(nèi)嵌的塊RAM(BlockRAM)。?FPGA內(nèi)部嵌入可編程RAM模塊,大大拓展了FPGA的應用范圍和使用靈活性。FPGA內(nèi)嵌的塊RAM一般可以靈活配置為單端口RAM(SPRAM)、雙端口RAM(DPRAM)、偽雙端口RAM(PseudoDPRAM)、CAM(ContentAddressableMemory)、FIFO(FirstInFirstOut)等常用存儲結(jié)構(gòu)。所謂CAM,即內(nèi)容地址存儲器。CAM這種存儲器在其每個存儲單元中都包含了一個內(nèi)嵌的比較邏輯,寫入CAM的數(shù)據(jù)會和其內(nèi)部存儲的每一個數(shù)據(jù)進行比較,并返回與端口數(shù)據(jù)相同的所有內(nèi)部數(shù)據(jù)的地址。概括地講,RAM是一種根據(jù)地址讀、寫數(shù)據(jù)的存儲單元;而CAM和RAM恰恰相反,它返回的是與端口數(shù)據(jù)相匹配的內(nèi)部地址。不同器件廠家或不同器件族的內(nèi)嵌塊RAM的結(jié)構(gòu)不同,Xilinx常見的塊RAM大小是4Kbit和18Kbit兩種,Lattice常用的塊RAM大小是9Kbit,Altera的塊RAM最為靈活,一些高
端器件內(nèi)部同時含有3種塊RAM結(jié)構(gòu),分別是M512RAM
(512bit)、M4KRAM(4Kbit)和M-RAM(512Kbit)。
4.豐富的布線資源
FPGA內(nèi)部有著非常豐富的布線資源,這些布線資源根據(jù)工藝、長度、寬度和分布位置的不同而被劃分為不同的等級,有一些是全局性的專用布線資源,用以完成器件內(nèi)部的全局時鐘和全局復位/置位的布線;有一些稱為長線資源,用以完成器件Bank(分區(qū))間的一些高速信號和一些第二全局時鐘信號(有時也被稱為LowSkew信號)的布線。
5.底層嵌入功能單元
隨著FPGA的發(fā)展,這些模塊被越來越多地嵌入到FPGA的內(nèi)部,以滿足不同場合的需求。目前大多數(shù)FPGA廠家都在FPGA內(nèi)部集成了DLL或者PLL硬件電路,用以完成時鐘的高精度、低抖動的倍頻、分頻、占空比調(diào)整、移相等功能。
Altera芯片集成的是PLL,Xilinx芯片主要集成的是DLL,Lattice的新型FPGA同時集成了PLL與DLL以適應不同的需求。目前,越來越多的高端FPGA產(chǎn)品將包含DSP或CPU等軟處理核,從而FPGA將由傳統(tǒng)的硬件設(shè)計手段逐步過渡為系統(tǒng)級設(shè)計平臺。
6.內(nèi)嵌專用硬核
FPGA中的內(nèi)嵌專用硬核主要是為某些特定應用場合開發(fā)的,例如針對某些高端通信應用場合所需的SERDES(串并收發(fā)單元),Altera在其StratixGX器件族內(nèi)嵌了3.1875Gb/s的SERDES,Xilinx的對應器件族是VirtexⅡPro和VirtexProX,而Lattice支持SERDES的器件族有SC系列和FPSC系列。2.4.2Altera公司的FPGA器件
Altera公司自1992年推出第一款FPGA產(chǎn)品FLEX8000至今,不斷秉承創(chuàng)新理念,推出了近20個系列的FPGA產(chǎn)品,表2-4列出了Altera公司FPGA產(chǎn)品一覽表。
1.?Stratix系列
Stratix器件于2002年推出,采用1.5V、0.13μm全銅SRAM工藝,為滿足高帶寬系統(tǒng)的需求進行了優(yōu)化。Stratix器件提供了時鐘管理、數(shù)字信號處理(DSP)應用、差分和單端I/O標準。此外,Stratix器件具有片內(nèi)匹配和遠程系統(tǒng)升級能力。Stratix器件系列是功能豐富的高帶寬系統(tǒng)方案,開創(chuàng)了可編程芯片系統(tǒng)(SoPC)方案的新紀元。StratixFPGA系列的特性見表2-5。
2.?Cyclone系列
Cyclone系列FPGA于2002年12月推出,采用基于成本優(yōu)化的全銅1.5VSRAM工藝,相對競爭對手的FPGA僅有其一半的成本,且依然提供了強大的功能。Cyclone系列具有最高達
20060個邏輯單元和288Kb的RAM,除此之外,Cyclone系列的FPGA還集成了許多復雜的功能。
Cyclone系列FPGA提供了全功能的鎖相環(huán)(PLL),用于板級的時鐘網(wǎng)絡(luò)管理和專用I/O接口,這些接口用于連接業(yè)界標準的外部存儲器器件。Altera的NiosⅡ系列嵌入式處理器的IP資源也可以用于Cyclone系列FPGA的開發(fā)。設(shè)計者只需下載Altera提供的完全免費的QuartusⅡ網(wǎng)絡(luò)版開發(fā)軟件就可以立即進行Cyclone系列FPGA的設(shè)計和開發(fā)。Cyclone系列FPGA的主要特性見表2-6。2.5可編程邏輯器件的編程與配置
CPLD器件編程和FPGA器件配置可以使用專用的編程器完成,也可以使用下載編程電纜完成。如Altera公司的ByteBlasterMV,它與Altera器件的接口一般采用10芯連接器,連接器頂視圖如圖2-20所示,ByteBlasterMV10芯接口引腳信號見表2-7。圖2-20連接器頂視圖2.5.1CPLD器件的編程
在系統(tǒng)編程(ISP)技術(shù)是20世紀80年代末Lattice公司首先提出的一種先進的編程技術(shù)。所謂“在系統(tǒng)編程”,是指對器件、電路板或整個電子系統(tǒng)的邏輯功能可隨時進行修改或重構(gòu)的能力。這種重構(gòu)或修改可以在產(chǎn)品設(shè)計、制造過程中的每個環(huán)節(jié)進行,甚至在交付用戶之后仍可進行。利用ISP編程時,不需要使用編程器,只需要通過編程電纜將計算機系統(tǒng)與目標器件相連,直接在目標系統(tǒng)或印刷線路板上進行編程。這種方式有利于提高系統(tǒng)的可靠性,便于系統(tǒng)板的調(diào)試和維修。
ISP主要用于CPLD器件的編程,圖2-21是AlteraCPLD器件MAX7000的ISP編程連接示意圖,其中,ByteBlasterMV通過并口與計算機相連。圖2-21MAX7000的ISP編程連接示意圖需要注意的是,MAX7000系列CPLD是通過JTAG接口對器件進行在系統(tǒng)編程的。在圖2-21中,使用了JTAG的TCK、TDO、TMS、TDI這四條信號線與ByteBlasterMV的10芯接口相連。
JTAG接口是由IEEE聯(lián)合測試行動組(JTAG)于20世紀80年代開發(fā)的,稱為IEEE1149.1-1990邊界掃描測試技術(shù)規(guī)范。利用JTAG測試口作為編程口,一方面可以省去專用的編程口,減少系統(tǒng)的引出線;另一方面由于JTAG本身是工業(yè)標準,用它來編程有利于各可編程邏輯器件編程接口的統(tǒng)一,從而產(chǎn)生了IEEE編程標準——IEEE1532。
同樣,也可以使用JTAG鏈對多個支持JTAG接口ISP的CPLD器件進行編程,多CPLD芯片ISP編程連接示意圖如圖
2-22所示。圖2-22多CPLD芯片ISP編程連接示意圖2.5.2FPGA器件的配置
1.概述
Altera為其FPGA器件提供了若干種配置方式,不同的器件可能采取不同的配置方式。但總的來說,主要有以下三種配置方式:
(1)?FPGA主動(active)方式。所謂“主動”,是指由目標FPGA來主動輸出控制和同步信號。主動方式又分為AS(主動串行)、AP(主動并行)兩種。
(2)?FPGA被動(passive)方式。所謂“被動”,是指由系統(tǒng)中的其他設(shè)備發(fā)起并控制配置過程。這些設(shè)備包括配置芯片、單板上的微處理器、CPLD等智能設(shè)備。FPGA在配置過程中始終處于被動地位,只是輸出一些狀態(tài)信號來配合配置過程。被動方式又可細分為PS(被動串行)、FPP(快速被動并行)、PPS(被動并行同步)、PPA(被動并行異步)、PSA(被動串行異步)五種方式。
2.配置過程
圖2-23顯示了FPGA配置循環(huán)波形圖。從圖中可以看出FPGA上電后首先進入配置模式,當最后一個數(shù)據(jù)載入到FPGA后,進入初始化狀態(tài),在初始化完成后,進入用戶模式狀態(tài)。在配置模式和初始化狀態(tài)下,用戶I/O均處于高阻狀態(tài),只有進入用戶模式狀態(tài)下,用戶I/O才能按照用戶設(shè)計的功能工作。圖2-23FPGA配置循環(huán)波形圖無論采取何種方案配置FPGA,其配置流程基本相同,通常分為復位、配置和初始化三個步驟。FPGA配置流程如圖
2-24所示,F(xiàn)PGA上電后,當其nCONFIG管腳被拉低時,器件處于復位狀態(tài)。這時所有的配置RAM被清空,當FPGA的nCONFIG管腳出現(xiàn)一個從低到高的跳變后,進入配置狀態(tài)。同時芯片還會去采樣配置模式(MSEL)管腳的信號狀態(tài),決定采取何種配置方式。在接收配置數(shù)據(jù)的過程中,配置數(shù)據(jù)由DATA管腳送入,而配置時鐘信號由DCLK管腳送入,配置數(shù)據(jù)在DCLK的上升沿被鎖存到FPGA中。當配置數(shù)據(jù)被全部寫入到FPGA后,F(xiàn)PGA上的CONF_DONE信號就會被釋放,初始化過程開始,但芯片并未開始工作。
INIT_DONE是初始化完成的標志信號。在初始化過程中,內(nèi)部邏輯、內(nèi)部寄存器和I/O寄存器將被初始化,I/O驅(qū)動器將被使能。當初始化完成后,器件上漏極開路輸出的INIT_DONE管腳被釋放,同時被外部的上拉電阻拉高。這時,F(xiàn)PGA進入用戶模式,所有的內(nèi)部邏輯以及I/O都按照用戶的設(shè)計運行。圖2-24FPGA配置流程圖
3.配置方式
1)使用下載電纜配置FPGA
PS方式下可以利用PC通過ByteBlaster等下載電纜對FPGA器件進行在線配置,配置過程與上類似。PS方式下ByteBlaster配置電路如圖2-25所示。圖2-25PS方式下ByteBlaster配置電路
2)使用微處理器配置FPGA
FPGA有一個顯著的缺點就是保密性不強。在有些應用場合,設(shè)計的保密性和可升級性非常重要。用微處理器來配置FPGA能夠很好地解決這個問題。微處理器配置FPGA電路如圖2-26所示。圖2-26微處理器配置FPGA電路圖利用微處理器配置FPGA時,為了啟動配置,微處理器必須向nCONFIG提供一個由低到高的跳變。當nCONFIG變高時,器件脫離復位狀態(tài)并釋放漏極開路管腳nSTATUS,一旦nSTATUS釋放成功,F(xiàn)PGA就可以開始接收數(shù)據(jù)。當nSTATUS被拉高時,微處理器應該在DATA0管腳上一次放
置1比特的配置數(shù)據(jù)并且必須首先傳送LSB比特。這時,F(xiàn)PGA就可以從DATA0管腳接收數(shù)據(jù),當DCLK時鐘上升沿到來時,數(shù)據(jù)就被鎖存進FPGA中。數(shù)據(jù)接收完成后,F(xiàn)PGA釋放CONF_DONE信號,CONF_DONE由低變高,配置完成,進入初始化狀態(tài)。當INIT_DONE由低變高時,初始化完成,進入用戶模式狀態(tài)。進入用戶模式后,通過將nCONFIG管腳拉高來啟動重配置。
3)使用JTAG配置FPGA
使用JTAG配置FPGA,有四個必需的信號(TDI、TDO、TMS、TCK)以及1個可選信號(TRST)。其中,TDI用于測試數(shù)據(jù)的輸入;TDO用于測試數(shù)據(jù)的輸出;TMS是模式控制管腳,決定JTAG電路內(nèi)部的TAP狀態(tài)機的跳轉(zhuǎn);TCK是測試時鐘,其他信號線必須與之同步。用戶可以通過Altera的下載電纜或微處理器等智能設(shè)備從JTAG口配置FPGA,JTAG配置FPGA電路如圖2-27所示。圖2-27JTAG配置FPGA電路圖2.6可編程邏輯器件的選擇
2.6.1可編程邏輯器件選擇的依據(jù)
(1)器件的貨源和開發(fā)工具的支持。目前,主要的FPGA供應商有Xilinx公司、Alt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 篷布行業(yè)人才培養(yǎng)規(guī)劃考核試卷
- 海洋油氣開采海域使用權(quán)管理考核試卷
- 礦山開采對生物多樣性影響考核試卷
- 起點初三語文作文
- 液壓系統(tǒng)在金屬加工中的應用考核試卷
- 球類制造技術(shù)與材料創(chuàng)新考核試卷
- 禮儀用品行業(yè)發(fā)展趨勢預測考核試卷
- 蘭州資源環(huán)境職業(yè)技術(shù)大學《藥物合成原理》2023-2024學年第二學期期末試卷
- 江蘇省大豐市劉莊鎮(zhèn)三圩初級中學2024-2025學年初三下學期5月學情調(diào)研考試化學試題試卷含解析
- 遼寧商貿(mào)職業(yè)學院《程序可信分析與構(gòu)造》2023-2024學年第二學期期末試卷
- 2022年電力電纜頭制作施工方案【完整版】
- 基于STM32的光照控制系統(tǒng)設(shè)計
- 北京山區(qū)農(nóng)機化發(fā)展的對策研究
- 有限空間現(xiàn)場作業(yè)安全檢查表(現(xiàn)場檢查)
- 1、防止人身傷亡事故檢查表
- 環(huán)境信息系統(tǒng)的GIS基礎(chǔ) 03講 空間數(shù)據(jù)模型
- 德語字母讀音表
- 國際創(chuàng)傷生命支持創(chuàng)傷評估步驟與治療決策樹-Microsoft-Office-Word-文檔
- GB/T 8766-2013單水氫氧化鋰
- GB/T 2792-1998壓敏膠粘帶180°剝離強度試驗方法
- GB/T 15292-1994晶閘管測試方法逆導三極晶閘管
評論
0/150
提交評論