UDD (User Defined Device)即用戶自定義的器件,可以生成像pdk lib中提供的device pcell一樣參數化可調節器件。UDD給用戶提供了GUI平臺下的編輯設計pcell的方式。GUI的平臺對設計者的腳本能力要求不是很高。UDD還可以提供了一種hierarchy的design,如果想要做一些復雜嵌套結構device也是非常方便的。目前Laker 和custom compiler 工具都有提供UDD這樣的功能。
如果有參考的版圖那就更簡單了,可以直接使用import layout添加大量的Distance就可以滿足參數化device的效果。
下面演示個Laker 種udd的使用,做了一個粗糙的電感來演示UDD的使用介于篇幅不展示細節laker的reference.pdf有操作詳細解釋內容,把下面這個位置做了參數化。
我們首先來完成下面cross connect的底層udd cell.
第一步先創建cross connect 必要的參數
第二步使用Distance的操作把交叉線的相對位置進行參數化
第三步使用Align的功能把需要對齊的邊或中心進行對齊,有些像在版圖種直操作一樣。
最后一步把直角走線通過CutCorner的操作倒角成45°走線
這樣cross connect的udd 就完成了。
下面看怎么生成電感并在電感種使用:
第一步一樣生成需要的parameter,這里可以從cross connect的udd 種導入進來再進行進一步添加需要的。編輯窗口種先畫出需要用到的layer 與形狀,后續操作都是基于這些參考layer 進行運算和拉伸對齊得到。比如下圖來控制調用的cross connect的udd 具體放在什么位置,這里通過Distance來控制上邊距與左邊距。下面那個白色長方形layer是用來后期切斷ring的中間運算層使用,最后會remove掉。
這里雙環是基于上面正方形進行grow 和shrink然后NOT的布爾運算得到生成下圖中outR inR兩圈。然后再通過白色中間運算層來切掉雙環下部的中間位置,方便用cross connect來替換連接。上面單環切口也是使用相同的操作。方便進行電感的輸入 輸出連接。最后把不相干的中間運算層次進行remove就完成了這個電感udd.
這里只是簡單的示例,如果需要復雜的操作做些復雜的callback.可以接入UDD Procedure script來處理一些操作或運算。
如果有用過udd的對此有些基礎的可以嘗試嘗試如何生成多圈非螺旋的圓形電感
這個是在custom compiler 的UDD Assistant與Laker中UDD界面略微不同:
-
電感器
+關注
關注
20文章
2334瀏覽量
70642 -
GUI
+關注
關注
3文章
662瀏覽量
39787 -
UDDI
+關注
關注
0文章
2瀏覽量
6264
發布評論請先 登錄
相關推薦
評論