DRC 説明スクリプト - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: Tcl スクリプト機能の使用 (UG894)

Document ID
UG894
Release Date
2023-11-17
Version
2023.2 日本語

DRC ルール名または DRC ルールのパターンを見たときに、そのルールの機能の説明が必要な場合があります。これには、DRC オブジェクトのプロパティをレポートします。

次のスクリプト例は、入力して DRC ルールの検索パターンを指定することにより、各ルールの説明と重要度を表示します。パターンに一致するルール場ない場合は、エラー メッセージが表示されます。

proc explain_drc { drcs } {
  package require struct::matrix
  set loop_drcs [get_drc_checks $drcs -quiet]
  if {$loop_drcs == {}} { 
    puts " Error: $drcs does not match any existing DRC rule"
    return 
  }
  struct::matrix drcsm
  drcsm add columns 3
  drcsm add row {DRC_ID SEVERITY DESCRIPTION}
  foreach drc $loop_drcs {
    set description "\{[get_property DESCRIPTION [get_drc_checks $drc]]\}"
    set severity "\{[get_property SEVERITY [get_drc_checks $drc]]\}"
    set key "\{[get_property NAME [get_drc_checks $drc]]\}"
    drcsm add row "$key $severity $description"
  }
  puts "[drcsm format 2chan]";
  drcsm destroy
}

Vivado 内に組み込まれている Tcl パッケージも多数あり、このスクリプト例では struct::matrix パッケージを使用してサマリ表が見やすく表示されるようにしています。

次に、explain_drc プロシージャの出力例を示します。

Vivado% explain_drc CFGBVS-1
DRC_ID  SEVERITY DESCRIPTION                    
CFGBVS-1 Warning Missing CFGBVS and CONFIG_VOLTAGE Design Properties
Vivado% explain_drc CFGBVS-*
DRC_ID  SEVERITY     DESCRIPTION                    
CFGBVS-1 Warning     Missing CFGBVS and CONFIG_VOLTAGE Design Properties
CFGBVS-2 Critical Warning CFGBVS Design Property               
CFGBVS-3 Warning     CONFIG_VOLTAGE Design Property           
CFGBVS-4 Critical Warning CFGBVS and CONFIG_VOLTAGE Design Properties    
CFGBVS-5 Critical Warning CONFIG_VOLTAGE Design Property           
CFGBVS-6 Critical Warning CONFIG_VOLTAGE with HP Config Banks        
CFGBVS-7 Warning     CONFIG_VOLTAGE with Config Bank VCCO 
Vivado% explain_drc foo
Error: foo does not match any existing DRC rule