微捷碼Talus TCL界面實現復雜分區平面布局
第V章:Zigzag緩沖區技巧
隨著設計中宏數量的增多,它通常會不斷在布局中創建狹長通道,且那些通道有可能在布局中被阻擋。我們常在堆疊的macro附近發現Zigzag緩沖區。Zigzag緩沖區意味著一個緩沖區的輸入輸出方向發生了小角度的旋轉,它會帶來了總線長的增加,這對布線和時序來說都極為不利。基本上,它算是個設置得不好的緩沖區。我們不會想在我們的設計中看到它們。例如:
圖11: Zigzag緩沖區
在圖11中,紅箭頭顯示了一個緩沖區的輸入輸出連線方向;綠箭頭顯示了輸入/輸出連線的飛線。兩條綠線組成一個銳角。在這個例子中,緩沖區并未改善任何問題,反而帶來了一些轉換問題。有時,單使用工具是難以解決這個問題,而且反而增加了一條緩沖鏈。為解決這個問題,我們可開發腳本并有選擇地在通道中設置一些緩沖區。
該腳本要旨是找出輸入/輸出連線的飛線間銳角。既然我們知道zigzag緩沖區、驅動單元和接收單元的坐標,那么我們就可使用類似下方的基本三角形計算方式來得出所要結論。同時,這3個點也組成一個三角形(圖12)。根據三角函數,如果我們知道一個三角形的三邊長,那么我們就能夠算出這個三角形的每個角的角度為多少:公式為:Cosθ = (a2 + b2 – c2)/2ab; Θ = acos(cosθ)/π*180
圖12:三角函數
如果Θ90 度,我們可把其視為zigzag緩沖區。這可幫助設計師在布局后快速地識別Zigzag緩沖區,在進一步優化前正確設置好緩沖區。
總結:
盡管平面布局變得困難重重、極富挑戰性,但好的設計分析總能使您的布局工作變得輕松些。在本文中,我們雖然分享了一些可達成這一目標的技術,但一份好的平面布局,其要求遠不止這些。每份設計都有其獨特問題存在,我們應充分利用Talus可編程界面,讓任務的完成成為可能。
評論