2009-09-10
關於FPGA的SOC化,一直是話題不斷,尤其是FPGA Vendors老是鼓吹ASIC設計終將被FPGA超越。的確,因研發成本、設計生產力(軟硬體)、工具等無法趕上先進製程的腳步,使得SOC的投入成本 高不可攀且回收風險充滿了不確定。未來的SOC,是否真的只有少數人能入場,其他人就只能停在成熟製程技術(據說經濟風暴已使得2nd tier foundry fab 產能滿載)或是靠向FPGA。雖然,直到今日FPGA仍然在cost, power, performance等因素上苦苦追趕主流SOC,當然所謂cost並不以單一售價來計算,FPGA仍有其優勢,尤其是非主流的小量開發。我看到也有一 些new startup,希望能做出GHz 的FPGA,可惜恐怕敵不過冰風暴。另外,如Atmel則推出hard core CPU+FPGA array, 客戶可以較低投入成本來設計ASIC。
EEtimes有一篇文章,作者把SOC做了如下的類分;並給了一個術語,所謂Software Programmable Integrated Circuits。
>> pure porcessor(multi-core)
>> processor+HW accelerators
>> SOC+FPGA companion
>> FPGA+HW accelerators
>> pure FPGA SOC
所 謂的Software Programmable指的是系統設計技術的變革,ESL?,傳統上所謂HW accelerators是指掛載於SOC bus 上之週邊,是獨立於processor之外的模組,這種設計方法需要做軟硬界面劃分,硬體實現大都使用RTL,軟體則以C語言為主。一般而言,如果不用現 成IP,會非常耗時。作者做了一個類比,說RTL設計相當於組合語言的等級,也就是說那是石器時代的技術了。有一種技術,類似於customized processor design, user定義功能、運算法則,比方用C語言, 工具自動生成對應的新指令及所需的HW accelerators,這將大大改變所謂SOC的設計方法。
目前已經有一些公司在推廣這一類的工具了。影響所及,未來業界將不需要那麼多硬體工程師。今天的硬體(或系統)工程師未來可能只要使用C語言即可,就像今日只有極少數的軟體工程師會用組合語言一樣。
當然,FPGA Vendors面臨的挑戰之一是當FPGA越來越大越複雜,在應用面,如何幫助User快速上手,或擴大User的domain base,使今日的軟體工程師或實驗室裡的科學家(量測,大量資料快速運算)或其他領域的工程師,都能利用FPGA的優點。 我注意到National Instrument 已經推出相對應的產品,號稱不用 HDL/RTL,即可做出所需硬體功能。 沒親身體驗過,細節不詳,但NI工具似乎皆以GUI設計,果如此將是一大變革。
看來,未來不論是SOC 或 FPGA User 皆需要好的軟體工具及平台,幫助他們快速、便利地完成工作。