ISE Simulator (ISim) 14.1 クイック リファレンス エラボレーションおよびシミュレーション実行ファイルの生成 fuse : デザインをエラボレートし、シミュレーション実行ファイルを生成します。 使用方法 : fuse [options] {[<work>.]<design top>} オプション : -f [ --file ] arg 指定のファイルからオプションを読み込みます。 -h [ --help ] ヘルプ メッセージを出力します。 --version コンパイラのバージョンを出力します。 --initfile arg ユ ー ザ ー 定 義 の シ ミ ュ レ ー タ INIT フ ァ イ ル を 使 用 し て 、 デ フ ォ ル ト の xilinxsim.ini ファイルに含まれる設定に追加または変更します。 --prj arg 「vhdl|verilog <work lib> <HDL file name>」というエントリを 1 つ以上含む ISim プロジェクト ファイルを指定します。 -L [ --lib ] arg Verilog または混合言語デザインにインスタンシエートされているデザイン ユニットの検索ライブラリを指定します。各検索ライブラリを -L|--lib を使用して 指定します。引数のフォーマットは <name>[=<dir>] で、<name> はライブラリ の論理名、<dir> はオプションでライブラリの物理ディレクトリを指定します。 -v [ --verbose ] arg 出力メッセージの詳細度 (0 (デフォルト)、1、2) を指定します。 -i [ --include ] arg Verilog `include で指定されているファイルを検索するディレクトリを指定しま す。各検索ディレクトリを -i|--include を使用して指定します。 -d [ --define ] arg Verilog マクロを定義します。各 Verilog マクロを -d|--define を使用して指定し ます。マクロ定義のフォーマットは <name>[=<val>] で、<name> はマクロ名、 <value> はオプションでマクロ値を指定します。 --rangecheck VHDL でランタイム値の範囲チェックをイネーブルにします。 --sourcelibdir arg コンパイルされていないモジュールの Verilog ソース ファイルのディレクトリを 指定します。各ディレクトリを --sourcelibdir <dirname> で指定します。 --sourcelibext arg コンパイルされていないモジュールの Verilog ソース ファイルの拡張子を指定 します。各拡張子を --sourcelibext <file extension> で指定します。 --sourcelibfile arg コンパイルされていないモジュールを含む Verilog ソース ファイルの名前を 指定します。各ファイル名を --sourcelibfile <filename> で指定します。 --mindelay Verilog デザイン ユニットを最小遅延でコンパイルします。 --typdelay Verilog デザイン ユニットを典型的な遅延 (デフォルト) でコンパイルします。 --maxdelay Verilog デザイン ユニットを最大遅延でコンパイルします。 --notimingchecks Verilog の specify ブロックに含まれるタイミング チェック構文を無視します。 --nospecify Verilog の specify ブロックに含まれる Verilog パス遅延およびタイミング チェックを無視します。 --work arg 作業ライブラリを指定します。引数のフォーマットは <name>[=<dir>] で、 <name> はライブラリの論理名、<dir> はオプションでライブラリの物理ディレ クトリを指定します。 -o [ --out ] arg 生成される実行ファイルの名前を指定します (デフォルト名 : x.exe)。 --mt arg 同時に実行可能なサブ コンパイル ジョブ数を指定します。有効な値は on、 off、または 2 以上の整数です (デフォルト : on)。 --timescale arg Verilog モジュールのデフォルトの時間単位を指定します (デフォルト : 1ns/1ps)。 --override_timeunit すべての Verilog モジュールの時間単位を -timescale オプションで指定した 時間単位に変更します。 --override_timeprecision すべての Verilog モジュールの時間精度を -timescale オプションで指 定した時間精度に変更します。 --timeprecision_vhdl arg VHDL デザインの時間精度を指定します (デフォルト : 1ps)。 --generic_top arg 最上位デザイン ユニットのジェネリックまたはパラメーターを指定の値 に変更します (例 : -generic_top "P1=10")。 --maxdesigndepth arg エラボレーターで許容されるデザインの最大階層数を指定します (デフォルト : 5000)。 --hil_zynq_ps HWCoSim : Zynq プロセッサ システム (PS) の Hardware In Loop (HIL) シミュレーションをイネーブルにします。 --hwcosim_board arg HWCosim : ボード名を指定します。 --hwcosim_clock arg HWCosim : インスタンスのクロック ポート名を指定します。 --hwcosim_incremental arg HWCosim : 再インプリメントせずに以前に作成した BIT ファイルを 再利用します。有効な値は 0 および 1 です (デフォルト : 0)。 -hwcosim_instance arg HWCosim : FPGA で実行されるインスタンスの階層名を指定します (例 : /testbench/UUT)。 --hwcosim_nocombinatorial_path デザインに入力から出力までが完全に組み合わせのパスが ない場合に、シミュレーションを高速化します。 例: fuse top1 top2 -L unisims_ver -L xilinxcorelib_ver fuse top1 top2 -prj files.prj -o mysim.exe fuse -sourcelibdir C:/mydir -sourcelibext .v -prj test.prj work.tb fuse -generic_top WIDTH=32 -generic_top DEVICE=VIRTEX5 -timescale 1us/1fs work.tb 2 ISE Simulator (ISim) 14.1 クリック リファレンス ISE Simulator (ISim) 14.1 クイック リファレンス バッチ モードまたは GUI モードでのシミュレーションの起動 <fuse で生成されたシミュレーション実行ファイル> : シミュレーションを実行します。 使用方法 : <simexecutable> [options] オプション : -f <file_name> 指定のファイルからコマンド ライン オプションを読み込みます。 -gui 対話型 GUI で実行します。 -h ヘルプ メッセージを出力します。 -log <file_name> ログ ファイル名を指定します。 -maxdeltaid <number> シミュレーション時間を進めずに許容される最大デルタ サイクル数を指定 します。 -nolog ログ ファイルは生成しません。 -sdfnowarn SDF 警告を生成しません。 -sdfnoerror SDF ファイルで検出されたエラーを警告として処理します。 -sdfmin [<root>=]<file> SDF ファイル <file> に含まれる最小 遅延をインスタン ス <root> に アノテートします。 -sdftyp [<root>=]<file> SDF ファイル <file> に含まれる通常の遅延をインスタンス <root> に アノテートします。 -sdfmax [<root>=]<file> SDF ファイル <file> に含まれる最大 遅延をインスタン ス <root> に アノテートします。 -sdfroot <root> SDF の遅延をアノテートするデフォルトのインスタンスを指定します。 -tclbatch <file_name> バッチ モードで使用する Tcl バッチ ファイルを指定します。 -transport_int_delays インターコネクト遅延に転送モデルを使用します。パルス除去は実行され ません。 -testplusarg <arg> $test$plusargs および $value$plusargs で使用される plusargs を指定 します。 -vcdfile <vcd_file> VCD 出力ファイルを指定します。 -vcdunit <unit> VCD 出力の時間単位を指定します。デフォルトは fs です。 -view <wcfg_file> 波形コンフィギュレーション ファイルを開きます。-gui オプションと共に 使用します。 -wdb <wdb_file> 波形データベース出力ファイルを指定します。 例: <sim executable> -tclbatch isim.tcl <sim executable> -gui <sim_executable> -tclbatch isim.tcl –gui –view mywavesettings.wcfg isimgui : スタティック波形ビューアーを起動します。 使用方法 : isimgui [options] オプション : -h ヘルプ メッセージを出力します。 -tclbatch <file_name> GUI をカスタマイズする Tcl バッチ ファイルを指定します。 -view <wcfg_file | wdb_file> 波形コンフィギ ュレー ション ファイ ル (.wcfg) ま たは波 形データ ベース ファイル (.wdb) を開き、シミュレーション後の波形を表示しま す。WCFG ファイルを指定すると、WCFG ファイルに関連付けられ ているデータベースが読み込まれます。-open <WDB file> も指定し た場合は、WCFG ファイルに関連付けられている WDB ファイルの 代わりに指定した WDB ファイルが開きます。 -open <WDB file> GUI で [File] → [Open] を実行したときと同様に、波形ウィンドウを 作成せずに WDB ファイルを開きます。 例: isimgui -view isim.wcfg isimgui -view isim.wdb isimgui -open my.wdb –view my.wcfg Project Navigator から ISim を起動 1. [Project] → [Design Properties] をクリックして、ISim をシミュレータとして選択します。 2. [Design] パネルの [View] ペインで [Simulation] をオンにし、[Simulation] ビューを表示しま す。ビューのドロップダウンから、シミュレーションの種類として [Behavioral]、[Post-Translate]、 [Post-Map]、および [Post-Route] を選択できます。実行するシミュレーションを選択します。 3. [Hiearchy] ペインでテストベンチを選択します。[Processes] ペインに [ISim Simulator] がプロ セスとして表示されます。[ISim Simulator] を展開表示すると、ISim を起動する [Simulate Behavioral Mode] プロセスなどが表示されます。 4. [Simulate Behavioral Mode] をダブルクリックして ISim を起動します。 エンベデッド システム デザインをシミュレーションするために XPS (EDK) から ISim を起動 1. [Edit] → [Preference] を ク リ ッ ク し 、 [Category] で [Simulation] を ク リ ッ ク し て 、 [Select Simulator] オプションで [ISim] をオンにします。 2. [Simulation] → [Generate Simulation HDL Files] をクリックして、シミュレーション モデルを 生成します。 3. [Simulation] → [Launch HDL Simulator] をクリックして ISim を起動します。 3 シミュレーションの再実行 ISim GUI で [Re-launch] ボタンをクリックすると、デザインが再コンパイルされてシミュレーションが 再実行されます。この機能を使用すると、ISim GUI を終了せずに HDL で問題を修正できます。 例 : コンパイルおよびシミュレーションの実行 glbl.v、file1.v、file2.v、file3.v、file4.vhd、file5.vhd、および testbench tb.v から構成されており、glbl および tb が 2 つの最上位である VHDL/Verilog 混合デザインで、ザイリンクス UNISIM および IP コアを使用し、最上位の信号をトレースして、シミュレーションを 1us 間実行します。 vlogcomp file1.v file2.v file3.v glbl.v vhpcomp file4.vhd file5.vhd fuse -L unisims_ver -L xilinxcorelib_ver work.glbl work.tb -o tb.exe tb.exe -tclbatch isim.tcl -gui isim.tcl ファイルには次が含まれます。 onerror {resume} ; wave add / ; run 1 us Tcl コマンドを使用したシミュレーションおよび GUI のカスタマイズ bp : describe : dump : HDL ソース コードのデバッグ用のブレークポイントを設定/削除します。 HDL データまたはブロック オブジェクトの情報を表示します。 現在のデザイン階層にある変数、ジェネリック、パラメーター、およびネットの値 を表示します。 help : 指定した Tcl コマンドの説明、使用方法、および構文を表示します。 isim condition : 指定の条件に基づいてコマンド セットを実行します。 isim force : VHDL 信号、Verilog ワイヤ、または Verilog レジスタに強制的に値を設定す るか、または値を削除します。 isim get arraydisplaylength : 配列型 HDL オブジェクトのエレメントの制限数を表示します。 isim get radix : 使用されているグローバル基数を取得します。 isim get userunit : Tcl コマンドの時間値のデフォルト単位を表示します。 isim ltrace : ライン トレースのオン/オフを切り替えます。 isim ptrace : プロセス実行トレースのオン/オフを切り替えます。 isim set arraydisplaylength : 配列型 HDL オブジェクトのエレメントの制限数を設定します。 isim set userunit : 単位が設定されていない時間値すべてに適用するデフォルト単位を設定します。 isim set radix : グローバル基数を設定します。 onerror : バッチ モードで、エラーが発生した Tcl コマンドの直後の動作を制御します。 put : 指定のビット、スライス、変数、または信号に値を割り当てます。 quit : コマンド オプションに従い、シミュレーションまたは ISim のいずれかを終了します。 restart : シミュレーションを再スタートします。シミュレーション時間が 0 に戻ります。 resume : 直前の Tcl コマンドでエラーが発生した場合でも、次の Tcl コマンドを処理します。 run : シミュレーションを開始します。 saif : 消費電力解析用に SAIF (Switching Activity Interchange format) ファイルを作成します。 scope : デザイン階層を移動します。 sdfanno : 標準遅延フォーマット (SDF) ファイルの遅延を HDL デザインにバックアノテートします。 show : [Console] パネルにデザインの選択部分を表示します。 step : HDL デザインでデバッグしやすいようシミュレーションを 1 行ずつ実行します。 test : ネットまたはバスの実際の値と入力された値を比較します。 vcd : シミュレーション結果を VCD フォーマットで生成します。 wcfg new : 新しい波形コンフィギュレーションを作成します。wcfg new <filename> のように 入力します。 wcfg open : 指定した波形コンフィギュレーションを開きます。wcfg open <filename> にように 入力します。 wcfg save : 波形コンフィギュレーションを保存します。wcfg save <filename> にように入力し ます。 wcfg select : ウ ィ ン ド ウ に 表 示 す る 波 形 コン フ ィ ギ ュ レー シ ョ ン フ ァ イ ル を 指 定 しま す 。 wcfg select <wave_config_name> のように入力します。 wave log : HDL オブジェクトのシミュレーション出力を波形データベースに記録します。 wave add : 指定の波形コンフィギュレーションにシミュレーション オブジェクトまたはブロック を追加します。 divider add : 新しい仕切りを追加します。 group add : 新しいグループを追加します。 virtualbus add : 新しい仮想バスを追加します。 marker add : 新しいマーカーを追加します。 4 ISE Simulator (ISim) 14.1 クイック リファレンス ISE Simulator (ISim) 14.1 クリック リファレンス 例 : Tcl コマンドの使用 波形コンフィギュレーションを作成し、信号、仕切り、仮想バス、およびグループを指定の色と基数で追加 wcfg new set test_group_id [group add test_group] wave add -radix hex dcm_clk_s /tb/data2 -into $test_group_id divider add data -color blue -into $test_group_id wave add addr1 /tb/UUT/addr2 -into $test_group_id set vbusId [virtualbus add mybus -radix hex] wave add sigA -into $vbusId wave add sigB -into $vbusId set group_id [group add test_group] set group_id_1 [group add group_1 -into $group_id] set group_id_2 [group add group_2 -into $group_id] wave add clk read_ok -into $group_id_1 wave add rst write_ok -into $group_id_2 wcfg save mywave.wcfg 信号、ワイヤ、またはレジスタに定数またはパターンを適用 現在のシミュレーション時間で rst 信号を 0 にするには、次のように入力します。 isim force rst 0 現在のシミュレーション時間から 10ns 後に rst 信号を 1 にし、現在のシミュレーション時間から 50ns 後に そのコマンドをキャンセルするには、次のように入力します。 isim force rst 1 -time 10 ns -cancel 50 ns 現在のシミュレーション時間で 1 になり、20ns 後に 0 に戻り、現在のシミュレーション時間から 1us まで 40ns ごとにこれを繰り返すクロックを clk 信号に適用するには (デューティ サイクルが 50% で周期が 40ns のクロックを 1us 間生成)、次のように入力します。 isim force clk 1 -value 0 -time 20 ns -repeat 40 ns -cancel 1 us 現在のシミュレーション時間で data_in 信号の値を強制的に 1 にし、その 50ns 後に 0 にした後、現在の シミュレーション時間から 75ns 後に 1 に戻すパターンを 100ns ごとに 5000ns 間繰り返すには、次のように 入力します。 force add data_in 1 -value 0 -time 50 ns -value 1 -time 75 ns -repeat 100 ns -cancel 5000 ns 信号 s、s1、s2 の値を削除するには、次のように入力します。 isim force remove s s1 s2 イ ン ス タ ン ス uut か ら 開 始 し て 、 デ ザ イ ン に 含 ま れ る ポ ー ト お よ び 内 部 ネ ッ ト の ト グ ル 数 を uut_power.saif ファイルに SAIF ファイル形式で書き込む saif open -scope uut -file uut_power.saif -allnets run 1000 ns saif close モジュール UUT の VCD シミュレーション値を VCD ファイルに書き込む vcd dumpfile adder.vcd vcd dumpvars -m /UUT run 1000 ns vcd dumpflush 波形ウィンドウのショートカット キー 波形全体を表示 : F6 キ ーま たは Ctrl + マウスの 左ボタンを 押 しながら、 左上 方向 へ ドラッグします。 縮小 : F7 キーまたは Ctrl + マウスの左ボタンを押しながら右上方向にドラッグ するか、Ctrl + マウス ホイールを下方向に回転させます。 拡大 : F8 キーまたは Ctrl + マウスの左ボタンを押しながら左下方向にドラッグ するか、Ctrl + マウス ホイールを上方向に回転させます。 指定した範囲の拡大表示 : Ctrl + マウスの左ボタンを押しながら、右下方向へドラッグします。 1 つ前の信号を選択 : 上方向キー 次の信号を選択 : 下方向キー 1 つ前の遷移へ移動 : 左方向キー 次の遷移へ移動 : 右方向キー 上方向/下方向にスクロール : マウス ホイール 左側/右側のスクロール : Shift + マウス ホイール シミュレーション時間 0 に移動 : Ctrl + Home シミュレーション時間の最後に移動 : Ctrl + End シミュレーションを停止 : Break/Pause キー シミュレーションをリスタート : Ctrl + Shift + F5 シミュレーションを続行 : F5 一行ずつ実行 : F11 ISim プロジェクト (PRJ) ファイル プロジェクト ファイル (PRJ) は vhpcomp、vlogcomp、および fuse コマンドで使用され、デザインに 関連するすべてのファイルのリストを供給します。PRJ ファイルには、言語、ライブラリ名、および デザイン ファイルがリストされています。my_project.prj など、拡張子に .prj を持つテキスト ファイル を作成して、次のようにライブラリおよびソース ファイル情報を入力します。 説明 : vhdl <library_name> <VHDL file name> verilog <library_name> { <Verilog file names> } [-d <Macro>] [-i <Include Dir>] verilog|vhdl : ソース ファイルが Verilog または VHDL ファイルであることを示します。 <library_name> : ソースをコンパイルするライブラリを指定します。work がデフォルトの ライブラリです。 • <file_name> : ライブラリに関連するソース ファイルを指定します。1 行に複数の Verilog ソース ファイルを指定できます。VHDL ソース ファイルは 1 行に 1 つのみ指定できます。 PRJ ファイルで指定した HDL ソースを fuse コマンドでコンパイルし、デザインをエラボレートして、 シミュレーション実行ファイルを生成します。 例 : fuse -prj my_project.prj work.top work.glbl -o my_sim.exe • • GUI での波形表示 1. 2. 3. 4. 5. ISim GUI を起動して、左上にある [Instances and Processes] パネルで表示するシミュレーション オブジェクトを含むインスタンスをクリックします。 [Instances and Processes] パネルの右横にある [Objects] パネルで、Ctrl または Shift キーを押しな がら複数のオブジェクトを選択します。 これらのオブジェクトを空白の波形ウィンドウの [Name] 列にドラッグします。オプションで、[File] → [New] をクリックし、[Waveform Configuration] を選択して新しい波形ウィンドウを作成し、この波形 ウィンドウにオブジェクトをドラッグすることもできます。 ツールバーの [Run All] ボタンをクリックして、シミュレーションを実行します。 2 つのエッジ間の時間を計測するためのフローティング ルーラーを表示するには、マウスの左ボタンを 押したままマウスを右または左にドラッグします。 ISim ライブラリ マップ (.ini) ファイル ISim の HDL コン パ イ ル プロ グ ラ ム vhpcomp、 vlogcomp、 お よ び fuse では 、 xilinxsim.ini コンフィギュレーション ファイルを使用して VHDL および Verilog の論理ライブラリの定義および 物理ロケーションが識別されます。xilinxsim.ini は、$XILINX/vhdl/hdp/<platform> からを読み込ま れます。また、vhpcomp、vlogcomp、および fuse で -inifile オプションを使用してユーザー .ini ファイルを指定するか、作業中のディレクトリにxilinxsim.ini を作成して、デフォルトの .ini ファイル $XILINX/vhdl/hdp/<platform>/xilinxsim.ini の設定に追加したり変更したりできます。 xilinxsim.ini ファイルのフォーマットは、次のとおりです。 ISE Simulator (ISim) 14.1 クイック リファレンス HDL ファイルの解析 (コンパイル) vhpcomp : VHDL ファイルを解析し、その出力をディスクに保存します。 使用方法 : vhpcomp [options] {<VHDL file>} オプション : -f [ --file ] arg 指定のファイルからオプションを読み込みます。 -h [ --help ] ヘルプ メッセージを出力します。 --version コンパイラのバージョンを出力します。 --initfile arg ユーザー定義のシミュレーター INIT ファイルを使用して、デフォルトの xilinxsim.ini ファイルに含まれる設定に追加または変更します。 --prj arg 「vhdl <work lib> <VHDL file name>」というエントリを 1 つ以上含む ISim プロジェクト ファイルを指定します。 -v [ --verbose ] arg 出力メッセージの詳細度 (0 (デフォルト)、1、2) を指定します。 --work arg 作業ライブラリを指定します。引数のフォーマットは <name>[=<dir>] で、 <name> はライブラリの論理名、<dir> はオプションでライブラリの物理 ディレクトリを指定します。 例: vhpcomp -work worklib file1.vhd file2.vhd vhpcomp -prj files.prj vhpcomp -work work -f file_list.txt vlogcomp : Verilog ファイルを解析し、その出力をディスクに保存します。 使用方法 : vlogcomp [options] {<Verilog file>} オプション : -f [ --file ] arg 指定のファイルからオプションを読み込みます。 -h [ --help ] ヘルプ メッセージを出力します。 --version コンパイラのバージョンを出力します。 --initfile arg ユーザー定義のシミュレーター INIT ファイルを使用して、デフォルトの xilinxsim.ini ファイルに含まれる設定に追加または変更します。 --prj arg 「vhdl|verilog <work lib> <HDL file name>」というエントリを 1 つ以上含む ISim プロジェクト ファイルを指定します。 -v [ --verbose ] arg 出力メッセージの詳細度 (0 (デフォルト)、1、2) を指定します。 -i [ --include ] arg Verilog `include で指定されているファイルを検索するディレクトリを指定し ます。各検索ディレクトリを -i|--include を使用して指定します。 -d [ --define ] arg Verilog マクロを定義します。各 Verilog マクロを -d|--define を使用して指 定します。マクロ定義のフォーマットは <name>[=<val>] で、<name> は マクロ名、<value> はオプションでマクロ値を指定します。 --sourcelibdir arg コンパイルされていないモジュールの Verilog ソース ファイルのディレクトリ を指定します。各ディレクトリを --sourcelibdir <dirname> で指定します。 --sourcelibext arg コンパイルされていないモジュールの Verilog ソース ファイルの拡張子を 指定します。 各拡張子を --sourcelibext <file extension> で指定します。 --sourcelibfile arg コンパイルされていないモジュールを含む Verilog ソース ファイルの名前を 指定します。各ファイル名を --sourcelibfile <filename> で指定します。 --mindelay Verilog デザイン ユニットを最小遅延でコンパイルします。 --typdelay Verilog デザイン ユニットを典型的な遅延 (デフォルト) でコンパイルします。 --maxdelay Verilog デザイン ユニットを最大遅延でコンパイルします。 --work arg 作業ライブラリを指定します。引数のフォーマットは <name>[=<dir>] で、 <name> はライブラリの論理名、<dir> はオプションでライブラリの物理 ディレクトリを指定します。 例: vlogcomp -work worklib -d WIDTH=4 file1.v file2.v vlogcomp -work work -i C:/myincludes -d DEVICE=VIRTEX6 f3.v vlogcomp -work work -f file_list.txt vlogcomp -prj files.prj vlogcomp -sourcelibdir C:/mydir -sourcelibext .v -f files.txt <logical_library>=<physical_dir_path> 次に、ユーザー xilinxsim.ini ファイルの例を示します。 mylib=C:/libs/mylib work=C:/work XTP117 詳細は、http://japan.xilinx.com/tools/isim.htm を参照 5 6 1
© Copyright 2024 ExpyDoc