微機(jī)原理PLD.ppt_第1頁
微機(jī)原理PLD.ppt_第2頁
微機(jī)原理PLD.ppt_第3頁
微機(jī)原理PLD.ppt_第4頁
微機(jī)原理PLD.ppt_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1,第2章 PLD(CPLD/FPGA),2.1 可編程邏輯器件的概況 2.2 CPLD(復(fù)雜可編程邏輯器件) 2.3 FPGA(現(xiàn)場可編程門陣列) 2.4 PLD的編程與配置 2.5 PLD的選擇,2,2.1可編程邏輯器件的概況 2.1.1 可編程邏輯器件的發(fā)展 20世紀(jì)70年代初,主要是可編程只讀存儲(chǔ)器(PROM)和可編程邏輯陣列(PLA)。 20世紀(jì)70年代末出現(xiàn)了可編程陣列邏輯(PALProgrammable Array Logic)器件。 20世紀(jì)80年代初期,美國Lattice公司推出了一種新型的PLD器件,稱為通用陣列邏輯(GAL-Generic Array Logic),一般認(rèn)

2、為它是第二代PLD器件。 隨著技術(shù)的進(jìn)步,生產(chǎn)工藝的不斷改進(jìn),器件規(guī)模不斷擴(kuò)大,邏輯功能不斷增強(qiáng),各種可編程邏輯器件如雨后春筍般地涌現(xiàn),如PROM、EPROM、E2PROM等。 在EPROM基礎(chǔ)上出現(xiàn)的高密度可編程邏輯器件稱為EPLD或CPLD。現(xiàn)在一般把超過某一集成度的PLD器件都稱為CPLD。,3,2.1.1可編程邏輯器件的發(fā)展 在20世紀(jì)80年代中期,美國Xilinx公司首先推出了現(xiàn)場可編程門陣列(FPGA)器件。FPGA器件采用邏輯單元陣列結(jié)構(gòu)和靜態(tài)隨機(jī)存取存儲(chǔ)器工藝,設(shè)計(jì)靈活,集成度高,可無限次反復(fù)編程,并可現(xiàn)場模擬調(diào)試驗(yàn)證。 在20世紀(jì)90年代初,Lattice公司又推出了在系統(tǒng)可

3、編程大規(guī)模集成電路(ispLSI)。 可編程邏輯器件經(jīng)歷了從PROM(可編程只讀存儲(chǔ)器)、PLA(可編程邏輯陣列)、PAL(可編程陣列邏輯)、GAL(通用陣列邏輯)到EPLD(可擦除可編輯邏輯器 )、CPLD(復(fù)雜可編程邏輯器件)、FPGA(現(xiàn)場可編程門陣列器件)的發(fā)展過程,不僅在結(jié)構(gòu)、工藝、集成度、功能、速度等方面有了很大的改進(jìn),而且在穩(wěn)定性、可靠性、靈活性上也有了顯著的提高。,4,2.1.2 PLD的基本結(jié)構(gòu)和表示方法,1. PLD的乘積項(xiàng)原理(與或陣列)(CPLD),用來對(duì)輸入信號(hào)進(jìn)行預(yù)處理,為與陣列提供互補(bǔ)輸入變量。,用來產(chǎn)生邏輯函數(shù)所需的乘積項(xiàng)。,用來選擇所需的與項(xiàng),實(shí)現(xiàn)乘積項(xiàng)之和。

4、,用來提供不同的輸出方式,對(duì)輸出的信號(hào)進(jìn)行處理 。,5,表示方法,(1)互補(bǔ)輸出的輸入緩沖器,(2)三態(tài)輸出緩沖器,6,(3)與邏輯門,三種連接方式:,硬線連接:交叉點(diǎn)處用節(jié)點(diǎn)“”表示;,編程連接:交叉點(diǎn)處用“”表示;,編程擦除:交叉點(diǎn)處無標(biāo)記。,P = AB,表示方法,7,(3)與邏輯門,三種連接方式:,硬線連接:交叉點(diǎn)處用節(jié)點(diǎn)“”表示;,編程連接:交叉點(diǎn)處用“”表示;,編程擦除:交叉點(diǎn)處無標(biāo)記。,P = AB C,8,(4)或邏輯門,三種連接方式:,硬線連接:交叉點(diǎn)處用節(jié)點(diǎn)“”表示;,編程連接:交叉點(diǎn)處用“”表示;,編程擦除:交叉點(diǎn)處無標(biāo)記。,F = X+Z,9,Y,表示方法,10,2.查

5、找表(Look-Up-Table,LUT)的基本原理(FPGA) LUT實(shí)質(zhì)上就是一個(gè)SRAM,目前FPGA中使用較多的是4個(gè)輸入、一個(gè)輸出的LUT,所以每個(gè)電路可以看成是一個(gè)4根地址線的161位的SRAM。 下面是一個(gè)4輸入的與門。,11,2.查找表(Look-Up-Table,LUT)的基本原理(FPGA) N個(gè)輸入的邏輯函數(shù)需要2N的容量的SRAM來實(shí)現(xiàn),一般多個(gè)輸入的查找表采用多個(gè)邏輯塊級(jí)連的方式。,12個(gè)輸入,采用3個(gè)4位輸入的邏輯塊級(jí)聯(lián)方式實(shí)現(xiàn)LUT。,12,2.1.3 可編程邏輯器件的分類,目前,可編程邏輯器件有許多種類型,不同廠商生產(chǎn)的PLD,其結(jié)構(gòu)和特點(diǎn)也有所不同。通??梢园?/p>

6、照集成度、編程工藝、基本結(jié)構(gòu)和邏輯單元對(duì)PLD進(jìn)行分類。,1. 按集成度分類,低密度可編程邏輯器件(LDPLD) 集成度在1000門/片以下的PLD稱為低密度PLD。如PROM、PLA、PAL和GAL等。 高密度可編程邏輯器件(HDPLD) 高密度PLD是指集成度在1000門/片以上的PLD。如EPLD、CPLD和FPGA等。,根據(jù)集成度PLD可分為以下兩大類:,13,2. 按編程工藝分類,根據(jù)PLD器件在編程點(diǎn)處所使用的編程器件不同,可分為以下三類: 熔絲或反熔絲編程器件 浮柵編程器件 SRAM編程器件 (1)熔絲或反熔絲編程器件 該類型器件均為非易失一次性編程器件。 熔絲編程器件是在每個(gè)可

7、編程點(diǎn)處都接有熔絲開關(guān)。如PROM、PAL等。 若編程點(diǎn)需要接通時(shí),則保留熔絲; 若編程點(diǎn)需要斷開時(shí),則用較大的編程電流將熔絲燒斷。 缺點(diǎn):熔絲燒斷后不能恢復(fù),熔絲開關(guān)體積大,不利于集成度的提高。,14,反熔絲編程器件 反熔絲編程器件是以反熔絲開關(guān)作為編程元件,其核心為一介質(zhì)。 未編程時(shí),編程開關(guān)呈現(xiàn)高阻抗,編程點(diǎn)斷開。 當(dāng)編程電壓加到編程開關(guān)上,使開關(guān)介質(zhì)擊穿,開關(guān)呈現(xiàn)導(dǎo)通狀態(tài)。 如Actel公司的FPGA器件采用反熔絲編程工藝。 (2)浮柵編程器件 該類型器件采用浮柵編程技術(shù),通過浮柵存儲(chǔ)電荷的方法來保存編程信息,屬于非易失可重復(fù)擦除器件。 這種器件的存儲(chǔ)單元可分為光擦除電編程存儲(chǔ)單元、電

8、擦除電編程存儲(chǔ)單元和快閃存儲(chǔ)單元(Flash)等。 光擦除電編程器件采用EPROM工藝,器件中的編程元件為一只浮柵MOS管。,2. 按編程工藝分類,15,當(dāng)編程電壓脈沖對(duì)浮柵MOS管的懸浮柵注入電子時(shí),浮柵MOS管截止,編程點(diǎn)斷開。 當(dāng)紫外線照射懸浮柵時(shí),懸浮柵中的電子泄放,使浮柵MOS管恢復(fù)導(dǎo)通。 這種類型PLD器件主要有EPLD、CPLD等產(chǎn)品。 電擦除電編程器件采用浮柵隧道氧化物工藝,其存儲(chǔ)單元為EEPROM或Flash。 當(dāng)加入編程電脈沖時(shí),使懸浮柵注入電子,浮柵MOS管截止。 在擦除信息時(shí),由電脈沖使懸浮柵中的電子通過隧道泄放,浮柵MOS管恢復(fù)導(dǎo)通,實(shí)現(xiàn)電擦除。 這種類型PLD器件主

9、要有GAL、ispLSI器件和 CPLD等產(chǎn)品。,16,(3)SRAM編程器件 在該類器件的芯片內(nèi),配置靜態(tài)存儲(chǔ)器SRAM。用來存儲(chǔ)決定系統(tǒng)邏輯功能和互連的配置數(shù)據(jù)。 SRAM屬于易失元件,系統(tǒng)每次啟動(dòng)時(shí),應(yīng)先將編程數(shù)據(jù)從外部EPROM或硬盤中加載到SRAM中。 采用SRAM技術(shù)能很方便地配置新的編程數(shù)據(jù),實(shí)現(xiàn)在線編程。 例如,Xilinx公司的FPGA器件。 3. 按基本結(jié)構(gòu)分類 常用的可編程邏輯器件都是基于“與-或”陣列或門陣列基本結(jié)構(gòu)發(fā)展起來的,因此從基本結(jié)構(gòu)上可以分為兩大類: 陣列型器件 單元型器件,17,(1)陣列型器件 這類器件是由與陣列和或陣列組成,采用了較大規(guī)模的邏輯單元,能有

10、效地實(shí)現(xiàn)“與-或”形式的邏輯函數(shù)。 包括低密度的PLD、EPLD和CPLD。 例如,Altera公司的MAX系列的器件。 (2)單元型器件 這種器件采用門陣列和分段式連線結(jié)構(gòu),能有效地實(shí)現(xiàn)各種大規(guī)模的邏輯函數(shù)。 單元型器件的連線結(jié)構(gòu)是采用長度不同的幾種連線線段,經(jīng)過相應(yīng)開關(guān)元件的編程將內(nèi)部邏輯單元連接起來,形成相應(yīng)的信號(hào)通路。 例如,Xilinx公司的FPGA。,2.2 CPLD(復(fù)雜可編程邏輯器件),2.2.1 CPLD的基本結(jié)構(gòu) 復(fù)雜可編程邏輯器件(CPLD )采用E2PROM工藝,具有高密度、高速度和低功耗等優(yōu)點(diǎn)。在CPLD中引入在系統(tǒng)編程(ISP)技術(shù)后,使CPLD的應(yīng)用更加方便靈活,

11、深受設(shè)計(jì)人員的青睞,現(xiàn)已成為電子系統(tǒng)設(shè)計(jì)的首選器件之一。 目前,生產(chǎn)CPLD器件的著名公司主要有美國的Altera、AMD、Lattice、Cypress和Xilinx等公司。 CPLD的產(chǎn)品多種多樣,器件的結(jié)構(gòu)也有很大的差異,但大多數(shù)公司的CPLD仍使用基于乘積項(xiàng)的陣列型單元結(jié)構(gòu)。 例如,Altera公司的MAX系列CPLD產(chǎn)品、Xilinx公司和Lattice公司的CPLD產(chǎn)品都采用可編程乘積項(xiàng)陣列結(jié)構(gòu)。,2.2.1 CPLD的基本結(jié)構(gòu),基于乘積項(xiàng)陣列型CPLD的組成: 邏輯塊、I/O單元和可編程內(nèi)部連線,包括實(shí)現(xiàn)乘積項(xiàng)的與陣列、乘積項(xiàng)分配和邏輯宏單元等,用于實(shí)現(xiàn)各種邏輯功能。,用于實(shí)現(xiàn)信

12、號(hào)從器件輸出,以及為輸入信號(hào)提供輸入通道。通常具有輸入、輸出和雙向I/O模式。, 邏輯塊, I/O單元,2.2.1 CPLD的基本結(jié)構(gòu), 可編程內(nèi)部連線,為各邏輯塊之間,以及邏輯塊和I/O單元之間提供互連網(wǎng)絡(luò),實(shí)現(xiàn)信號(hào)連線。,2.2.2 Altera公司的CPLD,一、MAX系列器件簡介 Altera公司的CPLD主要有:Classic系列和MAX系列。 MAX系列產(chǎn)品采用乘積項(xiàng)陣列結(jié)構(gòu)主要有: MAX9000、MAX7000、MAX5000、MAX3000A等系列。 MAX系列器件性能表,MAX7000S采用第二代的MAX結(jié)構(gòu),組成:, 邏輯陣列塊LAB 可編程連線陣列PIA I/O控制塊,

13、2.3.2 MAX7000S器件的結(jié)構(gòu)和原理,宏單元MC,擴(kuò)展乘積項(xiàng)EPT,2.2.2 Altera公司的CPLD,二、MAX7000的結(jié)構(gòu)和原理(以MAX7000S為例),PIA,2.2.2 Altera公司的CPLD,由邏輯陣列塊(LAB)、宏單元(MC)、擴(kuò)展乘積項(xiàng)(EPT),,可編程連線陣列(PIA)和I/O控制塊五個(gè)部分組成。,4個(gè)專用輸入,2.3 FPGA(現(xiàn)場可編程門陣列),2.3.1 FPGA的基本結(jié)構(gòu) 世界上第一片F(xiàn)PGA由美國Xilinx公司于1985年率先推出。 進(jìn)入21世紀(jì)之后,以FPGA為核心的單片系統(tǒng)SOC和可編程系統(tǒng)SOPC有了顯著的發(fā)展,單片F(xiàn)PGA的集成規(guī)模已

14、達(dá)到幾百萬門,其工作速度已超過300MHz。 FPGA在結(jié)構(gòu)上已經(jīng)實(shí)現(xiàn)了復(fù)雜系統(tǒng)所需要的主要功能,并將多種功能集成在一片F(xiàn)PGA器件中,如嵌入式存儲(chǔ)器、嵌入式乘法器、嵌入式處理器、高速I/O緩沖器、外置存儲(chǔ)器接口和實(shí)現(xiàn)數(shù)字信號(hào)處理的DSP等功能。 隨著FPGA性能的不斷完善,F(xiàn)PGA器件的種類日益豐富,受到世界范圍內(nèi)電子設(shè)計(jì)人員的普遍歡迎,并占據(jù)了較大的市場,其生產(chǎn)廠家也由原來的Xilinx公司一家增加到Altera、Actel、Lattice等十幾家公司。 目前FPGA主要產(chǎn)品大致可以分為兩大類:基于SRAM編程的FPGA和基于反熔絲編程的FPGA。,由可配置的邏輯模塊(CLB,Config

15、urable Logic Block)、可編程布線資源(PI,Programmable Interconnection)和可編程的輸入輸出模塊(IOB,Input/Output Block)三部分組成。,可配置 邏輯模塊,可編程 I/O單元,可編程 開關(guān)矩陣,互連資源,2.3.1 FPGA的基本結(jié)構(gòu),1.基于SRAM編程的FPGA(Xilinx的邏輯單元陣列(LCA)器件),基于SRAM編程的FPGA主要結(jié)構(gòu)特征:,具有門陣列的邏輯模塊(CLB)和互連通道結(jié)構(gòu),在結(jié)構(gòu)上邏輯資源和布線資源是分開的,并代表不同的特性; 具有多輸入的邏輯單元,在實(shí)現(xiàn)完整的邏輯功能的同時(shí),可降低邏輯塊的數(shù)量、減少設(shè)計(jì)

16、布線的連線段、縮短信號(hào)的延時(shí); 支持雙向和多資源的連線; 具有快速再配置功能,使產(chǎn)品開發(fā)周期減少。 優(yōu)點(diǎn):,可以反復(fù)編程; 開發(fā)設(shè)計(jì)不需要專門的編程器; 與CMOS工藝的存儲(chǔ)器兼容,芯片的價(jià)格比較低。,2.3.1 FPGA的基本結(jié)構(gòu),缺點(diǎn):, 器件掉電后,SRAM中的配置數(shù)據(jù)會(huì)丟失。因此,在FPGA器件的外部,需要附加一個(gè)只讀存儲(chǔ)器PROM或EPROM,用來保存這些配置數(shù)據(jù),這樣會(huì)給配置數(shù)據(jù)的保密帶來一定的問題; 器件內(nèi)部可編程連線和邏輯定義通過大量的傳輸門開關(guān)來實(shí)現(xiàn)。由于電阻較大,導(dǎo)致信號(hào)的傳遞速度受到影響,限制了系統(tǒng)的工作頻率。,2.3.1 FPGA的基本結(jié)構(gòu),2. 基于反熔絲編程的FPG

17、A,這類器件的邏輯結(jié)構(gòu)采用基于多路選擇器的基本邏輯單元,配置數(shù)據(jù)放在反熔絲開關(guān)矩陣中,通過編程,使部分反熔絲介質(zhì)擊穿,造成開關(guān)導(dǎo)通,從而實(shí)現(xiàn)器件的編程。,屬于一次性可編程FPGA。,缺點(diǎn):一次性編程,不便于修改和在系統(tǒng)升級(jí)。,優(yōu)點(diǎn):具有集成度高、功耗低、保密性強(qiáng)、抗輻射和抗干擾性能好、使用時(shí)無需附加存儲(chǔ)器等。,2.3.1 FPGA的基本結(jié)構(gòu),2.3.2 Altera公司的FPGA,Altera公司也是世界上著名的PLD器件生產(chǎn)廠商,自20世紀(jì)90年代以后,其高密度的PLD產(chǎn)品發(fā)展很快,多年來一直占據(jù)著同行業(yè)領(lǐng)先的地位,是目前全球PLD器件的最大供應(yīng)商之一。 該公司的產(chǎn)品具有高性能、高集成度和高

18、性價(jià)比等優(yōu)點(diǎn),并且器件內(nèi)部連線采用連續(xù)式互連結(jié)構(gòu),實(shí)現(xiàn)了器件延時(shí)的預(yù)測,加上提供了功能全面的開發(fā)工具和豐富的IP核、宏功能庫等,使得該公司的PLD產(chǎn)品深受眾多用戶的青睞,并在各個(gè)領(lǐng)域中得到了廣泛的應(yīng)用。 Altera公司的FPGA主要產(chǎn)品有: FLEX、ACEX、APEX、Mercury、Excalibur、Cyclone、Arria和Stratix等。,2.3.2 Altera公司的FPGA,一、FLEX 10K系列的FPGA Altera公司生產(chǎn)的FLEX(Flexible Logic Element Matrix,靈活邏輯單元矩陣) 10K系列的FPGA采用了可重復(fù)配置的CMOS SRA

19、M編程工藝和靈活邏輯單元矩陣FLEX框架,具有高密度、可在線配置、高速度與連續(xù)式布線結(jié)構(gòu)、低成本、低功耗等特點(diǎn)。 FLEX10K系列是Altera于1998年推出的,它的集成度達(dá)到了10萬門級(jí),而且,它還是業(yè)界首次集成了嵌入式陣列塊(EAB)的芯片。所謂EAB,實(shí)際上是一種大規(guī)模的SRAM資源,它可以被方便地設(shè)置為RAM、ROM、FIFO以及雙口RAM等存儲(chǔ)器。EAB的出現(xiàn)極大地拓展了PLD芯片的應(yīng)用領(lǐng)域。 該系列包括FLEX10K、FLEX10KA、FLEX10KE和FLEX10KV等多個(gè)產(chǎn)品,具有類似的結(jié)構(gòu)。,1.器件結(jié)構(gòu),嵌入式陣列塊,嵌入陣列,邏輯陣列塊,局部互連通道,邏輯單元,邏輯陣

20、列,I/O單元,邏輯陣列,2.3.2 Altera公司的FPGA,FLEX10K的內(nèi)部結(jié)構(gòu)由四個(gè)部分組成: 嵌入式陣列塊EAB 邏輯陣列塊LAB 快速通道FT 輸入輸出單元IOE,由一組LE組成一個(gè)LAB,LAB按行和列排成一個(gè)矩陣,并且在每一行中放置了一個(gè)EAB。在器件內(nèi)部,信號(hào)的互連及信號(hào)與器件引腳的連接由快速通道提供,在每行或每列快速通道互連線的兩端連接著若干個(gè)IOE。, FLEX 10K器件內(nèi)部含有一個(gè)嵌入陣列和一個(gè)邏輯陣列。 FLEX 10K器件含有一個(gè)能高速且連續(xù)的快速互連通道。 FLEX 10K器件配有多功能的I/O單元。 FLEX 10K器件提供了6個(gè)專用輸入引腳和驅(qū)動(dòng)寄存器的

21、控制輸入。 FLEX 10K器件具有高密度和高性能特性。 FLEX 10K器件設(shè)有一個(gè)優(yōu)化接口,允許微處理器對(duì)器件進(jìn)行串行或并行、同步或異步配置。 FLEX 10K器件能實(shí)現(xiàn)在線重新配置的實(shí)時(shí)操作。 FLEX 10K器件支持多電壓接口,可在2.5V、3.3V和5V電壓下工作,并遵守PCI總線規(guī)定。,結(jié)構(gòu)特點(diǎn):,2.3.2 Altera公司的FPGA,嵌入陣列由一系列嵌入式陣列塊EAB構(gòu)成。 EAB是一種在輸入/輸出端口帶有觸發(fā)器的RAM電路,它既可以作為存儲(chǔ)器使用,也可以用來實(shí)現(xiàn)邏輯功能。 當(dāng)實(shí)現(xiàn)存儲(chǔ)功能時(shí),每個(gè)EAB提供2048個(gè)字節(jié),可用來完成RAM、ROM和FIFO功能。 當(dāng)實(shí)現(xiàn)邏輯功能

22、時(shí),每個(gè)EAB可提供100600個(gè)邏輯門,用以實(shí)現(xiàn)復(fù)雜的邏輯運(yùn)算。 對(duì)于一些通用的邏輯功能,可通過對(duì)EAB的編程,產(chǎn)生一個(gè)查找表LUT,根據(jù)查表的結(jié)果來實(shí)現(xiàn)其邏輯功能。,1. 嵌入式陣列塊(EAB),2.3.2 Altera公司的FPGA,組成:,可編程RAM,輸入寄存器,輸出寄存器,局部互連通道,控制電路,輸出電路,可編程RAM:用來存儲(chǔ)數(shù)據(jù),實(shí)現(xiàn)邏輯功能。共有2048字節(jié)的容量??膳渲贸?568、5124、10242和20481等多種規(guī)格的RAM。,輸入寄存器:用來完成暫存RAM的輸入數(shù)據(jù)、地址信息和寫使能信號(hào),由D觸發(fā)器和多路選擇器組成,可實(shí)現(xiàn)RAM的直接輸入和寄存器輸入。,輸出寄存器:

23、用來暫存RAM的輸出數(shù)據(jù),由D觸發(fā)器和多路選擇器組成,可實(shí)現(xiàn)RAM的直接輸出和寄存器輸出。,局部互連通道:是一個(gè)可編程布線區(qū), 為EAB提供數(shù)據(jù)輸入、地址輸入、寫使能控制及寄存器的時(shí)鐘。其輸入來自行互連通路, 輸出驅(qū)動(dòng)輸入寄存器和控制電路。,控制電路:由三個(gè)多路選擇器組成,為RAM和輸入、輸出寄存器提供寫使能信號(hào)和時(shí)鐘信號(hào)。 其輸入來自行互連通路、專用輸入及全局信號(hào) 。,輸出電路:由多路選擇器組成,用來完成EAB的數(shù)據(jù)輸出和列互連通道向行互連通道的信息傳遞。,可編程RAM,專用輸入與全局信號(hào),RESET,2.3.2 Altera公司的FPGA,邏輯陣列塊LAB是由8個(gè)邏輯單元(LE)、兩條專用

24、高速通路(進(jìn)位鏈和級(jí)聯(lián)鏈)、局部互連通道、控制電路和輸出驅(qū)動(dòng)電路等構(gòu)成。,2. 邏輯陣列塊(LAB),邏輯單元:,LE1LE8,進(jìn)位鏈: 級(jí)聯(lián)鏈:,進(jìn)位輸入和進(jìn)位輸出,級(jí)聯(lián)輸入和級(jí)聯(lián)輸出,控制電路:,F1,輸出電路:,F2和F3,進(jìn)位 輸入,進(jìn)位 輸出,級(jí)聯(lián) 輸入,級(jí)聯(lián) 輸出,LAB 控制信號(hào),專用輸入 與全局信號(hào),列到行 互連通道,2.3.2 Altera公司的FPGA,邏輯單元(LE),LE的組成:,四輸入的查找表(LUT)、進(jìn)位鏈、級(jí)聯(lián)鏈、可編程觸發(fā)器 復(fù)位/置位邏輯電路、時(shí)鐘選擇電路、輸出驅(qū)動(dòng)電路,2.3.2 Altera公司的FPGA,邏輯單元LE, 查找表LUT,是一個(gè)函數(shù)發(fā)生器,

25、它能快速計(jì)算四變量的任何邏輯函數(shù)。數(shù)據(jù)輸入來自LAB的局部互連通道。, 可編程觸發(fā)器,可以設(shè)置成D、T、JK或RS觸發(fā)器的功能,其輸入信號(hào)由接在輸入端的多路選擇器控制,既可以選擇級(jí)聯(lián)鏈的輸出信號(hào),也可以選擇來自LAB互連通道的DATA4的信號(hào)。, 復(fù)位/置位邏輯電路,為觸發(fā)器提供復(fù)位和置位信號(hào)。 復(fù)位/置位信號(hào): LAB_CTRL1 LAB_CTRL2 RESET(總復(fù)位) DATA3, 時(shí)鐘選通電路,為觸發(fā)器提供時(shí)鐘信號(hào),使觸發(fā)器完成同步操作。 時(shí)鐘信號(hào)由專用時(shí)鐘輸入、全局信號(hào)、I/O引腳和局部互連通道的內(nèi)部邏輯提供,分別為: LAB_CLK1 LAB_CLK2, 輸出驅(qū)動(dòng)電路,由兩個(gè)多路選

26、擇器組成,產(chǎn)生兩個(gè)輸出端,分別驅(qū)動(dòng)局部互連通道和快速互連通道。 每個(gè)輸出都可以形成兩種輸出方式: 直接輸出(組合輸出) 寄存器輸出(時(shí)序輸出),2.3.2 Altera公司的FPGA,邏輯單元LE, 進(jìn)位鏈,實(shí)現(xiàn)n位全加器的進(jìn)位鏈操作,S1 S2 Sn Cn,2.3.2 Altera公司的FPGA,邏輯單元LE, 級(jí)聯(lián)鏈,實(shí)現(xiàn)4n變量邏輯函數(shù)的級(jí)聯(lián)鏈,邏輯“與”級(jí)聯(lián)鏈,邏輯“或”級(jí)聯(lián)鏈,2.3.2 Altera公司的FPGA,3快速通道(FT),不同LAB中的LE與器件I/O引腳之間的連接是通過快速通道互連實(shí)現(xiàn)的??焖偻ǖ朗秦灤┱麄€(gè)器件長和寬的一系列水平和垂直的連續(xù)式布線通道,由若干組行連線和

27、列連線組成。每一組行連線視器件大小的不同可以有144根、216根或312根,每一組列連線均為24根。,快速通道由“行連線帶”和“列連線帶”組成。采用這種布線結(jié)構(gòu),即使對(duì)于復(fù)雜的設(shè)計(jì)也可預(yù)測其性能。相反,采用其他連線結(jié)構(gòu)(如分段式連線結(jié)構(gòu))會(huì)增加邏輯資源之間的延時(shí),從而使性能下降。,2.3.2 Altera公司的FPGA,4輸入/輸出單元(IOE),I/O引腳由I/O單元(IOE)驅(qū)動(dòng)。IOE位于快速通道和行和列的末端,包含一個(gè)雙向I/O緩沖器和一個(gè)寄存器,這個(gè)寄存器可以用作需要快速建立時(shí)間的外部數(shù)據(jù)的輸入寄存器,也可以作為要求快速“時(shí)鐘到輸出”性能的輸出寄存器。IOE可以被配置成輸入、輸出或雙

28、向口。,FLEX10K的IOE具有許多有用的特性,如JTAG編程支持、擺率控制、三態(tài)緩沖和漏極開路輸出等。FLEX10K還提供了6個(gè)專用輸入引腳,這些引腳用來驅(qū)動(dòng)IOE存儲(chǔ)器的控制端,使用了專用的布線通道,以便具有比快速通道更短的延遲和更小的偏移。專用輸入中的4個(gè)輸入引腳可用來驅(qū)動(dòng)全局信號(hào),內(nèi)部邏輯也可以驅(qū)動(dòng)這4個(gè)全局信號(hào)。,2.3.2 Altera公司的FPGA,由一個(gè)三態(tài)緩沖器、一個(gè)觸發(fā)器和實(shí)現(xiàn)多功能控制的多路選擇器,以及外圍控制總線組成。,IOE的結(jié)構(gòu),觸發(fā)器F1:既可作為輸入寄存器,也可作為輸出寄存器。,緩沖器G2:具有三態(tài)輸出、集電極開路輸出和電壓擺率控制等功能。,三態(tài)使能控制:由M

29、1和G1組成,輸入通道:由M2、M4和F1組成可完成直接輸入或寄存輸入。,輸出通道:由M3M5、G2和F1組成,完成直接或寄存輸出。,時(shí)鐘選擇:由M6完成。,使能選擇:由M7完成。,復(fù)位控制:由M8和G3完成。,2.3.2 Altera公司的FPGA,除了FLEX系列外,Altera公司生產(chǎn)的FPGA產(chǎn)品還有ACEX、APEX、Mercury、Excalibur、Stratix和Cyclone等系列。 在這些產(chǎn)品中,不同系列的FPGA器件具有不同的內(nèi)部結(jié)構(gòu)。每種系列都有各自的特點(diǎn),用戶可以針對(duì)不同的應(yīng)用來選擇器件。,二、Altera其他系列FPGA,2.3.2 Altera公司的FPGA,Al

30、tera FPGA主要產(chǎn)品,Altera FPGA主要產(chǎn)品,由于可編程邏輯器件具有在系統(tǒng)下載或重新配置功能,因此在電路設(shè)計(jì)之前就可以把其焊接在印刷電路板上,并通過電纜與計(jì)算機(jī)連接。在設(shè)計(jì)過程中,以下載編程或配置方式來改變可編程邏輯器件的內(nèi)部邏輯關(guān)系,達(dá)到設(shè)計(jì)邏輯電路目的。 目前常見的可編程邏輯器件的編程和配置工藝包括基于電可擦存儲(chǔ)單元的E2PROM或Flash技術(shù)的編程工藝、基于SRAM查找表的編程單元的編程工藝和基于反熔絲編程單元的編程工藝三種。 CPLD的編程和FPGA的配置可以使用專用的編程設(shè)備,也可以使用下載電纜。例如用Altera公司的ByteBlaster(MV)并行下載電纜,它與

31、Altera器件的接口一般采用10芯連接器,將PC機(jī)的并行打印口與需要編程或配置的器件連接起來,在開發(fā)工具軟件的控制下,就可以對(duì)Altera公司的多種CPLD和FPGA進(jìn)行編程或配置。,2.4 PLD的編程與配置,ByteBlaster(MV)10芯接口引腳名稱和下載模式,2.4 PLD的編程與配置,JTAG(Joint Test Action Group;聯(lián)合測試行動(dòng)小組)是一種國際標(biāo)準(zhǔn)測試協(xié)議(IEEE 1149.1兼容),主要用于芯片內(nèi)部測試。現(xiàn)在多數(shù)的高級(jí)器件都支持JTAG協(xié)議,如DSP、FPGA器件等。標(biāo)準(zhǔn)的JTAG接口是4線:TMS、TCK、TDI、TDO,分別為模式選擇、時(shí)鐘、數(shù)

32、據(jù)輸入和數(shù)據(jù)輸出線。 JTAG最初是用來對(duì)芯片進(jìn)行測試的,JTAG的基本原理是在器件內(nèi)部定義一個(gè)TAP(Test Access Port;測試訪問口)通過專用的JTAG測試工具對(duì)進(jìn)行內(nèi)部節(jié)點(diǎn)進(jìn)行測試。JTAG測試允許多個(gè)器件通過JTAG接口串聯(lián)在一起,形成一個(gè)JTAG鏈,能實(shí)現(xiàn)對(duì)各個(gè)器件分別測試?,F(xiàn)在,JTAG接口還常用于實(shí)現(xiàn)ISP(In-System Programmable;在系統(tǒng)編程),對(duì)FLASH等器件進(jìn)行編程。 被動(dòng)串行方式(PS),使用微處理器的串行步接口或ByteBlaster下載電纜;,2.4 PLD的編程與配置,ISP方式是當(dāng)系統(tǒng)上電并正常工作時(shí),計(jì)算機(jī)就可以通過CPLD器件

33、擁有的ISP接口直接對(duì)其進(jìn)行編程,器件被編程后立即進(jìn)入正常工作狀態(tài)。 JTAG接口本來是用作邊界掃描測試(BST)的,把它用作編程接口則可以省去專用的編程接口,減少系統(tǒng)的引出線。 采用JATG模式對(duì)CPLD編程下載的連線如下圖所示。這種連線方式既可以對(duì)CPLD進(jìn)行測試,也可以進(jìn)行編程下載。,2.4.1 CPLD的編程(ISP方式),10針母插頭引腳分布,CPLD編程下載連線圖,2.4.1 CPLD的編程(ISP方式),ISP器件都可以通過器件的JTAG引腳(:TCK,TMS,TDI和TDO)被編程。右圖顯示了ByteBlaster(并行)下載電纜與ISP功能器件的連接。在系統(tǒng)編程期間,I/O引

34、腳是三態(tài)。,由于ISP器件具有串行編程方式,即菊花鏈結(jié)構(gòu),其特點(diǎn)是各片共用一套ISP編程接口,每片的SDI輸入端與前一片的SDO輸出端相連,最前面一片的SDI端和最后一片的SDO端與ISP編程口相連,構(gòu)成一個(gè)類似移位寄存器的鏈形結(jié)構(gòu)。因此采用JTAG模式可以對(duì)多個(gè)CPLD器件進(jìn)行ISP在系統(tǒng)編程,多CPLD芯片ISP編程下載的連線如圖所示。,2.4.1 CPLD的編程(ISP方式),多CPLD編程下載連線示意圖,配置(configuration)是對(duì)FPGA的內(nèi)容進(jìn)行編程的過程。每次上電后都需要進(jìn)行配置是基于SRAM工藝FPGA的一個(gè)特點(diǎn),也可以說是一個(gè)缺點(diǎn)。FPGA配置過程如下:,外部電路將

35、配置數(shù)據(jù)載入片內(nèi)配置RAM中,外部電路,FPGA配置完成,配置 RAM,配置RAM中的配置數(shù)據(jù):用于控制FPGA內(nèi)部可編程的內(nèi)部邏輯、內(nèi)部寄存器和I/O寄存器初始化,I/O驅(qū)動(dòng)器使能等,之后FPGA進(jìn)入用戶模式。,2.4.2 FPGA的配置,配置數(shù)據(jù),主動(dòng)串行(AS)方式,1,下載工具 或 智能主機(jī),JTAG方式,2,FPGA僅輸出響應(yīng)信號(hào),被動(dòng)(Passive)方式,3,一、FPGA配置方式 根據(jù)FPGA在配置電路中的角色,可以將配置方式分為三類: 主動(dòng)串行(AS-Active Serial)方式 JTAG方式 被動(dòng)(Passive)方式,2.4.2 FPGA的配置,被動(dòng)方式可分為下列幾種方

36、式: 被動(dòng)串行方式(PS) 快速被動(dòng)并行(FPP)方式 被動(dòng)并行異步(PPA)方式 被動(dòng)并行同步(PPS)方式 被動(dòng)串行異步(PSA)方式,復(fù)位,配置,初始化,進(jìn)入 用戶模式,PS(被動(dòng)串行)配置過程波形圖,2.4.2 FPGA的配置,二、FPGA配置過程 FPGA的配置包括3各階段:復(fù)位、配置和初始化。,復(fù)位,配置,初始化,進(jìn)入用戶模式,配置數(shù)據(jù)寫入到器件中,器件內(nèi)部邏輯和寄存器初始化,I/O緩沖使能,PS(被動(dòng)串行)配置過程波形圖,2.4.2 FPGA的配置,二、FPGA配置過程 FPGA的配置包括3各階段:復(fù)位、配置和初始化。,FPGA 配置流程圖,2.4.2 FPGA的配置,JTAG配

37、置FPGA的電路原理圖,2.4.2 FPGA的配置,三、JTAG方式配置 通過JTAG接口,利用Quartus II軟件可以直接對(duì)FPGA進(jìn)行單獨(dú)的硬件重新配置。Quartus II軟件在編譯時(shí)會(huì)自動(dòng)生成用于JTAG配置的.sof文件。 如果同時(shí)使用AS方式和JTAG方式來配置FPGA,JTAG配置方式擁有最高的優(yōu)先級(jí),此時(shí)AS方式將停止,而執(zhí)行JTAG方式配置。有四個(gè)必要的信號(hào):TDI、TDO、TMS和TCK,JTAG各引腳功能描述,2.4.2 FPGA的配置,多器件的JTAG方式配置,2.4.2 FPGA的配置,利用Quartus II軟件和USB Blaster、ByteBlaster

38、II等下載電纜可下載配置數(shù)據(jù)到FPGA。Quartus II軟件可以驗(yàn)證JTAG配置是否成功。 JTAG配置通過下載電纜使用SOF、Jam或者JBC文件直接對(duì)FPGA進(jìn)行配置,這種配置方式只能用于調(diào)試階段。因?yàn)榈綦姾驠PGA中的配置數(shù)據(jù)將丟失。,2.5.1 CPLD與FPGA的區(qū)別,2.5 FPGA和CPLD的開發(fā)應(yīng)用選擇,2.5.1 CPLD與FPGA的區(qū)別,CPLD主要是由可編程邏輯宏單元(LMC,Logic Macro Cell)圍繞中心的可編程互連矩陣單元組成,其中LMC邏輯結(jié)構(gòu)較復(fù)雜,并具有復(fù)雜的I/O單元互連結(jié)構(gòu),可由用戶根據(jù)需要生成特定的電路結(jié)構(gòu),完成一定的功能。由于 CPLD內(nèi)

39、部采用固定長度的金屬線進(jìn)行各邏輯塊的互連,所以設(shè)計(jì)的邏輯電路具有時(shí)間可預(yù)測性,避免了分段式互連結(jié)構(gòu)時(shí)序不完全預(yù)測的缺點(diǎn)。,FPGA通常包含三類可編程資源:可編程邏輯功能塊、可編程I/O塊和可編程互連。 可編程邏輯功能塊是實(shí)現(xiàn)用戶功能的基本單元,它們通常排列成一個(gè)陣列,散布于整個(gè)芯片; 可編程I/O塊完成芯片上邏輯與外部封裝引腳的接口,常圍繞著陣列排列于芯片四周; 可編程內(nèi)部互連包括各種長度的連線線段和一些可編程連接開關(guān),它們將各個(gè)可編程邏輯塊或I/O塊連接起來,構(gòu)成特定功能的電路。 不同廠家生產(chǎn)的FPGA在可編程邏輯塊的規(guī)模,內(nèi)部互連線的結(jié)構(gòu)和采用的可編程元件上存在較大的差異。,2.5.1 C

40、PLD與FPGA的區(qū)別,2.5.1 CPLD與FPGA的區(qū)別,FPGA采用SRAM進(jìn)行功能配置,可重復(fù)編程,但系統(tǒng)掉電后,SRAM中的數(shù)據(jù)丟失。因此,需在FPGA外加EPROM,將配置數(shù)據(jù)寫入其中,系統(tǒng)每次上電自動(dòng)將數(shù)據(jù)引入SRAM中。CPLD器件一般采用EEPROM存儲(chǔ)技術(shù),可重復(fù)編程,并且系統(tǒng)掉電后,EEPROM中的數(shù)據(jù)不會(huì)丟失,適于數(shù)據(jù)的保密。 FPGA器件含有豐富的觸發(fā)器資源,易于實(shí)現(xiàn)時(shí)序邏輯,如果要求實(shí)現(xiàn)較復(fù)雜的組合電路則需要幾個(gè)CLB結(jié)合起來實(shí)現(xiàn)。 CPLD的與或陣列結(jié)構(gòu),使其適于實(shí)現(xiàn)大規(guī)模的組合功能,但觸發(fā)器資源相對(duì)較少。,FPGA為細(xì)粒度結(jié)構(gòu),CPLD為粗粒度結(jié)構(gòu)。 FPGA內(nèi)

41、部有豐富連線資源,CLB分塊較小,芯片的利用率較高。CPLD的宏單元的與或陣列較大,通常不能完全被應(yīng)用,且宏單元之間主要通過高速數(shù)據(jù)通道連接,其容量有限,限制了器件的靈活布線,因此CPLD利用率較FPGA器件低。 FPGA為非連續(xù)式布線,CPLD為連續(xù)式布線。 FPGA器件在每次編程時(shí)實(shí)現(xiàn)的邏輯功能一樣,但走的路線不同,因此延時(shí)不易控制,要求開發(fā)軟件允許工程師對(duì)關(guān)鍵的路線給予限制。CPLD每次布線路徑一樣,CPLD的連續(xù)式互連結(jié)構(gòu)利用具有同樣長度的一些金屬線實(shí)現(xiàn)邏輯單元之間的互連。連續(xù)式互連結(jié)構(gòu)消除了分段式互連結(jié)構(gòu)在定時(shí)上的差異,并在邏輯單元之間提供快速且具有固定延時(shí)的通路。CPLD的延時(shí)較小

42、。,2.5.1 CPLD與FPGA的區(qū)別,CPLD更適合完成各種控制和組合邏輯,F(xiàn)PGA更適合于完成時(shí)序邏輯。因?yàn)镕PGA有豐富觸發(fā)器的結(jié)構(gòu),而CPLD有豐富的乘積項(xiàng)的結(jié)構(gòu)。 CPLD的連續(xù)式布線結(jié)構(gòu)決定了它的時(shí)序延遲是均勻的和可預(yù)測的,而FPGA的分段式布線結(jié)構(gòu)決定了其延遲的不可預(yù)測性。 在編程上FPGA比CPLD具有更大的靈活性。CPLD通過修改具有固定內(nèi)連電路的邏輯功能來編程,而FPGA主要通過改變內(nèi)部連線的布線來編程;FPGA可在邏輯門下編程,而CPLD是在邏輯塊下編程。 CPLD比FPGA使用起來更方便。CPLD帶有存儲(chǔ)器結(jié)構(gòu),無需外接存儲(chǔ)器芯片,使用簡單;而FPGA自身不帶ROM,

43、編程信息需存放在外部存儲(chǔ)器上,使用方法復(fù)雜。,2.5.1 CPLD與FPGA的區(qū)別,FPGA的集成度比CPLD高,具有更復(fù)雜的布線結(jié)構(gòu)和邏輯實(shí)現(xiàn)。 FPGA的速度比CPLD快 。 CPLD保密性好,F(xiàn)PGA保密性差。 CPLD利用率較FPGA器件低。 一般情況下,CPLD的功耗要比FPGA大,且集成度越高越明顯。,2.5.1 CPLD與FPGA的區(qū)別,主要考慮:器件的供貨渠道和開發(fā)工具的支持,器件的硬件資源、電器接口標(biāo)準(zhǔn)、速度、溫度、 功耗、封裝和價(jià)格等。 1.器件的貨源和開發(fā)工具的支持 主要的PLD生產(chǎn)商有Altera、Xilinx、Lattice等。最好選用貨源充足的主流器件。因?yàn)镻LD技

44、術(shù)和產(chǎn)品發(fā)展均非常迅速,不同時(shí)期個(gè)公司的主流產(chǎn)品更新也非???。因此,器件信息最好通過各公司的網(wǎng)站及大的代理商獲得。,2.5.2 PLD的選擇依據(jù),2.器件的硬件資源 硬件資源是器件選型的重要標(biāo)準(zhǔn)。硬件資源包括邏輯資源、I/O資源、布線資源及DSP資源、存儲(chǔ)器資源、鎖相環(huán)資源、串行收發(fā)器資源和硬核微處理器資源等。 開發(fā)一個(gè)項(xiàng)目,首先要考慮的是所選的器件的邏輯資源量是否滿足本系統(tǒng)的要求。由于大規(guī)模的PLD器件的應(yīng)用,大都是先將其安裝在電路板上后再設(shè)計(jì)其邏輯功能,而且在實(shí)現(xiàn)調(diào)試前很難準(zhǔn)確確定芯片可能耗費(fèi)的資源,考慮到系統(tǒng)設(shè)計(jì)完成后,有可能要增加某些新功能,以及后期的硬件升級(jí)可能性,因此,適當(dāng)估測一下

45、功能資源以確定使用什么樣的器件,對(duì)于提高產(chǎn)品的性能價(jià)格比是有好處的。,2.5.2 PLD的選擇依據(jù),3芯片速度 隨著可編程邏輯器件集成技術(shù)的不斷提高,F(xiàn)PGA和CPLD的工作速度也不斷提高,pin to pin延時(shí)已達(dá)ns級(jí),在一般使用中,器件的工作頻率已足夠了。 目前,Altera和Xilinx公司的器件標(biāo)稱工作頻率最高都可超過300MHz。具體設(shè)計(jì)中應(yīng)對(duì)芯片速度的選擇有一綜合考慮,并不是速度越高越好。芯片速度的選擇應(yīng)與所設(shè)計(jì)的系統(tǒng)的最高工作速度相一致。使用了速度過高的器件將加大電路板設(shè)計(jì)的難度。 這是因?yàn)槠骷母咚傩阅茉胶?,則對(duì)外界微小毛刺信號(hào)的反映靈敏性越好,若電路處理不當(dāng),或編程前的配

46、置選擇不當(dāng),極易使系統(tǒng)處于不穩(wěn)定的工作狀態(tài),其中包括輸入引腳端的所謂脈沖干擾。,2.5.2 PLD的選擇依據(jù),4.器件功耗 由于在線編程的需要,CPLD的工作電壓多為5 V,而FPGA的工作電壓的流行趨勢是越來越低,3.3 V和2.5 V的低工作電壓的FPGA的使用已十分普遍。因此,就低功耗、高集成度方面,F(xiàn)PGA具有絕對(duì)的優(yōu)勢。 5.器件封裝 FPGA和CPLD器件的封裝形式很多,其中主要有PLCC、PQFP、TQFP、RQFP、VQFP、MQFP、PGA和BGA等。每一芯片的引腳數(shù)從28至484不等,同一型號(hào)類別的器件可以有多種不同的封裝。 常用的PLCC封裝的引腳數(shù)有28、44、52、68至84等幾種規(guī)格。由于可以買到現(xiàn)成的PLCC插座,插拔方便,一般開發(fā)中,比較容易使用,適用于小規(guī)模的開發(fā)。缺點(diǎn)是

溫馨提示

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

評(píng)論

0/150

提交評(píng)論