FPGA競技について
更新情報 
FPGA 競技の基本方針
- FPGA 競技は 2024年度からスタートした新しい競技 です。以前は配置配線問題を模した「ナンバーリンク」の解を自動で求めるシステムや数値関数の値を求める演算器など、アルゴリズムやアーキテクチャの設計を行うコンテストを行って参りました。昨年度からコンテストの趣向を変えて、プログラミング競技 と FPGA競技 の2本立てになりました。コンテストの目的としてアルゴリズムデザインの方向性は変わりませんが、ソフトウェアだけでなく、ハードウェアの分野においても 論文投稿ができるように裾野を広げています。
- FPGA 競技についてはこれまでの応募件数も少なく、競技として習熟していないことから、昨年と同様、競技の大枠のみを設定し、一律の動作環境や実装条件などは定めない方向です。競技的な一律指標での優劣よりもむしろ、実装手法やアイディアの新規性、独創性など多彩な視点における「アルゴリズムデザイン」を提案していただき、論文投稿へ繋げていく場としてご活用いただければと思います。
- このような背景から、パフォーマンスも自己申告制としたいと思います。当日はライトニングトークもありますので、アピールポイントなど自由に発表していただければと思います。
- 実装のきっかけをつかんでいただけるように、一案としての実装仕様 を以下に定めていますので、ご参考になさって下さい。パフォーマンス評価も一案です。
- プログラミング競技と FPGA 競技は 同じテーマ を扱っています。昨年度は「ナンバープレイス・パズル(ナンプレ)」でしたが、今年度のテーマは「マインスイーパー」です。
- 事務局側からは参考程度の位置付けとしてソルバ以外の マインスイーパーシステム・モジュールのサンプル を提供させていただきます。使用は必須ではありません ので、自由にハードウェアを設計していただければと思います。
競技概要
- 「マインスイーパー」の問題を自動的に解く ハードウェア(ソルバ) を設計して下さい。
- Verilog-HDL 等を用いて開発いただき、可能であれば FPGA ボード等で動作させて下さい。
- FPGA への実装が難しい場合は CADツール上での論理シミュレーションや合成結果のみでも構いません。
- FPGA ボード等の環境は参加者ご自身でご用意いただければと思います。
- 「マインスイーパー」の基本ルールは プログラミング競技と同一 です。ただし、盤面の表現の仕方 や データ構造 、セル値の表現 等はハードウェアに合わせて自由に変えて下さい。また、地雷をオープンした場合の扱いやスコアのカウント方法もプログラミング競技とは異なります。ルールと得点 をご参照下さい。
ハードウェアの入力
- 盤面データ が入力となります。プログラミング競技で使用する盤面データと同じフォーマットのテキストファイルです。
- ホストPCとFPGA間で通信を行い、盤面データのテキストファイルをFPGAに送り込む等の方法により、動作中のFPGAに問題を与えます。
- FPGA へのデータ送信が難しい場合は、盤面データをFPGA内のROMに予め書き込んでおいても構いません。
- 論理シミュレーションの場合はシミュレータに合わせて盤面データを入力してください。
ハードウェアの出力
- ホストPCとFPGA間で通信を行い、最終盤面のテキストファイルをホストPCに送り出す等の方法により、ホストPC上で解答データを取得します。
- 実機での動作確認が難しい場合は、論理シミュレータを用いてRAMに格納される解答データを取得しても構いません。
- 上記以外の方法による解答データの取得も可能です。
ルールと得点
- 地雷をオープンした場合の扱いやスコアのカウントについては、まだ検討中です。詳細が決まりましたら、こちらのサイトで開示いたしますので、更新情報をご覧いただければと思います。
- 以下は検討中の内容ですので、今後変わる可能性があります。
- 提供予定のマインスイーパーシステム・モジュールでは 地雷以外の全てのセルをオープンした場合 に終了となります。
- 終了した盤面における、オープンした 地雷セルの数、オープンしなかったセルの数、サイクル数、などを元にパフォーマンスを評価したいと思います。
競技用盤面データの提供について
- FPGA 競技で使用する盤面データはまだご提供できておりません。
- 準備ができましたらこちらのサイトで開示いたしますので、更新情報をご覧いただければと思います。