ModelSimの使い方~補足3 波形検索機能編~
ModelSim/QuestaSimではいろいろな波形検索機能があります。
本ブログでは波形検索機能について紹介します。
本シリーズは3回にわたりModelSim/QuestaSimの使用方法についてお伝えします。
ModelSimの詳細については別途 こちら をご確認ください。
なお、本ブログの内容はModelSim DE/PE/SEやQuesta Simでもご利用可能です。
さらにModelSim Intel Edition、MicroSemi Edition、Lattice Edition、Questa Intel FPGA Edition、Questa Intel FPGA Starter Editionでもご利用いただくことができます。
目次
信号値で波形検索
最も単純な波形検索機能でポートや信号を波形ウインドで選択し、Search:に検索値を指定しSearch Next、Search Previousで検索を行います。この方法の制限として対象のポートや信号は1つのみとなります。
TABキーを使用した変化点検索
波形変化点を検索したい場合に使用します。
対象となる信号を選択(複数選択可)しキーボードからTABを入力するとNextとなり、SHIFT+TABでPreviousになります。
Expression Builderを使用した高度な波形検索
波形確認において、「ある信号のアサート期間がクロックNサイクルとなる」などの確認を行うこともできます。開始点、終了点を2つのカーソルで設定し波形検索が行えます。
1. 波形ウインドでカーソルを表示
波形ウインドで2つ目のカーソルを表示させます。波形ウインド左下、緑の“+”ボタン(Insert cursor)を押します。
カーソルが2つ表示されますので開始点をカーソル1で、終了点をカーソル2で設定します。
2. Cursor1を始点に設定
Cursor1を選択しCursor1を始点に設定します。
3. クロック信号の設定
次にアサート期間を調べる信号とカウントを行うクロック信号を選択します。波形ウインド上で選択しておくことでこの後の設定を容易にします。
4. メインメニューの設定
メインメニューからWave>Signal Searchを選択します。
表示されるメニューで設定を行います。Search for Expressionを選択しBuilderボタンを押します。
5. 検索条件の入力
Expression Builderメニューが表示されますので、検索を行う条件を入力します。
Selected Signalボタンを押し、波形ウインドで選択した信号が表示されますので信号を選択します。
検索条件などをExpression Builderのボタンで設定します。
この例ではresult_valid信号が‘1’の条件を設定します。“==”ボタンと“1”を使い設定します。
さらに同様のオペレーションでAND条件“&&”を押し、サンプリングを行うクロックをSelected Signalボタンで選択しクロックの立ち上がりを意味する‘rising’を押します。
この設定で、result_validが1の期間中に、クロックclkの立ち上がりエッジが何回発生したかを調べることができます。
最後に終点を指定し確認を行います。Search Until Timeを選択しカーソル2を終点としています。この設定でカーソル1からカーソル2の期間のみを検索対象とします。
設定環境後、Search Forwardを押すとSearch Resultに結果が表示されます。この例では71クロックサイクルresult_validがアサートされていることがわかります。
まとめ
いかがでしたでしょうか。
ModelSim/QuestaSimには波形ウインド上で値の検索や複雑なExpressionを使用して検索が行えます。波形検索は簡単に実行でき結果確認の人的ミスを防止する効果もありますのでぜひご活用ください。最後までご覧いただきありがとうございました!