為了應(yīng)對(duì)成本,、尺寸、功耗和開(kāi)發(fā)時(shí)間的壓力,,許多電子產(chǎn)品都建構(gòu)于系統(tǒng)級(jí)芯片(SoC)之上,。這個(gè)單片集成電路整合了大多數(shù)的系統(tǒng)功能,。然而,隨著這些器件越來(lái)越復(fù)雜,,要在有限的時(shí)間里高成本效益地進(jìn)行產(chǎn)品開(kāi)發(fā),,已愈趨困難。不過(guò),,使用可定制微控制器,,已可有效解決這個(gè)困擾。
使用基于業(yè)界標(biāo)準(zhǔn),、帶有片上內(nèi)存和各種產(chǎn)業(yè)標(biāo)準(zhǔn)接口的ARM處理器,,再加上面向特定應(yīng)用
邏輯和非標(biāo)準(zhǔn)接口的金屬可編程設(shè)計(jì)模塊((MP模塊),構(gòu)成的可定制微控制器是切實(shí)可行的SoC開(kāi)發(fā)方法,,能夠解決上述問(wèn)題,,這個(gè)開(kāi)發(fā)方法的特點(diǎn)是:
——采用經(jīng)過(guò)驗(yàn)證的軟/硬件模塊、較短的金屬布局布線的設(shè)計(jì)時(shí)間,,以及并行的軟/硬件開(kāi)發(fā),,再加上業(yè)界標(biāo)準(zhǔn)ARM架構(gòu)所提供的廣泛支持,,可以縮短設(shè)計(jì)時(shí)間,。
——采用預(yù)先已經(jīng)準(zhǔn)備好的基礎(chǔ)晶圓,僅針對(duì)定制部分添加金屬層,,可以縮短器件生產(chǎn)制造的時(shí)間,。
——大大減少整合特定應(yīng)用邏輯方面的設(shè)計(jì)費(fèi)用,并減少制備制程中所需的光罩?jǐn)?shù)目,,可以降低開(kāi)發(fā)成本,。
——仿真板包括了處理器、內(nèi)存,、外圍設(shè)備和標(biāo)準(zhǔn)接口,,并用FPGA來(lái)代替MP模塊,實(shí)現(xiàn)了軟/硬件全速并行測(cè)試,,提高了器件生產(chǎn)制造和軟件開(kāi)發(fā)的首次成功率,。
可定制微控制器架構(gòu)
如圖1所示,可定制微控制器的基礎(chǔ)為產(chǎn)業(yè)標(biāo)準(zhǔn)的ARM7或ARM9處理器內(nèi)核,,以及連接片上SRAM和ROM,、外部總線接口和系統(tǒng)外圍設(shè)備的多層AHB總線矩陣,并可橋接針對(duì)系統(tǒng)控制器和低速外圍設(shè)備的高能效APB,。該架構(gòu)的主要特點(diǎn)是分布式DMA,,這種DMA加上由AHB總線矩陣提供的并行數(shù)據(jù)信道,能為器件提供極高的內(nèi)部數(shù)據(jù)帶寬,。由外圍設(shè)備到內(nèi)存的數(shù)據(jù)傳輸僅需極少的處理器干預(yù),,因此器件能支持多個(gè)高速內(nèi)部接口,,而不會(huì)降低處理器的性能。器件中的MP模塊具有多個(gè)DMA端口,,因此由它實(shí)現(xiàn)的專用IP也能受益于這種高速內(nèi)部帶寬,。
圖1 建基于ARM9的可定制微控制器架構(gòu)
該架構(gòu)具有齊備的標(biāo)準(zhǔn)外圍設(shè)備和接口,能滿足大多數(shù)應(yīng)用對(duì)用戶接口,、聯(lián)網(wǎng)/連接和儲(chǔ)存的要求,。此外,在MP模塊中還可以實(shí)現(xiàn)各種外圍設(shè)備實(shí)例或其它外圍設(shè)備/接口,。
如此一來(lái),,該架構(gòu)實(shí)現(xiàn)了復(fù)雜的系統(tǒng)控制器,整合了所有的系統(tǒng)和功率管理功能,,可以控制系統(tǒng)的啟動(dòng)和關(guān)閉,。該控制器具有多個(gè)時(shí)鐘源和外圍設(shè)備開(kāi)關(guān)控制線,使每個(gè)功能構(gòu)件都能以支持應(yīng)用的最小時(shí)鐘頻率運(yùn)行,,也可在不需要時(shí)進(jìn)入閑置模式,。因此能盡量降低器件的功耗。
金屬可編程模塊
如圖2所示,,金屬可編程設(shè)計(jì)模塊(MP模塊) 的閘密度與實(shí)現(xiàn)器件固定功能部分的標(biāo)準(zhǔn)單元密度接近,。MP模塊需要足夠的容量來(lái)實(shí)現(xiàn)第二個(gè)ARM處理器內(nèi)核、一個(gè)數(shù)字信號(hào)處理器 (DSP),、額外的接口以及復(fù)雜邏輯模塊,,如GPS相關(guān)器(correlator)。它還需要一些內(nèi)部功能和專門的外部連接,,以提高其實(shí)現(xiàn)特定應(yīng)用邏輯的效率,。MP模塊還需要多個(gè)分布式單埠及雙埠RAM,并與需要他們的邏輯單元緊密耦合,。
圖2 金屬可編程設(shè)計(jì)模塊
可定制微控制器設(shè)計(jì)/制備流程
如圖3所示,,可定制微控制器設(shè)計(jì)流程的目標(biāo)是要在最短時(shí)間內(nèi),以合理的成本和極高的首次硅和軟件成功率,,開(kāi)發(fā)針對(duì)特定應(yīng)用的系統(tǒng)級(jí)芯片(SoC),,并包含軟件和硬件。
圖3 可定制微控制器設(shè)計(jì)流程
軟/硬件并行開(kāi)發(fā):
設(shè)計(jì)流程調(diào)整為適合軟/硬件并行開(kāi)發(fā),,克服了系統(tǒng)級(jí)芯片開(kāi)發(fā)的主要障礙之一,。
迅速地把針對(duì)特定應(yīng)用的硬件整合在微控制器平臺(tái)上:
專為特定應(yīng)用而設(shè)的硬件以RTL語(yǔ)言設(shè)計(jì);這些RTL模塊可以整合到已經(jīng)包含了AHB接口,、DMA信道,、I/O信道等單元的MP模塊代碼模板中。
迅速整合針對(duì)特定應(yīng)用的軟件/操作系統(tǒng)與接口/外圍設(shè)備驅(qū)動(dòng)程序:
平臺(tái)上所有接口/外圍設(shè)備均有驅(qū)動(dòng)程序。這些驅(qū)動(dòng)程序也可作為MP模塊中相同接口/外圍設(shè)備的驅(qū)動(dòng)程序模板,。目前已經(jīng)有很多業(yè)界領(lǐng)先的操作系統(tǒng)被移植到微控制器架構(gòu)上,。將這些軟件模塊與應(yīng)用代碼模塊和用戶接口整合起來(lái)的工作,可與硬件開(kāi)發(fā)一同進(jìn)行,。
在物理設(shè)計(jì)/掩模光刻之前進(jìn)行軟/硬件實(shí)時(shí)仿真:
仿真板利用一個(gè)標(biāo)準(zhǔn)芯片實(shí)現(xiàn)了MCU平臺(tái),,利用FPGA作為MP模塊。這樣就可以用接近真實(shí)的運(yùn)行速度來(lái)仿真特定應(yīng)用的硬件和底層軟件,,而且無(wú)需任何成本就可修正錯(cuò)誤,。
迅速完成布線布局,只需針對(duì)金屬層:
采用成熟的布局方案快速完成MP模塊的金屬層布線布局,。
高效,、低成本的掩模光刻:
只需要對(duì)器件金屬層進(jìn)行掩模。
快速的制造過(guò)程,,只需針對(duì)金屬層:
各特定應(yīng)用器件的光刻制備以預(yù)制的微控制器平臺(tái)為起點(diǎn),,只需添加金屬層。
以FPGA為基礎(chǔ)的仿真板
設(shè)計(jì)流程的一個(gè)關(guān)鍵步驟是在仿真板(見(jiàn)圖4) 對(duì)硬件以及至少底層軟件進(jìn)行仿真,。該仿真板包括完整的內(nèi)存,、標(biāo)準(zhǔn)接口和網(wǎng)絡(luò)連接,以及可按應(yīng)用要求配置的其他附加連接,。具體包括:
——器件固定功能部分用帶外接FPGA接口的單芯片來(lái)實(shí)現(xiàn),。
——使用高密度的FPGA仿真MP模塊,包括內(nèi)嵌內(nèi)存和外部I/O,。
——采用FPGA配置內(nèi)存為MP模塊保存編譯好的HDL代碼,。
——外部總線接口(EBI)和FPGA的外接I/O連接到擴(kuò)展板上不同類型的內(nèi)存,,如SDRAM,、移動(dòng)DDRAM、NOR閃存,、NAND閃存等,。這些內(nèi)存將加載應(yīng)用的軟件和參考數(shù)據(jù)集。
——所有標(biāo)準(zhǔn)接口(CAN,、USB,、Ethernet、I2S,、AC97,、ADC、MCI等)都通過(guò)收發(fā)器/物理層/編譯碼協(xié)議層與外部連接,,因此可以對(duì)器件的外部接口和聯(lián)網(wǎng)/通信鏈路進(jìn)行全方位的測(cè)試和調(diào)試,。
——圖像化用戶接口(GUI)的所有部件都連接到相應(yīng)的板上器件或接口,比如LCD、鍵盤,、觸摸屏接口等,。這樣就可在板上完成GUI基本接口的測(cè)試。
——仿真板提供外部并行I/O(PIO)和FPGA I/O,,用于連接特定應(yīng)用的外接器件,,以及實(shí)現(xiàn)非標(biāo)接口。剩余的FPGA I/O也可用于驗(yàn)證,。
——仿真板配有JTAG仿真器(ICE)埠,;通過(guò)該端口可用帶有JTAG-to-USB的接口和標(biāo)準(zhǔn)開(kāi)發(fā)工具對(duì)ARM內(nèi)核及其外圍設(shè)備進(jìn)行驗(yàn)證。
——仿真板還配有FPGA JTAG埠,;通過(guò)該埠可用FPGA廠家提供的工具對(duì)FPGA的內(nèi)部信號(hào)進(jìn)行跟蹤和分析,。
圖4 可定制微控制器的仿真板架構(gòu)
這種MCU/FPGA組合可以接近最終器件的工作頻率運(yùn)行。這樣就能完成器件的實(shí)時(shí)性測(cè)試,,包括平臺(tái)中的MCU和各種標(biāo)準(zhǔn)接口,、MP模塊中實(shí)現(xiàn)的各種功能,以及到目前為止已開(kāi)發(fā)的所有軟件,。這種測(cè)試至少涵蓋了如下測(cè)試對(duì)象:設(shè)備驅(qū)動(dòng)程序,、操作系統(tǒng)端口,以及用于控制MP模塊各種功能的應(yīng)用代碼模塊,,而更改器件的軟/硬件單元無(wú)需任何額外成本,。
結(jié)論
可定制微控制器是特定應(yīng)用系統(tǒng)級(jí)芯片的高效開(kāi)發(fā)平臺(tái),其設(shè)計(jì)流程能夠解決系統(tǒng)級(jí)芯片設(shè)計(jì)的大多數(shù)問(wèn)題,,而且開(kāi)發(fā)成本較低,、風(fēng)險(xiǎn)較小,并能提高硬件制備和軟件開(kāi)發(fā)的首次成功率,。