如何利用嵌入式軟件設計SoC
美國Globalpress公司舉辦的2007電子高峰會(huì )議上,舉辦了一場(chǎng)SoC(系統芯片)的專(zhuān)題討論會(huì ):設計師如何利用嵌入式軟件作為SoC器件設計的關(guān)鍵。會(huì )議上的專(zhuān)家各抒己見(jiàn)。
完整方案比單個(gè)硬件重要
主持人: Gartner公司的高級分析師John Barber
軟件在嵌入式產(chǎn)品中的份量越來(lái)越重。自2000年來(lái),價(jià)值觀(guān)念發(fā)生了巨大的變化,2000年以前,主張是器件,即讓我們的器件與競爭對手的性能、品質(zhì)進(jìn)行對比具有優(yōu)勢,這就是那時(shí)形成鮮明特色的關(guān)鍵?,F今,制造商和客戶(hù)需要的是解決方案,而不僅僅是器件。我的價(jià)值主張,我的鮮明特色,必須是完整的解決方案,包括與硬件一塊推出的可以立即投入大批量制造的軟件棧。
硬件與軟件將設法整合到單個(gè)流程
Mentor Graphics系統級設計總監Bill Chown
我們過(guò)去所從事的是硬件設計,現在則還需要輔以軟件應用方面的大量工作。但這兩者的“婚姻”卻并不幸福。在兩者之間,我們需要填補在基礎架構方面的鴻溝,如今的硬件不是從頭設計的,需要進(jìn)行基礎架構的復用。需要復用的包括處理單元、內存、接口器件... ...許多基礎設計事先已經(jīng)被人們所了解、得到了分析和預先進(jìn)行了配置。我們需要把它插入到系統中,提供針對硬件的軟件能力,以及針對具體應用的軟件能力。在用戶(hù)對硬件和應用軟件的使用目標的這兩個(gè)空間之間,我們必須確保能讓他們尋求到與他們的具體需求相應的問(wèn)題所在,但是最大限度減小他們花在兩個(gè)空間之間的工作量。
EDA代表電子設計自動(dòng)化,但我們有時(shí)候會(huì )迷失,而忘卻了“自動(dòng)化”一詞正是我們在這個(gè)空間中應該完成的工作。我們應該回顧在這個(gè)流程中應該實(shí)現自動(dòng)化的對象是什么?那并不僅僅意味著(zhù)工具的改進(jìn),而且意味著(zhù)我們能通過(guò)標準化來(lái)簡(jiǎn)化問(wèn)題。
總結一下,我們能讓人們去做的事情,是從一個(gè)在系統空間中的概念設計,一直到完成整個(gè)流程。概念設計上的革新是關(guān)鍵,我們需要靈活多樣;隨著(zhù)設計的進(jìn)行,我們需要嘗試不同的解決方案。如果我不知道我在做什么,就無(wú)法去嘗試替代方案。所以良好的分析將告訴我,我所做的工作將會(huì )把我帶向何方。這些不同的任務(wù)中的每一項,都對應著(zhù)每一個(gè)團隊所從事的領(lǐng)域。因此,這是一個(gè)復雜的世界,但我們將設法將其整合到一起。在實(shí)現整合的過(guò)程中,我們應該能加速、改動(dòng),并將來(lái)自于不同領(lǐng)域的軟件與硬件、系統與驗證集成到單個(gè)流程中。
軟件的關(guān)鍵作用是保證批量
MIPS Technologies公司市場(chǎng)行銷(xiāo)副總裁Jack Browne
在SoC設計時(shí),我們所面臨的挑戰是多方面的。首先我們希望能向市場(chǎng)上推出種類(lèi)多樣的產(chǎn)品。以MIPS公司為例,有3種不同的微架構系列,10種不同的處理器內核。我們必須具有某種能讓我們能投入制造的業(yè)務(wù)模式,因為本公司的業(yè)務(wù)模式是基于IP(知識產(chǎn)權)使用費的,我們的年收入的一半來(lái)自于授權和版權使用費??蛻?hù)的產(chǎn)品要達到制造批量,交貨則需要3~4年;他們拿到所設計出的芯片,要2年,然后他們再讓OEM來(lái)設計出系統,而這又要花上2年。所以,該供應鏈有一個(gè)問(wèn)題:如果我的收入嚴格取決于制造批量,你應該如何來(lái)支付這些開(kāi)發(fā)的費用?費用的支付要延后4年,財經(jīng)界是不能容忍戰略性項目上的虧損的,你必須展示出業(yè)務(wù)的良好性。
另外一個(gè)挑戰是,你希望進(jìn)入不同的、類(lèi)型各異的市場(chǎng)。其中每個(gè)市場(chǎng)的成功的臨界數量(客戶(hù)數量)是不同的。同時(shí)你還必須支持不同的OS(操作系統)。你必須有解決所有這些問(wèn)題的方案。我們的做法是,承認人們有一個(gè)平臺。軟件,無(wú)論是Linux還是其他的實(shí)時(shí)操作系統,一直到應用層次。我們所追求的關(guān)鍵一點(diǎn),是使用硬件抽象層。從根本上來(lái)說(shuō),如果我有兩家不同的客戶(hù),他們決定購買(mǎi)不同的套裝,或者甚至不同的USB控制器,則通過(guò)硬件抽象層,如你的PC中的BIOS,我可以實(shí)現不同的偏好,而不用移植操作系統。
你去考察供應鏈上的不同玩家的商業(yè)模式的話(huà),就會(huì )發(fā)現,將操作系統移植到另一個(gè)硬件平臺上的工作并不能提供多少余地。如果你所選擇的應用不對路的化,則很難實(shí)現足夠的產(chǎn)量。如果你考察如今的標準數字電視的話(huà),就會(huì )發(fā)現其中有些采用了300萬(wàn)行的軟件。而你將看到2年后的HDTV將采用500萬(wàn)行的軟件,而且其中有16個(gè)處理器,用于處理不同的任務(wù)。
所以軟件的關(guān)鍵作用就是保證批量。如何找到一個(gè)合理的財經(jīng)運作模式,是EDA、IP公司、半導體公司、軟件公司共同努力解決的挑戰。
多處理器的軟件設計法
Tensilica公司市場(chǎng)行銷(xiāo)副總裁Steve Roddy
軟件的重要性到底有多高?有人認為市場(chǎng)規模尚小,有些人認為它很重要,另一些人則主張我們處在一個(gè)臨界階段,許多軟件都實(shí)現了移植。
3種觀(guān)點(diǎn)也許都是正確的,具體取決于其市場(chǎng)。但我想退一步思考一下處理器也許倒也無(wú)妨。一個(gè)有趣的問(wèn)題是,如今和未來(lái)的應用應該需要多少個(gè)處理器?這里借用ITRS(國際半導體技術(shù)發(fā)展路線(xiàn)圖),來(lái)展示在每個(gè)工藝節點(diǎn)對應著(zhù)的、每個(gè)SoC上平均使用的處理器的數量(圖2)。當前,ITRS宣稱(chēng)每個(gè)SoC上平均有32個(gè)可編程器件。我們知道,有些可能數量會(huì )多些,有些則少些。Tensilica與Cisco合作,推出了基于130nm節點(diǎn)的、采用192個(gè)處理器的設計。所以處理器的數量會(huì )出現迅速增長(cháng)。而軟件正是在此之上運行的。
圖2 2005 IRTS MPSoC 發(fā)展圖可看出,多核設計時(shí)代來(lái)到了
是的,軟件的復雜程度和架構的復雜程度都正在增加。即便處理器的數量在增長(cháng),它們并不全都一模一樣。這些器件上將出現多樣化的處理器。
關(guān)于嵌入式的設計,很明顯的一點(diǎn)是,軟件的形式必然迥異于普通的通用型軟件。事實(shí)上,嵌入式世界迥異于與通用型軟件世界。在通用型應用的世界中,如Intel和AMD,在處理器上運行的軟件在器件開(kāi)始推出時(shí)尚不為人所知。因此一般采用通用型的計算,對于通用型的計算,人們采用通用的SMP Die Bucket 架構。在嵌入式世界中,如果你設計用于路由器的芯片的話(huà),它就是供路由器專(zhuān)用的。優(yōu)點(diǎn)就在于你知道器件的用途,所以其設計會(huì )針對具體應用進(jìn)行優(yōu)化,讓人們能利用專(zhuān)用的處理器,如可重構的和可擴展的處理器,以節省面積、成本和功耗。因此兩者的設計之道大相徑庭。擁有許多可重編程的處理器,并不意味著(zhù)你有一個(gè)全新的世界。系統架構和硬件架構研發(fā)者努力解決這個(gè)問(wèn)題已經(jīng)有幾十年了。他們將其稱(chēng)為SoC,現在人們以處理器為單位進(jìn)行設計,而不是硬件模塊,他們在系統中引入了許多軟件的東西。但這并不意味著(zhù)在設計這些東西的方式上會(huì )遇到什么危機。
設計這些系統的風(fēng)格,仍然具有一個(gè)SoC只有一個(gè)處理器的年代的SoC設計、架構所具備的那種多樣性。你可以讓處理器間具有一個(gè)看起來(lái)非常傳統的聯(lián)系,采用SMP通用型架構,你可以讓處理器之間根據具體應用來(lái)建立互動(dòng)關(guān)系,你可以在處理器間建立硬件風(fēng)格的數據流。事實(shí)上,某些處理器甚至根本都不清楚芯片上有其他處理器的存在。這些東西的實(shí)現有多種多樣的途徑,成功的關(guān)鍵是功能劃分,人們可以在功能模塊中放入標準、API,事實(shí)上,在這些系統上運行的軟件,可以造成復雜性極大增長(cháng),而我們在實(shí)現上仍然感受不到危機的存在,通過(guò)功能劃分,經(jīng)過(guò)優(yōu)化的處理器、經(jīng)過(guò)優(yōu)化的API將通用型的程序與軟件的所有復雜性隔離開(kāi)來(lái)。
圖3 隨著(zhù)處理器復雜度上升軟件比例上升
設計者完全可以利用直截了當的設計方法來(lái)掌握如此復雜的,設計數百萬(wàn)行程序的軟件工作。
軟件發(fā)揮至關(guān)重要的作用
Wipro公司半導體/消費事業(yè)單位副總裁Siby Abraham
今天,推動(dòng)半導體業(yè)發(fā)展的仍然是摩爾定律。對我來(lái)說(shuō),在設計中如何放入更多的邏輯、在一定的芯片面積上能放入多少個(gè)晶體管這一問(wèn)題所帶來(lái)的痛苦和挑戰—這是技術(shù)經(jīng)理和工程師們關(guān)心的問(wèn)題,倒還比不上呈指數化增長(cháng)的IC設計成本。源程序的復雜性的日益增長(cháng),而成本的上漲幅度超過(guò)了硬件的。
如今,邏輯電路的80%都被復用。這意味著(zhù)SoC上只有20%的邏輯是用來(lái)體現其不同之處的。這也就是利用軟件來(lái)實(shí)現SoC鮮明特色的地方。我們所看到的趨勢是,根據我們過(guò)去4年所從事的項目,我們在軟件和半導體業(yè)摸爬滾打了多年,SoC的未來(lái)在于多核架構方面的改進(jìn),而這正是軟件發(fā)揮其效用的地方。
如今,我們的軟件還不能有效而自然地利用好多架構帶來(lái)的優(yōu)勢。挑戰在于,軟件工程師如何能利用眾多核架構帶來(lái)的優(yōu)點(diǎn)。我們已經(jīng)看到了在SoC中對軟件的多方面的應用。軟件的挑戰,可以認為與硬件工程師們所面臨的挑戰是一樣的。
我們今天所看到的更重要的一點(diǎn)是,現在需要那些不僅僅把自己劃入硬件工程師或軟件工程師等類(lèi)別的工程師們,他們了解更多的專(zhuān)業(yè),從而能利用眾多領(lǐng)域的知識。我們看到一個(gè)大挑戰,有的客戶(hù)要求在產(chǎn)品供貨時(shí)就能提供軟件。
我們所看到的技術(shù)上的挑戰,價(jià)格、性能、功耗,而如今軟件團隊也將承擔相應的責任。如果沒(méi)有可調試性,硬件團隊將困難重重。
注1:關(guān)于此次討論的詳細報道及記者問(wèn)答,將刊登在10月出版的專(zhuān)刊—《嵌入式系統開(kāi)發(fā)》上;
注2:迎九根據此次會(huì )議的錄音整理
評論