前回までで、KR260の初期セットアップとFWアップデートを完了し、開発ツールを使う準備が整いました。今回は、実際にFPGA(PL部)へ回路を実装して動かしてみます。
目的とねらい
KR260というボードを手に入れてはみたものの、この環境で本当に回路が動くのか確認するため、今回はPS部(CPU部)には一切頼らず、PL部のみでシンプルな回路を動かすことを通じて、基礎的な使い方を確認します。
最小構成のVivadoプロジェクトを構築する
まずは、最小限の構成でLEDを点滅させるだけの回路を作ってみました。PS(Zynq CPU)側はまったく構成せず、PLにクロック生成とLED制御の簡単な回路を実装するだけです。
構成方法については、以下の記事を参考にさせていただきました:
この例をそのまま動かすだけで、USB経由でbitstreamを書き込んでLEDをチカチカさせることができました。Linuxのブートは必要ありませんでした。
もう少し複雑な回路とPMODの活用
もう一歩進んで、書籍で紹介されていた「TD4(簡易CPU)」の回路を実装してみました。入力スイッチや出力LEDは、KR260のPMODコネクタを介して接続した外部デバイスで対応します。
PMODの利用にあたっては、以下のhackster.ioの記事が参考になります:
ただし、PMODに割り当てるピン番号の特定が少々厄介で、以下のような情報を辿る必要がありました:
- KR260の回路図から、PMOD信号名を確認
- 信号名に対応する K26 SOM(System-on-Module)上のピン番号を調べる
- K26のピン番号(XCK26-SFVC784-2LV-C/I)を含む、Vivado用のXDC制約ファイルに変換
これについては、Xilinx公式資料: K26 SOM Boot Firmware Updates
に含まれる 「K26 SOM XDC – XTP685」 の確認が必要です。
加えて、以下のGitHubリポジトリでは、信号名からピン番号への対応表CSVを作成するツールを公開されており、今後活用させていただく予定です。
動いた様子
ILAで動作確認・デバッグ
回路が動いたかどうかの確認には、VivadoのILA(Integrated Logic Analyzer) を使いました。UARTやLEDだけでは内部の挙動までは追えないため、ILAによって内部信号の観察を可能にしました。
以下の記事を参考にさせていただきました:
KR260でも同様の手順でトリガやプローブ設定が可能でした。

結果:Linuxなしでも回路を動かせることが確認できた
結論としては、Linuxを一切使わなくても、Vivadoからbitstreamを書き込むことでPL部の回路は問題なく動作するという確認が取れました。
これにより、今後はまずPLでの機能検証→必要に応じてLinuxやユーザーアプリ統合へ…という開発サイクルが回せそうです。
コメントを残す