摘要:在傳統(tǒng)的設計流程中,后端設計人員必須等到前端RTL設計工作完成后才能開始工作,這樣不僅會影響整體工作進度,還會影響產品質量。例如,芯片的多個邏輯模塊可能已經設計完成了,但其它人的工作還要等上好幾個月。在典型的平面化設計方法中,由于物理設計小組無法訪問完整的網(wǎng)表,因此無法開展具有重要意義的實驗工作。本文介紹的分層設計方法允許物理和邏輯設計協(xié)同展開。
現(xiàn)在的芯片設計中所出現(xiàn)的問題更多地與流程有關,與所用的工具關系不大。由于高級技術人員的缺乏,加上物理設計(如SoC)復雜性的提高,建立能成功組織并協(xié)調工具、數(shù)據(jù)與人員之間關系的內部流程變得越來越困難。另外,深亞微米半導體工藝的發(fā)展以及設計工具的愈加多樣性使問題變得更加復雜。因此當今的工程師們需要的不僅僅是全套工具,更需要世界頂級設計師們的經典流程和軟件技術作指導。
Hopper的出現(xiàn)給業(yè)界帶來了新的希望,利用它可以設計出高性能的3dfx交互式圖形芯片。Hopper是一種專業(yè)的自動化物理設計軟件,它所提供的自動化物理設計流程能夠進行:1. 鄰接模塊的層次化設計;2. 協(xié)同設計;3. 所有設計任務的自動化,以及更加方便的實施“如果...將會怎么樣?”試驗。
與商用化工具如Avanti公司的Apollo、Hercules、StarRC-XT甚至那些能完成信號增強器插入及時鐘分配的專業(yè)工具相比,Hopper都略勝一籌。Hopper實質上是一種自動化引擎,在專業(yè)工具知識(最佳默認設置)和專業(yè)設計知識(適合特定芯片的工具參數(shù)和事件順序,詳見圖1)的幫助下,它能使ReShape迅速具備物理設計流程的實用技巧。
利用Hopper設計的3dfx圖形芯片具有以下一些性能特點:
1. 采用TSMC的0.18微米制造工藝;2. 六層布線;3. 150萬個可置放對象 ;4. 3千萬個晶體管;5. 200個RAM、4個PLL、3個D/A轉換器和2個AGP;6. 18個模塊(12個內核、4個焊盤環(huán)(pad-ring)模塊);7. 18個不同時鐘,最高頻率為533MHz(典型值為200-350MHz);
8. 最大的模塊有25萬個可置放對象;9. 增加的信號增強器有1萬多個。
類似這樣的設計其增長速度遠遠超過EDA工具的發(fā)展速度,因此層次化物理設計的必要性也越加突出。分層方法產生的網(wǎng)表會更小,它能縮短設計周期、提高工具可靠性,因為需要轉存的內核更少,產品質量也會有質的飛躍。
更重要的是,采用分層設計方法后各設計小組可以在模塊級協(xié)同從事同一塊芯片的開發(fā)工作,從而使人員與工具的利用效率得以有效提高。
另外,層次化設計流程能使設計人員的信心在每一次迭代后更加堅定。根據(jù)定義,芯片的各個模塊能有效地控制單元固有的離散性,從而最大限度地減少時序或擁塞的變化。但傳統(tǒng)的平面化流程不可能保證這些單元定位在最鄰接的位置,因此每一次細微變化所需的驗證迭代都會帶來新的問題。
傳統(tǒng)分層設計的缺點之一是缺乏多種優(yōu)化措施,因為各個模塊都是獨立的,有些必要的改變對工程師來說缺少透明性。這種“水平作用(horizon effect)”會導致較差的產品質量。有許多任務會受到水平作用的影響,如:1. 引腳分配;2. 電路規(guī)則(如最大躍遷);3. 時序問題;4. 驗證問題(如天線規(guī)則);5. 時鐘分配;6. 功率分配。
而ReShape設計流程在進行層次化物理設計時不存在這些問題。因為在該設計流程中上一步驟的輸出會作為下一次運行的輸入,再通過對最新變化的觀察,設計人員就能確認上次設計中模塊間的適應性,從而可以根據(jù)歷次設計數(shù)據(jù)精確調整布局。傳統(tǒng)的設計流程試圖通過一次運行就產生最優(yōu)化的布局結果,而ReShape流程允許設計的多次運行驗證,每一次運行都能使布局更加精良,從而產生最佳的布局效果。在某種意義上,隨著運行次數(shù)的增加,ReShape工具的智能特性會進一步增強,以致于能利用前次的布局避免水平作用的發(fā)生。
傳統(tǒng)的層次化設計流程依賴于所有模塊間留出的開放式通道,這些通道主要用于提供最后設計修改時所需的連線空間。但通道的使用是不受人歡迎的,原因有三:1. 由于它們的使用會引起成堆的連線,因此極易產生線間耦合問題,不能保證芯片的全速運行,甚至會使芯片出現(xiàn)故障。2. 頂級網(wǎng)絡的走線路徑太長,因為它們只能繞過而不能穿過模塊。3. 它們會浪費芯片的寶貴空間資源。
為了解決上述通道問題,ReShape設計流程采取利用相鄰模塊的做法(圖2)。由于信號線可以直接穿過模塊,并對模塊內部的額外金屬資源作了充分利用,從而使模塊間的互聯(lián)性能得到了極大地優(yōu)化,這樣模塊間的空余空間也就不復存在了。ReShape流程的應用使物理設計更加緊湊,布線距離更短 ,從而使最終產品具有更短的路徑、更高的可靠性和更快的工作速度。
協(xié)同設計
如果沒有后端設計的反饋信息,功能設計人員在設計時不可避免地會產生很多問題,一旦芯片進入物理設計階段,這些問題的解決就變得相當困難,代價也非常巨大。但協(xié)同的功能和物理設計則可以避免這樣的問題,因為只要某些網(wǎng)表的主要結構定下來物理設計人員就能開展工作了,這時距整個前端設計完成可能還有數(shù)個月(有時甚至會是一年)的時間。
物理設計的提前啟動能使前端設計人員有充足時間重新調整RTL設計,以解決物理設計階段產生的問題。前端設計人員做出的決定可能會影響到物理設計,因此理想的方法是向他們提供足夠的物理設計信息作為他們決策的參考。設計中的早期反饋能使產品擁有更高的性能。事實上,隨著深亞微米設計的出現(xiàn),需要更多地考慮多個信號增強器插入時通過芯片的時延,因此帶預布局的早期試驗工作變得越來越重要。
協(xié)同設計的可行性在于模塊級網(wǎng)表的主要結構會在設計的較早階段確定。功能設計階段的剩余時間通常用來實現(xiàn)控制邏輯、設計驗證和微小缺陷修改,但這些變化通常不會對后端階段的網(wǎng)表行為造成太大的影響。有了這樣的概念,就可以讓物理設計人員訪問已經完成的部分邏輯,從而充分體會協(xié)同設計帶來的好處。
采用ReShape設計流程后,協(xié)同的前端和后端設計能使RTL設計人員選擇更方便的時候進行修改工作,并能更加有效地解決后端問題。這一優(yōu)點非常重要,例如在設計最大型模塊時,設計人員經常被擁塞或熱點問題所困繞。檢查發(fā)現(xiàn)該區(qū)域的部分分層網(wǎng)表中包含有大量的高扇出網(wǎng)絡,它們是實際功能為2:1復接器的AOI門的選通信號,Synopsys工具之所以選擇AOI門是因為它們在紙張上的印刷效果要稍微好些。
為了解決這個問題,需要做二方面的修改工作。首先把綜合腳本改成“infer-mux”指令,這樣可以將高扇出網(wǎng)絡的數(shù)量減半。另外,需要在流程中對這一模塊再做一次緩沖樹優(yōu)化。因此,通過對這些后端故障的早期發(fā)現(xiàn),RTL設計人員可以輕松地開展修改工作。
在深亞微米設計中,線模(wire model)與實際產品之間的差異是非常大的,此時協(xié)同設計很難或幾乎不可能用于時序收斂。一些比較保守的設計人員希望能利用設計余量來縮小這些差異,不幸的是,現(xiàn)在的工藝水平下這種方法常常是不可行的。
ReShape設計流程為每個模塊創(chuàng)建了僅用于綜合的線載模型。邏輯設計師通常都忽略綜合時序報告(簡單的A對B網(wǎng)表比較除外),反而對后布局時序非常感興趣(這種基于布局的時序至少與上次的全布線/全抽取運行相關)。
這些線模僅用于創(chuàng)建具有相當硬性(stiffness)的網(wǎng)表,這些網(wǎng)表可以用來優(yōu)化后端的時序收斂。線模一旦設置正確設計師就可以向流程中注入新的網(wǎng)表,并在數(shù)小時后用實際數(shù)據(jù)評估RTL或綜合的變化。
經過一次運行后,設計師自然想知道芯片的時序是否收斂,是否存在布線擁塞問題。采用ReShape流程后,大多數(shù)模塊的整個環(huán)回過程只用花幾個小時。例如,具有10萬個可置放對象的模塊達到時序和布線的完全收斂共花了10個小時左右,同一過程如果用傳統(tǒng)方法可能會花上數(shù)天時間。當RTL收斂于最后一份網(wǎng)表后就可以正式輸出了。
由于采用了自動化和分層設計工藝,從草圖到設計出完整的3dfx芯片可以在24小時內完成。從門級網(wǎng)表開始(網(wǎng)表本身就超過1兆位),加上預布局、經過資源樹檢驗的流程配置,總共有4000多份獨立的子任務,最終所有的模塊都經過布局布線達到了時序收斂。ReShape工具與Avanti運行工具共創(chuàng)建了1萬多個文件。
如果因為網(wǎng)絡或硬件問題使系統(tǒng)發(fā)生了故障,該設計流程能自動重啟并從中斷處自動恢復運行。
自動化處理
ReShape設計流程的一個最大優(yōu)點是能自動處理分層物理設計通常所需的成千個手工作業(yè)步驟。該設計流程提供了在各個階段增加特殊自動化操作的框架結構,可以解決模塊建立時引起的許多問題。設計師明確了需要自動化處理的耗時任務后,就可以開發(fā)出與流程相配套的代碼來完成這些任務。自動化處理不僅可以節(jié)省大量的設計時間,而且由于它的基礎是原有芯片的成功經驗及被證明的完善配置,因此設計人員可以有時間精確調整這些設置,確保獲得最佳的工具性能。
繼承過去的設計技術
在這次實際設計中,布局過程分成幾個獨立的步驟完成。首先是準備命令文件。一開始,設計流程需要打開數(shù)據(jù)庫并進行模塊學習,對根據(jù)用戶參數(shù)定義的控制加以利用,繼而生成一個命令文件,該文件包含了設計人員所學到對這一模塊進行布局的最佳方法。任何使用該流程的人都能獲得流程創(chuàng)建人員的有益經驗和知識,該流程創(chuàng)建人員也許就是以前的模塊創(chuàng)建者。
另外一個例子是日志文件瀏覽的自動化。日志文件記錄的是供應商工具所產生的完整通信內容,能告訴用戶每個任務的執(zhí)行結果。如果設計人員沒有詳細瀏覽日志文件,可能會在成千上萬行數(shù)據(jù)中錯失能指明問題的重要一行信息。更可怕的是該信息可能數(shù)天或數(shù)周內都不會再明示出來。ReShape流程內嵌了記錄檢查軟件,能自動打開和閱讀記錄文件,自動尋找錯誤信息,找到后會暫停搜索并加亮顯示該條信息。
不管設計工具如何先進,在做新的項目或采用新的庫或工藝時總會有新的物理設計問題產生。通常EDA供應商只能解決其中的一部分問題。但ReShape流程所創(chuàng)建的特殊用途代碼可以滿足特殊需求,這些代碼配置好后可以集成進設計流程中,使流程具備了功能強大的可以增加這類工具的框架結構。
例如在3dfx芯片中,有若干AGP和SDRAM總線,它們的時鐘斜率參數(shù)是非常嚴格的。3dfx公司以前芯片的時鐘斜率是通過手工編輯處理的。然而如果焊盤環(huán)需要作些改變時(如內核尺寸的變化或焊盤的移動),手工布局就無法適用了,此時人工布局需要全部推倒重做才能適合新設計的需要。
為了解決上述問題,ReShape提供“點工具”來處理這些AGP總線布局,當預布局方案改變時這些工具代碼是可以重編的,因此設計人員能夠方便地改變芯片的物理設計,只需一個按鍵就能放大或縮小芯片尺寸,每次尺寸改變后所有以前設好的數(shù)據(jù)都會自動重新生成,并會創(chuàng)建符合AGP性能要求的平衡總線。因此設計人員在修改芯片尺寸時無需關心平衡總線的復雜布局,給試驗帶來了極大的靈活性。
事實上,在芯片設計過程中焊盤環(huán)的整個構建過程是手工參與成份最多的工作之一。但是,現(xiàn)在可以利用可配置點工具方面的庫來創(chuàng)建適合焊盤環(huán)各個組裝環(huán)節(jié)的可重做流程(replayable flow)。
流程中的最后一項測試是如何快速地實現(xiàn)最后一次修改。分層設計流程的另外一個重要特點是能從新的網(wǎng)表中重建某個模塊而不影響芯片的其余部分。而傳統(tǒng)的平面化設計流程中,芯片任何部分的改變都會影響到整個芯片的設計,需要付出大量的重復勞動,因此會嚴重影響芯片的產能。
分層設計方法為最終的物理設計指明了正確的方向,能使設計人員從容應付最后時刻的網(wǎng)表變化。例如,設計人員需要在距正式投產前僅有三個星期時修改一個3萬門的設計,而且這個修改是比較復雜的,需要增加新的功能來滿足最新的圖形標準,這對芯片的市場開發(fā)很重要。同樣重要的是,這次修改只影響全部22個模塊中的三個模塊,因此設計人員可以隔離這三個有影響的模塊,并只對它們做重新綜合,芯片的其它部分仍維持不變。而平面化化流程則需要重新構建整個芯片,這會極大地推遲產品上市時間。
很強的適應性
ReShape除了對目前所設計的芯片具有很短的設計周期優(yōu)點外,對未來芯片的設計也有很大的幫助。因為ReShape設計流程能在設計過程中不斷地收集學習相關知識,壯大自身的功能,因此將來在設計采用相同工藝的芯片或工藝不同但功能相似的芯片時可以借鑒。
ReShape設計流程的價值在產品投產后一個月就得到了證明,此時3dfx公司正在利用該流程進行另一個相同工藝的芯片生產。在3dfx轉產過程中,正在設計的僅有70萬個可置放對象的另三顆芯片,采用的都是0.15微米流程。
所有的預布局信息都有助于采用新工藝進行芯片的再設計,因為這些信息都是現(xiàn)成的,而且與以前的工作有關。另外,所有的尺寸都能以可處理工藝尺寸的大小定義,如線間距的單位,因此非常方便進行芯片的重新綜合,并采用相同的布局方案執(zhí)行新的流程(當然只是尺寸更小了些)。這里設計人員僅用了兩天時間就把一個芯片從0.25微米工藝改成了0.18微米工藝。
新的芯片通常都會存在來自前一版本設計的模塊,在ReShape流程中,這些模塊的布局設計代碼同樣也是可以充分復用的。
數(shù)據(jù)管理
傳統(tǒng)分層設計流程同時還面臨數(shù)據(jù)管理方面的挑戰(zhàn)。那些腳本、命令文件和數(shù)據(jù)庫的數(shù)量會隨著N次迭代和N塊分層流程急劇增加。即使每個塊的大小和復雜性非常便于管理,但大量設計項目也會給設計人員帶來巨大的工作量。在傳統(tǒng)的分層流程中,如果預布局有任何改變,如模塊尺寸的變化或模塊的移動,所有的模塊級腳本和命令文件都需要重新生成。
ReShape流程則可以集中管理、組織和自動化所有這些模塊級對象的產生。上千個工具參數(shù)必須設成具有智能性的默認值,而且設計人員必須能夠在流程中的任何階段修改這些參數(shù)。為了解決這個問題,ReShape流程可以根據(jù)所用的工藝、特定的芯片類型及芯片內的特定模塊類型提供層次化的配置文件來控制這些設置工作。這樣就消除了上百個腳本文件和到處散布的零散設置,只有少量的中心文件,而且這些文件在修改控制中能方便地保存下來。
設計人員可以把這些大量的獨立可變設置看成是一種“技術對象”。當需要采用新的工藝時,設計人員可以調試這些參數(shù),然后通過重新生成流程來輸出這個“技術對象”并進行新工藝下的芯片重建。
該流程還允許用戶在開發(fā)模塊時共享數(shù)據(jù)。例如,通常都會有一個人負責芯片的預布局以及頂層電源與時鐘的分配。接著這個人會將每個塊的內容輸出給該芯片各模塊的主人。雖然各個模塊的主人只對他們工作的模塊負責,但他們也可以根據(jù)這個輸入信息創(chuàng)建芯片的完整拷貝。由于他們都有相同的管腳連接圖、電源接線圖和其它全局對象,因此最終他們能從任何模塊的角度輸出芯片設計。
實際的試驗結果證實了上述說法。把從TSMC返回的3dfx交互式芯片置于電路板上后,芯片能以最高速度運行,這也是設計人員所采用的嚴格功能及時序驗證方法、Hopper和ReShape物理設計流程所能得出的最佳結果。
[Integrated System Design]
來源:0次