【ARM杯】關於Xilinx FPGA選型

最近在通過ARM杯倒逼自己學習。ARM杯目前面臨的第一個問題就是FPGA選型。題目要求只能使用Altera的cyclone和max,以及Xilinx的Artix和Spartan。因而我們首先對比了Xilinx產品線,方便日後選型。這篇文章轉載自https://www.cnblogs.com/liujm8421/p/7822905.html

===============================================================================================

最近在工作中發現,雖然一直都在用FPGA,但是對器件本身的瞭解還有太多遺漏,這是野路子自學的後遺症。現在接觸的多了,能看見自己當初都遺漏了些什麼,算是亡羊補牢吧,開始一點一點的把以前遺漏的東西撿起來,這篇博客是個開頭,之後會陸續看一些FPGA內部資源的文檔,然後寫讀書筆記發上來。基本上我發上來的東西都是我不是很熟悉的,所以錯誤可能在所難免,還希望路過的大神能指點一二,小弟先謝過了。

1.Xilinx的四個工藝級別

Xilinx目前主要產品有四個工藝等級,通常情況下,Xilinx的產品每個工藝都會有Spartan、Artix、Kintex和Virtex四個族,如下圖所示。

其中45nm工藝的產品只有Spartan6還在“苦苦支撐”,其餘產品均已“下架”,隨着今年(2017年)5月11日Xilinx官方宣佈Spartan7進入量產階段,Spartan6的生命已經進入了倒計時階段。

28nm工藝的7系列芯片是Xilinx目前主推的產品,本文就是對該系列的產品進行大致的介紹。

另外,儘管早在一年多以前的2016年10月13日,Xilinx官方就已經宣佈了16nm的FPGA已經進入了量產階段,但是到現在爲止,20nm和16nm工藝的FPGA還是隻存在與“傳說中”。

2.Virtex、Kintex、Artix和Spartan

Virtex系列的器件不僅代表着Xilinx的最高水準,往往也是整個FPGA業界最好的器件。這個系列的器件一般應用於高速聯網(10G~100G)、便攜雷達和ASIC原型驗證等領域,這些領域的特點是對資源數量和性能要求高,但是對功耗和成本不怎麼敏感。

Kintex系列器件相對於Virtex系列器件在成本和功耗上做出了一定程度的讓步,在成本、性能和功耗之間達成了一個相對比較好的平衡,但是成本依舊比較高。Kintex器件一般應用於3G/4G無線通信、顯示和Video IO Over等領域。

Artix系列器件在儘可能不降低性能和資源數量的情況下大幅降低了器件成本,國內醫療設備和軍工行業用這個系列器件用的比較多。

Spartan系列器件的性能和資源數量都遠不如前面三個系列,但是勝在價格便宜,所以這個系列的器件在消費電子、汽車電子和工業領域的應用相對比較廣泛。值得一提的是,Spartan系列器件的性能要比友商Altera的Cyclone系列(跟Spartan對標)高出不少,比如說,Spartan6是支持DDR3的,但是在其之後很晚才面試的Cyclone10全系類都不支持DDR3。

3.Xilinx器件的訂貨編號(廠商編號)

FPGA器件表面有一行很長的有字母和數字組成的字符串,這個是Xilinx的訂貨編號,我習慣稱之爲廠商編號。7系列各族FPGA的廠商編號具體含義如下圖所示:

(http://images2017.cnblogs.com/blog/1111580/201711/1111580-20171112204648872-656667530.jpg)

從上圖中可以看出,除Spartan系列器件的廠商編號是由十個字段組成之外,其餘三個系列的廠商編號都由9個字段組成。

四個系列器件的左數第一段編碼都是"XC",這倆字符表示該器件是Xilinx生產的商業級器件,另外還有軍品級和宇航級,不過這倆等級國內不太可能通過正規渠道購買;

左數第二個字段代表該器件屬於Xilinx的第幾代器件,7系列的這個字段都是7;

左數第三個字段代表該器件屬於哪個族,S代表Spartan、A代表Artix、K代表Kintex、V代表Virtex;

左數第四個字段,實際器件上印的是一位或多位阿拉伯數字,這個數字乘以1000就是該器件大致的資源數量,只是大致,並不準確;

左數第五個字段用於表示該器件的速度等級,-3最高,-1最低,帶L的表示該器件是低功耗器件(低功耗器件的供電電壓比普通器件更低)。這個參數是廠商對芯片測試篩選後印到芯片上的,是一個經驗值。該值越大,表示Block RAM和高速IO等資源的最大時鐘越高,因此在進行設計時需要慎重考慮該數值。

接下來,Spartan器件的第六道九四個字段和其餘三個族的器件的第六到八個字段是該器件的封裝信息,這幾個字段裏最後一個字段的數字代表該器件的引腳總數(跟用戶引腳數有區別),另外幾個兩三個字段的含義就不是很明白了。

最後一個字段表示該器件的溫度等級,國內比較常見的是C和I;C代表商業級(Commercial),可以在0℃到85℃下正常運行;I代表工業級(Industrial),可以在-40℃到100℃下正常運行。另外兩個等級,對我而言還是隻存在於“傳說中”。

4. 7系列FPGA內部資源概況

下圖是7系列FPGA各族資源的簡單對比。

下面一系列圖片是各族FPGA資源概覽,其中的IO資源是按最大封裝標出來的,各個器件實際IO資源後面會放。

從上面的四張圖片中可以看出,Virtex7跟另外三個族都不在一個畫風上,最小邏輯單元(Logic Cell)數是330K個,另外三個族最大邏輯單元數量分別是480K/200K/100K......

Kintex7看着老大默默安慰自己:好歹咱全型號都配備了GTX,沒事,沒事;Artix7哭暈在了廁所裏,都是一個媽生的,差距怎麼就那麼大尼?Spartan7已經陷入了絕望的深淵:馬丹,爲啥不給我配PCIe和高速收發器,Spartan6還有個“T”呢,老紙的T呢?!T呢?!

值得一提的是,7系列FPGA上集成了一個ADC模塊,就是那個“XADC Blocks”,這玩意不僅可以從引腳採集電壓值,還能監控自身的供電電源,雖說這玩意在CPU和MCU上不是啥新鮮玩意,但是在FPGA上還是蠻新奇的,起碼對我而言是。

注意看Virtex7那張圖下面第1條和第6條Notes,Virtex7還細分了Virtex7T、Virtex7XT和Virtex7HT。

5. 7系列FPGA IO資源和高速收發器資源概況

下面一系列圖片是不同封裝FPGA的IO資源和高速收發器資源表:



IO資源依舊是Virtex7碾壓另外三個族......

從上面的幾張圖中可以看到,7系列的FPGA IO資源有HR和HP兩種規格。HP支持1.2V~1.8V電壓,HR支持1.2~3.3V電壓。前者的最高傳輸速率要比或者高,但是明顯前者的使用範圍更窄,這個就需要根據需求自行判斷需要哪種了。

論質量的話Kintex7其實要略勝一Virtex7籌,畢竟Kintex7全型號都支持GTX,同時全型號都有HR IO,大部分型號還兼備HP和HR兩種規格的IO。

7系列三種高速串行收發器的性能如下

  • GTH:500Mb/s~13.1Gb/s
  • GTP:500Mb/s~12.5Gb/s
  • GTP:500Mb/s~6.6Gb/s

具體到每個器件時,最高傳輸速率還收到前面提到過的速度等級的影響。另外,Xilinx有用來配置高速串行收發器的IP核,在這個IP核裏可以設置具體的傳輸速率和編解碼等屬性。

6.關於價格,看看就好

最後放幾個淘寶上各族FPGA的報價感受一下爲什麼說FPGA總體上不適合大規模消費電子領域。

Spartan7還沒有正式出貨,這裏先用Spartan6代替一下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章