《數(shù)字電路EDA設(shè)計》課件第二章 典型的CPLD fpga芯片結(jié)構(gòu)_第1頁
《數(shù)字電路EDA設(shè)計》課件第二章 典型的CPLD fpga芯片結(jié)構(gòu)_第2頁
《數(shù)字電路EDA設(shè)計》課件第二章 典型的CPLD fpga芯片結(jié)構(gòu)_第3頁
《數(shù)字電路EDA設(shè)計》課件第二章 典型的CPLD fpga芯片結(jié)構(gòu)_第4頁
《數(shù)字電路EDA設(shè)計》課件第二章 典型的CPLD fpga芯片結(jié)構(gòu)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章

典型的cpldfpga芯片結(jié)構(gòu)ALTERA公司CPLD芯片CPLD傳統(tǒng)CPLD的主要缺點在于:當(dāng)器件內(nèi)部的宏單元個數(shù)超過512個,或者門密度超過幾千門時,宏單元之間的互連線規(guī)模將呈指數(shù)級增長,限于CPLD器件的面積約束,全局布線結(jié)構(gòu)的CPLD內(nèi)部密度有限。采用了新的結(jié)構(gòu),仍然以LABs為主要結(jié)構(gòu),但布線方法摒棄了以前的全局布線結(jié)構(gòu),而是采用了行列布線結(jié)構(gòu)內(nèi)部還集成了FLASH存儲器,這使得MAXII系列芯片本身就具備了存儲功能MAXII傳統(tǒng)CPLD的乘積項結(jié)構(gòu)與MAXII系列芯片對比傳統(tǒng)的乘積項結(jié)構(gòu)MAXII系列芯片各款芯片的引腳數(shù)目與封裝基于LUT的LE結(jié)構(gòu)這種結(jié)構(gòu)以邏輯單元LE(Logicelements)為基礎(chǔ)單位,每個LE又包括一個4輸入查找表與一個寄存器MAXII系列芯片的邏輯陣列由LAB(邏輯陣列塊)構(gòu)成,每個LAB包括10個邏輯單元,每個邏輯單元都能實現(xiàn)一部分用戶期望的邏輯功能。MAXII系列芯片芯片的內(nèi)部結(jié)構(gòu)MAXII系列芯片提供了一個全局時鐘網(wǎng)絡(luò),該網(wǎng)絡(luò)包括的全局時鐘線為整個芯片內(nèi)部的各部分提供時鐘,不作時鐘時可作諸如復(fù)位、預(yù)置位、輸出使能等全局控制信號。注意:上圖中并未給出FLASH存儲器的位置,因為不同型號芯片的FLASH位置不同。EPM240器件的FLASH塊位置在器件左側(cè),EPM570、EPM1270和EPM2210器件的FLASH塊在左下區(qū)域。FLASH存儲空間被劃分為指定的配置間CFM,CFM提供了SRAM配置信息,使得MAXII系列芯片器件上電時能自動配置邏輯功能。MAXII系列芯片內(nèi)置FLASH中的一部分,約8192位的存儲空間被劃分給用戶作為用戶存儲器使用,這一區(qū)域稱為UFM(UserFlashMemory),UFM可以與其附近的3行LAB相接,由這些LAB進(jìn)行讀寫。MAXII系列芯片的底層布局

LAB局部互連能夠驅(qū)動同一LAB的所用LE。LAB局部互連線的信號來自于整個芯片的行列互連線與各LE輸出信號的反饋。通過直接互連的形式,與LAB相鄰的其他LAB也能驅(qū)動LAB的局部互連線。直接互連的形式體現(xiàn)了高性能與靈活的特點,能夠顯著減輕整個芯片行列互連線的負(fù)擔(dān)。借助于局部互連與直接互連,每個LE能夠驅(qū)動30個LE。每個LAB能在同一時刻發(fā)出10種控制信號給其內(nèi)部的邏輯單元。這些控制信號包括兩條時鐘信號、兩條時鐘使能信號、兩條異步復(fù)位信號、一條同步復(fù)位信號、一條異步預(yù)置信號、一條同步預(yù)置信號以及加/減控制信號。例如當(dāng)需要實現(xiàn)計數(shù)器功能時,一般需要這些信號中的同步預(yù)置與同步復(fù)位信號。

每個邏輯陣列塊包括10個LE(邏輯單元),邏輯單元進(jìn)位鏈、LAB控制信號、LAB局部互連線、一個查找表鏈以及寄存器互連鏈。每個LAB可含多達(dá)26個專用輸入信號,還包括由同一LAB中其他邏輯單元的輸出反饋回來的10個反饋信號。內(nèi)部互連線用于同一LAB內(nèi)部各LE之間的信號傳遞。查找表鏈用于將同一LAB的相鄰LE的LUT輸出信號進(jìn)行互連傳遞。寄存器互連鏈將某一LE寄存器的輸出與相鄰LE寄存器進(jìn)行互連傳遞。ALTERA公司的EDA開發(fā)軟件QuartusII能夠充分利用這些進(jìn)位鏈自動將邏輯功能配置到相應(yīng)的LE內(nèi)。邏輯陣列塊

每個邏輯陣列塊包括10個LE(邏輯單元),邏輯單元進(jìn)位鏈、LAB控制信號、LAB局部互連線、一個查找表鏈以及寄存器互連鏈。每個LAB可含多達(dá)26個專用輸入信號,還包括由同一LAB中其他邏輯單元的輸出反饋回來的10個反饋信號。內(nèi)部互連線用于同一LAB內(nèi)部各LE之間的信號傳遞。查找表鏈用于將同一LAB的相鄰LE的LUT輸出信號進(jìn)行互連傳遞。寄存器互連鏈將某一LE寄存器的輸出與相鄰LE寄存器進(jìn)行互連傳遞。ALTERA公司的EDA開發(fā)軟件QuartusII能夠充分利用這些進(jìn)位鏈自動將邏輯功能配置到相應(yīng)的LE內(nèi)。邏輯陣列塊

每個邏輯陣列塊包括10個LE(邏輯單元),邏輯單元進(jìn)位鏈、LAB控制信號、LAB局部互連線、一個查找表鏈以及寄存器互連鏈。每個LAB可含多達(dá)26個專用輸入信號,還包括由同一LAB中其他邏輯單元的輸出反饋回來的10個反饋信號。內(nèi)部互連線用于同一LAB內(nèi)部各LE之間的信號傳遞。查找表鏈用于將同一LAB的相鄰LE的LUT輸出信號進(jìn)行互連傳遞。寄存器互連鏈將某一LE寄存器的輸出與相鄰LE寄存器進(jìn)行互連傳遞。ALTERA公司的EDA開發(fā)軟件QuartusII能夠充分利用這些進(jìn)位鏈自動將邏輯功能配置到相應(yīng)的LE內(nèi)。邏輯陣列塊LAB的內(nèi)部結(jié)構(gòu)注意,LAB的時鐘信號及其時鐘使能信號一定是同時發(fā)揮作用的,例如,若LAB中某一個LE要用到時鐘信號labclk1,則對應(yīng)的時鐘使能信號labclkena1必須有效。LAB的控制信號邏輯單元LE雖然是MAXII系列芯片最小的邏輯模塊,卻為實現(xiàn)邏輯功能提供了很多重要特性。MAXII系列芯片的邏輯單元結(jié)構(gòu)MAXII系列芯片的邏輯單元結(jié)構(gòu),從圖中可看出,邏輯單元內(nèi)的可編程寄存器能夠配置為DFF、TFF、JKFF或SRFF。每個寄存器都有異步預(yù)置信號、時鐘信號與時鐘使能信號、復(fù)位信號以及異步加載信號。其中寄存器時鐘信號與復(fù)位信號可由全局信號、通用I/O引腳或任何邏輯單元驅(qū)動,而時鐘使能信號、異步加載數(shù)據(jù)由通用I/O引腳或邏輯單元驅(qū)動。異步加載的數(shù)據(jù)來自于邏輯單元的data3輸入。對于組合邏輯功能而言,查找表的輸出將寄存器旁路,而直接送到邏輯單元的輸出端。每個邏輯單元的三個輸出端分別獨立地輸出到局部互連布線、行互連線、列互連線。由于三個輸出可相互獨立,因而在某些場合將發(fā)生查找表與寄存器同時輸出數(shù)據(jù)的現(xiàn)象,這一現(xiàn)象也說明MAXII系列芯片可以將同一邏輯單元的查找表與寄存器用于不同功能的實現(xiàn),這一特點與以往芯片相比顯著提高了寄存器的利用效率。用戶FLASH存儲區(qū)

用戶FLASH存儲區(qū)(UFMblock)是MAXII系列芯片的一大特色,這種內(nèi)部FLASH存儲器的功能類似于串行EEPROM,它允許用戶存儲寬度最高為16位、容量為8192位的固定數(shù)據(jù)。UFM允許任何邏輯單元訪問,下圖給出了UFM的接口信號。UFM與LAB的接口電路

UFM與LAB的接口電路XILINX公司Virtex-5系列FPGA123可配置邏輯塊CLB輸入輸出模塊IOBBlockRAM

Virtex-5系列芯片均提供了數(shù)量巨大的CLB,如XC5VLX330芯片,有兩萬多個CLB。

每個CLB又包含了兩個Slice。下圖是CLB內(nèi)的Slice排列示意圖,其中的CIN是來自鄰近的CLB的進(jìn)位信號,COUT是送往其他CLB的進(jìn)位輸出信號。兩個Slice相互獨立,均可通過開關(guān)矩陣(SwitchMatrix)與全片的通用布線陣列(GeneralroutingMatrix)相連。CLB內(nèi)部的Slice是真正實現(xiàn)邏輯功能的模塊,每個Slice內(nèi)部包括4個結(jié)構(gòu)相同的部分,這四個模塊分別用A~D區(qū)分。Slice又分為兩種:SLICEM與SLICEL。二者的區(qū)別在于Slice是否支持用分布式RAM存儲數(shù)據(jù)和能否寄存器進(jìn)行數(shù)據(jù)移位。圖2-13給出了SLICEM內(nèi)部A部分的結(jié)構(gòu)。若將該圖左側(cè)的DPRAM/SPRAM/SRL/LUT/RAM/ROM模塊改為只具有LUT/ROM功能的模塊,并將WE信號去除之后,即為SLICEL的結(jié)構(gòu)。由于SLICEM支持用分布式RAM存儲數(shù)據(jù),即將數(shù)據(jù)分布存儲于SLICEM內(nèi)的各個查找表中,因此SLICEM適合于需要存儲大量數(shù)據(jù)的場合。分布式RAM可以有很多種形式,比如單端口或雙端口的32(或64或128)x1位RAM、四端口32x2位RAM、四端口64x1位RAM單端口、單端口256x1位RAM等。分布式RAM需要同步操作,通常可以用同一Slice中的一個存儲元件或觸發(fā)器實現(xiàn)同步寫。通過合理設(shè)置這個觸發(fā)器的位置,可以將觸發(fā)器的延遲縮短到觸發(fā)器的時鐘輸出范圍內(nèi),從而提高分布式RAM的性能。多個CLB之間的連接關(guān)系及其坐標(biāo)安排

上圖右側(cè)部分是寄存器,SR、CE、CLK是Slice內(nèi)部四個寄存器的置位/復(fù)位、時鐘使能和時鐘信號,這些寄存器都可以被設(shè)置為同步或異步置位與復(fù)位。上圖左側(cè)存儲部分可以以三種形式配置ROM:ROM64x1、ROM128x1、ROM256x1,顯然如果配置為ROM64x1只需要某一個存儲模塊,而ROM128x1需要二個,ROM256x1需要Slice內(nèi)部全部的四個存儲模塊。ROM內(nèi)容在每次器件配置時加載。每個Slice除了能實現(xiàn)四個6輸入布爾函數(shù)外,還能實現(xiàn)兩個7輸入布爾函數(shù)或一個8輸入布爾函數(shù)。怎樣實現(xiàn)兩個7輸入布爾函數(shù)或一個8輸入布爾函數(shù)?利用多路選擇器實現(xiàn)7輸入或8輸入布爾函數(shù)Virtex-5FPGA的輸出模塊支持業(yè)界大多數(shù)的標(biāo)準(zhǔn)接口,如LVCMOS、LVTTL、HSTL、SSTL、GTL、PCI等。與CLB包含兩個Slice類似,Virtex-5采用了一種稱為Tile的結(jié)構(gòu),每個Tile包含兩個IOB,每個IOB外部有ILOGIC/ISERDES單元與OLOGICO/OSERDES單元,內(nèi)部有輸入緩沖INBUF、輸出緩沖OUTBUF、焊盤PAD和三態(tài)SelectIO驅(qū)動器。I/OTile示意圖IOB內(nèi)部結(jié)構(gòu)圖OLOGIC結(jié)構(gòu)圖Virtex-5系列芯片IOB的ILOGIC/ISERDES可以配置為D觸發(fā)器或鎖存器,也可以配置為IDDR模式。IDDR是指輸入雙倍數(shù)據(jù)速率(DDR)寄存器,ILOGIC電路中有專用寄存器來實現(xiàn),實用時需要通過例化IDDR單元來使用此功能。OLOGIC由兩個主要模塊組成,一個用于配置輸出數(shù)據(jù)通路,另一個用于配置三態(tài)控制通路。這兩個模塊也可以配置為D觸發(fā)器、鎖存器或DDR模

溫馨提示

  • 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

提交評論