Vivado device窗口之時(shí)鐘site淺析
一、前言
???????使用vivado設(shè)計(jì)工程時(shí),查看device結(jié)果時(shí),時(shí)鐘相關(guān)的site和連接是重要的一環(huán),理解其功能有利于保證設(shè)計(jì)符合預(yù)期。
二、時(shí)鐘site介紹
????????在之前的文章“FPGA之時(shí)鐘規(guī)劃淺析”中介紹了常用的時(shí)鐘單元,本文將全面介紹時(shí)鐘單元在時(shí)鐘site,此處可以更加詳細(xì)了解相互之間的連接,以及驅(qū)動(dòng)關(guān)系,依舊以器件xc7z100ffg900-2為例,其他器件類(lèi)似。
????????時(shí)鐘site主要包括BUFGCTRL,BUFHCE,BUFR,BUFMRCE,BUFIO,PLLE2_ADV,
三、時(shí)鐘site分布
????????首先理解一個(gè)IO bank的概念,即存在IO口的位置,同一個(gè)IO bank內(nèi)的IO電氣特性,如電壓和IO標(biāo)準(zhǔn)等。外部芯片和FPGA通過(guò)IO進(jìn)行信號(hào)的交互,一個(gè)region至多有一個(gè)IO bank部分region不存在IO bank。如下圖左右兩側(cè)紅色區(qū)域即為IO bank的區(qū)域,共有8個(gè)IO bank

????????BUFGCTRL位置如下圖紅色標(biāo)記、位于芯片正中心位置

BUFHCE位置如下圖紅色標(biāo)記,在水平方向的兩個(gè)region的中間位置

BUFR位置如下所示,位置region的左右兩側(cè),每個(gè)存在IO Bank的region都有BUFR

BUFMRCE位置如下圖所示,因?yàn)锽UFMRCE是驅(qū)動(dòng)BUFR的,因此位置距離較近

BUFIO的位置如下圖所示,和BUFR位置相近,每個(gè)存在IO Bank的region都有BUFIO

PLLE2_ADV的位置如下圖所示,位于region的邊界靠上角位置,每個(gè)存在IO Bank的region都有PLLE2_ADV

將一個(gè)區(qū)域內(nèi)的時(shí)鐘site放大如下圖,一個(gè)region內(nèi)4個(gè)BUFIO,4個(gè)BUFR,2個(gè)BUFMRCE

四、時(shí)鐘site驅(qū)動(dòng)邏輯
1、整個(gè)芯片分為上下半?yún)^(qū),下圖中粉紅色范圍內(nèi)的為上半?yún)^(qū),其余region屬于下半?yún)^(qū)

1、IO clk為時(shí)鐘輸入端口,每個(gè)IO BANK內(nèi)有8個(gè)IO clk
驅(qū)動(dòng)關(guān)系:IO clk->BUFGCTRL/BUFH/BUFIO/BUFMRCE/PLLE2_ADV,
對(duì)于IO clk->BUFGCTRL,位于上半?yún)^(qū)IO clk只能驅(qū)動(dòng)到上半?yún)^(qū)的BUFGCTRL(上方的16個(gè)BUFGCTRL),下半?yún)^(qū)的IO clk只能驅(qū)動(dòng)到下半?yún)^(qū)的BUFGCTRL(下方的16個(gè)BUFGCTRL)。
對(duì)于IO clk->BUFH,IO clk可驅(qū)動(dòng)同水平方向上兩個(gè)region內(nèi)的BUFH,不能驅(qū)動(dòng)上下相鄰方向內(nèi)的BUFH以及跨半?yún)^(qū)region內(nèi)的BUFH
2、PLLE2_ADV通常是起到分頻,倍頻的作用,產(chǎn)生更多內(nèi)部需要的時(shí)鐘信號(hào),因此可到達(dá)以下時(shí)鐘site
驅(qū)動(dòng)關(guān)系:PLLE2_ADV->BUFGCTRL/BUFH/BUFR/BUFIO/BUFMRCE
同時(shí),PLLE2_ADV支持相互間的并聯(lián)或串聯(lián)驅(qū)動(dòng),通過(guò)一些布線的資源來(lái)實(shí)現(xiàn),如Pllroute
3、BUFGCTRL,BUFH,BUFR,BUFIO上的連線路徑可理解為現(xiàn)實(shí)中的高速公路,省道,鄉(xiāng)道,BUFGCTRL上信號(hào)傳輸最快,到達(dá)各處的時(shí)延最小,但因成本較高,資源有限。BUFH省道傳輸速度次之,但涉及范圍更廣;BUFR類(lèi)似鄉(xiāng)道,鄉(xiāng)道速度最慢,但可以進(jìn)村;BUFIO是家門(mén)口的泥巴小路,可到家門(mén)口。
驅(qū)動(dòng)關(guān)系:
3.1 BUFGCTRL->BUFH->PLLE2_ADV
3.2 BUFH->BUFGCTRL(不建議如此使用)
3.3 BUFR/BUFH->BUFGCTRL
3.4 BUFR->PLLE2_ADV/BUFIO
3.5 BUFIO->ILOGIC
4、BUFMR主要是用于驅(qū)動(dòng)本區(qū)域以及上下相鄰兩個(gè)區(qū)域的BUFR/BUFIO
驅(qū)動(dòng)關(guān)系:BUFMR->BUFR/BUFIO/PLLE2_ADV
MUFMR的驅(qū)動(dòng)源只有IO clk以及布線資源switchbox