これまで、Parallellaを使ってFPGAに触れながら、Vivadoの動作環境などの整備を進めてきました。今回は、より本格的な開発を進めるためのターゲットボードとして「KR260」を導入した経緯と、その初期セットアップの様子を紹介します。
なぜParallellaからKR260へ移行したのか
ParallellaはFPGAとEpiphanyプロセッサの組み合わせが特徴で、学習用途としては十分に役立ってくれました。しかし、今回目指しているシステムは「映像入力を受けて、リアルタイムでエフェクト処理を行い、液晶ディスプレイに出力する」というもの。中でもDisplayPort経由で画像を出力する構成を考えており、ここに壁がありました。
DisplayPortの映像出力を実現するには、高速シリアルトランシーバ(GTHなど)を搭載したFPGAが必要ですが、ParallellaのFPGAにはそれがなく、現実的な選択肢ではありませんでした。そこで、より高機能なFPGAを搭載したボードを探すことになりました。
KR260を選んだ理由
KR260は、AMD(旧Xilinx)のKriaシリーズのエッジ向け評価キットです。搭載されているSoM(System on Module)はK26 SOMで、内部にはZynq UltraScale+ MPSoC相当が搭載されています。
このK26は、Zynqファミリの中でも中〜上位にあたるXCZU5クラスに近い構成で、以下のような特徴を持ちます。
- GTHトランシーバを搭載しており、DisplayPortや高速I/Oに対応可能
- Zynq MPSoCとしてCPU+FPGAの統合環境が整っており、PetaLinuxなどの活用も容易
- 評価ボードとしては非常に安価で、XCZU5EV搭載の一般的なボードの数分の一の価格
また、KR260を選んだ最大の理由はその拡張性です。たとえば以下のようなI/Fが標準で用意されています。
- Raspberry Pi互換 40ピンヘッダ
- PMODコネクタ
- SFP(光/ギガビット)モジュールスロット
- USB 3.0, HDMI(Rxのみ)
同じK26 SOMを使うKV260と比べて、より拡張性重視の構成で、多様な目的に対応できそうです。
電源の確保:USB PDから12Vを取り出す
KR260の電源要件は12V / 36W(= 3A)程度と明記されています。一般的なACアダプタを使う手もありますが、今回はより柔軟な電源構成を目指し、USB Power Delivery(PD)から12Vを取り出して電源供給する構成をとりました。
以下の構成で、問題なく起動できることを確認しています。
USB PD対応充電器
Nexode 200W(UGREEN)、12V出力に対応しており、最大で数ポートから同時給電可能です。詳細スペック: UGREEN製品ページ
PDトリガー付きDC変換ケーブル
PDトリガー 5525プラグ(12V対応)、PDから指定電圧(今回は12V)を取り出し、KR260の電源ジャック(5.5mm/2.5mm)に変換して接続できます。
ファームウェアアップデートを実施
KR260を初めて使う際は、ブート用ファームウェアのアップデートを実施しておくことが推奨されています。これは、U-BootやFSBLなどの更新にあたる処理で、最新環境との互換性を保つ意味でも重要です。
アップデート手順は公式Wikiの以下のページに詳しく載っており、手順通りに進めることで問題なく完了しました。
Kria SOMs Starter Kits – Boot Firmware Updates
今後の開発方針とVivado/PetaLinuxとの接続
現在の構想では、以下のようなステップで開発を進めていく予定です。
- USB経由でJTAG/UARTに接続し、Vivadoからbitstreamをデバッグ
- Linuxを起動せずとも、回路単体での検証ができるかをまず確認したい
- 必要に応じてPetaLinux環境をKR260向けに構築
- OS上で動作させる手順を確認する
おわりに
Parallellaでの試行錯誤を経て、ついにDisplayPort出力が現実的なターゲットボード「KR260」を導入しました。拡張性に優れ、USB-PDでスマートに電源が取れるなど、、可能性を感じています。
コメントを残す