Xilinx FPGA底層資源架構與設計規范_第1頁
Xilinx FPGA底層資源架構與設計規范_第2頁
Xilinx FPGA底層資源架構與設計規范_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

XilinxFPGA底層資源架構與設計規范題主最近開始接觸和FPGA的方案驗證相關的工作內容,需要把握FPGA內部資源的詳細信息,所以又仔細查看了官方的器件手冊。這一次給大家分享的內容主要涉及XilinxFPGA內的CLBs,SelectIO和Clocking資源,適合對FPGA設計有時序要求,卻還沒有足夠了解的朋友。參考器件上,雖然一些專用的資源都集中在高端的FPGA型號中,不過題主想了想,還是把它們放在該系列后續的文章中吧。下文中的舉證皆來自Spartan6器件文檔,所以也不會超出Spartan6涵蓋內容。傳統的FPGA內部資源分類作三類,可配置邏輯模塊(ConfigurableLogicBlock)、輸入輸出模塊(InputOutputBlock)和內部布線資源(Interconnect)三個部分,這些大家都知道的。隨著FPGA的發展,為了滿足對信號處理和片上儲存的需要,又在前三類基礎上增加了塊RAM(BRAM)、時鐘管理單元和硬件乘法器,之后又在部分系列里增加了PPC和高速串行輸入與輸出等等。下文將要提到的CLB、SelectIO和Clocking資源里,SelectIO資源是比較豐富的一類,所以在順序上把它放在最后。正文:首先說說CLB吧,它是一類最重要,其實也是最易于使用的結構。Xilinx把盡可能多的資源配置接口開放給用戶,但是出于控制開發周期,并且提高系統穩定性的考慮,CLB不是其中之一,它的配置方案幾乎全部由IDE實現過程智能分配,用戶可以約束特殊Slice的位置,但很少有這種必要,交給IDE來完成會更加有效。來看看它的結構(有一些圖片資料不好找,后期整合的時候會補全):①CLB資源會根據FPGA的尺寸被內部時鐘網絡分割成若干個區域,一般每個區域是40個CLB單元高度;②每個CLB連接到一個開關矩陣來接入全局布線矩陣;③一個CLB單元包含一對Slice單元(兩個Slice無直接連接,并且在CLB間成列分布,每個縱列的Slice有一條獨立的進位鏈);④一個CLB中下方的Slice記為Slice0,上方的記為Slice1;⑤每個Slice包含4個查找表(LUTs),8個存儲單元(FF),以及一些選擇器和進位邏輯,這些單元用于提供邏輯、算術和ROM功能;⑥有一部分Slice支持DistributedRAM和32位移位寄存器功能,被記為SLICEM,其他的記為SLICEL(一個CLB最多有一個SLICEM,每個CLB縱列至少有一個SLICEM,在DSP48E(XilinxFPGA內的硬件乘法器)縱列旁的兩個CLB縱列,每一個CLB都有SLICEM)。SLICEM

(DistributedRAM和ShiftRegisters資源都在LUTs上掛載)最后看一下一個CLB中的資源總量:當然具體到Slice中幾種資源還有一些細節需要關注,主要是和LUTs的特性相關,不過等后面加入案例來講吧。如果此前你已經對FPGA設計有一些經驗和體會的話,現在想必已經對FPGA的查找表結構有了自己的理解。還是簡單提及一下LUTs的作用,就是查表,,,在我看來,它就是一個6輸入2輸出的多功能選擇器,可以直接把Verilog中always塊的行為映射到它的行為上,通過對輸入端口的連接配置,它就能夠實現我們需要的信號行為模型。完整的過程以后會加入案例來講。讓我們緩一口氣,先進入下一個內容。XilinxFPGA內部有復雜的時鐘資源網絡,來維護大數量邏輯資源條件下的時序要求和系統穩定。主要分為全局時鐘線和局部時鐘網絡,在Spartan6上,還有數字時鐘管理器(DCM)和數字鎖相環(PLL)兩種硬核資源,用以輔助時鐘資源網絡。Spartan6內部提供了16個全局時鐘驅動buffer和40個局部時鐘的,它們均勻地分布在上文提到的被時鐘網絡分割出來的各區域中:我們可以通過例化BUFG和BUFIO等原語調用這些資源,為GTP(H/X/Z)和DDR、AD/DA這樣的高速信號組提供更低相位偏移的時鐘參考,但是時鐘資源的分配有比較多的使用規則,在資源有限而布線拮據的情況下,時常會被Xilinx規則檢查器告知使用違例。之后題主會結合一些真實案例來引導大家去規避這樣的錯誤。時鐘資源所用的篇幅也很短,事實上涉及到時鐘的問題很多,但是要在需要的時候再去認識才有價值,不然沒有依據的去了解,也沒有什么價值。接下來看看FPGA內部最為豐富的I/O資源,畢竟現在市場上FPGA最廣泛和最擅長的,就是做接口,下文包含的很多內容,在多個系列的FPGA上都是差不多的規范:①FPGA的I/O資源被分布在若干個Bank中,每個Bank中有20個I/OTile;②一個Tile包含2個IOB,2個ILOGIC,2個OLOGIC和2個IOEDLAY,用于對雙端(差分)信號配對;③IOB包含輸入、輸出和三態驅動,可配置為不同的I/O標準;IOB直連一對I(O)LOGIC,I(O)LOGIC包含數據I/O的邏輯資源和三態控制,I(O)LOGIC也可以通過調用相關原語配置為I(O)SERDES,實現數據的串并行轉換;IOB單元支持大量的接口標準,可以對負載能力和轉換速率進行控制。并且同Bank內支持復合電壓輸出,以驅動一些低壓I/O標準,不過對參考電平的選擇有一些規則。對于單端和雙端信號I

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論