FPGA到ASIC的整合為車用微控制器帶來靈活性
另外,在當(dāng)今汽車領(lǐng)域,終端市場需求的善變更是屢見不鮮,想用的MCU常常無從購買。甚至許多有專門特性和固定數(shù)量專用接口的MCU經(jīng)過短暫的評估階段后就不再能滿足市場需求,系統(tǒng)供應(yīng)商不得不重新設(shè)計硬件及編寫相關(guān)軟件,在某些情況甚至必須改變處理器內(nèi)核。
微控制器的兩難處境
微控制器制造商面對的是影響整個市場的挑戰(zhàn)。MCU是一種特殊應(yīng)用的產(chǎn)品;因此每一應(yīng)用都需要一款具有不同性能集的新器件。為了使單個內(nèi)核架構(gòu)能夠服務(wù)更大的市場需求,制造商提供多種規(guī)格、并且具有不同接口和功能的MCU系列產(chǎn)品。在大多數(shù)情況下,該特性集并不能滿足客戶特定需要;所以對批量大的客戶需求,不得不圍繞一個特定內(nèi)核架構(gòu)來衍生出一款具有新接口和新功能的器件。
當(dāng)MCU是用制造成本相對較低的老工藝技術(shù)實現(xiàn)時,這種策略是成功的。但隨著系統(tǒng)集成度的提高,先進的工藝技術(shù)被越來越多地采用,因此開發(fā)新的MCU變種需要的費用非??捎^。因只有為數(shù)不多的目標(biāo)市場能提供所需批量,所以為了滿足某個客戶需求單獨開發(fā)一款專門器件的作法在經(jīng)濟上是行不通的。
這樣,新MCU就配備起越來越豐富的特性以迎合全部市場需要,其戰(zhàn)略是轉(zhuǎn)向功能更豐富的標(biāo)準(zhǔn)產(chǎn)品而不是特殊應(yīng)用器件。雖然這些標(biāo)準(zhǔn)產(chǎn)品的功能很強大,但其成本也急劇升高,也就更難滿足諸如汽車電子等對成本很敏感的市場要求。
若不消除造成這種兩難局面的根源,我們將束手無策,而根源就是芯片內(nèi)的功能是一成不變的。因此顯然需要一種新的設(shè)計方法。
靈活MCU的概念
破除該謎局的方法是用FPGA靈活地實現(xiàn)各功能。FPGA能顯著縮短工程開發(fā)時間,降低多次硅返工造成的損失,因此它是取代MCU的一個強有力且可行的替代方案。例如,采用基于FPGA的方法來為汽車音響和導(dǎo)航設(shè)備開發(fā)靈活的圖像系統(tǒng)可將開發(fā)時間縮短6個月。
與不具備所需特性的MCU不同,在設(shè)計過程中,可根據(jù)需要對FPGA進行編程和反復(fù)編程,從而更快地生成原型、加快產(chǎn)品上市進度。若需要改變,還可在現(xiàn)場對FPGA實施升級,即使該FPGA已被安裝在產(chǎn)品內(nèi)。
汽車圖形控制器是FPGA優(yōu)于傳統(tǒng)MCU的關(guān)鍵應(yīng)用之一。在汽車市場,雖然在諸如圖形等功能有限的應(yīng)用中采用低成本FPGA的作法已深入人心,但若用可編程器件實現(xiàn)更復(fù)雜的功能則過于昂貴,原因在于實現(xiàn)可編程能力對芯片開銷有巨大要求。
但由于目前已能從FPGA無縫轉(zhuǎn)換為結(jié)構(gòu)化ASIC,因此有可能實現(xiàn)一款既具高性價比又真正滿足用戶要求的MCU,其特性可以從一個大的預(yù)先定義好且可擴展的構(gòu)建模塊庫中按需索取。
它與傳統(tǒng)MCU的主要區(qū)別是,從原型FPGA到最終MCU可以實現(xiàn)無縫移植。從靈活的MCU概念上講,CPU和總線架構(gòu)都是唯一的,并且可以根據(jù)特定客戶應(yīng)用要求的實際功能和特性映射至設(shè)計。
RISC CPU
在Altera概念中使用的CPU是款軟RISC處理器。但與一般情況不同的是,該處理器并沒構(gòu)建在一個預(yù)先規(guī)定好且無法改變的芯片內(nèi)。相反,它是根據(jù)系統(tǒng)架構(gòu)師/設(shè)計工程師借助可用工具定義的規(guī)范自動生成的,并與整個電路所需的其余邏輯一道下載進FPGA。因此,可根據(jù)特定應(yīng)用要求并借助相關(guān)的開發(fā)工具對處理器內(nèi)核進行參數(shù)表征。更重要的是,它能實現(xiàn)真正需要的功能和對應(yīng)需要的邏輯消耗。
在基于Altera的靈活MCU應(yīng)用中,Nios?II嵌入式處理器采用的是具有32位獨立地址和數(shù)據(jù)總線的標(biāo)準(zhǔn)RISC架構(gòu)。兩條總線都通過獨立緩存操控,且可連續(xù)獨立地接入總線系統(tǒng)。最后,由系統(tǒng)架構(gòu)師決定對程序和數(shù)據(jù)是采用獨立的存儲空間還是共享存儲器。Nios?II嵌入式處理器內(nèi)置有一般處理器都有的許多功能單元,但參數(shù)設(shè)置決定其特性。例如硬件乘法器、桶式移位器以及硬件除法器可作為選配功能。指令和數(shù)據(jù)緩存也一樣,其容量可以不同,或被徹底排除在外。
總線架構(gòu)
MCU通常采用單總線架構(gòu),其中有個仲裁器用于監(jiān)控作為分布式資源的總線。由于作為系統(tǒng)中心資源的總線將迅速成為瓶頸,這種架構(gòu)存在嚴(yán)重的缺陷。為此,在更新的系統(tǒng)(特別是系統(tǒng)級芯片實現(xiàn))中已采用多層總線架構(gòu),其中各條總線是并行工作的。目前的FPGA總線架構(gòu)情況基本相同。區(qū)別在于:在其它多層總線實現(xiàn)中,采用的層數(shù)是靜態(tài)的;而FPGA總線構(gòu)建方法可按需選擇層數(shù)。
當(dāng)考慮電磁兼容性(EMC)和功耗問題時,有時使一種外設(shè)模塊工作于與整個系統(tǒng)其余部分不同的頻率會帶來額外的好處。例如,使存儲器接口工作在更快速度(而系統(tǒng)其余部分工作在較低時鐘速率)將相應(yīng)縮短存儲器訪問時間。另一種情況是在較低時鐘頻率足夠用的地方整合多個模塊。
為滿足EMC或功耗要求,采用諸如SOPC Builder等高級系統(tǒng)設(shè)計工具可以很容易將這些部件與系統(tǒng)內(nèi)以很高頻率工作的那些部件分離。這種工具可以自動生成同步這些不同時鐘域所需的邏輯,設(shè)計師只需指明在一個給定時鐘域都運行著哪些模塊。
在FPGA內(nèi)實現(xiàn)MCU
因汽車MCU系統(tǒng)的復(fù)雜性比單純圖形控制器要高得多,所以在大多情況下FPGA一般用于原型邏輯生成。由于FPGA具有全面驗證、固件開發(fā)及現(xiàn)場測試的能力,所以選用FPGA進行原型生成將極大降低開發(fā)風(fēng)險。另外,通過用FPGA進行原型生成,設(shè)計師能以“在系統(tǒng)內(nèi)”的方式運行該FPGA,以便利用真實環(huán)境進行驗證,從而可能檢測出在仿真時沒被發(fā)現(xiàn)的設(shè)計缺陷。
軟件開發(fā)已占整個開發(fā)周期的大頭。由于軟件開發(fā)要花更長時間、需更多資源,因此可以利用原型系統(tǒng)縮短整個開發(fā)周期并發(fā)現(xiàn)設(shè)計缺陷、兼容性問題,并通過新的硬件功能來支持無法用軟件正確處理或?qū)崿F(xiàn)的功能。
評論