可編程邏輯器課件_第1頁
可編程邏輯器課件_第2頁
可編程邏輯器課件_第3頁
可編程邏輯器課件_第4頁
可編程邏輯器課件_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 隨著數(shù)字電子技術(shù)日新月異的發(fā)展,70年代后出現(xiàn)了存放用戶程序的可編程只讀存儲器(PROM),用戶可以方便地實(shí)現(xiàn)不同的邏輯電路,由此便出現(xiàn)了最早的可編程邏輯器件(Programmable Logic Device,PLD)。該類器件具有結(jié)構(gòu)靈活、集成度高、處理速度快和可靠性高等特點(diǎn),因此發(fā)展極其迅速,從早期的僅幾百門規(guī)模、需專用編程器編程的簡單可編程器件,發(fā)展到數(shù)百萬門規(guī)模、可在線直接編程的高密度可編程器件,在工業(yè)控制和產(chǎn)品開發(fā)等方面得到了廣泛的應(yīng)用。 各種可編程邏輯器件可以分為簡單可編程邏輯器件(Programmable Logic Device,PLD)、復(fù)雜可編程邏輯器件(Complex

2、 Programmable Logic Device,CPLD)、現(xiàn)場可編程器門陣列(Filed Programmable Gate Array,F(xiàn)PGA)等。 簡單可編程邏輯器件是指在芯片內(nèi)部集成的硬件資源相對較小、應(yīng)用的場合相對簡單,而且實(shí)現(xiàn)的邏輯功能不是很復(fù)雜,通常都是實(shí)現(xiàn)一些簡單的邏輯操作,比如與、或、非、與非、或非以及同或、異或等邏輯功能,主要包括PLD、PAL、GAL等幾種可編程邏輯器件??删幊踢壿嬈骷≒LD)是集成電路技術(shù)發(fā)展的產(chǎn)物,是EDA得以實(shí)現(xiàn)的硬件基礎(chǔ),由設(shè)計(jì)人員自行編程而把數(shù)字系統(tǒng)“集成”在一片PLD上,可靈活方便地構(gòu)建和修改數(shù)字電子系統(tǒng),不必去請芯片制造廠商設(shè)計(jì)和制

3、作專用的集成電路芯片了。一般把單片集成度在1K標(biāo)準(zhǔn)門以下的可編程邏輯器件稱為簡單PLD。簡單PLD由與陣列和或陣列組成,能有效地實(shí)現(xiàn)“乘積項(xiàng)”形式的布爾邏輯函數(shù)。最初的PLD是PROM和PAL。PROM中與陣列固定,當(dāng)輸入變量為N時,與陣列的乘積項(xiàng)輸出線為2的N次方,而或陣列是可編程的。在許多邏輯應(yīng)用場合中,并不需要每個變量均參與乘積項(xiàng)。為了組合邏輯的需要,發(fā)明了PAL(Programmable Array Logic)器件,在PAL中,與陣列是可編程的,而或陣列是固定的。后來為使PAL能夠適應(yīng)更多的應(yīng)用需求,又在PAL結(jié)構(gòu)中加入了寄存器,這樣也可以作時序電路。有些PAL的輸出部分還加入了一些

4、宏單元,可以靈活地變換正負(fù)輸出邏輯、寄存器和三態(tài)輸出等,這就是通用陣列邏輯GAL(Generic Array Logic)。 PLD陣列的表示方法:PLD可以用陣列圖來表示,陣列圖是將緩沖器、與門陣列和或門陣列組合起來構(gòu)成的。圖中,A、B為輸入信號,F(xiàn)1 F2 F3為輸出信號。與陣列固定,或陣列可編程。PLD陣列的表示方法 PLD陣列的表示方法 PROM能夠?qū)崿F(xiàn)邏輯函數(shù)的最小項(xiàng)表達(dá)式,而最小項(xiàng)表達(dá)式是一種非常繁瑣的與-或表達(dá)式,當(dāng)變量較多時,PROM實(shí)現(xiàn)邏輯函數(shù)的效率極低。但按最簡與-或表達(dá)式實(shí)現(xiàn)邏輯函數(shù)的成本最低,為此人們針對PROM的缺點(diǎn)設(shè)計(jì)了專門用來實(shí)現(xiàn)邏輯電路的可編程器件PLA(Pro

5、grammable Logic Array,可編程邏輯陣列)。PLA的基本結(jié)構(gòu)類似于PROM,但它提供了對邏輯功能處理更有效的方法,它的與陣列和或陣列都可編程。其與陣列可按需要產(chǎn)生任意的與項(xiàng),因此用PLA可以實(shí)現(xiàn)邏輯函數(shù)的最簡與-或表達(dá)式。盡管用PLA實(shí)現(xiàn)邏輯電路的效率遠(yuǎn)遠(yuǎn)高于PROM,但PLA也有不足之處,主要是與陣列和或陣列均采用可編程開關(guān),而可編程開關(guān)需占用較多的芯片面積,并會引入較大的信號延時,因此,PLA的結(jié)構(gòu)不利于提高器件的集成度和工作速度。20世紀(jì)70年代出現(xiàn)了可編程陣列邏輯PAL。PAL是Programmable Array Logic的縮寫,即可編程陣列邏輯。PAL也是PLD

6、的一種,采用“與”、“或”陣列結(jié)構(gòu),但是與PROM不同,PAL的“或”陣列是固定的,而“與”陣列則是可以編程的。隨著VLSI技術(shù)的不斷發(fā)展和提高,允許設(shè)計(jì)規(guī)模較大的“與”陣列。因此PAL為用戶對“與”陣列編程帶來了很大方便。在邏輯表達(dá)式中一般可以簡化到幾個積項(xiàng),很少超過8個。所以在PAL中,每一個或門輸入最多可以有8個乘積項(xiàng),這樣為用戶編程提供了方便。 PAL電路的邏輯陣列結(jié)構(gòu)圖如圖所示。 圖中,PAL由與陣列和或陣列構(gòu)成,與陣列是可編程的,采用熔絲編程技術(shù)來實(shí)現(xiàn),而或陣列是固定的。用PAL實(shí)現(xiàn)邏輯函數(shù)的形式是與-或表達(dá)式,由于其或陣列采用固定連接,為適應(yīng)不同函數(shù)與-或式中與項(xiàng)數(shù)不同的情況,P

7、AL器件中或門的輸入端數(shù)一般不做成一樣,而是有多有少,以適應(yīng)不同函數(shù)的需要。圖中所示每個或門的輸入端數(shù)為4個。PAL陣列結(jié)構(gòu) GAL是Generic Array Logic的縮寫,即通用可編程陣列邏輯。對應(yīng)很多簡單的數(shù)字邏輯,GAL等簡單的可編程邏輯器件仍然被大量使用。目前,國內(nèi)外很多對成本十分敏感的設(shè)計(jì)都在使用GAL等低成本可編程邏輯器件,越來越多的74系列邏輯電路被GAL取代。GAL等器件發(fā)展至今已經(jīng)近20年了,新一代的GAL器件以功能靈活、小封裝、低成本、重復(fù)可編程、應(yīng)用靈活等優(yōu)點(diǎn)仍然在數(shù)字電路領(lǐng)域扮演著重要的角色。目前比較大的GAL器件供應(yīng)商主要是Lattice半導(dǎo)體公司。PAL器件的

8、發(fā)展,給邏輯設(shè)計(jì)帶來了很大的靈活性,但是它所提供的靈活性是有限的,不同的輸出結(jié)構(gòu)需要選用不同型號的PAL器件。此外,PAL的編程元件是熔絲,一旦編程以后不能再修改,因此,限制了PAL的廣泛應(yīng)用。20世紀(jì)80年代,Lattice公司推出了通用陣列邏輯(GAL),采用EECMOS工藝,可以反復(fù)修改和再次編程。GAL器件在可編程陣列邏輯的基礎(chǔ)上,增加了輸出邏輯宏單元OLMC(Output Logic Macro Cell),使得GAL的特性和使用靈活性大大優(yōu)于PAL,成為目前為止使用最廣泛的簡單PLD器件。 典型的GAL器件有兩類,一類是與陣列可編程、或陣列固定的電路結(jié)構(gòu),另一類GAL器件的與陣列和

9、或陣列都可以編程,是一種新型的GAL器件。 典型的GAL器件GAL18V10結(jié)構(gòu)如圖2-4所示,器件型號中的18表示最多有18個引腳作為輸入端,10表示器件內(nèi)含有10個OLMC,最多可有10個引腳作為輸出端。GAL18V10的陣列圖由五部分組成:10個輸入緩沖器、10個輸出緩沖器、10個輸出邏輯宏單元、可編程與門陣列和10個輸出反饋/輸入緩沖器。除此以外,還有時鐘信號、三態(tài)控制端、電源及地線端。由于GAL中各寄存器的時鐘信號是統(tǒng)一的,因此單片GAL器件只能實(shí)現(xiàn)同步時序電路。隨著集成電路規(guī)模的不斷提高,在20世紀(jì)80年代出現(xiàn)了比GAL規(guī)模更大的可編程器件,由于它們基本上沿用了GAL的電路結(jié)構(gòu),故

10、稱其為復(fù)雜可編程邏輯器件CPLD,又稱為陣列擴(kuò)展型PLD。此后在90年代初,Lattice公司率先提出了在系統(tǒng)可編程技術(shù),即無需編程器,可在用戶的電路板上對器件直接進(jìn)行在線編程的技術(shù),并推出了一批具有在系統(tǒng)編程能力的CPLD器件,使PLD技術(shù)發(fā)展到了新的高度。由于CPLD由若干個大的與-或陣列構(gòu)成,故又稱為大粒度的PLD。在可編程器件發(fā)展的同時,人們將可編程思想引入另一種半定制器件“門陣列”中,從而出現(xiàn)了可在用戶現(xiàn)場進(jìn)行編程的門陣列產(chǎn)品,稱為現(xiàn)場可編程門陣列FPGA。這種器件盡管也是可編程的,但它的電路結(jié)構(gòu)及所采用的編程方法和CPLD不同。典型的FPGA由眾多的小單元電路構(gòu)成,故又稱為單元型P

11、LD,也稱為小粒度PLD。CPLD和FPGA各具特點(diǎn),互有優(yōu)劣,因此在發(fā)展過程中也在不斷的取長補(bǔ)短,相互滲透,不斷出現(xiàn)新型的產(chǎn)品。CPLD是Complex Programmable Logic Device的縮寫,即復(fù)雜的可編程邏輯器件。Altera為了突出特性,曾將自己的CPLD器件稱為EPLD(Enhanced Programmable Logic Device),即增強(qiáng)型可編程邏輯器件。其實(shí)EPLD和CPLD屬于同等性質(zhì)的邏輯器件,目前Altera為了遵循稱呼習(xí)慣,已經(jīng)將其EPLD統(tǒng)稱為CPLD。CPLD是在PAL、GAL的基礎(chǔ)上發(fā)展起來,釆用E2CMOS工藝,也有少數(shù)廠商釆用Flash

12、工藝,其基本結(jié)構(gòu)由可編程I/O單元、基本邏輯單元、布線池和其他輔助功能模塊構(gòu)成。CPLD可實(shí)現(xiàn)的邏輯功能比PAL、GAL有了大幅度的提升,一般可以完成設(shè)計(jì)中較復(fù)雜、較髙速度的邏輯功能,如接口轉(zhuǎn)換、總線控制等。CPLD的主要器件供應(yīng)商有:Altera、Lattice和Xinlinx等。CPLD基本上沿用了GAL的陣列結(jié)構(gòu),在一個器件內(nèi)集成了多個類似GAL的大模塊,大模塊之間通過一個可編程集中布線池連接起來。在GAL中只有一部分引腳是可編程的,其他引腳都是固定的輸入腳;而在CPLD中,所有的信號引腳都可編程,故稱為I/O口。 典型CPLD的內(nèi)部結(jié)構(gòu)都含有通用邏輯模塊GLB。GLB的作用主要是實(shí)現(xiàn)邏

13、輯功能。它由可編程與陣列、共享或陣列及可重構(gòu)觸發(fā)器等電路組成,其中最具特色的是共享或陣列。首先,各或門的輸入端固定,屬于固定型或陣列,這一點(diǎn)與GAL相同,但各或門的輸入端個數(shù)不同,既便于實(shí)現(xiàn)繁簡程度不一的邏輯函數(shù),又可提高與、或陣列的利用率;其次,或門的輸出又接到一個可編程或陣列中,在需要時實(shí)現(xiàn)或門的擴(kuò)展,應(yīng)對復(fù)雜的邏輯函數(shù)??芍貥?gòu)觸發(fā)器組可以根據(jù)需要構(gòu)成D、JK或T觸發(fā)器,GLB內(nèi)部的所有觸發(fā)器都是同步工作的,時鐘信號可以有多種選擇。大部分的CPLD是基于乘積項(xiàng)(Product-Term)結(jié)構(gòu)的。采用這種結(jié)構(gòu)的CPLD芯片有:Altera的MAX7000、MAX3000系列(E2PROM工藝

14、),Xilinx的XC9500系列(0.35m CMOS Fast Flash工藝)和Lattice的ispMACH4000、ispMACH5000(0.18m E2CMOS工藝)系列器件,Cypress的大部分產(chǎn)品,它們的結(jié)構(gòu)都基本相同,都是由可編程I/O單元、基本邏輯單元和其他輔助功能模塊構(gòu)成。ispMACH 4000系列CPLD主要由GLB(Generic Logic Block)、全局布線池GRP(Global Routing Pool)、輸出布線池ORP(Output Routing Pool)、I/O Block等部分組成。這里的GLB有36個輸入、包含16個宏單元MC(Macro

15、cell)。宏單元是CPLD的基本邏輯單元。GLB的所有輸入都來自于GRP,GLB的所有輸出都輸出到GRP,即使GLB要用到自己的輸出信號也必須通過GRP,這樣每個GLB的輸出都可以通過GRP輸入到芯片上的所有其他GLB。GLB的輸出通過ORP布線到I/O引腳。GLB由可編程與門陣列、邏輯分配器(logic allocator)、16個MC和GLB時鐘發(fā)生器組成。宏單元MC由邏輯分配器的輸出驅(qū)動,每個MC包含一個可編程異或門、一個可編程寄存器和一些布線和控制邏輯。 CPLD主要基于E2PROM或FLASH存儲器進(jìn)行編程,編程次數(shù)可達(dá)1萬次,優(yōu)點(diǎn)是系統(tǒng)斷電時編程信息也不丟失。CPLD又可分為在編

16、程器上編程和在系統(tǒng)編程兩類。 不同的芯片生產(chǎn)廠商,其編程的工具、方法以及電路都不盡相同,如Xilinx、Altera以及Lattice公司的下載電路,都不相同,這里不一一給出,如果需要,可以到相關(guān)參考書籍或網(wǎng)上搜索下載。 FPGA是Field Programmable Gate Array的縮寫,即現(xiàn)場可編程邏輯陣列。FPGA是20世紀(jì)80年代中期出現(xiàn)的高密度可編程器件,短短幾十年來,取得了驚人的發(fā)展,其單片集成密度從最初的1200門發(fā)展到目前的幾百萬門,而且時鐘頻率由最初不到10MHz發(fā)展到目前的300MHz。FPGA是在CPLD的基礎(chǔ)上發(fā)展起來的新型髙性能可編程邏輯器件,一般釆用SRAM工

17、藝,也有一些專用器件釆用Flash工藝或反熔絲(Anti-Fuse)工藝等??梢酝瓿蓸O其復(fù)雜的時序與組合邏輯電路功能,適用于高速、髙密度的高端數(shù)字邏輯電路設(shè)計(jì)領(lǐng)域。FPGA的基本組成部分有可編程輸入/輸出單元、基本可編程邏輯單元、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元、內(nèi)嵌專用硬核等。FPGA的主要器件供應(yīng)商有Altera、Lattice、Actel和Xinlinx等。 FPGA由普通的門陣列發(fā)展而來,其結(jié)構(gòu)與CPLD大不相同,內(nèi)含許多獨(dú)立的可編程邏輯模塊,用戶可以通過編程將這些模塊連接起來實(shí)現(xiàn)不同的設(shè)計(jì)。由于模塊很多,所以在布局上呈二維分布,可見其布線的難度和復(fù)雜性較高。FPGA具

18、有高密度、高速率、系列化、標(biāo)準(zhǔn)化、小型化、多功能、低功耗、低成本,設(shè)計(jì)靈活方便,可無限次反復(fù)編程,并可現(xiàn)場模擬調(diào)試驗(yàn)證等特點(diǎn)。使用FPGA器件,可在較短的時間內(nèi)完成一個電子系統(tǒng)的設(shè)計(jì)和制作,縮短了研制周期,達(dá)到快速上市和進(jìn)一步降低成本的要求。目前FPGA在我國得到了較廣泛的應(yīng)用。與CPLD基于門陣列來實(shí)現(xiàn)邏輯功能的方式不同,F(xiàn)PGA是基于查找表(Look-Up-Table)結(jié)構(gòu)的。查找表簡稱為LUT,本質(zhì)上就是一個RAM。目前,F(xiàn)PGA中多使用4輸入的LUT,所以每一個LUT可以看成一個有4位地址線的161的RAM。當(dāng)用戶通過原理圖或HDL語言描述了一個邏輯電路以后,F(xiàn)PGA開發(fā)軟件會自動計(jì)算

19、邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫入RAM。這樣,每輸入一個信號進(jìn)行邏輯運(yùn)算就等于輸入一個地址進(jìn)行查表,找出地址對應(yīng)的內(nèi)容,然后輸出即可。不同廠家、不同系列的FPGA結(jié)構(gòu)都不盡相同,Altera的Cyclone II系列FPGA的結(jié)構(gòu)。如圖所示。 四個角上的PLL是鎖相環(huán),一般用它對輸入的時鐘進(jìn)行分頻、倍頻以產(chǎn)生所需要的時鐘頻率。IOES(input/output elements)是I/O單元,它們用于將FPGA內(nèi)部的信號布線到I/O引腳。中間黑色的部分是內(nèi)置的1818乘法器(有多個)。兩邊灰色的是內(nèi)部RAM模塊。剩下白色的部分是邏輯陣列,它由多個LAB(Logic Array Blo

20、ck)組成。還有用于內(nèi)部信號互連的布線邏輯(圖中沒有畫出)。 Cyclone II提供4個PLL(每個PLL最多可有4個輸出)和由16根全局時鐘線組成的全局時鐘網(wǎng)絡(luò)。全局時鐘網(wǎng)絡(luò)貫穿整個芯片,可以給片內(nèi)所有時序器件提供時鐘。比如IOE、LE、內(nèi)部乘法器和內(nèi)置RAM模塊等。Cyclone II中1818乘法器的數(shù)量因具體的芯片不同而各不相同,每個1818 乘法器可以配置成兩個99乘法器使用。 大部分FPGA基于SRAM 編程,編程信息在系統(tǒng)斷電時丟失,每次上電時,需從器件外部將編程數(shù)據(jù)重新寫入SRAM中。其優(yōu)點(diǎn)是可以編程任意次,可在工作中快速編程,從而實(shí)現(xiàn)板級和系統(tǒng)級的動態(tài)配置。和CPLD的編程

21、一樣,不同生產(chǎn)廠商的具體電路等都不相同。 基于查表(Look-Up Table)技術(shù)、SRAM工藝的FPGA(如ALtera公司的所有FLEX、ACEX和APEX系列,XiLinx公司的Spartan和Virtex系列),由于SRAM工藝的特點(diǎn),掉電后數(shù)據(jù)會消失,因此調(diào)試期間可以用下載電纜配置器件,調(diào)試完成后需要將數(shù)據(jù)固化在一個專用的E2PROM中(用通用編程器燒寫),上電時由這片配置E2PROM 先對器件加載數(shù)據(jù)(亦可由CPU配置),十幾毫秒后,器件即可正常工作。 目前生產(chǎn)CPLD/FPGA的公司主要有Altera、Xilinx、Lattice等,生產(chǎn)的品種和型號種類繁多各不相同。 Alte

22、ra主要有以下產(chǎn)品系列:MAX、Cyclone、Cyclone II、Stratix、Stratix II等。其中MAX是CPLD系列,有MAX 3000、MAX 7000和最新的MAX II,其它的都是FPGA。MAX II系列CPLD具有低成本、低功耗、高密度等優(yōu)點(diǎn),MAX II的成本是MAX的一半,密度是MAX的4倍,功耗僅是MAX的十分之一。于2004年底推出,采用FPGA結(jié)構(gòu),配置芯片集成在內(nèi)部,和普通PLD一樣上電即可工作。容量比上一代大大增加,內(nèi)部集成一片8Kbits串行E2PROM,增加很多功能,采用2.5v或者3.3v內(nèi)核電壓MAX II還采用了不同于傳統(tǒng)乘積項(xiàng)結(jié)構(gòu)的CPLD

23、結(jié)構(gòu),使其密度大大提高。MAX II器件家族的部分芯片如下表所示。MAX II 器件FeatureEPM240/GEPM570/GEPM1270/GEPM2210/G邏輯單元 (LE)2405701,2702,210等效宏單元1924409801,700最大用戶IO80160212272Flash大小(bit)8K8K8K8K管腳到管腳延時(ns)3.6-4.53.6-5.53.6-6.03.6-6.5 Cyclone和Cyclone II系列是低成本FPGA,面向中低端應(yīng)用。Cyclone II采用90nm工藝技術(shù),1.2v內(nèi)核供電,其中1818乘法器多達(dá)150個,片內(nèi)嵌入式存儲器高達(dá)1.1Mbits,提供多達(dá)68,416個邏輯單元(LE),密度超過第一代Cyclone FPGA的3倍,支持最多達(dá)四個可編程鎖相環(huán)(PLL)和最多16個全局時鐘線,具有較高的性能。Cyclone II器件內(nèi)部的嵌入式乘法器是

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論