快速平面布局方法介紹
我們一起學(xué)習(xí)適用于高宏數(shù)、難時(shí)序設(shè)計(jì)的快速平面布局方法。微捷碼Talus可基于邏輯組產(chǎn)生所有宏和標(biāo)準(zhǔn)單元的快速布局。我們可通過利用這種布局信息來突出并劃分適合的“宏組”,對(duì)于高宏數(shù)設(shè)計(jì)來說,這種方法要較一般的分組方法更快速更合理。對(duì)于時(shí)序關(guān)鍵設(shè)計(jì),我們可使用積極的“宏布局”方法來顯示關(guān)鍵邏輯組,然后再通過增量(incremental)的“宏布局”來調(diào)整布局形狀(無宏或其它邏輯組阻塞的前提下將關(guān)鍵邏輯聚集在一起);這種方法可為我們常規(guī)設(shè)計(jì)帶好更好時(shí)序(包括WNS/TNS)和更好布線結(jié)果(總線長)。
本文引用地址:http://www.ex-cimer.com/article/190587.htm1.介紹
一般來說,邏輯塊級(jí)設(shè)計(jì)平面布局的主要工作就是宏布局。傳統(tǒng)上,我們初始宏布局可以之前平面布局模式為基礎(chǔ);布局時(shí)我們應(yīng)考慮到IO連接,需要先了解宏與IO間邏輯關(guān)系,然后再將宏設(shè)置于相關(guān)IO的旁邊;我們傾向于將宏設(shè)置于邊界周圍;我們想要將名稱模式相似的宏設(shè)置在一起;我們會(huì)先運(yùn)行布局(fix_cell)功能,然后再基于關(guān)鍵時(shí)序路徑或擁塞來調(diào)整宏布局,而且我們還可以通過顯示往返宏的飛線來觀察宏和STD(標(biāo)準(zhǔn))單元的布局是否合理。
對(duì)于傳統(tǒng)平面布局方法,我們可能要花很長時(shí)間來了解我們的設(shè)計(jì),可能要與前端設(shè)計(jì)師進(jìn)行探討,可能要通過多次物理布局迭代來完成時(shí)序收斂。對(duì)于宏數(shù)量巨大的設(shè)計(jì)來說,這可是項(xiàng)非??植赖墓ぷ?。
現(xiàn)在我們有了一種基于邏輯組的新平面布局方法,它可更快速有效地完成平面布局工作。這個(gè)流程共分為3個(gè)步驟:
1)同時(shí)進(jìn)行宏和STD單元布局(粗布局,“run place cluster”);
2)劃分邏輯組(針對(duì)宏和STD單元同時(shí)進(jìn)行);
3)增量布局,調(diào)整邏輯組形狀和位置。
2.粗布局(Coarse placement)
我們可將整個(gè)布局工作(fix_cell)分為2個(gè)步驟:
1)粗布局:執(zhí)行設(shè)計(jì)的初始布局;
2)基于粗布局的增量優(yōu)化。
步驟1)是取得好布局結(jié)果的關(guān)鍵點(diǎn),我們的一切討論都將圍繞“粗布局”展開。
在Talus中,有兩個(gè)不同“粗布局”命令——“run place cluster”和“run place global”,這兩個(gè)命令可基于邏輯組(群)進(jìn)行粗布局。“run place cluster”可同時(shí)完成宏和STD單元的布局,而“run place global”則會(huì)在考慮擁塞情況的前提下進(jìn)行STD單元布局。就我們所知,“fix_cell”一般是使用“place global”來完成粗布局。根據(jù)我們的測試,若宏的位置相同,那么“place global”和“place cluster”布局結(jié)果也將十分接近,因此我們可基于“place cluster”結(jié)果來預(yù)測“fix_cell”粗布局結(jié)果。
評(píng)論