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