抽取寄生參數是我們工作中經常做的事情,目前來說三家EDA 都有抽取工具,分別是StarRC, XRC,QRC,其中QRC現在有個升級版本Quantus,但是由於calibre在DRC 和LVS方面太強,所以一般都會提供calibre LVS + StarRC 或者QRC的flow。
既然都是用calibre LVS 的database那model之間能否互相轉換呢。畢竟有很多公司calibre xrc已經用習慣了,在gui上點一點比較爽。那今天就介紹一下starrcmodel 轉calibre xrc model的flow。
一般的我們starRC rule 都會提供如下的文件,我這里只說一種corner 的情況:
1 calibre LVS rule
2 itf file(option)
3 query
4 xxx.nxtgrd
5 xxx.layermap
我們先說一下這幾個文件的作用,lvs 文件是在run RC前需要給starc 產生的database,這里一般會產生一個CCI的database,所以一般也叫CCIflow。第二個itf 文件,是StarRC的工藝描述文件,描述需要抽RC的layer,以及介質層,主要是各種工藝參數,這個有可能fab不給你,那后面如果要轉model 就需要多一步。后面三個是run StarRC的必要文件,其中nxtgrd 就是用itf 產生的model文件,類似於calibrexrc 中的rules.R 和 rules.C.
那我們今天把starRC 轉成calibreXRC主要過程就是把這個nxtgrd 轉成rules.R 和 rules.C, 要完成這樣的過程首先我們要知道這幾個文件是怎么來的,其實上面這三個文件都是用工藝描述文件通過各自的工具產生大量的仿真計算后產生的,這個工藝描述文件在starRC里就是這個itf文件,而在XRC里叫mipt 文件。
Nxtgrd 的產生過程如下:
grdgenxo itf_file
rules.R 和rules.C的產生過程如下:
xcalibrate -exec mipt.file
所以StarRC 轉XRC的主要過程就是itf 轉mipt,這個主要是用calibre提供的工具,命令如下:
xcalibrate -itf2mipt2 itf_file
會在執行的folder下產生一個out.mipt
總結StarRC 轉XRC其實只需要兩步:
Step1 itf 轉mipt
xcalibrate -itf2mipt2 itf_file
step2 產生rules.R 和rules.C
xcalibrate -exec -turbo 64 mipt.file
這里加了turbo 主要是這個過程非常漫長,越是先進節點越慢,主要是mipt 太復雜,需要進行大量的仿真,這里根據實際情況用multi cpu來run,64 是total cpu個數。
如果fab沒有提供itf 文件就需要用nxtgrd來轉一個,具體命令如下:
grdgenxo -nxtgrd2itf -i nxtgrd_file -o itf_file
主要參考了如下兩份manual:
StarRC_user_guide_and_command_reference
xcalibrat_batch_user