摘要:SoC是多個學科追求的目標。文中圍繞SoC的學科交叉情況、各學科的滲透與交融,提出單片機應用系統設計部門如何為SoC化作好技術準備,微電子技術如何從半導體領域走向對象領域;探討我國MCU嵌入式應用SoC化面臨的問題。
關鍵詞:SoC 多學科融合 嵌入式應用
SoC(System on Chip)是指以嵌入式系統為核心,集軟、硬件于一體,并追求產品系統包容的集成器件,是目前嵌入式應用領域的熱門話題。電子產品設計工程師、微電子IC設計工程師、計算機專業人士都在議論與研究。SoC的成功實現了要求多學科的協作與融合。
一、 SoC的多學科交叉
圖1展現了以SoC為中心,多學科交融、滲透的關系。SoC是微電子學科、電子系統設計追求的目標。計算機學科全力加速這一目標的實現,電子設計自動化則以半定制方式實現SoC或為微電子IC設計的SoC解決方案做前期準備工作。
圖1
1. SoC是微電子領域IC設計的終目標
IC產業技術發展經歷了電路集成、功能集成、技術集成,直到今天基于計算機軟硬件的知識集成,其目標就是將電子產品系統電路不斷集成到芯片中去,力圖吞噬整個產品系統。單芯片的嵌入式系統的出現,以單個芯片實現的產品系統不僅僅限于硬件系統,而是一個帶有柔性性能的軟、硬件集合體的電子系統。
2. SoC是現代電子系統的選擇
嵌入式系統,特別是MCU的出現與普及,使傳統電子系統全面進入了現代電子系統。作為電子系統追求的目標就是限度地簡化電路設計,并獲得整體產品系統的可靠性、精度、穩定性等品質指標。SoC將電路系統設計的可靠性、低功耗性等都解決在IC設計之中,把過去許多需要系統設計解決的問題集中在IC設計中解決。系統設計工程師可集中精力研究對象領域中的諸問題。SoC是現代電子系統設計的選擇。
3. SoC軟件平臺的計算機專業介入
早期的嵌入式計算機系統應用完全依賴計算機專業人員,而單片機出現后,則以裸機形式拋給了對象應用領域的電子系統設計人員。在傳統電路設計基礎上,系統設計人員很快地掌握了嵌入式系統及外圍接口電路設計。然而,基于匯編語言的應用程序設計則形成了隨意性設計模式。在產品硬件電路走向SoC時代,突出了軟件開發的比重后,對象領域系統設計人員有力不從心之感。要大力提高單片機領域中應用軟件設計水平,必須有計算機專業人士介入,提供良好的開發平臺和嵌入式操作系統。
4. 電子設計自動化為SoC另辟蹊徑
在MCU推出稍后,IC設計推出了半定制的ASIC解決辦法,這就是各種類型的可編程邏輯器件。中期的可編程邏輯器件是作為MCU應用系統的一種補充手段,即非標準電路的替代性設計。隨著超大規模邏輯器件及邏輯設計語言的發展,FPGA、EPLD便成為SoC半定制設計或全定制ASIC前期設計的一種手段。
二、 SoC使微電子從半導體領域 走向對象領域
1. IC從電路集成到知識集成
相當長的時間內,IC設計從事于基礎的模擬電路與數字電路集成,IC設計的重點在半導體物理與半導體工藝領域。IC設計進入功能集成、技術集成后,要解決許多對象領域的技術內容,如數據采集系統IC要解決寬量程輸入的增益控制、非線性修正、零點校準、動態信號采樣/保持等;進入SoC后,在硬件體系中,除了考慮基本功能電路外,還必須考慮為滿足可靠性、控制、低功耗管理要求的電路配置,還須有應用軟件的嵌入。這就要求IC設計隊伍與對象領域、計算機專業領域的融合。
2. SoC是微電子部門的主體產業
SoC雖然是多學科的融合,但主體在微電子產業部門。這是因為SoC是集成電路從電路集成、功能集成、技術集成到知識集成逐步發展的結果。除了SoC的功能性設計必須依賴對象領域外,系統的可靠性設計、功耗管理設計等許多原先是系統設計中必須考慮的問題,在超大規模集成電路以及后期的MCU設計中都得到了綜合的解決。
3. SoC使IC設計走上綜合技術設計之路
SoC使系統以集成形態直接推向產品系統化設計,終電子產品設計人員不再介入系統電路設計。這樣一來,原有的IC產業設計部門應有通曉對象領域要求的專家介入。由于SoC的柔性特性,SoC硬件中要解決的并非單個產品系統中的特殊問題。SoC趨于通用化的產品系統解決,有利于以微電子部門為主體的解決。
三、 單片機應用系統SoC化的技術準備
1. 從SSN設計走向平臺模式
立即從隨意性的軟、硬件設計方法轉入標準化、系統化、規范化(SSN)設計中,并按照MCU應用系統的柔性特征建立起平臺模式的開發平臺及標準軟、硬件庫。只有這樣才能與微電子SoC發展相接軌。
2. 創建為SoC服務的集成知識設計
我國單片機應用領域10多年來的應用開發歷程,積累了豐富的嵌入式應用設計的硬件、軟件成果。這些成果對于SoC的軟、硬件設計以及SoC的嵌入式應用設計十分有用。如果說SoC微電子設計體現了產品系統軟、硬件的知識集成設計,那么,嵌入式應用領域向SoC發展的一項重要任務便是為滿足SoC要求的集成知識設計。例如,為SoC設計CAN BUS接口時,產品系統設計人員應向IC設計人員提供滿足對象應用要求的CAN BUS基礎電路、硬件描述以及為滿足現場總線通信、控制要求的通用實時操作軟件等集成知識設計服務。
3. 加強SoC的應用設計
不論SoC如何發展,SoC仍會保持其單芯片形態和柔性特征。SoC與產品系統還有不少距離,還會有一些面向對象領域的外圍電路設計和應用程序設計,重點則轉向在滿足對象功能要求基礎上的環境工程、人機工程、產品工程設計。SoC的實現使原有電子系統設計人員能集中精力深入對象領域,使SoC的終產品系統能充分滿足人們的需求。SoC應用設計的另一方面是為SoC產業部門配置廠家平臺。廠家平臺包括SoC中所有資源的通用軟件、參考設計、I/O驅動程序等。
4. 加強軟件開發能力
SoC的出現,大大簡化了產品的硬件系統設計。SoC的柔性特性將使許多產品功能要求通過軟件解決。過去單片機應用系統設計中的軟、硬件并重的局面可能消失,軟件設計的比重會加大。隨著SoC及其OEM硬件供應,許多產品的研發將集中在軟件開發上。要在熟悉匯編語言的基礎上普及語言程序設計能力,在條件許可的情況下盡量采用結構化的商用嵌入式操作系統和應用軟件平臺,從根本上杜絕隨意性的匯編語言程序設計。
5. 熟悉半定制ASIC的EDA方法
通過半定制可編程邏輯器件EPLD/FPGA,用硬件描述語言來實現SoC也是一條十分有效的途徑。通過邏輯器件實現的SoC通常都是由硬件直接實現功能操作,實時性好。除了直接實現SoC外,通過半定制器件、EDA方法,還可為IC設計提供虛擬SoC的設計、模擬仿真,完成SoC全定制集成電路設計的前期工作。
四、計算機專業人員進入嵌入式應用主戰場
長期以來我國嵌入式應用大量是MCU的各種應用系統設計,從業人員絕大多數是非計算機專業人士。隨著嵌入式應用軟件工作的加重,中、應用比例的加大,許多關鍵技術已轉入到計算機專業領域,如嵌入式開發平臺、嵌入式操作系統、電子設計自動化等。沒有計算機專業人士的介入,無法提高我國嵌入式應用水平。目前,由于嵌入式應用的巨大市場需求已吸引了眾多的計算機專業人士參與,在許多大、中型嵌入式應用領域中發揮了重要作用。在中小型,特別是小型的MCU嵌入式應用領域中,也須借助計算機專業技術與方法來提高嵌入式應用水平。
?。?) 建立MCU嵌入式應用系統標準化、系列化、規范化(SSN)軟件設計體系。
?。?) 迅速普及語言程序。研制為MCU使用的C編譯器及其開發環境。
?。?) 為中小型MCU廠家建立廠家平臺,為產品系統設計提供完善的解決辦法和接近產品系統的軟、硬件基礎平臺。
五、我國MCU嵌入式應用SoC化面臨的問題
MCU多作為底層的嵌入式應用。長期以來,我國MCU嵌入式應用與SoC要求相差甚遠。
?。?) 人力分散、項目分散、低水平重復、投資強度低,無法適應SoC的投資和應用的相對集聚化要求。
(2) 技術準備不足。SSN設計水平不高,軟硬件平臺化觀念差。
?。?) 相鄰學科交流少。
結束語
1. 未來SoC是嵌入式應用的主要形態,是各相關學科的交匯點,只有實現這些學科的相互交融才能實現SoC技術的飛躍。
2. 在每個SoC相關學科領域中,注意吸收與培養其他學科領域人才,改變學科隊伍的組成。
3. 組織跨學科的SoC綜合技術研討會,溝通觀念、信息與技術。
4. 培養SoC的跨學科人才。MES