系列目錄與傳送門(mén)
《從底層結(jié)構(gòu)開(kāi)始學(xué)習(xí)FPGA》目錄與傳送門(mén)
Xilinx的FPGA,從硬件架構(gòu)的角度可以劃分為6個(gè)層次,從底層到頂層依次是:
- BEL(最底層單元)
- Site
- Tile
- FSR
- SLR
- Device(FPGA芯片)
接下來(lái)我們從最底層開(kāi)始依次了解下各個(gè)層級(jí)。
BEL
BEL(Basic Element of Logic),即基本邏輯元素,是FPGA的最底層原子單元(atomic unit)。BEL分為兩類:
- Logic BEL(邏輯BEL)
- Routing BEL(布線BEL)
邏輯BEL就是常用的底層邏輯資源,比如觸發(fā)器FF和查找表LUT。而布線BEL則主要是底層用來(lái)選擇不同走線的MUX。我們可以在工程綜合好了以后,先打開(kāi)綜合后的設(shè)計(jì):
接著,右側(cè)就會(huì)出現(xiàn)FPGA的器件視圖Device,如果沒(méi)有彈出來(lái),可以自己點(diǎn)擊Windows,然后點(diǎn)擊Device,
在這個(gè)視圖下(你可以自由縮放來(lái)調(diào)整),我們可以看到所選型號(hào)FPGA的所有底層資源,比如這是一個(gè)Slice里面的所有觸發(fā)器FF、進(jìn)位鏈CARRY4和查找表LUT:
這些基本的底層資源都可以用來(lái)實(shí)現(xiàn)FPGA的邏輯功能(包括時(shí)序功能),所以它們是邏輯BEL。而布線BEL則不實(shí)現(xiàn)邏輯功能,而只用來(lái)實(shí)現(xiàn)布線功能。要看到布線EBL,首先需要把模式改成Routing Resource這個(gè)選項(xiàng)勾上:
這樣就可以在Device視圖下看到布線資源和布線BEL了:
接下來(lái)隨便選擇一個(gè)布線BEL,把鼠標(biāo)懸停在它上面就會(huì)出現(xiàn)一些基本信息,如果點(diǎn)擊選中它則會(huì)在左下角出現(xiàn)更詳細(xì)的信息,比如它的輸入/輸出管腳分別連接到哪里,它屬于哪個(gè)時(shí)鐘區(qū)域,它是什么類型的BEL等等。
那么這個(gè)名為“D5FFMUX”的布線BEL是如何工作的,我們首先來(lái)看看它的輸出連到哪里–同一個(gè)Slice里的觸發(fā)器FF。
而兩個(gè)輸入則分別是:輸入A來(lái)自同一個(gè)Slice里的查找表LUT;輸入B則來(lái)自SLICE的Switch Box。
Switch Box可以理解成一個(gè)“中轉(zhuǎn)站“,附近的各種資源的輸出都到這里完成轉(zhuǎn)接,所以這個(gè)布線BEL的輸出B可能是來(lái)自相鄰的FF,也可能是來(lái)自相鄰的LUT,具體都根據(jù)實(shí)際的RTL代碼來(lái)決定。
布線BEL的功能就呼之欲出了–用來(lái)實(shí)現(xiàn)各種輸入的選取,從而實(shí)現(xiàn)底層資源間的靈活互聯(lián)!正是有了這些布線資源和布線BEL,F(xiàn)PGA才可以做到這么靈活。
在Vivado綜合或?qū)崿F(xiàn)的Design中,都可以看到在每一個(gè)模塊下會(huì)有Nets和Leaf Cells。
Leaf Cells就是FPGA中真實(shí)存在的底層模塊,Vivado中place_design做的工作就是把這些Leaf Cells放到合適的BEL上去。
Site
一系列相關(guān)的元素和互聯(lián)線則組成了Site,Site中主要包含下面三種元素:
- BEL(包括邏輯BEL和布線BEL)
- Site的輸入管腳/輸出管腳
- Site內(nèi)部的互連線
最典型的Site就是Slice,一個(gè)Slice由4個(gè)LUT,8個(gè)FF、1個(gè)CARRY4、一系列的布線BEL以及它的對(duì)外管腳組成。每一個(gè)SITE都有一個(gè)獨(dú)一無(wú)二的坐標(biāo)**_X#Y#,下圖中的SLICE的坐標(biāo)為X21Y276**,這個(gè)坐標(biāo)就是經(jīng)典的X軸/Y軸坐標(biāo)系,這樣標(biāo)記出來(lái)就可以很方便地在視圖中定位它們。
此外,像BRAM、DSP48、PLL等這些資源都算是一個(gè)Site。
Tile
Tile是比Site更高抽象級(jí)的概念,一個(gè)Tile由多個(gè)Site組成。經(jīng)典的Tile就是由兩個(gè)Slice組成的的CLB(Configurable Logic Block,可配置邏輯塊)。
同Site一樣,每個(gè)Tile也都有一個(gè)獨(dú)立的坐標(biāo)。
FSR
Fabric Sub Region(我不知道該怎么翻譯,架構(gòu)子區(qū)域?) ,F(xiàn)SR由一片Tile組成,其實(shí)就是特指Clock Region(時(shí)鐘區(qū)域)。時(shí)鐘區(qū)域是Xilinx FPGA對(duì)時(shí)鐘的一種劃分結(jié)構(gòu),它把整個(gè)芯片根據(jù)不同的IO BANK內(nèi)的所有資源和連線都劃定到不同的各個(gè)時(shí)鐘區(qū)域下,這樣對(duì)在同一時(shí)鐘區(qū)域下的時(shí)鐘信號(hào)就方便管理,同時(shí)也方便各種時(shí)鐘資源走線和互聯(lián)。
IO BANK和時(shí)鐘區(qū)域不同簡(jiǎn)單的畫(huà)等號(hào),比如的例子都來(lái)自芯片xc7k325tfbg676-3,它雖然有10個(gè)IO BANK,但是卻不一定只有10個(gè)時(shí)鐘區(qū)域
和打開(kāi)Device視圖類似,也可以打開(kāi)它的Package視圖來(lái)觀察它的管腳和BANK情況,如下所示,它有10個(gè)BANK。
接著打開(kāi)它的Device視圖看看:
可以看到它有兩列,每列有7個(gè)時(shí)鐘區(qū)域,所以一共有14個(gè)時(shí)鐘區(qū)域。從下圖也可以看到,時(shí)鐘區(qū)域和BANK不是對(duì)應(yīng)的。
SLR
Super Logic Region,超級(jí)邏輯區(qū)域,這個(gè)概念僅針對(duì)使用了SSI(Stacked Silicon Interconnect)技術(shù)的FPGA,也就是包含多個(gè)die的芯片,這樣每個(gè)die就被稱為一個(gè)SLR。SSI是Xilinx發(fā)明的一種能把多個(gè)die封裝到一起的技術(shù),簡(jiǎn)單理解就是把多個(gè)FPGA芯片給堆到一起,以便擴(kuò)大資源容量。用到這種技術(shù)的一般7系列芯片只有高端的V7芯片,例如xc7v2000tfhg1761-2。它看起來(lái)是這樣的:
從上到下依次排列著4個(gè)SLR,每個(gè)SLR都有6個(gè)時(shí)鐘區(qū)域。其實(shí)每個(gè)SLR是可以看做獨(dú)立的FPGA的,它是Xilinx用SSI技術(shù)給封裝到一起的。不同的SLR之間做數(shù)據(jù)交互很麻煩,需要通過(guò)特殊的資源來(lái)布線–SLL,(Super Long Line,超級(jí)長(zhǎng)線)。
Device
。其實(shí)每個(gè)SLR是可以看做獨(dú)立的FPGA的,它是Xilinx用SSI技術(shù)給封裝到一起的。不同的SLR之間做數(shù)據(jù)交互很麻煩,需要通過(guò)特殊的資源來(lái)布線–SLL,(Super Long Line,超級(jí)長(zhǎng)線)。
[外鏈圖片轉(zhuǎn)存中…(img-R6jWbsko-1710718103085)]文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-841803.html
Device
顯而易見(jiàn),這個(gè)Device就是指單個(gè)的FPGA芯片了。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-841803.html
- ??您有任何問(wèn)題,都可以在評(píng)論區(qū)和我交流??!
- ??本文由 孤獨(dú)的單刀 原創(chuàng),首發(fā)于CSDN平臺(tái)??,博客主頁(yè):wuzhikai.blog.csdn.net
- ??您的支持是我持續(xù)創(chuàng)作的最大動(dòng)力!如果本文對(duì)您有幫助,還請(qǐng)多多點(diǎn)贊??、評(píng)論??和收藏?!
到了這里,關(guān)于從底層結(jié)構(gòu)開(kāi)始學(xué)習(xí)FPGA(0)----FPGA的硬件架構(gòu)層次(BEL Site Tile FSR SLR Device)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!