使用基於業界標準、帶有片上記憶體和各種產業標準介面的ARM處理器,再加上面向特定應用邏輯和非標準介面的金屬可編程設計模組((MP模組),構成的可定製微控制器是切實可行的SoC開發方法,能夠解決上述問題,這個開發方法的特點是:
◆採用經過驗證的軟/硬體模組、較短的金屬佈局佈線的設計階段,以及並行的軟/硬體開發,再加上業界標準ARM架構所提供的廣泛支援,可以縮短設計階段。
◆採用預先已經準備好的基礎晶圓,僅針對定製部分添加金屬層,可以縮短器件生產製造的時間。
◆大大減少整合特定應用邏輯方面的設計費用,並減少製備製程中所需的光罩數目,可以降低開發成本。
◆模擬板包括了處理器、記憶體、週邊設備和標準介面,並用FPGA來代替MP模組,實現了軟/硬體全速並行測試,提高了器件生產製造和軟體開發的首次成功率。
可定製微控制器架構
如圖1所示,可定製微控制器的基礎為產業標準的ARM7或ARM9處理器內核,以及連接片上SRAM和ROM、外部匯流排介面和系統週邊設備的多層AHB匯流排矩陣,並可橋接針對系統控制器和低速週邊設備的高能效APB。該架構的主要特點是分佈式DMA,這種DMA加上由AHB匯流排矩陣提供的並行數據通道,能為器件提供極高的內部數據頻寬。由週邊設備到記憶體的數據傳輸僅需極少的處理器干預,因此器件能支援多個高速內部介面,而不會降低處理器的性能。器件中的MP模組具有多個DMA埠,因此由它實現的專用IP也能受益於這種高速內部頻寬。
《圖一 建基於ARM9的可定製微控製器架構》
|
該架構具有齊備的標準週邊設備和介面,能滿足大多數應用對使用者介面、聯網/連接和儲存的要求。此外,在MP模組中還可以實現各種週邊設備實例或其它週邊設備/介面。
如此一來,該架構實現了複雜的系統控制器,整合了所有的系統和功率管理功能,可以控制系統的啟動和關閉。該控制器具有多個時鐘源和週邊設備開關控制線,使每個功能構件都能以支援應用的最小時鐘頻率運行,也可在不需要時進入閒置模式。因此能盡量降低器件的功耗。
金屬可編程模組
如圖2所示,金屬可編程設計模組 (MP模組) 的閘密度與實現器件固定功能部分的標準單元密度接近。MP模組需要足夠的容量來實現第二個ARM處理器內核、一個數位訊號處理器 (DSP)、額外的介面以及複雜邏輯模組,如GPS相關器 (correlator)。它還需要一些內部功能和專門的外部連接,以提高其實現特定應用邏輯的效率。MP模組還需要多個分佈式單埠及雙埠RAM,並與需要他們的邏輯單元緊密耦合。
《圖二 金屬可編程設計模組》
|
可定製微控製器設計/製備流程
如圖3所示,可定製微控制器設計流程的目標是要在最短時間內,以合理的成本和極高的首次矽和軟體成功率,開發針對特定應用的系統級晶片 (SoC),並包含軟體和硬體。
《圖三 可定製微控制器設計流程》
|
軟/硬體並行開發:
設計流程調整為適合軟/硬體並行開發,克服了系統級晶片開發的主要障礙之一。
迅速地把針對特定應用的硬體整合在微控制器平臺上:
專為特定應用而設的硬體以RTL語言設計;這些RTL模組可以整合到已經包含了AHB介面、DMA通道、I/O通道等單元的MP模組代碼範本中。
迅速整合針對特定應用的軟體/作業系統與介面/週邊設備驅動程式:
平臺上所有介面/週邊設備均有驅動程式。這些驅動程式也可作為MP模組中相同介面/週邊設備的驅動程式範本。目前已經有很多業界領先的作業系統被移植到微控制器架構上。將這些軟體模組與應用代碼模組和使用者介面整合起來的工作,可與硬體開發一同進行。
在物理設計/掩模光刻之前進行軟/硬體即時模擬:
仿真板利用一個標準晶片實現了MCU平臺,利用FPGA作為MP模組。這樣就可以用接近真實的運行速度來仿真特定應用的硬體和底層軟體,而且無需任何成本就可修正錯誤。
迅速完成佈線佈局,只需針對金屬層:
採用成熟的佈局方案快速完成MP模組的金屬層佈線佈局。
高效、低成本的掩模光刻:
只需要對器件金屬層進行掩模。
快速的製造過程,只需針對金屬層:
各特定應用器件的光刻製備以預製的微控制器平臺為起點,只需添加金屬層。
以FPGA為基礎的仿真板
設計流程的一個關鍵步驟是在仿真板 (見圖4) 對硬體以及至少底層軟體進行模擬。該仿真板包括完整的記憶體、標準介面和網路連接,以及可按應用要求配置的其他附加連接。具體包括:
◆器件固定功能部分用帶外接FPGA介面的單晶片來實現。
◆使用高密度的FPGA模擬MP模組,包括內嵌記憶體和外部I/O。
◆採用FPGA配置記憶體為MP模組保存編譯好的HDL代碼。
◆外部匯流排界面 (EBI) 和FPGA的外接I/O連接到擴展板上不同類型的記憶體,如SDRAM、行動DDRAM、NOR快閃記憶體、NAND快閃記憶體等。這些記憶體將載入應用的軟體和參考數據集。
◆所有標準介面 (CAN、USB、Ethernet、I2S、AC97、ADC、MCI等) 都通過收發器/實體層/編解碼協議層與外部連接,因此可以對器件的外部介面和聯網/通信鏈路進行全方位的測試和調試。
◆圖像化使用者介面 (GUI) 的所有部件都連接到相應的板上器件或介面,比如LCD、鍵盤、觸控式螢幕介面等。這樣就可在板上完成GUI基本介面的測試。
◆仿真板提供外部並行I/O (PIO) 和FPGA I/O,用於連接特定應用的外接器件,以及實現非標介面。剩餘的FPGA I/O也可用於驗證。
◆仿真板配有JTAG模擬器 (ICE) 埠;通過該埠可用帶有JTAG-to-USB的介面和標準開發工具對ARM內核及其週邊設備進行驗證。
◆仿真板還配有FPGA JTAG埠;通過該埠可用FPGA廠家提供的工具對FPGA的內部訊號進行跟蹤和分析。
《圖四 可定製微控制器的仿真板架構》
|
這種MCU/FPGA組合可以接近最終器件的工作頻率運行。這樣就能完成器件的即時性測試,包括平臺中的MCU和各種標準介面、MP模組中實現的各種功能,以及到目前為止已開發的所有軟體。這種測試至少涵蓋了如下測試物件:設備驅動程式、作業系統埠,以及用於控制MP模組各種功能的應用代碼模組。而更改器件的軟/硬體單元無需任何額外成本。
結論
可定製微控制器是特定應用系統級晶片的高效開發平臺。其設計流程能夠解決系統級晶片設計的大多數問題,而且開發成本較低、風險較小,並能提高硬體製備和軟體發展的首次成功率。