FPGA基礎知識24(xilinx 高速收發器系列:Xilinx 7 系列的時鐘資源(1))
談到數字邏輯,談到FPGA設計,每位工程師都離不開時鐘。這裡我們簡單介紹一下xilinx 7 系列中的時鐘資源。時鐘設計的好壞,直接影響到佈局佈線時間、timing的收斂情況,FPGA的時鐘設計非常重要,認識FPGA的時鐘資源很有必要。
FPGA設計是分模組的,每個模組都有自己的時鐘域。FPGA有很多的對外外設介面,這些介面很多是源同步的設計,所以按照驅動能力和邏輯規模大體可以分為全域性時鐘和局域時鐘。
全域性時鐘,顧名思義就是FPGA內部驅動能力強,驅動範圍大的時鐘資源。所以這類資源在FPGA比較寶貴,一般器件手冊都會有多少個全域性時鐘的介紹。
局域時鐘則只是能夠驅動FPGA部分割槽域,比如BUFR、BUFMR、BUFIO、BUFH等。
XilinxFPGA相對Altera 在時鐘資源上劃分比較細緻,很多早期altera的使用者切換到xilinx平臺感到很多術語沒聽過。
本節先提到xilinx 7系列的幾個非常常見的時鐘資源問題,希望您看到了解後不用再諮詢FAE了,^_^
Q:時鐘接到任意管腳麼?
A:這個問題很初級,但也會有工程師認為時鐘隨意引入;其實FPGA都有IO定位,在7系列中尾綴帶有MRCC、SRCC 才是專用時鐘管腳了,這裡涉及到時鐘的專用佈局佈線資源。即使時鐘頻率不高,也不建議使用普通IO管腳。
Q:單端時鐘接到P 還是N ?
A:這個問題也很常見,通常在單端時鐘需要連線到P端了,否則也會佈局佈線錯誤。
Q:BUFR和BUFMR 有什麼區別 ?
BUFMR是7系列才有的時鐘buffer,它是在有些源同步設計中邏輯IO跨上中下三個bank;
而BUFR僅僅能夠驅動一個bank,所以需要bufmr級聯bufr來完成每個bank的功能,如圖。
Q:高速介面的參考時鐘可以內部BUFG引入麼?
A:這個問題很多客戶遇到,客戶希望能夠通過內部邏輯走線到高速的參考時鐘網路上;原理上是可以有這條通道的,如下圖。但實際xilinx並不推薦這類時鐘應用,因為參考時鐘的抖動指標影響到整個高速的傳輸,建議外部使用專用晶振的時鐘引入。
Q:BUFH怎麼用?
A:BUFH 可用於互聯邏輯、SelectIO 邏輯、SDP48A1 模組或 Block RAM 資源的時鐘驅動。
Q:Spartan6 有bufio2 如果移植到7系列怎麼辦?
A:這是很多S6客戶移植的問題,當遇到bufio2時必須要使用bufr + bufio一起來完成。因為在S6上很多設計需要分頻,在7系列上必須使用bufr來完成。還有如果burfio2 還承擔了取反的功能,在7這裡可能比較麻煩,最簡單的是直接邏輯反了。
Q:時鐘資源選擇上是不是BUFG最優?
A:這個要根據設計,很多AD DA需要源同步設計,如果上了BUFG 由於時鐘走線延遲較大;完全很資料不同步,很難再進行正確的取樣。介面設計的邏輯量一般比較小,不建議上全域性。