このリポジトリには、Arduino Vidor 製品ファミリーと互換性のある FPGA IP ブロックが含まれており、すでに FPGA 開発プロセスに精通しているユーザーを対象としています。ネイティブ ツールを使用した FPGA 開発は推奨されていますが、非常に複雑でサポートが難しいため、Arduino ではサポートされていません。この課題が自分に課せられたものであると思われる場合は、プリコンパイルされたライブラリと簡単な方法を提供する Web ツールを使用して、Arduino IDE および Arduino Create 内でスムーズなエクスペリエンスを提供することが主な取り組みであるため、提供できるサポートは非常に限定的であることをご了承ください。 IP ブロックをアセンブルします。
ディレクトリ構造を次の表にまとめます。
ディレクトリ | コンテンツ |
---|---|
ip | IPブロックのソースコード |
プロジェクト | さまざまなボードのサンプル プロジェクト ファイル |
制約 | さまざまなボードの制約ファイル。ピン配置とタイミングを含む |
繰り返しになりますが、このリポジトリは、すでに FPGA プログラミングに精通しているユーザーのみを対象としています。現時点での主な目的は、IP ブロック機能を公開し、私たちが作成したインフラストラクチャを提示して、潜在的な貢献者が評価を開始できるようにすることです。現在のところ、このリポジトリには、リリースされたライブラリをコンパイルするために必要な完全なソース コードは含まれていません。その一部は、コードとライセンス (場合によってはサードパーティからの) の両方の点でさらに磨きをかける必要があるためです。動作する FPGA の完全な例と、ライブラリを作成して FPGA にアクセスする手順がここに掲載されますが、必ずしも公開している公式イメージを反映しているわけではありません。
MKRVIDOR4000 ボードの FPGA イメージをコンパイルするための前提条件は、アルテラ/インテルの Web サイトからダウンロードできる Quartus II 18.0 Lite または Standard です。 Quartus がインストールされると、projects ディレクトリーの下でプロジェクトを開いて、Quartus でコンパイルできるようになります。
Quartus は、プロジェクトフォルダーの Output_files ディレクトリーの下に一連のファイルを生成します。 Arduino コードに FPGA を組み込むには、ライブラリを作成し、Quartus によって生成された ttf ファイルを前処理して、ソフトウェア インフラストラクチャに必要な適切なヘッダーが含まれるようにする必要があります。このプロセスの詳細は、フローが安定し次第公開されます。
FPGA はさまざまな方法でプログラミングできます。
Arduino コードとともにイメージをフラッシュし、ttf ファイルを組み込んだライブラリを作成します。
USB Blaster を介して RAM にイメージをプログラミングします (これには、FPGA JTAG ヘッダーのマウントが必要です)。これは、SAM D21 がブートローダー モードにある場合にのみ安全に実行できます。他の条件では、JTAG にアクセスして競合が発生する可能性があるためです。
SAM D21 経由でエミュレートされた USB Blaster を介して RAM 内のイメージをプログラミングする (このコンポーネントはリリース保留中です)