并行設計法探究
利用最新開(kāi)發(fā)的軟件技術(shù)可以完成高效的并行電路板設計。這種新的技術(shù)能使多個(gè)設計師、多個(gè)進(jìn)程和不同種類(lèi)的工具同時(shí)工作于同一個(gè)設計數據庫,并能顯著(zhù)地提高設計生產(chǎn)力。
與將設計分成若干部分并獨立地完成各個(gè)部分的傳統方法不同,此新技術(shù)能在一個(gè)公共數據庫上創(chuàng )建并行進(jìn)程,并能自動(dòng)同步進(jìn)程的變化、解決相互間可能發(fā)生的沖突。這在EDA行業(yè)是首創(chuàng )。
自從20世紀90年代在電路板設計中廣泛采用CAD以來(lái),制造領(lǐng)域通過(guò)自動(dòng)化和工藝優(yōu)化手段一直在不斷地提高設計生產(chǎn)力。不幸的是,隨著(zhù)電路設計軟件技術(shù)的不斷創(chuàng )新,要求支持新的信號、元器件或板級制造技術(shù)的呼聲也在日益高漲,因此整個(gè)設計時(shí)間幾乎沒(méi)有縮短(甚至更長(cháng))。
如果設計方法學(xué)沒(méi)有根本性改變的話(huà),軟件將始終扮演硬件技術(shù)的跟隨者角色,而不會(huì )成為發(fā)展曲線(xiàn)上的領(lǐng)先者。多位工程師從事同一設計的并行工程技術(shù)一直是生產(chǎn)力突破的有效法寶。傳統的分而治之法將設計分成若干個(gè)部分并分配到各個(gè)工程師手上,最后把各個(gè)部分聯(lián)接起來(lái),并通過(guò)強制措施(根據預先定義好的規則自動(dòng)做出決定)或巧妙手段(讓工程師逐個(gè)解決沖突)解決所有的沖突。
這種方法對于電路的原理圖設計來(lái)說(shuō)是相當有效的,因為它可以根據功能直接把設計分割成多個(gè)模塊和頁(yè)。雖然如此,但這種方法仍需要相當多的人工操作才能解決模塊間的互連問(wèn)題,如信號名沖突、元件遺漏等等。只要設計師相互間看不到對方在做什么,上述這些失誤就很有可能發(fā)生。
如果一個(gè)并行設計方法允許多個(gè)設計師能夠在同一時(shí)間同時(shí)做同一個(gè)設計,能看到其他設計師做的編輯內容,能實(shí)時(shí)自動(dòng)地管理各種潛在的沖突,那么這種并行設計方法才能獲得最佳的靈活性和生產(chǎn)力。
并行設計架構
新的并行設計技術(shù)需要在網(wǎng)絡(luò )環(huán)境中運行的一個(gè)設計進(jìn)程管理器(服務(wù)器)和多個(gè)設計客戶(hù)端。服務(wù)器軟件的主要工作是從每個(gè)客戶(hù)端接收更新請求,并對請求實(shí)施檢查以確保沒(méi)有違反設計規則,然后根據更新內容使每個(gè)客戶(hù)端同步。
每個(gè)客戶(hù)端必須擁有自己專(zhuān)用的處理器和存儲器。新的并行設計架構還假設通信系統能夠支持客戶(hù)端與服務(wù)器之間實(shí)時(shí)高效交換信息所需的最小帶寬和最大延時(shí)。每個(gè)客戶(hù)端都能看到整個(gè)設計,并在服務(wù)器處理它們時(shí)觀(guān)察到其它客戶(hù)端的編輯。設計數據庫允許存儲于網(wǎng)絡(luò )上的任何地方。
這種并行設計架構允許多個(gè)設計師同時(shí)做同一個(gè)設計,而無(wú)需以邏輯或其它任何方式分割設計。這是一個(gè)真正實(shí)時(shí)的合作設計環(huán)境,在這種環(huán)境下所有與分割邊界以及分割-聯(lián)接操作期間管理數據完整性相關(guān)的問(wèn)題都不會(huì )出現。
由于多個(gè)設計師能夠以并行方式無(wú)任何限制地做同一個(gè)設計,因此能夠顯著(zhù)地縮短整個(gè)設計周期。
每個(gè)設計都有相關(guān)的設計團隊,只有團隊的成員才被允許訪(fǎng)問(wèn)設計數據。任何一個(gè)團隊成員都能在服務(wù)器和單個(gè)客戶(hù)端上啟動(dòng)一個(gè)設計會(huì )議。其它客戶(hù)端可以在任何時(shí)候參與該會(huì )議。
設計最開(kāi)始時(shí)是裝載在服務(wù)器上的,當客戶(hù)端加入會(huì )議并將服務(wù)器設計的當前狀態(tài)自動(dòng)下載到客戶(hù)端的存儲器內后,客戶(hù)端就得到初始化并獲得同步。一旦客戶(hù)端加入設計會(huì )議,它就可以使用應用程序中可用的標準編輯工具對設計進(jìn)行編輯。
編輯事件是由客戶(hù)端發(fā)起的一項獨立活動(dòng),它作為一個(gè)更新請求發(fā)往服務(wù)器。例如將一個(gè)器件從A點(diǎn)移動(dòng)到B點(diǎn)就組成了一個(gè)編輯事件,事件的開(kāi)始是選取器件,事件的結束是以鼠標點(diǎn)擊(或等效的輸入)指示新位置。編輯事件作為一個(gè)事務(wù)處理被發(fā)往服務(wù)器,它描述了要刪除的東西和要添加的東西。
每次客戶(hù)端產(chǎn)生的編輯事件在發(fā)送到服務(wù)器之前必須先執行本地的設計規則檢查(DRC),然后設置好編輯請求的優(yōu)先級并根據先進(jìn)先出的原則進(jìn)入輸入消息隊列。服務(wù)器接收到編輯請求后先將它整合進(jìn)設計數據庫,然后執行DRC。如果沒(méi)有發(fā)現什么問(wèn)題,編輯請求就被批準,并通過(guò)輸出消息隊列發(fā)往所有客戶(hù)端,用于客戶(hù)內部核心數據庫的同步。
大多數計算時(shí)間花費在本地客戶(hù)端上。在客戶(hù)端目標對象被增加、編輯和刪除,同時(shí)執行所有與那些編輯相關(guān)的自動(dòng)化操作(如推、擠和平滑)。與客戶(hù)端相比,服務(wù)器的負載相對要輕一些,因此不會(huì )影響到系統性能。對該環(huán)境的測試表明服務(wù)器的響應速度非???,不會(huì )降低客戶(hù)端的速度。
電路板的自動(dòng)布線(xiàn)
并行設計技術(shù)的第二個(gè)應用是電路板的自動(dòng)布線(xiàn)。多年來(lái)分布式自動(dòng)布線(xiàn)一直是電路板布線(xiàn)軟件的“強大武器”。以前IC布線(xiàn)器已轉換到分布式環(huán)境運行。然而,電路板布線(xiàn)問(wèn)題有很大的不同,直到現在人們還是認為必須改編自動(dòng)布線(xiàn)器才能充分利用多個(gè)計算機共同完成同一設計的優(yōu)勢。軟件供應商和第三方工程師們在試圖獲得可接受的性能提升方面也作過(guò)多次嘗試,但都以失敗告終。
新的并行設計技術(shù)所采用的架構能夠解決分布布線(xiàn)環(huán)境下的大多數關(guān)鍵問(wèn)題,它知道如何防止或解決沖突。同樣,服務(wù)器擔當設計進(jìn)程管理角色,來(lái)自每個(gè)自動(dòng)布線(xiàn)器客戶(hù)端的請求在服務(wù)器中被整合、檢查并廣播到其它客戶(hù)端。所有自動(dòng)布線(xiàn)器客戶(hù)端保持同步,因此當在本地增加新的布線(xiàn)路徑時(shí),布線(xiàn)路徑?jīng)_突的機率很小。
整合高效工具
由于電路設計是包含了眾多步驟和規則的一個(gè)過(guò)程,因此要想獲得優(yōu)良的生產(chǎn)力,必須緊密地整合最高效的點(diǎn)式工具。在整個(gè)設計過(guò)程中數據和規則必須能順暢的流動(dòng)。
在過(guò)去20年中,EDA工業(yè)發(fā)生了規??涨暗暮喜⒑褪召?,結果軟件供應商的設計流程都依賴(lài)于眾多工具的整合。除此之外,大型公司要求眾多軟件供應商的工具能集成到自己獨特的設計流程中。
權宜之計是編寫(xiě)一個(gè)接口,通過(guò)該接口將一個(gè)工具的ASCII輸出轉換成其它工具的ASCII輸入格式。照這樣做的話(huà)會(huì )生成上百個(gè)ASCII接口,每個(gè)接口用于克服常見(jiàn)的數據模型和規則不兼容問(wèn)題。
這種整合方法的基本要求是所有應用必須擁有完全兼容的數據模型。每個(gè)應用程序處理數據時(shí)可能使用不同的工具和不同的自動(dòng)化水平,但每個(gè)應用程序必須能夠接收改動(dòng)并加以識別,從而知道下一步該做什么。
也可能使用并行設計技術(shù)整合某個(gè)應用以執行一組特定的任務(wù),如創(chuàng )建、布局、布線(xiàn)和編輯嵌入式器件。如果這樣,那么那個(gè)應用程序就能被自動(dòng)限制成只允許使用那些特定的功能。
電路和板設計
將并行版圖和并行整合所需的技術(shù)結合起來(lái)可以形成這樣的環(huán)境,即設計流程中的多個(gè)不同應用可以被整合在一起,并供多個(gè)設計師同時(shí)使用。
例如,原理圖設計、約束管理、版圖設計、三維機械設計仿真和制造等應用程序能以某種方式整合起來(lái),從而允許所有這些應用程序被同步投入使用,同時(shí)在整個(gè)設計流程中更新和同步所有的編輯事件。甚至在混合環(huán)境中可能出現多個(gè)相似的應用,比如多個(gè)版圖工具。
由于多個(gè)應用程序在同時(shí)運行,工程師就能快速理解所增加路徑的信號完整性效應。如在蜂窩話(huà)機設計的三維機械系統中,器件在版圖中的移動(dòng)能夠立即獲得更新和被檢查。
評論