【導讀】今天的FPGA生產商正在進行類似的競爭,這對于FPGA客戶非常有好處。在過去幾年中,邏輯密度、存儲器容量、DSP模塊、收發器速率和數量等,幾乎所有的性能指標都在不斷增長。當然,讀者對此并不陌生。
上世紀60年代以及70年代早期被認為是“肌肉車”時代。這是從中端汽車設計采用大型發動機開始的。最著名的例子包括Chevelles、Fairlanes、GTO、442、Chargers和Roadrunners。同一時期,福特Mustang開始發展“小馬汽車”,很快就引來了競爭,例如Camaro、Firebird、Barracuda、AMX和Challenger等。那時發動機大小是由立方英寸表示的,明顯的能看到車上的發動機。“396”、“429”、“440”或者“455”等數字代表了性能的高低。
這些發動機中最傳奇的當屬426 Hemi。該發動機自從1964年推出以來,先后發展了第一、第二、第三和第四代,NASCAR限制它后,名聲大噪。從1966年直到1971年,要符合NASCAR的批準條款,或者產品質量制造要求,這促使著名的“Street Hemi”面市,部分道奇和普利茅斯采用了它。
Hemi發動機排量為7升,采用高轉速氣缸,上面是兩個籃球大小的4缸化油器,具有非常保守的425 hp額定功率。很少有汽車能夠比得上采用了Hemi的Cudas和Challengers;可能只有427 Corvette能夠與其相匹敵。
肌肉車時代一直持續到今天,可選擇的車型越來越有限了。其價格是可以接受的,大部分消費者都買得起Camaro、Mustang、Corvette、Challenger或者Charger,這些車有V8發動機,達到400+ hp,600-700 hp的發動機還有其他選擇。
今天的FPGA生產商正在進行類似的競爭,這對于FPGA客戶非常有好處。在過去幾年中,邏輯密度、存儲器容量、DSP模塊、收發器速率和數量等,幾乎所有的性能指標都在不斷增長。當然,讀者對此并不陌生。
一項對比是怎樣實現這些性能,也就是理論和實際相聯系。回到最初的肌肉車時代,既有手擋也有自動擋。忠實的發燒友選擇了手擋。在一名好司機手里,4速手擋明顯要好于低效的3速自動擋。手擋也更省油,但那時候不太關心這些。
然而,對于現代的肌肉車,情況正好相反。自動擋使用電子控制而不是油壓控制,換擋的速度在100-200ms量級,比人快得多,轉速匹配也是如此。電子控制功能幫助司機防止車輪打滑。含有換擋撥片是用于選擇自己的檔位,盡管這很難提高性能。自動擋現在也很省油,這在今天很重要。檔位的相對數量現在反過來了。例如,現在的道奇挑戰者有8速自動擋和6速手動擋。當然,很多純粹主義者不論是出于傳統還是手動換擋的直接感覺,還是喜歡手擋。但這再也不與提高性能有關了。
對于FPGA,也有同樣的發展趨勢,但不是那么眾所周知。傳統上,FPGA是在Verilog或者VHDL中手動進行編程的,使用定點(整數)數字表示,編程人員決定底層實現,例如,什么時候插入流水線寄存器等。即使是綜合和適配器工具全部自動完成設計,最終設計的質量也基本取決于FPGA編程人員的技術水平。
新的FPGA體系結構開始改變這些。例如,現在的Altera Arria 10 FPGA在數千個DSP模塊中內置了單精度浮點引擎。使用浮點,FPGA編程人員在每次數字運算后,不必再確定位寬、截斷與飽和級,極大的簡化了編程任務。浮點數字表示和實現自動完成這些工作。整數現在保留用于常見的功能,例如,循環計數、狀態機和存儲器索引等。這在算法仿真和實現之間建立了直接通路,保持了系統和FPGA工程師之間的一致性。
使用傳統的Verilog和VHDL設計流程支持這些特性的實現,仍然會繼續主導FPGA設計流程。但是,還有其他設計流程。OpenCL是GP-GPU編程人員的語言,現在針對FPGA進行了優化,提供真正的“按鍵式”編譯體驗。
采用基于模型的設計,設計人員可以繼續留在Mathworks環境中,也能夠獲得最佳結果,很多復雜的大吞吐量參考設計證明了這一點。
與手擋相似,FPGA設計人員仍然可以選擇像以前一樣進行設計和優化,傳統的設計也會跟以前一樣工作。但是,FPGA設計人員會發現,新的自動的方法能夠實現相同甚至更優的結果。而且,隨著邏輯密度的快速增長,很多工程師會發現他們沒有足夠的時間像以前一樣手動優化大規模FPGA設計。就像高性能肌肉車一樣,在FPGA世界中,應該開始發揮自動化的優勢了。