如何在FPGA內(nèi)實(shí)現(xiàn)最佳化車(chē)用MCU設(shè)計(jì)方案?
RISC CPU
本文引用地址:http://www.ex-cimer.com/article/221480.htm在Altera設(shè)計(jì)概念中使用的CPU是軟RISC處理器。然而,與一般情況不同,該處理器并不是建構(gòu)在一個(gè)預(yù)先設(shè)定好、無(wú)法改變的芯片內(nèi)。相反地,它采用的作法是依據(jù)系統(tǒng)架構(gòu)師/設(shè)計(jì)工程師,借助可用工具定義的規(guī)格自動(dòng)產(chǎn)生,并與整個(gè)電路所需的其余邏輯同時(shí)載入FPGA。因此對(duì)于特定應(yīng)用需求,可使用相關(guān)開(kāi)發(fā)工具對(duì)處理器核心進(jìn)行參數(shù)化。更重要的是,它可根據(jù)所需功能以及實(shí)現(xiàn)這些所需功能所需的邏輯資源,無(wú)縫地實(shí)現(xiàn)設(shè)計(jì)。
在基于Altera的靈活MCU應(yīng)用中,Nios II嵌入式處理器采用一款帶32位元獨(dú)立位址和資料匯流排的標(biāo)準(zhǔn)RISC架構(gòu)。兩個(gè)匯流排都透過(guò)獨(dú)立快取記憶體執(zhí)行,且可獨(dú)立地連續(xù)饋送到匯流排系統(tǒng)。最后,系統(tǒng)架構(gòu)師決定對(duì)程式碼和資料采用個(gè)別記憶體或是兩者共用記憶體。任何處理器包含的功能單元都呈現(xiàn)在Nios II嵌入式處理器中,根據(jù)不同設(shè)定決定它們的特性。例如可選擇硬件乘法器、桶式移位器以及硬件除法器作為選項(xiàng),同樣地,對(duì)指令和資料緩沖記憶體進(jìn)行精確的處理,其尺寸可不同或是徹底被排除在外。
匯流排架構(gòu)
傳統(tǒng)上在MCU內(nèi)一直是采用單匯流排,一個(gè)仲裁器用于監(jiān)控匯流排,以便使匯流排成為一種分散式資源。隨著作為系統(tǒng)中心資源的匯流排迅速成為一項(xiàng)瓶頸,這種安排導(dǎo)致了嚴(yán)重的損害。因此,在較新的系統(tǒng),特別是在許多匯流排平行工作的系統(tǒng)級(jí)芯片(SoC)上,已開(kāi)始采用多層匯流排架構(gòu)。目前FPGA的匯流排組織結(jié)構(gòu)也以相似的原則進(jìn)行,不同的是,在其他多層匯流排中所呈現(xiàn)的層數(shù)是固定的,但FPGA匯流排建構(gòu)能讓使用者依需求自由選擇層數(shù)。
當(dāng)考慮到電磁相容性(EMC)和功耗問(wèn)題時(shí),附加一個(gè)有別于整體系統(tǒng)執(zhí)行功率的周邊模組有時(shí)是合理的。舉例而言,以較高速度執(zhí)行一個(gè)記憶體界面,將可縮短存取時(shí)間,而系統(tǒng)內(nèi)其余元件便得以較低的時(shí)脈速率運(yùn)作。另一種方案是可在相對(duì)較低時(shí)脈便已足夠的地方整合多個(gè)模組。
為滿足EMC或功耗要求,采用諸如SOPC Builder等高階系統(tǒng)設(shè)計(jì)工具可輕易地將這些部分與系統(tǒng)內(nèi)以很高頻率工作的部分分離。這些工具可自動(dòng)產(chǎn)生同步這些不同時(shí)脈域所需的邏輯,而設(shè)計(jì)師只需指定在一個(gè)特定時(shí)脈域中執(zhí)行哪些模組。
在FPGA內(nèi)實(shí)現(xiàn)MCU
由于汽車(chē)MCU系統(tǒng)的復(fù)雜性比純繪圖控制器要高得多,所以FPGA大多用于原型邏輯產(chǎn)生。以FPGA產(chǎn)生原型能大幅降低開(kāi)發(fā)風(fēng)險(xiǎn),因?yàn)樗芴峁┤骝?yàn)證、韌體開(kāi)發(fā)以及現(xiàn)場(chǎng)測(cè)試的功能。除此之外,藉由使用FPGA產(chǎn)生原型,設(shè)計(jì)師能以‘在系統(tǒng)內(nèi)’的方式執(zhí)行元件,并以真實(shí)情境的方式運(yùn)作,以識(shí)別出一些模擬時(shí)沒(méi)被偵測(cè)出的潛在設(shè)計(jì)缺失。
軟件發(fā)展在整個(gè)開(kāi)發(fā)周期中占了絕大部份。隨著軟件發(fā)展要花更長(zhǎng)時(shí)間及更多資源,原型系統(tǒng)可縮短整個(gè)開(kāi)發(fā)周期、發(fā)現(xiàn)設(shè)計(jì)缺失、解決相容性問(wèn)題、緩解對(duì)新硬件功能的需求,以支援無(wú)法用軟件有效處理或?qū)崿F(xiàn)的功能。
用真實(shí)系統(tǒng)進(jìn)行現(xiàn)場(chǎng)測(cè)試有助于察覺(jué)無(wú)法在實(shí)驗(yàn)室發(fā)現(xiàn)的系統(tǒng)或元件缺陷。在許多情況,銷(xiāo)售人員為了說(shuō)服客戶提前下單,擁有一個(gè)展示系統(tǒng)是不可或缺的。
而一些在最初規(guī)格中沒(méi)有的特性和功能也許也將成為必須。無(wú)論是因?yàn)橹皼](méi)發(fā)現(xiàn)的缺陷還是必須需增加新功能,F(xiàn)PGA產(chǎn)生的原型都可以快速地被修改,無(wú)須一再花費(fèi)巨額工程成本或忍受漫長(zhǎng)制造周期。
靈活MCU概念中的最后步驟是ASIC開(kāi)發(fā)。一旦建構(gòu)并測(cè)試完原型系統(tǒng),則可著手將設(shè)計(jì)轉(zhuǎn)換為結(jié)構(gòu)化ASIC。例如,若采用Altera元件,設(shè)計(jì)立即被轉(zhuǎn)換為HardCopy結(jié)構(gòu)化ASIC元件。與其它結(jié)構(gòu)化ASIC不同,若采用該設(shè)計(jì)流程,則無(wú)須重新進(jìn)行設(shè)計(jì)合成或花費(fèi)額外的驗(yàn)證周期,因這些元件采用的是與其FPGA互補(bǔ)的構(gòu)件。
采用該結(jié)構(gòu)化ASIC流程提供的快速轉(zhuǎn)換速度能讓設(shè)計(jì)師快速簽核FPGA邏輯,因而實(shí)現(xiàn)快速、低成本的轉(zhuǎn)換。
本文小結(jié)
下一代汽車(chē)電子系統(tǒng)需要高度專(zhuān)用、成本最佳化的元件以滿足市場(chǎng)需求??紤]到先進(jìn)制程技術(shù)開(kāi)發(fā)成本的急劇成長(zhǎng),對(duì)傳統(tǒng)MCU針對(duì)特殊應(yīng)用而設(shè)計(jì)的作法在商業(yè)考量上已不再適用。
針對(duì)廣泛應(yīng)用市場(chǎng)所設(shè)計(jì)的功能豐富型元件也因?yàn)檫^(guò)于昂貴而漸被市場(chǎng)淘汰。取而代之的則是靈活的MCU概念,只要將它安置在FPGA中來(lái)產(chǎn)生原型,就能提供為特定應(yīng)用開(kāi)發(fā)恰到好處MCU的程序。設(shè)計(jì)完成后,甚至在設(shè)計(jì)過(guò)程中可立即進(jìn)行驗(yàn)證、軟件發(fā)展和現(xiàn)場(chǎng)測(cè)試。
為進(jìn)行量產(chǎn),F(xiàn)PGA設(shè)計(jì)被直接映射為一個(gè)結(jié)構(gòu)化ASIC而無(wú)須重新合成或額外驗(yàn)證。不只是軟件發(fā)展,該方法實(shí)現(xiàn)了將硬件定義掌控在汽車(chē)電子系統(tǒng)設(shè)計(jì)師手中。創(chuàng)造了一種與當(dāng)今任何固定功能MCU相比,均可花費(fèi)更少時(shí)間以及更低成本的應(yīng)用最佳化車(chē)用MCU。
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)fpga相關(guān)文章:fpga是什么
評(píng)論