はじめに
この章では実機を通して Signal Tap Logic Analyzer を学べます。
Signal Tap Logic Analyzer は、FPGA 開発におけるリアルタイムデバッグを可能にする強力なツールです。
FPGA 内部の信号を直接観測し、複雑なトリガ条件でイベントを捕捉。
GUI ベースの操作で、設計者は効率的かつ直感的に問題の特定と解析が行えます。
シミュレーションでは見逃しがちなバグも、 Signal Tap Logic Analyzer なら確実に捉えることができます。
今回は、事前に用意した QSF ファイル(Quartus Settings File)、Verilog ファイル、 Signal Tap Logic Analyzer 設定ファイル(STP)を使って、SignalTap の使い方をステップバイステップで紹介します。
ページ下部より、ダウンロードファイルをご利用いただけます。
1. 環境セットアップ
まずは QSF、Verilog ソースファイル、STP ファイルをダウンロードして任意のフォルダに格納してください。
Quartus® Prime メニューバーの File 内の New Project Wizard から以下のように任意のフォルダを選択しプロジェクト名を
"signaltap_demo"としてください。
Next を選択するとデバイスを選択する画面になります。
選択デバイスは Agilex 3 (C-series) を選択し、フィルタ欄に "A3CZ135BB18AE7S" と入れることで簡単に設定可能です。
今回は Terasic Atum A3 Nano Kit を使用しますので qsf ファイル内のピン番号も上記のボードに合わせておりますが
使用するデバイスやピン番号を変更することでほかのデバイスや評価 Kit、お客様の環境でも実施することが可能です。
プロジェクトが作成できましたら青い三角のコンパイルボタンを押すだけでデザインの準備は完了です。
2. デザインの説明
今回の回路は 50MHz のクロックで動作する 32bit のカウンタと基板上のボタンを押すごとにカウントアップする 4bit のカウンタだけのシンプルの回路となっております。
3. Signal Tap Logic Analyzer の操作
コンパイルが終わりましたら Tool から Signal Tap Logic Analyzer を選択します。
ボードと PC を USB ケーブルでつないで電源をいれたら Hardware の Setup から Atum A3 Nano [USB-1] を選択し、Close を押します。
(他の環境で実施する場合には別のボード名や、ダウンロードケーブル名が見えますので適切なものを選択します)
sof ファイルを選択して"Program Device"ボタンから書き込みを行います。
これで Signal Tap Logic Analyzer が使える環境が整いました。
"auto_signaltap_0" がハイライトされている状態でまずは Run analysis ボタンを押してください。
Run analysis ボタンを押すごとに 32 bit のカウンタがカウントアップしてることが確認できます。
Run analysis ボタン、1回目
Run analysis ボタン、2回目
32bit のカウンタが常にカウントアップし続けていることが確認できます。
Run analysis は手動で1回ずつ波形をキャプチャすることができますが、それに対して隣の Autorun analysis ボタンはトリガーごとに自動で繰り返し実行して波形を更新し続ける機能になります。
ちなみに Signal Tap Logic Analyzer では、トリガー条件を明示的に設定しなくても、デフォルトでは任意の信号変化が発生すると条件が成立するようになっています。
ここでトリガー条件を変えてみましょう。
Setup タブに切り替えて push_button の Trigger Conditions 欄を右クリックし Falling Edge に選択します。
Autorun analysis でトリガをかけると以下の Atum A3 Nano Kit の KEY0 ボタンを押すごとにトリガ条件が成立し波形が更新されます。
Signal Tap Logic Analyzer ではこのようにデバイス内部の見えない信号も任意の条件を設定してデバッグすることが可能です。
使い方が分かってきたら
"32bit カウンタが0になったとき"
"Manual のカウンタが10になった時"
など条件を変えながら任意のトリガー条件で見たい信号が見れるか試してみてください。
4. おわりに
Signal Tap Logic Analyzer では複雑なトリガー条件やデバイス起動時の波形キャプチャ、キャプチャする波形の長さの拡張など様々なことが行えます。
もっと Signal Tap Logic Analyzer を使いこなしてご自身の設計に役立ててみようと思っていただけましたら別途用意している以下の資料をご参考頂けると詳しく解説していますのでご参照ください。
FPGA オンチップ・デバッグ "Signal Tap" をやってみよう
https://www.macnica.co.jp/business/semiconductor/articles/intel/119185/
Quartus Prime 初めてガイドSignalTap ロジックアナライザの使い方
https://www.macnica.co.jp/business/semiconductor/articles/pdf/ELS1444_Q1710_10__1.pdf
5. 添付ファイル
この記事の説明で使用した QSF(Quartus Settings File)、Verilog ファイル、SignalTap 設定ファイル(STP)です。
「Agilex™ 3 でやってみた」シリーズ一覧はこちら