prog_linenum

2021年6月17日 星期四

DRC(Design Rule Check)

 在我們的layout(佈局圖)驗證環節中,通常我們Floorplan完(也就是Device擺放完)第一步就會先驗證DRC,先了解Layout(佈局圖)是否有違反製程規則,違反的部分會先看看能不能清除,直到剩下無法解乾淨的Rule才會進行Route(拉線),最後走完線,再進行DRC驗證,確定走線部分的Rule也沒有問題,才會進行LVS驗證。

那我們首先來看DRC的驗證流程,以下介紹為使用Calibre nmDRC

Calibre nmDRC Data Flow(擷取自Calibre® Verification User’s Manual)
首先我們會需要rule file(command file),這個文件通常會由Foundry(製程廠)提供的PDK(Process Design Kit)裡取得,依照各家Design House內部長久累積的製程經驗,可能會修改或添加rule進去,所以rule file的內容主要就是利用SVRF(Standard Verification Rule Format)去對DRC作一個描述運算,來讓Calibre nmDRC讀的懂規則,接下來就是給它layout database,也就是我們佈局圖透過Stream Out轉出的檔案,格式為GDSII or OASIS,那我們就可以來進行驗證,驗證結束後會轉出所謂的results database跟summary report等驗證報告。

那驗證方式大致上可以分為兩種型式,一種為Command Line,就是在Terminal上打上指令進行驗證,另一種為GUI(Graphical User Interface),比較人性化的介面驗證。

一.Command Line 

    1.使用vim or gvim(文字編輯器)去修改我們的rule file,找到以下4行

        LAYOUT PATH "/tapeout/gds/test.gds"(存放GDS檔案的路徑)

        LAYOUT PRIMARY "test"(待驗證的cell name)

        DRC RESULTS DATABASE "./test.db" ASCII (需使用Calibre RVE開啟的檔案)

        DRC SUMMARY REPORT "./test.sum" (文字檔報告)

輸入
        
輸出

    2.下指令執行Calibre nmDRC
        $ calibre -drc rule.file

二.GUI介面操作
    1.在Termial打開Calibre Interactive
        $ calibre -gui &





    2.點擊nmDRC
        


    3.如果有儲存runset就可以load 之前的設定,第一次操作就先關掉

    4.填入DRC Rules File,並點擊一下Load

    5.Inputs填入gds位置與Top Cell Name
    6.Outputs調整Database輸出跟Summary輸出
   
    7.點擊Run DRC,就會開始跑了

個人比較喜歡使用command line的方式去做驗證,因為可以寫一些Shell script讓資料比較好整理,VIM用習慣,感覺上操作效率會比GUI快很多,不過還是推薦兩種都要會,把核心觀念了解,其實非常簡單,新手常常會覺得gui操作比較容易,但其實command line 用熟,比較好理解
DRC整個流程的觀念。

沒有留言:

張貼留言