アーキテクチャと実装のギャップを橋渡しするNetSpeed

  • By Mitch Heins
  • 29th 12 2016

この記事はNetSpeedのネットワークオンチップ(NoC)製品に関するパートIIです。この記事では、NoCの概要、およびNetSpeedのネットワーク合成ツールであるNocStudioの使用によりシステム設計者がシステムオンチップ(SoC)設計でNoCをいかに最適化しやすくなるかについて少し詳しく説明します。

従来、IC設計者は、独自技術によるバス、クロスバー、およびスイッチファブリックを使用してオンチップIPを接続してきました。これらの独自技術によるアーキテクチャはICを簡素化するのには適していますが、SoCが大型化し、異機種の構成割合が高まり、さまざまなソース経由で他社製のIPが導入されるようになるにつれて、これらのファブリックを使用した設計を統合することはますます困難になります。さらに、複数のIP間での専用のインターコネクトでは、配線を増やし、密集させ、ダイのサイズを大きくする必要があります。これにより、より長いインターコネクトを駆動するために消費電力が増える可能性があります。

Article: A Brief History of Aldec-wirereduction-jpg

この代替として、IP間での専用の配線ではなく、インターコネクトリソース(リンクとルータ)を共有できるようにするネットワークオンチップ(NoC)を使用して相互IP接続に必要な全体配線を30%~50%も減らすことができます。NoCは、最も単純なレベルでは、さまざまなIP間でのポイントツーポイントリンクのグリッドです。このグリッドの交差部は、データを送信先に振り分ける特殊なオンチップルータです。オフチップネットワークの場合のように、データは、蓄積転送(SaF)として知られるプロセス(ここでデータがパケットと呼ばれるピースに分割されます)を通じて送信元から送信先に移動します。パケットには、送信先で最終的にデータを再構成するためのパケット順序を確立するための送信元、送信先、一意のIDを指定するデータヘッダーと共に、ペイロードと呼ばれる転送されるデータが含まれます。ペイロードのサイズ、および各ネットワークノードで関連付けられたバッファはネットワークの設計によって決定されます。

パケットはルータに到着するとバッファに「蓄積」され、ルータのハードウェアアービターが、そのパケットの次のダウンストリームの場所を決定します。このアービターは共有スイッチを構成し、その後、パケットをこのスイッチ経由でバッファから次のノードに「転送」します。パケットが次のノードに移動した後、後続のパケットが使用できるように、ルータはスイッチリソースを解放します。個々のパケットは、ネットワークの競合するトラフィックに合わせて事前設定された、最も効率的な方法で送信先に転送されます。この操作はすべてのパケットが送信先に到達するまで繰り返され、送信先で、順序IDに基づいて正しい順序に再構成されます。

これは確かに、かなり単純化した見方ですが、要点は理解できます。異なるワークロードでチャンネルを解決し、デッドロック状態を回避し、さまざまなネットワーク構成に対するトレードオフをどのように行うのが最適かに関する博士論文が多数ありますが、これらは送信されるデータの種類、レイテンシおよび必要なサービスの質(QoS)によります。要するに、これは非常に高度なシステムレベルの設計者にとっても難しい作業であり、SoCが成立するか成立しないかの分岐点になります。SoC上のコアとモジュールの数と種類が増えるほど、NoCはより複雑になります。データのコヒーレンシとデータセキュリティにより、この基本的な物理ネットワークレベルの上位に追加のハードウェアレベルが追加されますが、これについても理解する必要があります。

Article: A Brief History of Aldec-nocstudio_pyramid-jpg

NetSpeedはNoCの設計のプロセスを支援する複数の価値ある提案をしています。これらには、ネットワークアーキテクチャおよびコヒーレントなエージェントと非コヒーレントなエージェントの両方が組み合わさった異機種環境内でエンドツーエンドのQoS要件を処理するための、コンフィグラブルでそのまま使える一連のNoC IPを理解した、熟練した専門家のチームを含みますが、これに限定されません。これ自体注目に値しますが、私が特に注目することは、これらが単にIPを提供するだけではないということです。NetSpeedはアーキテクチャと実装のギャップの橋渡しに取り組んできました。

NetSpeedのNocStudio設計環境を使用すれば、システム設計者は、さまざまなNoCアーキテクチャについて「what if」解析とトレードオフを行うための極めて重要な機能を手に入れることができます。これにより、システム設計者はアプリケーションレベル(コヒーレンシ、QoS、デッドロック回避)、転送レベル(さまざまなプロトコルをサポート)、ネットワークレベル(消費電力解析を含む、トラフィックベースの最適化)、リンクレベル(サブネットワーク、クラスターおよび仮想チャンネルをサポート)および物理レベルで作業できます。

設計者はIPコンポーネントと接続性を把握し、パフォーマンス要件を定義し、バンド幅、レイテンシ感度および必要なQoSなどのIP間の高レベルなネットワーク要件を確立します。違いは、一般的なシステムツールは停止するような状況でもNetSpeedは先に進むいう点です。彼らは、SoCのフロアプラン、消費電力およびパフォーマンス要件の考慮を含めて、すべてのロジック(ルータ、アービター、バッファ、コヒーレンシコントローラ、仮想チャンネルロジック、パイプラインなど)に対する実装RTLの生成という困難なタスクに取り組みました。
Article: A Brief History of Aldec-nocstudio-jpg

これは容易な作業ではありません。一定のダイサイズおよびタイミング/消費電力制限に対して、設計を実装可能にするために必要なトレードオフが常にあります。実装の詳細に基づいて反復する能力をシステム設計者に与えることは重要です。それは、実装の現実段階で生じる変更を吸収するために最も影響するものはアーキテクチャの設計段階だからです。

NocStudioを使用すれば、設計者は望むIPブロックのすべてをフロアプランに落とし込むだけで、ツールがIPの配置を最適化し、設計者が指定するさまざまなシステム要件を満たすようにネットワーク構成を変更できます。あるいは、ツールにフロアプランを与えて、与えられたフロアプランに合う最も可能性の高いネットワーク構成を求めることもできます。

しかし、実際に最も効果のある方法は、NoCの構成と同時に修正可能な合成可能RTL実装を自動的に生成する機能です。エンジニアに合成可能なRTLコードの記述方法を教えることは簡単です。同じエンジニアに、慎重に設計されたNoCを実装するためにRTLに何が必要かを教えることは、まったく別の、より困難な話です。エンジニアが依頼されたものを実装したことを確認するのも、また別の難しい作業です。NocStudioを使用することにより、システム設計者が行ったすべてのトレードオフを実装した、構成と同時に修正可能なRTLを生成することにより、この必要性がなくなります。

Article: A Brief History of Aldec-3steps-jpg

そして、それが十分でなかった場合、ツールは検証テストベンチとC++機能モデルも生成しますが、これらは最終実装の完成を確認するための設計フローに使用できます。

NetSpeedは、非常に堅牢なNoCの設計だけでなく、NoCの実装と検証も実現します。私の知る限り、完璧に近いソリューションです。

 

その他の参考資料:

NetSpeedが機械学習テクノロジを活用して自動車向けICのエンドツーエンドQoSソリューションを実現

NetSpeedのオンチップネットワークIPでフロントエンドSoC設計を自動化する

詳細データはnetspeedsystems.comでご覧ください。

Request A Demo

ajaxloader

Crafted @ Lollypop.biz