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