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