可編程邏輯器件設(shè)計方法_第1頁
可編程邏輯器件設(shè)計方法_第2頁
可編程邏輯器件設(shè)計方法_第3頁
可編程邏輯器件設(shè)計方法_第4頁
可編程邏輯器件設(shè)計方法_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第2章 可編程邏輯器件設(shè)計方法-本章概述,2.1 可編程邏輯器件基礎(chǔ)2.1.1可編程邏輯器件概述,可編程邏輯器件(Programmable Logic Device,PLD) 起源于20世紀70年代,是在專用集成電路(ASIC)的基 礎(chǔ)上發(fā)展起來的一種新型邏輯器件,是當(dāng)今數(shù)字系統(tǒng)設(shè)計 的主要硬件平臺. 其主要特點: 1、由用戶通過軟件進行配置和編程,從而完成某 種 特定的功能,且可以反復(fù)擦寫; 2、在修改和升級PLD時,不需額外地改變PCB電路 板,只是在計算機上修改和更新程序,使硬件設(shè)工作成為 軟件開發(fā)工作,縮短了系統(tǒng)設(shè)計的周期,提高了實現(xiàn)的靈 活性并降低了成本,可編程邏輯器件PLD包含兩個

2、基本部分: 邏輯陣列。邏輯陣列是設(shè)計人員可以編程的部分。 輸出單元或宏單元。設(shè)計人員可以通過宏單元改變PLD的輸出結(jié)構(gòu)。 輸入信號通過“與”矩陣,產(chǎn)生輸入信號的乘積項組合,然后通過“或”矩陣相加,再經(jīng)過輸出單元或宏單元輸出,以“與/或”陣列為基礎(chǔ)的PLD器件包括4種基本類型: 、編程只讀存儲器 (Programmable Read Only Memory,PROM); 、現(xiàn)場可編程邏輯陣列 (Field Programmable Logic Array,F(xiàn)PLA); 、可編程陣列邏輯 (Programmable Array Logic,PAL); 、通用陣列邏輯 (Generic Array

3、Logic,GAL,PLD產(chǎn)品分類,可編程邏輯器件按照顆粒度可以分為3類: 小顆粒度(“門海(sea of gates)”架構(gòu)) 中等顆粒度(如:FPGA) 大顆粒度(如:CPLD,PLD產(chǎn)品分類,按編程工藝可以分為四類: 熔絲(Fuse)和反熔絲(Antifuse)編程器件, 可擦除的可編程只讀存儲器(UEPROM)編程器件 電信號可擦除的可編程只讀存儲器(EEPROM)編程 器件(如:CPLD) SRAM編程器件(如:FPGA)。 前3類為非易失性器件,編程后,配置數(shù)據(jù)保留在器 件上;第4類為易失性器件,掉電后配置數(shù)據(jù)會丟失,因 此在每次上電后需要重新進行數(shù)據(jù)配置,2.1.2可編程邏輯器件

4、的發(fā)展歷史,可編程邏輯器件的發(fā)展可以劃分為4個階段: 20世紀70年代初到70年代中為第1階段, 20世紀70年代中到80年代中為第2階段, 20世紀80年代到90年代末為第3階段, 20世紀90年代末到目前為第4階段,1、第1階段的可編程器件只有3種: 簡單的可編程只讀存儲器(PROM) 紫外線可擦除只讀存儲器(EPROM) 電可擦只讀存儲器(EEPROM) 缺點:結(jié)構(gòu)的限制,它們只能完成簡單的數(shù)字邏輯 功能。 2、第2階段正式被稱為PLD: 可編程陣列邏輯(PAL)器件 通用陣列邏輯(GAL)器件 典型的PLD:由“與”、“非”陣列組成,用“與或”表達 式來實現(xiàn)任意組合邏輯,所以PLD能以

5、乘積和 形式完成大量的邏輯組合,3、第3階段Xilinx和Altera分別推出了 與標(biāo)準(zhǔn)門陣列類似的FPGA 類似于PAL結(jié)構(gòu)的擴展性CPLD 優(yōu)點:提高了邏輯運算的速度,具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬等特點,兼容了PLD和通用門陣列的優(yōu)點,能夠?qū)崿F(xiàn)超大規(guī)模的電路,編程方式也很靈活,成為產(chǎn)品原型設(shè)計和中小規(guī)模(一般小于10000)產(chǎn)品生產(chǎn)的首選,4、 第4階段出現(xiàn)了SOPC和SOC技術(shù), 特點:是PLD和ASIC技術(shù)融合的結(jié)果,涵蓋 了實時化數(shù)字信號處理技術(shù)、高速數(shù)據(jù)收發(fā)器、 復(fù)雜計算以及嵌入式系統(tǒng)設(shè)計技術(shù)的全部內(nèi)容,Xilinx和Altera也推出了相應(yīng)SOPC產(chǎn)品,制造

6、工藝 達到65nm/40nm,系統(tǒng)門數(shù)也超過百萬門。并且,這一 階段的邏輯器件內(nèi)嵌了硬核高速乘法器、Gbits差分串行 接口、時鐘頻率高達500MHz的PowerPC微處理器、軟核 MicroBlaze、Picoblaze、Nios以及NiosII,不僅實現(xiàn)了軟 件需求和硬件設(shè)計的完美結(jié)合,還實現(xiàn)了高速與靈活性 的完美結(jié)合,使其已超越了ASIC器件的性能和規(guī)模,也 超越了傳統(tǒng)意義上FPGA的概念,使PLD的應(yīng)用范圍從單 片擴展到系統(tǒng)級,2.2 PLD芯片制造工藝,1、熔絲連接技術(shù) 最早的允許對器件進行編程的技術(shù)是熔絲連接技術(shù)。在 這種技術(shù)的器件中,所有邏輯的連接都是靠熔絲連接的。 熔絲器件是一

7、次可編程的,一旦編程,永久不能改變,2、反熔絲連接技術(shù) 未編程時,成高阻狀態(tài)。編程結(jié)束后,形成連接。 反熔絲器件是一次可編程的,一旦編程,永久不能 改變,3、SRAM技術(shù) 基于靜態(tài)存儲器SRAM的可編程器件,值被保存在 SRAM中時,只要系統(tǒng)正常供電信息就不會丟失,否 則信息將丟失。SRAM存儲數(shù)據(jù)需要消耗大量的硅面 積,且斷電后數(shù)據(jù)丟失。但是這種器件可以反復(fù)的編 程和修改,4、掩膜技術(shù) ROM是非易失性的,系統(tǒng)斷電后,信息被保留在存儲 單元中。掩膜器件可以讀出,但是不能寫入信息。ROM 單元保存了行和列數(shù)據(jù),形成一個陣列,每一列有負載 電阻使其保持邏輯1,每個行列的交叉有一個關(guān)聯(lián)晶體 管和一

8、個掩膜連接。 這種技術(shù)代價比較高,基本上很少使用,5、PROM技術(shù) PROM是非易失性的,系統(tǒng)斷電后,信息被保留 在存儲單元中。PROM器件可以編程一次,以后只 能讀數(shù)據(jù)而不能寫入新的數(shù)據(jù)。PROM單元保存了 行和列數(shù)據(jù),形成一個陣列,每一列有負載電阻使 其保持邏輯1,每個行列的交叉有一個關(guān)聯(lián)晶體管和 一個掩膜連接。 如果可以多次編程就成為EPROM,EEPROM技術(shù),6、FLASH技術(shù) FLASH技術(shù)的芯片的檫除的速度比PROM技術(shù)要快的 多。FLASH技術(shù)可采用多種結(jié)構(gòu),與EPROM單元類似 的具有一個浮置柵晶體管單元和EEPROM器件的薄氧化 層特性,2.3 PLD芯片內(nèi)部結(jié)構(gòu) 2.3.

9、1CPLD結(jié)構(gòu)與原理,CPLD 由完全可編程的與/或陣列以及宏單元庫構(gòu)成。 與/或陣列是可重新編程的,可以實現(xiàn)多種邏輯功能。宏 單元則是可實現(xiàn)組合或時序邏輯的功能模塊,同時還提供 了真值或補碼輸出和以不同的路徑反饋等額外的靈活性。 下面給出了CPLD的內(nèi)部結(jié)構(gòu)圖,CPLD主要由可編程I/O單元、基本邏輯單元、布 線池和其他輔助功能模塊構(gòu)成。 1、可編程I/O單元 作用與FPGA的基本I/O口相同,但是CPLD應(yīng)用范 圍局限性較大,I/O的性能和復(fù)雜度與FPGA相比有一定 的差距,支撐的I/O標(biāo)準(zhǔn)較少,頻率也較低,2.基本邏輯單元 CPLD中基本邏輯單元是宏單元。 所謂宏單元就是由一些與、或陣列

10、加上觸發(fā)器構(gòu)成的, 其中“與或”陣列完成組合邏輯功能,觸發(fā)器用以完成時序 邏輯。 與CPLD基本邏輯單元相關(guān)的另外一個重要概念是乘積 項。 所謂乘積項就是宏單元中與陣列的輸出,其數(shù)量標(biāo)志 了CPLD容量,乘積項陣列實際上就是一個“與或”陣列,每一個交叉 點都是一個可編程熔絲,如果導(dǎo)通就是實現(xiàn)“與”邏輯, 在“與”陣列后一般還有一個“或”陣列,用以完成最小邏輯 表達式中的“或”關(guān)系,3.布線池、布線矩陣 CPLD中的布線資源比FPGA的要簡單的多,布 線資源也相對有限,一般采用集中式布線池結(jié)構(gòu)。 所謂布線池其本質(zhì)就是一個開關(guān)矩陣,通過打 結(jié)點可以完成不同宏單元的輸入與輸出項之間的連 接。 由于C

11、PLD器件內(nèi)部互連資源比較缺乏,所以 在某些情況下器件布線時會遇到一定的困難,由于CPLD的布線池結(jié)構(gòu)固定,所以CPLD的輸入管腳到 輸出管腳的標(biāo)準(zhǔn)延時固定,被稱為Pin to Pin延時,用Tpd 表示,Tpd延時反映了CPLD器件可以實現(xiàn)的最高頻率,也 就清晰地表明了CPLD器件的速度等級。 4.其他輔助功能模塊 如JTAG編程模塊,一些全局時鐘、全局使能、全局復(fù) 位/置位單元等,2.3.2 FPGA芯片的內(nèi)部結(jié)構(gòu),目前主流的FPGA仍是基于查找表技術(shù)的,已經(jīng)遠遠 超出了先前版本的基本性能,并且整合了常用功能(如 RAM、時鐘管理和DSP)的硬核(ASIC型)模塊。 如圖1所示(注:圖1只

12、是一個示意圖,實際上每一 個系列的FPGA都有其相應(yīng)的內(nèi)部結(jié)構(gòu)) FPGA芯片主要由6部分完成,分別為:可編程輸入 輸出單元、基本可編程邏輯單元、完整的時鐘管理、嵌 入塊式RAM、豐富的布線資源、內(nèi)嵌的底層功能單元和 內(nèi)嵌專用硬件模塊,Xilinx的VirtexII內(nèi)部結(jié)構(gòu),可編程輸入輸出單元(IOB,可編程輸入/輸出單元簡稱I/O單元,是芯片與外界電 路的接口部分,完成不同電氣特性下對輸入/輸出信號的 驅(qū)動與匹配要求。 FPGA內(nèi)的I/O按組分類,每組都能夠獨立地支持不同 的I/O標(biāo)準(zhǔn)。通過軟件的靈活配置,可適配不同的電氣標(biāo) 準(zhǔn)與I/O物理特性,可以調(diào)整驅(qū)動電流的大小,可以改變 上、下拉電阻

13、。目前,I/O口的頻率也越來越高,一些高 端的FPGA通過DDR寄存器技術(shù)可以支持高達2Gbps的數(shù) 據(jù)速率,典型的IOB內(nèi)部結(jié)構(gòu)示意圖,可編程輸入輸出單元(IOB,外部輸入信號可以通過IOB模塊的存儲單元輸入到 FPGA的內(nèi)部,也可以直接輸入FPGA 內(nèi)部。當(dāng)外部輸入 信號經(jīng)過IOB模塊的存儲單元輸入到FPGA內(nèi)部時,其保 持時間(Hold Time)的要求可以降低,通常默認為0。 為了便于管理和適應(yīng)多種電器標(biāo)準(zhǔn),F(xiàn)PGA的IOB被 劃分為若干個組(bank),每個bank的接口標(biāo)準(zhǔn)由其接口 電壓VCCO決定,一個bank只能有一種VCCO,但不同 bank的VCCO可以不同。只有相同電氣標(biāo)

14、準(zhǔn)的端口才能連 接在一起,VCCO電壓相同是接口標(biāo)準(zhǔn)的基本條件,可配置邏輯塊(CLB,CLB是FPGA內(nèi)的基本邏輯單元。CLB的實際數(shù)量 和特性會依器件的不同而不同。 每個CLB都包含一個可配置開關(guān)矩陣,此矩陣由4或6 個輸入、一些選型電路(多路復(fù)用器等)和觸發(fā)器組成。 開關(guān)矩陣高度靈活可以配置。 在Xilinx公司的FPGA器件中,CLB由多個(一般 為4個或2個)相同的Slice和附加邏輯構(gòu)成,如下頁圖所示。 每個CLB模塊不僅可以用于實現(xiàn)組合邏輯、時序邏輯, 還可以配置為分布式RAM和分布式ROM,可配置邏輯塊(CLB,典型的CLB結(jié)構(gòu)示意圖,可配置邏輯塊(CLB,Slice是Xilin

15、x公司定義的基本邏輯單位,其內(nèi)部結(jié)構(gòu)如 下頁圖所示,一個Slice由兩個4輸入的函數(shù)、進位邏輯、算 術(shù)邏輯、存儲邏輯和函數(shù)復(fù)用器組成。 算術(shù)邏輯包括一個異或門(XORG)和一個專用與門(MULTAND),一個異或門可以使一個Slice實現(xiàn)2bit全加操作,專用與門用于提高乘法器的效率; 進位邏輯由專用進位信號和函數(shù)復(fù)用器(MUXC)組成,用于實現(xiàn)快速的算術(shù)加減法操作; 4輸入函數(shù)發(fā)生器用于實現(xiàn)4輸入LUT、分布式RAM或16比特移位寄存器(Virtex-5系列芯片的Slice中的兩個輸入函數(shù)為6輸入,可以實現(xiàn)6輸入LUT或64比特移位寄存器); 進位邏輯包括兩條快速進位鏈,用于提高CLB模塊的

16、處理速度,典型的4輸入Slice結(jié)構(gòu)示意圖,數(shù)字時鐘管理模塊,業(yè)內(nèi)大多數(shù)FPGA均提供數(shù)字時鐘管理(Xilinx的全部 FPGA均具有這種特性)。 Xilinx推出最先進的FPGA提供數(shù)字時鐘管理和相位環(huán) 路鎖定。相位環(huán)路鎖定能夠提供精確的時鐘綜合,且能夠 降低抖動,并實現(xiàn)過濾功能,數(shù)字時鐘管理模塊,嵌入式塊(BRAM,大多數(shù)FPGA都具有內(nèi)嵌的塊RAM,這大大拓展 了FPGA的應(yīng)用范圍和靈活性。 塊RAM可被配置為單端口RAM、雙端口RAM、內(nèi) 容地址存儲器(CAM)以及FIFO等常用存儲結(jié)構(gòu)。 RAM、FIFO是比較普及的概念,在此就不冗述。 CAM存儲器在其內(nèi)部的每個存儲單元中都有一個比

17、 較邏輯,寫入CAM中的數(shù)據(jù)會和內(nèi)部的每一個數(shù)據(jù)進行 比較,并返回與端口數(shù)據(jù)相同的所有數(shù)據(jù)的地址,因而 在路由的地址交換器中有廣泛的應(yīng)用。 除了塊RAM,還可以將FPGA中的LUT靈活地配置成 RAM、ROM和FIFO等結(jié)構(gòu)。在實際應(yīng)用中,芯片內(nèi)部 塊RAM的數(shù)量也是選擇芯片的一個重要因素,嵌入式塊,單片塊RAM的容量為18k比特,即位寬為18比特、 深度為1024,可以根據(jù)需要改變其位寬和深度,但要滿足 兩個原則: 首先,修改后的容量(位寬 深度)不能大于18k比特; 其次,位寬最大不能超過36比特。 當(dāng)然,可以將多片塊RAM級聯(lián)起來形成更大的RAM, 此時只受限于芯片內(nèi)塊RAM的數(shù)量,而不

18、再受上面兩條原 則約束,嵌入式單端口塊,嵌入式雙端口塊,豐富的布線資源,布線資源連通FPGA內(nèi)部的所有單元,而連線的長度和 工藝決定著信號在連線上的驅(qū)動能力和傳輸速度。FPGA 芯片內(nèi)部有著豐富的布線資源,根據(jù)工藝、長度、寬度和 分布位置的不同而劃分為類不同的類別。 第一類是全局布線資源,用于芯片內(nèi)部全局時鐘和全 局復(fù)位/置位的布線; 第二類是長線資源,用以完成芯片Bank間的高速信號 和第二全局時鐘信號的布線; 第三類是短線資源,用于完成基本邏輯單元之間的邏 輯互連和布線; 第四類是分布式的布線資源,用于專有時鐘、復(fù)位等 控制信號線,豐富的布線資源,底層內(nèi)嵌功能單元,內(nèi)嵌功能模塊主要指DLL

19、(Delay Locked Loop)、 PLL(Phase Locked Loop)、DSP和CPU等軟處理核(Soft Core)?,F(xiàn)在越來越豐富的內(nèi)嵌功能單元,使得單片 FPGA成為了系統(tǒng)級的設(shè)計工具,使其具備了軟硬件聯(lián)合 設(shè)計的能力,逐步向SOC平臺過渡。 DLL和PLL具有類似的功能,可以完成時鐘高精度、 低抖動的倍頻和分頻,以及占空比調(diào)整和移相等功能。 Xilinx公司生產(chǎn)的芯片上集成了DLL,Altera公司的芯 片集成了PLL,Lattice公司的新型芯片上同時集成了PLL 和DLL。PLL 和DLL可以通過IP核生成的工具方便地進行 管理和配置,內(nèi)嵌專用硬核,內(nèi)嵌專用硬核是相

20、對底層嵌入的軟核而言的,指 FPGA處理能力強大的硬核(Hard Core),等效于ASIC電 路。為了提高FPGA性能,芯片生產(chǎn)商在芯片內(nèi)部集成了 一些專用的硬核。 例如:為了提高FPGA的乘法速度,主流的FPGA中都 集成了專用乘法器; 為了適用通信總線與接口標(biāo)準(zhǔn),很多高端的FPGA內(nèi)部 都集成了串并收發(fā)器(SERDES),可以達到數(shù)十Gbps的 收發(fā)速度,2.3.3 CPLD和FPGA的比較,FPGA和CPLD都是可編程邏輯器件,有很多共同特點, 但由于和FPGA結(jié)構(gòu)上的差異,具有各自的特點: 1、CPLD更適合完成各種算法和組合邏輯, FPGA更適 合于完成時序邏輯。換句話說,更適合于

21、觸發(fā)器 豐富的結(jié)構(gòu),而CPLD更適合于觸發(fā)器有限而乘積項豐富 的結(jié)構(gòu)。 2、CPLD的連續(xù)式布線結(jié)構(gòu)決定了它的時序延遲是均 勻的和可預(yù)測的,而FPGA的分段式布線結(jié)構(gòu)決定了其延 遲的不可預(yù)測性,CPLD和FPGA的比較,3、在編程上FPGA比CPLD具有更大的靈活性。CPLD通、 過修改具有固定內(nèi)連電路的邏輯功能來編程, FPGA主要通 過改變內(nèi)部連線的布線來編程; FPGA可在邏輯門下編程, 而CPLD是在邏輯塊下編程。 4、FPGA的集成度比CPLD高,具有更復(fù)雜的布線結(jié)構(gòu)和 邏輯實現(xiàn),CPLD和FPGA的比較,5、CPLD比FPGA使用起來更方便。CPLD的編程采用 E2PROM或FASTFLAS技術(shù),無需外部存儲器芯片,使用 簡單。而FPGA的編程信息需存放在外部存儲器上,使用方 法復(fù)雜。 6、CPLD的速度比FPGA快,并且具有較大的時間可預(yù) 測性。這是由于FPGA是門級編程,并且CLB之間采用分布 式互聯(lián),而CPLD是邏輯塊級編程,并且其邏輯塊之間的互聯(lián) 是集總式的,CPLD和FPGA的比較,7、在編程方式上, CPLD主要是基于E2PROM或 FLASH存儲器編程,編程次數(shù)可達1萬次,優(yōu)點是系統(tǒng)斷電時 編程信息也不丟失。CPLD又可分為在編程器上編程和在 系統(tǒng)編程兩類。FPGA大部分是基于SRAM

溫馨提示

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

最新文檔

評論

0/150

提交評論