一、概述
LUT中文名字叫查找表。以7系列的FPGA為例,每一個(gè)Slice里面有四個(gè)LUT。FPGA就是通過LUT實(shí)現(xiàn)大量的組合邏輯,以及SLICEM里面的LUT還可以構(gòu)成RAM,Shift Register,以及Multiplexers。這篇文章我們一起來學(xué)習(xí)LUT如何構(gòu)成組合邏輯。
二、LUT實(shí)現(xiàn)原理
LUT,中文名字叫做查找表,其原理其實(shí)也就是一個(gè)一個(gè)查找表,根據(jù)輸入去找到相應(yīng)位置的信號,然后做輸出。說白了就好像一個(gè)小容量的ROM,把輸入當(dāng)作地址信號,對LUT里面預(yù)存的內(nèi)容進(jìn)行尋址。
7系列的FPGA的LUT有6個(gè)輸入端口(A1-6),然后有兩個(gè)輸出端口(O5,O6)。下圖是SLICEL里面的LUT。
其可以實(shí)現(xiàn)6輸入的布爾組合邏輯函數(shù),輸入信號為A1,A2,A3,A4,A5,A6,輸出端口為O6。如下
O6=f(A1,A2,A3,A4,A5,A6)
其實(shí)現(xiàn)方式就是將輸入(A1,A2...A6)對應(yīng)的輸出在LUT里面預(yù)存好(這一步在我們用bit文件配置FPGA時(shí)實(shí)現(xiàn)),然后把輸入信號當(dāng)作地址信號去把對應(yīng)的輸出信號調(diào)出來。
同樣其還可以構(gòu)成兩個(gè)5輸入的布爾組合邏輯函數(shù),其中這兩個(gè)函數(shù)共用5個(gè)輸入信號(A1,A2,A3,A4,A5),A6被拉高,O5,O6分別是兩個(gè)布爾邏輯的輸出。
O5=f(A1,A2,A3,A4,A5)
O6=f(A1,A2,A3,A4,A5)
故這也相當(dāng)于實(shí)現(xiàn)的是一個(gè)5輸入2輸出的邏輯函數(shù)。
[O5,O6]=f(A1,A2,A3,A4,A5)
三、總結(jié)與提升
總結(jié)一下,就好比單個(gè)LUT里面可以預(yù)存 2^6=64個(gè)結(jié)果。那么單個(gè)LUT可以實(shí)現(xiàn)
(1)輸入信號最多為6bit,輸出信號為1bit的的布爾邏輯函數(shù);
(2)輸入信號最多為5bit,輸出信號為2bit的邏輯。
一個(gè)SLICE里面有四個(gè)LUT故最多可以預(yù)存的輸出信號個(gè)數(shù)為 2^6*4=2^8。
因此在一個(gè)SLICE里面,借助選擇器將多個(gè)LUT進(jìn)行互連,可以實(shí)現(xiàn)輸入數(shù),輸出數(shù)最多為如下所示的邏輯。
(1)2個(gè)LUT通過互連可以構(gòu)成7bit輸入,單bit輸出的邏輯。實(shí)現(xiàn)方式為兩個(gè)LUT的輸入信號A1,A2,A3,A4,A5,A6接到一起,輸出信號經(jīng)過選擇器選擇輸出,選擇器的選擇信號也是邏輯函數(shù)的一個(gè)輸入信號。
將邏輯函數(shù)的輸出送到Storage Element便可以形成同步時(shí)序邏輯。
(2)4個(gè)LUT通過互連可以構(gòu)成8bit輸入,單bit輸出的邏輯。實(shí)現(xiàn)方式大家可以根據(jù)上面的實(shí)現(xiàn)方式自行推理。
(3)2個(gè)LUT通過互連可以構(gòu)成6bit輸入,2bit輸出的邏輯。實(shí)現(xiàn)方式自行推理。
(4)4個(gè)LUT通過互連可以構(gòu)成7bit輸入,2bit輸出的邏輯。實(shí)現(xiàn)方式自行推理。
超過8輸入的布爾邏輯就需要多個(gè)SLICE來實(shí)現(xiàn)。
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1629文章
21738瀏覽量
603464 -
邏輯函數(shù)
+關(guān)注
關(guān)注
0文章
23瀏覽量
9506 -
組合邏輯
+關(guān)注
關(guān)注
0文章
47瀏覽量
10041 -
LUT
+關(guān)注
關(guān)注
0文章
49瀏覽量
12509 -
CLB
+關(guān)注
關(guān)注
0文章
29瀏覽量
5956
原文標(biāo)題:初識FPGA CLB之LUT實(shí)現(xiàn)邏輯函數(shù)
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論