プリシリコンソフトウェア開発:SoCエミュレーションで市場投入を加速
今日の急速に動くテクノロジー時代において、市場要求を満たす最も一般的なアプローチはSystem-on-Chip(SoC)です。SoCは、それを駆動するペリフェラルをサポートする専門アクセラレーターと広範なI/Oに囲まれた単一の統合プロセッサーコアです。
2002年のモバイルデータブーム以来、SoCはスマートフォンを定義するコア機能を可能にするために不可欠になりました。同じトレンドが今、「スマート」コンシューマーデバイス——スマートTV、コネクテッドカー、急速に拡大するInternet-of-Things(IoT)エコシステム——でのSoCの普及を推進しています。
SoCへの需要の高まりは、市場を激しい競争の場に変えました。対応として、設計者はより複雑なデバイスを構築し、ペリフェラルファミリーを継続的に進化させ、設計と発売の間のウィンドウを縮小しています。対応するためには、ソフトウェアを可能な限り早期に利用可能にし、高価なポストテープアウト修正を避けるため十分に堅牢でなければなりません。
従来、SoCソフトウェアチームは最初のシリコンサンプルを待ってから開発を開始していました。シリコンプロトタイプの到着が、世界中から集まった開発者がドライバーとインターフェースを検証する短く激しい立ち上げスプリントを引き起こしました。この積極的なスケジュールでも、ソフトウェアが本番準備完了に達するには通常数ヶ月、時には数年を要し、大量生産開始前の信頼性はほとんどありませんでした。
SoC設計がサイズと複雑さを増すにつれ、シリコン入手と本番準備完了ソフトウェアの間のギャップは数年に伸びる可能性があります。ペリフェラルファミリーの急速な進化——オーディオ、ビデオ、USB、Ethernetなど——も専門知識のギャップを生み、専門家の採用が必要となり、コストとタイムラインをさらに押し上げます。
信頼性の高いソフトウェアをより早期に提供するため、業界は「シフトレフト」哲学を採用しています:ハードウェア設計と並行して開発を開始することです。プリシリコン開発はソフトウェアパイプラインを加速するだけでなく、設計レベルのバグを露見させ、高価なマスクテープアウトを回避できます。
プリシリコン開発戦略
ソフトウェアはテープアウト前にいくつかの技法で開始できます:ソフトウェアプロトタイピング、RTLテストベンチ、FPGAプロトタイプ、そして最も効果的なフルシステムエミュレーション。各手法は特定の抽象化レベルに焦点を当て、独自のトレードオフがあります。
System-C行動モデル
すべてのIPブロックにSystem-Cモデルを作成すると、開発者はドライバーを分離して記述・テストできます。しかし、すべてのペリフェラルを正確にモデリングする労力は膨大で、プロジェクト予算をすぐに超える専門チームが必要です。さらに、行動モデルはモデラーの解釈に大きく依存し、設計意図とモデルの不一致が後で診断に高コストな微妙なバグを引き起こす可能性があります。
RTLテストベンチ
検証に使用される同じVerilogやVHDLから構築されるRTLテストベンチは、SoC全体のサイクル精度シミュレーションを提供します。ハードウェア設計とロックステップで最新の表現を保証します。欠点は速度です:サイクル精度シミュレーターは実ハードウェアより桁違いに遅く、ドライバー開発が数ヶ月かかる遅いプロセスになり、早期開始のメリットを相殺します。
FPGAプロトタイプ
最新FPGAはRTLからIPブロック全体を合成できるようになり、シミュレーション時間の一部でサイクル精度動作を提供します。各ペリフェラルを別々のFPGAにマッピングすることで、開発者はドライバーを迅速に記述・デバッグできます。トレードオフは、ブロック間の通信とリソース共有を含む完全なSoC統合が欠けていることで、検証の深さが制限され、統合レベルの問題がシリコン入手後にのみ浮上します。

SoCエミュレーター
SoCエミュレーターは最もバランスの取れたアプローチを表します。シリコンと同じRTL上に構築され、サイクル精度性能を提供しながらVerilogテストベンチの100倍の速度で動作します。この速度により、フルOS移植、ドライバー開発、システムレベルテストが数ヶ月ではなく数週間で可能になります。
エミュレーターはまた、UART、I²C、ディスプレイコントローラー、PCIe、Ethernet、Wi-Fi、カメラ、センサーなど幅広いペリフェラルをサポートし、開発ボード全体をエミュレートできます。ソフトウェアは標準JTAGツールでデバッグでき、NANDフラッシュなどの実デバイスや仮想デバイスを接続でき、ROM、OS、ファームウェア検証の現実的な環境を提供します。
早期開発に加え、エミュレーターはポストシリコンデバッグでも輝きます。最終製品と同じOSとドライバーを実行するため、エンジニアはシリコンレベルの問題をエミュレーターで再現し、信号レベルのトレースを分析し、シリコンがフィールドに到達する前に修正を検証できます。
比較研究では、エミュレーターが速度、カバレッジ、コスト効率の点でSystem-Cモデル、RTLテストベンチ、FPGAプロトタイプを一貫して上回ります。エミュレータープラットフォームへの初期投資は高く見えるかもしれませんが、市場投入時間短縮とリスク軽減による節約がコストを上回ることがよくあります。

ムーアの法則によれば、トランジスタ数は約2年ごとに倍増し、今日の64ビットARMベースSoCは1億〜3億ロジックゲートに向かっています。この環境では、フルシステムエミュレーターのみが現代のSoCソフトウェアチームの要求に応えるスケーラビリティを持ちます。
参考文献
- Trimberger, Stephen M. "Three Ages of FPGAs." IEEE Xplore Full-Text PDF: 2015, https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7086413.
- Brunet, Jean-Marie. "Why Modern SoC Designs Embrace Emulation." Embedded Computing Design, 5 Sept. 2018, https://embedded-computing.com/embedded-computing-design/why-modern-soc-designs-embrace-emulation.
- "Soc Emulation." Soc Emulation, 2019, https://www.aldec.com/en/solutions/hardware_emulation_solutions/co-emulation-soc-emulation.
- "Cramming More Components onto Integrated Circuits." https://www.cs.utexas.edu/, 2006, cs.utexas.edu/~fussell/courses/cs352h/papers/moore.pdf.
埋め込み
- リーンソフトウェア開発の極意:2022年RaleighのCTO向け実践ガイド
- カスタムヘルスケアソフトウェア開発2024:プロジェクト立ち上げの決定版ガイド
- 2022年カスタムソフトウェア開発:ローリーのC-suiteリーダーのための戦略ガイド
- アジャイルソフトウェア開発でビジネスが知るべき5つの本質的洞察
- ソフトウェア製品がカスタム開発を上回る理由
- RISC-V Summit 2020:主要セッションと見所
- SOAFEE:ソフトウェア定義自動車プラットフォームを強化するクラウドネイティブアーキテクチャ
- ハードウェアセキュリティがIIoTをリード:耐タンパー性、迅速な市場投入、製造/輸送/ユーティリティへの強力な保護
- Qualcomm、Snapdragon Wear 4100+を発表──性能85%向上、バッテリー持続時間25%延長、1600万画素カメラ対応で次世代スマートウォッチを強化
- Mini-CircuitsとVayyar、4Dミリ波イメージング開発キット「VTRIG-74」を発表
- ECM3532:Eta Compute初の統合超低消費電力AIセンサーボード、エッジ開発を加速