-AI版–
ASIC(Application-Specific Integrated Circuit)設計は、従来のFPGA(Field-Programmable Gate Array)設計に比べて固定的でカスタマイズが難しいとされています。しかし、CPUライクな設計手法を取り入れることで、ASICもFPGAのような柔軟性と汎用性を持たせることが可能です。本記事では、具体的な事例を通じて、ASIC設計の新しいアプローチを紹介します。
DSPとFPGAの中間を狙う設計手法
従来のDSP(Digital Signal Processor)設計をさらに発展させ、FPGAと同じ汎用性ではなく、DSPとFPGAの中間ぐらいの抽象度を狙うことで、特定用途に最適化しつつも柔軟な設計を実現します。
- オーディオ信号処理の例:
- 高度なオーディオ信号処理を行う際に、高度なフィルター演算は専用演算回路を行うハードマクロを用いることでPPAを最適化しつつ、信号選択や信号ミックスなどの平易な処理はソフトウェアで柔軟かつダイナミックに変更可能な設計を行いました。
- これにより、特定のオーディオエフェクトやフィルタリングをソフトウェアで動的に変更できるようになり、製品のバリエーションを容易に増やすとともに個別のお客様からのご要望にも柔軟に対応することができました。
ソフトウェアで任意の信号タイミングを生成する
SDカードインターフェースに代表されるような各種バスプロトコルの細かな信号タイミングを、従来のステートマシンによるハードコーディングではなく、ソフトウェアによって生成する手法を採用します。
- SDカードインターフェースの実装:
- 従来の設計では、SDカードインターフェースの信号タイミングをステートマシンで実現していましたが、新たなアプローチとしてソフトウェア制御を導入しました。
- ソフトウェアによる信号タイミング生成により、追加規格等プロトコル進化の過程における柔軟な対応が可能となるだけでなく、接続先カードの素性やプロトコルの解釈の誤りも含めた様々な対策をASIC設計後に対処することも可能となり、開発期間の短縮とコスト削減を実現しました。
CPUライクな信号処理の実現
上述の設計事例のように、従来のハードワイヤでの設計から脱却し、CPUのごとくソフトウェア命令で様々な信号処理を実現することを目指します。
- 多機能デバイスの設計:
- 多機能デバイスにおいて、各種信号処理をCPUライクなアプローチで実装しました。これにより、ソフトウェアアップデートによって新機能の追加や既存機能の改良が容易になりました。
- この設計手法により、開発の柔軟性が向上し、市場のニーズに迅速に対応することが可能となりました。
回路規模と自由度のトレードオフ
ハードワイヤで実装した場合の回路と比較し、数倍以内の回路規模を考慮することがポイントです。設計には、回路規模と自由度のトレードオフを調整するバランス感覚が必要です。
- 信号処理回路の設計:
- 信号処理回路をハードワイヤで実装する場合と、ソフトウェア制御で実装する場合の回路規模を比較し、最適なバランスを見つけました。
- このアプローチにより、自由度を確保しつつ、回路規模を抑えることができ、効率的な設計が実現しました。
検証の省力化
この設計手法を用いることで、検証をやり続けなくても、基本的な動作検証をするだけで、その複合動作については検証を省くことが可能となります。
- ソフトウェア制御の信号処理回路の検証:
- 基本的な動作検証を徹底することで、複合動作の検証を省力化しました。これにより、開発期間の短縮と検証コストの削減が実現しました。
- 検証の省力化により、リソースを他の重要な開発工程に集中させることができ、全体の開発効率が向上しました。
まとめ
CPUライクな設計手法を取り入れることで、ASIC設計においてもFPGAのような柔軟性と汎用性を持たせることが可能です。具体的な事例を通じて、回路規模と自由度のバランスを取りつつ、効率的な設計と検証の省力化を実現する方法を紹介しました。