KR260でデジタル信号処理してみた! (3)
皆さん、こんにちは。新人エンジニアのノリさんです!今回は以下の記事を参考にデジタルフィルタをKR260で動かしていきます。
2024-03-01
Step0:前回行った内容の参照
前回までのブログはこちらをご参照お願いします。 /japan/manufacturers/amd/blog/try-to-digital-signal-processing-with-kr260-2/
Step1:ビットストリームの生成とXSAのエクスポート
ハードウェアでの作業を行うために合成とインプリメンテーションを実行し、ビットストリーム及びXSAを生成します
Flow Navigator ウィンドウで Generate Bitstream を選択すると、合成とインプリメンテーションを実行するかどうかを尋ねるポップアップが表示されるので、yesを選択します
ビットストリームが生成されるのに数分程掛かるので待ちます
ビットストリームが正常に生成されたら、ビットストリームを含むハードウェアをXSA 形式でエクスポートします
Vivado上の画面左上からFile > Export > Export Hardware...と選択しエクスポート ウィザードを開きます
Nextをクリックして、Include bitstreamにチェックを入れます
そのままNextをクリックし、表示された文章から設定が合っていることを確認してFinishをクリックします
Step2:Vitis ワークスペースの作成と実機での動作確認
作成したPLロジックはフリーランニングするデザインですが、そのPLロジックのリセットやクロックはPSから供給しており、 PSは適切にイニシャライズする事で初めてリセットやクロックを生成・出力します
PLのコンフィグ及びPSのイニシャライズを容易に実現する方法として、Vitisによるアプリケーション実行が挙げられます
アプリケーション自体の機能は何でも良いので、ここではシンプルなHello Worldを使用します
Tools > Launch Vitis IDEからVitis を起動します
Create Platform Projectからプラットフォームプロジェクトを作成します
プラットフォームプロジェクトの名前を入力してNextをクリックします
下図と同じ設定になっていることを確認してFinishをクリックします
プラットフォーム プロジェクトが生成されたら、プラットフォームのビルドを実行して、 アプリケーションのビルドに必要なすべてのファイルを生成します
次にNew > Application Project...を選択して、新しいアプリケーション プロジェクトを作成します
先程ビルドしたプラットフォームが選択されていることを確認してNextをクリックします
アプリケーションの名前を入力してNextをクリックします
Next > Hello Worldが選択されていることを確認しFinishの順でクリックします
hello_kr260_sysytem > hello_kr260 > src > helloworld.cからHello Worldのソースコードを確認できます
Hello Worldアプリケーションをビルドします
アプリケーションのビルド後、ハードウェア上でデバッグ実行を開始します
- エクスプローラーウィンドウでアプリケーション プロジェクト名を右クリックしDebug As > Launch Hardware (Single Application Debug) を選択します
- KR260 はホスト PC に接続され、電源が入っている必要があります
Vivado に戻り、Flow NavigatorからHardware Managerを起動します
ビットストリームを生成したVivadoプロジェクトを開いてHardware Manager を起動すると、ILA が自動的に表示されます
Vivado プロジェクトを開いていない状態、または別のプロジェクトを開いた状態でハードウェア マネージャーを起動する場合はビットストリームを生成した Vivadoプロジェクトのimpl_1 ディレクトリからデバッグ ネット (.ltx) ファイルを指定する必要があります
デザインは PL 内でフリーランニングであるため、ILA を実行するだけで DDS および FIR からの波形を確認できます
感想
今回はKR260での信号処理を実行しました。
3ヶ月使った企画は初めてでしたが、その分ボリューム感があり個人的には満足できる内容をお届けできたのではないかと考えています。
次回以降も可能な限りボリューミーな内容に仕上げられたらと思います。
それでは、また次回お会いしましょう!See you next time!

Kria
Kria SOMはアダプティブSoCデバイスを搭載しており、スマートカメラやエンベデッドビジョンなどに最適です。
AMD製品に関連する技術ブログ
- エンジニアブログの再開およびテクニカルウェビナーのご案内
- 初心者のためのPython & Numpy入門
- KR260でIntel RealSenseを動かしてみた!
- Vitis HLSで足し算IPを作ってみた!(プログラミング編)
- KD240でモータ制御してみた!
- KR260でデジタル信号処理してみた! (3)
- KR260でデジタル信号処理してみた! (2)
- KR260でデジタル信号処理してみた! (1)
- KR260でロボットアームを動かしてみた! (2)
- KR260でロボットアームを動かしてみた! (1)
- KR260でROS2を使ってキャリブレーション&マーカー検出してみた!
- KR260とPynqでAIカメラを動かしてみた!
- KR260でROS2 Perception Stack Applicationを動かしてみた!【2】
- KR260でROS2 Perception Stack Applicationを動かしてみた!
- Kria SOMでTPM2.0を動かしてみた!
- VivadoでKR260のハードウェアデザインを作って動かしてみた!
- ROS2 Multi-Node Communications via TSNを動かしてみた!
- AIBOX-ReIDを動かしてみた!