どうもです。
最近はGitHubを積極的に稼働させています。
久々にFIR_x2にも手を入れて、
の4環境で試せるようにしました。
三日坊主にならぬよう頑張ります。
コードレビュー、プルリク、フォーク、favorite、アカウントフォロー大歓迎でございます。
「KR260でデジタル信号処理」
本題に入りたいと思います。
読者の多くはご存知かと思いますが、AUDIYはFPGAにデジタルオーディオ信号処理を実装するのが趣味です。
そんなAUDIYにとって見逃せないチュートリアルがありました。
KR260のPL内部にてDDS(Direct Digital Synthesizer) IPとFIR IPを組み合わせてFIRフィルタを動作させて、所望の帯域でフィルタ(ローパス/ハイパス/バンドパス)がかかっていることをILAで確認するというものです。
もともとは以下リンク先で紹介されてたKD240でのチュートリアルをKR260に対し行ったもののようです。
以下YoutubeにてAMDが公式でチュートリアル動画も出しています。
ということで実際にやってみましたがいくつか嵌まった点があるので、ここに共有したいと思います。
事前に上記記事や動画を御覧いただいたうえで記事を読んでいただくと詳細がわかりやすいかと思います。
ILAが・・・・出ない!
さて、上記の動画の通りにVivadoでIPどうしを配線して、VitisでHello Worldをビルドして、Debug実行したところ・・・・
・・・・ILAが・・・・出ません!
ILAが表示されないだけでなく、Hardware Managerからdbg_hubが見えないという有り様です。

なお、配置配線結果(Implemented Design)上にはいるのでもう何がなんだか理由がわからず、とりあえずAMDのCommunityに状況を投げるのでした。
psu_init...?
やはり持つべきものは強い先輩です。
よくやらかすのはPSからクロック取ってきてるけどPSの初期化(ps7_init.tcl/psu_init.tcl) 実行してなくてクロック出てないやつ。
— Kenta IDA (@ciniml) January 13, 2025
調べたところ、

どうやらPS部の初期化スクリプトのようです。
また、似たような(というかほぼ同じ)問題にあたった人も過去にいたようで、
またILAが見えなくなった。Vivado難しすぎる。SignalTapならさくっと行けるのに。。。
— いっとう (@ittou_ogami) December 21, 2020
上記ツイートの返信のやり取りを見ているとどうも同じ問題に見えます。
とりあえずやってみる
アドバイス頂きながらやってみました。
おー、ということはクロック出てないですね。Vitis IDEで実行するときの構成設定とか要確認かな…?このあたり。 pic.twitter.com/IxO6bnGlkf
— Kenta IDA (@ciniml) January 14, 2025
設定を見直したところ、場合によってエラーになることもありましたが、実行が開始された場合・・・
ILAは出るけどなんでpl_clk0が止まってるんだ・・・・ pic.twitter.com/XhgP3Cqi8d
— AUDIY (@AUDIY14) January 15, 2025
ILAが見たことの無い波形でお手上げ状態でした。
実は・・・
ILAは出るけどなんでpl_clk0が止まってるんだ・・・・ pic.twitter.com/XhgP3Cqi8d
— AUDIY (@AUDIY14) January 15, 2025
これ、実は動いてました
キレそうな理由その1
— AUDIY (@AUDIY14) January 16, 2025
出てないと思ってた波形、実は階層をたどっていくと出ていた https://t.co/8ciU1c9qeo pic.twitter.com/xos7sggd3n
動いていることはわかったのであとは必要な波形を取捨選択すればよいのですが、
さらにウィンドウ長が足りてないんですわ・・・・
— AUDIY (@AUDIY14) January 16, 2025
ILA触ったことある人向けのチュートリアルでしたねこれ pic.twitter.com/zDNrUecPVb
ウィンドウ長をデフォルトの1024のまま実行すると実際にFIRフィルタが効いているかがわかるか微妙です。
これを4096とか8192とかにして・・・・
— AUDIY (@AUDIY14) January 16, 2025
なるほどここまできて初めて所望の波形を観測できるんですね。
ということで、チュートリアル外で必要だった作業は以下3つになります。
- ソフトウェア実行時の初期化モードを見直す(psu_initを有効にする)。
- 自動で表示される波形から実際に見たい必要な波形を取り出す。
- ILAのウィンドウ長を長くとる。
最後に一言。
なーにが「Hardware Manager開けば自動で波形が出てきます」だ
— AUDIY (@AUDIY14) January 16, 2025
以上です。