こんにちは。
マクニカでインテル® FPGA 製品の技術サポートをしている インテル・F・ハナコ です。
Quartus® Prime でデバイスへ書き込みしたり、Signal Tap でデバッグしたり、Nios® II Software Build Tools でデバッグするとき、インテル FPGA USBダウンロード・ケーブルII(通称 USB-Blaster II)などのダウンロード・ケーブルで通信しますよね。
その際、JTAG Server と言うプログラムがバックグラウンドで稼働しています。
JTAG Server が何者なのかについては、後ほどご紹介するとして…
この JTAG Server が正常に機能していないと、
・ Programmer の Hardware Setup に USB-Blaster II や USB-Blaster が表示されない(もちろんドライバはインストール済みの状態)
・ Signal Tap Logic Analyzer で SOF ファイルをダウンロードしても、Status が赤字で “Program the device continue” となってしまう
などの不具合が生じます。
その要因には、以下が考えられます。
・ ファイアウォールやアンチウィルス・ツールにステータスをブロックされている。
⇒ [対策]:ファイアウォールまたはアンチウィルス・ツールを一時的に無効にしてから、JTAG Server を開始してください。
(その後、ファイアウォールまたはアンチウィルス・ツールを有効にします。)
・ JTAG Server がインストールされていない。またはサービスが停止している。
⇒ [対策]:JTAG Server をインストールしてください。サービスが停止している場合は、サービスを開始してください。
・ 使用している JTAG Server のバージョンが最新でない。
⇒ [対策]:旧バージョンの JTAG Sever をアンインストールし、最新バージョンの JTAG Server をインストールし、サービスを開始してください。
ここでは、JTAG Server の開始方法 / 停止方法 / インストール方法 / アンインストール方法 をご紹介します。
なお、これらの作業は 管理者権限で実行 してください。
JTAG Server の開始および停止は、GUI(Windows サービス)上から操作できますが、 ここでは全ての操作をコマンドで実施する方法でご案内します。
その前に、
JTAG Server のバージョンを確認しよう
稼働中(使用中) の JTAG Server プログラムのバージョンを確認するには、コマンドプロンプトにより jtagserver -v で確認ができます。
手順は以下のとおりです。
① OS の[サービス管理ツール] を起動します。
Windows 10 の場合には、スタートメニュー横の検索ボックスを利用し、検索キーワードに [サービス] を入力してください。
検索結果から [サービス] を選択すると、サービス管理ツールが起動します。
② サービスの一覧から [Altera JTAG Server] を右クリック > プロパティ を選択し、Altera JTAG Server のプロパティを表示させます。
③ [全般] タブの [実行ファイルのパス] を確認します。
このパスが、現在 稼働している JTAG Server です。
どのバージョンの Quartus Prime のインストール・フォルダを指しているか、イコール(=) "JTAG Server のバージョン" に該当します。
ここから、さらにきちんと確認する場合は、
④ コマンドプロンプト を起動します。
⑤ 上記③で確認したパスを入力し、その後 スペース、-v の順で入力し、Enter キーを押下します。
JTAG Server のバージョンが表示されます。
JTAG Server の開始方法
① コマンドプロンプト を起動します。
② cd コマンドで Quartus Prime のインストール・フォルダ下の bin64 フォルダ へ移動します。
③ 下記コマンドを実行し、JTAG Server を開始します。
jtagserver --start
④ 下記コマンドを実行し、JTAG Server の状態を確認します。
jtagserver --status
Server is running と表示されればサービスは「開始」しています。
JTAG Server の停止方法
① コマンドプロンプト を起動します。
② cd コマンドで Quartus Prime のインストール・フォルダ下の bin64 フォルダ へ移動します。
③ 下記コマンドを実行し、JTAG Server を停止します。
jtagserver --stop
④ 下記コマンドを実行し、JTAG Server の状態を確認します。
jtagserver --status
Server is stopped と表示されればサービスは「停止」しています。
JTAG Server のインストール方法
① コマンドプロンプト を起動します。
② cd コマンドで Quartus Prime のインストール・フォルダ下の bin64 フォルダ へ移動します。
③ 下記コマンドを実行し、JTAG Server をインストールします。
jtagserver --install
もし、Server is already installed と表示された場合は、すでに稼働中の JTAG Server が存在します。
表示されたバージョンとは別の JTAG Server をインストールする場合には、
稼働中のサービスを停止し、JTAG Server をアンインストールしてください。その後、インストールを行ってください。
インストール後、OS を再起動します。
④ OS 再起動後に下記コマンドを実行し、JTAG Server の状態を確認します。
jtagserver --status
Server is running と表示されればサービスは「開始」しています。
JTAG Server のアンインストール方法
① コマンドプロンプト を起動します。
② cd コマンドで Quartus Prime のインストール・フォルダ下の bin64 フォルダ へ移動します。
③ 下記コマンドを実行し、JTAG Server を停止します。
jtagserver --stop
④ 下記コマンドを実行し、JTAG Server の状態を確認します。
jtagserver --status
Server is stopped と表示されればサービスは「停止」しています。
⑤ 下記コマンドを実行し、JTAG Server をアンインストールします。 その後、OS を再起動します。
jtagserver --uninstall
⑥ OS 再起動後に下記コマンドを実行し、JTAG Server の状態を確認します。
jtagserver --status
JTAG Server not installed と表示されれば、JTAG Server は「削除」されました。
JTAG Server とは
JTAG Server は、USB-Blaster II などのハードウェアと通信し、複数のプログラムが JTAG リソースを同時に使用できるようにするプログラムです。
つまり、JTAG Server が正常に稼働していないと、USB-Blaster II などのダウンロード・ケーブルで FPGA と通信できません。
通常 JTAG Server は Quartus Prime のインストールと一緒にインストールされ、自動的にサービスが開始されますので、ユーザーが別途インストールや、サービスの開始/停止を指示する必要はありません。
インストールの有無や状態は、"Windows サービス" で確認ができます。
1台 のパソコンに複数バージョンの Quartus Prime がインストールされている場合、基本的には、最後にインストールされた Quartus Prime バージョンの JTAG Server が上書きで稼働します。
その際、正常にサービスが運用されていれば、Quartus Prime の Programmer を起動したと同時に、JTAG Server の稼働バージョンも差し替えられます。
ですが、何らかの要因で、インストールされていない、バージョンが更新されない、などの不具合が生じることがあります。
JTAG Server のアンインストール/再インストールは、そのような不具合を回避することができます。