請問zynq這種嵌入ARM硬核的FPGA比純邏輯設計的FPGA有哪些優勢和劣勢?
zynq是xilinx的新一代的嵌入ARM硬核的SOC,
請問1、這種FPGA器件相對以往傳統FPGA有哪些優勢和劣勢?2、針對圖像和視頻處理的,這兩類哪一種器件更適合?3、相同價格的情況下,ARM硬核的引入相比傳統FPGA是否會降低zynq的性價比和靈活度?先謝謝您的關注和回答!
內嵌處理器硬核的的FPGA不是第一次出來,只不過ZYNQ的宣傳比較狠,以前Xilinx也出過內嵌的Power-pc硬核的FPGA,不過後來基本沒啥人用,就黃了。
Zynq出來有一定市場,但是這個市場不是傳統FPGA的主流市場,而是為了和微處理搶一些控制領域的市場。但是目前在反響上,聽說,不如預期,首先對小公司來說,同時熟悉ARM和FPGA的人不多,在大公司來說,由於他們面向的市場對專業分工要求更高,一般都使用FPGA+CPU的方式,對這類Zynq這種新鮮事物還是持保留態度的,觀望的比較多。
主要是業餘玩家,Designhouse,或者一些創業型企業用的比較多,但是這部分佔整個FPGA市場的比例很小下面講一些優勢和劣勢優勢:1. 集成度高: 省一個ARM的面積,省掉通訊匯流排的資源消耗 2. 通訊更簡便:省掉CPU與FPGA之間的通訊匯流排,通訊速度更快,信息傳遞結構更簡單 3. 比FPGA+cpu便宜(當然這個價格是要看購買渠道的,差的很離譜)劣勢: 1. FPGA可用管腳數量下降 2. 開發人員要求高,開發成本高3. 可用資源數不如同等面積FPGA,功耗遠大於同等處理器的CPU
優勢在於降低了軟體開發的難度:不用費很大的力氣就能用上arm,而且xilinx在自己的工具中對IP驅動以及linux內核等等做好了軟體支持,一站式起linux,方便地融入arm的軟體生態系統。傳統方式用arm的rtl級的ip的話,工作量巨大,而且性能還上不去;如果用帶arm的SoC的話,PCB設計難度更大;如果像傳統的xilinx的解決方案那種用microblaze的CPU的話,性能渣,且無法融入arm的軟體生態。
從架構上來說,內部處理器核與介面的內部匯流排可以相當高效
在沒有解決工具便利性的前提下,這東西應用面非常狹窄。後面還得看被Intel收購了的Altera怎麼發展。
xilinx的軟體跟天書一樣,一看就是技術人員主導的..........所以推廣起來一直不利,他們該學學Arduino 的模式
首先,zynq並不能說是一個嵌入arm核的FPGA.從他的啟動過程你就可以發現,絕對是arm主導的,所以稱它為以高性能FPGA為外設的雙核arm或許更為合適。以下是優勢,第一個:開發環境的大集成。從hls到vivado到sdk,對於一個不熟悉FPGA的嵌入式軟體工程師來說,你完全可以把它當做簡單的雙核ARM,使用常式中搭建好的硬體環境,在sdk中開發。軟體調試後發現某些演算法太慢,速度上不去,可以用hls把這部分進行優化,由工具直接生成電路,甩到vivado中。一般情況下快個一二十倍是沒問題的。所以,整個開發你可以完全在Xilinx自家的開發環境里切換。第二個,axi4標準匯流排互聯。第三個,各種免費的ip隨便用,什麼,你不懂硬體,沒關係,連線你總會吧?什麼,連線也不會,那你把需要哪些模塊放進去,讓軟體幫你總行了吧!第四個,ps和pl兩部分共用內存,加個免費的dma.vdma,數據交換還不是秒秒鐘的事情。
FPGA開發一年。談談自己的理解。zynq相對於FPGA+ARM的優勢:1.減少了硬體設計的難度。2.ARM和FPGA之間的帶寬很大,可以共享同一塊DDR,方便數據協同處理。3.從價格來說zynq與相同資源的FPGA價格相差無幾,也就是說arm相當於白送的。劣勢:1.開發流程上會是個挑戰,一般的公司FPGA開發和嵌入式開發會屬於不同的團隊,ZYNQ的開發可能需要一種新的模式。2.對於圖像處理的領域來說,後面可能還有一塊DSP,這個也是和arm一起賣的(TI 的達芬奇系列),所以zynq就比較尷尬。
ARM+FPGA二合一的好處體現在這幾方面:以前見過很多ARM+FPGA或者ARM+DSP的應用,而現在這些用戶在升級換代的時候發現有一種性價比更高的解決方案是很願意採用ZYNQ的;
Soc的方式比兩塊晶元(ARM+FPGA)的方式有更好的靈活性,你可以隨時決定某個邏輯往FPGA或者是ARM上去映射,甚至可能進行動態配置;
開發方式上正在迅速地歸一化,特別是SDSoc幾乎做到了軟硬體歸一。但Xilinx的槽點也不少,JAVA做出來的IDE有一堆bug,還沒來得及解決三個月後又出新版本,再來一堆新bug;vivado和前代的ISE之間人為製造了鴻溝,6系列和7系列之間被強行分到vivado和ISE上,這讓很多用戶一直不接受vivado;另外vivado拋棄了很多ISE的優秀傳統,很多操作和ISE相比不那麼人性化。後悔項目沒選zynq。microblaze這個嬌氣包,debug經常出問題不說,每次一改硬體設計,綜合microblaze就得佔去一個小時的時間。用的久了才發現microblaze只有單精度浮點數的fpu,一算浮點數延遲唰唰的往上升,時鐘頻率也不算很高,逼得我不停的把計算任務改用verilog來加速。
下次再有機會打算用zynq了作為一個12年8月就用zynq的人,我想說一句,隨著hls的發展,zynq其實在開發上基本就是軟體了。這也是xilinx的定位吧。現在已經是用sdsoc的開發環境了
這個問題在The ZYNQ Book Tutorial里有很詳盡的解釋。
ZYNQ的優勢需要從三方面的比較來考慮:
比純ARM能夠實現更高速的外設應用和高密度的計算;
比純FPGA在演算法的實現上更靈活,比內嵌軟核的性能更強勁;比傳統的板級ARM+FPGA擁有更大的互聯帶寬,能夠支持更高計算密度的實時控制應用。同樣,ZYNQ優勢也是弊端。真正能夠把PL和PS性能完全挖掘出來的應用場景很單一、有限(視覺和信號處理為主),硬體和開發成本不好控制。我覺得ZYNQ最大的優勢就是AXIS標準匯流排互聯,PS和PL共用內存。通過UIO方式把AXIS匯流排映射到用戶態,再使用高級語言(Python,JS)封裝一下,那麼IP核的使用就很方便了。FPGA和應用開發者就可以愉快的玩耍了。
先回答第一個問題,優勢:我一直認為ARM擅長控制,FPGA擅長數據處理或者數據流處理,一項工程都不是單一的控制或者數據處理,所以把他們兩個綜合在一起很有必要,而且優勢很大,否則XILINX這種大公司不會去搞這些,而且大力宣傳。劣勢:當然組合起來價格要高,但是也是相對的,一些企業為了提高產品性能,當然還是會採用貴一些的ZYNQ吧。2,不考慮價格的話我認為ZYNQ要好。3,這些晶元內部應該會處理好,既然發布了,產品應該很成熟,不用擔心~
最近因為項目的原因在使用Altera的CycloneV Soc,包含Arm Cortex A9核。使用在微波圖傳設備中,包含音視頻的編解碼。要說相比較純邏輯FPGA的優勢,在我們開發音頻AAC編解碼時候體現的淋漓盡致。因為使用邏輯語言去進行AAC編解碼,這個真的是太不現實。而AAC的軟體語言實現,業內有很多很多案例(很容易找到,方便開發,方便更改),使用帶的HPS核,再根據現有的案例,AAC編解碼就很愉快的搞定了!
感覺屌爆了 。就是不會用。
ZYNQ自帶的ARM核在和PC通信的時候比較方便,你可以直接使用ARM上的USB或Ethernet硬核與PC通信,而且這些硬核性能都是有保障的。而如果用PL部分與PC通信,那你還得先搞一個USB或Ethernet的軟核,相對來說會節省一些開發時間。
我去...zynq...搞這個的人寥寥無幾啊...感覺這款板子就是多個arm硬核...據說還有別的好多好處,不過都沒用到過
不知道ARM性能怎麼樣。還有會不會影響pin的分配。
從做一個設計要一個5年經驗的FPGA工程師,變成要一個6年工作經驗的,3年ARM經驗加3年FPGA的工程師了,再次提高系統設計的門檻。視頻圖像處理,已經4k時代了,現在的問題是外掛內存帶寬不足,管腳不夠,要整合,就封裝DDR進去吧,不要求4,3就好,實在不行2也可以,帶寬給足了就好
對ZYNQ或ZedBoard開發感興趣的同學,可加入《FPGA開發者聯盟》QQ群:485678884
剛訂了zynq的開發板,對這個板子非常期待。優勢當然是那兩個arm核上面可以直接跑linux。圖像視頻的話這arm顯著降低了開發難度。
推薦閱讀:
※英國議會制英語辯論辯論應如何收集資料和研究資料?
※「人之患在好為人師」這句話矛盾嗎?
※猜數字遊戲的最佳策略是什麼?
※思維跳躍性強是否是想像力豐富的表現?是否是邏輯性思維欠缺的表現?什麼又是邏輯?數學好代表邏輯就強嗎?
※什麼才算「有理論框架(theoretical grounding)」?
TAG:設計 | 邏輯 | 現場可編輯邏輯門陣列FPGA |