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