CCWO

挫けそうになるブログ #音楽 ##ライブ ##弾いてみた #programming ##Python ##C ##C++ ##VSCode ##Markdown ##TeX ##Git #電子工作 ##エフェクター ##PIC ##RX,RZ ##STM32 ##FPGA ##Raspberry Pi ##Ubuntu ##Fusion 360 #スポーツ ##筋トレ

FPGA MAX10 Signal Tap Ⅱ

Signal Tap ⅡはQuartusのロジアナ機能みたいなものです。
今回はそちらを使っていきたいと思います。

開発環境

Board MAX10 FB
IDE Quartus Prime Lite Edition
OS Windows 10 pro 64bit
Debbuger USB Blaster Rev C

Signal Tap Ⅱ

CQの本では、Tools→Options→Internet ConnectivityからTalkBackをEnableにするとあるのですが、こちらが16.1ではなくなっているので無視しても問題ありません。
今回はSignal Tap Ⅱを使って、FPGA.vのcounter_led[2:0]とcounter_1secをモニターします。
Signal Tap Ⅱを起動します。Tools→Signal Tap Ⅱ Logic Analyzerを選択します。

setup

f:id:CCWO:20170905053151p:plain:w800
真ん中Setupタブの空白領域をダブルクリックします。
f:id:CCWO:20170905053635p:plain
FliterからSignal Tap Ⅱ: pre-synthesisを選択
Namedにcounter_*を入力
Listをクリック
counter_ledとcounter_1secを>ボタンを押して右側に移動
Insertボタンをクリック
Closeをクリック
f:id:CCWO:20170905053711p:plain:w800
赤いところがいっぱいあるけどひとまず気にしない。

signal configuration

右側真ん中らへんからclockの設定をします。
f:id:CCWO:20170905054000p:plain
Clock:clk
Type:Continuous
Trigger in:OFF
Trigger out:OFF

条件設定

f:id:CCWO:20170905054125p:plain
Trigger Conditions
counter_1sec: 02DC6BFFh(48000000-1)
counter_led:7h
とします。次にInstanceからauto_signaltap_0のEnabledにチェックを入れます。

コンパイル

Start Compilation(上の方の三角ボタン)をクリックします。
このとき、Programmerの設定ファイルを保存するかと聞かれたら、output_filesフォルダに保存します。
次に、Signal Tapの設定ファイルを保存するかと聞かれるので、プロジェクトフォルダの直下にsignal_tapフォルダを作り自分は保存しました。
次に、Signal Tap機能をこのプロジェクトでEnableにするかと聞かれるので、Yesとします。
Quartus Primeに自動的に移り、Compile Designが通ることを確認したら、Signal Tap Ⅱに戻ります。

JTAG設定

JTAGの設定をします。
f:id:CCWO:20170905054933p:plain
USB-Blasterが接続されていることを確認し、SOF Managerからコンパイルで生成された.sofファイルを選択します。
そして、SOF Managerの隣りにある、Program Deviceボタンを押します。

Run Analysis

Signal Tap Ⅱ上のほうのInstance ManagerのとなりのRun Analysisボタンをクリックし、真ん中下のDataタブをクリックします。
f:id:CCWO:20170905055454p:plain
このようにロジック・アナライザとして内部レジスタをみることができます。
これでSignal Tap Ⅱの基本的な使い方がわかりました。また、Signal Tap Ⅱを使わないときは、InstanceのEnabledのチェックを必ず外します。再度Start Compilation(上の方の三角ボタン)をクリックします。