2022年1月16日日曜日

IC Compiler で配置が正しく行われているか調べる(check_legality)

IC Compiler で配置が正しく行われているか,check_legality コマンドで調べる事が出来る.

check_legality

実行すると,行 (Row) に載っていないセルの数,重なっているセルの数などが報告される.また legalize できなかったのでエラーコード PSYN-215 が報告される.
これを利用して,IC Compiler で配置が正しくできなかった場合に終了するプロシージャを以下に示す.
  1. proc ::checkLegalityAndExit { design } {
  2. set fid [open ${design}.legal r]
  3. while {![eof $fid]} {
  4. set line [gets $fid]
  5. puts $line
  6. if {[string match "*PSYN-215*" $line]} {
  7. close $fid
  8. quit
  9. }
  10. }
  11. close $fid
  12. }


使い方

  1. # 前略
  2. place_opt
  3. redirect ${design}.legal { check_legality }
  4.  
  5. # place_opt/legalize_placementに失敗していれば終了
  6. ::checkLegalityAndExit { $design }

0 件のコメント:

コメントを投稿