Skip to content

Latest commit

 

History

History
103 lines (56 loc) · 5.48 KB

README.md

File metadata and controls

103 lines (56 loc) · 5.48 KB

○×ゲームでFPGA開発をはじめてみよう(C編)

XilinxのFPGA向けソフトプロセッサであるMicroBlazeを使って,Cで○×ゲームを実装してみましょう.

MicroBlazeを使ったハードウェアの実装の詳細は,Vitis/Vivado 2020.1でMicroBlazeを使うをご覧ください. ここでは,既に作成済みのハードウェアファイルを使って作業をすすめます.

文中の$WORKは,アーカイブを展開したディレクトリ(たとえば$HOME/work)を想定します.

Vitisの起動

リモートデスクトップを使ってACRiにログインしてターミナルを開きます.

source /tools/Xilinx/Vitis/2020.2/settings64.sh
vitis &

最初にワークスペースを尋ねられます(VitisはEclipseベースです).他のプロジェクトと設定などがごっちゃになるのは嫌なので,ここでは,このプロジェクト用のワークスペースとして$WORK/fpga-tic-tac-toe-main/cを指定しています.

open_vitis

ワークスペースを指定すると起動します.

open_vitis

プロジェクトの作成

起動ウィンドウのPROJECT内のCreate Application Projectをクリックするか,メニューのFile->New->Application Project...をクリックしてウィザードを起動します.

vitis_create_project

ウェルカムページをNEXT >ですすむとPlatformの選択ページが開きます.ここでは,作成済みのMicroBlazeを含むハードウェアデザイン(.xsaファイル)からプラットフォームを作成します.Create a new platform from hardware (XSA)を選択し,Hardware Specification内のXSA File:右のBrowse...をクリックするとファイル選択ダイアログが開きますので,$WORK/fpga-tic-tac-toe-main/c/design_1_wrapper.xsaファイルを選択します.選択しおえたらNext >をクリックして次にすすみましょう.

vitis_create_project

Application Project Detailsではプロジェクトの詳細設定です.Application project name:にプロジェクト名を指定します.tictactoeにしました.他はデフォルトのままNext >で次にすすみます.

vitis_create_project

Domainではプロジェクトの実行環境について設定できます.今回はてっとり早くMicroBlaze上にOSなしでソフトウェアを実行したいのでデフォルトのままOperating System:standaloneにしてNext >で次にすすみます.

vitis_create_project

最後にプロジェクトテンプレートを選択できます.Hello Worldを選択してFinishでウィザードを終了しましょう.

vitis_create_project

プロジェクト設定が完了しました.

vitis_create_project

ソースコードの修正

テンプレートでHello Worldを選ぶと,あらかじめhelloworld.cが用意されています.Explorerペインで,tictactoe_system->tictactoe->srcとツリーを展開するとファイルにアクセスできます.ダブルクリックすると編集ウィンドウが開きます.

今回は,helloworld.cの中身を,あらかじめ用意した$WORK/fpga-tic-tac-toe-main/c/helloworld.cで置換します.

cp $WORK/fpga-tic-tac-toe-main/c/helloworld.c $WORK/fpga-tic-tac-toe-main/c/tictactoe/src/helloworld.c

ビルド

ツールバーのトンカチアイコンをクリックしてビルドします.Explorerペインでtictactoe_systeを選択した状態でトンカチアイコンをクリックしましょう.

vitis_build

ビルドが終わると,Consleペインにメッセージが表示されます.

vitis_build

実行

(1)FPGAにbitファイルをダウンロードする,(2)実行するプログラムを転送して実行する,の手順で実行します. RTL編同様にGtkTermで/dev/ttyUSB1を開いておきます.

FPGAにbitファイルをダウンロードする

メニューからXilinx->Program Deviceを選択します.

vitis_build

Program Deviceダイアログが表示されます.デフォルトのままProgramをクリックします.

vitis_build

プログレスダイアログが表示されて書き込みがすすみますので終わるまで待ちます.

vitis_build

実行するプログラムを転送して実行する

Explorerペインでtictactoe_system内のtictactoeを選択した状態で,ツールバーにある再生ボタン右横の下矢印をクリック,Run As->Launch on Hardwareを選択します.

vitis_build

ウィンドウ右下に進行状態を示すプログレスバーが表示され,完了すると消えます. GtkTermのウィンドウを確認すると,ゲームが開始しています.

やってみよう

ツールバーの再生ボタンの左にある虫アイコン右横の下矢印をクリック,Debug As->Launch on Hardwareを選択するとデバッガで実行を制御できます.試してみましょう.