我猜可能標題不用看完,跟 IC design 無關的人就直接關掉了 XD
雖然等等要講的東西沒有很深入,但確實也不是對這領域沒興趣的人會想知道的東西就是了~
這篇其實只是簡單整理一下從碩班做到現在,做過的東西 & 看過的論文的一些整理與心得,不過因為我很懶,所以不用期待會看到完整詳實的數據或圖表 XD
我做的東西都是 APR (Automatic Place and Route) 以及更後端與製程緊密相連的研究 (可以參考我文章分類為 EDA 的那幾篇),而製程的進步、晶片的微縮帶來的是不只是體積、耗電量等等的改善,可以列出來的負面影響我覺得比優點還要多... 設計 IC 時的複雜度與之前相比更是成指數倍增 = = 因為看過真正、完整而且是先進製程的 design rule,不得不說那些 design rule 的繁瑣與細碎得程度真得是會讓人抓狂崩潰的,而且很容易遇上為了要遵守某條 rule 所做的改變,導致違反更多條 rule 這種讓人極度崩潰想殺人的狀況...是以事前的規劃與分析工作是不可少的,設計複雜度的增加程度自然也讓自動化工具的需求增加 (於是乎換成寫工具的程式設計師崩潰XD)
在先進製程中,因為製程的限制,如果要讓良率得以維持,一般的建議是讓 IC 內部的排列越規律越好,因為規律的排列可以更容易的做細微調整、製造時也更容易控制。然而要能做到規律排列的代價往往就是體積的增加、耗電量提升或是效能降低等等副作用,因此這 5 年來有越來越多的研究在探討如何在這些不同的指標間取得平衡。
一般來說,不論什麼事情,事前規劃的重要性都是不可忽略的,不過這邊有個有趣的點值得注意:專注在製程這邊的工程師如果要想知道現在的方法的優缺點以及有哪些注意事項要遵守,測試用的 IC 是必不可少的,但是製程這邊的東西如果沒有準備好,基本上測試用的 IC 都會比較陽春,不太可能有詳盡的測試;另一方面,IC 設計工程師如果沒有製程工程師準備好的資料當然也不可能開始設計 IC,因此這邊就會有雞生蛋、蛋生雞的問題出現。所以常見的情況通常是這樣:由製程工程師先準備一個初版但不完善的資料給設計工程師,由設計工程師先開始製作沒那麼複雜的 IC,再轉交給製程工程師去分析。這個過程會一直重複,同時慢慢的去提升測試 IC 的複雜度使整個過程可以逐步的完善且收斂。最後製程工程師就可以整理出新研發的製程需要遵守哪些規範、有什麼建議事項等等,設計工程師則是可以根據製程那邊的資料整理出大架構與方向、準則。所以雖然越先進的製程越複雜、但真正動手時往往會依循著一個特定的模式與框架去進行,雖然壞處很明顯的就是可能會失去一些比較好的設計,但可以讓實際設計時少放點心力再那些複雜、繁瑣且惱人的 design rule。當然,如何整理出那個模式與框架就是各家公司自己看著辦,也是商業機密囉!
沒有留言:
張貼留言