どもです。
過去のこのブログですが、
すでに基板が出来上がっているのと、FPGAも動き始めたのでそろそろ積極的に記事を上げていければと思います。
接続基板のその後
その後曲線配線をしたり
うーん、エッチ!!!! pic.twitter.com/ymlhHPO2ar
— AUDIY (@AUDIY14) June 14, 2023
届いた基板を確認したら穴径を間違えていたり
だーから言わんこっちゃない(支柱の取り付け寸法ミスった pic.twitter.com/fESOdcnLt6
— AUDIY (@AUDIY14) July 18, 2023
しましたが、修正後の基板が動き始めています。
うーん、(とりあえず動いたから)ヨシっ! pic.twitter.com/4S6BsQwmKM
— AUDIY (@AUDIY14) July 29, 2023
この回路と基板設計データはGithub上に公開しています。
ライセンスもCC-BY-4.0なので、そこさえ守っていただければご自由にお使いいただければと思います。
FPGAとCombo384を繋げて何をするのか
早い話、デジタルフィルタを使用した信号処理です。
~(・ ω ・)~ヌルヌル pic.twitter.com/Ta1SaUlp62
— AUDIY (@AUDIY14) August 17, 2023
デジタルフィルタについては下記Webサイトがそこそこ詳しく、かつ難しい話はいい塩梅で割愛されてて概要をつかみやすいと思います
デジタルオーディオにおけるサンプリング周波数変換(アップサンプリング、ダウンサンプリング)、DSD→PCM変換、アンチエイリアス等、「信号処理」と呼ばれるもののほとんどはデジタルフィルタで実現されています。
それをFPGAに実装してしまおう、そういうお話です。
まずはFIRフィルタ
X (旧Twitter)ではオーバーサンプリングFIRフィルタの実装の模様を過去に投稿しています。
リングバッファ動いたよ pic.twitter.com/yS1akXMFXP
— AUDIY (@AUDIY14) August 5, 2023
あっ・・・・・・(虚無)
— AUDIY (@AUDIY14) August 17, 2023
フィルタのピークの乗算が行われる前にその両端の乗算が終わってて計算順序あべこべになっとる pic.twitter.com/FoWCtl2Nuq
あぁぁぁぁぁぁぁ行ったぁぁぁぁぁぁぁぁぁぁぁぁ!!!!!!!!!!!!!!!!!!!! pic.twitter.com/dmLrfl2d5X
— AUDIY (@AUDIY14) August 17, 2023
数年前にビヘイビアモデル(シミュレーションでのみ実行可能なモデル)をVerilogで書いたことはありましたが、FPGAに配置配線可能なRTLは初めて実装しました。
今後は何かしらの形でこのFIRフィルタを実現するRTLも解説できればと考えています(せっかくなので同人誌チャレンジしたい)。
ということで進捗報告でした。
ちなみにですが、44.1kHz→88.2kHzは動き始めています。
44.1k/48kHz→88.2k/96kHzのフィルタのコンパイル通った。
— AUDIY (@AUDIY14) September 24, 2023
意外とリソース食わない。 pic.twitter.com/x2jtZx0IHu
うぉぉぉぉぉぉぉぉぉぉぉぉぉぉ!!!!!!!!!! pic.twitter.com/Herl85z3lP
— AUDIY (@AUDIY14) September 24, 2023
Efinix Trionで実装したばかりなので、他のFPGA(例:Intel MAX10、Tang Primer 20K等)にも随時実装・検証していきたいと思います。
FPGAのロジアナ機能でPCMを読むとすぐにメモリが埋まってしまうので、ロジアナが欲しくなってきました・・・・