Amazon Web Services ブログ
AWS 上のオープンソースチップ設計のためのソリューション
このブログでは集積回路の設計に必要なオープンソースの電子設計自動化 (EDA) ソフトウェアを使用する利点について説明します。また、なぜ AWS がオープンソースのチップ設計を行うのに最適なプラットフォームであり、低予算のアカデミアやチップ設計チームが独自のチップを設計するための効果的なコラボレーション手段であるのかについても説明します。
オープンソースのチップ設計が必要な理由
半導体産業協会 (SIA) によると、49 の州で高賃金の研究開発、設計、製造の仕事に就いている労働者は 277,000 人を超えています。Deloitteの予測では 2030 年までにさらに 100 万人以上の熟練労働者が必要になるとしており、これは年間 10 万人増以上に相当します。今日、公的研究機関やスタートアップにおけるハードウェア設計・研究は専用ツールの必要性、先端技術でこれらのツールを使用できる専門家ユーザの不足、ハードウェア設計のチャレンジに伴う多大なコストとリスクなどの要因が重なり障害となっています。これらの要因は半導体労働者の追加需要を満たすことを阻む障害となっています。
さらに、チップ設計ソフトウエアは膨大な量のデータと増え続ける複雑な設計に対応し、設計の正確性と整合性を確保し、高速で効率的な設計検証と妥当性確認を行う必要があるなど、大きな課題に直面しています。図 1 に示すように、ハードウェア設計ツールや設計手法の進歩にもかかわらず、半導体業界は製品設計コストの抑制に苦戦しています。米国政府は最近、CHIPS for America Act を発表し、2800 億ドルを投資して米国の半導体生産能力を強化し、研究開発を活性化し、地域のハイテク拠点とより大規模で包括的な STEM 労働力を創出することを計画しています。
オープンソースソフトウェア開発は前述のいくつかの課題の解決に役立ち、ソフトウェア開発全体にとって大きなメリットがあります。主な利点としては、開発コストの削減、技術革新の促進、アクセスの容易さ、ソフトウェア品質の向上、幅広いプラットフォームやシステムとの相互運用性などが挙げられます。
オープンソース EDA の紹介
オープンソース EDA (Electronic Design Automation) は半導体のアカデミアと産業界で急速に成長しているムーブメントです。コラボレーションとオープンソースソフトウェアの力を活用することで、オープンソース EDA は研究者、学生、その他の研究者に、以前は大規模な半導体企業のみが利用可能であった最先端のツール、方法論、および技術へのアクセスを提供します。この動きはハードウェア設計への参入障壁を低減し、業界内のコラボレーションと知識の共有を促進し、エンジニア、研究者、および学者に、より手頃な価格で利用しやすいソリューションを提供したいという欲求の高まりによって推進されています。
「ガレージでチップを設計するのは、ガレージでモバイルアプリを設計するのと同じくらい簡単であるべきだ。」- OpenROAD のチーフアーキテクト Tom Spyrou 氏
2018 年 6 月、OpenROAD は DARPA MTO の Intelligent Design of Electronic Assets (IDEA) プログラムから資金提供を受けました。OpenROAD は特定用途向け集積回路 (ASIC) およびシステムオンチップ (SoC) 設計チームのための、オープンソース、ノーヒューマンインループ、24 時間対応のチップレイアウト設計ソリューションであり、このソリューションは現在半導体業界のイノベーションを妨げている、プロプライエタリなソリューションにありがちなコスト、専門知識、予測不可能性といった障壁を低減することを目的としています。OpenROAD はすでに 600 以上のテープアウトで使用され、12nm までのプロセスノードで成功を収めています。その使い勝手の良さから、ハードウェアやソフトウェアのアーキテクチャを検討する開発プロセスの早い段階で OpenROAD を使い始める企業が増えており、経験的な消費電力、性能、面積 (PPA) データが利用できない新しいアーキテクチャやアルゴリズムをテストする際に特に有用です。
「未来への種まき – EDA の Linux」 – OpenROAD プロジェクト
OpenROAD は GF180 (180nm) や Skywater130 (130nm) といった Global Foundries 社や Skywater 社の成熟ノードやオープンソース PDK、TSMC65 (65nm)、GF12 (12nm)、Intel22 (22nm)、Intel16 (16nm)といったTSMC 社、Global Foundries 社、Intel Foundry Services 社の先進ノード専有 PDK をサポートしています。アリゾナ州立大学が ARM Research と共同で開発した ASAP 7nm Predictive PDK も OpenROAD のサポートを受けており、アカデミックコミュニティが先進的な 7nm finFET ベースの設計を研究、試作、開発することを可能にしています。
幅広いオープンソース EDA イニシアチブのプロジェクトとして Efabless 社によって開発された OpenLane は OpenROAD や、Yosys、Magic、Netgen、CVC、SPEF-Extractor、KLayout などのオープンソース EDA ソフトウェアツール、およびデザイン探索と最適化のための多数のカスタムスクリプトを含む複数のコンポーネントをベースとした、オープンソースの自動 RTL to GDSII フローです。また、デザイン探索、最適化、ECO のためのカスタム・スクリプトも多数提供しています。図 2 に OpenLane フローのアーキテクチャを示します。
AWS のパートナーであり、DevOps コンサルティングと実装サービスを提供する nClouds は Efabless と提携し、集積回路 (IC) 設計プラットフォームを最新化することで、パフォーマンス効率とスケーラビリティの向上、セキュリティの強化、コストの最適化を実現しました。OpenLane は現在、カリフォルニア大学バークレー校、カリフォルニア大学サンディエゴ校、コスタリカ大学など複数の大学でも利用されています。
AWS 上のオープンソース EDA
オープンソース EDA により、研究者はクラウドを利用した最新のコンピューティングシステムを活用し、EDA を大規模に展開することができます。一例として、OpenROAD プロジェクトの AutoTuner は設計者がクラウド上で何千もの実験を自動的にセットアップして実行することを可能にし、それによって PPA をわずかなコストと 3 倍高速なランタイムを実現します。その結果は 1 台のロードバランサと 15 CPU を搭載した 30 台のサーバによる分散詳細ルーティングを備えた Kubernetes クラスタによって実現されました。ルータでの詳細なテストにより、分散処理とマルチスレッド処理、単一マシンと複数マシン構成のアーキテクチャ上のトレードオフに関する明確な洞察が得られました。OpenLane RTL-to-GDSII フローは Docker コンテナとして実行できるように開発されており、クラウドでの柔軟な実行が可能で、スケーラビリティを実現し、正確な Linux Configuration への依存を最小限に抑え、管理オーバーヘッドとコストを削減します。以降のセクションでは、設計者が AWS 上でオープンソースの EDA を開始する方法を示します。
AWS 上でオープンソースチップの設計を始める方法
オープンソース EDA プロジェクトの構築を開始するために利用可能ないくつかの AWS サービスの概要を説明します。EDA ワークロードは多くの場合、コンピュートクラスタ、コンピュートノードへのジョブ配布をオーケストレーションするプロセススケジューラ、および高性能な共有ファイルシステムを必要とします。通常、EDA ワークロードのスループット要件を維持するために必要な共有ファイルシステムは EDA ワークロードのユースケース、デザインサイズ、および総コア数に応じて、500 MB / 秒から10 GB / 秒の範囲で変化します。EC2 インスタンス上で NICE DCV ベースのリモートビジュアライゼーションをセットアップすることから始めましょう。その後、リモートデスクトップ可視化、伸縮自在なストレージ、スケーラブルなコンピュートクラスタ、ジョブ管理システムなど、オープンソースの EDA ワークロードを全て高度にセキュアな形で実行するために必要な、いくつかの主要コンポーネントを備えたリファレンスアーキテクチャのサンプルを解説します。
EC2 上での NICE DCV ビジュアライゼーション
NICE DCV は高性能なリモートディスプレイプロトコルで、クラウドやデータセンターからあらゆるデバイスにさまざまなネットワーク条件下でリモートデスクトップやアプリケーションストリーミングを安全に提供します。NICE DCV AMI for Amazon Linux 2 は AWS Marketplace で無料で入手できます。EDA ワークロードを実行するために NICE DCV は設計者が Linux ベースのデスクトップ上で EDA CAD アプリケーションを簡単に可視化することを可能にします。NICE DCVの特徴を以下に示します。
NICE DCV を使い始めるには次のようにするだけです。
デプロイ
- AWS アカウントを作成し、有効化します。
- AWS マネジメントコンソールにサインインします。
- AWS Marketplace から適切な NICE DCV AMI を選択するか、EC2 インスタンスに適切な NICE DCV サーバをダウンロードしてインストールし、アプリケーションスタックで AMI を生成します。
- セキュリティグループのインバウンドルールがポート 8443 のトラフィックを許可していることを確認してから、NICE DCV サーバをインストールした EC2 インスタンスをデプロイします。
接続
- 適切な NICE DCV ネイティブクライアントをダウンロードし、デバイスにインストールします。
- https://:8443 を使用して、NICE DCV ネイティブクライアントまたはウェブクライアントでリモートマシンに接続します。
ストリーム
- OpenLane git リポジトリをクローンし、指示に従って OpenLane フローを実行します。
- NICE DCV を使用して、グラフィックスアプリケーションをデバイス間でストリーミングします。(図 4)
- より詳細な情報については、こちらのリンクを参照してください。
下図は sky130 テクノロジー PDK を使用して OpenLane を実行した後、最終的なテスト設計レイアウトの GDS ファイルを KLayout で可視化したスクリーンショットです。OpenLane テストフローは Amazon Linux 2 上の m5.2xlarge EC2 インスタンスで、NICE DCV ベースの Amazon Machine Image (AMI) を使用して実行されました。
オープンソース EDA フローのためのオープンソースリファレンスアーキテクチャ
CAD アプリケーションを可視化するための NICE DCV ベースのリモートデスクトップインスタンスをセットアップした後、スケーラブルな方法で EDA ワークロードの重要なニーズを満たすリファレンスアーキテクチャを見てみましょう。このアーキテクチャは豊富なコンピュートリソース、高速なネットワークバックボーン、無制限のストレージ、AWS に直接統合された予算とコスト管理を特徴としています。また、このアーキテクチャはユーザー&デスクトップ管理用のユーザーインターフェース (UI) と、独自のキュー、OpenPBS などのスケジューラーリソース、Amazon Machine Images (AMI)、ソフトウェア、ライブラリを作成できる自動化ツールを備えています。このソリューションはスケールアウトワークロードを実行する AWS 環境をデプロイするための出発点として、プロダクションレディなリファレンス実装を提供するように設計されています。
AWS の優位性
Amazon EC2 は CPU、メモリ、ストレージ、およびネットワークリソースの構成が異なるさまざまなインスタンスタイプを提供するため、ユーザーはアプリケーションのニーズに合わせてコンピュートリソースを調整することができ、コンピュートとメモリに最適化されたカテゴリーは特にチップ設計ワークロードに適しています。開発者はオープンソースの EDA ワークロードに合わせてカスタマイズできる AWS の豊富なコンピュートとストレージを活用することで、パフォーマンスを損なうことなく、低コストでチップ設計のイノベーションを推進することができます。
コンピューティングの提供
C7g、C6i、M7g、M6i、M5zn、C5、X2gd (およびこれらのディスクバリエーション) などのコンピュート最適化インスタンスはリグレッションテスト、IP キャラクタリゼーション、フィジカル合成、デジタル、アナログ、ミックスドシグナルシミュレーションに適しています。R7g、R7iz、X2iezn、R6i/Hpc6id (およびこれらのディスクバリエーション) などのメモリ最適化インスタンスは配置配線、タイミング解析、パワー解析、デザインルールチェック (DRC)、バッチモード RTL シミュレーションなどのフィジカル設計作業に適しています。
ワークロードに合わせてコンピューティングをシェーピング
設計者が特定のタイプのオープンソース EDA ワークロードに活用できるインスタンスの幅広い選択肢を備えています。図 3 は、さまざまなタイプのインスタンスが半導体設計のフロントエンド設計と検証、バックエンドのフィジカル設計と検証、製品とテストの各領域にどのようにマッピングできるかを示しています。
ストレージの提供
大規模な半導体設計フローではストレージがボトルネックとなり、ジョブのスループットが低下することがあります。データ量が増加するにつれて、急速に成長するクラスタ全体でデータにアクセスする必要性が生じるため、従来のオンプレミスファイラは最終的にストレージ容量が不足するか、ネットワークまたはストレージ層のいずれかによって帯域幅が制約されることになります。
NFS ベースのストレージソリューションに代わる拡張性の高いソリューションとして、 クラウドに最適化された半導体設計ワークフローは Amazon FSx Family、Amazon EBS、Amazon EC2 インスタンスストア、Amazon S3 を組み合わせて使用することで、従来のストレージシステムによってボトルネックになることなく、非常に低いコストで極めて高いスケーラビリティを実現します。
以下の表はチップ設計ワークフローで推奨される、異なる FSx ストレージタイプと対応するユースケースの詳細情報です。
AWS を利用した HPC
AWS ParallelCluster のようなオープンソースのハイパフォーマンスクラスタ (HPC) サービスにより、エンジニアや学生は AWS 上で HPC サービスをデプロイし管理することができます。シンプルなグラフィカルユーザーインターフェース (GUI) により、HPC アプリケーションに必要なリソースを自動化された安全な方法でプロビジョニングできます。AWS ParallelCluster は、人気のあるオープンソースの CfnCluster プロジェクトに基づいて構築されており、AWS CloudFormation テンプレートまたは Python Package Index (PyPI) を介して GUI をインストールすることでリリースされます。ParallelCluster のソースコードは GitHub の Amazon Web Services リポジトリにホストされています。AWS ParallelCluster は追加料金なしで利用でき、アプリケーションの実行に必要な AWS リソースに対してのみ料金を支払います。
AWS が提供するコンテナ
AWS のコンテナサービスは基盤となるインフラの管理を容易にします。現在、クラウド上の全コンテナの 80% 近くが AWS 上で実行されています。オープンソース EDA はチップ設計者に従来のスケジューラベース以外のオプションのコンピュートプラットフォームを提供し、大規模な Kubernetes クラスタを活用する前述の AutoTuner のようなプロジェクトは Amazon EKS のような Amazon のマネージドコンテナサービスを簡単に利用できます。以下にコンテナサービスの一部を簡単に紹介します。
AWS で実現するセキュアなコラボレーション
半導体業界全体において、コラボレーションの必要性は設計プロセス、製造、製品製造の一部です。AWS は研究グループ、サードパーティ IP プロバイダ、オープンソース EDA 開発者、ファウンドリ、製造委託先とのセキュアなコラボレーションを可能にします。例えば、2 つ以上の大学の学術研究グループがルーティングのための新しいアルゴリズムを概説する研究論文を共同で作成する必要があるかもしれません。コラボレーションに AWS を使用することで、役割とデータを分離し、許可されたユーザのみに環境をロックダウンし、環境内のアクティビティを監視することが可能になります。図 6 は、AWS 上でどのようにセキュアなコラボレーションが可能になるかをグラフィカルに示しています。
大学の学生や研究者は他の研究者と安全な環境で共同研究を行い、オープンソースの半導体設計を共同で革新することができます。AWS のサービスを利用することで、2 つ以上の大学グループが共通の設計環境を構築することができ、スケーラブルなコンピュートとオーダーメイドのストレージ、さらにコンテナ、ML/AI サービス、高度なデータ分析機能など、幅広い AWS サービスを利用することができます。
まとめ
このブログではオープンソース EDA の進展に向けた最近の取り組みと、オープンソース EDA ツールの実行に AWS をどのように利用できるかを紹介しました。革新的なオープンソース EDA プロジェクトは新しい設計アルゴリズム、新しい EDA コンピューティングメカニズム、ML で強化された EDA を含み、クラウドベースの EDA 設計に完璧にマッチします。また、AWS が EDA ワークロードにどのように貢献できるかも紹介しました。x86 と ARM の両プラットフォームにまたがる幅広いコンピュートインスタンス、ハイパフォーマンスでスケーラブルなストレージサービス、そして包括的なリファレンスアーキテクチャを提供します。
また、AWS を利用することで、複数の関係者間でセキュアにコラボレーションを行う方法についても説明しました。研究者、大学生、教授はオープンソースの EDA ソフトウェアを使用して、次世代の IP や SoC を革新し開発するために、他の学者とコラボレーションすることができます。セキュアコラボレーションチャンバーでは、ファウンドリとのコラボレーションや、製造前の最終設計の微調整も可能です。
結論として、オープンソース EDA は今日のハイパースケーラ向けの新世代の EDA ツールの先駆けとなります。オープンソース EDA はクラウドに適しており、アクセシビリティ、スケーラビリティ、コラボレーション、費用対効果、容易なメンテナンスといった利点をユーザーに提供します。AWS でオープンソースを活用することで、アカデミアや新興企業は迅速にイノベーションを起こすことができ、研究グループは安全かつ効果的にコラボレーションすることができます。次のステップとして、特定のオープンソース EDA ワークロードを AWS 上で実行するための実装ガイド、ホワイトペーパー、リファレンスアーキテクチャを開発する予定です。
AWS がどのようにお客様のお役に立てるかについては、AWS Solutions for Semiconductor のページをご覧ください。AWS のオープンソースに関する一般的な情報については、こちらをクリックしてください。
翻訳はソリューションアーキテクトの 吉廣 理 が担当しました。原文はこちらです。