1 前言 隨著(zhù)集成電路工藝技術(shù)的不斷發(fā)展,集成電路的特征設計尺寸進(jìn)入到深亞微米,芯片規模擴大到百萬(wàn)門(mén)級,從計算量、后端布局布線(xiàn)(placement&routing,P&R)工具、內存占用、運行時(shí)間、設計時(shí)序收斂性等方面考慮,扁平化的后端實(shí)現方式已變得難以承受,近年來(lái),層次化的設計方式被廣泛采用,以實(shí)現大規模芯片的后端工作。 隨著(zhù)芯片規模的擴大,設計復雜性的提高,設計周期成為廣泛關(guān)注的問(wèn)題。設計周期主要取決于4個(gè)方面[1] 1.設計步驟 2.各個(gè)設計步驟需要重復的次數 3.各個(gè)設計步驟的執行時(shí)間 4.各步驟之間需要等待的時(shí)間 設計周期的縮短需要從這4個(gè)方面努力。此外,還有一個(gè)能縮短設計周期的因素:可參考設計流程?蓞⒖荚O計流程定義了設計中必須執行的設計步驟,比如,著(zhù)名的rugged.script是SIS的參考綜合流程[2]。參考設計流程讓用戶(hù)在設計初期就能夠快速開(kāi)始設計,否則設計人員在設計初期需要自行作多種嘗試,決定設計流程。 本文首先介紹IBM的專(zhuān)用集成電路(ASIC)設計流程,然后詳細介紹層次化模塊設計中對子模塊進(jìn)行快速物理設計的可重用設計流程(RLMREDOFLOW),頂層整合時(shí)對子模塊的優(yōu)化處理方法,以及該RLM設計流程的優(yōu)點(diǎn)。 2 IBM ASIC設計流程簡(jiǎn)介 圖1描述了IBM的ASIC設計流程。在初始設計階段,系統工程師、前端邏輯設計工程師和后端物理實(shí)現工程師將一起分析設計,進(jìn)行設計規劃,根據邏輯設計和物理特性劃分設計層次。層次劃分是這一階段重點(diǎn)要考慮的因素,將影響到綜合和布局布線(xiàn)時(shí)對子模塊邊界優(yōu)化的力度,子模塊之間連接關(guān)系的復雜程度等。此外,進(jìn)行層次劃分時(shí)還要考慮邏輯設計的進(jìn)度,如果部分子模塊的前端邏輯設計比其他子模塊早,則可以先完成這部分子模塊的物理設計。 ![]() 圖1 IBMASIC設計流程 3 RLM可重用設計流程(RLM REDO FLOW) RLM可重用設計的自動(dòng)化流程涵蓋了從可測性設計(DesignForTest,DFT),物理設計到時(shí)序收斂的后端設計的各個(gè)方面,使得設計工程師可以通過(guò)一個(gè)標準化的設計流程來(lái)保證后端設計的收斂性和較少的迭代周期。我們根據后端設計中的主要設計節點(diǎn)把整個(gè)子模塊的后端設計分為9個(gè)部分來(lái)具體實(shí)現。 1)100前端處理 2)200確定物理信息 3)300為時(shí)序驅動(dòng)的布局做準備 4)400時(shí)序驅動(dòng)的布局 5)500 時(shí)鐘插入&時(shí)鐘繞線(xiàn) 6)600時(shí)鐘插入后的LateMode時(shí)序收斂 7)700時(shí)鐘插入后的EarlyMode時(shí)序收斂 8)800 詳細布線(xiàn) 9)900交付驗收 下面具體介紹各個(gè)設計步驟。 100前端處理 主要完成RLM內部測試結構的生成,包括插入掃面鏈,以及測試邏輯,如邊界掃描邏輯、存儲器件的內建自測試邏輯等。 200確定物理信息 確定RLM的一些主要物理信息,包括RLM的大小、形狀、內部的電源網(wǎng)絡(luò )、內部硬核的擺放、邊界上端口的位置。 1)首先定義RLM的大小、形狀,以及RLM的繞線(xiàn)資源,這是RLM能夠獨立于頂層設計往下走的一個(gè)起點(diǎn)。往往這些信息的確定是經(jīng)過(guò)多個(gè)迭代后的結果,而一旦確定之后在設計后期再要修改會(huì )極大的影響設計的可重用性。 2)在給定的RLM資源的基礎上進(jìn)行硬核的預布局(Floorplan)工作。預布局工作可以利用工具自動(dòng)完成或者采用手工擺放的方式,需要考慮到時(shí)序收斂和繞線(xiàn)擁塞,在設計初期會(huì )占用很大的設計時(shí)間來(lái)達到一個(gè)較好的預布局結果。 3)根據已做好的預布局結果,對硬核中端口噪聲較高的區域進(jìn)行防噪聲處理。 4)分析整個(gè)RLM的時(shí)鐘結構。 5)進(jìn)行電源設計,一個(gè)獨立的RLM的電源設計需要在RLM邊界上有一個(gè)電源環(huán)的結構,以此來(lái)連接RLM內部和頂層的電源信號。 6)自頂向下的來(lái)完成RLM的端口擺放,在后續的設計中可以根據RLM內部設計的需求來(lái)進(jìn)行一些調整。 7)在不考慮線(xiàn)延遲的情況下對RLM的時(shí)序進(jìn)行分析,以確定時(shí)序約束的合理性,需要注意的是,要做好RLM邊界的時(shí)序約束。 300為時(shí)序驅動(dòng)的布局做準備 主要完成RLM端口和內部硬核的相關(guān)邏輯的預布局,同時(shí)也可以根據設計的具體需求進(jìn)行其他重要邏輯的預布局。通過(guò)前面時(shí)鐘結構分析的結果,把設計中時(shí)鐘相關(guān)的邏輯確定出來(lái),與時(shí)鐘相關(guān)的設計我們會(huì )放在布局之后獨立完成。 400時(shí)序驅動(dòng)的布局 基于上一步的輸出,對剩下未做布局的部分進(jìn)行時(shí)序驅動(dòng)的布局。并對完成布局的網(wǎng)表進(jìn)行時(shí)序和物理的檢查。 500時(shí)鐘插入&時(shí)鐘繞線(xiàn) 根據前面時(shí)鐘結構分析的結果在做完布局的設計上進(jìn)行時(shí)鐘樹(shù)的插入工作,并進(jìn)行時(shí)鐘的繞線(xiàn)。 600時(shí)鐘插入后的LateMode時(shí)序收斂 調用優(yōu)化工具優(yōu)化setup,直到setup滿(mǎn)足要求 700時(shí)鐘插入后的EarlyMode時(shí)序收斂 調用優(yōu)化工具優(yōu)化hold,直到hold滿(mǎn)足要求 800詳細布線(xiàn) 對所有信號進(jìn)行布線(xiàn),并完成物理特性的檢查。然后提取寄生參數,以及噪聲、耦合信息,進(jìn)行時(shí)序分析,并調用優(yōu)化工具優(yōu)化時(shí)序。 900交付驗收 檢查RLM的布局布線(xiàn)、時(shí)序、功耗、噪聲等,確保RLM的設計滿(mǎn)足驗收要求,可以交付給頂層進(jìn)行整合。 從上面的設計流程可以看出,RLM設計和頂層設計的交互主要在200和900這兩步。在RLM設計流程開(kāi)始之前,芯片的頂層設計人員需要確定 RLM的在芯片上的位置、形狀(包括尺寸)、端口的位置和約束,可用于RLM布線(xiàn)的最高金屬層,以及RLM邊界上的時(shí)序約束。在RLM設計人員進(jìn)行RLM 設計的同時(shí),頂層的工作可以并行進(jìn)行,各個(gè)RLM的設計也是可以并行的,并行度的提高大大縮短了設計周期。 4 HATS HATS(HierarchicalAbstractTimingSignoff)是IBM層次化設計方法學(xué)的一部分,僅抽取RLM 的部分信息,用于頂層合成時(shí)的時(shí)序分析和優(yōu)化。在RLM中,影響芯片頂層時(shí)序的僅僅是輸入/輸出端口相關(guān)的路徑。而占絕大部分的時(shí)序路徑是從寄存器到寄存器的,這部分已經(jīng)在RLM中已做到時(shí)序收斂,整合到頂層時(shí),時(shí)序信息不會(huì )發(fā)生變化,合成時(shí)可以不考慮這部分的時(shí)序。 HATS的流程如圖2所示,在完成RLM設計之后進(jìn)行時(shí)序分析和網(wǎng)表分析,去除RLM內部寄存器到寄存器的路徑,以及與此相關(guān)的時(shí)序約束,抽取 RLM信息,交給頂層使用。抽取的過(guò)程如圖3所示。 ![]() 圖2HATS處理流程 ![]() 圖3RLM信息的抽取 隨著(zhù)芯片規模的擴大,標準單元和硬核的數量迅速增加,采用傳統的設計方法需要占用大量的內存和CPU時(shí)間。而采用HATS方法,在保證驗收質(zhì)量的同時(shí),去除了冗余的計算,大大降低了芯片合成所需的內存和CPU時(shí)間。表1中示出了一個(gè)90nm芯片的設計實(shí)例,該芯片中包含一個(gè)重復使用了20次的 RLM,采用HATS大量節省了CPU時(shí)間和占用的內存。 表1HATS在芯片“P”上的應用 ![]() 5 RLM快速物理設計方法的優(yōu)點(diǎn) 可重用的設計流程是縮短設計周期的關(guān)鍵。本文介紹的RLM快速物理設計方法,其優(yōu)點(diǎn)歸納起來(lái)有以下幾點(diǎn): 1)IBMRLM層次化設計方法具備靈活有效的模塊劃分技術(shù); 既可針對客戶(hù)的設計要求進(jìn)行有針對性的RLM劃分,也可以在頂層針對物理設計的需求進(jìn)行易于物理實(shí)現的RLM模塊劃分,還可以綜合考慮客戶(hù)的設計要求和物理設計的需求進(jìn)行RLM劃分。 2)充分考慮了功耗及噪聲對于物理設計方面的影響; 在設計初始階段就進(jìn)行完備而合理的電源設計,DECAP插入,確保流片后不會(huì )因動(dòng)態(tài)或靜態(tài)電壓降的問(wèn)題影響芯片的正常工作。 3)充分考慮信號完整性對于芯片設計的影響; 對于關(guān)鍵的線(xiàn)做屏蔽,比如時(shí)鐘樹(shù),確保在驗收階段盡可能準確,減少不必要的冗余迭代。 4)完備的時(shí)序驗收分析; 在IBMRLM設計流程中既引入多CORNER,統計分析,同時(shí)在設計開(kāi)始階段就充分考慮了電壓降對于時(shí)序的影響,盡量避免了在驗收階段由于時(shí)序問(wèn)題所產(chǎn)生的迭代,并進(jìn)一步確保流片后芯片在時(shí)序上的功能與設計階段分析的一致性。 5)充分考慮RLM集成在頂層的邊界問(wèn)題; 對于接口處進(jìn)行了合理設計確保頂層集成時(shí)易于實(shí)現; 6)該設計方法具有很好的靈活性; 允許不同的工程師針對不同的RLM并行工作,而又可以共享利用統一的設計腳本,同時(shí)不影響頂層的并行評估。 7)設計方法易于更新和共享; 不同的工程師可以根據實(shí)際設計需要更新設計腳本同時(shí)共享給其他設計者。 8)易于集成; 設計完成的RLM,可以抽取信息便于頂層集成快速進(jìn)行物理設計以及時(shí)序、信號完整性、功耗等方面的分析,同時(shí)在頂層驗收分析時(shí)可以繞開(kāi)RLM內部路徑,直接打平RLM,進(jìn)行扁平化分析。 9)易于迭代; 當工程師對一個(gè)RLM根據該方法進(jìn)行一次評估后,確定設計需要的腳本,之后可以根據客戶(hù)更新的ECO網(wǎng)表重新調用以前的預布局,電源等信息進(jìn)行快速的再評估,減少了交付市場(chǎng)的時(shí)間。 6 總結 對于大規模的系統設計,層次化的設計策略是業(yè)界的方向,特別是規模龐大的系統采用層次化的設計把一個(gè)大的系統分成子模塊,對小的子模塊設計的收斂時(shí)間更容易把握,后端工程師可以并行的處理同一個(gè)設計。IBM先進(jìn)的子模塊快速設計流程提高了設計過(guò)程的可重用性,縮短了設計周期。 附:本文僅代表個(gè)人觀(guān)點(diǎn),IBM不保證文中推薦解決方案在其他設計上的應用。 參考文獻 [1]J. Koehl, D. E. Lackey and G. Doerre, “IBM’s 50 Million Gate ASICs,” Proceedings of the IEEE Asian and South Pacific Design Automation Conference, pp. 628 - 634, 2003 [2]E. M. Sentovichandetal.,“SIS: A System for Sequential Circuit Synthesis,” Technical Report, Un University of California, Berkeley,1992 作者:IBM中國芯片研發(fā)中心 李恭瓊 戴紅衛 張春朋 余振華 2009-08 |