![chap8可編程邏輯器件_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/caf37561-bee1-44c7-a84d-0a0363cf4f6b/caf37561-bee1-44c7-a84d-0a0363cf4f6b1.gif)
![chap8可編程邏輯器件_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/caf37561-bee1-44c7-a84d-0a0363cf4f6b/caf37561-bee1-44c7-a84d-0a0363cf4f6b2.gif)
![chap8可編程邏輯器件_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/caf37561-bee1-44c7-a84d-0a0363cf4f6b/caf37561-bee1-44c7-a84d-0a0363cf4f6b3.gif)
![chap8可編程邏輯器件_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/caf37561-bee1-44c7-a84d-0a0363cf4f6b/caf37561-bee1-44c7-a84d-0a0363cf4f6b4.gif)
![chap8可編程邏輯器件_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-1/14/caf37561-bee1-44c7-a84d-0a0363cf4f6b/caf37561-bee1-44c7-a84d-0a0363cf4f6b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 FPGA - Field Programmable Gate Array 現(xiàn)場(chǎng)可編程門陣列 CPLD - Complex Programmable Logic Device 復(fù)雜可編程邏輯器件z PLD是可編程邏輯器件(Programable Logic Device)的簡(jiǎn)稱。z PLD是電子設(shè)計(jì)領(lǐng)域中最具活力和發(fā)展前途的一項(xiàng)技術(shù),它的影響絲毫不亞于70年代單片機(jī)的發(fā)明和使用。z PLD能做什么呢?可以毫不夸張的講,PLD能完成任何數(shù)字器件的功能,上至高性能CPU下至簡(jiǎn)單的74電路,都可以用PLD來實(shí)現(xiàn)。PLD如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入法,或是硬件描述語(yǔ)言自由的
2、設(shè)計(jì)一個(gè)數(shù)字系統(tǒng)。通過軟件仿真,我們可以事先驗(yàn)證設(shè)計(jì)的正確性。z 在PCB完成以后,還可以利用PLD的在線修改能力,隨時(shí)修改設(shè)計(jì)而不必改動(dòng)硬件電路。使用PLD來開發(fā)數(shù)字電路,可以大大縮短設(shè)計(jì)時(shí)間,減少PCB面積,提高系統(tǒng)的可靠性。 PLD的這些優(yōu)點(diǎn)使得PLD技術(shù)在90年代以后得到飛速的發(fā)展,同時(shí)也大大推動(dòng)了EDA軟件和硬件描述語(yǔ)言(HDL)的進(jìn)步。z 如何使用PLD呢?其實(shí)PLD的使用很簡(jiǎn)單,學(xué)習(xí)PLD比學(xué)習(xí)單片機(jī)要簡(jiǎn)單的多,有數(shù)字電路基礎(chǔ),會(huì)使用計(jì)算機(jī),就可以進(jìn)行PLD的開發(fā)。 z 開發(fā)PLD需要了解兩個(gè)部分:z 1.PLD開發(fā)軟件 ;2.PLD本身1.PLD1.PLD開發(fā)軟件開發(fā)軟件 z
3、由于PLD軟件已經(jīng)發(fā)展的相當(dāng)完善,用戶甚至可以不用詳細(xì)了解PLD的內(nèi)部結(jié)構(gòu),也可以用自己熟悉的方法:如原理圖輸入或HDL語(yǔ)言來完成相當(dāng)優(yōu)秀的PLD設(shè)計(jì)。所以對(duì)初學(xué)者,首先應(yīng)了解PLD開發(fā)軟件和開發(fā)流程。了解PLD的內(nèi)部結(jié)構(gòu),將有助于提高我們?cè)O(shè)計(jì)的效率和可靠性。z 如何獲得PLD開發(fā)軟件軟件呢? 許多PLD公司都提供免費(fèi)試用版或演示版(當(dāng)然商業(yè)版大都是收費(fèi)的),例如:可以免費(fèi)從 上下載Altera公司的 QuartusII (web版),或向其代理商索取這套軟件。Xilinx 公司也提供免費(fèi)軟件:ISE WebPack,這套可以從xilinx網(wǎng)站下載。Lattice 提供isplever Bas
4、e版下載,Actel等公司也都有類似的免費(fèi)軟件提供。以上免費(fèi)軟件都需要在網(wǎng)上注冊(cè)申請(qǐng)License文件。 通常這些免費(fèi)軟件已經(jīng)能夠滿足一般設(shè)計(jì)的需要,當(dāng)然,要想軟件功能更強(qiáng)大一些,只能購(gòu)買商業(yè)版軟件。 z 如果您打算使用VHDL或Verilog HDL硬件描述語(yǔ)言來開發(fā)PLD/FPGA,通常還需要使用一些專業(yè)的HDL開發(fā)軟件,這是因?yàn)镕PGA廠商提供的軟件的HDL綜合能力一般都不是很強(qiáng),需要其他軟件來配合使用。z 對(duì)于PLD產(chǎn)品,一般分為:基于乘積項(xiàng)(Product-Term)技術(shù),EEPROM(或Flash)工藝的中小規(guī)模PLD,以及基于查找表(Look-Up table)技術(shù),SRAM工藝
5、的大規(guī)模PLD/FPGA。EEPROM工藝的PLD密度小,多用于5,000門以下的小規(guī)模設(shè)計(jì),適合做復(fù)雜的組合邏輯,如譯碼。SRAM工藝的PLD(FPGA),密度高,觸發(fā)器多,多用于10,000門以上的大規(guī)模設(shè)計(jì),適合做復(fù)雜的時(shí)序邏輯,如數(shù)字信號(hào)處理和各種算法。目前有多家公司生產(chǎn)CPLD/FPGA,最大的三家是:ALTERA,XILINX,Lattice。2.PLD/FPGA2.PLD/FPGA的分類和使用的分類和使用 z 在PLD/FPGA開發(fā)軟件中完成設(shè)計(jì)以后,軟件會(huì)產(chǎn)生一個(gè)最終的編程文件(如 .pof )。如何將編程文件燒到PLD芯片中去呢?z (1).對(duì)于基于乘積項(xiàng)(Product-T
6、erm)技術(shù),EEPROM(或Flash)工藝的PLD(如Altera的MAX系列,Lattice的大部分產(chǎn)品,Xilinx的XC9500,Coolrunner系列), 廠家提供編程電纜,電纜一端裝在計(jì)算機(jī)的并行打印口上,另一端接在PCB板上的一個(gè)十芯插頭,PLD芯片有四個(gè)管腳(編程腳)與插頭相連。z 它向系統(tǒng)板上的器件提供配置或編程數(shù)據(jù),這就是所謂的在線可編程。Byteblaster使用戶能夠獨(dú)立地配置PLD器件,而不需要編程器或任何其它編程硬件。編程電纜可以向代理商購(gòu)買,也可以根據(jù)廠家提供的編程電纜的原理圖自己制作,成本僅需一,二十元。 早期的PLD是不支持ISP的,它們需要用編程器燒寫。
7、目前的PLD都可以用ISP在線編程,也可用編程器編程。這種PLD可以加密,并且很難解密,所以常常用于單板加密。 z (2).對(duì)于基于查找表(LUT,Look-Up table)技術(shù),SRAM工藝的FPGA(如Altera的所有FPGA,如ACEX,Cyclone,Stratix系列,Xilinx的所有FPGA,如Spartan,Virtex系列,Lattice的EC/ECP系列等),由于SRAM工藝的特點(diǎn),掉電后數(shù)據(jù)會(huì)消失,因此調(diào)試期間可以用下載電纜配置PLD器件,調(diào)試完成后,需要將數(shù)據(jù)固化在一個(gè)專用的EEPROM中(用通用編程器燒寫,也有一些可以用電纜直接改寫),上電時(shí),由這片配置EEPRO
8、M先對(duì)FPGA加載數(shù)據(jù),十幾個(gè)毫秒到幾百個(gè)毫秒后,F(xiàn)PGA即可正常工作。(亦可由CPU配置FPGA)。但SRAM工藝的PLD一般不可以直接加密。 z (3).還有一種反熔絲(Anti-fuse)技術(shù)的FPGA,如Actel,Quicklogic的部分產(chǎn)品就采用這種工藝。但這種的PLD是不能重復(fù)擦寫,需要使用專用編程器,所以開發(fā)過程比較麻煩,費(fèi)用也比較昂高。但反熔絲技術(shù)也有許多優(yōu)點(diǎn):布線能力更強(qiáng),系統(tǒng)速度更快,功耗更低,同時(shí)抗輻射能力強(qiáng),耐高低溫,可以加密,所以在一些有特殊要求的領(lǐng)域中運(yùn)用較多,如軍事及航空航天。 為了解決反熔絲FPGA不可重復(fù)擦寫的問題,Actel等公司在90年代中后期開發(fā)了基
9、于Flash技術(shù)的FPGA,如ProASIC系列,這種FPGA不需要配置,數(shù)據(jù)直接保存在FPGA芯片中,用戶可以改寫(但需要10幾伏的高電壓)。 z 隨著技術(shù)的發(fā)展,在2004年以后,一些廠家推出了一些新的PLD和FPGA,這些產(chǎn)品模糊了PLD和FPGA的區(qū)別。例如Altera最新的MAXII系列PLD,這是一種基于FPGA(LUT)結(jié)構(gòu),集成配置芯片的PLD,在本質(zhì)上它就是一種在內(nèi)部集成了配置芯片的FPGA,但由于配置時(shí)間極短,上電就可以工作,所以對(duì)用戶來說,感覺不到配置過程,可以傳統(tǒng)的PLD一樣使用,加上容量和傳統(tǒng)PLD類似,所以altera把它歸作PLD。 還有像Lattice的XP系列
10、FPGA,也是使用了同樣的原理,將外部配置芯片集成到內(nèi)部,在使用方法上和PLD類似,但是因?yàn)槿萘看?,性能和傳統(tǒng)FPGA相同,也是LUT架構(gòu),所以Lattice仍把它歸為FPGA。 z 當(dāng)今社會(huì)是數(shù)字化的社會(huì),是數(shù)字集成電路廣泛應(yīng)用的社會(huì)。數(shù)字集成電路本身在不斷地進(jìn)行更新?lián)Q代。它由早期的電子管、晶體管、小中規(guī)模集成電路、發(fā)展到超大規(guī)模集成電路(VLSIC,幾萬(wàn)門以上)以及許多具有特定功能的專用集成電路。但是,隨著微電子技術(shù)的發(fā)展,設(shè)計(jì)與制造集成電路的任務(wù)已不完全由半導(dǎo)體廠商來獨(dú)立承擔(dān)。系統(tǒng)設(shè)計(jì)師們更愿意自己設(shè)計(jì)專用集成電路(ASIC)芯片,而且希望ASIC的設(shè)計(jì)周期盡可能短,最好是在實(shí)驗(yàn)室里就能
11、設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中,因而出現(xiàn)了現(xiàn)場(chǎng)可編程邏輯器件(FPLD),其中應(yīng)用最廣泛的當(dāng)屬現(xiàn)場(chǎng)可編程門陣列(FPGA)和復(fù)雜可編程邏輯器件(CPLD)。 z 早期的可編程邏輯器件只有可編程只讀存貯器(PROM)、紫外線可按除只讀存貯器(EPROM)和電可擦除只讀存貯器(EEPROM)三種。由于結(jié)構(gòu)的限制,它們只能完成簡(jiǎn)單的數(shù)字邏輯功能。 z 其后,出現(xiàn)了一類結(jié)構(gòu)上稍復(fù)雜的可編程芯片,即可編程邏輯器件(PLD),它能夠完成各種數(shù)字邏輯功能。典型的PLD由一個(gè)“與”門和一個(gè)“或”門陣列組成,而任意一個(gè)組合邏輯都可以用“與一或”表達(dá)式來描述,所以, PLD能以乘積和的形式完成
12、大量的組合邏輯功能。z 這一階段的產(chǎn)品主要有PAL(可編程陣列邏輯)和GAL(通用陣列邏輯)。 PAL由一個(gè)可編程的“與”平面和一個(gè)固定的“或”平面構(gòu)成,或門的輸出可以通過觸發(fā)器有選擇地被置為寄存狀態(tài)。 PAL器件是現(xiàn)場(chǎng)可編程的,它的實(shí)現(xiàn)工藝有反熔絲技術(shù)、EPROM技術(shù)和EEPROM技術(shù)。還有一類結(jié)構(gòu)更為靈活的邏輯器件是可編程邏輯陣列(PLA),它也由一個(gè)“與”平面和一個(gè)“或”平面構(gòu)成,但是這兩個(gè)平面的連接關(guān)系是可編程的。 PLA器件既有現(xiàn)場(chǎng)可編程的,也有掩膜可編程的。 在PAL的基礎(chǔ)上,又發(fā)展了一種通用陣列邏輯GAL (Generic Array Logic),如GAL16V8,GAL22V
13、10 等。它采用了EEPROM工藝,實(shí)現(xiàn)了電可按除、電可改寫,其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因而它的設(shè)計(jì)具有很強(qiáng)的靈活性,至今仍有許多人使用。 這些早期的PLD器件的一個(gè)共同特點(diǎn)是可以實(shí)現(xiàn)速度特性較好的邏輯功能,但其過于簡(jiǎn)單的結(jié)構(gòu)也使它們只能實(shí)現(xiàn)規(guī)模較小的電路。 典型的PLD的部分結(jié)構(gòu)(實(shí)現(xiàn)組合邏輯的部分) z 為了彌補(bǔ)這一缺陷,20世紀(jì)80年代中期。 Altera和Xilinx分別推出了類似于PAL結(jié)構(gòu)的擴(kuò)展型 CPLD(Complex Programmab1e Logic Dvice)和與標(biāo)準(zhǔn)門陣列類似的FPGA(Field Programmable Gate Array),它們都具有體
14、系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬等特點(diǎn)。 這兩種器件兼容了PLD和通用門陣列的優(yōu)點(diǎn),可實(shí)現(xiàn)較大規(guī)模的電路,編程也很靈活。與門陣列等其它ASIC(Application Specific IC)相比,它們又具有設(shè)計(jì)開發(fā)周期短、設(shè)計(jì)制造成本低、開發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品無需測(cè)試、質(zhì)量穩(wěn)定以及可實(shí)時(shí)在線檢驗(yàn)等優(yōu)點(diǎn),因此被廣泛應(yīng)用于產(chǎn)品的原型設(shè)計(jì)和產(chǎn)品生產(chǎn)(一般在10,000件以下)之中。幾乎所有應(yīng)用門陣列、PLD和中小規(guī)模通用數(shù)字集成電路的場(chǎng)合均可應(yīng)用FPGA和CPLD器件。 z(注:不同廠家的叫法不盡相同,Xilinx把,基于查找表技術(shù),SRAM工藝,要外掛配置用的EEPROM的PLD叫F
15、PGA;把基于乘積項(xiàng)技術(shù),F(xiàn)lash(類似EEPROM工藝)工藝的PLD叫CPLD; Altera 把自己的PLD產(chǎn)品:MAX系列(乘積項(xiàng)技術(shù),EEPROM工藝),F(xiàn)LEX系列(查找表技術(shù),SRAM工藝)都叫作CPLD,即復(fù)雜PLD(Complex PLD),由于FLEX系列也是SRAM工藝,基于查找表技術(shù),要外掛配置用的EPROM,用法和Xilinx的FPGA一樣,所以很多人把Altera的FELX系列產(chǎn)品也叫做FPGA。 FPGAFPGACPLD CPLD 概述概述 z FPGA(現(xiàn)場(chǎng)可編程門陣列)與 CPLD(復(fù)雜可編程邏輯器件)都是可編程邏輯器件,它們是在PAL,GAL等邏輯器件的基礎(chǔ)
16、之上發(fā)展起來的。同以往的PAL,GAL等相比較,F(xiàn)PGACPLD的規(guī)模比較大,它可以替代幾十甚至幾千塊通用IC芯片。這樣的FPGACPLD實(shí)際上就是一個(gè)子系統(tǒng)部件。這種芯片受到世界范圍內(nèi)電子工程設(shè)計(jì)人員的廣泛關(guān)注和普遍歡迎。經(jīng)過了十幾年的發(fā)展,許多公司都開發(fā)出了多種可編程邏輯器件。比較典型的就是Xilinx公司的FPGA器件系列和Altera公司的CPLD器件系列,它們開發(fā)較早,占用了較大的PLD市場(chǎng)。通常來說,在歐洲用Xilinx的人多,在日本和亞太地區(qū)用ALTERA的人多,在美國(guó)則是平分秋色。全球PLD/FPGA產(chǎn)品60%以上是由Altera和Xilinx提供的??梢灾vAltera和Xil
17、inx共同決定了PLD技術(shù)的發(fā)展方向。當(dāng)然還有許多其它類型器件,如:Lattice,Vantis,Actel,Quicklogic,Lucent等。 z盡管FPGA、CPLD和其它類型PLD的結(jié)構(gòu)各有其特點(diǎn)和長(zhǎng)處,但概括起來,它們是由三大部分組成的:一個(gè)二維的邏輯塊陣列,構(gòu)成了PLD器件的邏輯組成核心;輸入輸出塊;連接邏輯塊的互連資源。z 連線資源:由各種長(zhǎng)度的連線線段組成,其中也有一些可編程的連接開關(guān),它們用于邏輯塊之間、邏輯塊與輸入輸出塊之間的連接。z 對(duì)用戶而言,CPLD與FPGA的內(nèi)部結(jié)構(gòu)稍有不同,但用法一樣,所以多數(shù)情況下,不加以區(qū)分。z FPGACPLD芯片都是特殊的ASIC芯片,
18、它們除了具有ASIC的特點(diǎn)之外,還具有以下幾個(gè)優(yōu)點(diǎn):z 隨著VlSI(Very Large Scale IC,超大規(guī)模集成電路)工藝的不斷提高單一芯片內(nèi)部可以容納上百萬(wàn)個(gè)晶體管, FPGACPLD芯片的規(guī)模也越來越大,其單片邏輯門數(shù)已達(dá)到上百萬(wàn)門,它所能實(shí)現(xiàn)的功能也越來越強(qiáng),同時(shí)也可以實(shí)現(xiàn)系統(tǒng)集成。z FPGACPLD芯片在出廠之前都做過百分之百的測(cè)試,不需要設(shè)計(jì)人員承擔(dān)投片風(fēng)險(xiǎn)和費(fèi)用,設(shè)計(jì)人員只需在自己的實(shí)驗(yàn)室里就可以通過相關(guān)的軟硬件環(huán)境來完成芯片的最終功能設(shè)計(jì)。所以, FPGACPLD的資金投入小,節(jié)省了許多潛在的花費(fèi)。z 用戶可以反復(fù)地編程、擦除、使用或者在外圍電路不動(dòng)的情況下用不同軟件
19、就可實(shí)現(xiàn)不同的功能。所以,用FPGAPLD 試制樣片,能以最快的速度占領(lǐng)市場(chǎng)。 FPGACPLD軟件包中有各種輸入工具和仿真工具,及版圖設(shè)計(jì)工具和編程器等全線產(chǎn)品,電路設(shè)計(jì)人員在很短的時(shí)間內(nèi)就可完成電路的輸入、編譯、優(yōu)化、仿真,直至最后芯片的制作。 當(dāng)電路有少量改動(dòng)時(shí),更能顯示出FPGACPLD的優(yōu)勢(shì)。電路設(shè)計(jì)人員使用FPGACPLD進(jìn)行電路設(shè)計(jì)時(shí),不需要具備專門的IC(集成電路)深層次的知識(shí), FPGACPLD軟件易學(xué)易用,可以使設(shè)計(jì)人員更能集中精力進(jìn)行電路設(shè)計(jì),快速將產(chǎn)品推向市場(chǎng)。 PLD/FPGA PLD/FPGA 結(jié)構(gòu)與原理初步(一)結(jié)構(gòu)與原理初步(一) z一一.基于乘積項(xiàng)(基于乘積項(xiàng)
20、(Product-Term)的的PLD結(jié)構(gòu)結(jié)構(gòu) 采用這種結(jié)構(gòu)的PLD芯片有:Altera的MAX7000,MAX3000系列(EEPROM工藝),Xilinx的XC9500系列(Flash工藝)和Lattice,Cypress的大部分產(chǎn)品(EEPROM工藝) 我們先看一下這種PLD的總體結(jié)構(gòu)(以MAX7000為例,其他型號(hào)的結(jié)構(gòu)與此都非常相似):圖1 基于乘積項(xiàng)的PLD內(nèi)部結(jié)構(gòu) z 這種PLD可分為三塊結(jié)構(gòu):宏單元(Macrocell),可編程連線(PIA)和I/O控制塊。 宏單元是PLD的基本結(jié)構(gòu),由它來實(shí)現(xiàn)基本的邏輯功能。圖1中蘭色部分是多個(gè)宏單元的集合(因?yàn)楹陠卧^多,沒有一一畫出)???/p>
21、編程連線負(fù)責(zé)信號(hào)傳遞,連接所有的宏單元。I/O控制塊負(fù)責(zé)輸入輸出的電氣特性控制,比如可以設(shè)定集電極開路輸出,擺率控制,三態(tài)輸出等。 圖1 左上的INPUT/GCLK1,iNPUT/GCLRn,INPUT/OE1,INPUT/OE2 是全局時(shí)鐘,清零和輸出使能信號(hào),這幾個(gè)信號(hào)有專用連線與PLD中每個(gè)宏單元相連,信號(hào)到每個(gè)宏單元的延時(shí)相同并且延時(shí)最短。z宏單元的具體結(jié)構(gòu)見下圖: 圖2 宏單元結(jié)構(gòu) 左側(cè)是乘積項(xiàng)陣列,實(shí)際就是一個(gè)與或陣列,每一個(gè)交叉點(diǎn)都是一個(gè)可編程熔左側(cè)是乘積項(xiàng)陣列,實(shí)際就是一個(gè)與或陣列,每一個(gè)交叉點(diǎn)都是一個(gè)可編程熔絲,如果導(dǎo)通就是實(shí)現(xiàn)絲,如果導(dǎo)通就是實(shí)現(xiàn)“與與”邏輯。后面的乘積項(xiàng)選
22、擇矩陣是一個(gè)邏輯。后面的乘積項(xiàng)選擇矩陣是一個(gè)“或或”陣列陣列。兩者一起完成組合邏輯。圖右側(cè)是一個(gè)可編程。兩者一起完成組合邏輯。圖右側(cè)是一個(gè)可編程D觸發(fā)器,它的時(shí)鐘,清零輸觸發(fā)器,它的時(shí)鐘,清零輸入都可以編程選擇,可以使用專用的全局清零和全局時(shí)鐘,也可以使用內(nèi)部邏入都可以編程選擇,可以使用專用的全局清零和全局時(shí)鐘,也可以使用內(nèi)部邏輯(乘積項(xiàng)陣列)產(chǎn)生的時(shí)鐘和清零。如果不需要觸發(fā)器,也可以將此觸發(fā)器輯(乘積項(xiàng)陣列)產(chǎn)生的時(shí)鐘和清零。如果不需要觸發(fā)器,也可以將此觸發(fā)器旁路,信號(hào)直接輸給旁路,信號(hào)直接輸給PIA或輸出到或輸出到I/O腳。腳。二二. .乘積項(xiàng)結(jié)構(gòu)乘積項(xiàng)結(jié)構(gòu)PLDPLD的邏輯實(shí)現(xiàn)原理的邏輯
23、實(shí)現(xiàn)原理 z下面我們以一個(gè)簡(jiǎn)單的電路為例,具體說明PLD是如何利用以上結(jié)構(gòu)實(shí)現(xiàn)邏輯的,電路如下圖:z z圖3 z 假設(shè)組合邏輯的輸出(AND3的輸出)為f,則f=(A+B)*C*(!D)=A*C*!D + B*C*!D ( 我們以!D表示D的“非”)z PLD將以下面的方式來實(shí)現(xiàn)組合邏輯f:圖4 A,B,C,D由由PLD芯片的管腳輸入后進(jìn)入可編程連線陣列(芯片的管腳輸入后進(jìn)入可編程連線陣列(PIA),在內(nèi)部,在內(nèi)部會(huì)產(chǎn)生會(huì)產(chǎn)生A,A反反,B,B反反,C,C反反,D,D反反8個(gè)輸出。圖中每一個(gè)叉表示相連(可個(gè)輸出。圖中每一個(gè)叉表示相連(可編程熔絲導(dǎo)通),所以得到:編程熔絲導(dǎo)通),所以得到:f=
24、f1 + f2 = (A*C*!D) + (B*C*!D) 。這樣。這樣組合邏輯就實(shí)現(xiàn)了。組合邏輯就實(shí)現(xiàn)了。 圖圖3電路中電路中D觸發(fā)器的實(shí)現(xiàn)比較簡(jiǎn)單,直接利用宏觸發(fā)器的實(shí)現(xiàn)比較簡(jiǎn)單,直接利用宏單元中的可編程單元中的可編程D觸發(fā)器來實(shí)現(xiàn)。時(shí)鐘信號(hào)觸發(fā)器來實(shí)現(xiàn)。時(shí)鐘信號(hào)CLK由由I/O腳輸入后進(jìn)入芯片腳輸入后進(jìn)入芯片內(nèi)部的全局時(shí)鐘專用通道,直接連接到可編程觸發(fā)器的時(shí)鐘端??删幊虄?nèi)部的全局時(shí)鐘專用通道,直接連接到可編程觸發(fā)器的時(shí)鐘端??删幊逃|發(fā)器的輸出與觸發(fā)器的輸出與I/O腳相連,把結(jié)果輸出到芯片管腳。這樣腳相連,把結(jié)果輸出到芯片管腳。這樣PLD就完成了就完成了圖圖3所示電路的功能。所示電路的功能
25、。 z 圖3的電路是一個(gè)很簡(jiǎn)單的例子,只需要一個(gè)宏單元就可以完成。但對(duì)于一個(gè)復(fù)雜的電路,一個(gè)宏單元是不能實(shí)現(xiàn)的,這時(shí)就需要通過并聯(lián)擴(kuò)展項(xiàng)和共享擴(kuò)展項(xiàng)將多個(gè)宏單元相連,宏單元的輸出也可以連接到可編程連線陣列,再做為另一個(gè)宏單元的輸入。這樣PLD就可以實(shí)現(xiàn)更復(fù)雜邏輯。z 這種基于乘積項(xiàng)的PLD基本都是由EEPROM和Flash工藝制造的,一上電就可以工作,無需其他芯片配合。PLD/FPGA PLD/FPGA 結(jié)構(gòu)與原理初步(二)結(jié)構(gòu)與原理初步(二) z一一.查找表(查找表(Look-Up-Table)的原理與結(jié)構(gòu)的原理與結(jié)構(gòu) 采用這種結(jié)構(gòu)的PLD芯片我們也可以稱之為FPGA:如altera的ACE
26、X,APEX系列,xilinx的Spartan,Virtex系列等。 查找表(Look-Up-Table)簡(jiǎn)稱為L(zhǎng)UT,LUT本質(zhì)上就是一個(gè)RAM。 目前FPGA中多使用4輸入的LUT,所以每一個(gè)LUT可以看成一個(gè)有4位地址線的16x1的RAM。 當(dāng)用戶通過原理圖或HDL語(yǔ)言描述了一個(gè)邏輯電路以后,PLD/FPGA開發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫入RAM,這樣,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可。下面是一個(gè)4輸入與門的例子 z 實(shí)際邏輯電路 LUT的實(shí)現(xiàn)方式a,b,c,d 輸入邏輯輸出 地址RAM中存儲(chǔ)的內(nèi)容0000
27、0 0000000010 00010.0 .011111 11111二二. .基于查找表(基于查找表(LUT)LUT)的的FPGAFPGA的結(jié)構(gòu)的結(jié)構(gòu) z我們看一看xilinx Spartan-II的內(nèi)部結(jié)構(gòu),如下圖: xilinx Spartan-II 芯片內(nèi)部結(jié)構(gòu)Slices結(jié)構(gòu)zSpartan-II主要包括CLBs,I/O塊,RAM塊和可編程連線(未表示出)。在spartan-II中,一個(gè)CLB包括2個(gè)Slices,每個(gè)slices包括兩個(gè)LUT,兩個(gè)觸發(fā)器和相關(guān)邏輯。 Slices可以看成是SpartanII實(shí)現(xiàn)邏輯的最基本結(jié)構(gòu) (xilinx其他系列,如SpartanXL,Virte
28、x的結(jié)構(gòu)與此稍有不同,具體請(qǐng)參閱數(shù)據(jù)手冊(cè))altera的FLEX/ACEX等芯片的結(jié)構(gòu)如下圖: altera FLEX/ACEX 芯片的內(nèi)部結(jié)構(gòu) z 邏輯單元(LE)內(nèi)部結(jié)構(gòu)FLEX/ACEX的結(jié)構(gòu)主要包括的結(jié)構(gòu)主要包括LAB,I/O塊,塊,RAM塊(未表示塊(未表示出)和可編程行出)和可編程行/列連線。在列連線。在FLEX/ACEX中,一個(gè)中,一個(gè)LAB包括包括8個(gè)邏輯單元(個(gè)邏輯單元(LE),每個(gè)每個(gè)LE包括一個(gè)包括一個(gè)LUT,一個(gè)觸發(fā)器和相,一個(gè)觸發(fā)器和相關(guān)的相關(guān)邏輯。關(guān)的相關(guān)邏輯。LE是是FLEX/ACEX芯片實(shí)現(xiàn)邏輯的最基本結(jié)芯片實(shí)現(xiàn)邏輯的最基本結(jié)構(gòu)構(gòu)(altera其他系列,如其他系
29、列,如APEX的結(jié)構(gòu)與此基本相同,具體請(qǐng)參的結(jié)構(gòu)與此基本相同,具體請(qǐng)參閱數(shù)據(jù)手冊(cè))閱數(shù)據(jù)手冊(cè)) 三三. .查找表結(jié)構(gòu)的查找表結(jié)構(gòu)的FPGAFPGA邏輯實(shí)現(xiàn)原理邏輯實(shí)現(xiàn)原理 z我們還是以這個(gè)電路的為例: A,B,C,D由由FPGA芯片的管腳輸入后進(jìn)入可編程連線,然后作為地址線連到芯片的管腳輸入后進(jìn)入可編程連線,然后作為地址線連到到到LUT,LUT中已經(jīng)事先寫入了所有可能的邏輯結(jié)果,通過地址查找到相中已經(jīng)事先寫入了所有可能的邏輯結(jié)果,通過地址查找到相應(yīng)的數(shù)據(jù)然后輸出,這樣組合邏輯就實(shí)現(xiàn)了。應(yīng)的數(shù)據(jù)然后輸出,這樣組合邏輯就實(shí)現(xiàn)了。 該電路中該電路中D觸發(fā)器是直接利觸發(fā)器是直接利用用LUT后面后面D觸
30、發(fā)器來實(shí)現(xiàn)。時(shí)鐘信號(hào)觸發(fā)器來實(shí)現(xiàn)。時(shí)鐘信號(hào)CLK由由I/O腳輸入后進(jìn)入芯片內(nèi)部的腳輸入后進(jìn)入芯片內(nèi)部的時(shí)鐘專用通道,直接連接到觸發(fā)器的時(shí)鐘端。觸發(fā)器的輸出與時(shí)鐘專用通道,直接連接到觸發(fā)器的時(shí)鐘端。觸發(fā)器的輸出與I/O腳相連,腳相連,把結(jié)果輸出到芯片管腳。這樣把結(jié)果輸出到芯片管腳。這樣PLD就完成了圖就完成了圖3所示電路的功能。(以上這所示電路的功能。(以上這些步驟都是由軟件自動(dòng)完成的,不需要人為干預(yù))些步驟都是由軟件自動(dòng)完成的,不需要人為干預(yù))z 這個(gè)電路是一個(gè)很簡(jiǎn)單的例子,只需要一個(gè)LUT加上一個(gè)觸發(fā)器就可以完成。對(duì)于一個(gè)LUT無法完成的的電路,就需要通過進(jìn)位邏輯將多個(gè)單元相連,這樣FPGA
31、就可以實(shí)現(xiàn)復(fù)雜的邏輯。z 由于LUT主要適合SRAM工藝生產(chǎn),所以目前大部分FPGA都是基于SRAM工藝的,而SRAM工藝的芯片在掉電后信息就會(huì)丟失,一定需要外加一片專用配置芯片,在上電的時(shí)候,由這個(gè)專用配置芯片把數(shù)據(jù)加載到FPGA中,然后FPGA就可以正常工作,由于配置時(shí)間很短,不會(huì)影響系統(tǒng)正常工作。 也有少數(shù)FPGA采用反熔絲或Flash工藝,對(duì)這種FPGA,就不需要外加專用的配置芯片。四四. .其他類型的其他類型的FPGAFPGA和和PLDPLD z 隨著技術(shù)的發(fā)展,在2004年以后,一些廠家推出了一些新的PLD和FPGA,這些產(chǎn)品模糊了PLD和FPGA的區(qū)別。例如Altera最新的MA
32、XII系列PLD,這是一種基于FPGA(LUT)結(jié)構(gòu),集成配置芯片的PLD,在本質(zhì)上它就是一種在內(nèi)部集成了配置芯片的FPGA,但由于配置時(shí)間極短,上電就可以工作,所以對(duì)用戶來說,感覺不到配置過程,可以傳統(tǒng)的PLD一樣使用,加上容量和傳統(tǒng)PLD類似,所以altera把它歸作PLD。 還有像Lattice的XP系列FPGA,也是使用了同樣的原理,將外部配置芯片集成到內(nèi)部,在使用方法上和PLD類似,但是因?yàn)槿萘看螅阅芎蛡鹘y(tǒng)FPGA相同,也是LUT架構(gòu),所以Lattice仍把它歸為FPGA。 五五. .選擇選擇PLDPLD還是還是FPGAFPGA? z 根據(jù)上一篇PLD的結(jié)構(gòu)和原理可以知道,PLD分
33、解組合邏輯的功能很強(qiáng),一個(gè)宏單元就可以分解十幾個(gè)甚至2030多個(gè)組合邏輯輸入。而FPGA的一個(gè)LUT只能處理4輸入的組合邏輯,因此,PLD適合用于設(shè)計(jì)譯碼等復(fù)雜組合邏輯。 但FPGA的制造工藝確定了FPGA芯片中包含的LUT和觸發(fā)器的數(shù)量非常多,往往都是幾千上萬(wàn),PLD一般只能做到512個(gè)邏輯單元,而且如果用芯片價(jià)格除以邏輯單元數(shù)量,F(xiàn)PGA的平均邏輯單元成本大大低于PLD。 所以如果設(shè)計(jì)中使用到大量觸發(fā)器,例如設(shè)計(jì)一個(gè)復(fù)雜的時(shí)序邏輯,那么使用FPGA就是一個(gè)很好選擇。 同時(shí)PLD擁有上電即可工作的特性,而大部分FPGA需要一個(gè)加載過程,所以,如果系統(tǒng)要可編程邏輯器件上電就要工作,那么就應(yīng)該選
34、擇PLD。z盡管和都是可編程器件盡管和都是可編程器件,有很多共同特點(diǎn)有很多共同特點(diǎn),但由于和結(jié)構(gòu)上但由于和結(jié)構(gòu)上的差異的差異,具有各自的特點(diǎn)具有各自的特點(diǎn): 更適合完成各種算法和組合邏輯更適合完成各種算法和組合邏輯, 更適合于完成時(shí)序邏輯。換句話說更適合于完成時(shí)序邏輯。換句話說,更適更適合于觸發(fā)器豐富的結(jié)構(gòu)合于觸發(fā)器豐富的結(jié)構(gòu),而更適合于觸發(fā)器而更適合于觸發(fā)器有限而乘積項(xiàng)豐富的結(jié)構(gòu)。有限而乘積項(xiàng)豐富的結(jié)構(gòu)。 的連續(xù)式布線結(jié)構(gòu)決定了它的時(shí)序延遲的連續(xù)式布線結(jié)構(gòu)決定了它的時(shí)序延遲是均勻的和可預(yù)測(cè)的是均勻的和可預(yù)測(cè)的,而的分段式布線結(jié)構(gòu)而的分段式布線結(jié)構(gòu)決定了其延遲的不可預(yù)測(cè)性。決定了其延遲的不可預(yù)
35、測(cè)性。 在編程上比具有更大的靈活性。在編程上比具有更大的靈活性。通過修改具有固定內(nèi)連電路的邏輯功能來通過修改具有固定內(nèi)連電路的邏輯功能來編程編程,主要通過改變內(nèi)部連線的布線來編程主要通過改變內(nèi)部連線的布線來編程; 可在邏輯門下編程可在邏輯門下編程,而是在邏輯塊而是在邏輯塊下編程。下編程。 的集成度比高的集成度比高,具有更復(fù)雜的布具有更復(fù)雜的布線結(jié)構(gòu)和邏輯實(shí)現(xiàn)。線結(jié)構(gòu)和邏輯實(shí)現(xiàn)。 z 比使用起來更方便。的編程采比使用起來更方便。的編程采用用2或技術(shù)或技術(shù),無需外部存儲(chǔ)器無需外部存儲(chǔ)器芯片芯片,使用簡(jiǎn)單。而的編程信息需存放在外部存儲(chǔ)器使用簡(jiǎn)單。而的編程信息需存放在外部存儲(chǔ)器上上,使用方法復(fù)雜。使用
36、方法復(fù)雜。 的速度比快的速度比快,并且具有較大的時(shí)間可預(yù)測(cè)并且具有較大的時(shí)間可預(yù)測(cè)性。這是由于是門級(jí)編程性。這是由于是門級(jí)編程,并且之間采用分布并且之間采用分布式互聯(lián)式互聯(lián),而是邏輯塊級(jí)編程而是邏輯塊級(jí)編程,并且其邏輯塊之間的互聯(lián)并且其邏輯塊之間的互聯(lián)是集總式的。是集總式的。 在編程方式上在編程方式上,主要是基于主要是基于2或或存儲(chǔ)器編程存儲(chǔ)器編程,編程次數(shù)可達(dá)編程次數(shù)可達(dá)1萬(wàn)次萬(wàn)次,優(yōu)點(diǎn)是系統(tǒng)斷電時(shí)編程優(yōu)點(diǎn)是系統(tǒng)斷電時(shí)編程信息也不丟失。又可分為在編程器上編程和在系統(tǒng)信息也不丟失。又可分為在編程器上編程和在系統(tǒng)編程兩類。大部分是基于編程編程兩類。大部分是基于編程,編程信息在編程信息在系統(tǒng)斷電時(shí)
37、丟失系統(tǒng)斷電時(shí)丟失,每次上電時(shí)每次上電時(shí),需從器件外部將編程數(shù)據(jù)重新寫需從器件外部將編程數(shù)據(jù)重新寫入中。其優(yōu)點(diǎn)是可以編程任意次入中。其優(yōu)點(diǎn)是可以編程任意次,可在工作中快速編可在工作中快速編程程,從而實(shí)現(xiàn)板級(jí)和系統(tǒng)級(jí)的動(dòng)態(tài)配置。從而實(shí)現(xiàn)板級(jí)和系統(tǒng)級(jí)的動(dòng)態(tài)配置。 保密性好保密性好,保密性差。保密性差。 一般情況下一般情況下,的功耗要比大的功耗要比大,且集成度越高且集成度越高越明顯。越明顯。 z z 隨著復(fù)雜可編程邏輯器件(CPLD)密度的提高,數(shù)字器件設(shè)計(jì)人員在進(jìn)行大型設(shè)計(jì)時(shí),既靈活又容易,而且產(chǎn)品可以很快進(jìn)入市場(chǎng)。許多設(shè)計(jì)人員已經(jīng)感受到CPLD容易使用、時(shí)序可預(yù)測(cè)和速度高等優(yōu)點(diǎn),然而,在過去由于
38、受到CPLD密度的限制,他們只好轉(zhuǎn)向FPGA和ASIC?,F(xiàn)在,設(shè)計(jì)人員可以體會(huì)到密度高達(dá)數(shù)十萬(wàn)門的CPLD所帶來的好處。 CPLD結(jié)構(gòu)在一個(gè)邏輯路徑上采用1至16個(gè)乘積項(xiàng),因而大型復(fù)雜設(shè)計(jì)的運(yùn)行速度可以預(yù)測(cè)。因此,原有設(shè)計(jì)的運(yùn)行可以預(yù)測(cè),也很可靠,而且修改設(shè)計(jì)也很容易。CPLD在本質(zhì)上很靈活、時(shí)序簡(jiǎn)單、路由性能極好,用戶可以改變他們的設(shè)計(jì)同時(shí)保持引腳輸出不變。與FPGA相比,CPLD的I/O更多,尺寸更小。 如今,通信系統(tǒng)使用很多標(biāo)準(zhǔn),必須根據(jù)客戶的需要配置設(shè)備以支持不同的標(biāo)準(zhǔn)。CPLD可讓設(shè)備做出相應(yīng)的調(diào)整以支持多種協(xié)議,并隨著標(biāo)準(zhǔn)和協(xié)議的演變而改變功能。這為系統(tǒng)設(shè)計(jì)人員帶來很大的方便,因?yàn)?/p>
39、在標(biāo)準(zhǔn)尚未完全成熟之前他們就可以著手進(jìn)行硬件設(shè)計(jì),然后再修改代碼以滿足最終標(biāo)準(zhǔn)的要求。CPLD的速度和延遲特性比純軟件方案更好,它的NRE費(fèi)用低於ASIC,更靈活,產(chǎn)品也可以更快入市。 z隨著可編程邏輯器件應(yīng)用的日益廣泛,許多IC制造廠家涉足PLD/FPGA領(lǐng)域。目前世界上有十幾家生產(chǎn)CPLD/FPGA的公司,最大的三家是:ALTERA,XILINX,Lattice,其中ALTERA和XILINX占有了60%以上的市場(chǎng)份額。 z 1、ALTERA:九十年代以后發(fā)展很快,是最大可編程邏輯器件供應(yīng)商之一。主要產(chǎn)品有:AX3000/7000,FLEX10K,APEX20K,ACEX1K,Strati
40、x,Cyclone等。開發(fā)軟件為QuartusII。 z2、XILIXN:FPGA的發(fā)明者,老牌FPGA公司,是最大可編程邏輯器件供應(yīng)商之一。產(chǎn)品種類較全,主要有:XC9500,Coolrunner ,Spartan, Virtex等。開發(fā)軟件為ISE。通常來說,在歐洲和美國(guó)用Xilinx的人多,在日本和亞太地區(qū)用ALTERA的人多。 全球PLD/FPGA產(chǎn)品60%以上是由Altera和Xilinx提供的。 可以講Altera和Xilinx共同決定了PLD技術(shù)的發(fā)展方向。 z3、Lattice:Lattice是ISP技術(shù)的發(fā)明者,ISP技術(shù)極大的促進(jìn)了PLD產(chǎn)品的發(fā)展,與ALTERA和XILI
41、NX相比,其開發(fā)工具略遜一籌。中小規(guī)模PLD比較有特色, 1999年推出可編程模擬器件。99年收購(gòu)Vantis(原AMD子公司),成為第三大可編程邏輯器件供應(yīng)商。2001年12月收購(gòu)agere公司(原Lucent微電子部)的FPGA部門。主要產(chǎn)品有ispMACH4000,EC/ECP,XO,XP以及可編程模擬器件等z4、ACTEL:反熔絲(一次性燒寫)PLD的領(lǐng)導(dǎo)者,由于反熔絲PLD抗輻射,耐高低溫,功耗低,速度快,所以在軍品和宇航級(jí)上有較大優(yōu)勢(shì)。ALTERA和XILINX則較少涉足軍品和宇航級(jí)市場(chǎng)。ACTEL在中國(guó)地區(qū)代理商是裕利(科匯二部)和世強(qiáng)電訊z5、Cypress : PLD/FPG
42、A不是Cypress的主要業(yè)務(wù),但有一定的用戶群,中國(guó)地區(qū)代理商有:富昌電子,德創(chuàng)電子等 ALTERAALTERA 開發(fā)軟件開發(fā)軟件 z MAX+PLUSII 普遍認(rèn)為MaxplusII曾經(jīng)是最優(yōu)秀的PLD開發(fā)平臺(tái)之一,適合開發(fā)早期的中小規(guī)模PLD/FPGA,目前已經(jīng)由QuartusII替代,不再推薦使用z QuartusII Altera新一代FPGA/PLD開發(fā)軟件,適合新器件和大規(guī)模FPGA的開發(fā),已經(jīng)取代MaxplusII。z SOPC Builder :配合QuartusII,可以完成集成CPU的FPGA芯片的開發(fā)工作z DSP Builder: QuartusII與Mathlab的
43、接口,利用IP核在Mathlab中快速完成數(shù)字信號(hào)處理的仿真和最終FPGA實(shí)現(xiàn)主流芯片選型指導(dǎo):主流芯片選型指導(dǎo): z1.主流主流PLD產(chǎn)品:產(chǎn)品: zMAXII:新一代PLD器件,0.18um falsh工藝,2004年底推出,采用FPGA結(jié)構(gòu),配置芯片集成在內(nèi)部,和普通PLD一樣上電即可工作。容量比上一代大大增加,內(nèi)部集成一片8Kbits串行EEPROM,增加很多功能。MAXII采用2.5v或者3.3v內(nèi)核電壓,MAXII G系列采用1.8v內(nèi)核電壓。zMAXII容量較大,對(duì)于只需要幾十個(gè)邏輯單元的簡(jiǎn)單邏輯應(yīng)用,建議使用小容量的EPM3000A系列芯片z2.主流主流FPGA產(chǎn)品產(chǎn)品z Al
44、tera的主流FPGA分為兩大類,一種側(cè)重低成本應(yīng)用,容量中等,性能可以滿足一般的邏輯設(shè)計(jì)要求,如Cyclone,CycloneII;還有一種側(cè)重于高性能應(yīng)用,容量大,性能能滿足各類高端應(yīng)用,如Startix,StratixII等,用戶可以根據(jù)自己實(shí)際應(yīng)用要求進(jìn)行選擇。 在性能可以滿足的情況下,優(yōu)先選擇低成本器件。z Cyclone(颶風(fēng))(颶風(fēng)):Altera中等規(guī)模FPGA,2003年推出,0.13um工藝,1.5v內(nèi)核供電,與Stratix結(jié)構(gòu)類似,是一種低成本FPGA系列 ,是目前主流產(chǎn)品,其配置芯片也改用全新的產(chǎn)品。z 簡(jiǎn)評(píng):Altera最成功的器件之一,性價(jià)比不錯(cuò),是一種適合中低端
45、應(yīng)用的通用FPGA,推薦使用。z CycloneII:Cyclone的下一代產(chǎn)品,2005年開始推出,90nm工藝,1.2v內(nèi)核供電,屬于低成本FPGA,性能和Cyclone相當(dāng),提供了硬件乘法器單元 z 簡(jiǎn)評(píng):剛剛推出的新一代低成本FPGA,目前市場(chǎng)零售還不容易買到,從2005年年底開始,逐步取代Cyclone器件,成為Altera在中低FPGA市場(chǎng)中的主力產(chǎn)品。z Stratix :altera大規(guī)模高端FPGA,2002年中期推出,0.13um工藝,1.5v內(nèi)核供電。集成硬件乘加器,芯片內(nèi)部結(jié)構(gòu)比Altera以前的產(chǎn)品有很大變化。 z 簡(jiǎn)評(píng):Startix芯片在2002年的推出,改變了A
46、ltera在FPGA市場(chǎng)上的被動(dòng)局面。該芯片適合高端應(yīng)用。 隨著2005年新一代StratixII器件的推出,被StratixII逐漸取代z StratixII: Stratix的下一代產(chǎn)品,2004年中期推出,90um工藝,1.2v內(nèi)核供電,大容量高性能FPGA z 簡(jiǎn)評(píng):性能超越Stratix,曾經(jīng)是Altera在高端FPGA市場(chǎng)中的主力產(chǎn)品 Cyclone專用配置器件專用配置器件 專門用于配置Cyclone器件的EEPROM,可以用ByteblasterII在線改寫,電壓為3.3v型 號(hào)容 量適用型號(hào)(詳細(xì)內(nèi)容請(qǐng)參閱數(shù)據(jù)手冊(cè))常用封裝EPCS11M bitsEP1C3,EP1C4,EP1
47、C6(壓縮模式)8 腳 SOICEPCS44M bits所有Cyclone型號(hào)8 腳 SOIC 4.NoisII軟處理器軟處理器:verilog編寫的一個(gè)32位/16位可編程CPU核,可以集成到各種FPGA中,Altera提供開發(fā)軟件用于軟件和硬件開發(fā) 5.更多可編程器件產(chǎn)品更多可編程器件產(chǎn)品 Altera公司還有很多仍然在廣泛使用的可編程器件產(chǎn)品,如:ACEX 1K, MAX3000A,FLEX 10K, APEX 20K, StratixGX, 等等。 3.FPGA配置芯片配置芯片配置配置EEPROM 用于配置SRAM工藝FPGA的EEPROM,EPC2以上的芯片可以用電纜多次擦寫ACEX
48、 1KACEX 1K系列系列 ACEX 1K系列是系列是Altera公司于公司于2000年推出的內(nèi)核電壓年推出的內(nèi)核電壓2.5V、價(jià)格低廉、價(jià)格低廉、SRAM工藝的工藝的PLD。該系列器件適用于。該系列器件適用于實(shí)現(xiàn)復(fù)雜邏輯及存儲(chǔ)器功能,如數(shù)字信號(hào)處理、寬帶數(shù)據(jù)實(shí)現(xiàn)復(fù)雜邏輯及存儲(chǔ)器功能,如數(shù)字信號(hào)處理、寬帶數(shù)據(jù)控制、數(shù)據(jù)變換和微處理器等高性能數(shù)字系統(tǒng)的應(yīng)用??刂啤?shù)據(jù)變換和微處理器等高性能數(shù)字系統(tǒng)的應(yīng)用。 ACEX 1K系列器件將查找表結(jié)構(gòu)和嵌入式陣列結(jié)構(gòu)相結(jié)系列器件將查找表結(jié)構(gòu)和嵌入式陣列結(jié)構(gòu)相結(jié)合,可以在單個(gè)可編程芯片中實(shí)現(xiàn)系統(tǒng)集成,因此,合,可以在單個(gè)可編程芯片中實(shí)現(xiàn)系統(tǒng)集成,因此, A
49、CEX 1K系列器件為高性能系統(tǒng)設(shè)計(jì)提供了低成本的器件,系列器件為高性能系統(tǒng)設(shè)計(jì)提供了低成本的器件,具有較高的性價(jià)比。具有較高的性價(jià)比。 ACEX 1K系列器件的產(chǎn)品有:系列器件的產(chǎn)品有:EP1K10、EP1K30、EP1K50和和EP1K100。 我們實(shí)驗(yàn)室所用的就是我們實(shí)驗(yàn)室所用的就是ACEX 1K系列器件的系列器件的EP1K100QC208-3。它具有高密度、系統(tǒng)級(jí)功能、內(nèi)部連。它具有高密度、系統(tǒng)級(jí)功能、內(nèi)部連線靈活、線靈活、I/O引腳功能強(qiáng)等特點(diǎn)。引腳功能強(qiáng)等特點(diǎn)。8.18.1 概概 述述輸 入緩沖電路與陣列或陣列輸出緩沖電路輸入輸出圖圖8-1 基本基本PLD器件的原理結(jié)構(gòu)圖器件的原理
50、結(jié)構(gòu)圖8.1.1 可編程邏輯器件的發(fā)展歷程可編程邏輯器件的發(fā)展歷程70年代年代80年代年代90年代年代PROM 和和PLA 器件器件改進(jìn)的改進(jìn)的 PLA 器件器件GAL器件器件FPGA器件器件EPLD 器件器件CPLD器件器件內(nèi)嵌復(fù)雜內(nèi)嵌復(fù)雜功能模塊功能模塊的的SoPC8.1.2 可編程邏輯器件的分類可編程邏輯器件的分類圖圖8-2 按集成度按集成度(PLD)分類分類 可編程邏輯器件(PLD) 簡(jiǎn)單PLD 復(fù)雜PLD PROM PAL PLA GAL CPLD FPGA 8.2 簡(jiǎn)單簡(jiǎn)單PLD原理原理8.2.1 電路符號(hào)表示電路符號(hào)表示圖圖8-3 常用邏輯門符號(hào)與現(xiàn)有國(guó)標(biāo)符號(hào)的對(duì)照常用邏輯門符號(hào)
51、與現(xiàn)有國(guó)標(biāo)符號(hào)的對(duì)照?qǐng)D圖8-4PLD的互補(bǔ)緩沖器的互補(bǔ)緩沖器 圖圖8-5 PLD的互補(bǔ)輸入的互補(bǔ)輸入 圖圖8-6 PLD中與陣列表示中與陣列表示圖圖8-7 PLD中或陣列的表示中或陣列的表示 圖圖8-8 陣列線連接表示陣列線連接表示 8.2.2 PROM地 址譯 碼 器存 儲(chǔ) 單 元陣 列0A1A1nA0W1W1pW0F1F1mFnp2圖圖8-9 PROM基本結(jié)構(gòu):基本結(jié)構(gòu):0111201110110.AAAWAAAWAAAWnnnn其邏輯函數(shù)是:其邏輯函數(shù)是:圖圖8-10 PROM的邏輯陣列結(jié)構(gòu)的邏輯陣列結(jié)構(gòu)與陣列(不可編程)或陣列(可編程)0A1A1nA0W1W1pW0F1F1mFnp20
52、1,011, 111, 1101 ,011 , 111 , 1100,010, 110, 10WMWMWMFWMWMWMFWMWMWMFmmpmpmpppp邏輯函數(shù)表示:邏輯函數(shù)表示:8.2.2 PROM圖圖8-11 PROM表達(dá)的表達(dá)的PLD圖陣列圖陣列與陣列(固定)或陣列(可編程)0A1A1A1A0A0A1F0F圖圖8-12 用用PROM完成半加器邏輯陣列完成半加器邏輯陣列與 陣 列 ( 固 定 )或 陣 列( 可 編 程 )0A1A1A1A0A0A1F0F8.2.3 PLA圖8-13 PLA邏輯陣列示意圖邏輯陣列示意圖與 陣 列 ( 可 編 程 )或 陣 列( 可 編 程 )0A1A1A
53、1A0A0A1F0F8.2.3 PLA圖圖8-14 PLA與與 PROM的比較的比較0A1A1F0F2A2F0A1A1F0F2A2F8.2.4 PAL0A1A1F0F0A1A1F0F 圖8-15PAL結(jié)構(gòu)結(jié)構(gòu)圖圖8-16 PAL的常用表示的常用表示8.2.4 PAL11100100R11100100RQQD11100100R11100100RVccSG1SL07SL17SG0SL0619I/O711100100R11100100RQQD11100100R11100100RVccSG1SL06SL16SG1SL0618I/O61CLK/I02I13I2078150 3 4 78121115 16
54、19 2023 2427 2831圖圖8-17 一種一種PAL16V8的部分結(jié)構(gòu)圖的部分結(jié)構(gòu)圖8.2.5 GAL2071 90 34 781 21 11 51 61 92 02 32 42 72 83 11381 51 8O L M CO L M C41 62 31 752 43 11 6O L M CO L M C63 23 91 574 04 71 4O L M CO L M C84 85 51 395 66 31 2O L M CO L M C1 1I / C L KIIIIIIIII / O EI / O / QI / O / QI / O / QI / O / QI / O / QI
55、 / O / QI / O / QI / O / QC L KO E圖圖8-18 GAL16V8的結(jié)構(gòu)圖的結(jié)構(gòu)圖GAL: General Array Logic最多有8個(gè)或項(xiàng),每個(gè)或項(xiàng)最多有32個(gè)與項(xiàng)EPLDErasable Programmable Logic Device8.2.5 GAL邏輯宏單元輸入/輸出口輸入口時(shí)鐘信號(hào)輸入三態(tài)控制可編程與陣列固定或陣列GAL16V88.2.5 GAL圖圖8-19寄存器輸出結(jié)構(gòu)寄存器輸出結(jié)構(gòu)圖圖8-20寄存器模式組合雙向輸出結(jié)構(gòu)寄存器模式組合雙向輸出結(jié)構(gòu)8.2.5 GAL圖圖8-21 組合輸出雙向結(jié)構(gòu)組合輸出雙向結(jié)構(gòu)圖圖8-22 復(fù)合型組合輸出結(jié)構(gòu)復(fù)合
56、型組合輸出結(jié)構(gòu)8.2.5 GAL圖圖8-23 反饋輸入結(jié)構(gòu)反饋輸入結(jié)構(gòu)圖圖8-24輸出反饋結(jié)構(gòu)輸出反饋結(jié)構(gòu)8.2.5 GAL圖圖8-25 簡(jiǎn)單模式輸出結(jié)構(gòu)簡(jiǎn)單模式輸出結(jié)構(gòu)8.3 CPLD結(jié)構(gòu)與工作原理結(jié)構(gòu)與工作原理圖圖8-26 MAX7000系列的單個(gè)宏單元結(jié)構(gòu)系列的單個(gè)宏單元結(jié)構(gòu)PRNCLRNENA邏輯陣列全局清零共享邏輯擴(kuò)展項(xiàng)清零時(shí)鐘清零選擇寄 存 器旁路并行擴(kuò)展項(xiàng)通往 I/O模塊通往 PIA乘積項(xiàng)選擇矩陣來自 I/O引腳全局時(shí)鐘QDEN來自來自 PIA的的 36個(gè)信號(hào)個(gè)信號(hào)快速輸入選擇快速輸入選擇2(1) 邏輯陣列塊邏輯陣列塊(LAB)圖圖8-27- MAX7128S的結(jié)構(gòu)的結(jié)構(gòu)(2)
57、宏單元宏單元(3) 擴(kuò)展乘積項(xiàng)擴(kuò)展乘積項(xiàng)(4) 可編程連線陣列可編程連線陣列(5) 不同的不同的LAB通過在可編程連線陣列通過在可編程連線陣列(PIA)上布線,以相互連上布線,以相互連接構(gòu)成所需的邏輯。接構(gòu)成所需的邏輯。(6)I/O控制塊控制塊圖圖8-28 共享擴(kuò)展乘積項(xiàng)結(jié)構(gòu)共享擴(kuò)展乘積項(xiàng)結(jié)構(gòu) 圖圖8-29 并聯(lián)擴(kuò)展項(xiàng)饋送方式并聯(lián)擴(kuò)展項(xiàng)饋送方式圖圖8-30 PIA信號(hào)布線到信號(hào)布線到LAB的方式的方式圖圖8-31-EPM7128S器器件的件的I/O控制控制塊塊8.4 FPGA結(jié)構(gòu)與工作原理結(jié)構(gòu)與工作原理8.4.1 查找表查找表0000010100000101161RAM輸入A輸入B輸入C輸入D
58、查找表輸出多路選擇器圖圖8-33 FPGA查找表單元內(nèi)部結(jié)構(gòu)查找表單元內(nèi)部結(jié)構(gòu)查找表LUT輸入1輸入2輸入3輸入4輸出圖圖8-32 FPGA查找查找表單元:表單元:一個(gè)一個(gè)N輸入查找表輸入查找表 (LUT,Look Up Table)可以實(shí)現(xiàn)可以實(shí)現(xiàn)N個(gè)輸入變量的任何邏輯功個(gè)輸入變量的任何邏輯功能,如能,如 N輸入輸入“與與”、 N輸入輸入“異或異或”等。等。輸入多于輸入多于N個(gè)的函數(shù)、方程必須分開用幾個(gè)查找表(個(gè)的函數(shù)、方程必須分開用幾個(gè)查找表( LUT)實(shí)現(xiàn)實(shí)現(xiàn)輸出輸出查黑查黑找盒找盒表子表子輸入輸入1輸入輸入2輸入輸入3輸入輸入4什么是查找表什么是查找表?基于查找表的結(jié)構(gòu)模塊基于查找表的
59、結(jié)構(gòu)模塊 0000010100000101輸入 A 輸入 B 輸入C 輸入D 查找表輸出16x1RAM查找表原理查找表原理多路選擇器8.4.2 FLEX10K系列器件系列器件圖圖8-34 FLEX 10K內(nèi)內(nèi)部結(jié)構(gòu)部結(jié)構(gòu).IOCIOCIOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC邏輯單元邏輯單元.IOCIOC.IOCIOCIOCIOC.快速通道互連快速通道互連邏輯陣列塊邏輯陣列塊 (LAB)IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOC.IOCIOCFLEX 10K系列FPGA結(jié)構(gòu)圖.IOCIOC.IOCIOC.IOCIOC.IOCIO
60、C.IOCIOC.IOCIOCEABEAB嵌入式嵌入式陣列塊陣列塊(1) 邏輯單元邏輯單元LE圖圖8-35 LE(LC)結(jié)構(gòu)圖結(jié)構(gòu)圖數(shù)據(jù)1Lab 控制 3LE 輸出進(jìn)位鏈級(jí)聯(lián)鏈查找表 (LUT)清零和預(yù)置邏輯時(shí)鐘選擇進(jìn)位輸入級(jí)聯(lián)輸入進(jìn)位輸出級(jí)聯(lián)輸出Lab 控制 1CLRNDQ數(shù)據(jù)2數(shù)據(jù)3數(shù)據(jù)4Lab 控制 2Lab 控制 4(1) 邏輯單元邏輯單元LE圖圖8-36 進(jìn)位鏈連進(jìn)位鏈連通通LAB中的所有中的所有LE快速加法器快速加法器, 比較器和計(jì)數(shù)器比較器和計(jì)數(shù)器DFF進(jìn)位輸入進(jìn)位輸入(來自上一個(gè)邏輯單元來自上一個(gè)邏輯單元)S1LE1查找表查找表LUT進(jìn)位鏈進(jìn)位鏈DFFS2LE2A1B1A2B2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025車輛抵債合同書
- 2025煉化工程建設(shè)總承包合同
- 2025油漆工程承包合同
- 2024-2025學(xué)年新教材高中語(yǔ)文 第七單元 16.2 登泰山記說課稿(1)部編版必修上冊(cè)
- 2024-2025學(xué)年高中地理 第1章 旅游和旅游資源 第2節(jié) 旅游資源的類型說課稿 中圖版選修3
- 二手房交易時(shí)合同范例
- 飲料公司組建方案
- 《 負(fù)數(shù)》(說課稿)-2023-2024學(xué)年六年級(jí)下冊(cè)數(shù)學(xué)人教版
- 石材礦山起料方案
- 鑄造企業(yè)整治方案制定
- 上海市2024年中考化學(xué)真題(含答案)
- 油氣儲(chǔ)運(yùn)節(jié)能優(yōu)化方案
- 物流公司員工守則以及管理制度
- 2024人形機(jī)器人產(chǎn)業(yè)半年研究報(bào)告
- 購(gòu)買演唱會(huì)門票的合同模板
- 【基于現(xiàn)金流的企業(yè)財(cái)務(wù)風(fēng)險(xiǎn)探究文獻(xiàn)綜述4100字】
- 燃燒爆炸理論及應(yīng)用 課件 第1-3章 緒論、燃燒及其災(zāi)害、物質(zhì)的燃燒
- 事業(yè)單位網(wǎng)絡(luò)安全知識(shí)培訓(xùn)
- 2024年山東省第三屆中小學(xué)生海洋知識(shí)競(jìng)賽試題及答案(初中組)
- 2024年山東省春季高考技能考試汽車專業(yè)試題庫(kù)-上(單選題匯總)
- 《活著》讀書分享課件
評(píng)論
0/150
提交評(píng)論