EDA工具臨時(shí)與正規(guī)的版本控制之間的差異
背景
所有行業(yè)都在苦苦地追求著縮短盈利周期。沒有哪一個(gè)行業(yè)比電子行業(yè)更加不斷地引入新技術(shù)、不斷降低工程設(shè)計(jì)預(yù)算、以及持續(xù)地保持著不斷降低成本和不斷縮短上市時(shí)間的壓力。這種趨勢(shì)迫使工程師們努力尋求既能降低產(chǎn)品及研發(fā)成本,又能縮短上市時(shí)間的方法。一種簡(jiǎn)單的、能夠破除這種困境的解決方案是“增強(qiáng)硬件設(shè)計(jì)團(tuán)隊(duì)與產(chǎn)品設(shè)計(jì)相關(guān)的其他團(tuán)隊(duì)之間的協(xié)同工作能力”。這種做法可以確保設(shè)計(jì)團(tuán)隊(duì)工作得更加和諧,而且能夠跨地域跟蹤設(shè)計(jì)狀態(tài)。
“提高協(xié)同”需要工程師們采用更高效的數(shù)據(jù)管理工具,以及版本控制。從根本上說(shuō),實(shí)現(xiàn)版本控制有兩種方式:使用臨時(shí)的版本控制工具或者使用正規(guī)的版本控制工具。無(wú)論工程師選擇采用哪一種方案都會(huì)對(duì)他們的研發(fā)過程受益頗豐。
臨時(shí)版本控制
版本控制并不是一個(gè)新概念。事實(shí)上,如果您詢問工程師他們是否采用版本控制,回答幾乎是非??隙ǖ?。然而,如果再詢問細(xì)致一些,您會(huì)發(fā)現(xiàn)他們所定義的版本控制可能只是一個(gè)臨時(shí)的解決方案,包括使用“另存為”功能,然后將文件名修改為“版本2”。
使用臨時(shí)(不正規(guī))的版本控制來(lái)管理整個(gè)設(shè)計(jì)流程,可以為工程師提供名稱修改歷史;然而它幾乎再無(wú)法提供其它東西。它不能幫助工程師了解所修改的內(nèi)容、修改時(shí)間、修改人,甚至是從一開始進(jìn)行修改的原因。
而且,使用臨時(shí)版本控制常常會(huì)招致其它一些潛在的惱人問題,比如:
在已發(fā)送給設(shè)計(jì)流程中的下一個(gè)人后,在原文檔上修改設(shè)計(jì),而沒通知任何其它人;
相互之間費(fèi)力地在一項(xiàng)設(shè)計(jì)的各個(gè)元素上保持同步;
由于陷入數(shù)據(jù)完整性問題而錯(cuò)過產(chǎn)品的發(fā)布日期。
對(duì)于如今發(fā)現(xiàn)自己在滿足客戶預(yù)期與提升產(chǎn)品開發(fā)效率之間竭力尋求平衡的工程師們,找到一種對(duì)于這種臨時(shí)形式的版本控制的替代性方案已成為當(dāng)務(wù)之急。
正規(guī)版本控制
時(shí)效是產(chǎn)品開發(fā)的主要因素,它直接影響到公司的投資回報(bào)率。因此,把時(shí)間浪費(fèi)在錯(cuò)誤的文件版本、迷宮一樣的文件夾和電子郵件往來(lái)越來(lái)越讓人無(wú)法接受。幸運(yùn)的是,正規(guī)版本控制能夠提供理想的解決方案。
通過采用正規(guī)的方法,版本控制被直接整合到設(shè)計(jì)界面中,將功能擴(kuò)展到整個(gè)設(shè)計(jì)過程中。這種方法允許工程師實(shí)施更快更好的設(shè)計(jì),以縮減獲利時(shí)效,消除過程缺失或重復(fù)情況,并不再需要進(jìn)行反復(fù)性工作和設(shè)計(jì);同時(shí)又能減少設(shè)計(jì)、采購(gòu)和生產(chǎn)中的錯(cuò)誤。
從正規(guī)版本控制中獲利
使用正規(guī)版本控制的電子設(shè)計(jì)自動(dòng)化(EDA)工具的一個(gè)突出例子就是Altium Designer。這是一套用于PCB設(shè)計(jì)、FPGA和嵌入式軟件設(shè)計(jì),以及相關(guān)庫(kù)設(shè)計(jì)和發(fā)布自動(dòng)化管理的軟件(圖1)。Altium Designer提供的正規(guī)版本控制可以幫助我們高效地加快開發(fā)過程。例如,工具中強(qiáng)大的差異比較引擎能夠發(fā)現(xiàn)任何設(shè)計(jì)文件的不同版本之間的圖形、參數(shù)和連通性上的微小差異。另外,僅僅通過一個(gè)命令就可以實(shí)現(xiàn)一個(gè)項(xiàng)目中各個(gè)文件的更新。
圖1.Altium Designer通過將版本控制直接整合到設(shè)計(jì)界面中,在達(dá)到89%的成本目標(biāo)和90%的發(fā)布產(chǎn)品的同時(shí),使PCB開發(fā)時(shí)間縮減22%,同時(shí),89%的項(xiàng)目能在預(yù)算范圍內(nèi)實(shí)現(xiàn),90%的產(chǎn)品能準(zhǔn)時(shí)發(fā)布。
有了這些工具,工程師們可以完全了解和回顧對(duì)于一項(xiàng)設(shè)計(jì)中任何元素所作的任何改動(dòng)。他們還可以將任何設(shè)計(jì)改動(dòng)合并到項(xiàng)目的任何版本中,不論是邏輯還是圖形的。而且,工程師們還可以在整個(gè)設(shè)計(jì)過程中實(shí)現(xiàn)真正的版本控制,并且直接在自己的工作桌面上自然地實(shí)現(xiàn)。
采用Altium Design這樣帶有強(qiáng)大的、正規(guī)版本控制功能的設(shè)計(jì)工具能為您帶來(lái)許多好處。它允許工程師了解任何設(shè)計(jì)數(shù)據(jù)、任意兩個(gè)版本之間的真實(shí)差異,而不是在便利貼或者紙頭上找到版本差異的記錄。它還提供可靠的跟蹤檢查,這樣一旦發(fā)現(xiàn)設(shè)計(jì)數(shù)據(jù)存在差異,無(wú)需進(jìn)一步手動(dòng)更改即可對(duì)設(shè)計(jì)的各種版本進(jìn)行同步。
正規(guī)版本控制還可確保良好的協(xié)同工作、多地點(diǎn)及現(xiàn)場(chǎng)的合作設(shè)計(jì)(圖2)。將所有設(shè)計(jì)元素集中到一個(gè)資料庫(kù)中可以促進(jìn)協(xié)同工作,工程師無(wú)需在查找版本和在錯(cuò)誤版本工作上耗費(fèi)時(shí)間。文件可在任何媒介、任何設(shè)備和操作系統(tǒng)中得到無(wú)縫共享。所有數(shù)據(jù)的訪問與可追溯性也是無(wú)縫的,而且絕對(duì)同步。
圖2.Altium Designer的版本控制功能在改進(jìn)團(tuán)隊(duì)合作上發(fā)揮了關(guān)鍵作用,可減少總體開發(fā)時(shí)間。
在消除設(shè)計(jì)過程中與數(shù)據(jù)版本處理相關(guān)的風(fēng)險(xiǎn)和問題上,正規(guī)版本控制還有很長(zhǎng)一段路要走。而越來(lái)越多的設(shè)計(jì)團(tuán)隊(duì)也要求具備一種為制造商、采購(gòu)和物流以及其它部門所共同采用的發(fā)布數(shù)據(jù)與設(shè)計(jì)數(shù)據(jù)管理方案。這種情況下,像數(shù)據(jù)保險(xiǎn)庫(kù)這樣提供了一個(gè)優(yōu)化設(shè)計(jì)數(shù)據(jù)的集中式資料庫(kù)的解決方案,成為管理和跟蹤設(shè)計(jì)數(shù)據(jù)中變動(dòng)的理想方法。
結(jié)論
對(duì)于任何一位電子工程師來(lái)說(shuō),版本控制都是一個(gè)強(qiáng)大的工具。Aberdeen Group在2011年的研究結(jié)果即是很好的證明。研究表明,61%的一流公司(或者行業(yè)中前20%的領(lǐng)先企業(yè))使用版本控制來(lái)管理PCB上的每個(gè)數(shù)據(jù)元素,這個(gè)數(shù)字比其他競(jìng)爭(zhēng)對(duì)手高出2.5倍。
面對(duì)這樣的數(shù)據(jù),或許如今真正的問題不是工程師是否將采用版本控制,而是為什么不給他們使用正規(guī)版本控制。對(duì)于那些希望將精力重新放到設(shè)計(jì)上并設(shè)法給市場(chǎng)帶來(lái)真正影響的工程師,是時(shí)候針對(duì)現(xiàn)狀采取行動(dòng)了。選擇正規(guī)版本控制是第一個(gè)步驟。