如何評價Xilinx推出的ZYNQ系列?會在未來預期的智能硬體浪潮里佔據一席之地么?

如題!這款產品推出也已經好幾個年頭了,經過初期的磨合與試錯,按理將會進入一個發展期。不知該系列產品於智能硬體掛鉤有多大?想請有關人士談談你的看法。


先說結論:我認為和消費級的智能硬體關係不大。那麼他的應用領域到底在哪裡呢?

我們來看看官網上給出的類別:

從這裡我們至少可以看出一點:消費級智能硬體本來就不是這款產品的初衷。就算是第一個所列出的駕駛輔助系統,那也是automotive級別的硬體,對於可靠性,冗餘度等都有很高的要求。

簡而言之,我認為這個產品的目標就是那些原本使用ARM+FPGA來做產品的項目。而且最關鍵的是,其性能瓶頸有可能在於ARM與FPGA互相的通訊和協調,而且BOM上二(甚至多個)換一可以節省成本。既能節省成本又能提高性能,有這種好事?還真有,下面我來舉個例子。

GW Instek(台灣固偉) 1000B 系列示波器

數字示波器是一個很典型的需要ARM處理器和FPGA的應用,一般來講,撇開自行設計和生產ASIC的高端廠商不談,入門級和中級的示波器一般是由如下幾個部分構成的:

1. 一塊高性能FPGA來處理從高速ADC上傳輸過來的大量數據。例如入門級的50Mhz或者100Mhz的示波器一般會配備一塊1Gsp/s的ADC,鑒於示波器的存儲特性,數據會經由由高速SRAM然後到高性能fpga做處理。一般示波器的信號處理,例如波形擬合,FFT運算等都是在這裡進行的。

2.一塊性能不錯的應用處理器,如ARM。這個處理器會用於接受面板上旋鈕和按鍵的信息然後將命令處理分發。一方面會用於更新示波器屏幕界面上菜單、相關數據顯示等信息;另一方面示波器和外界的介面,例如USB(和計算機上位機軟體互通)、USBhost (波形直存優盤是現代示波器常用功能),LXI(一種標準化的網路儀器介面)等都是通過這個處理器來管理的。

3.如果追求比較高的波形顯示率,還有可能會配一塊專用的顯示FPGA,用於整合從數據FPGA上直接更新的波形信息,並在上面覆蓋上從應用處理器上傳輸來的菜單,測量數據等信息,然後顯示到屏幕上。

4.如果還捉襟見肘,有可能會用一塊低性能FPGA或者CPLD來做邏輯整合(Glue Logic)。

這樣的方案,可以用一片zynq來整合,達到更低的成本甚至更高的性能,還是很有吸引力的。廢話不多說,上圖。

聲明:以下圖片轉自著名論壇eevblog,版權所有為博主Dave Jones

EEVblog #824

這個是正臉,典型的四通道數字示波器布局。

拆開來看,主板只佔了一半不到的大小,左下方的金屬盒內是模擬前端電路,上方緊挨著的小晶元是ADC,而中間扣在上方的一塊小電路板,主要的應用電路就在上面。我們把它翻過來:

嗯,東西不多嘛,上方兩片長方形是SRAM,左邊是鏈接屏幕的排線,右邊有USB和網路介面的Driver。中間覆蓋著散熱片的大傢伙很可疑,弄開看看?

果然,是一片ZYNQ。PS右邊是一個Flash Memory。

具體型號和價格如下:16/1/22價格為62.79美刀,一個更早的價格為90.77澳元。

性能上這款只是zynq系列裡面較低的,1G的ARM Cortex-A9 和28K logic cell的Artix-7的 組合

那麼他的性能如何呢?

Oscilloscopes

http://www.xilinx.com/publications/prod_mktg/zynq7000/goodwill-casestudy.pdf

根據GW的性能表和xilinx官網的一份報道,有最顯著的提升的就是波形顯示率,在入門級低端示波器上達到了50000 waveform/s 的速度,和之前的產品相比提高了5倍左右。而使用了更高級zynq的2000系列更是達到了120000 waveform/s。這是因為晶元級的整合極大提高了fpga和arm之間的數據傳輸速率,相關採樣信息的傳輸帶寬從原本的2-10Msps提升到了10-30Msps。此外,FFT的性能也由2048point提升到了1M pts,將近300倍的提升。

性能上基本是提升了,那麼成本呢?我們來對比幾款性能相似,產品定位也相似的示波器。(也就是競爭者)

我們先來看看普源(Rigol)的1054Z,也是4通道入門級示波器。

拆開來後面是這樣的:

差不多大小的示波器,這個用了一整個板子,PCB成本估計要高一些。

同樣,下面的金屬盒子是模擬前端,上面那個小黑方塊是ADC,再上面那個就是高速數據的FPGA了。大致一看好像東西多了不少,我們放大再放大:

這是一片spartan 6 FPGA,體積更大,功耗更大,價格嘛。。。:

58刀,快趕上zynq了。。。

讓我們繼續看:

這個就是我所說的應用處理器,這是一款飛思卡爾(Freescale)的iMX283, ARM9 的處理器,目前1000片價格為:

6刀不到,嗯,還不賴。

這片就是所謂的glue logic了,用的是actel 的 ProASIC3系列的fpga。

價格也不貴,我們按3.4刀算吧~

下面咱們就來分析一下成本:

1.晶元對晶元:zynq 63USD;spartan6+imx+proasic=58+5.8+3.4=67.2刀。這不是一個嚴謹的對比因為我們並不知道兩邊廠家到底是按多少拿的。但是單一zynq小有優勢

2.周邊晶元:spartan要配sram和flash,imx要配DDR RAM,proasic幸好是flash型的不用配RAM。而zynq只需要一份sram和flash就夠了。此外,各個晶元電壓不同,三份就需要三個甚至更多的電源軌,然後就需要更加複雜的上電順序設計;再加上每個設備都需要一個穩定可靠的時鐘信號,時鐘分配也需要更加複雜。單一晶元解決方案在這個角度優勢較大。先進位程還帶來了更低的功耗和發熱,在散熱片和熱量管理方面的成本也就更低,甚至可以使用功率更小(更便宜)的電源供電,風量更小(更便宜)的風扇散熱。這些就不一一對比了。

3.生產製造:更多的晶元意味著貼片機和焊接的成本提升;由於系統整體較小而可以整合成小板,生產商甚至可以在主板上採用層數較少的PCB而在小面積系統板上使用多層PCB節省更多的製造成本。這點有沒有優勢,取決於廠商採取什麼思路了,不過避免了fpga和arm之間複雜的信號鏈路的zynq執行難度小些。

4.開發:一個zynq,一個開發工具,一組開發人員。三個來自不同廠商的晶元,意味著有可能需要三種不同的開發工具,三組不同的開發人員,以及三套不同的燒寫工具。這點上,zynq還是小有優勢的。

綜上,這個例子說明了一點,就是在一部分原本解決方案里就採用ARM+FPGA的產品里,使用zynq不僅能降低成本,還可以提高性能

1/29/2016 更新:

評論中胡椒粉提供了如下經驗,特此分享:

由於項目需要,實際對ZYNQ特性進行一些測試,結果還是很滿意的,和你說的基本一致,不過我還想再補充兩點:

1、PL配置方面,ZYNQ中提供PCAP介面,很方便可以的對PL進行配置,很靈活,配置速度實測過,也很令人滿意,從上電到PL配置完成時間小於200ms,而傳統的ARM+FPGA架構FPGA配置一般是使用:ARM通過GPIO模擬配置時序配置FPGA、ARM通過CPLD對FPGA進行配置或者乾脆FPGA通過片外FLASH進行配置,無論用哪個方案從速度、靈活性、易用性方面和ZYNQ都無法相提並論,我們現在就在利用ZYNQ這個優勢對FPGA固件進行在線更新;

2、功耗方面,對於功耗這個問題我覺得大多數人還是挺主觀的,我們設計了一款產品用USB供電,由於USB枚舉時候的電流只有100mW,對功耗有些敏感,所以對ARM+FPGA和ZYNQ兩種架構都進行了試製和測試

1)實測過ST32F4(180MHz)+Spartan6(180MHz)+SPI FLASH+usb PHY(其他的外圍電路功耗忽略不計)功耗大約在1.1W左右,Spartan6(180M)功耗在550mW,ST32F4(180M)約在300mW~400mW左右,

2)同一個系統原型我們用ZYNQ也做了一遍zynq(PL-180MHz,PS-760MHz)+ddr3(256MB,一片)+QSPI+TF Card功耗約在1.7W,PL端功耗約為400mW左右,PS端1.1W(PLL-0.4W,DRR控制器-0.4W,其餘電路300mW左右)

實測之後我們發現FPGA的功耗在總功耗中所佔的比重其實沒那麼誇張,系統的主要功耗集中在PLL和DDR控制器以及DDR上。 另外,實際設計經驗是,為了達到一個理想的信噪比,外部匯流排要麼主頻高,要麼電壓高,

實際的在匯流排通訊上的功耗也是很可觀的,這點內部匯流排還是略有優勢的。與同級別的運算能力的其他的架構相比,zynq的功耗其實並不算高。

PS:如果大家有需(dian)求(zan),我還可以介紹一下我認為和消費級智能硬體相關的FPGA~

利益相關:不相關。我只是個在讀博士生罷了,用的示波器還是自己修好的老示波器。非要說相關,我在賽靈思官網註冊了賬號,拿了個免費掛曆~


搞FPGA也有4年了,主要做高速實時信號處理方面的應用,基本上開發都是手寫VHDL自頂向下的開發模式。直到去年因為用ADI的一塊採集板用上了Xilinx的軟核microblaze,主要也就是控一下AD(也是因為ADI給的官方驅動就是這樣的),逐漸開始接觸到Xilinx目前主推的異構架構,ZYNQ其實就是一種異構架構,在這方面也做了一些工作和研究,也談談自己的一些看法。

對題主的問題,FPGA應該永遠不會出現在智能硬體上,這個也沒什麼好說的。

但是對於ZYNQ或者說異構架構,我覺得還是很值得說的,去年參加上海AVNET的會,發現ZYNQ佔了很大的比重,因為項目的原因也和在場的FAE做了一些溝通,ZYNQ這種ARM+FPGA的架構首先可以解決一方面的問題,就是將傳統的上位機+FPGA處理板卡(我們之前做的項目基本上都是工控主板加若干FPGA處理板卡的架構,通過CPCI進行指令數據傳輸)放到片內解決或者說一塊板卡上解決,用PS做上位機PL做實時數據處理,PS和PL之間的通信可以採用AXI匯流排(相當於傳統CPCI或者PCIE匯流排),但是缺點就是PS和PL是共享一個內存,這一點貌似在Xilinx新產品中做了改進,PS和PL可以有獨立的內存控制器。這方面應用舉一個例子就是軟體無線電方面的一些應用,前端採集,FPGA做處理,ARM核做一些控制和後端應用。

其次,看到上面的一些回答也提到了就是ZYNQ這種異構架構可以更好的利用FPGA資源,上面很多回答是從開發工具角度考慮,比如system gen,HLS等。我對這一點的認識不太一樣,我覺得更多的不是在開發工具上,而是在架構上可以釋放FPGA的潛力。ZYNQ異構架構其實相當於對處理進行了抽象,將控制邏輯和處理邏輯分離(類似於CPU+GPU的高性能運算平台),控制邏輯部分利用片內SOC(PS或者說ARM核)實現,處理(特別是FPGA的強項實時處理)部分放在PL實現,而他們之間通過AXI標準匯流排連接,帶寬非常寬,而且便於標準化IP核封裝和使用。從開發的角度來看整體上雖然開發難度提升了,但是其實是進行了解耦,FPGA開發人員可以專註做邏輯、演算法方面的開發,可以不用再用HDL語言實現複雜的難以調試的控制方面的邏輯,軟核部分用專門做嵌入式的一幫人來開發,本身也不需要了解太多FPGA相關的知識。

最後上述架構可以解決什麼樣的問題呢,我想這也是Xilinx和Altera這兩年極力開拓的市場,就是面向數據中心(雲計算,高性能計算領域)的加速板卡,當然傳統的FPGA也可以完成這項工作,但是我覺得ZYNQ的異構架構可以更有效率的去實現。FPGA做加速板卡從功耗和性能上比傳統的GPU卡都有優勢(當然也是在特定應用場景下),而且FPGA一個極大的優勢就是可重複編程性,局部動態可重配DPR也是Xilinx主推的一個功能,其思想其實就是分時復用,也是對FPGA資源利用效率的一種提升,對與做加速板卡這種應用來說也是一個非常實用的功能。目前這方面的事情也已經有人在做了,微軟的bing,國內百度的深度計算都用到了FPGA加速板卡(不過不知道是不是用的ZYNQ)。前兩年在KickStarter上還出了一款mini超算平台Parallella,這個就是用的zynq平台,他的架構更加獨特,板上除了一片zynq之外還有一片epiphany的浮點運算單元,他就是充分利用zynq的異構架構實現高性能計算以及板間互聯。

自己對ZYNQ還是挺感興趣的,雖然沒有真槍實彈用過,畢竟在學校還是小團隊,沒見過什麼大世面,希望能和更多人一起交流!


我兩年前接觸zynq,基於它做了一個4G均衡器,獲得了Xilinx開源硬體大賽二等獎。ZYNQ屬於ARM硬核搭配FPGA,號稱真正的SOC,FPGA的話屬於7系列,資源還是不錯的,當時做得演算法跑到了150M時鐘,帶寬為600MB/s,還算挺快的。

但是我覺得除了通信領域,雷達演算法什麼的,其他領域沒什麼用。再者這東西賣3000多,功耗也極高,做智能硬體那是扯淡。

還有,FPGA的穩定性實在太差。我用FPGA做ASIC驗證的時候,例化GTH做SATA的PHY,經常會掉鏈子,導致device和HOST失去鏈接。之前還出過一個非同步FIFO在沒有任何輸入情況下,輸出震蕩2s的事情,簡直太扯了。


其實開發工具已經做的很高效了,邏輯部分用HLS,軟體部分用petalinux或xilinux.

難的是集成。


玩了快兩年了吧,FPGA裡面嵌硬核也不是啥新鮮主意了,當年x家就放過PPC在裡面,個人感覺7系列的FPGA再加個雙核A9的ARM,比以前往FPGA裡面塞Microblaze省不少資源,而且CPU性能也強不少,也能直接起linux了,平時跑跑圖像或者通信的演算法,做個原型系統還是挺方便的。缺點也不少,首先這個ARM+FPGA搞得開發門檻高了,而且調試起來也麻煩,不過最近的vivado裡面軟硬體可以互相trigger還是感覺挺好的。

我還是比較看好zynq的吧,主要是最近看到了這個SDx Development Environments

High Level Synthesis如果真的能把效率做上去,直接把瓶頸部分放到硬體上,能像寫軟體一樣開發FPGA,這絕對是大殺器吧,不過這個SDx還沒用過,只是看過幾個演示視頻,期待儘快能上手玩一玩


ZYNQ SOC一開始出的時候我覺得是個大殺器,曾經有段時間,每計劃一個新項目都先想能不能用上ZYNQ。但是最後都是發現它的PS性能綽綽有餘,而PL/IO遠遠不夠,換大容量的成本又漲得太快,還不如用K7+單獨的ARM晶元。說到底,大家用FPGA也是為了可以做一些靈活的演算法,而裡面嵌軟核,只是想實現通訊、控制的功能,不要求多高性能,所以占的資源比例也不會太多。竊以為,ZYNQ把PS做那麼好,是有雞肋了:對於對PS有要求的用戶,現在高性能的A7晶元到處都是白菜價,何必花那個冤枉錢買PL。對於對PL有要求的用戶,用ZYNQ的IO又少,成本又太高。對於有高帶寬要求的用戶,說實話,PS的處理速度又能快得到哪裡去,到隨後還不是要把很多演算法offload到PL中。


FPGA類不是只適宜小眾(頂天,中等規模)市場么?加了CPU也是增加靈活性而已,仍然屬於FPGA類。基本面不變。


玩了快兩年,可以聊聊

/***********************************update**************************************/

成本

如果zynq要往只能硬體掛鉤的話,價格得大降才有可能。利益相關,只能大致描述,xilinx代理商給的報價分為幾個檔次,這也是zynq的普遍報價,第一檔是40-50刀,最低一檔是10-20刀,主要取決於量。坦率講,哪怕到了20刀,對於智能硬體而言還是太貴了。

必要性

是否有必要在智能硬體中使用zynq?我的愚見,智能硬體最終依附的網路是IoT,那IoT中的硬體節點定位在於MCU,使用的是基於低功耗的物聯網操作系統。這裡兩個信息點,一個是MCU,一個是低功耗。zynq系列晶元基本定位並不在此,除非推出低功耗低成本版的晶元,要不然,必要性不大。普通MCU,如M3,M4才是主流。

現有應用

誠如題主所言,zynq系列晶元已經推出了幾個年頭,近一兩年才陸續投入商用。主要應用場合有工業控制,電網,通信,機器視覺等工業級應用。實際上,對於工業級應用而言,其價格也基本算高。

功能

用了快兩年,只能說很強大。雙核A9+7系FPGA,放到現在也基本算是強的。ARM(PS側)的部分跑AMP,SMP基本無壓力,Vxworks,QNX也很適用。FPGA(PL)的部分資源湊合,跑普通的演算法,做一些工業級處理等也沒有問題。開發環境適用vivado+SDK,最新應該已經出到2015.1版本了。最近Xilinx還推出SDSoc的開發環境,能使用C/C++來開發FPGA,使軟體工程師能從硬體中解放。而且今年年底到明年初還會推出4核A53+PL的架構,性能又上一個量級。

話說回來,這樣的晶元適用於智能硬體嗎?


其實zynq是一盤大旗,跟智能硬體和IoT關係倒不大,真正的核心是SDx,用編程語言直接寫FPGA程序,目標是讓廣大碼農都可以成為FPGA的潛在用戶,而不是像現在必須是懂電路的硬體工程師才會寫FPGA程序。


不會,太貴,消費類用不起


用zynq用了兩三年,工控領域,說一下感受。

zynq首先不適合智能化,即便是出了sdx系列,還是沒有人家英偉達的軟體生態鏈好,而且功耗成本都不低。

在工控領域,替代cpu+fpga的方案還是很有市場,但是對於稍微複雜一點的應用,io資源就略顯不足。不過行業里經常是cpu和fpga都只用了部分資源,所以zynq進來還是很有優勢。

不過未來,隨著工藝的發展,如果在功耗和io資源問題都能解決,軟體生態鏈能建立,從集中控制的角度來看,或許能開闢新的天地。


成本太高,搞智能硬體估計前景不大。


和安富利的FAE聊過這個東東,XILINX在主推的一款產品,借了DEMO板玩了一下,工具軟體上手不複雜,功耗有點高,因為是做控制方向高速信號用的少,所以沒有深入去玩,感覺只有通信領域和伺服電機控制用得上,成本上確實比FPAG+ARM的傳統方案有優勢


在通信領域還是有一定用處的。優點和缺點一樣明顯。


我覺得並沒有什麼卵用。哪個公司不需要搞個大新聞,吹吹牛逼,畫畫大餅,來騙投資人的錢。


mark,回頭寫


mark一下

回頭添加答案


用過zedboard.總的來說性能絕對是業內領先的,但是價格封裝功耗散熱這幾個因素決定了它在智能硬體領域作為不大。不過殺雞焉用牛刀?


推薦閱讀:

晶圓的邊緣為什麼要「鋪滿」電路?
晶元項目中,如果流片失敗或有重大 bug,能不能只問責於驗證人員工作的不充分?
請問RFIC與Mixed-Signal IC是否是兩條幾乎毫不相關的path?
华为麒麟芯片的含金量有多高?
未來是屬於 ARM 為代表的精簡指令集還是 x86 為代表的複雜指令集?

TAG:互聯網 | 物聯網 | 晶元集成電路 | SoC | 智能硬體 |