standard cell,或者說 logic gate 是數位 IC 的基礎元件,比方說像是 AND gate。當然,每個 standard cell 必定有他的 input 與 output,並且要拿去製造成晶片時也必然會有相對應用電晶體兜成的 layout,因此當一顆晶片利用大量的 standard cell (簡單一點的有幾萬個,稍微複雜一點的上百萬個 standard cell 也是稀疏平常的事情) 兜出來的時候,怎麼把這些 input 跟 output 連起來就是件麻煩到極點的事情,也因此好連跟不好連就會有很大的差異
這張圖是一個簡單的例子,這邊的 cell 1 跟 cell 2 是 2 個不同 cell 的 layout,當我們要把他們的 pin 連起來的時候會發現其實很有可能有些 pin 會因為要把其他 pin 連起來導致她反而被擋住 (左上角)。當然這種情況可以藉由插入空格增加額外的空間讓繞線可以完成 (右上角),這是一些考慮 routability 的 placement 會做的事情。然而,空格如果加得不夠多也是不行的 (左下角),因此這就會變成晶片設計上的一大麻煩。不過同樣的狀況,如果我們考慮到有這種情形會發生,並且在設計 standard cell 時就預先處理的話,這問題會簡單許多 (右下角)。
這篇論文探討的是怎麼評估 cell layout 的 pin accessibility,藉由提出的評估模型我們可以知道 cell layout 的 pin accessibility 是否有改善的空間。另一方面,藉由兩個相同的 cell library,其中一個特別針對 pin accessibility 做優化,經過 place-and-route 後我們發現在 total wirelength 與 via count 都有顯著的改善,這表示改善 pin accessibility 確實有著顯著的效果,是必須謹慎考量的問題。
不過這問題其實沒那麼簡單,這篇論文為了探討 pin accessibility 的影響其實忽略了 timing。改善 pin accessibility 其實難以避免地的會增加 cell layout 的 wirelength,對 timing 的影響自然也不能忽略,因此實際上要如何在這兩者間權衡其實有不小的困難。更進一步來說,cell library 跟 chip design 通常是不同的公司負責,如果不同的公司提供的 cell library 在 timing 跟 power 都相對有優勢的情況下,pin accessibility 這個其實不是那麼容易評估的指標很容易被忽略的,因此這也就變成容易被忽視的問題,甚至可能在各種權衡下被犧牲的關鍵問題。
這篇論文已經可以在 IEEE Xplore 上找到了,不過我覺得是個很值得繼續深入探討研究的問題,雖然這種研究多半需要業界的支援,不然根本沒有資料可以做研究...
沒有留言:
張貼留言