United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

ザイリンクス FPGA でソフト プロセッサを構築し、乱数を推測する

今回は、FPGA Xilinx MicroBlazeチップを使った数字当てゲームのデモサンプルをご紹介します。ちなみにこのサンプルはDigilent社にインターンで参加していた学生によって作成されたものです。

0~15の数字のうちひとつをFPGA がランダムに選択、それをプレーヤーが4回以内に推測して当てるゲームです。このゲームのコーディングを通して、ユーザーはFPGA上でのプロセッサ構築の基本や、その上で動作するアプリケーション開発の方法を学ぶことができます。 このプロジェクトでは、Digilent製のArty A7 (193-2598) : Artix-7 FPGA 開発ボードを使用し、Artix-7 FPGA 開発ボード上のスイッチ、ボタン、および LED を動作さえるアプリケーションを作成します。

ちなみに Arty A7 は、ザイリンクス製のFPGAチップ「Artix-7™」を搭載した開発プラットフォームです。特に MicroBlaze ソフト プロセッシング システムとして使用するために設計されています。

他のシングル ボード コンピュータとは異なり、Arty は単一の処理周辺機器セットに縛られるのではなく、ある瞬間は UART、SPI、IIC、およびイーサネット MAC でぎっしり詰まった通信の強力な装置であり、次の瞬間は 12 個の 32 ビット タイマーを備えた綿密なタイムキーパーにもなります。

MicroBlaze はザイリンクスの 32 ビット RISC ソフト プロセッサ コアであり、ザイリンクス デバイスのエンベデッド アプリケーション向けに最適化されています。MicroBlaze プロセッサは使いやすく、必要に応じてペリフェラル、メモリ、インターフェイスの組み合わせを柔軟に選択できます。

MicroBlaze ユーザーは、Vivado をインストールし、新しいグローバル リポジトリを作成し、MicroBlaze SDK を参照してプロジェクトで使用する必要があります。

Digilent Arty Board

ゲームをプレイするには、Tera Term などの UART をサポートするターミナル エミュレータが必要です。ターミナルにはメッセージが表示されます。プレーヤーはスイッチを切り替えて、推測したい数字を 2 進数で設定します。 

プレーヤーは、ボード上のボタン 0 を押して推測を送信します。

推測が正しい場合, プログラムはこれを示すメッセージを出力します。

推測が正しくない場合, プログラムはプレーヤーにメッセージが表示されます.推測が高すぎるか低すぎて、残りのチャンスの数。

プレーヤーが4回間違って推測すると、すべてのLEDとRGB LEDが赤に設定され、3回点滅します。

その後、プログラムは正しい答えを明らかにするメッセージを出力します.最後に、ゲームはプレイヤーにプレイを続けるかどうかを尋ねます。

ボタン 0 は別のゲームを開始し、ボタン 3 はゲームを終了します. プレイヤーはボタン 3 を押すことでいつでもゲームを終了することもできます。

Guessing game terminal emulator screen

ソフトウェアに実装されている機能には、ユーザー入力のデバウンスとエッジ検出、LED パルス幅変調 (PWM)、ゲーム用の乱数生成などがあります。

Digilent Project Pageでは、このプロジェクトに使用するすべてのソースコードやドキュメントをダウンロードする事ができます。

 

                                                                                            

awong さんはまだ自己紹介を入力されていません...