Spartan6系列之Spartan6系列之芯片時鍾資源深入詳解


1.   時鍾資源概述

  時鍾設施提供了一系列的低電容、低抖動的互聯線,這些互聯線非常適合於傳輸高頻信號、最大量減小時鍾抖動。這些連線資源可以和DCM、PLL等實現連接。

每一種Spartan-6芯片提供16個高速、低抖動的全局時鍾資源用於優化性能;這些資源可以背Xilinx工具自動地使用,即使時鍾頻率相對較低,使用時鍾資源來消除潛在的時序冒險仍然是十分重要的,

每一個Spartan-6 FPGA提供40個超高速、低抖動的IO局部時鍾資源(32個BUFIO2S和8個BUFPLL)這些IO局部時鍾資源是為IO Serializer和de-serializer電路服務的。

Spartan-6 FPGA的時鍾資源主要由四種類型的連接器構成:

  • 全局時鍾輸入引腳(GCLK)
  • 全局時鍾多路復用器(BUFG、BUFGMUX)
  • IO時鍾緩沖器(BUFIO2、BUFIO2_2CLK、BUFPLL)
  • 水平方向時鍾布線緩沖器(BUFH)

有兩種類型的時鍾網絡:

  • 為FPGA內部邏輯資源提供低抖動時鍾資源的全局時鍾網絡
  • 為SelectIIO邏輯資源提供高性能低抖動時鍾資源的IO局部時鍾網絡

  BUFGMUX能夠在兩個全局時鍾資源之間進行復用,也可以當做普通的BUFG時鍾緩沖使用,這個時鍾緩沖只能夠直接驅動全局時鍾布線資源,只能夠驅動時鍾輸入;當然,FPGA內部邏輯觸發器的時鍾輸入也可以來自那些普通的布線資源,不過那些普通的布線資源會具有較大的時鍾抖動。

  BUFPLL和BUFIO2用來驅動IO局部時鍾網絡的時鍾資源,這一特性限定了它們的使用目的,他們只能用於ISERDES或OSERDES這資源的輸入時鍾資源;

  BUFIO2能夠驅動SDR和DDR的ISERDES2和OSERDES2的時鍾,BUFIO2能夠把GCLK或GTP_DUAL Tile的輸入時鍾布線到BUFG、DCM、PLL時鍾輸入。BUFIO2_2CLK能夠用來代替BUFIO2s使用在DDR的ISERDES2和OSERDES2的設計時鍾。

  類似地,BUFPLL可以驅動SDR時鍾的IO時鍾網絡,BUFPLL將PLL的CLKOUT0或CLKOUT1和IO局部時鍾網絡連接起來。

  BUFH通過提供邏輯資源與全局時鍾布線水平區域的連接,使得芯片總體的低抖動時鍾資源更為豐富。

1.1.  全局時鍾結構

 

圖 1‑1全局時鍾結構

  Spartan-6 FPGA的全局時鍾網絡由16個位於器件中心位置的BUFGMUX驅動,時鍾的輸入可以來自FPGA的上、下、左、右的bank,也可以來自PLL或DCM;16個BUFGMUX驅動vertical spine並經vertical spine 往南北方向傳播,根據這條線路,時鍾水平延伸至HCLK時鍾列並經HCLK時鍾列提供了訪問局部邏輯原語的路徑;每一個HCLK列左右兩邊各有16個水平時鍾緩沖BUFH驅動左右邏輯資源。

 

圖 1‑2BUFH時鍾布線路徑

  在Spartan-6 FPGA器件上,有32個GCLK輸入,但是只有16個全局時鍾緩沖,也就是說每一個全局時鍾緩沖只能被2個GCLK中的一個驅動,在兩個GCLK(假設為GCLK_A和GCLK_B共享BUFGMX_C)都需要使用的情況下,為了為用戶提供更多的靈活性,可以讓GCLK_A引腳布線到BUFGMUX_C,而GCLK_B使用BUFIO2間接地布線到另一個BUFGMUX_D。但是經過BUFIO2布線的時鍾會出現延時。

表格 1‑1 Bank0和Bank1共享全局時鍾資源不完全統計情況表

 

 

圖 1‑3Bank0和Bank1的BUFGMUX的連接情況

 

圖 1‑4Bank2和Bank3的BUFGMUX的連接情況

  對於使用GTP Transceiver的設計來說,每一個GTP參考時鍾是和一個BUFIO2關聯在一起的,這可能影響Bank0和Bank2上的全局時鍾引腳的使用;對SDR接口來說,GCLK的引腳輸入與的沖突如表格 1‑2所示,對DDR接口來說,GTP需要兩個BUFIO2,因為DDR的需要將時鍾反轉,DDR接口對GCLK引腳輸入的沖突如表格 1‑3所示。

表格 1‑2SDR接口使用中BUFIO2的輸入沖突

 

表格 1‑3DDR接口使用中BUFIO2的輸入沖突

 

 

1.2.  IO時鍾結構

 

1‑5IO時鍾結構

  所有的SelectIOn的邏輯資源(輸入寄存器、輸出寄存器、IDDR2、ODDR2、ISERDES2、OSERDES2)必須被來自BUFIO2的時鍾驅動;每個BUFIO2時鍾域有4個高速I時鍾,由4個專用BUFIO2 緩沖驅動;Spartan6 FPGA有4個BUFIO2時鍾域共32BUFIO2.

 

1‑6BUFIO2時鍾域

 

 

2.   時鍾輸入

  時鍾輸入引腳接受外部時鍾信號並且直接將其連接至BUFGMUX或者BUFIO2原語。當然,時鍾引腳也可以用作普通IO。BUFIO2除了能將時鍾輸入到IO時鍾網絡,BUFIO2也提供了專用的接往PLL/DCM或BUFG的時鍾路線

 

2‑1經BUFIO2布線的專用時鍾輸入

  對Spartan-6 FPGA而言,專用的時鍾輸入引腳位於芯片邊沿的中心位置,下圖例舉了4Bank的Spartan-6 FPGA的時鍾引腳布局。

 

2‑2四Bank Spartan-6 FPGA 時鍾引腳布局

 

 

 

3.   時鍾管理技術

  Spartan-6 FPGA的CMT(時鍾管理單元)提供了非常靈活、高性能的時鍾;Spartan-6 FPGA的CMT模塊位於豎直的全局時鍾樹的中間列位置,每個CMT包含2個DCM、1個PLL。

 

3‑1Spartan-6 FPGA CMT位置圖

 

3‑2CMT結構框圖

3.1.  DCM的功能

  DCM:Digital Clock Management,數字時鍾管理單元的英文縮寫。DCM擁有先進的時鍾能力可將時鍾直接導入全局時鍾分布網絡,DCM可以解決各種各樣的時鍾問題,尤其是在高性能、高頻率領域。

  • 消除了時鍾抖動,提升了整個系統的性能
  • 調節一個時鍾信號的相位
  • 對輸入時鍾進行倍頻或分頻,也能夠通過動態或靜態的提供乘除因子產生新的時鍾頻率。
  • 使時鍾信號更健康,占空比穩定在50%
  • 鏡像、轉發、重緩沖一個時鍾信號,對輸入時鍾信號進行去抖斜或轉換成差分IO電平。
  • 時鍾輸入抖動過濾
  • 擴頻時鍾產生
  • 振盪器工作模式

 

3‑3DCM結構框圖

3.2.  PLL的功能

  PLL:Phase-Locked Loop,鎖相環的英文縮寫。Spartan-6 FPGA器件包含6個CMT Tile。PLL的主要目的是作為外部時鍾或內部時鍾的抖動過濾器或頻率合成器。

 

3‑4PLL結構框圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM