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