電子回路わからん日記

にゃーんと言いながら電子回路いじってます

KRIA KR260でDDS + FIRをやってみた

どうもです。

最近はGitHubを積極的に稼働させています。

github.com

 

久々にFIR_x2にも手を入れて、

の4環境で試せるようにしました。

audio-diy.hatenablog.com

 

三日坊主にならぬよう頑張ります。

コードレビュー、プルリク、フォーク、favorite、アカウントフォロー大歓迎でございます。


「KR260でデジタル信号処理」

本題に入りたいと思います。

読者の多くはご存知かと思いますが、AUDIYはFPGAにデジタルオーディオ信号処理を実装するのが趣味です。

 

そんなAUDIYにとって見逃せないチュートリアルがありました。

https://www.avnet.com/wps/portal/japan/manufacturers/amd/blog/try-to-digital-signal-processing-with-kr260-1/

https://www.avnet.com/wps/portal/japan/manufacturers/amd/blog/try-to-digital-signal-processing-with-kr260-2/

https://www.avnet.com/wps/portal/japan/manufacturers/amd/blog/try-to-digital-signal-processing-with-kr260-3/

 

KR260のPL内部にてDDS(Direct Digital Synthesizer) IPとFIR IPを組み合わせてFIRフィルタを動作させて、所望の帯域でフィルタ(ローパス/ハイパス/バンドパス)がかかっていることをILAで確認するというものです。

もともとは以下リンク先で紹介されてたKD240でのチュートリアルをKR260に対し行ったもののようです。

www.hackster.io

 

以下YoutubeにてAMDが公式でチュートリアル動画も出しています。

 

ということで実際にやってみましたがいくつか嵌まった点があるので、ここに共有したいと思います。

 

事前に上記記事や動画を御覧いただいたうえで記事を読んでいただくと詳細がわかりやすいかと思います。


ILAが・・・・出ない!

さて、上記の動画の通りにVivadoでIPどうしを配線して、VitisでHello Worldをビルドして、Debug実行したところ・・・・

 

・・・・ILAが・・・・出ません!

ILAが表示されないだけでなく、Hardware Managerからdbg_hubが見えないという有り様です。

 

なお、配置配線結果(Implemented Design)上にはいるのでもう何がなんだか理由がわからず、とりあえずAMDのCommunityに状況を投げるのでした。

adaptivesupport.amd.com


psu_init...?

やはり持つべきものは強い先輩です。

調べたところ、

adaptivesupport.amd.com

どうやらPS部の初期化スクリプトのようです。

また、似たような(というかほぼ同じ)問題にあたった人も過去にいたようで、

上記ツイートの返信のやり取りを見ているとどうも同じ問題に見えます。


とりあえずやってみる

アドバイス頂きながらやってみました。

設定を見直したところ、場合によってエラーになることもありましたが、実行が開始された場合・・・

ILAが見たことの無い波形でお手上げ状態でした。


実は・・・

 

これ、実は動いてました

 

動いていることはわかったのであとは必要な波形を取捨選択すればよいのですが、

 

ウィンドウ長をデフォルトの1024のまま実行すると実際にFIRフィルタが効いているかがわかるか微妙です。

これを4096とか8192とかにして・・・・

 

なるほどここまできて初めて所望の波形を観測できるんですね。


ということで、チュートリアル外で必要だった作業は以下3つになります。

  1. ソフトウェア実行時の初期化モードを見直す(psu_initを有効にする)。
  2. 自動で表示される波形から実際に見たい必要な波形を取り出す。
  3. ILAのウィンドウ長を長くとる。

最後に一言。

以上です。