2024年1月15日月曜日

Milkyway でセルが正常に更新されなくて困っていた

オチ:Virtuoso の StreamOut のログとMilkywayのログをちゃんと確認すること.

ASAP7 ではセルを 4x して配置配線するので,1x ライブラリをコピー→ XScale を使って 4x → StreamOut → Milkyway DB → IC Compiler で配置配線をしていたのだが,一部のセルのサイズが変わらなくて困っていた.オチはは OA ライブラリ中に同名の別セルが存在していたことが原因だった (具体的には,4x ライブラリのセルが 1x ライブラリの INVx2_ASAP7_75t_SL をインスタンスとして読んでしまっていた).

StreamOut はちゃんと警告していて,ダブった方を "INVx2_ASAP7_75t_SL_0" とリネーム("_0")している.リネームされたのが 1x セルならよかったのだが,4x セルがリネームされてしまったのであった.

...
WARNING (XSTRM-145): The structure name 'INVx2_ASAP7_75t_SL' has been changed to 'INVx2_ASAP7_75t_SL_0' by the translator. This could be because multiple cells with the same cell name exist in different libraries, the same cell name has been mapped to multiple cell names, or the cell name length is greater than the '32' that was specified using the '-respectGDSIINameLimit' or '-gdsCellNameLength' option.
...

Milkyway の setPRBdry のログを確認すると正しく電源が抽出されているように見えたのだが,

...
Cell [INVx2_ASAP7_75t_SL_0.FRAM] has 2 horizontal p/g rails on MET1.
         the 1 rail's net type is gnd
         the 2 rail's net type is power
Extracting P/G track for cell INVx2_ASAP7_75t_SL_0.FRAM
power/ground track (low, high): (-144, 144) (4176, 4464)
...

これはリネームされた 4x セルで,本来の名前のままの 1x セルは処理中には異なる位置の電源が抽出されており,ちゃんと「電源おかしいで」と警告されていたのであった.

...
Cell [INVx2_ASAP7_75t_SL.FRAM] has 2 horizontal p/g rails on MET1.
         the 1 rail's net type is gnd
         the 2 rail's net type is power
Extracting P/G track for cell INVx2_ASAP7_75t_SL.FRAM
power/ground track (low, high): (-36, 36) (1044, 1116)
WARNING: cell AOI321xp33_ASAP7_75t_SL.FRAM and NAND2x1p5_ASAP7_75t_SL.FRAM have different PG rail extension.
...

余談だけれど,スタセルの外形情報は Milkyway のログから抽出してもいいかもしれない.Virtuoso をゴリゴリスクリプトで動かすのは結構遅いので.

0 件のコメント:

コメントを投稿