一. 概述
這里以7系列的FPGA為例,先從整體上去了解一下FPGA內(nèi)部可編程邏輯資源的結(jié)構(gòu)。了解FPGA器件的內(nèi)部資源與結(jié)構(gòu)有利于我們優(yōu)化設(shè)計(jì)與評(píng)估設(shè)計(jì)資源。
現(xiàn)在的FPGA里面有很多存儲(chǔ)資源,DSP(數(shù)字信號(hào)處理)資源,布線通道,I/O資源,當(dāng)然最根本的還是CLB(Configurable Logic Block)。Xilinx的資源分布采用ASMBL架構(gòu)。下圖是一個(gè)抽象的結(jié)構(gòu)圖,相同資源以列方式排布。這篇文章主要講解CLB資源。
二. CLB資源介紹
CLB資源的分布以縱向相連,如下圖所示。每個(gè)CLB由兩個(gè)Slice組成。同一個(gè)CLB里面的兩個(gè)Slice之間沒有互連線。
每個(gè)Slice里面有4個(gè)6輸入的LUT(look-up tables(查找表))和8個(gè)存儲(chǔ)單元(Storage)以及進(jìn)位邏輯(Carry Logic)和多路選擇器(Multiplexers)。同時(shí)Slice有兩種。
普通的Slice叫SLICEL,電路結(jié)構(gòu)如下,最左邊一列就是4個(gè)LUT,第二列為Carry Logic,以及紅色框框出來的存器單元。
第二種Slice叫SLICEM,電路結(jié)構(gòu)如下。除了LUTS與SLICEL的LUTS不同之外,其余結(jié)構(gòu)都一樣。這就是SLICEM與SLICEL之間的區(qū)別,利用SLICEM的LUTS還可以構(gòu)成RAM,ROM,以及Shift Registers(移位寄存器)。
一個(gè)CLB里面含有一個(gè)SLICEM和SLICEL或者含有兩個(gè)SLICEL。
Slice就是通過LUTS以及Carry Logic和Multiplexers之間的互連來形成組合邏輯,再通過Storage elements構(gòu)成寄存器以形成時(shí)序邏輯。
同時(shí)借助SLICEM的LUTS,還可以構(gòu)成RAM,ROM,Shift Registers資源。
下表是一個(gè)CLB可以擁有的資源數(shù)以及可以形成大小為多少的RAM與Shift Registers。我們可以借助這些信息去評(píng)估設(shè)計(jì)需要多少資源和選擇什么型號(hào)的FPGA器件。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21736瀏覽量
603421 -
CLB
+關(guān)注
關(guān)注
0文章
29瀏覽量
5956
原文標(biāo)題:FPGA內(nèi)部可編程邏輯資源的結(jié)構(gòu),CLB資源介紹
文章出處:【微信號(hào):FPGAer_Club,微信公眾號(hào):FPGAer俱樂部】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論