今天,IC設(shè)計的成功與否在很大程度上取決于其設(shè)計過程是否順利。在這個深亞微米時代,前端和后端設(shè)計領(lǐng)域更加密切的結(jié)合對于先進(jìn)IC的高效開發(fā)是非常關(guān)鍵的。不幸的是,諸如專業(yè)化和小組分工等行為將本需要統(tǒng)一的設(shè)計過程割裂開來。
特別地,約束條件和設(shè)計層次必須在考慮前端和后端設(shè)計任務(wù)的情況下制定。以一種考慮了市場和組織因素的聯(lián)合開發(fā)的方法來推廣這些約束條件和層次有助于確保各設(shè)計領(lǐng)域間更加友好的協(xié)作,并形成一個更加成功的設(shè)計組織。
設(shè)計人員日益發(fā)現(xiàn),低估前端和后端設(shè)計規(guī)程之間的相互依存性對于產(chǎn)品的盡快面市是極為不利的。如果設(shè)計人員對此相倚性不聞不問,他們就會為實現(xiàn)定時閉合(Timing Closure)而浪費數(shù)月寶貴的開發(fā)時間。通過對造成前端和后端設(shè)計割裂的影響力的研究,可以對此有更好的理解并采取更好的補(bǔ)救措施。
設(shè)計中的問題
在早期的IC設(shè)計中,由位于一地的規(guī)模很小的設(shè)計小組完成整個開發(fā)過程。ASIC工業(yè)的出現(xiàn)和成長帶來了三個新特性:專業(yè)化使工作完成得更快;設(shè)計小組的交流變得更加結(jié)構(gòu)化;參與各方獲得的報酬不同。
ASIC工業(yè)在發(fā)展,而這些特性沒有改變。最終,導(dǎo)致了專業(yè)化EDA工具的開發(fā)、更加嚴(yán)格的契約解除條件(Sign-off Requirements)以及參與者更加不愿意去共享解決問題的資源。
隨著設(shè)計復(fù)雜程度的增加以及第三方設(shè)計工具和專業(yè)制造工廠的出現(xiàn),曾經(jīng)“高而瘦”的組織變得“矮而寬”。尤其是合成技術(shù)及ASIC/COTS服務(wù)的出現(xiàn),明確地將后端和前端設(shè)計任務(wù)隔離開來。設(shè)計人員不僅被設(shè)計規(guī)程、同時也被地理上的、或公司間的界限分離開了。
在這些往往采用專有接口和標(biāo)準(zhǔn)復(fù)雜工具中熏陶出來的設(shè)計組織更加深陷于這種隔離方法的泥潭中。當(dāng)遇到一個設(shè)計小組不能解決的共有問題時,這種高度專業(yè)化帶來的問題就暴露出來了。如未能滿足深亞微米設(shè)計的定時閉合要求。即便有更加復(fù)雜的工具和更加專業(yè)的設(shè)計人員,但沒有人得到酬勞或被啟發(fā)去證實可以用一種具有較強(qiáng)內(nèi)在關(guān)聯(lián)性的方法來解決整個設(shè)計工具領(lǐng)域上的問題。
解決辦法的提出
通過克服這些障礙來獲得一個關(guān)聯(lián)性更好的設(shè)計流程是一項龐大的工作。然而,如果把注意力集中在設(shè)計方法中對流程影響最大的那些方面,則可使這項工作有所簡化。統(tǒng)一的約束條件設(shè)定——被給予設(shè)計工具以產(chǎn)生期望設(shè)計結(jié)果的準(zhǔn)則——以及設(shè)計層次的確立能夠極大地推動對前端和后端設(shè)計領(lǐng)域之間的問題的解決。
考慮到所有這些問題,在設(shè)計開始之前,一個組織必須制定一個公共的約束條件和分層策略。該過程始于對后端、前端及參與設(shè)計的任何第三方組織的約束條件和分層需要的研究。然后,綜合考慮各方的需要,并制定統(tǒng)一的約束條件要求和分層策略(圖1)。
這樣一來,不同的工作小組就能夠制定流程、選擇設(shè)計工具、設(shè)定約束條件并確立層次。當(dāng)各方對這些決定均表示滿意時,實際的設(shè)計過程便開始了。
如何制定約束條件
預(yù)先定義約束條件和分層策略能夠避免許多風(fēng)險。由于約束條件的不良設(shè)定造成的風(fēng)險是人所熟知的。對設(shè)計的過分約束通常出現(xiàn)在約束條件過多或有不必要的約束條件的場合,亦或是在設(shè)計人員試圖讓設(shè)計工具去生成期望的結(jié)果時。不幸的是,對設(shè)計的過分約束將導(dǎo)致性能、功率和占用面積上的不良后果。它還會掩蓋所需的正確改變,如寄存器轉(zhuǎn)移電平(RTL)代碼的改進(jìn)。
人為地把路徑約束條件制定得過于積極即為一例,合成工具有可能將其正確地視為重要路徑。但如果約束條件過于嚴(yán)密(即小于或等于I/O延遲),合成工具就會覺得不可能再優(yōu)化了,然后移至下一個時鐘組(Clock Group)去對該領(lǐng)域內(nèi)最關(guān)鍵的路徑進(jìn)行優(yōu)化(圖2)。
同樣,如果設(shè)計被過分約束于一個工具以產(chǎn)生期望的結(jié)果,則那些人為制定的約束條件有可能不適合其他工具。約束條件的不良設(shè)定導(dǎo)致了拖延設(shè)計周期的定時閉合問題。
約束條件的制定涉及兩項主要的考慮。第一,必須盡早確定期望的結(jié)果以及實現(xiàn)這一結(jié)果的約束條件。合成工具應(yīng)關(guān)注包含設(shè)計中定時最為嚴(yán)格部分的模塊。
不良的約束條件設(shè)定會促使工具在整個設(shè)計中進(jìn)行更加籠統(tǒng)的優(yōu)化,因而有可能在最關(guān)鍵的模塊中提供次優(yōu)定時。對結(jié)果的進(jìn)一步改善可以在設(shè)計過程中實施,但是基本目標(biāo)必須及早確立。
第二個理想的目標(biāo)是讓合成及位置-路由工具采用相同的約束條件。否則,這兩個領(lǐng)域有可能產(chǎn)生不同的結(jié)果。在許多場合,設(shè)計人員采用的是“分而治之”的合成方法,即把設(shè)計分割成許多小模塊。當(dāng)被引入位置-路由工具時,相同的設(shè)計就被展平了。然后,由頂級的約束條件對其進(jìn)行全局優(yōu)化(圖3)。
位置-路由工具找到不同于合成工具的關(guān)鍵路徑,根據(jù)不同的關(guān)鍵路徑實施放置和路由選擇優(yōu)化,而后發(fā)現(xiàn)無法實現(xiàn)定時閉合,這是不足為怪的。對工具流(Tool Flow)以及給定工具的優(yōu)化和性能進(jìn)行評估可以防止上述問題的發(fā)生。采用與位置-路由工具性能相同的合成工具,或把位置-路由定義為一個分層過程,都將繼承與合成相同的約束條件。
如何確立層次
層次確立是實現(xiàn)前端與后端有效互動的另一個關(guān)鍵要點。層次指的是不同規(guī)程籍以運行的設(shè)計結(jié)構(gòu)。在前端,功能層次是主要焦點,盡管在合成之前或合成過程中確定物理體系的一般層次正變得越來越重要。對物理信息的及早了解能夠幫助合成用分組邏輯去獲得更好的定時結(jié)果,并輔助設(shè)計約束條件的設(shè)定。
后端的層次包括諸如精確位置這樣的物理要素。層次及其與設(shè)計過程的關(guān)系類似于試圖撲滅火災(zāi)的滅火隊。設(shè)計人員就如同是滅火隊員,他們沿著隊列傳遞水桶。層次就是水桶,它包含了最終將聚集在一起的寶貴內(nèi)容。所有的滅火隊員通過這些水桶的無縫交接(Seamless Handoff)來完成滅火任務(wù)。
對分層關(guān)注不當(dāng)會導(dǎo)致選擇無法最優(yōu)化(圖4)。設(shè)計人員可能不得不耗費寶貴的開發(fā)時間對設(shè)計進(jìn)行控制,以在整個流程中實施適當(dāng)?shù)姆指?。插入緩沖器以竭力增加分割的合成用模塊間的時間預(yù)算就是一例。圖4 為了優(yōu)化設(shè)計,必須注意層次。圖4中,利用一些復(fù)用器即可在一個加法器中實現(xiàn)三個加法器(只要它們在同一層次上)。
另一個層次缺陷是流程中設(shè)計工具的不當(dāng)配置,它會破壞工具的效用。比如,若一個正規(guī)校驗工具的邏輯層次設(shè)立不當(dāng),就會導(dǎo)致失配或誤比較(miscompares),從而削弱了工具的好處。正規(guī)校驗工具一般對位于RTL和門電平上的寄存器界限之間的邏輯進(jìn)行檢查。但是,如果合成優(yōu)化包括旨在改進(jìn)定時和占用面積的寄存器界限的合并,則會出現(xiàn)采用正規(guī)校驗的錯誤失配(False Mismatch)。
和約束條件的設(shè)定一樣,在確立設(shè)計層次時有幾個需要考慮的要素。其中之一就是以工具效率、工具性能以及設(shè)計的功能組成部分來定義的最佳合成模塊尺寸。此外,體系的等級必須在前端和后端范圍中確定。較多的層次雖能使前端設(shè)計更加容易,但卻使位置-路由工具大為復(fù)雜。同樣,層次較少對于位置-路由是理想的,但對于合成則是難處理的。
每種設(shè)計都有其基于設(shè)計功能度及設(shè)計目標(biāo)的“最佳”層次構(gòu)形。極限區(qū)域優(yōu)化有可能產(chǎn)生一個更加扁平的實現(xiàn)過程。而對設(shè)計中特定的關(guān)鍵定時分程序(Timing Block)的優(yōu)化則會在設(shè)計中產(chǎn)生更多的層次。
如何定義設(shè)計方法
在考慮了約束條件設(shè)定以及層次確立的情況下,下一步就是要定義一個優(yōu)先顧及前端和后端設(shè)計領(lǐng)域間的有效協(xié)作的、具有較強(qiáng)關(guān)聯(lián)性的設(shè)計方法。這種方法必需確定應(yīng)用驅(qū)動型的約束條件、描述不同小組的作用和責(zé)任并統(tǒng)一工具和流程。
確定應(yīng)用驅(qū)動型方法的約束條件需要研究用于獲取市場成功的關(guān)鍵因素,以及這些約束條件在整個設(shè)計流程中的含義。比如,高性能的計算應(yīng)用首先要求的是性能優(yōu)化。在實際設(shè)計階段中,只需設(shè)置幾個檢查點,即可在前端設(shè)計過程中實現(xiàn)大多數(shù)性能目標(biāo)。當(dāng)為該應(yīng)用空間制定設(shè)計流程時,可以設(shè)定約束條件和層次以優(yōu)化合成和校驗的效率。
另一方面,側(cè)重成本、校驗和順應(yīng)性測試的消費和電信應(yīng)用所規(guī)定的流程更適合于后端設(shè)計效率。還有一個例子就是無線和電池驅(qū)動型應(yīng)用。在這種場合,功率的優(yōu)化是最受人關(guān)注的。由于后端設(shè)計人員對功率問題幾乎無能為力,因此,針對這一市場需求的流程主要由RTL設(shè)計階段來規(guī)定。
設(shè)計人員還需對所用方法的任何工具驅(qū)動型約束條件有所了解。一個組織必須對與采用的具有先進(jìn)功能的新工具相關(guān)聯(lián)的權(quán)衡折衷進(jìn)行檢查。同樣重要的是確定任何的“硬”要求,比如硅片售銷商規(guī)定的廢除契約的模擬假設(shè)(Sign-off Simulator)。采用專有接口的工具,或是那些要求設(shè)計人員純粹為了工具的兼容性而耗費精力對設(shè)計加以控制的工具,通常將會給具有較強(qiáng)內(nèi)在關(guān)聯(lián)性的方法的設(shè)計帶來更加困難的任務(wù)。
當(dāng)設(shè)計一種具有較強(qiáng)內(nèi)在關(guān)聯(lián)性的方法時,闡明橫跨多家公司的不同工作小組的作用和責(zé)任是很重要的。硅片售銷商將在推進(jìn)設(shè)計進(jìn)程上發(fā)揮作用。但售銷商的參與程度各不相同。某些位置-路由工具售銷商在準(zhǔn)備制造之前進(jìn)行IDDQ檢測并對設(shè)計加以驗證。其他售銷商(如制造工廠)則只從事最終布局,以針對OPC和其他與處理有關(guān)的約束條件對工具進(jìn)行校正。
在許多設(shè)計流程中同樣發(fā)揮作用的還有來自第三方的設(shè)計服務(wù)提供商,他們可對設(shè)計流程的任何方面提供幫助。售銷商參與設(shè)計過程越早,就越有必要更多地加入方法的確定工作(比如約束條件的設(shè)定和層次的確立)中。
在組織內(nèi)部還必須對應(yīng)用空間、工具約束條件和組織屬性(包括不同工作小組在地理上的分布情況)方面的作用予以研究。比如,設(shè)計中的某些要點(象復(fù)位)可能需要通過被施以適當(dāng)?shù)募s束而使合成工具不會影響到它。這樣,位置-路由工具就可以插入緩沖器或執(zhí)行尺寸測量。因此,必須在全部工具范圍內(nèi)定義約束條件和層次。
隨著設(shè)計組織復(fù)雜性的日益提高,越來越多的工作小組開始在其設(shè)計隊伍中設(shè)一名方法學(xué)專家。這名專家?guī)椭{(diào)停與不同設(shè)計規(guī)程和組織間的互動有關(guān)的全部問題,并確保方法的內(nèi)在關(guān)聯(lián)性。
來源:零八我的愛0次