JP6216454B2 - ネットワークオンチップアーキテクチャにおけるシステムレベルシミュレーション - Google Patents

ネットワークオンチップアーキテクチャにおけるシステムレベルシミュレーション Download PDF

Info

Publication number
JP6216454B2
JP6216454B2 JP2016530069A JP2016530069A JP6216454B2 JP 6216454 B2 JP6216454 B2 JP 6216454B2 JP 2016530069 A JP2016530069 A JP 2016530069A JP 2016530069 A JP2016530069 A JP 2016530069A JP 6216454 B2 JP6216454 B2 JP 6216454B2
Authority
JP
Japan
Prior art keywords
message
messages
transaction
transactions
noc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016530069A
Other languages
English (en)
Other versions
JP2016527636A (ja
JP2016527636A5 (ja
Inventor
サイレッシュ クマー
サイレッシュ クマー
アミット パタンカー
アミット パタンカー
エリック ノリゲ
エリック ノリゲ
Original Assignee
ネットスピード システムズ
ネットスピード システムズ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ネットスピード システムズ, ネットスピード システムズ filed Critical ネットスピード システムズ
Publication of JP2016527636A publication Critical patent/JP2016527636A/ja
Publication of JP2016527636A5 publication Critical patent/JP2016527636A5/ja
Application granted granted Critical
Publication of JP6216454B2 publication Critical patent/JP6216454B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/02System on chip [SoC] design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/08Intellectual property [IP] blocks or IP cores

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本明細書に記載の方法及び実施例は、インターコネクト(interconnect)アーキテクチャに関し、特に、ネットワークオンチップシステムのインターコネクトアーキテクチャ内のSoC IPコアのマルチホップトランザクション性能のシミュレーションの実行に関する。
チップ上のコンポーネントの数は、高集積度化、システムの複雑化及びトランジスタ寸法の小型化の故に急激に増加している。複雑なシステムオンチップ(SoCs:System-on-Chips)は、例えば、プロセッサコア、DSP、ハードウェアアクセラレータ、メモリ及びI/Oのような様々なコンポーネントを含んでいてもよい。その一方で、チップマルチプロセッサ(CMPs:Chip Multi-Processors)は、多数の同種のプロセッサコア、メモリ及びI/Oサブシステムを有していてもよい。SoC及びCMPの両方のシステムにおいて、チップ上のインターコネクトは、様々なコンポーネント間の高パフォーマンス通信をもたらす上で役割を果たす。従来のバス及びクロスバーベースのインターコネクトの寸法的な制限の故に、チップ上の多数のコンポーネントをインターコネクト(相互接続)する対応策としてネットワークオンチップ(NoC)が登場している。NoCは、ポイント・ツー・ポイント(point-to-point)物理リンクを用いて互いに相互接続されている複数のルーティングノードによって形成されている世界共通の通信インフラストラクチャーである。
メッセージは送信元(source)から入れられて、当該送信元ノードから複数の中間ノード及び物理リンクを通って送信先(destination)に送信される。その後、送信先のノードは、当該メッセージを排出し、当該メッセージを送信先にもたらす。以下、用語「コンポーネント」、「ブロック」、「ホスト」または「コア」は、NoCを用いて相互接続されている様々なシステムコンポーネントに言及する際に、互いに置き換え可能に区別無く用いられる。用語「ルータ」及び「ノード」も、互いに置き換え可能に区別無く用いられる。一般化の喪失なしに、相互接続されている複数のコンポーネントを有するシステム自体は、「マルチコアシステム」と称される。
ルータが互いに接続してシステムネットワークを形成することが可能な、複数の実現可能なトポロジーがある。両方向リング(図1(a)に示すようなもの)、2−D(2次元)メッシュ(図1(b)に示すようなもの)及び2−Dトーラス(図1(c)に示すようなもの)は、関連技術におけるトポロジーの例である。メッシュ及びトーラスは、2.5−D(2.5次元)または3−D(3次元)構造にも拡張され得る。図1(d)は、3−DメッシュNoCが示されている。図1(d)においては、3層(3レイヤ)の3×3の2DメッシュNoCが互いに重ねられて示されている。NoCルータは、2以下の追加ポートを有しており、その一方が上層レイヤに接続されており、他方が下層レイヤに接続されている。この例の中間層レイヤ内のルータ111は、両方のポートを有しており、一方が上層レイヤ内のルータに接続されており、他方が下層レイヤ内のルータに接続されている。ルータ110及び112は、下層メッシュレイヤ及び上層メッシュレイヤの各々配されている。従って、ルータ110及び112は、それぞれ接続されているアッパーフェーシングポート(upper facing port)113及びロアーフェーシングポート(lower facing port)のみを有している。
パケットは、様々なコンポーネント間の相互通信のメッセージ伝送単位である。ルーティングは、パケットが送信元から送信先に送信されるネットワークのルータ及び物理リンクのセットからなる経路(パス)の特定を含む。コンポーネントは、1または複数のルータの1または複数のポートに接続されており、これらのポートの各々は独自のIDを有している。パケットは、中間ルータによって用いられる送信先のルータ及びポートのID情報を有しており、それによってパケットが送信先コンポーネントにルーティングされる。
ルーティング技術の例には、全てのパケットに対してAからBへの同一の経路を選択することを伴う決定論的ルーティングを含む。このルーティング形式は、ネットワークの状態に依存しないものであり、アンダーレイネットワーク(underlying network)に存在するだろうパスダイバーシティ(pass diversities)に亘る負荷をバランシングしないものである。しかし、このような決定論的ルーティングは、ハードウェアに実装され得、パケットの順序を維持し、ネットワークレベルデッドロック(network level deadlocks)が無くなり得る。最短経路ルーティングは、遅延を最小化する。なぜならば、このようなルーティングは、送信元から送信先へのホップの数を減少させるからである。このため、最短経路は、2つのコンポーネントの間の通信に関して最も低パワーの経路でもあり得る。次元オーダールーティング(Dimension-order routing)は、2−D、2.5−D及び3−Dメッシュネットワーク内の決定論的最短経路ルーティングの1つの形式である。このルーティングスキームにおいて、メッセージは、当該メッセージが最終的な送信先に到達するまで特定の順序で座標(coordinates)の各々に沿ってルーティングされる。例えば、3−Dメッシュネットワークにおいて、あるものは、最初に、送信先ルータのX座標と同一のX座標のルータに到達するまでX次元(X dimension)に沿ってルーティングし得る。次に、メッセージは方向転換してY次元(Y dimension)に沿ってルーティングされ、最終的にもう1つの方向転換をし、メッセージが最終的な送信先ルータに到達するまでZ次元に沿って移動する。次元順ルーティングは、最少の方向転換かつ最短経路のルーティングであり得る。
図2(a)は、2次元メッシュ内のXYルーティングの一例を図解で示している。さらに具体的には、図2は、ノード「34」からノード「00」までのXYルーティングを示している。図2(a)の例において、コンポーネントの各々は、1つのルータの1つのポートのみに接続されている。パケットは、最初に、当該パケットが、X座標が送信先のX座標と同一であるノード「04」に達するまでX軸に亘ってルーティングされる。次に、当該パケットは、当該パケットが送信先ノードに達するまでY軸に亘ってルーティングされる。
1もしくは複数のルータまたは1もしくは複数のリンクが存在しない不均一メッシュトポロジー(heterogeneous mesh topology)において、次元順ルーティングは、特定の送信元及び送信先ノード間において不可能であり得、代替経路が取ら無ければならない。この代替経路は最短または最少の方向転換のものでないであろう。
ソースルーティング及びテーブルを用いたルーティングは、NoCにおいて用いられる他のルーティングの例である。アダプティブルーティングは、ネットワークの状態に応じてネットワーク上の2つの点の間で取られる経路を動的に変更する。このルーティングの形式は、分析及び実装するには複雑であり得る。
NoCインターコネクトは、複数の物理的ネットワークを含んでいてもよい。物理ネットワークの各々に亘って複数の仮想ネットワークが存在してもよく、様々なタイプのメッセージが様々な仮想ネットワークを通じて伝送される。この場合、物理リンクまたはチャネルの各々において、複数の仮想チャネルが存在する。この複数の仮想チャネルの各々は、両終点(end points)において専用のバッファを有していてもよい。任意の所定のクロックサイクルにおいて、1つの仮想チャネルのみが物理チャネル上でデータを伝送可能である。
NoCインターコネクトは、しばしばワームホールルーティングを用いる。ワームホールルーティングにおいて、大きなメッセージまたはパケットは、フリット(flit)(フローコントロールディジット(flow control digits)とも称される)として知られる小さな欠片に分解される。最初のフリットはヘッダフリットであり、ペイロードデータ(payload data)と共にそのパケットのルートの情報及びキーメッセージレベルの情報を保持し、当該メッセージに付随している後続の全てのフリットのルーティング態様を定める。任意的に、1または複数のボディフリットは、ヘッドフリットに続いており、データの残りのペイロードを含んでいる。最後のフリットはテイルフリットであり、当該テイルフリットは、最後のペイロードを包含しているのに加えて、当該メッセージについての接続を閉じるためのブックキーピング(bookkeeping)の役割を果たす。ワームホールフローコントロールにおいて、仮想チャネルがしばしば実装されている。
物理チャネルは、仮想チャネル(VCs)と称される独立した多数の論理チャネルに時分割化(time slice)される。VCsは、ルートパケットに複数の独立した経路をもたらすが、これらの経路は、物理チャネルにおいて時間多重化される。仮想チャネルは、チャネルに亘ってパケットのフリットの取り扱いを調整するために必要なステート(state)を保持する。少なくとも、このステートは、ルートのネクストホップに関する現在ノードの出力チャネル及び仮想チャネルの状態(アイドル、リソース待ち、またはアクティブ)を特定する。当該仮想チャネルは、パケットのうちの現在ノードにおいてバッファリングされているフリット及び次のノードにおいて利用できるフリットバッファの数へのポインターを含んでもよい。
「ワームホール」は、メッセージがチャネルに亘って伝送される経路において役割を果たす。すなわち、次のルータにおける出力ポートを短くでき、全てのメッセージが到来する前に受信データがヘッドフリットに変換され得る。このことは、ヘッドフリットの到来時においてルータが迅速にルートを定め、その後、後のやりとりからオプトアウト(opt out)することを可能にする。メッセージがフリット毎に伝送されるため、当該メッセージはその経路に沿って異なったルータにおいていくつかのフリットバッファを占有してもよく、これがワームのようなイメージをもたらす。
様々なエンドポイント、並びに様々なメッセージのために用いられる経路及び物理ネットワーク間のトラフィックに基づいて、NoCインターコネクトの様々な物理チャネルが様々なレベルの負荷状態下及び混雑状態下に置かれ得る。NoCインターコネクトの様々な物理チャネルの容量は、チャネルの幅(物理的な線の数)及び当該チャネルが動作するクロック周波数によって決定される。NoCの様々なチャネルは、異なったクロック周波数で動作してもよく、かつ様々なチャネルはそのチャネルのバンド幅要求に基づいて異なった幅を有していてもよい。チャネルにおけるバンド幅要求は、そのチャネルを通るフロー及びバンド幅値によって判定される。様々なNoCチャネルに亘って通過するフローは、様々なフローによって取られるルートによって影響を受ける。メッシュまたはトーラスNoCにおいて、送信元ノード及び送信先ノードのペアの間で長さのまたはホップ数等しい複数のルートが存在し得る。例えば、図2(b)において、ノード34とノード00との間の標準的なXYルートに加えて、YXルート203または送信元から送信先までの間に2以上の方向転換を行うマルチターン(multi-turn)ルート202のような更なるルートが利用可能である。
様々なトラフィック速度低下に対して静的に割り当てられる経路を有するNoCにおいて、様々なチャネルにおける負荷は、様々なフローに対してルートをインテリジェントに選択することによって調整されてもよい。多数のトラフィックフロー及び相当なパスダイバーシティが存在する場合、経路は、全てのNoCチャネル上の負荷がほとんど均一にバランスされるように選択され得、一点でのボトルネックの発生が防止される。一度ルーティングがなされると、NoCのチャネル幅は、当該チャネルにおけるフローのバンド幅要求に基づいて判定され得る。残念ながら、チャネル幅は、タイミングまたは配線の過密等の物理的なハードウェアデザインの制約の故に、勝手に大きくすることができない。最大チャネル幅があり得るので、単一のNoCチャネルの最大バンド幅に限定がかかる。
さらに、メッセージが短い場合、物理チャネルの拡幅は、大きいバンド幅を達成することに貢献しないこともある。例えば、パケットが64ビット幅を有する単一のフリットパケットである場合、どんなにチャネルが広くても、当該チャネルを通る全てのパケットが同一であれば、当該チャネルはデータサイクル毎に64ビットしか伝送できないだろう。従って、チャネル幅は、NoC内のメッセージのサイズによっても制限される。NoCチャネルの最大幅におけるこれらの制限の故に、チャネルはルートのバランシングにもかかわらず十分なバンド幅を持たないだろう。
上述のバンド幅の問題を解決するために、マルチ並列物理NoCs(multi parallel physical NoCs)が使用されてもよい。NoCの各々はレイヤと称されてもよく、マルチレイヤNoCアーキテクチャが形成される。ホストは、NoCレイヤにメッセージを投入する。その後、当該メッセージは、NoCレイヤ上の送信先に向けてルーティングされる。ここで、当該メッセージは当該NoCレイヤから当該ホストに送信される。従って、レイヤの各々は、多かれ少なかれ互いに独立して動作し、レイヤ間のやりとりは投入ないし排出時にのみに発生してもよい。図3(a)は、2レイヤのNoCを示している。この図において、2つのNoCレイヤは、左と右に互いに隣り合って示されており、ホストが左図及び右図の両方において複製されているNoCに接続されている。この例において、1つのホストは、2つのルータに接続されている。第1のレイヤ内のルータはR1として示され、第2のレイヤのルータはR2として示されている。この例において、マルチレイヤNoCは、3DNoCとは異なる。すなわち、マルチレイヤは単一のシリコンダイ上にあり、同一のシリコンダイ上のホスト間の通信の高いバンド幅要求を満たすために用いられる。メッセージは、一方のレイヤから他方のレイヤには行かない。明確にするために、本願では、マルチレイヤNoCに関して水平面内の左図と右図を用いて、垂直方向に互いに重ねて示される3DNoCと区別する。
図3(b)において、レイヤの各々のルータR1及びR2にそれぞれ接続されているホストが示されている。ルータの各々は、ディレクショナルポート(directional ports)301を用いてレイヤ内において他のルータと接続されており、投入及び排出ポート(injection and ejection ports)302を用いてホストに接続されている。ブリッジ論理回路(bridge-logic)303は、ホストと2つのNoCレイヤとの間にあって、送出されるメッセージのためのNoCレイヤを判定してもよく、当該メッセージをホストからNoCレイヤに送信し、かつ当該2つのNoCレイヤから入ってくるメッセージ間のアービトレーション(arbitration)及び多重化(multiplexing)を行ってこれらをホストに送信する。
マルチレイヤNoCにおいて、必要とされるレイヤの数は、システム内の全てのトラフィックフローの合計バンド幅要求、様々なフローによって用いられるルータ、メッセージサイズ分布、最大チャンネル幅等のような因子の数に依存してもよい。設計においてNoCインターコネクト内のNoCレイヤの数が決定されると、様々なメッセージ及びトラフィックフローが異なったNoCレイヤに亘ってルーティングされてもよい。追加的に、異なったレイヤが、ルータ、チャンネル及び接続性の数において異なったトポロジー(topologies)を有するようにNoCインターコネクトを設計することもできる。様々なレイヤ内のチャンネルは、チャンネルに亘って移動するフロー及びそのバンド幅要求に基づいた異なった幅を有してもよい。
NoCインターコネクトにおいて、トラフィックプロファイルが一様でない場合かつ一定量の不均一性がある場合(例えば、特定のホストが他よりも頻繁に互いにやりとり(talk)する場合)、インターコネクト性能は、NoCトポロジーに多く依存し得、様々なホストが互いに関するトポロジー及びそれらが接続されているルータに関するトポロジーにおいて配される。例えば、2つのホストが互いに頻繁にやりとりしてより高いバンド幅を必要とする場合、これらは互いに隣り合って配されるべきである。このことは、この通信の遅延を低減し、それによって全体の平均遅延が低減され、この通信の大きいバンド幅がもたらされるべきルータノード及びリンクの数が低減されるだろう。2つのホストをすぐ近くに移動させることは、特定の他のホストを遠ざけることになる。なぜならば、全てのホストは、互いに重なることなく2D平面NoCトポロジー内に収まらなければならないためである。従って、適切なトレードオフ(right tradeoffs)が形成されるべきであり、かつホストは全てのホストの間のバンド幅と遅延との対比較(pair-wise)を行った後に配置されるべきであり、それによって全体コスト及び性能メトリクス(metrics)が最適化される。コスト及び性能メトリクスは、ルータホップの数における全ての通信ホストの間の平均の構造的遅延、またはホップ数におけるホストの全てのペアの間のバンド幅の合計及びホストの全ての間の距離の合計、またはこれらの組み合わせを含んでもよい。この最適化の問題は、非決定性多項式時間困難(NP困難)であると知られており、かつヒューリスティック(heuristic)ベースの手法がしばしば用いられる。システム内のホストは、互いに対し形状及びサイズが異なっていても欲、このことが2D平面NoCトポロジー内にこれらを配置すること、小さな空白を最適に取り除くこと、及びホストの重なり合い回避することにおける追加的な複雑性をもたらす。
NoC性能シミュレーションは、普通は、ルータ、ブリッジ及びチャネル等の様々なNoC要素を評価するためのモデルを用いて行われる。その後、以下シミュレーションエージェントまたは単にエージェントとも称される、トラフィックを送信しかつ受信するコンポーネント/コアに関する典型的なモデルが用いられてトラフィック要因が生成される。エージェントモデルは、様々なレートで、様々な他のエージェントに対して定められるデータ間隔(インターバル)(interval)を有する様々なサイズ及び値のメッセージを生成することによって、実際のエージェント/コンポーネントの振る舞い(挙動)を模倣する。レート、インターバル、メッセージの値及び送信先は、エージェントの統計的性質に基づいて変化させられ得、異なった条件かにおける性能挙動が取得される。これらのシミュレーションの間、メッセージを送信可能な全てのエージェントは、送信先エージェントによって受信されるメッセージを独立に生成する。複雑なシステムにおいて、エージェントによって受信されるメッセージが他のメッセージの送信をもたらすという挙動が起こり得る。さらに、エージェントがメッセージを受信した際に生成されて様々な送信先に向けられ得る複数のタイプのメッセージがあり得る。例えば、キャッシュコントローラは、CPUからメッセージを受信して、キャッシュヒットがあった場合にはCPUへの応答メッセージを生成し、キャッシュミスがあった場合にはメモリへの補充メッセージを生成する。従って、CPUからキャッシュ、メモリ、そして戻る複数のメッセージシーケンスがあり得る。
しかし、関連技術において、現在のNoC性能シミュレータは、マルチポイントの相互依存(inter-dependent)メッセージシーケンス生成挙動を再現せず、ポイント・ツー・ポイントメッセージのみを生成することによって、NoCをシミュレーションする。すなわち上述の例のように、CPUからキャッシュへの要求メッセージ、キャッシュからCPUへの応答メッセージ、及びキャッシュからメモリへの補充メッセージ等が、各々の送信元エージェントから送信先エージェントに向けて独立して生成され、3つの独立したメッセージフローが形成される。これらのフローのレート、インターバル及び属性は、エージェントの精確な挙動を再現するために調整される。このようなシミュレーションが様々なメッセージフローのバンド幅特性を正確に取得する一方で、当該様々なフローは、実際のシステムにおける場合のように互いに同調(synchronize)しない。例えば、補充メッセージは、要求メッセージの前に生成され得る。なぜなら、これらは独立して生成されるからである。
NoCシミュレータの少数の関連技術は、エージェントにおいて要求が応答を確定的に生成する場合、要求メッセージに対して応答メッセージの生成する試行をし得る。しかし、メッセージの受信において、エージェントは、ネットワークの状態、伝送プロトコル及び伝送方向、並びに受信されたメッセージに基づいて、複数のメッセージのタイプ空メッセージを生成してもよい。この場合、エージェントの正確なモデルを使用しなければ、応答メッセージを生成することは容易ではない。エージェントの正確なモデルは、性能シミュレーションの速度を低下させるだろうし、システム全体のモデルは構築するのには複雑であるし冗長である。従って、NoCシミュレータのほとんどは、このようなデザインをサポートしておらず、ホップのペアとシミュレーションとの間のポイント・ツー・ポイントメッセージフローのみに依存している。
本出願は、SoC挙動の全てを正確に再現することによる、ネットワークオンチップ(NoC)インターコネクトアーキテクチャ内のSoC IPコアのマルチメッセージトランザクションベースの性能シミュレーションの実行に関する。本発明のシステムは、複数のトランザクションに基づいてNoC挙動を評価しかつ検出するためのシミュレーションを実行することを含み、当該トランザクションの各々は1または複数のメッセージを含む。メッセージ(以下、互いに置き換え可能に区別無くホップとも称される)の各々は、送信元エージェント及び送信先エージェントを含み得、これらは実際の状況におけるコンポーネント及びIPコアに対応する。通常はシステムトラフィックが複数のエージェントに亘って多数のメッセージ含んでいるので、2以上のエージェントに亘るメッセージのシーケンスは、トランザクションとも称され得、複数のトランザクションを含むシミュレーション環境がもたらされ、複数のトランザクションがメッセージフローの可能性のある状況を実現する。動作において、送信先エージェントに到達した際のトランザクションの先のメッセージは、後のメッセージを生成する。トランザクションが互いに重なり合っていてもよいので、本開示のシステムはメッセージの有向グラフの生成を可能とする。
本出願の態様は、複数のトランザクションシーケンスを用いてNoCのシミュレーションの実行を可能とする方法を含んでもよく、トランザクションシーケンスの各々は、複数のエージェントに亘る1または複数のメッセージを含む。トランザクションシーケンスのメッセージの各々は、様々なある特性の中で特にレート、優先度、値、データサイズ及び遅延といった様々な特性を有し得る。さらに、トランザクションの各々は、異なったデータ間インターバルで拡散しておりかつ異なった属性/特性を有するメッセージを含み得る。他の態様によれば、本発明の方法は、さらに、複数のエントリ(entry)を有するトレースファイル(trace file)の生成を含み、1つの実施例において、エントリの各々は、所定のトランザクションの開始メッセージを示すもの(indication)を示し、トランザクションシーケンスを開始するために使用される。複数の他のエントリ及び/または条件は、トランザクションの開始及び実行を促進するためにトレースファイル内で定義され得る。様々な統計的かつ確率的なモデルは、グラフトラバース判定(graph traversal decision)を決定するために使用され得る。トレースファイル内のエントリに基づいて、トランザクションシーケンスグラフ内の様々な経路が取られ得、対応するメッセージが生成されかつシミュレーションされ得る。グラフトラバース判定は、様々なエージェントの挙動に依存してかつ/またはSoCアーキテクチャの条件/状態に基づいてなされ得る。さらに、トレースファイルは、様々なメッセージシーケンスが開始されるレートを反映した待機インターバルを含んでいてもよく、エージェントモデルは、シーケンスの様々なメッセージが送信元エージェントで生成されて送信先エージェントによって消費されるレートを制御するレート指定を含んでいてもよい。
本出願の態様は、処理を実行するための命令を記憶するコンピュータ可読記憶媒体を含んでもよい。当該命令は、複数のトランザクションシーケンスを用いたNoCのシミュレーションの実行を伴っていてもよく、トランザクションシーケンスの各々は、複数のエージェントに亘る1以上のメッセージを含む。複数のトランザクションが並列して実行され、複数のトランザクションは、重複するメッセージを有してもよく、当該重複するメッセージは、NoCの全てのトランザクションシーケンスを示すトランザクションシーケンスグラフによって示され得る。
本出願の態様は、所定のNoCに関するトランザクションシーケンスを受信するトランザクションシーケンス入力モジュール、トランザクションシーケンスの各々内のメッセージに基づいてシーケンスグラフを生成するトランザクションシーケンスグラフ生成モジュール、1以上のトランザクションシーケンスの実行の間の待機時間の許可設定と共にトランザクションシーケンスの各々に関する開始メッセージを示すトレースファイルを生成するトレースファイル生成モジュール、及び当該トレースファイルに基づいて1以上のトランザクションシーケンスのシミュレーションを実行しかつNoC性能レポートを生成するトランザクションシミュレーションモジュールを含んでもよい。
図1(a)、図1(b)、図1(c)及び図1(d)は、双方向リング、2Dメッシュ、2Dトーラス及び3DメッシュNoCトポロジーの例を示す図である。 図2(a)は、関連技術の双方向メッシュにおけるXYルーティングの一例を示す図である。 図2(b)は、送信元ノードと送信先ノードとの間の2つの異なったルートを示す図である。 図3(a)は、関連技術の2レイヤNoCインターコネクトの一例を示す図である。 図3(b)は、関連技術におけるホストと複数のNoCレイヤとの間のブリッジ論理回路を示す図である。 図4(a)は、トランザクションシーケンス及びトランザクションシーケンスの各々に含まれているメッセージを示す図である。 図4(b)は、1のトランザクションのメッセージの各々に関する重みを有するトランザクションシーケンスグラフの一例を示す図である。 図5は、複数のメッセージを有するエージェント間マルチポイントトランザクションを示すエージェント及び/またはエージェントインタフェースのセットの一例を示す図であり、1以上のメッセージがトランザクションに亘って重なり合っている。 図6は、受信されたトランザクションシーケンス及びそれから生成されるトレースファイルに基づくシミュレーションの実行のフロー図である。 図7は、エージェントに関するトレースファイルの生成のフロー図である。 図8は、新しいトラフィックに基づく新しいトランザクションシーケンスの追加及び実行のフロー図である。 図9は、本命明細書に記載されている実装例が実装され得るコンピュータ/サーバのブロック図である。
以下の詳細な説明は、本出願の図面及び実施例のさらなる詳細を提供するものである。図面間で重複する要素の参照符号及び説明は、明確性のために省略される。明細書に亘って使用される用語は、例示であり、限定することを意図したものではない。例えば、用語「自動的(automatic)」の使用は、本出願の実施例を実施する当業者の所望の実施に基づいて、完全に自動的な実行または特定の実装形態に亘るユーザまたは管理者の制御を含む半自動的な実行を含んでもよい。
SoCアプリケーショントラフィックプロファイルの特性を明らかにしかつベンチマークするためのNoCインターコネクト性能シミュレーションは、NoCインターコネクトモデル内のトラフィック生成へのサポートを必要とし得る。NoCに接続された様々なSoCエージェント/コンポーネントによって生成されかつ消費されるトラフィックがアプリケーションのトラフィック特性を正確に再現することが好ましいが、この目的のために、SoCエージェントの全てを正確にモデリングすることは非常に複雑であり、シミュレーション速度が遅くなってしまい得る。提案されるシステム及び方法は、NoC性能がSoC内で正確に評価される範囲で、特性SOC IPコアまたはコンポーネントの挙動を正確に再現するための技術並びにメカニズムを実装する。
NoC性能特性評価に関する1つの実施例によれば、SoCのNoCトラフィックプロファイルは、エージェントのインタフェースの様々なペアの間のメッセージのシーケンスを用いて説明され得る。メッセージチェーン(message chain)全体は、トランザクションと称され得、メッセージの各々は代替的にホップと称され得る。ホップの各々は、ビット数におけるメッセージデータ幅及びメッセージデータ長、データレート及びバースト性のレベルの平均及びピークに関するバンド幅特性、遅延制約、または順序における任意の他の制約もしくはメッセージがNoC内でとる経路等の特性を有してもよい。トランザクション内のメッセージの特性によって、トランザクションの各々は、他の適用可能な属性のうち特に優先度、レートのような1以上の特性に関連付けられ得る。複数のトランザクションは、重複するメッセージを有してもよく、2つのトランザクションは、通過する共通のメッセージを有する。図4(a)は、当該図(エージェントインタフェースは図示せず)に示されているように互いに相互通信する4つのエージェントを有する例示のシステムを示しており、それらの間のメッセージは丸に囲まれている数字を付されたエッジ(edge)として示されている。例えば、送信元エージェントhp1から送信先エージェントへ送信されるメッセージは、メッセージ1と称され得る。同様に、送信元エージェントhp2から送信先エージェントhp1に送信されるメッセージは、メッセージ2と称され得る。
図4(a)は、メッセージのグラフを介した複数のトランザクションを示している。これを表示するために、ユーザは、別個のトランザクションとして、グラフの経路の各々を独立的に提供してもよい。図4(a)は、5つのトランザクションの合計を示しており、各々はhp1とhp2との間のメッセージ1から開始し、全てのトランザクションの間に共通するホップを生成する。様々なトランザクションの間において、追加の共通ホップが存在し得る。例えば、トランザクション1は、hp1からhp2に送信されてhp2からhp1に返送するメッセージを示している。同様に、トランザクション4は、メッセージ、1、3、5、6、4及び2を介して、hp1からhp2、hp3、hp4、hp3、hp2、hp1と送信されるメッセージを示している。トランザクション毎のメッセージの各々は、どのような頻度でこのホップが実際のSoCシステム内に取り入れられるかを示すレート及び他のメッセージ属性によってマーキングされてもよい。例えば、メッセージ1(hp1からhp2)のレートは、他のメッセージと比較して高いだろう。なぜならば、メッセージ1は、複数のトランザクションによって共通して使用されるからである。従って、提案されるNoC性能シミュレーションメカニズムは、エージェントの実際の機能的挙動をシミュレーションすることなくNoC性能が適正に評価され得る範囲で、全てのマルチホップトランザクションを特定しかつシミュレーションすることを可能にする。
1つの実施例において、トランザクションシーケンスのグラフが構築されて、メッセージが受信されるかまたは送信されるエージェント及び/またはそのインタフェースが示され得る。例えば、図4(a)に関して、図4(b)に示されているようなトランザクションシーケンスグラフが生成され得、各々のエッジは送信元エージェントから送信先エージェントへ送信されるメッセージを示す。見て解るように、上の列のノードは、メッセージシーケンスのオンワード送信(onward transmission)を示し、下の列はバックワードのエージェントから受信されるメッセージを示す。当然ながら、図4(b)に示されるようなトランザクションシーケンスグラフ表現は一例であり、任意の他のグラフまたは表現がSoCアーキテクチャの複数のエージェントに亘るトランザクションメッセージフローのシーケンスを表すために生成され得る。通常、グラフは、特定のメッセージの送信元エージェント及び送信先エージェントを表すエッジ/矢印によって示されるトランザクション(1または複数)及びメッセージに関与するエージェント及び/またはエージェントインタフェースを含んでもよい。エージェントに入ってくる矢印によって示されている到着メッセージは、エージェントから出て行く矢印によって示されている出発メッセージをもたらし得る。グラフは、メッセージに付随するトランザクションを含みかつこれを表し得る。1つの実施例において、ツリーレイアウトベースのグラフが生成されて、エージェント及びエージェントがやりとりするメッセージを表す。この場合、1以上のトランザクション/メッセージの開始点として機能するエージェントは、ルートノードとして機能する。
1つの実施例によれば、図4(b)から解るように、所定のトランザクションのメッセージの各々のレート及びメッセージ属性指定に基づいて、メッセージ/エッジに重みが付与され得る。1つの例において、1つのメッセージが複数のトランザクション(図4(a)のhp1からhp2のようなもの)内に存在している場合、全てのトランザクション内のメッセージのレートが足し合わされて、グラフ内のメッセージの正味のレートが判定されても良いか、または平均または最大等の代替の関数が適用されてもよい。トランザクションシーケンスグラフの1以上のメッセージへのレートの割り当ては、シミュレーションが、関係しているメッセージまたはホップ/エッジをどの程度の頻度で使用すべきかを示す。なぜならば、実際のSoCアーキテクチャ内でさらに高頻度で使用されるだろうメッセージにおけるシミュレーションをさらに多く実行し、現実の状況の経験を生み出しかつそれに従ってNoC性能の挙動評価をすることが重要であるからである。1つの実施例によれば、メッセージ/エッジのレートが判明すると、図4(b)に示されるように、それらは重みに正規化され得る。正規化において、任意のノードへの全ての受信エッジまたはそこからの全ての発信エッジの重みは、合計で1になり得る。重み割り当ての一例は図4(b)に示されている。
1つの実施例によれば、トランザクションシーケンスグラフに重みが割り当てられると、NoCパフォーマンスシミュレータは、これらの重みを用いて、シミュレーションの間に当該グラフにおいて採られ得る経路を確率的に判定し、それに応じて適切なメッセージを生成し得る。例えば、図4(a)を参照すると、hp2からhp3へのメッセージが.25の重みを有し、hp2からhp4へのメッセージが.5の重みを有している場合、シミュレーションアーキテクチャは、トランザクションシーケンス及びその中のメッセージを実行して、hp2からhp4へのメッセージフローの数がhp2からhp3へのメッセージフローの2倍になる。他の例において、重みはメッセージ選択に包含され、任意の所定のエージェントにおいて、発信エッジの全ての中から、重みに基づいて1つ選択され、対応するメッセージが、当該メッセージの他のサイドによって示されているエージェントに向かうNoC内に入れられる。このメッセージが送信先エージェントに到達すると、対応するノードの発信エッジが調べられ、次のメッセージが生成される。当該次のメッセージが発信エッジの無いノードに到達すると、当該トランザクションが完了したと見なされる。従って、この実施例において、高い重み(メッセージレート、すなわち実際のSoCシステム内のメッセージの使用の頻度を反映している)を有するメッセージは、さらに高い頻度で監視され、それによって、SoCトラフィックのバンド幅特性が正確に再現される。さらに、トランザクションの後期のメッセージが、以前のメッセージが送信されて送信先エージェントによって消費されることによって生成されるので、SoCの正確なメッセージ送受信特性がエミュレーション(emulated)され得る。
1つの実施例によれば、グラフが構築されてもよく、当該構築において、ノードからの発信エッジの全ての重みは、正規化の後に1にはならない。この場合、トランザクションシーケンスは、当該ノードにおいて終端してもよいし、ノードからの発信エッジの重みの合計に応じて確率的に継続してもよい。このことは、トランザクションシーケンスがエージェントにおいて終了した際に発生してもよく、その一方で他のトランザクションシーケンスが当該エージェントに到達して他のエージェントに向かって継続する。例えば、2つのトランザクションが等しいレートhp1⇒hp2及びhp1⇒hp2⇒hp3を有している場合、エージェントhp2においては、到着メッセージが終了して第1のトランザクションが形成されてもよいし、当該到着メッセージが継続して第2のトランザクションを形成してもよい。この場合において、hp2からの発信エッジは重み.5を有し、これはトランザクションがhp2で終了するのとhp3まで継続するのが等しい確率であってもよいことを示している。
1つの実施例によれば、本開示のシミュレータが、SoCシステムに関して定義されているかまたは定義されるサイズ、値、レート、データ間のインターバル、及び送信元−送信先情報メッセージパラメータ及び属性を含む全てのトランザクションシーケンスにアクセスする権利を有している故に、一度開始されると、トランザクションシーケンスは、自動的に完了され得る。しかし、トランザクションの各々が、メッセージをNoC内に投入するために当該トランザクションの第1のメッセージを伴って開始される必要がある故に、トレースファイルが形成されて、1または複数のトランザクションの第1のメッセージの詳細及び属性が特定され得る。トレースファイルには、トランザクション全ての第1のメッセージが記述されていてもよい。トランザクションが開始するエージェントのインタフェースの各々に関するトレースファイルが用いられてもよい。トレースファイルは、このエージェントによって開始されるトランザクションの第1のメッセージの情報を、待機インターバルをもって離間しているメッセージのシーケンスの形式で含んでもよく、それによって当該エージェントの転送挙動を取得してもよい。ホストhp1に関する単純なトレースファイルの例が以下に示される。最初のワードは、メッセージの送信先を示し、その後にメッセージの特性が続く。メッセージは、待機インターバルを持って離間している。
hp2[第1のメッセージの特性及び属性を含んでいる]
待機10
hp3[第1のメッセージの特性及び属性を含んでいる]
待機20
hp2[第1のメッセージの特性及び属性を含んでいる]
hp4[第1のメッセージの特性及び属性を含んでいる]
待機20
上述のhp1に関するトレースファイルは、hp2への2つのトランザクション、hp3への1つのトランザクション及びhp4への1つのトランザクションを示している。当該hp2への2つのトランザクションは同一のトランザクションであり得るか、またはhp2への共通の第1のメッセージを有する異なったトランザクションであり得る。さらに、上述のトレースファイルは、hp2への第1のトランザクションとhp3へのトランザクションとの間に10単位の待機時間を示しており、hp2への第2のトランザクションとhp4へのトランザクションとの間には待機時間は無い。理解されるように、任意の所定のトランザクションの第1のメッセージの待機時間及び特性/属性は、監視されるべきNoCインターコネクトの所望の挙動に基づいて常時変更され得る。さらに、トランザクションの第1のメッセージ及びそれに続く他のメッセージの特性も事前に定義され得、トレースファイルに含まれることを回避している。さらに、以下にさらに詳細に説明するように、トランザクションの第1のメッセージのみの代わりに、トレースファイルは、全てのメッセージシーケンスと共にそのレート/値/サイズ/その他の属性も含み得る。
他の実施例において、異なった第1のメッセージを有する複数のトランザクションがエージェントにおいて開始して場合、任意のトランザクションの第1のメッセージがランダムに用いられてトランザクションが開始される。他の実施例において、トランザクションの各々は平等に選択され得、メッセージシーケンスの全ての均等な実行がなされる。代替的に、トランザクションは、当該トランザクションのメッセージの各々の重みから算出され得る優先度に関連し得、高い優先度を有するトランザクションが比較的に低い優先度を有するトランザクションより頻繁に実行され得る。理解されるように、任意の他のアルゴリズムも、トランザクションシーケンスを実行しかつ選択するために用いられ得、この際、このようなシーケンスが共通のメッセージを有する。
図5は、エージェント及び/またはエージェントインタフェース500のセットの一例を示しており、複数のメッセージを有するエージェント間マルチポイントトランザクションを示している。ここにおいて、1以上のメッセージがトランザクションに亘って重なり合っている。図5の例は、互いに動作可能に接続されていてもいなくともよいエージェントA−Iを示している。この例は、7つのトランザクション、すなわちT1−T7も示している。例えば、T1は、エージェントBを介してエージェントAからエージェントHまで移動する。同様にトランザクションシーケンスT5は、エージェントC及びDを介してエージェントBからエージェントEまで移動する。上述のトランザクションシーケンスに基づいて、これに従って、トレースファイルは、エージェントA、B、C及びDに関して形成され得、これらのエージェントから1以上のトランザクションが開始される。
上述の様に、トランザクションの各々のメッセージの各々は、重み(正規化レート)に関連付けられ得、当該重みは頻度(またはレート)を示してもよく、当該頻度で(当該レートで)関連するメッセージが実際のSoC実装において使用され得る。さらに、当該重みは、複数の選択肢が所定の送信先ノードにおいて存在する場合に用いられ得るトランザクション及びルートを画定する。例えば、エージェントAからBへのメッセージがシミュレーションの間に移動する場合、シミュレータに対して利用可能な次の可能性のある選択肢は、Hへの移動(トランザクションT1)、Iへの移動(トランザクションT3)、またはCへの移動(トランザクションT3またはT4)を含み得る。このような場合、任意のトランザクションがランダムかまたは周期的に選択され得て、選択における衡平が維持される。またはメッセージ(BからH、BからI、及びBからC)に関する重みが算出されかつ最も高いレートを有するメッセージが選択されて、Bにおける4つのメッセージの各々において、BからCへのメッセージの重みが.5であり、BからIへのメッセージの重みが.25であり、BからHへのメッセージの重みが.25場合、2つは.5に向かい、1つはIに向かい、1つはHに向かう。従って、メッセージの重みに基づく比率が維持される。同様に、エージェントCからDに向かう共通のメッセージに関して、選択は次の送信先エージェントをEとして選択するか(T5)、送信先エージェントとしてFを選択するか(T6)、もしくは送信先エージェントをGとして選択するか(T7)、またはDに止まるか(T4)に関してなされ得る。これらの選択肢の各々の重みが等しい場合、任意のランダムなメッセージシーケンスが選択され得るか、または当該トランザクションはエージェントD自体に実際に留まって、トランザクション4が完了し得る。しかし、これは1つの実施例であり、任意の他のモード及びメカニズムがトランザクション及び前方へのメッセージの選択に含まれ得ることが理解されるだろう。
1つの実施例によれば、提案されるシミュレータデザインは、エージェント毎にトレースファイルを読んで、対応する送信先エージェントに対する第1のメッセージを生成し、当該メッセージをNoCインターコネクト内に投入する。当該第1のメッセージは、次の送信先ルータを示すだけではなく、当該第1のメッセージが関連するトランザクションシーケンスを特定する。シミュレータは、ホップメッセージの各々がその送信先に到達した際に残りのホップメッセージを自動的に判定してもよい。メッセージにおいてマッチング(match)する(すなわち、エージェントインタフェースにおいて落ち合いかつ同一の次のメッセージを有する)複数のトランザクションがある場合、その後、トランザクションのメッセージの1つは、トランザクションまたは当該トランザクション内のメッセージのレートに基づいて確率的に選択され得る。例えば、図4(a)において、メッセージ1がトレースファイル内にある場合、5つのトランザクションの全てにマッチングする。5つのトランザクションのレートが.3、.3、.1、.2及び.2であると仮定すると、トレースファイル内のメッセージ1は、それらの確率で5つのトランザクションのうちの1つに拡張し得る。トランザクション3がランダムに選択される場合、メッセージ1はhp1において、hp2に向けられて生成されてもよい。hp2において、このメッセージが到来すると、最後のメッセージ1がhp2においてhp1に向けて生成されるまでに、このメッセージが、hp2においてhp3に向けられたメッセージ3を生成する。
他の実施例によれば、さらにユーザに制御させるため、トレースファイルエントリは、第1のメッセージ仕様の一部としてビートの数(number of beats)等の所定の属性を含んでもよい。提供された場合、属性がトレースファイル内の特定の属性とマッチングしているトランザクションのみがトラフィック生成に関して考慮される。
図6は、1つの実施例によるシミュレーションの実行に関するフローを表すブロック図600を示している。ブロック601は、NoCインターコネクトの性能を対称にしてその特性を明らかするトランザクションシーケンスのセットの受信を示し、ここからシミュレーションが実行される。トランザクションシーケンスの各々は、異なっているかまたは同一の性質/属性を有している1以上のメッセージを含み得、1または複数のトランザクションのメッセージは、共通の送信元及び送信先エージェントを有していてもよい。ブロック602は、複数のエージェント間のインターコネクト及び当該複数のエージェントが当該複数のエージェント間で処理するメッセージを表したトランザクションシーケンスグラフの生成を示している。従って、当該シーケンスグラフは、メッセージがトランザクションに亘って共通な範囲を示し得かつ図表として表し得る。当該グラフは、メッセージの各々の重み(正規化されたレート)を示し得、第1のメッセージの高い重みは、シミュレーションの実行中に当該第1のメッセージの仕様の確率が高いことを示している。重みは、関連するメッセージ及び/またはそれに付随するトランザクションがシミュレーションの実行中に含まれるだろう回数を示し得る。
ブロック603は、1または複数のトレースファイルを形成する。トレースファイルの各々は、トランザクションシーケンスグラフの生成の実行において、並行してまたは順次生成され得る。トランザクションシーケンスグラフは、単なる例示であり、省略されてもよい。その一方で、トレースファイルは、1または複数のエージェントに対して生成され得、当該1または複数のエージェントの各々に対して、関連するエージェントによって開始されるトランザクションの第1のメッセージを示すのに役立ち得る。トレースファイルは、任意の他の態様においても構成され得、例えば、シミュレーション中に実行されるべきトランザクションの種類を定義する事前条件を設定するために使用され得る。トランザクションの第1のメッセージのみを含む代わりに、トレースファイルは、メッセージ及び/またはトランザクションの各々の性質及び属性の定義と併せて、トランザクションの他のメッセージも含み得る。トレースファイルは、手動で編集され得、複数のトランザクションの実行の間に導入される遅延を有し得る。ブロック604において、シミュレーションが実行され、この実行は複数のエージェントのトレースファイル内のそれらのエントリに基づいて1または複数のトランザクションを用いてなされる。このシミュレーションは。NoCインターコネクトの特有の性能を示し得る性能レポートの生成に役立ち得る。
提案されるシミュレータデザインは、SoCのトラフィックトランザクションの仕様に基づいてトレースファイルを自動的に生成して、トレースファイルの生成の処理を容易にし得る。その後、ユーザは、これらのファイルをさらに編集して、必要ならばさらに正確にSoCエージェントの挙動を反映させ得る。更新されたトレースファイルは、新しいシミュレーションが開始される時点毎に再読み込みされ得る。この生成されたトレースファイルは仕様において特定されたトランザクションレートをからなっていてもよい。トラフィック仕様内のトランザクションの平均またはピークレートはバースト特性(burstiness properties)、データビートの数等の追加情報に加えて使用され得る。トレースファイルの生成に使用されるアルゴリズムの1つの実施例が以下に説明される。
エージェントIから、Nトランザクションが開始したとする、すなわちIがNトランザクションの第1のメッセージを開始したとする。サイクル毎のメッセージの単位において、N番目のトランザクションのレートをRnとする。当該レートに基づいて、第1のホップメッセージを含むリストが構築され得る。このリストにおいて、トランザクションIの第1のメッセージは、R1×C回記載され得、第2のメッセージはR2*C回記載され得、より高いレートを有しているトランザクションがより頻繁に存在することになる。例えば、エージェントIが5つのトランザクションを、5つの異なった送信先エージェントに対して開始した場合、送信先エージェントの各々をD1、D2、D3、D4及びD5と称する。この実施例において、D1を用いるトランザクションシーケンスD1が最も高いレートを有し、D4を用いるトランザクションシーケンスが最も低いレートを有する場合、D1を用いるトランザクションは最も高い繰り返し確率を有し、Cを乗すると、D1を用いるトランザクションが使用される回数が得られる。アルゴリズムの実装に関して、Cは、N個の整数の最小公倍数であるグローバル定数であり得る。ここでi番目の整数は、(int)1/Riであり、1/Riの整数部分である。当該最小公倍数の使用は、様々なホップのインスタンス(instance)の数の整数カウント(integer count)への浮動小数点Riの変換の故の丸め誤差を最小化し得る。その後、様々なトランザクションの第1のホップのリストは、遅延インターバルを挿入することで正規化されて、様々なトランザクションのレートが正確に反映され得る。遅延インターバルを判定するために、全てのトランザクションのレートは、R=ΣRiとして足し合わされ得る。Rが1よりも大きい場合、遅延インターバルは必要ない。その一方で、Rが1未満の場合、リスト内のメッセージは、遅延の1/Rサイクルによってスペースが空けられる必要がある。丸め誤差を減少させるために、M/R単一サイクル待機インターバルがリスト内に挿入され得る。ここで、Mはリスト内のメッセージエントリの全数である。この遅延インターバルは、等しい数のメッセージエントリのスペースが空けられているリスト内に均等に挿入されてもよいし、ランダムになされてもよい。
図7は、トレースファイルを生成するための例示のフロー図700を示している。701において、トレースファイルが形成/生成されるべきエージェントが特定される。702において、特定のエージェントから開始するトランザクションが検出される。703において、検出されたトランザクションの各々のレートが取得されて、当該トランザクションが繰り返されるべき回数が評価される。ここで、当該レートは、実際のSoC実装の間にトランザクションシーケンスを選択する確率を示す。704において、トランザクションの各々のレート及びトランザクションの各々が実行されるべき回数の算出を容易にする増倍計数に基づいてトランザクションの各々が実行されるべき回数が判定される。705において、ステップ704において算出されたトランザクションシーケンスの各々が実行されるべき回数に基づいて、トランザクションの各々の複数のエントリがトレースファイル内に生成されて、シミュレーションがトランザクションの各々を、そのレートまたは発生確率に基づいて実行し得る。706において、トランザクションのレートの全ての合計が算出される。707において、トランザクションのレートの合計が1より大きいかが判定される。708において、トランザクションのレートの合計が1(N)以下である場合、適切な遅延がトランザクションの間に導入され、当該合計が少なくとも1であることが保証される。そうでなく、トランザクションのレートの合計が1(N)以上である場合、遅延は導入されない。
トランザクションの各々の第1のメッセージの表示と共に、トレースファイルは第1のメッセージ、及び必要ならばそれ以降のメッセージの特性及び/または属性を示し得る。上述のトレースファイルの生成の態様は、1つの実施例であり、任意の他の形式及び態様が、トレースファイルの生成のためにまたはシミュレーションを開始するために使用され得る。従って、他のデザインが、トレースファイルの生成のために多数の代替のアルゴリズムを使用してもよい。
代替のシミュレータのデザインは、トランザクションの各々の複数のメッセージを記述するトレースファイルを使用してもよい。この場合、当該複数のメッセージは、当該システム内のトランザクションのプレフィックス(prefix)を形成してもよく、これらのトランザクションのみが、定義されているプレフィックスとマッチングするシミュレーションに対して使用されてもよい。図4(a)に示されている例を検討する。hp1に対するトレースファイルがhp2のエントリを含む場合、5つのトランザクションの全てがマッチングし、これらのいくつかかが、上述の確率/レート/重みベースのモデルに基づいたシミュレーションの間に利用される。しかし、hp1に対するトレースファイルが「hp2及びhp3」のエントリを含む場合、後の4つのトランザクションのみがこのエントリにマッチングし、これらのうちの任意の1つがランダム、またはトランザクション及び/またはそれらに含まれるメッセージの重みに基づいて利用されてもよい。確率モデルは、このようなデザインにおいて調整されて、グラフにおいてどの経路が使用されるかが正確に判定され得る。このデザインにおいて、トレースファイル内にトランザクションのプレフィックスまたはトランザクションの全てが記載されてもよい。この場合、1つのトランザクションのみがマッチングするのでシミュレーションは決定論的になる。さらに、中間のエージェントもトレースファイル内で記載され得、それによりこれらのエージェントを介して移動するトランザクションがシミュレーションプロセス内で実行される。要するに、トレースファイルは、1以上のトランザクションの実行に関する任意の所定の基準を設定し得、トランザクションが1以上のトランザクションの間の遅延と共に実行されるべき回数も定義し得る。
例示のシミュレータデザインは、ユーザが、NoCのデザインが基づいているオリジナルの仕様とは異なるトラフィックトランザクション仕様に基づいてトレースファイルを形成することを許容し得る。このことは、基準のトラフィックとは異なるトラフィックに関するNoCのシミュレーションを実行するのに有用であり得る。当該新しいトランザクション仕様の定義を容易にするために、当該オリジナルの仕様がテキストファイルに記載され得、当該テキストファイルがユーザによって編集されて仕様に変更が行われ得る。ユーザは、様々なトランザクションの様々なメッセージのレート、及びホップの他のパラメータを変更し得る。しかし、ユーザは新しいトランザクションを追加することはできないだろう。なぜならば、これは当該デザインされたNoCにおいてサポートされていないからである。編集されたトランザクション仕様が読み込まれ得、先んじて記述されているアルゴリズムを用いて、当該仕様に基づいてトレースファイルが自動的に生成され得る。新しいトレースファイルが形成されると、それらは新しいトラフィック仕様の挙動を反映し得、NoC性能シミュレーションに関するシミュレータによって使用され得る。ユーザは、トラフィック刺激要因(traffic stimulus)における更なるカスタマイズのためにトレースファイルを編集し得るか、またはオリジナルのシミュレーションのためにオリジナルのトラフィック仕様に戻し得る。このようなシミュレータの実施例は図8に示されている。
図8は、フロー図800を示しており、図800に関して、新しいトラフィック及び可能性のあるトランザクションシーケンスがユーザによって手動で追加されるかまたは自動的に実行され得る。801において、新しいトラフィックがオリジナルのトラフィックトランザクションプロファイルに追加され、新しいトラフィックが、SoC通信の一部を形成し得るエージェント/コンポーネント/知的所有権(IP)コアの間の新しいトランザクションを示し得る。802において、オリジナルのトラフィックトランザクションプロファイルが、新しいトラフィック情報に基づいて更新される。803において、更新されたトラフィックトランザクションプロファイルに基づいて、新しいトランザクションシーケンスが生成される。804において、当該トランザクションシーケンスの特性が変更され得る。当該変更のステップは、各々のトランザクションシーケンスのメッセージの様々ある属性の中で特にレート、サイズ、値、インターバル等の属性を変更することを含み得る。トランザクションシーケンス及びその中のメッセージは、任意のタイミングでユーザによって変更及び/または変化させられ得、それによってシミュレーションの実行がカスタマイズされる。805において、新しいトランザクションシーケンス及びそれらの特性に基づいて、トレースファイルが生成されるかまたは再生成される。このようなトレースファイルは、手動でまたは所定の基準に基づいて補正されて、トランザクション間の遅延、トランザクション/それらのメッセージの各々のパラメータのような因子が変化させられ得る。
その後、806において、更新されたかまたは新しく生成されたトレースファイルが、シミュレーションを行うために、かつトランザクションシーケンス内のエントリに基づいたトランザクションシーケンスの実行を開始するために使用され得る。807において、シミュレーションの各々が実行されたかまたはシミュレーションの組み合わせが実行された後に性能レポートが生成され、NoCインターコネクトの性能の分析が促進される。
当該性能レポートは、システムの遅延及びスループットの平均、様々な送信元及び送信先のペアの間のペア毎の遅延及びスループット、最大値及び最小値等を含んでもよい。当該性能レポートは、様々な送信元・送信先ペアによって受信されるスループット比を含み、システム内の様々なホストによって受信される相対的なバンド幅を示してもよい。しかし、実施例はこれに限定されず、実施例の発明概念から逸脱することなく、他の性能レポート情報が代わりに用いられてもよいし、追加して用いられてもよい。
図9は、実施例が実装され得る例示のコンピュータシステム900を示している。コンピュータシステム900は、I/Oユニット935、記憶装置960、及び当業者に知られている1または複数のユニットを実行することが可能なプロセッサ910を含んでもよいサーバ905を含んでいる。本明細書で使用される用語「コンピュータ可読媒体」は、実行のためにプロセッサ910に命令を提供することに関与する任意の媒体を言い、当該媒体は、限定するわけではないが、光ディスク、磁気ディスク、リードオンリーメモリ、ランダムアクセスメモリ、ソリッドステートデバイス及びドライブ、または電子情報を保存するのに適した任意の他のタイプの有形的媒体(tangible media)もしくは搬送波を含むことが可能なコンピュータ可読信号媒体等のコンピュータ可読媒体の形式で提供されてもよい。I/Oユニットは、キーボード、マウス、タッチデバイスまたは音声コマンド等の入力デバイスを用いてもよいユーザインタフェース940及びオペレータインタフェース945からの入力を処理する。
サーバ905は、コンピュータが実行可能コードを読み取ることが可能な、ポータブルハードディスクドライブ、光メディア(CDまたはDVD)、ディスクメディアまたは任意の他のメディア等のリムーバブル記憶装置を含み得る外部記憶装置950に接続されていてもよい。当該サーバは、ディスプレイのような出力デバイス955に接続されて、ユーザにデータ及び他の情報を出力しかつユーザからの追加の情報を要求してもよい。サーバ905からユーザインタフェース940、オペレータインタフェース945、外部記憶装置950及び出力デバイス955への接続は、ワイヤレスプロトコル、802.11規格、ブルートゥース(登録商標)もしくはセルラープロトコル等の無線プロトコルを介して、またはケーブルもしくは光ファイバ等の物理伝送媒体を介していてもよい。出力デバイス955は、さらに、ユーザとのやりとりのための入力デバイスとして動作してもよい。
プロセッサ910は、1または複数のモジュールを実行してもよい。トランザクション入力モジュール911は、所定のNoCに関するトランザクションシーケンスを受信するように構成されていてもよい。トランザクションシーケンスの各々は、送信元エージェントから送信先エージェントに向かうようになされた1または複数のメッセージを含んでいてもよい。トランザクションシーケンスグラフ生成モジュール912は、トランザクションシーケンスに含まれるメッセージ及びエージェントに基づいてシーケンスグラフを生成するように構成されてもよい。トレースファイル生成モジュール913は、開始メッセージを示すか、または1または複数のトランザクションシーケンスの第1のメッセージの送信先エージェントを示すとともにメッセージの各々の属性と他のメッセージの属性との間の待機時間の設定を許容するトレースファイルを生成するように構成されてもよい。トランザクションシミュレーションモジュール914は、当該生成されたトレースファイルに基づく1または複数のトランザクションシーケンスのシミュレーションを実行するように構成されていてもよい。
トランザクションシーケンス入力モジュール911、トランザクションシーケンスグラフ生成モジュール912、トレースファイル生成モジュール913、及びトランザクションシミュレーションモジュール914は、所望の実施態様に応じて様々な方法で互いに相互作用してもよい。例えば、トランザクションシーケンスグラフ生成モジュール912は、入力モジュール911からトランザクションシーケンスを取得し、トランザクションシーケンスの各々に関して、トランザクションシーケンスのメッセージの各々に関与するエージェントを特定し、エージェントの全てをそれらのメッセージと共に示すシーケンスグラフを生成する。モジュール912は、さらに、トランザクションのメッセージの各々に重みを関連付けるように形成され得る。さらに、トレースファイル生成モジュール913は、入力モジュール911からの入力を取得して、含まれるべきトランザクションの各々の第1のメッセージのリストを含むようにエージェントの各々に関するトレースファイルの生成を促進する。トレースファイル生成モジュール913は、トランザクションシーケンスグラフ生成モジュール912と動作可能に接続されて、メッセージの各々に関する特性がトレースファイル内に追加され、当該ファイル内に待機時間が含められて、トランザクションが実行され得るレートの設定が可能とされ得る。
本詳細な説明のいくつかの部分は、コンピュータ内のアルゴリズムとして及び動作の記号表現として表されている。これらのアルゴリズム的記載及び記号表現は、情報処理分野の当業者によって、他の当業者に新しい考えの本質を最も効果的に伝えるために用いられる手段である。アルゴリズムは、所望の最終状態または結果を導く一連の定義済みのステップである。実施例において、実行されるステップは、具体的な成果を達成するための具体的な量の物理的操作を必要とする。
さらに、本出願の他の実施例は、本明細書に開示されている実施例の仕様及び実行を考慮することによって、当業者に明らかに理解される。様々な説明された実施例の態様及び/またはコンポーネントは、単一でまたは任意の組み合わせで用いられてもよい。仕様及び実施例は例示として理解されることが意図され、本出願の真の範囲及び精神は、添付の特許請求の範囲によって示されることが意図されている。

Claims (10)

  1. コンピュータにおいて複数のトランザクションを用いてネットワークオンチップ(NoC)インターコネクトのシミュレーションを実行するステップであって、前記複数のトランザクションの各々は1または複数のメッセージのシーケンスを含み、かつ前記1または複数のメッセージの各々は送信元及び送信先エージェントのうち少なくとも1つに関する表示を含んでいるステップと、
    前記1または複数のメッセージのシーケンス内の最初のメッセージ送信先ノードに基づいて前記複数のトランザクションの各々に関する前記1または複数のメッセージのシーケンス内の後続のメッセージを生成するステップと、を含み、
    前記後続のメッセージは前記1または複数のメッセージの送信先ノードの各々において生成されることを特徴とする方法。
  2. 請求項1に記載の方法であって、前記1または複数のメッセージの各々は、レート、優先度、値、メッセージデータサイズ、遅延及びインターバルの少なくとも1つに関する表示を含んでおり、メッセージは、前記レート、前記優先度、前記値、前記メッセージデータサイズ、前記遅延及び前記インターバルに基づいて前記シミュレーションを実行するために使用されることを特徴とする方法。
  3. 請求項2に記載の方法であって、前記1または複数のメッセージは、レートに関する表示を含み、前記レートは前記シミュレーションの間のメッセージの各々の選択確率の表示を含んでいることを特徴とする方法。
  4. 請求項1に記載の方法であって、前記エージェントの各々から生ずる前記複数のトランザクションシーケンスの各々に基づいて前記エージェントの各々に関するトレースファイルを生成するステップをさらに含み、前記トレースファイルは前記複数のトランザクションシーケンスの各々内の前記1または複数のメッセージのサブセットを含むことを特徴とする方法。
  5. 請求項1に記載の方法であって、前記シミュレーションに基づいて前記NoCインターコネクトの性能レポートを生成するステップをさらに含むことを特徴とする方法。
  6. 複数のトランザクションを使用してネットワークオンチップ(NoC)インターコネクトのシミュレーションを実行するステップであって、前記複数のトランザクションシーケンスの各々が1または複数のメッセージのシーケンスを含み、前記1または複数のメッセージの各々は送信元及び送信先エージェントのうちの少なくとも1つに関する表示を含むステップと、
    前記1または複数のメッセージのシーケンス内の最初のメッセージ送信先ノードに基づいて前記複数のトランザクションの各々に関する前記1または複数のメッセージのシーケンス内の後続のメッセージを生成するステップと、を実行するプロセッサを含むサーバであって、
    前記後続のメッセージは、前記1または複数のメッセージの送信先ノードの各々において生成されることを特徴とするサーバ。
  7. 請求項6に記載のサーバであって、前記1または複数のメッセージの各々は、レート、優先度、値、メッセージデータサイズ、遅延及びインターバルの少なくとも1つに関する表示を含んでおり、メッセージは、前記レート、前記優先度、前記値、前記メッセージデータサイズ、前記遅延及び前記インターバルに基づいて前記シミュレーションを実行するために使用されることを特徴とするサーバ。
  8. 請求項7に記載のサーバであって、前記1または複数のメッセージの各々は、レートに関する表示を含み、前記レートは、前記シミュレーションの間のメッセージの各々の選択確率の表示を含んでいることを特徴とするサーバ。
  9. 請求項6に記載のサーバであって、前記プロセッサは、前記エージェントの各々から生ずる前記複数のトランザクションシーケンスの各々に基づいて前記エージェントの各々に関するトレースファイルを生成し、前記トレースファイルは前記複数のトランザクションシーケンスの各々に関する前記1または複数のメッセージの表示を含むことを特徴とするサーバ。
  10. 請求項6に記載のサーバであって、前記プロセッサは、さらに、前記シミュレーションに基づいて前記NoCインターコネクトの性能レポートを生成することを特徴とするサーバ。
JP2016530069A 2013-07-25 2014-07-25 ネットワークオンチップアーキテクチャにおけるシステムレベルシミュレーション Active JP6216454B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/951,098 2013-07-25
US13/951,098 US9471726B2 (en) 2013-07-25 2013-07-25 System level simulation in network on chip architecture
PCT/US2014/048190 WO2015013609A1 (en) 2013-07-25 2014-07-25 System level simulation in network on chip architecture

Publications (3)

Publication Number Publication Date
JP2016527636A JP2016527636A (ja) 2016-09-08
JP2016527636A5 JP2016527636A5 (ja) 2017-07-27
JP6216454B2 true JP6216454B2 (ja) 2017-10-18

Family

ID=52391193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016530069A Active JP6216454B2 (ja) 2013-07-25 2014-07-25 ネットワークオンチップアーキテクチャにおけるシステムレベルシミュレーション

Country Status (4)

Country Link
US (2) US9471726B2 (ja)
JP (1) JP6216454B2 (ja)
KR (1) KR102285138B1 (ja)
WO (1) WO2015013609A1 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10333820B1 (en) 2012-10-23 2019-06-25 Quest Software Inc. System for inferring dependencies among computing systems
US9557879B1 (en) 2012-10-23 2017-01-31 Dell Software Inc. System for inferring dependencies among computing systems
US9794130B2 (en) 2012-12-13 2017-10-17 Coriant Operations, Inc. System, apparatus, procedure, and computer program product for planning and simulating an internet protocol network
US9471726B2 (en) * 2013-07-25 2016-10-18 Netspeed Systems System level simulation in network on chip architecture
US9699079B2 (en) 2013-12-30 2017-07-04 Netspeed Systems Streaming bridge design with host interfaces and network on chip (NoC) layers
US11005738B1 (en) 2014-04-09 2021-05-11 Quest Software Inc. System and method for end-to-end response-time analysis
US9479414B1 (en) 2014-05-30 2016-10-25 Dell Software Inc. System and method for analyzing computing performance
US10291493B1 (en) * 2014-12-05 2019-05-14 Quest Software Inc. System and method for determining relevant computer performance events
US9660942B2 (en) 2015-02-03 2017-05-23 Netspeed Systems Automatic buffer sizing for optimal network-on-chip design
US9996577B1 (en) 2015-02-11 2018-06-12 Quest Software Inc. Systems and methods for graphically filtering code call trees
US10348563B2 (en) 2015-02-18 2019-07-09 Netspeed Systems, Inc. System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology
US10187260B1 (en) 2015-05-29 2019-01-22 Quest Software Inc. Systems and methods for multilayer monitoring of network function virtualization architectures
US10218580B2 (en) 2015-06-18 2019-02-26 Netspeed Systems Generating physically aware network-on-chip design from a physical system-on-chip specification
US10200252B1 (en) 2015-09-18 2019-02-05 Quest Software Inc. Systems and methods for integrated modeling of monitored virtual desktop infrastructure systems
US9665683B1 (en) * 2015-10-23 2017-05-30 Xilinx, Inc. Designing a system for a programmable system-on-chip using performance characterization techniques
US10230601B1 (en) 2016-07-05 2019-03-12 Quest Software Inc. Systems and methods for integrated modeling and performance measurements of monitored virtual desktop infrastructure systems
US10776535B2 (en) * 2016-07-11 2020-09-15 Keysight Technologies Singapore (Sales) Pte. Ltd. Methods, systems and computer readable media for testing network devices using variable traffic burst profiles
TWI587218B (zh) 2016-09-10 2017-06-11 財團法人工業技術研究院 記憶體事務層級模型模擬方法及系統
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US20180159786A1 (en) 2016-12-02 2018-06-07 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
US10063496B2 (en) 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10084725B2 (en) 2017-01-11 2018-09-25 Netspeed Systems, Inc. Extracting features from a NoC for machine learning construction
US10469337B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10298485B2 (en) 2017-02-06 2019-05-21 Netspeed Systems, Inc. Systems and methods for NoC construction
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US11144457B2 (en) 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US10896476B2 (en) 2018-02-22 2021-01-19 Netspeed Systems, Inc. Repository of integration description of hardware intellectual property for NoC construction and SoC integration
US11176302B2 (en) 2018-02-23 2021-11-16 Netspeed Systems, Inc. System on chip (SoC) builder
US11023377B2 (en) 2018-02-23 2021-06-01 Netspeed Systems, Inc. Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA)
KR102376750B1 (ko) 2018-09-13 2022-03-21 한국전자통신연구원 디버깅을 위한 네트워크를 포함하는 시스템 온 칩
US12067481B2 (en) 2018-10-14 2024-08-20 International Business Machines Corporation Array-integrated upstream/downstream router for circuit switched parallel connectivity
US11388078B1 (en) 2019-06-10 2022-07-12 Keysight Technologies, Inc. Methods, systems, and computer readable media for generating and using statistically varying network traffic mixes to test network devices
US11797667B2 (en) * 2019-06-28 2023-10-24 University Of Florida Research Foundation, Incorporated Real-time detection and localization of DoS attacks in NoC based SoC architectures
US11716278B1 (en) 2022-01-25 2023-08-01 Bank Of America Corporation System and method for determining the shortest data transfer path in data communication

Family Cites Families (183)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3024995A1 (de) 1980-07-02 1982-01-28 Philips Patentverwaltung Gmbh, 2000 Hamburg Ultraschall-untersuchungsanordnung
JPS5936793A (ja) 1982-08-18 1984-02-29 三菱重工業株式会社 パルプ廃液ソ−ダ回収方法及び装置
US4933933A (en) 1986-12-19 1990-06-12 The California Institute Of Technology Torus routing chip
US5742738A (en) 1988-05-20 1998-04-21 John R. Koza Simultaneous evolution of the architecture of a multi-part program to solve a problem using architecture altering operations
US5105424A (en) 1988-06-02 1992-04-14 California Institute Of Technology Inter-computer message routing system with each computer having separate routinng automata for each dimension of the network
US5163016A (en) 1990-03-06 1992-11-10 At&T Bell Laboratories Analytical development and verification of control-intensive systems
US5588152A (en) 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
JP3147432B2 (ja) 1991-10-09 2001-03-19 株式会社日立製作所 パイプライン処理装置
US5355455A (en) 1991-11-19 1994-10-11 International Business Machines Corporation Method and apparatus for avoiding deadlock in a computer system with two or more protocol-controlled buses interconnected by a bus adaptor
WO1994009576A1 (en) 1992-10-21 1994-04-28 Bell Communications Research, Inc. A broadband virtual private network service and system
JP2501169B2 (ja) 1993-03-18 1996-05-29 株式会社日立製作所 燃料電池及び電解質補給容器及び電解質補給方法
US5583990A (en) 1993-12-10 1996-12-10 Cray Research, Inc. System for allocating messages between virtual channels to avoid deadlock and to optimize the amount of message traffic on each type of virtual channel
US5859981A (en) 1995-07-12 1999-01-12 Super P.C., L.L.C. Method for deadlock-free message passing in MIMD systems using routers and buffers
US5764740A (en) 1995-07-14 1998-06-09 Telefonaktiebolaget Lm Ericsson System and method for optimal logical network capacity dimensioning with broadband traffic
US5764741A (en) 1995-07-21 1998-06-09 Callmanage Ltd. Least cost rooting system
US5991308A (en) 1995-08-25 1999-11-23 Terayon Communication Systems, Inc. Lower overhead method for data transmission using ATM and SCDMA over hybrid fiber coax cable plant
US5961623A (en) 1996-08-29 1999-10-05 Apple Computer, Inc. Method and system for avoiding starvation and deadlocks in a split-response interconnect of a computer system
US6377543B1 (en) 1997-08-13 2002-04-23 Telecommunications Research Laboratories Path restoration of networks
US6003029A (en) 1997-08-22 1999-12-14 International Business Machines Corporation Automatic subspace clustering of high dimensional data for data mining applications
US6101181A (en) 1997-11-17 2000-08-08 Cray Research Inc. Virtual channel assignment in large torus systems
KR100250437B1 (ko) 1997-12-26 2000-04-01 정선종 라운드로빈 중재 및 적응 경로 제어를 수행하는경로제어 장치
US6249902B1 (en) 1998-01-09 2001-06-19 Silicon Perspective Corporation Design hierarchy-based placement
US6415282B1 (en) 1998-04-22 2002-07-02 Nec Usa, Inc. Method and apparatus for query refinement
US6711152B1 (en) 1998-07-06 2004-03-23 At&T Corp. Routing over large clouds
US6968514B2 (en) 1998-09-30 2005-11-22 Cadence Design Systems, Inc. Block based design methodology with programmable components
US6674720B1 (en) 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system and method
US6356900B1 (en) 1999-12-30 2002-03-12 Decode Genetics Ehf Online modifications of relations in multidimensional processing
US7046633B2 (en) 2000-09-21 2006-05-16 Avici Systems, Inc. Router implemented with a gamma graph interconnection network
CA2359168A1 (en) 2000-10-25 2002-04-25 John Doucette Design of meta-mesh of chain sub-networks
US7000011B1 (en) 2000-11-06 2006-02-14 Hewlett-Packard Development Company, Lp. Designing interconnect fabrics
US6967926B1 (en) 2000-12-31 2005-11-22 Cisco Technology, Inc. Method and apparatus for using barrier phases to limit packet disorder in a packet switching system
KR100537582B1 (ko) 2001-02-24 2005-12-20 인터내셔널 비지네스 머신즈 코포레이션 신규의 초병렬 수퍼컴퓨터
GB0118294D0 (en) 2001-07-27 2001-09-19 Ibm Method and system for deadlock detection and avoidance
US6732336B2 (en) 2001-10-11 2004-05-04 California Institute Of Technology Method and apparatus for an asynchronous pulse logic circuit
US20030088602A1 (en) 2001-11-08 2003-05-08 Koninklijke Philips Electronics N.V. High-speed computation in arithmetic logic circuit
US20030145314A1 (en) 2002-01-31 2003-07-31 Khoa Nguyen Method of efficient dynamic data cache prefetch insertion
GB0304628D0 (en) 2003-02-28 2003-04-02 Imec Inter Uni Micro Electr Method for hardware-software multitasking on a reconfigurable computing platform
US7096459B2 (en) 2002-09-11 2006-08-22 International Business Machines Corporation Methods and apparatus for root cause identification and problem determination in distributed systems
US6925627B1 (en) 2002-12-20 2005-08-02 Conexant Systems, Inc. Method and apparatus for power routing in an integrated circuit
US8281297B2 (en) 2003-02-05 2012-10-02 Arizona Board Of Regents Reconfigurable processing
US7065730B2 (en) 2003-04-17 2006-06-20 International Business Machines Corporation Porosity aware buffered steiner tree construction
US8020163B2 (en) 2003-06-02 2011-09-13 Interuniversitair Microelektronica Centrum (Imec) Heterogeneous multiprocessor network on chip devices, methods and operating systems for control thereof
US7318214B1 (en) 2003-06-19 2008-01-08 Invarium, Inc. System and method for reducing patterning variability in integrated circuit manufacturing through mask layout corrections
US7725859B1 (en) 2003-08-01 2010-05-25 Cadence Design Systems, Inc. Methods and mechanisms for inserting metal fill data
US7379424B1 (en) 2003-08-18 2008-05-27 Cray Inc. Systems and methods for routing packets in multiprocessor computer systems
US7518990B2 (en) 2003-12-26 2009-04-14 Alcatel Lucent Usa Inc. Route determination method and apparatus for virtually-concatenated data traffic
ATE403314T1 (de) 2004-04-05 2008-08-15 Koninkl Philips Electronics Nv Integrierte schaltung und verfahren zur zeitschlitz-zuteilung
US7143221B2 (en) 2004-06-08 2006-11-28 Arm Limited Method of arbitrating between a plurality of transfers to be routed over a corresponding plurality of paths provided by an interconnect circuit of a data processing apparatus
US7583602B2 (en) 2004-06-30 2009-09-01 Alcatel-Lucent Usa Inc. Methods and devices for routing traffic using a configurable access wireless network
US7219178B2 (en) 2004-09-30 2007-05-15 Arm Limited Bus deadlock avoidance
US7774783B2 (en) 2004-12-23 2010-08-10 Microsoft Corporation Method and apparatus for detecting deadlocks
KR100674933B1 (ko) 2005-01-06 2007-01-26 삼성전자주식회사 온 칩 버스(On Chip Bus)에서 최적화된코어-타일-스위치(core-tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체
US8059551B2 (en) 2005-02-15 2011-11-15 Raytheon Bbn Technologies Corp. Method for source-spoofed IP packet traceback
JP2006244073A (ja) 2005-03-02 2006-09-14 Matsushita Electric Ind Co Ltd 半導体設計装置
FR2883116B1 (fr) 2005-03-08 2007-04-13 Commissariat Energie Atomique Architecture de communication globalement asynchrone pour systeme sur puce.
US8018849B1 (en) 2005-03-25 2011-09-13 Tilera Corporation Flow control in a parallel processing environment
EP1869844A1 (en) 2005-04-06 2007-12-26 Koninklijke Philips Electronics N.V. Network-on-chip environment and method for reduction of latency
DE602005009801D1 (de) 2005-04-11 2008-10-30 St Microelectronics Srl Ein dynamisch rekonfigurierbares System auf einem Chip, welches eine Vielzahl rekonfigurierbarer Gate-Arrays beinhaltet.
JP4791530B2 (ja) 2005-04-13 2011-10-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電子デバイス及びフロー制御方法
US7965725B2 (en) 2005-05-31 2011-06-21 Stmicroelectronics, Inc. Hyper-ring-on-chip (HyRoC) architecture
US20060281221A1 (en) 2005-06-09 2006-12-14 Sharad Mehrotra Enhanced routing grid system and method
US7509619B1 (en) 2005-06-22 2009-03-24 Xilinx, Inc. Auto generation of a multi-staged processing pipeline hardware implementation for designs captured in high level languages
US7603644B2 (en) 2005-06-24 2009-10-13 Pulsic Limited Integrated circuit routing and compaction
US7343581B2 (en) 2005-06-27 2008-03-11 Tela Innovations, Inc. Methods for creating primitive constructed standard cells
EP1911218A2 (en) 2005-07-19 2008-04-16 Koninklijke Philips Electronics N.V. Electronic device and method of communication resource allocation
JP3938387B2 (ja) 2005-08-10 2007-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション コンパイラ、制御方法、およびコンパイラ・プログラム
US7437518B2 (en) 2005-09-07 2008-10-14 Intel Corporation Hiding conflict, coherence completion and transaction ID elements of a coherence protocol
US7693064B2 (en) 2005-10-24 2010-04-06 Cisco Technology, Inc. Forwarding packets to a directed acyclic graph destination using link selection based on received link metrics
JP2007149061A (ja) 2005-10-31 2007-06-14 Seiko Epson Corp レイアウトシステムおよびレイアウトプログラム、並びにレイアウト方法
US7289933B2 (en) 2005-11-04 2007-10-30 Synopsys, Inc. Simulating topography of a conductive material in a semiconductor wafer
KR100687659B1 (ko) 2005-12-22 2007-02-27 삼성전자주식회사 Axi 프로토콜에 따른 락 오퍼레이션을 제어하는네트워크 인터페이스, 상기 네트워크 인터페이스가 포함된패킷 데이터 통신 온칩 인터커넥트 시스템, 및 상기네트워크 인터페이스의 동작 방법
US7904892B2 (en) 2006-01-06 2011-03-08 Northrop Grumman Corporation Systems and methods for identifying and displaying dependencies
CA2580998A1 (en) 2006-03-03 2007-09-03 Queen's University At Kingston Adaptive analysis methods
US8448102B2 (en) 2006-03-09 2013-05-21 Tela Innovations, Inc. Optimizing layout of irregular structures in regular layout context
US20070256044A1 (en) 2006-04-26 2007-11-01 Gary Coryer System and method to power route hierarchical designs that employ macro reuse
US8924269B2 (en) 2006-05-13 2014-12-30 Sap Ag Consistent set of interfaces derived from a business object model
JP2007311491A (ja) 2006-05-17 2007-11-29 Toshiba Corp 半導体集積回路
EP1863232A1 (en) 2006-05-29 2007-12-05 Stmicroelectronics Sa On-chip bandwidth allocator
KR100737943B1 (ko) 2006-09-13 2007-07-13 삼성전자주식회사 네트워크-온-칩 응답 신호 제어 장치 및 그 방법
US20080072182A1 (en) 2006-09-19 2008-03-20 The Regents Of The University Of California Structured and parameterized model order reduction
WO2008044211A1 (en) 2006-10-10 2008-04-17 Ecole Polytechnique Federale De Lausanne (Epfl) Method to design network-on-chip (noc)-based communication systems
US7502378B2 (en) 2006-11-29 2009-03-10 Nec Laboratories America, Inc. Flexible wrapper architecture for tiled networks on a chip
WO2008080122A2 (en) 2006-12-22 2008-07-03 The Trustees Of Columbia University In The City Of New York Systems and method for on-chip data communication
US9053072B2 (en) 2007-01-25 2015-06-09 Hewlett-Packard Development Company, L.P. End node transactions at threshold-partial fullness of storage space
WO2008126516A1 (ja) 2007-04-10 2008-10-23 Naoki Suehiro 送信方法、送信装置、受信方法及び受信装置
JP4888272B2 (ja) 2007-07-30 2012-02-29 富士通セミコンダクター株式会社 ソフトウェアのシミュレーション方法、ソフトウェアのシミュレーションのためのプログラム、及びソフトウェアのシミュレーション装置
US7809006B2 (en) 2007-08-16 2010-10-05 D. E. Shaw Research, Llc Routing with virtual channels
US8136071B2 (en) 2007-09-12 2012-03-13 Neal Solomon Three dimensional integrated circuits and methods of fabrication
WO2009033631A1 (en) 2007-09-13 2009-03-19 Friedrich-Alexander-Universität Erlangen-Nürnberg Logic chip, method and computer program for providing a configuration information for a configurable logic chip
US8219342B2 (en) 2007-09-18 2012-07-10 Nec Laboratories America, Inc. Variation tolerant network on chip (NoC) with self-calibrating links
US8099757B2 (en) 2007-10-15 2012-01-17 Time Warner Cable Inc. Methods and apparatus for revenue-optimized delivery of content in a network
US7701252B1 (en) 2007-11-06 2010-04-20 Altera Corporation Stacked die network-on-chip for FPGA
US8261025B2 (en) 2007-11-12 2012-09-04 International Business Machines Corporation Software pipelining on a network on chip
EP2227749B1 (en) 2007-12-06 2014-08-27 Technion Research & Development Foundation Ltd. Bus enhanced network on chip
US8407425B2 (en) 2007-12-28 2013-03-26 Intel Corporation Obscuring memory access patterns in conjunction with deadlock detection or avoidance
US8010750B2 (en) 2008-01-17 2011-08-30 International Business Machines Corporation Network on chip that maintains cache coherency with invalidate commands
US8490110B2 (en) 2008-02-15 2013-07-16 International Business Machines Corporation Network on chip with a low latency, high bandwidth application messaging interconnect
US7973804B2 (en) 2008-03-11 2011-07-05 International Business Machines Corporation Image processing with highly threaded texture fragment generation
TWI390869B (zh) 2008-04-24 2013-03-21 Univ Nat Taiwan 網路資源分配系統及方法
US8020168B2 (en) 2008-05-09 2011-09-13 International Business Machines Corporation Dynamic virtual software pipelining on a network on chip
US8040799B2 (en) 2008-05-15 2011-10-18 International Business Machines Corporation Network on chip with minimum guaranteed bandwidth for virtual communications channels
US8203938B2 (en) 2008-05-22 2012-06-19 Level 3 Communications, Llc Multi-router IGP fate sharing
US8131944B2 (en) 2008-05-30 2012-03-06 Intel Corporation Using criticality information to route cache coherency communications
US8438578B2 (en) 2008-06-09 2013-05-07 International Business Machines Corporation Network on chip with an I/O accelerator
JP4607254B2 (ja) 2008-06-12 2011-01-05 パナソニック株式会社 ネットワーク監視装置、バスシステム監視装置、方法、およびプログラム
US8050256B1 (en) 2008-07-08 2011-11-01 Tilera Corporation Configuring routing in mesh networks
EP2370937B1 (en) 2008-11-26 2014-03-12 Danmarks Tekniske Universitet Biologically inspired hardware cell architecture
US8312402B1 (en) 2008-12-08 2012-11-13 Cadence Design Systems, Inc. Method and apparatus for broadband electromagnetic modeling of three-dimensional interconnects embedded in multilayered substrates
WO2010074872A1 (en) 2008-12-23 2010-07-01 Transwitch Corporation System-on-a-chip and multi-chip systems supporting advanced telecommunications and other data processing applications
US20100158005A1 (en) 2008-12-23 2010-06-24 Suvhasis Mukhopadhyay System-On-a-Chip and Multi-Chip Systems Supporting Advanced Telecommunication Functions
US8065433B2 (en) 2009-01-09 2011-11-22 Microsoft Corporation Hybrid butterfly cube architecture for modular data centers
US8285900B2 (en) 2009-02-17 2012-10-09 The Board Of Regents Of The University Of Texas System Method and apparatus for congestion-aware routing in a computer interconnection network
US8275598B2 (en) 2009-03-02 2012-09-25 International Business Machines Corporation Software table walk during test verification of a simulated densely threaded network on a chip
US8661455B2 (en) 2009-04-21 2014-02-25 International Business Machines Corporation Performance event triggering through direct interthread communication on a network on chip
US8412795B2 (en) 2009-04-29 2013-04-02 Stmicroelectronics S.R.L. Control device for a system-on-chip and corresponding method
FR2945396A1 (fr) * 2009-05-07 2010-11-12 St Microelectronics Grenoble 2 Procede et dispositif d'analyse de la propagation de transactions dans un reseau multi-protocoles d'un systeme sur puce
US8306042B1 (en) 2009-06-19 2012-11-06 Google Inc. Class-based deterministic packet routing
CN102415059B (zh) 2009-07-07 2014-10-08 松下电器产业株式会社 总线控制装置
FR2948840B1 (fr) 2009-07-29 2011-09-16 Kalray Reseau de communication sur puce avec garantie de service
US8285912B2 (en) 2009-08-07 2012-10-09 Arm Limited Communication infrastructure for a data processing apparatus and a method of operation of such a communication infrastructure
US8276105B2 (en) 2009-09-18 2012-09-25 International Business Machines Corporation Automatic positioning of gate array circuits in an integrated circuit design
FR2951342B1 (fr) 2009-10-13 2017-01-27 Arteris Inc Reseau sur puce a latence nulle
US8537677B2 (en) 2009-10-13 2013-09-17 Hewlett-Packard Development Company, L.P. Incremental adaptive packet routing in a multi-dimensional network
US8407647B2 (en) 2009-12-17 2013-03-26 Springsoft, Inc. Systems and methods for designing and making integrated circuits with consideration of wiring demand ratio
US20110191774A1 (en) 2010-02-01 2011-08-04 Yar-Sun Hsu Noc-centric system exploration platform and parallel application communication mechanism description format used by the same
US8541819B1 (en) 2010-12-09 2013-09-24 Monolithic 3D Inc. Semiconductor device and structure
US8492886B2 (en) 2010-02-16 2013-07-23 Monolithic 3D Inc 3D integrated circuit with logic
US8379659B2 (en) 2010-03-29 2013-02-19 Intel Corporation Performance and traffic aware heterogeneous interconnection network
KR101077900B1 (ko) 2010-04-09 2011-10-31 숭실대학교산학협력단 네트워크 효율성을 고려한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법 및 그에 의해 통신하는 인터페이스 장치
WO2011142087A1 (ja) 2010-05-12 2011-11-17 パナソニック株式会社 中継器およびチップ回路
FR2961048B1 (fr) 2010-06-03 2013-04-26 Arteris Inc Reseau sur puce avec caracteristiques de qualite-de-service
US20130080073A1 (en) 2010-06-11 2013-03-28 Waters Technologies Corporation Techniques for mass spectrometry peak list computation using parallel processing
US8352774B2 (en) 2010-06-23 2013-01-08 King Fahd University Of Petroleum And Minerals Inter-clock domain data transfer FIFO circuit
US8196086B2 (en) 2010-07-21 2012-06-05 Lsi Corporation Granular channel width for power optimization
US9396162B2 (en) 2010-07-22 2016-07-19 John APPLEYARD Method and apparatus for estimating the state of a system
JP5543894B2 (ja) 2010-10-21 2014-07-09 ルネサスエレクトロニクス株式会社 NoCシステム及び入力切替装置
US8738860B1 (en) 2010-10-25 2014-05-27 Tilera Corporation Computing in parallel processing environments
CN102467582B (zh) 2010-10-29 2014-08-13 国际商业机器公司 一种集成电路设计中优化连线约束的方法和系统
US8438306B2 (en) 2010-11-02 2013-05-07 Sonics, Inc. Apparatus and methods for on layer concurrency in an integrated circuit
JP5860670B2 (ja) 2010-11-05 2016-02-16 インテル コーポレイション Dragonflyプロセッサ相互接続ネットワークにおけるテーブル駆動型ルーティング
US8705368B1 (en) 2010-12-03 2014-04-22 Google Inc. Probabilistic distance-based arbitration
US9397933B2 (en) 2010-12-21 2016-07-19 Verizon Patent And Licensing Inc. Method and system of providing micro-facilities for network recovery
CN102567277A (zh) 2010-12-30 2012-07-11 世意法(北京)半导体研发有限责任公司 用于通过片上网络系统来降低功耗的方法
US20120195321A1 (en) 2011-02-02 2012-08-02 Futurewei Technologies, Inc. Method and Apparatus for Low-Latency Interconnection Networks Using Hierarchical Rings
US9210048B1 (en) 2011-03-31 2015-12-08 Amazon Technologies, Inc. Clustered dispersion of resource use in shared computing environments
US8717875B2 (en) 2011-04-15 2014-05-06 Alcatel Lucent Condensed core-energy-efficient architecture for WAN IP backbones
US8793644B2 (en) 2011-06-02 2014-07-29 Qualcomm Technologies, Inc. Display and automatic improvement of timing and area in a network-on-chip
GB2491588A (en) 2011-06-06 2012-12-12 St Microelectronics Res & Dev Multiprocessor with different cache coherency protocols between different parts
WO2013014851A1 (ja) 2011-07-22 2013-01-31 パナソニック株式会社 中継装置
FR2979444A1 (fr) 2011-08-23 2013-03-01 Kalray Reseau sur puce extensible
US8711867B2 (en) 2011-08-26 2014-04-29 Sonics, Inc. Credit flow control scheme in a router with flexible link widths utilizing minimal storage
US8514889B2 (en) 2011-08-26 2013-08-20 Sonics, Inc. Use of common data format to facilitate link width conversion in a router with flexible link widths
US8798038B2 (en) 2011-08-26 2014-08-05 Sonics, Inc. Efficient header generation in packetized protocols for flexible system on chip architectures
KR101254706B1 (ko) 2011-09-27 2013-04-15 성균관대학교산학협력단 3차원 네트워크 온 칩
US9213788B2 (en) 2011-10-25 2015-12-15 Massachusetts Institute Of Technology Methods and apparatus for constructing and analyzing component-based models of engineering systems
EP2771797A4 (en) 2011-10-28 2015-08-05 Univ California MULTICOUSE COMPUTER PROCESSOR
US20130117543A1 (en) 2011-11-04 2013-05-09 Advanced Micro Devices, Inc. Low overhead operation latency aware scheduler
US9036482B2 (en) 2011-12-08 2015-05-19 The Hong Kong University Of Science And Technology Bufferless nonblocking networks on chip
US20130151215A1 (en) 2011-12-12 2013-06-13 Schlumberger Technology Corporation Relaxed constraint delaunay method for discretizing fractured media
JP2013125906A (ja) 2011-12-15 2013-06-24 Toshiba Corp フレアマップ計算方法、フレアマップ算出プログラムおよび半導体装置の製造方法
ITTO20111180A1 (it) 2011-12-21 2013-06-22 St Microelectronics Grenoble 2 Dispositivo di controllo, ad esempio per system-on-chip, e corrispondente procedimento
US20130174113A1 (en) 2011-12-30 2013-07-04 Arteris SAS Floorplan estimation
US20130191572A1 (en) 2012-01-23 2013-07-25 Qualcomm Incorporated Transaction ordering to avoid bus deadlocks
US9070121B2 (en) 2012-02-14 2015-06-30 Silver Spring Networks, Inc. Approach for prioritizing network alerts
US9111151B2 (en) 2012-02-17 2015-08-18 National Taiwan University Network on chip processor with multiple cores and routing method thereof
US9274960B2 (en) 2012-03-20 2016-03-01 Stefanos Kaxiras System and method for simplifying cache coherence using multiple write policies
US8756541B2 (en) 2012-03-27 2014-06-17 International Business Machines Corporation Relative ordering circuit synthesis
GB2500915B (en) 2012-04-05 2018-03-14 Stmicroelectronics Grenoble2 Sas Arrangement and method
US8635577B2 (en) 2012-06-01 2014-01-21 International Business Machines Corporation Timing refinement re-routing
CN102866971B (zh) 2012-08-28 2015-11-25 华为技术有限公司 传输数据的装置、系统及方法
US9244880B2 (en) 2012-08-30 2016-01-26 Netspeed Systems Automatic construction of deadlock free interconnects
US20140092740A1 (en) 2012-09-29 2014-04-03 Ren Wang Adaptive packet deflection to achieve fair, low-cost, and/or energy-efficient quality of service in network on chip devices
US8885510B2 (en) 2012-10-09 2014-11-11 Netspeed Systems Heterogeneous channel capacities in an interconnect
GB2507124A (en) 2012-10-22 2014-04-23 St Microelectronics Grenoble 2 Controlling data transmission rates based on feedback from the data recipient
US8601423B1 (en) 2012-10-23 2013-12-03 Netspeed Systems Asymmetric mesh NoC topologies
US9130856B2 (en) 2013-01-28 2015-09-08 Netspeed Systems Creating multiple NoC layers for isolation or avoiding NoC traffic congestion
US8667439B1 (en) 2013-02-27 2014-03-04 Netspeed Systems Automatically connecting SoCs IP cores to interconnect nodes to minimize global latency and reduce interconnect cost
US8934377B2 (en) 2013-03-11 2015-01-13 Netspeed Systems Reconfigurable NoC for customizing traffic and optimizing performance after NoC synthesis
US9471726B2 (en) * 2013-07-25 2016-10-18 Netspeed Systems System level simulation in network on chip architecture
US9054977B2 (en) 2013-08-05 2015-06-09 Netspeed Systems Automatic NoC topology generation
US9473388B2 (en) 2013-08-07 2016-10-18 Netspeed Systems Supporting multicast in NOC interconnect
US20150109024A1 (en) 2013-10-22 2015-04-23 Vaughn Timothy Betz Field Programmable Gate-Array with Embedded Network-on-Chip Hardware and Design Flow
MX2016007157A (es) 2013-12-09 2016-07-21 Procter & Gamble Estructuras fibrosas que incluyen un agente activo y tienen un grafico impreso sobre estas.

Also Published As

Publication number Publication date
US20150032437A1 (en) 2015-01-29
KR102285138B1 (ko) 2021-08-05
US20170061053A1 (en) 2017-03-02
WO2015013609A1 (en) 2015-01-29
US10496770B2 (en) 2019-12-03
JP2016527636A (ja) 2016-09-08
KR20160033695A (ko) 2016-03-28
US9471726B2 (en) 2016-10-18

Similar Documents

Publication Publication Date Title
JP6216454B2 (ja) ネットワークオンチップアーキテクチャにおけるシステムレベルシミュレーション
US10324509B2 (en) Automatic generation of power management sequence in a SoC or NoC
JP6353084B2 (ja) ネットワーク・オン・チップ設計向けのトランザクショナル・トラフィック仕様
US9590813B1 (en) Supporting multicast in NoC interconnect
JP6060316B2 (ja) NoCを構成するための方法及びシステム並びにコンピュータ可読記憶媒体
JP5936793B2 (ja) 全体的なレイテンシを最小限に抑え、相互接続コストを削減するために、自動接続socs ipコアをノードに相互接続する方法
US9477280B1 (en) Specification for automatic power management of network-on-chip and system-on-chip
US9130856B2 (en) Creating multiple NoC layers for isolation or avoiding NoC traffic congestion
JP2016510549A5 (ja)
US10218581B2 (en) Generation of network-on-chip layout based on user specified topological constraints
US10547514B2 (en) Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US20180183715A1 (en) System and method for network on chip construction through machine learning
US10896476B2 (en) Repository of integration description of hardware intellectual property for NoC construction and SoC integration
US10469338B2 (en) Cost management against requirements for the generation of a NoC
US20180198682A1 (en) Strategies for NoC Construction Using Machine Learning
US10084725B2 (en) Extracting features from a NoC for machine learning construction
US9928204B2 (en) Transaction expansion for NoC simulation and NoC design

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170616

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170616

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170616

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170817

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170922

R150 Certificate of patent or registration of utility model

Ref document number: 6216454

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250