寄生RCデータのフォーマットの違いについて混乱してきたので記事を起こしてみる.
他人任せに英語のテキストを直訳しただけだったり(ぉ
取り扱うのはSPF,DSPF,RSPF,SPEF,SBPFで,それぞれ
SPF -- Standard Parasitic Format
DSPF -- Detailed Standard Parasitic Format
RSPF -- Reduced Standard Parasitic Format
SPEF -- Standard Parasitic Exchange Format
SBPF -- Synopsys Binary Parasitic Format
の略称です.
SPFはCadence Design Systemsがネットリストの寄生RCの標準フォーマットとして定義している物です.後で述べるDSPFとRSPFはSPFで表現されるネットリストの一形式です.SPF自身は一般的な寄生RCを表現するときに使われます.一方DSPFとRSPFは寄生RCをRCのネットワークで表現します.
RSPFは各信号配線をパイ型のRCモデルで表現します.等価抵抗を中心に,等価容量で挟む形でRCモデルを表現します.ノードの数には依存せず,各信号配線がそれぞれのパイ型のネットワークを持ちます.さらに,RSPFを用いることでPrimeTimeによる各ノード間の配線遅延のElmore遅延を計算する事ができます.
一方でDSPFは各信号配線の詳細な寄生RCを表現します.従ってRSPFよりも精度は高いですが,ファイルサイズが大きくなります.またDSPFにはカップリングキャパシタの定義がありません.他のフォーマットに比べ,DSPFはSPICEのネットリストと最も近いフォーマットとなります.
SPEFはOpen Verilog Initiative(OVI,現在はIEEEにて標準化)における寄生RCのフォーマットです.SPEFはSPFとほぼ同じ構造をもっています.SPF同様に抵抗とキャパシタによる寄生素子があり,詳細な寄生RCネットワークもしくはパイ型モデルによるRCモデルが定義されています.パイ型モデルはSPFよりもより一般的に用いられます.SPEFは異なるネット間の結合容量を定義する構文があるため,PrimeTime SIを用いたクロストーク解析に利用されます.SPEFはSPFやDSPFよりもファイルサイズが小さいですが,それは各ノード名を数字に置き換えてしまうためです.
SBPFはPrimeTimeで採用されているバイナリフォーマットです.寄生RCの情報はSPEFよりも小容量で高速に読み込むことができます.
研究室では「SPEFはすべての寄生RCを含んだネットワークで,それをパイ型に縮約したものがDSPF」という扱いだったのだけれど,調べてみるといろいろあるみたいですね.
元ネタ:
The Difference Between Parasitic Data Formats SPF, DSPF, RSPF, SPEF, and SBPF