FPGA便宜多少?我知道它們比具有同等性能的微處理器要貴,但是我想知道是否存在可以包含運行Linux的Microblaze軟核的FPGA,而使門仍可用於實現DSP功能(例如媒體編解碼器),而其價格卻與,例如,Cortex A8(數量在20到30美元之間,約100美元)。
FPGA便宜多少?我知道它們比具有同等性能的微處理器要貴,但是我想知道是否存在可以包含運行Linux的Microblaze軟核的FPGA,而使門仍可用於實現DSP功能(例如媒體編解碼器),而其價格卻與,例如,Cortex A8(數量在20到30美元之間,約100美元)。
我最近參加了有關FPGA的在線會議,主題演講為“您的下一個處理器應該是FPGA嗎?”
在需要高度並行化工作流的任何應用中,FPGA基本上都是有意義的
您要記住的是,每次加電時都必須初始化FPGA,我認為FPGA的Xilinx即將面世(一個片上ARM內核)是一個不錯的選擇,但可能很昂貴。
在性能方面,BDTI公司在高度並行計算中建立了基準,他們看到將近40倍的性能增益切換到FPGA。有趣的是,他們將成本相近的芯片進行了比較(我相信23美元對28美元)。
以下是您可能感興趣的鏈接:
您無法真正比較性能MIPS或Mhz統計信息的基於FPGA的系統的設計。使用FPGA處理某些任務的方式與微控制器完全不同。例如,使用VHDL必須為FPGA設計固件,這類似於Assembly。抽象的寄存器傳輸級別(RTL)。正在生產某些環境以提供更多抽象,但是這些環境通常仍是特定於供應商的。維基百科對可用於編程FPGA代碼的語言進行了不錯的概述:
如果您有錢可以燒,可以使用LabView系統構建基於FPGA的實時測量系統。這些所需的設備價格完全不同(1500美元以上),但通過圖形編程向更廣泛的受眾開放了FPGA設計。
越來越多的供應商正在提供將ARM芯片等微控制器與FPGA結合在一起的闆卡,以提供特定的附加功能和並行處理能力。可以在此處找到此類產品的示例: EmbeddedARM:FPGA系列
FPGA便宜多少?據紐瓦克(Newark),最便宜的FPGA約10美元(最低端的Altera Cyclone和最低端的Xilinx Spartan),它們可能有足夠的能力運行簡單的8位CPU。如您所料,即使是簡單的(即沒有MMU)32位CPU所需的FPGA資源也大約是8位CPU的4倍。FPGA幾乎沒有足夠的資源來運行這種簡單的32位CPU。成本約為14美元。據我了解,uCLinux已移植到其中的某些FPGA軟CPU(例如NIOS II / e)上,您可能會發現uCLinux足以滿足您的目的。
全面的Linux需要具有MMU的CPU(例如NIOS II / f)。具有MMU的32位CPU所需的CPU資源是不具有MMU的32位CPU的FPGA資源的4倍-原因並不那麼明顯
據我從 Xilinx Microblaze頁面得知,Microblaze軟CPU僅在Xilinx FPGA上運行。
Linux已被移植到其他幾個軟CPU。如果要在som上運行Linux在其他公司的FPGA中,您可能希望查看“用於FPGA的軟CPU內核”中列出的Linux端口。
這些軟CPU中的幾個-包括MMU-可以安裝在Xilinx Spartan XC3S400A上(Avnet售價17美元)。
我聽說有些32位軟CPU(包括MMU)很容易在Windows XP上設置為“雙核”一塊20美元的FPGA芯片。那些跟隨“ Jan's Razor”的芯片可能會試圖擠在同一芯片上的十幾個8位CPU中。
通常,FPGA的成本將比矽片上實現的相同器件高得多,因為可重構性會帶來大量開銷。所以不,您不會找到價格為20-30美元的FPGA與具有20-30美元的ARM CPU相同功能的FPGA。現在,您可能會發現價格為20-30美元的FPGA可以執行比20-30美元的ARM更快的特定任務,但在一般的計算任務中卻無法勝過它。
這就是為什麼它很常見看到人們將微控制器和FPGA粘在同一塊板上。 ARM和PPC是最常與FPGA結合使用的兩種。
購買FPGA時,不要忘記考慮保存FPGA程序的閃存的成本。這很容易忘記。
作為PCB設計師,FPGA的佈局容易上百萬倍,因為即使在電路板製造完成後,也可以根據需要重新佈置引腳。與路由FPGA所需的層數相比,可以節省潛在的成本。實際的處理器在執行實際的處理器方面的工作要比被編程為像處理器那樣工作的FPGA更快。
但這對FPGA而言並不公平。 CPU是“有時間限制的”;如果您想做更多的工作,則需要更多的時間或更快的處理器。 FPGA通常是“區域受限”的。如果您想做更多的工作,則需要更大的FPGA。
例如,假設您製作了一個處理單聲道音頻信號的頻譜分析儀。假設需要70%的CPU時間,而您已經達到了CPU可以運行的速度。您無法添加立體聲支持,因為CPU不夠快,無法在必須再次處理第一個通道之前執行第二個通道。但是,如果您使用70%的FPGA,則可以購買更大的FPGA並插入第二個通道。它並不需要走得更快。
現在,如果您將問題移植到在數字設計領域,使用有限狀態機和數據路徑而不是CPU,我敢打賭,比索認為FPGA將壓碎,但會增加設計的複雜性。
Xilinx最近與ARM達成了協議,這將使他們能夠將ARM內核置於FPGA上。不幸的是,它們僅適用於頂級Virtex設備。
FPGA的價格很奇怪-與專營店商談後,您會發現Digikey,Mouser等公司的報價可能比所獲得的價格高出幾倍。我知道最便宜的是QFP100中的萊迪思EC1,托盤數量不到3英鎊。對於SPI閃存,需要增加大約0.40英鎊。程序包可能會改變最佳權衡,而不是使用單獨的CPU。
到目前為止,我最好的猜測是類似Xilinx XC3S400A,它的價格約為16美元,但我不確定它是否可以處理MicroBlaze。
這在很大程度上取決於您的應用程序。理想的應用是由一個很小的控制部分(適合Microblaze / NIOS安裝)組成,而一個計算部分則可以從定制硬件的巨大並行性中受益。在這些情況下,即使是中等大小的FPGA(Spartan或同等產品)也可以輕鬆勝過任何通用CPU。但這是最好的情況(儘管在許多實際應用中非常容易實現),如果您的應用確實具有重要的控制部分或不容易映射到硬件,則將錢花在固定硬件(例如ARM)上可能更好。
如果您需要一塊電路板而不只是芯片,那麼這是2013年的兩個最新選擇:
由於許多Altera當前的CPLD是具有內置配置存儲器的FPGA,因此可以從http://www.altera.com/products/devices/cpld/max2/mx2-index.jsp獲得它們