CLB是指可編程邏輯功能塊(Configurable Logic Blocks),顧名思義就是可編程的數(shù)字邏輯電路。CLB是FPGA內(nèi)的三個(gè)基本邏輯單元。CLB的實(shí)際數(shù)量和特性會(huì)依器件的不同而不同,但是每個(gè)CLB都可配置,在Xilinx公司的FPGA器件中,CLB由2個(gè) 相同的SliceL或則一個(gè)SliceL和一個(gè)SliceM構(gòu)成。每個(gè)Slice不僅可以用于實(shí)現(xiàn)組合邏輯、時(shí)序邏輯。其中,SliceM還可以配置為分布式RAM和分布式ROM。
下面以Xilinx的ZYNQ的7000系列為例介紹其功能與結(jié)構(gòu)
ZYNQ7000系列采用了Xilinx全新的第四代ASMBL架構(gòu)。
新的架構(gòu)優(yōu)化了芯片布局,消除了IO數(shù)量增長(zhǎng)帶來(lái)的芯片陣列的尺寸約束;
新的架構(gòu)能夠滿足在芯片的任何位置放置電源和地;
增加了更多電源和地;
允許多種完全不同功能的IP單元在芯片內(nèi)獨(dú)立排布;
獨(dú)特的SSI技術(shù);
且分布式RAM和移位寄存器只能在SliceM中
1.SLICE:(1Slice=4LUT+8FF)
Slice是Xilinx公司定義的基本邏輯單位,其內(nèi)部結(jié)構(gòu)如圖1-4所示,一個(gè)Slice由四個(gè)6輸入的LUTS、進(jìn)位邏輯、算術(shù)邏輯、存儲(chǔ)邏輯和多路復(fù)選器組成。算術(shù)邏輯包括一個(gè)異或門(XORG),一個(gè)異或門可以使一個(gè)Slice實(shí)現(xiàn) 2bit全加操作,專用與門用于提高乘法器的效率;進(jìn)位邏輯由專用進(jìn)位信號(hào)和函數(shù)復(fù)用器(MUXC)組成,用于實(shí)現(xiàn)快速的算術(shù)加減法操作;4輸入函數(shù)發(fā)生器用于實(shí)現(xiàn)4輸入LUT、分布式RAM或16比特移位寄存器(Virtex-5系列芯片的Slice中的兩個(gè)輸入函數(shù)為6輸入,可以實(shí)現(xiàn)6輸入LUT或 64比特移位寄存器);進(jìn)位邏輯包括兩條快速進(jìn)位鏈,用于提高CLB模塊的處理速度
每個(gè)Slice包含:
?四個(gè)6輸入查找表LUT
?八個(gè)存儲(chǔ)單元
?多路復(fù)選器
?進(jìn)位邏輯
所有Slice均使用這些單元來(lái)提供邏輯,算術(shù)和ROM功能。在
此外,某些slice還支持兩個(gè)附加功能:使用分布式存儲(chǔ)數(shù)據(jù)
RAM和32位寄存器的移位數(shù)據(jù)。支持這些附加功能的slice
稱為SLICEM;其他的則稱為SLICEL。
SLICEL如圖2-4所示。
每個(gè)CLB可以包含兩個(gè)SLICEL或一個(gè)SLICEL和一個(gè)SLICEM。
Slices分為SliceL和SliceM,一般情況下,SliceL>SliceM數(shù)
2.LUT查找表
1個(gè)Slice包含4個(gè)6輸入的LUT,兩個(gè)LUT通過(guò)F7MUX進(jìn)行級(jí)聯(lián)可以形成一個(gè)7輸入的LUT,1個(gè)Slice可以形成2個(gè)7輸入的LUT;還可通過(guò)F8MUX進(jìn)行級(jí)聯(lián)形成一個(gè)8輸入的LUT,邏輯資源換算關(guān)系:6輸入查找表是4輸入查找表的1.6倍查找表LUT本質(zhì)是RAM,相當(dāng)于一個(gè)多路選擇器LUT可參與進(jìn)位邏輯,進(jìn)行算數(shù)運(yùn)算單元進(jìn)行異或運(yùn)算等,也可直接輸出。
3.存儲(chǔ)單元
每個(gè)Slice有8個(gè)存儲(chǔ)單元,4個(gè)可配置成DFF或者鎖存器,另外4個(gè)只能配置為DFF
控制信號(hào)
而SliceL與SliceM最大的區(qū)別就是沒(méi)有分布式RAM和移位寄存器。
4.分布式RAM(僅限SliceM)
SLICEM可以配置成分布式RAM,多bit的情況需要增加相應(yīng)倍數(shù)的LUT進(jìn)行并聯(lián)。
分布式RAM比塊RAM有更好的靈活性,但塊RAM的資源比較寶貴,分布式RAM適用小規(guī)模存儲(chǔ)場(chǎng)景。
5.移位寄存器(僅限SliceM)
SLICEM在不使用觸發(fā)器的情況下可以設(shè)置成32bit的移位寄存器,4個(gè)LUT可級(jí)聯(lián)成128bit的移位寄存器。SliceM之間級(jí)聯(lián)還可形成更大的移位寄存器
6.多路復(fù)選器MUX
1個(gè)LUT可配置成4:1MUX
2個(gè)LUT最多可配置成8:1MUX
4個(gè)LUT最多可配置成16:1MUX
也可通過(guò)布線資源連接多個(gè)Slice形成更大規(guī)模的設(shè)計(jì)
但會(huì)占用布線資源,產(chǎn)生較大延遲
有兩條快速進(jìn)位鏈,它與本列的上下slice的進(jìn)位鏈相連,實(shí)現(xiàn)數(shù)據(jù)運(yùn)算時(shí)的進(jìn)位操作,每個(gè)slice有4bit 的進(jìn)位鏈,每bit都由一個(gè)進(jìn)位MUX和一個(gè)異或門組成
可實(shí)現(xiàn)加法/減法器時(shí)生成進(jìn)位邏輯,也可產(chǎn)生一般邏輯。
編輯:hfy
-
FPGA
+關(guān)注
關(guān)注
1629文章
21736瀏覽量
603319 -
Xilinx
+關(guān)注
關(guān)注
71文章
2167瀏覽量
121401 -
移位寄存器
+關(guān)注
關(guān)注
3文章
258瀏覽量
22274 -
可編程邏輯
+關(guān)注
關(guān)注
7文章
515瀏覽量
44086 -
CLB
+關(guān)注
關(guān)注
0文章
29瀏覽量
5952
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論