




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第2章章 FPGA與與CPLD的結(jié)構(gòu)原理的結(jié)構(gòu)原理 FPGA與與CPLD的結(jié)構(gòu)原理的結(jié)構(gòu)原理 FPGA與與CPLD的結(jié)構(gòu)原理的結(jié)構(gòu)原理 可編程邏輯器件可編程邏輯器件PLDPLD(Programmable Logic DevicesProgrammable Logic Devices)是)是2020世紀(jì)世紀(jì)7070年代發(fā)展起來(lái)年代發(fā)展起來(lái)的一種新的集成器件。是大規(guī)模集成電路技術(shù)發(fā)展的一種新的集成器件。是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,是一種的產(chǎn)物,是一種半定制半定制的集成電路,的集成電路,結(jié)合結(jié)合EDAEDA技術(shù)技術(shù)可以十分便捷地可以十分便捷地構(gòu)構(gòu)建數(shù)字系統(tǒng)建數(shù)字系統(tǒng)。本章主要介紹本章主要介紹
2、幾類常用幾類常用大規(guī)??删幊踢壿嬈骷慕Y(jié)構(gòu)和工作原理大規(guī)模可編程邏輯器件的結(jié)構(gòu)和工作原理; 對(duì)對(duì)CPLDCPLD乘積項(xiàng)原理和乘積項(xiàng)原理和FPGAFPGA査找表原理査找表原理分別進(jìn)行剖析;分別進(jìn)行剖析; 簡(jiǎn)要介紹相關(guān)的簡(jiǎn)要介紹相關(guān)的編程下載和測(cè)試技術(shù)編程下載和測(cè)試技術(shù)。 2.1 PLD概述概述 數(shù)字電路系統(tǒng)都是由基本門構(gòu)成數(shù)字電路系統(tǒng)都是由基本門構(gòu)成: :與門、或門、非門、傳輸門等。與門、或門、非門、傳輸門等。 基本門可構(gòu)成兩類數(shù)字電路基本門可構(gòu)成兩類數(shù)字電路: : 組合電路:組合電路:在邏輯上輸出總是在邏輯上輸出總是當(dāng)前輸入狀態(tài)的函數(shù)當(dāng)前輸入狀態(tài)的函數(shù); 時(shí)序電路:時(shí)序電路:其輸出是其輸出是當(dāng)
3、前系統(tǒng)狀態(tài)與當(dāng)前輸入狀態(tài)的函數(shù)當(dāng)前系統(tǒng)狀態(tài)與當(dāng)前輸入狀態(tài)的函數(shù),它含有,它含有 存儲(chǔ)元件。存儲(chǔ)元件。 不是所有的基本門都必需。不是所有的基本門都必需。例如:例如: 用用單一單一“與非與非”基本門就基本門就可構(gòu)成其他的基本門可構(gòu)成其他的基本門。 任何的任何的組合邏輯函數(shù)都可化為組合邏輯函數(shù)都可化為“與與- -或或”表達(dá)式表達(dá)式。即:任何組。即:任何組 合電路,可用合電路,可用“與門與門- -或門或門”二級(jí)電路實(shí)現(xiàn)。二級(jí)電路實(shí)現(xiàn)。 任何任何時(shí)序電路時(shí)序電路都可由都可由組合電路加上存儲(chǔ)元件組合電路加上存儲(chǔ)元件(即鎖存器、觸發(fā)(即鎖存器、觸發(fā) 器、器、RAMRAM)構(gòu)成構(gòu)成。2.1 PLD概述概述 2
4、. 2.可編程門陣列結(jié)構(gòu)(可編程門陣列結(jié)構(gòu)(Programmable Gate ArrayProgrammable Gate Array):): 是一種是一種基于基于SRAMSRAM査找表的可編程邏輯。査找表的可編程邏輯。從從ROMROM工作原理、地址信號(hào)與工作原理、地址信號(hào)與輸出數(shù)據(jù)間的關(guān)系,以及輸出數(shù)據(jù)間的關(guān)系,以及ASICASIC的門陣列結(jié)構(gòu)中獲得啟發(fā)而構(gòu)造;其邏輯的門陣列結(jié)構(gòu)中獲得啟發(fā)而構(gòu)造;其邏輯函數(shù)發(fā)生采用函數(shù)發(fā)生采用RAM“RAM“數(shù)據(jù)査找數(shù)據(jù)査找”的方式,并使用的方式,并使用多個(gè)査找表構(gòu)成一個(gè)査找多個(gè)査找表構(gòu)成一個(gè)査找表陣列表陣列。 1. 1.乘積項(xiàng)邏輯可編程電路結(jié)構(gòu):乘積項(xiàng)邏
5、輯可編程電路結(jié)構(gòu): 是一種是一種“與與- -或或”結(jié)構(gòu)組成的結(jié)構(gòu)組成的PLDPLD器件器件,功能比較簡(jiǎn)單。,功能比較簡(jiǎn)單。原理如圖原理如圖2-12-1所示所示 可編程邏輯電路的結(jié)構(gòu)類型可編程邏輯電路的結(jié)構(gòu)類型2.1 PLD概述概述 可編程邏輯器件的演變過(guò)程可編程邏輯器件的演變過(guò)程 (1 1)2020世紀(jì)世紀(jì)7070年代年代,熔絲編程的,熔絲編程的PROMPROM(Programmable Read Only MemoryProgrammable Read Only Memory)和)和 PLA PLA(Programmable Logic ArrayProgrammable Logic Arr
6、ay)是)是最早的可編程邏輯器件最早的可編程邏輯器件。 (2 2)2020世紀(jì)世紀(jì)7070年代末年代末,AMDAMD公司公司改進(jìn)改進(jìn)PLAPLA,推出,推出PALPAL(Programmable Array Programmable Array Logic Logic)器件。)器件。 (3 3)2020世紀(jì)世紀(jì)8080年代初年代初,LatticeLattice發(fā)明發(fā)明電可擦寫電可擦寫GALGAL(Generic Array LogicGeneric Array Logic)器器 件件。 (4 4)2020世紀(jì)世紀(jì)8080年代中期年代中期,XilinxXilinx公司生產(chǎn)出世界上公司生產(chǎn)出世界上
7、第一片第一片F(xiàn)PGAFPGA器件器件。同一時(shí)期,。同一時(shí)期, Altera Altera公司公司推出推出EPLDEPLD器件器件,可用,可用紫外線或電擦除紫外線或電擦除。 (5 5)2020世紀(jì)世紀(jì)8080年代末年代末,LatticeLattice公司又提出公司又提出在系統(tǒng)可編程在系統(tǒng)可編程(In-System In-System Programmability Programmability)技術(shù),并推出一系列具備在系統(tǒng)可編程能力的)技術(shù),并推出一系列具備在系統(tǒng)可編程能力的CPLDCPLD器件器件。 (6 6)2020世紀(jì)世紀(jì)9090年代后年代后,器件,器件可用邏輯門數(shù)超過(guò)百萬(wàn)門可用邏輯門數(shù)
8、超過(guò)百萬(wàn)門,并出現(xiàn),并出現(xiàn)內(nèi)嵌復(fù)雜功能模內(nèi)嵌復(fù)雜功能模 塊塊(如加法器、乘法器、(如加法器、乘法器、RAMRAM、CPUCPU核、核、DSPDSP核核PLLPLL等)的等)的SOPCSOPC。 進(jìn)入進(jìn)入2121世紀(jì)世紀(jì),F(xiàn)PGAFPGA在規(guī)模、領(lǐng)域、速度、成本與功能等方面在規(guī)模、領(lǐng)域、速度、成本與功能等方面進(jìn)步更加矚目進(jìn)步更加矚目。2.1 PLD概述概述 2.1.2 PLD2.1.2 PLD分類分類 簡(jiǎn)單簡(jiǎn)單PLDPLD。芯片集芯片集成度較低,如成度較低,如PROMPROM、PLAPLA、PALPAL、GALGAL 等,可用的邏等,可用的邏輯門數(shù)大約在輯門數(shù)大約在500 500 門以門以下;下
9、; 復(fù)雜復(fù)雜PLDPLD。芯片集成度較高,如現(xiàn)在大量使用的芯片集成度較高,如現(xiàn)在大量使用的CPLDCPLD、FPGAFPGA器件器件,PLDPLD規(guī)規(guī)模的劃分并無(wú)同一標(biāo)準(zhǔn),但模的劃分并無(wú)同一標(biāo)準(zhǔn),但500500門己遠(yuǎn)非劃界的標(biāo)準(zhǔn)。門己遠(yuǎn)非劃界的標(biāo)準(zhǔn)。 簡(jiǎn)單簡(jiǎn)單PLDPLD(PROMPROM、PLAPLA、PALPAL、 GALGAL等)規(guī)模小,結(jié)構(gòu)上由簡(jiǎn)單等)規(guī)模小,結(jié)構(gòu)上由簡(jiǎn)單“與與- -或或”門陣列和輸入、輸出單元組成,只能實(shí)現(xiàn)通用數(shù)字邏輯電路(如門陣列和輸入、輸出單元組成,只能實(shí)現(xiàn)通用數(shù)字邏輯電路(如7474系列)的一系列)的一些功能。些功能。較常見(jiàn)的有以下三種較常見(jiàn)的有以下三種(1 1
10、)按集成度分類(如圖)按集成度分類(如圖2-22-2所示)所示)2.1 PLD概述概述 2.1.2 PLD2.1.2 PLD分類分類 (2 2)按結(jié)構(gòu)分類)按結(jié)構(gòu)分類 乘積項(xiàng)結(jié)構(gòu)器件。乘積項(xiàng)結(jié)構(gòu)器件?;窘Y(jié)構(gòu)為基本結(jié)構(gòu)為“與與- -或或”陣列陣列, 大部分大部分簡(jiǎn)單簡(jiǎn)單PLDPLD和和CPLDCPLD屬于這個(gè)范疇;屬于這個(gè)范疇; 基于査找表結(jié)構(gòu)的器件。基于査找表結(jié)構(gòu)的器件。由簡(jiǎn)單的由簡(jiǎn)單的査找表組成可編程門査找表組成可編程門,再構(gòu)成陣列再構(gòu)成陣列形式,多數(shù)形式,多數(shù)FPGAFPGA屬于此類器件。屬于此類器件。 (3 3)按編程工藝分類)按編程工藝分類 熔絲(熔絲(FuseFuse)型器件。)型
11、器件。編程是編程是根據(jù)設(shè)計(jì)的熔絲圖文件來(lái)燒斷對(duì)應(yīng)的熔根據(jù)設(shè)計(jì)的熔絲圖文件來(lái)燒斷對(duì)應(yīng)的熔絲絲。早期的。早期的PROMPROM器件器件就是采用熔絲結(jié)構(gòu)。就是采用熔絲結(jié)構(gòu)。 反熔絲(反熔絲(AntifuseAntifuse)型器件。)型器件。在編程處通過(guò)在編程處通過(guò)擊穿漏層使得兩點(diǎn)之間獲擊穿漏層使得兩點(diǎn)之間獲得導(dǎo)通得導(dǎo)通。如。如ActelActel公司公司早期的早期的FPGAFPGA器件器件就采用此種編程方式。就采用此種編程方式。 無(wú)論是熔絲還是反熔絲結(jié)構(gòu),都只能編程一次無(wú)論是熔絲還是反熔絲結(jié)構(gòu),都只能編程一次,因而又被合稱為,因而又被合稱為OTPOTP(One Time Programming)O
12、ne Time Programming)器件器件,即一次性可編程器件。,即一次性可編程器件。 2.1 PLD概述概述 (4 4)按可重復(fù)編程方式分類)按可重復(fù)編程方式分類 EPROMEPROM型。型。紫外線擦除紫外線擦除,較高編程電壓編程較高編程電壓編程( (燒寫燒寫) ),可,可多次編程多次編程。 EEPROMEEPROM型。型。即即電可擦寫電可擦寫編程器件,是對(duì)編程器件,是對(duì)EPROMEPROM的工藝改進(jìn),無(wú)需的工藝改進(jìn),無(wú)需紫外線擦除?,F(xiàn)有紫外線擦除。現(xiàn)有部分部分CPLDCPLD及及GALGAL器件仍采用此類結(jié)構(gòu)器件仍采用此類結(jié)構(gòu)。 SRAMSRAM型。型。即即SRAMSRAM查找表結(jié)構(gòu)
13、的器件查找表結(jié)構(gòu)的器件,目前,目前大部分大部分FPGAFPGA器件器件采用采用此種編程工藝,如此種編程工藝,如XilinxXilinx和和AlteraAltera的的FPGAFPGA。這種編程方式。這種編程方式在編程速度、在編程速度、編程要求上要優(yōu)于前四種器件編程要求上要優(yōu)于前四種器件,不過(guò),不過(guò)SRAMSRAM型器件的型器件的編程信息存放在編程信息存放在RAMRAM中,斷電后就丟失中,斷電后就丟失,再次上電需要再次編程(配置),因而,再次上電需要再次編程(配置),因而需要專用器需要專用器件來(lái)完成配置操作件來(lái)完成配置操作。 FlashFlash型。型。現(xiàn)在許多現(xiàn)在許多CPLDCPLD器件采用了
14、器件采用了FlashFlash工藝。采用此工藝的工藝。采用此工藝的器件器件編程次數(shù)可達(dá)萬(wàn)次編程次數(shù)可達(dá)萬(wàn)次以上,且以上,且掉電后不需重新配置掉電后不需重新配置。2.1.2 PLD2.1.2 PLD分類分類 2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 2.2.1 2.2.1 邏輯元件符號(hào)表示邏輯元件符號(hào)表示 19841984:矩形圖中的符號(hào)標(biāo)志邏輯功能:矩形圖中的符號(hào)標(biāo)志邏輯功能(Rectangular Outline SymbolsRectangular Outline Symbols););19911991:國(guó)際標(biāo)準(zhǔn)邏輯符號(hào):國(guó)際標(biāo)準(zhǔn)邏輯符號(hào)(Distinctive Shape SymbolsD
15、istinctive Shape Symbols)。)。 2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 2.2.1 2.2.1 邏輯元件符號(hào)表示邏輯元件符號(hào)表示 2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 2.2.2 PROM2.2.2 PROM結(jié)構(gòu)原理結(jié)構(gòu)原理 可編程只讀存儲(chǔ)器可編程只讀存儲(chǔ)器PROM PROM 除了除了用作存儲(chǔ)器用作存儲(chǔ)器外,還可外,還可作為作為PLDPLD使用使用。一個(gè)。一個(gè)PROMPROM器件主要由器件主要由地址譯碼地址譯碼部分、部分、PROMPROM單元陣列單元陣列和和輸出緩沖輸出緩沖部分構(gòu)成,如圖部分構(gòu)成,如圖2-92-9所示。所示。 圖圖2-92-9是對(duì)是對(duì)PROMPROM
16、通常的認(rèn)識(shí),也可以從可編程邏輯器件的角度來(lái)分析通常的認(rèn)識(shí),也可以從可編程邏輯器件的角度來(lái)分析PROMPROM的基本結(jié)構(gòu)。的基本結(jié)構(gòu)。 2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 PROMPROM中的地址譯碼器中的地址譯碼器用于完成用于完成PROMPROM存儲(chǔ)陣列的存儲(chǔ)陣列的行的選擇行的選擇,其邏,其邏輯函數(shù)為:輯函數(shù)為: 其中其中 。容易發(fā)現(xiàn),式。容易發(fā)現(xiàn),式(2-1)(2-1)都可以看成是邏輯都可以看成是邏輯“與與”運(yùn)算,運(yùn)算,因此因此可以把可以把PROMPROM的地址譯碼器的地址譯碼器看成是一個(gè)看成是一個(gè)“與與” ” 陣列陣列。 2np 2.2.2 PROM2.2.2 PROM結(jié)構(gòu)原理結(jié)構(gòu)原理
17、 2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 對(duì)于對(duì)于存儲(chǔ)單元陣列的輸出存儲(chǔ)單元陣列的輸出(如圖(如圖2-102-10所示),可用下列邏輯函數(shù)表所示),可用下列邏輯函數(shù)表示(其中示(其中 是存儲(chǔ)單元陣列是存儲(chǔ)單元陣列第第p-1p-1行行m-1m-1列列單元的值單元的值) ): 1,1pmM2.2.2 PROM2.2.2 PROM結(jié)構(gòu)原理結(jié)構(gòu)原理 顯然顯然, ,可以認(rèn)為式可以認(rèn)為式(2-2)(2-2)是一個(gè)是一個(gè)“或或”陣列陣列,與上面的,與上面的“與與”陣列不同的是:陣列不同的是:這里這里 是可以編程的,即是可以編程的,即“或或”陣列可編程,陣列可編程,“與與”陣列不可編程陣列不可編程。結(jié)合上。結(jié)
18、合上述兩個(gè)分析結(jié)果,可以把述兩個(gè)分析結(jié)果,可以把PROMPROM的結(jié)構(gòu)表示為的結(jié)構(gòu)表示為圖圖2-102-10。,x yM2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 為了更清晰直觀地表示為了更清晰直觀地表示PROMPROM中固定的中固定的“與與”陣列和可編程的陣列和可編程的“或或”陣列,陣列,PROMPROM可以表示為可以表示為PLDPLD陣列圖。以陣列圖。以4 42 PROM2 PROM為例,如圖為例,如圖2-112-11所示。所示。 2.2.2 PROM2.2.2 PROM結(jié)構(gòu)原理結(jié)構(gòu)原理 2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 PROM PROM的地址線的地址線 是是“與與”陣列(地址譯碼器)
19、的陣列(地址譯碼器)的n n個(gè)輸入變量個(gè)輸入變量,經(jīng),經(jīng)不可編程的不可編程的“與與”陣列產(chǎn)生的陣列產(chǎn)生的 共共 個(gè)最小項(xiàng)(乘積項(xiàng))個(gè)最小項(xiàng)(乘積項(xiàng)) , ,再再經(jīng)可編程或陣列按編程的結(jié)果產(chǎn)生經(jīng)可編程或陣列按編程的結(jié)果產(chǎn)生m m個(gè)輸出函數(shù)個(gè)輸出函數(shù) , ,這里的這里的m m就是就是PROMPROM的的輸出數(shù)據(jù)位寬輸出數(shù)據(jù)位寬。對(duì)應(yīng)已知的。對(duì)應(yīng)已知的半加器的邏輯表達(dá)式:半加器的邏輯表達(dá)式: 和和 可用可用4 42 PROM2 PROM編程實(shí)現(xiàn)。編程實(shí)現(xiàn)。10nAA2n10nAA021nWWm 10FF01SAA01CA A 圖圖2-122-12的連接結(jié)構(gòu)表達(dá)的正是的連接結(jié)構(gòu)表達(dá)的正是半加半加器邏輯
20、:器邏輯: 和和 。這。這就是圖就是圖2-122-12結(jié)構(gòu)的結(jié)構(gòu)的布爾表達(dá)式布爾表達(dá)式,即所謂,即所謂的的“乘積項(xiàng)乘積項(xiàng)”方式。反之,方式。反之,根據(jù)半加器根據(jù)半加器的邏輯關(guān)系,亦可得到圖的邏輯關(guān)系,亦可得到圖2-122-12的陣列點(diǎn)的陣列點(diǎn)連接關(guān)系連接關(guān)系,從而形成陣列點(diǎn)文件,即早,從而形成陣列點(diǎn)文件,即早期的期的PLDPLD編程文件:編程文件:熔絲圖文件(熔絲圖文件(Fuse Fuse MapMap)。)。 11F 0A A0F 1010A AA A2.2.2 PROM2.2.2 PROM結(jié)構(gòu)原理結(jié)構(gòu)原理 2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 2.2.3 PLA2.2.3 PLA結(jié)構(gòu)原理
21、結(jié)構(gòu)原理 當(dāng)輸入變量增多時(shí),當(dāng)輸入變量增多時(shí),PROMPROM實(shí)現(xiàn)組合邏輯函數(shù),實(shí)現(xiàn)組合邏輯函數(shù),其存儲(chǔ)單元利用率大大降低。其存儲(chǔ)單元利用率大大降低。因因PROMPROM的的“與與”陣陣列是全譯碼器,產(chǎn)生全部最小項(xiàng)列是全譯碼器,產(chǎn)生全部最小項(xiàng)。 可編程邏輯陣列可編程邏輯陣列PLAPLA對(duì)對(duì)PROMPROM進(jìn)行了改進(jìn)。由進(jìn)行了改進(jìn)。由圖圖2-112-11可知可知PROMPROM的或陣列可編程,而與陣列不可的或陣列可編程,而與陣列不可編程;編程;PLAPLA是與陣列和或陣列都可編程是與陣列和或陣列都可編程,圖圖2-132-13是是PLAPLA的陣列圖表示。的陣列圖表示。 任何組合函數(shù)都可采用任何組
22、合函數(shù)都可采用PLAPLA來(lái)實(shí)現(xiàn)來(lái)實(shí)現(xiàn), ,但在實(shí)現(xiàn)但在實(shí)現(xiàn)時(shí),由于與陣列不采用全譯碼的方式,標(biāo)準(zhǔn)與或時(shí),由于與陣列不采用全譯碼的方式,標(biāo)準(zhǔn)與或表達(dá)式已不適用,表達(dá)式已不適用,需把邏輯函數(shù)化成最簡(jiǎn)與或表需把邏輯函數(shù)化成最簡(jiǎn)與或表達(dá)式達(dá)式,然后用可編程的與陣列構(gòu)成與項(xiàng),用可編,然后用可編程的與陣列構(gòu)成與項(xiàng),用可編程的或陣列構(gòu)成與項(xiàng)的或運(yùn)算。程的或陣列構(gòu)成與項(xiàng)的或運(yùn)算。有多個(gè)輸出時(shí),有多個(gè)輸出時(shí),要盡量利用公共的與項(xiàng),以提高陣列的利用率要盡量利用公共的與項(xiàng),以提高陣列的利用率。2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 2.2.3 PLA2.2.3 PLA結(jié)構(gòu)原理結(jié)構(gòu)原理 2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原
23、理結(jié)構(gòu)原理 2.2.3 PLA2.2.3 PLA結(jié)構(gòu)原理結(jié)構(gòu)原理 圖圖2-142-14是是6 63 PLA3 PLA與與8 83 PROM3 PROM的比較,的比較,兩者在大部分實(shí)際應(yīng)用中,可實(shí)兩者在大部分實(shí)際應(yīng)用中,可實(shí)現(xiàn)相同的邏輯功能現(xiàn)相同的邏輯功能,不過(guò)不過(guò)6 63 PLA3 PLA只需要只需要6(=26(=23)3)條乘積項(xiàng)線條乘積項(xiàng)線(僅需包含在(僅需包含在邏輯功能中實(shí)際要求的最小項(xiàng)),邏輯功能中實(shí)際要求的最小項(xiàng)),而不是而不是8 83 PROM3 PROM的的8(= )8(= )條,節(jié)省條,節(jié)省2 2條條。當(dāng)當(dāng)PLAPLA的規(guī)模增大時(shí),其相比的規(guī)模增大時(shí),其相比PROMPROM的優(yōu)
24、勢(shì)更加明顯。的優(yōu)勢(shì)更加明顯。 雖然雖然PLAPLA利用率較高利用率較高,但它需要有邏輯函數(shù)的,但它需要有邏輯函數(shù)的“與或與或”最簡(jiǎn)表達(dá)式,最簡(jiǎn)表達(dá)式,對(duì)于多輸出函數(shù)對(duì)于多輸出函數(shù)需要提取和利用公共的需要提取和利用公共的“與與”項(xiàng),這涉及的軟件算法較復(fù)雜項(xiàng),這涉及的軟件算法較復(fù)雜; PLAPLA的的兩個(gè)陣列均可編程兩個(gè)陣列均可編程,不可避免地使,不可避免地使編程后器件的運(yùn)行速度下降編程后器件的運(yùn)行速度下降,因此因此PLAPLA的使用受到很大的限制,如今,的使用受到很大的限制,如今,現(xiàn)成的現(xiàn)成的PLAPLA芯片已被淘汰芯片已被淘汰。 由于由于PLAPLA資源面積利用率較高資源面積利用率較高,在,在
25、全定制全定制ASICASIC設(shè)計(jì)設(shè)計(jì)中獲得廣泛使用,中獲得廣泛使用,但這時(shí)邏輯但這時(shí)邏輯函數(shù)的化簡(jiǎn)則由設(shè)計(jì)者手工完成函數(shù)的化簡(jiǎn)則由設(shè)計(jì)者手工完成。322.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 2.2.4 PAL2.2.4 PAL結(jié)構(gòu)原理結(jié)構(gòu)原理 PLAPLA的利用率高,但的利用率高,但“與、或與、或”陣列都可編程導(dǎo)致軟件算法過(guò)于復(fù)雜,陣列都可編程導(dǎo)致軟件算法過(guò)于復(fù)雜,運(yùn)行速度下運(yùn)行速度下降。于是,另一種降。于是,另一種可編程陣列邏輯器件可編程陣列邏輯器件PALPAL開(kāi)始取而代之。開(kāi)始取而代之。PALPAL的結(jié)構(gòu)與的結(jié)構(gòu)與PLAPLA相似,也包含相似,也包含“與與”陣列、陣列、“或或”陣列,但是陣
26、列,但是“或或”陣列是固陣列是固定定的,只有的,只有“與與”陣列可編程陣列可編程。PALPAL的結(jié)構(gòu)如圖的結(jié)構(gòu)如圖2-152-15所示,由于所示,由于PALPAL的的“或或”陣列固定,可用圖陣列固定,可用圖2-162-16來(lái)表示。來(lái)表示。 2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 2.2.4 PAL2.2.4 PAL結(jié)構(gòu)原理結(jié)構(gòu)原理 上述可編程結(jié)構(gòu)上述可編程結(jié)構(gòu)只能解決組合邏輯只能解決組合邏輯的可編程問(wèn)題,而的可編程問(wèn)題,而對(duì)時(shí)序電路無(wú)能為對(duì)時(shí)序電路無(wú)能為力力。由于時(shí)序電路。由于時(shí)序電路是由組合電路及存是由組合電路及存儲(chǔ)單元(鎖存器、儲(chǔ)單元(鎖存器、觸發(fā)器、觸發(fā)器、RAMRAM)構(gòu)成,)構(gòu)成,所
27、以所以PALPAL加上輸出寄加上輸出寄存器單元存器單元后,即可后,即可實(shí)現(xiàn)時(shí)序電路的可實(shí)現(xiàn)時(shí)序電路的可編程編程,如圖如圖2-172-17所所示示。2.2.5 GAL2.2.5 GAL結(jié)構(gòu)原理結(jié)構(gòu)原理 PALPAL一般采用熔絲工藝生產(chǎn),一般采用熔絲工藝生產(chǎn), 一次可編程,修改很不方便一次可編程,修改很不方便。19851985年年,LatticeLattice在在PALPAL的基礎(chǔ)上,的基礎(chǔ)上,設(shè)計(jì)出通用陣列邏輯器件設(shè)計(jì)出通用陣列邏輯器件GALGAL(Generic Array LogicGeneric Array Logic),首),首次在次在PLDPLD上采用上采用電可擦除重復(fù)編電可擦除重復(fù)編
28、程程EEPROMEEPROM工藝,徹底解決熔絲型工藝,徹底解決熔絲型可編程器件的一次可編程問(wèn)題??删幊唐骷囊淮慰删幊虇?wèn)題。GAL“GAL“與陣列與陣列”可編程、可編程、“或陣或陣列列”固定,輸出部分增加了輸出固定,輸出部分增加了輸出邏輯宏單元邏輯宏單元OLMCOLMC(Output Logic Output Logic Macro CellMacro Cell)。)。圖圖2-182-18所示所示的是的是GAL16V8GAL16V8型號(hào)的器件。型號(hào)的器件。 2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 2.2.5 GAL2.2.5 GAL結(jié)構(gòu)原理結(jié)構(gòu)原理 GALGAL的的OLMCOLMC單元單元設(shè)有
29、多種組態(tài),可配置成設(shè)有多種組態(tài),可配置成專用組合輸出、專用輸入、專用組合輸出、專用輸入、組合輸出雙向口、寄存器輸出、寄存器輸出雙向口等組合輸出雙向口、寄存器輸出、寄存器輸出雙向口等,為邏輯電路設(shè)計(jì),為邏輯電路設(shè)計(jì)提供了極大的靈活性。由于提供了極大的靈活性。由于具有結(jié)構(gòu)重構(gòu)、輸出端功能均可移到另一輸具有結(jié)構(gòu)重構(gòu)、輸出端功能均可移到另一輸出引腳的功能出引腳的功能,在一定程度上,在一定程度上簡(jiǎn)化電路板的布局布線簡(jiǎn)化電路板的布局布線,使系統(tǒng)的,使系統(tǒng)的可靠性可靠性進(jìn)一步提高。進(jìn)一步提高。 GALGAL能直接替換多種能直接替換多種PALPAL器件器件,方便應(yīng)用廠商升級(jí)現(xiàn)有產(chǎn)品。,方便應(yīng)用廠商升級(jí)現(xiàn)有產(chǎn)品
30、。因此現(xiàn)因此現(xiàn)在在GALGAL器件仍被廣泛應(yīng)用。器件仍被廣泛應(yīng)用。 圖圖2-182-18中,中,GALGAL的輸出邏輯宏單元的輸出邏輯宏單元OLMCOLMC中含有中含有4 4個(gè)多路選擇器個(gè)多路選擇器,通過(guò),通過(guò)不同的選擇方式可以不同的選擇方式可以產(chǎn)生多種輸出結(jié)構(gòu),分別屬于三種模式,一旦確定產(chǎn)生多種輸出結(jié)構(gòu),分別屬于三種模式,一旦確定了某種模式,所有的了某種模式,所有的OLMCOLMC都將工作在同一種模式下都將工作在同一種模式下。三種輸出模式如下:三種輸出模式如下: 2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 (1 1)寄存器模式。)寄存器模式。該模式下該模式下OLMCOLMC有如下兩種輸出結(jié)構(gòu)有如
31、下兩種輸出結(jié)構(gòu) 寄存器輸出結(jié)構(gòu)寄存器輸出結(jié)構(gòu)(圖(圖2-192-19):):異或門輸出經(jīng)異或門輸出經(jīng)D D觸發(fā)器至三態(tài)門觸發(fā)器至三態(tài)門,觸發(fā)器,觸發(fā)器的時(shí)鐘端的時(shí)鐘端CLKCLK連公共連公共CLKCLK引腳、三態(tài)門的使能端引腳、三態(tài)門的使能端OEOE連公共連公共OEOE引腳,引腳, 信號(hào)信號(hào)反饋來(lái)自反饋來(lái)自觸發(fā)器觸發(fā)器。 寄存器模式組合輸出雙向口結(jié)構(gòu)寄存器模式組合輸出雙向口結(jié)構(gòu)(圖(圖2-202-20):輸出):輸出三態(tài)門受控,輸出反三態(tài)門受控,輸出反饋至本單元饋至本單元, ,組合輸出無(wú)觸發(fā)器組合輸出無(wú)觸發(fā)器。2.2.5 GAL2.2.5 GAL結(jié)構(gòu)原理結(jié)構(gòu)原理 2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理
32、結(jié)構(gòu)原理 (2 2)復(fù)合模式。)復(fù)合模式。該模式下該模式下OLMCOLMC有有兩種結(jié)構(gòu)兩種結(jié)構(gòu) 組合輸出雙向口結(jié)構(gòu)組合輸出雙向口結(jié)構(gòu)(圖(圖2-212-21):):大致與寄存器模式組合輸出雙向大致與寄存器模式組合輸出雙向口結(jié)構(gòu)相同,區(qū)別是引腳口結(jié)構(gòu)相同,區(qū)別是引腳CLKCLK、OEOE在寄存器模式下為專用公共引腳在寄存器模式下為專用公共引腳,不可它,不可它用。用。 組合輸出結(jié)構(gòu)組合輸出結(jié)構(gòu)(圖(圖2-222-22):):無(wú)反饋,其他同組合輸出雙向口結(jié)構(gòu)無(wú)反饋,其他同組合輸出雙向口結(jié)構(gòu)。2.2.5 GAL2.2.5 GAL結(jié)構(gòu)原理結(jié)構(gòu)原理 2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 (3 3)簡(jiǎn)單模
33、式。)簡(jiǎn)單模式。該模式下該模式下OLMCOLMC可定義三種輸出結(jié)構(gòu)可定義三種輸出結(jié)構(gòu) 反饋輸入結(jié)構(gòu)反饋輸入結(jié)構(gòu)(圖(圖2-232-23):輸出):輸出三態(tài)門被禁止三態(tài)門被禁止,該單元的,該單元的“與與- -或或”陣列無(wú)輸出功能陣列無(wú)輸出功能, , 但可作為但可作為相鄰單元的信號(hào)反饋輸入端相鄰單元的信號(hào)反饋輸入端,該單元反,該單元反饋輸入端的信號(hào)來(lái)自另一個(gè)相鄰單元饋輸入端的信號(hào)來(lái)自另一個(gè)相鄰單元 。 輸出反饋結(jié)構(gòu)輸出反饋結(jié)構(gòu)(圖(圖2-242-24):輸出):輸出三態(tài)門被恒定打開(kāi)三態(tài)門被恒定打開(kāi),該單元的,該單元的“與與- -或或”陣列具有組合輸出(包括輸出和輸出反饋)功能。該單元的陣列具有組合
34、輸出(包括輸出和輸出反饋)功能。該單元的反饋輸入端的信號(hào)亦可來(lái)自另一個(gè)相鄰單元。反饋輸入端的信號(hào)亦可來(lái)自另一個(gè)相鄰單元。2.2.5 GAL2.2.5 GAL結(jié)構(gòu)原理結(jié)構(gòu)原理 2.2 簡(jiǎn)單簡(jiǎn)單PLD結(jié)構(gòu)原理結(jié)構(gòu)原理 輸出結(jié)構(gòu)輸出結(jié)構(gòu)(圖(圖2-252-25):異或):異或門門輸出不經(jīng)過(guò)觸發(fā)器輸出不經(jīng)過(guò)觸發(fā)器,直接通過(guò)使,直接通過(guò)使能的三態(tài)門輸出。該單元的能的三態(tài)門輸出。該單元的輸出通輸出通過(guò)相鄰單元反饋過(guò)相鄰單元反饋,此單元信號(hào)反饋此單元信號(hào)反饋無(wú)效無(wú)效。 OLMCOLMC的所有這些輸出結(jié)構(gòu)和工作模式的選擇和確定的所有這些輸出結(jié)構(gòu)和工作模式的選擇和確定(即對(duì)其中的多路選(即對(duì)其中的多路選擇器的控
35、制)擇器的控制) 均由計(jì)算機(jī)根據(jù)均由計(jì)算機(jī)根據(jù)GALGAL的邏輯設(shè)計(jì)文件的邏輯關(guān)系自動(dòng)形成控制的邏輯設(shè)計(jì)文件的邏輯關(guān)系自動(dòng)形成控制文件。文件。即在即在編譯工具編譯工具(如(如ABEL3.0ABEL3.0)的幫助下,計(jì)算機(jī)用)的幫助下,計(jì)算機(jī)用ABELABEL或其他或其他硬件語(yǔ)言硬件語(yǔ)言描述的文件描述的文件綜合成可下載于綜合成可下載于GALGAL的的JEDECJEDEC標(biāo)準(zhǔn)格式文件標(biāo)準(zhǔn)格式文件(即熔絲圖文件),(即熔絲圖文件),該該文件中包含了對(duì)文件中包含了對(duì)OLMCOLMC輸出結(jié)構(gòu)、工作模式以及圖輸出結(jié)構(gòu)、工作模式以及圖2-182-18左側(cè)可編程與陣列各連左側(cè)可編程與陣列各連線線“熔絲點(diǎn)熔絲點(diǎn)
36、”的選擇信息。的選擇信息。 2.2.5 GAL2.2.5 GAL結(jié)構(gòu)原理結(jié)構(gòu)原理 2.3 CPLD的結(jié)構(gòu)原理的結(jié)構(gòu)原理 如今,如今,PLDPLD以大規(guī)模、超大規(guī)模集成電路工藝制造的以大規(guī)模、超大規(guī)模集成電路工藝制造的CPLDCPLD、FPGAFPGA為主。多為主。多種簡(jiǎn)單種簡(jiǎn)單PLDPLD器件已在實(shí)用中被淘汰,大致原因如下:器件已在實(shí)用中被淘汰,大致原因如下: (1 1)陣列規(guī)模較小,資源不夠用于設(shè)計(jì)數(shù)字系統(tǒng)。)陣列規(guī)模較小,資源不夠用于設(shè)計(jì)數(shù)字系統(tǒng)。 (2 2)片內(nèi)寄存器資源不足且結(jié)構(gòu)限制多,難以構(gòu)成豐富的時(shí)序電路。)片內(nèi)寄存器資源不足且結(jié)構(gòu)限制多,難以構(gòu)成豐富的時(shí)序電路。 (3 3)編程不
37、便,需用專用的編程工具。)編程不便,需用專用的編程工具。 早期早期CPLDCPLD:是對(duì)是對(duì)GALGAL進(jìn)行結(jié)構(gòu)擴(kuò)展和缺點(diǎn)改進(jìn)而來(lái),如進(jìn)行結(jié)構(gòu)擴(kuò)展和缺點(diǎn)改進(jìn)而來(lái),如LatticeLattice的的ispLSI1032ispLSI1032器件等。器件等。 流行的流行的CPLDCPLD:AlteraAltera的的MAX7000MAX7000和和MAX3000AMAX3000A系列器件具有一定典型性。系列器件具有一定典型性。 MAX3000AMAX3000A包含包含3232512512個(gè)個(gè)宏單元宏單元OLMCOLMC,單個(gè),單個(gè)OLMCOLMC結(jié)構(gòu)結(jié)構(gòu)如圖如圖2-262-26所示。所示。每每161
38、6個(gè)個(gè)OLMCOLMC組成一個(gè)邏輯陣列塊組成一個(gè)邏輯陣列塊LABLAB(Logic Array Block)Logic Array Block);每個(gè);每個(gè)OLMCOLMC含有含有1 1個(gè)個(gè)可編程的與陣列和固定的或陣列,以及可編程的與陣列和固定的或陣列,以及1 1個(gè)可配置寄存器;且每個(gè)個(gè)可配置寄存器;且每個(gè)OLMCOLMC含含共享共享擴(kuò)展乘積項(xiàng)擴(kuò)展乘積項(xiàng)和和高速并聯(lián)擴(kuò)展乘積項(xiàng)高速并聯(lián)擴(kuò)展乘積項(xiàng),它們可向每個(gè)宏單元提供多達(dá),它們可向每個(gè)宏單元提供多達(dá)3232個(gè)乘積個(gè)乘積項(xiàng)項(xiàng), ,以構(gòu)成復(fù)雜的邏輯函數(shù)。另外,以構(gòu)成復(fù)雜的邏輯函數(shù)。另外,MAX3000AMAX3000A結(jié)構(gòu)中還有結(jié)構(gòu)中還有可編程連線
39、陣列可編程連線陣列PIAPIA(Programmable Interconnect ArrayProgrammable Interconnect Array)、)、I/OI/O控制塊控制塊等。等。2.3 CPLD的結(jié)構(gòu)原理的結(jié)構(gòu)原理 2.3 CPLD的結(jié)構(gòu)原理的結(jié)構(gòu)原理 1. 1. 邏輯陣列塊邏輯陣列塊LAB LAB 一個(gè)一個(gè)LABLAB由由1616個(gè)宏單元個(gè)宏單元的陣列組成。的陣列組成。MAX3000AMAX3000A結(jié)構(gòu)主要是由多個(gè)結(jié)構(gòu)主要是由多個(gè)LABLAB組成的陣列組成的陣列以及它們之間的連線構(gòu)成。多個(gè)以及它們之間的連線構(gòu)成。多個(gè)LABLAB通過(guò)可通過(guò)可編程連線陣編程連線陣PIAPIA
40、和和全局總線全局總線連接在一起(圖連接在一起(圖2-272-27),全局總線從所有的專用輸入、),全局總線從所有的專用輸入、I/OI/O引腳和宏單元饋入信號(hào)。對(duì)于引腳和宏單元饋入信號(hào)。對(duì)于每個(gè)每個(gè)LABLAB有下有下列輸入信號(hào):列輸入信號(hào):(1) (1) 作為通用邏輯輸入的作為通用邏輯輸入的PIAPIA的的3636個(gè)信號(hào)個(gè)信號(hào)。(2) (2) 全局控制信號(hào)全局控制信號(hào),用于寄存器輔助功能。,用于寄存器輔助功能。(3) (3) 從從I/OI/O引腳到寄存器的引腳到寄存器的直接輸入通道直接輸入通道。 2.3 CPLD的結(jié)構(gòu)原理的結(jié)構(gòu)原理 2. 2. 宏單元宏單元 宏單元由三個(gè)功能塊組成:宏單元由三
41、個(gè)功能塊組成:邏輯陣列、乘積項(xiàng)選擇矩陣和可編程寄存器邏輯陣列、乘積項(xiàng)選擇矩陣和可編程寄存器(圖(圖2-262-26)。)。 (1 1)邏輯陣列:)邏輯陣列:實(shí)現(xiàn)組合邏輯,可以給每個(gè)宏單元提供五個(gè)乘積項(xiàng)。實(shí)現(xiàn)組合邏輯,可以給每個(gè)宏單元提供五個(gè)乘積項(xiàng)。 (2 2)乘積項(xiàng)選擇矩陣:)乘積項(xiàng)選擇矩陣:分配乘積項(xiàng)作為到或門和異或門的主要邏輯輸入,分配乘積項(xiàng)作為到或門和異或門的主要邏輯輸入,以以實(shí)現(xiàn)組合邏輯函數(shù)實(shí)現(xiàn)組合邏輯函數(shù);或者,把這些乘積項(xiàng)作為宏單元中;或者,把這些乘積項(xiàng)作為宏單元中寄存器的輔助輸入寄存器的輔助輸入:清零(清零(ClearClear)、置位()、置位(PresetPreset)、時(shí)鐘
42、()、時(shí)鐘(Clock)Clock)和時(shí)鐘使能控制(和時(shí)鐘使能控制(Clock Clock Enable)Enable)。 OLMCOLMC共享擴(kuò)展乘積項(xiàng):共享擴(kuò)展乘積項(xiàng):經(jīng)非門后回饋到邏輯陣列中,以便實(shí)現(xiàn)更復(fù)經(jīng)非門后回饋到邏輯陣列中,以便實(shí)現(xiàn)更復(fù)雜的邏輯函數(shù)。雜的邏輯函數(shù)。 OLMCOLMC并行擴(kuò)展乘積項(xiàng):并行擴(kuò)展乘積項(xiàng):從鄰近宏單元借位而來(lái)。從鄰近宏單元借位而來(lái)。 (3 3)可配置寄存器:)可配置寄存器:可單獨(dú)被配置為可單獨(dú)被配置為帶有可編程時(shí)鐘控制的帶有可編程時(shí)鐘控制的D D、T T、JKJK或或RSRS觸發(fā)器觸發(fā)器工作方式,亦可將寄存器旁路掉,實(shí)現(xiàn)組合邏輯工作方式。工作方式,亦可將寄存
43、器旁路掉,實(shí)現(xiàn)組合邏輯工作方式。 可編程寄存器的三種時(shí)鐘輸入工作模式:可編程寄存器的三種時(shí)鐘輸入工作模式:2.3 CPLD的結(jié)構(gòu)原理的結(jié)構(gòu)原理 全局時(shí)鐘信號(hào)。全局時(shí)鐘信號(hào)。該模式能該模式能實(shí)現(xiàn)最快的時(shí)鐘到輸出實(shí)現(xiàn)最快的時(shí)鐘到輸出(Clock to Output(Clock to Output)性能,這時(shí)全局時(shí)鐘輸入直接連向每一個(gè)寄存器的性能,這時(shí)全局時(shí)鐘輸入直接連向每一個(gè)寄存器的CLKCLK端。端。 全局時(shí)鐘信號(hào)由高電平有效的時(shí)鐘信號(hào)使能。全局時(shí)鐘信號(hào)由高電平有效的時(shí)鐘信號(hào)使能。這種模式提供每個(gè)觸發(fā)這種模式提供每個(gè)觸發(fā)器的時(shí)鐘使能信號(hào),由于仍使用全局時(shí)鐘,器的時(shí)鐘使能信號(hào),由于仍使用全局時(shí)鐘,
44、輸出速度較快輸出速度較快。 用乘積項(xiàng)實(shí)現(xiàn)一個(gè)陣列時(shí)鐘。用乘積項(xiàng)實(shí)現(xiàn)一個(gè)陣列時(shí)鐘。在這種模式下,觸發(fā)器由來(lái)自隱埋在這種模式下,觸發(fā)器由來(lái)自隱埋(Embedded)Embedded)的宏單元或的宏單元或I/OI/O引腳的信號(hào)進(jìn)行鐘控,引腳的信號(hào)進(jìn)行鐘控,其速度稍慢其速度稍慢。 可編程寄存器的清零、置位、復(fù)位:可編程寄存器的清零、置位、復(fù)位: 支持異步清零和異步置位功能。支持異步清零和異步置位功能。乘積項(xiàng)選擇矩陣分配,并控制這些操乘積項(xiàng)選擇矩陣分配,并控制這些操作。雖然乘積項(xiàng)驅(qū)動(dòng)作。雖然乘積項(xiàng)驅(qū)動(dòng)寄存器的置位和復(fù)位寄存器的置位和復(fù)位信號(hào)是信號(hào)是高電平有效高電平有效,但在邏輯陣列,但在邏輯陣列中中將信
45、號(hào)取反可得到低電平有效將信號(hào)取反可得到低電平有效的效果。的效果。 寄存器的復(fù)位。寄存器的復(fù)位。復(fù)位端可由低電平有效的復(fù)位端可由低電平有效的全局復(fù)位專用引腳全局復(fù)位專用引腳 GCLRnGCLRn信信號(hào)來(lái)驅(qū)動(dòng)號(hào)來(lái)驅(qū)動(dòng)。2. 2. 宏單元宏單元 2.3 CPLD的結(jié)構(gòu)原理的結(jié)構(gòu)原理 3. 3. 擴(kuò)展乘積項(xiàng)擴(kuò)展乘積項(xiàng) 大部分邏輯函數(shù)能夠用在每個(gè)宏單元中的五個(gè)乘積項(xiàng)實(shí)現(xiàn),但大部分邏輯函數(shù)能夠用在每個(gè)宏單元中的五個(gè)乘積項(xiàng)實(shí)現(xiàn),但更復(fù)雜的邏輯函數(shù)需要附加乘積項(xiàng)更復(fù)雜的邏輯函數(shù)需要附加乘積項(xiàng)。 利用其他宏單元利用其他宏單元, ,以提供所需的邏輯資源。以提供所需的邏輯資源。 利用其結(jié)構(gòu)中具有的共享和并聯(lián)擴(kuò)展乘積
46、項(xiàng),即擴(kuò)展項(xiàng)。利用其結(jié)構(gòu)中具有的共享和并聯(lián)擴(kuò)展乘積項(xiàng),即擴(kuò)展項(xiàng)。例如:例如:MAX3000AMAX3000A系列。系列。 這兩種擴(kuò)展項(xiàng)作為附加的乘積項(xiàng)這兩種擴(kuò)展項(xiàng)作為附加的乘積項(xiàng)直接送到直接送到LABLAB的任意一個(gè)宏單的任意一個(gè)宏單元元中。利用擴(kuò)展項(xiàng)可保證在實(shí)現(xiàn)邏輯綜合時(shí),中。利用擴(kuò)展項(xiàng)可保證在實(shí)現(xiàn)邏輯綜合時(shí),用盡可能少的邏輯資用盡可能少的邏輯資源,得到盡可能快的工作速度。源,得到盡可能快的工作速度。2.3 CPLD的結(jié)構(gòu)原理的結(jié)構(gòu)原理 4.4.可編程連線陣列可編程連線陣列PIA PIA 不同的不同的LABLAB通過(guò)在可編程連線陣列通過(guò)在可編程連線陣列PIAPIA上布線,可相互連接構(gòu)成所需的
47、邏上布線,可相互連接構(gòu)成所需的邏輯輯。這個(gè)全局總線是一種可編程的通道,可把器件中任何信號(hào)連接到其目的。這個(gè)全局總線是一種可編程的通道,可把器件中任何信號(hào)連接到其目的地。地。所有所有MAX3000AMAX3000A器件器件的專用輸入、的專用輸入、I/OI/O引腳和宏單元輸出都連接到引腳和宏單元輸出都連接到PIAPIA,而而PIAPIA可把這些信號(hào)送到整個(gè)器件內(nèi)的各個(gè)地方可把這些信號(hào)送到整個(gè)器件內(nèi)的各個(gè)地方,只有只有LABLAB需要的信號(hào)才布置需要的信號(hào)才布置從從PIAPIA到該到該LABLAB的連線。的連線。 圖圖2-282-28可看出:可看出:PIAPIA信信號(hào)布線到號(hào)布線到LABLAB,是通
48、過(guò)是通過(guò)EEPROMEEPROM單元控制與門的一單元控制與門的一個(gè)輸入端,以選擇驅(qū)動(dòng)個(gè)輸入端,以選擇驅(qū)動(dòng)LABLAB的的PIAPIA信號(hào)。信號(hào)。由于由于MAX3000AMAX3000A的的PIAPIA有固定的有固定的延時(shí)延時(shí),因此使得器件,因此使得器件延時(shí)延時(shí)性能容易預(yù)測(cè)性能容易預(yù)測(cè)。 2.3 CPLD的結(jié)構(gòu)原理的結(jié)構(gòu)原理 5. I/O5. I/O控制塊控制塊 I/O I/O控制塊:控制塊:每個(gè)每個(gè)I/OI/O引腳允許單獨(dú)引腳允許單獨(dú)被配置為被配置為輸入、輸出和雙向工作輸入、輸出和雙向工作方式。方式。所有所有I/OI/O引腳都有一個(gè)引腳都有一個(gè)三態(tài)緩沖器三態(tài)緩沖器,控制控制端信號(hào)端信號(hào)來(lái)自一個(gè)
49、來(lái)自一個(gè)多路選擇器多路選擇器。 多路選擇器可選用多路選擇器可選用全局輸出使能信全局輸出使能信號(hào)之一進(jìn)行控制號(hào)之一進(jìn)行控制,或者,或者直接連接地(直接連接地(GND)GND)或電源(或電源(VCCVCC)。圖圖2-292-29所示為所示為EPM3032AEPM3032A器件的器件的I/OI/O控制塊,共有控制塊,共有6 6個(gè)全局輸出使個(gè)全局輸出使能信號(hào)。能信號(hào)。 6 6個(gè)使能信號(hào)可以來(lái)自:個(gè)使能信號(hào)可以來(lái)自: 2 2個(gè)輸出使個(gè)輸出使能信號(hào)能信號(hào)(OE1(OE1、OE2)OE2)、I/OI/O引腳的子集或引腳的子集或I/OI/O宏單元的子集,并且也可是這些信號(hào)宏單元的子集,并且也可是這些信號(hào)取反后
50、的信號(hào)取反后的信號(hào)。2.3 CPLD的結(jié)構(gòu)原理的結(jié)構(gòu)原理 5. I/O5. I/O控制塊控制塊 當(dāng)三態(tài)緩沖器的控制端接地(當(dāng)三態(tài)緩沖器的控制端接地(GND)GND)時(shí),其時(shí),其輸出為高阻態(tài)輸出為高阻態(tài),這時(shí),這時(shí)I/OI/O引腳引腳可作為專用輸入引腳可作為專用輸入引腳使用。當(dāng)三態(tài)緩沖器控制端使用。當(dāng)三態(tài)緩沖器控制端接電源接電源VCCVCC時(shí),時(shí),輸出被一直輸出被一直使能,作為普通輸出引腳使能,作為普通輸出引腳。 MAX3000AMAX3000A結(jié)構(gòu)結(jié)構(gòu)提供雙提供雙I/OI/O反饋反饋,其宏單元和,其宏單元和I/OI/O引腳的反饋是獨(dú)立的。引腳的反饋是獨(dú)立的。當(dāng)當(dāng)I/OI/O引腳被配置成輸入引腳
51、時(shí),與其相連的宏單元可以作為隱埋邏輯使用。引腳被配置成輸入引腳時(shí),與其相連的宏單元可以作為隱埋邏輯使用。 為降低為降低CPLDCPLD的功耗,減少其工作時(shí)的發(fā)熱量,的功耗,減少其工作時(shí)的發(fā)熱量,MAX3000AMAX3000A系列系列提供可編提供可編程的速度或功率優(yōu)化程的速度或功率優(yōu)化,使得在應(yīng)用設(shè)計(jì)中,讓,使得在應(yīng)用設(shè)計(jì)中,讓影響速度的關(guān)鍵部分影響速度的關(guān)鍵部分工作在高工作在高速或全功率狀態(tài),而其余部分則工作在低速或低功率狀態(tài)速或全功率狀態(tài),而其余部分則工作在低速或低功率狀態(tài)。允許用戶配置一。允許用戶配置一個(gè)或多個(gè)宏單元工作在個(gè)或多個(gè)宏單元工作在50%50%或更低的功率下,而僅需增加一個(gè)微小
52、的延時(shí)?;蚋偷墓β氏?,而僅需增加一個(gè)微小的延時(shí)。對(duì)于對(duì)于I/OI/O工作電壓,工作電壓,MAX3000AMAX3000A器件為器件為3.3V3.3V工作電壓,但工作電壓,但I(xiàn)/OI/O口可通過(guò)一個(gè)限口可通過(guò)一個(gè)限流電阻與流電阻與5V TTL5V TTL系統(tǒng)直接相連。系統(tǒng)直接相連。 2.4 FPGA的結(jié)構(gòu)原理的結(jié)構(gòu)原理 2.4 FPGA的結(jié)構(gòu)原理的結(jié)構(gòu)原理 2.4.2 Cyclone III2.4.2 Cyclone III系列器件的結(jié)構(gòu)原理系列器件的結(jié)構(gòu)原理 Cyclone 3 系列器件是Altera公司的一款低功耗、高性價(jià)比的FPGA,它的結(jié)構(gòu)和工作原理在FPGA器件中具有典型性,下面以此
53、類器件為例,介紹FPGA的結(jié)構(gòu)與工作原理。Cyclone 3器件構(gòu)成主要包含:邏輯陣列塊LAB(Logic Array Block)、嵌入式存儲(chǔ)器塊、嵌入式硬件乘法器、I/O單元和嵌入式鎖相環(huán)PLL(Phase-Locked Loop)等模塊,在各個(gè)模塊之間存在著豐富的互連線和時(shí)鐘網(wǎng)絡(luò)。 Cyclone 3器件的可編程資源:主要來(lái)自邏輯陣列塊LAB,而每個(gè)LAB都由多個(gè)邏輯宏單元LE(Logic Element),即LC(Logic Cell)構(gòu)成。LE是Cyclone3 FPGA器件的最基本的可編程單元,圖2-32顯示了Cyclone3 FPGA的LE的內(nèi)部結(jié)構(gòu)。觀察圖2-32可以發(fā)現(xiàn),LE
54、主要由一個(gè)4輸入的查找表LUT、進(jìn)位鏈邏輯、寄存器鏈邏輯和一個(gè)可編程的寄存器構(gòu)成。4輸入的LUT可以完成所有的4輸入1輸出的組合邏輯功能。每一個(gè)LE的輸出都可以連接到行、列、直連通路、進(jìn)位鏈、寄存器鏈等布線資源。 2.4 FPGA的結(jié)構(gòu)原理的結(jié)構(gòu)原理 2.4.2 Cyclone III系列器件的結(jié)構(gòu)原理系列器件的結(jié)構(gòu)原理 2.4 FPGA的結(jié)構(gòu)原理的結(jié)構(gòu)原理 Cyclone3 Cyclone3 的的LELE可工作在可工作在兩種操作模式:兩種操作模式:普通模式普通模式和和算術(shù)模式算術(shù)模式。 在不同的在不同的LELE操作模式下,操作模式下,LELE的內(nèi)部結(jié)構(gòu)和的內(nèi)部結(jié)構(gòu)和LELE之間的互連有些差異
55、,圖之間的互連有些差異,圖2-2-3333和圖和圖2-342-34分別是分別是Cyclone3 Cyclone3 的的LELE在普通模式和算術(shù)模式下的結(jié)構(gòu)和連接圖。在普通模式和算術(shù)模式下的結(jié)構(gòu)和連接圖。 普通模式:普通模式:適合通用邏輯應(yīng)用和組合邏輯的實(shí)現(xiàn)適合通用邏輯應(yīng)用和組合邏輯的實(shí)現(xiàn)。該模式下,。該模式下,來(lái)自來(lái)自LABLAB局部互連的四個(gè)輸入局部互連的四個(gè)輸入將作為一個(gè)將作為一個(gè)4 4輸入輸入1 1輸出的輸出的LUTLUT的輸入端口的輸入端口??梢赃x擇。可以選擇進(jìn)位輸入(進(jìn)位輸入(cin)cin) 信號(hào)或者信號(hào)或者data3data3信號(hào)信號(hào)作為作為L(zhǎng)UTLUT中的中的一個(gè)輸入信號(hào)一個(gè)輸
56、入信號(hào)。每個(gè)每個(gè)LELE都都可以通過(guò)可以通過(guò)LUTLUT鏈直接連接到下一個(gè)鏈直接連接到下一個(gè)LELE( (在同一個(gè)在同一個(gè)LABLAB中的中的) )。普通模式下,。普通模式下,支持支持寄存器打包與寄存器反饋。寄存器打包與寄存器反饋。 算術(shù)模式:算術(shù)模式:可以可以更好地實(shí)現(xiàn)加法器、計(jì)數(shù)器、累加器和比較器更好地實(shí)現(xiàn)加法器、計(jì)數(shù)器、累加器和比較器。此。此時(shí)單個(gè)時(shí)單個(gè)LELE內(nèi)內(nèi)有兩個(gè)有兩個(gè)3 3輸入輸入LUTLUT,可被配置成一位全加器和基本進(jìn)位鏈結(jié)構(gòu),可被配置成一位全加器和基本進(jìn)位鏈結(jié)構(gòu)。其。其中中一個(gè)一個(gè)3 3輸入輸入LUTLUT用于計(jì)算用于計(jì)算,另一個(gè)另一個(gè)3 3輸入輸入LUTLUT用來(lái)生成進(jìn)
57、位輸出信號(hào)用來(lái)生成進(jìn)位輸出信號(hào)coutcout。在。在算術(shù)模式下,算術(shù)模式下,LELE支持寄存器打包與寄存器反饋。支持寄存器打包與寄存器反饋。2.4.2 Cyclone III2.4.2 Cyclone III系列器件的結(jié)構(gòu)原理系列器件的結(jié)構(gòu)原理 2.4 FPGA的結(jié)構(gòu)原理的結(jié)構(gòu)原理 2.4.2 Cyclone III2.4.2 Cyclone III系列器件的結(jié)構(gòu)原理系列器件的結(jié)構(gòu)原理 2.4 FPGA的結(jié)構(gòu)原理的結(jié)構(gòu)原理 2.4.2 Cyclone III2.4.2 Cyclone III系列器件的結(jié)構(gòu)原理系列器件的結(jié)構(gòu)原理 2.4 FPGA的結(jié)構(gòu)原理的結(jié)構(gòu)原理 邏輯陣列塊邏輯陣列塊LAB
58、LAB由一系列相鄰的由一系列相鄰的LELE構(gòu)成構(gòu)成的。每個(gè)的。每個(gè)Cyclone3 Cyclone3 的的LABLAB包含包含1616個(gè)個(gè)LELE,在,在LABLAB中、中、LABLAB之間存在著之間存在著行互連、列互連、直連通路互連、行互連、列互連、直連通路互連、LABLAB局部互連、局部互連、LELE進(jìn)位鏈和進(jìn)位鏈和LELE寄存器鏈寄存器鏈。 LABLAB局部互連:局部互連:可在同一個(gè)可在同一個(gè)LABLAB的的LELE之間傳輸信號(hào),之間傳輸信號(hào),連接行與列互連和連接行與列互連和在同一個(gè)在同一個(gè)LABLAB中的中的LELE。 LELE進(jìn)位鏈:進(jìn)位鏈:用來(lái)連接用來(lái)連接LELE的的進(jìn)位輸出進(jìn)位輸
59、出和下一個(gè)和下一個(gè)LE(LE(在同一個(gè)在同一個(gè)LABLAB中)的中)的進(jìn)進(jìn)位輸入位輸入。 LELE寄存器鏈:寄存器鏈:用來(lái)連接下一個(gè)用來(lái)連接下一個(gè)LE(LE(在同一個(gè)在同一個(gè)LABLAB中)的中)的寄存器輸出寄存器輸出和下和下一個(gè)一個(gè)LELE的的寄存器數(shù)據(jù)輸入寄存器數(shù)據(jù)輸入。 Cyclone3 LABCyclone3 LAB的結(jié)構(gòu)如圖的結(jié)構(gòu)如圖2-352-35所示。所示。 相鄰的相鄰的LABLAB、PLL(PLL(鎖相環(huán))、鎖相環(huán))、M9K RAMM9K RAM塊嵌入式乘法器、塊嵌入式乘法器、IOEIOE輸出的直流輸出的直流通路互聯(lián):通路互聯(lián):也可以也可以驅(qū)動(dòng)一個(gè)驅(qū)動(dòng)一個(gè)LABLAB的局部互連
60、(如圖的局部互連(如圖2-362-36所示)。所示)。2.4.2 Cyclone III2.4.2 Cyclone III系列器件的結(jié)構(gòu)原理系列器件的結(jié)構(gòu)原理 2.4 FPGA的結(jié)構(gòu)原理的結(jié)構(gòu)原理 2.4.2 2.4.2 Cyclone IIICyclone III系列器件的系列器件的結(jié)構(gòu)原理結(jié)構(gòu)原理 2.4 FPGA的結(jié)構(gòu)原理的結(jié)構(gòu)原理 2.4.2 Cyclone III2.4.2 Cyclone III系列器件的結(jié)構(gòu)原理系列器件的結(jié)構(gòu)原理 2.4 FPGA的結(jié)構(gòu)原理的結(jié)構(gòu)原理 2.4.2 Cyclone III2.4.2 Cyclone III系列器件的結(jié)構(gòu)原理系列器件的結(jié)構(gòu)原理 嵌入式存
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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年整體衣柜項(xiàng)目建議書(shū)
- 石材濕貼施工方案
- 地鐵深基坑施工方案
- 電纜拆除施工方案
- 澆筑加固露臺(tái)施工方案
- 環(huán)保知識(shí)培訓(xùn)課件獲取途徑
- 2025年涂覆材料項(xiàng)目建議書(shū)
- 2025年農(nóng)林牧漁專用儀器儀表項(xiàng)目合作計(jì)劃書(shū)
- 2024-2025學(xué)年高二生物人教版選擇性必修3教學(xué)課件 第2章 第2節(jié) 第1課時(shí) 動(dòng)物細(xì)胞培養(yǎng)
- 空洞樣纖維化手術(shù)
- 2025年山東工業(yè)技師學(xué)院教師招聘歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 舞蹈藝術(shù)賞析課件
- 2025江蘇泰州興化市陳堡鎮(zhèn)村級(jí)后備干部招聘10人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 重慶市2025屆高三第一次學(xué)業(yè)質(zhì)量調(diào)研抽測(cè)化學(xué)試題 (含答案)
- 隔物灸課件:2025年版
- 主動(dòng)防護(hù)網(wǎng)工程施工合同
- 室外廣告安全生產(chǎn)培訓(xùn)
- 2025中冶建工集團(tuán)限公司校園招聘114人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《創(chuàng)傷性凝血病》課件
- (完整版)python學(xué)習(xí)課件
- CNAS-RL01:2019實(shí)驗(yàn)室認(rèn)可規(guī)則
評(píng)論
0/150
提交評(píng)論