(57)【要約】【課題】ＬＳＩ設計の論理合成において、不要な負荷分散を防止し、レイアウト時に最適なセル配置、配線領域を考慮した負荷分散を行うことができる論理合成装置を提供する。【解決手段】ＲＴＬを解析し（ｓ２）、ハイファンアウトネットを抽出し（ｓ３）、そのネットに対し、レイアウト時に行うクロックツリーのためのバッファをＲＴＬ中へ挿入する（ｓ４）ことにより、論理合成時にレイアウトでの改善の余地が残り、レイアウトツールでセル配置、配線領域を考慮した最適なレイアウトを行うことができる。また、ライブラリを解析し（ｓ６）、ドライブ能力の大きなセルは論理合成時には使用しない（ｓ７）ので、タイミングの厳しい箇所には、レイアウト時に高ドライブセルを再マッピングすることにより、タイミングを収束させた最適なレイアウトを行うことができる。【選択図】図１
2006179021.tif 000002
【特許請求の範囲】
【請求項１】
論理設計の記述を解析する解析手段と、
該解析に基づいてファンアウト数が所定の値以上となる箇所を抽出する抽出手段と、
該抽出された箇所にレイアウト時に調整するためのクロックツリー用バッファを挿入する挿入手段と、
を備えたことを特徴とするＬＳＩ論理合成を行う論理合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ、大規模集積回路）設計の論理合成およびレイアウトに関する論理合成装置に関する。
【背景技術】
【０００２】
従来のＬＳＩ設計手法は、論理合成の段階で、ファンアウト数の多い箇所に対しては、負荷分散のためバッファリングし、レイアウト工程へ進んでいた。
【０００３】
また、論理合成の段階で、負荷が大きく処理タイミングの高速化が望まれる箇所に対しては、高ドライブセルをマッピングし、レイアウト工程へ進んでいた。
【０００４】
類似技術としては、日本電気株式会社から公開されている特開２０００−２３１５８３号公報に記載されたものがある。これは、従来フロアプランを考慮した論理合成を行う際に、遅延調整のため論理セルを高ドライブセルに置き変えるという手法ではなく、仮フロアプランの情報からファンアウト数を考慮して調整用バッファを自動挿入することにより、遅延改善を行うというものである（例えば、特許文献１参照）。
【特許文献１】特開２０００−２３１５８３公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の手法を用いても、レイアウト時の配置配線後に確実にタイミング収束している保証はない。また、論理合成時にファンアウト調整用のバッファを挿入するため、レイアウト時に配線効率が悪くなる可能性がある。
【０００６】
そこで本発明は、論理合成時に負荷分散のためのバッファを挿入するのではなく、レジスタトランスファーレベルのハードウェア記述言語：ＲＴＬを解析し、ハイファンアウトネットを抽出し、そのネットに対し、レイアウト時に行うクロックツリーのためのバッファをＲＴＬへ挿入する。
【０００７】
また、論理合成に使用するライブラリを解析し、レイアウト後にタイミングバイオレーションが残ることを想定し、その際にタイミング調整ができる余地を残すためにドライブ能力の大きなセルは論理合成時には使用せず、レイアウトでの改善の余地を論理合成時に残す。
【０００８】
これにより、レイアウトツールでセル配置、配線領域を考慮した最適な負荷分散を行い、論理合成時の不要な負荷分散を防ぎ、配線が混雑してレイアウトできないという問題を解決する。
【０００９】
また、タイミングの厳しい箇所には、論理合成時には高ドライブセルを使用していないので、レイアウト後に使用でき、高ドライブセルを再マッピングすることにより、レイアウト上で配線が回り込み、タイミングを収束することができなくなってしまうという問題を解決する。
【課題を解決するための手段】
【００１０】
請求項１記載の発明は、上記課題を解決するため、論理設計の記述を解析する解析手段と、該解析に基づいてファンアウト数が所定の値以上となる箇所を抽出する抽出手段と、該抽出された箇所にレイアウト時に調整するためのクロックツリー用バッファを挿入する挿入手段と、を備えたことを特徴とするものである。
【発明の効果】
【００１１】
本発明によれば、ＲＴＬを解析し、ハイファンアウトネットを抽出し、そのネットに対し、レイアウト時に行うクロックツリーのためのバッファをＲＴＬ中へ挿入するので、論理合成時にレイアウトでの改善の余地を残すことができ、不要な負荷分散を防止し、レイアウト時に最適なセル配置、配線領域を考慮した負荷分散を行うことができる。
【００１２】
また、ライブラリを解析し、ドライブ能力の大きなセルは論理合成時には使用しないので、タイミングの厳しい箇所には、レイアウト時に高ドライブセルを再マッピングすることができ、タイミングを収束させた最適なレイアウトを行うことができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について添付図面を参照しつつ説明する。
【００１４】
本発明の処理フローを図１に示す。まず、設計者が作成したＲＴＬをこの装置に読み込む（ｓ１）。次に、読み込んだ情報をもとに、このＲＴＬをVerilogのＰＬＩ(プログラマブル・ランゲージ・インターフェース)を用いて、ＲＴＬを解析（ｓ２）し、ファンアウト数が多くなる記述箇所を検索する（ｓ３）。ファンアウト数が多くなる記述例を、図２に示す。
【００１５】
図２において、１５行目からのcase文における論理では、sel[0], sel[1]信号はそれぞれ６４×３個のマルチプレクサのセレクト信号となる（図３）。通常このまま論理合成を行うと、sel[0], sel[1]信号は、それぞれ６４×３個のセルをドライブしなければならないため、フロアプラン等で見積もった負荷容量をもとに負荷分散され、バッファのツリーが形成される（図４）。
【００１６】
ただし、このバッファリングは、レイアウトの配置によっては不必要な可能性がある。この負荷容量を正確に見積もるためには、実際にレイアウトを行なわないと判断できず、いかに事前にフロアプラン等を行い、負荷容量を見積もっていても、ＲＴＬ修正等により再合成し、再レイアウトする度に、配置は変わってしまう可能性がある。
【００１７】
さらに、この不要なバッファリングにより、配線が増え、配線混雑度の問題が起こることがある。この配線混雑度の問題は、チップサイズ増大や、配線の回り込みによる遅延の増加を招く。
【００１８】
この問題を解決するため、本発明では、論理合成の段階では負荷分散させず、レイアウトで調整を行うように合成を行う。具体的には、図５に示すようにsel信号の出力にクロックツリーを行うためのバッファを挿入する（ｓ４）。これにより、論理合成時に不要な負荷分散を行うことなくレイアウト工程へ進めることが可能になり、レイアウト時に実際に配置状況を考慮してファンアウト調整することが可能になる。また、クロックツリーにより、レイアウト時に優先的に最適なバッファ挿入が行なわれ、従来手法で起こっていた、不要に負荷分散したバッファチェーンが配線を混雑させるという問題も解決する。
【００１９】
次に、使用するテクノロジに対応した論理合成用のライブラリを読み込む（ｓ５）。この際に、ライブラリを解析し（ｓ６）、論理セルでドライブ能力の大きいセルは論理合成時に使用しないようにする（ｓ７）。理由として、レイアウト後、遅延の問題が起こった際に、さらに大きなドライブ能力のセルをマッピングしなければならないことがある。ここで、もし論理合成時に最大のドライブ能力を持つセルを使用していると、それ以上改善することはできず対応が非常に困難となり、最悪の場合、再レイアウトということも考えられ、TATの大きな増加を招く。論理合成時にドライブ能力の大きいセルを使用しなければ、この問題を防ぐことができる。
【００２０】
論理合成前に上記対応を行い、論理合成を行い（ｓ８）、ネットリストを出力する（ｓ９）。
【００２１】
なお、上記実施の形態では、VerilogをＨＤＬ言語として例に挙げたが、その他の言語でも同様な解析は可能である。
【図面の簡単な説明】
【００２２】
【図１】本発明に係る論理合成処理の一実施例を示すフローチャートである。
【図２】一実施例のファンアウト数が多くなるＲＴＬ記述を示す図である。
【図３】一実施例の回路図である。
【図４】一実施例の負荷分散された回路図である。
【図５】一実施例のクロックツリー化した回路図である。
【図１】
2006179021.tif 000003
【図２】
2006179021.tif 000004
【図３】
2006179021.tif 000005
【図４】
2006179021.tif 000006
【図５】
2006179021.tif 000007