Powered by SmartDoc

その他

内部変数を使った制御

targetにより, STの動作を変えたい場合などには,内部変数を使って,その動作を変更することができる. targetコマンドで指定した値は, $ST::_targetに格納されている.したがって,シミュレータにより動作を変更したい場合は,

if($ST::_target eq "verilog"){
  Verilogの時の動作
}else{
  それ以外の時の動作
}

とすれば良い.その他の変数は, ST.pmを参照すればすぐにわかる.

既存のVerilog moduleからのSTテンプレートの生成

既存のVerilog moduleからSTのテンプレートファイルを生成するための, v2st.plを用意している.

v2st.pl [-c クロック信号名] [-m モジュール名] [-t ピン位置指定テキストファイル] verilogファイル > test.st

のように実行することにより,既存のVerilog fileから簡単にSTのテンプレートファイルtest.stlを作成することができる. -cオプションで,クロックピンを指定する.複数のクロックが存在するときは,コンマで区切る. -mオプションはモジュール名を指定するが,省略すると,ファイル中で最初に見つかったモジュールのSTテンプレートが出力される.

-tオプションは,チップレベルの配置配線の際に用いるピン位置指定ファイルを指定する.ピン位置指定ファイルは,各行番号が電源,グラウンドピンを除いたチップ上のピン番号に対応しており,このピン番号を"loc="オプションとして出力する.

sdcへの対応

STより, Synopsys系ツールのタイミング制約を記述するsdc(Synopsys Design Constraint)ファイルを作成することができる.ターゲットとしてsdcを指定することにより, sdcファイルが作成可能である.