摘 要:隨著眾多領(lǐng)域?qū)oC產(chǎn)品需求量的不斷增加,如何縮短開發(fā)產(chǎn)品時間、降低開發(fā)成本、提高產(chǎn)品質(zhì)量是SoC設(shè)計生產(chǎn)領(lǐng)域中關(guān)注的問題之一。傳統(tǒng)的方法是將硬件和軟件分開,或者簡單的軟硬件協(xié)同開發(fā)生產(chǎn)。在傳統(tǒng)的方法中,軟硬件協(xié)同較多的考慮到底層的具體實現(xiàn)方面,而較少從整體流程的角度考慮設(shè)計開發(fā)問題;也沒有從項目管理角度來理解SoC產(chǎn)品生產(chǎn)的問題。對比傳統(tǒng)的方法,本文著重依信息化系統(tǒng)的視角,從項目管理方面,設(shè)計流程方面,以及IP核的系統(tǒng)化管理方面討論了SoC協(xié)同開發(fā)平臺的必要性。
關(guān)鍵詞:SoC;開發(fā)平臺
中圖分類號:TN402
1 SoC協(xié)同開發(fā)平臺背景
過去SoC產(chǎn)品的開發(fā),是遵循這樣的流程:客戶提出想要領(lǐng)域的特定功能的芯片,直接告知芯片設(shè)計所的領(lǐng)導(dǎo),由所領(lǐng)導(dǎo)帶頭進(jìn)行最常用的芯片層次式設(shè)計。層次式設(shè)計方法要完成系統(tǒng)級、功能級、寄存器傳輸級、門級、電路級、物理級的設(shè)計,經(jīng)歷系統(tǒng)描述、功能設(shè)計、邏輯設(shè)計、電路設(shè)計、物理設(shè)計、設(shè)計驗證和芯片制造的流程。先進(jìn)行硬件設(shè)計,在由算法進(jìn)行軟件設(shè)計。較成本而言,硬件的成本非常地大。當(dāng)設(shè)計完成后,設(shè)計人員自行測試或者專業(yè)測試人員測試發(fā)現(xiàn)問題進(jìn)行更改,此時需要花費(fèi)巨大的人力、物力、財力及時間,而且周期更長。這樣流程進(jìn)行SoC產(chǎn)品的開發(fā),最終的結(jié)果是,產(chǎn)品不符合預(yù)期,開發(fā)時間大大的延后,開發(fā)費(fèi)用大幅度的攀升。
該流程是個效率低下的流程,尤其是在面對高速發(fā)展商業(yè)的社會中,這樣的生產(chǎn)流程是不符合科學(xué)發(fā)展觀的。比如:對于芯片需求方(客戶),幾乎全程都對芯片的設(shè)計、生產(chǎn)不透明。對客戶來說,就是一個黑盒,不清楚進(jìn)行到哪一步,不明白為什么又延期,最重要的是,客戶拿到的產(chǎn)品還不能滿足需求,是一個殘次品。又比如:生產(chǎn)廠商,明明知道生產(chǎn)的產(chǎn)品費(fèi)時費(fèi)力,想引入競爭機(jī)制來提高效率,提高質(zhì)量。但是由于內(nèi)部多個所之間,配合不好,協(xié)同工作有問題,致使產(chǎn)品的效率、質(zhì)量等依然存在完善的地方。
綜上所述,從信息化系統(tǒng)的角度,SoC協(xié)同開發(fā)平臺面臨如下幾個協(xié)同方面的問題:(1)內(nèi)部的IP核的管理缺乏系統(tǒng)化方法的問題。由于沒有對IP核做相應(yīng)的版本管理,造成提供給下一階段的IP核存在不穩(wěn)定的問題;如果工程師修改了一些代碼而提交給接口人,那么整個產(chǎn)品有可能出現(xiàn)問題;那么由IP核設(shè)計出的SoC產(chǎn)品就存在的風(fēng)險系數(shù)較大。(2)SoC設(shè)計流程的可變化性問題。技術(shù)的快速進(jìn)展,對SoC整個設(shè)計流程(包括軟硬件劃分)有較為直接的影響。比如:SoC產(chǎn)品的關(guān)鍵技術(shù)之一是軟硬件劃分如何,它直接影響SoC產(chǎn)品的成敗;而軟硬件如何劃分,是和當(dāng)前技術(shù)(硬件的集成電路技術(shù))有很大關(guān)系;隨著技術(shù)的快速向前發(fā)展,軟硬件劃分不可避免地受到影響。(3)缺乏與客戶的溝通的協(xié)同開發(fā)問題。容易造成所生產(chǎn)的產(chǎn)品并非客戶所要,或者產(chǎn)品的成本超出預(yù)期。(4)單個項目,多個項目的項目管理監(jiān)控的問題。對于負(fù)責(zé)多個項目的項目集負(fù)責(zé)人,要管理多個項目,時刻明白各個項目的進(jìn)展情況,監(jiān)控項目;拖延的項目,很快清楚是人員不足的問題,還是其他原因。
2 SoC協(xié)同開發(fā)平臺問題分析
對上一章的幾個問題,作簡要的分析之后,得出產(chǎn)生問題有兩種類型的原因引起的。一種類型是SoC產(chǎn)品生產(chǎn)自身的特點造成的,可歸類為技術(shù)協(xié)同的類型;比如SoC基礎(chǔ)IP核的系統(tǒng)化的管理方法;SoC設(shè)計流程的變化,軟硬件設(shè)計的劃分如何確定等。另一種類型是管理所造成的,可歸類為管理協(xié)同的類型;比如:在產(chǎn)品生產(chǎn)過程中,缺乏與客戶的溝通以及項目組內(nèi)部的人員溝通;多個項目的管理,需要項目管理的一整套方法,監(jiān)控、關(guān)鍵路徑、項目人員分配等。
首先對SoC產(chǎn)品生產(chǎn)自身的技術(shù)協(xié)同類型特點描述如下:IP核是SoC產(chǎn)品的基礎(chǔ),工程師設(shè)計SoC產(chǎn)品,面對的是一個巨大的IP庫。IP核的理解,也就是文件和文件夾的組合。由于IP核的管理沒有系統(tǒng)化的方法,也就是說,工程師可以對IP核進(jìn)行修改。這樣就存在一個問題,當(dāng)工程師修改了一個IP核,而該IP核又被SoC產(chǎn)品而使用,那么就存在該SoC產(chǎn)品存在功能或性能變化,進(jìn)而該SoC產(chǎn)品不符合要求的可能。所以說,需要對IP核的管理進(jìn)行系統(tǒng)化的管理方法。SoC設(shè)計流程,與 SoC設(shè)計應(yīng)用快速發(fā)展的不相適應(yīng)。SoC有相應(yīng)的基本流程與之對應(yīng),現(xiàn)階段的設(shè)計流程包括:任務(wù)書、結(jié)構(gòu)設(shè)計、功能驗證、前端實現(xiàn)、后端實現(xiàn)、芯片生產(chǎn)、封裝、測試、可靠性考核測試;隨著SoC設(shè)計流程的變革,技術(shù)的更新?lián)Q代,有些流程不需要了,又有些流程可能加入到基本流程中;SoC產(chǎn)品的關(guān)鍵技術(shù)之一軟硬件劃分,和設(shè)計流程也是息息相關(guān)的。所以,SoC設(shè)計流程的可變化性也是平臺實現(xiàn)需要充分考慮的一個問題。
其次對本項目中管理協(xié)同類型的特點做如下描述:在商業(yè)社會里,任何一件產(chǎn)品的成功與否,大部分取決于客戶的參與程度。從企業(yè)信息化系統(tǒng)的角度,協(xié)同的含義包括客戶的參與。如果客戶不能參與生產(chǎn)商的溝通交流,那么對客戶來說,芯片的生產(chǎn)就是一個黑盒子。客戶不清楚芯片生產(chǎn)的進(jìn)程,那么對于客戶來說芯片產(chǎn)品可能不是客戶期望的,對于生產(chǎn)商來說不得不投入人、時間和錢財去重新設(shè)計開發(fā)生產(chǎn)。這就造成了人力、物力、財力的嚴(yán)重浪費(fèi),不符合科學(xué)生產(chǎn)的原理。所以說,造成所生產(chǎn)產(chǎn)品非客戶所要,生產(chǎn)的產(chǎn)品成本超支,是由于缺乏與客戶(需求方)的溝通的原因,是需要解決的問題之一。對生產(chǎn)企業(yè)管理層而言,項目管理監(jiān)控是其顯著的特點,也是管理的難點。為了更好地為客戶服務(wù),提高產(chǎn)品的質(zhì)量,降低產(chǎn)品的成本,所以對于生產(chǎn)商需要項目管理。如果在平臺中沒有包含項目管理的功能,那么管理層沒法實時了解項目的進(jìn)展,項目的資源配置情況是否合理,尤其是人員的使用情況,以及項目的關(guān)鍵路徑為什么而更改等項目管理問題。這就引起了管理成本的上升,容易增加產(chǎn)品的成本。所以,多項目的項目管理監(jiān)控,是必須要解決的問題之一。
綜上所述,以上從SoC產(chǎn)品生產(chǎn)自身的技術(shù)協(xié)同特點,和管理協(xié)同的特點兩個方面,對本平臺開發(fā)遇到的四個問題,進(jìn)行了詳細(xì)的分析。分析了問題的緣由,為下面如何解決問題提供了部分思路。
3 SoC協(xié)同開發(fā)平臺關(guān)鍵技術(shù)
上一節(jié)詳細(xì)分析了產(chǎn)生的問題的原因,以及對原因做了簡要的歸類。歸因于技術(shù)協(xié)同和管理協(xié)同兩個類型。對于技術(shù)協(xié)同類型引起的問題,有版本控制技術(shù)和J2EE工作流技術(shù)關(guān)鍵技術(shù);對于管理協(xié)同類型引起的問題,集成了相對應(yīng)的項目管理軟件。本節(jié)著重描述一下解決問題所用的關(guān)鍵技術(shù)。
3.1 版本控制技術(shù)。SoC產(chǎn)品的基礎(chǔ)是IP核,對IP核的系統(tǒng)化的管理方法,某種意義上決定了SoC產(chǎn)品的成敗。在實際的設(shè)計開發(fā)過程中,對IP核的管理有如下要求:(1)對IP核的內(nèi)容修改需要保留原有的內(nèi)容;(2)能夠?qū)P核操作(提交、修改、刪除)的權(quán)限進(jìn)行管理;(3)能夠?qū)μ峤坏膬?nèi)容進(jìn)行審核;(4)對提交有不同內(nèi)容的文件,有沖突處理、比較、合并的功能。
以上四點也就是系統(tǒng)化管理方法的體現(xiàn)。這些要求和版本控制是相似的。版本控制的操作有如下幾項:(1)版本生成;(2)版本提交;(3)版本審核;(4)版本修改;(5)版本比較;(6)版本沖突;(7)版本合并。
正因為IP核系統(tǒng)化管理和版本控制是如此的相似,所以我們選用版本控制的技術(shù)來實現(xiàn)對IP核的系統(tǒng)化的管理方法。具體的技術(shù)概況如下:
Subversion是一個版本控制系統(tǒng),相對于的RCS、CVS,采用了分支管理系統(tǒng)?;ヂ?lián)網(wǎng)上免費(fèi)的版本控制服務(wù)多基于Subversion。SVNKit是一個純java實現(xiàn)的操作Subversion的類庫。但是SVNKit只是提供了通用性的操作功能實現(xiàn),某些特定的功能實現(xiàn)還是需要對SVNKit進(jìn)行修改,沒有實現(xiàn)的功能,需要重新開發(fā)。
3.2 J2EE及工作流技術(shù)。J2EE架構(gòu)是當(dāng)前主流的架構(gòu)之一,目前大多數(shù)企業(yè)采用J2EE技術(shù)的結(jié)構(gòu)設(shè)計與解決方案。J2EE體系結(jié)構(gòu)提供中間層集成框架用來滿足無需太多費(fèi)用而又需要高可用性、高可靠性以及可擴(kuò)展性的應(yīng)用的需求。通過提供統(tǒng)一的開發(fā)平臺,J2EE降低了開發(fā)多層應(yīng)用的費(fèi)用和復(fù)雜性,同時提供對現(xiàn)有應(yīng)用程序集成強(qiáng)有力支持,完全支持Enterprise JavaBeans,有良好的向?qū)еС执虬筒渴饝?yīng)用,添加目錄支持,增強(qiáng)了安全機(jī)制,提高了性能?;贘ava的工作流技術(shù),主要專注的是工作的流程性領(lǐng)域的技術(shù)。通用性的流程管理技術(shù),已經(jīng)趨于成熟。而SoC產(chǎn)品開發(fā)的特殊性的需求,更好的方法是在通用的工作流技術(shù)基礎(chǔ)上,加入特定化的需求,滿足SoC特殊的要求。這是能發(fā)揮Java優(yōu)勢的地方。
SoC協(xié)同設(shè)計平臺中,協(xié)同的體現(xiàn):在平臺中,J2EE技術(shù)實現(xiàn),需求人員與設(shè)計人員,設(shè)計人員之間的即時溝通交流的技術(shù)。
3.3 集成項目管理軟件。項目管理功能并非本平臺的核心功能,所以有兩個方案可選。其一,從公司以前的項目中,找到適合功能點,抽取改造,滿足本系統(tǒng)的功能;其二,從互聯(lián)網(wǎng)中尋找適合的第三方產(chǎn)品,采購產(chǎn)品,做二次開發(fā)以滿足客戶的需求。經(jīng)過實地的研究,最終決定采用方案二。并且找到了合適的第三方產(chǎn)品PlusProject(項目管理軟件)。
4 結(jié)語
市場的強(qiáng)勁需求給SoC產(chǎn)品提供了良好的廣闊的發(fā)展空間。人們不僅對產(chǎn)品的性能要求越來越高,而且對產(chǎn)品的其他方面,比如功能的多樣化需求,功耗的多少的需求也是越來越苛刻的。這些強(qiáng)勁需求,同時給SoC產(chǎn)品的成本、功耗和性能提出了更高的要求。
本文依據(jù)信息化系統(tǒng)的角度,重新定義了SoC協(xié)同開發(fā)平臺是一個綜合性的平臺。因為本平臺有如下幾個特點:首先,最重要的也是本平臺最大的特點,對于SoC產(chǎn)品開發(fā)基礎(chǔ)IP核的管理,本平臺創(chuàng)新地運(yùn)用了版本控制的技術(shù)來解決。這對于提高SoC產(chǎn)品的質(zhì)量是非常重要的;其次,本平臺集成了客戶進(jìn)入平臺,客戶與SoC生產(chǎn)商溝通更加的緊密,為生產(chǎn)出符合客戶需求的SoC產(chǎn)品奠定了堅實的基礎(chǔ);再次,本平臺集成了項目管理軟件plusproject,對于多項目項目管理監(jiān)控起到了不可忽視的作用;還有,對于SoC產(chǎn)品的另一項關(guān)鍵技術(shù)軟硬件協(xié)同設(shè)計,本平臺應(yīng)用J2EE工作流的技術(shù),加以控制軟硬件劃分的方法來解決此問題。
本文不僅是從大顆粒度方面,對SoC產(chǎn)品的生產(chǎn)進(jìn)行了問題分析,并提出了解決方案。而且還可以從細(xì)粒度的方面,更靈活地實現(xiàn)IP核的設(shè)計重用,縮短開發(fā)周期,減少開發(fā)成本。
參考文獻(xiàn):
[1]周海洋,于立新,彭和平.面向航天的SoC技術(shù)及應(yīng)用[J].航天標(biāo)準(zhǔn)化,2011(01).
[2]http://www.legendsec.com/soc20/soc07.html.
[3]http://www.plusgantt.com/.
[4]http://www.miniui.com/.
作者簡介:張世杰,男,河北人,技術(shù)經(jīng)理,本科,研究方向:軟件工程、網(wǎng)絡(luò)和多項目管理方向。
作者單位:中科軟科技股份有限公司,北京 100190