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