メディア
特集
» 2008年07月01日 00時00分 公開

ICプロトタイピング導入のススメ (2/4)

[Neeraj Kaul, Steve Kister(米Synopsys社),EDN]

ネットリストと制約の処理

 先述したように、ICプロトタイピングでは、設計初期の段階のデータを使用することになる。そのため、ライブラリデータがそろっていなかったり、ネットリストが実際には存在しないセルの端子を参照していたり、タイミング制約において存在しない開始点/終了点/クロックなどを参照していたりするといった具合に、設計データには誤りがある可能性が高い。言うまでもなく、実際の物理実装においては、こうしたデータの誤りを解決する必要がある。それに対し、プロトタイピングでは、こうした誤りが検出されても、作業を続けることになる。まだ存在しないコンポーネントはブラックボックスとして扱い、余分なセル端子は無視し、タイミング制約の適用は省くのである。誤りに関するリポートは、その種類と数を評価するために重要な役割を果たす。プロトタイピングツールにより、そうした誤りを一時的に修正することも可能である。

 実際のゲートレベルのネットリストに対応していないRTL(register transfer level)データを用いることから、ICプロトタイピングではいくつかの問題が発生する。最終的なネットリストを用いた場合のサイズが正確に反映されていないことや、ゲートが存在しないため混雑度の予測が困難であるといったことが起きる。また、タイミングクロージャを達成しているように見えても、実際のゲートを適用するとタイミングが異なってしまうことがある。

 ICプロトタイピングにおいては、可能な限り品質の高い入力データ(ネットリスト)を使用することが重要である。ターゲットとするセルライブラリを使用して生成したネットリストならば、より正確な配置と配線が可能なので理想的である。配線負荷を見積もるために、統計的な配線負荷(wire load)モデルやカスタムメイドの配線負荷モデルを必要とする合成ツールもあるが、それぞれの設計に対し、負荷をより正確に予測するためにセルライブラリから情報を読み取ることのできるツールも存在する。この方法ならば個々の実装の実現可能性を正確に評価することができる。

配置

 ICプロトタイピングにおける配置の目的は、I/O端子、ハード/ソフトブロックなどの主要な要素の最適な配置を決定し、その配置プランに基づいた回路性能の見積もりを迅速に行うことである。今日の回路には数多くのハードマクロが含まれているが、それらのサイズはさまざまで、そのすべてが配線上の混雑を招く障害物となる。このような制約から、ICプロトタイピングにおける配置のアルゴリズムは、配線の混雑度、タイミング、電圧ドメインなどを考慮し、かつハードマクロとスタンダードセルを同時に自動的に扱える必要がある。まず、設計者は手作業でクリティカルなマクロを配置し、位置を修正して、いくつかの配置方法に対する配線の混雑度やタイミングを評価する。うまく配置されたハードマクロもあれば、調整が必要なものも出てくる。設計者が最初から配置し直さなくてもよいように、残りのマクロを段階的かつ最適に配置することが配置ツールには求められる。

図2 Haloを利用した場合のプロトタイピング結果 図2 Haloを利用した場合のプロトタイピング結果 エッジの近くに混雑があるマクロにはHaloを追加することができる。2つの大きなマクロ(左上と右上)は、さらに試行を繰り返す前に位置を固定してしまってもよい。

 ICプロトタイピングの初期段階では、ハードマクロ間でのチャンネルの混雑がしばしば起こる。その原因は、マクロ同士が近過ぎたり、チャンネルにスタンダードセルが存在したりすることによる。こうした問題は、Haloに対応したICプロトタイプ配置ツールを利用することで回避できる。ここで言うHaloとは、配線エッジからのルール違反領域を表すもので、ブロックの周囲を囲む配線接続のための場所を予約するのに用いられる。配置ツールがHaloに対応していない場合は、設計者が手作業でハードマクロを移動させ、チャンネル内に配置が不可であることを示すものを追加しなければならない。適切なチャンネル長を得るまでには何度か繰り返し作業が必要になる。図2は、Haloを利用して実行したICプロトタイピングの例である。

 設計フローの初期段階に作成したネットリストには、ファンアウトの大きいネットが数多く存在することがある。図3に、ファンアウトの大きいネットの例とファンアウトの小さいネットの例を示した。ファンアウトの大きいネットの中には、クロック信号線のようにタイミングがクリティカルなものもあれば、非同期リセット信号線のようにそうでないものもある。物理レイアウトでは通常、詳細実装においてこれらのネットを最適化する。ICプロトタイピングの配置アルゴリズムにおいては、こうしたネットは無視できるようにすべきである。無視できなければ、ネットのデータの不備が原因で、スタンダードセルによるロジック回路の部分の混雑度が無意味に高くなってしまう可能性がある。さらに、設計フローの初期段階に作成したネットリストの場合、タイミング駆動の配置アルゴリズムにおいても問題が生じる。ネットリストにはタイミング違反パスが多く含まれることがよくあるが、そうしたタイミング違反パスの修正は困難な場合がある。多くのタイミング駆動の配置アルゴリズムでは、修正が困難なパスにも修正が容易なパスにも等しく重み付けするため、それらのパスの区別が難しくなる。

図3 ファンアウトの異なるネットの例 図3 ファンアウトの異なるネットの例 2つのパスにおいて、タイミング違反による遅延値は等しい。ファンアウトが大きいと遅延がかなり大きくなる(a)。これは、バッファリングによってネット数を減らすことで容易に修正できる。ファンアウトが小さいと、遅延は大きくならない(b)。

 これらの問題に対処するための1つの方法としては、最初に混雑を軽減するための配置を行い、次にIPO(in place optimization:配置の最適化)を実施し、最後にタイミング駆動の配置を実行することが挙げられる。ただ、この方法は時間がかかり、結果としてコストもかかることになる。より洗練された方法としては、ネットリストに対して仮想最適化が行える配置エンジンを利用し、修正が困難なタイミング違反パスを残してすべて除去するというものがある。これにより、修正が困難なパスを最適化することで実現可能な配置構造が得られることになる。

 今日の設計の多くには、コア領域に複数の電圧ドメインが存在している。ある電圧ドメインに接続するロジックを使用するには、コア領域内にそのための電圧領域を作成しなければならない。しかし、その電圧領域をどこに配置し、どのくらいのサイズにするのが最適なのかを判断する必要がある。ICプロトタイピングの配置アルゴリズムでは、電圧ドメインを認識して1つのドメインに接続するロジックを組み立てるので、設計者は、その結果からチップ内の電圧領域のサイズや配置位置を迅速に決定することができる。

 配置アルゴリズムが電圧ドメインを認識しない場合、設計者は配置の前に電圧領域を定義し、各電圧ドメイン用のロジックをその領域に割り当てなければならない。この方法では、電圧ドメインを必ず定義済みの領域に配置する必要がある。従って、領域のサイズを調整するために、設計者は配置を何度か繰り返さなければならない。

 電圧ドメインが複数存在する場合は、電圧ドメイン間を接続するレベルシフターもネット上に配置する必要がある。設計者は、タイミングを最適化するために、電圧領域のエッジに非常に低速なレベルシフターを配置する(図4)。配置アルゴリズムは、レベルシフターを認識し、適切に配置できなくてはならない。ここでも、あまり理想的ではない代替策がある。それは、インターフェースとなるネットを解析し、電圧領域のエッジに沿って配置用の領域を作成するというものだ。この場合、適切な領域にさまざまなレベルシフターを配置するという作業が必要になる。

図4 レベルシフターの配置 図4 レベルシフターの配置 電圧領域2におけるレベルシフターの出力は、電圧領域2を横切る長い配線を駆動する必要がある(a)。バッファを利用するにしても、それが役立つのはそれらを電圧領域1に配置した場合のみである。レベルシフターをエッジ近くに配置すると、バッファをレベルシフター出力の近くに追加することができ、レベルシフターへの電源接続が簡単になる(b)。

 通常、規模の大きな設計には、RTLのコーディングと合成が完了しているブロックと、それらが完了していないブロックの両方が存在する。合成が終わってないブロックは、そのインターフェース以外の情報は何も明確になっていないので、ブラックボックスとなる。ICプロトタイピングでは、さまざまな形状のブラックボックスの配置に対応し、合成後に「子」セルを配置するための十分な領域を確保する。

 配置ツールでは、ブラックボックスの形状を決めて配置しながら、使用可能なセルを仮想的にフラットに配置することができる。この方法により、ブロック設計者は、ブラックボックスの中身の開発と並行して作業を進めることが可能になる。別の方法としては、合成されていないブロックに対してダミーのハードマクロを作成する方法がある。設計者は、マクロのサイズや形状、端子の階層や位置を設定することになる。この場合に生じるトレードオフは、定義済みのブラックボックスに合わせて残りのセルの配置を行わなければならないということである。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.