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