中科大/華為諾亞出手!芯片性能≠布局評(píng)分,EDA物理設(shè)計(jì)框架全面開(kāi)源
芯片物理布局,有了直指性能指標(biāo)的新測(cè)評(píng)標(biāo)準(zhǔn)!
中科大MIRA Lab和華為諾亞方舟實(shí)驗(yàn)室聯(lián)合發(fā)布了新的評(píng)估框架和數(shù)據(jù)集,而且完全開(kāi)源。
有了這套標(biāo)準(zhǔn),布局指標(biāo)與最終的端到端性能不一致、得分高而PPA性能卻偏低的問(wèn)題,就有望得到解決了。
在芯片設(shè)計(jì)當(dāng)中,電子設(shè)計(jì)自動(dòng)化(EDA)是至關(guān)重要的一環(huán),在業(yè)界被稱為“芯片之母”,而芯片物理布局(Placement)又是其中的關(guān)鍵步驟。
芯片物理布局問(wèn)題是一個(gè)NP-hard問(wèn)題,人們嘗試著通過(guò)AI來(lái)進(jìn)行這項(xiàng)工作,但缺乏一個(gè)有效的評(píng)測(cè)標(biāo)準(zhǔn)。
傳統(tǒng)的評(píng)估尺度——代理指標(biāo)雖然易于計(jì)算,但常常與芯片最終的端到端性能存在顯著差異。
為了彌補(bǔ)這一鴻溝,中科大MIRA Lab和華為諾亞方舟實(shí)驗(yàn)室聯(lián)合發(fā)布了這個(gè)名為ChiPBench的評(píng)估框架,以及相關(guān)數(shù)據(jù)集。
隨著ChiPBench的上線,作者也發(fā)現(xiàn)了當(dāng)前芯片布局算法存在很多不足,提醒相關(guān)研究人員是時(shí)候研發(fā)新算法了。
芯片設(shè)計(jì)流程面臨挑戰(zhàn)
根據(jù)“摩爾定律”,集成電路(IC)的規(guī)模發(fā)生了指數(shù)級(jí)增長(zhǎng),對(duì)芯片設(shè)計(jì)帶來(lái)了前所未有的挑戰(zhàn)。
為了應(yīng)對(duì)這種日益增長(zhǎng)的復(fù)雜性,EDA工具應(yīng)運(yùn)而生,為硬件工程師提供了極大的幫助。
EDA工具能夠自動(dòng)完成芯片設(shè)計(jì)工作流程中的各個(gè)步驟,包括高層次綜合、邏輯綜合、物理設(shè)計(jì)、測(cè)試和驗(yàn)證等環(huán)節(jié)。
其中,芯片布局是一個(gè)重要環(huán)節(jié),該階段又可以分為兩個(gè)子階段——宏布局和標(biāo)準(zhǔn)單元布局。
宏布局是超大規(guī)模集成(VLSI)物理設(shè)計(jì)中的一個(gè)關(guān)鍵問(wèn)題,主要涉及較大元件(如SRAM和時(shí)鐘發(fā)生器,通常稱為宏)的排列。
這一階段對(duì)芯片的整體布局以及線長(zhǎng)、功耗和面積等重要設(shè)計(jì)參數(shù)具有顯著影響。
之后的標(biāo)準(zhǔn)單元布局階段,需要處理的是數(shù)量更多、體積更小的標(biāo)準(zhǔn)單元的排列問(wèn)題,這些單元是數(shù)字設(shè)計(jì)的基本組成部分。
通常,該階段利用組合優(yōu)化求解等方法來(lái)實(shí)現(xiàn)布局?jǐn)[放的優(yōu)化,最大程度地減少單元間的距離,為后續(xù)的布線工作奠定良好的基礎(chǔ),并在一定程度上優(yōu)化互聯(lián)時(shí)序性能。
芯片布局傳統(tǒng)上由人類專業(yè)設(shè)計(jì)師手工完成,這不僅耗費(fèi)大量人力,而且需要大量的專家先驗(yàn)知識(shí)。
因此,許多設(shè)計(jì)自動(dòng)化方法,尤其是基于人工智能的算法,被開(kāi)發(fā)出來(lái)以實(shí)現(xiàn)這一過(guò)程的自動(dòng)化。
然而,由于芯片設(shè)計(jì)的工作流程較長(zhǎng),對(duì)這些算法的評(píng)估通常集中在易于計(jì)算的中間代理指標(biāo)上(例如半周長(zhǎng)線長(zhǎng)HPWL,布局單元密度等),但這些指標(biāo)經(jīng)常與端到端性能(即最終設(shè)計(jì)的 PPA)存在一定程度的偏差。
一方面,由于芯片設(shè)計(jì)工作流程的冗長(zhǎng),獲得給定芯片布局方案的端到端性能需要大量的工程設(shè)計(jì)工作,同時(shí)作者發(fā)現(xiàn)直接使用現(xiàn)有的開(kāi)源EDA工具和數(shù)據(jù)集通常無(wú)法獲得端到端性能。
由于以上原因,現(xiàn)有的基于人工智能的芯片布局算法使用簡(jiǎn)單易得的中間代理指標(biāo)來(lái)訓(xùn)練和評(píng)估學(xué)習(xí)到的模型。
另一方面,由于PPA指標(biāo)反映了前幾個(gè)階段未充分考慮的許多方面,代理指標(biāo)與最終的PPA目標(biāo)之間存在嚴(yán)重差距。
因此,這種差距極大地限制了現(xiàn)有基于人工智能的布局算法在實(shí)際工業(yè)場(chǎng)景中的應(yīng)用。
端到端預(yù)估芯片性能
作者認(rèn)為,造成這種差距的原因是早期數(shù)據(jù)集的過(guò)度簡(jiǎn)化。
例如,廣泛使用Bookshelf格式就是“過(guò)于簡(jiǎn)化”的一個(gè)代表,這種格式下的布局結(jié)果不適用于后續(xù)設(shè)計(jì)階段,無(wú)法實(shí)現(xiàn)有效的最終設(shè)計(jì)。
一些后續(xù)的數(shù)據(jù)集雖然提供了運(yùn)行后續(xù)階段所需的LEF/DEF文件和必要文件,但包含的電路數(shù)量仍然有限,且缺乏某些開(kāi)源工具(如OpenROAD)所需的信息。
例如,庫(kù)文件中缺少時(shí)鐘樹(shù)綜合所需的緩沖元件定義,LEF文件中的層定義不完整,這阻礙了布線階段的工作。
為了解決這些問(wèn)題,作者構(gòu)建了一個(gè)包含整個(gè)流程的全面物理實(shí)現(xiàn)信息的數(shù)據(jù)集。
該數(shù)據(jù)集涵蓋了一系列不同領(lǐng)域的設(shè)計(jì),包括 CPU、GPU、網(wǎng)絡(luò)接口、圖像處理技術(shù)、物聯(lián)網(wǎng)設(shè)備、加密單元和微控制器等組件。
作者在這些設(shè)計(jì)上執(zhí)行了六種最先進(jìn)的基于人工智能的芯片物理布局算法,并將每種單點(diǎn)算法的結(jié)果通過(guò)標(biāo)準(zhǔn)輸入/輸出格式接入到物理實(shí)現(xiàn)工作流,以獲得最終的PPA結(jié)果。
初始數(shù)據(jù)集的生成以Verilog文件作為原始數(shù)據(jù)。OpenROAD執(zhí)行邏輯綜合,將這些高級(jí)描述轉(zhuǎn)換為網(wǎng)表,詳細(xì)描述電路元件之間的電氣連接。
隨后,OpenROAD的集成平面規(guī)劃工具利用該網(wǎng)表在硅片上配置電路的物理布局。
OpenROAD將平面規(guī)劃階段產(chǎn)生的設(shè)計(jì)轉(zhuǎn)換為L(zhǎng)EF/DEF文件,以便于后續(xù)布局算法的應(yīng)用。
同時(shí),作者通過(guò)OpenROAD完成整個(gè)EDA設(shè)計(jì)流程,在后續(xù)階段生成包括布局、時(shí)序樹(shù)綜合和布線在內(nèi)的數(shù)據(jù)。
ChipBench數(shù)據(jù)集包含了物理設(shè)計(jì)流程各個(gè)階段所需的全部設(shè)計(jì)工具包。
在評(píng)估布局階段的算法時(shí),前一階段的輸出文件將作為該評(píng)估算法的輸入。算法處理這些輸入文件,生成相應(yīng)的輸出文件,然后將這些輸出文件集成到OpenROAD設(shè)計(jì)流程中。
最終,數(shù)據(jù)集將報(bào)告包括TNS、WNS、面積和功耗在內(nèi)的性能指標(biāo),以提供全面的端到端性能評(píng)估。
這種方法提供了一套全面的評(píng)估指標(biāo),能夠衡量特定階段算法對(duì)最終芯片設(shè)計(jì)優(yōu)化效果的影響,確保了評(píng)估指標(biāo)的一致性,并避免了僅依賴于單一階段簡(jiǎn)化指標(biāo)的局限性。
這種評(píng)估方法有利于各種算法的優(yōu)化和開(kāi)發(fā),確保了算法改進(jìn)能夠轉(zhuǎn)化為芯片設(shè)計(jì)的實(shí)際性能提升。同時(shí),通過(guò)一個(gè)強(qiáng)大的測(cè)試和改進(jìn)框架,它促進(jìn)了更高效、更有效的開(kāi)源EDA工具的開(kāi)發(fā)。
芯片布局需要開(kāi)發(fā)新算法
利用上述工作流程,作者對(duì)多種基于人工智能的芯片布局算法進(jìn)行了評(píng)估,包括SA、WireMask-EA、DREAMPlace、AutoDMP、MaskPlace、ChiPFormer以及OpenROAD中的默認(rèn)算法。
作者對(duì)這些算法進(jìn)行了端到端的評(píng)估,并報(bào)告了最終的性能指標(biāo)。
另外,相關(guān)性分析結(jié)果表明,MacroHPWL與最終性能指標(biāo)之間的相關(guān)性非常弱,這表明優(yōu)化MacroHPWL對(duì)這些性能指標(biāo)的影響非常有限。
Wirelength與WNS和TNS的相關(guān)性同樣較弱。這意味著,即便某些單點(diǎn)算法在優(yōu)化Wirelength等中間指標(biāo)上取得了成功,它們?cè)谧罱K的物理實(shí)現(xiàn)中可能只能提升PPA指標(biāo)的某一方面,而無(wú)法全面優(yōu)化。
因此,需要尋找更合適的中間指標(biāo),以便更好地與實(shí)際的PPA目標(biāo)相關(guān)聯(lián)。
作者的評(píng)估結(jié)果揭示了目前主流布局算法所強(qiáng)調(diào)的中間指標(biāo)與最終性能結(jié)果之間存在不一致性,這些發(fā)現(xiàn)凸顯了從新的角度開(kāi)發(fā)布局算法的必要性。
△不同布局算法的最差時(shí)序圖
論文地址:https://arxiv.org/abs/2407.15026
GitHub:https://github.com/MIRALab-USTC/ChiPBench
數(shù)據(jù)集:https://huggingface.co/datasets/ZhaojieTu/ChiPBench-D