[ Virtuoso ] display.drf、techfile.tf、tech.db 之間的關系,以及 Packet 在它們之間的作用


https://www.cnblogs.com/yeungchie/

一般工藝庫下的“技術文件”有 tech.db 和 techfile.tf , Packet 是 display.drf 中的“顏色包”

  1. techfile.tf 內為自然語言,可以用vim等工具直接編輯,tech.db 經過編譯。

  2. 函數 tcLoadTechFile(d_tech t_techfile) 並不會修改上述任意一個文件,只會寫入虛擬內存,需要 save 才能寫入 tech.db 。

  3. Virtuoso 啟動時自動加載的不是 techfile.tf ,而是 tech.db 。

  4. display.drf 中含有一個個的 Packet,理解為顏色包 ,techfile 含有 Layer 與 Packet 的對應關系。因此 Packet 像是一個“紐帶”,把 display.drf 中的顏色信息跟 techfile 中定義的 Layer Purpose Pair ( lpp ) 聯系起來。

hiLayerDispMainForm() 打開 Layer Purpose Pair Editor

新增自定義的 Packet ,和修改與 Layer 之間的對應關系

實例問題:海力士 110nm 工藝下(hl110lpf),metal 的 darwing 層與之對應的 TXT (PIN)層為相同的 PacketName ,所以在默認的配置下不容易發現 metal 與 TXT 混淆使用的誤操作。(這個問題會導致驗證環節難以定位錯誤)

解決方法

  1. copy 一份 display.drf 文件,增加新的 PacketName。

  1. copy 一份 techfile.tf 文件(因為 tech.db 無法直接編輯,所以只能對 techfile.tf 操作),修改這幾層 TXT 與新增的 PacketName 對應起來。

圖中 M1 ~ M3 已經修改了,M4 ~ M5 未修改可以看到 drawing 和 TXT 為相同的 PKN

原則上 PDK 自身的文件不建議修改,普通用戶也沒有權限去修改,因此可以使用下面的方法臨時使用。

最好讓管理員一次性改了得了,一勞永逸。

let((lib tech)
      lib = ddGetObj("hl110lpf")            ;獲取 pdk 庫 id
      tech = techGetTechFile(lib)           ;獲取 pdk techfile id
      tcLoadTechFile(tech "./techfile.tf")  ;load techfile 文件
      drLoadDrf("./display.drf")            ;load display 文件
)
  • 上一步的操作必須遵循先加載 techfile.tf,再加載 display.drf 的順序,否則 display 無法找到對應關系。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM