Arria10中的IOPLL與fPLL


最近在用Arria10。從480降到270的過程中,IOPLL出現問題,大概是說幾個Bank的IOPLL已經被占用,沒有空間再給別的IOPLL去適配。

因為在工程中,所用的PLL多達35個之多,其中明確為自己手動例化的IOPLL為8個,DDR占用3個Bank所以也會占用3個IOPLL。

一時之間不知道從哪里下手,於是筆者理了下思路,覺得應該搞明白Arria10 PLL的分布,果不其然,收獲頗多。

以下主要以Arria10 270為例。

   首先要搞清楚的是Arria10中的PLL共有多少個,分別分布在什么位置。從圖1看GX270的有8個IOPLL和8個fPLL。從圖2和圖4可以看到

GX270共有8個IO Bank和4個高速接口Bank。從圖3和圖5可以看到一個IO Bank有一個IOPLL,一個高速接口Bank有2個fPLL和個ATX PLL(有待研究)。

 

 

 

                               圖1 

 圖2

      圖3

圖4

 

圖5

 

 那現在的問題是我已經使用了11個IOPLL,是否可以把部分IOPLL轉成fPLL呢?接下下要了解下PLL的特征:

(1)The fPLLs are located adjacent to the transceiver blocks in the HSSI banks. Each HSSI
  bank contains two fPLLs. You can configure each fPLL independently in conventional
  integer mode or fractional mode.

(2)The fPLL and I/O PLL clock outputs can drive all clock networks.

(3)The dedicated clock input pins can be either differential clocks or single-ended clocks

  for I/O PLL. When you use the dedicated clock input pins as single-ended clock inputs,
  only CLK_[2,3][A..L]_[0,1][p,n]pins have dedicated connections to the PLL.
  fPLLs only support differential clock inputs.

 

(4)The I/O PLLs are located adjacent to the hard memory controllers and LVDS serializer/

  deserializer (SERDES) blocks in the I/O banks. Each I/O bank contains one I/O PLL.

從以上幾個特征來看,fPLL完全可以實現IOPLL的所有功能,只是在輸入上要保證必須為差分。

 

在工程中一個HSSI Bank有兩輸入部分,每一部分要用到一個fPLL,剛好可以,但是例外的是有一個Bank還有一個輸出部分,也要用一個fPLL.

一個HSSI Bank中的fPLL有兩個,如果在這個Bank中要使用到兩個以上的fPLL應該怎么辦呢?這里也引出一個問題,是不同的HSSI Bank之間的fPLL能否共用?

 很幸運,筆者很快從Arria10 Transciver PHY User Giude中找到了3.2.4 Reference Clock Network部分,內容如下:


The reference clock network distributes a reference clock source to either the entire
left or right side of the FPGA where the transceivers reside. This allows any reference
clock pin to drive any transmitter PLL on the same side of the device. Designs using
multiple transmitter PLLs which require the same reference clock frequency and are
located along the same side of the device, can share the same dedicated reference
clock (refclk) pin

很明顯,在同一個Block中的fpLL可以被任一個參考時鍾所驅動。

 


免責聲明!

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



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