« May 2018 | Main | November 2018 »

IBISを提供するお仕事

仕事でIBISを提供する機会があって苦労したので、その経験を記録しておこうと思う。

勤務先は半導体ベンダーなので、立場としてはIBISの提供者となる。主な仕事は半導体チップの外側、いわゆるプラットフォームの開発に関わっているので、普段はIBISのユーザーという立場である。
今回、お客様からの要望でIBISを用意することになった。お客様に提供する製品はカスタムLSIで、
・大手IPベンダーのIP (主に標準化された高速インターフェース)
・専門IPベンダーのIP
・社内IP
の混在となる。これらのIPを使って論理設計(いわゆるフロントエンド)はお客様が担当し、物理設計以降(バックエンド)はウチの会社が担当する。
弊社が販売している標準LSIは従来IBISを提供しており、今回と同じプロセスの標準製品もあるので、当初はそのIBISを流用すれば済むだろうと安易に考えていた。実際にはそう簡単な話ではなかった。

・大手IPベンダーのIP
数種類の標準的な高速シリアルインターフェイスIP。提供されるライブラリーにあらかじめIBISも含まれており、しかもIBIS-AMIで提供されているので精度面も含めて何も懸念することは無かった。さすが、IPで広く商売しているベンダーはきちんとしている。

・専門IPベンダーのIP
特定インターフェイスのIP。当初IBISの提供を打診したところ、これまで顧客にIBISを出した経験が無いということで、やり取りを繰り返してspiceモデルを入手した。お客様はIBISでの提供を希望されていたのと、そのspiceモデルを弊社から外に出すことに懸念があったため、spiceモデルから外部モデリングサービスを使ってIBISを作成することを考えた。作成の可否と見積もりをお願いしたが、このspiceモデルがマクロモデルであったため、ここからIBISを作ることは難しいようでなかなか回答をいただけなかった。そうこうしているうちに、IPベンダーからIBISが出てきた。向こうでも作成してくれていたようだ。シンプルなIBISなので精度の心配はあったが、一応の形を整えることはできた。

・社内IP
実は意外に厄介で一番手こずったのが社内IP。半導体メーカーなのだから自社のIBISを入手するのは簡単だろうと思われるだろうが、とんでもない。IPによって、というか担当部署によってそれぞれ対応が異なり、IBISの形式で出してくるところ、V-Iカーブのテーブルを出してくるところ、spiceモデルで出してくるところと様々だった。
どの形式でもこちらでIBISのフォーマットにまとめれば良いのだが、これが一筋縄ではいかない。
V-IカーブのテーブルがExcel形式で入手できたら単純にIBISフォーマットに当てはめてやればいいのだが、IBISは"Voltage I(typ) I(min) I(max)"なのに送られてきたテーブルはtyp, min, max毎に"Voltage - I"の並びになっていて、しかも電圧(Voltage)の値がそれぞれ違うので単純に編集で対応できなかった。データ処理でサンプリングし直せばいいのはわかるのだが、簡単にできる方法が無かったので差し戻してIBISにしやすいデータを作り直してもらった。
spiceモデルはそのままお客様に出すことはできないので、IBISオープンフォーラム公式のs2ibisを使ってIBISを作成することにした。何とか作ってみたIBISはV-Iカーブがリニアで、クランプ特性が入っていなかった。元のspiceモデルに戻って調べてみようとしたが、400MB近くある複雑なネットリストは追いかけるのも難しく、結局作成元にお願いすることにした。結局、このspiceモデルにはクランプダイオードが入っていなかったので、正しいものをV-Iテーブルで出してもらった。

バッファモデルだけでなく、パッケージモデルもひと悶着あった。IBISをもらう立場では、パッケージ全体のRLCが最も簡単に入手できる情報で、次にピン毎のRLCや分布定数モデルと詳細になるほど入手が難しくなる。Sパラとなるとなかなか出してもらうのが難しい。
しかし今回分かったのは、提供側からするとパッケージの設計データからSパラを抽出するのがもっとも簡単で、そこからRLCモデルを出すのはひと手間かかり、パッケージ全体のRLC値となるとさらにそこから適当な値をピックアップする手間を加えなければならない。
Sパラで提供できれば、ベンダー側は手間が掛からなくて済むし、ユーザー側も精度が得られて良いのだが、IBISの体裁としてはパッケージRLCも欲しいところ。

各IP担当から出てくるIBISバッファモデルを束ねて、ピンリストを作り、パッケージRLCを入れるだけの簡単なお仕事...という目論見は見事に外れた。
当初アテにしていた標準製品のIBISだが、結局、同じプロセスを使う世代のIBISは高速シリアルの標準インターフェイスのみ提供され、一般信号については提供されなかった。つまり、大手IPベンダーの用意したIBISのみ提供される形となった。

ユーザーの立場からすると、半導体ベンダーがIBISを準備するのは当たり前なのだが、半導体ベンダー側は必ずしもそう考えていないかもしれない。少なくともIBISを提供するプロセスが確立していない会社があるというのは現実だ。ベンダー社内で行うシミュレーションではspiceモデルが使えるので、わざわざIBISを作るのは外部に出すため、顧客に提供する以外の必要性が無い。
今回お客様に提供したIBISは、ユーザーの立場で見ると不完全で、個人的には納得していない。半導体ベンダーは内部でIBISを作成するプロセス、その品質を確認してレビュー、承認するプロセスをきちんと確立すべきだと思う。

| | Comments (0) | TrackBack (0)

« May 2018 | Main | November 2018 »