微捷碼Talus TCL界面實現復雜分區平面布局
摘要:本文介紹了幾種65納米以下芯片內分區的平面布局技術。這些技術可幫助我們在相對短時間里完成切實可行的平面布局,包括:分析邏輯連接、找出擁塞的根本原因以及控制局部密度。同時,我們還將分享有關zigzag緩沖區的技巧,這些緩沖區往往帶來額外的時序和布線問題。本文中,我們會一一為您呈現‘如何通過微捷碼Tcl界面來實施這些技術’的實例。
關鍵詞索引:平面布局、邏輯錐體、擁塞、局部密度、Zigzag緩沖區
第I章:引言
隨著芯片設計發展至65納米及65納米以下,對于設計師來說按時完成設計變得更加困難重重、更具挑戰性。一方面,我們需采取額外步驟減少功耗問題(特別是在65納米以下的漏電功耗),如:預置功率門控以及預定義多電壓域;所有這些都需耗費額外面積,需在設計中早早進行規劃。另一方面,對設計的要求提高了,包含的功能更多、性能更高,而這通常意味著更多的RAM、特殊IP和預布局信號。此外,用于尋找最適合特定設計的平面布局的時間極為有限。本文介紹了幾種方法,可幫助設計師發現平面布局階段關鍵問題,想出質量相當好、速度相對快的解決方案。介紹每種方法后,我們都將以實例進行說明。
第II章:分析平面布局的邏輯連接
邏輯連接情況的掌握對平面布局來說非常重要。通過這類信息,我們能夠知道邏輯組是如何相互連接以及今后它們所在的相對位置。
通常情況下,我們是從前端人員處獲得初始平面布局信息。他們手中有關邏輯組連接的信息大多類似于數據流。但隨著設計規模的日益擴大,這類信息的實現變得更為困難。完成全芯片綜合后,前端模塊難以被映射到后端物理域中。它只能給你提供一個大體方向,但難以完全指望它來完成平面布局。為了獲得更好的平面布局,我們必須對物理域中邏輯連接進行分析。
對平面布局有影響的邏輯連接一般有下列幾種:第一種是RAM與標準單元間連接;第二種是標準單元與標準單元間連接;第三種是模擬宏;第四種是分區引腳連接。由于模擬宏位置和引腳連接有可能在設計初期階段就事先確定,因此前兩種邏輯連接才是我們要關注的重點,設計師對這兩種邏輯連接擁有最大的控制自由。
分析邏輯組的邏輯錐體(logic cone)就是一種有效的邏輯連接分析方法。邏輯錐體會顯示出往返特定節點的所有連接,在計算邏輯組內連接時它可起到很好作用。微捷碼提供了一個有效命令,可顯示出一個節點的邏輯錐體——“Query node subgraph”。這個命令的輸出就是一張節點邏輯錐體中所有單元/引腳列表。您也可采用此命令的選項來指定來回或通過一個節點的邏輯錐體。但此命令只能處理一個節點且不能輸出可視化信息。要想改變這種狀況,我們可使用微捷碼的TCL界面來實施它。這樣做旨在依次通過邏輯組每個節點,分化邏輯錐體列表,強調GUI內的這些網絡和單元。通過這種方式,邏輯組的所有邏輯錐體均可在GUI內顯示出來,為我們提供了有關邏輯組內連接的可視化信息。圖1顯示了一個RAM的邏輯錐體:淺藍色部分顯示的是RAM的邏輯錐體的開始節點和結束節點;深藍色部分顯示的是其它單元。從圖片上,我們可以知道有一些邏輯組可將RAM拖到左邊。因此我們能夠通過將這個RAM移到左邊來調整平面布局。
圖1:一個RAM的邏輯錐體
有時,一層的邏輯錐體并不能為我們提供清晰的平面布局圖。我們必須強調多層的邏輯錐體。圖2顯示了一例來自RAM的3層邏輯錐體。藍色部分顯示的是第1層,粉色部分顯示的是第2層,黃色部分顯示的是第3層。這個RAM在頂部擁有與所有RAM的連接,在右邊也有一些到邏輯組的連接。我們可以向上移動RAM。
圖2:一個RAM的3層邏輯錐體
上述的兩個例子向我們展示了,如何通過分析邏輯組的邏輯連接來獲得信息,進而對平面布局進行調整。由Tcl腳本所產生的可視化信息易于為設計師所闡釋和使用。
評論