aster_ismの工作室

FPGAとかマイコンとか

ARTY S7ゲット

リコンフィギュアブルシステム研究会に参加したところ、懇親会でDigilentのSpartan7ボード ARTY S7をじゃんけんでゲットしました。Digilentさん、Avnetさんありがとうございました。 頂いたのに、何もしないのは流石に失礼なので、簡単にLチカした記事書いておきます。 なお、懇親会でお酒をたくさん飲みましたので間違いがあるかもしれませんが、多めに見てください。

f:id:aster_ism:20170925205712j:plain

概要

評価ボード: ARTY S7

ツール: Vivado 2017.2

アプリ: Lチカ

Vivado インストール

Spartan-7のボードを持っていないので、インストールしているVivadoのデバイスにSpartan-7がない! ということで、とりあえず、Spartan-7を入れてVivadoのインストール。この辺りはたくさん記事があるはずなので省略。 なお、私はWin10のHyper-V上でUbuntu16.04を入れて使っています。 また、Hardware ServerのみWin10に入れています。

外部端子情報のダウンロード

DigilentのGithubにXDCファイルがあるので、ARTY S7のをダウンロードする

Vivadoで回路(Lチカ)を作る

まずは、デバイスをXC7S50を選択。

f:id:aster_ism:20170925213811p:plain

Add Sources よりダウンロードした XDCファイルをインポート。

f:id:aster_ism:20170925214021p:plain

Switches, Buttons, LEDsのコメントを外す。

f:id:aster_ism:20170925230748p:plain

Add Sources より、top.vを新規作成。

f:id:aster_ism:20170925214256p:plain

適当に論理を書く。

module top(
    input wire [3:0]sw,
    input wire [3:0]btn,
    output wire [3:0]led
);


    assign led[0] = (sw[0]) ? btn[0] : ~btn[0];
    assign led[1] = (sw[1]) ? btn[1] : ~btn[1];
    assign led[2] = (sw[2]) ? btn[2] : ~btn[2];
    assign led[3] = (sw[3]) ? btn[3] : ~btn[3];

endmodule

Generate Bitstreamを実行。

f:id:aster_ism:20170925215648p:plain

Win10上でHardware Serverを立ち上げる。

f:id:aster_ism:20170925221611p:plain

Remote Server にWin10のIPを入力して接続して、Program Deviceを実行。 (ファイヤーウォールの設定を忘れて、リモートで繋がらず、10分ほど悩んだ)

f:id:aster_ism:20170925225829p:plain

書込みが終わったら動作確認。

swが下側になっているところは常時点灯、逆は常時消灯。 btnを押したところは点灯、消灯が反転。 正しく動いているのを確認できました。

f:id:aster_ism:20170925224049j:plain

最後にもう一度、Digilentさん、Avnetさんありがとうございました。