(57)【特許請求の範囲】
【請求項１】
ファンアウト数が異なる複数のバッファトリーの特性記述及び論理素子の特性記述を含むライブラリを作成する工程と、
解析手段により論理設計の記述を解析し、解析結果に基づき、特定手段によりファンアウト数が所定の値以上となる箇所を特定する工程と、
テクノロジマッピング手段により、前記ライブラリに含まれる前記複数のバッファトリーの前記特性記述から、前記ファンアウト数が所定の値以上となる箇所のファンアウト数に応じたバッファトリーの前記特性記述を参照する工程と、
評価手段により、抽出された前記特性記述に基づいて前記論理設計の記述内容の評価を行う工程と、
論理合成装置により、前記ライブラリを適用して、前記論理設計の記述に基づいて、論理合成をする工程を含むことを特徴とする論理合成方法。
【請求項２】
前記バッファトリーの特性記述は前記バッファトリーの遅延を含むことを特徴とする請求項１に記載の論理合成方法。
【請求項３】
前記バッファトリーの特性記述は前記バッファトリーが占める面積を含むことを特徴とする請求項１に記載の論理合成方法。
【請求項４】
前記バッファトリーの特性記述は前記バッファトリーの消費電力を含むことを特徴とする請求項１に記載の論理合成方法。
【請求項５】
前記論理設計の記述で表されたＬＳＩ回路のタイミング解析を行う工程をさらに含むことを特徴とする請求項１に記載の論理合成方法。
【請求項６】
前記論理設計の記述で表されたＬＳＩ回路の消費電力を評価する工程をさらに含むことを特徴とする請求項１に記載の論理合成方法。
【請求項７】
前記論理設計の記述で表されたＬＳＩ回路が占める面積を評価する工程をさらに含むことを特徴とする請求項１に記載の論理合成方法。
【請求項８】
ファンアウト数が異なる複数のバッファトリーの特性記述及び論理素子の特性記述を含むライブラリを作成する手段と、
論理設計の記述を解析する解析手段と、
前記解析手段による解析結果に基づき、ファンアウト数が所定の値以上となる箇所を特定する特定手段と、
前記ライブラリに含まれる前記複数のバッファトリーの前記特性記述から、前記ファンアウト数が所定の値以上となる箇所のファンアウト数に応じたバッファトリーの前記特性記述を参照するテクノロジマッピング手段と、
抽出された前記特性記述に基づいて前記論理設計の記述内容の評価を行う評価手段と、
前記ライブラリを適用して、前記論理設計の記述に基づいて、論理合成をする論理合成手段を含むことを特徴とする論理合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
LSI(Large Scale Integration)設計の効率化に好適な論理合成方法及び論理合成装置に関する。特に、論理合成に使用するライブラリの向上を図ることにより、LSIの目標性能の達成を早期に行うことを特徴とする論理合成方法及び論理合成装置に関する。
【背景技術】
【０００２】
システムLSIの開発工程では、一般に、論理設計、すなわち、RTL(Registertransfer level)設計工程及び配置レイアウト設計工程という区分けがされている。
【０００３】
従来は、上記の区分けがあっても、RTL設計工程でワイヤ・ロード・モデルを用いてタイミングを見積もれば、配置レイアウト工程で大きな修正を伴うことがなく、タイミング違反の解消が行われていた。すなわち、RTL設計と配置レイアウト設計の分業は良好であった。ここで、ワイヤ・ロード・モデルとは、回路ネットに接続される負荷と論理回路の駆動能力をもとに信号遅延を見積もるタイミング・モデルをいう。
【０００４】
ところが、近年になり、半導体装置の配線の微細化に伴い、ワイヤ・ロード・モデルを用いて見積もれる論理ゲートの遅延に代わって、配線遅延が信号遅延を支配するようになってきた。そのため、RTL設計工程では見積もれない配線遅延のため、予想できないタイミング違反が発生するようになってきている。特に、RTLの記述の仕方に依存して発生する、ファンアウト数が多くなる状態、すなわち、いわゆるHighFanout接続が生成された場合、RTL設計工程では見積もれない配線遅延が大きくなり、大きなタイミング違反が発生する。その結果、大きなタイミング違反の解消のため、配置レイアウト工程で大きな修正が発生する場合もでてきた。
【０００５】
しかし、配置レイアウトの修正を行っても、タイミング違反を確実に解消することの保証はなく、RTL記述の段階からの対策が提案されている。(例えば、特許文献１)
特許文献１の論理合成方法によれば、まず、RTLの解析を行ない、ファンアウト数が多くなる記述箇所を検索する。次に、配置レイアウト工程に進んだときに、配線等でファンアウトの調整が可能なクロックツリーを、RTL中のファンアウト数が多くなる記述箇所に挿入する。
【０００６】
そうすると、論理合成後の配置レイアウト工程において、大きなレイアウトの変更をすることなく、タイミング改善の余地ができ、レイアウト時に最適な配置、配線をして、負荷分散を行うことができる。
【特許文献１】特開２００２−３１２４１１
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、LSI回路のパフォーマンス、すなわち、消費電力とタイミングの高速化との関係の見積りも、RTL設計段階で行う必要がある。しかし、特許文献１に記載した論理合成時には、最適な配置、配線をして負荷分散が行われていず、ファンアウト数が多い箇所を含む回路パスがLSI回路のパフォーマンスを決定する場合、LSI回路のパフォーマンスを考慮せずに、配置レイアウト工程に進むことになる。従って、配置レイアウト工程における、消費電力等の改善によるタイミングの悪化及び消費電力の増大等は見積もることはできなかった。
【０００８】
そこで、本発明は、RTL設計段階で、早期にLSI回路のパフォーマンスを見積もることを可能とする論理合成方法及び論理合成装置を提供することを課題とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明に係る論理合成方法は、ファンアウト数が異なる複数のバッファトリーの特性記述を含むライブラリを作成する工程、解析手段により論理設計の記述を解析し、解析結果に基づき、特定手段によりファンアウト数が所定の値以上となる箇所を特定する工程、テクノロジマッピング手段により、ライブラリに含まれる複数のバッファトリーの特性記述から、ファンアウト数が所定の値以上となる箇所のファンアウト数に応じたバッファトリーの特性記述を参照する工程、評価手段により、抽出された特性記述に基づいて論理設計の記述内容の評価を行う工程、及び、論理合成装置により、ライブラリを適用して、論理設計の記述に基づいて、論理合成をする工程を含むことを特徴とする。
【００１０】
また、本発明に係る論理合成装置は、ファンアウト数が異なる複数のバッファトリーの特性記述を含むライブラリを作成する手段、論理設計の記述を解析する解析手段、解析手段による解析結果に基づき、ファンアウト数が多い箇所を特定する特定手段、ライブラリに含まれる複数のバッファトリーの特性記述から、ファンアウト数が多い箇所のファンアウト数に応じたバッファトリーの特性記述を参照するテクノロジマッピング手段、抽出された特性記述に基づいて論理設計の記述内容の評価を行う評価手段、及び、そのライブラリを適用して、論理設計の記述に基づき論理合成をする論理合成手段を有することを特徴とする。
【発明の効果】
【００１１】
本発明に係る論理合成方法によれば、論理設計の記述を解析し、解析結果に基づきファンアウト数が所定の値以上となる箇所を特定し、ファンアウト数が所定の値以上となる箇所のファンアウト数に応じたバッファトリーの特性記述を参照し、抽出された特性記述に基づいて論理設計の記述内容の評価を行い、予め作成されているバッファトリーの特性記述を含むライブラリを適用して、論理合成を行うことができる。従って、論理設計の記述に基づき論理合成されたものは、配置レイアウト後の情報に基づく特性をもつバッファトリーを含むこととなり、ＬＳＩ回路のパフォーマンス、例えば、信号のタイミング、消費電力等を、論理合成の段階で正確に見積もることができる。
【００１２】
本発明に係る論理合成装置は、その論理合成装置が有する各手段により、論理設計の記述を解析し、解析結果に基づきファンアウト数が所定の値以上となる箇所を特定し、ファンアウト数が所定の値以上となる箇所のファンアウト数に応じたバッファトリーの特性記述を参照し、抽出された特性記述に基づいて論理設計の記述内容の評価を行い、予め作成されているバッファトリーの特性記述を含むライブラリを適用して、論理合成を行うことができる。従って、バッファトリーが実質的に配置レイアウトの後の情報を含むこととなり、ＬＳＩ回路のパフォーマンス、例えば、信号のタイミング、消費電力等を、論理合成の段階で正確に見積もることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施例１、及び、実施例２について説明する
【実施例１】
【００１４】
図１、図２、図３、図４、図５、図６、図７、図８、及び、図９を用いて、実施例１の論理合成方法について説明する。
【００１５】
図１は、実施例１の論理合成方法を説明するフローチャートを示す図である。図１において、１はRTL(resister transfer level)記述、２ａは論理合成開始、２ｂはRTL解析、及び、論理プリミティブへの置換、３はファンアウト数が所定の値以上となる箇所の特定、４はバッファトリーの構成の特定、５はライブラリ、６はテクノロジマッピング、７はタイミング解析、消費電力評価、及び、面積見積もり、８は論理合成終了をそれぞれ示す。
【００１６】
RTL記述１は回路の回路構造を記述したファイルである。従って、RTL記述は、一般的には、論理を記述するための言語、例えば、VHDL（VerilogHardware Description Language）で記述される。
【００１７】
ライブラリ５は、LSI実装を行うテクノロジセルに関する複数のデータをまとめたファイルである。
【００１８】
論理合成開始2aの工程は、論理合成の工程の開始を表す。ここで、論理合成とは、論理回路の仕様記述、いわゆる、RTL記述１に基づいて、論理回路全体を論理プリミティブに置き換え、更にLSI実装を行うテクノロジセルで構成されたネットリストを生成することをいう。なお、LSI実装を行うとは、物理的なレイアウトを行うことを意味する。
【００１９】
RTL解析、及び、論理プリミティブへの置換2bの工程はRTL記述１に基づいて、論理回路全体を論理プリミティブに置き換える工程をいう。
【００２０】
ファンアウト数が所定の値以上となる箇所の特定３の工程は、RTL解析、及び、論理プリミティブへの置換2bの工程を行って得た論理プリミティブ回路において、一つの駆動素子が複数の素子を駆動する箇所を特定し、さらに、駆動される複数の素子の数が所定の値以上となる箇所を特定する工程である。すなわち、いわゆるファンアウト数が所定の値以上となる箇所を特定する工程である。
【００２１】
バッファトリーの構成の特定４工程は、ファンアウト数が所定の値以上となる箇所において、ファンアウト数が多くなる原因となった、バッファトリーの構成を特定する工程である。
【００２２】
テクノロジマッピング６の工程は、ライブラリ５を適用して、論理プリミティブ回路からLSI実装を行うテクノロジセルへの置換、最適化を行い、実際の論理回路を合成する工程である。
【００２３】
タイミング解析、消費電力評価、及び、面積見積もり７の工程は、上記で合成した論理回路に基づいて、計算機によるシュミーションをすることにより、各論理素子間のタイミングを解析し、消費電力を評価し、各論理素子の面積を見積もる工程である。
【００２４】
論理合成終了８の工程は、論理合成の終了を表す。
【００２５】
図２は、RTL解析、及び、論理プリミティブへの置換２ｂの工程で、RTL解析を行い、回路構造を論理プリミティブへ置換して得た論理プリミティブ回路である。ここで、論理プリミティブとは物理的なレイアウトを伴わない論理素子、例えば、ＡＮＤ、ＯＲ、レジスタ等をいう。
【００２６】
そして、図２において、11、12、13、14、15、16、17、18、19、20、21、22、及び、23はレジスタ、24、25、及び、26は組み合わせ回路をそれぞれ示す。
【００２７】
そして、図２の実施例１の論理プリミティブ回路は、例えば、以下のような内容を記述したものである。レジスタ11はレジスタ14に、組み合わせ回路24を通じてデータ転送を行っている。レジスタ12はレジスタ15、16、17、18、19、20、21、及び、22に組み合わせ回路25を通じてデータ転送を行っている。レジスタ13はレジスタ23に組み合わせ回路26を通じてデータ転送を行っている。なお、組合せ回路とは、一般的には、入力と出力が決定しているおり、論理素子の組合せで構成される回路をいう。
【００２８】
そこで、RTL解析、及び、論理プリミティブへの置換２ｂの工程は、図１のRTL記述を解析し、レジスタ及び組合せ回路等を特定して、回路構造の記述を図２に示すような回路構造を表す論理プリミテティブに置換する工程をいう。その結果、図２のような論理プリミティブ回路を得ることができる。
【００２９】
図３は、ファンアウト数が所定の値以上となる箇所の特定の工程を説明する図であり、ファンアウト数が所定の値以上となる箇所の特定が終了したところを示す図である。図３において、27a、27b、27c、28、29、30、31、32、33、34、35、36、及び、37はレジスタ、27dは組み合わせ回路、38はファンアウト数が所定の値を超えるレジスタ間の接続、すなわち、HighFanout接続をそれぞれ示す。そして、レジスタ27aの出力端子はレジスタ28の入力端子と接続している。レジスタ27bの出力端子は、組み合わせ回路27ｄを通じて複数のレジスタ15、16、17、18、19、20、21、及び、22の入力端子と接続し、いわゆる、HighFanout接続状態である。レジスタ27cの出力端子はレジスタ37の入力端子と接続している。
【００３０】
そこで、ファンアウト数が所定の値以上となる箇所の特定の工程は、例えば、以下のように行われる。まず、図２のRTLより置換された論理プリミティブ回路を解析して、LSI回路に用いられているレジスタ又はそのレジスタ間の組み合わせ回路の接続関係を特定する。次に、一つのレジスタ又は組み合わせ回路の出力端子が複数のレジスタ等の入力端子に接続されている箇所を検索する。次に、その出力端子に接続する入力端子の数が所定の値、例えば、ファンアウト数が１６を超えている箇所を検索し、特定された箇所をファンアウト数が所定の値以上となる箇所（HighFanout接続状態である箇所）とする。
【００３１】
図４は、バッファトリーの構成の特定の工程を説明する図であり、バッファトリーの構成のイメージを示す図である。図４において、40、41、42、43、44、45、46、47、48、49、50、51、及び、52はレジスタ、54、55、56、57、及び、58はバッファ、59ａはバッファトリー、59ｂは組み合わせ回路をそれぞれ示す。
【００３２】
ここで、バッファトリーとは、出力先の多い出力端子からの信号遅延と波形なまりを抑制するため、バッファをトリー状に分岐させた構造をいう。なお、バッファトリー59ａは本実施例１に示す図1のライブラリーの中に特性記述として存在し、論理合成時には物理的には存在しない。従って、図４のバッファトリー59ａの構成はイメージを表したものである。
【００３３】
そして、レジスタ40の出力端子とレジスタ41の入力端子は接続されている。レジスタ42の出力端子は、複数のレジスタ43、44、45、46、47、48、49、及び、50の入力端子と、組み合わせ回路59ｂとバッファトリー59ａを介して接続し、いわゆる、HighFanout接続状態である。レジスタ51の出力端子はレジスタ52の入力端子と接続している。なお、バッファトリー59ａの構成のイメージは、組み合わせ回路59ｂに接続するバッファ54及び55、バッファ54で駆動され、かつ、レジスタ43を駆動するバッファ56、バッファ55で駆動され、かつ、レジスタ44、45、46、47を駆動するバッファ57、バッファ55で駆動され、かつ、レジスタ48、49、50を駆動するバッファ58とから構成されている。
【００３４】
そこで、バッファトリーの構成の特定の工程は、ファンアウト数が所定の値以上となる箇所の特定の工程により得られた「ファンアウト数が所定の値以上となる箇所」に対して、それに適したバッファトリー59aを割り当てることをいう。そして、バッファトリー59aの選択にあたっては、論理プリミティブ回路を解析して行う。
【００３５】
図５は、ライブラリについて説明する図である。図５において、60はライブラリ、61はLSI実装に使用する（物理的なレイアウトに使用する）テクノロジセルの機能特性記述、62は図４のバッファトリーの特性記述をそれぞれ示す。ここで、ライブラリ60は、一般的には、複数のデータをまとめて保存しているファイルである。また、レジスタは、例えば、フリップフロップ回路、セット端子付フリップフロップ回路、セット−リセット端子付フリップフロップ回路等をいう。
【００３６】
そして、本実施例１のライブラリ60は、複数種類のテクノロジセルの特性記述61を表すデータ、複数種類のレジスタの物理的なレイアウトを表すデータ、その他の論理素子の特性記述を表すデータ、その論理素子の物理レイアウトを表すデータ、バッファトリーの特性記述62を表すデータ、バッファトリーの物理レイアウトを表すデータ、及び、その他のデータから構成されている。なお、その他の論理素子とはバッファ回路、２入力Nand回路、2入力Nor回路等をいう。
【００３７】
図６は、複数種類のテクノロジセルの特性記述について説明する図である。図６において、65はテクノロジセルの特性記述表、66は特性記述表65の素子の種類を表す欄、67は特性記述表65のFanout数を表す欄、68は特性記述表65の駆動能力を表す欄、69は特性記述表65の遅延を表す欄、70は特性記述表65の電力を表す欄をそれぞれ示す。
【００３８】
テクノロジセルの特性記述表65は、複数種類のテクノロジセルの特性記述を表示する表である。そして、テクノロジセルの特性記述表65は素子の種類を表す欄66、Fanout数を表す欄67、駆動能力を表す欄68、遅延を表す欄69、電力を表す欄70、及び、その他の欄から構成されている。素子の種類を表す欄66は素子の種類を記載する欄であり、例えば、フリップフロップ、セット端子付フリップフロップ、セット−リセット端子付フリップフロップ等が記載されている。Fanout数を表す欄67は、テクノロジセルの出力端子のFanout数を記載する欄である。駆動能力を表す欄68は、テクノロジセルの出力端子の駆動能力を記載する欄である。遅延を表す欄69は、駆動能力及びFanout数に対応した、テクノロジセルの出力端子から出力される信号の遅延量を記載する欄である。電力を表す欄70は、駆動能力及びFanout数に対応した、テクノロジセルの消費電力を記載する欄である。
【００３９】
従って、テクノロジセルの特性記述表65よれば、テクノロジセルの機能特性記述は、各駆動能力及び各Fanout数に応じた、信号遅延量、電力、及び、その他から構成されている。
【００４０】
図７は、複数種類のバッファトリーの特性記述について説明する図である。図７において、71aはバッファトリーの特性記述表、71bは特性記述表71aのバッファトリーの段数を表す欄、72は特性記述表71aのバッファトリーの構成を表す欄、73は特性記述表71aのFanout数を表す欄、74は特性記述表71aの駆動能力を表す欄、75は特性記述表71aの遅延を表す欄、76は特性記述表71aの電力を表す欄、77は特性記述表71aのエリアを表す欄をそれぞれ示す。
【００４１】
バッファトリーの特性記述表71aは、複数種類のバッファトリーの特性記述を表示する表である。そして、バッファトリーの特性記述表71aはバッファトリーの段数を表す欄71b、バッファトリーの構成を表す欄72、Fanout数を表す欄73、駆動能力を表す欄74、遅延を表す欄75、電力を表す欄76、エリアを表す欄77、及び、その他の欄から構成されている。バッファトリーの段数を表す欄71bは、何段のバッファ列から構成されているかを示す欄である。バッファトリーの構成の型を示す欄72は、バッファトリーの各段のバッファの数がどのような構成になっているかにより、分類した型を記載する欄である。Fanout数を表す欄73は、信号を出力するテクノロジセルがバッファトリーを通じて駆動するテクノロジセル数を、バッファトリーのFanout数として記載する欄である。駆動能力を表す欄74はバッファトリーを構成するバッファの駆動能力を記載する欄である。遅延を表す欄75は、駆動能力及びFanout数に対応した、テクノロジセルの出力端子から出力される信号の遅延量を記載する欄である。電力を表す欄76は、駆動能力及びFanout数に対応した、バッファトリーの消費電力を記載する欄である。エリアを表す覧77はバッファトリーのパターンレイアウトが占める面積の見積もりを記載する欄である。
【００４２】
従って、バッファトリーの特性記述表71aよれば、バッファトリーの特性は信号遅延量、消費電力、エリア、及び、その他から構成されている。
【００４３】
また、バッファトリーの特性（信号遅延量、消費電力、エリア、及び、その他）は、過去の実績に基づいた物理的なレイアウトを考慮して、回路シミュレーション又はレイアウトシミュレーションにより、バッファトリーの段数、バッファトリーの構成の型、バッファトリーのFanout数、及び、バッファトリーを構成するバッファの駆動能力から、予め求められる。
【００４４】
図８は、テクノロジマッピング工程及びその工程における本実施例１のバッファトリーの扱いついて説明する図であり、テクノロジマッピングを行ってテクノロジセルで構成されたネットリストを生成したところを示した図である。図８において、80、81、82、83、84、85、86、87、88、89、90、91、及び、92はレジスタ、97はバッファトリー、98は組み合わせ回路をそれぞれ示す。
【００４５】
そして、レジスタ80の出力端子はレジスタ83の入力端子と接続している。バッファトリー97は、組み合わせ回路98からの信号をレジスタ84、85、86、87、88、89、90、及び91へ伝達する。レジスタ82の出力端子はレジスタ92の入力端子と接続している。
【００４６】
また、レジスタ80は受けた信号をゲート遅延ａで出力する。レジスタ83は受けた信号をゲート遅延ｂで出力する。レジスタ82は、ゲート遅延ｃを伴って、受けた信号を出力する。レジスタ92は、ゲート遅延ｄを伴って、受けた信号を出力する。レジスタ84、85、86、87、88、89、90、及び、91は、ゲート遅延ｅ、ｆ、ｇ、ｈ、ｋ、ｍ、ｎ、及び、ｐを伴って、受けた信号を出力する。レジスタ81は受けた信号を、組み合わせ回路98及びバッファトリー97を通じて、遅延ｑを伴って、受けた信号を8つの出力端子より出力する。
【００４７】
そこで、テクノロジマッピング工程は、論理プリミティブ回路に対して、バッファトリーの構成を特定した後、ライブラリを適用して、論理プリミティブ回路の構成要素に対して物理レイアウト、特性記述等を割り当てて、すなわち、テクノロジセルを割り当ててネットリストを得る工程である。
【００４８】
その結果、上記のように、各レジスタ、バッファトリー等はテクノロジセルを割り当てられ、出力信号を出力するときの遅延、物理レイアウト等の特性記述が割り当てられる。
【００４９】
図９は、タイミング解析、消費電力、及び、面積見積もりの工程において、タイミング解析を行うことについて説明する図である。そして、図９において、100は半導体装置、101はバス、102a、102b、103、104、及び、105はバッファトリーを構成するバッファ、106は記憶装置、107、108、及び、109はクロックバッファ、110はクロックA、111はクロックB、112は記憶素子群、113は記憶装置106の出力信号A、114は記憶装置群に到達した出力信号Bをそれぞれ示す。
【００５０】
図９Ａはタイミング解析を行う半導体装置100を示す。半導体装置100は、記憶装置106と記憶装置群112を有する。バッファ102a、102b、103、104、105、及び、バス101から構成されるバッファトリーを有する。記憶装置106は、クロックバッファ107からのクロックA110により、出力信号A113を出力する。記憶装置群112は、クロックバッファ108及び109からのクロックB111により、出力信号B114を受け取る。なお、記憶装置106は出力端子にレジスタを有する。また、記憶装置群112は入力端子にレジスタを有する。従って、記憶装置106のレジスタ、及び、記憶装置群112のレジスタ、上記のバッファトリーは、図８のレジスタ81、84、85、86、87、88、89、90、91、及び、バッファトリー98と同様な構成となる。
【００５１】
図９Ｂはタイミング解析の実施例を示す。クロックＡ110とクロックＢ111は同期するクロックである。記憶装置106の出力信号A113は、２クロック周期後に、記憶装置群112の入力端子に、出力信号B114として、到達する。そして、クロックBにより、記憶装置群112は出力信号B114を受け取る。
【００５２】
そこで、タイミング解析は、例えば、以下のようにして行う。まず、出力信号A113が、クロックA110により、記憶装置106から出力されるまでの出力信号A113の遅延時間を、記憶装置106のレジスタの特性記述から求める。次に、出力信号A113が、出力信号B114として、記憶装置群112に到達するまでの出力信号B114の遅延時間を、バッファトリーの特性記述から求める。そして、出力信号A113の遅延時間と出力信号B114の遅延時間からなる遅延時間の和を求める。次に、クロックA110とクロックB111とのクロック間の時間差を求める。そして、クロックB111の2周期分の時間とクロック間の時間差からなる伝達許容時間を求める。次に、上記の遅延時間の和が伝達許容時間内に納まっているかを判断する。すなわち、タイミング解析とは、レジスタの出力端子から次のレジスタの入力端子に伝達される信号の遅延時間が、伝達許容時間内に納まっているかを確認する作業である。
【００５３】
そして、消費電力評価は、例えば、以下のようにして行う。まず、記憶装置106のレジスタの特性記述、バッファトリーの特性記述、及び、記憶装置群112が有するレジスタの特性記述から、それぞれの消費電力を求める。そして、記憶装置106のレジスタの消費電力、バッファトリーの消費電力、及び、記憶装置群112のレジスタの消費電力の和をとる。すなわち、消費電力評価とは、半導体装置100上の個々の素子の特性記述から個々の素子の消費電力を求め、求めた消費電力の和をとることをいう。
【００５４】
次に、面積の見積もりは、例えば、バッファトリーの特性記述からエリアを求め、その他の半導体装置上の記憶装置106、記憶装置群112等の面積との和をとることにより行う。すなわち、面積の見積もりとは、バッファトリーの特性記述等から求めたエリアの和をとることをいう。
【００５５】
以上より、実施例１の論理合成方法によれば、実施例１の論理合成方法が、バッファトリーの特性記述を含むライブラリを作成する工程と、ファンアウト数が所定の値以上となる箇所を特定する工程と、その箇所のバッファトリーの構成を特定する工程と、ライブラリを適用して論理合成を行う工程を含むことにより、ファンアウト数が所定の値以上となる箇所の遅延時間を、予め準備されている、実際の物理レイアウトを考慮したバッファトリーの特性記述を使用して、算出することができる。また、正確な信号のタイミング解析、消費電力等の見積もりを論理合成の段階で行うことができる。
【００５６】
そうすると、論理合成の段階で、タイミング解析に基づいて、タイミング違反を修正すれば、配置レイアウト工程で大きなタイミング違反が発生しない効果がある。また、消費電力等の見積もりに基づいて、消費電力の低減をはかれば、配置レイアウト工程において、予想しない消費電力の増大、及び、消費電力等の改善によるタイミングの悪化をを防止できる。
【実施例２】
【００５７】
図10を用いて、実施例２の論理合成装置について説明する。実施例２の論理合成装置は実施例１の論理合成方法を実施するための装置である。
【００５８】
図10は実施例２の論理合成装置を示す図である。そして、図10において、120は論理合成装置、121はRTL記述、122はライブラリ、123は論理合成結果、124は入出力部、125aはRTL解析及び論理プリミティブへの置換手段、125bはファンアウト数が所定の値以上となる箇所の特定手段、126はバッファトリーの構成の特定手段、127はテクノロジマッピング手段、128はタイミング解析、消費電力評価、及び、面積見積もりの手段をそれぞれ示す。
【００５９】
RTL記述121は図２のRTL記述と同様なものである。ライブラリ122は図５のライブラリと同様なものである。論理合成結果123は、論理合成結果装置120により、論理合成を行った後に得られたファイルである。
【００６０】
論理合成装置120は「入出力部124」、「RTL解析及び論理プリミティブへの置換手段125a」、「ファンアウト数が所定の値以上となる箇所の特定手段125ｂ」、「バッファトリーの構成の特定手段126」、「テクノロジマッピング手段127」、及び、「タイミング解析、消費電力評価、及び、面積見積もりの手段128」から構成されている。そして、入出力部124はRTL記述121、ライブラリ122を受け取る手段であり、かつ、論理合成結果123を出力する手段である。RTL解析及び論理プリミティブへの置換手段125aは図２のRTL解析及び論理プリミティブへの置換の工程を行う手段である。ファンアウト数が所定の値以上となる箇所の特定手段125ｂは図３のファンアウト数が所定の値以上となる箇所の特定の工程を行う手段である。バッファトリーの構成の特定手段126は図４のバッファトリーの構成の特定の工程を行う手段である。テクノロジマッピング手段127は図８のテクノロジマッピングの工程を行う手段である。タイミング解析、消費電力評価、及び、面積見積もりの手段128は図９のタイミング解析、消費電力評価、及び、面積見積もりの工程を行う手段である。
【００６１】
以上より、実施例２の論理合成装置によれば、バッファトリーの特性記述を含むライブラリを作成する手段と、ファンアウト数が所定の値以上となる箇所を特定する手段と、その箇所のバッファトリーの構成を特定する手段と、ライブラリを適用して論理合成を行う手段を含むことにより、ファンアウト数が所定の値以上となる箇所の遅延時間を、予め準備されている、実際の物理レイアウトを考慮したバッファトリーの特性記述を使用して、算出することができる。また、正確な信号のタイミング解析、消費電力等の見積もりを論理合成の段階で行うことができる。
【００６２】
そうすると、論理合成の段階で、タイミング解析に基づいて、タイミング違反を修正すれば、配置レイアウト工程で大きなタイミング違反が発生しない効果がある。また、消費電力等の見積もりに基づいて、消費電力の低減をはかれば、配置レイアウト工程において、予想しない消費電力の増大、及び、消費電力等の改善によるタイミングの悪化を防止できる。
以下に本発明の特徴を付記する。
（付記１）
バッファトリーの特性記述を含むライブラリを作成する工程と、
論理設計の記述を解析してファンアウト数が所定の値以上となる箇所を特定する工程と、
前記ファンアウト数が所定の値以上となる箇所を表す前記バッファトリーの構成を特定する工程と、
前記ライブラリを適用して、前記論理設計の記述に基づいて、論理合成をする工程を含むことを特徴とする論理合成方法。
（付記２）
前記バッファトリーの特性記述は前記バッファトリーの遅延を含むことを特徴とする付記１に記載した論理合成方法。
（付記３）
前記バッファトリーの特性記述は前記バッファトリーが占める面積を含むことを特徴とする付記１に記載した論理合成方法。
（付記４）
前記バッファトリーの特性記述は前記バッファトリーが消費電力を含むことを特徴とする付記１に記載した論理合成方法。
（付記５）
前記論理設計の記述で表されたＬＳＩ回路のタイミング解析を行う工程をさらに含むことを特徴とする付記１に記載した論理合成方法。
（付記６）
前記論理設計の記述で表されたＬＳＩ回路の消費電力を評価する工程をさらに含むことを特徴とする付記１に記載した論理合成方法。
（付記７）
前記論理設計の記述で表されたＬＳＩ回路が占める面積を評価する工程をさらに含むことを特徴とする付記１に記載した論理合成方法。
（付記８）
バッファトリーの特性記述及び論理素子の特性記述を含むライブラリを作成する手段と、
論理設計の記述を解析してファンアウト数が所定の値以上となる箇所を特定する手段と、
前記ファンアウト数が所定の値以上となる箇所を表す前記バッファトリーの構成を特定する手段と、
前記ライブラリを適用して、前記論理設計の記述に基づいて、論理合成をする手段を含むことを特徴とする論理合成装置。
（付記９）
前記バッファトリーの特性記述は前記バッファトリーの遅延を含むことを特徴とする付記８に記載した論理合成装置。
（付記10）
前記バッファトリーの特性記述は前記バッファトリーが占める面積を含むことを特徴とする付記８に記載した論理合成装置。
（付記11）
前記バッファトリーの特性記述は前記バッファトリーが消費電力を含むことを特徴とする付記８に記載した論理合成装置。
（付記12）
前記論理設計の記述で表されたＬＳＩ回路のタイミング解析を行う手段をさらに含むことを特徴とする付記８に記載した論理合成装置。
（付記13）
前記論理設計の記述で表されたＬＳＩ回路の消費電力を評価する手段をさらに含むことを特徴とする付記８に記載した論理合成装置。
（付記14）
前記論理設計の記述で表されたＬＳＩ回路が占める面積を評価する手段をさらに含むことを特徴とする付記８に記載した論理合成装置。
【産業上の利用可能性】
【００６３】
第１の発明に係る論理合成方法により、論理設計の記述に基づき論理合成されたものが実績のある配置レイアウト情報に基づく特性をもつバッファトリーを含むこととなり、LSI回路のパフォーマンス、例えば、信号のタイミング、消費電力等を、論理合成の段階で正確に見積もることができる論理合成方法が提供される。
【００６４】
第２の発明の論理合成装置により、その論理合成装置が有する各手段により、論理設計の記述を解析してファンアウト数が多い箇所を特定し、ファンアウト数が多い箇所を含むバッファトリーを認識し、予め作成されているバッファトリーの特性記述を含むライブラリを適用して、バッファトリーに特性を付属させた論理合成を行うことができる。従って、バッファトリーが実質的に配置レイアウト情報を含むこととなり、LSI回路のパフォーマンス、例えば、信号のタイミング、消費電力等を、論理合成の段階で正確に見積もることができる論理合成装置が提供される。
【図面の簡単な説明】
【００６５】
【図１】図１は、実施例１の論理合成方法を説明するフローチャートを示す図である。
【図２】図２は、RTL解析、及び、論理プリミティブへの置換２ｂの工程で、RTL解析を行い、回路構造を論理プリミティブへ置換して得た論理プリミティブ構造図である。
【図３】図３は、ファンアウト数が所定の値以上となる箇所の特定の工程を説明する図である。
【図４】図４は、バッファトリーの構成の特定の工程を説明する図である。
【図５】図５は、ライブラリについて説明する図である。
【図６】図６は、複数種類のテクノロジセルの特性記述について説明する図である。
【図７】図７は、複数種類のバッファトリーの特性記述について説明する図である。
【図８】図８は、テクノロジマッピング工程及びその工程における本実施例１のバッファトリーの扱いついて説明する図である。
【図９】図９は、タイミング解析、消費電力、及び、面積見積もりの工程において、タイミング解析を行うことについて説明する図である。
【図１０】図10は実施例２の論理合成装置を示す図である。
【符号の説明】
【００６６】
１  RTL記述
２ａ  論理合成開始
２ｂ  RTL解析、及び、論理プリミティブへの置換
３  ファンアウト数が所定の値以上となる箇所の特定
４  バッファトリーの構成の特定
５  ライブラリ
６  テクノロジマッピング
７  タイミング解析、消費電力評価、及び、面積見積もり
８  論理合成終了
11、12、13、14、15、16、17、18、19、20、21、22、23  レジスタ・トランスファの論理記述
24、25、26  組み合わせ回路
27a、27b、27c、28、29、30、31、32、33、34、35、36、37  レジスタ
27d  組み合わせ回路
38  ファンアウト数が所定の値を超えるレジスタ間の接続
40、41、42、43、44、45、46、47、48、49、50、51、52  レジスタ
54、55、56、57、58  バッファ
59a  バッファトリー
59b  組み合わせ回路
60  ライブラリ
61  テクノロジセルの機能特性記述
62  図４のバッファトリーの特性記述
65  テクノロジセルの特性記述表
66  特性記述表65の素子の種類を表す欄
67  特性記述表65のFanout数を表す欄
68  特性記述表65の駆動能力を表す欄
69  特性記述表65の遅延を表す欄
70  特性記述表65の電力を表す欄
71a  バッファトリーの特性記述表
71b  バッファトリーの段数を表す欄
72  バッファトリーの構成を表す欄
73  Fanout数を表す欄
74  駆動能力を表す欄
75  遅延を表す欄
76  電力を表す欄
77  エリアを表す欄
80、81、82、83、84、85、86、87、88、89、90、91、92  レジスタ
97  バッファトリー
98  組み合わせ回路
100  半導体装置
101  バス
102a、102b、103、104、105  バッファトリーを構成するバッファ
106  記憶装置
107、108、109  クロックバッファ
110  クロックA
111  クロックB
112  記憶素子群
113  出力信号A
114  出力信号B
120  論理合成装置
121  RTL記述
122  ライブラリ
123  論理合成結果
124  入出力部
125a  RTL解析、及び、論理プリミティブへの置換手段
125b  ファンアウト数が所定の値以上となる箇所の特定手段
126  バッファトリーの構成の特定手段
127  テクノロジマッピング手段
128  タイミング解析、消費電力評価、及び、面積見積もりの手段
【図１】
0004673689.tif 000002
【図２】
0004673689.tif 000003
【図３】
0004673689.tif 000004
【図４】
0004673689.tif 000005
【図５】
0004673689.tif 000006
【図６】
0004673689.tif 000007
【図７】
0004673689.tif 000008
【図８】
0004673689.tif 000009
【図９】
0004673689.tif 000010
【図１０】
0004673689.tif 000011