分享一個(gè)Congestion的示例與解決這個(gè)Congestion用的2種方法以及對(duì)應(yīng)的效果。
下面的一個(gè)Design有一個(gè)Macro的pin density非常高,有高達(dá)1萬(wàn)個(gè)Pin,每層都有出Pin,且Pin基本上都是一個(gè)Track放一個(gè),因此在它周圍非常容易產(chǎn)生Congestion問(wèn)題。
什么控制都不加,默認(rèn)Place的Cell分布以及Congestion挺好的:
Place congestion:
可是到了CTS之后發(fā)現(xiàn)Cell的擺放有很大的變化,Cell全部堆在了靠近Macro出pin的地方:
局部放大圖(可以看到很多Buffer/inverter),density非常高:
CTS階段的congestion也變差很多:
這個(gè)是對(duì)應(yīng)的cell density分布圖:
嘗試了2種解決方案,都是有效的,這里分享一下兩種方法以及對(duì)應(yīng)的腳本。
方案1:加Hard placement blockage array
方案1: 在Place之前,在Macro周圍要出Pin的地方創(chuàng)建Hard placement blockage array:
對(duì)應(yīng)的tcl腳本:
setsite_height [get_attribute [get_core_area] tile_height] setsite_width [get_attribute [get_core_area] tile_width] create_placement_blockage_array -coordinate "$core_llx$core_lly$core_urx[expr $core_lly+2000]"-method checker -spacing 10 -height $site_height-width 4 -typehard -snap litho -prefix checkerboard_blkg setALL_bbox [get_attribute [get_cells xxx/u_ra_m/u_sim_rram_multix4] bbox] # remove placement blockage overlapped with analog macro remove_placement_blockage [get_placement_blockage -within "$ALL_bbox"]
創(chuàng)建Hard placement blockage array的tcl proc分享
方案1的結(jié)果:
CTS之后可以看到Cell的分布散開(kāi)了挺多,但是彼此之間還是有點(diǎn)擁擠的:
CTS的congestion改善非常多,除了局部有黃色的Congestion(overflow=6的1個(gè),overflow=5的33個(gè))之外其他地方都是可以接受的,如果把blockage的間距和尺寸再減小一點(diǎn)的話會(huì)改善更多。
方案2: 加Keepout margin
由于方案1的Cell在hard placement blockage之間的Cell擁擠程度還是蠻高的,所以想到了方案2:在Place之后給Macro周圍的Cell加Keepout margin,然后做優(yōu)化,CTS的時(shí)候也會(huì)避免把它們靠的太近。
對(duì)應(yīng)的腳本見(jiàn)知識(shí)星球
方案2的結(jié)果:
CTS之后的Congestion結(jié)果:
可以看到Congestion已經(jīng)有了很大的改善,這種已經(jīng)可以接受了。
對(duì)應(yīng)Cell density的分布:
在Macro周圍Cell的分布,可以看到Cell分布的非常均勻:
審核編輯:湯梓紅
-
Cell
+關(guān)注
關(guān)注
0文章
19瀏覽量
17491 -
design
+關(guān)注
關(guān)注
0文章
159瀏覽量
46295 -
腳本
+關(guān)注
關(guān)注
1文章
395瀏覽量
28316 -
CTS
+關(guān)注
關(guān)注
0文章
35瀏覽量
14343
原文標(biāo)題:Congestion修復(fù)實(shí)例及腳本分享 - 加Blockage array/keepout margin
文章出處:【微信號(hào):集成電路設(shè)計(jì)及EDA教程,微信公眾號(hào):集成電路設(shè)計(jì)及EDA教程】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
實(shí)例中教你修復(fù)晶振
全面介紹充滿魔性的Placement
ad2013 logo腳本分享!
Design Complexity、congestion、Timing

數(shù)字后端基本概念介紹——Placement Blockage的9中人為約束
VBS腳本實(shí)例之一鍵升級(jí)哨位臺(tái)核心板和底板程序腳本的資料說(shuō)明

如何使用符號(hào)執(zhí)行的python實(shí)現(xiàn)攻擊腳本分析平臺(tái)

評(píng)論