xilinx7系列FPGA主要包括:Spartan®-7、Artix®-7、Kintex®-7、Virtex®-7。其性能/密度/價格也隨著系列的不同而提升。Spartan7系列是7系列中的屌絲青年,擁有最低的價格、最低的功耗、最小的尺寸以及最低的設計難度,一些低端應用中極為合適。Artix7系列是7系列中的普通青年,相對Spartan7系列則增加了串行收發(fā)器和DSP功能,其邏輯容量也更大,適合邏輯一些稍微復雜的中低端應用。Kintex7系列是7系列中的文藝青年,是在所有系列中擁有最佳的性價比,無論是硬核數(shù)量還是邏輯容量,都能滿足中低端、以及部分高端應用需求。Virtex7系列則是7系列中的大佬,只在高端應用中使用,在中低端應用就如同高射炮打蚊子,大材小用!
Xilinx的四個工藝級別
Xilinx目前主要產(chǎn)品有四個工藝等級,通常情況下,Xilinx的產(chǎn)品每個工藝都會有Spartan、Artix、Kintex和Virtex四個族,如下圖所示。
其中45nm工藝的產(chǎn)品只有Spartan6還在“苦苦支撐”,其余產(chǎn)品均已“下架”,隨著2017年5月11日Xilinx官方宣布Spartan7進入量產(chǎn)階段,Spartan6的生命已經(jīng)進入了倒計時階段。
28nm工藝的7系列芯片是Xilinx目前主推的產(chǎn)品,本文就是對該系列的產(chǎn)品進行大致的介紹。
Virtex、Kintex、Artix和Spartan
Virtex系列的器件不僅代表著Xilinx的最高水準,往往也是整個FPGA業(yè)界最好的器件。這個系列的器件一般應用于高速聯(lián)網(wǎng)(10G~100G)、便攜雷達和ASIC原型驗證等領域,這些領域的特點是對資源數(shù)量和性能要求高,但是對功耗和成本不怎么敏感。
Kintex系列器件相對于Virtex系列器件在成本和功耗上做出了一定程度的讓步,在成本、性能和功耗之間達成了一個相對比較好的平衡,但是成本依舊比較高。Kintex器件一般應用于3G/4G無線通信、顯示和Video IO Over等領域。
Artix系列器件在盡可能不降低性能和資源數(shù)量的情況下大幅降低了器件成本,國內(nèi)醫(yī)療設備和軍工行業(yè)用這個系列器件用的比較多。
Spartan系列器件的性能和資源數(shù)量都遠不如前面三個系列,但是勝在價格便宜,所以這個系列的器件在消費電子、汽車電子和工業(yè)領域的應用相對比較廣泛。值得一提的是,Spartan系列器件的性能要比友商Altera的Cyclone系列(跟Spartan對標)高出不少,比如說,Spartan6是支持DDR3的,但是在其之后很晚才面試的Cyclone10全系類都不支持DDR3。
Xilinx器件的訂貨編號(廠商編號)
FPGA器件表面有一行很長的有字母和數(shù)字組成的字符串,這個是Xilinx的訂貨編號,我習慣稱之為廠商編號。7系列各族FPGA的廠商編號具體含義如下圖所示:
從上圖中可以看出,除Spartan系列器件的廠商編號是由十個字段組成之外,其余三個系列的廠商編號都由9個字段組成。
四個系列器件的左數(shù)第一段編碼都是"XC",這倆字符表示該器件是Xilinx生產(chǎn)的商業(yè)級器件,另外還有軍品級和宇航級,不過這倆等級國內(nèi)不太可能通過正規(guī)渠道購買;
左數(shù)第二個字段代表該器件屬于Xilinx的第幾代器件,7系列的這個字段都是7;
左數(shù)第三個字段代表該器件屬于哪個族,S代表Spartan、A代表Artix、K代表Kintex、V代表Virtex;
左數(shù)第四個字段,實際器件上印的是一位或多位阿拉伯數(shù)字,這個數(shù)字乘以1000就是該器件大致的資源數(shù)量,只是大致,并不準確;
左數(shù)第五個字段用于表示該器件的速度等級,-3最高,-1最低,帶L的表示該器件是低功耗器件(低功耗器件的供電電壓比普通器件更低)。這個參數(shù)是廠商對芯片測試篩選后印到芯片上的,是一個經(jīng)驗值。該值越大,表示Block RAM和高速IO等資源的最大時鐘越高,因此在進行設計時需要慎重考慮該數(shù)值。
接下來,Spartan器件的第六道九四個字段和其余三個族的器件的第六到八個字段是該器件的封裝信息,這幾個字段里最后一個字段的數(shù)字代表該器件的引腳總數(shù)(跟用戶引腳數(shù)有區(qū)別),另外幾個兩三個字段的含義就不是很明白了。
最后一個字段表示該器件的溫度等級,國內(nèi)比較常見的是C和I;C代表商業(yè)級(Commercial),可以在0℃到85℃下正常運行;I代表工業(yè)級(Industrial),可以在-40℃到100℃下正常運行。另外兩個等級,對我而言還是只存在于“傳說中”。
7系列FPGA內(nèi)部資源概況
下圖是7系列FPGA各族資源的簡單對比。
下面一系列圖片是各族FPGA資源概覽,其中的IO資源是按最大封裝標出來的,各個器件實際IO資源后面會放。
從上面的四張圖片中可以看出,Virtex7跟另外三個族都不在一個畫風上,最小邏輯單元(Logic Cell)數(shù)是330K個,另外三個族最大邏輯單元數(shù)量分別是480K/200K/100K......
Kintex7看著老大默默安慰自己:好歹咱全型號都配備了GTX,沒事,沒事;Artix7哭暈在了廁所里,都是一個媽生的,差距怎么就那么大尼?Spartan7已經(jīng)陷入了絕望的深淵:馬丹,為啥不給我配PCIe和高速收發(fā)器,Spartan6還有個“T”呢,老紙的T呢?!T呢?!
值得一提的是,7系列FPGA上集成了一個ADC模塊,就是那個“XADC Blocks”,這玩意不僅可以從引腳采集電壓值,還能監(jiān)控自身的供電電源,雖說這玩意在CPU和MCU上不是啥新鮮玩意,但是在FPGA上還是蠻新奇的,起碼對我而言是。
注意看Virtex7那張圖下面第1條和第6條Notes,Virtex7還細分了Virtex7T、Virtex7XT和Virtex7HT。
7系列FPGA IO資源和高速收發(fā)器資源概況
下面一系列圖片是不同封裝FPGA的IO資源和高速收發(fā)器資源表:
IO資源依舊是Virtex7碾壓另外三個族......
從上面的幾張圖中可以看到,7系列的FPGA IO資源有HR和HP兩種規(guī)格。HP支持1.2V~1.8V電壓,HR支持1.2~3.3V電壓。前者的最高傳輸速率要比或者高,但是明顯前者的使用范圍更窄,這個就需要根據(jù)需求自行判斷需要哪種了。
論質(zhì)量的話Kintex7其實要略勝一Virtex7籌,畢竟Kintex7全型號都支持GTX,同時全型號都有HR IO,大部分型號還兼?zhèn)銱P和HR兩種規(guī)格的IO。
7系列三種高速串行收發(fā)器的性能如下
GTH:500Mb/s~13.1Gb/s
GTX:500Mb/s~12.5Gb/s
GTP:500Mb/s~6.6Gb/s
具體到每個器件時,最高傳輸速率還收到前面提到過的速度等級的影響。另外,Xilinx有用來配置高速串行收發(fā)器的IP核,在這個IP核里可以設置具體的傳輸速率和編解碼等屬性。