KR260で簡単な回路を動かす

前回までで、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に割り当てるピン番号の特定が少々厄介で、以下のような情報を辿る必要がありました:

  1. KR260の回路図から、PMOD信号名を確認
  2. 信号名に対応する K26 SOM(System-on-Module)上のピン番号を調べる
  3. 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やユーザーアプリ統合へ…という開発サイクルが回せそうです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.