【FPGA備忘録】No2 FPGAでLチカ
引き続き、FPGAをいじっていきます。
前回は、インストールを完了させ、プロジェクトを立ち上げるところまでやりました。今回はその続きです。
今日は、FPGAで実際にプログラムを作成し、コンパイルして書き込むところまで行おうと思います。
プログラムソースを作成する

プログラムの難しそうな英語の羅列をソースと呼びます。
まず、ソースを書くには、シートを作成しなければなりません。
作成したプロジェクト画面の右上に、「Add Souce」とあるのでこれをクリックします。

・Add or create constraintsを選択
・Nextをクリック

Create Fileをクリック

ソースの言語を選択できます。
Verilog、Verilog Header、System Verlog、VHDLの四種類から選べます。
つまりVerlogかVHDLです。
今回は、Verlogを選びました。


作成したらFinish
souceが作成されます。

Project画面の左側、Soucesの中の「Design Souces」を選ぶと、作成したソース画面が右側に出ます。
ここに、プログラムを書いていきます。
試しに、ボタンを押したらLEDが光るプログラムを書いてみようとおもいましたが、言語がまったくわからないため、ネットを検索してプログラムを探しました。
エンジニアの電気屋さん XilinxのFPGAの評価ボードを購入してみた。
今回は、こちらのブログを参考にしています。
このプログラムは、
入力SW1は「1」のとき、出力LED1「1」
・入力SW2は「1」のとき、出力LED2「0」となっています。
ただ、ArtyS7では、単色のLEDは、LED2,3,4,5だったので、LED1→LD2 、LED2→LD3とします。

入出力ピンを設定する
ソースができたら、使用するピンの入出力を設定します。
Project画面のAdd Souceをクリック

「Add or create constraints」を選択→Next

Create Fileを選択

XDCファイルを選択し、名前を付ける。
Souceの画面に、constrsが追加される。


今回は、SW1とSW2を使います。
今度、一覧表にまとめてみようとおもいますが、SW1はG15、SW2はK16というポート名がついています。
また、LED1 はE18、LED2はF13です。
エンジニアの電気屋さんのブログを参考に、入出力設定を行いました。
コンパイル
次に、プログラムが構文的に正しいかどうかをチェックします。

PROGRAM AND DEBUG→Generate Bitstreamを選択。

そのままOKを押すとコンパイルが始まります。
Successと表示が出ればOKです。
プログラムを書き込む

PCとArtyを接続します。
Micro USBで接続するだけで、ドライバーは有効になります。

PROGRAM AND DEBUG →Open Hardware Manager
→Program Device→xc7s50_0を選択

Programを押せば書き込みが開始されます。
実際にたしかめる

実際に動作を確かめましょう。
入力SW1は「1」のとき、出力LD2「1」
・入力SW2は「1」のとき、出力LD3「0」となっているため、
両方とも押していない状況では、LD2「0」,LD3「1」となります。
たしかにそうなっています。

BTN1を押すと両方0(光らない)

BTN0を押すと両方点灯

両方押して、LD2だけ点灯。
たしかに、プログラム通りです。
所感
今日は、FPGAでLEDを光らせるまでの流れを試してみました。次回以降、Verilog及びVHDLを勉強し、論理回路などを組んでいこうと思います。