Socインターコネクトにはルールがあり、それは「データが時間内にそこに到達しなくてはならない」というものです。1クロックサイクルでダイ全体に行き渡らせることができたのは遠い昔のことです。つまり伝送遅延があるということは、設計者はタイミングを収束させるためにパイプラインを挿入せざるを得ないということです。チップダイが大きくなるほど周波数が高くなり、プロセスジオメトリが小さくなるほどパイプライン挿入が複雑になります。
例えば、TSMC 28nm HPMプロセスでの比較的適度なサイズの設計を考えてみます。このプロセスで私たちが目標とする動作周波数600Mhzを達成するためには2.2mmごとにパイプラインステージを追加しなくてはなりません。ラストレベルキャッシュとCPUとの間には長い配線があり、この設計には3つのパイプラインを追加する必要があります。
図1 チップのサイズが大きくなるということは、信号が1クロックサイクルで目的地に到達できないことを意味します。設計者は必要なパフォーマンスを達成するためにパイプラインステージを手動で挿入するという手段に頼っていますが、これが設計サイクルの長期化を招いています。フロントエンドのデジタル設計プロセスでバックエンド情報を使用することにより、自動パイプライン挿入でタイミング収束を加速して質を向上させることが可能になります。より複雑な設計では、パイプラインと無数のパイプラインレジスタを必要とする数えきれないほどのロングパスが存在する可能性があります。タイミング収束と物理的要因を考慮したアーキテクチャに関する問題は、16/14nmプロセスや10nmプロセスではますます深刻になるため、これらのノードではそうした問題を念頭に置いて設計する必要があります。
Arterisでは、アーキテクチャとRTLでの検証済みインターコネクト情報をレイアウトチームに提供して顧客をサポートしてきました。今では物理的に検証された情報も提供できるため、配置配線が1回で成功する可能性も高まっています。この情報があれば設計者は次のようなことができます。
設計が複雑になり、製品化期間がますます重要な意味を持つようになるにつれ、エンジニアはそうした課題を克服するいくつかの巧みな方法を思い付くようになりました。アーキテクチャ上のインターコネクト情報をレイアウトチームに提供すれば、複雑さが増すにつれ厳しくなってきたタイミング収束の問題をいくつか回避できます。エンジニアリングチームがこれらの課題を克服するもう1つの方法がコラボレーションです。ここでは私が見てきたエキサイティングな取り組みを紹介しましたので、設計チームがこれらの課題を克服するための他の方法について皆さんからのご意見を伺えれば幸いです。
ユニットレベルのクロックゲーティングで消費電力が下がる! モジュール方式のSoCインターコネクト
悪いけど、IPはEDAじゃないよ
SoC設計で極めて重要なIP品質をどう評価するか
理想的なインターコネクト規格を探るCopyright © ITmedia, Inc. All Rights Reserved.