官术网_书友最值得收藏!

2.1 概述

PLD是20世紀(jì)70年代發(fā)展起來(lái)的一種新型邏輯器件。其具有集成度高、容量大、速度快、功耗小、可靠性高、設(shè)計(jì)方法先進(jìn)、現(xiàn)場(chǎng)可編程等特點(diǎn),并且?guī)缀跄茈S心所欲地完成用戶定義的邏輯功能(do as you wish),還可以加密和重新編程。使用可編程邏輯器件,可以大大簡(jiǎn)化硬件系統(tǒng),降低成本,提高系統(tǒng)的可靠性、靈活性和保密性,因此,在通信、數(shù)據(jù)處理、網(wǎng)絡(luò)、儀器、工業(yè)控制、軍事和航空航天等眾多領(lǐng)域得到了廣泛應(yīng)用。

早期的可編程邏輯器件,只有可編程只讀存儲(chǔ)器(PROM)、紫外線可擦除只讀存儲(chǔ)器(EPROM)和電可擦除只讀存儲(chǔ)器(E2PROM)三種。由于結(jié)構(gòu)的限制,它們只能完成簡(jiǎn)單的數(shù)字邏輯功能。其后,出現(xiàn)了一類(lèi)結(jié)構(gòu)上稍復(fù)雜的可編程芯片,即可編程邏輯器件(PLD),它能夠完成各種數(shù)字邏輯功能。典型的PLD由一個(gè)“與”門(mén)和一個(gè)“或”門(mén)陣列組成,而任意一個(gè)組合邏輯都可以用“與-或”表達(dá)式來(lái)描述,所以,PLD能以乘積和的形式完成大量的組合邏輯功能。

2.1.1 可編程邏輯器件的發(fā)展歷程

(1)可編程只讀存儲(chǔ)器

可編程只讀存儲(chǔ)器(Programmable Read-Only Memory,PROM)于1970年制成,包括一個(gè)固定的與陣列,其輸出加到一個(gè)可編程的或陣列上。PROM采用熔絲工藝編程,只能寫(xiě)一次,不能擦除和重寫(xiě)。隨著技術(shù)的發(fā)展和應(yīng)用要求,此后又出現(xiàn)了UVEPROM(紫外線可擦除只讀存儲(chǔ)器)、E2PROM(電可擦除只讀存儲(chǔ)器),其價(jià)格低,易于編程,速度低,適合于存儲(chǔ)計(jì)算機(jī)程序、數(shù)據(jù)和數(shù)據(jù)表格。用作存儲(chǔ)器時(shí),輸入用作存儲(chǔ)器地址,輸出是存儲(chǔ)器單元的內(nèi)容。典型的EPROM有2716、2732等,結(jié)構(gòu)如圖2-1所示。

圖2-1 PROM的陣列結(jié)構(gòu)

(2)可編程邏輯陣列

可編程邏輯陣列(Programable Logic Array,PLA)是20世紀(jì)70年代初期發(fā)展起來(lái)的一種可編程只讀存儲(chǔ)器,由一個(gè)可編程的“與”陣列和一個(gè)可編程的“或”陣列構(gòu)成。由于是雙重編程,先由與陣列編程組成編程與項(xiàng),再由或陣列編程選取與項(xiàng),形成最簡(jiǎn)的與或函數(shù),所以采用PLA實(shí)現(xiàn)邏輯函數(shù)可提高存儲(chǔ)單元的利用率。一片PLD所容納的邏輯門(mén)可達(dá)數(shù)百、數(shù)千甚至更多,其邏輯功能可由用戶編程指定,特別適宜于構(gòu)造小批量生產(chǎn)的系統(tǒng),或在系統(tǒng)開(kāi)發(fā)研制過(guò)程中使用。但由于器件的資源利用率低,價(jià)格較貴,結(jié)構(gòu)編程困難,支持PLA的開(kāi)發(fā)軟件有一定難度,因而沒(méi)有得到廣泛應(yīng)用。PLA的陣列結(jié)構(gòu)如圖2-2所示。

圖2-2 PLA的陣列結(jié)構(gòu)

(3)可編程陣列邏輯器件

可編程陣列邏輯器件(Programmable Array Logic,PAL)是1977年美國(guó)MMI公司率先推出的,其實(shí)現(xiàn)工藝有反熔絲技術(shù)、EPROM技術(shù)和E2PROM技術(shù),雙極性工藝制造,工作速度高。它結(jié)合了PLA的靈活性及PROM的廉價(jià)、易于編程的特點(diǎn),由一個(gè)可編程的“與”陣列和一個(gè)固定的“或”陣列構(gòu)成,或門(mén)的輸出可以通過(guò)觸發(fā)器有選擇地被置為寄存狀態(tài),有多種輸出和反饋結(jié)構(gòu),因而給邏輯設(shè)計(jì)帶來(lái)了很大的靈活性。它的實(shí)現(xiàn)工藝有反熔絲技術(shù)、EPROM技術(shù)和E2PROM技術(shù),雙極性工藝制造,工作速度快。由于它的輸出結(jié)構(gòu)種類(lèi)很多,設(shè)計(jì)很靈活,因而成為第一個(gè)得到普遍應(yīng)用的可編程邏輯器件,如PAL16L8。其陣列結(jié)構(gòu)如圖2-3所示。

圖2-3 PAL(GAL)的陣列結(jié)構(gòu)

(4)通用陣列邏輯器件

通用陣列邏輯器件(Generic Array Logic,GAL)是1983年Lattice公司最先發(fā)明的可高速反復(fù)電擦寫(xiě)、可重復(fù)編程、可設(shè)置加密位的PLD。它是在PAL器件基礎(chǔ)上發(fā)展起來(lái)的,繼承了PAL器件的與-或結(jié)構(gòu),采用了輸出邏輯宏單元形式E2CMOS工藝結(jié)構(gòu),增加了OLMC電路(輸出邏輯宏單元),由于其內(nèi)部具有特殊的結(jié)構(gòu)控制字,因而雖然芯片類(lèi)型少,但編程靈活,功能齊全,使一種型號(hào)的GAL器件可以對(duì)幾十種PAL器件做到全兼容,給設(shè)計(jì)者帶來(lái)了更大的靈活性,因而獲得廣泛應(yīng)用,如GAL16V8、GAL20V8、GAL22V10等。

以上各種PLD的主要區(qū)別見(jiàn)表2-1。

表2-1 PLD的主要區(qū)別

這些早期PLD器件的一個(gè)共同特點(diǎn),是可以實(shí)現(xiàn)速度特性較好的邏輯功能,但過(guò)于簡(jiǎn)單的結(jié)構(gòu),也使它們只能實(shí)現(xiàn)規(guī)模較小的電路。

(5)現(xiàn)場(chǎng)可編程門(mén)陣列/復(fù)雜可編程邏輯器件

現(xiàn)場(chǎng)可編程門(mén)陣列/復(fù)雜可編程邏輯器件(Field Programmable Gate Array/Complex Programmab1e Logic Device,F(xiàn)PGA/CPLD)是20世紀(jì)80年代中期在PAL、GAL等邏輯器件的基礎(chǔ)之上發(fā)展起來(lái)的。Altera和Xilinx分別推出了類(lèi)似于PAL結(jié)構(gòu)的擴(kuò)展型CPLD和與標(biāo)準(zhǔn)門(mén)陣列類(lèi)似的FPGA,它們都具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬等特點(diǎn),可實(shí)現(xiàn)較大規(guī)模的電路,編程靈活。與ASIC相比,又具有設(shè)計(jì)開(kāi)發(fā)周期短、設(shè)計(jì)制造成本低、開(kāi)發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品無(wú)須測(cè)試、質(zhì)量穩(wěn)定以及可實(shí)時(shí)在線檢驗(yàn)等優(yōu)點(diǎn),被廣泛應(yīng)用于產(chǎn)品的原型設(shè)計(jì)和產(chǎn)品生產(chǎn)中。幾乎所有中小規(guī)模通用數(shù)字集成電路的場(chǎng)合均可用FPGA/CPLD器件替代,因此受到世界范圍內(nèi)電子工程設(shè)計(jì)人員的廣泛關(guān)注和普遍歡迎。

FPGA/CPLD的規(guī)模大,可以替代幾十甚至幾千塊通用IC芯片,這樣的FPGA/CPLD實(shí)際上就是一個(gè)系統(tǒng)或子系統(tǒng)部件。經(jīng)過(guò)幾十年的發(fā)展,許多公司都開(kāi)發(fā)出了多種可編程邏輯器件。比較典型的是Xilinx和Altera公司,它們開(kāi)發(fā)較早,占據(jù)了較大的PLD市場(chǎng)份額。

(6)在系統(tǒng)可編程

在系統(tǒng)可編程(In System Programmability,ISP)的概念首先由美國(guó)的Lattice公司于20世紀(jì)90年代提出,是指用戶具有在自己設(shè)計(jì)的目標(biāo)系統(tǒng)中或線路板上,為重構(gòu)邏輯而對(duì)邏輯器件進(jìn)行編程或反復(fù)改寫(xiě)的能力。ISP技術(shù)為用戶提供了傳統(tǒng)的PLD技術(shù)無(wú)法達(dá)到的靈活性,帶來(lái)了極大的時(shí)間效益和經(jīng)濟(jì)效益,使可編程邏輯技術(shù)發(fā)生了實(shí)質(zhì)性飛躍。其具有三個(gè)優(yōu)點(diǎn):

①減輕了工程師的原型設(shè)計(jì)負(fù)擔(dān),縮短了試制周期,降低了試制成本;

②方便系統(tǒng)的維護(hù)和升級(jí);

③提高了系統(tǒng)的可測(cè)試性,增強(qiáng)了系統(tǒng)的可靠性。

PLD的發(fā)展,不僅簡(jiǎn)化了數(shù)字系統(tǒng)的設(shè)計(jì)過(guò)程,減小了系統(tǒng)的體積,降低了系統(tǒng)的成本,提高了系統(tǒng)的可靠性和保密性,而且使用戶從被動(dòng)地選用通用芯片,發(fā)展到主動(dòng)地對(duì)芯片的設(shè)計(jì)和使用。設(shè)計(jì)者更愿意自己設(shè)計(jì)ASIC芯片,而且希望設(shè)計(jì)周期盡可能短,最好是在實(shí)驗(yàn)室里就能設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中。FPGA/CPLD的出現(xiàn)從根本上改變了系統(tǒng)設(shè)計(jì)方法,使各種邏輯功能的實(shí)現(xiàn)變得靈活、方便。

(7)ASIC設(shè)計(jì)

ASIC(Application Specific Integrated Circuit)是指應(yīng)特定用戶要求和特定電子系統(tǒng)的需要而設(shè)計(jì)、制造的專(zhuān)用集成電路。通用集成電路一般不能滿足全部用戶的需要,定制集成電路是解決這個(gè)問(wèn)題的重要途徑之一。

ASIC分為全定制和半定制。

①全定制集成電路是按照預(yù)期功能和技術(shù)指標(biāo)而專(zhuān)門(mén)設(shè)計(jì)制成的集成電路,制造周期長(zhǎng),成本高,制成后不易修改,但性能比較理想,芯片面積小,集成度高。特點(diǎn)是精工細(xì)作,設(shè)計(jì)要求高,周期長(zhǎng),設(shè)計(jì)成本昂貴。

②半定制集成電路中,利用可編程技術(shù)是ASIC發(fā)展的一個(gè)有特色的分支。其主要特點(diǎn)是直接提供軟件設(shè)計(jì)編程,完成ASIC電路功能,不需要再通過(guò)集成電路工藝線加工,適合于開(kāi)發(fā)周期短、低開(kāi)發(fā)成本、投資風(fēng)險(xiǎn)小的小批量數(shù)字電路設(shè)計(jì)。由于單元庫(kù)和功能模塊電路越加成熟,全定制設(shè)計(jì)的方法漸漸被半定制方法所取代。在現(xiàn)在的IC設(shè)計(jì)中,整個(gè)電路均采用全定制設(shè)計(jì)的現(xiàn)象越來(lái)越少。

2.1.2 簡(jiǎn)單可編程邏輯器件的基本結(jié)構(gòu)

簡(jiǎn)單PLD的基本結(jié)構(gòu)如圖2-4所示。電路的主體是由門(mén)電路構(gòu)成的與陣列和或陣列。為了適應(yīng)各種輸入情況,與陣列的每個(gè)輸入端都有輸入緩沖電路,從而使輸入信號(hào)具有足夠的驅(qū)動(dòng)能力,并產(chǎn)生原變量A和反變量兩個(gè)互補(bǔ)的信息。

圖2-4 PLD的基本結(jié)構(gòu)框圖

2.1.3 可編程邏輯器件的主要分類(lèi)

(1)按規(guī)模分類(lèi)

PLD可分為簡(jiǎn)單的可編程邏輯器件和大規(guī)模可編程邏輯器件,如圖2-5所示。簡(jiǎn)單的可編程邏輯器件通常是指早期發(fā)展起來(lái)的、集成密度小于700門(mén)/片的PLD,如ROM、PLA、PAL和GAL等器件。歷史上,GAL22V10是簡(jiǎn)單的PLD和大規(guī)模PLD的分水嶺,一般也按照GAL22V10芯片的容量區(qū)分。而FPGA和CPLD則屬于大規(guī)模可編程邏輯器件。

圖2-5 可編程邏輯器件按規(guī)模分類(lèi)

(2)按結(jié)構(gòu)分類(lèi)

大規(guī)模可編程邏輯器件按結(jié)構(gòu)分為FPGA和CPLD兩大類(lèi)(詳見(jiàn)2.2節(jié))。

FPGA具有門(mén)陣列的結(jié)構(gòu)形式,它由許多可編程單元(或稱邏輯功能塊)排成陣列組成,稱為單元型PLD。它基于查找表LUT(Look-Up Table)技術(shù)。由于SRAM工藝的特點(diǎn),掉電后數(shù)據(jù)會(huì)消失,因此調(diào)試期間可以用下載電纜配置PLD器件,調(diào)試完成后,需要將數(shù)據(jù)固化在一個(gè)專(zhuān)用芯片中(稱為配置芯片,詳見(jiàn)2.2.6節(jié)),上電時(shí),先由配置芯片對(duì)FPGA加載數(shù)據(jù),十幾毫秒到幾百毫秒后,F(xiàn)PGA即可正常工作。SRAM工藝的PLD一般不可以直接加密。

CPLD的基本結(jié)構(gòu)由與陣列和或陣列組成。簡(jiǎn)單PLD(如PROM、PLA、PAL和GAL等)和CPLD都屬于陣列型PLD,是基于乘積項(xiàng)(Product-Term)技術(shù),E2PROM(或Flash)工藝的PLD。目前的PLD都可以用ISP在線編程,也可用編程器編程。這種PLD可以加密,并且很難解密,所以常常用于單板加密。

盡管FPGA與CPLD和其他類(lèi)型PLD的結(jié)構(gòu)各有其特點(diǎn)和長(zhǎng)處,但概括起來(lái),它們是由三大部分組成:

①一個(gè)二維的邏輯塊陣列,構(gòu)成了PLD器件的邏輯組成核心;

②輸入/輸出塊;

③連接邏輯塊的互連資源,連線資源由各種長(zhǎng)度的連線線段組成,其中也有一些可編程的連接開(kāi)關(guān),它們用于邏輯塊之間、邏輯塊與輸入/輸出塊之間的連接。

FPGA與CPLD的內(nèi)部結(jié)構(gòu)稍有不同,但對(duì)用戶而言,用法一樣,所以在多數(shù)情況下,可以不加區(qū)分。

(3)按編程方式分類(lèi)

可編程邏輯器件按編程方式分為兩類(lèi):一次性編程(One Time Programmable,OTP)器件和可多次編程(Many Time Programmable,MTP)器件。

①OTP器件屬于一次性使用的器件,只允許用戶對(duì)器件編程一次,編程后不能修改。其優(yōu)點(diǎn)是可靠性與集成度高,抗干擾性強(qiáng),采用一次性編程的熔絲(Fuse)或反熔絲(Antifuse)元件的可編程器件,如PROM、PAL和EPLD等。

②MTP器件屬于可多次重復(fù)使用的器件,允許用戶對(duì)其進(jìn)行多次編程、修改或設(shè)計(jì),特別適合于系統(tǒng)樣機(jī)的研制和初級(jí)設(shè)計(jì)者的使用。

a.采用紫外線擦除、電可編程元件,即采用EPROM、UVCMOS工藝結(jié)構(gòu)的可多次編程器件。

b.采用電擦除、電可編程元件。其中一種是E2PROM,另一種是采用快閃存儲(chǔ)器單元(Flash Memory)結(jié)構(gòu)的可多次編程器件。

c.基于靜態(tài)存儲(chǔ)器SRAM結(jié)構(gòu)的可多次編程器件。目前多數(shù)FPGA是基于SRAM結(jié)構(gòu)的可編程器件。

綜上所述,ROM的編程方法是按掩膜ROM→PROM→EPROM→E2PROM次序發(fā)展的。通常把一次性編程的(如PROM)稱為第一代PLD,把紫外光擦除的(如EPROM)稱為第二代PLD,把電擦除的(如E2PROM)稱為第三代PLD。

第二代、第三代PLD器件的編程都是在編程器上進(jìn)行的。ISP器件的編程工作,可以不用編程器,而直接在目標(biāo)系統(tǒng)或線路板上進(jìn)行,因而稱第四代PLD器件。

主站蜘蛛池模板: 晋宁县| 文山县| 吴江市| 白山市| 团风县| 都兰县| 南平市| 西峡县| 宁明县| 堆龙德庆县| 林口县| 东明县| 抚松县| 滨州市| 台北市| 开江县| 宝山区| 云龙县| 通化县| 淮滨县| 樟树市| 防城港市| 瓦房店市| 穆棱市| 新干县| 平舆县| 惠州市| 三门峡市| 金沙县| 岗巴县| 元阳县| 临沧市| 南丰县| 长海县| 额敏县| 来安县| 浪卡子县| 广水市| 岳普湖县| 资阳市| 巴林右旗|