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