ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660...

162
ISim ユーザー ガイド UG660 (v14.1) 2012 4 24

Transcript of ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660...

Page 1: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 2: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Xilinx is disclosing this user guide, manual, release note, and/or specification (the “Documentation”) to you solely for use in the development of designs to operate with Xilinx hardware devices.You may not reproduce, distribute, republish, download, display, post, or transmit the Documentation in any form or by any means including, but not limited to, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of 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.

© Copyright 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.PCI, PCIe and PCI Express are trademarks of PCI-SIG and used under license

本資料は英語版 (v14.1) を翻訳し た もので、 内容に相違が生じ る場合には原文を優先し ます。 資料によ っては英語版の更新に対応し ていないものがあ り ます。 日本語版は参考用と し てご使用の上、 新情報につき ま し ては、 必ず 新英語版をご参照 く ださ い。

こ の資料に関する フ ィ ード バ ッ クおよび リ ン ク などの問題につき ま し ては、 [email protected] までお知らせ く ださ い。 いただき ま し たご意見を参考に早急に対応させていただき ます。 なお、 この メ ール ア ド レ スへのお問い合わせは受け 付けてお り ません。 あ らかじめご了承 く ださ い。

改訂履歴次の表は、 こ のマニ ュ アルの改訂履歴を表示し ています。

日付 バージ ョ ン 改訂内容

2011/10/19 13.3 リ リ ースに合わせて変更

• 追加事項 :

• 改訂履歴

• 付録 「その他の リ ソース」

• イーサネ ッ ト の決定

• チュー ト リ アルの リ フ ァ レ ンス

• 更新事項 :

• 「シ ミ ュ レーシ ョ ン結果の保存」 で WCFG と WDB の説明を向上

• 文書全体を向上

• fuse コマン ド からサポー ト されるボード を削除。 追加事項 :サポー ト されるボード の

リ ス ト を含む 「サポー ト されるボード」

• ISim GUI の説明の向上 :グ ラ フ ィ ッ ク ユーザー イ ン ターフ ェ イ スの概要

2011/11/30 13.3 • 「サポー ト されるボード」 にプロパテ ィ 、 選択オプシ ョ ン、 および新しい Type 値を追加

• サポー ト される OS 情報への リ フ ァ レ ン ス を削除

2011/01/19 13.4 • 日付およびバージ ョ ン番号のみを変更

ISim ユーザー ガイ ド japan.xilinx.com UG660 (v14.1) 2012 年 4 月 24 日

Page 3: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

2012/05/08 14.1 • 3 ページの 「機能サポー ト 」 を更新 • 「シ ミ ュ レーシ ョ ン」 の章を第 3 章 「コ ンパイルおよびシ ミ ュ レーシ ョ ン」 に統合

• 52 ページの 「fuse、 vhpcomp、 vlogcomp コマン ド オプシ ョ ン」 を 1 つの表にま と

め、 コマン ドへ リ ン ク

• 第 3 章の 「`uselib (Verilog 指示子)」 を追加

• 第 3 章 「コ ンパイルおよびシ ミ ュ レーシ ョ ン」 おおよび 第 8 章 「ハード ウ ェ ア協調シミ ュ レーシ ョ ンの使用」 両方の fuse コマン ド オプシ ョ ンに -hil_zynq_ps ハード ウ ェア協調シ ミ ュ レーシ ョ ン コマン ド を追加

• 「VHDL 言語サポー ト の例外」 および 付録 B の 「Verilog 言語サポー ト の例外」 を 2 つ

の例外の表に統合

日付 バージ ョ ン 改訂内容

UG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイ ド

Page 4: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim ユーザー ガイ ド japan.xilinx.com UG660 (v14.1) 2012 年 4 月 24 日

Page 5: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

目次

改訂履歴. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

第 1 章 : ISim の概要シ ミ ュ レーシ ョ ン ラ イブラ リ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3言語サポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3機能サポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3OS サポー ト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4ISim の操作モード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4シ ミ ュ レーシ ョ ン手順の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4ISim チュー ト リ アル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

第 2 章 : ISim GUI の使用ISim GUI の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9ISim プ リ フ ァ レ ンスの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

第 3 章 : コ ンパイルおよびシ ミ ュ レーシ ョ ンデザイ ン フ ァ イルの解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36プロジェ ク ト フ ァ イルの構文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Verilog シ ミ ュ レーシ ョ ン用の定義済み XILINX_ISIM マク ロ . . . . . . . . . . . . . . . . . . . . . . . . . . . 43デザイ ンのシ ミ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44混合言語シ ミ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45タ イ ミ ング シ ミ ュ レーシ ョ ン (ゲー ト レベル シ ミ ュ レーシ ョ ン) . . . . . . . . . . . . . . . . . . . . . . . . . . 49ISim の EXE コマン ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49シ ミ ュ レーシ ョ ンの一時停止 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57シ ミ ュ レーシ ョ ン結果の保存 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58シ ミ ュ レーシ ョ ンの終了 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

第 4 章 : 波形の解析波形コ ンフ ィ ギュ レーシ ョ ンでの作業 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59波形コ ンフ ィ ギュ レーシ ョ ンのカス タマイ ズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61波形コ ンフ ィ ギュ レーシ ョ ンのナビゲーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67波形コ ンフ ィ ギュ レーシ ョ ンの印刷 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71カス タ ム カ ラーの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

第 5 章 : シ ミ ュ レーシ ョ ン結果の表示波形データベース フ ァ イル と波形コ ンフ ィ ギュ レーシ ョ ン フ ァ イル . . . . . . . . . . . . . . . . . . . . . . 73ス タテ ィ ッ ク シ ミ ュ レーシ ョ ンを開 く . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

第 6 章 : ソース レベルでのデバッ グシ ミ ュ レーシ ョ ンの 1 行ずつの実行. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77ブレーク ポ イ ン ト の使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

第 7 章 : 消費電力のア ク テ ィ ビテ ィ データの書き出し

第 8 章 : ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの使用要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

ISim ユーザー ガイ ド japan.xilinx.com 1UG660 (v14.1) 2012 年 4 月 24 日

Page 6: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

モデルの使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83制限事項. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84コ ンパイルの使用方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85fuse コマン ド ラ イ ン フ ロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85ツール フ ロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86ハイブ リ ッ ド 協調シ ミ ュ レーシ ョ ン フ ロー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88ハード ウ ェ ア ボード使用方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90ハード ウ ェ ア協調シ ミ ュ レーシ ョ ン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90ISim ハード ウ ェア協調シ ミ ュ レーシ ョ ンの Tcl コマン ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91サポー ト されるボード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92よ く 寄せられる質問 (FAQ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

第 9 章 : ISim Tcl コ マン ドシ ミ ュ レーシ ョ ン コマン ド の別名表記 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102ISim 波形ビ ューアー Tcl コマン ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Command Line Conventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Tcl コマン ド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

付録 A : ラ イ ブ ラ リ マ ッ プ フ ァ イル (xilinxisim.ini)

付録 B : VHDL および Verilog 言語サポー ト の例外VHDL 言語サポー ト の例外 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141Verilog 言語サポー ト の例外 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

付録 C : ModelSim XE から ISim への移行ModelSim XE の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147ISim の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148機能比較. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148シ ミ ュ レーシ ョ ン プロセス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

付録 D : その他のリ ソースザイ リ ン ク ス リ ソース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157ISim チュー ト リ アル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

2 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 7: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

シ ミ ュ レーシ ョ ン ラ イブ ラ リ

第 1 章

ISim の概要

ザイ リ ン ク ス ISim は、 VHDL、 Verilog、 および VHDL/Verilog 混合言語デザイ ンでビヘイ ビアー

シ ミ ュ レーシ ョ ンおよびタ イ ミ ング シ ミ ュ レーシ ョ ン を実行する HDL (ハー ド ウ ェ ア記述言語)

シ ミ ュ レータです。

こ の文書では、 ISim ツールの機能、 ISim でサポー ト される HDL 言語、 イ ン ターフ ェ イ スの使用

方法につい て説明 し ま す。 ご 使用の PDF リ ーダーで [View] → [ Toolbars] → [More Tools] で

[Previous View] および [Next View] をオンに し てお く と、 リ ン ク さ れた情報の前後へ移動がしや

す く な り ます ( メ ニ ュー表示は PDF リ ーダーによ って異な り ます)。

シ ミ ュ レーシ ョ ン ラ イブ ラ リ

ザイ リ ン ク スのシ ミ ュ レーシ ョ ン デバイ ス ラ イブラ リ はあ らかじめコ ンパイルされてお り 、ア ッ プ

デー ト のイ ン ス ト ール時に自動的に更新されます。

注記 : ISim で使用する ラ イブラ リ は、Simulation Library Compilation Wizard (Compxlib) でコ ンパ

イルし ないで く ださ い。

言語サポー ト

ISim では、 次の言語がサポー ト されています。

• VHDL IEEE-STD-1076-1993

• Verilog IEEE-STD-1364-2001

• Standard Delay Format (SDF) バージ ョ ン 2.1

• VITAL-2000

機能サポー ト

ISim では、 次の機能がサポー ト されています。

• イ ン ク リ メ ン タル コ ンパイル

• ソース コード のデバッ グ

• SDF のア ノ テーシ ョ ン

• VCD の生成

• SAIF を使用し た消費電力解析および 適化

• ハード IP ブロ ッ ク (MGT、 PPC、 PCIe® など) のサポー ト

• マルチス レ ッ ド コ ンパイル

• ハード ウ ェ ア協調シ ミ ュ レーシ ョ ン (HWCoSim)

• 混合 VHDL/Verilog

• メ モ リ エレ メ ン ト の表示およびデバッ グ用の Memory Editor

• 1 ク リ ッ ク でシ ミ ュ レーシ ョ ンの再コ ンパイルおよび再起動

ISim ユーザー ガイ ド japan.xilinx.com 3UG660 (v14.1) 2012 年 4 月 24 日

Page 8: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 1 章 : ISim の概要

• 1 ク リ ッ ク で簡単にコ ンパイルおよびシ ミ ュ レーシ ョ ン

• ビル ト イ ン ザイ リ ン ク ス シ ミ ュ レーシ ョ ン ラ イブラ リ

OS サポー ト

サポー ト される OS および 新の リ リ ースの変更点については、 『ISE Design Suite : リ リ ース ノ ー

ト ガ イ ド』 (UG631) を参照し て く ださい。 この文書への リ ン クは、 付録 D 「その他の リ ソース」 に

も記載されています。

ISim の操作モー ド

ISim には次の 2 つの操作モード があ り ます。

• グ ラ フ ィ カル ユーザー イ ン ターフ ェ イ ス モード (GUI) シ ミ ュ レーシ ョ ン データ をグ ラ フ ィ カル表示でき ます。シ ミ ュ レーシ ョ ンの実行およびデータ

の検証、 デバ ッ グには、 メ ニ ュー コマン ド、 文脈依存コ マン ド、 およびツールバー ボ タ ンを

使用し ます。 グ ラ フ ィ カル ユーザー イ ン ターフ ェ イ スでの作業の詳細は、 第 2 章 「ISim GUI の使用」 を参照し て く ださ い。

• コマン ド ラ イ ン モード GUI と の対話はあ り ません。 コマン ド は、 コマン ド プロ ンプ ト から実行されます。 シ ミ ュ レー

シ ョ ン実行フ ァ イルが実行される と、 データ を検証、 デバ ッ グする シ ミ ュ レーシ ョ ンTcl コ マ

ン ド を入力するTcl プロ ンプ ト が開き ます。

シ ミ ュ レーシ ョ ン実行フ ァ イルに -tclbatch <file_name> オプシ ョ ンを指定する と、 シ

ミ ュ レーシ ョ ンが開始された後に Tcl コマン ド のセ ッ ト を実行でき ます。 完了後にシ ミ ュ レー

シ ョ ンを停止するには、 後の Tcl コ マン ド で停止する よ う に指定し てお く 必要があ り ます。

詳細は、 第 3 章 「コ ンパイルおよびシ ミ ュ レーシ ョ ン」 を参照し て く だ さい。

シ ミ ュ レーシ ョ ン手順の概要

ISim でデザイ ンをシ ミ ュ レーシ ョ ンする手順は、 次の とお り です。

• 手順 1 : フ ァ イルの準備と ラ イブラ リ のマ ッ プ

• 手順 2 : デザイ ンの解析と エラ ボレーシ ョ ン

• 手順 3 : デザイ ンのシ ミ ュ レーシ ョ ン

• 手順 4 : デザイ ンの検証

• 手順 5 : デザイ ンのデバッ グ

手順 1 : フ ァ イルの準備と ラ イブ ラ リのマ ッ プ

ISim でシ ミ ュ レーシ ョ ンを実行するには、 次のフ ァ イルが必要です。

• ステ ィ ミ ュ ラ ス フ ァ イルを含むデザイ ン フ ァ イル

• ユーザー ラ イブラ リ

• その他データ フ ァ イル

4 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 9: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

シ ミ ュ レーシ ョ ン手順の概要

ステ ィ ミ ュ ラ ス フ ァ イル

HDL ベースのテス ト ベンチを ステ ィ ミ ュ ラ ス フ ァ イル と し て含めます。 次のいずれかの方法を使

用し てテス ト ベンチを作成、 編集し ます。

• テキ ス ト エデ ィ ター : 任意のテキ ス ト エデ ィ ターで HDL テス ト ベンチを作成、 編集し ます。

• 言語テンプレー ト : ISE ツールに含まれている テンプレー ト を使用し てフ ァ イルに内容を含めます。 詳細は、 ISE ヘルプの 「言語テンプレー ト の使用」 を参照し て く ださ い。

• サード パーテ ィ ツール : 任意のベンダー ツールで HDL テス ト ベンチを作成、 編集し ます。

ユーザー ラ イ ブ ラ リ

ISim を起動する と きに使用するユーザーモード に従って、次の2 つのユーザーラ イブラ リ 追加方法

があ り ます。

• Project Navigator から起動する場合は、 ISE ツールでユーザーラ イブラ リ を定義し ます。 詳細

は、 ISE ヘルプの 「VHDL ラ イブラ リ の使用」 を参照し て く だ さい。

• ISim を ス タ ン ド ア ロ ンで使用する場合は、対話型コマン ド モード と非対話型モード の両方でラ

イ ブラ リ マ ッ プ フ ァ イルを設定し ます (ユーザーの論理/物理ラ イブ ラ リ を指定する方法は付

録 A 「ラ イブラ リ マ ッ プ フ ァ イル (xilinxisim.ini)」 を参照し て く ださい)。

• PlanAhead™ ツールからISim を起動する と きは、 ツールでユーザーラ イブラ リ を定義し ます。

詳細は、 付録 D 「その他の リ ソース」 に リ ン ク が記載さ れている 『PlanAhead ユーザー ガ イ

ド』 (UG632) を参照し て く ださ い。

手順 2 : デザイ ンの解析と エラボレーシ ョ ン

シ ミ ュ レーシ ョ ンの実行前に、 ISim ではコー ド を 1 つまたは複数の ラ イブ ラ リ に解析し て、 デザ

イ ンが依存するデザイ ン コ ンポーネン ト をエラ ボレーシ ョ ンする必要があ り ます。 こ の手順では、

シ ミ ュ レーシ ョ ン実行フ ァ イルが生成されます。

グラ フ ィ カル ユーザー イ ン ターフ ェ イス モー ド

ISE またはPlanAhead か ら ISim を起動する と、 ISim のグ ラ フ ィ カル ユーザー イ ン ターフ ェ イ ス

(GUI) が起動し、 デザイ ンが解析され、 デザイ ン コ ンポーネン ト がエラ ボレーシ ョ ン されます。 詳

細は、 手順 3 : デザイ ンのシ ミ ュ レーシ ョ ンの 「ISE からのシ ミ ュ レーシ ョ ン」 または 『PlanAhead ユーザーガイ ド』 (UG632) を参照し て く ださ い。 デザイ ンが解析され、 次のセク シ ョ ンで示すよ う

にコマン ド ラ イ ンから手動でデザイ ンがエラ ボレーシ ョ ン されます。生成し たシ ミ ュ レーシ ョ ン実

行フ ァ イルを -gui オプシ ョ ンを使用し て実行し、グ ラ フ ィ カル ユーザー イ ン ターフ ェ イ ス を起動

し ます。

非対話型コ マン ド ラ イ ン モー ド

非対話型コマン ド ラ イ ン モード には、 次の 2 つの手順があ り ます。

1. プロ ジェ ク ト フ ァ イルを作成し ます。 詳細は、 43 ページの 「プロジェ ク ト フ ァ イルの構文」 を

参照し て く ださ い。

2. fuse コマン ド を使用し ます。 詳細は、 38 ページの 「fuse の実行」 を参照し て く ださ い。

ISim ユーザー ガイ ド japan.xilinx.com 5UG660 (v14.1) 2012 年 4 月 24 日

Page 10: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 1 章 : ISim の概要

手順 3 : デザイ ンのシ ミ ュ レーシ ョ ン

デザイ ンのコ ンパイルおよびエラ ボレーシ ョ ンが完了し た ら、 シ ミ ュ レーシ ョ ン実行フ ァ イルを実

行し て、 デザイ ンをシ ミ ュ レーシ ョ ン し ます。 ISim を読み取 り 専用モー ド で実行する方法の詳細

は、 第 5 章の 「ス タ テ ィ ッ ク シ ミ ュ レーシ ョ ンを開 く 」 を参照し て く ださ い。

コ マン ド ラ イ ンからの GUI モー ド シ ミ ュ レーシ ョ ン

シ ミ ュ レーシ ョ ン実行フ ァ イル (x.exe (デフ ォル ト ) またはユーザー指定の名前) を生成する と、

コ マン ド ラ イ ンで-gui オプシ ョ ン を使用し、 my_sim.exe -gui のよ う に指定し てシ ミ ュ レー

シ ョ ン実行フ ァ イルを実行でき ます。 こ のコマン ド を実行する と、 GUI が起動し ます。 こ のシ ミ ュ

レーシ ョ ン実行フ ァ イル コマン ド ではシ ミ ュ レーシ ョ ンは開始されません。シ ミ ュ レーシ ョ ンを開

始するには44 ページの 「デザイ ンのシ ミ ュ レーシ ョ ン」 で説明されている [Run] シ ミ ュ レーシ ョ ン

コマン ド のいずれかを使用し ます。

こ の後、 波形コ ンフ ィ ギュ レーシ ョ ンに信号を追加でき ます。 詳細は、 59 ページの 「波形コ ンフ ィ

ギュ レーシ ョ ンでの作業」 を参照し て く ださ い。

ま た、 オプシ ョ ンでシ ミ ュ レーシ ョ ン実行フ ァ イルを実行し て GUI を起動し、 -tclbatch オプ

シ ョ ンを使用し て Tcl フ ァ イルでシ ミ ュ レーシ ョ ンを実行する こ と もでき ます。次は、その例です。

my_sim.exe -gui -tclbatch my_sim.tcl

my_sim.tcl フ ァ イルの 上位にすべての信号を追加する wave add コマン ド を使用する と、 GUI の起動時に自動的に信号を ト レース し て表示する こ と ができ ます。

ISE からのシ ミ ュ レーシ ョ ン

解析、エラ ボレーシ ョ ン、およびシ ミ ュ レーシ ョ ン実行コマン ド のすべては、ISE または PlanAhead で次のいずれかのプロセス を実行する と バッ ク グ ラ ウ ン ド で実行されます。

• [Simulate Behavioral Model]

• [Simulate Post-Place & Route Model]

これらの プロセスでは GUI が起動し て、 デフ ォル ト で 上位の信号が ト レース されます。

オプシ ョ ンで、 カ ス タ ム Tcl フ ァ イルを指定し て、 GUI の起動時に ト レースする信号を制御する こ

と もでき ます。

シ ミ ュ レーシ ョ ンは ISE のシ ミ ュ レーシ ョ ン プロセス プロパテ ィ の [Simulation Run Time] で指

定された期間実行されます。 詳細は、 ISE ヘルプの 「シ ミ ュ レーシ ョ ン プロパテ ィ 」 を参照し て く

ださ い。

シ ミ ュ レーシ ョ ンの時間を追加するには、 44 ページの 「デザイ ンのシ ミ ュ レーシ ョ ン」 で説明され

ている [Run] シ ミ ュ レーシ ョ ン コマン ド のいずれかを使用し ます。

非対話型コ マン ド ラ イ ン モー ド

my_sim.exe などのシ ミ ュ レーシ ョ ン実行フ ァ イルを実行し ます。 Tcl プロ ンプ ト で run コマン ド

を入力し ます。

また、 -tclbatch オプシ ョ ンを使用し てシ ミ ュ レーシ ョ ン実行フ ァ イル を Tcl フ ァ イル と共に実

行する こ と もでき ます。 た と えば、 「my_sim.exe -tclbatch my_sim.tcl」 と入力し ます。

こ の手順が正し く 実行された こ と を確認し ます。 問題があった場合は、 エラー メ ッ セージの確認の

ロ グ フ ァ イルの確認および手順 5 : デザイ ンのデバッ グを参照し て く だ さい。

6 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 11: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

シ ミ ュ レーシ ョ ン手順の概要

手順 4 : デザイ ンの検証

デザイ ンのシ ミ ュ レーシ ョ ンが完了し た ら、 デザイ ン仕様が満た される よ う にデザイ ンをデバッ グ

し ます。

シ ミ ュ レーシ ョ ン結果の検証は、 次の方法で実行でき ます。

• 波形ウ ィ ン ド ウの信号の動作を確認し ます。

• [Console] パネルまたは Tcl プロ ンプ ト で結果を確認し ます。

デバッ グ段階では、 次の操作を実行でき ます。

• 結果を保存し ます。 詳細は58 ページの 「シ ミ ュ レーシ ョ ン結果の保存」 を参照し て く ださ い。

• シ ミ ュ レーシ ョ ン結果を読み取 り 専用ス タ テ ィ ッ ク シ ミ ュ レーターで表示および検証し ます。

詳細は、 第 5 章の 「ス タ テ ィ ッ ク シ ミ ュ レーシ ョ ンを開 く 」 を参照し て く ださ い。

手順 5 : デザイ ンのデバッ グ

問題が見つかった場合は、デバッ グによ り 原因 と その解決方法を見つける必要があ り ます。 ISim で

は、 多 く の方法でデザイ ンをデバッ グでき ます。 デザイ ンをデバッ グするには、 エラー メ ッ セージ

と ロ グ フ ァ イルを まず確認する必要があ り ます。

エ ラー メ ッ セージの確認

まずエラー メ ッ セージを確認し てデザイ ンにエラーが含まれていないかを確認し ます。エラー

メ ッ セージは、ISE の [Console] パネルおよびロ グ フ ァ イル (次のセク シ ョ ンを参照) に表示さ

れます。 次の接頭辞で始ま るエラー メ ッ セージを確認し て く だ さい。

• HDL Compiler 解析またはス タ テ ィ ッ ク エラ ボレーシ ョ ン中にエラーが発生し た こ と を示し ます。エラー

が こ のプロセス中に発生し て正し く 実行されなかった場合は、 HDL コ ンパイ ラ で問題が

発生し た可能性があ り ます。 「fuse -v 1」 と入力し て、 問題の特定に役立つ情報を出力

し ま す。 ま た エ ラ ー メ ッ セージは、 fuse.log フ ァ イ ルお よ び ISE ソ フ ト ウ ェ ア の

[Console] タブ (ISE 統合モード ) に表示されます。

• Simulator 実行コード の生成またはシ ミ ュ レーシ ョ ン中にエラーが発生し た こ と を示し ます。詳細は、

6 ページの 「手順 3 : デザイ ンのシ ミ ュ レーシ ョ ン」 を参照し て く だ さ い。 メ ッ セージに

含まれている フ ァ イル名および行番号から問題を確認し ます。

ログ フ ァ イルの確認

ロ グ フ ァ イルを確認する と、デザイ ン エラーの原因を見つけ る際に役立ちます。次のロ グ フ ァ

イルを使用でき ます。

• fuse.log 解析およびエラ ボレーシ ョ ン プロセス中に fuse コ マン ド によ り 生成された出力を含むロ

グフ ァ イル

• isim.log シ ミ ュ レーシ ョ ン プロ セス中にシ ミ ュ レーシ ョ ン実行フ ァ イルに よ り 生成さ れた出力を

含むロ グ フ ァ イル。 こ のフ ァ イルにはデザイ ン データが含まれていないため、 ザイ リ ン

ク スのテ ク ニカル サポー ト に問題を報告し て も安全です。

ISim ユーザー ガイ ド japan.xilinx.com 7UG660 (v14.1) 2012 年 4 月 24 日

Page 12: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 1 章 : ISim の概要

• isimcrash.log ツールで予期せぬエラーまたは状況が見つかる と きに生成される ロ グ フ ァ イルで、

./isim/<simulation_executable>.sim デ ィ レ ク ト リ に生成されます。

こ のフ ァ イルをザ イ リ ン ク スに提出し てサポー ト を受けて く だ さ い。 こ のフ ァ イルにはデザイ ン

データが含まれていないため、 ザイ リ ン ク スのテ ク ニカル サポー ト に問題を報告し て も安全です。

Tcl シ ミ ュ レーシ ョ ン コ マン ドの使用

一部のシ ミ ュ レーシ ョ ン コマン ド は、 デバッ グに役立ちます。 これらのコマン ド は、 Tcl プロ ンプ

ト または ISim イ ン ターフ ェ イ スの [Console] パネルで実行でき ます。

• isim ptrace on

• isim ltrace on

• dump

• show

• isim force

• bp

• onerror

デバッ グ ス ト ラ テジについては、 第 6 章 「ソース レベルでのデバ ッ グ」 を参照し て く だ さい。

詳細は、 第 9 章 「ISim Tcl コマン ド」 を参照し て く ださ い。

ISim チュー ト リ アル

詳細は、 次のチュー ト リ アルを参照し て く ださ い。

• 『ISim チュー ト リ アル』 (UG682) ISim を使用し たデザイ ンのシ ミ ュ レーシ ョ ンおよびデバッ グ方法が示されています。

• 『ISE ハード ウ ェ ア協調シ ミ ュ レーシ ョ ン チュー ト リ アル : 浮動小数点高速フー リ エ変換のシ

ミ ュ レーシ ョ ンの高速化』 (UG817) ISim ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンを使用し て不動小数点高速フー リ エ変換 (FFT) のシ

ミ ュ レーシ ョ ンを高速化する方法が示されています。

これらの文書への リ ン クは、 付録 D 「その他の リ ソース」 に含まれます。

8 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 13: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim GUI の概要

第 2 章

ISim GUI の使用

ISim のグ ラ フ ィ ッ ク ユーザー イ ン ターフ ェ イ ス (GUI) は、さ まざまなパネルを含む メ イ ン ウ ィ ン

ド ウ、 ワーク スペース、 ツールバー、 およびス テータ ス バーか ら構成されています。 メ イ ン ウ ィ

ン ド ウでは、 次を実行でき ます。

• シ ミ ュ レーシ ョ ン可能なデザイ ン箇所を表示

• 波形コ ンフ ィ ギュ レーシ ョ ンに信号を追加し て表示

• コマン ド を使用し てシ ミ ュ レーシ ョ ンを実行

• デザイ ンを確認し て必要に応じ てデバッ グを実行

ISim GUI の概要

ISim の GUI は、 シ ミ ュ レ ーシ ョ ン 実行 フ ァ イ ル を ISE® ツ ール、 コ マ ン ド ラ イ ン、 ま た は

PlanAhead™ ツールから実行する と起動し ます。

図 2-1 は、 ISim の GUI を示し ています。

図 2-1 : ISim の GUI

ISim ユーザー ガイ ド japan.xilinx.com 9UG660 (v14.1) 2012 年 4 月 24 日

Page 14: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 2 章 : ISim GUI の使用

ISim を閉じ るには、 [File] → [Exit] を ク リ ッ ク し ます。 閉じ る前に波形コ ンフ ィ ギュ レーシ ョ ンを

保存する こ と を尋ねるダ イ ア ロ グ ボ ッ ク スが表示されます。

表 2-1 は、 9 ページの図 2-1に示す ISim の GUI コ ンポーネン ト を リ ス ト し ています。 詳細は、 各

リ ン ク を ク リ ッ ク し て く ださ い。

注記 : ご使用の PDF リ ーダーで [View] → [ Toolbars] → [More Tools] で [Previous View] および

[Next View] をオンにし てお く と、 リ ン ク された情報の前後へ移動がしやす く な り ます ( メ ニ ュー表

示は PDF リ ーダーによ って異な り ます)。

次のセ ク シ ョ ンでは、 ISim の GUI コ ンポーネン ト についてそれぞれ説明し ます。

表 2-1 : ISim の GUI コ ンポーネン ト

# 説明

1. 「 メ ニ ューおよびツール バー : コマン ドおよび

シ ョ ー ト カ ッ ト 」

ツールで使用可能な操作のほ と んどにア ク セスでき ます。 一

部の操作は、 文脈依存 メ ニューからのみア ク セス可能です。

2. 「[ISim] ツールバー」 よ く 使用する コマン ド にア ク セスでき ます。

3. 「[Instances and Processes] パネル」

シ ミ ュ レーシ ョ ンに関連するブロ ッ ク (イ ン ス タ ン スおよび

プロセス) の階層が表示されます。

4. 「[Source Files] パネル」 デザイ ンに関連する フ ァ イルの リ ス ト が表示されます。

5. 「[Console] パネル」 シ ミ ュ レー タ で生成 さ れ る メ ッ セージが表示 さ れます。 シ

ミ ュ レーシ ョ ンの Tcl コマン ド をプロ ンプ ト に入力でき ま

す。

6. 「[Breakpoints] パネル」 デザイ ンに現在設定されているブレーク ポ イ ン ト すべてが リ

ス ト 表示されます。

7. 「[Find in Files Results] パネル」

複数のフ ァ イルから検索文字列 と一致し た結果が表示されま

す。

8. 「[Search Results] パネ

ル」検索条件 と一致する結果が表示されます。

9. 「[Objects] パネル」 [Instances and Processes] パネルで選択されているブロ ッ ク

と関連する シ ミ ュ レーシ ョ ン オブジ ェ ク ト が表示されます。

10. 「波形ウ ィ ン ド ウ」 信号およびバスの リ ス ト と その波形、仕切 り 、カーソル、また

はマーカーなどの波形オブジ ェ ク ト から構成される波形コ ン

フ ィ ギ ュ レーシ ョ ンが表示されます。波形ウ ィ ン ド ウでは、複

数の波形コ ンフ ィ ギ ュ レーシ ョ ンを表示でき ます。

11. 「テキ ス ト エデ ィ ター

ウ ィ ン ド ウ」読み取 り 専用のハー ド ウ ェ ア記述言語 (HDL) フ ァ イルを表

示し ます。

12. ステータ ス バー カーソルが配置されている メ ニ ュー コマン ド またはツール

バー ボ タ ンの簡単な説明 と シ ミ ュ レーシ ョ ン時間が表示さ

れます。

10 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 15: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim GUI の概要

メ ニューおよびツール バー : コ マン ド およびシ ョ ー ト カ ッ ト ISim の メ イ ン ウ ィ ン ド ウには、 よ く 使用される メ イ ン メ ニュー オプシ ョ ンが実行でき る さ まざ ま

なツールバーが含まれます。

メ イ ン メ ニューからは、 メ ニュー カテゴ リ に該当する コマン ド オプシ ョ ンが さ らに実行でき ます。

メ イ ン ウ ィ ン ド ウのツールバー ア イ コ ンは、 ユーザー イ ン ターフ ェ イ スの上部に配置されていま

す。

[View] → [Toolbars] → [<toolbar_name>] を ク リ ッ クする と、 ツールバーの表示/非表示を切 り

替え る こ と ができ ます。

[File] ツールバー

標準ツールバーを使用する と、 頻繁に使用する [File] メ ニ ュー コ マン ド に簡単にア ク セスでき ま

す。

[File] メ ニューおよび標準ツールバーには、 次のオプシ ョ ンがあ り ます。

• [New] [New] ダ イ ア ロ グ ボ ッ ク ス を開き、 作成する フ ァ イルの種類を選択し ます。 作成でき るのは、

テキ ス ト 、 回路図、 またはシンボル フ ァ イルです。

• [Open] [Open] ダ イ ア ロ グボ ッ ク ス を開き、デ ィ レ ク ト リ を検索し てフ ァ イルを選択し ます。 フ ァ イル

は、 適切なアプ リ ケーシ ョ ンで開き ます。

• [Save] 作業中のフ ァ イルを以前に保存し たフ ァ イルに上書き保存し ます。 以前にフ ァ イルを保存し て

いない場合、 [Save As] ダ イ ア ロ グ ボ ッ ク スが開き、 作業中のフ ァ イルを保存でき ます。

• [Save All] 保存の必要なフ ァ イルがすべて保存されます。

• [Print] [印刷] ダ イ ア ロ グボ ッ ク ス を開き、 作業中のフ ァ イルを印刷し ます。

[Edit] ツールバー

[Edit] ツールバーを使用する と、頻繁に使用する [Edit] メ ニュー コマン ド に簡単にア ク セスでき ま

す。

• 使用でき る コマン ド は、 [Cut]、 [Copy]、 [Paste]、 [Delete]、 [Undo]、 [Redo]、 [Find]、 [Find in File] です。

[View] ツールバー

[View] ツールバーを使用する と、頻繁に使用する [View] メ ニュー コマン ド に簡単にア ク セスでき

ます。

[View] ツールバーのボタ ンは、 次の とお り です。

• [Zoom In]、 [Zoom Out]、 [Set View for all content to be visible]、 [Zoom to Cursors] などがあ

り ます。

ISim ユーザー ガイ ド japan.xilinx.com 11UG660 (v14.1) 2012 年 4 月 24 日

Page 16: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 2 章 : ISim GUI の使用

• [Refresh] ボタ ンを ク リ ッ クする と、 フ ァ イルの表示が更新されます。

[View] メ ニ ューからは、 次のよ う なオプシ ョ ン も実行でき ます。

• [Panel] [Search Results]、 [Find in Files Results]、 [Breakpoints]、 [Compilation Log]、 [Source Files]、

[Memory]、[Objects]、[Instances and Processes]、[Console] などのチェ ッ ク ボ ッ ク ス オプシ ョ

ンを含むダ イ ア ロ グ ボ ッ ク スが開き ます。

• [Toolbars] ツールバーの表示/非表示を切 り 替えます。

• ステータ スバーの表示は [Status Bar] チェ ッ ク ボ ッ ク スで切 り 替え る こ と ができ ます。

[ISim] ツールバー

[ISim] ツールバーを使用する と、 頻繁に使用する ISim コマン ド に簡単にア ク セスでき ます。

表 2-2 は、 [ISim] ツールバーのボタ ンについて説明し ています。

表 2-2 : [ISim] ツールバーのボタ ン

ボタ ン 説明

カーソルの現在位置の左側にあ る一番近いマーカーに移動し ます。

カーソルの現在位置の右側にあ る一番近いマーカーに移動し ます。

波形のカーソルの位置にマーカーを追加し ます。

シ ミ ュ レーシ ョ ン時間を 0 に リ セ ッ ト し ます。

イベン ト がすべて終了するか、[Stop] コマン ド が実行されるか、またはブ

レーク ポイ ン ト に達する までシ ミ ュ レーシ ョ ンを実行し ます。

指定し た時間だけシ ミ ュ レーシ ョ ンを実行し ます。

シ ミ ュ レーシ ョ ンが実行される時間を指定し ます。

HDL ソース コード のシ ミ ュ レーシ ョ ンを 1 行ずつ実行し ます。

実行中のシ ミ ュ レーシ ョ ンを停止し ます。 Run コマン ド のいずれかを使

用する と シ ミ ュ レーシ ョ ンを再開でき ます。

12 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 17: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim GUI の概要

[Windows] ツールバー

[Window] ツールバーを使用する と、 頻繁に使用する [Window] メ ニュー コマン ド に簡単にア ク セ

スでき ます。

[Windows] ツールバーのボタ ンでは、 ウ ィ ン ド ウ を重ねた り 、 縦や横に並べた り 、 手前に表示させ

た り でき ます。

[Help] ツールバー

[Help] ツールバーを使用する と、 頻繁に使用する [Help] メ ニュー コマン ド に簡単にア ク セスでき

ます。 [Support and Services] : ザイ リ ン ク ス®のサポー ト ページがデフ ォル ト のウ ェブ ブラ ウザー

で表示されます。

[What’s This?] ヒ ン ト が表示される よ う にな り ます。ヘルプを必要とする メ ニューやツールバー ボ

タ ンの上にカーソルを置いて ク リ ッ クする と、 ヘルプが表示されます。

シ ョ ー ト カ ッ ト キー

表 2-3 は、 ISim のキーボード シ ョ ー ト カ ッ ト キーを リ ス ト し ています。

現在のシ ミ ュ レーシ ョ ンを終了し ます。 シ ミ ュ レーシ ョ ン データは開い

たま まにな り ます。

シ ミ ュ レーシ ョ ンをや り 直し ます。

表 2-2 : [ISim] ツールバーのボタ ン (Cont’d)

ボタ ン 説明

表 2-3 : シ ョ ー ト カ ッ ト キー

シ ョ ー ト カ ッ ト メ ニュー コマン ド

F1 [Help] → [Help Topics]

F3 [Edit] → [Find Next]

F5 [View] → [Run All]

F6 [View] → [Zoom Full View]

F7 [View] → [Zoom Out]

F8 [View] → [Zoom In]

F11 [Simulation] → [Step]

[Delete] [Edit] → [Delete]

Ctrl + N [File] → [New]

Ctrl + O [File] → [Open]

Ctrl + S [File] → [Save]

Ctrl + P [File] → [Print]

ISim ユーザー ガイ ド japan.xilinx.com 13UG660 (v14.1) 2012 年 4 月 24 日

Page 18: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 2 章 : ISim GUI の使用

[Instances and Processes] パネル

[Instances and Processes] パネルには波形ウ ィ ン ド ウの波形コ ン フ ィ ギ ュ レーシ ョ ン と 関連するブ

ロ ッ ク (イ ン ス タ ン スおよびプ ロセス) の階層が表示さ れます。 イ ン ス タ ンシエー ト されてエラ ボ

レー ト されたエンテ ィ テ ィ およびモジュールがツ リ ー構造で表示されます。

こ のパネルには、 次の列が含まれます。

• [Instance and Process Name] イ ン ス タ ン ス、 プロセス、 およびス タ テ ィ ッ ク タ ス ク /関数のボ タ ンがデザイ ンのブロ ッ ク階

層を示すツ リ ー構造

• [Design Unit] 1 列目のイ ンス タ ンス、ス タ テ ィ ッ ク タ ス ク /関数、またはプロセスに対応するデザイ ン ユニ ッ

ト の名前 (Verilog モジュールまたは VHDL エンテ ィ テ ィ (アーキテ クチャ ))

• [Block Type] イ ン ス タ ン ス、 ス タ テ ィ ッ ク タ ス ク、 関数、 またはプロセス (例 : Verilog モジュール) の種類

Ctrl + Z [Edit] → [Undo]

Ctrl + Y [Edit] → [Redo]

Ctrl + X [Edit] → [Cut]

Ctrl + C [Edit] → [Copy]

Ctrl + V [Edit] → [Paste]

Ctrl + F [Edit] → [Find]

Ctrl + G [Edit] → [Go To]

Ctrl + A [Edit] → [Select All]

Ctrl + W [Add To Wave Configuration]

Ctrl + F4 [Window] → [Close]

Ctrl + Tab [Window] → [Next]

Ctrl + Shift + Tab [Window] → [Previous]

Ctrl + Home [Go To Time 0]

Ctrl + End [Go To Latest Time]

Ctrl + Shift + F5 [Restart]

Ctrl + マウ ス ホ イール 表示の拡大/縮小

Shift + マウ ス ホ イール 左側/右側の拡大表示

マウ ス ホ イール 上方向/下方向にス ク ロール

左方向の矢印 [Previous Transition]

右方向の矢印 [Next Transition]

Pause [Break]

表 2-3 : シ ョ ー ト カ ッ ト キー (Cont’d)

シ ョ ー ト カ ッ ト メ ニュー コマン ド

14 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 19: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim GUI の概要

[Instances and Processes] パネルには、 次のタブが含まれます。

• [Instance] イ ン ス タ ン ス、 プロセス、 およびス タ テ ィ ッ ク タ ス ク、 または関数がデザイ ンのブロ ッ ク階層

を示すツ リ ー構造で表示されます。

• [Memory] デザイ ン オブジェ ク ト の メ モ リ が表示されます。 詳細は、 27 ページの 「 メ モ リ エデ ィ ターの

使用」 を参照し て く ださ い。

• [Source Files] デザイ ンのソース フ ァ イルが リ ス ト されます。

15 ページの図 2-2 は、 [Instances and Processes] パネルを表示し た ものです。

デザイ ン階層ボ タ ン

表 2-4 は、 [Instances and Processes] パネルのデザイ ン階層ボタ ンを示し ています。 :

図 2-2: [Instances and Processes] パネル

表 2-4 : [Instances and Processes] パネルのボタ ン

アイ コ ン 動作

VHDL エンテ ィ テ ィ

VHDL パッ ケージ

VHDL ブロ ッ ク

VHDL プロセス

Verilog モジュール

ISim ユーザー ガイ ド japan.xilinx.com 15UG660 (v14.1) 2012 年 4 月 24 日

Page 20: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 2 章 : ISim GUI の使用

階層ボタ ンを使用する と、 次が実行でき ます。

• 階層を展開し てコ ンポーネン ト を表示するには、 矢印を ク リ ッ クするか、 または右ク リ ッ ク し

て [Expand] コマン ド を ク リ ッ ク し ます (詳細は16 ページの 「階層の展開/非展開」 を参照)。

• [Design Unit] など、 列タ イ ト ルを ク リ ッ クする と、 その列のデータ を下に情報を並び替え る こ

と ができ ます。

• パネルを非表示または復元するには、 [View] → [Panel] → [Instances and Processes] を ク リ ッ

ク し ます。

階層の展開/非展開

ネス ト されたグループのオブジェ ク ト を含むウ ィ ン ド ウ またはパネルでは、 次のいずれかの方法で

その階層を展開または非展開でき ます。

• 三角矢印のク リ ッ ク :

• 矢印を ク リ ッ ク し て階層を展開し ます。 階層は 1 度に 1 つ展開でき ます。

• 矢印を ク リ ッ ク し て階層を閉じ ます。

• メ ニ ュー コマン ド の使用 :

1. オブジェ ク ト を選択し ます。

2. [Edit] → [Wave Objects] を ク リ ッ ク し、 次のいずれかを ク リ ッ ク し ます。 - [Expand]

選択されている階層オブジェ ク ト を展開し ます。 階層は 1 度に 1 つ展開でき ます。

- [Collapse] 選択し たオブジェ ク ト の階層を非展開し ます。

• 文脈依存 メ ニ ューの使用 :

1. オブジェ ク ト を選択し ます。

2. 右ク リ ッ ク し て次のいずれかを ク リ ッ ク し ます。

Verilog タ ス ク のフ ィ ルターの切 り 替え

Verilog ブロ ッ ク のフ ィ ルターの切 り 替え

Verilog プロセスのフ ィ ルターの切 り 替え

表 2-4 : [Instances and Processes] パネルのボタ ン (Cont’d)

アイ コ ン 動作

16 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 21: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim GUI の概要

メ イ ン ウ ィ ン ド ウの整列

ウ ィ ン ド ウ、 パネル、 およびツールバーは、 次のいずれかの手順に従ってイ ン ターフ ェ イ ス内で移

動させる こ と ができ ます。

• [Window] メ ニ ュー コマン ド の使用

[Window] メ ニ ュー コマン ド は、 波形ウ ィ ン ド ウおよびテキ ス ト エデ ィ ター ウ ィ ン ド ウでの

み使用でき ます。

• ド ラ ッ グアン ド ド ロ ッ プの使用

パネルや メ イ ン ウ ィ ン ド ウのツールバーなど、 イ ン ターフ ェ イ スのその他の部分では、 ド ラ ッ

グアン ド ド ロ ッ プを使用し てオブジェ ク ト を移動でき ます。 次の手順に従います。

1. 移動させるパネルのヘッ ダーを ク リ ッ ク し てホール ド し ます。

2. パネルを新しい位置に移動し ます。

パネルが配置される場所はグレーボ ッ ク スで示されます。

3. マウ ス を放し新しい位置にパネルを配置し ます。

ウ ィ ン ド ウの非表示および復元

メ イ ン ウ ィ ン ド ウのパーツの多 く は非表示にし て後で復元でき ます。

注記 : ウ ィ ン ド ウ をデフ ォル ト の位置に復元するには、[View] → [Restore Default Layout] を ク リ ッ

ク し ます。

標準の [ 大化]、 [ 小化]、 [閉じ る] コマン ド は、 波形ウ ィ ン ド ウおよびテキ ス ト エデ ィ ター ウ ィ

ン ド ウの右上のボタ ンから実行でき ます。

こ れら のコ マン ド を使用する と、 パネルを非表示、 復元、 フ ロー ト 、 または ド ッ キングでき ます。

表 2-5 は、 ボタ ンおよびその説明を リ ス ト し ています。

表 2-5 : パネル制御ボタ ン

アイ コ ン 説明

[Toggle Slide Out] パネルを 小化表示し ます。 ウ ィ ン ド ウの端にあ るパネル名にマウ ス を移動させ

てから、 も う 一度ボタ ンを ク リ ッ クする と パネルが復元されます。

[Toggle Maximized] パネルを 大化表示し ます。 も う 一度ク リ ッ クする と、パネル サイ ズが復元され

ます。

[Toggle Floating] パネルをフ ロー ト させます。 も う 1 度ク リ ッ クする と、 元の場所に戻 り ます。

[Close] パネルを閉じ ます。パネルを復元するには、[View] → [Panels] → [(パネル名)] を

ク リ ッ ク し ます。

ISim ユーザー ガイ ド japan.xilinx.com 17UG660 (v14.1) 2012 年 4 月 24 日

Page 22: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 2 章 : ISim GUI の使用

波形ウ ィ ン ド ウ

波形ウ ィ ン ド ウには、 信号、 バス、 およびこれらの波形が表示されます。 波形ウ ィ ン ド ウの各タブ

には、 信号およびバスの リ ス ト と そのプロパテ ィ 、 仕切 り 、 カーソル、 またはマーカーなどの波形

オブジェ ク ト から構成される波形コ ンフ ィ ギュ レーシ ョ ンが表示されます。

GUI では波形コ ン フ ィ ギ ュ レーシ ョ ンの信号およびバスがシ ミ ュ レーシ ョ ン中に ト レース さ れる

ため、 波形コ ンフ ィ ギュ レーシ ョ ンはシ ミ ュ レーシ ョ ン結果を調べる と きに使用されます。 デザイ

ン階層および信号の遷移は波形コ ンフ ィ ギュ レーシ ョ ンの一部ではな く 、別のデータベース (.wdb) フ ァ イルに保存されます。

波形コ ン フ ィ ギュ レーシ ョ ン フ ァ イル (.wcfg)

波形コ ン フ ィ ギ ュ レーシ ョ ンは、 信号の リ ス ト 、 色や基数などのプロパテ ィ 、 仕切 り 、 グループ、

カーソルなどの波形オブジェ ク ト から構成されています。 波形コ ンフ ィ ギュ レーシ ョ ンはカス タマ

イ ズが可能で、 シ ミ ュ レーシ ョ ンの実行中以外の と き な らいつでも信号や波形オブジェ ク ト を追加

または削除でき ます。

初期フ ァ イ ル Default.wcfg は、 フ ァ イ ルを保存する まで保存さ れません。 波形コ ン フ ィ ギ ュ

レーシ ョ ン フ ァ イルには、 信号の リ ス ト 、 信号のプロパテ ィ および波形オブジェ ク ト が保存されま

す。

複数の波形コ ンフ ィ ギュ レーシ ョ ンを作成、 シ ミ ュ レーシ ョ ン し、 これらの波形コ ンフ ィ ギュ レー

シ ョ ンを個別に保存でき ます。

波形コ ンフ ィ ギュ レーシ ョ ンの保存方法の詳細は、 23 ページの 「波形コ ンフ ィ ギュ レーシ ョ ンの保

存」 を参照し て く ださ い。

Default.wcfg フ ァ イルは、シ ミ ュ レータ を起動し た と きに作成されます。波形コ ンフ ィ ギュ レー

シ ョ ン フ ァ イルを .wcfg フ ァ イル と し て保存するには、 フ ァ イル名を指定する必要があ り ます。

• GUI モード で ISim を終了する場合は、 [名前を付けて保存] ダ イ ア ロ グ ボ ッ ク スが表示される

のでフ ァ イル名を入力し ます。

• バッチ モード では、 ISim を終了する前に wcfg save コマン ド を使用し て Default.wcfg の

内容を保存する必要があ り ます。

ア ク テ ィ ブ ウ ィ ン ド ウ

シ ミ ュ レータ を起動する と、 初のア ク テ ィ ブ ウ ィ ン ド ウは Default.wcfg にな り ます。 ウ ィ ン

ド ウ タブを ク リ ッ クするか、 または wave add コマン ド を使用する と、 ア ク テ ィ ブなウ ィ ン ド ウ

を変更でき ます。

• [File] → [New] または [File] → [Open] を ク リ ッ クする と、 新し く 開いた波形コ ンフ ィ ギュ

レーシ ョ ン ウ ィ ン ド ウにア ク テ ィ ブ ウ ィ ン ド ウ を切 り 替え る こ と ができ ます。

• Tcl では、「wcfg new」 または 「wcfg open」 コマン ド を使用する と同様の操作を実行でき ます。

波形ウ ィ ン ド ウの信号およびバス ボ タ ン

波形ウ ィ ン ド ウの信号およびバスは、 次のデザイ ン オブジ ェ ク ト のいずれかで表現さ れ、 各オブ

ジェ ク ト にはそれぞれア イ コ ンがあ り ます。

表 2-6 は、 ISim の信号のボタ ンを リ ス ト し ています。 19 ページの表 2-7 は、 バスの信号のボタ ン

を リ ス ト し ています。

18 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 23: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim GUI の概要

表 2-7 は、 ISim のバスのボタ ンを リ ス ト し ています。

表 2-6 : ISim 信号のボタ ン

アイ コ ン 説明

入力ポー ト

出力ポー ト

入出力、 双方向ポー ト

内部信号

定数、 パラ メ ーター、 およびジェネ リ ッ ク信号

[Variable]

リ ンケージ信号 (VHDL のみ)

バッ フ ァー信号

表 2-7 : ISim のバスのボタ ン

ボタ ン 説明

入力バス

出力バス

入出力、 双方向バス

内部バス

ISim ユーザー ガイ ド japan.xilinx.com 19UG660 (v14.1) 2012 年 4 月 24 日

Page 24: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 2 章 : ISim GUI の使用

波形コ ン フ ィ ギュ レーシ ョ ンのオブジ ェ ク ト

カーソル 波形コ ン フ ィ ギ ュ レーシ ョ ンでは メ イ ン カーソル と セカンダ リ カーソルを使用し て時間を特定し

( メ イ ン カーソル)、時間を計測し ます ( メ イ ン カーソル と セカンダ リ カーソルを同時に使用)。カー

ソルは、 さ まざまなナビゲー ト 操作の焦点と し て機能し ます。

• メ イ ン カーソル

メ イ ン カーソルは波形 と交差する線で、 交差点の値が [Value] 列に表示されます。 カーソルで

はシ ミ ュ レーシ ョ ン実行中の現在のシ ミ ュ レーシ ョ ン時間が示されます。 シ ミ ュ レーシ ョ ン時

間はカーソルの上端に表示されます。 詳細は、 第 4 章の 「カーソル」 を参照し て く だ さい。

• セカンダ リ カーソル

セカンダ リ カーソ ルは点線で、 時間の範囲を識別する と きに メ イ ン カーソル と 共に使用さ れ

ます。 時間の範囲を使用する と、 その範囲を拡大表示し た り 印刷し た り でき ます。

マーカー 特定の時間に印を付けて後で参照でき る よ う にし ます。 マーカーは、 波形と交差する縦線で、 波形

と交差する点の信号値が表示されます。 マーカーの時間はマーカー上部に表示されます。 また、 複

数のマーカーを設定する と、 カーソルを前後に移動させて値の変化を解析でき ます。 詳細は、 第 4 章の 「マーカー」 を参照し て く ださ い。

マーカーの追加およびマーカーを使用し た波形値の表示

中空円/中が塗 り つぶされた円 カーソルまたはマーカーを配置または移動する と きに [Snap to Transition] ボタ ンを使用する と、信

号遷移上に厳密にカーソル/マーカーを配置でき ます。

• カーソルまたはマーカーを配置または移動する と、 中空円が表示されます。

• 1 つの遷移上を移動する と きは中が塗 り つぶされた丸が表示されます。

仕切 り

波形コ ンフ ィ ギュ レーシ ョ ンに含まれる信号を分け る と きに使用し ます。

定数、 パラ メ ーター、 およびジェネ リ ッ ク バス

変数バス

リ ンケージ バス

バッ フ ァ バス

表 2-7 : ISim のバスのボタ ン (Cont’d)

ボタ ン 説明

20 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 25: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim GUI の概要

グループ

波形コ ン フ ィ ギ ュ レーシ ョ ンに含まれ る 信号お よ びバス を関連信号セ ッ ト と し て フ ォ ル

ダーにま と め、 整理する方法です。 グループにはグループ ア イ コ ン と グループ名が表示され

ます。

グループ自体には波形データが表示されず、 展開し た と きにその内容を表示でき ます。 詳細は、 第

4 章の 「グループの追加」 を参照し て く ださい。

仮想バス 論理スカ ラーおよび配列を ま と める グループです。仮想バスには、 ア イ コ ンおよび仮想バス名

が表示されます。 仮想バスには、 バスの波形が表示されます。 仮想バスはその下に昇順で表示

される信号の波形で構成されてお り 、 1 次元配列にフ ラ ッ ト 化されます。 詳細は、 第 4 章の 「仮想

バスの追加」 を参照し て く ださ い。

波形ウ ィ ン ド ウのツールバー ボタ ン

表 2-8 は、 波形ウ ィ ン ド ウのツールバー ボタ ンについて説明し ています。

表 2-8 : 波形ウ ィ ン ド ウのツールバー ボタ ン

ボタ ン 説明

[Zoom Out] : 表示し ているオブジェ ク ト のサイ ズを縮小し ます。

[Zoom In] : 表示し ているオブジェ ク ト のサイ ズを拡大し ます。

[Zoom to Full View] : 作業ウ ィ ン ド ウでビ ュー全体を表示し ます。

[Zoom to Cursors] : 2 つのカーソルが波形の左端と右端に表示される よ う にし ま

す。 セカンダ リ カーソルがない場合は、 ズーム レベルを変更し ないま ま メ イ ン

カーソルの位置が中心に来る よ う に表示し ます。

[Go To Time 0] : メ イ ン カーソルを 0 時間に移動し ます。

[Go To Latest Time] : メ イ ン カーソルをシ ミ ュ レーシ ョ ンの 後に移動し ます。

[Go To Next Transition] : メ イ ン カーソルを次の遷移に移動し ます。

[Go To Previous Transition] : メ イ ン カーソルを 1 つ前の遷移に移動し ます。

[Add Marker] : 波形のカーソルの位置にマーカーを追加し ます。

[Previous Marker] : カーソルの現在位置の左側にあ る一番近いマーカーに移動し

ます。

ISim ユーザー ガイ ド japan.xilinx.com 21UG660 (v14.1) 2012 年 4 月 24 日

Page 26: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 2 章 : ISim GUI の使用

波形コ ン フ ィ ギュ レーシ ョ ンでの作業

作業中のセ ッ シ ョ ンで任意の数の波形コ ンフ ィ ギュ レーシ ョ ンを作成でき ます。 波形コ ンフ ィ ギュ

レーシ ョ ンには、 信号の リ ス ト 、 そのプロパテ ィ 、 および追加された波形オブジェ ク ト が保存され

ます。

波形コ ンフ ィ ギュ レーシ ョ ンを作成するには、 次を実行し ます。

1. [File] → [New] を ク リ ッ ク し ます。

[New] ダ イ ア ロ グ ボ ッ ク スが表示されます。

2. [Wave Configuration] を ク リ ッ ク し ます。

3. [OK] を ク リ ッ ク し ます。

名前の付いていない新し い波形コ ン フ ィ ギ ュ レーシ ョ ンが開き ます。 こ の波形コ ン フ ィ ギ ュ

レーシ ョ ンは、 信号を追加する まで空の状態です (詳細は、 「波形コ ンフ ィ ギュ レーシ ョ ンへの

信号の追加」 を参照)。

複数の複数コ ンフ ィ ギュ レーシ ョ ンが開いている場合は、 次のいずれかを実行し ます。

• 波形コ ンフ ィ ギュ レーシ ョ ンのタブを ク リ ッ ク し ます。

• [Window] → [Next] または [Window] → [Previous] を ク リ ッ ク し て、 波形コ ンフ ィ ギュ レー

シ ョ ンを切 り 替えます。

波形コ ン フ ィ ギュ レーシ ョ ンへの信号の追加

GUI の メ ニ ュー コマン ド またはド ラ ッ グアン ド ド ロ ッ プ手法を使用するか、または [Console] パネ

ルで Tcl (ツール コマン ド言語) コマン ド を入力する と、波形ウ ィ ン ド ウにデザイ ンの信号を表示で

き ます。

注記 : 波形コ ンフ ィ ギュ レーシ ョ ンの作成や信号の追加などの波形コ ンフ ィ ギュ レーシ ョ ンへの変

更は、WCFG フ ァ イルを保存する までは一時的に変更されている状態です。詳細は、「波形コ ンフ ィ

ギュ レーシ ョ ン と WCFG フ ァ イル」 を参照し て く ださ い。

GUI からの信号の追加

1. [Instances and Processes] パネルでデザイ ン階層を展開し てア イ テムを選択し ます。

選択し た イ ン ス タ ン ス またはプロセスに対応するオブジェ ク ト が [Objects] パネルに表示され

ます。

[Previous Marker] : カーソルの現在位置の右側にあ る一番近いマーカーに移動し

ます。

[Swap Cursors] : メ イ ン カーソル と セカンダ リ カーソルが設定されている と きに

こ の 2 つを ス ワ ッ プし ます。

[Snap to Transition] : 遷移に近いエ リ アにカーソルを配置し た と きに、カーソルを

遷移に移動し ます。 こ のモード はオン、 オフに切 り 替え る こ と ができ ます。

[Floating Ruler] : フ ロー ト ルーラーは波形ウ ィ ン ド ウの任意の位置に移動可能

で、 表示/非表示を切 り 替え る こ と ができ ます。

表 2-8 : 波形ウ ィ ン ド ウのツールバー ボタ ン (Cont’d)

ボタ ン 説明

22 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 27: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim GUI の概要

2. [Objects] パネルでオブジェ ク ト を選択し ます。

3. 次のいずれかの方法を使用し てオブジェ ク ト を波形コ ンフ ィ ギュ レーシ ョ ンに追加し ます。

• 右ク リ ッ ク し て [Add to Wave Window] を ク リ ッ ク し ます。

• [Objects] パネルから オブジェ ク ト を波形ウ ィ ン ド ウの [Name] 列に ド ラ ッ グアン ド ド

ロ ッ プし ます。

• [Console] パネルで 「wave add」 コマン ド を実行し ます。

Tcl を使用し た信号の追加

• オプシ ョ ンですが [Instances and Processes] パネルおよび [Objects] パネルでデザイ ン階層を

ナビゲー ト する か、 または [Console] パネルで 「scope」 コ マン ド を入力し て、 追加する オブ

ジェ ク ト を識別し ます。

• [Console] パネルで 「wave add」 コマン ド を使用し て個別のオブジェ ク ト またはオブジェ ク ト

グループを追加し ます。

波形コ ン フ ィ ギュ レーシ ョ ン と WCFG フ ァ イル

波形コ ン フ ィ ギ ュ レーシ ョ ン と .wcfg フ ァ イ ルは両方 と も波形 リ ス ト のカ ス タ マ イ ズを指し ます

が、 これら 2 つには概念的な違いがあ り ます。

• 波形コ ンフ ィ ギュ レーシ ョ ンは、 メ モ リ に読み込んで作業する ものです。

• 波形コ ンフ ィ ギュ レーシ ョ ンには名前を付け る こ と もでき ますが、 名前を付けないま まに

し てお く こ と も でき ます。 名前は、 波形コ ン フ ィ ギ ュ レーシ ョ ン ウ ィ ン ド ウ タブに表示

されます。

• GUI から Tcl コマン ド を入力し て波形コ ンフ ィ ギュ レーシ ョ ンを .wcfg フ ァ イルに保存

する と き、 .wcfg フ ァ イルの名前はコマン ド の引数で指定されます。

• 波形コ ンフ ィ ギュ レーシ ョ ンを .wcfg フ ァ イルから読み込むと、 波形コ ンフ ィ ギュ レー

シ ョ ンの名前は .wcfg フ ァ イルの名前にな り ます。

• .wcfg フ ァ イルは波形コ ンフ ィ ギ ュ レーシ ョ ンをデ ィ ス ク に保存し た形態を指し ます。

波形コ ン フ ィ ギュ レーシ ョ ンの保存

波形コ ンフ ィ ギュ レーシ ョ ンは保存でき ます。 複数の波形コ ンフ ィ ギュ レーシ ョ ンを開いている場

合は、 それぞれ名前を付けて保存でき ます。

波形コ ンフ ィ ギュ レーシ ョ ンを保存するには、 次の手順のいずれかを実行し ます

• [File] → [Save] を ク リ ッ ク し ます。

• Crtl+S を押し ます。

• [Save] ボ タ ンを ク リ ッ ク し ます。

注記 : 別の名前で保存する場合は [File] → [Save As] を ク リ ッ ク し ます。

オブジ ェ ク ト の検索

[Search] コマン ド を使用する とデザイ ンに含まれるオブジェ ク ト を検索でき ます。このコマン ド は、

[Instances and Processes] パネルおよび [Objects] パネルで使用でき ます。 検索では、 文字列および

オブジェ ク ト の種類を指定でき ます。

オブジェ ク ト を検索するには、 次の手順に従います。

1. [Objects] パネルまたは [Instances and Processes] パネルにカーソルを置き ます。

ISim ユーザー ガイ ド japan.xilinx.com 23UG660 (v14.1) 2012 年 4 月 24 日

Page 28: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 2 章 : ISim GUI の使用

2. 右ク リ ッ ク し て [Search] を ク リ ッ ク し ます。

3. [Search] ダ イ ア ロ グ ボ ッ ク スで、 文字列を入力し ます。 検索文字には、 アス タ リ ス ク (*) を ワ

イル ド カード と し て使用でき ます。

4. 検索するオブジェ ク ト タ イプを選択し ます。 必要な場合は、 [Match case] をオンにし ます。

5. [OK] を ク リ ッ ク し ます。

検索条件と一致し たオブジェ ク ト が [Search Results] パネルに表示されます。

HDL ソース フ ァ イルを開 く

ISim では、 HDL (ハード ウ ェア記述言語) ソース フ ァ イルを ISim Text Editor で開 く こ と ができ ま

す。

HDL ソース フ ァ イルを表示するには、 次を実行し ます。

1. [Instances and Processes] パネル、[Objects] パネル、または [Source Files] パネルでフ ァ イルを

1 つ選択し ます。

2. フ ァ イルをダブルク リ ッ クするか、 または右ク リ ッ ク し て [Go To Source] を ク リ ッ ク し ます。

オブジェ ク ト に関連する HDL ソース フ ァ イルがテキ ス ト エデ ィ ターで開き ます。

[File] → [Open] を ク リ ッ ク し てフ ァ イルを開いた場合、 フ ァ イルは書き込みモード にな り ます。

[フ ァ イルを開 く ] ダ イ ア ロ グ ボ ッ ク スで [フ ァ イルの種類] を Verilog または VHDL に変更し てか

ら フ ァ イルを指定し、 [開 く ] を ク リ ッ ク し ます。 詳細は、 26 ページの 「ソース フ ァ イルの変更」 を

参照し て く ださ い。

[Source Files] パネル

[Source Files] パネルは、 [Instances and Processes] のタブ と し て表示されます。 こ のタブを選択す

る と、 デザイ ンに関連する フ ァ イルが リ ス ト されます。 こ のフ ァ イルの リ ス ト は、 fuse コマン ド

によ り デザイ ンの解析およびエラ ボレーシ ョ ン中に供給されます。 この操作は、 GUI ではバッ ク グ

ラ ウ ン ド で実行されます。

ソース コード フ ァ イルを開 く には、 次を実行し ます。

1. リ ス ト から フ ァ イルを選択し ます。

2. [Go To Source Code] ボタ ンを ク リ ッ ク し ます。

こ のコマン ド は、右ク リ ッ ク し て [Go To Source Code] を ク リ ッ クするか、 またはフ ァ

イルをダブルク リ ッ ク し て も実行でき ます。

[Objects] パネル

[Objects] パネルでは、 [Instances and Processes] パネルで選択し た イ ン ス タ ン スおよびプロセスに

関連する シ ミ ュ レーシ ョ ン オブジェ ク ト (ポー ト 、 信号、 変数、 定数、 パラ メ ーター、 およびジェ

ネ リ ッ ク ) がすべて表示されます。

パネルの上部には [Instances and Processes] パネルで選択されている イ ン ス タ ン ス/プロセスが表示

され、 そのオブジェ ク ト および値は [Objects] パネルに表示されます。

次に、 [Objects] パネルの表の各列について説明し ます。

• [Object Name] シ ミ ュ レーシ ョ ン オブジェ ク ト 名と そのタ イプを示すシンボルが表示されます。

24 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 29: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim GUI の概要

• [Value] [Sync Time] ボ タ ンに基づき現在のシ ミ ュ レーシ ョ ン時間ま たは メ イ ン カーソ ルの場所のシ

ミ ュ レーシ ョ ン オブジェ ク ト の値を表示し ます。

• [Data Type] シ ミ ュ レーシ ョ ン オブジェ ク ト 、 ロジ ッ ク、 またはアレ イのデータ タ イプを表示し ます。

切 り 替えボタ ンは [Objects] パネルから使用でき ます。 詳細は、 表 2-9 を参照し て く ださ い。

[Show Drivers] コ マン ド の使用

[Show Driver] コ マン ド を使用する と、 信号値ま たはオブジ ェ ク ト 値での変更に関連する ド ラ イ

バーを表示でき ます。 こ のコマン ド を使用し て値の変化の原因を特定し、 回路の接続が正しいかど

う か判断し ます。 ISim では、 [Console] パネルに信号またはオブジェ ク ト の ド ラ イバーが表示され

ます。

こ のコマン ド は、 次のエ リ アでオブジェ ク ト をプローブする と きに使用でき ます。

• [Objects] パネル

• 波形ウ ィ ン ド ウ

• [Console] パネル ( 「show driver」 コマン ド )

ド ラ イバーを表示するには、 次の手順に従います。

1. オブジェ ク ト または信号を選択し ます。

2. [Edit] → [Wave Objects] → [Show Drivers] を ク リ ッ ク し ます。

表 2-9 : [Objects] パネルのツールバー ボタ ン

ボタ ン 説明

入力ポー ト のオン/オフを切 り 替えます。

出力ポー ト のオン/オフを切 り 替えます。

入出力、 双方向ポー ト のオン/オフを切 り 替えます。

内部信号のオン/オフを切 り 替えます。

定数、パラ メ ーター、ジェネ リ ッ クのオン/オフ を切 り 替えます。

変数のオン/オフを切 り 替えます。

[Sync Time] 機能をオン/オフ を切 り 替えます。

• オンの場合 [Objects] パネルの値は波形ウ ィ ン ド ウの メ イ ン カーソルの位置に基づき ます。

• オフの と きはステータ ス バーに表示されている [Sim Time] の値 (シ ミ ュ レーシ ョ ン終了時間) と同一にな り ます。

ISim ユーザー ガイ ド japan.xilinx.com 25UG660 (v14.1) 2012 年 4 月 24 日

Page 30: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 2 章 : ISim GUI の使用

[Console] パネルでは、 オブジェ ク ト または信号の ド ラ イバーが表示さ れます。 ド ラ イバーがない

場合は、 その旨を伝え る メ ッ セージが表示されます。

注記 : このコマン ド は、 [Console] パネルに 「show driver」 と入力し て も実行でき ます。

エレ メ ン ト の表示

[Objects] パネルでは、各構成オブジェ ク ト で表示する子エレ メ ン ト をあ らかじめ設定されている

大表示数のみを表示する か、 し ないかを制御でき ます。 こ の 大数は、 [Preferences] ダ イ ア ロ グ

ボ ッ ク スで変更でき ます。

子エレ メ ン ト をすべて表示するには、 次の手順に従います。

1. [Objects] パネルのオブジェ ク ト リ ス ト 内で右ク リ ッ ク し ます。

2. 右ク リ ッ ク し て [Show All Elements] を ク リ ッ ク し ます。

オブジェ ク ト 階層に表示される子エレ メ ン ト の数が表示されます。

子エレ メ ン ト の表示数を制限するには、 [Objects] パネルのオブジェ ク ト リ ス ト 内で右ク リ ッ ク し、

[Limit Elements] を ク リ ッ ク し ます。

子エレ メ ン ト に対し てあ らかじめ設定されている 大表示数を変更するには、 プ リ フ ァ レ ン ス設定

を次のよ う に設定し ます。

1. [Edit] → [Preferences] を ク リ ッ ク し ます。

2. [Preferences] ダ イ ア ロ グ ボ ッ ク スの左側ペイ ンで [ISim Simulator] を ク リ ッ ク し ます。

3. [Limit the maximum number of elements displayed to] をオンにし ます。

4. [Apply] を ク リ ッ ク し てから [OK] を ク リ ッ ク し ます。

波形ウ ィ ン ド ウでのオブジ ェ ク ト の選択

[Objects] パネルでオブジェ ク ト の信号をハイ ラ イ ト するには、 次の手順に従います。

1. [Objects] パネルでオブジェ ク ト を選択し ます。

2. 右ク リ ッ ク し て [Select in Wave Window] を ク リ ッ ク し ます。

テキス ト エデ ィ ター ウ ィ ン ド ウ

テキ ス ト エデ ィ ター ウ ィ ン ド ウ を使用する と、 下位 HDL ソース フ ァ イルを表示でき ます。

ソース フ ァ イルの変更

ソース フ ァ イルを変更するには、 次の手順に従います。

1. ISim Text Editor でソース フ ァ イルを開き ます。

2. 変更に問題がないこ と を確認し た ら、 [Re-Launch] を実行し てデザイ ンをシ ミ ュ

レーシ ョ ン し直し ます。

ISE プロ ジェ ク ト によ り 、 ソース フ ァ イルの変更が自動的に保存されます。

ブレークポイ ン ト の設定

HDL フ ァ イルの実行行にブレーク ポ イ ン ト を設定し、 第 6 章の 「ブレーク ポ イ ン ト の使用」 に記

述されている よ う に、ブレーク ポ イ ン ト が設定されている ソース コード行に到達する までコード を

継続し て実行でき ます。

注記 : ブレーク ポイ ン ト を設定でき るのは、 実行コード行のみです。

26 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 31: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim GUI の概要

メ モ リ エデ ィ ターの使用

メ モ リ エデ ィ ターでは、 デザイ ンの コ ンパイルおよびエ ラ ボレーシ ョ ンを再実行せずに、 シ ミ ュ

レーシ ョ ン中にデザイ ンの 2 次元 メ モ リ アレ イの内容を検索、 変更でき ます。 メ モ リ オブジェ ク

ト は、 [Memory] タブ、 [Objects] パネル、 および [Search Results] タブの 3 箇所に表示されます。

メ モ リ エデ ィ ターを開 く には、 次のいずれかの手順に従います。

• デザイ ンの 2 次元アレ イのロジ ッ ク タ イプすべてを含む [Memory] タブで、 メ モ リ エデ ィ

ターに表示する メ モ リ をダブルク リ ッ ク し ます。

• [Objects] パネルで 2 次元アレ イのロ ジ ッ ク タ イプを右ク リ ッ ク し て、 [Memory Editor] を ク

リ ッ ク し ます。

• [Instance and Processes] パネルで メ モ リ 名を検索し ます。 検索結果が [Search Results] パネル

に表示されるので、 該当する メ モ リ を右ク リ ッ ク し て[Memory Editor] を ク リ ッ ク し ます。

注記 : 2 次元アレ イ以外のロ ジ ッ クのオブジェ ク ト では、[Memory Editor] メ ニ ューは使用できず淡

色表示されます。

メ モ リ エデ ィ ターには、 次のフ ィ ール ド が表示されます。

• [Address] 表示されている メ モ リ の特定のロ ケーシ ョ ンに移動し ます。

• [Columns] 各行に表示するエレ メ ン ト 数を選択し ます。 [auto] では、 2 のべき乗のエレ メ ン ト が表示され

ます。

• [Address Radix] メ モ リ エデ ィ ターで表示される ア ド レ スの基数を選択し ます。

• [Value Radix] メ モ リ エデ ィ ターで表示される値の基数を選択し ます。

メ モ リ エデ ィ ターは状態を保持し たま ま フ ロー ト させる こ と ができ ます。

メ モ リ エデ ィ ター内は矢印キーを使用する と ナビゲー ト でき、選択し たア イ テムの現在の位置が現

在のア ド レ ス基数に基づいてステータ ス バーに表示されます。

[Console] パネル

[Console] パネルでは、 ISim で生成される メ ッ セージ ロ グを確認し、 コ マン ド プロ ンプ ト で標準

および ISim 特有の Tcl コマン ド を入力でき ます。 [Console] パネルには、 次が表示されます。

メ ッ セージ

エ ラー、 警告、 情報 メ ッ セージなど、 ISim で生成さ れるすべての メ ッ セージが表示さ れます。 ま

た、 ISim GUI のグ ラ フ ィ カル制御から実行されたシ ミ ュ レータ コマン ド もすべて表示されます。

シ ミ ュ レーシ ョ ン コマン ド

コマン ド プロ ンプ ト では、シ ミ ュ レーシ ョ ン Tcl コマン ド を入力し た り 、[Console] パネルに dump コマン ド の出力を表示し た り する こ と ができ ます。 詳細は、 第 3 章の 「デザイ ンのシ ミ ュ レーシ ョ

ン」 を参照し て く ださ い。

[Console] パネルで右ク リ ッ クする と、 内容を管理でき る メ ニューが表示されます。

ISim ユーザー ガイ ド japan.xilinx.com 27UG660 (v14.1) 2012 年 4 月 24 日

Page 32: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 2 章 : ISim GUI の使用

[Breakpoints] パネル

ブレーク ポ イ ン ト は、 ソース コード に含まれるユーザー定義の停止ポ イ ン ト で、 ISim で使用し て

デザイ ンをデバッ グする と きに使用し ます。 [Breakpoints] パネルでは、 デザイ ンに現在設定されて

いるブレーク ポイ ン ト が リ ス ト 表示されます。 詳細は、 第 6 章の 「ブレーク ポイ ン ト の使用」 を参

照し て く ださ い。

[Breakpoints] パネルには、 ソース フ ァ イルに設定されている各ブレーク ポ イ ン ト に対し て、 フ ァ

イルの保存場所、 フ ァ イル名、 および行数が表示されます。 [Breakpoints] パネルのツールバーや文

脈依存 メ ニ ューを使用し て、 選択し たブレーク ポイ ン ト またはすべてのブレーク ポイ ン ト を削除し

た り 、 ソース コード に移動でき ます。

ブレーク ポイ ン ト を設定するには、 次のいずれかを ク リ ッ ク し ます。

• [View] → [Breakpoint] → [Toggle Breakpoint]

• [Toggle Breakpoint] ボタ ン

• HDL フ ァ イルでコード行の行番号の右側を ク リ ッ ク し ます。

• Tcl コ ン ソールに 「「bp」 <option>」 と入力し ます。

コード行を右ク リ ッ ク し て [Toggle Breakpoint] を ク リ ッ ク し て も、 同じ操作を実行でき ます。

ブレーク ポイ ン ト を挿入する と、 シ ミ ュ レーシ ョ ン ブレーク ポ イ ン ト ア イ コ ン () がコード

行の横に表示されます。

ブレーク ポイ ン ト の リ ス ト は、 [Breakpoints] パネルに表示されます。 実行行以外の行にブレーク ポ

イ ン ト を配置し て も、 追加されません。

ブレーク ポ イ ン ト を削除するには、 シ ミ ュ レーシ ョ ン ブレーク ポ イ ン ト ア イ コ ンを ク リ ッ ク し ま

す。

[Breakpoints] パネルのツールバー ボタ ン

表 2-10 は、 ブレーク ポ イ ン ト ボタ ンを示し ています。

[Search Results] パネル [Search Results] パネルには、 [Search] コ マン ド の検索条件 と 一致し た結果が表示されます。 結果

には、 オブジェ ク ト の種類のア イ コ ンおよびオブジェ ク ト の位置が表示されます。

表 2-10 : ブレークポイ ン ト ボタ ン

ボタ ン 説明

[Delete Breakpoint] : [Breakpoints] パネルで選択し た行を削除し、 HDL ソー

ス フ ァ イルから ブレーク ポイ ン ト を削除し ます。

[Delete all breakpoints] : HDL ソース フ ァ イルからブレーク ポイ ン ト をすべ

て削除し ます。

[Go To Source Code] : テキス ト エデ ィ ターで HDL ソース フ ァ イルを開きブ

レーク ポイ ン ト を示し ます。

28 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 33: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim GUI の概要

[Search Results] パネルのツールバー ボタ ン

表 2-11 は、 [Search Results] パネルのボタ ンを示し ています。

[Find in Files Results] パネル

複数のフ ァ イルから文字列を検索するには、 次の手順に従います。

[Find in Files] を使用する方法は、 次の とお り です。

表 2-11 : [Search Results] パネルのツールバー ボタ ン

ボタ ン 説明

[Clear All] : [Search Results] パネルの内容を消去し ます。

[Add To Wave Configuration] : 選択し た検索結果に関連する信号を波形ウ ィ

ン ド ウの波形コ ンフ ィ ギュ レーシ ョ ンに追加し ます。

[Go to Source Code] : テキ ス ト エデ ィ タで HDL ソース フ ァ イルを開き、 検

索対象のデザイ ン ユニ ッ ト が定義されている行を表示し ます。

[Go To Instantiation Source Code] : テキ ス ト エデ ィ ターで HDL ソース フ ァ

イルを開き、検索対象のデザイ ン ユニ ッ ト がイ ンス タ ンシエー ト されている行

を表示し ます。

[Stop Searching] : 検索を終了し ます。

表 2-12 : [Find in File] パネルのボタ ン と その動作

ボタ ン 動作

[Edit] → [Find in Files] を ク リ ッ クするか、ツールバーの [Find Text in Files] ボタ ン を ク リ ッ ク し ます。

[Find in Files] ダ イ ア ロ グ ボ ッ ク スで検索する テキス ト を入力し、 検索オプ

シ ョ ンを選択し てから [Find] を ク リ ッ ク し ます。

[Find in Files Results] パネルで、 次のいずれかの操作を実行し ます。

パネルに表示されている結果をすべて ク リ アするには、 [Clear All] ボタ ンを

ク リ ッ ク し ます。

結果に表示されている フ ァ イルを ワーク スペースに開 く には、 フ ァ イルを選

択し、 [Show Current Result] ボ タ ン を ク リ ッ ク し ます。

パネル上でフ ァ イルをダブルク リ ッ ク し て も、 同じ操作を実行でき ます。

次の結果を表示するには、 [Show Next Result] ボタ ンを ク リ ッ ク し ます。

前の結果を表示するには、[Show Previous Result] ボタ ンを ク リ ッ ク し ます。

ISim ユーザー ガイ ド japan.xilinx.com 29UG660 (v14.1) 2012 年 4 月 24 日

Page 34: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 2 章 : ISim GUI の使用

シ ミ ュ レーシ ョ ンの再起動

[Re-launch] ボ タ ン を ク リ ッ クする と、 検出さ れてい るハー ド ウ ェ ア記述言語

(HDL) の問題を修正し た後に ISim シ ミ ュ レーシ ョ ンを再実行でき ます。 また、

GUI から再コ ンパイルも実行でき ます。

コ ンパイルおよびシ ミ ュ レーシ ョ ンの再実行は完全に自動化されています。ダ イ ア ロ グ ボ ッ ク スに

表示される メ ッ セージには、問題の箇所が示されます。Project Navigator または PlanAehad ツール

か ら フ ローを起動し た場合は、 [Re-launch] でコ ンパイル時に設定されたオプシ ョ ンがすべて保持

し た状態で指定時間だけシ ミ ュ レーシ ョ ンが自動的に実行されます。

• シ ミ ュ レーシ ョ ンが正し く 再実行された場合、 エラーが発生する こ と な く シ ミ ュ レーシ ョ ンが

完了し ます。

• シ ミ ュ レーシ ョ ンが正し く 再実行されない場合、 ソース コード を コ ンパイルでき なかった原因

と なる構文エラーがダ イ ア ロ グボ ッ ク スに表示されます。 こ の メ ッ セージに含まれる リ ン ク を

ク リ ッ クする と、 エラーを含むソース コード に移動でき ます。 リ ン ク で示されたエラーを リ ス

ト されている順番に修正し、 [Re-launch] ボ タ ンを ク リ ッ ク し て再コ ンパイルし、 修正し た問

題を確認し て く ださ い。

ステ ィ ミ ュ ラスの適用

[Force Selected Signal] ダ イ ア ロ グ ボ ッ ク ス を使用する と、 VHDL 信号、 Verilog ワ イヤ、 または

Verilog レジス タに強制的に定数値を割 り 当てる こ と ができ ます。 こ のダ イ ア ロ グ ボ ッ ク スは、 信

号を選択し て右ク リ ッ ク し、 [Force Constant] を ク リ ッ クする と開き ます。 強制的に割 り 当てる と、

HDL コード で割 り 当て られた値や、 以前に適用された定数または force コマン ド値は、 新し く 割 り

当て られる値で上書き されます。 [Apply] を ク リ ッ ク し、 すべての変更を反映させます。 図 2-3 は、

[Force Selected Signal] ダ イ ア ロ グ ボ ッ ク ス を示し ています。

現在実行中の検索を停止するには、 [Stop Job] ボタ ンを ク リ ッ ク し ます。

検索結果を CSV (Comma Separated Value) フ ァ イルに保存するには、 [Save Results as a Text File] ボタ ンを ク リ ッ ク し ます。

表 2-12 : [Find in File] パネルのボタ ン と その動作 (Cont’d)

ボタ ン 動作

図 2-3: [Force Selected Signal] ダイアログ ボ ッ クス

30 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 35: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim GUI の概要

[Force Selected Signal] ダ イ ア ロ グ ボ ッ ク スのオプシ ョ ンは、 次の とお り です。

• [Signal Name] デフ ォル ト の信号名が表示されます。デフ ォル ト の信号名は、 [Objects] パネルまたは波形で選

択されている信号の完全パスで表示されます。 こ の名前は変更可能です。 不正な信号名が入力

される と、 ボ ッ ク スが赤色表示されます。

• [Value Radix] 選択されている信号の現在の基数設定が表示されます。 [Binary] (2 進数)、 [Hexadecimal] (16 進数)、 [Unsigned Decimal] (符号な し 10 進数)、 [Signed Decimal] (符号付き 10 進数)、 [Octal] (8 進数)、 および [ASCII] から選択でき ます。

• [Force to Value] [Value Radix] で定義された基数を使用し、 強制的に適用する定数値を指定し ます。

• [Starting at Time Offset] 特定の時間後に force コマン ド を開始する と きの時間を指定し ます。 デフ ォル ト の開始時間は

0 です。 時間は、 10、 10 ns などの文字列で指定でき ます。 単位な しで数字が入力された場合、

デフ ォル ト のシ ミ ュ レーシ ョ ン時間単位が使用されます。

• [Cancel after Time Offset] 特定の時間後にforce コマン ド をキ ャ ンセルする と きの時間を指定し ます。 時間は、 10、 10 ns などの文字列で指定でき ます。単位な しで数字が入力された場合、デフ ォル ト のシ ミ ュ レーシ ョ

ン時間の単位が使用されます。

ク ロ ッ ク ステ ィ ミ ュ ラ スの適用

[Force Clock] を右ク リ ッ ク し て開 く [Define Clock] ダ イ ア ロ グ ボ ッ ク ス を使用する と、 VHDL 信

号、 Verilog ワ イ ヤ、 または Verilog レジス タに強制的に別のパターン (ク ロ ッ ク ) を割 り 当て る こ

と ができ ます。 HDL コード で割 り 当て られた値や、 以前に割 り 当て られた定数または force コマン

ド の値は、 新し く 割 り 当て られる ク ロ ッ クパターンで上書き されます。 [Apply] を ク リ ッ ク し、 変

更を反映させます。

[Define Clock] ダイアログ ボ ッ クス

[Force Clock] を右ク リ ッ クする と、 [Define Clock] ダ イ ア ロ グ ボ ッ ク スが開き ます。 こ のダ イ ア

ロ グ ボ ッ ク スに含まれるオプシ ョ ンは、 次の とお り です。

• [Signal Name] デフ ォル ト の信号名は、[Objects] パネルまたは波形で選択されている信号の完全パスで表示さ

れます。この名前は変更可能です。不正な信号名が入力される と、ボ ッ ク スが赤色表示されます。

注記 : restart コマン ド を実行する と、現在適用されている isim force コマン ド がすべて

キ ャ ンセルされます。

• [Value Radix] 選択されている信号の現在の基数設定が表示されます。 [Binary] (2 進数)、 [Hexadecimal] (16 進数)、 [Unsigned Decimal] (符号な し 10 進数)、 [Signed Decimal] (符号付き 10 進数)、 [Octal] (8 進数)、 および [ASCII] から選択でき ます。

• [Leading Edge Value] ク ロ ッ ク パターンの 初のエ ッ ジを指定でき ます。 こ の値では、 [Value Radix] で定義されて

いる基数が使用されます。

• [Trailing Edge Value] ク ロ ッ ク パターンの 2 つ目のエ ッ ジを指定でき ます。 こ の値では、 [Value Radix] で定義され

ている基数が使用されます。

ISim ユーザー ガイ ド japan.xilinx.com 31UG660 (v14.1) 2012 年 4 月 24 日

Page 36: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 2 章 : ISim GUI の使用

• [Starting at Time Offset] 現在のシ ミ ュ レーシ ョ ン時間から あ る特定の時間後に force コマン ド を実行する と きの時間を

指定し ます。 デフ ォル ト の開始時間は 0 です。 時間は、 10、 10 ns などの文字列で指定でき ま

す。 単位なしで数字が入力された場合、 Tcl コマン ド 「isim get userunit」 を実行し た と きに戻

されるデフ ォル ト のユーザー単位が使用されます。

• [Cancel after Time Offset] 現在のシ ミ ュ レーシ ョ ン時間から あ る特定の時間後に force コマン ド をキ ャ ンセルする と きの

時間を指定し ます。 時間は、 10、 10 ns などの文字列で指定でき ます。 単位な しで数字が入力

された場合、 デフ ォル ト のシ ミ ュ レーシ ョ ン時間単位が使用されます。

• [Duty Cycle (%)] ク ロ ッ ク パルスがア ク テ ィ ブな状態であ る時間の割合を指定し ます。 許容値は 0 ~ 100 です。

• [Period] ク ロ ッ ク パルスの長さ を時間で指定し ます。 時間は、 10、 10 ns などの文字列で指定でき ます。

[Define Clock] ダイアログ ボ ッ クスの設定例

信号に永久的ク ロ ッ ク (100MHz) を割 り 当てる場合は、 次を設定し ます。

• [Leading Edge Value] : 1

• [Trailing Edge Value] : 0

• [Starting at Time Offset] : 0

• [Cancel after Time Offset] : 空白

• [Duty Cycle (%)] : 50

• [Period] :10 ns

特定の時間信号に ク ロ ッ ク を割 り 当て る場合 (100ns で ト グルを開始し、 1ms 後に ト グルを停止) は、 次を設定し ます。

• [Leading Edge Value] : 1

• [Trailing Edge Value] : 0

• [Starting at Time Offset] : 100 ns

• [Cancel after Time Offset] :1ms

• [Duty Cycle (%)] : 50

• [Period] : ク ロ ッ ク周期を指定

信号の ト グル値を割 り 当て る場合 (1us 間 16 進数 F と 16 進数 A 間を 50ns ご と に ト グル) する場

合は、 次を設定し ます。

• [Value Radix] : [Hexadecimal] (16 進数)

• [Leading Edge Value] : F

• [Trailing Edge Value] : A

• [Starting at Time Offset] :0

• [Cancel after Time Offset] : 1us

• [Duty Cycle (%)] : 50

• [Period] : 50 ns

32 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 37: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim プ リ フ ァ レンスの設定

ISim プ リ フ ァ レンスの設定

ISim に関するプ リ フ ァ レ ンス を表示し た り 、 変更でき ます。 プ リ フ ァ レン ス を設定するには、 次の

手順に従います。

1. [Edit] → [Preferences] を ク リ ッ ク し ます。

2. [Preferences] ダ イ ア ロ グ ボ ッ ク スの左側ペイ ンで任意のカテゴ リ を ク リ ッ ク し ます。

• 「ISE Text Editor のプ リ フ ァ レ ン ス」

• 「ISim シ ミ ュ レータのプ リ フ ァ レン ス」

3. 設定に変更を加えます。

4. [Apply] を ク リ ッ ク し、 [OK] を ク リ ッ ク し ます。

プ リ フ ァ レ ン ス設定が保存され、 ほ と んどの設定がすぐに ISim に適用されます。

ISE Text Editor のプ リ フ ァ レンス

ISE Text Editor に関連する プ リ フ ァ レ ン ス設定では、 ISim で開いてい る ハー ド ウ ェ ア記述言語

(HDL) フ ァ イルの動作のみが制御されます。プ リ フ ァ レ ン ス設定の詳細は、 ISE Text Editor ヘルプ

を参照し て く ださ い。

ISim シ ミ ュ レータのプ リ フ ァ レンス

[Preferences] ダ イ ア ロ グ ボ ッ ク スの [ Simulator] ページで設定でき ます。 こ のページを表示するに

は、 [Edit] → [Preferences] を ク リ ッ ク し て左側ペイ ンで[ISim Simulator] を ク リ ッ ク し ます。

[Draw Waveform Shadow] 波形ウ ィ ン ド ウで信号の影背景の表示/非表示を切 り 替えます。

[Limit the maximum number of elements displayed to] [Object] ウ ィ ン ド ウに表示するオブジェ ク ト の子エレ メ ン ト の制限数を設定し ます。詳細は、「エレ

メ ン ト の表示」 を参照し て く ださ い。

[Default Radix] 波形コ ンフ ィ ギュ レーシ ョ ン、 [Objects] パネル、 および [Console] パネルで表示されるデフ ォル ト

の基数値を設定し ます。 詳細は、 「デフ ォル ト の基数の変更」 を参照し て く だ さい。

[Console text font] ボタ ンの右側のボ ッ ク スに、 指定し たフ ォ ン ト の例が表示されます。 [Change] ボ タ ン を ク リ ッ ク

する と、 [Console] パネルで使用する フ ォ ン ト を指定する [Select Font] ダ イ ア ロ グ ボ ッ ク スが表示

されます。

ISim カ ラー プ リ フ ァ レンス

[Preferences] ダ イ ア ロ グ ボ ッ ク スの [Colors] ページでは、 波形の表示色を設定でき ます。 [Apply] を ク リ ッ ク し、 変更を反映させます。 カ ラー プ リ フ ァ レ ン スには、 次のよ う なオプシ ョ ンがあ り ま

す。

• [Current Color Scheme] デフ ォル ト の表示色名および作成し た表示色名が表示されます。

• [New] 新しい表示色を作成する場合はク リ ッ ク し ます。 [Current Color Scheme] ボ ッ ク スに新しい名

前を入力し、 スキーム表で色を変更し ます。

ISim ユーザー ガイ ド japan.xilinx.com 33UG660 (v14.1) 2012 年 4 月 24 日

Page 38: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 2 章 : ISim GUI の使用

• [Delete] 選択し た表示色を削除し ます。 表示色は変更する こ と もでき ます。

詳細は、 33 ページの 「ISim プ リ フ ァ レ ン スの設定」 を参照し て く ださ い。

時間フ ォーマ ッ ト のプ リ フ ァ レンス

表示される時間の表示方法は、 [Preferences] ダイ ア ロ グボ ッ ク スの [Time Format] ページでカス タ

マ イ ズ し ます。 こ のページを表示する には、 [Edit] → [Preferences] を ク リ ッ ク し て左側ペイ ンで

[Time Format] を ク リ ッ ク し ます。時間フ ォーマ ッ ト の設定は、[Waveform Window] および [Other GUI Elements] の2 つのフ ィ ール ド から設定でき ます。

[Waveform Window]

こ こ で設定し た内容が、 波形ビ ューアー ウ ィ ン ド ウ内の GUI に適用されます。 時間フ ォーマ ッ ト

には、 次のよ う なオプシ ョ ンがあ り ます。

• [Link All Waveform Time Units To Ruler] [Ruler] への変更に合わせて [Cursors/Markers] および [Measure Bubble] の単位が変更されま

す。 こ のオプシ ョ ンはデフ ォル ト でオンになっています。

• [Rulers] 波形ウ ィ ン ド ウ上部の メ イ ン ルーラーおよびフ ロー ト ルーラーに適用されます。

• [Cursors/Markers] すべてのカーソルおよびマーカーに表示される時間の値に適用されます。

• [Measure Bubbles] 波形ウ ィ ン ド ウ下部に表示される カーソル値を表示するバブルに適用されます。

[Other GUI Elements]

こ こ で設定し た内容が、 波形ビ ューアー ウ ィ ン ド ウ外の GUI に適用されます。

• [All Time Values] メ イ ン ウ ィ ン ド ウの右下に表示される現在のシ ミ ュ レーシ ョ ン時間および [Objects] パネルに

表示される時間の値に適用されます。 上記の時間フ ォーマ ッ ト では、 次のフ ィ ール ド を使用し

て表示する値の時間の単位と精度を設定でき ます。

• [Units] 時間の値の単位を選択す る ボ ッ ク ス です。 [Other GUI Elements] のデフ ォ ル ト 設定は

[Default] で、 [Waveform Window] のデフ ォル ト 設定は [Auto] です。

• [Decimal Places] 時間の値を表示する と きに使用する小数点以下の桁数を設定し ます。 デフ ォル ト 設定は、

どち らのフ ィ ール ド でも Maximum になっています。

• [Reset To Defaults] 値をデフ ォル ト 設定に戻し ます。

34 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 39: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 3 章

コ ンパイルおよびシ ミ ュ レーシ ョ ン

シ ミ ュ レーシ ョ ンは、 VHDL、 Verilog または混合言語コ ンポーネン ト に対し て実行でき ます。

• 論理シ ミ ュ レーシ ョ ンは、 デザイ ン プロセスの早期段階で実行でき ます。

• タ イ ミ ング シ ミ ュ レーシ ョ ンは、 配置配線 (PAR) 後に実行する必要があ り ます。

また、 これらの 2 タ イプのシ ミ ュ レーシ ョ ンは、 次のオプシ ョ ンで実行でき ます。

• Tcl (ツール コマン ド言語) バッチ フ ァ イルまたは Tcl コマン ド を使用し てコマン ド ラ イ ンか

ら .実行

• ISE® Design Suite または PlanAhead™ ツールから起動可能な GUI モード から実行

論理シ ミ ュ レーシ ョ ン またはタ イ ミ ング シ ミ ュ レーシ ョ ンのいずれかを コ マン ド ラ イ ンから実行

する場合は、 次の手順に従って く ださ い。

1. デザイ ン フ ァ イルの解析

2. シ ミ ュ レーシ ョ ン実行フ ァ イルの生成

3. デザイ ンのシ ミ ュ レーシ ョ ン

タ イ ミ ング シ ミ ュ レーシ ョ ンの場合は、 さ ら に手順が必要と な り ます。 詳細は、 49 ページの 「タ

イ ミ ング シ ミ ュ レーシ ョ ン (ゲー ト レベル シ ミ ュ レーシ ョ ン)」 を参照し て く ださい。

次のセ ク シ ョ ンでは、 上記の手順について説明し ます。

ISim ユーザー ガイ ド japan.xilinx.com 35UG660 (v14.1) 2012 年 4 月 24 日

Page 40: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 3 章 : コ ンパイルおよびシ ミ ュ レーシ ョ ン

デザイン フ ァ イルの解析

VHDL フ ァ イルの解析には vhpcomp、 Verilog フ ァ イルの解析には vlogcomp コマン ド を使用し

ます。

vlogcomp コマン ド

vlogcomp コ マン ド は Verilog ソース フ ァ イルを解析し、 2 進数表記の Verilog フ ァ イルを生成し

ます。 vlogcomp で生成さ れた 2 進数表記は fuse コ マン ド で使用され、 シ ミ ュ レーシ ョ ン実行

フ ァ イルが作成されます。

プロ ジェ ク ト フ ァ イルか、 コ ンパイルする Verilog フ ァ イルを指定する必要があ り ます。 いずれも

指定されていない場合は、 vlogcomp を実行する と エラーが発生し ます。 プロ ジ ェ ク ト フ ァ イル

の詳細は、 43 ページの 「プロ ジェ ク ト フ ァ イルの構文」 を参照し て く だ さい。

vlogcomp コ マン ドの構文

コマン ド の説明については、 それぞれの リ ン ク を ク リ ッ ク し て く ださ い。

注記 : ご使用の PDF リ ーダーで [View] → [ Toolbars] → [More Tools] で [Previous View] および

[Next View] をオンにし てお く と、 リ ン ク された情報の前後へ移動がしやす く な り ます ( メ ニ ュー表

示は PDF リ ーダーによ って異な り ます)。

vlogcomp [-d <macro_definition>=<value>=<value>][-f <cmd_file>][-h] [-i “<include_path>“] [-intstyle [ise | xflow | silent |default] [-initfile <sim_init_file>][[-L|-lib <search_lib>[=<lib_path>]] [-prj <prj_file>.prj][-sourcelibdir <directory_name>][-sourcelibext <file_extension>][-sourcelibfile <file_name>][-v [-verbose] <value>][-version] [<verilog_files>...][-work [<work_library>[=<library_path>] ] <filenames>...

オプシ ョ ンの説明については、 fuse、 vhpcomp、 vlogcomp コマン ド オプシ ョ ンセ ク シ ョ ンを参照

し て く ださ い。

vlogcomp コ マン ド例

Verilog フ ァ イルを 2 つ使用し、 ソース ラ イブラ リ デ ィ レ ク ト リ を指定し、 Verilog フ ァ イルの拡

張子を指定し ます。

vlogcomp tb.v fft.v -sourcelibdir ./mylib -sourcelibext .v

Verilog フ ァ イル と ソース ラ イブラ リ フ ァ イルを指定し ます。

vlogcomp dff.v -sourcelibfile ./mylib/dff_lowest.v

work デ ィ レ ク ト リ と Verilog フ ァ イルを指定し ます。

vlogcomp -work my_lib tb.v

2 つのフ ァ イルを使用し ます。

36 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 41: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

デザイン フ ァ イルの解析

vlogcomp top_testbench.v top_timesim.v

mydir/cells デ ィ レ ク ト リ に含まれる未解決のセルが検索されます。

vlogcomp -work mywork1 file1.v -sourcelibdir mydir/cells

た と えば、 file1.v で未解決の DFF および DMUX がイ ンス タ ンシエー ト される場合、 こ のコ

マン ド によ り mydir/cells デ ィ レ ク ト リ に含まれる DFF および DMUX と い う 名前のフ ァ イ

ルが検索されます。 モジ ュール DFF および DMUX は、 フ ァ イル DFF および DMUX で定義され

ます。

ソース ラ イブ ラ リのサポー ト

次に示すコマン ド の引数では、 Verilog-XL 規格と同等の ソース ラ イブラ リ がサポー ト されます。

次のコマン ド オプシ ョ ンを vlogcomp コマン ド に付けて実行し て く だ さい。

vlogcomp -sourcelibdir <library_location>

注記 : -sourcelibdir では Verilog-XL の -y オプシ ョ ンに類似し た機能が提供されます。

コマン ド ラ イ ンの ソース フ ァ イルが解析された後にモジ ュールに未解決の リ フ ァ レ ン スがあ る場

合、 こ のコマン ド でソース ラ イブラ リ が検索されます。

こ の検索中に、 vlogcomp は未解決のイ ン ス タ ンシエー ト されたデザイ ン ユニ ッ ト と指定された

-sourcelibdir デ ィ レ ク ト リ に含まれている同じ名前のフ ァ イル名を一致させよ う と し ます。

フ ァ イルが存在する場合は、 vlogcomp でそのフ ァ イルが解析されます。

vlogcomp は -sourcelibdir オプシ ョ ン を処理中に、 -sourcelibext が指定 さ れない場

合、 .v、 .h などの拡張子のフ ァ イルを無視し ます。

注記 : -sourcelibext では Verilog-XL の +libext+ オプシ ョ ンに類似し た機能が提供されま

す。 こ のコマン ド ラ イ ンの引数は、 ソース ラ イブラ リ フ ァ イルに拡張子があ る と き、

-sourcelibdir と共に使用でき ます。

例 :

vlogcomp -sourcelibdir /project/mysources tb.v fft.vvlogcomp -sourcelibdir /project/mysources tb.v fft.v -sourcelibext .v

すべての未解決のモジュールの定義を含むソース Verilog ラ イブラ リ フ ァ イルを指定する こ と もで

き ます。

例 :

-sourcelibfile ./library/lib_abc.v

ISim ユーザー ガイ ド japan.xilinx.com 37UG660 (v14.1) 2012 年 4 月 24 日

Page 42: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 3 章 : コ ンパイルおよびシ ミ ュ レーシ ョ ン

vhpcomp コ マン ド

vhpcomp コ マン ド は VHDL ソ ース フ ァ イ ルを解析し、 2 進数表記の HDL フ ァ イ ルを保存し ま

す。 vhpcomp で生成された 2 進数表記は fuse コ マン ド で使用され、 シ ミ ュ レーシ ョ ン実行フ ァ

イルが作成されます。

プロ ジェ ク ト フ ァ イルか VHDL フ ァ イルを指定し ます。 プロ ジェ ク ト フ ァ イルも VHDL フ ァ イ

ルも指定し ない場合、エラー メ ッ セージが表示されます。プロ ジェ ク ト フ ァ イルの詳細は、43 ペー

ジの 「プロ ジェ ク ト フ ァ イルの構文」 を参照し て く だ さい。

vhpcomp コ マン ドの構文

コマン ド オプシ ョ ンの説明については、 それぞれの リ ン ク を ク リ ッ ク し て く だ さい。

注記 : ご使用の PDF リ ーダーで [View] → [ Toolbars] → [More Tools] で [Previous View] および

[Next View] をオンにし てお く と、 リ ン ク された情報の前後へ移動がしやす く な り ます ( メ ニ ュー表

示は PDF リ ーダーによ って異な り ます)。

次に、 vhpcomp コマン ド の構文を示し ます。

vhpcomp [-f <cmd_file>] [-h][-i “<include_path>“] [-intstyle [ise | xflow | silent |default][-initfile <sim_init_file>][[-L|-lib <search_lib>[=<lib_path>]][-prj <prj_file>.prj][-rangecheck] [-v [-verbose] <value>][-version][<vhdl_files>...][-work [<work_library>[=<library_path>] ] <filenames>...

オプシ ョ ンの説明については、 fuse、 vhpcomp、 vlogcomp コマン ド オプシ ョ ンセ ク シ ョ ンを参照

し て く ださ い。

vhpcomp コ マン ド例

2 つのフ ァ イルを使用し ます。

vhpcomp suba.vhd subb.vhd

fuse の実行

fuse コマン ド では、 次が実行されます。

• 解析ノ ード でデザイ ンのス タ テ ィ ッ ク エラ ボレーシ ョ ンを実行

• 各モジュール イ ンス タ ンスのオブジェ ク ト コード を生成

• 生成し たオブジェ ク ト コード と シ ミ ュ レーシ ョ ン エンジン ラ イブラ リ を リ ン ク付け し て、 シ

ミ ュ レーシ ョ ン実行フ ァ イルを作成

fuse コ マン ド は、 デザイ ン を構成する各デザ イ ン ユニ ッ ト のオブジ ェ ク ト コー ド およびデータ

フ ァ イルを生成し、 こ れらのフ ァ イルを isim/<simulation_executable>.sim デ ィ レ ク ト

リ に保存し ます。

38 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 43: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

デザイン フ ァ イルの解析

注記 : isim/<simulation_executable>.sim デ ィ レ ク ト リ を削除し ないで く ださ い。 削除す

る とデザイ ンをシ ミ ュ レーシ ョ ンでき ません。

fuse コ マン ドの構文

コマン ド オプシ ョ ンの説明については、 次の各 リ ン ク を ク リ ッ ク し て く だ さい。

注記 : ご使用の PDF リ ーダーで [View] → [ Toolbars] → [More Tools] で [Previous View] および

[Next View] をオンにし てお く と、 リ ン ク された情報の前後へ移動がしやす く な り ます ( メ ニ ュー表

示は PDF リ ーダーによ って異な り ます)。 次に、 fuse コマン ド の構文を示し ます。

fuse [-d <macro_definition>=<value>=<value>][-f <cmd_file>][-generic_top "<parameter>=<value>"] [-h][-hil_zynq_ps][-hwcosim_board <arg>] [-hwcosim_clock <arg>] [-hwcosim_instance <arg>][-hwcosim_no_combinatorial_path][-hwcosim_incremental <arg>][-i “<include_path>“][-incremental] [-initfile <sim_init_file>][-intstyle [ise | xflow | silent |default][[-L|-lib <search_lib>[=<lib_path>]][-log <file_name>][-maxdeltaid <number>][-maxdelay] [-maxdesigndepth <depth>][-mindelay][-mt <value>][-nodebug] [-nolog] [-nospecify][-notimingchecks] [-o <sim_exe> ][-override_timeprecision ][-override_timeunit] [-prj <prj_file>.prj][-rangecheck] [-sdfnoerror] [-sdfnowarn] [-sdfmin]|[-sdftyp][-sdfmax] <root=file>] [-sdfroot <root_path>] [-sourcelibdir <directory_name> [-sourcelibext <file_extension>][-sourcelibfile <file_name>][-timeprecision_vhdl <time_precision>][-timescale <time_unit/time_precision>][-typdelay][-v [-verbose] <value>] [-version]

オプシ ョ ンの説明については、 fuse、 vhpcomp、 vlogcomp コマン ド オプシ ョ ンセ ク シ ョ ンを参照

し て く ださ い。

ISim ユーザー ガイ ド japan.xilinx.com 39UG660 (v14.1) 2012 年 4 月 24 日

Page 44: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 3 章 : コ ンパイルおよびシ ミ ュ レーシ ョ ン

fuse コ マン ド例

fuse コマン ド にプロ ジェ ク ト フ ァ イルおよびソース ラ イブラ リ を指定し て実行し ます。

fuse -prj test.prj test -sourcelibfile ./mylib1/lib_abc.v -sourcelibfile ./mylib1/lib_cde.v

test.prj には、 verilog work test.v が含まれます。

fuse では test.v で使用されるモジュールの -sourcelibfile オプシ ョ ンで指定し た

フ ァ イルが使用され、 モジュールが解析され、 test デザイ ンが生成されます。

test.v フ ァ イルにイ ン ス タ ンシエー ト されている <module_name> と い う 名前の未解決の

モジュールに対し、 コ ンパイ ラでは ./mylib1、 ./mylib2 デ ィ レ ク ト リ の順で modulename.v と い う 名前のフ ァ イルが検索されます。

fuse コマン ド に work.glbl オプシ ョ ンを付けて実行し ます。

fuse work.testbench work.glbl -prj design.prj -L simprims_ver -o isim.exe

注記 : タ イ ミ ング シ ミ ュ レーシ ョ ンで fuse を使用する場合、 glbl を <top_name> と し て

使用する必要があ り ます。 -o オプシ ョ ンは、 必須ではあ り ません。 使用し ない場合、 シ ミ ュ

レーシ ョ ン実行フ ァ イルの名前がデフ ォル ト 名 x.exe にな り ます。

例 :

fuse topunit work.glbl -prj <mydesign>.prj -o <my_sim>.exe

注記 : PRJ フ ァ イルに含まれる特定の行を除外するには、 "--" オプシ ョ ンを使用し ます。

Verilog 検索順

fuse コ マン ド では次の検索順で検索を実行し、 イ ン ス タ ンシエー ト さ れた Verilog デザ イ ン ユ

ニ ッ ト をバイ ン ド し ます。

1. ラ イブラ リ は、 Verilog コード の ‘uselib で指定されます。

例 :

module full_adder(c_in, c_out, a, b, sum)input c_in,a,b;output c_out,sum;wire carry1,carry2,sum1;`uselib lib = adder_libhalf_adder adder1(.a(a),.b(b),.c(carry1),.s(sum1));half_adder adder1(.a(sum1),.b(c_in),.c(carry2),.s(sum));c_out = carry1 | carry2;endmodule

2. コマン ド ラ イ ンで -lib|-L オプシ ョ ンを使用し て指定された ラ イブラ リ

3. 親デザイ ン ユニ ッ ト のラ イブラ リ

4. work ラ イブラ リ

Verilog イ ンス タ ンシエーシ ョ ン ユニ ッ ト

Verilog デザイ ンにコ ンポーネン ト がイ ン ス タ ンシエー ト されている場合、fuse コマン ド でそのコ

ンポーネン ト 名が Verilog ユニ ッ ト と し て処理され、Verilog モジュールがユーザーによ り 指定され

た順序のユニフ ァ イ ド論理ラ イブラ リ で検索されます。

• Verilog ユニ ッ ト が見つかれば、 そのユニ ッ ト にバイ ン ド され、 検索が終了し ます。

40 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 45: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

デザイン フ ァ イルの解析

• Verilog ユニ ッ ト が見つから ない場合は、 イ ン ス タ ンシエー ト されているモジュール名が

VHDL エンテ ィ テ ィ 名と し て処理され、 次のよ う に検索が続行されます。

fuse コマン ド では、 イ ン ス タ ンシエー ト されたモジュール名と同じエンテ ィ テ ィ 名がユー

ザーによ り 指定された順序のユニフ ァ イ ド論理ラ イブラ リ で検索され、 初に一致し た名前が

見つかる と、 検索を終了し ます。

• 大文字/小文字を区別し た検索が実行されない場合、 fuse コマン ド では、 拡張識別子と し て作

成された VHDL デザイ ン ユニ ッ ト 名がユーザーによ り 指定された順序のユニフ ァ イ ド論理ラ

イブラ リ で検索されます。

• 一致するユニ ッ ト が見つかる と、 そのユニ ッ ト 名が選択され、 検索は終了し ます。

注記 : 混合言語デザイ ンでは、イ ン ス タ ンシエー ト された Verilog モジュールから VHDL エンテ ィ

テ ィ に関連付け られたポー ト 名の大文字と小文字は区別されません。 defparam 文で VHDL ジェ

ネ リ ッ ク を変更する こ と はでき ないこ と にも注意し て く ださ い。

VHDL イ ンス タ ンシエーシ ョ ン ユニ ッ ト

VHDL デザイ ンにコ ンポーネン ト がイ ン ス タ ンシエー ト されている場合、 fuse コマン ド ではその

コ ンポーネン ト 名が VHDL ユニ ッ ト と判断され、 論理ラ イブラ リ work が検索されます。

• VHDL ユニ ッ ト が見つかる と、 そのユニ ッ ト にバイ ン ド され、 検索が停止し ます。

• fuse コマン ド で VHDL ユニ ッ ト が見つから なかった場合は、大文字と小文字を維持し たコ ン

ポーネン ト 名が Verilog モジ ュール名と し て処理され、 ユーザーによ り 指定された順序のユニ

フ ァ イ ド論理ラ イブラ リ で検索が続行されます。 一致する名前が見つかる と、 検索は停止し ま

す。

• 大文字/小文字を区別し た検索が実行されない場合、 fuse コマン ド では、 Verilog モジュール ( 大文字/小文字の識別あ り ) がユーザーによ り 指定された順序のユニフ ァ イ ド論理ラ イブラ リ で

検索されます。 一致するユニ ッ ト が見つかる と そのユニ ッ ト がバイ ン ド され、 検索が終了し ま

す。

`uselib (Verilog 指示子) Verilog 指示子の `uselib は ISim でサポー ト され、 ラ イブラ リ 検索順序に従って実行されます。

`uselib 構文

<uselib compiler directive> ::= `uselib [<Verilog-XL uselib directives>|<lib directive>]

<Verilog-XL uselib directives> :== dir = <library_directory> | file = <library_file> | libext = <file_extension>

<lib directive>::= <library reference> { <library reference>}

<library reference> ::= lib = <logical library name>

`uselib lib の使用規則

`uselib lib 指示子は、 Verilog-XL の `uselib 指示子と は一緒に使用でき ません。 例 :

`uselib dir=./ file=f.v lib=newlib

こ の構文は問題あ り ません。

1 つの `uselib 指示子で複数のラ イブラ リ を指定する こ と ができ ます。

こ の場合、 ラ イブラ リ の指定順序が検索順序にな り ます。

ISim ユーザー ガイ ド japan.xilinx.com 41UG660 (v14.1) 2012 年 4 月 24 日

Page 46: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 3 章 : コ ンパイルおよびシ ミ ュ レーシ ョ ン

例 :

`uselib lib=mylib lib=yourlib

イ ン ス タ ンシエー ト 済みモジュールの検索順は、 mylib が 初で、 次に yourlib と な り ます。

`uselib dir、 `uselib file お よ び `uselib libext と 同様、 `uselib lib は別の

`uselib が使用される まで、または前に使用された `uselib (すべての Verilog XL の `uselib 指示子を含む) が HDL ソースで使用されたま まになっている場合を除いて、指定し た解析が開始さ

れる際に HDL フ ァ イルで使用されます。

`uselib に何も引数を使用し ない場合は、 現在ア ク テ ィ ブになっている効果が削除されます。 `uselib lib|file|dir|libext.

次のモジ ュール検索方法は、 イ ン ス タ ンシエー ト モジ ュールまたは Verific の Verilog エラ ボレー

シ ョ ン アルゴ リ ズムによ る UDP を解決する ために使用されます。

• まず、 現在ア ク テ ィ ブな `uselib lib の論理ラ イブラ リ の順序 リ ス ト でイ ン ス タ ンシエー

ト 済みモジュールを検索し ます。

• 見つから ない場合は、 fuse コマン ド ラ イ ンを使用し、 検索ラ イブラ リ と し て提供されている

ラ イブラ リ の順序 リ ス ト でイ ン ス タ ンシエー ト 済みモジュールを検索し ます。

• 見つから ない場合は、 親モジュールのラ イブラ リ でイ ン ス タ ンシエー ト 済みモジュールを検索

し ます。 た と えば、 work ラ イブラ リ のモジュール A が mylib ラ イブラ リ のモジ ュール B を

イ ン ス タ ンシエー ト し、 モジ ュール B がモジ ュール C を イ ン ス タ ンシエー ト する場合、 C の

親モジュールであ る B のラ イブラ リ であ る mylib ラ イブラ リ でモジュール C を検索し ます。

• 見つから ない場合は、次のいずれか 1 つであ る work ラ イブラ リ でイ ン ス タ ンシエー ト 済みモ

ジュールを検索し ます。

• HDL ソースのコ ンパイルされる ラ イブラ リ

• work ラ イブラ リ と し て設定された ラ イブラ リ

• work と い う 名前の付いたデフ ォル ト の work ラ イブラ リ

`uselib の例

half_adder.v フ ァ イルを adder_lib とい

う名前の論理ラ イブ ラ リ にコ ンパイル

full_adder.v フ ァ イルを work とい う名前の論理ラ

イブ ラ リ にコ ンパイル

module half_adder(a,b,c,s);input a,b;output c,s;s = a ^ b;c = a & b;endmodule

module full_adder(c_in, c_out, a, b, sum)input c_in,a,b;output c_out,sum;wire carry1,carry2,sum1;`uselib lib = adder_libhalf_adderadder1(.a(a),.b(b),. c(carry1),.s(sum1)); half_adder adder1(.a(sum1),.b(c_in),.c (carry2),.s(sum)); c_out = carry1 | carry2; endmodule

42 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 47: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

プロジ ェ ク ト フ ァ イルの構文

プロジ ェ ク ト フ ァ イルの構文

プロ ジェ ク ト フ ァ イルを使用し てデザイ ン フ ァ イルを解析するには、<proj_name>.prj と い う

フ ァ イルを作成し、 次の構文をそのプロ ジェ ク ト フ ァ イル内で使用し ます。

verilog <work_library> <file_names>...[-d <macro>]... [-i <include_path>]...

vhdl <work_library> <file_name>

説明 :

- <work_library> : 指定行の HDL フ ァ イルがコ ンパイルされる ラ イブラ リ

- <file_names> : Verilog ソース フ ァ イル。 1 行に複数の Verilog フ ァ イルを指定で

き ます。

- <file_name> : VHDL ソース フ ァ イル。 1 行に 1 つの VHDL フ ァ イルを指定し ま

す。

- Verilog の場合、[-d <macro>] を使用する と オプシ ョ ンで 1 つ以上のマク ロ を定義で

き る よ う にな り ます。

- Verilog の場合、 [-i <include_path>] を使用する と オプシ ョ ンで 1 つ以上の

<include_path> デ ィ レ ク ト リ を定義でき る よ う にな り ます。

Verilog シ ミ ュ レーシ ョ ン用の定義済み XILINX_ISIM マク ロ

XILINX_ISIM は、 Verilog 定義済みマ ク ロ で、 値は1 です。 こ の定義済みマ ク ロ を使用する と、

ツール特定のフ ァ ン ク シ ョ ンを実行し た り 、 またはデザイ ンフ ローで使用する ツールを特定でき ま

す。

module isim_predefined_macro;integer fp;initialbegin`ifdef XILINX_ISIM $display("XILINX_ISIM defined"); fp = $fopen("ISIM.dat");`else $display("XILINX_ISIM not defined"); fp = $fopen("other.dat");`endif$fdisplay (fp, "results");endendmodule

ISim ユーザー ガイ ド japan.xilinx.com 43UG660 (v14.1) 2012 年 4 月 24 日

Page 48: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 3 章 : コ ンパイルおよびシ ミ ュ レーシ ョ ン

デザインのシ ミ ュ レーシ ョ ン

シ ミ ュ レーシ ョ ンは、 デザイ ンのロジ ッ クおよびタ イ ミ ングを検証するプロセスで、 ISim の GUI、

Tcl バッチ フ ァ イルまたはコマン ド ラ イ ンを使用し て実行でき ます。 デザイ ン フ ァ イルを解析し、

fuse を使用し てシ ミ ュ レーシ ョ ン実行フ ァ イルを作成する と、 論理またはタ イ ミ ング シ ミ ュ レー

シ ョ ンが実行でき る よ う にな り ます。

シ ミ ュ レーシ ョ ンの実行

シ ミ ュ レーシ ョ ンは、 次のいずれかの方法で実行し ます。

• コマン ド ラ イ ンの使用

• GUI の使用

コ マン ド ラ イ ンの使用

fuse コマン ド で生成された実行フ ァ イルを実行する と、 シ ミ ュ レーシ ョ ンを コマン ド シェルで開

始でき ます。 シ ミ ュ レーシ ョ ン実行フ ァ イルに -gui オプシ ョ ン を指定し なければ、 シ ミ ュ レー

シ ョ ンはコマン ド ラ イ ン モード で開始し ます。

た と えば、 次のよ う に入力し ます。

x.exe

ISim の Tcl プロ ンプ ト が開き ます。 こ のプロ ンプ ト にシ ミ ュ レーシ ョ ン Tcl コマン ド を イ ン タ ラ ク

テ ィ ブに入力する こ と で、 シ ミ ュ レーシ ョ ンを実行し た り 、 デザイ ンをデバッ グでき ます。

-tclbatch コマン ド を使用する と、 1 つのフ ァ イルに複数のコ マン ド を含めて、 シ ミ ュ レーシ ョ

ンの開始時にこれらのコマン ド を実行させる こ と ができ ます。

た と えば、 次のコマン ド を含む run.tcl と い う フ ァ イルがあ る と し ます。

run 20nsshow timequit

シ ミ ュ レーシ ョ ンを開始する と きにこれらのコマン ド を実行するには、 次のよ う に入力し ます。

x.exe -tclbatch run.tcl

GUI の使用

次の例では、 シ ミ ュ レーシ ョ ン実行フ ァ イルを実行し、 GUI を開いています。

<executable_name>.exe -gui

次の GUI の メ ニュー コマン ド を使用し て も シ ミ ュ レーシ ョ ンを実行でき ます。

• [Simulation] → [Restart] シ ミ ュ レーシ ョ ンを停止し てシ ミ ュ レーシ ョ ン時間を 0 に戻し ます。 デザイ ンを読み込み直さ

ずにシ ミ ュ レーシ ョ ンを再実行するには、[Step]、[Run All]、または [Run for the time specified on the toolbar] を使用し ます。 または、 [Console] パネルに Tcl コマン ド の restart を入力し

ます。

• [Simulation] → [Run All] すべての イベン ト が実行される までシ ミ ュ レーシ ョ ンを実行し ます。 または、 [Console] パネ

ルに Tcl コマン ド の run -all を入力し ます。

• [Simulation] → [Run] シ ミ ュ レーシ ョ ンを 100ns または指定し た時間分実行し ます。 時間および単位は [Value] ボ ッ

44 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 49: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

混合言語シ ミ ュ レーシ ョ ン

ク スに入力し ます。 または、 Tcl コマン ド の run に -length および -unit オプシ ョ ンを付

けて実行する こ と もでき ます。

• [Simulation] → [Step] HDL 命令に対し て1 つずつシ ミ ュ レーシ ョ ンを実行し ます。 第 6 章の 「シ ミ ュ レーシ ョ ンの 1 行ずつの実行」 および Tcl コマン ド の step を参照し て く だ

さ い。

また、 HDL ソース コー ド の特定の位置までシ ミ ュ レーシ ョ ンを実行する こ と も可能です。 こ の場

合は、 ブレーク ポ イ ン ト を使用し て run -all コマン ド を実行し ます。 詳細は、 第 6 章 「ソース レ

ベルでのデバッ グ」 を参照し て く ださ い。

注記 : 現在のシ ミ ュ レーシ ョ ン時間は、 右下端に表示されます。

混合言語シ ミ ュ レーシ ョ ン

ISim では、 混合言語のプロ ジェ ク ト フ ァ イルおよび混合言語シ ミ ュ レーシ ョ ンがサポー ト されて

います。 VHDL デザイ ンには Verilog モジュールが、 Verilog デザイ ンには VHDL モジュールを含

める こ と ができ ます。

シ ミ ュ レーシ ョ ンでの混合言語の制限

• VHDL と Verilog の混合は、モジュール イ ン ス タ ン ス またはコ ンポーネン ト 単位でのみ可能で

す。

• VHDL デザイ ンへの Verilog モジュールのイ ンス タ ンシエー ト 、 Verilog デザイ ンへの VHDL コ ンポーネン ト のイ ン ス タ ンシエー ト のみがサポー ト されます。 それ以外の混合方法はサポー

ト されません。

• Verilog での階層参照では VHDL ユニ ッ ト は参照できず、VHDL の展開/選択名では Verilog ユ

ニ ッ ト を参照でき ません。

• Verilog モジュール と の境界では、 一部の VHDL の型、 ジェネ リ ッ ク、 ポー ト のみ使用可能で

す。 同様に、 VHDL デザイ ン ユニ ッ ト の境界では、 一部の Verilog の型、 パラ メ ーター、 ポー

ト のみ使用可能です。

• Verilog モジュールの VHDL ユニ ッ ト へのバイ ン ド には、 コ ンポーネン ト のイ ン ス タ ンシエー

シ ョ ンに基づ く デフ ォル ト のバイ ン ド が使用されます。 具体的には、 VHDL デザイ ン ユニ ッ

ト に イ ン ス タ ンシエー ト さ れてい る Verilog モジ ュールには、 コ ン フ ィ ギ ュ レーシ ョ ン仕様、

直接イ ン ス タ ンシエーシ ョ ン、 およびコ ンポーネン ト のコ ンフ ィ ギュ レーシ ョ ンは使用でき ま

せん。

混合言語シ ミ ュ レーシ ョ ンでの主要手順 1. オプシ ョ ンで、 混合言語プロ ジェ ク ト のデザイ ン ラ イブラ リ に含まれる VHDL エンテ ィ テ ィ

または Verilog モジュールでの検索順を指定し ます。

2. 混合言語プロ ジェ ク ト のデザイ ン ラ イブラ リ に含まれる VHDL エンテ ィ テ ィ または Verilog モジュールのバイ ン ド順を指定するには、 fuse -L オプシ ョ ンを使用し ます。

注記 : -L で指定し た ラ イブラ リ の検索順は、 Verilog モジ ュールをほかの Verilog モジュール

にバイ ン ドする際にも使用されます。

ISim ユーザー ガイ ド japan.xilinx.com 45UG660 (v14.1) 2012 年 4 月 24 日

Page 50: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 3 章 : コ ンパイルおよびシ ミ ュ レーシ ョ ン

混合言語デザイ ンでのバイ ン ド と検索

VHDL コ ンポーネン ト またはVerilog モジ ュールを イ ン ス タ ンシエー ト する と き、 fuse コマン ド

では、 次が実行されます。

• 初に同じ言語のユニ ッ ト を イ ン ス タ ンシエー ト するデザイ ンユニ ッ ト と し て検索し ます。

• 同じ言語のユニ ッ ト が存在し ない場合は、 -lib オプシ ョ ンで指定された ラ イブラ リ で別の言

語のデザイ ンユニ ッ ト が検索されます。

ラ イブラ リ は、fuse のコマン ド ラ イ ンに入力し た順に検索されます。詳細は、40 ページの 「Verilog 検索順」 を参照し て く ださ い。

注記 : ISE® Design Suite を使用する場合は、 ラ イブラ リ 検索順は自動的に指定されるので、 ユー

ザーが指定する必要はあ り ません。

混合言語コ ンポーネン ト のイ ンス タ ンシエーシ ョ ン

混合言語デザ イ ンでは、 VHDL デザイ ン ユニ ッ ト に Verilog モジ ュールを、 Verilog デザイ ン ユ

ニ ッ ト に VHDL モジュールを イ ン ス タ ンシエー ト でき ます。

混合言語デザイ ンでの境界およびマ ッ プに関する注意事項

VHDL および Verilog のデザイ ン ユニ ッ ト /モジュールの境界では、 次のよ う な制限があ り ます。

• デザイ ン ユニ ッ ト レベルが VHDL と Verilog の境界と な り ます。

• VHDL デザイ ンには、 1 つ以上の Verilog モジュールを イ ン ス タ ンシエー ト でき ます。

• VHDL デザイ ンへの Verilog UDP のイ ンス タ ンシエーシ ョ ンはサポー ト されていません。

• Verilog デザイ ンには、VHDL エンテ ィ テ ィ に対応する VHDL コ ンポーネン ト のみイ ン ス タ ン

シエー ト 可能です。

• Verilog デザイ ンへの VHDL コ ンフ ィ ギュ レーシ ョ ンのイ ン ス タ ンシエーシ ョ ンはサポー ト

されていません。

VHDL デザイ ン ユニ ッ ト への Verilog モジュールのインス タ ンシエーシ ョ ン

1. Verilog モジ ュール と同じ名前で VHDL コ ンポーネン ト を宣言し ます (大文字と小文字を区別

)。 例 :

COMPONENT MY_VHDL_UNIT PORT (Q : out STD_ULOGIC;D : in STD_ULOGIC;C : in STD_ULOGIC );END COMPONENT;

2. 名前の関連付けを使用し て Verilog モジュールを イ ンス タ ンシエー ト し ます。 例 :

UUT :MY_VHDL_UNIT PORT MAP(Q => O,D => I,C => CLK);

ポー ト タ イプが正し く 一致し ているかど う か確認する方法については、46 ページの 「ポー ト のマ ッ

プ」 を参照し て く ださ い。

ポー ト のマ ッ プ

混合言語プロ ジェ ク ト で使用されるポー ト マ ッ プには、 次の規則および制限があ り ます。

46 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 51: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

混合言語シ ミ ュ レーシ ョ ン

サポー ト されるポー ト タ イ プ

表 3-1 は、 サポー ト されるポー ト タ イプを リ ス ト し ています。

表 3-2 に、混合言語デザイ ンの境界のポー ト で使用可能な VHDL および Verilog データ型を示し ま

す。

注記 : Verilog の出力ポー ト では、 reg 型がサポー ト されます。 境界では、 reg ポー ト は出力ネ ッ ト ( ワ イ ヤ) ポー ト と し て扱われます。

注記 : 混合言語デザイ ンの境界でその他のデータ型を使用する と、 エラーが発生し ます。

ジ ェ ネ リ ッ ク (パラ メ ーター ) のマ ッ プ

ISim でサポー ト される VHDL ジェネ リ ッ ク と それに対応する Verilog パラ メ ーターは次の とお り

です。

• 整数

• 実数

• 文字列

• ブール代数

注記 : 混合言語デザイ ンの境界でその他のジェネ リ ッ ク型を使用する と、 エラーが発生し ます。

表 3-1 : サポー ト されるポー ト タ イプ

VHDL 1 Verilog 2

IN INPUT

OUT OUTPUT

INOUT INOUT

1. バ ッ フ ァー ポー ト および リ ンケージ ポー ト はサポー ト されません。

2. Verilog では、 双方向パス ス イ ッ チへの接続はサポー ト されません。 混合デザイ ンの境界では、 名前のない Verilog ポー ト を使用する こ と はでき ません。

表 3-2 : サポー ト される VHDL および Verilog データ型

VHDL ポー ト Verilog ポー ト

ビ ッ ト ネ ッ ト

std_ulogic ネ ッ ト

std_logic ネ ッ ト

bit_vector ベク ター ネ ッ ト

std_ulogic_vector ベク ター ネ ッ ト

std_logic_vector ベク ター ネ ッ ト

ISim ユーザー ガイ ド japan.xilinx.com 47UG660 (v14.1) 2012 年 4 月 24 日

Page 52: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 3 章 : コ ンパイルおよびシ ミ ュ レーシ ョ ン

VHDL/Verilog の値のマ ッ プ

表 3-3 は std_logic および bit にマ ッ プされる Verilog ステー ト を リ ス ト し ています。

注記 : Verilog の strength は無視されます。 VHDL には、 strength に対応する ものはあ り ません。

表 3-4 は、 Verilog ステー ト にマ ッ プ される VHDL 型の bit を リ ス ト し ています。

表 3-5 は、 Verilog ステー ト にマ ッ プ される VHDL 型の std_logic を リ ス ト し ています。

Verilog では大文字 と 小文字が区別さ れるので、 コ ンポーネン ト 宣言で使用する名前の関連付けお

よびローカル ポー ト 名は対応する Verilog ポー ト 名と大文字/小文字も一致させる必要があ り ます。

Verilog デザイ ン ユニ ッ ト への VHDL モジュールのイ ンス タ ンシエーシ ョ ン

Verilog デザイ ン ユニ ッ ト に VHDL モジュールを イ ン ス タ ンシエー ト するには、 VHDL エンテ ィ

テ ィ を Verilog モジュールのよ う にイ ンス タ ンシエー ト し ます。 例 :

表 3-3 : std_logic および bit にマ ッ プ される Verilog ステー ト

Verilog std_logic ビ ッ ト

Z Z 0

0 0 0

1 1 1

X X 0

表 3-4 : Verilog ステー ト にマ ッ プ される VHDL の bit

bit Verilog

0 0

1 1

表 3-5 : Verilog ステー ト にマ ッ プ される VHDL の std_logic

std_logic Verilog

U X

X X

0 0

1 1

Z Z

W X

L 0

H 1

- X

48 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 53: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

タ イ ミ ング シ ミ ュ レーシ ョ ン (ゲー ト レベル シ ミ ュ レーシ ョ ン)

module testbench ;wire in, clk;wire out;FD FD1(.Q(Q_OUT),.C(CLK);.D(A););

タ イ ミ ング シ ミ ュ レーシ ョ ン (ゲー ト レベル シ ミ ュ レーシ ョ ン)タ イ ミ ング シ ミ ュ レーシ ョ ンを開始するには、 タ イ ミ ング シ ミ ュ レーシ ョ ン モデル と バッ ク ア ノ

テーシ ョ ン用の標準遅延フ ォーマ ッ ト (SDF) フ ァ イルが必要です。 まず、 NetGen を使用し て これ

らのフ ァ イルを生成し て く ださ い。詳細は、『合成/シ ミ ュ レーシ ョ ン デザイ ン ガイ ド』 (UG626) の

「ゲー ト レベル ネ ッ ト リ ス ト の生成 (NetGen の実行)」 を参照し て く だ さ い。 こ の文書への リ ン ク

は、 付録 D 「その他の リ ソース」 に含まれます。

コマン ド ラ イ ンからの Verilog デザイ ンのタ イ ミ ング シ ミ ュ レーシ ョ ン

Verilog デザイ ンのタ イ ミ ング シ ミ ュ レーシ ョ ンでは、 次の規則に従 う 必要があ り ます。

• $XILINX/verilog/src/glbl.v を work ラ イブラ リ にコ ンパイルし ます。

• fuse コマン ドで work.glbl を <library_name>.<top_name> の 1 つと して指定し ます。

• fuse コマン ド で -L <simprims_ver> を指定し ます。

ISim の EXE コ マン ド

注記 : コマン ド は、 大文字/小文字が区別されます。

次のセ ク シ ョ ンでは、 ISim の実行、 コ ンパイル、 エラ ボレーシ ョ ン コマン ド の概要 と そのコ マン

ド構文と オプシ ョ ンについて説明し ます。

ISim の EXE フ ァ イルはユーザーが定義でき ます。 こ のフ ァ イルを コ マン ド ラ イ ンで実行する と、

シ ミ ュ レーシ ョ ンが起動し ます。 実行フ ァ イル名は fuse コマン ド に -o オプシ ョ ンを付けて指定

し ます。 ユーザーが定義し ない場合、 デフ ォル ト の実行フ ァ イル名は x.exe にな り ます。

ISim の EXE 構文

次に、 こ のコマン ド の構文を示し ます。

<executable_name>.exe <options>

説明 :

• <executable_name>.exe はユーザーが定義する実行フ ァ イル名で、 デフ ォル ト では x.exe です。

• <options> には 表 3-6 で定義されるオプシ ョ ンが指定でき ます。

ISim ユーザー ガイ ド japan.xilinx.com 49UG660 (v14.1) 2012 年 4 月 24 日

Page 54: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 3 章 : コ ンパイルおよびシ ミ ュ レーシ ョ ン

ISim の EXE コ マン ド のオプシ ョ ン

表 3-6 は、 ISim の EXE コマン ド で実行可能なオプシ ョ ンを リ ス ト し ています。

表 3-6 : ISim コマン ド オプシ ョ ン

オプシ ョ ン 説明

-f <cmd_file> コマン ド オプシ ョ ンをテキス ト フ ァ イルに保存し、 今後使用でき る よ う にし ます。

<cmd_file> で指定したフ ァ イルに保存されたオプシ ョ ンが読み出されて実行されます。

-gui ISim を GUI モード で起動し ます。

-h すべてのコマン ド ラ イ ン オプシ ョ ン と その使用法を表示し ます。

-intstyle

[ise | xflow | silent|default]

メ ッ セージの表示方法を指定し ます。

• ise : メ ッ セージが ISE のロ グ ウ ィ ン ド ウに表示されます。

• xflow : XFLOW の メ ッ セージが表示されます。

• silent : メ ッ セージは表示されません。

• default : デフ ォル ト の メ ッ セージ設定にな り ます。

-log <file_name> <file_name> で指定し た名前のロ グ フ ァ イルが生成されます。

-maxdeltaid <number> デルタの 大値を整数で指定し ます。

-nolog ロ グ フ ァ イルを生成し ません。

-sdfnowarn SDF の警告 メ ッ セージを表示し ません。

-sdfnoerror SDF フ ァ イルで検出されるエラーを警告と し て処理し ます。

[-sdfmin|-sdftyp| -sdfmax] <root=file> ]

ISim で使用する遅延のタ イプを指定し ます。

• -sdfmin : <root> で <file> が 小の遅延でア ノ テー ト されます。

• -sdftyp : <root> で <file> が標準遅延でア ノ テー ト されます。

• -sdfmax : <root> で <file> が 大の遅延でア ノ テー ト されます。

-sdfroot <root_path> デザイ ン階層で SDF のア ノ テーシ ョ ンが適用されるデフ ォル ト の位置を設定し ます。

-tclbatch <file_name> シ ミ ュ レーシ ョ ン開始後に実行する Tcl ス ク リ プ ト フ ァ イルを指定し ます。

<file_name> では、 Tcl コマン ド を含むフ ァ イル名を指定し ます。

<file_name> の Tcl コマン ド を実行後にシ ミ ュ レーシ ョ ンを終了する場合は、

<file_name> の 後のコマン ド に quit を指定し てお く 必要があ り ます。

50 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 55: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim の EXE コマン ド

ISim の EXE コ マン ド の例

<executable_name>.exe -tclbatch <tcl_file_name> -sdfmin <instance>=<sdf_file_name>

説明 :

• <executable_name>.exe : fuse -o オプシ ョ ンを使用し て指定し ない限 り x.exe が使

用されます。

• -tclbatch : 別の Tcl コマン ド を実行する際に使用するオプシ ョ ンです (必須ではあ

り ません)。

• -sdfmin : 使用する遅延タ イプ ( 小) を指定し ます。

• <instance> : SDF (Standard Delay Format) バッ ク ア ノ テーシ ョ ンを実行する イ ン ス タ ン ス

の階層パス名を指定し ます。

• <sdf file name> : ア ノ テー ト する SDF フ ァ イル名を指定し ます。

-testplusarg <string|string_value>

シ ミ ュ レータでこのコマン ド ラ イ ンの引数文字列と Verilog デザイ ン フ ァ イルの

$test$plusarg または $value$plusarg システム関数が一致する と、こ のシステム関

数に関連し たテス ト またはデザイ ン動作の変更が実行されます。 <string> には文字列

を入力ます。

た と えば、-testplusarg HELLO の場合、Verilog フ ァ イルで $test$plusargs("HE") が使用される場合、 true が返されます。

<string_value> には Verilog フ ォーマ ッ ト 指示子の適切な文字列を入力し ます。 こ の

文字列は、 $value$plusargs システム関数呼び出しに含まれる変数に対する値を供給

し ます。

た と えば、 -testplusarg FINISH=10000 の場合、 Verilog フ ァ イルで

$value$plusargs("FINISH=%d", stop_clock) が使用され、 Verilog のフ ォーマ ッ

ト 指示子 %d が 10000 と一致する場合は、 stop_clock で値 10000 が取得され、 関数で

true が戻されます。Verilog フ ァ イルで指定されている動作を実行するには、同じ文字列ま

たは文字列 と値を このコマン ド ラ イ ンオプシ ョ ンおよびシステム関数の両方で設定する

必要があ り ます。

-transport_int_delays イ ン ターコネ ク ト 遅延用の転送モデルを使用し ます。イ ン ターコネ ク ト 遅延でパルス破棄

はあ り ません。

-vcdfile <vcd_file> Verilog 専用のオプシ ョ ンです。Verilog プロ ジェ ク ト の VCD 出力フ ァ イルを指定し ます。

デフ ォル ト 名は dump.vcd です。

-vcdunit <unit> Verilog 専用のオプシ ョ ンです。VCD 出力フ ァ イルの時間の単位を指定し ます。使用可能

な値は、 fs、 ps、 ns、 us、 ms、 sec のいずれかです。 デフ ォル ト では ps です。

-view <waveform_file>.wcfg

-gui オプシ ョ ン と組み合わせて使用し て、ISim のグ ラ フ ィ カル ユーザー イ ン ターフ ェ

イ スで特定の波形フ ァ イルを開き ます。

-wdb <waveform_file>.wbd

シ ミ ュ レーシ ョ ン データ を指定し た WBD フ ァ イルに保存し ます。

た と えば、 x.exe –wdb my.wdb を実行する と、 シ ミ ュ レーシ ョ ン データがデフ ォル ト

の isimgui.wdb の代わ り に my.wdb に保存されます。

表 3-6 : ISim コマン ド オプシ ョ ン (続き)

オプシ ョ ン 説明

ISim ユーザー ガイ ド japan.xilinx.com 51UG660 (v14.1) 2012 年 4 月 24 日

Page 56: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 3 章 : コ ンパイルおよびシ ミ ュ レーシ ョ ン

fuse、 vhpcomp、 vlogcomp コ マン ド オプシ ョ ン

表 3-7 は、 fuse、 vhpcomp、 および vlogcomp コマン ド のオプシ ョ ンを リ ス ト し ています。

表 3-7 : fuse、 vhpcomp、 vlogcomp コマン ド オプシ ョ ン

オプシ ョ ン 説明

-d <macro_definition>=<value>=<value> Verilog 専用のオプシ ョ ンです。Verilog フ ァ イルで使用されるマ ク ロお

よび必要な値を指定し ます。 -d オプシ ョ ンは複数指定でき ます。

注記 : 等号 (=) と値の間にスペース を入れないよ う にし ます。スペース

を入れる と、 値の一部 と 認識さ れます。 スペース を含むパスはダブル

ク ォーテーシ ョ ン (" ") で囲みます。

-f <cmd_file> コマン ド オプシ ョ ンをテキス ト フ ァ イルに保存し、 今後使用でき る よ

う にし ます。 <cmd_file> で指定し たフ ァ イルに保存されたオプシ ョ

ンが読み出されて実行されます。

-generic_top "<parameter>=<value>" 上位デザイ ン ユニ ッ ト のジェネ リ ッ ク またはパラ メ ーターを特定な

値で上書き し ます。 た と えば 「-generic_top “P=10”」 と入力し た

場合、 生成前に 上位のパラ メ ーター P に値 10 が適用されます。

-gui ISim を GUI モード で起動し ます。

-h すべてのコマン ド ラ イ ン オプシ ョ ン と その使用法を表示し ます。

-hil_zynq_ps Zynq Processor System (PS) Hardware In Loop (HIL) シ ミ ュ

レーシ ョ ンを イ ネーブルにし ます。

-hwcosim_board <arg> こ のハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン (HWCoSim) ではボー

ド名を指定し ます。

-hwcosim_clock <arg> HWCoSim イ ン ス タ ン スの ク ロ ッ ク ポー ト を指定し ます。

-hwcosim_instance <arg> HWCoSim オプシ ョ ンで、 FPGA で実行される イ ン ス タ ン スの階層名

を指定し ます。

例 : /testbench/UUT

-hwcosim_no_combinatorial_path HWCoSim オプシ ョ ンで、 FPGA で実行されるデザイ ンに入力から出

力までの純粋な組み合わせパスが含まれない場合に、 シ ミ ュ レーシ ョ

ンの速度を上げます。

-hwcosim_incremental <arg> HWCoSim のオプシ ョ ンで、 イ ンプ リ メ ンテーシ ョ ン プロセス

を スキ ッ プし て、以前に作成し た BIT フ ァ イルを再利用し ます。

使用でき る値は、 00 (デフ ォル ト ) と 1 です。

-i “<include_path>“ Verilog でのみ使用でき ます。

fuse で vlogcomp が呼び出された場合、 Verilog の 'include で指定さ

れているパス を使用し ます。

1 つの 'include パスにつき 1 つの -i を使用でき ます。 -i は、 複数指

定でき ます。 こ の場合、 パス を ク ォーテーシ ョ ンで囲み、 パス間にス

ペース を入力し ます。

52 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 57: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim の EXE コマン ド

-incremental 後のコ ンパイルか ら変更されたフ ァ イルのみを コ ンパイルし

ます。

-initfile <sim_init_file> デフ ォル ト の xilinxsim.ini フ ァ イルで提供される論理ロ ケーシ ョ

ンか ら物理ロ ケーシ ョ ンへのマ ッ プに追加または上書きする ための ラ

イ ブ ラ リ のユーザー定義のシ ミ ュ レー タ初期化フ ァ イ ルを指定 し ま

す。

-intstyle [ise | xflow | silent |default]

メ ッ セージの表示方法を指定し ます。

• ise : メ ッ セージが ISE のロ グ ウ ィ ン ド ウに表示されます。

• xflow : XFLOW の メ ッ セージが表示されます。

• silent : メ ッ セージは表示されません。

• default : デフ ォル ト の メ ッ セージ設定にな り ます。

-ise <file> ザイ リ ン ク ス ISE フ ァ イルを指定し ます。

[-L|-lib <search_lib>[=<lib_path>]] ほかの ラ イ ブラ リ を指定し、 さ ら にオプシ ョ ンでそれら の ラ イ ブ ラ リ

の物理パス を指定し ます。 リ ソース ラ イブラ リ と し て処理される -L オプシ ョ ンは複数回使用で

き ます。 こ のオプシ ョ ンで物理パス を指定する と、 xilinxsim.ini

フ ァ イルで指定されているマ ッ プが無視されます。 <search_lib> は

指定のラ イブラ リ の論理名、 <lib_path> は物理ラ イブラ リ へのパス

を指定し ます。

注記 : 等号 (=) と値の間にスペース を入れないよ う にし ます。スペース

を入れる と、 値の一部 と 認識さ れます。 スペース を含むパスはダブル

ク ォーテーシ ョ ン (" ") で囲みます。

-log <file_name> <file_name> で指定し た名前のロ グ フ ァ イルが生成されます。

-maxdeltaid <number> デルタの 大値を整数で指定し ます。

-maxdelay Verilog 専用のオプシ ョ ンです。 fuse で vlogcomp が呼び出された場

合、 大遅延を使用し ます。

-maxdesigndepth <depth> fuse エラ ボレーターで許容されるデザイ ンの 大幅を上書き し ます。

大幅を超え る と、fuse エラ ボレーターでエラーが発生し ます。fuse

でデザイ ンに無限に反復さ れる イ ン ス タ ンシエーシ ョ ンがあ る と 誤っ

て判断される よ う な場合は、 こ のオプシ ョ ンを使用し て幅を増やすこ

と ができ ます。

-mindelay Verilog 専用のオプシ ョ ンです。 vlogcomp が呼び出された場合、 小

遅延を使用し ます。

-mt <value> 平行し て実行するサブコ ンパイル ジ ョ ブ数を指定し ます。on、off、ま

たは 2 以上の整数を指定でき ます。

デフ ォル ト では on が設定されてお り 、 コ ンパイ ラによ り システムのコ

ア数に基づいて自動的に値が選択されます。

表 3-7 : fuse、 vhpcomp、 vlogcomp コマン ド オプシ ョ ン (続き)

オプシ ョ ン 説明

ISim ユーザー ガイ ド japan.xilinx.com 53UG660 (v14.1) 2012 年 4 月 24 日

Page 58: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 3 章 : コ ンパイルおよびシ ミ ュ レーシ ョ ン

-nodebug HDL コー ド のデバッ グ情報を含まない出力を生成し ます。出力

にデバ ッ グ情報を含まないよ う にする と、 シ ミ ュ レーシ ョ ンが

高速にな り ます。デフ ォル ト では、HDL デバ ッ グ ユニ ッ ト が生

成されます。

-nolog ロ グ フ ァ イルを生成し ません。

-nospecify Verilog 専用のオプシ ョ ンです。 ブロ ッ ク指定機能をデ ィ スエーブルに

し ます。

-notimingchecks Verilog 専用のオプシ ョ ンです。タ イ ミ ング チェ ッ ク をデ ィ スエーブル

にし ます。

-o <sim_exe> シ ミ ュ レーシ ョ ン実行出力フ ァ イルの名前を指定し ます。<sim_exe>

はフ ァ イル名です。 こ のオプシ ョ ンを使用し ない場合、デフ ォル ト の実

行フ ァ イ ル名は次の と お り です。 <work_library>/<mod_name>/<platform>/x.exe

• <work_library> : 作業ラ イブラ リ

• <module_name> : 初に指定される 上位モジュール

• <platform> : オペレーテ ィ ング システム

-override_timeprecision Verilog 専用のオプシ ョ ンです。-timescale オプシ ョ ンで指定されて

いる時間精度を使用し てデザイ ンに含まれる Verilog モジュールの時

間精度を上書き し ます。

-override_timeunit -timescale オプシ ョ ンで指定されている時間単位を使用し てデザイ

ンに含まれるすべての Verilog モジュールの時間単位 (遅延計測単位) を上書き し ます。

-prj <prj_file>.prj 入力と し て使用するプロ ジェ ク ト フ ァ イルを指定し ます。 プロ ジェ ク

ト フ ァ イルは、 デザイ ンに関連するすべてのフ ァ イルを リ ス ト し た も

のです。こ のフ ァ イルは、ISE ツールによ り 使用される主要ソース フ ァ

イルです。

<prj_file> のフ ァ イル拡張子は .prj であ る必要があ り ます。

表 3-7 : fuse、 vhpcomp、 vlogcomp コマン ド オプシ ョ ン (続き)

オプシ ョ ン 説明

54 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 59: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim の EXE コマン ド

-rangecheck VHDL 専用のオプシ ョ ンです。 VHDL での割 り 当てに値範囲チェ ッ ク

を実行し ます。 こ のオプシ ョ ンは配列のイ ンデッ ク ス範囲チェ ッ ク には

影響し ません。 ISim では、 配列のイ ンデッ ク スが許容範囲にあ る こ と が

常にチェ ッ ク されます。

例 :

• 信号が正と宣言されている場合は、 fuse で信号が負の値に割 り 当

て られていないかど う かがチェ ッ ク され、

• std_logic と宣言されている場合は、 信号に有効な std_logic 値

(U、 X、 0、 1、 Z、 W、 L、 H、 -) のみが割 り 当て られているかど う

かがチェ ッ ク されます。

注記 : こ のオプシ ョ ンは、 イ ンデッ ク ス範囲のチェ ッ クには関係あ り ま

せん。 シ ミ ュ レータでは、 常にイ ンデッ ク スの範囲がチェ ッ ク ボ ッ ク ス

されます。

デフ ォル ト では -rangecheck はオフです。

-sdfnoerror SDF フ ァ イルで検出されるエラーを警告と し て処理し ます。

-sdfnowarn SDF の警告 メ ッ セージを表示し ません。

[-sdfmin]|[-sdftyp][-sdfmax] <root=file>

使用する遅延のタ イプを指定し ます。

• -sdfmin : <root> で <file> が 小遅延でア ノ テー ト され

ます。

• -sdftyp : <root> で <file> が標準遅延でア ノ テー ト され

ます。

• -sdfmax : <root> で <file> が 大遅延でア ノ テー ト され

ます。

-sdfroot <root_path> SDF ア ノ テーシ ョ ンを適用するデザイ ン階層のデフ ォル ト デ ィ レ ク

ト リ を設定し ます。

-sourcelibdir <directory_name> ラ イブラ リ モジュールのソース デ ィ レ ク ト リ を指定し ます。

-sourcelibext <file_extension> モジュールのソース フ ァ イルの拡張子を指定し ます。–sourcelibdir

オプシ ョ ンではこれらのフ ァ イルのデ ィ レ ク ト リ を指定し ます。

-sourcelibfile <file_name> ラ イブラ リ モジュールのフ ァ イル名を指定し ます。

-timeprecision_vhdl <time_precision>

VHDL 専用のオプシ ョ ンです。 すべての VHDL デザイ ン ユニ ッ ト に

対する時間精度を指定し ます。 time_precision には、 数値 (1|10|100|...) に続けて単位 (fs|ps|ns|us|ms|s) を入力し ます。

デフ ォル ト は 1ps です。

表 3-7 : fuse、 vhpcomp、 vlogcomp コマン ド オプシ ョ ン (続き)

オプシ ョ ン 説明

ISim ユーザー ガイ ド japan.xilinx.com 55UG660 (v14.1) 2012 年 4 月 24 日

Page 60: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 3 章 : コ ンパイルおよびシ ミ ュ レーシ ョ ン

-timescale <time_unit/time_precision>

Verilog 専用のオプシ ョ ンです。 効率のよいタ イ ム ス ケールがない Verilog モジュールに対し てデフ ォル ト のタ イ ム ス ケールを指定し ま

す。

• <time_unit> では遅延計測単位を指定し ます。

• <time_precision> では精度の単位を指定し ます。

<time_unit> および <time_precision> には、 数値 (1|10|100|...) に続けて単位 (fs|ps|ns|us|ms|s) を入力し ます。

デフ ォル ト は 1ns/1ps です。

-typdelay Verilog 専用のオプシ ョ ンです。 vlogcomp が呼び出された場合、 標準

遅延を使用し ます。

-timeprecision_vhdl <time_precision>

VHDL 専用のオプシ ョ ンです。 すべての VHDL デザイ ン ユニ ッ ト に

対する時間精度を指定し ます。 time_precision には、 数値

(1|10|100|...) に続けて単位 (fs|ps|ns|us|ms|s) を入力し ます。デ

フ ォル ト は 1ps です。

-v [-verbose] <value> メ ッ セージの表示レベルを指定し ます。 使用でき る値は 0、 1、 または

2 です。 デフ ォル ト は 0 です。 例 :

fuse -v 1 では便利なデバ ッ グ情報が表示され、 ISim コ ンパイ ラで

発生する問題の検出に役立ちます。 詳細レベルは 1 です。

• 使用可能な ラ イブラ リ マ ッ プ フ ァ イル (xilinxsim.ini) すべて

を読み込んだ後に ISim コ ンパイ ラ で見られる ラ イブラ リ マ ッ プを

表示し ます。

• デザイ ン エラ ボレーターから詳細な メ ッ セージを取得し ます。

• コ ンパイ ラの動作に影響する環境変数の現在の値を取得し ます。

• コ ンパイ ラで共有されるオブジェ ク ト の リ ス ト を取得し ます。

• バージ ョ ン番号およびプロセ ッ サなどのオペレーテ ィ ング システ

ム情報を表示し ます。

• 生成コード を コ ンパイルするのに使用する GCC コ ンパイ ラのパス

を表示し ます。

<verilog_files>... コ ンパイルする Verilog ソース フ ァ イルを指定し ます。

<vhdl_files>... コ ンパイルする VHDL ソース フ ァ イルを指定し ます。

-version コ ンパイ ラのバージ ョ ンを表示し ます。

表 3-7 : fuse、 vhpcomp、 vlogcomp コマン ド オプシ ョ ン (続き)

オプシ ョ ン 説明

56 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 61: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

シ ミ ュ レーシ ョ ンの一時停止

シ ミ ュ レーシ ョ ンの一時停止

シ ミ ュ レーシ ョ ンを任意の時間実行し ている間、 [Break] コマン ド を使用し てシ ミ ュ レーシ ョ ンを

一時停止し、 シ ミ ュ レーシ ョ ン セ ッ シ ョ ンを開いたま まにでき ます。

シ ミ ュ レーシ ョ ンを一時停止するには、 次の手順のいずれかを実行し ます

• [Simulation] → [Break] を ク リ ッ ク し ます。

• [Break] ボタ ンを ク リ ッ ク し ます。

• コマン ド プロ ンプ ト で Ctrl + C キーを入力し ます。

シ ミ ュ レーシ ョ ンが次の HDL 実行行で停止し ます。 シ ミ ュ レーシ ョ ンが停止し た行は、 テキス ト

エデ ィ ターに表示されます。

注記 : この動作は、-nodebug オプシ ョ ンを使用し てコ ンパイルされていないデザイ ンで発生し ま

す。

シ ミ ュ レーシ ョ ンは、 [Run All]、 [Run]、 [Run for the time specified on the toolbar] (ツールバーの

み)、 [Step] コ マン ド を使用する と いつで も再開でき ます。 詳細は、 77 ページの 「シ ミ ュ レーシ ョ

ンの 1 行ずつの実行」 を参照し て く だ さい。

-wdb <waveform_file>.wbd シ ミ ュ レーシ ョ ン データ を指定した WBD フ ァ イルに保存し ます。

た と えば、x.exe –wdb my.wdb を実行する と、シ ミ ュ レーシ ョ ン デー

タがデフ ォル ト の isimgui.wdb の代わ り に my.wdb に保存されます。

-work [<work_library>[=<library_path>] ] <filenames>...

work ラ イブラ リ を指定し、さ らにオプシ ョ ンで作業ラ イブラ リ の物理パ

ス を指定し ます。 こ のオプシ ョ ンで物理パス を指定する と、xilinxsim.ini

フ ァ イルで指定されているマ ッ プが無視されます。 デフ ォル ト の作業ラ

イブラ リ は、 論理ラ イブラ リ \work です。

<work_library> は指定の作業ラ イブラ リ の論理名、

<library_path> は物理ラ イブラ リ へのパス を指定し ます。

例 : mywork=C:/home/worklib.

注記 : 等号 (=) と値の間にスペース を入れないよ う にし ます。 スペース

を入れる と、 値の一部 と 認識 さ れます。 スペース を含むパスはダブル

ク ォーテーシ ョ ン (" ") で囲みます。

表 3-7 : fuse、 vhpcomp、 vlogcomp コマン ド オプシ ョ ン (続き)

オプシ ョ ン 説明

ISim ユーザー ガイ ド japan.xilinx.com 57UG660 (v14.1) 2012 年 4 月 24 日

Page 62: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 3 章 : コ ンパイルおよびシ ミ ュ レーシ ョ ン

シ ミ ュ レーシ ョ ン結果の保存

オブジェ ク ト (VHDL 信号または Verilog レジス タ /ワ イ ヤ) のシ ミ ュ レーシ ョ ン結果は、 作業デ ィ

レ ク ト リ に含まれている波形データベース (WDB) フ ァ イル (<filename>.wdb) に保存されます。波

形ウ ィ ン ド ウにオブジェ ク ト を追加し てシ ミ ュ レーシ ョ ンを実行し た場合は、 完全デザイ ンのデザ

イ ン階層および追加さ れたオブジ ェ ク ト の遷移が自動的に WDB フ ァ イルに保存さ れます。 信号

順、命名ス タ イル、基数および色など、波形コ ンフ ィ ギュ レーシ ョ ン設定も任意で波形コ ンフ ィ ギュ

レーシ ョ ン (WCFG) に保存されます。 詳細は、 第 4 章 「波形の解析」 を参照し て く だ さい。

WDB フ ァ イルへのデータベースの保存

ISim の起動される方法によ って、 WBD フ ァ イルの名前の付け方は異な り ます。

• ISE ツールまたは PlanAhead ツールから起動する と、 WBD フ ァ イルの名前は [ISim Properties] ダ イ ア ロ グ ボ ッ ク スで指定されている名前に基づいて付け られます。

• コマン ド ラ イ ンから起動する場合は、 -wdb オプシ ョ ンでフ ァ イル名を指定し ます。 シ ミ ュ

レーシ ョ ンが実行される と、オブジェ ク ト (VHDL 信号、Verilog レジス タ /ワ イ ヤ) の結果が自

動的に WDB に保存されます。 別のシ ミ ュ レーシ ョ ンが現在のシ ミ ュ レーシ ョ ン と し て同じ作

業デ ィ レ ク ト リ の同じデザイ ンで実行される場合、 こ の新しいシ ミ ュ レーシ ョ ンのWDB フ ァ

イル名は、 初のシ ミ ュ レーシ ョ ン名に整数が付け られた名前にな り ます。 つま り 、 初のシ

ミ ュ レーシ ョ ンは上書き さ れません。 た と えば、 WBD フ ァ イルが isim.wdb と い う 名前の場

合、 後続のシ ミ ュ レーシ ョ ン結果は isim1.wdb、 isim2.wdb と いった WDB フ ァ イルに書

き込まれます。

注記 : データベース フ ァ イルの名前は、 シ ミ ュ レーシ ョ ン実行中は変更でき ません。

WCFG フ ァ イルへの波形コ ン フ ィ ギュ レーシ ョ ンの保存

波形コ ン フ ィ ギ ュ レーシ ョ ン (WCFG) フ ァ イルを保存する と、 フ ァ イルに自動的に関連する波形

データベース (WDB) フ ァ イルへの リ フ ァ レ ン スが追加されます。 1 つの WDB フ ァ イルに複数の

WCFG フ ァ イルを持たせる こ と ができ ます。

WCFG フ ァ イルには、 シ ミ ュ レーシ ョ ン オブジェ ク ト の順番およびそのプロパテ ィ 、 波形ウ ィ ン

ド ウに表示されている仕切 り 、 マーカーなどの追加された波形オブジェ ク ト が保存されます。 詳細

は、 第 4 章の 「波形コ ンフ ィ ギュ レーシ ョ ンでの作業」 を参照し て く だ さい。

WCFG フ ァ イルを保存するには [File] → [Save] を ク リ ッ ク し て .wcfg フ ァ イルのフ ァ イル名を指

定し ます。

シ ミ ュ レーシ ョ ンの終了

シ ミ ュ レーシ ョ ンは、 次のいずれかのコマン ド で終了でき ます。

• [File] → [Exit] を ク リ ッ ク し ます。

• [Console] パネルのプロ ンプ ト に quit -f と入力し ます。

• メ イ ン ウ ィ ン ド ウの右上端の X (閉じ る ボタ ン) を ク リ ッ ク し ます。

58 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 63: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

波形コ ン フ ィ ギュ レーシ ョ ンでの作業

第 4 章

波形の解析

波形解析を始める前に、 次のいずれかの方法で ISim の GUI を開いてお く 必要があ り ます。

• 読み出し専用モード で前のシ ミ ュ レーシ ョ ンからデータ を表示または解析する場合は、74 ペー

ジの 「ス タ テ ィ ッ ク シ ミ ュ レーシ ョ ンを開 く 」 を参照し て く だ さい。

• ISE® または PlanAhead™ から起動する と、 上位信号を含む波形コ ンフ ィ ギュ レーシ ョ ンが

表示されます。 こ の後、 信号を追加し た り 、 シ ミ ュ レーシ ョ ンを実行でき ます。 詳細は、 第 3 章の 「シ ミ ュ レーシ ョ ンの実行」 を参照し て く ださ い。

• コマン ド ラ イ ンから起動する場合は、 -gui オプシ ョ ンを付けてシ ミ ュ レーシ ョ ン実行フ ァ イ

ルを実行し ます。 こ の場合は、 空の波形コ ンフ ィ ギュ レーシ ョ ンが表示されますので、 シ ミ ュ

レーシ ョ ンを実行する前に波形コ ンフ ィ ギュ レーシ ョ ンに信号を追加する必要があ り ます。 詳

細は、 第 3 章の 「シ ミ ュ レーシ ョ ンの実行」 を参照し て く だ さい。

デザイ ン データは、 [Objects] パネルや [Instances and Processes] パネルなどの GUI のほかのエ リ

アに表示されます。

波形コ ン フ ィ ギュ レーシ ョ ンでの作業

波形コ ンフ ィ ギュ レーシ ョ ン フ ァ イルに信号およびバス を追加し、そのコ ンフ ィ ギュ レーシ ョ ンを

WDB フ ァ イルに保存でき ます。 詳細は、 第 5 章の 「波形コ ンフ ィ ギュ レーシ ョ ンおよび波形デー

タベース を開 く 」 を参照し て く ださ い。

波形コ ン フ ィ ギュ レーシ ョ ンへの信号の追加

GUI の メ ニ ュー コマン ド またはド ラ ッ グアン ド ド ロ ッ プ手法を使用するか、または [Console] パネ

ルで Tcl (ツール コマン ド言語) コマン ド を入力する と、波形ウ ィ ン ド ウにデザイ ンの信号を表示で

き ます。

注記 : 波形コ ンフ ィ ギュ レーシ ョ ンの作成や信号の追加などの波形コ ンフ ィ ギュ レーシ ョ ンへの変

更は、 WCFG フ ァ イルを保存する までは一時的に変更されている状態です。 詳細は、 「シ ミ ュ レー

シ ョ ン結果の保存」 を参照し て く ださ い。

GUI からの信号の追加

1. [Instances and Processes] パネルでデザイ ン階層を展開し てア イ テムを選択し ます。

選択し た イ ン ス タ ン ス またはプロセスに対応するオブジェ ク ト が [Objects] パネルに表示され

ます。

2. [Objects] パネルでオブジェ ク ト を選択し ます。

3. 次のいずれかの方法を使用し てオブジェ ク ト を波形コ ンフ ィ ギュ レーシ ョ ンに追加し ます。

• 右ク リ ッ ク し て [Add to Wave Window] を ク リ ッ ク し ます。

ISim ユーザー ガイ ド japan.xilinx.com 59UG660 (v14.1) 2012 年 4 月 24 日

Page 64: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 4 章 : 波形の解析

• [Objects] パネルから オブジェ ク ト を波形ウ ィ ン ド ウの [Name] 列に ド ラ ッ グアン ド ド

ロ ッ プし ます。

• [Console] パネルでwave add コマン ド を実行し ます。

Tcl を使用し た信号の追加

1. オプシ ョ ンですが [Instances and Processes] パネルおよび [Objects] パネルでデザイ ン階層を

ナビゲー ト するか、 または [Console] パネルで scope コマン ド を入力し て、 追加するオブジェ

ク ト を識別する こ と ができ ます。

2. [Console] パネルで wave add コマン ド を入力し て個別のオブジェ ク ト またはオブジェ ク ト グ

ループを追加し ます。

波形コ ン フ ィ ギュ レーシ ョ ン と WCFG フ ァ イル

波形コ ンフ ィ ギ ュ レーシ ョ ン と WCFG フ ァ イルは両方と も波形 リ ス ト のカ ス タマイ ズを指し ます

が、 これら 2 つには概念的な違いがあ り ます。

• 波形コ ンフ ィ ギュ レーシ ョ ンは、 メ モ リ に読み込んで作業するオブジェ ク ト

• WCFG フ ァ イルは波形コ ンフ ィ ギュ レーシ ョ ンをデ ィ ス クに保存し た形態

波形コ ン フ ィ ギュ レーシ ョ ン名と WCFG フ ァ イル名

波形コ ンフ ィ ギュ レーシ ョ ンは名前を付けた り 、無名 (Untitled) にでき ます。名前は、波形コ ンフ ィ

ギュ レーシ ョ ン ウ ィ ン ド ウ タブに表示されます。

• GUI から Tcl コマン ド を入力し て波形コ ンフ ィ ギュ レーシ ョ ンを WCFG フ ァ イルに保存する

と き、 WCFG フ ァ イルの名前はコマン ド の引数で指定されます。

• 波形コ ンフ ィ ギュ レーシ ョ ンを WCFG フ ァ イルから読み込むと き、 波形コ ンフ ィ ギュ レー

シ ョ ンの名前は WCFG フ ァ イルの名前にな り ます。

信号/バスのコ ピーの追加

波形を比較するために、 同じ信号またはバスのコ ピーを波形コ ンフ ィ ギュ レーシ ョ ンに追加でき ま

す。 同じ信号のコ ピーは、 グループや仮想バスなど、 波形コ ンフ ィ ギュ レーシ ョ ンの任意の場所に

配置でき ます。

信号またはバスのコ ピーを追加するには

1. 波形ウ ィ ン ド ウの波形コ ンフ ィ ギュ レーシ ョ ンで信号またはバス を選択し ます。

2. [Edit] → [Copy] を ク リ ッ クするか、 または Ctrl + C キーを押し ます。

信号/バス名がク リ ッ プボード にコ ピーされます。

3. [Paste] コマン ド を ク リ ッ クするか、 または Ctrl + V キーを押し ます。

信号またはバスが波形コ ンフ ィ ギュ レーシ ョ ンにコ ピーされます。 信号またはバスは、 必要に応じ

て ド ラ ッ グアン ド ド ロ ッ プし て移動でき ます。

60 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 65: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

波形コ ン フ ィ ギュ レーシ ョ ンのカス タ マイズ

波形コ ン フ ィ ギュ レーシ ョ ンのカス タ マイズ

表 4-1 に リ ス ト される機能を使用する と波形コ ンフ ィ ギュ レーシ ョ ンをカス タマイ ズでき ます。 詳

細は、 機能の名前を ク リ ッ クする と表示されます。

注記 : ご使用の PDF リ ーダーで [View] → [ Toolbars] → [More Tools] で [Previous View] および

[Next View] をオンにし てお く と、 リ ン ク された情報の前後へ移動がしやす く な り ます ( メ ニ ュー表

示は PDF リ ーダーによ って異な り ます)。

カーソル

カーソルは、 主に時間の一時的な指標と し て使用し、 2 つの波形エ ッ ジ間の時間を計測する と き な

ど、 頻繁に移動し て使用し ます。 複数の計測値の時間ベース を確立させる など、 永久的な指標と し

て使用する場合は、 波形ウ ィ ン ド ウにマーカーを追加し て く だ さ い。 詳細は、 62 ページの 「マー

カー」 を参照し て く ださ い。

メ イ ン カーソルの配置

波形ウ ィ ン ド ウでク リ ッ クする と、 メ イ ン カーソルがその位置に配置されます。

表 4-1 :

機能 説明

カーソル 波形ウ ィ ン ド ウで メ イ ン カーソル と セカンダ リ カーソルを使用す

る と、時間を表示、計測でき、 さ まざまなナビゲー ト 操作の焦点と し

て機能し ます。

マーカー マーカーを波形に追加する と、波形内をナビゲー ト し ながら、特定時

間の波形値を表示でき ます。

仕切 り 仕切 り を追加し て、 信号をグループにま と める こ と ができ ます。

グループ 波形コ ンフ ィ ギ ュ レーシ ョ ンに含まれる信号およびバス を関連信号

セ ッ ト と し てフ ォルダーにま と め、 整理する方法です。

仮想バス 仮想バ ス を波形コ ン フ ィ ギ ュ レーシ ョ ンに追加する と、 論理ス カ

ラーおよび配列追加でき ます。

オブジェ ク ト 名の変更 オブジェ ク ト 、 信号、 バス、 グループの名前は変更でき ます。

名前の表示 名前は、階層名を含めた完全名で表示するか ([Long Name])、信号ま

たはバス名のみを表示するか ([Short Name])、 またはカス タ ム名で

表示でき ます。

基数 デフ ォル ト の基数では、 波形コ ンフ ィ ギュ レーシ ョ ン、 [Objects] パ

ネル、 および [Console] パネルで表示されるバスの基数を設定し ま

す。

バス ビ ッ ト 順 バス ビ ッ ト 順は 上位ビ ッ ト (MSB) から 下位ビ ッ ト (LSB)、また

はその逆に変更可能です。

ISim ユーザー ガイ ド japan.xilinx.com 61UG660 (v14.1) 2012 年 4 月 24 日

Page 66: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 4 章 : 波形の解析

セカ ンダ リ カーソルの配置

次の手順に従い、 セカンダ リ カーソルを配置し ます。

1. 波形を ク リ ッ ク し てホール ド し、 右側または左側に ド ラ ッ グ し ます。

これでセカンダ リ カーソルが配置されます。

2. Shift キーを押し ながら波形を ク リ ッ ク し ます。

セカンダ リ カーソルがない場合は、 セカンダ リ カーソルが現時点で メ イ ン カーソルが配置さ

れている場所に設定され、 メ イ ン カーソルはク リ ッ ク し た位置に移動し ます。

注記 : メ イ ン カーソルの配置中にセカンダ リ カーソルの位置を保持するには、 Shift キーを押

し たま まにし ます。

注記 : セカンダ リ カーソルを ド ラ ッ グ し て配置する と きは、 あ る程度の距離を ド ラ ッ グ し ない

と セカンダ リ カーソルが表示されません。

マーカーの移動

手のシンボルが表示される までマウ ス を移動し てから ク リ ッ ク し て、任意の場所に ド ラ ッ グ し ます。

波形ウ ィ ン ド ウでカーソルを ド ラ ッ グする と きに [Snap to Transition] ボタ ンがオンの場合 (デフ ォ

ル ト )、 中空円または中が塗 り つぶされた円が表示されます。

• 中空円は、 選択し た信号の波形の遷移間にカーソルが置かれた と きに表示されます。

• 中が塗 り つぶされた円は、選択し た信号の波形の遷移上にカーソルが置かれた と きに表示

されます。

波形ウ ィ ン ド ウのカーソル、 マーカー、 またはフ ロー ト ルーラーがない位置でク リ ッ クする と、 非

表示にでき ます。

マーカー

マーカーは追加、 移動、 削除でき ます。

マーカーの追加

マーカーは波形コ ンフ ィ ギュ レーシ ョ ン上のカーソルの位置に追加されます。

1. 波形ウ ィ ン ド ウでマーカーを追加する時間または遷移を ク リ ッ ク し て メ イ ン カーソルを配置

し ます。

2. [Edit] → [Markers] → [Add Marker] または [Add Marker] ボ タ ン を ク リ ッ ク し ます。

マーカーがカーソルに配置されます。マーカーが既にカーソルの位置に存在する場合は、

わずかにずれた位置にマーカーが配置されます。 マーカーの時間はマーカー上部に表示されま

す。

62 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 67: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

波形コ ン フ ィ ギュ レーシ ョ ンのカス タ マイズ

マーカーの移動

マーカーの追加後に ド ラ ッ グアン ド ド ロ ッ プを使用し て波形内の別の位置にマーカーを移動でき ま

す。

1. マーカー上部にあ るマーカー ラベルを ク リ ッ ク し て任意の位置に ド ラ ッ グ し ます。

• マーカーが移動可能である こ と を示すド ラ ッ グ シンボルが表示されます。波形ウ ィ ン

ド ウでマーカーを ド ラ ッ グする と きに [Snap to Transition] ボ タ ンがオンの場合 (デ

フ ォル ト )、 中空円または中が塗 り つぶされた円が表示されます。

• 中が塗 り つぶされた円は、 選択し た信号の波形または別のマーカー上にカーソルが

置かれた と きに表示されます。

• マーカー上では中が塗 り つぶされた円が白色で表示されます。

• 中空円は、選択し た信号の波形の遷移間にカーソルが置かれた と きに表示されます。

2. 新しい位置にマーカーを ド ロ ッ プし ます。

マーカーの削除

コマン ド 1 つを使用し て 1 つまたはすべてのマーカーを削除でき ます。

1. マーカーを右ク リ ッ ク し ます。

2. 次のいずれかを実行し ます。

• 文脈依存 メ ニ ューから [Delete Marker] を選択し て、 マーカー 1 つを削除し ます。

• 文脈依存 メ ニ ューから [Delete All Markers] を選択し て、 マーカーをすべて削除し ます。

注記 : Delete キーを使用し て も、 選択し たマーカーを削除でき ます。

マーカーの削除を取 り 消すには、 [Edit] → [Undo] を ク リ ッ ク し ます。

仕切り

仕切 り は、 信号間を視覚的に分け るためのものです。

仕切りの追加

波形コ ンフ ィ ギュ レーシ ョ ンに仕切 り を追加し て、 信号をグループにま と める こ と ができ ます。

1. 波形ウ ィ ン ド ウの [Name] 列で信号を ク リ ッ クする と、その信号の下に仕切 り が追加されます。

2. [Edit] → [New Divider] を ク リ ッ クするか、 または右ク リ ッ ク し て [New Divider] を ク リ ッ ク

し ます。

こ の変更は視覚的な も のであ り 、 HDL コー ド には何も追加されません。 新し い仕切 り はフ ァ イル

が保存される と きに波形コ ンフ ィ ギュ レーシ ョ ン フ ァ イルに保存されます。

仕切りの変更

仕切 り に対し ては、 次を変更でき ます。

• 仕切 り の名前を変更でき ます。 詳細は、 65 ページの 「オブジェ ク ト 名の変更」 を参照し て く だ

さ い。

• 仕切 り は、 名前を ド ラ ッ グアン ド ド ロ ッ プする と、 波形内の別の位置に移動でき ます。

ISim ユーザー ガイ ド japan.xilinx.com 63UG660 (v14.1) 2012 年 4 月 24 日

Page 68: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 4 章 : 波形の解析

仕切りの削除

仕切 り を削除するには、 ハイ ラ イ ト し てから Delete キーを押すか、 右ク リ ッ ク し て [Delete] を ク

リ ッ ク し ます。

グループ

グループ と は、展開し た り 閉じ た り でき る カテゴ リ のコ レ ク シ ョ ンの こ と で、波形コ ンフ ィ ギュ レー

シ ョ ンに信号およびバス を追加し て、 関連する信号同士を ま と める る こ と ができ ます。 グループ自

体には波形データが表示されず、 展開し た と きにその内容を表示でき ます。

グループの追加

グループを追加するには、 次の手順に従います。

1. 波形コ ンフ ィ ギュ レーシ ョ ンで、 グループに追加する信号またはバス を選択し ます。

注記 : グループには、 仕切 り 、 仮想バス、 およびその他のグループを含める こ と もでき ます。

2. [Edit] → [New Group] を ク リ ッ クするか、または右ク リ ッ ク し て [New Group] を ク リ ッ ク し ま

す。

選択し た信号またはバス を含むグループが波形コ ンフ ィ ギュ レーシ ョ ンに追加されます。 グ

ループにはグループ ア イ コ ンが表示されます。 こ の変更は視覚的な ものであ り 、 HDL コー

ド には何も追加されません。

信号またバスは名前をグループに ド ラ ッ グアン ド ド ロ ッ プする と移動でき ます。

新しいグループおよびそのネス ト された信号/バスは、 波形コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イルを保

存する と きに保存されます。

グループの変更

グループは、 次の手順で変更でき ます。

• グループの名前は変更でき ます。 詳細は、 65 ページの 「オブジェ ク ト 名の変更」 を参照し て く

ださ い。

• グループは、 [Name] 列内の任意の場所に ド ラ ッ グアン ド ド ロ ッ プする と移動でき ます。

グループの削除

グループを削除するには、 ハイ ラ イ ト し てから [Edit] → [Wave Objects] → [Ungroup] を ク リ ッ ク

するか、 または右ク リ ッ ク し て [Ungroup] を ク リ ッ ク し ます。グループに含まれていた信号/バスは

波形コ ンフ ィ ギュ レーシ ョ ン階層の 上位に配置されます。

注意 : Delete キーを押すと、 グループおよびネス ト された信号およびバスが波形コ ンフ ィ ギュ

レーシ ョ ンから削除されます。

64 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 69: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

波形コ ン フ ィ ギュ レーシ ョ ンのカス タ マイズ

仮想バス

仮想バス を波形コ ンフ ィ ギュ レーシ ョ ンに追加する と、 論理スカ ラーおよび配列追加でき ます。 仮

想バスには、 バスの波形が表示されます。 仮想バスはその下に昇順で表示される信号の波形で構成

されてお り 、 1 次元配列にフ ラ ッ ト 化されます。

仮想バスの追加

仮想バス を追加するには、 次の手順に従います。

1. 波形コ ンフ ィ ギュ レーシ ョ ンで、 仮想バスに追加する信号またはバス を任意の数だけ選択し ま

す。

2. [Edit] → [New Virtual Bus] を ク リ ッ クするか、 または右ク リ ッ ク し て [New Virtual Bus] を ク

リ ッ ク し ます。

仮想バスは、[Virtual Bus] ボタ ンで表示されます。こ の変更は視覚的な ものであ り 、HDL コー

ド には何も追加されません。

信号またバスは名前を仮想バスに ド ラ ッ グアン ド ド ロ ッ プする と移動でき ます。 新しい仮想バスお

よびそのネス ト された信号/バスは、 波形コ ン フ ィ ギ ュ レーシ ョ ン フ ァ イルを保存する と きに保存

されます。

仮想バスの変更

仮想バスでは、 次を変更でき ます。

• 仮想バスの名前は変更でき ます。 詳細は、 65 ページの 「オブジェ ク ト 名の変更」 を参照し て く

ださ い。

• 仮想バスは名前を ド ラ ッ グアン ド ド ロ ッ プする と、 [Name] 列内の別の位置に移動でき ます。

仮想バスの削除

仮想グループを削除し てグループに含まれていたア イ テムをハイ ラ イ ト するには、次を実行し ます。 [Edit] → [Wave Objects] → [Ungroup] を ク リ ッ クするか、 または右ク リ ッ ク し て [Ungroup] を ク

リ ッ ク し ます。

注意 : Delete キーを押すと、 仮想バスおよびネス ト された信号およびバスが波形コ ンフ ィ ギュ

レーシ ョ ンから削除されます。

オブジ ェ ク ト 名の変更

波形ウ ィ ン ド ウに含まれている信号、仕切 り 、グループ、バスなどのオブジェ ク ト 名は変更でき ます。

1. [Name] 列でオブジェ ク ト 名を選択し ます。

2. 右ク リ ッ ク し て [Rename] を ク リ ッ ク し ます。

3. 名前を変更し ます。

4. Enter キーを ク リ ッ クするか、 名前以外の箇所を ク リ ッ ク し て、 名前を反映させます。

また、 オブジェ ク ト 名をダブルク リ ッ ク し て も、 名前を変更でき ます。

変更はすぐに反映されます。 波形コ ンフ ィ ギュ レーシ ョ ンでのオブジェ ク ト 名の変更は、 デザイ ン

のソース コード には影響し ません。

ISim ユーザー ガイ ド japan.xilinx.com 65UG660 (v14.1) 2012 年 4 月 24 日

Page 70: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 4 章 : 波形の解析

名前の表示

名前は、 階層名を含めた完全名で表示するか ([Long Name])、 信号またはバス名のみを表示するか

([Short Name])、 またはカス タ ム名で表示でき ます。 信号/バス名は、 波形コ ンフ ィ ギュ レーシ ョ ン

の [Name] 列に表示されます。 名前が非表示の場合は、 次の手順に従います。

• 信号の完全名が表示される まで [Name] 列の幅を広げます。

• また、 [Name] 列の下にあ る ス ク ロール バーを使用し て も、 完全な信号名を表示でき ます。

表示名の変更

表示名を変更するには、 次の手順に従います。

1. 1 つまたは複数の信号/バス名を選択し ます。 複数の信号を選択する場合は、 Shift キーまたは

Ctrl キーを使用し ます。

2. 右ク リ ッ ク し て [Name] を ク リ ッ ク し、 次のいずれかを選択し ます。

• [Long] : 階層の完全名を表示し ます。

• [Short] : 信号またはバスのみの名前を表示し ます。

• [Custom] : 信号のカ ス タ ム名を表示し ます。 詳細は、 65 ページの 「オブジェ ク ト 名の変

更」 を参照し て く ださ い。

名前の表示が変更されます。

基数

デフ ォル ト の基数では、 波形コ ンフ ィ ギ ュ レーシ ョ ン、 [Objects] パネル、 および [Console] パネル

で表示されるバスの基数を設定し ます。

デフ ォル ト の基数の変更

デフ ォル ト の基数は 2 進数です。 基数を変更するには、 次の手順に従います。

1. [Edit] → [Preferences] を ク リ ッ ク し ます。

2. [Preferences] ダ イ ア ロ グ ボ ッ ク スの左側で [ISim Simulator] ク リ ッ ク し ます。

3. [Default Radix] ド ロ ッ プダウ ン リ ス ト から基数を選択し ます。

4. [Apply] を ク リ ッ ク し てから [OK] を ク リ ッ ク し ます。

個々の基数の変更

[Objects] パネルに含まれている個々の信号 (HDL オブジェ ク ト ) の基数は、 次の手順に従 う と変更

でき ます。

1. [Objects] パネルでバス を右ク リ ッ ク し ます。

2. [Radix] を選択し、 ド ロ ッ プダウ ン メ ニ ューから該当する フ ォーマ ッ ト を選択し ます。

• [Binary] (2 進数)

• [Hexadecimal] (16 進数)

• [Unsigned Decimal] (符号な し 10 進数)

• [Signed Decimal] (符号付き 10 進数)

• [Octal ASCII] (8 進数 ASCII)

注記 : [Objects] パネル内の信号の基数を変更し て も、 波形ウ ィ ン ド ウ または [Console] パネルの値

には影響し ません。 波形ウ ィ ン ド ウに含まれる個々の信号の基数を変更するには、 波形ウ ィ ン ド ウ

66 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 71: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

波形コ ン フ ィ ギュ レーシ ョ ンのナビゲーシ ョ ン

の文脈依存 メ ニ ューを使用し ます。[Console] パネルで基数を変更するには、 Tcl コマン ド の isim set radix を使用し ます。

バス ビ ッ ト 順

波形コ ンフ ィ ギュ レーシ ョ ンではバス ビ ッ ト を逆転させて、MSB 優先および LSB 優先の信号表現

を切 り 替え る こ と ができ ます。 ビ ッ ト 順を反転するには、 次の手順に従います。

1. バス を選択し ます。

2. 右ク リ ッ ク し て [Reverse Bit Order] を ク リ ッ ク し ます。

バス ビ ッ ト の順番が反転されます。[Reverse Bit Order] コマン ド の左横にチェ ッ ク マーク が表示さ

れ、 適用されている こ と が示されます。

波形コ ン フ ィ ギュ レーシ ョ ンのナビゲーシ ョ ン

波形コ ンフ ィ ギュ レーシ ョ ンは、 さ まざ まな方法でナビゲーシ ョ ンでき ます。

• 階層の展開/非展開

• ズーム機能

• フ ロー ト ルーラーの表示

• マーカーを使用し た波形値の表示

• 信号遷移の波形値の表示

• カーソルを使用し た時間の計測

• [Go To Time] コマン ド の使用

• [Show Drivers] コマン ド の使用

階層の展開/非展開

ネス ト されたグループのオブジェ ク ト を含むウ ィ ン ド ウ またはパネルでは、 次のいずれかの方法で

その階層を展開または非展開でき ます。

矢印の使用

矢印を ク リ ッ ク し て階層を展開し ます。 階層は 1 度に 1 つ展開でき ます。

矢印を ク リ ッ ク し て階層を閉じ ます。

メ ニューの使用

1. オブジェ ク ト を選択し ます。

2. [Edit] → [Wave Objects] を ク リ ッ ク し、 次のいずれかを ク リ ッ ク し ます。

• [Expand] 選択されている階層オブジェ ク ト を展開し ます。 階層は 1 度に 1 つ展開でき ます。

• [Collapse] 選択し たオブジェ ク ト の階層を非展開し ます。

文脈依存 メ ニューの使用

1. オブジェ ク ト を選択し ます。

ISim ユーザー ガイ ド japan.xilinx.com 67UG660 (v14.1) 2012 年 4 月 24 日

Page 72: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 4 章 : 波形の解析

2. 右ク リ ッ ク し て次のいずれかを ク リ ッ ク し ます。

• [Expand] 選択されている階層オブジェ ク ト を展開し ます。 階層は 1 度に 1 つ展開でき ます。

• [Collapse] 選択し たオブジェ ク ト の階層を非展開し ます。

ズーム機能

ズーム機能を使用 し て波形 ウ ィ ン ド ウ の波形 コ ン フ ィ ギ ュ レーシ ョ ン を表示 し ま す。 詳細は、

11 ページの 「[View] ツールバー」 を参照し て く ださ い。

フ ロー ト ルーラーの表示

フ ロー ト ルーラーでは、波形ウ ィ ン ド ウ上部の標準ルーラーに表示されている絶対シ ミ ュ レーシ ョ

ン時間以外の時間ベース を使用し て時間計測を補助し ます。

フ ロー ト ルーラーは表示/非表示を切 り 替え る こ と が可能で、 波形ウ ィ ン ド ウの任意の位置に移動

させる こ と ができ ます。 フ ロー ト ルーラーの時間ベース (時間 0) はセカンダ リ カーソルに基づい

ています。 セカンダ リ カーソルがない場合は選択し たマーカーに基づき ます。

セカンダ リ カーソル (または選択し たマーカー) が存在する と きのみフ ロー ト ルーラー ボタ ンおよ

びフ ロー ト ルーラーが表示されます。

1. フ ロー ト ルーラーの表示/非表示は、 次のいずれかの方法で切 り 替え る こ と ができ ます。

• セカンダ リ カーソルを配置し ます。

• マーカーを選択し ます。

2. [View] → [Floating Ruler] または [Floating Ruler] ボタ ン を ク リ ッ ク し ます。

こ の手順は 1 度だけ実行する必要する必要があ り ます。セカンダ リ カーソルを配置し た

り 、 マーカーを選択するたびにフ ロー ト ルーラーが表示されます。

非表示にするには、 コマン ド を再度選択し ます。

マーカーを使用し た波形値の表示

マーカーは特定時間の波形 と 交差する線で、 波形コ ン フ ィ ギ ュ レーシ ョ ン をナビゲー ト し た り 各

マーカーの [Value] 列で信号およびバスの値を表示するのに使用でき ます。次の手順に従 う と、カー

ソルをマーカー間で移動し て、 波形値を表示でき ます。

1. 62 ページの 「マーカーの追加」 の手順に従い、 波形ウ ィ ン ド ウの波形コ ンフ ィ ギュ レーシ ョ ン

でマーカーを追加し ます。

マーカーが 1 つあ る場合は、カーソル と マーカーが同じ位置にあ る と き、[Value] 列に信号と バ

スの値が表示されます。 これで作業が完了し ま し た。

複数マーカーがあ る場合は、 次の手順に従います。

2. [Edit] → [Markers] → [Next Marker] または [Next Marker] ツールバー ボタ ン を ク リ ッ

ク し ます。

カーソルが波形コ ンフ ィ ギュ レーシ ョ ンに含まれているマーカー間を順番に移動し ます。

3. 各マーカーの [Value] 列で値を確認し ます。

68 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 73: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

波形コ ン フ ィ ギュ レーシ ョ ンのナビゲーシ ョ ン

4. [Edit] → [Markers] → [Previous Marker] または [Previous Marker] ツールバー ボタ ンを

ク リ ッ ク し ます。

カーソルが波形コ ンフ ィ ギュ レーシ ョ ンに含まれているマーカー間を逆方向にに移動し ます。

5. 各マーカーの [Value] 列で値を確認し ます。

信号遷移の波形値の表示

波形で各遷移での信号値を表示するには、 [Next Transition] または [Previous Transition] コマン ド

を使用し ます。 開始点はカーソルです。

[Next Transition] および [Previous Transition] コ マン ドの使用

1. 信号を選択し ます。

開始点は、 波形のカーソルの位置です。

2. 次の遷移に進めるには、 [View] → [Cursors] → [Next Transition] を ク リ ッ クするか、

[Next Transition] ボタ ンを ク リ ッ ク し ます。

3. マーカーが信号の次の遷移まで進みます。 その遷移でのすべての信号の値が [Value] 列に表示

されます。

4. 手順 2 を必要に応じ て繰 り 返し ます。

5. 前の遷移に戻るには、 次の手順に従います。 [Edit] → [Markers] → [Previous Transition] または [Previous Transition] ツールバー ボ

タ ンを ク リ ッ ク し ます。

6. マーカーが信号の前の遷移まで戻 り ます。 その遷移でのすべての信号の値が [Value] 列に表示

されます。

7. 手順 4 を必要に応じ て繰 り 返し ます。

カーソルを移動し た り 戻し た り する と、 信号の値がそれに応じ て更新されます。

カーソルを使用し た時間の計測

メ イ ン カーソ ル と セカンダ リ カーソルを波形コ ンフ ィ ギ ュ レーシ ョ ンで使用する と、 時間範囲を

計測でき ます。 こ の時間範囲は、 時間の計測に加えて、 カーソル間の拡大表示や範囲の印刷などの

実行時に焦点と し て も機能し ます。

遷移間または 2 つの信号波形間の時間を計測するには、 次の手順に従います。

注記 : [Snap to Transition] ボタ ンはデフ ォル ト でオンになっています。 カーソルが遷移付近に配置

される と その遷移にスナッ プされるので、 信号遷移に厳密にカーソルを配置でき ます。

1. 初の遷移にマウ ス を置き、 マウ スの左ボタ ンを押し たま まにし ます。

2. マウ ス を 2 番目の遷移に ド ラ ッ グ し ます。

3. マウ ス ボ タ ンを放し ます。

セカンダ リ カーソルが 1 番目の遷移に、 メ イ ン カーソルが 2 番目の遷移に配置されます。

4. 波形コ ンフ ィ ギュ レーシ ョ ン下部で値を確認し ます。

• X1 : メ イ ン カーソルの時間

• X2 : セカンダ リ カーソルの時間

• Delta X : カーソル間の時間範囲

ISim ユーザー ガイ ド japan.xilinx.com 69UG660 (v14.1) 2012 年 4 月 24 日

Page 74: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 4 章 : 波形の解析

フ ロー ト ルーラーが表示されている場合は、カーソルの時間値がルーラーの上部に表示されま

す。

5. オプシ ョ ン : [Swap Cursors] ボタ ンを ク リ ッ クする と カーソルの位置を ス ワ ッ プでき

ます。

6. 時間範囲は、 波形コ ンフ ィ ギュ レーシ ョ ンを ク リ ッ ク し て新しいカーソルを配置する まで表示

されます。

セカンダ リ カーソルの配置に従いセカンダ リ カーソルを移動する と、 自動的に時間範囲が更新さ

れます。

マーカーを使用し た時間の計測

フ ロー ト ルーラーが表示されている と き、 選択されている マーカー上のフ ロー ト ルーラーの時間

ベース と波形の メ イ ン カーソルおよびマーカー間の時間計測を表示でき ます。

1. 時間ベース と し て選択し たマーカーを使用し てフ ロー ト ルーラーを表示し ます。

2. さ らにマーカーを追加し ます。

3. 波形内のロ ケーシ ョ ンにマーカーを移動し ます。

フ ロー ト ルーラーのマーカー ラベルでは、 選択し たマーカー と 新しいマーカー間の時間間隔が表

示されます。

時間ベースは、 マーカーを選択するだけで切 り 替え る こ と ができ ます。

ま た、 カーソ ルおよびマーカーを組み合わせて も時間を計測で き ます。 こ の場合は、 セカ ンダ リ

カーソルを時間ベース と し て使用する こ と で、 フ ロー ト ルーラーでセカンダ リ カーソ ルに対する

マーカーおよび メ イ ン カーソルの時間計測を表示でき ます。

[Go To Time] コマン ド の使用

[Go To Time] コマン ド を使用する と、カーソルを波形コ ンフ ィ ギュ レーシ ョ ンの特定時間にジャ ン

プさせる こ と ができ ます。

ユーザー指定の時間へのジ ャ ンプ

波形コ ンフ ィ ギュ レーシ ョ ンを表示し ます。

1. [Edit] → [Go To] を ク リ ッ ク し ます。

[Go To Time] ボ ッ ク スが波形ウ ィ ン ド ウの下部に表示されます。

2. カーソルをジャ ンプさせる先の時間と その単位を入力し ます。 または、 場合によ っては ド ロ ッ

プダウ ン リ ス ト から時間 と単位を選択する こ と も可能です。

3. Enter キーを押し ます。

シ ミ ュ レーシ ョ ンの最初または最後へのジ ャ ンプ

波形コ ンフ ィ ギュ レーシ ョ ンを表示し ます。

1. 波形コ ン フ ィ ギ ュ レーシ ョ ンでシ ミ ュ レーシ ョ ンの 初にカー ソ ルを移動する には、

[Go To Time 0] ボタ ンを ク リ ッ ク し ます。

2. 波形コ ン フ ィ ギ ュ レーシ ョ ンでシ ミ ュ レーシ ョ ンの 後にカー ソ ルを移動する には、

[Go To Latest Time] ボタ ンを ク リ ッ ク し ます。

70 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 75: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

波形コ ン フ ィ ギュ レーシ ョ ンの印刷

[Show Drivers] コマン ド の使用

[Show Driver] コ マン ド を使用する と、 信号値ま たはオブジ ェ ク ト 値での変更に関連する ド ラ イ

バーを表示し ます。 こ のコマン ド を使用し て値の変化の原因を特定し、 回路の接続が正しいかど う

か判断し ます。 ISim では、 [Console] パネルに信号またはオブジェ ク ト の ド ラ イバーが表示されま

す。

こ のコマン ド は、 次のエ リ アでオブジェ ク ト をプローブする と きに使用でき ます。

• [Objects] パネル

• 波形ウ ィ ン ド ウ

• [Console] パネル

ド ラ イバーを表示するには、 次の手順に従います。

1. オブジェ ク ト または信号を選択し ます。

2. [Edit] → [Wave Objects] → [Show Drivers] を ク リ ッ クするか、 または右ク リ ッ ク し て [Show Drivers] を ク リ ッ ク し ます。

[Console] パネルでは、 オブジェ ク ト または信号の ド ラ イバーが表示さ れます。 ド ラ イバーがない

場合は、 その旨を伝え る メ ッ セージが [Console] パネルに表示されます。

注記 : このコマン ド は、 [Console] パネルに 「show driver」 と入力し て も実行でき ます。

波形コ ン フ ィ ギュ レーシ ョ ンの印刷

波形コ ンフ ィ ギュ レーシ ョ ンは、 印刷セ ッ ト ア ッ プの設定を使用し て 1 度に 1 つ印刷でき ます。 波

形コ ンフ ィ ギュ レーシ ョ ンの背景は常に白色で印刷されます。

印刷プレビ ューの表示

1. [File] → [Print Preview] を ク リ ッ ク し ます。

2. [Print Preview] ダ イ ア ロ グ ボ ッ ク スで波形コ ンフ ィ ギュ レーシ ョ ンが予期どお り に表示され

ている こ と を確認し て く ださ い。

3. [Print] を ク リ ッ クするか、 または [Setup] を ク リ ッ ク し て印刷オプシ ョ ンおよびレ イ アウ ト を

カ ス タマイ ズし ます。

4. [Close] を ク リ ッ ク し て [Print Preview] ダ イ ア ロ グ ボ ッ ク ス を閉じ ます。

印刷プレ ビ ューでは、デフ ォル ト のプ リ ン ターの定義に従い波形が白黒またはカ ラー表示されます。

別のプ リ ン ターを選択し て印刷する こ と もでき ます。

印刷

1. [File] → [Print] を ク リ ッ ク し ます。

2. [Print Setup] ダイアログ ボッ ク スで [Page Orientation] (印刷方向)、 [Time Range] (時間の範囲)、

[Fit Time Range To] (範囲を含めるページ数) などを設定し ます。

注記 : [Time Range] は、波形コ ンフ ィ ギ ュ レーシ ョ ンに メ イ ン カーソルおよびセカンダ リ カー

ソルの両方が配置されている場合はその時間範囲が自動的に表示されます。

3. [OK] を ク リ ッ ク し ます。

4. [印刷] ダ イ ア ロ グ ボ ッ ク スでプ リ ン ターを選択し、 [印刷] を ク リ ッ ク し ます。

ISim ユーザー ガイ ド japan.xilinx.com 71UG660 (v14.1) 2012 年 4 月 24 日

Page 76: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 4 章 : 波形の解析

波形コ ンフ ィ ギュ レーシ ョ ンがプ リ ン ターの設定に従って印刷されます。

カス タム カ ラーの使用

個々の信号またはバスの表示色を変更し て、 比較しやす く する こ と ができ ます。 通常のカ ラー設定

は、 [Preferences] ダ イ ア ロ グ ボ ッ ク スの [Colors] ページで指定されている カ ラー スキームに含ま

れています。 詳細は、 第 2 章の 「ISim カ ラー プ リ フ ァ レ ン ス」 を参照し て く ださ い。

定義済みのカ ラー ス キームを使用する こ と も でき ますが、 カ ラー ス キームを作成する こ と もでき

ます。

信号またはバスの表示色を変更する と、 通常設定よ り 優先されます。

1. 信号またはバス を右ク リ ッ ク し ます。

2. [Signal Color] を ク リ ッ ク し て、 色を選択し ます。

信号またはバスの波形が新しい色で表示されます。

注記 : カス タ ム カ ラーを使用する場合は、X および Z などの特殊な値を含むすべての論理値がその

色で表示されます。

72 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 77: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

波形データベース フ ァ イルと波形コ ン フ ィ ギュ レーシ ョ ン フ ァ イル

第 5 章

シ ミ ュ レーシ ョ ン結果の表示

ラ イブ シ ミ ュ レーシ ョ ンは、 次から構成されています。

• すべてのシ ミ ュ レーシ ョ ン データ を含む波形データベース フ ァ イル (WDB)

• 波形コ ンフ ィ ギュ レーシ ョ ンに含まれるオブジェ ク ト に関連する順序および設定を含む波形コ

ンフ ィ ギュ レーシ ョ ン フ ァ イル (WCFG)

波形データベース フ ァ イルと波形コ ン フ ィ ギュ レーシ ョ ン フ ァ イル

シ ミ ュ レーシ ョ ンを実行する と、 WDB が自動的に開き ます。 シ ミ ュ レーシ ョ ンを実行する方法に

ついては、 第 3 章の 「シ ミ ュ レーシ ョ ンの実行」 を参照し て く だ さい。

ISE® ツールまたは PlanAhead™ ツールから シ ミ ュ レーシ ョ ンを実行する と、 デフ ォル ト の波形コ

ンフ ィ ギュ レーシ ョ ンが自動的に開き ます。 波形コ ンフ ィ ギュ レーシ ョ ンは複数開 く こ と ができ ま

す。

シ ミ ュ レーシ ョ ンを コマン ド プロ ンプ ト またはバッ チ ス ク リ プ ト を使用し て実行する と きは、GUI の起動時にデフ ォル ト で波形コ ンフ ィ ギュ レーシ ョ ンは開かないので、 手動で開 く か作成する必要

があ り ます。 詳細は、 次のセ ク シ ョ ンおよび第 3 章の 「シ ミ ュ レーシ ョ ンの実行」 を参照し て く だ

さ い。

GUI から波形コ ン フ ィ ギュ レーシ ョ ンを開 く 方法

1. [File] → [Open] を ク リ ッ ク し ます。

2. [フ ァ イルの種類] で .wcfg を選択し ます。

3. 開 く フ ァ イルを選択し た ら、 [OK] を ク リ ッ ク し ます。

波形コ ンフ ィ ギュ レーシ ョ ンが波形ウ ィ ン ド ウに表示されます。 1 つのシ ミ ュ レーシ ョ ン セ ッ シ ョ

ンで複数の波形コ ンフ ィ ギュ レーシ ョ ンを開 く こ と ができ ます。 波形コ ンフ ィ ギュ レーシ ョ ンを表

示する と きは、 タブを ク リ ッ ク し ます。

コ マン ド プロンプ ト から波形コ ン フ ィ ギュ レーシ ョ ンを開 く 方法

GUI の起動時にデフ ォル ト で波形コ ン フ ィ ギ ュ レーシ ョ ンが開かないため、 既存の波形コ ン フ ィ

ギュ レーシ ョ ンを開 く -view オプシ ョ ンを含める こ と ができ ます。

シ ミ ュ レーシ ョ ン実行フ ァ イルを次の構文を使用し て実行し ます。

<sim_exe>.exe -gui -wdb <wdb>.wdb -view <wcfg>.wcfg

説明 :

• -gui : GUI を起動し ます。

• -wdb <wdb>.wdb : シ ミ ュ レーシ ョ ン データ を格納する フ ァ イル名を指定し ます。

ISim ユーザー ガイ ド japan.xilinx.com 73UG660 (v14.1) 2012 年 4 月 24 日

Page 78: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 5 章 : シ ミ ュ レーシ ョ ン結果の表示

• -view <wcfg>.wcfg : 指定し た波形フ ァ イルを GUI で開き ます。

GUI に新しいデータベース (ラ イブ シ ミ ュ レーシ ョ ン) が開き ます。 WCFG のシ ミ ュ レーシ ョ ン

オブジェ ク ト がデータベースに含まれる シ ミ ュ レーシ ョ ン オブジェ ク ト に対応する場合は、データ

ベースからデータがあ らかじめ波形コ ンフ ィ ギュ レーシ ョ ンに入力されます。

波形コ ンフ ィ ギュ レーシ ョ ンの新規作成方法の詳細は、 第 4 章の 「波形コ ンフ ィ ギュ レーシ ョ ンで

の作業」 を参照し て く ださ い。

ス タ テ ィ ッ ク シ ミ ュ レーシ ョ ンを開 く

ス タ テ ィ ッ ク の読み出し専用のシ ミ ュ レーシ ョ ンには、 次が含まれます。

• 波形コ ンフ ィ ギュ レーシ ョ ンに含まれるオブジェ ク ト に関連する順序および設定を含む波形コ

ンフ ィ ギュ レーシ ョ ン フ ァ イル (WCFG)

• 前に実行し た ラ イブ シ ミ ュ レーシ ョ ンからのシ ミ ュ レーシ ョ ン データ を含む WDB フ ァ イル

波形コ ンフ ィ ギュ レーシ ョ ン フ ァ イルでは、 波形データベースが参照されます。 シ ミ ュ レーシ ョ ン

は、 ス タ テ ィ ッ ク シ ミ ュ レータでは実行でき ません。 ラ イ ブ シ ミ ュ レーシ ョ ンを開 く 方法の詳細

は、 第 3 章の 「デザイ ンのシ ミ ュ レーシ ョ ン」 を参照し て く だ さい。

波形コ ン フ ィ ギュ レーシ ョ ンおよび波形データベースを開 く

直前のシ ミ ュ レーシ ョ ンの波形コ ンフ ィ ギ ュ レーシ ョ ン (WCFG) フ ァ イルおよびシ ミ ュ レーシ ョ

ン データ (WDB) を開 く 場合は、 次の方法のいずれかを使用し ます。

波形コ ンフ ィ ギュ レーシ ョ ンおよび波形データベース を開 く には、 次の手順に従って く ださ い。

1. isimgui.exe を実行し て、 ス タテ ィ ッ ク シ ミ ュ レータ を開き ます。

2. [File] → [Open] を ク リ ッ ク し、 [フ ァ イルの種類] で .wcfg を選択し、 波形コ ンフ ィ ギュ レー

シ ョ ン (WCFG) フ ァ イルを選択し ます。

または、 isimgui.exe -open <wcfg_file>.wcfg と入力し ます。

説明 :

• isimgui.exe : アプ リ ケーシ ョ ン実行フ ァ イルです。

• -open : 指定し たフ ァ イルを開 く よ う にツールに命令し ます。

• -view <wcfg>.wcfg : 指定し た波形フ ァ イルを GUI で開き ます。

ス タ テ ィ ッ ク シ ミ ュ レータでは、 ト レース されたすべての信号および関連する波形データベース と

共に波形コ ンフ ィ ギュ レーシ ョ ンが表示されます。

既存の WCFG および関連し ない波形データベースを開 く

シ ミ ュ レーシ ョ ン データ (WDB) を読み込んでデータベースには関係し ない WCFG フ ァ イルを表

示でき ます。 この方法でス タテ ィ ッ ク シ ミ ュ レーシ ョ ンを開 く と、 複数のエンジニアが同じ シ ミ ュ

レーシ ョ ン結果 (WDB フ ァ イルに格納されている遷移) の さ まざまな表示 (WCFG フ ァ イルでキ ャ

プチャ) を確認する と きに有益です。

ISim では、 WCFG に含まれてい る が WDB フ ァ イルで見つか ら ないオブジ ェ ク ト 名に警告 メ ッ

セージを発行し、 一致するオブジェ ク ト のみを表示し ます。

74 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 79: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ス タ テ ィ ッ ク シ ミ ュ レーシ ョ ンを開 く

コマン ド プロ ンプ ト で次のいずれかを実行し ます。

isimgui.exe -open <wdb>.wdb -view <wcfg>.wcfg

説明 :

• isimgui.exe : アプ リ ケーシ ョ ン実行フ ァ イルです。

• -open <wdb>.wdb : 指定し た波形データベース を ISim グ ラ フ ィ カル ユーザー イ ン ター

フ ェ イ スに開き ます。

• -view <wcfg>.wcfg : 指定し た波形フ ァ イルを ISim グ ラ フ ィ カル ユーザー イ ン ター

フ ェ イ スに開き ます。

波形データベースおよび新しいデフ ォル ト の WCFG を開 く

解析を実行する シ ミ ュ レーシ ョ ン データ (WDB) があ るが、 以前に使用し た WCFG を開かない場

合は、 次の方法を使用し て波形データベースおよび新しいデフ ォル ト の WCFG を開 く こ と ができ

ます。

コマン ド プロ ンプ ト で次を入力し ます。

isimgui.exe -view <wdb_file>.wdb

説明 :

• isimgui.exe : アプ リ ケーシ ョ ン実行フ ァ イルです。

• -view <wdb>.wdb : 指定し た波形データベース を ISim グ ラ フ ィ カル ユーザー イ ン ター

フ ェ イ スに開き ます。

ス タ テ ィ ッ ク ビ ューアーでは、以前のシ ミ ュ レーシ ョ ンのデータおよび波形ウ ィ ン ド ウに含まれて

いる WDB フ ァ イルのオブジェ ク ト を 大 1000 個まで表示する Default.wcfg と い う 名前の新しい

波形コ ンフ ィ ギュ レーシ ョ ン フ ァ イルが表示されます。 デフ ォル ト の WCFG フ ァ イルに信号を追

加または削除し て保存する と、 次回に表示でき ます。

波形データ ベースのみを開 く

以前のシ ミ ュ レーシ ョ ンから WDB のみを開 く 場合は、 次の手順に従います。

1. コマン ド プロ ンプ ト で次を入力し ます。

isimgui.exe

これによ り 、 ス タ テ ィ ッ ク シ ミ ュ レータが開き ます。

2. [File] → [Open] を ク リ ッ ク し、 [フ ァ イルの種類] で .wdb を選択し、 直前のシ ミ ュ レーシ ョ ン

の WDB フ ァ イルを選択し ます。

または、 次を入力し ます。

isimgui.exe -open <wdb_file>.wdb

説明 :

• isimgui.exe : アプ リ ケーシ ョ ン実行フ ァ イルです。

• -open <wdb_name>.wdb : 指定し た波形データベース をグ ラ フ ィ カル ユーザー イ ン

ターフ ェ イ スに開き ます。

ス タ テ ィ ッ ク ビ ューアーでは、[Objects] パネルおよび [Instances and Processes] パネルに含まれて

いる以前のシ ミ ュ レーシ ョ ンのデータが表示されます。 波形ウ ィ ン ド ウには波形データは開き ませ

ん。

ISim ユーザー ガイ ド japan.xilinx.com 75UG660 (v14.1) 2012 年 4 月 24 日

Page 80: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 5 章 : シ ミ ュ レーシ ョ ン結果の表示

[File] → [Open] では既存の波形コ ンフ ィ ギュ レーシ ョ ンを開 く こ と ができ、[File] → [New] では新

しい波形コ ンフ ィ ギュ レーシ ョ ンを作成でき ます。

76 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 81: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

シ ミ ュ レーシ ョ ンの 1 行ずつの実行

第 6 章

ソース レベルでのデバッ グ

HDL ソース コード をデバッ グする と、 デザイ ンが予期どお り に実行されている こ と を検証でき ま

す。 デバ ッ グでは、 ソ ース コー ド の実行を制御し、 問題が発生する可能性があ る箇所を特定し ま

す。 デバッ グに使用でき る ス ト ラ テジは、 次の とお り です。

• 1 行ずつの実行 開発中のどの段階のデザイ ンでも、 [Step] コマン ド を使用し て HDL デザイ ンの ソース コード

を 1 行ずつ実行し、 デザイ ンが予期どお り に動作する かを検証でき ます。 コー ド の行ご と に

[Step] コマン ド が実行され、 解析が続行されます。 詳細は、 シ ミ ュ レーシ ョ ンの 1 行ずつの実

行を参照し て く ださ い。

• HDL コード の特定行にブレーク ポイ ン ト を設定し、 ブレーク ポイ ン ト に到達する までシ ミ ュ

レーシ ョ ンを実行

大型のデザイ ンでは、 HDL ソース コード を 1 行ずつ実行するのは面倒な場合があ り ます。 ブ

レーク ポイ ン ト は、 HDL ソース コード のあ らかじめ決められたポイ ン ト に設定でき、 シ ミ ュ

レーシ ョ ンが各ブレーク ポイ ン ト で停止し ながら実行されます。 シ ミ ュ レーシ ョ ンは、 テス ト

ベンチの 初からでも現在の位置からでも実行でき ます。 [Step]、 [Run All]、 または [Run for the time specified on the toolbar] を使用し て、シ ミ ュ レーシ ョ ンを続行し ます。詳細は、78 ペー

ジの 「ブレーク ポイ ン ト の使用」 を参照し て く ださ い。

シ ミ ュ レーシ ョ ンの 1 行ずつの実行

HDL ソース コード をデバッ グするために、 シ ミ ュ レーシ ョ ンのどの地点でも [Step] コマン

ド を使用でき ます。 こ のコマン ド では、 HDL ソース コード を 1 行ずつ実行し て、 デザイ ン

が予期どお り に機能し ているかを検証でき ます。 黄色の矢印によ り 、 現在実行されている行

が示されます。

こ のコマン ド の実行中に、 さ らに停止ポイ ン ト を設定するためにブレーク ポイ ン ト を作成する こ と

も可能です。 ISim でのデバ ッ グ方法の詳細は、 78 ページの 「ブレーク ポ イ ン ト の使用」 を参照し

て く ださ い。

1. シ ミ ュ レーシ ョ ンを 1 行ずつ実行するには、 次の手順に従います。

• 現在の実行時間から、 次の手順のいずれかを実行し ます

- [Simulation] → [Step] を ク リ ッ ク し ます。

- [Step] を ク リ ッ ク し ます。

- [Console] パネルで 「step」 と入力し ます。

波形ウ ィ ン ド ウに新しいタブが開き、 上位デザイ ン ユニ ッ ト に関連する HDL フ ァ イルが表

示されます。

ISim ユーザー ガイ ド japan.xilinx.com 77UG660 (v14.1) 2012 年 4 月 24 日

Page 82: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 6 章 : ソース レベルでのデバッ グ

• 開始 (0ns) から、 シ ミ ュ レーシ ョ ンを再開し ます。 テス ト ベンチの開始点に時間を リ セ ッ ト す

るには、 [Restart] コマン ド を使用し ます。 詳細は、 第 3 章の 「シ ミ ュ レーシ ョ ンの実行」 を参

照し て く ださ い。

2. [Window] → [Tile Horizontally] (または [Window] → [Tile Vertically]) を ク リ ッ ク し て波形と

HDL コード を同時に表示し ます。

3. デバッ グが完了する まで [Step] コマン ド を繰 り 返し ます。

各行が実行さ れる たびに、 黄色の矢印が 1 行ずつ進むこ と が確認で き ます。 シ ミ ュ レータ で別の

フ ァ イルの行が実行される場合は、 新しいフ ァ イルが開き コード内を黄色の矢印が 1 行ずつ進みま

す。 多 く のシ ミ ュ レーシ ョ ンでは、 [Step] コマン ド の実行中に複数フ ァ イルが開き ます。 [Console] タブでは、 [Step] コマン ド が HDL コード でど こ まで進んでいるかも表示されます。

ブレークポイン ト の使用

ブレーク ポイ ン ト は、 ソース コード に含まれるユーザー定義の停止ポ イ ン ト で、 デザイ ンをデバッ

グする と き に使用し ます。 ブレー ク ポ イ ン ト は、 Step コ マン ド を使用し て コー ド の各行でシ ミ ュ

レーシ ョ ンを停止する と時間がかか り すぎ る可能性があ る大型のデザイ ンのデバッ グで特に役に立

ちます。

HDL フ ァ イルの実行行にブレーク ポ イ ン ト を設定し、 ブレーク ポ イ ン ト が設定されている ソース

コード行に到達する までコード を継続し て実行でき ます。

注記 : ブレーク ポイ ン ト を設定でき るのは、実行コード行のみです。実行行以外の行にブレーク ポイ

ン ト を配置し て も、 追加されません。

ブレークポイ ン ト の設定

ブレーク ポイ ン ト を設定するには、 次の手順に従います。

1. [View] → [Breakpoint] → [Toggle Breakpoint] を ク リ ッ クするか、 [Toggle Breakpoint] ボタ ン を ク リ ッ ク し ます。

2. HDL フ ァ イルでコード行の行番号の右側を ク リ ッ ク し ます。 行の横にブレーク ポイ ン

ト ア イ コ ンが表示されます。

注記 : コード行を右ク リ ッ ク し て [Toggle Breakpoint] を ク リ ッ ク し て も、同じ操作を実行でき

ます。

終了する と、シ ミ ュ レーシ ョ ン ブレーク ポイ ン ト ア イ コ ンがコード行の横で開き、ブレーク ポ

イ ン ト の リ ス ト が [Breakpoints] パネルに表示されます。

ブレークポイ ン ト を使用し たデザイ ンのデバッ グ

1. HDL ソース フ ァ イルを開き ます。 詳細は、 24 ページの 「HDL ソース フ ァ イルを開 く 」 を参

照し て く ださ い。

2. 78 ページの「ブレーク ポ イ ン ト の設定」に示すよ う に、HDL ソース フ ァ イルで実行行にブレー

ク ポイ ン ト を設定し ます。

3. すべてのブレーク ポイ ン ト を設定する まで、 手順 1 と 2 を繰 り 返し ます。

4. 波形ウ ィ ン ド ウ を ク リ ッ ク し て波形に戻 り ます。

• 初から実行するには、 [Simulation] → [Restart] を ク リ ッ ク し ます。

• [Simulation] → [Run All] または [Simulation] → [Run for Specified Time] を使用し ます。

78 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 83: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ブレークポイン ト の使用

シ ミ ュ レーシ ョ ンはブレーク ポイ ン ト まで実行され、停止し ます。HDL ソース フ ァ イル

が表示され、 ブレーク ポイ ン ト の停止位置が黄色の矢印で示されます。

5. 波形ウ ィ ン ド ウに戻 り 、 信号値の変化などデザイ ンの動作がブレーク ポイ ン ト で予期どお り で

あ る こ と を確認し ます。

6. 結果に満足する まで、 ブレーク ポイ ン ト ご と に上記の手順を繰 り 返し ます。

HDL ソース フ ァ イルで設定し たブレーク ポイ ン ト に停止し ながら、 制御されたシ ミ ュ レー

シ ョ ンが実行されます。

デザイ ンのデバッ グ中に [Simulation] → [Step] を実行し て、一行ずつシ ミ ュ レーシ ョ ンを進め

る こ と でデザイ ンを厳密にデバッ グする こ と もでき ます。

ブレークポイ ン ト の削除

HDL ソース コード から 1 つまたはすべてのブレーク ポイ ン ト を削除でき ます。

1 つのブレークポイ ン ト の削除

次のいずれかの手順で 1 つのブレーク ポ イ ン ト を削除し ます。

• [Breakpoint] ボ タ ンを ク リ ッ ク し ます。

• At the Tcl prompt:

• 「bp list」 と入力し てデザイ ンに含まれるブレーク ポイ ン ト すべてを リ ス ト し、各ブレー

ク ポイ ン ト のイ ンデッ ク ス番号および行数を示し ます。

• 「bp del」 または 「bp remove」 に続けてブレーク ポイ ン ト のイ ンデッ ク ス番号を入力し ま

す。 詳細は、 104 ページの 「bp」 を参照し て く だ さい。

注記 : ブレーク ポ イ ン ト は [Breakpoints] パネルで右ク リ ッ ク し て [Delete] を ク リ ッ クするか

[Delete] ボタ ン を ク リ ッ ク し て も削除でき ます。

全ブレークポイ ン ト の削除

すべてのブレーク ポイ ン ト を削除するには、 次のいずれかの手順を使用し て く ださ い。

• [View] → [Breakpoint] → [Delete All Breakpoints] を ク リ ッ ク し ます。

• [Delete All Breakpoints] ボタ ン を ク リ ッ ク し ます。

• Tcl プロ ンプ ト に 「bp clear 」 と入力し ます。

ISim ユーザー ガイ ド japan.xilinx.com 79UG660 (v14.1) 2012 年 4 月 24 日

Page 84: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 6 章 : ソース レベルでのデバッ グ

80 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 85: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 7 章

消費電力のアクテ ィ ビテ ィ データの書き出し

ISim では、デザイ ンのス イ ッ チング ア ク テ ィ ビテ ィ データ を含むフ ァ イルを書き出すこ と ができ、

次の 2 つの操作に役立ちます。

• XPower Analyzer などの消費電力解析ツールを使用し た消費電力の概算

• マ ッ プ、配置配線 (PAR) ツールを使用し た消費電力を 適にするデザイ ンのイ ンプ リ メ ンテー

シ ョ ン

ス イ ッ チング ア ク テ ィ ビテ ィ データは RTL レベルまたは配置配線 (PAR) が完了し ているデザイ

ンのシ ミ ュ レーシ ョ ンか ら書き出すこ と ができ ます。 マ ッ プ、 PAR、 および XPower Analyzer で

は、 RTL および配置配線後のシ ミ ュ レーシ ョ ンから生成されたス イ ッチング ア ク テ ィ ビテ ィ デー

タ を使用でき ます。

消費電力解析および消費電力を 適化し た イ ンプ リ メ ンテーシ ョ ンの精度が高 く なる よ う 、 配置配

線シ ミ ュ レーシ ョ ンで生成し たス イ ッ チング ア ク テ ィ ビテ ィ データ を使用する よ う にし て く だ さ

い。 これでデータが配置配線の結果から生じ たデザイ ン内部ノ ード と一致し ます。

また、 消費解析および消費電力を 適にし た イ ンプ リ メ ンテーシ ョ ンで RTL シ ミ ュ レーシ ョ ンか

ら生成される ス イ ッチング ア ク テ ィ ビテ ィ データ を使用する こ と も可能です。こ のシ ミ ュ レーシ ョ

ンは配置配線後のシ ミ ュ レーシ ョ ン よ り も高速です。ただし、デザイ ンの入力および出力のア ク テ ィ

ビテ ィ データのみが考慮されます。 ツールでは、 デザイ ンの内部ノ ード のア ク テ ィ ビテ ィ を予測す

るためにベク ターレ ス解析アルゴ リ ズムが使用されます。

これらのツールでス イ ッチング ア ク テ ィ ビテ ィ データ を使用する方法についての詳細は、 『コマン

ド ラ イ ン ツール ユーザー ガ イ ド』 でイ ンプ リ メ ンテーシ ョ ン ツール (MAP と PAR) を、 消費解

析方法は XPower Analyzer ヘルプを参照し て く だ さ い。 これら の文書への リ ン ク は、 付録 D 「そ

の他の リ ソース」 に含まれます。

ア ク テ ィ ビテ ィ フ ァ イルの作成

次の 2 種類のステ ィ ミ ュ ラ ス フ ァ イルを書き出すこ と ができ ます。

• SAIF Switching Activity Interchange format (SAIF) フ ァ イルには、 デザイ ンに含まれる信号の ト グ

ル カ ウ ン ト (遷移数) が含まれています。 また、 信号の時間を 0、 1、 X、 Z に指定する タ イ ミ

ング属性も含まれています。 SAIF フ ァ イルは VCD フ ァ イルよ り も小さ いため、 消費電力に

関連する タ ス ク (消費電力解析または消費電力を 適にする イ ンプ リ メ ンテーシ ョ ン) で使用

する こ と を推奨し ます。

• VCD Value Change Dump (VCD) フ ァ イルは、 ヘッ ダー情報、 変数定義、 およびシ ミ ュ レーシ ョ ン

の各ステ ッ プでの値の変化の詳細を含む ASCII フ ァ イルです。 こ のフ ァ イルを使用する と、デ

ザイ ンの消費電力を概算でき ます。このフ ァ イルの計算時間は長 く なる可能性があ り 、またフ ァ

イル サイ ズは SAIF フ ァ イルよ り 大き く な り ます。

ISim ユーザー ガイ ド japan.xilinx.com 81UG660 (v14.1) 2012 年 4 月 24 日

Page 86: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 7 章 : 消費電力のアク テ ィ ビテ ィ データの書き出し

ア ク テ ィ ビテ ィ フ ァ イルを書き出すには、 次の手順に従います。

1. 消費電力の概算に使用する シ ミ ュ レーシ ョ ン中の信号遷移を収集する ア ク テ ィ ビテ ィ フ ァ イ

ルを作成し ます。

• SAIF : Tcl プロ ンプ ト で 「saif」 コマン ド を使用し ます。

• VCD : Tcl プロ ンプ ト で 「vcd」 コマン ド を使用するか、コマン ド ラ イ ンでシ ミ ュ レーシ ョ

ン実行フ ァ イルに対し て -vcdfile オプシ ョ ンを指定し ます。

2. シ ミ ュ レーシ ョ ンを実行し ます。 た と えば、 次のよ う に実行し た と し ます。

run 1000 ns

コマン ド ラ イ ンでシ ミ ュ レーシ ョ ン実行フ ァ イルを使用し てシ ミ ュ レーシ ョ ンを実行する場

合は、 手順 1 と 2 を同時に実行でき ます。

3. シ ミ ュ レーシ ョ ンが完了し た ら saif または vcd コマン ド を使用し て SAIF または VCD フ ァ イルを閉じ ます。 次はその例です。

saif close

vcd dumpoff

4. 作業デ ィ レ ク ト リ から SAIF または VCD フ ァ イルを取 り 出し てほかのツールで使用し ます。

82 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 87: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

要件

第 8 章

ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの使用

ハード ウ ェ ア協調シ ミ ュ レーシ ョ ン (HWCoSim) は、 ツール ベースの HDL シ ミ ュ レーシ ョ ンの補

足フ ローと し て統合されています。 こ の機能を使用する と、 デザイ ン またはデザイ ンの一部分のシ

ミ ュ レーシ ョ ンをハード ウ ェ アで実行でき ます。 これによ り 、 複雑なデザイ ンのシ ミ ュ レーシ ョ ン

を迅速化し てデザイ ンがハード ウ ェ アで正し く 動作する こ と を検証でき ます。

要件

ハード ウ ェ ア協調シ ミ ュ レーシ ョ ンを実行するには、 次の要件を満たす必要があ り ます。

• Xilinx® ISE® Design Suite 14.x (いずれかのエデ ィ シ ョ ン)

• 32 ビ ッ ト または 64 ビ ッ ト の Windows または Linux

• JTAG ヘッ ダーが付いている FPGA ボード

サポー ト される FPGA デバイ スは、 次の とお り です。

• Virtex®-4、 Virtex-5、 Virtex-6、 Virtex-7

• Spartan®-3、 Spartan-3E、 Spartan-3A、 Spartan-3AN、 Spartan-3A DSP、 Spartan-6

• Artix™-7、 Kintex™-7

• ザイ リ ン ク ス パラ レル ケーブル IV またはプラ ッ ト フ ォーム ケーブル USB

モデルの使用

ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン (HWCoSim) では、 ロ ジ ッ ク ベース デザイ ン向けモデル と ハ

イブ リ ッ ド デザイ ン向けのモデルの 2 つのモデルがサポー ト されています。

完全ロジ ッ ク ベース デザイ ン

完全ロ ジ ッ ク ベース デザイ ンの協調シ ミ ュ レーシ ョ ンは、 ISim シ ミ ュ レータ と ロ ッ ク ステ ッ プ方

式 (並列処理) で実行されます。 協調シ ミ ュ レーシ ョ ンを実行するモジュールには、 通常次の特徴が

あ り ます。

• LUT、 フ リ ッ プフ ロ ッ プ、 ブロ ッ ク RAM、 および DSP プ リ ミ テ ィ ブのみで構成

• ポー ト が ISim で制御されてお り 、 テス ト ベンチから ア ク セス可能 (外部 I/O な し )

• モジュールの機能と モジュールのク ロ ッ ク周波数は無関係のため、 連続し た ク ロ ッ ク または特

定の周波数のク ロ ッ ク で実行する必要があ り ません。

完全ロ ジ ッ ク のロ ッ ク ステ ッ プ方式に基づいたハード ウ ェ ア協調シ ミ ュ レーシ ョ ンには、 次の利点

があ り ます。

• 計算量の多いデザイ ンでシ ミ ュ レーシ ョ ンを高速化

ISim ユーザー ガイ ド japan.xilinx.com 83UG660 (v14.1) 2012 年 4 月 24 日

Page 88: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 8 章 : ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの使用

• ハード ウ ェ ア内での論理検証

• ツール シ ミ ュ レーシ ョ ンをビ ッ ト およびサイ クル単位で正確に実行

ハイブ リ ッ ド デザイ ン

完全にロ ジ ッ ク に基づいている使用モデルはセ ッ ト ア ッ プが単純ですが、 ハード IP、 外部 I/O、 お

よび特定のク ロ ッ ク周波数を必要とする よ う なデザイ ンには不向きです。ISim のハード ウ ェ ア協調

シ ミ ュ レーシ ョ ンでは、 次のよ う な特徴のデザイ ンをサポー ト するハイブ リ ッ ド の協調シ ミ ュ レー

シ ョ ン フ ローが提供されています。

• ハード IP ブロ ッ ク、 DCM/PLL、 および MGT で構成

• ツール シ ミ ュ レーシ ョ ン と ロ ッ ク ステ ッ プし てエ ミ ュ レー ト された ク ロ ッ ク ソース を使用す

る ク ロ ッ ク も あれば、 外部ク ロ ッ ク ソース を使用する フ リ ー ラ ンニングの ク ロ ッ ク も あ る。

• 一部のポー ト を ISim で制御されずツールのテス ト ベンチから も ア ク セスでき ない外部 I/O に

マ ッ プ可能

ハイブ リ ッ ド協調シ ミ ュ レーシ ョ ン フ ローには、 次の利点があ り ます。

• シ ミ ュ レーシ ョ ンの高速化

• ハード ウ ェ アで機能を検証

• 通常の協調シ ミ ュ レーシ ョ ン セ ッ ト ア ッ プよ り 優れてお り 、ハード ウ ェ ア と ソ フ ト ウ ェ ア間で

カ ス タマイ ズし た通信や複雑な通信が可能

制限事項

ハード ウ ェ ア協調シ ミ ュ レーシ ョ ン (HWCoSim) には、 次のよ う な制限があ り ます。

• デザイ ンのイ ン ス タ ン ス を 1 つのみ選択でき、 そのイ ン ス タ ン スに 上位のテス ト ベンチを選

択する こ と はでき ません。

• ハード ウ ェ ア協調シ ミ ュ レーシ ョ ンに選択し た イ ン ス タ ン スは、 XST を使用し て合成し、 選択

し たボード のターゲ ッ ト FPGA デバイ スにイ ンプ リ メ ン ト でき る よ う にする必要があ り ます。

ロ ッ ク ステ ッ プ方式のハード ウ ェ ア協調シ ミ ュ レーシ ョ ンでは、 ク ロ ッ ク供給および I/O にも制限

があ り ます。

• ハード ウ ェ アで協調シ ミ ュ レーシ ョ ン される イ ン ス タ ン スは、ISim で制御されるエ ミ ュ レー ト

ク ロ ッ ク ソースによ り ク ロ ッ クが供給されます。 こ の ク ロ ッ クは、 シ ミ ュ レーシ ョ ン と は非同

期です。 こ のため、 協調シ ミ ュ レーシ ョ ンはハード ウ ェ アで実行されるデザイ ンのシナ リ オが

完全にはモデル化されず、 タ イ ミ ング シ ミ ュ レーシ ョ ン と し ては機能し ません。

• 協調シ ミ ュ レーシ ョ ンのイ ン ス タ ン スは、外部 I/O または MGT (Multi-Gigabit Transceiver) に

ア ク セス し た り 、 継続ク ロ ッ クや特定の周波数の ク ロ ッ ク を必要 とする DCM や PLL などの

プ リ ミ テ ィ ブを イ ン ス タ ンシエー ト でき ません。

• 協調シ ミ ュ レーシ ョ ンのイ ン ス タ ン スのポー ト はすべてス ラ イ ス レジス タ または LUT に配線

でき る よ う にする必要があ り ます。 FPGA の一部の リ ソースでは、 IOB やプ リ ミ テ ィ ブの特定

ポー ト などへの専用配線が必要なため、 協調シ ミ ュ レーシ ョ ンのイ ン ス タ ン スのポー ト には接

続でき ません。

84 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 89: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

コ ンパイルの使用方法

コ ンパイルの使用方法

ツール ベースの HDL シ ミ ュ レーシ ョ ン と同様、 ハード ウ ェ ア協調シ ミ ュ レーシ ョ ンを実行する前

にシ ミ ュ レーシ ョ ン実行フ ァ イルにデザイ ンを コ ンパイルする必要があ り ます。 コ ンパイルするに

は、fuse コマン ド を コマン ド ラ イ ンまたは ISE/PlanAhead™ から起動し、 協調シ ミ ュ レーシ ョ ン

実行フ ァ イル、 ハード ウ ェ ア協調シ ミ ュ レーシ ョ ン ビ ッ ト ス ト リ ーム、 および協調シ ミ ュ レーシ ョ

ン プロジェ ク ト フ ァ イルを作成し ます。

fuse コ マン ド ラ イ ン フ ロー

fuse コマン ド では、 ハード ウ ェ ア協調シ ミ ュ レーシ ョ ン用にデザイ ンを コ ンパイルする場合、 複数

のコ ンパイル オプシ ョ ンがあ り ます。

使用方法

fuse -prj <project file> <top level modules>

-hil_zynq_ps

-hwcosim_board <board>

-hwcosim_clock <clock>

-hwcosim_constraints <constraints file>

-hwcosim_incremental [0|1]

-hwcosim_instance <instance>

-hwcosim_no_combinatorial_path

説明 :

• -hil_zynq_ps : Zynq™ プロセ ッ サ システム (PS) ハード ウ ェア イ ン ループ (HIL) シ

ミ ュ レーシ ョ ンを イ ネーブルにし ます。

• -hwcosim_board : 協調シ ミ ュ レーシ ョ ンに使用するハード ウ ェア ボード を指定し ます。

サポー ト されるボード の リ ス ト は、 92 ページの 「サポー ト されるボード」 を参照し て く だ

さ い。

• -hwcosim_clock : イ ン ス タ ン スの ク ロ ッ ク入力のポー ト 名を指定し ます。

複数の ク ロ ッ ク を使用するデザイ ンでは、 こ のオプシ ョ ンで 高速の ク ロ ッ ク を指定し、

ISim でシ ミ ュ レーシ ョ ンが 適化される よ う にし ます。その他の ク ロ ッ ク ポー ト は、通常

のデータ ポー ト と し て処理されます。

• -hwcosim_constraints (オプシ ョ ン) : ハード ウ ェ ア協調シ ミ ュ レーシ ョ ン用にイ ン

ス タ ン ス を イ ンプ リ メ ン ト する ための追加制約を含むカ ス タ ム制約フ ァ イ ルを指定し ま

す。 こ の制約フ ァ イルは、 ハード ウ ェア協調シ ミ ュ レーシ ョ ン フ ローで外部 I/O またはク

ロ ッ ク にマ ッ プする イ ン ス タ ン スのポー ト を指定する と きにも使用し ます。

• -hwcosim_incremental (オプシ ョ ン) : fuse で前回生成されたハード ウ ェ ア協調シ

ミ ュ レーシ ョ ン ビ ッ ト ス ト リ ームを再利用し、 イ ンプ リ メ ンテーシ ョ ン フ ローを ス キ ッ

プする よ う 指定し ます。

• -hwcosim_instance : ハード ウ ェ アで協調シ ミ ュ レーシ ョ ンするためにイ ン ス タ ン スの

完全階層パス を指定し ます。

• -hwcosim_no_combinatorial_path : FPGA で実行されるデザイ ンに入力から出力

までの純粋な組み合わせパスが含まれない場合に、 シ ミ ュ レーシ ョ ンの速度を上げます。

ISim ユーザー ガイ ド japan.xilinx.com 85UG660 (v14.1) 2012 年 4 月 24 日

Page 90: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 8 章 : ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの使用

ツール フ ロー

1. プロ ジェ ク ト のシ ミ ュ レータに ISim が選択されている こ と を確認し ます。[Simulation] ビ ュー

に切 り 替えます。

2. [Hierarchy] ペイ ンでハード ウ ェ アで協調シ ミ ュ レーシ ョ ンする イ ン ス タ ン ス を選択し て右ク

リ ッ ク し ます。

3. [Source Properties] を ク リ ッ ク し、 [Source Properties] ダ イ ア ロ グ ボ ッ ク ス を開き ます。

4. [Source Properties] ダ イ ア ロ グ ボ ッ ク ス左側の [Category] リ ス ト で [Hardware Co-Simulation] を ク リ ッ ク し ます。

5. ハード ウ ェ ア協調シ ミ ュ レーシ ョ ンに対し て次のプロパテ ィ を設定し ます。

• [Enable Hardware Co-Simulation] をオンにし ます。

ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンではイ ン ス タ ン ス 1 つのみを イ ネーブルにでき る の

で、 こ のプロパテ ィ をオンにする と、 以前にハード ウ ェ ア協調シ ミ ュ レーシ ョ ンでイ ネー

ブルにされていた別のイ ン ス タ ン スがデ ィ スエーブルにされます。

• [Clock Port] フ ィ ール ド にイ ン ス タ ン スの ク ロ ッ ク ポー ト 名を入力し ます。 複数のク ロ ッ

ク を使用する イ ン ス タ ン スの場合は、 高速の ク ロ ッ ク ポー ト の名前を指定し て く だ さ

い。

• [Target Board for Hardware Co-Simulation] ド ロ ッ プダウ ン リ ス ト から ボード を選択し ま

す。 リ ス ト には、 同じプロ ジェ ク ト デバイ ス フ ァ ミ リ の FPGA のボード のみが表示され

ます。

• 以前のハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンのビ ッ ト ス ト リ ームがあ り 、 協調シ ミ ュ レー

シ ョ ンの イ ン ス タ ン ス を変更 し ない場合は、 [Reuse Last Bitstream File] をオンに し て、

ハード ウ ェ ア協調シ ミ ュ レーシ ョ ンのイ ンプ リ メ ンテーシ ョ ン フ ローを ス キ ッ プし ます。

• [OK] を ク リ ッ ク し ます。

ハード ウ ェ ア協調シ ミ ュ レーシ ョ ンがイ ネーブルにされている イ ン ス タ ン スの横に

特別なア イ コ ン が表示されます。

[Hierarchy] ペイ ンでテス ト ベンチ モジ ュールを選択し てシ ミ ュ レーシ ョ ンを実行し ます。 ハー ド

ウ ェ ア協調シ ミ ュ レーシ ョ ンは、 選択し た イ ン ス タ ン ス よ り 上の階層レベルで開始する必要があ り

ます。

6. テス ト ベンチの [Instances and Processes] パネルで次を実行し ます。 [Simulate Behavior Model] をダブルク リ ッ ク し、コ ンパイルおよびシ ミ ュ レーシ ョ ン プロセス

を開始し ます。

7. [Simulate Behavior Model] のプロセス プロパテ ィ を開 く と、コ ンパイルおよびシ ミ ュ レーシ ョ

ン プロセス を開始する前に ISim のオプシ ョ ンを設定でき ます。\図 8-1 から 88 ページの図 8-3 は、 手順 1 ~ 8 を示し ています。

86 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 91: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ツール フ ロー

図 8-1 : 手順 1、 2、 3

図 8-2 : 手順 4、 5

ISim ユーザー ガイ ド japan.xilinx.com 87UG660 (v14.1) 2012 年 4 月 24 日

Page 92: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 8 章 : ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの使用

ハイブ リ ッ ド協調シ ミ ュ レーシ ョ ン フ ロー

外部ピンおよびフ リ ー ラ ンニング ク ロ ッ ク を使用するには、 カス タ ム制約フ ァ イル (UCF) を供給

する必要があ り ます。 こ のフ ローでは、 -hwcosim_constraints オプシ ョ ンで指定し た制約フ ァ

イルが読み出され、 FPGA の IOB にマ ッ プする ピンが決定されます。

1. ISim シ ミ ュ レーシ ョ ン と ロ ッ ク ステ ッ プ方式で実行するデザイ ン箇所およびフ リ ー ラ ンニン

グになる箇所を決定し ます。 89 ページの図 8-4 は、 こ のコ ンセプ ト を簡単に示し ています。

図 8-3 : 手順 6、 7、 8

88 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 93: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ハイブ リ ッ ド協調シ ミ ュ レーシ ョ ン フ ロー

2. 元のデザイ ン制約フ ァ イルを コ ピーし て、 カ ス タ ム制約フ ァ イルのベース と し て使用し ます。

3. ISim で制御する ピンの LOC 制約を コ メ ン ト アウ ト する よ う にカ ス タ ム制約フ ァ イルを編集し

ます。 LOC 制約が設定されているほかのピンは、 外部と想定されます。

4. た と えば、次のよ う な書き込み側をシングル ステ ッ プ、読み出し側をフ リ ー ラ ンニングにする

よ う な FIFO デザイ ンがあ る と し ます。

module FIFO (WCLK, WDATA, WE, RCLK, RDATA, RE);

isim_hwcosim.ucf は、 次のよ う にな り ます。

# The following pin LOCs commented out as they are driven by ISim# NET "WCLK" PERIOD = 5 ns HIGH 50%;# NET "WCLK" LOC = "A1"; # <--- this becomes single-step clock# NET "WDATA" LOC = "A2"; # <--- these are accessible from ISim testbench# NET "WE" LOC = "A3";NET "RCLK" PERIOD = 10 ns HIGH 50%; NET "RCLK" LOC = "B1"; # <-- this becomes free-running clockNET "RDATA" LOC = "B2"; # <-- these go to external IOBsNET "RE" LOC = "B3";

図 8-4 : ロ ッ クステ ッ プ方式と フ リ ー ラ ンニング方式の適用箇所

ISim ユーザー ガイ ド japan.xilinx.com 89UG660 (v14.1) 2012 年 4 月 24 日

Page 94: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 8 章 : ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの使用

ハー ド ウ ェ ア ボー ド使用方法

次に、 ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン を実行する ためのハー ド ウ ェ アの イ ン ス ト ールおよび

セ ッ ト ア ッ プ方法を示し ます。

1. ハード ウ ェ ア ボード の電源がオフになっている こ と を確認し ます。

2. ザイ リ ン ク ス パラ レル ケーブル IV を使用し ている場合は、 手順 2a ~ 2d に従います。

a. ザイ リ ン ク ス パラ レル ケーブル IV の DB25 プラ グ コネ ク タ を IEEE 1284 準拠 PC パラ

レル (プ リ ン ター ) ポー ト コネ ク タに接続し ます。

b. 幅の狭い (14 ピン) 6 イ ンチ高速 リ ボン ケーブルを使用し て、ザイ リ ン ク ス パラ レル ケー

ブル IV をボード上 FPGA の JTAG ヘッ ダーに接続し ます。

c. 電源ジャ ッ ク ケーブルを PC の キーボード /マウ スのコネ ク タに接続し ます。

d. 必要に応じ てケーブル/マウ ス ケーブルのオス端子をザイ リ ン ク ス電源ジャ ッ ク ケーブル

(スプ リ ッ ター ケーブル) の メ ス コ ネ ク タに接続し ます。

3. ザイ リ ン ク ス パラ レル ケーブル USB を使用し ている場合は、 手順 3a ~ 3b に従います。

a. ザイ リ ン ク ス プラ ッ ト フ ォーム ケーブル USB を PC の USB ポー ト に接続し ます。

b. 幅の狭い (14 ピン) 6 イ ンチ高速 リ ボン ケーブルを使用し て、 ザイ リ ン ク ス プラ ッ ト

フ ォーム ケーブル USB をボード上 FPGA の JTAG ヘッ ダーに接続し ます。

4. ボード でポイ ン ト ツー ポイ ン ト (P2P) イーサネ ッ ト 協調シ ミ ュ レーシ ョ ンがサポー ト されて

お り 、 イーサネ ッ ト P2P を使用し て高速協調シ ミ ュ レーシ ョ ンを実行する場合は、 イーサネ ッ

ト ケーブルを使用し て PC のイーサネ ッ ト ポー ト をボード のイーサネ ッ ト ポー ト に接続し ま

す。 コ ンピ ューターに複数のイーサネ ッ ト カード またはポー ト があ る場合は、 ボード を接続し

たポー ト の MAC ア ド レ ス を確認し て く ださ い。 ISim の Tcl コマン ド hwcosim set

ethernetInterfaceID を使用し て このア ド レ ス を ISim エンジンに渡し ます。

5. ボード の電源を入れて、 ケーブルの LED が緑色に点灯する こ と を確認し ます。

6. ザイ リ ン ク ス ケーブル ド ラ イバーを イ ンス ト ールし ます。 イーサネ ッ ト の詳細については、

94 ページの 「イーサネ ッ ト の決定」 を参照し て く ださ い。

ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン

ツール シ ミ ュ レーシ ョ ンの実行フ ァ イル と異な り 、ハード ウ ェ ア協調シ ミ ュ レーシ ョ ンの実行フ ァ

イルではハード ウ ェ ア ボード と通信し て、選択し たデザイ ン箇所のシ ミ ュ レーシ ョ ンをハード ウ ェ

アにオフ ロー ド し ます。 こ の実行フ ァ イルは、 ツール シ ミ ュ レーシ ョ ン フ ロー と同様に起動でき

ます。

• 実行フ ァ イルを起動する と、 Tcl シェル イ ン ターフ ェ イ スが開き シ ミ ュ レーシ ョ ンを制御でき

ます。

• -gui オプシ ョ ン と共に起動する と、 ISim の GUI フ ロ ン ト エン ド が開いて波形が表示されま

す。

シ ミ ュ レーシ ョ ンの開始前、 およびシ ミ ュ レーシ ョ ンが リ ス ター ト されるたびに、 実行フ ァ イルで

は FPGA がハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン ビ ッ ト ス ト リ ームでコ ンフ ィ ギ ュ レーシ ョ ン され

ます。こ のコ ンフ ィ ギュ レーシ ョ ン プロセスは JTAG ケーブルの速度によ っては数秒から数十秒か

かる場合があ り ます。 ISim では、 コ ンフ ィ ギュ レーシ ョ ンが終了する と [Console] パネルにそれを

示す メ ッ セージが表示されます。

90 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 95: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim ハー ド ウェ ア協調シ ミ ュ レーシ ョ ンの Tcl コマン ド

ISim ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの Tcl コ マン ド

ISim では、 ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンでデザイ ン階層に含まれる イ ン ス タ ン スのプロパ

テ ィ にア ク セスでき る よ う 、 次の Tcl (ツール コマン ド言語) コマン ド を提供し ています。 これらの

コマン ド はス コープに影響を受け るので、 初に 「scope」 コマン ド を使用し てデザイ ン階層でハー

ド ウ ェ ア協調シ ミ ュ レーシ ョ ン向けにイ ネーブルにされている イ ン ス タ ン ス を選択する必要があ り

ます。

• hwcosim get <property>

現在のス コープでハード ウ ェ ア協調シ ミ ュ レーシ ョ ン イ ン ス タ ン スのプロパテ ィ を取得し ま

す。た と えば、次の Tcl コマン ド では /mytestbench/top/hwcosim_inst にあ るハード ウ ェ

ア協調シ ミ ュ レーシ ョ ン イ ンス タ ンスの cableParameters プロパテ ィ を取得し ます。

scope /mytestbench/top/hwcosim_inst

hwcosim get cableParameters

• hwcosim set <property> <value>

現在のス コープでハード ウ ェ ア協調シ ミ ュ レーシ ョ ン イ ン ス タ ン スのプロパテ ィ を設定し ま

す。hwcosim set コマン ド は、 初期化が終了し た後 (init/restart コマン ド の実行後) と シ

ミ ュ レーシ ョ ン実行の前 (run コマン ド の実行前) で適用されます。 また、 こ のコマン ド はシ

ミ ュ レーシ ョ ン実行中には適用されないので、init または restart コマン ド を呼び出し た後

に -hwcosim set コマン ド を呼び出す必要があ り ます。た と えば、次の Tcl コマン ド では 2 回

のシ ミ ュ レーシ ョ ン実行で /mytestbench/top/hwcosim_inst にあ るハード ウ ェ ア協調シ

ミ ュ レーシ ョ ン イ ンス タ ンスの skipConfig プロパテ ィ が設定されます。

init

scope /mytestbench/top/hwcosim_inst

hwcosim set skipConfig 1

run 1000 ns

restart

scope /mytestbench/top/hwcosim_inst

hwcosim set skipConfig 1

run 1000 ns

次のハード ウ ェ ア協調シ ミ ュ レーシ ョ ンのプロパテ ィ は、 シ ミ ュ レーシ ョ ンの実行前に変更でき ま

す。

• skipConfig

デフ ォル ト は 0 です。 FPGA コ ンフ ィ ギュ レーシ ョ ンを ス キ ッ プする場合は 1 に設定し ます。

コ ンフ ィ ギュ レーシ ョ ンを スキ ッ プするには、 FPGA が有効なハード ウ ェ ア協調シ ミ ュ レー

シ ョ ン ビ ッ ト ス ト リ ームでコ ンフ ィ ギュ レーシ ョ ン されている必要があ り ます。 されていない

場合は、 予期せぬ動作が発生する可能性があ り ます。

• cableParameters デフ ォル ト は、 空の文字列になっています。 こ のプロパテ ィ は、 iMPACT または ChipScope™ Analyzer でサポー ト されているサー ド パーテ ィ の JTAG ケーブルを指定する と きに使用し ま

す。ケーブルのプラ グ イ ン パラ メーターの指定については、iMPACT ヘルプおよび『ChipScope Pro ソ フ ト ウ ェ アおよびコ ア ユーザー ガ イ ド』 (UG029) を参照し て く だ さい。こ の文書への リ

ン クは、 付録 D 「その他の リ ソース」 に含まれます。

• shareCable デフ ォル ト は 0 です。 こ のプロパテ ィ は、 JTAG ベースの協調シ ミ ュ レーシ ョ ン イ ン ターフ ェ

イ スでのみ使用でき ます。 JTAG ケーブルを Xilinx Microprocessor Debugger (XMD) または

ISim ユーザー ガイ ド japan.xilinx.com 91UG660 (v14.1) 2012 年 4 月 24 日

Page 96: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 8 章 : ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの使用

ChipScope Analyzer と共有し て同時ア ク セスする場合は 1 に設定し ます。こ のモード はハード

ウ ェ ア協調シ ミ ュ レーシ ョ ンシ ミ ュ レーシ ョ ンのパフ ォーマン ス を大幅に下げる可能性があ る

ので、 必要な と きのみ使用し て く ださ い。

• ethernetInterfaceID デフ ォル ト は、 空の文字列になっています。 こ のプロパテ ィ は、 イーサネ ッ ト ベースの協調シ

ミ ュ レーシ ョ ン イ ン ターフ ェ イ スでのみ使用でき ます。

複数のイーサネ ッ ト カード がホス ト マシンにあ る場合は、FPGA ボード に接続されている イー

サネ ッ ト カード を選択する必要があ り ます。 こ の場合、イーサネ ッ ト カード の MAC ア ド レ ス

(xx:xx:xx:xx:xx:xx) を設定し ます。 詳細は、 94 ページの 「イーサネ ッ ト の決定」 を参照し て く

ださ い。

サポー ト されるボー ド

ISim でハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン用に新し い FPGA ボー ド をサポー ト する には、 その

ボー ド に JTAG ヘッ ダーが必要です。 次のボード 情報を記録し たボード サポー ト フ ァ イルが必要

にな り ます。

• FPGA パーツ情報

• システム ク ロ ッ クの周期およびピ ン ロ ケーシ ョ ン

• JTAG バウ ンダ リ スキ ャ ン チェーン情報

ボード情報をボード サポー ト フ ァ イルに含める と、ハード ウ ェ ア協調シ ミ ュ レーシ ョ ンでそのボー

ド を使用でき ます。 こ のボード サポー ト フ ァ イルを生成する GUI フ ロ ン ト エン ド はあ り ません。

別のボー ド をサポー ト するには、 デフ ォル ト のボード サポー ト フ ァ イルを変更するか、 または別

のボード サポー ト フ ァ イルを供給し ます。 別のボード サポー ト フ ァ イルを供給する場合は、 フ ァ

イル名は hwcosim.bsp にし て、 fuse を起動するデ ィ レ ク ト リ に含める必要があ り ます。 ボード

サポー ト フ ァ イルには、 特定のフ ォーマ ッ ト で記述されたボード仕様が含まれます。

次の例では ml402-jtag がボード識別子 と し て fuse コマン ド に供給されて、 そのボード向けにデ

ザイ ンがコ ンパイルされます。

‘ml402-jtag’ => {‘Description’ => ‘ML402 (JTAG)’,‘Vendor’ => ‘Xilinx’,‘Type’ => ‘jtag’,‘Part’ => ‘xc4vsx35-10ff668’,‘Clock’ => {‘Period’ => 10,‘Pin’ => ‘AE14’,},‘BoundaryScanPosition’ => 3,},

ボード識別子には、 次のプロパテ ィ が含まれています。

• Description : ボード の説明

• Vendor : ボード のベンダー

• Type : 使用する協調シ ミ ュ レーシ ョ ン イ ン ターフ ェ イ スの種類。 使用でき る値は、 次の

とお り です。

- jtag

92 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 97: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

サポー ト されるボー ド

- ppethernet : (ポイ ン ト ツー ポイ ン ト のイーサネ ッ ト ベースのハード ウ ェ ア協調シ

ミ ュ レーシ ョ ン)

• Part : ボード上 FPGA のパーツ名

• Clock : システム ク ロ ッ ク情報Period (および VariablePeriods) : サポー ト される ク

ロ ッ ク周期 (ns)

• Pin : ク ロ ッ ク ピ ンのロ ケーシ ョ ン。 差動ク ロ ッ ク ソースでは Positive および Negative ク ロ ッ ク ピ ンの両方を入力し ます。

• BoundaryScanPosition : JTAG バウ ンダ リ スキ ャ ン チェーンの FPGA の位置 (1 から

順に指定)。 こ の情報は、 ザイ リ ン ク ス iMPACT ツールを実行する こ と によ り 確認でき ま

す。

注記 : ポイ ン ト ツー ポイ ン ト イーサネ ッ ト ハード ウ ェ ア協調シ ミ ュ レーシ ョ ンでは、 さ らに

フ ィ ー ル ド を 指 定 す る 必 要 が あ り ま す。 例 と し て、 $XILINX/sysgen/hwcosim/data/

hwcosim.bsp フ ァ イルの ml605-ppethernet の設定を確認し て く ださ い。

ボー ド サポー ト フ ァ イル

デフ ォル ト では、 次のザイ リ ン ク ス ボー ド がサポー ト されています。 デフ ォル ト のボー ド サポー

ト フ ァ イルは、ISE® 14.x イ ン ス ト ールの次のデ ィ レ ク ト リ に含まれています。$XILINX/sysgen/ hwcosim/data/hwcosim.bsp.

次に、 デフ ォル ト でサポー ト されるボード を示し ます。

• ml401-jtag - Xilinx® Virtex®-4 ML401 評価プラ ッ ト フ ォーム

• ml402-jtag - Xilinx ML402 評価プラ ッ ト フ ォーム

• ml403-jtag - Xilinx ML403 評価プラ ッ ト フ ォーム

• ml405-jtag - Xilinx ML405 評価プラ ッ ト フ ォーム

• ml410-jtag - Xilinx ML410 評価プラ ッ ト フ ォーム

• ml501-jtag - Xilinx Virtex-5 ML501 評価プラ ッ ト フ ォーム

• ml505-jtag - Xilinx ML505 評価プラ ッ ト フ ォーム

• ml506-jtag - ML506 ppethernet - Xilinx ML506 評価プラ ッ ト フ ォーム

• ml507-jtag - Xilinx ML507 評価プラ ッ ト フ ォーム

• xupv5-jtag - Xilinx University Program XUPV5-LX110T 開発システム

• ml510-jtag - Xilinx ML510 評価プラ ッ ト フ ォーム

• ml605-jtag - ML605 ppethernet Xilinx Virtex-6 ML605 評価プラ ッ ト フ ォーム

• kc705-jtag - Xilinx Kintex™-7 FPGA KC705 評価キ ッ ト

• zc702-jtag - Zynq™-7000 EPP ボード

• vc707-jtag - Xilinx Virtex-7 FPGA VC707 評価キ ッ ト

• s3e-sk-jtag - Xilinx Spartan®-3E ス ターター キ ッ ト

• s3e-mb-jtag - Xilinx Spartan-3E MicroBlaze 開発キ ッ ト

• s3a-sk-jtag - Xilinx Spartan-3A ス ターター キ ッ ト

• s3an-sk-jtag - Xilinx Spartan-3AN ス ターター キ ッ ト

• s3adsp1800a-jtag - Xilinx Spartan-3A DSP 1800A ス ターター プラ ッ ト フ ォーム

• s3adsp3400a-jtag - Xilinx Spartan-3A DSP 3400A 開発プラ ッ ト フ ォーム

ISim ユーザー ガイ ド japan.xilinx.com 93UG660 (v14.1) 2012 年 4 月 24 日

Page 98: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 8 章 : ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの使用

• sp601-jtag - sp601 ppethernet Xilinx Spartan-6 SP601 評価プラ ッ ト フ ォーム

• sp605-jtag - sp605 ppethernet Xilinx Spartan-6 SP605 評価プラ ッ ト フ ォーム

イーサネ ッ ト の決定 複数のイーサネ ッ ト イ ン ターフ ェ イ スが存在する場合に イーサネ ッ ト ベースのハード ウ ェ ア協調

シ ミ ュ レーシ ョ ンを実行するには、協調シ ミ ュ レーシ ョ ンを実行する イーサネ ッ ト イ ン ターフ ェ イ

ス を選択する必要があ り ます。

以前のハード ウ ェ ア協調シ ミ ュ レーシ ョ ンをポイ ン ト ツー ポ イ ン ト イ ン ターフ ェ イ ス オプシ ョ ン

で実行する と、 次のエラー メ ッ セージが表示されます。

"ERROR:In process wrapper AHIL_INITIALIZE Failed to open hardware co-simulation instance.Error in Point-to-point Ethernet Hardware Co-simulation.There are multiple Ethernet interfaces available.Please select an interface."

次の手順に従って イーサネ ッ ト ポー ト を決定し、 イーサネ ッ ト のア ド レ ス を設定、 確認し て、 シ

ミ ュ レーシ ョ ン run を検証し ます。

1. 協調シ ミ ュ レーシ ョ ン ボード が接続されている イーサネ ッ ト ポー ト を決定し ます。

a. システムのコマン ド プロ ンプ ト でコマン ド ター ミ ナル ウ ィ ン ド ウ を開き ます (cmd)。

b. コマン ド ウ ィ ン ド ウで 「ipconfig -all」 と入力し て、 イーサネ ッ ト ポー ト およびその

接続の リ ス ト を表示し ます。 図 8-5 は、 コマン ド ウ ィ ン ド ウのコマン ド を示し ています。

c. 協調シ ミ ュ レーシ ョ ン ボード に接続されている イーサネ ッ ト ポー ト の物理ア ド レ ス を検

索し ます。

d. 物理ア ド レ スの区切 り 文字をダ ッ シュ (-) から コ ロ ン (:) に変更し ます。

例 :00:19:B9:75:E5:95

2. 次の手順に従い、 イーサネ ッ ト ポー ト を設定、 確認し ます。

a. GUI を起動し ます。

b. DUT (Design Under Test、 被試験デバイ ス) を選択し ます。

c. Tcl コ ン ソールを表示し ます。

d. Tcl コ ン ソールに次のコマン ド を入力し ます。

i. イーサネ ッ ト ア ド レ ス を次のよ う に設定し ます。

hwcosim set

ethernetInterfaceID <##:##:L#:##:L#:##> <physical address>

図 8-5 : ipconfig -all in cmd.exe

94 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 99: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

よ く 寄せられる質問 (FAQ)

ii. イーサネ ッ ト ア ド レ ス を確認し ます。

hwcosim get ethernetInterfaceID

iii. シ ミ ュ レーシ ョ ンが実行されるか確認し ます。

run 10us

図 8-6 は、 GUI でのプロセス を示し ています。

よ く 寄せられる質問 (FAQ)次の質問では、 FPGA で協調シ ミ ュ レーシ ョ ン さ れるデザ イ ン箇所について説明する際に DUT (Deisgn Under Test) を使用し て回答し ています。

一般

1. 質問 : ハード ウ ェア協調シ ミ ュ レーシ ョ ン (HWCoSim) はすべてのタ イプのデザイ ンでサポー

ト されますか。

回答 : 84 ページの 「制限事項」 に記載されている よ う に、 一部制限があ り ます。

2. 質問 : ハード ウ ェ ア協調シ ミ ュ レーシ ョ ンは、論理シ ミ ュ レーシ ョ ンですか。それと も タ イ ミ ン

グ シ ミ ュ レーシ ョ ンですか。

回答 : ハード ウ ェ アで支援される論理シ ミ ュ レーシ ョ ンで、 完全なツール シ ミ ュ レーシ ョ ンに

対し てビ ッ ト およびサイ クルの正確なシ ミ ュ レーシ ョ ンです。

3. 質問 : 独自のボード はどのよ う に使用でき ますか。

回答 : 92 ページの「サポー ト されるボード」に記載されている よ う にボード サポー ト フ ァ イル

にボード を追加でき ます。

図 8-6 : GUI コ ン ソールでのハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ン プロセス

ISim ユーザー ガイ ド japan.xilinx.com 95UG660 (v14.1) 2012 年 4 月 24 日

Page 100: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 8 章 : ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの使用

コ ンパイル

1. 質問 : デザイ ンに含まれる複数のイ ン ス タ ン ス をハード ウ ェ アで協調シ ミ ュ レーシ ョ ンでき ま

すか。

回答 : いいえ。 ハード ウ ェ ア協調シ ミ ュ レーシ ョ ンを選択でき るのは 1 つのイ ン ス タ ン スのみ

です。 複数のイ ン ス タ ン スの親イ ン ス タ ン ス を協調シ ミ ュ レーシ ョ ンするか、 または複数のイ

ン ス タ ン ス を 1 つのイ ン ス タ ン スにグループ化し て く だ さい。

2. 質問 : ChipScope デバッ グ ツールの ICON のよ う に、DUT で既に BSCAN プ リ ミ テ ィ ブを イ

ン ス タ ンシエー ト し ている場合はど う な り ますか。

回答 : ハード ウ ェ ア協調シ ミ ュ レーシ ョ ン イ ン ターフ ェ イ スでは、 ロ ケーシ ョ ン 1 の BSCAN プ リ ミ テ ィ ブが使用されるので、 DUT で別の BSCAN プ リ ミ テ ィ ブがロ ケーシ ョ ン 1 にイ ン

ス タ ンシエー ト される場合に MAP でエラーが発生する可能性があ り ます。

ChipScope ICON で BSCAN プ リ ミ テ ィ ブに別のロ ケーシ ョ ンを使用する よ う に変更する必

要があ る場合があ り ます。 Spartan-3 などの一部のデバイ ス フ ァ ミ リ には BSCAN プ リ ミ テ ィ

ブが 1 つしかないので、 ハード ウ ェ ア協調シ ミ ュ レーシ ョ ン イ ン ターフ ェ イ スは、 ChipScope ICON モジュール と共存でき ません。

ChipScope Analyzer または XMD と JTAG ケーブルを共有するには、 次の Tcl コマン ド を実

行する必要があ り ます。 hwcosim set shareCable 1.

シ ミ ュ レーシ ョ ン

1. 質問 : 複数の協調シ ミ ュ レーシ ョ ンを実行する と き、 FPGA コ ンフ ィ ギュ レーシ ョ ンを スキ ッ

プし て 後にダウ ン ロード し たビ ッ ト ス ト リ ームを使用でき ますか。

回答 : こ こ の操作を実行する ためのコマン ド ラ イ ンまたは GUI はあ り ませんが、Tcl コマン ド

の hwcosim set skipConfig 1 を実行でき ます。 ビ ッ ト ス ト リ ーム コ ンフ ィ ギュ レーシ ョ

ンを スキ ッ プする と、 複数のシ ミ ュ レーシ ョ ン実行中、 FPGA で実行し ているデザイ ンで前の

ステー ト が保持される こ と に注意し て く ださ い。新しいシ ミ ュ レーシ ョ ン実行を開始する際は、

テス ト ベンチでデザイ ンを正し く リ セ ッ ト する必要があ り ます。

2. 質問 : ハード ウ ェ アで協調シ ミ ュ レーシ ョ ン される DUT に含まれる信号をプローブでき ます

か。

回答 : いいえ。 ISim ではハード ウ ェ ア協調シ ミ ュ レーシ ョ ン イ ン ターフ ェ イ ス を介し て DUT のポー ト イ ン ターフ ェ イ スのみにア ク セスでき ます。 内部信号をデバッ グするには、 DUT の

ポー ト に信号を配線する必要があ り ます。

ク ロ ッ ク供給および I/O1. 質問 : DUT にはどのク ロ ッ ク が供給されますか。協調シ ミ ュ レーシ ョ ン中は DUT のク ロ ッ ク

供給はどのよ う に処理されますか。

回答 : ボード サポー ト フ ァ イルで指定されたハード ウ ェ ア ボード のク ロ ッ ク ピンがマス ター

ク ロ ッ ク ソースですが、 DUT の駆動には直接使用されません。 こ の ク ロ ッ ク ソースは DCM/ PLL を介し て特定の ク ロ ッ ク周波数 (通常は 25 ~ 100MHz) に調整されます。こ のク ロ ッ クは

ゲーテ ィ ッ ド ク ロ ッ ク バッ フ ァー (BUFGCTRL) を介し て DUT の ク ロ ッ ク ポー ト に到達し ま

す。ゲーテ ィ ッ ド ク ロ ッ ク バッ フ ァーでは、ツール シ ミ ュ レーシ ョ ンおよび DUT 実行に同期

する よ う にシ ミ ュ レーシ ョ ン サイ クルご と に DUT に ク ロ ッ ク パルスが生成されます。

2. 質問 : DUT のク ロ ッ ク を フ リ ー ラ ンニングにでき ますか。

96 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 101: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

よ く 寄せられる質問 (FAQ)

回答 : ハイブ リ ッ ド協調シ ミ ュ レーシ ョ ンでは、 1 つまたは複数の ク ロ ッ ク ポー ト を外部 I/O にマ ッ プする こ と で、 DUT の一部をフ リ ー ラ ンニングにでき ます。 ただし、 少な く と も DUT の 1 つのク ロ ッ クはロ ッ ク ステ ッ プ方式でツール シ ミ ュ レーシ ョ ン と同期し て供給する必要

があ り ます。こ のよ う にする こ と で、DUT を ロ ッ ク ステ ッ プで実行される部分と フ リ ー ラ ンニ

ングで実行される部分に効果的に分割でき ます。 ISim の ハード ウ ェ ア協調シ ミ ュ レーシ ョ ン

では、 2 つの部分にまたがる ク ロ ッ ク ド メ イ ンは挿入されない こ と にも注意し て く だ さい。

非同期バッ フ ァーまたは追加の同期化ロ ジ ッ ク が必要にな り ます。

3. 質問 : DUT を特定のク ロ ッ ク周波数で実行でき ますか。

回答 : ハイブ リ ッ ド協調シ ミ ュ レーシ ョ ンでは、DUT のフ リ ー ラ ンニング部分に外部ク ロ ッ ク

を供給でき ます。 ただし、 ロ ッ ク ステ ッ プ方式部分の ク ロ ッ クはツール シ ミ ュ レーシ ョ ン と同

期する よ う ISim で制御されるので、特定のク ロ ッ ク周波数に固定する こ と はでき ません。ロ ッ

ク ステ ッ プ方式部分の効果的な ク ロ ッ ク レー ト は、入力ク ロ ッ ク周波数に関わらず低速にな り

ます。

高速ク ロ ッ ク で DUT を駆動し て も、 主なボ ト ルネ ッ ク がツール と ハード ウ ェ ア間の通信なの

で、シ ミ ュ レーシ ョ ンのパフ ォーマン スは向上し ません。MAP や配置配線などのコ ンパイル プ

ロセスが高速で実行される よ う に DUT は低速ク ロ ッ ク周波数を使用し て制約されています。

4. 質問 : DUT の一部のポー ト を DDR メ モ リ モジュールなどの外部 I/O に接続でき ますか。

回答 : 外部 I/O およびク ロ ッ クは、 88 ページの 「ハイブ リ ッ ド協調シ ミ ュ レーシ ョ ン フ ロー」

に記載されている よ う に、ハイブ リ ッ ド協調シ ミ ュ レーシ ョ ン モード でカ ス タ ム制約フ ァ イル

を使用する と きにサポー ト されています。

ISim ユーザー ガイ ド japan.xilinx.com 97UG660 (v14.1) 2012 年 4 月 24 日

Page 102: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 8 章 : ハー ド ウ ェ ア協調シ ミ ュ レーシ ョ ンの使用

98 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 103: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章

ISim Tcl コマン ド

シ ミ ュ レーシ ョ ン コ マン ド を使用する と、 コ マン ド プロ ンプ ト で対話型シ ミ ュ レーシ ョ ンを実行

でき ます。

注記 : これら のコマン ド では、 大文字/小文字が区別されます。

シ ミ ュ レーシ ョ ン コマン ドの入力方法

シ ミ ュ レーシ ョ ン コマン ド は、 次いずれかの方法で入力し ます。

• ISim の GUI ISim の [Console] パネルにシ ミ ュ レーシ ョ ン コマン ド を入力し ます。

• コマン ド ラ イ ン

コマン ド ラ イ ンの Tcl プロ ンプ ト でシ ミ ュ レーシ ョ ン コマン ド を入力し ます。

• Tclbatch Tcl フ ァ イ ルにシ ミ ュ レーシ ョ ン コ マン ド を入力し、 -tclbatch オプシ ョ ン を使用し てシ

ミ ュ レーシ ョ ン実行フ ァ イルを実行し、 Tcl フ ァ イルを参照させます。

個別のコ マン ド を入力し た り 、 またはシ ミ ュ レーシ ョ ン ス ク リ プ ト を作成でき ます。 シ ミ ュ レー

シ ョ ンの Tcl ス ク リ プ ト の例は、 言語テンプレー ト の [Simulation Constructs] フ ォルダーを参照し

て く ださ い。

言語テンプレー ト に含まれている これらの例を表示するには、 次の手順に従います。

1. [Edit] → [Language Templates] を ク リ ッ ク し ます。

2. 言語テンプレー ト で [Tcl] → [Tools] → [ISim] フ ォルダーを展開し ます。

よ く 使用する シ ミ ュ レーシ ョ ン コマン ド に変数を設定する と、 すばや く コ マン ド を実行でき ます。

詳細は、 102 ページの 「シ ミ ュ レーシ ョ ン コマン ド の別名表記」 を参照し て く ださ い。

注記 : Tcl の使用方法の詳細は、 http://www.tcl.tk/ を参照し て く だ さい。

ISim ユーザー ガイ ド japan.xilinx.com 99UG660 (v14.1) 2012 年 4 月 24 日

Page 104: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

シ ミ ュ レーシ ョ ン コマン ドのサマ リ

表 9-1 には、 使用可能なシ ミ ュ レーシ ョ ン用 Tcl コ マン ド を簡単な説明 と 共に リ ス ト し ています。

コマン ド の詳細、 構文、 オプシ ョ ン、 具体例については、 各コマン ド の リ ン ク を ク リ ッ ク し て く だ

さ い。

ご使用の PDF リ ーダーで [View] → [ Toolbars] → [More Tools] で [Previous View] および [Next View] をオンにし てお く と、 リ ン ク された情報の前後へ移動が しやす く な り ます ( メ ニ ュー表示は

PDF リ ーダーによ って異な り ます)。 ..

表 9-1 : シ ミ ュ レーシ ョ ン コマン ドのサマ リ

コマン ド 説明

bp HDL ソース コード でブレーク ポ イ ン ト を設定/削除し ます。

describe HDL データ またはブロ ッ ク オブジェ ク ト の情報を表示し ます。

divider add 新しい仕切 り を追加し ます。

dump 現在のデザイ ン階層にあ る変数、 ジェネ リ ッ ク、 パラ メ ーター、およびネ ッ ト の名前と

その値を リ ス ト 表示し ます。

group add 新しいグループを追加し ます。

help 指定し た ISim コマン ド の説明、 使用方法、 および構文を表示し ます。

isim condition ネ ッ ト または Verilog レジス タの特定な条件に基づいた コマン ド セ ッ ト を実行し ます。

isim force VHDL 信号、 Verilog ワ イ ヤ、 または Verilog レジス タに強制的に値を付けるか、 また

は値を削除し ます。

isim set

arraydisplaylength

アレ イ型 HDL オブジェ ク ト のエレ メ ン ト 数の制限数を表示し ます。

isim get radix 使用されている グ ローバル基数を取得し ます。

isim get userunit 単位が設定されていない時間の値すべての現在の単位を表示し ます。

isim ltrace ト レースのオン/オフ を切 り 替えます。

isim ptrace プロセス実行 ト レースのオン/オフ を切 り 替えます。

isim set

arraydisplaylength

アレ イ型 HDL オブジェ ク ト のエレ メ ン ト 数の制限数を設定し ます。

isim set radix グ ローバル基数を設定し ます。

isim set userunit 単位が設定されていない時間の値すべてに対し てデフ ォル ト 単位を設定し ます。

marker add 新しいマーカーを追加し ます。

onerror バッチ モード でエラーが発生し た Tcl シ ミ ュ レーシ ョ ン コマン ド の直後の動作を制御

し ます。

put 特定のビ ッ ト 、 ス ラ イ ス、 変数、 または信号に値を割 り 当てます。

quit コマン ド オプシ ョ ンに従い、シ ミ ュ レーシ ョ ンまたはツールのいずれかを終了し ます。

restart シ ミ ュ レーシ ョ ンを再開し てシ ミ ュ レーシ ョ ン時間を 0 に戻し ます。

100 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 105: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl で特殊文字を含むオブジ ェ ク ト 名を使用する方法

wave add などの一部のコマン ド では、 Tcl で特殊な意味合いを持つ文字を含む引数を使用でき ま

す。 これら の引数は、 波かっ こ { } で囲み、 Tcl で不本意に処理さ れないよ う にし ます。 次に特殊

文字を含むケース を示し ます。

バスのイ ンデッ ク ス

角かっ こ [ ] は Tcl に特殊の意味合いがあ るので、これを使用する イ ンデッ ク ス付き (ビ ッ ト ま

たは一部の選択) バスは、波かっ こ で囲む必要があ り ます。 た と えば、波形ウ ィ ン ド ウに角かっ

こ を使用し て bus エレ メ ン ト 4 を追加する と きは、 「wave add {bus[4]}」 と記述する必要

があ り ます。

バスのイ ンデッ ク スにはかっ こ ( ) も使用でき ます。かっ こ には特殊な意味合いがないため、波

かっ こ を使用せずにコマン ド を記述する こ と ができ ます。

例 :

wave add bus(4)

resume onerror コマン ド と共に使用し て、 エラーが発生し た後にコマン ド を継続し て実行し

ます。

run シ ミ ュ レーシ ョ ンを開始し ます。

saif SAIF (Switching Activity Interchange Format) フ ァ イルを作成し、概算消費電力を記録

し ます。

scope デザイ ン階層を移動し ます。

sdfanno SDF フ ァ イルの遅延情報を HDL デザイ ンにバッ ク ア ノ テー ト し ます。

show デザイ ンの選択し た部分を [Sim Console] パネルに表示し ます。

step HDL デザイ ンでシ ミ ュ レーシ ョ ンを 1 行ずつ実行し、 デバッ グを援助し ます。

test ネ ッ ト またはバスの実際の値がコ マン ド で入力し た値 と 同じ であ るかど う かを調べま

す。

vcd シ ミ ュ レーシ ョ ン結果を VCD フ ォーマ ッ ト で生成し ます。

virtualbus add 新しい仮想バス を追加し ます。

wave add シ ミ ュ レーシ ョ ン オブジェ ク ト またはブロ ッ ク を ISim グ ラ フ ィ ッ ク ユーザー イ ン

ターフ ェ イ スで表示されている特定の波形コ ンフ ィ ギュ レーシ ョ ンに追加し ます。

wave log HDL オブジェ ク ト のシ ミ ュ レーシ ョ ン出力を波形データベースに記録し ます。

wcfg new 新しい波形コ ンフ ィ ギュ レーシ ョ ンを作成し ます。

wcfg open 指定された名前の波形コ ンフ ィ ギュ レーシ ョ ンを開き ます。

wcfg save 波形コ ンフ ィ ギュ レーシ ョ ンを保存し ます。

wcfg select ウ ィ ン ド ウに表示する波形コ ンフ ィ ギュ レーシ ョ ン フ ァ イルを指定し ます。

表 9-1 : シ ミ ュ レーシ ョ ン コマン ドのサマ リ (続き)

コマン ド 説明

ISim ユーザー ガイ ド japan.xilinx.com 101UG660 (v14.1) 2012 年 4 月 24 日

Page 106: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

Verilog エス ケープ文字

Verilog で特殊な意味を持つ文字を含む Verilog 識別子は、Verilog ソース コードおよび ISim コ

マン ド ラ イ ンの両方で識別子の前にバッ ク ス ラ ッ シュ (\)、識別子の後にスペース を付けてエス

ケープ処理する必要があ り ます。

また、Tcl コマン ド ラ イ ンではエス ケープ文字を波かっ こ で囲 う 必要があ り ます。た と えば、ワ

イ ヤ my wire を波形ウ ィ ン ド ウに追加する場合、 「wave add {\my wire }」 のよ う に、 コ

マン ド を記述し、 後の文字と閉じ る波かっ こ の間にスペース を含めます。

注記 : Verilog では、 どの識別子もエスケープ処理でき ますが、 ISim コマン ド ラ イ ンでは、 エ

ス ケープする必要がない Verilog 識別子も エス ケープ処理する必要があ り ます。 た と えば、 波

形ウ ィ ン ド ウにワ イ ヤ w を追加する場合、 ISim では 「wave add {\w}」 が有効なコマン ド に

な り ません。 こ のため、 「wave add w」 またはオプシ ョ ンで 「wave add {w}」 と記述する

必要があ り ます。

エスケープ文字に波かっ こ が含まれる場合、識別子を波かっ こ で囲 う 方法が使用でき ないため、

Tcl では波かっ こ内に波かっ こ内にあって も特殊文字と し て解釈されます。こ のため、次に示す

VHDL 拡張識別子の手法を使用する必要があ り ます。

VHDL 拡張識別子

VHDL 拡張識別子には、バッ ク ス ラ ッ シュ (\) が含まれてお り 、こ の文字は Tcl で特殊文字と さ

れます。 Tcl では、 バッ ク ス ラ ッ シュ と閉じ る波かっ こ \} が閉じ る波かっ こ文字と し て識別さ

れるので、 VHDL 拡張識別子は波かっ こ を使用し て記述でき ません。

こ のため、 波かっ こは使用せず、 特殊文字それぞれの前にバッ ク ス ラ ッ シュ を付け る必要があ

り ます。 た と えば、 信号 \my sig\ を波形ウ ィ ン ド ウにする場合は、 「wave add \\my\

sig\\」 と記述する必要があ り ます。

拡張識別子の一部であ るバッ ク ス ラ ッ シュの両方および識別子内のスペースの前には、 バッ ク

ス ラ ッ シュが付け られます。

シ ミ ュ レーシ ョ ン コマン ドの別名表記

よ く 使用する シ ミ ュ レーシ ョ ン コマン ド に変数を設定する と、 すばや く コ マン ド を実行でき ます。

こ の変数を使用する と、 コマン ド を毎回入力せずに何回でも実行でき ます。 コマン ド を表現する変

数を設定する こ と を、 エイ リ アシング と呼びます。

[Console] パネルでの変数設定

[Console] パネル (GUI モード ) または Tcl プロ ンプ ト (コマン ド ラ イ ン モード ) で次の変数を入力

し ます。

set svc “show value count”

説明 :

• set : 変数を作成する こ と を示し ます。

• svc : 変数名です。

• "show value count" : 変数名で表現される シ ミ ュ レーシ ョ ン コマン ド です。

Tcl 変数 svc が設定されて値が表示されます。

こ の変数を実行するには、 次を入力し ます。

eval $svc

102 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 107: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ISim 波形ビューアー Tcl コマン ド

ISim 波形ビ ューアー Tcl コマン ド

ISim 波形ビ ューアー Tcl コ マン ド は、 作業中のウ ィ ン ド ウ で使用でき ます。 ISim を起動する と、

初にア ク テ ィ ブになる ウ ィ ン ド ウは、 Default.wcfg です。

ア ク テ ィ ブ ウ ィ ン ド ウは、 次の方法で変更でき ます。

• ウ ィ ン ド ウ たぶを ク リ ッ クするか、 wcfg select コマン ド を使用し ます。

• [File] → [New] および [File] → [Open] を ク リ ッ クする と、 新し く 開いた波形コ ンフ ィ ギュ

レーシ ョ ン ウ ィ ン ド ウにア ク テ ィ ブ ウ ィ ン ド ウ を切 り 替え る こ と ができ ます。

• Tcl の場合は、 wcfg new および wcfg open コマン ド でア ク テ ィ ブ ウ ィ ン ド ウ を新規作成の

ウ ィ ン ド ウに変更でき ます。

Command Line Conventionsメ ニ ュー コマン ド を使用する代わ り に、 ISim コ ン ソール パネルのプロ ンプ ト にでコマン ド を入力

し て操作を実行でき ます。 コ ン ソール コ マン ド では、 メ ニ ュー コマン ド で表示される よ う なダ イ

ア ロ グ ボ ッ ク スは表示されません。

表 9-2 は、 シ ミ ュ レーシ ョ ン コマン ド で使用する構文の表記規則を示し ています。

表 9-2 : シ ミ ュ レーシ ョ ン コマン ド の構文

構文 説明

[ ]

必須ではないコマン ド オプシ ョ ンを示し ます。

注記 : Tcl ではネス ト し た コマン ド に [ ] を使用でき ます。[ ] に入力さ

れたコマン ド が実行され、 その結果が別の Tcl コマン ド で使用する値

と し て戻されます。た と えば、set var <show time> では var が

現在の時間に設定されます。

| 可能性のあ るパラ メ ーターの選択肢を示し ます。 オプシ ョ ンが複数の

パラ メ ータで構成されている場合、 各パラ メ ータは角かっ こ で区切ら

れています。

... 1 つまた複数のオプシ ョ ンを スペースで区切って入力でき る こ と を示

し ます。

< > ユーザーが値を指定する必要のあ る変数であ る こ と を示し ます。

ISim ユーザー ガイ ド japan.xilinx.com 103UG660 (v14.1) 2012 年 4 月 24 日

Page 108: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

Tcl コマン ド

エンジン コ マン ド

bp

bp コマン ド では、 シ ミ ュ レーシ ョ ンする HDL ソース コード のブレーク ポ イ ン ト を設定/削除し ま

す。 ブレーク ポイ ン ト は、 デバッ グのためシ ミ ュ レーシ ョ ンを中断するのに使用し ます。

bp コマン ドの構文

bp add <file_name> <line_number>clear del <index> [<index>...]list

remove <file_name> <line_number>

bp Command Options

表 9-3 : bp コマン ドのオプシ ョ ン

オプシ ョ ン 説明

add <file_name> <line_number>

HDL フ ァ イルの指定行にブレーク ポ イ ン ト を追加し ます。

<file_name> には、ブレーク ポイ ン ト を設定する シ ミ ュ レーシ ョ ン中の HDL ソース フ ァ イ

ルを指定し ます。 <line_number> には、 HDL コード のシ ミ ュ レーシ ョ ンを中断する行番号

を指定し ます。

clear 読み込んでいるすべての HDL フ ァ イルのブレーク ポイ ン ト をすべて削除し ます。 複数の

フ ァ イルにブレーク ポ イ ン ト が設定さ れている場合、 すべてのブレーク ポ イ ン ト が削除さ

れます。

del <index> [<index>...]

HDL コード から指定し たブレーク ポ イ ン ト を削除し ます。 このコマン ド を実行する前に、

bp list コマン ド を実行し てブレーク ポイ ン ト のイ ンデッ ク ス番号を取得する必要があ り

ます。 詳細は、 list オプシ ョ ンを参照し て く ださ い。

<index> は、 ブレーク ポイ ン ト に割 り 当て られた イ ンデッ ク ス番号です。 デザイ ンの各ブ

レーク ポ イ ン ト に、 固有の番号が割 り 当て られます。

注記 : こ のイ ンデッ ク ス番号は、 ソース フ ァ イルの行番号と は異な り ます。

104 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 109: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

bp コマン ドの例

statmach.vhd と い う フ ァ イルの 2 行目にブレーク ポ イ ン ト を設定するには、 次のよ う に入力し

ます。

bp add statmach.vhd 2

全ブレークポイ ン ト の表示

シ ミ ュ レーシ ョ ンに関連するすべてのフ ァ イルのブレーク ポイ ン ト を イ ンデッ ク ス番号と共に表示

するには、 次のよ う にコマン ド を入力し ます。

bp list

シ ミ ュ レーシ ョ ンのブレーク ポイ ン ト をすべて削除するには、 次のよ う に入力し ます。

bp clear

ブレーク ポイ ン ト を イ ンデッ ク ス番号を使用し て削除するには、 次のよ う に入力し ます。

1. 初に、 bp list コマン ド を使用し てブレーク ポイ ン ト のイ ンデッ ク ス を取得し ます。

bp list

次の情報が示されます。

1 C:/examples/watchvhd/stopwatch_tb.vhd::46

2 C:/examples/watchvhd/stopwatch_tb.vhd::55

2. stopwatch_tb.vhd フ ァ イルの 46 行目にあ るブレーク ポ イ ン ト を削除するには、次のよ う に

入力し ます。

bp del 1

statmach.vhd と い う フ ァ イルの 2 行目のブレーク ポ イ ン ト を削除するには、 次のよ う に入力し

ます。

bp remove statmach.vhd 2

list デザイ ンのブレーク ポ イ ン ト をすべて リ ス ト し、bp del コマン ド で使用する イ ンデッ ク ス

番号を示し ます。 複数のフ ァ イルにブレーク ポ イ ン ト が設定さ れている場合、 すべてのブ

レーク ポ イ ン ト が表示されます。 bp list を実行する と、 次が表示されます。

<index> <directory_path> <file_name>/<line_number>

説明 :

• <index> : bp del コマン ド で使用する イ ンデッ ク ス番号

• <directory_path> is the fully qualified path to your source files.

• <file_name> : ブレーク ポイ ン ト を含むソース フ ァ イル名

• <line_number> : ソース フ ァ イルでのブレーク ポ イ ン ト が設定されている行番号

remove <file_name> <line_number>

フ ァ イル <file_name> の <line_number> 行目にあ るブレーク ポ イ ン ト を削除し ます。

• <file_name> は、 削除するブレーク ポ イ ン ト が設定されている HDL ソース フ ァ イル

を指定し ます。

• <line_number> は、 HDL コード のブレーク ポ イ ン ト が設定されている行番号を指定

し ます。

表 9-3 : bp コマン ドのオプシ ョ ン (続き)

オプシ ョ ン 説明

ISim ユーザー ガイ ド japan.xilinx.com 105UG660 (v14.1) 2012 年 4 月 24 日

Page 110: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

describe

describe コマン ド を実行する と、 HDL データ またはブロ ッ ク オブジェ ク ト の情報を表示でき ま

す。

describe コマン ドの構文

describe <object_name>

<object_name> オプシ ョ ンは、 現在のシ ミ ュ レーシ ョ ン ス コープに含まれる HDL オブジェ ク

ト または HDL ブロ ッ クの情報を表示し ます。

describe コマン ドの例

describe コマン ド は、 次のよ う に使用し ます。

describe param

次が戻されます。

Verilog Instance:{param}

Path:{/parameter8_hn/param}

Location:{/home/test5.v:42}

Instantiation:{/home/test5.v:37}

dump

dump コ マン ド では、 現在のデザ イ ン階層に含まれるすべての VHDL 信号およびジ ェ ネ リ ッ ク、

Verilog ワ イ ヤ、 サブプロ グ ラ ム以外のレジス タおよびパラ メ ーターの値が表示されます。

デザイ ン階層をナビゲー ト するには、 scope コ マン ド を使用し ます。 dump コ マン ド では、 isim

set radix コマン ド を使用し てデフ ォル ト の基数セ ッ ト が使用されます。

dump コ マン ドの構文

dump

dump コ マン ドの例

現在のデザイ ン階層にあ る信号名と その値すべてを表示するには、 次のよ う に入力し ます。

dump

help

help コマン ド では、 指定し た ISim Tcl コマン ド の説明、 使用方法、 および構文を表示し ます。 コ

マン ド を指定し ない場合は、 help コマン ド ではすべての ISim Tcl コマン ド と その構文が リ ス ト さ

れます。

help コマン ド の構文

help [command_name]

help コマン ド のオプシ ョ ン

指定し た コマン ド の説明を表示し ます。

help コマン ド の例

help コマン ド は、 次のよ う に使用し ます。

すべての ISim コマン ド の説明を表示するには、 次のよ う に入力し ます。

106 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 111: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

help

bp コマン ド の説明を表示するには、 次のよ う に入力し ます。

help bp

isim condition

isim condition コマン ド では、 条件付き ア ク シ ョ ンの リ ス ト を追加、 削除、 または生成でき ま

す。 条件付き ア ク シ ョ ンは、 VHDL の process 文または Verilog の always 文 と 同等で、 追加さ れ

る と シ ミ ュ レーシ ョ ン中に isim condition 表現に含まれる信号が継続し て監視されます。 こ の

条件表現は、 信号の変化が検出されるたびに評価されます。 指定の条件表現に合 う 場合は、 指定の

コマン ド が実行されます。

• isim condition remove では信号の監視が停止し、

• isim condition list ではア ク テ ィ ブな条件付き ア ク シ ョ ンの リ ス ト がラベル と ID と共に

表示されます。

isim condition コ マン ドの構文

isim condition add|remove|list

[<condition expression> <command>]

[-radix <radix_type>]

[-label <label_name>]

[-index <index_name>]

-all

isim condition コ マン ドのオプシ ョ ン

表 9-4 : isim condition コマン ドのオプシ ョ ン

オプシ ョ ン 説明

add|remove|list 条件を追加、 削除、 または条件の リ ス ト を表示し ます。

<condition expression> <command>

<condition expression> : add 関数に関連し てお り 、 指定し た

<command> をいつ実行するかが定義されます。

この条件表現に使用された操作には、 != (非等号)、== (等号)、&& (AND) および || (OR) が含まれます。

表現および演算子の間には、「clk == St1」 のよ う にスペース を入

力する必要があ り ます。

<command> : Tcl コマン ド またはス ク リ プ ト で、条件が true の と き

に実行されます。 こ のコマン ド は、 かっ こ { } で囲まれます。 この

コマン ド には、 標準の Tcl コマン ドおよびシ ミ ュ レーシ ョ ン Tcl コ

マン ド を含める こ と ができ ます。ただし、run、restart、init、お

よび step は含める こ と はでき ません。 こ の条件表現に使用される

tcl 変数には、 かっ こ { } の代わ り に引用符 " " で囲まれます。

構文例を参照し て く だ さい。

ISim ユーザー ガイ ド japan.xilinx.com 107UG660 (v14.1) 2012 年 4 月 24 日

Page 112: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

isim condition コ マン ドの例

isim condition add コマン ドの例

信号 asig が 8 の と きに停止し て、 条件の名前に label0 を付け る よ う な条件を追加するには、 次

のよ う に入力し ます。

isim condition add {/top/asig == 8} {stop} -label label0 -radix hex

信号 asig が 1 の と きに停止し て、 条件の名前に label1 を付け る よ う な VHDL 特有の信号条件を

追加するには、 次のよ う に入力し ます。

isim condition add {/top/asig == ‘1’} {stop} -label label1

信号 asig が 変化する と きに停止し て、 条件の名前に label2 を付け る よ う な条件を追加するに

は、 次のよ う に入力し ます。

isim condition add /top/asig {stop} -label label2

信号 clk が St1 の と きに停止し て、条件の名前に label3 を付け る よ う な VHDL 特有の信号条件

を追加するには、 次のよ う に入力し ます。

isim condition add {clk == St1} {stop} -label label3

信号 asig (3:0) が 0001 で リ セ ッ ト が 1 の と きに停止する よ う な条件を追加するには、次のよ う

に入力し ます。

isim condition add {asig(3:0) == 0001 && reset == 1} {stop}

isim condition remove コマン ド の例

現在のシ ミ ュ レーシ ョ ンに含まれる条件すべてを削除する場合は、 次を入力し ます。

isim condition remove

または

isim condition remove -all

label0、 label1、 label2 と い う 名前の条件を削除するには、 次を入力し ます。

-radix <radix_type>

条件表現の値を読み出すのに使用されるオプシ ョ ンの引数です。

サポー ト される基数タ イ プは、 default、 dec、 bin、 oct、 hex、

unsigned、および ascii です。基数タ イプが指定されていない場

合は、isim set radix コマン ド で設定される グ ローバル基数タ イ

プが使用され、 こ のコマン ド でも基数タ イプが設定されていない場

合は、 default が基数と し て使用されます。

-label <label_name>

条件名を指定するオプシ ョ ンの引数で、sim condition add コマ

ン ド でラベルが指定されていない と きは、 シ ミ ュ レーシ ョ ンで条件

を識別する と きに使用する イ ンデッ ク スが生成されます。

-index <index_name>

条件を識別する引数で、isim condition remove コマン ド でのみ

使用でき ます。

-all 現在のシ ミ ュ レーシ ョ ンに含まれる条件をすべて削除する のに使

用されるオプシ ョ ンの引数です。

表 9-4 : isim condition コマン ドのオプシ ョ ン (続き)

オプシ ョ ン 説明

108 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 113: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

isim condition remove -label {label0 label1 label2}

信号文を削除するには、 次を入力し ます。

isim condition remove -index 2

または

isim condition remove -label label3

isim condition list コマン ドの例

デザイ ンに追加し た isim condition すべてを表示するには、 次を入力し ます。

isim condition list

isim force

isim force コ マン ド では、 VHDL 信号、 Verilog ワ イ ヤ、 または Verilog レジス タに強制的に値

を付けた り 、特定の時間に繰 り 返しパターンを割 り 当てます。 このコマン ド で割 り 当て られた値は、

HDL コー ド または以前に isim force コマン ド で付け られた値に上書き されます。 こ のコマン ド

はキ ャ ンセル時間が指定されている場合はその時間まで、 または isim force remove コマン ド

が発行される まで有効です。

• VHDL 信号または Verilog ワ イ ヤでこ のコマン ド が削除される と、 信号またはワ イ ヤの値が現

在駆動されている値に戻 り ます。

• Verilog レジス タでは、こ のコマン ド が削除された後でも Verilog レジス タに書き込む HDL プ

ロセスの う ちの 1 つでレジス タに新しい値が割 り 当て られる まで、 強制された値が保持されま

す。

isim condition コ マン ドの構文

isim force add|remove

[<object_name>]

[-value <value>]

[-radix <radix_type>]

[-time <time>]

[-cancel <time>]

[-repeat <time>]

isim force コマン ドのオプシ ョ ン

表 9-5 : sim force コマン ドのオプシ ョ ン

オプシ ョ ン 説明

add|remove バス/信号に値を割 り 当てるか、またはバス/信号の値を削除し ます。

<object_name> VHDL 信号、 Verilog ワ イ ヤ、 または Verilog レジス タの名前を指

定し ます。

-value <value> 追加する値を指定し ます。

ISim ユーザー ガイ ド japan.xilinx.com 109UG660 (v14.1) 2012 年 4 月 24 日

Page 114: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

isim force コマン ドの例

isim force コマン ド は、 次のよ う に使用し ます。

値の割り当て

現在のシ ミ ュ レーシ ョ ン時間で rst 信号 に 0 を割 り 当てるには、 次を入力し ます。

isim force rst 0

現在のシ ミ ュ レーシ ョ ン時間から 10ns 後に rst 信号に 1 を割 り 当て、 現在のシ ミ ュ レーシ ョ ン時

間から 50ns 後にコマン ド をキ ャ ンセルするには、 次を入力し ます。

isim force rst 1 -time 10 ns -cancel 50 ns

clk 信号が現在のシ ミ ュ レーシ ョ ン時間で 1 にな り 20ns 後に 0 に戻った後、現在のシ ミ ュ レーシ ョ

ン時間から 1us に到達する まで 40ns ご と に これを繰 り 返す (つま り はデューテ ィ サイ クルが 50% のク ロ ッ ク を生成し て 1us 間 40ns ご と にサイ クルを繰 り 返す) よ う な ク ロ ッ ク を割 り 当てるには、

次を入力し ます。

isim force clk 1 -value 0 -time 20 ns -repeat 40 ns -cancel 1 us

次を実行する場合は、 その後に記述する コマン ド を入力し ます。

• 現在のシ ミ ュ レーシ ョ ン時間でdata_in 信号 に 1 を割 り 当てる。

• 現在のシ ミ ュ レーシ ョ ン時間 + 50 ns で data_in 信号 に 0 を割 り 当てる。

• 現在のシ ミ ュ レーシ ョ ン時間 + 75 ns で data_in 信号 を 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

-radix <radix_type> 基数を指定し ます。サポー ト される基数タ イプは、default、dec、

bin、 oct、 hex、 unsigned、 および ascii です。 基数タ イプが

指定されていない場合は、isim set radix コマン ド で設定される

グ ローバル基数タ イプが使用され、こ のコマン ド でも基数タ イプが

設定されていない場合は、 default が使用されます。

-time <time> 時間は、 10、 10 ns、 "10 ns" などの文字列で指定でき ます。 値が単

位な しで入力された場合は、 シ ミ ュ レータの単位であ る ps が使用

されます。 時間は、 コマン ド の実行時間に相対し ます。

-cancel <time> 特定の時間後に force コマン ド をキ ャ ンセルし ます。

-repeat <time> 特定の時間後にサイ クルを繰 り 返し ます。

表 9-5 : sim force コマン ドのオプシ ョ ン (続き)

オプシ ョ ン 説明

110 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 115: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

isim get arraydisplaylength

isim get arraydisplaylength コマン ド を使用する と、 アレ イ型の HDL オブジェ ク ト に対す

るエレ メ ン ト の制限数を表示でき ます。 制限数は、 isim set arraydisplaylength コマン ド

を使用し て設定でき ます。

ism get arraydisplaylength コ マン ドの構文

isim get arraydisplaylength

オプシ ョ ンはあ り ません。

isim get arraydisplaylength コマン ドの例

次のコマン ド を入力し、 配列の表示の長さ を決定し ます。 こ の場合、 配列は 64 ビ ッ ト です。

isim get arraydisplaylength

次が戻されます。 64

isim get radix

isim get radix コマン ド を使用する と、 デフ ォル ト の基数を文字列 と し て表示でき ます。 基数

は、 isim set radix コマン ド を使用し て設定し ます。

isim get radix コマン ドの構文

isim get radix

オプシ ョ ンはあ り ません。

isim get radix コマン ドの例

基数を表示するには、 次を入力し ます。

isim get radix

現在使用されている グ ローバル基数が表示されます。

isim get userunit

isim get userunit コマン ド を使用する と、単位が指定されていない時間値すべてに対する現在

の単位を表示でき ます。 単位は、 isim set userunit コマン ド を使用し て設定でき ます。

isim get userunit コマン ドの構文

isim get userunit (オプシ ョ ンはあ り ません)

isim get userunit コマン ドの例

isim get userunit

1 ps が戻されます。

isim ltrace

isim ltrace コマン ド を使用する と、行 ト レースのオン、オフ を切 り 替え る こ と ができ ます。When line tracing is turned on, you can do a line-by-line analysis for debugging.実行されるHDL 行は、 シ

ミ ュ レーシ ョ ン時間、 フ ァ イル パスおよびフ ァ イル名、 および行番号の情報と共に画面に表示され

ます。

注記 : isim ltrace on コマン ド を実行する と、シ ミ ュ レーシ ョ ンの速度が低下する可能性があ り

ます。

ISim ユーザー ガイ ド japan.xilinx.com 111UG660 (v14.1) 2012 年 4 月 24 日

Page 116: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

isim ltrace コマン ドの構文

isim ltrace [on| off]

isim ltrace コ マン ドのオプシ ョ ン

isim ltrace コマン ド のオプシ ョ ンは、 [on | off] のいずれかにな り ます。 デフ ォル ト は off で

す。

isim ltrace コマン ドの例

現在実行されている行を表示するには、 次を入力し ます。

isim ltrace on

run

出力には、 シ ミ ュ レーシ ョ ン時間、 フ ァ イル名、 行番号が次のよ う に表示されます。

1005 ns “C:/Data/ISE_Projects/freqm/watchver/stopwatch_tb.v”:261005 ns “C:/Data/ISE_Projects/freqm/watchver/stopwatch_tb.v”:271005 ns(3) “C:/Data/ISE_Projects/freqm/watchver/statmach.v”:631005 ns(3) “C:/Data/ISE_Projects/freqm/watchver/statmach.v”:64

isim ptrace

isim ptrace コマン ド を [Console] パネルに入力する と、 バッチ モード のオン、 オフを切 り 替え

る こ と ができ ます。 このオプシ ョ ンをオンにする と、現在実行されている VHDL または Verilog プ

ロセスの名前が [Console] パネルに表示されます。 この機能は、 シ ミ ュ レーシ ョ ンが無限ループで

ス タ ッ ク し た場合に便利で、 シ ミ ュ レータがス タ ッ ク し たプロセスがコ メ ン ト アウ ト されます。

isim ptrace コマン ドの構文

isim ptrace [on | off]

isim ptrace コ マン ドのオプシ ョ ン

オプシ ョ ンは、 [on | off] のいずれかにな り ます。 デフ ォル ト は off です。

isim ptrace コマン ドの例

現在実行されているプロセスの名前を表示するには、 次のよ う に入力し ます。

isim ptrace on

isim set arraydisplaylength

isim set arraydisplaylength コマン ド では、配列型の HDL オブジェ ク ト に対するエレ メ ン

ト の制限数を設定し ます。 デフ ォル ト 値は 64 です。 この制限数は次の値に影響し ます。

• GUI の [Objects] パネルの値

• show value コマン ド に対する応答

isim set arraydisplaylength コマン ドの構文

isim set arraydisplaylength <size>

<size> は使用可能なオプシ ョ ンです。表示する配列型 HDL オブジェ ク ト のエレ メ ン ト 数を入力し

ます。 長さ を無制限にするには 0 を設定し ます。 デフ ォル ト 値は 64 です。

112 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 117: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

isim set arraydisplaylength コマン ドの例

次を入力し ます。

isim set arraydisplaylength 2

show value xcountout

次が戻されます。

00

00

[Objects] パネルで配列の [Value] 列を確認し ます。

isim set arraydisplaylength 64

show value xcountout

次が戻されます。

0001000000

0001000000

isim set radix

isim set radix コマン ド を使用する と、グ ローバル基数をシ ミ ュ レーシ ョ ンに設定でき ます。こ

の基数タ イプは、 show value、 put、 test、 dump、 isim force、 および isim condition コ

マン ド など、 その他のコマン ド で使用されます。

isim set radix コマン ド の構文

isim set radix <radix_type>

説明 :

<radix_type> : 現在のシ ミ ュ レーシ ョ ンにグ ローバルな基数を設定し ます。シ ミ ュ レータで

は、 show value、 put、 test、 dump、 isim force、 および isim condition コマン

ド など、 その他のコマン ド で使用されます。

サポー ト される基数タ イプは、default、 dec、bin、oct、hex、unsigned、および ascii です。

isim set radix コマン ドの例

16 進数の基数を設定し、 カ ウ ン ト 値を表示するには、 次のよ う に入力し ます。

isim set radix hex

show value count

a が戻されます。

dec の基数を設定し、 カ ウ ン ト 値を表示するには、 次のよ う に入力し ます。

isim set radix dec

show value count //count is defined as reg[3:0] count

-4 が戻されます。

符号なしの基数を設定し、 カ ウ ン ト 値を表示するには、 次のよ う に入力し ます。

isim set radix unsigned

show value count

10 が戻されます。

ISim ユーザー ガイ ド japan.xilinx.com 113UG660 (v14.1) 2012 年 4 月 24 日

Page 118: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

isim set userunit

isim set userunit コマン ド を使用する と、単位が指定されていない時間値すべてに対する現在

の単位 を 設定で き ま す。 デ フ ォ ル ト の時間単位は、 fuse コ マ ン ド の -timescale ま た は

-override_timeunit オプシ ョ ンで設定されている単位 と同じです。 これらの fuse オプシ ョ ン

が指定されていない場合は、 タ イ ム スケールは次で決定し ます。

• デフ ォル ト の時間単位 (1ps)

• Verilog に含まれる ‘timescale シ ミ ュ レータ指示子

isim set userunit コマン ドの構文

isim set userunit <1|10|100> <fs|ps|ns|us|ms|s>

シ ミ ュ レータのタ イ ム スケールを 1 ps に設定し ます。

isim set userunit 1 ps

onerror

onerror コ マン ド を使用する と、 エラーが発生し た Tcl シ ミ ュ レーシ ョ ン コマン ド の直後の動作

を制御でき ます。 エラーの表示、 次のコマン ド の再開などのさ まざ まな使用例は、 次に示す例を参

照し て く だ さ い。 こ のコ マン ド を使用する と、 シ ミ ュ レーシ ョ ン コ マン ド エラーのデバ ッ グが可

能で、 エラーが含まれている Tcl ス ク リ プ ト を実行する と きに特に便利です。

注記 : Tcl プロ ンプ ト に Tcl コマン ド を 1 つずつ入力する場合には、こ のコマン ド を使用する必要は

あ り ません。

onerror コマン ドの構文

onerror [<list_of_Tcl_commands>] [<source Tcl_script>]

説明 :

• <list_of_Tcl_commands> : シ ミ ュ レーシ ョ ン Tcl コマン ド の リ ス ト を入力し、 シ ミ ュ

レーシ ョ ン コマン ド エラーが発生し た と きの動作を制御でき ます。

• <source Tcl_script> : リ ス ト される Tcl コマン ド を含む Tcl ス ク リ プ ト フ ァ イルを

ソースに指定でき ます。

onerror コマン ドの例

発生し たエラーと現在の範囲内のすべての値を表示し てから、 停止し ます。

onerror {showtime;dump;quit -f}

エラーが発生し た時間および現在の階層に含まれる値すべてを表示し た後に Tcl ス ク リ プ ト の次の

コマン ド の読み出しが継続されます。

onerror {show time;dump;resume}

エラーが発生し た と きにソースの Tcl フ ァ イルが読み出され、 そのコマン ド が実行されます。

onerror {source myerror.tcl}

114 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 119: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

put

シ ミ ュ レーシ ョ ン中に、 信号およびバスの値を変更でき ます。 put コマン ド は、 次に使用し ます。

• 特定の信号またはバス

• 信号またはバスの配列

• 信号またはバス を含むレ コード またはレ コード の配列

• 基数が指定されている値

put コマン ド は、 HDL (ハード ウ ェ ア記述言語) ソース コード で信号と し て宣言されている信号ま

たはバスにのみ使用でき ます。

put コ マン ド を使用し て、 VHDL 変数、 VHDL ジ ェ ネ リ ッ ク、 または Verilog パラ メ ーターに値

を割 り 当てる こ と はでき ません。 値は、 信号全体、 信号の 1 ビ ッ ト 、 または信号のビ ッ ト 範囲に割

り 当てる こ と ができ ます。 また、 信号の階層にも ア ク セスでき ます。 こ のコマン ド は、 上書き され

る可能性があ り 、 デザイ ンのステ ィ ミ ュ ラ スがこ のコマン ド よ り 優先されます。

put コマン ドの構文

put <signal_name>|<vhdl_process_name>|<process_variable_name> [element reference...] <value> [<object> <value>] [-radix <radix_type>]

ISim ユーザー ガイ ド japan.xilinx.com 115UG660 (v14.1) 2012 年 4 月 24 日

Page 120: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

put コマン ドのオプシ ョ ン

put コマン ドの例

バスまたは信号への値の割り当て

clk と い う 信号に値を割 り 当てるには、 次のよ う に入力し ます。

put clk 1

または

put clk 1 -radix bin

または

put clk “1” -radix bin

busx と い う 4 ビ ッ ト バスに値を割 り 当てるには、 次のよ う に入力し ます。

put busx 0101

A と い う 信号に値 FF を割 り 当てるには、 次のよ う に入力し ます。

put A FF -radix hex

表 9-6 : put コマン ドのオプシ ョ ン

オプシ ョ ン 説明

<signal_name>|

<vhdl_process_name>|

<process_variable_name>

[element reference...]

<value>

• <signal name> : 値を割 り 当てる信号またはバスの名前を指定し ます。 信号または

バスの配列、 信号またはバス を含むレ コード配列あ るいはバス または信号の配列を

含むレ コード も指定でき ます。

• <vhdl_process_name/process_variable_name> : 値を割 り 当てるプロセスお

よびプロセス変数の名前を指定し ます。 プロセス変数に値を割 り 当てるには、 その

変数を含むプロセスの名前も指定する必要があ り ます。 プロセス名と プロセス変数

名は、 ス ラ ッ シュ (/) で区切 り ます。

• [element reference] : 参照する信号名のサブエレ メ ン ト を指定し ます (オプシ ョ

ン)。 信号の個々のサブエレ メ ン ト を参照する こ と で信号を詳細に指定でき ます。 詳

細は、 次の例を参照し て く ださ い。

信号のタ イプに基づいて、 次の値を割 り 当てる こ と ができ ます。

• integer 型には、 正または負の整数を指定でき ます。

• bit_vector 型には 0 または 1、 あ るいは 0 と 1 の配列を指定でき ます。

• VHDL の場合、 std_logic 型には U、 X、 0、 1 など を指定でき ます。

• Verilog の場合、 bit_values 型には U、 X、 0、 1 を指定でき ます。

• strength 値はサポー ト されていません。

[<object> <value>]

[-radix <radix_type>]

特定の基数が付いた値をオブジェ ク ト のデータ タ イプに変換し、 オブジェ ク ト に値を書

き込みます。

<object> : 変更する信号、 バス、 またはオブジェ ク ト を指定し ます。

<value> : オブジェ ク ト に追加する値を指定し ます。 サポー ト される基数タ イプは、

-radix [radix_types]default、 dec、 bin、 oct、 hex、 unsigned および ascii です。 基数タ イプが指定されていない場合は、isim set radix コマン ド で設定される

グ ローバル基数タ イプが使用され、 こ のコ マン ド で も基数タ イプが設定されていない場

合は、 default が基数と し て使用されます。

116 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 121: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

現在の階層にイ ン ス タ ンシエー ト されているモジュール u1 にあ る信号 count(6) にビ ッ ト 値 1 を割

り 当てるには、 次のよ う に入力し ます。

put u1/count(6) 1

標準ロジ ッ ク ベク ターへの値の割り当て

こ の後の例は、 次のよ う に宣言されている sigx と い う 標準ロ ジ ッ ク ベク ターを使用し ています。

signal sigx : std_logic_vector(0 to 5);

sigx のビ ッ ト 0 を 1 に設定するには、 次のよ う に入力し ます。

put sigx(0) 1

sigx のビ ッ ト 1 ~ 2 を 11 に設定するには、 次のよ う に入力し ます。

put sigx(1:2) 11

sigx を 101010 に設定するには、 次のよ う に入力し ます。

put sigx 101010

オブジ ェ ク ト の配列への値の割り当て

次は、 次のよ う に宣言されている標準ロ ジ ッ ク ベク ターの配列に値を割 り 当てています。

signal sigarray:(0 to 3) vectorarray(0 to 5, 1 to 4, 2 to 6);

sigarray ベク ター配列要素の各ビ ッ ト を 1 に設定するには、 次のよ う に入力し ます。

put sigarray(0,1,2)1111

sigarray ベク ター配列要素の 初の 2 ビ ッ ト を 10 に設定するには、 次のよ う に入力し ます。

put sigarray(0,1,2)(1:2)10

sigarray ベク ター配列要素のビ ッ ト 3 を 1 に設定するには、 次のよ う に入力し ます。

put sigarray(0,1,2)(3)1

次での例では、 宣言さ れている標準ロ ジ ッ ク ベク ターの配列を含むレ コー ド 配列を使用し ていま

す。

type ram_3d_vector is array(0 to 10, 7 downto 0, 0 to 2) of std_logic_vector(1 to 4);

type rectype is record

a: integer;

b: string(1 to 7);

c: std_logic_vector(0 to 3);

d: ram_3d_vector;

end record;

type recarray is array(0 to 3, 4 downto 1) of rectype;

signal recarrsig: recarray;

signal recsig: rectype;

レ コード recsig の 2 番目の要素 (b) を文字列 abc に設定するには、 次のよ う に入力し ます。

put recsig.b(2:4)abc

レ コード recsig の 3 次元配列 d の座標 2,3,1 で示される 4 ビ ッ ト 幅のベク ターを 0110 に設定する

には、 次のよ う に入力し ます。

ISim ユーザー ガイ ド japan.xilinx.com 117UG660 (v14.1) 2012 年 4 月 24 日

Page 122: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

put recsig.d(2,3,1) 0110

レ コード recsig の 3 次元配列 d の座標 2,3,1 で示される 4 ビ ッ ト 幅のベク ターの 初の 2 ビ ッ ト

を 01 に設定するには、 次のよ う に入力し ます。

put recsig.d(2,3,1)(1:2) 01

2 次元配列 recarrsig の座標 2,2 で示される レ コード recsig の 3 次元配列 d の座標 2,3,1 で示

される 4 ビ ッ ト 幅のベク ター値を設定するには、 次のよ う に入力し ます。

put recarrsig(2,2).d(2,3,1)0011

quit

quit コマン ド では、 コマン ド オプシ ョ ンに従い、 シ ミ ュ レーシ ョ ン またはツールのいずれかを終

了し ます。 オプシ ョ ンがない場合は、 グ ラ フ ィ カル ユーザー イ ン ターフ ェ イ スでは終了を示すプ

ロ ンプ ト が表示されてから ISim が終了し、 コマン ド ラ イ ンではすぐに I Sim が終了し ます。

quit コマン ドの構文

quit [-f] [-s]

説明 :

• -f 現在のシ ミ ュ レーシ ョ ンを停止し て、 ISim ツールを終了し ます。波形コ ンフ ィ ギュ レーシ ョ ン

に変更を加えた と きで も保存を尋ねる ダ イ ア ロ グ ボ ッ ク スは表示さ れません。 コ マン ド ラ イ

ンでは、 ソ フ ト ウ ェ アがすぐに終了し ます。

• -s グ ラ フ ィ カル ユーザー イ ン ターフ ェ イ ス を開いたま ま現在のシ ミ ュ レーシ ョ ンを停止し ます。

こ の場合、 ISim では [File] → [Open] で WDB フ ァ イルを開いてス タ テ ィ ッ ク波形データベー

ス を読み込む以外の作業は実行でき ません。 コマン ド ラ イ ンでは、 ソ フ ト ウ ェ アがすぐに終了

し ます。

quit コ マン ドの例

ISim を終了し て Tcl プロ ンプ ト を閉じ ます。

quit

ISim を終了し て波形を保存し ます。

quit -f

現在のシ ミ ュ レーシ ョ ンを終了し ます。

quit -s

restart

シ ミ ュ レーシ ョ ンを停止し てシ ミ ュ レーシ ョ ン時間を 0 に戻し ます。 これによ り 、 デザイ ンを読み

込み直さずにシ ミ ュ レーシ ョ ンを実行し直すこ と ができ ます。 GUI で [Simulation] → [Restart] を

実行し て も、 こ の操作を実行でき ます。

restart コマン ドの構文

restart [onerror][scope][saif][vcd][isim force][put]

118 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 123: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

restart コマン ドのオプシ ョ ン:

restart コマン ドの例

シ ミ ュ レーシ ョ ン時間を 0 に戻し てシ ミ ュ レーシ ョ ンを開始するには、 次を入力し ます。

restart

resume

resume コマン ド は onerror コマン ド と共に使用し て、 エラーが発生し た後にコマン ド の実行を

継続させます。

注記 : このコマン ド のみを入力し て も効力はあ り ません。

resume コマン ド の構文

resume

こ のコマン ド にはオプシ ョ ンがあ り ません。

resume コマン ド の例

エラーが発生し た時間および現在の階層に含まれる値すべてを表示し た後に Tcl ス ク リ プ ト の次の

コマン ド の読み出しが継続されます。

onerror {show time;dump;resume}

run

run コマン ド を実行する と、 シ ミ ュ レーシ ョ ンが開始し ます。 こ のコマン ド をオプシ ョ ンを使用せ

ずに実行する と、 シ ミ ュ レーシ ョ ンが 100ns 間実行されます。 GUI でこれを実行するには、 次を ク

リ ッ ク し ます。

• [Simulation] → [Run All]

• [Simulation] → [Run]

run コ マン ドの構文

run [all][continue][<time> <unit>]

表 9-7 : restart コ マン ドのオプシ ョ ン

オプシ ョ ン 説明

onerror onerror ス ク リ プ ト を削除し ます。

scope 階層が /top に リ セ ッ ト されます。

saif フ ァ イルを閉じ ます。

vcd フ ァ イルを閉じ ます。

isim force force 指定を削除し ます。

put 初期値に戻 り ます。

ISim ユーザー ガイ ド japan.xilinx.com 119UG660 (v14.1) 2012 年 4 月 24 日

Page 124: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

run コ マン ドのオプシ ョ ン

run コ マン ドの例

run コマン ド は、 次のよ う に使用し ます。

イベン ト がすべて終了するかブレーク ポイ ン ト に達する まで、 シ ミ ュ レーシ ョ ンを実行し ます。

run all

シ ミ ュ レーシ ョ ンを 2000ns 間実行するには、 次のよ う に入力し ます。

run 2000 ns

シ ミ ュ レーシ ョ ンを 1.2ns 間実行するには、 次のよ う に入力し ます。

run 1.2 ns

シ ミ ュ レーシ ョ ンを 100ns 間実行し ます。

run

表 9-8 : run コマン ドのオプシ ョ ン

オプシ ョ ン 説明

all イベン ト がすべて終了するかブレーク ポ イ ン ト に達する まで、 シ ミ ュ レー

シ ョ ンを実行し ます。ブレーク ポイ ン ト の設定および削除に関する詳細は、

「bp コマン ド」 を参照し て く ださ い。

continue ブレーク ポ イ ン ト でシ ミ ュ レーシ ョ ンが停止し た後に、 シ ミ ュ レーシ ョ ン

を再開し ます。 このオプシ ョ ンは、 run all を実行するの と同じです。

<time> <unit> • <time> では、 シ ミ ュ レーシ ョ ンを実行する時間を指定し ます。 こ の値

には、 正の整数または少数を使用でき ます。

• <unit> は、 時間の単位を指定し ます。 使用可能な値は、 fs、 ps、

ns、 us、 ms、 sec のいずれかです。 デフ ォル ト では ps です。

120 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 125: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

saif

saif コ マン ド を使用する と、 SAIF (Switching Activity Interchange format) フ ァ イ ルを生成し て

ポー ト および信号のス イ ッチング レー ト を記録でき ます。 詳細は、 第 7 章 「消費電力のア ク テ ィ ビ

テ ィ データの書き出し」 を参照し て く だ さい。

saif コマン ドの構文

saif open[-scope <path_name>] [-file <file_name>][-allnets]

close [-level <number_of_levels>]

saif コマン ドのオプシ ョ ン

saif コマン ドの例

saif コマン ド は次のよ う に使用し ます。

現在の階層にあ るデザイ ンのすべてのポー ト が xpower.saif フ ァ イルに書き込まれます。

saif open

現在の階層にあ るデザイ ンのすべてのポー ト および内部ネ ッ ト が xpower.saif フ ァ イ ルに書き

込まれます。

saif open -allnets

表 9-9 : saif コマン ドのオプシ ョ ン

オプシ ョ ン 説明

open

[-scope <path_name>]

[-file <file_name>]

[-allnets]

open : 消費電力概算用の SAIF フ ァ イルを生成し ます。

• -scope <path_name> : 特定の階層および再帰的階層の

消費電力概算データ を作成し ます。 相対パス、 絶対パスの

いずれかを使用でき ます。 パスが指定されていない場合

は、 現在の階層が使用されます。

• -file <file_name> : 新しいSAIF フ ァ イルを生成し ま

す。 デフ ォル ト 名は xpower.saif です。 シ ミ ュ レーシ ョ

ン実行中に開 く こ と ができ る SAIF フ ァ イルは 1 つのみで

す。

• -allnets : 消費概算に内部ネ ッ ト およびポー ト 信号が含

められます。 こ のオプシ ョ ンを使用し ない場合は、 ポー ト

信号の変化だけが監視されます。

close 監視を停止し て SAIF フ ァ イルを出力し ます。

[-level <number_of_levels>]

デザ イ ン階層の階層レベルを必要なだけ含め る こ と ができ ま

す。

• -level 0 : 指定し た階層下すべてのレベルの信号遷移が

監視され、 SAIF フ ァ イルに含められます。

• -level 1 : 指定し た階層のみの信号遷移が監視され、

SAIF フ ァ イルに含められます。

• -level 2 : 指定し た階層の 2 つのレベルの信号遷移が監

視され、 SAIF フ ァ イルに含められます。

ISim ユーザー ガイ ド japan.xilinx.com 121UG660 (v14.1) 2012 年 4 月 24 日

Page 126: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

UUT にあ るデザ イ ンのすべてのポー ト および内部ネ ッ ト が uut_backward.saif フ ァ イルに書

き込まれます。

saif open -scope uut -file uut_backward.saif -allnets

scope

scope コマン ド を使用し て、 デザイ ン階層を移動し ます。 オプシ ョ ンを使用せずに実行する と、 現

在のモジュール情報が表示されます。

scope コマン ドの構文

scope..<path_name>

説明 :

• .. 現在のモジ ュールの 1 つ上位にあ るモジ ュールの情報を表示し ます。

• <path_name> モジュール情報を表示するモジュールへのパス を指定し ます。 相対パス、 絶対パスのいずれかを使用でき ます。

scope コマン ドの例

scope コマン ド は、 次のよ う に使用し ます。

1 つ上の階層に移動するには、 次のよ う に入力し ます。

scope..

現在のモジュールにイ ン ス タ ンシエー ト されている UUT と い う モジュールに移動するには、 次の

よ う に入力し ます。

scope UUT

配線後のネ ッ ト リ ス ト の子イ ン ス タ ン スに scope コ マン ド を使用するには、 次のよ う に入力し ま

す。

X_IPAD \CLK/PAD (

.PAD(CLK)

);

\CLK/PAD は拡張された識別子です。

scope /testbench/UUT/\\CLK/PAD\

拡張された識別子の CLK および PAD の前後にバッ ク ス ラ ッ シュ (\) を付け る必要があ り ます。

sdfanno

sdfanno コマン ド では、 SDF (Standard Delay Format) フ ァ イルの VITAL 遅延を、 VITAL 準拠の

VHDL モデルで作成された VHDL デザイ ンにバッ ク ア ノ テー ト し ます。また、こ の コマン ド では、

Verilog モジ ュールの specify ブ ロ ッ ク で指定された タ イ ミ ングにバ ッ ク ア ノ テー ト する こ と も で

き ます。

sdfanno コマン ドの構文

sdfanno -min | -typ | -max | <file_name> [<file_name>][-nowarn][-noerror][-root <root_path>]

説明 :

122 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 127: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

-min | -typ | -max| and <file_name> are required.オプ シ ョ ン につい て は、 123 ページ の

表 9-10 を参照し て く だ さい。

sdfanno コマン ドのオプシ ョ ン

sdfanno コマン ドの例

sdfanno -typ の例

mysubdesign.sdf フ ァ イルの標準遅延をサブモジュール subdesign にア ノ テー ト するには、次

のよ う に入力し ます。

sdfanno -typ mysubdesign.sdf -root /subdesign

design.sdf フ ァ イルの標準遅延を現在のデザイ ンの 上位にア ノ テー ト し て、エラーまたは警告

をすべて無視するには、 次のよ う に入力し ます。

sdfanno -typ design.sdf -noerror -nowarn

sdfanno -min の例

mysubdesign.sdf フ ァ イルの 小遅延をサブモジュール "subdesign" にア ノ テー ト するには、 次

のよ う に入力し ます。

sdfanno -min mysydesign.sdf -root /subdesign

sdfanno -max の例

design.sdf フ ァ イルの 大遅延を現在のデザイ ンの 上位にア ノ テー ト するには、次のよ う に入

力し ます。

表 9-10 : sdfanno コマン ドのオプシ ョ ン

オプシ ョ ン 説明

-min | -typ | -max

-min、-typ、-max のいずれかから遅延オプシ ョ ンを指定する必要が

あ り ます。

• -min : VHDL/Verilog フ ァ イルを 小遅延値でア ノ テー ト し、

ホール ド タ イ ムのタ イ ミ ング シ ミ ュ レーシ ョ ンを指定し ます。

• -typ : VHDL/Verilog フ ァ イルを標準遅延値でア ノ テー ト し ます。

• -max : VHDL/Verilog フ ァ イルを 大遅延値でア ノ テー ト し、

セ ッ ト ア ッ プ タ イ ムのタ イ ミ ング シ ミ ュ レーシ ョ ンを指定し ま

す。

<file_name> 遅延情報を含む SDF フ ァ イルの名前を指定し ます。 sdfanno コマン

ド では、 フ ァ イル名を指定する必要があ り ます。

-nowarn 警告 メ ッ セージを非表示にし ます。

-noerror エラー メ ッ セージを警告 メ ッ セージにし ます。 こ のオプシ ョ ンを使用

する と、 SDF バッ ク ア ノ テーシ ョ ンにエラーがあって も、 シ ミ ュ レー

シ ョ ンを続行でき ます。

-root <root_path> ア ノ テーシ ョ ンを実行するデザイ ン内の位置を指定し ます。SDF フ ァ

イルで指定されているパスは、 <root_path> で指定されたデザイ ン

階層の位置を基準と し て決定されます。デフ ォル ト では、デザイ ンの

上位がルー ト に設定されています。

ISim ユーザー ガイ ド japan.xilinx.com 123UG660 (v14.1) 2012 年 4 月 24 日

Page 128: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

sdfanno -max design.sdf -nowarn

show

show コマン ド では、 デザイ ンの選択し た部分を表示し ます。

show コマン ドの構文

show [child | child -r][constant][driver <signal_name>]

[load <signal_name>][port][scope][signal][time]

value [<generic_name> | <parameter_name> |

<process_name>/<process_variable_name>] [<signal_name>

[element references...]<object> [-radix <radix_type>] variable

show コマン ドのオプシ ョ ン

表 9-11 : show コマン ドのオプシ ョ ン

オプシ ョ ン 説明

child | child -r child では現在のブロ ッ クの子ブロ ッ ク (1 レベルのみ) が表示され、 child -r で

は現在のブロ ッ クの子プロセス を含む、すべての子ブロ ッ ク を再帰的に リ ス ト し ます。

constant 現在のブロ ッ クに含まれている定数、ジェネ リ ッ ク、およびパラ メ ーターを リ ス ト し ま

す。

driver <signal_name> <signal_name> で指定された信号を駆動するプロセス を表示し ます。

可能な場合、 その ド ラ イバーを記述する HDL コード の行番号も表示し ます。

load <signal_name> <signal_name> で指定された信号のロード をすべて表示し ます。

port 現在のブロ ッ ク内にあ る ポー ト 信号を表示し ます。 信号が入力であ るか出力であ るか

が示されます。

scope デザイ ン階層の現在の位置を表示し ます。階層での位置を表示するだけで、変更はでき

ません。scope コマン ド を <path_name> オプシ ョ ンなしで実行し た場合と同じです。

signal ポー ト 信号も含む、 現在のモジュール内にあ る信号を表示し ます。

time シ ミ ュ レータの現在の時間を表示し ます。

value [<generic_name> | <parameter_name> |

<process_name>/<process_variable_name>]

• <generic_name> : コマン ド実行の対象と なる VHDL ジェネ リ ッ クの名前を指定し

ます。

• <parameter_name> : コマン ド実行の対象と なるVHDL パラ メーターの名前を

入力し ます。

• <process_name/process_variable_name> : コマン ド実行の対象と なるプロ

セスおよびプロセス変数の名前を指定し ます。 プロセス変数の値を表示するには、

その変数を含むプロセスの名前も指定する必要があ り ます。 プロセス名と プロセ

ス変数名は、 ス ラ ッ シュ (/) で区切 り ます。

124 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 129: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

show コマン ドの例

show child

fifo_controller と い う デザイ ンの 上位階層か ら 「show child」 を実行する と、 次の階層

情報が表示されます。

Block Name:<fifo_controller>

「show child -r 」 と入力する と、 現在の階層および再帰的階層の情報が表示されます。

show driver

fifo_count と い う デザ イ ン の 上位階層か ら 「show driver fifocount」 を 実行す る と、

fifocount 信号に関する次の情報が表示されます。

<Driver for fifocount>

fifoctlr_cc_v2.v:221

2 行目の 後の数値 221 は、 ソース フ ァ イルでの行番号を示し ます。

[<signal_name>

[element references...]

• <signal_name> は、 コマン ド実行の対象と なる信号の名前で、 信号またはバス

の配列、 信号またはバス を含むレ コード配列あ るいはバス または信号の配列を含

むレ コード も指定でき ます。

• レ コード の階層を区切るには、 次のよ う にピ リ オ ド ( . ) を使用し ます。 show value recsig.c

• 下位階層の信号の値を表示するには、 次のよ う にス ラ ッ シュ (/) を使用し て信

号の階層名を区切 り ます。 show value mymod/mysig [element reference] : 参照する信号名のサ

ブエレ メ ン ト を指定し ます。

信号の個々のサブエレ メ ン ト を参照する こ と で信号を詳細に指定でき ます。 次の

例を参照し て く ださ い。

• show value(3:0) のよ う に value の後にかっ こ で囲み、 コ ロ ンで区切った 2 つの整数を入力する と、 <signal_name> で指定されているベク ターの値が表

示されます。

• show value(2,3)のよ う に、 value の後にかっ こ で囲み、 コ ンマで区切った整

数を入力する と、 <signal_name> で指定されている多次元配列のエレ メ ン ト

の値が表示されます。

<object>

[-radix <radix_type>]

• <object> [-radix <radix_type>] : 特定の基数 と共に値が表示されます。

<object> : HDL オブジェ ク ト データ タ イプを設定し ます。

• Supported <radix_type> are:default, dec, bin, oct, hex, unsigned,

and ascii.基数タ イプが指定されていない場合は、 isim set radix コマン ド で

設定される グ ローバル基数タ イプが使用され、 こ のコマン ド でも基数タ イプが設

定されていない場合は、 default が使用されます。

variable 現在のブロ ッ クにあ る変数すべてを表示し ます。VHDL プロセス内の変数を表示する

には、 scope コマン ド を使用し て VHDL プロセス までナビゲー ト し てから show variable を実行し ます。

表 9-11 : show コマン ドのオプシ ョ ン (続き)

オプシ ョ ン 説明

ISim ユーザー ガイ ド japan.xilinx.com 125UG660 (v14.1) 2012 年 4 月 24 日

Page 130: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

show load

fifo_count と い う デザイ ンの 上位階層から 「show load fifocount」 を実行する と、fifocount

信号に関する次の情報が表示されます。

<Load for fifocount>

Signal <Hex(0)> (Block: fifo_count/Lsbled/)

Signal <Hex(1)> (Block: fifo_count/Lsbled/)

Signal <Hex(2)> (Block: fifo_count/Lsbled/)

Signal <Hex(3)> (Block: fifo_count/Lsbled/)

show scope

fifo_count と い う デザイ ンの 上位階層から 「show scope」 を実行する と、 次の情報が表示さ

れます。

<Block> /tb_cc_func/

show value (信号)

clk と い う 信号の値を表示するには、 次のよ う に入力し ます。

show value clk

busx と い う 4 ビ ッ ト バスの値を表示するには、 次のよ う に入力し ます。

show value busx

addr の値を表示するには、 次のよ う に入力し ます。

show value addr

• Displays:0111010101011101.

show value addr -radix hex

• 755D が表示されます。

show value addr -radix dec

• 30045 が表示されます。

show value (オブジ ェ ク ト )

こ の後の例は、 次のよ う に宣言されている sigx と い う 標準ロ ジ ッ ク ベク ターを使用し ています。

signal sigx : std_logic_vector(0 to 5);

sig のビ ッ ト 0 の値を表示するには、 次のよ う に入力し ます。

show value sigx(0)

sigx のス ラ イ ス 1 ~ 2 の値を表示するには、 次のよ う に入力し ます。

show value sigx(1:2)

sigx のすべての値を表示するには、 次のよ う に入力し ます。

show value sigx

126 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 131: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

オブジ ェ ク ト の配列の値の表示

こ の後の例は、 次のよ う に宣言されている標準ロ ジ ッ ク ベク ターの配列を使用し ています。

signal sigarray: vectorarray(0 to 5, 1 to 4, 2 to 6);

sigarray のベク タ配列要素のすべてのビ ッ ト 値を表示するには、 次のよ う に入力し ます。

show value sigarray(0,1,2)

sigarray の各ベク ター配列要素の 初の 2 ビ ッ ト 値を表示するには、 次のよ う に入力し ます。

show value sigarray(0,1,2)(1:2)

sigarray の各ベク ター配列要素のビ ッ ト 3 の値を表示するには、 次のよ う に入力し ます。

show value sigarray(0,1,2)(3)

こ の後の例は、次のよ う に宣言されている標準ロ ジ ッ ク ベク ターの配列を含むレ コード配列を使用

し ています。

type ram_3d_vector is array(0 to 10, 7 downto 0, 0 to 2) of std_logic_vector(1 to 4);

type rectype is record

a: integer;

b: string(1 to 7);

c: std_logic_vector(0 to 3);

d: ram_3d_vector;

end record;

type recarray is array(0 to 3, 4 downto 1) of rectype;

signal recarrsig: recarray;

signal recsig: rectype;

レ コード recsig の 2 番目の要素 (b) の値を表示するには、 次のよ う に入力し ます。

show value recsig.b(2:4)

レ コード recsig の 3 次元配列 d の座標 2,3,1 で示される 4 ビ ッ ト 幅のベク ターの値を表示する

には、 次のよ う に入力し ます。

show value recsig.d(2,3,1)

レ コード recsig の 3 次元配列 d の座標 2,3,1 で示される 4 ビ ッ ト 幅のベク ターの 初の 2 ビ ッ

ト の値を表示するには、 次のよ う に入力し ます。

show value recsig.d(2,3,1)(1:2)

2 次元配列 recarrsig の座標 2,2 で示される レ コード recsig の 3 次元配列 d の座標 2,3,1 で

示される 4 ビ ッ ト 幅のベク ターの値を表示するには、 次のよ う に入力し ます。

show value recarrsig(2,2).d(2,3,1)

step

1 回目のシ ミ ュ レーシ ョ ンを実行し た後、 HDL デザイ ンのソース コード を 1 行ずつ実行し て、 デ

ザイ ンが予期どお り に動作するかを検証でき ます。

ISim ユーザー ガイ ド japan.xilinx.com 127UG660 (v14.1) 2012 年 4 月 24 日

Page 132: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

step

こ のコマン ド を使用する と、 HDL フ ァ イル (Verilog または VHDL) の実行コード の次の行までシ

ミ ュ レーシ ョ ンが進みます。GUI で [Simulation] → [Step] を実行し て も、この操作を実行でき ます。

step コマン ド の構文

step

オプシ ョ ンはあ り ません。

step コマン ド の例

HDL ソース コード を 1 行ずつ実行するには、 次のよ う に入力し ます。

step

test

test コマン ド では、VHDL 信号、Verilog ワ イヤ、Verilog レジス タ、VHDL ジェネ リ ッ ク、Verilog パラ メ ーター、 または VHDL の process 変数の実数と入力し た値を比較し ます。

こ の 2 つの値が一致し ている場合は何も表示されませんが、 一致し ていない場合は、 正しい値が表

示され、 ISim でエラーがレポー ト されます。 このテス ト は、 ベク ター エレ メ ン ト の 1 ビ ッ ト また

は全体値に実行でき ます。

test コマン ドの構文

test <signal_name>| <vhdl_process_name /<process_variable_name>] [element reference...]<value> <object> <value> [-radix <radix_type>]

128 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 133: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

test コマン ドのオプシ ョ ン

test コ マン ドの例

test コマン ド は、 次のよ う に使用し ます。

現在の階層にイ ン ス タ ンシエー ト されているモジ ュール u1 にあ る信号 count(6) が 1 であ るか

を調べるには、 次のよ う に入力し ます。

test u1/count(6) 1

信号 A の値と FF を比較するには、 次のよ う に入力し ます。

test A FF -radix hex

値と clk の値を比較するには、 次のよ う に入力し ます。

test clk “U”

次が戻されます。 1

値と clk の値を比較するには、 次のよ う に入力し ます。

test clk “0”

次が戻されます。 0

/top/rst が 0 の場合にシ ミ ュ レーシ ョ ンを停止するには、 次のよ う に入力し ます。

if {[test /top/rst 0]} {stop} else...

UUT と い う ブ ロ ッ ク の Reset 信号を比較する ために、 「test Reset 1」 と 入力する と、 次の

メ ッ セージが表示されます。

test failed Command failed: test Reset 1 1 Net Reset has value 0 not 1 as expected.

表 9-12 : test コマン ドのオプシ ョ ン

オプシ ョ ン 説明

<signal_name>| <vhdl_process_name /<process_variable_name>

[element reference...]

<value>

• <signal_name> は、 比較対象と なる信号の名前で、 信号またはバスの配列、 信号

またはバス を含むレ コード配列あ るいはバス または信号の配列を含むレ コード も指

定でき ます。

• <vhdl_process_name/process_variable_name> : 比較するプロセスおよびプロセス変数の名前を指定し ます。 プロセス変数の値を比

較するには、 その変数を含むプロセスの名前も指定する必要があ り ます。 プロセス

名と プロセス変数名は、 ス ラ ッ シュ (/) で区切 り ます。

• {element reference} : 参照する信号名のサブエレ メ ン ト を指定し ます。 信号の

個々のサブエレ メ ン ト を参照する こ と で信号を詳細に指定でき ます。

• <value> : 信号またはバスの実際の値と比較する値を入力し ます。

<object> <value>

[-radix <radix_type>]

特定の基数が付いた値と オブジェ ク ト の値を比較し ます。

• <object> : テス ト する信号、 バス、 またはオブジェ ク ト を指定し ます。

• <value> : オブジェ ク ト に追加する値を指定し ます。 サポー ト される基数タ イプは、

default、 dec、 bin、 oct、 hex、 unsigned、 および ascii です。 基数タ イプが

指定されていない場合は、 isim set radix コマン ド で設定される グ ローバル基数タ

イプが使用され、 こ のコマン ド でも基数タ イプが設定されていない場合は、

default が使用されます。

ISim ユーザー ガイ ド japan.xilinx.com 129UG660 (v14.1) 2012 年 4 月 24 日

Page 134: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

UUT と い う ブロ ッ ク のバス Lsbcnt を比較する ために、 「test Lsbcnt 1001」 と入力する と、

次の メ ッ セージが表示されます。

test passed 0

こ の後の例は、 次のよ う に宣言されている sigx と い う 標準ロ ジ ッ ク ベク ターを使用し ています。

signal sigx : std_logic_vector(0 to 5);

sigx のビ ッ ト 0 を 1 と比較するには、 次のよ う に入力し ます。

test sigx(0) 1

sigx のビ ッ ト 1 ~ 2 の値が 11 であ るかを調べるには、 次のよ う に入力し ます。

test sigx(1:2) 11

sigx のすべてを 101010 と比較するには、 次のよ う に入力し ます。

test sigx 101010

こ の後の例は、 次のよ う に宣言されている標準ロ ジ ッ ク ベク ターの配列を使用し ています。

signal sigarray: vectorarray(0 to 5, 1 to 4, 2 to 6);

sigarray のベク ター配列要素のすべてのビ ッ ト が 1 であ るかを調べるには、次のよ う に入力し ます。

test sigarray(0,1,2)1111

sigarray の各ベク ター配列要素の 初の 2 ビ ッ ト が 10 であ るかを調べるには、 次のよ う に入力し

ます。

test sigarray(0,1,2)(1:2)10

sigarray の各ベク ター配列要素のビ ッ ト 3 が 1 であ るかを調べるには、 次のよ う に入力し ます。

test sigarray(0,1,2)(3)1

こ の後の例は、次のよ う に宣言されている標準ロ ジ ッ ク ベク ターの配列を含むレ コード配列を使用

し ています。

type ram_3d_vector is array(0 to 10, 7 downto 0, 0 to 2) of std_logic_vector(1 to 4);

type rectype is record

a: integer;

b: string(1 to 7);

c: std_logic_vector(0 to 3);

d: ram_3d_vector;

end record;

type recarray is array(0 to 3, 4 downto 1) of rectype;

signal recarrsig: recarray;

signal recsig: rectype;

レ コード recsig の 2 番目の要素 (b) が文字列 abc であ るかを調べるには、次のよ う に入力し ます。

test recsig.b(2:4)abc

レ コード recsig の 3 次元配列 d の座標 2,3,1 で示される 4 ビ ッ ト 幅のベク ターが 0110 であ るかを

調べるには、 次のよ う に入力し ます。

test recsig.d(2,3,1) 0110

130 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 135: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

レ コード recsig の 3 次元配列 d の座標 2,3,1 で示される 4 ビ ッ ト 幅のベク ターの 初の 2 ビ ッ ト が

01 であ るかを調べるには、 次のよ う に入力し ます。

test recsig.d(2,3,1)(1:2) 01

2 次元配列 recarrsig の座標 2,2 で示される レ コード recsig の 3 次元配列 d の座標 2,3,1 で示され

る 4 ビ ッ ト 幅のベク ターが 0011 であ るかを調べるには、 次のよ う に入力し ます。

test recarrsig(2,2).d(2,3,1)0011

vcd

vcd コマン ド では、 シ ミ ュ レーシ ョ ン結果を VCD (Value Change Dump) フ ォーマ ッ ト で生成し ま

す。 こ のコマン ド を使用する と、 次を実行でき ます。

• VCD フ ァ イルへの指定イ ンス タ ンスの書き出し

• VCD フ ァ イルの命名

• 記述プロセスの開始および停止

その他の関数詳細は、第 7 章 「消費電力のア ク テ ィ ビテ ィ データの書き出し」 を参照し て く だ さい。

vcd コマン ドの構文

vcd [dumpfile <file_name>][dumpvars -m <module_name> [-l <level>]] [dumpoff][dumpon][dumpall][dumplimit <file_size>][dumpflush]

vcd コマン ドのオプシ ョ ン

表 9-13 : vcd コマン ドのオプシ ョ ン

オプシ ョ ン 説明

dumpfile <file_name> VCD フ ァ イルの名前を指定し ます。 デフ ォル ト 名は dump.vcd です。 Verilog の

$dumpfile 関数を呼び出し ます。

dumpvars -m <module_name> [-l <level>]

指定の変数およびその値を VCD フ ァ イルに書き出し ます。

-m <module_name> : モジュール名を出力し ます。

-l <level> {0|1}

• 0 : 特定モジュールおよびそのモジュールの下位にあ るすべてのモジュールのイ ン

ス タ ンスに含まれる変数をすべて出力し ます。 引数 0 は、 モジュール イ ンス タ ン

ス を指定する後続の引数にのみに適用され、 個々の変数には適用されません。

• 1 : -m で指定されたモジュール内の変数すべてを出力し ます。 ただし、 このモジュー

ルでイ ンス タ ンシエー ト されたモジュールに含まれる変数は出力されません。

Verilog の $dumpfile 関数を呼び出し ます。

dumpoff 書き出しプロセス を一時的に中断し、 選択された変数をすべて X 値と し て書き出し ます。

Verilog の $dumpoff 関数を呼び出し ます。

dumpon dumpoff オプシ ョ ンで中断し た書き出しプロセス を再開し、 dumpon を呼び出し た時に

選択されているすべての値を書き出し ます。 Verilog の $dumpon 関数を呼び出し ます。

dumpall 選択し たすべての変数の現在の値を書き出すチェ ッ ク ポイ ン ト を VCD フ ァ イルに作成

し ます。 Verilog の $dumpall 関数を呼び出し ます。

ISim ユーザー ガイ ド japan.xilinx.com 131UG660 (v14.1) 2012 年 4 月 24 日

Page 136: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

vcd コマン ドの例

vcd コマン ド は、 次のよ う に使用し ます。

シ ミ ュ レーシ ョ ンを 1000 ns 間実行し た後、モジュール UUT の VCD シ ミ ュ レーシ ョ ン値を VCD フ ァ イルに書き出すには、 次のコマン ド を使用し ます。

書き出すフ ァ イルを指定するには、 次のよ う に入力し ます。

vcd dumpfile adder.vcd

書き出すモジュール ネ ッ ト を指定するには、 次のよ う に入力し ます。

vcd dumpvars -m /UUT

シ ミ ュ レーシ ョ ン時間を指定し てシ ミ ュ レーシ ョ ンを実行するには、 次のよ う に入力し ます。

run 1000 ns

VCD フ ァ イルにデータ を記述するには、 次のよ う に入力し ます。

vcd dumpflush

wave log

wave log コマン ド では、 HDL オブジェ ク ト のシ ミ ュ レーシ ョ ン出力を波形データベース (wdb) フ ァ イルに記録し ます。 VHDL 信号、 Verilog ワ イヤ、 および Verilog レジス タ型を記録でき ます。

VHDL 変数は、 記録でき ません。

wave log コ マン ドの構文

wave log [-r] [<object_name>]

説明 :

• -r 指定ブロ ッ ク の子モジ ュールすべてを再帰的に追加し ます。

• <object_name> 波形データベースにシ ミ ュ レーシ ョ ン出力を記録する HDL オブジェ ク ト を指定し ます。 <object_name> には、 ブロ ッ ク の階層イ ンス タ ンス名 (/tb/UUT など) も指定可能で、

こ の場合はブロ ッ ク に含まれるすべての HDL オブジェ ク ト が記録されます。

アス タ リ ス ク (*) などのワ イル ド カード は使用でき ません。 ブロ ッ ク のイ ン ス タ ン ス内すべての HDL オブジェ ク ト を追加するには、 ブロ ッ ク のイ ン

ス タ ン ス名を使用でき ます。 た と えば wave add /UUT は、 アス タ リ ス ク がサポー ト され

ている と仮定し た場合、 wave add /UUT/* と同じです。

dumplimit <file_size> VCD フ ァ イルのサイ ズを制限し ます。 <file_size> には VCD フ ァ イルの 大サイ ズをバ

イ ト で指定し ます。VCD フ ァ イルのサイ ズがこ の 大値に達する と、書き出しプロセスが

停止し、 大値に達し た こ と を示すコ メ ン ト が VCD フ ァ イルに記述されます。Verilog の

$dumplimit 関数を呼び出し ます。

dumpflush OS の VCD フ ァ イル バ ッ フ ァーを空にし、 バ ッ フ ァーのすべてのデータが確実に VCD フ ァ イルに保存される よ う にし ます。こ の処理が終了する と、書き出しプロセスが再開し、

値が失われる こ と はあ り ません。 Verilog の $dumpflush 関数を呼び出し ます。

表 9-13 : vcd コマン ドのオプシ ョ ン (続き)

オプシ ョ ン 説明

132 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 137: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

wave log コマン ドの例

モジュール イ ンス タ ン ス /tb/UUT および /tb/child/gt に関連付け られている信号を波形デー

タベースに記録するには、 次のよ う に入力し ます。

wave log /tb/UUT /tb/child/gt

デザイ ンの信号をすべて記録するには、 次を入力し ます。

wave log -r /

波形ウ ィ ン ド ウ コ マン ド

wcfg new

wcfg new コマン ド では、 新しい波形コ ンフ ィ ギュ レーシ ョ ンを作成し、 新しいウ ィ ン ド ウに表示

し ます。

wcfg new コマン ドの構文

wcfg new

wcfg new コマン ドの例

新しい波形コ ンフ ィ ギュ レーシ ョ ンを作成し ます。

wcfg new

wcfg open

wcfg open コマン ド では、 波形コ ンフ ィ ギュ レーシ ョ ンを新しいウ ィ ン ド ウに開き ます。

wcfg open コマン ドの構文

wcfg open <filename>

<filename> には、 開 く WCFG フ ァ イル名を指定し ます。

wcfg open コマン ドの例

WCFG フ ァ イルの名前 (toplevel.wcfg) を指定し ます。

wcfg open toplevel.wcfg

wcfg save

wcfg save コマン ド では、 作業中の波形コ ンフ ィ ギュ レーシ ョ ンを フ ァ イルに保存し ます。

wcfg save コマン ドの構文

wcfg save <filename>

wcfg save コマン ドのオプシ ョ ン

<filename> には、 開 く WCFG フ ァ イル名を指定し ます。

wcfg save コマン ドの例

toplevel.wcfg と い う 名前の WCFG フ ァ イルに波形コ ン フ ィ ギ ュ レーシ ョ ン を保存する には、

次を入力し ます。

wcfg save toplevel.wcfg

ISim ユーザー ガイ ド japan.xilinx.com 133UG660 (v14.1) 2012 年 4 月 24 日

Page 138: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

wcfg select

wcfg select コマン ド では、 指定の波形コ ンフ ィ ギュ レーシ ョ ンをア ク テ ィ ブ ウ ィ ン ド ウにし ま

す。

wcfg select コマン ドの構文

wcfg select <wave_config_name>

wcfg select コマン ドのオプシ ョ ン

wcfg select コ マン ド のオプシ ョ ン <wave_config_name> には、 ア ク テ ィ ブにする波形コ ン

フ ィ ギ ュ レーシ ョ ン名を指定し ます。 <wave_config_name> にすでに開いている波形コ ンフ ィ

ギュ レーシ ョ ンを指定し ない場合は、 エラー メ ッ セージが表示されます。

wcfg select コマン ドの例

design と い う 波形コ ンフ ィ ギュ レーシ ョ ンをア ク テ ィ ブにするには、 次を入力し ます。

wcfg select design

wave add

wave add コマン ド では、 ISim グ ラ フ ィ カル ユーザー イ ン ターフ ェ イ スに表示されている作業中

の波形コ ン フ ィ ギ ュ レーシ ョ ンに HDL オブジ ェ ク ト を追加し、 HDL オブジ ェ ク ト のシ ミ ュ レー

シ ョ ン出力を波形データベース (wdb) フ ァ イルに記録し ます。波形データベース フ ァ イルの名前は

デフ ォル ト で isim.wdb で、 -wdb オプシ ョ ンを使用する と変更でき ます。 波形コ ンフ ィ ギュ レー

シ ョ ンは、 波形ウ ィ ン ド ウに表示されます。

GUI の場合は、 波形ウ ィ ン ド ウで右ク リ ッ ク し、 [Add to Wave Window] を ク リ ッ ク し ます。

wave add コマン ドの構文

wave add [-into <ID>][-reverse][-radix <radix>][-color <color>][-name <custom_name>] [-r] [<object_name>]

wave add コマン ドのオプシ ョ ン

表 9-14 : wave add コマン ドのオプシ ョ ン

オプシ ョ ン 説明

-into <ID> オブジェ ク ト を追加する グループ オブジェ ク ト の ID または仮想バス オブジェ ク ト の ID を指定し ます。

-reverse バス ビ ッ ト 順を反転し ます (MSB から LSB、 またはその逆)。

-radix <radix> 信号の値を表示する と きの基数を指定し ます。 <radix> の値には、 default (デフ ォル ト )、

bin (2 進数)、oct (8 進数)、hex (16 進数)、dec (10 進数)、unsigned (符号な し )、または ascii を使用でき ます。

134 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 139: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

wave add コマン ドの例

wave add コマン ド は次のよ う に使用し ます。

オブジェ ク ト UUT に関連する信号を現在の波形コ ンフ ィ ギュ レーシ ョ ンに追加するには、 次を入

力し ます。

wave add /tb/UUT

上位信号をすべて追加するには、 次を入力し ます。

wave add /

デザイ ンに含まれている RGB 値が #00FF10 の信号をすべて追加するには、 次を入力し ます。

wave add -r / -color #00FF10

基数が 16 進数で赤色の信号を追加するには、 次を入力し ます。

wave add /tb/clk /tb/UUT/data -radix hex -color red

divider add

divider add コマン ド では、 仕切 り を追加し ます。

divider add コマン ドの構文

divider add [-into <ID>][-color <color>]

説明 :

• -into <ID> 仕切 り を追加する グループのオブジェ ク ト ID を指定し ます。

• -color <color> <color> で指定し色に仕切 り の色を設定し ます。 値は、 RGB フ ォーマ ッ ト で定義し ます。

-color <color> <color> で指定し色にシ ミ ュ レーシ ョ ン オブジェ ク ト を設定し ます。 値は、 RGB フ ォー

マ ッ ト で定義し ます。

例 :青色な ら #0000FF、 赤色な ら #FF0000、 緑色な ら #00FF00 を指定し ます。

一部のよ く 使用される色では、 色名をテキ ス ト でも入力でき ます。 次の色をテキス ト 入力

でき ます。black, red, darkred, green, darkgreen, blue, darkblue, cyan, darkcyan, magenta, darkmagenta, darkyellow, gray, darkgray,

lightgray.これら の色の RGB 値は、 RGB 表で定義されています。

-name <custom_name> 波形オブジェ ク ト にカス タ ム名を付けます。

-r 各ブロ ッ クに関連するオブジェ ク ト ( 下位の階層のものまで) を波形に追加し ます。こ の

オプシ ョ ンを指定し ない場合は、 <object_name> で入力されているブロ ッ ク の 初のレ

ベルのオブジェ ク ト が追加されます。

<object_name> 波形データベースにシ ミ ュ レーシ ョ ン出力を記録する HDL オブジェ ク ト を指定し ます。

<object_name> には、 ブロ ッ クの階層イ ン ス タ ン ス名 ( /tb/UUT など) も指定可能で、 この場合はブロ ッ クに含まれるすべての HDL オブジェ ク

ト が記録されます。 こ のオプシ ョ ンには、 ワ イル ド カード文字は使用でき ません。 すべて

の HDL オブジェ ク ト をブロ ッ ク のイ ン ス タ ン ス内に追加するには、 そのブロ ッ ク イ ンス

タ ン スの名前を使用し ます。

表 9-14 : wave add コマン ドのオプシ ョ ン (続き)

オプシ ョ ン 説明

ISim ユーザー ガイ ド japan.xilinx.com 135UG660 (v14.1) 2012 年 4 月 24 日

Page 140: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

例 :青色な ら #0000FF、 赤色な ら #FF0000、 緑色な ら #00FF00 を指定し ます。

一部 の よ く 使用 さ れ る 色 で は、 色名 を テ キ ス ト で も 入力 で き ま す。 black、 red、

darkred、 green、 darkgreen、 blue、 darkblue、 cyan、 darkcyan、 magenta、

darkmagenta、 darkyellow、 gray、 darkgray、 lightgray などの色をテキ ス ト

入力でき ます。 これらの色の RGB 値は、 RGB 表で定義されています。

divider add コマン ドの例

Inputs と い う 名前の仕切 り を作業中の波形コ ンフ ィ ギュ レーシ ョ ンに追加するには、 次のよ う に

入力し ます。

divider add Inputs

Outputs と い う 名前の赤色の仕切 り を追加するには、 次のよ う に入力し ます。

divider add Outputs -color red

グループに仕切 り を追加するには、 次を入力し ます。

set test_group_id [group add test_group]

wave add “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

divider add address -color red -into $test_group_id

group add

group add コマン ド では、 グループを追加し ます。

group add コマン ドの構文

group add [-into <ID>]

説明 :

• -into <ID> 新しいグループを追加する既存グループのオブジェ ク ト ID を指定し ます。

group add コ マン ドの例

Inputs と い う 名前のグループを作業中の波形コ ンフ ィ ギ ュ レーシ ョ ンに追加するには、 次のよ う

に入力し ます。

group add Inputs

シ ミ ュ レーシ ョ ン オブジェ ク ト を追加する グループ dcm_clk_s をグループに追加するには、次を

入力し ます。

set test_group_id [group add test_group]

wave add “dcm_clk_s” -into $test_group_id

グループ内にグループを作成するには、 次を入力し ます。

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 data_w -into $group_id_2

136 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 141: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Tcl コマン ド

virtualbus add

virtualbus add コマン ド では、現在作業中の波形コ ンフ ィ ギュ レーシ ョ ンに仮想バス を追加し ま

す。 バスは空の状態で作成されます。 その後に、 こ のバスに任意の HDL オブジェ ク ト を追加でき

ます。

virtualbus add コ マン ドの構文

virtualbus add <name> [-into <ID>][-reverse][-radix <radix>] [-color <color>]

virtualbus add コ マン ドのオプシ ョ ン

virtualbus add コマン ドの例

基数が 16 進数で名前が mybus と い う 仮想バス を作業中の波形に追加するには、 次を入力し ます。

virtualbus add <mybus> -radix hex

仮想バス を作成し て 2 個のシ ミ ュ レーシ ョ ン オブジェ ク ト sigA および sigB, を追加するには、次

のよ う に入力し ます。

set vbusId [virtualbus add mybus -radix hex]

wave add sigA -into $vbusId

wave add sigB -into $vbusId

marker add

marker add コマン ド では、 マーカーを追加し ます。

marker add コマン ドの構文

marker add <time>

<time> : 新しいマーカーを追加する時間の位置を指定し ます。時間の単位が指定されていない場

合、 isim get userunit コマン ド で取得されるデフ ォル ト のユーザー時間単位が使用されます。

オプシ ョ ン 説明

<name> 仮想バスの名前を指定し ます。

-into <ID> 新しい仮想バス を追加する既存の仮想バスのオブジェ ク ト ID を指定し ます。

-reverse バスの順序を反転し ます。

-radix <radix> 信号の値を表示する と きの基数を指定し ます。

<radix> の値には、 bin (2 進数)、 oct (8 進数)、 hex (16 進数)、 signed (符号付き )、 dec (10 進数)、 また

は ascii を使用でき ます。

-color <color> 仮想バスの色を指定どお り に設定し ます。 値は、 RGB フ ォーマ ッ ト で定義し ます。 例 :

青色な ら #0000FF、 赤色な ら #FF0000、 緑色な ら #00FF00 を指定し ます。

一部のよ く 使用される色では、色名をテキ ス ト でも入力でき ます。black、red、 darkred、green、

darkgreen、 blue、 darkblue、 cyan、 darkcyan、 magenta、 darkmagenta、 darkyellow、

gray、 darkgray、 lightgray などの色をテキス ト 入力でき ます。 これらの色の RGB 値は、 RGB 表で定義されています。

ISim ユーザー ガイ ド japan.xilinx.com 137UG660 (v14.1) 2012 年 4 月 24 日

Page 142: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

第 9 章 : ISim Tcl コマン ド

marker add コマン ドの例

作業中のコ ンフ ィ ギュ レーシ ョ ンの 10ns にマーカーを追加するには、 次を入力し ます。

marker add 10 ns

138 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 143: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

付録 A

ラ イブ ラ リ マ ッ プ フ ァ イル (xilinxisim.ini)

ISim HDL コ ンパイル プロ グ ラ ム vhpcomp、vlogcomp、および fuse では、xilinxisim.ini

コ ンフ ィ ギュ レーシ ョ ン フ ァ イルを使用し て VHDL および Verilog の論理ラ イブラ リ の定義およ

び物理ロ ケーシ ョ ンが識別されます。

コ ンパイ ラは、 次の リ ス ト し たデ ィ レ ク ト リ 順に xilinxisim.ini フ ァ イルを検索し ます。

1. $XILINX/vhdl/hdp/<platform>

2. -initfile オプシ ョ ンで指定し たユーザー フ ァ イル-initfile オプシ ョ ンが指定されて

いない場合は、 作業中のデ ィ レ ク ト リ に含まれる xilinxisim.ini フ ァ イルが検索されます。

xilinxisim.ini フ ァ イルの構文は、 次の とお り です。

<logical_library1> = <physical_dir_path1><logical_library2> = <physical_dir_path2><logical_libraryn> = <physical_dir_pathn>

次に、 xilinxisim.ini フ ァ イルの例を示し ます。

VHDL std=C:/libs/vhdl/hdp/stdieee=C:/libs/vhdl/hdp/ieeework=C:/workVerilog unisims_ver=$XILINX/rtf/verilog/hdp/nt/unisims_verxilinxcorelib_ver=C:/libs/verilog/hdp/nt/xilinxcorelib_vermylib=./mylibwork=C:/work

xilinxisim.ini フ ァ イルでは、 次の点に注意し て く ださ い。

• xilinxisim.ini フ ァ イルで指定する ラ イブラ リ /パスは、1 行に 1 つずつ記述する必要があ

り ます。

• 物理パ ス に該当す る デ ィ レ ク ト リ がない場合は、 コ ンパ イ ラ で書 き 込みが行われ る と き に

vhpcomp または vlogcomp によ ってデ ィ レ ク ト リ が作成されます。

• 物理パスは、 環境変数を使用し て記述でき ます。 環境変数は、 $ で始める必要があ り ます。

• 論理ラ イブラ リ のデフ ォル ト の物理デ ィ レ ク ト リ は次の とお り です。 isim/<logical_library_name>.

• フ ァ イルのコ メ ン ト は、 -- で開始する必要があ り ます。

ISim ユーザー ガイ ド japan.xilinx.com 139UG660 (v14.1) 2012 年 4 月 24 日

Page 144: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

付録 A : ラ イブ ラ リ マ ッ プ フ ァ イル (xilinxisim.ini)

140 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 145: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

VHDL 言語サポー ト の例外

付録 B

VHDL および Verilog 言語サポー ト の例外

VHDL 言語サポー ト の例外

ISim では、 次がサポー ト されます。

• VHDL IEEE-STD-1076-1993

• Verilog IEEE-STD-1364-2001

例外については、 次の表の [例外] の列を参照し て く ださ い。 .

表 B-1 : VHDL 言語サポー ト の例外

サポー ト される VHDL 構文 例外

abstract_literal 基底付き リ テ ラルで表現されている浮動小数点値はサポー

ト されません。

aggregate aggregate 内で choice を混合する こ とはサポー ト されません。

alias_declaration オブジェ ク ト 以外へのエイ リ アスは、 サポー ト されていま

せん。 特に次のものは、 サポー ト されません。

• エイ リ アスのエイ リ アス

• subtype_indication のないエイ リ アス宣言

• エイ リ アス宣言でのシグネチャ

• alias_designator と し ての演算子シンボル

• 演算子シンボルのエイ リ アス

• alias_designator と し ての文字列 リ テ ラル

alias_designator • alias_designator と し ての operator_symbol

• alias_designator と し ての character_literal

association_element 結合エレ メ ン ト 内のア クチュ アルのス ラ イ スに、 グ ローバ

ル/ローカルのス タ テ ィ ッ ク範囲を使用でき ます。

attribute_name 接頭辞の後の signature はサポー ト されません。

binding_indication entity_aspect を使用せずに使用する こ と はサポー ト されて

いません。

bit_string_literal 空の bit_string_literal (" ") はサポー ト されません。

block_statement guard_expression はサポー ト されません。 た と えばガード

付きブロ ッ ク、ガード付き信号、ガード付き ターゲ ッ ト 、お

よびガード付き割 り 当てはサポー ト されていません。

ISim ユーザー ガイ ド japan.xilinx.com 141UG660 (v14.1) 2012 年 4 月 24 日

Page 146: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

付録 B : VHDL および Verilog 言語サポー ト の例外

choice case 文で choice と し て aggregate を使用する こ と はサ

ポー ト されません。

concurrent_assertion_statement postponed はサポー ト されません。

concurrent_signal_assignment_statement

postponed はサポー ト されません。

concurrent_statement wait 文が含まれる同時処理プロ シージャ呼び出しはサ

ポー ト されません。

conditional_signal_assignment ガード 付き信号代入はサポー ト されないので、 オプシ ョ ン

の一部と し てキーワード guarded を使用する こ と はサポー

ト されません。

configuration_declaration コ ンフ ィ ギュ レーシ ョ ンに使用する generate イ ンデッ ク

スは、 非ローカル ス タ テ ィ ッ ク にでき ません。

entity_class リ テ ラ ル、 ユ ニ ッ ト 、 フ ァ イ ル、 お よ び グ ル ー プ を

entity_class と し て使用する こ と はサポー ト されません。

entity_class_entry グループ テンプレー ト で使用する こ と を目的と し たオプ

シ ョ ンの <> はサポー ト されません。

file_logical_name 文字列値を評価する ワ イル ド カード も許容されています

が、 フ ァ イル名と し ては文字列 リ テ ラル と識別子しか使用

でき ません。

function_call 名前付き引数では、分割、指標付け、または選択はサポー ト

されません。

instantiated_unit ダ イ レ ク ト コ ンフ ィ ギュ レーシ ョ ンのイ ン ス タ ンシエー

シ ョ ンはサポー ト されていません。

mode リ ンケージ ポー ト およびバ ッ フ ァー ポー ト の一部はサ

ポー ト されていません。

options guarded はサポー ト されません。

primary primary を使用し た場所では、 allocator は展開されます。

procedure_call 名前付き引数では、分割、指標付け、または選択はサポー ト

されません。

process_statement Postponed processes are not supported.

selected_signal_assignment ガード 付き信号代入はサポー ト されないので、 オプシ ョ ン

の一部と し てキーワード guarded を使用する こ と はサポー

ト されません。

signal_declaration signal_kind はサポー ト されません。 signal_kind はガード

付 き信号の宣言に使用 さ れますが、 ガー ド 付 き信号はサ

ポー ト されません。

subtype_indicationd 結合の resolved サブタ イプ (配列およびレ コード ) はサ

ポー ト されません。

表 B-1 : VHDL 言語サポー ト の例外 (続き)

サポー ト される VHDL 構文 例外

142 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 147: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Verilog 言語サポー ト の例外

Verilog 言語サポー ト の例外 次の表は、 サポー ト される Verilog 言語サポー ト の例外を リ ス ト し ています。

waveform unaffected はサポー ト されません。

waveform_element null 波形エレ メ ン ト は、 ガード付き信号にのみ関係するの

で、 サポー ト されません。

表 B-1 : VHDL 言語サポー ト の例外 (続き)

サポー ト される VHDL 構文 例外

表 A-1 : Verilog 言語サポー ト の例外

Verilog 構文要素 例外

コ ンパイ ラ指示子構文

`celldefine サポー ト なし

`endcelldefine サポー ト なし

`undefs パラ メ ータ指定された `define マ ク ロがサポー ト されて

います。

`unconnected_drive サポー ト なし

`nounconnected_drive サポー ト なし

属性

attribute_name サポー ト なし

attr_spec サポー ト なし

attr_name サポー ト なし

プ リ ミ テ ィ ブのゲー ト 型およびスイ ッ チ型

cmos_switchtype サポー ト なし

mos_switchtype サポー ト なし

pass_en_switchtype サポー ト なし

生成されたイ ンス タ ンシエーシ ョ ン

ISim ユーザー ガイ ド japan.xilinx.com 143UG660 (v14.1) 2012 年 4 月 24 日

Page 148: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

付録 B : VHDL および Verilog 言語サポー ト の例外

generated_instantiation module_or_generate_item は、 サポー ト されません。

Production from 1364-2001 Verilog standard:

generate_item_or_null ::= generate_conditonal_statement | generate_case_statement | generate_loop_statement | generate_block | module_or_generate_item

シ ミ ュ レータでのサポー ト :

generate_item_or_null ::= generate_conditional_statement| generate_case_statement | generate_loop_statement | generate_blockgenerate_condition

genvar_assignment 一部サポー ト

All generate blocks must be named.

Production from 1364-2001 Verilog standard:

generate_block ::= begin [ : generate_block_identifier ] { generate_item } end

シ ミ ュ レータでのサポー ト :

generate_block ::= begin: generate_block_identifier { generate_item } end

ソース テキス ト 構文

ラ イブ ラ リ ソース テキス ト

library_text サポー ト なし

library_descriptions サポー ト なし

library_declaration サポー ト なし

include_statement ラ イブラ リ マ ッ プ フ ァ イルの include 文を示し ます

(IEEE 1364-2001、セ ク シ ョ ン 13.2 を参照)。コ ンパイ ラ

の `include 文の こ と ではあ り ません。

コ ン フ ィ ギュ レーシ ョ ン ソース テキス ト

config_declaration サポー ト なし

design_statement サポー ト なし

config_rule_statement サポー ト なし

default_clause サポー ト なし

表 A-1 : Verilog 言語サポー ト の例外 (続き)

Verilog 構文要素 例外

144 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 149: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

Verilog 言語サポー ト の例外

システム タ イ ミ ング チ ェ ッ ク コマン ド

$skew_timing_check サポー ト なし

$timeskew_timing_check サポー ト なし

$fullskew_timing_check サポー ト なし

$nochange_timing_check サポー ト なし

システム タ イ ミ ング チ ェ ッ ク コマン ドの引数

checktime_condition サポー ト なし

PLA モデル化タ スク

$async$nand$array サポー ト なし

$async$nor$array サポー ト なし

$async$or$array サポー ト なし

$sync$and$array サポー ト なし

$sync$nand$array サポー ト なし

$sync$nor$array サポー ト なし

$sync$or$array サポー ト なし

$async$and$plane サポー ト なし

$async$nand$plane サポー ト なし

$async$nor$plane サポー ト なし

$async$or$plane サポー ト なし

$sync$and$plane サポー ト なし

$sync$nand$plane サポー ト なし

$sync$nor$plane サポー ト なし

$sync$or$plane サポー ト なし

VCD (Value Change Dump) フ ァ イル

$dumpportson

$dumpports

$dumpportsoff、 $dumpportsflush、

$dumpportslimit

$vcdplus

サポー ト なし

表 A-1 : Verilog 言語サポー ト の例外 (続き)

Verilog 構文要素 例外

ISim ユーザー ガイ ド japan.xilinx.com 145UG660 (v14.1) 2012 年 4 月 24 日

Page 150: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

付録 B : VHDL および Verilog 言語サポー ト の例外

146 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 151: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ModelSim XE の概要

付録 C

ModelSim XE から ISim への移行

ModelSim XE シ ミ ュ レーシ ョ ン環境からザイ リ ン ク スの ISim シ ミ ュ レーシ ョ ン環境へは、既存の

環境を極端に変更し な く て も移行でき ます。

こ こ では、 ModelSim XE から ISim への移行ガイ ド ラ イ ンおよびその他の注意事項を記載し ます。

ISim を 大限に使用するには、 次のビデオ デモおよびチュー ト リ アルを参照し て く だ さい。

• チュー ト リ アル : http://japan.xilinx.com/support/documentation/dt_ise.htm

• ISim ビデオ デモ : http://japan.xilinx.com/products/design_resources/design_tool/resources/index.htm

• ISim 製品ページ : http://japan.xilinx.com/tools/isim.htm

ModelSim XE の概要

ModelSim XE は、 ModelSim Xilinx Edition の略で、 Mentor Graphics 社の OEM 製品です。

ModelSim XE では、 デザイ ンの論理モデルおよびタ イ ミ ング モデルや HDL ソース コード を検証

する HDL シ ミ ュ レーシ ョ ン環境が提供されます。ModelSim XE は、 Xilinx ISE® Design Suite 12.4 リ リ ースで廃盤になっています。詳細は、『ModelSim Xilinx Edition-III ブロード キ ャ ス ト 製品の製

造中止通知』 を参照し て く ださ い。 http://japan.xilinx.com/support/documentation/customer_notices/xcn10028.pdf

ModelSim XE は、 ISE Design Suite 12.3 リ リ ースから各 メ ジャー リ リ ースに含まれる よ う になっ

ています。 ModelSim XE には、 次の 2 つのバージ ョ ンがあ り ます。

• ModelSim XE Starter : ザイ リ ン ク ス ウ ェブサイ ト から ダウ ン ロード可能な無償バージ ョ ン。

こ の製品を使用するには、 ス ターター ラ イセンスが必要です。

• ModelSim XE Full : Mentor Graphics 社の OEM バージ ョ ンで PE 製品ラ イ ンに基づいています。

ISim ユーザー ガイ ド japan.xilinx.com 147UG660 (v14.1) 2012 年 4 月 24 日

Page 152: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

付録 C : ModelSim XE から ISim への移行

ISim の概要

ISim はザイ リ ン ク スのシ ミ ュ レーシ ョ ン製品で、 ISE ツール、 PlanAhead™ ツール、 エンベデッ ド

デザイ ン キ ッ ト (EDK)、 および System Generator に統合されている機能を完全に備えた HDL シ

ミ ュ レータです。

ISim は、 ザイ リ ン ク ス ツールの メ ジャー リ リ ースすべてに含まれてお り 、 次の 2 つのバージ ョ ン

があ り ます。

• ISim Lite : ISE Simulator の限定評価版。こ のバージ ョ ンでは、デザイ ン と テス ト ベンチの HDL コード行が 50,000 を超える と きに、 パフ ォーマンスが低下し ます。

• ISim Full : ISE Simulator のフル バージ ョ ン。

機能比較

表 C-1 : ModelSim と ISim の機能の比較

機能 ModelSim XE Starter ModelSim XE Full ISim Lite ISim Full

行制限 (文) 10,000 40,000 50,000 な し

パフ ォーマンス ModelSim PE または ModelSim DE の

30%

ModelSim PE または ModelSim DE の

40%

ModelSim XE

と同じ

ModelSim XE

と同じ

混合言語 な し なし あ り あ り

VHDL あ り あ り あ り あ り

Verilog あ り あ り あ り あ り

System Verilog for Design な し なし な し な し

System Verilog for Verification な し なし な し な し

デバッ グ環境 あ り あ り あ り あ り

ス タ ン ド ア ロ ン波形

ビ ューアーあ り あ り あ り あ り

メ モ リ ビ ューアー / エデ ィ ター

あ り あ り あ り あ り

Verilog PLI/VPI あ り あ り な し な し

VHDL FLI/VHPI な し なし な し な し

コード カバレ ッ ジ な し なし な し な し

SecureIP/HardIP サポー ト な し なし あ り あ り

EDK サポー ト な し なし あ り あ り

System Generator サポー ト な し なし あ り あ り

CORE Generator サポー ト あ り あ り あ り あ り

MIG サポー ト な し なし あ り あ り

148 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 153: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

シ ミ ュ レーシ ョ ン プロセス

シ ミ ュ レーシ ョ ン プロセス

こ のセ ク シ ョ ンでは、 さ まざまなモード のシ ミ ュ レーシ ョ ンおよびシ ミ ュ レーシ ョ ンの手順につい

て説明し ます。 各サブ セ ク シ ョ ン 2 つのシ ミ ュ レータの違いについて説明し ます。

図 C-1 に、 シ ミ ュ レーシ ョ ンでの各ステ ッ プおよびそのプロセス を示し ます。

手順 1 : フ ァ イルの準備と ラ イブ ラ リのマ ッ プ

ModelSim XE のフ ロー

ModelSim XE ラ イブラ リ は、 次から ダウ ン ロード でき ます。 http://japan.xilinx.com/support/download/index.htm.

ISE Design Suite の新しい バージ ョ ンが リ リ ース される度に、 こ のサイ ト から ラ イブラ リ を個別に

ダウ ン ロードする必要があ り ます。 行数制限でザイ リ ン ク ス ラ イブラ リ が除外される よ う 、 これら

のラ イブラ リ を使用する必要があ り ます。

ModelSim XE と共に配布される modelsim.ini フ ァ イルは、正しいザイ リ ン ク ス ラ イブラ リ にあ

らかじめマ ッ プされています。

フ ローテ ィ ング ラ イ セン ス な し なし あ り あ り

32 ビ ッ ト OS サポー ト Windows Windows Windows/Linux Windows/Linux

64 ビ ッ ト (ネ イ テ ィ ブ) OS サポー ト

な し なし Windows/Linux Windows/Linux

表 C-1 : ModelSim と ISim の機能の比較 (続き)

機能 ModelSim XE Starter ModelSim XE Full ISim Lite ISim Full

図 C-1 : シ ミ ュ レーシ ョ ンの手順

ISim ユーザー ガイ ド japan.xilinx.com 149UG660 (v14.1) 2012 年 4 月 24 日

Page 154: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

付録 C : ModelSim XE から ISim への移行

ISim のフ ロー

ISim のラ イブラ リ は、標準ザイ リ ン ク ス イ ンス ト ールの一部と し てア ッ プデー ト されます。別のス

テ ッ プは不要です。 マ ッ プもザイ リ ン ク スによ り 自動的に処理されます。 シ ミ ュ レーシ ョ ンを開始

するのに、 ザイ リ ン ク ス ラ イブラ リ をダウ ン ロード し た り マ ッ プする必要はあ り ません。

手順 2 : デザイ ンの解析と エラボレーシ ョ ン

ModelSim XE のフ ロー

ModelSim XE では、 コ ンパイルおよびエラ ボレーシ ョ ンに次のコマン ド が使用されます。 VCOM オプシ ョ ン (VHDL コ ンパイ ラ ) では、 VHDL コ ンパイ ラが実行され、 VHDL フ ァ イルが指定デ ィ

レ ク ト リ にコ ンパイルされます。 VLOG オプシ ョ ン (Verilog コ ンパイ ラ ) では、Verilog コ ンパイ ラ

が実行され、VHDL フ ァ イルが指定デ ィ レ ク ト リ にコ ンパイルされます。VSIM オプシ ョ ン (VSIM シ ミ ュ レーター ) では、 シ ミ ュ レーシ ョ ンのロード がエラ ボレー ト されます。

これらのコマン ド には、 コ ンパイルおよびエラ ボレーシ ョ ンを さ らに制御する複数のオプシ ョ ンが

あ り ます。同等の ModelSim XE コマン ド をすべて示し た リ ス ト は、付録 B 「VHDL および Verilog 言語サポー ト の例外」 を参照し て く ださ い。

ISim のフ ロー

ISim では、 コ ンパイルおよびエラ ボレーシ ョ ンに次のコマン ド が使用されます。

• vhpcomp : (VHDL コ ンパイ ラ ) : VHDL コ ンパイ ラが実行され、 VHDL フ ァ イルが指定デ ィ

レ ク ト リ にコ ンパイルされます。

• vlogcomp : (Verilog コ ンパイ ラ ) : Verilog コ ンパイ ラが実行され、VHDL フ ァ イルが指定デ ィ

レ ク ト リ にコ ンパイルされます。

• fuse : (VSIM シ ミ ュ レータ) : シ ミ ュ レーシ ョ ンのロード がエラ ボレー ト され、 シ ミ ュ レー

シ ョ ンを実行するのに起動する必要があ る実行フ ァ イルが作成されます。

これらのコマン ド には、 コ ンパイルおよびエラ ボレーシ ョ ンを さ らに制御する複数のオプシ ョ ンが

あ り ます。

手順 3 : デザイ ンのシ ミ ュ レーシ ョ ン

ModelSim XE のフ ロー

VSIM を実行する と、 デザイ ンがエラ ボレー ト され、 シ ミ ュ レーシ ョ ンが実行されます。 デフ ォル

ト では、 vsim を実行する と GUI が起動し ます。

コマン ド ラ イ ン モード で実行するには、 -c オプシ ョ ンを使用し ます。

ISim のフ ロー

fuse を実行する と、 フ ァ イル名が付け られた実行フ ァ イルが作成されます。 こ の実行フ ァ イルを実

行し て、シ ミ ュ レーシ ョ ンを起動し ます。 こ の実行フ ァ イルは、デフ ォル ト で x.exe と い う 名前が付

け られていますが、 変更でき ます。

実行フ ァ イルを実行する と、デフ ォル ト ではシ ミ ュ レーシ ョ ンがコマン ド ラ イ ン モード で実行され

ます。 GUI を起動するには、 -gui オプシ ョ ンを使用し ます。

150 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 155: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

シ ミ ュ レーシ ョ ン プロセス

手順 4 : デザイ ンの確認およびデバッ グ

波形操作のカス タ マイズ

ModelSim XE および ISim では、 波形ウ ィ ン ド ウ をカス タマイ ズする機能が提供されていますが、

カ ス タマイ ズ方法は異な り ます。 ModelSim XE では標準の Tcl (ツール コマン ド言語) コマン ド が

すべての波形操作に使用されるのに対し、 ISim では Tcl コマン ド のサブセ ッ ト が使用される もの

の、大部分が GUI から カス タマイ ズ され、その結果が波形コ ンフ ィ ギュ レーシ ョ ン フ ァ イルに保存

されます。

ISim の波形コ ンフ ィ ギュ レーシ ョ ン フ ァ イルは XML ベースのフ ァ イルで編集でき ませんが、

ModelSim XE の波形 Tcl コマン ド は変更でき ます。 ISim イ ンプ リ メ ンテーシ ョ ンでの波形コ ン

フ ィ ギュ レーシ ョ ンの読み込み時間は、XML フ ァ イルの読み込みが複数の Tcl コマン ド を実行する

よ り も早いため、 短 く な り ます。

注記 : ISim にはすべての波形操作に対する Tcl サポー ト があ り ません。

マーカーおよびカーソルを使用し た計測

ModelSim XE と ISim では、 マーカーおよびカーソルを使用し た計測方法が多少異な り ます。

ModelSim XE では、任意の 2 地点間を計測する カーソルが提供されます。必要に応じ てカーソルを

追加でき、 新規カーソルは既存のカーソルの下に追加されます。 波形ビ ューアーでは、 カーソル間

の距離が自動的に表示されます。 Figure C-2 は、 カーソルを使用し た ModelSim XE 波形を示し て

います。

ISim の計測方法は異な り ます。 ISim ではカーソル と マーカーの両方が使用されます。 ModelSim XE ではカーソルが永久的な計測手段と し て使用されるのに対し、 ISim ではカーソルが一時的手段

と し て使用されます。 ISim には メ イ ン カーソル と セカンダ リ カーソルがあ り 、 これら 2 つを使用

し て 2 地点間の距離を計測でき ます。ISim では、複数地点間の距離を計測でき ます。図 C-3 は、ISim の計測を示し ています。

図 C-2 : カーソルを使用し た ModelSim XE の波形表示

ISim ユーザー ガイ ド japan.xilinx.com 151UG660 (v14.1) 2012 年 4 月 24 日

Page 156: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

付録 C : ModelSim XE から ISim への移行

ISim では、フ レームのルーラーも提供されます。選択されているマーカーまたはカーソルの位置は、

計測されるその他すべてのマーカーに対し て 0 にな り ます。図 C-3 では、ISim で任意の地点間を計

測する方法が示されています。

注記 : ISim では、 マーカーの名前を変更でき ません。

アナログ波形

入手に関する詳細は、 ザイ リ ン ク ス テ ク ニカル サポー ト までお問い合わせ く ださ い。

シングル ク リ ッ ク コ ンパイルおよび再読み込み

ModelSim XE では、ス タ ン ド ア ロ ン GUI にテキ ス ト エデ ィ タがビル ト イ ン されているので、HDL コード の変更、 再コ ンパイル、 および再シ ミ ュ レーシ ョ ンが実行でき ます。

ISim の GUI には HDL フ ァ イルのみにテキ ス ト ビ ューアーがあ り ます。フ ァ イルに変更し て も、再

コ ンパイルおよび再シ ミ ュ レーシ ョ ンは実行でき ません。既存のシ ミ ュ レーシ ョ ンを終了し、ISE ま

たは PlanAhead ツールのテキス ト エデ ィ ターで HDL を変更し てから ISim でシ ミ ュ レーシ ョ ンを

再実行し ます。

図 C-3 : ISim での計測

152 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 157: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

シ ミ ュ レーシ ョ ン プロセス

Project Navigator の統合

ISE Project Navigator では ModelSim XE が有効なシ ミ ュ レータ チ ョ イ スではな く 、 統合されてい

るその他のシ ミ ュ レータ を選択する必要があ る こ と が通知されます。 次は、 Project Navigator で

ISim を選択する画面を示し ています。

ModelSim XE と ISim のシ ミ ュ レーシ ョ ン プロパテ ィ は類似し てますが、異なる部分を次の表に示

し ます。

図 C-4 : ISim が選択されている Project Navigator の [Process Properties] ダイアログ ボ ッ クス

表 C-2 : Project Navigator のシ ミ ュ レーシ ョ ン プロパテ ィ

ModelSim XE [Property Name]

ISim[Property Name] コ メ ン ト

ラ イブ ラ リ コ ンパイル

[Compiled Library Directory]な し

ISE Design Suite イ ン ス ト ールで配布される ISim 用コ ンパイル

済みラ イブラ リ

[Ignore Pre-Compiled Library Warning Check] な し

ISim ユーザー ガイ ド japan.xilinx.com 153UG660 (v14.1) 2012 年 4 月 24 日

Page 158: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

付録 C : ModelSim XE から ISim への移行

[Generate Verbose Library Compilation Messages]

な し

カス タム ユーザー コマン ド

[Use Custom Do File] [Use Custom Simulation Command File]

[Use Custom Wave Configuration File]

ISim では、エンジン操作を制御する Tcl コマン ド と共通 GUI 操

作のほ と んど を制御する コ マン ド の両方がサポー ト さ れていま

す。また、波形コ ンフ ィ ギュ レーシ ョ ン フ ァ イルを使用し て波形

ウ ィ ン ド ウ をすばや く 設定でき ます。

[Custom Do File] [Custom Simulation Command File]

[Custom Wave Configuration File]

[Use Automatic Do File] な し Project Navigator によ る ISim ス ク リ プ ト の作成を回避でき ませ

ん。

[Custom Compile File List]

[Use Custom Project File]

[Custom Project

Filename] (ア ド バン

ス プロパテ ィ )

フ ァ イルのコ ンパイル順を変更でき ます。

な し [Waveform Database Filename]

シ ミ ュ レーシ ョ ンで別のデータベース を指定でき ます。

カス タム コ ンパイ ラ コマン ド

[Other VSIM Command Line Options]

[Other Compiler Options]

[Other Simulator Commands]

ISim では VSIM コマン ド が fuse コマン ド と実行フ ァ イル コマ

ン ド に分割されます。

[Other VLOG Command Line Options] [Other Compiler

Options]

ISim の fuse コマン ド にオプシ ョ ンを渡し ます。

[Other VCOM Command Line Options]

表 C-2 : Project Navigator のシ ミ ュ レーシ ョ ン プロパテ ィ (続き)

ModelSim XE [Property Name]

ISim[Property Name] コ メ ン ト

154 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 159: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

シ ミ ュ レーシ ョ ン プロセス

ラ ン タ イム設定

[Simulation Run Time] [Simulation Run Time]

[Simulation Resolution] な し ISim のデフ ォル ト は 1ps です。

言語設定

[VHDL Syntax] な し ISim のデフ ォル ト は 93 です。

[Use Explicit Declarations Only]

な し なし

[Other VCOM Command Line Options]

[Value Range Check]

ModelSim XE にはこれに対する特定のオプシ ョ ンはあ り ません

が、[Other Command Line Options] プロパテ ィ で指定でき ます。

[Specify Search Directories for `include]

イ ン ク リ メ ン タル コンパイル

[Specify `define Macro Name and Value]

イ ン ク リ メ ン タル コンパイル

な し [Compile for HDL Debugging]

その他の設定

[Use Configuration Name] な し

[Configuration Name] な し

[Log All Signals in Simulation]

な し

[Other VSIM Command Line Options]

[Specify Top-Level Instance Name]

表 C-2 : Project Navigator のシ ミ ュ レーシ ョ ン プロパテ ィ (続き)

ModelSim XE [Property Name]

ISim[Property Name] コ メ ン ト

ISim ユーザー ガイ ド japan.xilinx.com 155UG660 (v14.1) 2012 年 4 月 24 日

Page 160: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

付録 C : ModelSim XE から ISim への移行

156 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日

Page 161: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

ザイ リ ン ク ス リ ソース

付録 D

その他のリ ソース

ザイ リ ン クス リ ソース

• デバイ スのユーザー ガ イ ド

http://japan.xilinx.com/support/documentation/user_guides.htm

• ザイ リ ン ク ス用語集

http://japan.xilinx.com/company/terms.htm

• 『ザイ リ ン ク ス デザイ ン ツール : イ ンス ト ールおよびラ イセンス ガ イ ド』 (UG798) http://japan.xilinx.com/support/documentation/sw_manuals/xilinx14_1/iil.pdf

• 『ザイ リ ン ク ス デザイ ン ツール : リ リ ース ノー ト ガイ ド』 (UG631) http://japan.xilinx.com/support/documentation/sw_manuals/xilinx14_1/irn.pdf

• 製品サポー ト およびマニ ュ アル

http://japan.xilinx.com/support

• 『合成/シ ミ ュ レーシ ョ ン デザイ ン ガ イ ド』 (UG626) http://japan.xilinx.com/support/documentation/sw_manuals/xilinx14_1/sim.pdf

• 『PlanAhead ユーザー ガ イ ド』 (UG632) http://japan.xilinx.com/support/documentation/sw_manuals/xilinx14_1/PlanAhead_UserGuide.pdf

• 『コマン ド ラ イ ン ツール ユーザー ガイ ド』 (UG682) http://japan.xilinx.com/support/documentation/sw_manuals/xilinx14_1/devref.pdf

• 『ChipScope Pro ソ フ ト ウ ェ アおよびコ ア ユーザー ガイ ド』 (UG029) http://japan.xilinx.com/support/documentation/sw_manuals/xilinx14_1/chipscope_pro_sw_cores_ug029.pdf

• ISE ヘルプ

http://japan.xilinx.com/support/documentation/sw_manuals/xilinx14_1/isehelp_start.htm

• XPower ヘルプ

http://japan.xilinx.com/support/documentation/sw_manuals/xilinx14_1/isehelp_start.htm#xpa_c_overview.htm

ISim ユーザー ガイ ド japan.xilinx.com 157UG660 (v14.1) 2012 年 4 月 24 日

Page 162: ISim ユーザー ガイド - Xilinxjapan.xilinx.com/.../sw_manuals_j/xilinx14_1/plugin_ism.pdfUG660 (v14.1) 2012 年 4 月 24 日 japan.xilinx.com ISim ユーザー ガイド2012/05/08

付録 D : その他のリ ソース

ISim チュー ト リ アル • 『ISim チュー ト リ アル』 (UG682)

http://japan.xilinx.com/support/documentation/sw_manuals/xilinx14_1/ug682.pdf

• 『ISE ハード ウ ェ ア協調シ ミ ュ レーシ ョ ン チュー ト リ アル : 浮動小数点高速フー リ エ変換のシ

ミ ュ レーシ ョ ンの高速化』 (UG817) http://japan.xilinx.com/support/documentation/sw_manuals/xilinx14_1/ug817_fft_sim_tutorial.pdf

158 japan.xilinx.com ISim ユーザー ガイ ド

UG660 (v14.1) 2012 年 4 月 24 日