布局布線后,點(diǎn)擊“Chip Planner”,Chip Planner打開(kāi)后可以看到在版圖模型中有一個(gè)塊藍(lán)色區(qū)域的顏色變深,說(shuō)明有該區(qū)域的資源被占用,我們知道這是一個(gè)邏輯陣列塊LAB,我們將該區(qū)域放大
放大后可以看到藍(lán)色變深的區(qū)域中有16個(gè)小塊,這16個(gè)小塊就是LE(它們的走線時(shí)延的關(guān)系如下:同一個(gè)LAB中(最快) 《 同列或者同行 《 不同行且不同列),其中只有一個(gè)LE的顏色變是藍(lán)色的,說(shuō)明該處的資源被使用了,雙擊藍(lán)色的LE即可觀察其內(nèi)部的結(jié)構(gòu)
雙擊打開(kāi)LE后內(nèi)部的結(jié)構(gòu)如下圖所示,其中藍(lán)色顯示的是真實(shí)使用到的結(jié)構(gòu),灰色的是未使用到的結(jié)構(gòu),我們可以看到有兩個(gè)輸入和一個(gè)輸出,與RTL代碼的描述是對(duì)應(yīng)的,紅色框就是查找表LUT。
依次打開(kāi)上圖紅色箭頭標(biāo)記的5個(gè)LE
可以看到前4個(gè)LUT是b[0]~b[15],第5個(gè)LUT是Equal,結(jié)合Chip Planner視圖可以初步推理出,16bit的b每連續(xù)的4個(gè)輸入用一個(gè)LUT,輸出的結(jié)果傳到第5個(gè)LUT。再結(jié)合Technology Map Viewer(Post Mapping)視圖可知,前4個(gè)LUT其實(shí)是存儲(chǔ)了0000_0000_1101_0101,也就是16’hd5這個(gè)值,然后每連續(xù)的4個(gè)一組,與輸入分別比較,如果LUT的值與輸入的值相等則LUT的輸出為1,如果不相等輸出為0,所以第5個(gè)LUT的內(nèi)部輸入名為“Equal”我們也就不難理解了。而第5個(gè)LUT存儲(chǔ)了1111,當(dāng)前4個(gè)LUT與輸入的比較結(jié)果與第5個(gè)LUT中存儲(chǔ)的值比較,如果相等則輸出0,如果不相等則輸出1。
選中第五個(gè)LE,點(diǎn)擊Generate Fan-in Connection也可以顯示出16bit的b每連續(xù)的4個(gè)輸入用一個(gè)LUT,輸出的結(jié)果傳到第5個(gè)LUT
目前大部分FPGA都基于6輸入LUT的(本例選用FPGA較老,是基-4 LUT),如果一個(gè)輸出對(duì)應(yīng)的判斷條件大于四輸入的話就要由多個(gè)LUT級(jí)聯(lián)才能完成,這樣就引入一級(jí)組合邏輯時(shí)延,我們要減少組合邏輯,無(wú)非就是要輸入條件盡可能的少,這樣就可以級(jí)聯(lián)的LUT更少,從而減少了組合邏輯引起的時(shí)延。
例如:一個(gè)32位的計(jì)數(shù)器,該計(jì)數(shù)器的進(jìn)位鏈很長(zhǎng)(cnt《=cnt+32‘d1),必然會(huì)降低工作頻率,我們可以將其分割成4位和8位的計(jì)數(shù),每當(dāng)4位的計(jì)數(shù)器計(jì)到15后觸發(fā)一次8位的計(jì)數(shù)器,這樣就實(shí)現(xiàn)了計(jì)數(shù)器的切割,也提高了工作頻率。
文章來(lái)源:網(wǎng)絡(luò)素材(侵刪)
編輯:jq
-
FPGA
+關(guān)注
關(guān)注
1621文章
21517瀏覽量
599301 -
RTL
+關(guān)注
關(guān)注
1文章
384瀏覽量
59534 -
LUT
+關(guān)注
關(guān)注
0文章
49瀏覽量
12456
原文標(biāo)題:RTL與LUT的關(guān)系理解
文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論