ISim
チ ュ ー ト リ アル
Xilinx.Xilinx expressly disclaims any liability arising out of your use of the Documentation.Xilinx reserves the right, at its sole discretion, to change the Documentation without notice at any time.Xilinx assumes no obligation to correct any errors contained in the Documentation, or to advise you of any corrections or updates.Xilinx expressly disclaims any liability in connection with technical support or assistance that may be provided to you in connection with the Information.
THE DOCUMENTATION IS DISCLOSED TO YOU “AS-IS” WITH NO WARRANTY OF ANY KIND.XILINX MAKES NO OTHER
WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE DOCUMENTATION, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT OF THIRD-PARTY RIGHTS.IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY LOSS OF DATA OR LOST PROFITS, ARISING FROM YOUR USE OF THE DOCUMENTATION.
© 2011 -2012 Xilinx, Inc. XILINX, the Xilinx logo, Virtex, Spartan, ISE, and other designated brands included herein are trademarks of Xilinx in the United States and other countries.All other trademarks are the property of their respective owners.
本資料は英語版 (v13.4) を翻訳 し た も ので、 内容に相違が生 じ る 場合には原文を優先 し ます。 資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。 日本語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。 こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、[email protected] ま でお知 ら せ く だ さ い。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ールア ド レ スへのお問い合わせは受け 付けてお り ません。 あ ら か じ めご了承 く だ さ い。
改訂履歴
次の表に、 こ の資料の改訂履歴を示 し ます。 日付 バージ ョ ン 改訂内容 2011 年 10 月 19 日 13.3 • 「 こ のチ ュ ー ト リ アルについて」 の章を削除 • 13.3 リ リ ース に合わせて更新 (書式お よ び表現の改善のみ) 2011 年 1 月 18 日 13.4 • 「必要なデザ イ ン ツール」、「チ ュ ー ト リ アルデザ イ ン フ ァ イ ルの イ ン ス ト ール」、 お よ び 「デザ イ ンの概要」 を第1章 「ISim の概要」 に移動 • コ ンパ イ ル、 シ ミ ュ レーシ ョ ン、GUI、 デバ ッ グ フ ロ ーに合わせて ト ピ ッ ク の順序 を変更 し 、 ス タ ン ド ア ロ ン ISim を最終章に移動 • 27ページの図3-12を修正 • 言語を標準化改訂履歴. . . 2
第
1
章
: ISim
の概要
チ ュ ー ト リ アルフ ロ ー . . . 5 ISim コ ンポーネ ン ト. . . 6 必要なデザ イ ンツール . . . 7 チ ュ ー ト リ アルデザ イ ン フ ァ イ ルの イ ン ス ト ール. . . 7 デザ イ ンの概要 . . . 7 論理ブ ロ ッ ク . . . .8 デザ イ ンセルフ チ ェ ッ ク テ ス ト ベンチ . . . .8第
2
章
: ISim
の実行
デザ イ ンの コ ンパ イ ル. . . 11ISE Project Navigator でのプ ロ ジ ェ ク ト の作成 . . . .11
ビヘ イ ビ アーシ ミ ュ レーシ ョ ンの設定お よ び起動 . . . 16 ビヘ イ ビ アーシ ミ ュ レーシ ョ ン プ ロ パテ ィ の設定 . . . .16 ビヘ イ ビ アーシ ミ ュ レーシ ョ ンの起動. . . .18 結果 . . . 18 次の手順. . . 18
第
3
章
: ISim GUI
の使用お よびデザイ ンのデバ ッ グ
ISim GUI の説明. . . 20 ツールバー . . . .20[Instances and Processes] パネル. . . .20
[Source Files] パネル. . . .21 [Objects] パネル. . . .21 波形ウ ィ ン ド ウ . . . .22 テキ ス ト エデ ィ ターウ ィ ン ド ウ. . . .23 [Breakpoints] パネル . . . .24 [Console] パネル . . . .24 デザ イ ンの確認お よ びデバ ッ グ . . . 24 信号の追加 . . . .25 指定時間シ ミ ュ レーシ ョ ン を実行. . . .27 シ ミ ュ レーシ ョ ンの再ス タ ー ト . . . .28 グループの追加 . . . .28 仕切 り の追加 . . . .30 サブモジ ュ ールか ら の信号の追加. . . .31 信号お よ び波形ウ ィ ン ド ウ のプ ロ パテ ィ の変更. . . .33 波形ウ ィ ン ド ウ の フ ロ ー ト 表示. . . .34 波形ウ ィ ン ド ウ の設定の保存. . . .35 デザ イ ンの再シ ミ ュ レーシ ョ ン . . . 35 マーカーの使用 . . . .36 カー ソ ルの使用 . . . .37 拡大表示. . . .38 時間の計測 . . . .38 複数の波形 コ ン フ ィ ギ ュ レーシ ョ ンの使用. . . .39 デザ イ ンのデバ ッ グ . . . 41
目次
. . . .44 ソ ース コ ー ド の 1 行ずつの実行 . . . .45 デザ イ ンの修正 . . . .46 修正の確認 . . . .46 ま と め . . . 47
第
4
章
:
ス タ ン ド ア ロ ン
ISim
の実行
は じ めに. . . 49 シ ミ ュ レーシ ョ ンの準備. . . 49 ISim プ ロ ジ ェ ク ト フ ァ イ ルの作成. . . .49 シ ミ ュ レーシ ョ ン実行フ ァ イ ルの生成 . . . .50 fuse コ マ ン ド の使用. . . .50 手動でのデザ イ ンのシ ミ ュ レーシ ョ ン . . . .51 シ ミ ュ レーシ ョ ンの起動 . . . .51 結果 . . . 52付録
A :
その他の リ ソ ース
ザ イ リ ン ク ス リ ソ ース . . . 53第
1
章
ISim
の概要
ISim チ ュ ー ト リ アルでは、ザ イ リ ン ク ス設計者向けに ISim シ ミ ュ レーシ ョ ン ツールを詳細に説明 し ます。 こ のチ ュ ー ト リ アルは、Windows 環境で ISim ツールを実行す る ユーザー向けに設計 さ れてい ます。 ほかのオペレーテ ィ ン グ シ ス テ ムでは、一部の手順を正 し く 実行で き る よ う にす る ため変更が必要 な場合があ り ます。 ISim は、VHDL、Verilog、 お よ び混合言語デザ イ ンで論理 (ビヘ イ ビ アー) シ ミ ュ レーシ ョ ンお よ び タ イ ミ ン グ シ ミ ュ レ ーシ ョ ン を 実行で き る ハー ド ウ ェ ア記述言語 (HDL) シ ミ ュ レ ー タ です。 ISim 環境は、 次の主要エ レ メ ン ト で構成 さ れてい ます。• vhpcomp (VHDL) お よ びvlogcomp (Verilog) パーサー • fuse (HDL エ ラ ボ レー タ ーお よ び リ ン カー) コ マ ン ド • シ ミ ュ レーシ ョ ン実行フ ァ イ ル • ISim グ ラ フ ィ カルユーザーイ ン タ ーフ ェ イ ス (GUI) 注記 : ISim の詳細は、 『ISim ユーザーガ イ ド 』 を参照 し て く だ さ い。 こ の資料への リ ン ク は、 付録
A
「その他の リ ソ ース」 に含ま れてい ます。チ ュ ー ト リ アル
フ ロー
こ のチ ュ ー ト リ アルでは、ISE® Project Navigator か ら ISim を使用 し て論理 (ビヘ イ ビ アー)シ ミ ュ レーシ ョ ン を実行す る フ ロ ーを紹介 し ます。
こ の フ ロ ーでは、ISE Project Navigator で実行可能なシ ミ ュ レーシ ョ ンプ ロ セ ス か ら ISim を起動 し ます。ISE Project Navigator を使用 し てプ ロ ジ ェ ク ト を作成 し 、 デザ イ ン をザ イ リ ン ク ス FPGA に イ ンプ リ メ ン ト し ます。 チ ュ ー ト リ アル フ ァ イ ルには HDL 以外の ソ ース も 含まれてお り 、 こ れ ら の ソ ース を ISim で コ ン パ イ ルで き る よ う に Project Navigator で HDL ソ ース フ ァ イ ルに変換す る 方法 も 示 し ます。 ま た、 ス タ ン ド ア ロ ン ISim を使用 し て、 コ マ ン ド ラ イ ン ま たはバ ッ チフ ァ イ ルモー ド で ISim プ ロ ジ ェ ク ト フ ァ イ ルを作成 し 、HDL リ ン カーお よ びシ ミ ュ レーシ ョ ン実行フ ァ イ ルを起動 し てデ ザ イ ン を シ ミ ュ レーシ ョ ンす る 方法を説明す る 章 も あ り ます。
ISim
コ ンポーネ ン ト
表1-1に、ISim の コ ン ポーネ ン ト を示 し ます。 表 1-1 : ISim コ ンポーネン ト ISim コ ンポーネン ト 説明 パーサー : vhpcompお よ びvlogcompvhpcompは VHDL ソ ース フ ァ イ ル、 vlogcompは Verilog ソ ースフ ァ イ ルを解析お よ び コ ンパ イ ル し ます。 解析 さ れたダ ン プはfuse コ マ ン ド で使用 さ れ、 オブジ ェ ク ト コ ー ド が生 成 さ れ、こ の コ ー ド がシ ミ ュ レーシ ョ ンカーネル ラ イ ブ ラ リ と リ ン ク さ れて、シ ミ ュ レーシ ョ ン実行フ ァ イ ルが生成 さ れます。
fuseコ マ ン ド fuse コ マン ド は、ISim ツールで使用 さ れ る HDL エ ラ ボ レー タ ーお よ び リ ン カーです。 最上 位デザ イ ン ユニ ッ ト を指定 し たデザ イ ンに対 し て ス タ テ ィ ッ ク エ ラ ボ レーシ ョ ン (既存デザ イ ンのエ ラ ボ レーシ ョ ン) を実行 し 、 こ れ ら のデザ イ ン ユニ ッ ト を オブジ ェ ク ト コ ー ド に コ ンパ イ ル し ます。その後デザ イ ン ユニ ッ ト のオブジ ェ ク ト フ ァ イ ル間が リ ン ク さ れて、シ ミ ュ レーシ ョ ン実行フ ァ イ ルが作成 さ れます。 fuse コ マン ド では、プ ロ ジ ェ ク ト フ ァ イ ル (.prj) に含まれてい る 各 VHDL ま たは Verilog ソ ースコ ー ド に対 し て vlogcomp ま たは vhpcomp を自動的に実行 し 、オンザフ ラ イ で ソ ー ス を コ ンパ イ ルで き ます。 ISE シ ミ ュ レ ーシ ョ ン 実行 フ ァ イ ル シ ミ ュ レ ー シ ョ ン 実行 フ ァ イ ルは、 fuse コ マ ン ド に よ り 生成 さ れ ま す。 デ フ ォ ル ト 名は x.exeで、ISim ツールでデザ イ ンのシ ミ ュ レーシ ョ ン を実行す る と き に使用で き ます。 • ISim ツールを ISE Project Navigator ま たは PlanAhead ツールか ら 実行す る 場合は、こ れ
ら の ツールで生成 さ れたx.exeが起動 さ れます。 • ISim ツールを コ マ ン ド ラ イ ンか ら 実行す る 場合は、 生成 さ れた実行フ ァ イ ルを明示的に 指定 し て起動する 必要があ り ます。 詳細は、第4章 「 ス タ ン ド ア ロ ン ISim の実行」 を参 照 し て く だ さ い。 シ ミ ュ レーシ ョ ン実行フ ァ イ ルでは、デザ イ ン を駆動お よ びプ ロ ーブす る Tcl コ マ ン ド を使用 し て、 イ ベン ト ド リ ブンのシ ミ ュ レーシ ョ ンが開始 さ れます。
注記 : ISE シ ミ ュ レーシ ョ ン実行フ ァ イ ルの拡張子は、Linux お よ び Windows 共に.exeで す。 デフ ォル ト の実行フ ァ イ ル名の フ ォーマ ッ ト はx.exeです。
isimgui.exe isimgui.exe (Linux では isimgui) は ISim GUI で、 波形 ウ ィ ン ド ウ、 ツールバー、 パ
ネル、 お よ びス テー タ スバーが含まれています。 メ イ ン ウ ィ ン ド ウ では、 デザ イ ン でシ ミ ュ レ ーシ ョ ン が可能な箇所の表示、 波形 ウ ィ ン ド ウ での信号の追加お よ び表示、
ISim
コ マ ン ド を使用 し た シ ミ ュ レーシ ョ ンの実行、 デザ イ ン の検証、 お よ びデバ ッ グ を実行で き ます。必要なデザイ ンツール
必要なデザイ ン
ツール
こ のチ ュ ー ト リ アルを実行す る には、次のいずれかのデザ イ ンツールを イ ン ス ト ールす る 必要があ り ます。
• ISE WebPACK™ 13.x
• ISE Design Suite 13.x Edition (Logic、DSP、Embedded、System)
ザ イ リ ン ク ス ソ フ ト ウ ェ アの イ ン ス ト ールに関す る 詳細は、 『ISE Design Suite 13 : イ ン ス ト ール お よ び ラ イ セン ス ガ イ ド 』 (UG798) を参照 し て く だ さ い。 こ の資料への リ ン ク は、付録A 「その 他の リ ソ ース」 に含まれています。
チ ュ ー ト リ アル
デザイ ン
フ ァ イルのイ ン ス ト ール
こ のチ ュ ー ト リ アルのデザ イ ン フ ァ イ ルは、 ザ イ リ ン ク ス の ウ ェ ブサ イ ト のチ ュ ー ト リ アルペー ジか ら 入手で き ます。 • ug682.zipデザ イ ン フ ァ イ ルを ダ ウ ン ロ ー ド し ます。 • デザ イ ン フ ァ イ ルを書 き 込み/読み取 り 権があ る デ ィ レ ク ト リ に解凍 し ます。 こ の.zipフ ァ イ ルには、表1-2に示すフ ァ イ ルが含まれてい ます。デザイ ンの概要
チ ュ ー ト リ アルデザ イ ンは、Virtex®-5 デジ タ ルク ロ ッ ク マネージ ャ ー (DCM) のダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン機能を示 し た も のです。 Virtex-5 DCM を使用す る と 、 デザ イ ンで次の式に基づいて出力 ク ロ ッ ク が生成 さ れます。 出力 ク ロ ッ ク = 入力 ク ロ ッ ク * (逓倍率 / 分周率) DCM のダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン ポー ト (DRP) を使用す る と 、 逓倍率お よ び分周 率を定義 し 直 し て さ ま ざ ま な出力周波数を生成で き ます。詳細は、 『Virtex-5 FPGA ユーザーガ イ ド 』 (UG190) の 「 ク ロ ッ ク リ ソ ース」 の章を参照 し て く だ さ い。 こ の資料への リ ン ク は、付録A 「その他の リ ソ ース」 に含まれています。 表 1-2 : チ ュ ー ト リ アルデザイ ン フ ァ イル フ ォルダー 説明 /sources デザ イ ンの論理シ ミ ュ レーシ ョ ンに必要な HDL フ ァ イ ルが含まれてい ます。 /scripts シ ミ ュ レ ーシ ョ ン を 実行す る た めの未完成の ス ク リ プ ト フ ァ イ ルが含 ま れ てい ます。 こ れ ら の ス ク リ プ ト フ ァ イ ルは、 チ ュ ー ト リ アルで完成 さ せてい き ます。 /completed 完成 し た ス ク リ プ ト フ ァ イ ル、 シ ミ ュ レーシ ョ ンフ ァ イ ル、 お よ び波形 コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イ ルに加え、 完成 し てい る ISE 13 プ ロ ジ ェ ク ト の チ ュ ー ト リ アルデザ イ ンが含まれてお り 、進行中のデザ イ ン フ ァ イ ル と 比較 で き ます。 readme.txt こ のチ ュ ー ト リ アルデザ イ ンに関す る readme フ ァ イ ル
論理ブ ロ ッ ク
こ のチ ュ ー ト リ アルデザ イ ンには、 次の論理ブ ロ ッ ク が含まれてい ます。drp_dcm (drp_dcm.vhd)
内部フ ィ ー ド バ ッ ク 、 周波数制御出力、 デ ュ ーテ ィ サ イ ク ル調整、 お よ びダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン機能を含む Virtex-5 DCM マ ク ロ です。 CLKFX_OUT 出力か ら は、 次の式で定義 さ れ る ク ロ ッ ク が供給 さ れます。 CLKFX_OUT = CLKIN_IN * (逓倍率/分周率) た と えば、100MHz 入力 ク ロ ッ ク を使用す る と き 、 逓倍率を 6、 分周率を 5 にす る と 、120MHz の CLKFX_OUT 出力 ク ロ ッ ク が生成 さ れます。 DCM の DRP ポー ト を使用す る と 、 逓倍率 (M) お よ び分周率 (D) パ ラ メ ー タ ーを ダ イ ナ ミ ッ ク に 定義 し 直 し て異な る CLKFX_OUT 周波数を生成で き ます。 こ のチ ュ ー ト リ アルでは、 こ れ ら の逓 倍率お よ び分周率のパ ラ メ ー タ ーを 16 ビ ッ ト 幅の DI_IN ポー ト を使用 し て 16 進数フ ォーマ ッ ト で DCM に供給す る 方法を示 し ます。 DI_IN[15:8] = M – 1 DI_IN[7:0] = D – 1 た と えば、M/D が 6/5 の と き 、DI_IN は 0504h にな り ます。drp_stmach (drp_stmach.vhd)
drp_stmach.vhdモ ジ ュ ールに は、 ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レ ー シ ョ ン コ ン ト ロ ー ラ ー (DRP) が記述 さ れてい ます。DRP コ ン ト ロ ー ラ ーでは、 ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン サ イ ク ルを実行す る ために DCM の DRP 信号を アサー ト 、 監視 し ます。 ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ンサ イ ク ルは、 drp_start信号がアサー ト さ れ る と 開始 し ます。 こ の手順に従 う と 、DRP コ ン ト ロ ー ラ ーで該当す る DCM の DRP ピ ンがアサー ト さ れ、 フ ルサ イ ク ルが完了 し ます。 drp_done信号は、DRP が正 し く 完了 し た こ と を通知 し ます。drp_demo (drp_demo.vhd)
チ ュ ー ト リ ア ルデザ イ ン の最上位モ ジ ュ ールで、DCM マ ク ロ お よ び DRP コ ン ト ロ ー ラ ーモ ジ ュ ールが外部 I/O ポー ト に接続 さ れてい ます。drp_demo_tb (drp_demo_tb.vhd)
セルフチ ェ ッ ク HDL テ ス ト ベンチです。 詳細は、 次のサブセ ク シ ョ ン を参照 し て く だ さ い。デザイ ン
セル フ チ ェ ッ ク
テ ス ト ベ ン チ
こ のデザ イ ンの機能性を テ ス ト す る ため、 セルフチ ェ ッ クテ ス ト ベンチが提供 さ れてい ます (/sourcesフ ォ ルダーに含まれてい るdrp_demo_tb.vhd)。 セル フ チ ェ ッ ク テ ス ト ベンチには、 予測 さ れ る 結果 と シ ミ ュ レーシ ョ ンでのサンプル値を比較す る 検証ルーチンが含まれてい ます。 こ のデザ イ ンで提供 さ れ る セルフチ ェ ッ ク テ ス ト ベンチでは、 次が実行 さ れます。 • デザ イ ンのシ ス テ ム ク ロ ッ ク 用に 100MHz 入力 ク ロ ッ ク を生成 (clk_in) • デザ イ ンの出力周波数を ダ イ ナ ミ ッ ク に変更す る 4 つのテ ス ト を実行。各テ ス ト では、drp_startデザイ ンの概要 9ページの表1-3に、 各テ ス ト で予測 さ れ る 出力周波数お よ び逓倍率/分周率パ ラ メ ー タ ーを示 し ます。 • 各テ ス ト では、 テ ス ト ベンチに よ り 予測 さ れ る ク ロ ッ ク 周期 と シ ミ ュ レーシ ョ ン中に計測 さ れ た ク ロ ッ ク 周期が比較 さ れ、 その結果に基づいてテ ス ト が正常に完了 し たか、 ま たはエ ラ ーが 発生 し たかを示す メ ッ セージが表示 さ れます。テ ス ト ベンチで使用 さ れ る 2 つの ソ ース フ ァ イ ルにはエ ラ ーが含まれてい る ので、 チ ュ ー ト リ アル後半で ISim ツールのデバ ッ グ機能を使用 し て修正 し ます。 • シ ミ ュ レーシ ョ ンの完了時に生成 さ れ る サマ リ レ ポー ト には、正常に完了 し た テ ス ト と エ ラ ー が発生 し た テ ス ト の両方を含む リ ス ト が含まれます。 こ のデザ イ ン の機能の詳細は、 デザ イ ン の ソ ー ス に含 ま れ る イ ン ラ イ ン コ メ ン ト を参照 し て く だ さ い。
ヒ ン ト : Project Navigator でテ ス ト ベンチを作成する には、[Project] → [Create New Sources] を ク リ ッ ク し 、[VHDL Testbench] ま たは [Verilog Text Fixture] を選択 し ます。
注記 : HDL テ ス ト ベンチ設計方法の詳細は、 アプ リ ケーシ ョ ン ノ ー ト XAPP199 『効率的なテ ス ト ベンチの作成』 を参照 し て く だ さ い。 表 1-3 : 出力周波数および逓倍率/分周率パラ メ ー タ ー テ ス ト 周波数(MHz) 周期 (ps) 逓倍率 (M) 分周率 (D) 1 75 13,332 3 4 2 120 8,332 6 5 3 250 4,000 5 2 4 400 2,500 4 1
第
2
章
ISim
の実行
ザ イ リ ン ク ス ISE® Design Suite では、ISim を使用 し た統合フ ロ ーが提供 さ れてお り 、ISE Project Navigator ま たは PlanAhead™ツールか ら 直接シ ミ ュ レーシ ョ ン を実行で き ます。ISim シ ミ ュ レー シ ョ ン を 実行す る シ ミ ュ レ ーシ ョ ン コ マ ン ド は、 デザ イ ン を シ ミ ュ レ ーシ ョ ン す る と 生成 さ れ、 バ ッ ク グ ラ ン ド で自動的に実行 さ れます。
こ の章では、ISE Project Navigator でデザ イ ン を コ ンパ イ ル し 、 シ ミ ュ レーシ ョ ン を設定お よ び実 行す る 方法を説明 し ます。
デザイ ンのコ ンパイル
ISim 統合フ ロ ーでは、ISE Project Navigator ま たは PlanAhead ツールでデザ イ ンの ビヘ イ ビ アー シ ミ ュ レーシ ョ ンお よ び タ イ ミ ン グシ ミ ュ レーシ ョ ン を実行で き ます。
こ のチ ュ ー ト リ アルフ ローでは、まずチ ュ ー ト リ アルデザ イ ン用の ISE プ ロ ジ ェ ク ト を作成 し 、そ の後ビヘ イ ビ アーシ ミ ュ レーシ ョ ンのプ ロ パテ ィ を設定 し てか ら ISim シ ミ ュ レー タ を起動 し てデ ザ イ ンのビヘ イ ビ アーシ ミ ュ レーシ ョ ン を実行 し ます。
ISE Project Navigator
でのプ ロ ジ ェ ク ト の作成
ISE Project Navigator の New Project Wizard を使用 し て、 チ ュ ー ト リ アルデザ イ ン用の ISE プ ロ ジ ェ ク ト を作成 し ます。
注記 : こ の手順の前に、7ページの 「チ ュ ー ト リ アルデザ イ ンフ ァ イ ルの イ ン ス ト ール」 を参照 し てデザ イ ンに必要な フ ァ イ ルを入手 し て く だ さ い。
Project Navigator
の起動 と
New Project Wizard
の使用
Project Navigator を起動 し て、ISE プ ロ ジ ェ ク ト を作成 し ます。 1. ISE Project Navigator を起動 し ます。
2. [File] → [New Project] を ク リ ッ ク し て New Project Wizard を起動 し ます。
3. [Create New Project] ページで、 プ ロ ジ ェ ク ト の名前 (例 : ISim_Tutorial) お よ び保存先を入力 し ます。
4. [Next] を ク リ ッ ク し ます。
5. [Project Settings] ページで、 デバ イ スお よびプ ロ ジ ェ ク ト のプ ロ パテ ィ を選択 し ます。12ペー ジの図2-1と 同様に設定 し 、[Next] を ク リ ッ ク し ます。
6. [Project Summary] ページ を確認 し 、[Finish] を ク リ ッ ク し ます。
X-Ref Target - Figure 2-1
デザイ ンの コ ンパイル
プ ロ ジ ェ ク ト へのチ ュ ー ト リ アル
ソ ース
フ ァ イルの追加
1. [Project] → [Add Source] を ク リ ッ ク し ます。
2. 7ページの 「チ ュ ー ト リ アルデザ イ ン フ ァ イ ルの イ ン ス ト ール」 で ソ ース フ ァ イ ルを保存 し たデ ィ レ ク ト リ に移動 し ます。
3. /sourcesフ ォ ルダーに含まれ る フ ァ イ ルをすべて選択 し 、[開 く] を ク リ ッ ク し ます。 4. [Adding Source Files] ダ イ ア ロ グ ボ ッ ク ス で、 こ れ ら のチ ュ ー ト リ アル ソ ース に対 し て関連
付け と ラ イ ブ ラ リ が正 し く 設定 さ れてい る こ と を確認 し ます。図2-2と 比較 し て く だ さ い。
5. [OK] を ク リ ッ ク し ます。
こ れで、 ソ ー ス フ ァ イ ルがプ ロ ジ ェ ク ト に追加 さ れ ます。Project Navigator の メ イ ン ウ ィ ン ド ウ は、14ページの図2-3の よ う に表示 さ れます。
X-Ref Target - Figure 2-2
VHDL
ラ イ ブ ラ リ の作成
次に、 こ のデザ イ ンのテ ス ト ベンチで使用 さ れ る VHDL パ ッ ケージ (drp_tb_pkg.vhd) 用のユー ザー VHDL ラ イ ブ ラ リ を作成 し ます。VHDL パ ッ ケージには、 テ ス ト ベンチで検証ルーチン を実 行す る と き に使用 さ れ る VHDL 関数が含まれてい ます。 VHDL ラ イ ブ ラ リ を作成 し た ら 、VHDL パ ッ ケージフ ァ イ ルを/work ラ イ ブ ラ リ か ら 新 し く 作成 し た VHDL ラ イ ブ ラ リ に移動 し ます。 VHDL ラ イ ブ ラ リ を作成す る には、 次の手順に従い ます。1. Project Navigator で [Project] → [New Source] を ク リ ッ ク し ます。 New Source Wizard が開 き ます。
2. ソ ース タ イ プに [VHDL Library] を選択 し ます。
3. VHDL の ラ イ ブ ラ リ 名に 「drp_tb_lib」 と 入力 し ます (15ページの図2-4)。 注記 : [Add to project] はオンの ま ま に し ます。
4. [Next] を ク リ ッ ク し ます。
X-Ref Target - Figure 2-3
デザイ ンの コ ンパイル 5. [Summary] ページ を確認 し てか ら [Finish] を ク リ ッ ク し ます。
VHDL
フ ァ イルの ラ イ ブ ラ リ への移動
VHDL パ ッ ケージフ ァ イ ルを drp_tb_lib ラ イ ブ ラ リ に移動 し ます。 1. [Libraries] パネルを ク リ ッ ク し ます。 2. [work] ラ イ ブ ラ リ を展開表示 し ます (図2-5)。 3. drp_tb_pkg.vhdフ ァ イ ルを右 ク リ ッ ク し て、[Move to Library] を ク リ ッ ク し ます。X-Ref Target - Figure 2-4
図 2-4 : ソ ース タ イ プの選択
X-Ref Target - Figure 2-5
4. [Move to Library] ダ イ ア ロ グボ ッ ク ス で、VHDL パ ッ ケージフ ァ イ ルdrp_tb_pkg.vhdの 移動先 ラ イ ブ ラ リ と し てdrp_tb_libを選択 し ます。 ま たは、 フ ァ イ ルを こ の ラ イ ブ ラ リ に ド ラ ッ グ ア ン ド ド ロ ッ プす る こ と も で き ます。 fuse コ マ ン ド では、 プ ロ ジ ェ ク ト フ ァ イ ル (.prj) に含ま れてい る 各 VHDL ま たは Verilog ソ ース コ ー ド に対 し てvlogcompま たはvhpcompを自動的に実行 し て、オンザ フ ラ イ で ソ ー ス を コ ンパ イ ルで き ます。 5. [OK] を ク リ ッ ク し ます。 [drp_tb_lib] ラ イ ブ ラ リ に VHDL パ ッ ケージ フ ァ イ ルdrp_tb_pkg.vhdが含 ま れてい る こ と を確認 し ます (図2-6)。
ビヘ イ ビ アー
シ ミ ュ レーシ ョ ンの設定および起動
ISE プ ロ ジ ェ ク ト を作成 し たので、 次に ISim ビヘ イ ビ アーシ ミ ュ レーシ ョ ン を設定お よ び起動 し ます。ビヘ イ ビ アー
シ ミ ュ レーシ ョ ン
プ ロパテ ィ の設定
次の手順に従い、ISE で ビヘ イ ビ アーシ ミ ュ レーシ ョ ンのプ ロ パテ ィ を設定 し ます。 1. [Design] パネルの上部にあ る [View] ペ イ ンで [Simulation] ボ タ ン をオンに し ます。シ ミ ュ レーシ ョ ン タ イ プを指定する ド ロ ッ プダ ウ ン リ ス ト が表示 さ れます。 2. [Behavioral] を選択 し ます。
3. drp_demo_tbテ ス ト ベンチフ ァ イ ルを選択 し 、[Processes] ペ イ ンで [ISim Simulator] を展開 し ます。
[Processes] ペ イ ン に デ ザ イ ン で 実 行可 能 な シ ミ ュ レ ー シ ョ ン プ ロ セ ス が 表 示 さ れ ま す (17ページの図2-7)。
X-Ref Target - Figure 2-6
ビヘ イ ビ アーシ ミ ュ レーシ ョ ンの設定および起動
4. [ISim Simulator] の下の [Simulate Behavioral Model] を右 ク リ ッ ク し 、[Process Properties] を ク リ ッ ク し ます。
[Process Properties - ISim Properties] ダ イ ア ロ グ ボ ッ ク ス が開 き ます (図2-8)。
こ のダ イ ア ロ グボ ッ ク ス では、 次の よ う なシ ミ ュ レーシ ョ ンプ ロ パテ ィ を設定で き ます。 • シ ミ ュ レーシ ョ ン実行時間
• 波形デー タ ベース フ ァ イ ルの保存先
• ユーザー定義のシ ミ ュ レーシ ョ ン コ マ ン ド フ ァ イ ル
5. [Run for Specified Time] を オ フ に し て、[OK] を ク リ ッ ク し ます。
X-Ref Target - Figure 2-7
図 2-7 : ビヘ イ ビ アーシ ミ ュ レーシ ョ ン プ ロ セス
X-Ref Target - Figure 2-8
ビヘ イ ビ アー
シ ミ ュ レーシ ョ ンの起動
ISim を起動 し てチ ュ ー ト リ アルデザ イ ンの ビヘ イ ビ アーシ ミ ュ レーシ ョ ン を実行 し ます。 [Processes] ペ イ ンで、[Simulate Behavioral Model] を ダブル ク リ ッ ク し ます。
結果
デザ イ ンが解析お よ び コ ンパ イ ル さ れ、ISim GUI (図2-9) が開 き ます。
次の手順
第3章 「ISim GUI の使用お よ びデザ イ ンのデバ ッ グ」 では、ISim GUI の機能 と HDL デザ イ ンの 解析お よ びデバ ッ グに使用す る ツールについて説明 し 、第4章 「ス タ ン ド ア ロ ン ISim の実行」 で は同 じ デザ イ ン を ISim コ マン ド を使用 し て ス タ ン ド ア ロ ンで実行 し ます。
X-Ref Target - Figure 2-9
第
3
章
ISim GUI
の使用およびデザイ ンのデバ ッ グ
ISim GUI には、 波形ウ ィ ン ド ウ 、 ツールバー、 パネル、 お よ びス テー タ スバーが含まれてい ます。 メ イ ン ウ ィ ン ド ウ では、 デザ イ ンでシ ミ ュ レーシ ョ ンが可能な箇所の表示、 波形ウ ィ ン ド ウ での信 号の追加お よ び表示、ISim コ マ ン ド を使用 し たシ ミ ュ レーシ ョ ンの実行、 デザ イ ンの検証、 お よ び デバ ッ グ を実行で き ます (図3-1)。GUI コ ン ポーネ ン ト の詳細は、 『ISim ユーザーガ イ ド 』 (UG660) を参照 し て く だ さ い。 こ の資料へ の リ ン ク は、付録A 「その他の リ ソ ース」に含まれてい ます。
X-Ref Target - Figure 3-1
ISim GUI
の説明
ツールバー
ISim の メ イ ン ウ ィ ン ド ウ で提供 さ れてい る ツールバーか ら は、 さ ま ざ ま な機能を実行で き ます。各 ツールバーか ら 、 メ ニ ュ ーで よ く 使用す る コ マ ン ド にア ク セ ス で き ます。GUI コ ン ポーネ ン ト の詳 細は、 『ISim ユーザーガ イ ド 』 (UG660) を参照 し て く だ さ い。 こ の資料への リ ン ク は、付録A 「そ の他の リ ソ ース」に含まれてい ます。 メ イ ン ウ ィ ン ド ウ の ツールバーア イ コ ンは、ISim GUI 上部に配置 さ れてい ます。図3-2に、 ツー ルバーア イ コ ン を示 し ます。 ツールバーはカ ス タ マ イ ズ可能で、 必要な ツールバーのみを表示で き ます。[Instances and Processes]
パネル
[Instances and Processes] パネルには、 波形 ウ ィ ン ド ウ の波形 コ ン フ ィ ギ ュ レ ーシ ョ ン と 関連す る ブ ロ ッ ク (イ ン ス タ ン ス お よ びプ ロ セ ス) の階層が表示 さ れ ま す。 イ ン ス タ ン シエー ト 、 エ ラ ーボ レー ト さ れたエン テ ィ テ ィ (VHDL) お よ びモジ ュ ール (Verilog) が、 ポー ト 、 信号、 お よ び ク ロ ッ ク コ ンポーネ ン ト と 共に ツ リ ー構造で表示 さ れます (図3-3)。
X-Ref Target - Figure 3-2
図 3-2 : ツールバー
X-Ref Target - Figure 3-3
ISim GUI の説明
[Source Files]
パネル
[Source Files] パネルには、 デザ イ ンに関連す る フ ァ イ ルの リ ス ト が表示 さ れます。 fuseコ マン ド に よ り 、 デザ イ ンの解析お よ びエ ラ ボ レーシ ョ ン フ ァ イ ルの リ ス ト が供給 さ れます。 こ の処理は、 GUI ではバ ッ ク グ ラ ウ ン ド で実行 さ れ ます。HDL ソ ース フ ァ イ ルの ソ ース コ ー ド は、ISim 内で 開 く こ と がで き ます。図3-4に [Source Files] パネルを示 し ます。
[Objects]
パネル
[Objects] パネルでは、[Instances and Processes] パネルで選択 し た イ ン ス タ ン スお よ びプ ロ セ ス に 関連す る ポー ト お よ び信号が表示 さ れます。
パネルの上部には [Instances and Processes] パネルで選択 さ れてい る イ ン ス タ ン ス/プ ロ セ ス が表示 さ れ、 そのオブジ ェ ク ト お よ び値が [Objects] パネルに表示 さ れます。
[Objects] パネルの表には、 次の列があ り ます。
• [Object Name] : 信号名 と その タ イ プを示すシ ン ボルが表示 さ れます。
• [Value] : [Sync Time] ボ タ ン がオンであ る かオ フ であ る かに基づき 、 シ ミ ュ レーシ ョ ン時 間ま たは メ イ ンカー ソ ルの位置の信号値を表示 し ます。
• [Data Type] : シ ミ ュ レーシ ョ ン オブジ ェ ク ト 、 ロ ジ ッ ク 、 ま たはア レ イ のデー タ 型を表示 し ま す。
22ページの図3-5に [Objects] パネルを示 し ます。
X-Ref Target - Figure 3-4
波形ウ ィ ン ド ウ
波形ウ ィ ン ド ウ (図3-6) には、 信号、 バ ス、 お よ び こ れ ら の波形が表示 さ れます。 波形ウ ィ ン ド ウ の各 タ ブには、 信号お よ びバ ス の リ ス ト と そのプ ロ パテ ィ 、 仕切 り 、 カー ソ ル、 ま たはマーカーな ど の波形オブジ ェ ク ト か ら 構成 さ れ る 波形 コ ン フ ィ ギ ュ レーシ ョ ンが表示 さ れます。 GUI では波形 コ ン フ ィ ギ ュ レ ーシ ョ ン の信号お よ びバ ス がシ ミ ュ レ ーシ ョ ン中に ト レ ー ス さ れ る ため、 波形 コ ン フ ィ ギ ュ レーシ ョ ンでシ ミ ュ レーシ ョ ン を実行 し 、 シ ミ ュ レーシ ョ ン結果を検証し ます。 デザ イ ンお よ びシ ミ ュ レーシ ョ ンデー タ はフ ラ ッ ト フ ァ イ ルデー タ ベース に含まれ る ので、 波形 コ ン フ ィ ギ ュ レーシ ョ ンに信号を追加 し た り 、波形 コ ン フ ィ ギ ュ レーシ ョ ンか ら 信号を削除 し て も 、 シ ミ ュ レーシ ョ ンデー タ は影響を受け ません。X-Ref Target - Figure 3-5
ISim GUI の説明
テキス ト
エデ ィ タ ー
ウ ィ ン ド ウ
テキ ス ト エデ ィ タ ーウ ィ ン ド ウ (図3-7) では、 シ ミ ュ レーシ ョ ンで使用 さ れ る HDL ソ ース フ ァ イ ルを表示で き ます。 テキ ス ト エデ ィ タ ーでは、 次を実行で き ます。 • HDL ソ ースフ ァ イ ルを表示 し て編集 • ソ ースフ ァ イ ルにデバ ッ グ用のブ レー ク ポ イ ン ト を設定 • ソ ース コ ー ド を 1 行ずつ進め るX-Ref Target - Figure 3-6
図 3-6 : 波形ウ ィ ン ド ウ
X-Ref Target - Figure 3-7
[Breakpoints]
パネル
[Breakpoints] パネル (図3-8) では、デザ イ ンに現在設定 さ れてい る ブ レー ク ポ イ ン ト が リ ス ト 表示 さ れます。 ソ ー ス フ ァ イ ルに設定 さ れてい る 各ブ レー ク ポ イ ン ト に対 し て、 フ ァ イ ルの保存場所、 フ ァ イ ル名、 お よ び行番号が表示 さ れます。[Breakpoints] パネルの ツールバーや文脈依存 メ ニ ュ ー を 使用 し て、 選択 し た ブ レ ー ク ポ イ ン ト ま たはすべてのブ レ ー ク ポ イ ン ト を削除 し た り 、 ソ ー ス コ ー ド に移動で き ます。 詳細は、 『ISim ユーザーガ イ ド 』 (UG660) の第 8 章 「デバ ッ グ」 を参照 し て く だ さ い。 こ の資料へ の リ ン ク は、付録A 「その他の リ ソ ース」に含まれてい ます。[Console]
パネル
[Console] パネル (図3-9) では、ISim で生成 さ れ る メ ッ セージ を確認 し 、 コ マン ド プ ロ ンプ ト で標 準 Tcl コ マン ド お よ び ISim 特有の コ マ ン ド を入力で き ます。デザイ ンの確認およびデバ ッ グ
こ のセ ク シ ョ ンでは、 次の操作を実行 し てチ ュ ー ト リ アルデザ イ ンの論理動作を確認 し ます。 • 信号を波形ウ ィ ン ド ウ で使用 し た り 、[Console] パネルに表示 さ れてい る テ ス ト ベンチの メ ッ セージ を確認 し なが ら 、 シ ミ ュ レーシ ョ ン を実行、 再実行 し てデザ イ ンの機能を確認 し ます。 • テ ス ト ベンチの信号お よ びその他のデザ イ ンユニ ッ ト を波形ウ ィ ン ド ウ に追加 し 、 こ れ ら の ス テー タ ス を監視 し ます。 • 波形ウ ィ ン ド ウ の信号を識別 し やす く す る ため、 グループや仕切 り を追加 し ます。 • 信号お よ び波形のプ ロ パテ ィ を変更 し 、 波形ウ ィ ン ド ウ で信号を確認 し やす く し ます。X-Ref Target - Figure 3-8
図 3-8 : [Breakpoints] パネル
X-Ref Target - Figure 3-9
デザイ ンの確認およびデバ ッ グ • マーカーお よ びカー ソ ルを使用 し て シ ミ ュ レ ーシ ョ ン での主な イ ベン ト を ハ イ ラ イ ト し た り 、 ズーム機能や時間計測機能を使用 し ます。 • 複数の波形 コ ン フ ィ ギ ュ レーシ ョ ン を使用 し て、1 つのシ ミ ュ レーシ ョ ンセ ッ シ ョ ンで複数の 信号を確認 し やす く し ます。
信号の追加
注記 : 第2章 「ISim の実行」 を完了 し てい る 場合は、 こ の手順を飛ば し て進んで く だ さ い。 テ ス ト ベンチのシ ミ ュ レーシ ョ ンオブジ ェ ク ト はすべて波形ウ ィ ン ド ウ に追加 さ れてい ます。 シ ミ ュ レーシ ョ ン を実行す る 前に、 信号の ス テー タ ス を観察で き る よ う 波形ウ ィ ン ド ウ に信号を追 加す る 必要があ り ます。 テ ス ト ベン チのすべてのシ ミ ュ レ ーシ ョ ンオブジ ェ ク ト を波形 ウ ィ ン ド ウ に追加 し ます。 シ ミ ュ レーシ ョ ン オブジ ェ ク ト には、 次が含まれます。 • 入力 ク ロ ッ ク (clk_in) : テ ス ト ベンチで生成 さ れ る 100MHz ク ロ ッ ク で、 デジ タ ルク ロ ッ ク マネージ ャ ー (DCM) への入力 ク ロ ッ ク です。 • ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ンポー ト (DRP) (drp_*) : DCM の DRP 機能に関連す る 信号です。 テ ス ト ベンチで こ れ ら の信号を アサー ト お よ び監視 し 、DCM の DRP 機能を確認 お よ び制御 し ます。 • DCM 出力信号 (dcm_*) : DCM の出力 ク ロ ッ ク です。信号を波形ウ ィ ン ド ウ に追加す る には、 次の手順に従い ます。
1. [Instances and Processes] パネルでdrp_demo_tbイ ン ス タ ン スユニ ッ ト を右 ク リ ッ ク し ます。 2. [Add to Wave Window] を ク リ ッ ク し ます。
注記 : イ ン ス タ ン ス を選択 し て波形ウ ィ ン ド ウ に ド ラ ッ グする こ と も 可能です。
rp_demo_tbテ ス ト ベンチのシ ミ ュ レーシ ョ ンオブジ ェ ク ト が波形 ウ ィ ン ド ウ に表示 さ れ ま す (図3-10)。
X-Ref Target - Figure 3-10
デザイ ンの確認およびデバ ッ グ
指定時間シ ミ ュ レ ーシ ョ ン を実行
シ ミ ュ レーシ ョ ン を指定 し た時間 (5 マ イ ク ロ 秒 (μs)) だけ実行 し ます。
1. ISim ツールバーにあ る [Run for the time specified on the toolbar] の横にあ る ボ ッ ク ス に「5μs」 と 入力 し 、[Run for the time specified on the toolbar] ボ タ ン を ク リ ッ ク し ます。
注記 : Tcl プ ロ ンプ ト に 「run 5μ
s
」 と 入力 し 、Enter キーを押 し て も 実行で き ます。 波形ウ ィ ン ド ウ では、 シ ミ ュ レーシ ョ ン時間 5μs ま での信号の ト レース が表示 さ れます (図3-11)。2. 波形ウ ィ ン ド ウ に実行 さ れた シ ミ ュ レーシ ョ ンの波形全体を表示す る には、 [View] → [Zoom] → [To Full View] を ク リ ッ ク す る か、 ま たは ツ ールバーの [Zoom To Full View] ボ タ ン を ク
リ ッ ク し ます。 水平方向ま たは垂直方向の ス ク ロ ールバーを使用 し て、波形 コ ン フ ィ ギ ュ レーシ ョ ン全体を表 示で き ます。 シ ミ ュ レーシ ョ ン中にテ ス ト ベンチか ら のアサー ト があ り ます。 3. [Console] パネルでテ ス ト ベンチか ら 出力 さ れた メ ッ セージ を確認 し ます (図3-12)。 .
X-Ref Target - Figure 3-11
図 3-11 : 波形ウ ィ ン ド ウ
X-Ref Target - Figure 3-12
Test 2 が予測どお り エ ラ ーにな っ てい る こ と を確認 し て く だ さ い。 こ の問題をチ ュ ー ト リ アル の後半で修正 し ます。
シ ミ ュ レーシ ョ ンの再ス タ ー ト
次に、[Restart] ボ タ ン を ク リ ッ ク し てシ ミ ュ レーシ ョ ン を再ス タ ー ト し ます。 再ス タ ー ト す る と 波形ウ ィ ン ド ウ が ク リ ア さ れ、シ ミ ュ レーシ ョ ン時間が 0ps に設定 さ れます。 注記 : Tcl プ ロ ンプ ト に 「restart」 と 入力 し て も シ ミ ュ レーシ ョ ン を再ス タ ー ト で き ます。 波形ウ ィ ン ド ウ は、図3-13の よ う に表示 さ れます。 次のセ ク シ ョ ンでは、 波形ウ ィ ン ド ウ の仕切 り 、 グループ、 カー ソ ル、 お よ びマーカーな ど の機能 を使用 し て、 チ ュ ー ト リ アルデザ イ ンのシ ミ ュ レーシ ョ ン を詳細に解析 し ます。グループの追加
次に、こ のデザ イ ンの機能を よ り 詳細に解析す る ため、別のデザ イ ンユニ ッ ト の信号を追加 し ます。 波形ウ ィ ン ド ウ に信号を多 く 追加す る と 、 すべての信号が波形ウ ィ ン ド ウ のサ イ ズ内に収ま ら な く な り ます。すべての信号を確認す る のに波形 ウ ィ ン ド ウ の垂直方向ス ク ロ ールバーを使用す る こ と にな る ため、 確認作業が面倒にな り ます。 信号を グループに ま と め る こ と で、 表示環境を向上で き ます。 グループを使用す る と 、 同 じ 目的の 複数の信号を ま と めて表示/非表示で き ます。 波形 コ ン フ ィ ギ ュ レーシ ョ ンの信号を グループ化す る には、 次の手順に従い ます。 1. 波形ウ ィ ン ド ウ で、Ctrl キーを押 し なが ら 、 drp_demo_tbデザ イ ンユニ ッ ト に含まれてい る drp_で始ま る 信号をすべて選択 し ます。 2. 選択 し た信号を右 ク リ ッ ク し 、[New Group] を ク リ ッ ク し ます。 3. 新 し いグループの名前を入力 し ます。 こ こ では、 「DRP Test Signals」 と い う 名前を付け ます。X-Ref Target - Figure 3-13
デザイ ンの確認およびデバ ッ グ 4. グループの階層を展開す る には、 グループ名の左側のプ ラ ス記号を ク リ ッ ク し ます。 5. デザ イ ン ユニ ッ ト drp_demo_tbに含まれ る 「dcm_」 で始ま るすべての信号を含むグループ を作成 し ます。 6. こ のグループに 「DCM Test Signals」 と い う 名前を付け ます。 7. 作成 し た グループをすべて展開表示 し ます。 波形ウ ィ ン ド ウ は、図3-14の よ う に表示 さ れます。 信号グループが図3-14に示 さ れ る も の と 一致 し ない場合は、 次の方法で修正で き ます。 • 無関係の信号を含めて し ま っ た場合は、 切 り 取 り/貼 り 付け を使用 し て信号を メ イ ン リ ス ト に移動 し ます。 • グループに含め る はずの信号が メ イ ン リ ス ト に残っ てい る 場合は、 ド ラ ッ グ ア ン ド ド ロ ッ プで信号を グループに移動 し ます。 • [Edit] → [Undo] を ク リ ッ ク す る と 、 グループ追加操作を取 り 消す こ と がで き ます。 • グループを右 ク リ ッ ク し て [Ungroup] を ク リ ッ ク す る と 、 グループを解除 し て作 り 直す こ と がで き ます。
X-Ref Target - Figure 3-14=
仕切 り の追加
信号が ど のデザ イ ンユニ ッ ト に属す る か を わか り やす く 表示す る ため、 デザ イ ン ユニ ッ ト ご と に 信号を分け る 仕切 り を追加 し ます。 波形 ウ ィ ン ド ウ に仕切 り を 追加す る には、 波形 ウ ィ ン ド ウ の任意の場所 を 右 ク リ ッ ク し て [New Divider] を ク リ ッ ク し 、 仕切 り 名を入力 し ます。 1. 次の 3 つの仕切 り を追加 し ます。 • TEST BENCH • DCM • DRP CONTROLLER 2. [TEST BENCH] を ク リ ッ ク し て リ ス ト の一番上に ド ラ ッ グ し ます。 3. その他の仕切 り は、 リ ス ト の最後に移動 し ます。 注記 : 仕切 り 名は、 ダブル ク リ ッ ク する か、F2 キーを押 し て、 いつで も 変更可能です。 波形ウ ィ ン ド ウ は、図3-15の よ う に表示 さ れます。X-Ref Target - Figure 3-15
デザイ ンの確認およびデバ ッ グ
サブ モ ジ ュ ールか ら の信号の追加
こ のセ ク シ ョ ン では、 イ ン ス タ ン シエー ト さ れてい る DCM モジ ュ ール (Inst_drp_dcm) お よ び DRP コ ン ト ロ ー ラ ーモジ ュ ール (Inst_drp_stmach) の信号を追加 し て、 サブモジ ュ ール と テ ス ト ベンチのテ ス ト 信号間の通信を調べます。 信号を グループに追加す る 最 も 簡単な方法は、 信号を フ ィ ル タ ーを使用 し て選択す る 方法です。 次の手順に従い、 必要な信号を追加 し ます。1. [Instances and Processes] パネルで、図3-16に示す よ う にdrp_demo_tbの階層を展開表示 し ます。 2. Inst_drp_dcmエン テ ィ テ ィ を ク リ ッ ク し ます。 現在ハ イ ラ イ ト さ れてい る デザ イ ン ユ ニ ッ ト に関連す る シ ミ ュ レ ーシ ョ ン オブ ジ ェ ク ト が [Objects] パネルに表示 さ れます (図3-17)。 デフ ォ ル ト では、変数、定数な ど のすべての種類のシ ミ ュ レーシ ョ ンオブジ ェ ク ト が [Objects] パネルに表示 さ れます。 オブジ ェ ク ト の タ イ プは、32ページの図3-18の よ う に示 さ れます。
X-Ref Target - Figure 3-16
図 3-16 : [Instances and Processes] パネル
X-Ref Target - Figure 3-17
こ のパネルでは表示す る シ ミ ュ レーシ ョ ンオブジ ェ ク ト の種類を フ ィ ル タ ーで き ます。 こ のパ ネルの ツールバーを ク リ ッ ク す る と 、 入力、 出力、 双方向、 内部、 定数、 お よ び変数の表示/非 表示を それぞれ切 り 替え る こ と がで き ます。
3. オブジ ェ ク ト の種類に対応す る ボ タ ン を ク リ ッ ク し てオン/オ フ を切 り 替え ます (図3-19)。
4. [Instances and Processes] パネルで Inst_drp_dcm デザ イ ン ユニ ッ ト を選択 し た状態で、 [Objects] パネルの ツールバーでボ タ ン を ク リ ッ ク し 、 入力ポー ト 、 出力ポー ト 、 お よ び内部 信号が表示 さ れ る よ う に し ます。
5. [Objects] パネルに表示 さ れてい る すべてのオブジ ェ ク ト を選択 し 、 波形ウ ィ ン ド ウ の [DCM] 仕切 り の下に ド ラ ッ グ ア ン ド ド ロ ッ プ し ます。
注記 : ISim Tcl プ ロ ンプ ト でwave add Tcl コ マン ド を使用 し て も 、 波形ウ ィ ン ド ウ に こ れ ら
の信号を追加で き ます。 次に例を示 し ます。
wave add /drp_demo_tb/uut/inst_drp_dcm
6. 同様に、[DRP CONTROLLER] 仕切 り の下に イ ン ス タ ン シエー ト 済みデザ イ ンユニ ッ ト Inst_drp_stmachの入力ポー ト 、 出力ポー ト 、 お よ び内部信号を追加 し ます。
7. 追加 し た信号にグループを作成 し ます。 各信号セ ッ ト を[Inputs]、[Outputs]、 お よ び [Internal] のグループに分け ます。
X-Ref Target - Figure 3-18
図 3-18 : 信号およびア イ コ ン
X-Ref Target - Figure 3-19
デザイ ンの確認およびデバ ッ グ 波形ウ ィ ン ド ウ は、図3-20の よ う に表示 さ れます。
信号お よび波形ウ ィ ン ド ウのプ ロパテ ィ の変更
次に、 波形ウ ィ ン ド ウ に表示 さ れてい る 信号の一部のプ ロ パテ ィ を変更 し 、 シ ミ ュ レーシ ョ ンの表 示を わか り やす く し ます。信号名の表示形式の変更
波形ウ ィ ン ド ウ の信号名は、 デフ ォ ル ト では階層を省いた短い名前で表示 さ れます。 信号に よ っ て は、 属 し てい る モジ ュ ールを知 る こ と が重要です。 次の手順に従っ て、 drp_multiplyお よ びdrp_divideバ ス 信号の信号名の表示形式を 変更 し ま す。1. 波形ウ ィ ン ド ウ で、DRP Test Signals グループに含まれてい る drp_multiplyお よ び drp_divide信号を Crtl キーを押 し なが ら 選択 し ます。 2. 右 ク リ ッ ク し て [Name] → [Long] を ク リ ッ ク し ます。 こ れで、 信号名の表示形式が変更 さ れます。
信号の基数の変更
信号 に よ っ て は、2 進 数 よ り 16 進 数 で 表示 し た ほ う が 認 識 し やす く な る も の も あ り ま す。 drp_multiplyお よ びdrp_divide信号はその例です。 次の手順に従っ て、 こ れ ら の信号の基数オプシ ョ ン を変更 し ます。 1. 波形ウ ィ ン ド ウ でdrp_demo_tb/drp_multiplyお よ びdrp_demo_tb/drp_divide信号 を選択 し ます。 2. 右 ク リ ッ ク し て [Radix] → [Hexadecimal] を ク リ ッ ク し ます。X-Ref Target - Figure 3-20
信号の表示色の変更
波形ウ ィ ン ド ウ に表示 さ れ る 信号の色を変更 し 、類似す る 信号を見分けやす く す る こ と がで き ます。 次の手順に従っ て、 drp_multiplyお よ びdrp_divide信号の表示色を変更 し ます。 1. 波形ウ ィ ン ド ウ で [Name] 列に リ ス ト さ れてい る 信号名を右 ク リ ッ ク し ます。 2. [Signal Color] を ク リ ッ ク し て カ ラ ーパ レ ッ ト か ら 色を選択する か、[…] ボ タ ン を ク リ ッ ク し てカ ス タ ムカ ラ ーを選択 し ます (図3-21)。 注記 : [Divider Color] を使用す る と 、 波形 ウ ィ ン ド ウ で作成 し た仕切 り の色を変更で き ます。波形ウ ィ ン ド ウの フ ロー ト 表示
画面の解像度設定に よ っ て、 波形ウ ィ ン ド ウ に表示で き る 以上の信号が含め ら れてい る 場合があ り ます。 波形ウ ィ ン ド ウ を フ ロ ー ト す る と 、 表示エ リ ア を拡張で き ます。 フ ロ ー ト さ せ る と 、 波形の みを含む新 し い ウ ィ ン ド ウ が開 き ます。 ウ ィ ン ド ウ を フ ロ ー ト す る には、[Float Window] ボ タ ン を ク リ ッ ク し ます。 こ れで、 波形ウ ィ ン ド ウ での変更が終了 し ま し た。 波形 ウ ィ ン ド ウ は、 テ ス ト ベンチグループが展 開表示 さ れてい る 場合、図3-22の よ う に表示 さ れます。X-Ref Target - Figure 3-21
図 3-21 : 信号の表示色の変更
デザイ ンの再シ ミ ュ レーシ ョ ン
波形ウ ィ ン ド ウの設定の保存
今後の ISim シ ミ ュ レーシ ョ ンセ ッ シ ョ ンで使用で き る よ う 、現在の波形ウ ィ ン ド ウ (波形 コ ン フ ィ ギ ュ レーシ ョ ン) を保存 し ます。
波形 コ ン フ ィ ギ ュ レーシ ョ ン を保存す る には、 次の手順に従い ます。
1. 現在の波形コ ン フ ィ ギ ュ レーシ ョ ンに名前を付け る には、[File] → [Save As] を ク リ ッ ク し ます。 2. 作業中の波形 コ ン フ ィ ギ ュ レーシ ョ ン を 「tutorial_1.wcfg」 と い う 名前で保存 し ます。 こ れで、 波形 コ ン フ ィ ギ ュ レーシ ョ ンが保存 さ れま し た。 注記 : 保存し た波形ウ ィ ン ド ウ設定は、[File] → [Open] を ク リ ッ ク する と 読み込む こ と がで き ます。
デザイ ンの再シ ミ ュ レーシ ョ ン
ア ッ プデー ト し た波形 コ ン フ ィ ギ ュ レ ーシ ョ ン でデザ イ ン を も う 一度シ ミ ュ レ ーシ ョ ン し ま す。 [Run All] ボ タ ン を ク リ ッ ク し て、 シ ミ ュ レーシ ョ ン を再実行 し ます。 注記 : Tcl プ ロ ンプ ト に 「run all」 と 入力 し て も シ ミ ュ レーシ ョ ン を再実行で き ます。 シ ミ ュ レーシ ョ ンが約 13 マ イ ク ロ 秒 (μs) 間実行 さ れます。シ ミ ュ レーシ ョ ンが完了 し た ら 、[Zoom to Full View] ボ タ ン を ク リ ッ ク し て波形全体を表示 し ます。
波形 コ ン フ ィ ギ ュ レーシ ョ ンは、図3-23の よ う に表示 さ れます。
X-Ref Target - Figure 3-23
マー カ ーの使用
こ のデザ イ ン で使用 さ れ る セルフ チ ェ ッ ク テ ス ト ベンチでは、DCM のダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン機能を示す 4 つのテ ス ト が実行 さ れます。 次の手順に従い、 各テ ス ト の開始点にマーカーを追加 し ます。 1. [Console] パネルで各テ ス ト の開始シ ミ ュ レーシ ョ ン時間を確認 し ます。 た と えば、 テ ス ト 1 は図3-24に示す よ う に約 1,150ns で開始 し てい ます。2. [Edit] → [Go To] を ク リ ッ ク し 、[Go To Time] に 「1150 ns」 と 入力 し て、 メ イ ン カー ソ ル (黄色) を最初のテ ス ト ベンチテ ス ト に移動 さ せます。 3. ツールバーの [Add Marker] ボ タ ン を ク リ ッ ク し ます。 注記 : 入力し た時間の単位はナ ノ 秒ですが、波形ウ ィ ン ド ウ にはマ イ ク ロ秒で表示 さ れます。 ピ コ秒で入力する こ と も 可能です。 波形ウ ィ ン ド ウ は、 選択 し た計測単位合わせて変更 さ れます。 4. [Conlsole] パネルでテ ス ト ベンチで実行 さ れた 4 つのテ ス ト の開始時間を確認 し 、 そ こ にマー カーを追加 し ます。 波形ウ ィ ン ド ウ は、図3-26の よ う に表示 さ れます。
X-Ref Target - Figure 3-24
図 3-24 : [Console] パネル
X-Ref Target - Figure 3-25
図 3-25 : [Go To Time] フ ィ ール ド
X-Ref Target - Figure 3-26
デザイ ンの再シ ミ ュ レーシ ョ ン
カ ー ソ ルの使用
ISim の [Console] パネルには、テ ス ト 2 と テ ス ト 4 がエ ラ ーにな っ た こ と が レ ポー ト さ れてい ます (図3-27)。 テ ス ト 2 お よ びテ ス ト 4 では、 ダ イ ナ ミ ッ ク リ コ ン フ ィ ギ ュ レーシ ョ ン ポー ト (DRP) の書 き 込み サ イ ク ル が 実行 さ れ、 デ ジ タ ル周波数合成の 逓倍率お よ び分周率 が 変更 さ れ て ク ロ ッ ク 出力 (CLKFX) の新 し い周波数 (テ ス ト 2 では 120MHz、 テ ス ト 4 では 400MHz) が設定 さ れます。 ただ し 、DRP サ イ ク ルの最後で、 テ ス ト ベンチに よ り 計測 さ れた周期が予測 さ れ る 周期 と 一致 し な い こ と が判明 し ま し た。 テ ス ト 2 と テ ス ト 4 は、 周期の不一致が原因でエ ラ ー と な っ てい ます。 テ ス ト 2 のエ ラ ーを、図3-28に示 し ます。 次の手順では、ISim の メ イ ンカー ソ ル (黄色)を使用 し て、 波形ウ ィ ン ド ウ でエ ラ ーが発生 し た時 点の波形を拡大表示 し ます。 ま た、 dcm_clkfx_out信号の周期を カー ソ ルを使用 し て計測 し 、 テ ス ト ベンチの計測が正 し いか ど う かを確認 し ます。X-Ref Target - Figure 3-27
図 3-27 : [Console] パネルレポー ト : テ ス ト 2 およびテス ト 4 でエ ラ ーが発生
X-Ref Target - Figure 3-28
拡大表示
ま ず、 波形 ウ ィ ン ド ウ でテ ス ト 2 の開始点を拡大表示 し て、 出力 ク ロ ッ クdcm_clkfx_outの ス テー タ ス を確認 し ます。 カー ソ ルを使用 し て特定エ リ ア を拡大表示す る には、 次の手順に従い ます。 1. メ イ ン (黄色) カー ソ ルを ク リ ッ ク し 、 テ ス ト 2 の開始点を示すマーカー (3.461664ms のマー カー) の近 く に ド ラ ッ グ し ます。 カー ソ ルがマーカーに揃え ら れます。注記 : ツ ールバーの [Previous Marker] ボ タ ン ま た は [Next Marker] ボ タ ン を ク リ ッ ク し て、 メ イ ンカー ソ ルを マーカー間で移動する こ と も 可能です。 2. [Zoom In] ボ タ ン を ク リ ッ ク し て拡大表示 し ます。 波形ウ ィ ン ド ウ でカー ソ ルの配置 さ れたエ リ アが拡大表示 さ れます。 3. DCM テ ス ト 信号dcm_clk0_outお よ びdcm_clkfx_outの立ち上が り と 立ち下が り が確認 で き る よ う にな る ま で、 手順 2 を繰 り 返 し ます (図3-29)。
時間の計測
カー ソ ルを使用す る と 、2 つのエン ド ポ イ ン ト 間の時間を計測で き ます。 こ の機能を使用 し て、DRP サ イ ク ル が 完 了 し た 後 (drp_done 信 号 が ア サ ー ト) の dcm_clkfx_out の 周期 を 計 測 し 、 [Console] パネルに レ ポー ト さ れたテ ス ト 2 で計測 さ れた値を確認 し ます。 カー ソ ルを使用 し て時間を計測す る には、 次の手順に従い ます。 1. [Snap to Transition] ボ タ ン を オン に し 、 カー ソ ルが遷移エ ッ ジに合わせ ら れ る よ う に し ま す。 2. DRP サ イ ク ル完了後 (drp_done信号のアサー ト 後) の ク ロ ッ ク の最初の立ち上が り エ ッ ジ付 近で ク リ ッ ク し た ま ま に し ます。 メ イ ン カー ソ ルはdcm_clkfx_outの立ち上が り エ ッ ジにX-Ref Target - Figure 3-29
デザイ ンの再シ ミ ュ レーシ ョ ン 3. マ ウ スボ タ ン を押 し た ま ま、 マ ウ ス を ク ロ ッ ク の次の立ち上が り エ ッ ジに移動 し ます。 2 つ目のマーカーが表示 さ れます。 定義 さ れた 2 つのエン ド ポ イ ン ト 間の時間が波形ウ ィ ン ド ウ の下に時間デル タ と し て表示 さ れ ます (図3-30)。 dcm_clkfx_out出力 ク ロ ッ ク の 2 つの立ち上が り エ ッ ジ間の時間は 7,142ps であ る こ と が示 さ れ ま す。 つま り 、140MHz の ク ロ ッ ク 信号です。 テ ス ト 2 で予測 さ れ る 周波数は 120MHz であ る ため、 エ ラ ーにな り ます。 4. 同様の手順でテ ス ト 4 を解析 し ます。 テ ス ト ベンチで予測 さ れ る 周波数は 400MHz であ る の に対 し 、 計測 さ れ る 周波数は 300MHz であ る こ と がわか り ます。 注記 : 波形ウ ィ ン ド ウ のツールバーにあ る [Floating Ruler] ボ タ ン を ク リ ッ ク し て、波形 コ ン フ ィ ギ ュ レーシ ョ ン上に フ ロ ー ト ルー ラ ーを表示で き ます。 こ の機能は、2 つのエン ド ポ イ ン ト 間 を カー ソ ルを使用 し て計測す る と き に使用で き ます。 こ のルー ラ ー上では、 最初の時間エン ド ポ イ ン ト がゼ ロ (0ps) にな り ます。 こ の機能は、 最初のエ ン ド ポ イ ン ト に対 し て複数の時間計測を実行 す る と き に便利です。
複数の波形 コ ン フ ィ ギ ュ レーシ ョ ンの使用
画面の解像度に よ っ ては、1 つの波形ウ ィ ン ド ウ で一度にすべての信号が表示 さ れない場合があ り ます。 複数の波形ウ ィ ン ド ウ を開 く と 、 それぞれに特定の信号セ ッ ト お よ び信号のプ ロ パテ ィ を表 示で き ます。 次の手順に従い、 新 し い波形ウ ィ ン ド ウ を開 き ます。 1. ISim で [File] → [New] を ク リ ッ ク し ます。2. [New] ダ イ ア ロ グボ ッ ク ス で [Wave Configuration] を選択 し て [OK] を ク リ ッ ク し ます。 空の波形 コ ン フ ィ ギ ュ レーシ ョ ンが開 き ます。
X-Ref Target - Figure 3-30
仕切 り 、 グループ、 お よ びシ ミ ュ レーシ ョ ンオブジ ェ ク ト を新 し い波形 コ ン フ ィ ギ ュ レーシ ョ ンに 移動で き ます。 次の手順に従い、DCM お よ び DRP コ ン ト ロ ー ラ ーユニ ッ ト に関連す る すべてのシ ミ ュ レーシ ョ ンオブジ ェ ク ト を新 し い波形 ウ ィ ン ド ウ に移動 し ます。 1. Ctrl キーを押 し なが ら 新 し い波形 ウ ィ ン ド ウ に移動す る オブジ ェ ク ト (仕切 り 、 グループな ど) をハ イ ラ イ ト し ます。 2. 選択 さ れてい る 信号のいずれかを右 ク リ ッ ク し て [Cut] を ク リ ッ ク し ます。 注記 : こ のチ ュ ー ト リ ア ルでは、 信号 を 別の波形 コ ン フ ィ ギ ュ レ ーシ ョ ン に移動 し ま すが、 [Copy] コ マン ド を使用す る と 信号を コ ピーで き 、 両方の ウ ィ ン ド ウ に信号を保持で き ます。 イ ン ス タ ン ス を選択 し て波形ウ ィ ン ド ウ に ド ラ ッ グす る こ と も 可能です。 3. 新 し い波形 コ ン フ ィ ギ ュ レーシ ョ ンの タ ブを ク リ ッ ク し ます。 4. 波形 コ ン フ ィ ギ ュ レーシ ョ ンの [Name] 列を右 ク リ ッ ク し 、[Paste] を ク リ ッ ク し ます。 5. [File] → [Save As] を ク リ ッ ク し て、 こ の波形コ ン フ ィ ギ ュ レーシ ョ ン を 「tutorial_2.wcfg」 と
い う 名前で保存 し ます。
こ れで、図3-31お よ び41ページの図3-32に示す 2 つの波形ウ ィ ン ド ウ が表示 さ れます。
X-Ref Target - Figure 3-31
デザイ ンのデバ ッ グ
デザイ ンのデバ ッ グ
マーカー、カー ソ ル、および複数の波形コ ン フ ィ ギ ュ レーシ ョ ン を使用し てデザ イ ン を確認し ま し た。 次に、 ブ レー ク ポ イ ン ト を設定 し た り ソ ース コ ー ド を 1 行ずつ実行す る な ど の ISim のデバ ッ グ機 能を使用 し てデザ イ ン をデバ ッ グ し 、 エ ラ ーが発生 し た 2 つの DRP テ ス ト の問題を修正 し ます。ソ ース
コ ー ド の表示
まず、 チ ュ ー ト リ アルデザ イ ンのテ ス ト ベンチを確認 し て、 各テ ス ト が ど の よ う に実行 さ れ る かを 学びます。 次のいずれかの手順を実行 し て、チ ュ ー ト リ アルデザ イ ンのテ ス ト ベンチ (drp_demo_tb.vhd) の ソ ー ス コ ー ド を 開 き ま す。 ソ ー ス コ ー ド は、 統合 さ れ て い る テ キ ス ト エデ ィ タ ーで開 き ま す (42ページの図3-33)。 • [File] → [Open] を ク リ ッ ク し 、 フ ァ イ ルを選択 し ます。• [Instances and Processes] パネルでデザ イ ンユニ ッ ト を右 ク リ ッ ク し 、[Go to Source Code] を ク リ ッ ク し ます。
• [Objects] パネルで ソ ース フ ァ イ ルで宣言 さ れてい る シ ミ ュ レーシ ョ ンオブジ ェ ク ト のいずれ かを右 ク リ ッ ク し 、[Go to Source Code] を ク リ ッ ク し ます。
• [Source Files] パネルで ソ ース フ ァ イ ルを ダブル ク リ ッ ク し ます。
X-Ref Target - Figure 3-32
ブ レ ー ク ポ イ ン ト の使用 と ソ ース
コ ー ド の
1
行ずつの実行
ブ レー ク ポ イ ン ト は、 ソ ース コ ー ド に含まれ る ユーザー定義の停止ポ イ ン ト で、 デザ イ ン をデバ ッ グす る と き に使用 し ます。ブ レー ク ポ イ ン ト が設定 さ れてい る デザ イ ン を シ ミ ュ レーシ ョ ンす る と 、 デザ イ ンのシ ミ ュ レーシ ョ ンが各ブ レー ク ポ イ ン ト で停止 し 、 デザ イ ンの動作を確認で き ます。 シ ミ ュ レ ーシ ョ ン が停止す る と 、 テ キ ス ト エデ ィ タ ーでブ レ ー ク ポ イ ン ト が設定 さ れてい る ソ ー ス コ ー ド の横に イ ン ジケー タ ーが表示 さ れ、 ソ ース コ ー ド の特定の イ ベン ト と 波形ウ ィ ン ド ウ の結果 を比較で き ます。 ま た、ISim デバ ッ グ ツールでは、 ソ ース コ ー ド を 1 行ずつ実行で き ます。1 行ずつ ソ ース コ ー ド を進め る こ と で、 シ ミ ュ レーシ ョ ン ユニ ッ ト を 1 つずつ実行で き ます。 こ の機能は、 ソ ース コ ー ド がシ ミ ュ レーシ ョ ン結果に ど う 影響す る かを確認す る と き に便利です。 こ れ ら 2 つのデバ ッ グ機能を使用す る と 、 テ ス ト 2 で DRP サ イ ク ルが ど の よ う に実行 さ れ る かを 確認 し て、 エ ラ ーが発生 し た テ ス ト をデバ ッ グで き ます。ブ レー ク ポ イ ン ト の設定
各 DRP サ イ ク ルテ ス ト 中に実行 さ れる 最初の信号割 り 当て付近にブレー ク ポ イ ン ト を設定 し ます。 次の手順に従い、 drp_demo_tb.vhdの 185 行目にブ レー ク ポ イ ン ト を設定 し ます。 1. ブ レー ク ポ イ ン ト を追加す る ソ ース コ ー ド を開き ます。 2. ソ ース コ ー ド に含まれてい る 実行行に移動 し ます。 3. 実行行を右 ク リ ッ ク し て [Toggle Breakpoint] を ク リ ッ ク し 、 ブ レー ク ポ イ ン ト を追加 し ます (43ページの図3-35)。X-Ref Target - Figure 3-33
デザイ ンのデバ ッ グ 注記 : [Toggle Breakpoint] ボ タ ン を ク リ ッ ク し て も 、 ブ レー ク ポ イ ン ト を追加で き ます。 ブ レ ー ク ポ イ ン ト を 設定す る と 、 信号drp_multiplyに値が割 り 当て ら れ る たびに シ ミ ュ レー タ が停止 し ます。 [Console] パネルの横にあ る [Breakpoints] パネルを ク リ ッ ク す る と 、 ブ レー ク ポ イ ン ト を管理 で き ます。 リ ス ト には、 すべてのブ レー ク ポ イ ン ト が表示 さ れます。 こ の リ ス ト で次を実行で き ます。 • 選択 し たブ レー ク ポ イ ン ト ま たはすべてのブ レー ク ポ イ ン ト の削除 • 選択 し たブ レー ク ポ イ ン ト が設定 さ れてい る ソ ース コ ー ド の行に移動 (図3-36)
X-Ref Target - Figure 3-34
図 3-34 : 波形ウ ィ ン ド ウ : DCM DI_IN 入力バスの出力を確認
X-Ref Target - Figure 3-35
図 3-35 : drp_demo_tb.vhd の 185 行目にブ レー ク ポ イ ン ト を設定
X-Ref Target - Figure 3-36
ブ レ ー ク ポ イ ン ト を イ ネーブルに し た状態でのシ ミ ュ レーシ ョ ンの再実行
次に、 ブ レー ク ポ イ ン ト を イ ネーブルに し た状態でシ ミ ュ レーシ ョ ン を再実行 し ます。 ブ レー ク ポ イ ン ト 機能お よ び ソ ース コ ー ド の 1 行ずつの実行機能を使用 し てデバ ッ グす る と き は、 [Console] パネル と 波形 ウ ィ ン ド ウ が同時に確認で き る 環境が最適です。 ISim の各パネルの フ ロ ー ト 機能を使用す る か、 ま たはシ ミ ュ レー タ の各 ウ ィ ン ド ウ サ イ ズ を調整 し て、 こ れ ら が同時に確認で き る よ う に し て く だ さ い。 1. [Restart] ボ タ ン を ク リ ッ ク し て、 シ ミ ュ レーシ ョ ン を再ス タ ー ト し ます。 2. [Run All] ボ タ ン を ク リ ッ ク し てシ ミ ュ レーシ ョ ン を実行 し ます。 最初のテ ス ト の開始付近ま でシ ミ ュ レーシ ョ ンが実行 さ れます。 テ キ ス ト エデ ィ タ ーが表示 さ れ、 シ ミ ュ レー タ で実行 さ れた ソ ース コ ー ド の最後の行の横に黄色 の イ ン ジケー タ ー ( ) が表示 さ れます (図3-37)。 . [Console] パネルには、 シ ミ ュ レ ー タ が停止 し た こ と を示す メ ッ セージ と 、 シ ミ ュ レー タ に よ り 最後に実行 さ れた ソ ース コ ー ド 行が表示 さ れます。 テ ス ト 1 が正 し く 終了す る こ と は既に確認 さ れてい る ので、 こ のテ ス ト のデバ ッ グは飛ばす こ と がで き ます。 3. テ ス ト 2 に進むには、[Run All] ボ タ ン を ク リ ッ ク し ます。 シ ミ ュ レーシ ョ ンがテ ス ト 2 の開始付近で停止 し ます (図3-38)。X-Ref Target - Figure 3-37
図 3-37 : 実行 さ れた ソ ース コ ー ド の最後の行
X-Ref Target - Figure 3-38