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