如今的產(chǎn)品生命周期可能短至六個(gè)月,因此在這種情況下要想取得定制ASIC的低成本、低功耗和高性能優(yōu)勢(shì)幾乎是不可能的。定制ASIC的設(shè)計(jì)周期通常要一年左右,這通常要比終端產(chǎn)品的生命周期還要長(zhǎng)。另外,標(biāo)準(zhǔn)單元ASIC還具有NRE費(fèi)用(非重復(fù)工程成本),對(duì)于基本的0.13微米設(shè)計(jì),該成本約為30萬(wàn)美元,而對(duì)于具有復(fù)雜IP內(nèi)容的90nm設(shè)計(jì)將超過(guò)100萬(wàn)美元。因而當(dāng)每年的批量小于10萬(wàn)片時(shí),從經(jīng)濟(jì)角度看就不具有可行性。
為此人們研發(fā)出了平臺(tái)化或結(jié)構(gòu)化ASIC,它們具有預(yù)設(shè)計(jì)的IP塊和可編程的ASIC門(mén),可顯著降低成本并縮短設(shè)計(jì)周期。這種方案將設(shè)計(jì)周期從一年甚至更長(zhǎng)的時(shí)間縮短到幾個(gè)月,還將NRE成本降低到大約15萬(wàn)美元,不過(guò)與門(mén)陣列相關(guān)的較大尺寸使得單片成本過(guò)高而無(wú)法補(bǔ)償NRE。
利用現(xiàn)成的標(biāo)準(zhǔn)微控制器來(lái)實(shí)現(xiàn)設(shè)計(jì)通常會(huì)較快且具有較高的成本效益,許多微控制器都是系統(tǒng)級(jí)芯片(SoC),能夠提供大量的網(wǎng)絡(luò)功能和人機(jī)接口功能,例如LCD控制器和相機(jī)接口。這些現(xiàn)成的SoC常常具有所有功能,性能高且成本低,采用基于單元的ASIC即可實(shí)現(xiàn)。但是, 需要硬件加速的一些設(shè)計(jì)中要求一些高強(qiáng)度運(yùn)算的功能,如Turbo編碼、GPS環(huán)形解調(diào)器和圖形處理等,它們都需要用硬件實(shí)現(xiàn)。未來(lái)發(fā)展趨勢(shì)是利用FPGA來(lái)實(shí)現(xiàn)這些DSP功能。由于工藝技術(shù)的進(jìn)步,這種設(shè)計(jì)的成本將明顯降低,而且?guī)缀跤型耆〈脚_(tái)ASIC。
不過(guò),FPGA也有一些缺點(diǎn),最顯著的是功耗高,執(zhí)行速度慢,F(xiàn)PGA中IP的安全性也相對(duì)較差。盡管其成本下降很快,但當(dāng)批量達(dá)到1萬(wàn)片時(shí),其批量成本就不再下降了。因此FPGA還比較貴。
目前有種新的ASIC技術(shù),它采用一種金屬-可編程的單元結(jié)構(gòu)(MPCF),所實(shí)現(xiàn)的硅片效率與單元ASIC相當(dāng)(在130nm工藝上為170K-210K門(mén)/mm2)。例如,在130nm工藝節(jié)點(diǎn),利用MCPF實(shí)現(xiàn)一個(gè)D觸發(fā)器(DFF)所用的硅片面積與標(biāo)準(zhǔn)單元相比幾乎相同(圖1:用130nm MPCF和130nm 標(biāo)準(zhǔn)單元實(shí)現(xiàn)的D觸發(fā)器)。
目前正在利用MPCF技術(shù)開(kāi)發(fā)可定制的微控制器,它不僅具有單元ASIC的超低單片成本優(yōu)勢(shì),還具備結(jié)構(gòu)化ASIC的低NRE和不到兩個(gè)月設(shè)計(jì)周轉(zhuǎn)期的優(yōu)點(diǎn)?;旧?,具有SoC級(jí)集成度的現(xiàn)有MCU結(jié)合金屬化可編程單元結(jié)構(gòu)就可用來(lái)實(shí)現(xiàn)可定制的SoC平臺(tái)。
作為這種可定制微處理器的一個(gè)例子,它采用了基于200 MHz ARM926EJ-S的現(xiàn)有MCU,帶有用于確定性處理且均為16 Kbytes的緊耦合程序和數(shù)據(jù)高速緩存,32 Kbytes的附加SRAM,32 Kbytes的ROM以及支持網(wǎng)絡(luò)、數(shù)據(jù)傳輸、人機(jī)接口的外設(shè),并增加了一個(gè)等效于28K 或 56K FPGA LUTs (250K 或 500K 可布線 ASIC門(mén))的金屬化可編程塊(MP)。(圖2- AT91CAP9方框圖)。器件上已有的外設(shè)包括USB 主機(jī)和器件、10/100 以太網(wǎng)MAC、LCD控制器、用于連接CAN、MCI和SPI總線的圖像傳感接口。
圖1:用130nm MPCF和130nm 標(biāo)準(zhǔn)單元實(shí)現(xiàn)的D觸發(fā)器。
圖2: AT91CAP9框圖。
用MPCF技術(shù)實(shí)現(xiàn)的MP塊大得足以實(shí)現(xiàn)一個(gè)二級(jí)ARM處理器核、一個(gè)數(shù)字信號(hào)處理(DSP)、一些額外的標(biāo)準(zhǔn)(或非標(biāo)準(zhǔn))的接口以及其他的復(fù)雜邏輯塊,如GPS環(huán)形解調(diào)器。它具有眾多固有功能和專用的外部連接,可以提高特殊應(yīng)用邏輯單元的實(shí)現(xiàn)效率。它內(nèi)部含有多個(gè)分布式的單口和雙口RAM塊,能夠與需要它們的邏輯單元實(shí)現(xiàn)緊耦合。MP塊的時(shí)鐘可以來(lái)自時(shí)鐘發(fā)生器和電源管理控制器的所有時(shí)鐘。這為其內(nèi)部所實(shí)現(xiàn)的特殊應(yīng)用邏輯單元的定時(shí)提供了最大的靈活性。
所有外設(shè)都實(shí)現(xiàn)了DMA進(jìn)行外設(shè)和存儲(chǔ)器之間的數(shù)據(jù)傳輸。否則,外設(shè)和存儲(chǔ)器之間的數(shù)據(jù)傳送將耗盡ARM9的資源。例如,一個(gè)20Mbps的高速SPI數(shù)據(jù)傳送將需要占用ARM的所有周期。簡(jiǎn)單的DMA在每臺(tái)外設(shè)的芯片上實(shí)現(xiàn),并由一個(gè)卸載數(shù)據(jù)傳送任務(wù)的DMA控制器來(lái)管理,這樣,在進(jìn)行20Mbps SPI傳輸?shù)耐瑫r(shí),還能留出88%的ARM9周期用于程序處理(圖2)。此外,還有一個(gè)四通道DMA控制器負(fù)責(zé)以太網(wǎng)MAC、LCD控制器和相機(jī)接口。
一個(gè)具有六主和六從的六層高級(jí)高速總線(AHB)矩陣可以徹底消除總線競(jìng)爭(zhēng)。六主分別是CPU數(shù)據(jù)、CPU指令、外設(shè)DMA控制器、以太網(wǎng)和USB主機(jī)。而六從則是存儲(chǔ)器、USB器件以及外設(shè)總線橋。任何一個(gè)主在需要時(shí)都可以控制任何可用的總線。正因?yàn)榭偩€數(shù)量與主一樣的多,因此根本不會(huì)出現(xiàn)任何總線競(jìng)爭(zhēng)。
MP塊的外部連接包括到AHB總線矩陣的多路主連接和從連接、在MP塊中實(shí)現(xiàn)的用于外設(shè)的一組中斷線、一組外設(shè)使能線、兩套并行的專用I/O口和一個(gè)到USB接收器的復(fù)用連接。這樣,就可以在MP塊里實(shí)現(xiàn)第二個(gè)USB設(shè)備。
該芯片包括一個(gè)SD/MMC存儲(chǔ)卡接口(MCI)和一個(gè)外部總線接口(EBI),這些接口支持SDRAM、帶誤碼糾錯(cuò)(ECC)功能的NAND閃存以及支持可與板上GByte-plus的True IDE模式接口連接的CompactFlash,或者包括USB記憶棒的可移動(dòng)存儲(chǔ)器。
一個(gè)完整集成的系統(tǒng)控制器可管理設(shè)備的中斷處理、復(fù)位、啟動(dòng)/關(guān)機(jī)、定時(shí)、電源管理和并行I/O控制,因而支持實(shí)時(shí)操作。
金屬可編程塊
金屬可編程塊具有眾多的內(nèi)部功能和專門(mén)的外部連接,可提高特殊應(yīng)用邏輯單元的實(shí)現(xiàn)效率。在內(nèi)部,它含有多個(gè)與需要它們的邏輯單元緊耦合的單端/雙端口RAM塊(圖3:金屬可編程塊接口)。
圖3:金屬可編程塊接口。
MP的外部連接包括:
1. 連接到AHB總線矩陣的多路并行主連接和從連接。它們與專用的DMA通道一起,可以經(jīng)配置產(chǎn)生連接到特殊應(yīng)用邏輯單元的高帶寬數(shù)據(jù)鏈路。如果在MP塊中需要APB外設(shè),可以在內(nèi)部構(gòu)建一個(gè)AHB/APB橋和外設(shè)DMA控制器(PDC),以便提供所需的接口;
2. 一組中斷線。該中斷線使特殊應(yīng)用邏輯單元產(chǎn)生由高級(jí)中斷控制器處理的中斷;
3. 一組外設(shè)使能線。它允許特殊應(yīng)用邏輯單元在設(shè)備的固定端口中連接或斷開(kāi)外設(shè);
4. 兩組并行的專用I/O口。它們提供大量用于特殊應(yīng)用邏輯單元的外部I/O,也能提供連接到MP塊的I/O的電氣特性;
5. 一個(gè)到USB接收器的復(fù)用連接。這使得在MP塊中可以實(shí)現(xiàn)第二個(gè)USB器件。
MP塊的時(shí)鐘可以來(lái)自時(shí)鐘發(fā)生器和電源管理控制器的所有時(shí)鐘。這為其內(nèi)部實(shí)現(xiàn)的特殊應(yīng)用邏輯單元的定時(shí)提供了最大的靈活性。
設(shè)計(jì)流程
基于MPCF的可定制微控制器的設(shè)計(jì)流程與采用現(xiàn)成ARM9 MCU和FPGA的設(shè)計(jì)流程非常類似。實(shí)際上,為了試探市場(chǎng),MCU+FPGA設(shè)計(jì)可能進(jìn)行批量制造。一旦證明成功,整個(gè)設(shè)計(jì)流程就可以直接移植到可定制的微控制器上。
FPGA寄存器傳輸級(jí)(RTL)網(wǎng)表可以被直接移植到已經(jīng)包含AHB接口、DMA通道以及I/O通道的MP功能塊上。
平臺(tái)中的所有外設(shè)/接口都提供了設(shè)備驅(qū)動(dòng)程序。它們也可以作為模板用作MP功能塊中定義的外設(shè)/接口的等效驅(qū)動(dòng)程序。
業(yè)界領(lǐng)先的操作系統(tǒng)都已經(jīng)具有到可定制微處理器架構(gòu)的端口。這些軟件模塊與應(yīng)用代碼模塊和用戶接口的集成可以與硬件開(kāi)發(fā)并行進(jìn)行。
系統(tǒng)規(guī)范和硬件/軟件劃分
可定制MCU設(shè)計(jì)流程的一個(gè)主要優(yōu)點(diǎn)是可以在硬件生產(chǎn)之前的仿真階段中對(duì)硬件/軟件進(jìn)行驗(yàn)證,如果需要的話還可以加以修正。這樣可以節(jié)省時(shí)間和重新流片的昂貴費(fèi)用。
定制MP功能塊的工作通常由客戶和合格的第三方設(shè)計(jì)公司共同完成。第一階段主要是開(kāi)發(fā)特殊應(yīng)用的硬件塊和相關(guān)的軟件驅(qū)動(dòng)程序。在絕大多數(shù)情況下,硬件塊編碼用的是Verilog RTL ,而軟件開(kāi)發(fā)用的是C、 C++ 或ARM匯編語(yǔ)言。
已經(jīng)寫(xiě)入由MCU供應(yīng)商提供并針對(duì)MP Block RTL代碼開(kāi)發(fā)的模板中的功能塊的占位符(placeholder)實(shí)例化可以簡(jiǎn)化將特殊應(yīng)用功能塊集成到MP功能塊中去的工作。為AHB主/從設(shè)備和APB從設(shè)備提供有不同的模板。在某些功能塊中,DMA或PDC連接是預(yù)先編程好的。例如,一個(gè)帶有PDC連接的APB連接功能的HDL如下所示:
需要驗(yàn)證MP功能塊的RTL代碼與微控制器的固定端口之間的兼容性。然后再利用供應(yīng)商提供的特殊工藝目標(biāo)庫(kù)對(duì)RTL代碼進(jìn)行綜合,并對(duì)整個(gè)器件執(zhí)行功能仿真。
平臺(tái)的低級(jí)設(shè)備驅(qū)動(dòng)程序由MCU產(chǎn)商提供,而MP功能塊的驅(qū)動(dòng)程序則來(lái)自用戶或者第三方設(shè)計(jì)公司。這些驅(qū)動(dòng)程序再與編程MCU和外設(shè)/接口的應(yīng)用模塊集成在一起。如果需要操作系統(tǒng),可以從有資質(zhì)的第三方獲得pre-ported版本并集成進(jìn)軟件包中。軟件包還需要利用業(yè)界標(biāo)準(zhǔn)的開(kāi)發(fā)工具進(jìn)行測(cè)試。當(dāng)然也可以在該階段進(jìn)行硬件/軟件的協(xié)同仿真。
仿真
設(shè)計(jì)流程的關(guān)鍵步驟是硬件和至少低層軟件的仿真。AT91CAP仿真板包括一個(gè)完全互補(bǔ)的存儲(chǔ)器、標(biāo)準(zhǔn)接口、網(wǎng)絡(luò)和可配置連接(圖4:AT91CAP仿真板)。
圖4:AT91CAP仿真板。
實(shí)際經(jīng)驗(yàn)證明,這種仿真步驟幾乎總能發(fā)現(xiàn)設(shè)備的硬件和/或軟件、或者設(shè)備硬件/軟件接口中的各種錯(cuò)誤。在這一階段對(duì)設(shè)備完整設(shè)計(jì)的校正和再測(cè)試能力是縮短設(shè)計(jì)時(shí)間和降低設(shè)計(jì)成本的主要因素,它能提高首次流片和軟件開(kāi)發(fā)成功的概率。額外的好處是最終設(shè)計(jì)的仿真版本可以用作未來(lái)設(shè)計(jì)反復(fù)的起點(diǎn),從而大大節(jié)省設(shè)計(jì)工作量。
可定制MCU供應(yīng)商利用針對(duì)設(shè)備和MP塊的固定端口確立的底層規(guī)劃實(shí)施布局和布線。只需要對(duì)MP塊的金屬層進(jìn)行布局布線。后版圖仿真可以確保不違反時(shí)序約束。
該方案的優(yōu)點(diǎn)之一是設(shè)計(jì)團(tuán)隊(duì)無(wú)需等待設(shè)計(jì)原型就能完成軟件開(kāi)發(fā)。應(yīng)用軟件的開(kāi)發(fā)和測(cè)試可以和布局布線與原型制造同時(shí)進(jìn)行。一旦設(shè)備和軟件在目標(biāo)應(yīng)用中得到驗(yàn)證,客戶就可以基于滾動(dòng)預(yù)測(cè)正式地批準(zhǔn)產(chǎn)品的批量生產(chǎn)。因?yàn)檎莆罩瞻拙A的庫(kù)存,因此可以根據(jù)市場(chǎng)的需求隨時(shí)調(diào)整實(shí)際產(chǎn)量。
當(dāng)設(shè)備的批量需求滿足投資需求時(shí),網(wǎng)表可以被重新映射到完全標(biāo)準(zhǔn)單元的設(shè)計(jì),帶來(lái)的優(yōu)點(diǎn)是減小裸片尺寸,提高性能并降低功耗。
沒(méi)有ASIC NRE和設(shè)計(jì)周期的ASIC性價(jià)比具有金屬可編程單元結(jié)構(gòu)的可定制微控制器可以幫助設(shè)計(jì)師將他們的定制IP集成到準(zhǔn)現(xiàn)成的解決方案中。它能提供全定制ASIC的成本、功耗和性能優(yōu)勢(shì),而NRE和設(shè)計(jì)周期與現(xiàn)成的MCU+FPGA設(shè)計(jì)沒(méi)有太多的區(qū)別。