這是描述信息

Mixed Signal IC設計的數據管理

  1. 前言

本文檔內容獲得作者Srinath Anantharaman先生同意,以888集团电子游戏科技公司名義在中國區域使用。

本文檔內容原始來源之書已在在中國正式出版發行。感謝各位作者及譯者。

  1. 簡介

軟件設計團隊完全習慣於使用版本控製和數據管理係統,這些已成為軟件開發環境中必不可少的一個部分。在實踐中,沒有數據管理係統和方法學,大的軟件開發項目根本不能開展。有很多類似於軟件配置管理係統(Software Configuration Management SystemsSCM)的解決方案可供選擇。包括商用的 Clearcase Perforce 係統以及公共領域通用的CVS Subversion 等。

硬件設計團隊在設計管理 DMDesign Management)或者數據管理 DMDataManagement)方麵起步較晚,其中有很多方麵的原因。包括:

  1. 硬件設計團隊規模小於軟件設計團隊;
  2. 硬件設計項目經常分成許多模塊,模塊之間基本上沒有交叉,因此數據文件被同時處理的機會較少;
  3. 設計流程包含圖形編輯工具,如原理圖或版圖編輯。設計數據通常是由相關工具生成的二進製文件集合,用戶不能簡單地確認設計對象和數據文件的對應關係。
  4. 設計流程很複雜,可能包括不同廠商的多個工具,版本控製通常不是這種異構流程的一部分。
  5. 硬件工程師通常不如軟件工程師熟悉命令行工具的使用,尤其是考慮各種各樣神秘的可選項。

數字前端設計工程師,因為他們的大多數設計數據是 Verilog VHDL 文本文件,所以大體上可以適應軟件技術所采用的數據管理。但是,其他的設計流程,例如模擬/混合信號設計,全定製版圖以及印刷電路板設計,往往很難采用 SCM 係統和技術來進行設計數據管理。一個硬件設計數據管理係統在滿足數字前端工程師、固件或軟件開發工程師對文本為主的數據管理要求的同時,也要考慮其他工程師使用圖形編輯器並生成大量二進製文件的要求。

  1. 今天的混合信號設計環境

由於設計複雜度成指數的增長以及市場窗口越來越窄等幾方麵的因素,硬件設計團隊的規模不斷增大,另外,由全球化所帶來的日益激烈的競爭帶來的對最好的工程師的需求,而不論他們身在何處。。設計流程分成很多階段並且涉及各種工具,如用文本處理器製定設計規範,設計和功能驗證、邏輯綜合、時序和功耗分析,版圖實現等等。不斷生成的形式多樣的數據被要求跨地區,跨平台的共享,包括各種操作係統如 UnixLinux Windows。隨著設計日趨複雜,設計團隊日益增大,以及全球化所要求的緊密合作,采用版本控製和數據管理的解決方案變得日益重要。

1 設計數據的寬廣範疇

  1. 傳統的團隊設計技術與弊病

團隊設計數據管理包括分享已經完成的設計數據以及保持正在開發數據的獨立性。為了達到這個目標,通常采用預先定義好的流程來把趨於完成的設計數據從隔離的開發區拷貝到共享的主設計庫。一個典型的管理和分享設計數據流程如圖2 所示。

2 傳統的團隊設計技術

 

每個設計者經常保持設計數據備份,版本控製隻能依靠隨意的命名習慣。很快,設計數據庫中就會出現各種淩亂的單元,分別被命名為Layout-4”或“Schematic-Jan-14-2209”。各種改變往往由項目經理或主管進行手工記錄,交流通常是通過開會或發郵件進行。因為每個人都要共享設計數據,訪問授權很難控製,經常是依靠個人誠信。最終,隨著各個項目關鍵結點的來臨,整個項目的數據備份成為各個項目關鍵結點備份的匯總備份。

當設計開發是分散在不同地點時,因為距離、時區、語言的差異,設計數據的管理和交流就變得更加複雜。一種典型的解決方法就是把設計按地域分塊,每一個子塊在同一個地點完成。不同地點之間的數據分享依靠周期性的數據同步實現,一個流行的應用工具rsync”可以在兩個地點之間同步設計數據的變化。

采用這種傳統的合作方案,項目的開發周期和質量嚴重地依賴於人的素質。這種方案可能適用於一個老練的工程師所組成的小的設計團隊,但當設計團隊規模變大後,就不可避免地會產生意外事故。用戶可能會在拷貝他們自己修改完成的數據到主數據庫時,不小心覆蓋了別人的設計數據。層次化的拷貝,盡管很方便,但更容易帶來災難性的後果。因為沒有版本控製,設計修改可能會永久性地丟失,或者需要耗費大量時間從備份中恢複。當設計數據的覆蓋沒有被檢測出來而項目數據又拿去代工製造則可能會帶來更大的問題。這種錯誤會迫使設計團隊進行代價昂貴重新流片。

設計師不得不十分小心他們所做的修改和刪除,這將浪費他們寶貴的設計時間。每個人的設計庫因為保存了多個備份版本變得雜亂且主設計庫也容易積累一些無用的單元而需要定期清理。仿真和驗證的結果也會因為中間階段某些共享數據的改變而受到牽連。再加上不同地域和時區的影響會使得解決問題的效率更加底下。

最後,數據管理係統和方法學的缺失會給管理團隊帶來無法追查設計責任和修改查重的惡果。管理者將背負類似於守門員或記賬員的沉重負擔,而這些往往采用軟件自動管理會效果更好。為了減少錯誤和改進職責,往往要增加額外的簽收步驟,這使得開發速度降低,浪費項目經理和主管更多寶貴的時間。

  1. 數據管理係統的要求

合作進行混合信號設計開發與合作進行軟件開發有很多類似之處,但也存在一些截然不同之處。

  1.  設計師麵對的是設計庫、設計單元、原理圖和版圖等抽象級別,而且往往是通過設計工具才會訪問到用以存儲設計數據的物理文件。
  2.  設計工具在產生設計數據的同時會生成不需要進行管理的很多臨時文件,而最終用戶往往不知道哪些文件需要管理,哪些文件不需要。
  3.  一個設計流程包含多個複雜的工具,甚至有時來源於不同的廠商。每個工具會以不同的方式管理數據。
  4.  象原理圖或版圖編輯器所生成的設計目標常常是以一組文件的格式保存,而且通常是由設計工具自動進行命名。
  5.  設計數據主要是二進製文件而非文本,數據文件往往非常龐大。
  6.  設計師通常是以層次化的方法進行設計,而這些在文件係統的存儲上卻無法反映出來。
  7.  文本文件可以同時修改並合並,但對原理圖或版圖的二進製數據文件則不適用。因此,對模擬或全定製設計往往不鼓勵並行設計。
  8.  設計師常常與 EDA工具流程打交道,不習慣像軟件開發者那樣采用命令行操作。

類似於軟件管理 SCM 係統,硬件設計數據管理係統必須提供以下支持:

  1. 針對處於同地域或跨地域設計團隊成員提供有效的合作方法
  2. 版本控製
  3. 設計發布管理
  4. 變體係統開發
  5. 安全和訪問授權控製
  6. 曆史和正在發生的修改的審查跟蹤
  7. 問題跟蹤的集成化

同時,它還必須滿足一些額外的要求

  1. 與設計流程緊密集成,使得用戶能像操作設計目標一樣運行數據管理命令。
  2. 能讓正在操作的設計進入鎖定模式,防止其他人並行進行編輯。
  3. 最小化占用磁盤空間,減輕數據備份的負擔。
  4. 管理好由多個文件集合所代表的的設計數據組成成分。
  5. 支持共享的工作空間,可以使多個(通常是版圖)設計師都能修改和驗證設計。
  6. 能確定顯示例如原理圖和版圖所產生的圖形化設計目標的變化 支持層次化設計
  7. 支持跨區域的多個設計項目以及 Process Design Kits(PDK)的重用。

綜上所述,一個有效的設計數據管理係統必須同時方便項目管理者和設計師使用。設計師已經在使用很多工具和複雜的設計流程。如果設計數據管理係統要增加額外的障礙和開銷,就不太容易被設計師接受。

  1. DM 係統管理一個設計項目

當一個團隊準備開始一個新的項目時,常常會選定一個項目管理員。這個項目管理員會開始準備用一個 DM 係統來進行項目管理。在係統管理員的幫助,他們會為新項目選擇合適的係統硬件和磁盤存儲空間。這些確定之後,項目管理員會啟動必要的設計管理軟件,配置並設立好一個項目數據庫。項目數據庫是一個中央的存儲區域。在這裏,保存著與該項目各種數據屬性有關的各個修訂版本。通常,項目數據庫由 DM 服務器的“精靈”(daemon)過程來管理,該進程則由項目管理員來啟動和維護。因此可以避免意外損壞或非法訪問。設計者是用數據管理(DM)的客戶端,通過 DM 服務器的 “精靈”來連接到項目數據庫的(見圖3)。

3 項目數據儲存庫

 

如果項目設計團隊由分散在不同地方的設計者構成,將需要使用遠程設計管理軟件來連接到中央項目數據庫,這樣,所有的項目設計者都能夠訪問到項目數據。項目管理員,可以通過遠程項目管理員的幫助,來設置對中央項目數據庫的訪問權限。

項目管理員的其他任務還包括:為不同的設計者分配不同的用戶角色,為他們分組,設置自動提醒的觸發機製,添加共享的 IP PDK 庫的指引,將已經完成的項目數據導入項目數據庫。導入數據既可以使用批處理命令也可以利用數據管理軟件進行手工操作。

在每個用戶開始他們的工作之前,他們需要有一個正確配置的工具環境。項目管理員可以生成供設計團隊設置工作環境的設置批處理命令和工具配置文件。然後將這些配置文件放入到項目的根目錄中,采用數據管理係統來存儲和發布這些文件是一種非常優秀的方式。它可以確保每個設計團隊的成員,無論是本地的還是遠程的,均采用統一的環境設置,因為它們本身就是項目數據設計的組成部分。將這些配置文件作為項目的一個組成部分來管理,使得這些配置文件也包括在最終的項目發布數據中,,還可以在整個設計過程中提供對這些文件所做修改的全麵追蹤。

當項目管理員完成了這些任務之後,項目團隊的成員就可以開始工作了。這些用戶需要一個環境和磁盤空間來生成、存儲和開發他們的設計數據。這個空間往往被稱為砂箱或工作空間。這個工作空間一般放在本地磁盤上,例如是用戶的登錄目錄或者是項目管理員專門為該項目所設置的一個磁盤。為了能訪問到項目數據,用戶必須先把他們的工作空間與項目數據庫連接起來。這個工作通常是通過數據管理設置命令來完成的(見圖4)。

4 用戶空間

連接到項目數據庫之後,用戶就可以申請有關的項目數據,包括,必要的環境設置和

工具配置文件以及已經存在的一些項目數據。然後,他們就可以開始配置環境,啟動工具,生成設計數據來開展他們的設計工作。在他們使用與設計工具集成在一起的數據管理係統來生成和保存他們的設計數據之後,他們可以把設計文件導入項目數據庫,讓其他的設計團隊成員來共享。當這項文件存儲於項目數據庫中,其他用戶可以參考,導出它們,並進行修改和增加。所有數據導入項目數據庫會生成一個新的數據版本,分配到一個新的版本號、作者名稱、日期、注釋,以及其它的便於數據狀態跟蹤的各種關鍵屬性。這大大方便了全體成員去跟蹤每一個用戶的進度,將他們的設計文件合並,或者退回到某個不完善修改的前一個版本。對每一個步驟的完整的審核軌跡使得項目管理員可以方便地跟蹤整個項目的進度。

盡管他們隻是工作於設計的某一個模塊,但每個設計者的工作空間常常保存了一個項目最新版本的所有數據,因為他們需要所有相關聯的配置文件等等來完成仿真分析或驗證。當設計團隊的規模增大時,工作空間就會占用過多的網絡存儲空間。由於經常多次備份完全相同的數據,係統備份工作也要浪費更長的時間。數據管理係統可以允許用戶在工作空間中采用符號鏈接到一個鏡像或緩存區域來解決這一問題。一個用戶的工作空間隻保存他們所導出的要修改的數據文件的物理拷貝,而其它所有的文件隻是符號鏈接。這樣可以極大地減少網絡存儲資源浪費,提高備份工作效率,同時也加速了工作空間的生成和更新。因為隻需要產生符號鏈接,而不必拷貝文件進入用戶的工作空間。

  1. 全球分散的設計中心之間的合作

在沒有數據管理係統時,全球化的設計團隊嚐試了用各種變通的方法來管理和共享他們的數據,包括采用遠程文件裝載,文件傳輸協議(FTP),鏡像軟件,電子郵件的附件,甚至郵寄一個磁盤等方式來相互共享數據。采用這些方法會形成一個遲緩且易於出錯的特別繁瑣的流程。采用遠程文件裝載,僅僅用工具打開一個數據文件也會花費幾分鍾的時間,其他的問題還有在每一個地點都有相同數據文件的多個拷貝,很容易讓人混淆哪一個是所謂的“黃金拷貝”,而且經常導致人們意外地覆蓋掉別人的數據。

5 專門合作

 

在這種專門的係統中(見圖5),定期看到其他用戶的改動是困難的。用戶隻有等到數據的拷貝送過來,才可以在自己的地點看到它們。這種貧乏的數據管理係統必然導致時間的浪費,工作的重複,事實上無合作可言,可能推遲整個項目的完成。

引入一個良好的數據管理係統,上述問題就迎刃而解。數據將在本地存儲,而不是用遠程文件裝載係統,這使得數據訪問的響應變快。所有的團隊成員保存並導入他們自己的數據進入中央項目數據庫,並作為一個新的版本。而項目數據庫允許團隊中的所有用戶,無論是本地的或是遠程的,均可訪問到統一的“黃金拷貝”數據,從而消除混亂(見圖6)。

6 數據管理係統的流暢合作

 

為了讓所有用戶獲得新的數據版本,數據管理係統負責發布正確的版本給本地和所有遠程的工作點。用戶感受不到別人所做的改動,因為他們有自己的砂箱/工作空間。每一個用戶既可以利用數據管理係統,在他們認為需要的時候,將上次更新之後,別的用戶所做的改動導入(‘pull’)他們的工作空間,也可以選擇利用數據管理係統自動地將別人的改動實時或定期地推入(‘pushed’)他們的工作空間。這兩種更新方式的選擇取決於用戶是希望有一個穩定的工作空間還是希望與別的開發者保持同步。數據管理係統常常允許數據管理員在遠程的工作點設立一個緩存或代理的服務器來提高性能。在遠程工作點的用戶可以連接到緩存服務器來獲得文件的新版本,不需要返回主服務器來獲取數據。緩存服務器提供相同的訪問效果,就像用戶在主服務器本地所看到的一樣。另外,新的文件版本隻需要從主服務器向遠程的緩存服務器傳送一次,它就可以服務於該遠程工作點的所有用戶,因此優化了各個工作點之間帶寬的使用。緩存服務器也可以采用定期的導入(‘pull’)或實時性地推入(’push’)方式來自動更新。當遠程工作點的用戶有需要時,最新的數據文件版本隨時可用。

數據管理係統可以提供一些附加的功能來增強合作性。設置通知功能,當數據準備好的時候提醒用戶。這些提醒對那些想知道別的用戶導入了新數據的遠程用戶而言十分有價值。盡管電子郵件通知也很誘人,但它們卻不是很有效。因為大量的電子郵件常常將用戶淹沒。通常,數據管理係統將提醒圖標放在用戶的圖形設計界麵之中,這將更加有效而且可以實時進行更新。因此,用戶總是可以獲得最新的項目狀況。用戶或設計經理們也可以生成各種各樣的報告來監控項目的進度。即時信息是數據管理係統所提供的另一種有效的手段,可以讓全球化的用戶之間實時地對最近的設計修改進行良好地交流。

  1. 采用數據管理係統完成團隊設計

數據管理係統克服了傳統方法的缺點,可以讓設計師團隊更好地工作和合作。數據管理係統讓設計師獨立開發設計並在需要時有效地共享設計修改而不會相互影響。另外,所有的修改均可跟蹤且可以容易回退一個版本。如圖7 所示是一個典型的數據管理係統流程。

7 數據管理的團隊設計

 

每一個設計師都有一個由數據管理係統生成的獨立的工作空間,其中包含了項目最新版本的所有文件的拷貝。為了節省磁盤空間,工作空間中可以采用符號鏈接到緩存服務器。當用戶想要修改一個設計目標時,他們可以用數據管理係統導出該目標,使得它在用戶工作空間中可寫,同時在項目數據庫中將該目標鎖住。這樣可以防止別的用戶意外地修改同一目標。設計師可以在自己獨立的工作空間修改和驗證設計。因此,不會影響到別人的設計,也不會被別人的修改所影響,一旦修改完成,而且經過驗證成為設計師認可的最好結果,該目標可以導入項目數據庫。這樣就生成了該目標的一個新的版本,同時釋放該目標的鎖定狀態。其他的設計師現在可以根據需要獲得剛剛導入的修改。項目負責人可以查詢數據管理係統獲得對整個項目所做修改的全部列表,也可以根據需要恢複某些修改到前一版本。采用數據管理係統的流程為設計師提供了一個可控且穩定的開發環境,可以防止數據丟失,明確責任,在需要時也容易實現數據恢複。

  1. 用數據管理係統控製的模擬設計流程

數字設計師往往直接與 RTL 源文件打交道而且知道什麽文件需要管理。采用數據管理係統後,設計師在日常工作流程中所要做的唯一變化就是在他們完成文件編輯後,要做一次文件導入,同時再做一次更新以便同步別的設計師所做的修改。

管理模擬和定製設計的數據則要複雜得多。因為設計師常用的圖形化工具,例如原理圖或是版圖編輯器,它們產生的文件被存儲在設計庫中。設計師工作的對象是高度抽象的設計庫,設計單元和設計視圖(Views),他們不必知道這些工具所生成的物理文件是什麽。

項目規劃師根據芯片要完成的功能開始定義設計指標。這些設計指標一般采用 PC 機或蘋果機標準的辦公文件格式存儲,會隨著項目開發的進展而調整和共享。這些文件最好采用數據管理係統來管理,以便共享並讓每一個設計師獲得最新的版本。一旦規劃階段完成,設計師就可以為該項目開展實際的電路設計。

模擬電路設計師一般是用原理圖輸入工具來生成電路的。在生成原理圖過程中,他們可以保存原理圖,並在對原理圖的質量滿意時,將它們導入項目數據庫。數據管理的命令應該在設計流程中直接調用,從而保持流程的順暢並提高規範性(見圖8)。

8 集成在設計遊覽窗裏的數據管理指令

 

設計師會連續不斷地修改原理圖並生成新的版本。如果它們所做的新修改不成功,他們總是有機會退回到前一個版本。數據管理係統讓設計團隊的每一個成員都能看到別人所完成的設計,在保持高度一致的前提下實現全麵合作。

設計進程中一部分工作是對原理圖進行仿真,以確保它們滿足設計指標。電路設計師會采用各種仿真平台和激勵文件對電路進行測試。所有這些文件可以用數據管理係統做版本維護。在測試和仿真過程中,設計師可以采用不同版本的文件對原理圖在不同情況下的仿真進行切換。這可以大大簡化測試的進程,因為設計師可以采用統一的測試方法。采用批處理命令或某些專門的數據管理命令來選擇仿真平台和激勵文件,設計師可以成功地讓各種邊界條件電路同時仿真,避免了設計師一個一個地啟動新的仿真分析。

當電路仿真完成後,設計師要檢查仿真的結果。仿真結果的輸出文件一般都相當大,是否將這些文件放入數據管理係統控製則需要設計師的慎重判斷。通常,大多數的設計師不會將這些仿真結果文件放入數據管理係統,因為它們太大而且容易重新生成。他們一般會在設計工具中看這些結果,然後做一些數據波形的截圖,添加一些注釋,存儲出一個圖像文件,再把它們導入數據管理係統供設計團隊分享。

當電路設計師認為他們的原理圖滿足設計要求時,他們會將原理圖傳遞給物理版圖設計團隊。采用數據管理係統,電路設計師會標記相應版本的原理圖給物理設計師們使用。物理設計師會收到原理圖已經準備好的通知。那些標記好的原理圖就會傳到他們的設計環境中,從而實現又一次的無縫連接(見圖9)。

9 用標簽(tag)與設計狀態進行通訊

 

現在,版圖設計進程就可以開始。像電路設計師一樣,物理設計師也會采用數據管理係統對他們的版圖開發工作進行版本管理。由於使用了數據管理工具,電路設計師可以觀察和跟蹤版圖的進展。因為允許團隊內部全麵的合作而使得工作進程更加有效。物理設計師會運行設計規則檢查(DRC)和版圖/原理圖對照(LVS)檢查,當這些檢查成功後,版圖可以標記為 DRC/LVS 通過。當版圖完成後,版圖設計師可以對它進行標記,例如‘layout-done’,並通知電路設計師來檢查版圖是否還有缺陷。采用數據管理係統,在整個設計流程中,設計的狀態,檢查以及一些關鍵的修改均可以容易地實現。

如果電路設計師提出要求,物理設計師也可以對設計做寄生參數提取。寄生參數提取使得電路設計師能夠考慮物理版圖的特性對電路重新仿真,以確保最終的結果滿足設計指標。同樣,通過數據管理係統,寄生參數提取的輸出可以被管理、標記,並通知到電路設計師,表明電路已經可以重新仿真和檢查了。根據檢查結果,對原理圖會做新的修改,一個原理圖的新的版本又會生成。整個設計進程將重複它自身的標記、通知等,直到設計工程師認定該部分全部完成。

當所有的設計單元均完成並做出標記後,設計團隊可以利用數據管理係統的審核信息對項目進行檢查。當檢查通過後,項目數據就可以交付掩膜生產。所有用於掩膜生產的設計輸出文件也將會采用數據管理係統統一管理。

  1. 工程更改指令(ECO)的管理

在項目的設計和測試階段,設計的問題和改進的要求會不斷提出,需要對設計進行相應的修改並把該修改通知給設計團隊的其他成員。這個過程通常被稱作工程更改指令或稱為 ECO

一個 ECO 過程包含很多特別的信息,比如由誰做了什麽樣的修改,要描述是哪方麵的問題或改進,涉及到哪些文件,修改發生的日期和時間,會涉及到哪些人。采用 ECO,可以使得涉及修改的發生、實現、測試和檢查,從開始到結束,給團隊提供一個良好的跟蹤方法。

采用數據管理係統軟件,設計團隊可以產生並跟蹤他們的 ECO。數據管理係統可以提供以下一些基本功能:

  1. 文件版本來存儲實際的修改
  2. 曆史記錄,包括作者、日期、修改注釋以及重要提示
  3. 文件記號來標注修改過的文件
  4. 通知團隊成員進行更新

另外,第三方的缺陷跟蹤軟件也可以集成到數據管理係統,使得設計師在做 ECO 時可以使用傳票功能。這些傳票功能可以從開始到結束,完整跟蹤工程更改。

一個 ECO 通常從電路設計師更改原理圖或模型文件開始發起。采用數據管理係統,設計師導入他們的修改,添加上有關修改的注釋,並標記他們已經可用了。一個 ECO 的傳票就產生了,通知功能將發送給物理設計師,讓他們注意新的 ECO

數據管理係統提供幾個功能來幫助物理設計師審核這個 ECO 並決定如何相應修改。設計師根據包含關於修改的重要標注的版本管理曆史來開始更新。然而,依賴電路設計師標注的方法一般效率不高且容易出錯。所有的數據管理係統提供快速和準確的高亮顯示來比較兩個版本的文本文件的不同,這對於基於文本格式的 ECO 工作是極為有用的。

對原理圖或版圖的修改用手工來確定就更難了,有些關於屬性的修改甚至不可見。在生產製造之前對所有的 ECO 進行檢查是必不可少的。但設計周期的緊迫又使之很難做到。有些數據管理係統可以提供包括原理圖或版圖在內的圖形設計目標各個不同版本之間的比較。層次化比較還可以找出在所有設計層次上所做的修改。這個功能使得設計師可以確保項目中的所有 ECO 都在版圖上實現並得到確認。對於版圖所做的修改可以快速地檢查,而不必通過費時的流程去生成 GDSII 文件再做版圖異或比較(見圖10)。

10 ECO改變用電路比較特點作高亮顯示

 

采用這些數據管理功能,設計師可以容易地發現,解決和實現修改。使用數據管理係統和 ECO,項目整體的狀態可以得到始終一致的修改和跟蹤。當項目趨於結束時,所有ECO 必須完成。要做一次專門的檢查確保所有的 ECO 傳票已經完成並結束。項目此時就可以準備生產製造了。

  1. 項目版本和變異的跟蹤

當一個項目完成時,設計團隊應該捕捉下用於最終產品製造的所有設計數據文件的版本。采用數據管理係統,他們可以把所有文件的當前版本做一個有意思的命名標記,例如tapeout_1.0”,並為當前配置記錄下一個快照(snapshot)。這個快照可以捕捉到項目在關鍵時刻下的情形,並把這種情形記錄到項目數據庫中而不必拷貝所有的項目文件。

利用快照,產品製造數據可以在任何時候由數據管理係統重新生成。這使得設計團隊成員可以清空他們的工作空間,釋放磁盤給新的項目使用。最後,通過利用數據管理係統和快照,設計數據可以更加方便地存檔。

在新產品的測試過程,可能會發現問題,版本的更改和變異就會發生。數據管理係統可以方便地跟蹤這些更改。設計團隊可以繼續在原來的項目數據庫中工作。為新的變異做相應修改,當完成時,再生成一個新的快照。

在新產品的測試過程,可能會發現問題,版本的更改和變異就回發生。數據管理係統可以方便地跟蹤這些更改。設計團隊可以繼續在原來的項目數據庫中工作,為新的變異做相應修改,當完成時,再生成一個新的快照。

設計公司總是嚐試在維護原有產品的基礎上推出新一代的產品。如何在相同的數據基礎上,既能對已有產品做一些小的維護,同時又不影響開發新一代的產品,將是一個挑戰。數據管理係統有兩種方法可以應對:拷貝或分支。

拷貝方式是讓項目管理員生成一個新的項目數據庫,就像一個全新的項目。項目管理員把當前產品的快照數據拷貝導入到新的數據庫中。一旦數據導入新的項目數據庫,設計團隊就生成新的工作空間開始新的產品設計。采用這種方法,任何對已有產品的維護修改隻發生在原有項目數據庫中,而新開發的項目是與之隔離的。盡管這可以保持兩者之間的獨立性,但也有它不足的地方。第一,數據在兩個項目數據庫中重複保存,浪費磁盤空間。第二,過去開發過程的曆史記錄不會帶入新的項目數據庫。第三,對新的和維護項目數據庫共同部分的修改需要做兩次,可能會忘記其中的一次。

分支方式與拷貝方式不同,將繼續使用同一個項目數據庫。采用這種方式,新一代的產品開發將在給現有產品保存一個快照之後的所謂“樹幹”或“主”分支的基礎上繼續展開。何對現有產品的維護將在源於快照的分支上進行。另外,任何所做的修改如果需要成為新開發產品的一部分時,可以合並入主開發樹幹。這種方法提供了幾個方麵的優點:第一,它隻采用一個項目數據庫,不需要額外的設置;第二,任何新、舊產品共有的數據始終保持相同和共享,避免重複。采用分支方法,要求設計團隊的所有成員對如何在分支上生成和合並數據非常熟悉。通過培訓,用戶可以掌握和利用好分支方法,並獲得一個有效的開發手段。

數據管理係統給項目經理提供版本跟蹤和變異的控製手段。采用數據管理係統的審核功能,他們可以在項目完成後,方便地發布版本,並一直跟蹤各種問題修改變更的要求。

  1. 規則、角色、訪問和授權

采用自由、放任的發開方法,對於一組在一起工作的有經驗的工程師小的設計團隊或許是可行的。但當設計團隊更大,水平高低不一,跨越不同時區的情況下,出現意外和錯誤就會增加。一個項目管理員要製定規則,誰能做什麽的,並通過數據管理係統自動保證規則執行。這些規則應該既能夠防止意外又不會過於麻煩。

一些典型的例子如:

  1. 不允許版圖工程師修改原理圖但可以有讀訪問權限,反之亦然。
  2. 隻允許合同工閱讀和修改與他們所做工作有關部分的設計數據。
  3. 根據設計師的經驗和在項目中的角色,用數據管理係統控製他們能做的事情。

一個用戶能訪問哪些資源通常取決於以下兩方麵的因素

  1. 該用戶是做什麽的?例如:模擬設計、數字設計、版圖、功能驗證或版圖驗證等等。
  2. 用戶的角色,經驗和職責是什麽?項目管理員、經理、項目小組長、專家、新手、合同工等。

在數據管理係統中,對於讀/寫權限的解釋與一般的操作係統是有一些微小不同的。在數據管理係統中的隻讀權限表示用戶可以把設計目標拷貝到自己的工作空間,打開並瀏覽,但不能導入新的版本回項目數據庫。這並不防礙他們在自己的工作空間改變文件的讀/寫權限並對該設計目標進行修改。沒有寫權限,該用戶不能將修改導入項目數據庫,從而防止該用戶影響整個設計。

Unix/Linux 係統概念下的用戶、組、讀寫權限對數據管理係統也是適用的。黃組(YGroups)概念可以定義組權限,防止一組成員修改另一組所生成的設計數據。但該概念過於簡單化,表現在以下兩個方麵:

  1. 依賴於每個用戶分配權限。如果用戶不小心設錯文件的權限,別的任何人都可能對之讀或寫。
  2. 對文件的修改有很多不同的含義。你可以修改它的內容,改變它的授權屬性,甚至刪除整個文件。采用數據管理係統,你可以有更多的操作,比如,標記、分支、解鎖、版本回退等等。因此,你要更細化地定義所謂的讀/寫權限。

采用數據管理係統,項目管理員可以產生更種角色,例如:管理員、經理、工程師、新手等。並對每個用戶定義他們能運行什麽命令。另外,項目管理員要確保在每一個新的設計目標生成時要自動設定正確的權限,而不能依賴於讓每一個創建該目標的用戶去做設定。

訪問的規則和角色必須得到全體成員的同意和認可。他們會給每一個成員提供正確的訪問權限。因為數據係統能夠提供版本控製和錯誤回退,所以最好能提供多一點的靈活性而不要因為控製太多給開發帶來束縛。項目管理員可以以此為標準去設置數據管理係統自動控製授權。

  1. 跨項目的 IP PDK 重複利用

當做新的產品開發時,利用以前開發好的大量資源或經過測試的知識產權(IP)來縮短開發周期是十分有意義的。IP 既可以是內部開發的,也可以從外部獲得。IP 重用的一部分挑戰是團隊是否有能力對它們進行正確的宣傳,打包和分類,而使得公司內其他團隊都能容易地找到和使用它們。

數據管理係統的 IP 管理和重用功能可以使得 IP 共享更加成功和有效。IP 數據庫管理員功能為 IP 開發者更新、打包、歸檔,發布和分配 IP 給最終用戶提供有力的工具(見圖11)。

11 管理與重用IP

 

IP 開發者和數據庫管理員,采用數據管理軟件,開發,歸檔和測試 IP 數據,從而製作並管理描述 IP 指標的數據參數手冊。使用 IP 管理軟件,對 IP 進行打包和發布,供內部或者外部客戶使用。

客戶在 IP 管理的界麵,通常是一個網頁,能搜索、瀏覽和查看可用的 IP。當發現滿足要求的 IP 後,最終用戶可以訂購 IP 並把它導入他們的設計環境中。數據管理係統保證IP 數據無縫地導入項目並能被立即使用。IP 管理軟件讓 IP 發布者能跟蹤哪些用戶使用這個 IP,並在 IP 做了改進的缺陷修複後能方便地向最終用戶發出提醒。當需要時,新版本的 IP 可以被導入(見圖12)。

12 搜索適當可用的IP

 

IP 數據庫之外,項目設計還要訪問包含有產品開發所需要的標準單元和 PDK 等工藝元件。與 IP 類似,這些庫也需要在項目團隊中發布、分配和共享。這些庫可以用 IP 管理軟件來管理或者也可以存儲在數據管理庫中讓 CAD 團隊來管理,采用數據管理索引,這些元件庫可以被所有需要的項目使用。這給 CAD 團隊和項目設計團隊保持同步,並隨時跟蹤更新正確的元件庫版本提供了一個好的方法。

  1. 總結

軟件設計團隊早就認識到沒有 SCM 係統他們什麽也幹不了。當混合信號設計團隊變大和廣泛分布後,采用設計數據管理係統的需求也增加了。

設計團隊發現在有效地利用數據管理係統之後,團隊的生產力和管理效率都提高了。昂貴的重新投片的可能性顯著減小。數據管理係統的投資回報率通過以下幾個方麵得到實現:

  1.  在同一個地點或世界各地的工程師之間實時交流和合作,減少昂貴和費時的會議和容易出錯的電子郵件通訊。
  2.  防止數據丟失,易於從錯誤中恢複。 自動的放錯記錄和質量管理功能,把經理和工程師從繁雜的任務中解脫出來。
  3.  快速、直觀的修改檢查。
  4.  全公司內的有效的 IPPDK重用和分配。
  5.  減少 EDA支持服務的要求,因為整個流程順暢,數據自動共享。

 

 

 

參考文獻

  1. Evaluating a Design Data Management System, Scott Woods, IC Journal, http://eejournal.com/archives/articles/20090224_ddm/
  2. Ravi Poddar and Srinath Anantharamon, Multisite, collaborative hardware design calls for HCM, EE Times Design, http://eetimes.com/design/industrial-control/4006392/Multisite-collaborative-hardware-design-calls-for-HCM
  3. Grego Sanguinetti, Design Data Management Improves Productivity Even for Small Design Teams, http://chipdesignmag.com/display.php?articleId=2275
  4. Tom Dewey, Implementing a Team Design Environment, http://chipdesignmag.com/display.php?articleId=2353
下一個 :
下一個 :
底部logo

888集团电子游戏科技公司致力成長為國內領先的EDA(電子設計自動化)方案提供者;
為客戶提供優秀的產品和優質的服務,是我們的宗旨;
為員工提供優良的工作環境和優等的工作氛圍,是我們的責任;
朝氣蓬勃、奮發向上、受人尊敬,是我們的理念;
與IC行業、時間一同前進,是我們的方向!
 

地       址:上海市凱旋路3131號明申中心大廈1301室

電話:+86-17821750547

Emailsales@lailaituan.com

Copyright © 2023 Yangeis All Rights Reserved. 888集团电子游戏科技公司版權所有     滬ICP備19002239號