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