Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

スクリプトの生成を制御するためのプロパティ

この節では、関数 makehdl または関数 makehdltb でプロパティを設定し、スクリプト生成を有効または無効にしたり、生成されるスクリプト ファイルの名前や内容をカスタマイズしたりする方法を説明します。

スクリプト生成の有効化と無効化

EDAScriptGeneration プロパティはスクリプト ファイルの生成を制御します。既定では、EDAScriptGenerationon に設定されています。スクリプト生成を無効にするには、次の例のように、EDAScriptGenerationoff に設定します。

makehdl('sfir_fixed/symmetric_fir','EDAScriptGeneration','off') 

スクリプト名のカスタマイズ

HDL コードを生成する場合、HDL Coder™ は、生成されたスクリプト名のモデルまたはサブシステム名 system に接尾辞の文字列を追加します。

テスト ベンチ コードを生成する場合、HDL Coder はテスト ベンチの名前 testbench_tb に接尾辞の文字列を追加します。

接尾辞の文字列は生成するスクリプトのタイプ (コンパイル、シミュレーションまたは合成) によって異なります。既定の接尾辞の文字列を次の表に示します。スクリプトのタイプごとに、関連付けられたプロパティを使用して独自の接尾辞を定義できます。

スクリプト タイププロパティ既定値
コンパイルHDLCompileFilePostfix_compile.do
シミュレーションHDLSimFilePostfix_sim.do
合成HDLSynthFilePostfix選択した合成ツールによって異なります。合成ツールを選択を参照してください。

以下のコマンドは、サブシステム system の VHDL® コードを、コンパイル スクリプト用のカスタム接尾辞を指定して生成します。生成されたコンパイル スクリプトの名前は、system_test_compilation.do になります。

makehdl('mymodel/system', 'HDLCompileFilePostfix', '_test_compilation.do')

スクリプト コードのカスタマイズ

次の表にまとめたプロパティ名/プロパティ値のペアを使用して、カスタマイズされた書式名を文字ベクトルとして makehdl または makehdltb に渡すことができます。プロパティには、次の規則に従って名前が付けられます。

  • 初期化 (Init) フェーズに適用するプロパティは、プロパティ名の文字ベクトル Init によって識別される。

  • ファイル単位のコマンド (Cmd) フェーズに適用するプロパティは、プロパティ名の文字ベクトル Cmd によって識別される。

  • 終了 (Term) フェーズに適用するプロパティは、プロパティ名の文字ベクトル Term によって識別される。

プロパティ名と既定の設定説明

名前:HDLCompileInit

既定の設定: 'vlib %s\n'

コンパイル スクリプトの Init セクションを書き込むために fprintf に渡される書式名。この暗黙的な引数は VHDLLibraryName プロパティの内容で、既定値は 'work' です。既定の Init 文字列 ('vlib work\n') は、VHDLLibraryName の値を変更してオーバーライドできます。

名前: HDLCompileVHDLCmd

既定の設定: 'vcom %s %s\n'

VHDL ファイル用のコンパイル スクリプトの Cmd セクションを書き込むために fprintf に渡される書式名。2 つの暗黙的な引数は SimulatorFlags プロパティの内容と現在のエンティティまたはモジュールのファイル名です。フラグを省略するには、SimulatorFlags'' (既定の設定) に設定します。

名前: HDLCompileVerilogCmd

既定の設定: 'vlog %s %s\n'

Verilog® ファイル用のコンパイル スクリプトの Cmd セクションを書き込むために fprintf に渡される書式名。2 つの暗黙的な引数は SimulatorFlags プロパティの内容と現在のエンティティまたはモジュールのファイル名です。フラグを省略するには、SimulatorFlags'' (既定の設定) に設定します。

名前: HDLCompileTerm

既定の設定: ''

コンパイル スクリプトの終了部分を書き込むために fprintf に渡される書式名。

名前: HDLSimInit

既定の設定:

 ['onbreak resume\n',...
 'onerror resume\n'] 

シミュレーション スクリプトの初期化セクションを書き込むために fprintf に渡される書式名。

名前: HDLSimCmd

既定の設定: 'vsim -voptargs=+acc %s.%s\n'

シミュレーション コマンドを書き込むために fprintf に渡される書式名。

ターゲット言語が VHDL の場合、1 番目の暗黙的な引数は VHDLLibraryName プロパティの値です。ターゲット言語が Verilog または SystemVerilog の場合、1 番目の暗黙的な引数は 'work' です。

2 番目の暗黙的な引数は、最上位のモジュールまたはエンティティの名前です。

名前: HDLSimViewWaveCmd

既定の設定: 'add wave sim:%s\n'

シミュレーション スクリプトの波形表示コマンドを書き込むために fprintf に渡される書式名。暗黙的な引数が DUT 最上位の入力、出力および出力基準信号の信号パスを追加します。

名前: HDLSimTerm

既定の設定: 'run -all\n'

シミュレーション スクリプトの Term 部分を書き込むために fprintf に渡される書式名。文字列は合成プロジェクト作成コマンドです。文字列の内容は選択された合成ツールに固有です。合成ツールを選択を参照してください。

名前: HDLSynthInit

合成スクリプトの Init セクションを書き込むために fprintf に渡される書式名。書式名の内容は選択された合成ツールに固有です。合成ツールを選択を参照してください。

名前: HDLSynthCmd

合成スクリプトの Cmd セクションを書き込むために fprintf に渡される書式名。書式名の内容は選択された合成ツールに固有です。合成ツールを選択を参照してください。

名前: HDLSynthTerm

合成スクリプトの Term セクションを書き込むために fprintf に渡される書式名。書式名の内容は選択された合成ツールに固有です。合成ツールを選択を参照してください。

次の例は、サブシステム system から生成されたコード用の Mentor Graphics® ModelSim® コンパイル スクリプトにカスタム VHDL ライブラリ名を指定します。

makehdl(system, 'VHDLLibraryName', 'mydesignlib')

最終的なスクリプト system_compile.do は次のとおりです。

vlib mydesignlib
vcom  system.vhd

次の例では、sfir_fixed/symmetric_fir サブシステムの Xilinx® ISE 合成ファイルを生成するように指定しています。

 makehdl('sfir_fixed/symmetric_fir','HDLSynthTool', 'ISE')

次のリストは、最終的なスクリプト symmetric_fir_ise.tcl を示しています。

set src_dir "./hdlsrc"
set prj_dir "synprj"
file mkdir ../$prj_dir
cd ../$prj_dir
project new symmetric_fir.ise
xfile add ../$src_dir/symmetric_fir.vhd
project set family Virtex4
project set device xc4vsx35
project set package ff668
project set speed -10
process run "Synthesize - XST"