【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を勉強し、論理回路などを組んでいこうと思います。