(57)【要約】集積回路（ＩＣ）を設計する方法と対応する集積回路設計ツールとが提示される。複数の相互接続線（１３１−１３９）により相互接続される複数の構築ブロック（１２１−１２９）を有するＩＣ設計が実際のＩＣレイアウト内での構築ブロック（１２１−１２９）と相互接続線（１３１−１３９）との位置をシミュレートする２次元表現（２００）で表示される。この２次元表現によりＩＣ設計者が相互接続線（１３１−１３９）の長さを評価でき、それにより、ＩＣ設計者はＩＣ設計後工程、例えば、ＩＣ領域最適化が導入される前にＩＣ設計を変更することができ、従って、より効果的なＩＣ設計方法となる。
2005527045.tif 000002
【特許請求の範囲】
【請求項１】
集積回路を設計する方法であって、
集積回路設計に所望アルゴリズム機能を割り当てるための複数の構築ブロックを選択する第一の工程と、
前記複数の構築ブロックの内の第一及び第二の構築ブロック間で伝達が行えるように前記第一及び第二の構築ブロック間を接続する第二の工程と、
前記第一、第二の工程を実行した結果の集積回路設計を表示する工程とを備え、
前記第一及び第二の構築ブロック間相互接続の長さに関する相互接続情報を提供する工程をさらに備えたことを特徴とする方法。
【請求項２】
前記相互接続情報提供工程は前記接続の推定長さを列挙したテーブルの形態で前記相互接続情報を提供することを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記相互接続情報提供工程は前記相互接続の相対的長さの表示を含む２次元表現の形態で前記集積回路設計を表示することにより前記情報を提供することを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記２次元表現内の第一の位置から前記２次元表現内の第二の位置へ前記構築ブロックを再配置する設計者の制御による工程を含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記設計者制御再配置工程はドラッグ・アンド・ドロップ・アルゴリズムにより可能となることを特徴とする請求項４に記載の方法。
【請求項６】
前記前記２次元表現内において前記第一の位置の前記構築ブロックが前記第二の位置の構築ブロックと入れ替えられることを特徴とする請求項４又は５に記載の方法。
【請求項７】
前記構築ブロックと前記さらなる構築ブロックとの間の相互接続を設計者の制御により選択することにより次の設計サイクルに設計の制限を加える工程を備えることを特徴とする請求項１又は４に記載の方法。
【請求項８】
集積回路設計ツールであって、
集積回路設計に所望アルゴリズム機能を割り当てるための複数の構築ブロックを選択する第一の手段と、
前記複数の構築ブロックの内の第一及び第二の構築ブロック間で伝達が行えるように前記第一及び第二の構築ブロック間を接続する第二の手段と、
前記第一、第二の手段からの結果の集積回路設計を表示する手段とを備え、
前記第一及び第二の構築ブロック間相互接続の長さに関する相互接続情報を提供する手段をさらに備えたことを特徴とする設計ツール。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、集積回路を設計する方法で、集積回路設計に所望の機能を割り当てるための複数の構築ブロックを選択する第一の工程と、複数の構築ブロックの内の第一及び第二の構築ブロック間で伝達が行えるように第一及び第二の構築ブロック間を接続する第二の工程と、第一、第二の工程を実行した結果の集積回路設計を表示する工程とを備えた方法に関する。
【背景技術】
【０００２】
半導体サイズはさらに小さくなり、そして集積回路（ＩＣ）の利用可能な領域に集積される構築ブロック数は依然増えている。これがそのようなＩＣのために必要な設計努力を益々強いており、これは、ＩＣにさらに機能が加えられなければならないということのみならず、さらに重要なこととして、集積構築ブロック数の増加は、通常、相互接続密度の増加にも関わっているからである。後者はＩＣ設計において性能劣化を招く恐れがあり、何故ならば、ＩＣ設計において構築ブロック間の相互接続が相対的に長くなると、信号伝搬と電力消費の両方に弊害をもたらす可能性があるからである。これは益々問題となっており、何故ならば、構築ブロック密度が増加すると相対的に短い相互接続を介して各構築ブロックを他の構築ブロックに接続することがさらに難しくなるからである。将来のＩＣ技術、例えば、奥の深いサブミクロン技術において、接続線における遅延が性能において大きな要因となるという事実によりこの設計の複雑さの影響は増大される。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
冒頭の設計方法は前段階設計処理、例えば、ＩＣの所望機能的動作が設計される処理として適切なものである。そのような前段階設計処理においてはＣ＋＋のような設計言語によるアルゴリズム仕様によりＩＣの機能が確定される。続いて、この仕様が統合ツールに入力され、これが、アルゴリズムを導入するのに必要な構築ブロックと構築ブロック間相互接続線を選択することにより所望の機能をハードウエアテンプレート上に割り当てる。そのような統合ツールの例は、Ａｄｅｌａｎｔｅ  ｔｅｃｈｎｏｌｏｇｉｅｓのウエッブページｈｔｔｐ：//ｗｗｗ．ａｄｅｌａｎｔｅｔｅｃｈ．ｃｏｍに掲載されている電子設計自動化（ＥＤＡ）ツールＡ/ＲＴデザイナがあり、これは、特に、非常に長い命令語（ＶＬＩＷ）アーキテクチャのデータパスの設計に有用である。このツールがそのようなテンプレートを形成すると、アーキテクチュラル・ビュー内にテンプレートを概略的に示すことにより設計者にフィードバックし、構築ブロックが単一の列内に置かれ、相互接続線が構築ブロック列の周りに配置される。構造的なビュー内には実際の長さの相互接続線が描かれる訳ではないが、このフィードバックにより設計者が自分の手で構築ブロックを確定し、そして、リソースに対してオペレーションを割り当てることができるので、このフィードバックはそのような統合ツールにおいて有効な特徴である。
【０００４】
前段階設計処理が終了すると、ＩＣレイアウトを含む後段階設計処理に入る。これは、例えば、フロアプランニング・アルゴリズムを用いて、シリコン領域を最小化し、そして、現在の相互接続線の長さを短くして最高のＩＣのデータ伝送能力を引き出すことを含む。ところが後者のタスクは些細なこととはとても言えるものではなく、ＩＣ上に集積される構築ブロック数の増加と共に困難になってきている。実際、予見できる未来において、そのような時間のかかる後段階最適化タスクは膨大な大規模集積（ＶＬＳＩ）ＩＣ設計では最良な形で行うことはできそうもなく、これは単に最適化の問題が複雑になっているからである。そのような場合、ＩＣは前段階設計処理で再設計されねばならず、これにより、ＩＣが市場に出るのに益々時間がかかることになる。
【０００５】
とりわけ、この発明の目的は冒頭に記載した種類のＩＣ設計方法であって、設計後段階において解決しようのない最適化の問題が起きる可能性を減少させる方法を提供することである。
【課題を解決するための手段】
【０００６】
ここで、この発明の目的は、上記方法が前記第一及び第二の構築ブロック間相互接続の長さに関する情報を提供する工程をさらに備えることにより達成される。そのような情報が利用可能なため、前述の設計のアーキテクチュラル・ビュー内にＩＣ設計における重要な設計の特性がＩＣ設計者に提供される。構築ブロック間間相互接続が長い場合は、設計者は、後工程処理においては好ましく最適なＩＣ設計は提供されないと判断し、例えば、シンセシス・ツールのアーキテクチュラル・ビュー内において提供された相互接続長さに関する情報に基づき他の設計を選択することができる。これは特にＶＬＩＷ  ＩＣ設計に分野において有用であり、何故ならば、命令レベルにおける並列化のレベル、例えば、設計において集積される構築ブロック数とＩＣ設計内の高度な並列化に本質的に結びつく、長いブロック間相互接続が存在するというような複雑さとの間でトレードオフが屡々行われるからである。例えば、選択したアルゴリズムの導入とこれに関連する並列化のレベルとにおいて、許容範囲を超えた長い相互接続線が避けられないことが設計者にとって明らかな場合、設計者は、設計から長い相互接続を除くために、例えば、構築ブロックを結合又は除去、又は、異なるアルゴリズムを導入することにより並列化のレベル落とすことができる。
【０００７】
この発明のある実施形態では、前記相互接続情報提供工程は前記接続の推定長さを列挙したテーブルの形態で前記情報を提供することを含む。そのようなテーブルにおいては、設計内に許容範囲を超えた長い相互接続線があるか否かを即座に判定することができ、そして、テーブル内に提供された情報の基に設計を変更することができる。
【０００８】
この発明の別の実施形態では、前記相互接続情報提供工程は前記相互接続の相対的長さの表示を含む２次元表現の形態で前記集積回路設計を表示することにより前記情報を提供することを含む。そのような表示では、好ましくは、シンセシス・ツールのアーキテクチュラル・ビューにおいて、例えば、後段階最適化が行われる前に、準備段階レイアウトが設計者に対して直接表示され、これが、後段階最適化が失敗する可能性に関する有益な情報を提供する。
【０００９】
この方法は、前記２次元表現内の第一の位置から前記２次元表現内の第二の位置へ前記構築ブロックを再配置する設計者の制御による工程を含むと効果的である。そのような機能により、設計者は不要に長い接続の構築ブロックを他の構築ブロックと入れ替えることができ、これが設計ツールにより導入された設計方法に再設計の柔軟性を与える。例えば、ある構築ブロックを他の構築ブロックの上に配置でき、これが設計方法、例えば、シンセシス・ツールによりＩＣ設計内の次のサイクルでの設計上の制限と解釈される。
【００１０】
前記設計者制御再配置工程はドラッグ・アンド・ドロップ・アルゴリズムにより提供されるとさらに効果的である。そのようなアルゴリズムはそれ自体公知であるが、単に、設計者が構築ブロックをある位置から他の位置へドラッグ・アンド・ドロップすることによりＩＣ設計を変更することができ、ＩＣの再設計が非常に簡単になる。
【００１１】
前記前記２次元表現内において前記第一の位置の前記構築ブロックが前記第二の位置の構築ブロックと入れ替えられるとさらに効果的である。二つの構築ブロックを交換することによりＩＣ設計内のすべての相互接続が残り、そしてＩＣレイアウトの設計者制御による最適化が可能となる。設計者はＩＣ設計内において長すぎる相互接続を除外又は削減する試みとして構築ブロックの順序変えを行うことができる。
【００１２】
この方法は、前記構築ブロックと前記さらなる構築ブロックとの間の相互接続を設計者の制御により選択することにより次の設計サイクルに設計の制限を加える工程を備えるとさらに効果的である。設計者の手により、テキスト入力により、又は、テーブル又はＩＣ設計の２次元表現から相互接続を選択することによる不要な相互接続を選択することにより、シンセシス再設計工程におけるそのような相互接続を、完全に禁止又はある最大長までに制限することにより除外することができる。
【００１３】
この発明のさらなる目的は請求項８に記載された集積回路設計ツールにより達成される。設計ツールにおけるこの発明の設計方法の集積化によりＩＣ設計者は設計処理の後工程における最適化の問題を避けることができ、そのような設計ツールを用いることにより、設計者は可能な限り迅速に望ましいＩＣ設計を入手することができる。これは非常に効果的であり、何故ならば、半導体市場においてＩＣが市場に出る時間が益々重要なファクタになってきているからである。
【００１４】
この発明はさらに詳細にそして添付図面を参照して限定の無い例を用いて説明される。
【発明を実施するための最良の形態】
【００１５】
図１は設計ツールであるＡ/ＲＴデザイナにおけるＩＣ設計のアーキテクチュラル・ビュー１００を概略的に示す。構築ブロック１２１乃至１２９が各々の出力を介して相互接続線１３１乃至１３９に接続されている。相互接続線１３１乃至１３９が構築ブロック１２１乃至１２９の周りに配置され、そして、分配レジスタファイル１４０のレジスタを介して構築ブロック１２１乃至１２９のある構築ブロックの入力に、又は、入力/出力接続を示す略語Ｉ/Ｏにより示される外部接続に戻されている。明らかなように、アーキテクチュラル・ビュー１００は、相互接続線１３１乃至１３９を介して構築ブロック１２１乃至１２９が相互接続されているという有効な情報を提供しているが、しかし、相互接続線１３１乃至１３９の長さについての情報は全く提供していない。ここで、この発明によれば、これが、ＩＣレイアウトレベル上の相互接続線１３１乃至１３９の推定長さを、例えば、ポップアップ又はプルダウン・ウインドウ、テーブル、その他の表現形態で、テキスト表示することによりアーキテクチュラル・ビュー１００を拡張することにより改善される。これにより設計者がアーキテクチュラル・ビュー１００内の潜在的機能障害を認識し、それに応じて、例えば、構築ブロック１２１乃至１２９により導入されるアルゴリズムを変え、そして、相互接続線１３１乃至１３９により達成されるようにそれらの相互接続構造を変えることにより設計者が設計を変えることができる。
【００１６】
図１を参照して図２が示されている。格別述べない限りは対応する参照番号は同じ意味を有する。図２にはこの発明の好ましい実施形態が示されている。図１に示されたＩＣ設計が、今、この発明のアーキテクチュラル・ビュー２００に示されている。アーキテクチュラル・ビュー２００において、構築ブロック１２１乃至１２９とそれらの相互接続線１３１乃至１３９とが、実際のＩＣレイアウト内での構築ブロック１２１乃至１２９と相互接続線１３１乃至１３９との位置をシミュレートする２次元表現で表示されている。アーキテクチュラル・ビュー２００の２次元表現が実際のレイアウトに近似している限り、この表現は正確にＩＣの２次元レイアウトに対応し、ビュー２００が、相互接続線１３１乃至１３９の長さに関する有用な情報を設計者に提供する。
【００１７】
従って、設計者には、アーキテクチュラル・ビュー２００により提供された情報の基にＩＣ設計を変えるという選択の自由がある。設計者が、例えば、構築ブロック１２１乃至１２９のある構築ブロックを移動し、そして、それをその第一の位置から第二の位置へ移動し、例えば、それを構築ブロック１２１乃至１２９の別の構築ブロックの上へ置く等ができる機能を持つようにアーキテクチュラル・ビュー２００を拡張することができる。好ましくは、この機能はドラッグ・アンド・ドロップ・アルゴリズムにより導入され、尚、入力によっても再設定可能である。後者は特に２次元表現が座標系を有して拡張された場合に実行可能である。これら二つの構築ブロックの位置は即座に入れ替え可能であり、しかし、これは必要な要件ではない。
【００１８】
このようにして、設計者はジグソーパズルのようにしてＩＣ設計を楽しむことができ、相互接続線１３１乃至１３９のある相互接続線の長さを短くするためにブロックを入れ替えることができる。もしこの長さを短くする試みが失敗したら、設計者は、ブロックを結合するパイプライン・ステージを導入するか、ＩＣ機能を特定するアルゴリズムを書き換えるか、又は、ＩＣ設計のシンセシス（ｓｙｎｔｈｅｓｉｓ）に制限を加える、例えば、二つの構築ブロック間の接続線の最大長を決める、又は、それらの構築ブロック間では接続線を一切禁止することでＩＣを再設計することができる。この制限は、テキスト入力、又は、アーキテクチュラル・ビュー２００内の相互接続線１３１乃至１３９を選択可能、例えば、クリック可能なオブジェクトとして表すことによりアーキテクチュラル・ビュー内の相互接続をグラフィック的に選択することにより加えられる。
【００１９】
この発明の出願は主にＶＬＩＭプロセサ・データパス設計の分野において有利であることが強調され、何故ならば、この分野においては、例えば、命令レベルの並列処理量等、データパス幅を変え、そしてデータパス内の構築ブロックを変えることによるＩＣの所望アルゴリズム機能を実現させるに際し、設計者が大きな自由度を必要とするからである。この発明は、設計者がＩＣ設計後段階においてレイアウトに関して問題を引き起こさないと思われるデータパスを実現するのを補助するもので、設計後段階において上述のレイアウトに関する問題が起きる可能性を軽減するものである。
【００２０】
上述の実施形態はこの発明を限定するものではなく、当業者で有れば添付請求の範囲から外れることなく多くの別の実施形態を考えられることに注意されたい。文言「備える」は請求の範囲に列挙された以外の他の要素や工程を除外するものではない。この発明は様々の個々の要素を備えるハードウエア並びに適切にプログラムされたコンピュータを用いて実施することができる。様々な手段を列挙する装置請求項では、これら手段の内のいくつかは一つであり同じハードウエアのアイテムとして実現することができる。互いに異なる従属請求項においてある手段が規定されていても、それはそれら手段が組み合わされて効果的に用いられることはないことを意味するものではない。
【図面の簡単な説明】
【００２１】
【図１】従来の設計方法のアーキテクチュラル・ビューを示す図である。
【図２】この発明の設計方法のアーキテクチュラル・ビューを示す図である。
【図１】
2005527045.tif 000003
【図２】
2005527045.tif 000004
【国際調査報告】
2005527045.tif 000005
2005527045.tif 000006
2005527045.tif 000007