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