版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第2章 大規(guī)??删幊踢壿嬈骷?.1 可編程邏輯器件概述 2.5 CPLD和FPGA的編程與配置 2.6 FPGA和CPLD的開發(fā)應(yīng)用選擇 2.1 可編程邏輯器件概述2.1.1 PLD的發(fā)展進程20世紀70年代初,主要是可編程只讀存儲器(PROM)和可編程邏輯陣列(PLA)。20世紀70年代末出現(xiàn)了可編程陣列邏輯(Programmable Array Logic,簡稱PAL)器件。 20世紀80年代初期,美國Lattice公司推出了一種新型的PLD器件,稱為通用陣列邏輯(Generic Array Logic,簡稱GAL),一般認為它是第二代PLD器件。隨著技術(shù)進步,生產(chǎn)工藝不斷改進,器件規(guī)模不
2、斷擴大,邏輯功能不斷增強,如PROM、EPROM、EEPROM等。 1985年,美國Altera公司在EPROM和GAL器件的基礎(chǔ)上,首先推出了可擦除可編程邏輯器件EPLD(Erasable PLD),其基本結(jié)構(gòu)與PAL/GAL器件相仿,但其集成度要比GAL器件高得多。 Altera、Atmel、Xilinx等公司不斷推出新的EPLD產(chǎn)品,它們的工藝不盡相同,結(jié)構(gòu)不斷改進,形成了一個龐大的群體。但是從廣義來講,可擦除可編程邏輯器件(EPLD)可以包括GAL、EEPROM、FPGA、ispLSI或ispEPLD等器件。 最初,一般把器件的可用門數(shù)超過500門的PLD稱為EPLD。后來,器件的密度
3、越來越大,許多公司把原來稱為EPLD的產(chǎn)品都稱為復(fù)雜可編程邏輯器件CPLD(Complex Programmable Logic Devices)?,F(xiàn)在,一般把所有超過某一集成度的PLD器件都稱為CPLD。規(guī)模已從取代PAL和GAL的500門以下的芯片系列,發(fā)展到5000門以上,現(xiàn)已有上百萬門的CPLD芯片系列。 在系統(tǒng)可編程的概念,首先由美國的Lattice公司提出,而且,該公司已將其獨特的ISP技術(shù)應(yīng)用到高密度可編程邏輯器件中,形成了ispLSI(in system programmable Large Scale Integration,在系統(tǒng)可編程大規(guī)模集成)和pLSI(可編程大規(guī)模集
4、成)邏輯器件系列。 其系統(tǒng)速度可達154 MHz,邏輯集成度可達100014 000門,是一種比較先進的可編程專用集成電路。2.1.2 PLD的分類方法 1從結(jié)構(gòu)的復(fù)雜度分類從結(jié)構(gòu)的復(fù)雜度上一般可將PLD分為簡單PLD和復(fù)雜PLD(CPLD),或分為低密度PLD和高密度PLD(HDPLD)。 通常,當PLD中的等效門數(shù)超過500門時,則認為它是高密度PLD。傳統(tǒng)的PAL和GAL是典型的低密度PLD,其余(如EPLD、FPGA和pLSI/ispLSI等)則稱為HDPLD或CPLD。 2從互連結(jié)構(gòu)上分類從互連結(jié)構(gòu)上可將PLD分為確定型和統(tǒng)計型兩類。確定型PLD提供的互連結(jié)構(gòu)每次用相同的互連線實現(xiàn)布
5、線,所以,這類PLD的定時特性常常可以從數(shù)據(jù)手冊上查閱而事先確定。這類PLD是由PROM 結(jié)構(gòu)演變而來的,目前除了FPGA器件外,基本上都屬于這一類結(jié)構(gòu)。統(tǒng)計型結(jié)構(gòu)是指設(shè)計系統(tǒng)每次執(zhí)行相同的功能,卻能給出不同的布線模式,一般無法確切地預(yù)知線路的延時。所以,設(shè)計系統(tǒng)必須允許設(shè)計者提出約束條件,如關(guān)鍵路徑的延時和關(guān)聯(lián)信號的延時差等。這類器件的典型代表是FPGA系列。 3從可編程特性上分類從可編程特性上可將PLD分為一次可編程和重復(fù)可編程兩類。一次可編程的典型產(chǎn)品是PROM、PAL和熔絲型FPGA,其他大多是重復(fù)可編程的。其中,用紫外線擦除的產(chǎn)品的編程次數(shù)一般在幾十次的量級,采用電擦除方式的產(chǎn)品的編
6、程次數(shù)稍多些,采用E2CMOS工藝的產(chǎn)品,擦寫次數(shù)可達上千次,而采用SRAM(靜態(tài)隨機存取存儲器)結(jié)構(gòu)產(chǎn)品,則被認為可實現(xiàn)無限次的編程。 4從可編程元件上分類最早的PLD器件(如PAL)大多采用的是TTL工藝,但后來的PLD器件(如GAL、EPLD、FPGA及pLSI/ISP器件)都采用MOS工藝(如NMOS、CMOS、E2CMOS等)。目前,一般有五種編程元件: 熔絲型開關(guān)(一次可編程,要求大電流); 可編程低阻電路元件(多次可編程,要求中電壓); EPROM的編程元件(需要有石英窗口,紫外線擦除); EEPROM的編程元件; 基于SRAM的編程元件。 2.1.3 常用CPLD 和FPGA標
7、識的含義1CPLD和FPGA標識概說CPLD/ FPGA 產(chǎn)品上的標識大概可分為以下幾類:(1) 用于說明生產(chǎn)廠家的。如Lattice、Altera、Xilinx是其公司名稱。(2) 注冊商標。如MAX是為Altera公司其CPLD產(chǎn)品MAX系列注冊的商標。(3) 產(chǎn)品型號。如EPM7128SLC84-15,是Altera公司的一種CPLD(EPLD)的型號,是需要重點掌握的。(4) 產(chǎn)品序列號。用于說明產(chǎn)品生產(chǎn)過程中的編號,是產(chǎn)品身份的標志,相當于人的身份證。(5) 產(chǎn)地與其他說明。由于跨國公司跨國經(jīng)營,世界日益全球化,有些產(chǎn)品還有產(chǎn)地說明,如:Made in China(中國制造)。 2C
8、PLD/FPGA產(chǎn)品型號標識組成CPLD/FPGA產(chǎn)品型號標識通常由以下幾部分組成:(1) 產(chǎn)品系列代碼。如Altera公司的FLEX器件系列代碼為EPF。(2) 品種代碼。如Altera公司的FLEX10K,10K即是其品種代碼。(3) 特征代碼。也即集成度,CPLD產(chǎn)品一般以邏輯宏單元數(shù)描述,而FPGA一般以有效邏輯門來描述。如Altera公司的EPF10K10中后一個10,代表典型產(chǎn)品集成度是10k。要注意有效門與可用門不同。 (4) 封裝代碼。 如Altera公司的EPM7128SLC84中的LC,表示采用PLCC封裝(Plastic Leaded Chip Carrier,塑料方形扁
9、平封裝)。PLD封裝除PLCC外,還有BGA(Ball Grid Array,球形網(wǎng)狀陣列)、C/JLCC(Ceramic /J-Leaded Chip Carrier,)、C/M/P/TQFP(Ceramic/Metal/Plastic/Thin Quard Flat Package)、PDIP/DIP(Plastic Double In line Package)、PGA(Ceramic Pin Grid Array)等,多以其縮寫來描述,但要注意各公司稍有差別,如PLCC,Altera公司用LC描述,Xilinx公司用PC描述,Lattice公司用J來描述。 (5) 參數(shù)說明。如Alte
10、ra公司的EPM7128SLC84中的LC84-15,84代表有84個引腳,15代表速度等級為15ns(注意該等級的含義各公司有所不同)。也有的產(chǎn)品直接用系統(tǒng)頻率來表示速度,如ispLSI1016-60,60代表最大頻率60MHz。(6) 改進型描述。一般產(chǎn)品設(shè)計都在后續(xù)進行改進設(shè)計,改進設(shè)計型號一般在原型號后用字母表示,如A、B、C等按先后順序編號,有些不按A、B、C先后順序編號,則有特定的含義,如D表示低成本型(Down),E表示增強型(Ehanced),L表示低功耗型(Low),H表示高引腳型(High),X表示擴展型(eXtended)等。 (7) 適用的環(huán)境等級描述。一般在型號最后以
11、字母描述,C(Commercial)表示商用級(085),I(Industrial)表示工業(yè)級(-40100),M(Material)表示軍工級(-55125)。(8) 附加后綴。如ES:Engineering sample;N: Lead-free devices。 3幾種典型產(chǎn)品型號1) Lattice公司CPLD和FPGA系列器件Lattice公司的CPLD產(chǎn)品以其發(fā)明的isp開頭,系列有ispLSI、ispMACH、ispPAC及新開發(fā)的ispXPGA、ispXPLD等。其中,ispPAC為模擬可編程器件,除ispLSI、ispMACH4A系列外,型號編排時CPLD產(chǎn)品以LC開頭;FP
12、GA產(chǎn)品以LF開頭(MachXO系列除外);SC系列以LFSC開頭;EC系列以EC開頭。典型產(chǎn)品型號含義如下: ispLSI1016-60:ispLSI1000系列CPLD,通用邏輯塊GLB數(shù)(只1000系列以此為特征)為16個,工作頻率最大為60MHz。 ispLSI1032E-125 LJ:ispLSI1000E系列CPLD,通用邏輯塊GLB數(shù)為32個(相當邏輯宏單元數(shù)128),工作頻率最大為125MHz,PLCC84封裝,低電壓型商用產(chǎn)品。M4A5-256/128-7YC:5V ispMACH4A系列CPLD,邏輯宏單元數(shù)為256個,引腳間延遲為7.5ns,PQFP208封裝,適用溫度范
13、圍為商用級(070)。LC4032ZE-4TN100C:ispMACH4000ZE系列CPLD,邏輯宏單元數(shù)為32個,引腳間延遲為4.4 ns,無鉛TQFP100封裝,適用溫度范圍為商用級(085)。LC5256MC-4F256C:ispXPLD 5000MC系列CPLD,邏輯宏單元數(shù)為256個,存儲器型,1.8V供電電壓,引腳間延遲為4.0ns,fpBGA256封裝,適用溫度范圍為商用級(085)。LCMXO640E-4FT256CES:MachXO系列FPGA,640個查找表,1.2V供電電壓,速度等級為4級,fpBGA256封裝,適用溫度范圍為商用級(085),工程樣品。LFSC3GA2
14、5E-6F900C:SC系列FPGA,SERDES速度為3.8G,25k個查找表,1.2V供電電壓,速度等級為6級,fpBGA900封裝, 適用溫度范圍為商用級(085)。LFX1200EC-03F900I:ispXPGA1200E系列FPGA,典型邏輯規(guī)模是1.25M系統(tǒng)門,1.8V,速度等級為3級(注意Lattice公司的速度等級數(shù)越小,速度越慢),fpBGA900封裝,適用溫度范圍為工業(yè)級(-40100)。 LFXP10E-4F256C:XP系列FPGA,10k個查找表,1.2V供電電壓,速度等級為4級,fpBGA256封裝,適用溫度范圍為商用級(085)。LF/products/fpg
15、a/ecp3/default.htm EC系列FPGA,20k個查找表,1.2V供電電壓,速度等級為4級,fpBGA484封裝,適用溫度范圍為商用級(085)。LFE2-50E-7F672C: ECP2系列FPGA,50k個查找表,1.2V供電電壓,速度等級為7級,fpBGA672封裝,適用溫度范圍為商用級(085)。2) Altera公司的FPGA和CPLD系列器件Altera公司的產(chǎn)品一般以EP開頭,代表可重復(fù)編程。(1) Altera公司的MAX系列CPLD產(chǎn)品和MAX系列FPGA產(chǎn)品的系列代碼為EPM。典型產(chǎn)品型號含義如下:EPM7128SLC84-15:MAX7000S系列CPLD,
16、邏輯宏單元數(shù)為128個,采用PLCC封裝,84個引腳,引腳間延時為15ns。EPM240GT100C3ES:MAX系列FPGA產(chǎn)品,邏輯單元數(shù)為240個,TQFP封裝,100個引腳,速度等級為3級,適用溫度范圍為商用級(085),ES表示是工程樣品(Engineering sample)。 (2) Altera公司的FPGA產(chǎn)品系列代碼為EP或EPF。典型產(chǎn)品型號含義如下:EPF10K10:FLEX10K系列FPGA,典型邏輯規(guī)模是10k個有效邏輯門。EPF10K30E:FLEX10KE系列FPGA,邏輯規(guī)模是EPF10K10的3倍。EPF20K200E:APEX20KE系列FPGA,邏輯規(guī)模
17、是EPF10K10的20倍。EP1K30:ACEX1K系列FPGA,邏輯規(guī)模是EPF10K10的3倍。EP1S30:STRATIX系列FPGA,邏輯規(guī)模是EPF10K10的3倍。 EP3C25F324C7N:CYCLONE 系列FPGA,邏輯單元數(shù)為25k個,F(xiàn)BGA封裝,324個引腳,速度等級為7級,適用溫度范圍為商用級(085),無鉛(Lead-free devices)。EP4SGX230KF40C2ES:Stratix GX系列FPGA,邏輯單元數(shù)為230k個,帶36個收發(fā)器,F(xiàn)BGA封裝,1517個引腳,速度等級為2級,適用溫度范圍為商用級(085),工程樣品。EP1AGX20CF4
18、84C6N:Arria GX系列FPGA,邏輯單元數(shù)為20k個,帶4個收發(fā)器,F(xiàn)BGA封裝,484個引腳,速度等級為6級,適用溫度范圍為商用級(085),無鉛。 (3) Altera公司的FPGA配置器件系列代碼為EPC。典型產(chǎn)品型號含義如下:EPC1:1型FPGA配置器件。 3) Xilinx公司的CPLD和FPGA系列器件Xilinx公司的產(chǎn)品一般以XC開頭,代表Xilinx公司的產(chǎn)品。典型產(chǎn)品型號含義如下:XC95108-7 PQ 160C:XC9500系列CPLD,邏輯宏單元數(shù)為108個,引腳間延時為7ns,采用PQFP封裝,160個引腳,商用。XC2064:XC2000系列FPGA,
19、可配置邏輯塊(Configurable Logic Block,CLB)為64個(只此型號以CLB為特征)。 XC2018:XC2000系列FPGA,典型邏輯規(guī)模是有效門1800個。XC4002A:XC4000A系列FPGA,典型邏輯規(guī)模是2k個有效門。XCS10:Spartan系列FPGA,典型邏輯規(guī)模是10k個。XCS30:Spartan系列FPGA,典型邏輯規(guī)模是XCS10的3倍。XC3S50A-4FT256C:Spartan 3A系列FPGA,典型邏輯規(guī)模是XCS10的5倍,速度等級為4級,采用FTBGA256腳封裝,適用溫度范圍為商用級(085)。XC6VLX240T-1FFG115
20、6C:Virtex-6 LX系列FPGA,典型邏輯規(guī)模是240k個,速度等級為1級,采用1156腳封裝,適用溫度范圍為商用級(085)。 2.5 CPLD和FPGA的編程與配置2.5.1 CPLD和FPGA的編程配置1編程配置的概念可編程邏輯器件在利用開發(fā)工具設(shè)計好應(yīng)用電路后,要將該應(yīng)用電路寫入PLD芯片。將應(yīng)用電路寫入PLD芯片的過程稱為編程,而對FPGA器件來講,由于其內(nèi)容在斷電后即丟失,因此稱為配置(但把應(yīng)用電路寫入FPGA的專用配置ROM仍稱為配置)。由于編程或配置一般是把數(shù)據(jù)由計算機寫入PLD芯片,因此,也叫下載。要把數(shù)據(jù)由計算機寫入PLD芯片,首先要把計算機的通信接口和PLD的編程
21、或配置引腳連接起來。一般是通過下載線和下載接口來實現(xiàn)的,也有專用的編程器。CPLD的編程主要要考慮編程下載接口及其連接,而FPGA 的配置除了考慮編程下載接口及其連接外,還要考慮配置器件問題。 2配置模式在FPGA的配置之前,首先要借助于FPGA開發(fā)系統(tǒng),按某種文件格式要求描述設(shè)計系統(tǒng),編譯仿真通過后,將描述文件轉(zhuǎn)換成FPGA芯片的配置數(shù)據(jù)文件。選擇一種FPGA的配置模式,將配置數(shù)據(jù)裝載到FPGA芯片內(nèi)部的可配置存儲器,F(xiàn)PGA芯片才會成為滿足要求的芯片系統(tǒng)。FPGA的配置模式是指FPGA用來完成設(shè)計時的邏輯配置和外部連接方式。邏輯配置是指,經(jīng)過用戶設(shè)計輸入并經(jīng)過開發(fā)系統(tǒng)編譯后產(chǎn)生的配置數(shù)據(jù)文
22、件,將其裝入FPGA芯片內(nèi)部的可配置存儲器的過程,簡稱FPGA的下載。只有經(jīng)過邏輯配置后,F(xiàn)PGA才能實現(xiàn)用戶需要的邏輯功能。 不同公司的配置模式有所不同,而同一公司的不同器件系列也有差異,具體配置模式應(yīng)查相關(guān)器件的數(shù)據(jù)手冊。比如Lattice公司的ECP/EC系列器件的配置模式由CFG2:0決定,包括七種配置模式: SPI主動模式; SPIX主動模式; 主動串行模式; 從動串行模式; 主動并行模式; 從動并行模式; ispJTAG模式。Altera公司基于SRAM LUT結(jié)構(gòu)器件的配置模式由芯片引腳MSEL1和MSEL0的狀態(tài)決定,包括六種配置模式: 配置器件配置模式; PS被動串行模式;
23、PPS被動并行同步模式; PPA被動并行異步模式; PSA被動串行異步模式; JTAG模式。 Xilinx公司XC2000/XC3000等系列的FPGA的配置模式由芯片引腳M0、M1和M2的狀態(tài)決定,包括六種配置模式: 主動串行配置模式; 主動并行配置模式(高); 主動并行配置模式(低); 從動串行配置模式; 同步外設(shè)配置模式; 異步外設(shè)配置模式。 3配置流程FPGA的配置流程如圖2.99所示,一般包括芯片的初始化、配置和啟動等幾個過程。當系統(tǒng)加電時,F(xiàn)PGA自動觸發(fā)芯片的加電/復(fù)位電路,芯片開始進行初始化操作。初始化操作包括:清除芯片內(nèi)部的可配置存儲器;檢測芯片引腳的配置狀態(tài),判斷芯片的配置
24、模式;將輸出引腳設(shè)置成高阻狀態(tài)。FPGA芯片內(nèi)部設(shè)有延時電路,使芯片有足夠的時間完成初始化操作。在芯片的配置過程中,如果檢測到RESET的低有效信號,配置過程就會中斷,芯片初始化操作重新開始。當芯片的配置確定無誤后,開始對芯片進行配置。在配置過程中,配置數(shù)據(jù)以固定格式傳送,它以一個4位起始碼、一個24位長度計數(shù)碼和一個4位隔離碼為引導(dǎo),接著開始進行配置數(shù)據(jù)的傳遞。配置開始后,芯片內(nèi)的一個24位二進制計數(shù)器從零開始對配置時鐘做加法計數(shù),當計數(shù)器的值與長度計數(shù)碼的值相同時,配置過程結(jié)束。配置數(shù)據(jù)在芯片內(nèi)部以串行方式進入芯片內(nèi)的移位寄存器,進行串并轉(zhuǎn)換后再以并行方式寫入配置存儲器。在配置過程中,F(xiàn)P
25、GA自動對配置數(shù)據(jù)進行檢查,發(fā)現(xiàn)錯誤,立即中斷配置過程,同時在INIT引腳輸出低電平,給出錯誤信息。 圖2.99 FPGA的配置流程 2.5.2 CPLD和FPGA 的下載接口目前可用的下載接口有專用接口和通用接口,串行接口和并行接口之分。專用接口有Lattice早期的ISP接口(ispLSI1000系列)、Altera的PS接口等;通用接口有JTAG接口。串行接口和并行接口不僅針對PC機而言,對PLD也是這樣,顯然,JTAG接口是串行接口。但在PLD內(nèi)部,數(shù)據(jù)都是串行寫入的,使用并行接口在PLD內(nèi)部數(shù)據(jù)有一個并行格式轉(zhuǎn)串行格式的過程,故串行接口和并行接口速度基本相同。Altera的ByteB
26、laster接口是一個10芯的混合接口,有PS和JTAG兩種模式,都是串行接口。接口信號排列如圖2.100所示,名稱如表2.33所示。 圖2.100 ByteBlaster接口信號排列圖 2.5.3 CPLD器件的編程電路在系統(tǒng)可編程(ISP)就是當系統(tǒng)上電并正常工作時,計算機通過系統(tǒng)中的CPLD擁有ISP接口并直接對其進行編程,器件在編程后立即進入正常工作狀態(tài)。這種CPLD編程方式的出現(xiàn),改變了傳統(tǒng)的使用專用編程器編程方法的諸多不便。圖2.101是Altera CPLD器件的ISP編程連接圖,其中Byteblaster(MV)與計算機并口相連。MV即混合電壓的意思。 圖2.101 CPLD編
27、程下載連接圖 必須指出,Altera的MAX7000系列CPLD是采用IEEE 1149.1 JTAG接口方式對器件進行再系統(tǒng)編程的,在圖2.100中與Byteblaster的10芯接口相連的是TCK、TDO、TMS和TDI這四條JATG信號線。JTAG接口本來是用來做邊界掃描測試(BST)的,把它用作編程接口則可以省去專用的編程接口,減少系統(tǒng)的引出線。由于JTAG是工業(yè)標準的IEEE1149.1邊界掃描測試的訪問接口,用作編程功能有利于各可編程邏輯器件編程接口的統(tǒng)一。據(jù)此,便產(chǎn)生了IEEE編程標準IEEE 1532,對JTAG編程方式進行標準化統(tǒng)一。在討論JTAG BST時曾經(jīng)提過,在系統(tǒng)板
28、上的多個JTAG器件的JTAG口可以鏈接起來,形成一條JTAG鏈。同樣,對于多個支持JTAG接口ISP的CPLD器件,也可以使用JTAG鏈進行編程,當然也可以進行測試。圖2.102就用了JTAG對多個器件進行ISP在系統(tǒng)編程。 JTAG鏈使得對各個公司生產(chǎn)的不同ISP器件進行統(tǒng)一的編程成為可能。有的公司提供了相應(yīng)的軟件,如Altera的Jam Player可進行不同公司支持JTAG的ISP器件混合編程。有些早期的ISP器件,比如最早引入ISP概念的Lattice的ispLSI1000系列(新的器件支持JTAG ISP,如1000EA系列)采用專用的ISP接口,也支持多器件下載。 圖2.102
29、多CPLD芯片ISP編程連接方式 2.5.4 FPGA器件的配置電路1使用PC并行口配置FPGA對于基于SRAM查找表LUT結(jié)構(gòu)的FPGA器件,由于是易失性器件,沒有ISP的概念,代之以ICR(In-Circuit Reconfigurability),即在線可重配置方式。FPGA特殊的結(jié)構(gòu)使之需要在上電后必須進行一次配置。電路可重配置是指在器件已經(jīng)配置好的情況下進行重新配置,以改變電路邏輯結(jié)構(gòu)和功能。在利用FPGA進行設(shè)計時可以利用FPGA的ICR特性,通過連接PC機的下載電纜快速地下載設(shè)計文件至FPGA進行硬件驗證。Altera的SRAM LUT結(jié)構(gòu)的器件中,F(xiàn)PGA可使用六種配置模式,這
30、些模式通過FPGA上的兩個模式選擇引腳MSEL1和MSEL0上設(shè)定的電平來決定: (1) 配置器件,如用EPC器件進行配置。(2) PS(Passive Serial,被動串行)模式:MSEL1=0、MSEL0=0。(3) PPS(Passive Parallel Synchronous,被動并行同步)模式:MSEL1=1、MSEL0=0。(4) PPA(Passive Parallel Asynchronous,被動并行異步)模式:MSEL1=1、MSEL0=1。(5) PSA(Passive Serial Asynchronous,被動串行異步)模式:MSEL1=1、MSEL0=0。(6)
31、 JTAG模式:MSEL1=0、MSEL0=0。 在這六種配置模式中,PS模式可利用PC機通過Byteblaster下載電纜對Altera器件應(yīng)用ICR。這在FPGA的設(shè)計調(diào)試時是經(jīng)常使用的。圖2.103是FLEX10K PS模式配置時序圖,其中標出了FPGA器件的三種工作狀態(tài):配置狀態(tài)、用戶模式(正常工作狀態(tài))、初始化狀態(tài)。配置狀態(tài)是指FPGA器件正在配置的狀態(tài),用戶I/O全部處于高阻態(tài);用戶模式是指FPGA器件已得到配置,并處于正常工作狀態(tài),用戶I/O在正常工作;初始化狀態(tài)是指配置已經(jīng)完成,但FPGA器件內(nèi)部資源,如寄存器還未復(fù)位完成,邏輯電路還未進入正常狀態(tài)。 圖2.103 FLEX10
32、K PS模式配置時序 當設(shè)計的數(shù)字系統(tǒng)比較大,需要不止一個FPGA器件時,若為每個FPGA器件都設(shè)置一個下載口顯然是不經(jīng)濟的。Altrera器件的PS模式支持多個器件進行配置。對于PC機而言,只是在軟件上加以設(shè)置支持多器件外,再通過一條ByteBlaster下載電纜即可對多個FPGA器件進行配置。圖2.104的電路給出了PC機用ByteBlaster下載電纜對多個器件進行配置的原理圖。 圖2.104 多FPGA芯片配置電路 2使用專用配置器件配置FPGA 通用PC機對FPGA進行ICR在系統(tǒng)重配置,雖然在調(diào)試時非常方便,但當數(shù)字系統(tǒng)設(shè)計完畢需要正式投入使用時,在應(yīng)用現(xiàn)場(比如車間)不可能在FP
33、GA每次加電后,用一臺PC手動地去進行配置。上電后,自動加載配置對于FPGA應(yīng)用來說是必須的,F(xiàn)PGA上電自動配置,有許多解決方法,如EPROM配置、用專用配置器件配置、單片機控制配置或FlashROM配置等。這里首先介紹專用配置芯片配置。 專用配置器件通常是串行的PROM器件。大容量的PROM器件也提供并行接口,按可編程次數(shù)分為兩類:一類是OTP(一次可編程)器件;另一類是多次可編程的。比如AlterFPGA常用配置器件EPC1441和EPC1是OTP型串行PROM;EPC2是EEPROM型多次可編程串行PROM。圖2.105是Altera的EPC器件配置FPGA的時序圖;圖2.106是單個
34、配置器件配置單個FPGA的配置電路原理圖。 如圖2.105及圖2.106所示,配置器件的控制信號(如nCS、OE和DCLK等)直接與FPGA器件的控制信號相連。所有的器件不需要任何外部智能控制器就可以由配置器件進行配置。配置器件的OE和 nCS引腳控制著DATA輸出引腳的三態(tài)緩存,并控制地址計數(shù)器的使能。當OE為低電平時,配置器件復(fù)位地址計數(shù)器,DATA引腳為高阻狀態(tài)。nCS引腳控制著配置器件的輸出,如果在OE復(fù)位脈沖后,nCS始終保持高電平,計數(shù)器將被禁止,TADA引腳為高阻。當nCS置低電平后,地址計數(shù)器和DATA輸出均使能。OE再次置低電平時,不管nCS處于何種狀態(tài),地址計數(shù)器都將復(fù)位,
35、DATA引腳置為高阻態(tài)。 圖2.106 FPGA的配置電路原理圖 值得注意的是,EPC2、EPC1和EPC1441器件不僅決定了工作方式,而且還決定了當OE為高電平時,是否使用APEX20K、FLEX10K和FLEX 6000器件規(guī)范。對于配置器件,Altera的FPGA允許多個配置器件配置單個FPGA器件,因為對于像APEX 類的器件,最大的配置器件EPC16的容量還是不夠的,因此允許多個配置器件配置多個FPGA器件,甚至同時配置不同系列的FPGA。 在實際應(yīng)用中,常常希望能隨時更新其中的內(nèi)容,但又不希望把配置器件從電路板上取下來編程。Altera的可重復(fù)編程配置器件,如EPC2就提供了在系
36、統(tǒng)編程的能力。圖2.107是EPC2的編程和配置電路。圖中,EPC2本身的編程由JTAG接口來完成,F(xiàn)PGA的配置既可由ByteBlaster(MV)進行,也可由EPC2進行,這時,ByteBlaster端口的任務(wù)是對EPC2進行ISP方式下載。 圖2.107 EPC2配置FPGA的電路原理圖 EPC2器件(圖2.107)允許通過額外的nINIT_CONF引腳對APEX器件配置進行初始化。此引腳可以和要配置器件的nCONFIG引腳相連。JTAG指令使EPC2器件將nINIT_CONF置低電平,接著將nCONFIG置低電平,然后EPC2將nINIT_CONF置高電平并開始配置。當JTAG狀態(tài)機退
37、出這個狀態(tài)時,nINIT_CONF釋放nCONFIG引腳的控制,配置過程開始初始化。APEX20、FLEX10K器件可以由EPC2、EPC1和EPC1441配置。FLEX 6000器件可以由EPC1或EPC1441配置。EPC2、EPC1和EPC1441器件將配置數(shù)據(jù)存放于EPROM中,并按照內(nèi)部晶振產(chǎn)生的時鐘頻率將數(shù)據(jù)輸出OE、nCS和DCLK引腳提供了地址計數(shù)器和三態(tài)緩存的控制信號。配置器件將配置數(shù)據(jù)按串行的比特流由DATA引腳輸出。一個EPC1441器件可以配置EPF10K10或EPF10K20器件。 當配置數(shù)據(jù)大于單個EPC2或EPC1器件的容量時,可以級連使用多個此類器件(EPC14
38、41不支持級連)。在這種情況下,由nCASC和nCS引腳提供各個器件間的握手信號。當使用級連的EPC2和EPC1器件來配置APEX和FLEX器件時,級連鏈中配置器件的位置決定了它的操作。當配置器件鏈中的第一個器件或主器件加電或復(fù)位時,nCS置低電平,主器件控制配置過程。在配置期間,主器件為所有的APEX和FLEX器件以及后序的配置器件提供時鐘脈沖。在多器件配置過程中,主配置器件也提供了第一個數(shù)據(jù)流。在主配置器件配置完畢后,它將nCASC置低電平,同時將第一個從配置器件的nCS引腳置低電平。這樣就選中了該器件,并開始向其發(fā)送配置數(shù)據(jù)。多個配置器件同樣可以為多個器件進行配置。 3使用單片機配置FP
39、GA在FPGA實際應(yīng)用中,設(shè)計的保密和設(shè)計的可升級是十分重要的。用單片機來配置FPGA可以較好地解決上述兩個問題。對于單片機配置FPGA器件,Altera的基于SRAM LUT的FPGA提供了多種配置模式,除以上多次提及的PS模式可以用單片機配置外,PPS被動并行同步模式、PSA被動串行異步模式、PPA被動并行異步模式和JTAG模式都能適用于單片機配置。用單片機配置FPGA器件,關(guān)鍵在于產(chǎn)生合適的時序。由于篇幅限制,這里僅對兩種模式進行介紹。圖2.108是單片機用PPS模式配置FPGA器件的電路。圖中的單片機可以選用常見的單片機,如MCS51系列、MCS96系列、AVR系列等;圖中的ROM可以
40、用EPROM或者Flash ROM,配置的數(shù)據(jù)就放置在器件內(nèi)。單片機在這里只起產(chǎn)生配置時序的作用。PPS模式需要的時序可參見圖2.109。 圖2.108 單片機用PPS模式配置FPGA電路 圖2.109 單片機使用PPS模式配置時序 有時出于設(shè)計保密、減少芯片的使用數(shù)等考慮,對于配置器件容量不大的情況下,把配置數(shù)據(jù)也置于單片機的程序存儲區(qū)。圖2.110就是一個典型的應(yīng)用示例。圖中的單片機采用常見的89C52,F(xiàn)LEX10K的配置模式選為PS模式。由于89C52的程序存儲器是內(nèi)建于芯片的FlashROM,設(shè)計的保密性較好,還有很大的擴展余地。如果把圖中的“其他功能模塊”換成無線接收模塊,還可以實
41、現(xiàn)系統(tǒng)的無線升級。 圖2.110 用89C52進行配置 利用單片機或CPLD對FPGA進行配置,除了可以取代昂貴的專用OTP配置ROM外,還有許多其他實際應(yīng)用,如可對多家廠商的單片機進行仿真器設(shè)計、多功能虛擬儀器設(shè)計、多任務(wù)通信設(shè)備設(shè)計或EDA實驗系統(tǒng)設(shè)計。方法是在圖2.108中的ROM內(nèi)按不同地址放置多個針對不同功能要求設(shè)計好的FPGA的配置文件,然后由單片機接受不同的命令,以選擇不同的地址控制,從而使所需要的配置下載于FPGA中。這就是“多任務(wù)電路結(jié)構(gòu)重配置”技術(shù)。這種設(shè)計方式可以極大地提高電路系統(tǒng)的硬件功能靈活性。因為從表面上看,同一電路系統(tǒng)沒有發(fā)生任何外在結(jié)構(gòu)上的改變,但通過來自外部不
42、同的命令信號,系統(tǒng)內(nèi)部將對應(yīng)的配置信息加載于系統(tǒng)的FPGA,電路系統(tǒng)的結(jié)構(gòu)和功能將在瞬間發(fā)生巨大的改變,從而使單一電路系統(tǒng)具備許多不同電路結(jié)構(gòu)的功能。 2.6 FPGA和CPLD的開發(fā)應(yīng)用選擇 1器件的邏輯資源量的選擇開發(fā)一個項目,首先要考慮的是所選的器件的邏輯資源量是否滿足本系統(tǒng)的要求。由于大規(guī)模的PLD器件的應(yīng)用,大都是先將其安裝在電路板上后再設(shè)計其邏輯功能,而且在實現(xiàn)調(diào)試前很難準確確定芯片可能耗費的資源,考慮到系統(tǒng)設(shè)計完成后,有可能要增加某些新功能,以及后期硬件升級等可能性,因此,適當估測一下功能資源以確定使用什么樣的器件,對于提高產(chǎn)品的性能價格比是有好處的。Lattice、Altera
43、、Xinlinx三家PLD主流公司的產(chǎn)品都有HDPLD的特性,且有多種系列產(chǎn)品供選用。相對而言,Lattice的高密度產(chǎn)品少些,密度也較小。由于不同的PLD公司在其產(chǎn)品的數(shù)據(jù)手冊中描述芯片邏輯資源的依據(jù)和基準不一致,所以有很大出入。例如,對于ispLSI1032E,Lattice 給出的資源是6000門,而對EPM7128S,Altera給出的資源是2500門,但實際上這兩種器件的邏輯資源是基本一樣的。 在邏輯資源中,我們不妨設(shè)定一個基準。這里以比較常用的ispLSI1032E為基準,來了解其他公司的器件的規(guī)模。大家都知道,GAL16V8有八個邏輯宏單元,每個宏單元中有一個D觸發(fā)器,它們對應(yīng)數(shù)
44、個邏輯門,可以設(shè)計一個7位二進制計數(shù)器或一個四位加法器等;而1032E有32個通用邏輯塊(GLB),每個GLB中含四個宏單元,總共128個宏單元,若以Lattice數(shù)據(jù)手冊上給出的邏輯門數(shù)為6000計算,Altera的EPM7128S中也有128個宏單元,也應(yīng)有6000個左右的等效邏輯門;Xinlinx的XC95108和XC9536的宏單元數(shù)分別為108和36,對應(yīng)的邏輯門數(shù)應(yīng)該約為5000和6000。但應(yīng)注意,相同的宏單元數(shù)并不對應(yīng)完全相同的邏輯門數(shù)。例如,GAL20V8和GAL16V8的宏單元數(shù)都是8,其邏輯門數(shù)顯然不同。此外,隨著宏單元數(shù)的增加,芯片中的宏單元數(shù)量與對應(yīng)的等效邏輯門的數(shù)量
45、并不是成比例增加的。這是因為宏單元越多,各單元間的邏輯門能綜合利用的可能性就越大,所對應(yīng)的等效邏輯門自然就越大。例如,isp1016有16個GLB、64個宏單元、2000個邏輯門,而1032E的宏單元數(shù)為128,邏輯門數(shù)卻是其3倍。 以上的邏輯門估測僅對CPLD,對于FPGA的估測應(yīng)考慮到其結(jié)構(gòu)特點。由于FPGA的邏輯顆粒比較小,即其可布線區(qū)域是散布在所有的宏單元之間的,因此,F(xiàn)PGA對于相同的宏單元數(shù)將比CPLD對應(yīng)更多的邏輯門數(shù)。以Altera的EPF10PC84為例,它有576個宏單元,若以7128S的2500個邏輯門為基準計算,則它應(yīng)約有1萬個邏輯門,但若以1032E為基準則應(yīng)有2.7
46、萬門;再考慮其邏輯結(jié)構(gòu)的特點,則應(yīng)約有3.5 萬門。當然,這只是一般意義上的估測,器件的邏輯門數(shù)只有與具體的設(shè)計內(nèi)容相結(jié)合才有意義。實際開發(fā)中,邏輯資源的占用情況涉及的因素是很多的,大致有: (1) 硬件描述語言的選擇、描述風(fēng)格的選擇以及HDL綜合器的選擇。這些內(nèi)容涉及的問題較多,在此不宜展開。(2) 綜合和適配開關(guān)的選擇。如選擇速度優(yōu)化,則將耗用更多的資源,而若選擇資源優(yōu)化,則反之。在EDA工具上還有許多其他的優(yōu)化選擇開關(guān),都將直接影響邏輯資源的利用率。(3) 邏輯功能單元的性質(zhì)和實現(xiàn)方法。一般情況,許多組合電路比時序電路占用的邏輯資源要大,如并行進位的加法器、比較器以及多路選擇器。 2芯片
47、速度的選擇隨著可編程邏輯器件集成技術(shù)的不斷提高,F(xiàn)PGA和CPLD的工作速度也不斷提高,pin to pin延時已達納秒級,在一般使用中,器件的工作頻率已足夠了。目前,Altera和Xilinx公司的器件標稱工作頻率最高都可超過300MHz。具體設(shè)計中應(yīng)對芯片速度的選擇有一綜合考慮,并不是速度越高越好。芯片速度的選擇應(yīng)與所設(shè)計的系統(tǒng)的最高工作速度相一致。使用了速度過高的器件將加大電路板設(shè)計的難度。這是因為器件的高速性能越好,則對外界微小毛刺信號的反映靈敏性越好,若電路處理不當,或編程前的配置選擇不當,極易使系統(tǒng)處于不穩(wěn)定的工作狀態(tài),其中包括輸入引腳端的所謂“glitch”干擾。在單片機系統(tǒng)中,
48、電路板的布線要求并不嚴格,一般的毛刺信號干擾不會導(dǎo)致系統(tǒng)的不穩(wěn)定,但對于即使最一般速度的FPGA/CPLD,這種干擾也會引起不良后果。 3器件功耗的選擇由于在線編程的需要,CPLD的工作電壓多為5 V,而FPGA的工作電壓的流行趨勢是越來越低,3.3V和2.5V低工作電壓的FPGA的使用已十分普遍。因此,在低功耗、高集成度方面,F(xiàn)PGA具有絕對的優(yōu)勢。相對而言,Xilinx公司的器件的性能較穩(wěn)定,功耗較小,用戶I/O利用率高。例如,XC3000系列器件一般只用兩個電源、兩個地,而密度大體相當?shù)腁ltera器件可能有八個電源、八個地。 4FPGA/CPLD的選擇FPGA/GPLD的選擇主要看開發(fā)
49、項目本身的需要,對于普通規(guī)模且產(chǎn)量不是很大的產(chǎn)品項目,通常使用CPLD比較好。這是因為:(1) 在中小規(guī)模范圍,CPLD價格較便宜,能直接用于系統(tǒng)。各系列的CPLD器件的邏輯規(guī)模覆蓋面屬中小規(guī)模(100050000門),有很寬的可選范圍,上市速度快,市場風(fēng)險小。(2) 開發(fā)CPLD的EDA軟件比較容易得到,其中不少PLD公司還有條件地提供免費軟件。如Lattice的ispExpert、Synaio,Vantis的Design Director,Altera的Baseline,Xilinx的Webpack等。 (3) CPLD的結(jié)構(gòu)大多為EEPROM或Flash ROM形式,編程后即可固定下載的
50、邏輯功能,使用方便,電路簡單。(4) 目前最常用的CPLD多為在系統(tǒng)可編程的硬件器件,編程方式極為便捷。這一優(yōu)勢能保證所設(shè)計的電路系統(tǒng)隨時可通過各種方式進行硬件修改和硬件升級,且有良好的器件加密功能。Lattice公司所有的ispLSI系列、Altera公司的7000S和9000系列、Xilinx公司的XC9500系列的CPLD都擁有這些優(yōu)勢。 (5) CPLD中有專門的布線區(qū)和許多塊,無論實現(xiàn)什么樣的邏輯功能,或采用怎樣的布線方式,引腳至引腳間的信號延時幾乎是固定的,與邏輯設(shè)計無關(guān)。這種特性使得設(shè)計調(diào)試比較簡單,邏輯設(shè)計中的毛刺現(xiàn)象比較容易處理,廉價的CPLD就能獲得比較高速的性能。 FPGA的使用途徑主要有以下四個方面:(1) 直接使用。即如CPLD那樣直接用于產(chǎn)品的電路系統(tǒng)板上。在大規(guī)模和超大規(guī)模邏輯資源、低功耗與價格比值方面,F(xiàn)PGA比CPLD有更大的優(yōu)勢,但由于FPGA通常必須附帶ROM以保存軟信息,且Altera 和Xilinx的原供應(yīng)商只能提供一次性ROM,所以在規(guī)模不是很大的情況下,其電路的復(fù)雜性和價格方面略遜于CPLD,而且對于ROM的編程,要求有一臺能對FPGA的配置ROM進行燒錄的編程器。有必要時,也可以使用能進行多次編程配置的ROM。Atmel生產(chǎn)的為Xilinx和Altera的FPGA配置的兼容ROM,就有一萬次的燒錄周期。此外,用戶也能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙江貨運從業(yè)資格證模擬
- 2025年成都b2貨運資格證多少道題
- 2025個人股權(quán)轉(zhuǎn)讓協(xié)議書范本及法律風(fēng)險提示2篇
- 2025年度文化產(chǎn)業(yè)發(fā)展專項資金使用及監(jiān)管合同4篇
- 2025年度新材料研發(fā)場委托招聘協(xié)議3篇
- 2025年度信息技術(shù)項目臨時工雇傭合同范本3篇
- 二零二五年度土地租賃合同法律風(fēng)險防控協(xié)議
- 2025年度UPS不間斷電源設(shè)備銷售與產(chǎn)品研發(fā)合作合同3篇
- 二零二五年度嬰幼兒奶粉品牌授權(quán)專賣店加盟合同協(xié)議書
- 二零二五年度廠房租賃合同能源效率提升方案3篇
- 2025年安慶港華燃氣限公司招聘工作人員14人高頻重點提升(共500題)附帶答案詳解
- 人教版(2025新版)七年級下冊數(shù)學(xué)第七章 相交線與平行線 單元測試卷(含答案)
- GB/T 44351-2024退化林修復(fù)技術(shù)規(guī)程
- 完整2024年開工第一課課件
- 從跨文化交際的角度解析中西方酒文化(合集5篇)xiexiebang.com
- 中藥飲片培訓(xùn)課件
- 醫(yī)院護理培訓(xùn)課件:《早產(chǎn)兒姿勢管理與擺位》
- 《論文的寫作技巧》課件
- 空氣自動站儀器運營維護項目操作說明以及簡單故障處理
- 2022年12月Python-一級等級考試真題(附答案-解析)
- T-CHSA 020-2023 上頜骨缺損手術(shù)功能修復(fù)重建的專家共識
評論
0/150
提交評論