【FPGA/HDL】FPGAのPLブロックだけを使ってLチカ日記 3日目:ZYBOにJTAG経由でbitファイル書き込んでLED点滅)

投稿日:2016年11月6日
最終更新日:2019年2月24日

今回やること

前回、ZYBOのLEDファイルを点滅させるRTLを書き、bitファイルを作成した。今回はいよいよZYBOにbitファイルを書き込み、LEDを点滅させてみたいと思う。いわゆるLチカ。

 

環境

Windows 10
Vivado 2016.2
ZYBO

 

ZYBOに電源を入れる

ZYBOの場合、ごついJTAGケーブルを用意しなくても基板上に回路が乗っているので、micro USBを挿すだけでJTAG通信できる。JTAGでFPGAをConfigurationする方法は、マニュアル10ページに書いてあるように、JP5をJTAGに接続になるようにつなげばいい。あと、ボードへの5V電源のアダプタがなかったので、今回はUSBで給電する(当たり前だけど、端子が挿さったとしても5Vではないアダプタは使わないでください。最悪壊れます)。USBの場合はJP7をUSBにさす。この状態でスイッチONすれば、PGOODが赤く点灯する。以下の写真のような状態。

binファイルの書き込みをしようとして失敗

あとは前回つくったbinファイルでFPGAをConfigurationするだけ。Vivadoで前回のプロジェクトを開き

「Program and Debug」→「Hardware Manager」→「Open New Target」

を選択。あとはNEXTを選んでいって「Local server」を選んで接続すればいいはずなんだけど、以下のようなエラーが発生。

ERROR: [Labtoolstcl 44-494] There is no active target available for server at TCP:localhost:3121.
Targets(s) “, jsn-Zybo-210279574966A” may be locked by another hw_server.

 

対策を調べた

調べるとXilinxのフォーラムでこの問題に関する質問があった。要約すると他のツールが hw_server 使ってるんじゃない?とのこと。うーん、Vivado以外特に開いてないんだけど・・・と思いつつタスクマネージャーを開くと「hw_server.exe」が起動していた。タスクの終了を選択してもう一度トライ。が、つながらない。

タスクマネージャーを見ると、また「hw_sever.exe」が起動している。何回かタスクの終了 → Local severに接続を繰り返していると、何故か開けた。よくわからんけど開けたからとりあえず良しとする。

 

再度チャレンジ

以下の画像のように選択してNEXTを押してFinish。

以下の画面になるので、上でも左でもいいので「Program device」を選択する。

選択すると、先ほど設定した名前が出てくるのでクリック。binファイルはデフォルトで選んでくれていた。debugファイルはないので空白のままでOK。

Programが完了すると……基板のDONEのLEDが緑に点灯し、LEDがばっちりチカチカしている。

うむ、大体動かし方はわかったきた。あえて最初はPLブロックだけ使ってみたけど、せっかくのZyboなのでPSブロックも使ってみたい。まずはHello Worldからやってみるか。

 

ZYBOで遊ぼう日記まとめ

ZYBO関係の記事は、大まかな内容ごとに以下にまとめています。
https://wakky.tech/zybo/

 


投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください