(57)【要約】【課題】  無駄な論理合成時間を省き、高速な論理合成処理を行うことのできる論理合成装置を得る。【解決手段】  第１の論理合成部１はＲＴＬ１０１に基づき論理合成を行う。再論理合成パス抽出部２は、第１の論理合成部１からの論理合成結果に対し、所望する動作速度を満足しないパスを抽出する。第２の論理合成部３は、再論理合成パス抽出部２で抽出されたパスのみを対象として論理合成を行う。【選択図】        図１
2006163822.tif 000002
【特許請求の範囲】
【請求項１】
論理回路記述を入力して論理合成を行う第１の論理合成部と、
前記第１の論理合成部からの論理合成結果に対し、所望する動作速度を満足しないパスを抽出する再論理合成パス抽出部と、
前記再論理合成パス抽出部で抽出されたパスを対象として論理合成を行う第２の論理合成部とを備えた論理合成装置。
【請求項２】
再論理合成パス抽出部は、動作速度に対するマージンの指定を受け付ける手段を備え、当該マージンの指定を受けた場合は、前記マージンを含んだ動作速度を満足しないパスを抽出することを特徴とする請求項１記載の論理合成装置。
【請求項３】
再論理合成パス抽出部は、再論理合成対象パスとして所定の最大値以内の本数を出力することを特徴とする請求項２記載の論理合成装置。
【請求項４】
第２の論理合成部は、論理合成対象のパスを所定の優先順位で論理合成し、対象となるパスが論理合成を行っても所望の動作速度を満たせない場合は、その時点の処理結果を出力することを特徴とする請求項１記載の論理合成装置。
【請求項５】
再論理合成パス抽出部は、対象となるパスを含んだブロックを再合成対象として示す再合成対象ブロックリストを出力し、
第２の論理合成部は、前記再合成対象ブロックリストで示されたブロック中のパスを対象として論理合成を行うことを特徴とする請求項１記載の論理合成装置。
【請求項６】
再論理合成パス抽出部は、タイミングを満足しているパスを含んだブロックの指定を受け付ける手段を備え、当該ブロックの指定を受けた場合は、これを含んだ再合成対象ブロックリストを出力することを特徴とする請求項５記載の論理合成装置。
【請求項７】
第２の論理合成部は、ブロック内に記憶装置を持たないパスを、論理合成対象から除外することを特徴とする請求項１記載の論理合成装置。
【請求項８】
第１の論理合成部は、面積優先の制約条件で論理合成を行うことを特徴とする請求項１から請求項７のいずれか１項記載の論理合成装置。
【請求項９】
論理回路記述を入力して論理合成を行う第１の論理合成ステップと、
前記第１の論理合成ステップで行った論理合成結果に対し、所望する動作速度を満足しないパスを抽出する再論理合成パス抽出ステップと、
前記再論理合成パス抽出ステップで抽出されたパスを対象として論理合成を行う第２の論理合成ステップとを備えた論理合成方法。
【請求項１０】
コンピュータを、
論理回路記述を入力して論理合成を行う第１の論理合成部と、
前記第１の論理合成部からの論理合成結果に対し、所望する動作速度を満足しないパスを抽出する再論理合成パス抽出部と、
前記再論理合成パス抽出部で抽出されたパスを対象として論理合成を行う第２の論理合成部として機能させるための論理合成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、回路設計技術において、論理回路記述を最適な制約条件に従って論理合成し、短時間で効率良くゲート規模の小さい所望の論理回路を得るための論理合成装置および論理合成方法並びに論理合成プログラムに関するものである。
【背景技術】
【０００２】
半導体集積回路として所望な回路を実現する設計手段は、設計者がハードウェア記述言語（ＨＤＬ）を用いて論理回路をレジスター・トランスファー・レベル（ＲＴＬ）で記述し、これをマッピングするセルライブラリと共に論理合成ツールの入力データとして読込み、論理合成することによって、所望の半導体メーカーのネットに変換する方法が主流である。
しかしながら、半導体技術の進歩によりプロセスが更に微細化されることにより、一つの半導体チップに実装できる回路規模が増加したため、設計者の設計する回路規模も増加し、論理合成を実行する時間が膨大になっている。
【０００３】
従来の論理合成装置では、設計者が作成した制約条件にクロック周期、入出力信号に対する入出力ディレー等の条件を全ての回路に与え、論理合成を行って、全てのパスについてタイミング解析を行い、所望の動作クロックで動作するか否かをチェックするものであった。再合成する際にも設計者が複雑な制約条件を与えない限り、既にタイミングを満足しているパスについても同様に論理合成を行っていた（例えば、特許文献１参照）。
【０００４】
【特許文献１】特開２０００−１１３０１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の論理合成装置では、上述したように、再論理合成を行う場合も全てのパスを対象としていた。このため、タイミングの要件を満たしているパスや制約条件を満たす必要のないパスに対しても再度、論理合成を行うことから、リソースを無駄に消費し、かつ、論理合成時間が長くなってしまい、設計者がタイミングを改善してほしい所望のパスだけに注力することができなかった。
【０００６】
この発明は上記のような課題を解決するためになされたもので、無駄な論理合成時間を省き、高速な論理合成処理を行うことのできる論理合成装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る論理合成装置は、論理回路記述を入力して論理合成を行う第１の論理合成部と、第１の論理合成部からの論理合成結果に対し、所望する動作速度を満足しないパスを抽出する再論理合成パス抽出部と、再論理合成パス抽出部で抽出されたパスを対象として論理合成を行う第２の論理合成部とを備えたものである。
【発明の効果】
【０００８】
この発明の論理合成装置は、所望する動作速度を満足しないパスのみを対象として論理合成を行うようにしたので、無駄な論理合成時間を省き、高速な論理合成処理を行うことのできる論理合成装置を得ることができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１は、この発明の実施の形態１による論理合成装置を示す構成図である。
図において、論理合成装置は、第１の論理合成部１、再論理合成パス抽出部２、第２の論理合成部３を備えている。第１の論理合成部１は、論理回路記述であるＲＴＬ１０１と、回路部品を示すライブラリ１０２を入力して面積優先の論理合成処理を行う機能部である。ここで、面積優先の論理合成処理とは、半導体集積回路の面積を論理合成処理の合成制約として行う論理合成処理である。再論理合成パス抽出部２は、第１の論理合成部１から出力された第１のネットリスト１０３と、所望するタイミング（動作速度）を条件として含む合成制約１０４とを入力し、第１の論理合成部１からの論理合成結果で所望するタイミングを満たさないパスを抽出し、これを再合成対象パスリスト１０５として出力する機能を有している。第２の論理合成部３は、第１のネットリスト１０３と合成制約１０４と再合成対象パスリスト１０５およびライブラリ１０２とを入力して、合成制約１０４のタイミング条件を満たすように論理合成を行い、その結果を第２のネットリスト１０６として出力する機能部である。
【００１０】
尚、論理合成装置はコンピュータを用いて構成され、上記の第１の論理合成部１〜第２の論理合成部３は、それぞれ対応するソフトウェアとＣＰＵやメモリといったハードウェアとから実現されている。
【００１１】
次に、このように構成された論理合成装置の動作について説明する。
先ず、第１の論理合成部１により、第１のネットリスト１０３が生成される。
図２は、第１の論理合成部１における面積優先の論理合成処理を示すフローチャートである。
第１の論理合成部１は、ＲＴＬ１０１とライブラリ１０２に基づいてセルマッピングを行い（ステップＳＴ１０１）、第１のネットリスト１０３を生成する（ステップＳＴ１０２）。このように、面積優先で論理合成を行う場合は、タイミングを検討する必要がないので処理時間は短い。しかしながら、タイミングを検討しないため、設計者が意図するタイミングを満たしていないパスが含まれている可能性がある。
【００１２】
そこで、本実施の形態では、このようなタイミングを満たしていないパスを再論理合成パス抽出部２にて抽出する。
図３は、対象ブロックの一例を示す構成図である。
図示の回路は、基本的な回路の一例であり、フリップフロップ（ＦＦ）間の処理速度を基準としてタイミング検証を行うものである。ここで、ブロックとは論理合成を行う場合に対象とする一つの単位であり、パスとはブロック内に存在するＦＦ間の経路や、入口ポート（ＩＮ）とＦＦ、ＦＦと出口ポート（ＯＵＴ）の経路といったブロック内の経路を示している。また、仮想ＦＦとは、ブロック外部に存在するタイミング検証のための仮想的なＦＦである。図示例では、ＩＮ−ＦＦ１、ＦＦ１−ＦＦ２、ＦＦ２−ＯＵＴがタイミング検証対象のパスである。このようなパスに対し、再論理合成パス抽出部２は、第１の論理合成部１から出力された第１のネットリスト１０３中の全てのパスについてタイミング検証を行う。
【００１３】
今、合成制約１０４のタイミング条件としてＦＦ−ＦＦ間の処理時間が５０ｎｓとして与えられたとする。
図４は、各パス分類に対する制約条件を示す説明図である。
図示のように、ＦＦ−ＦＦ間は制約条件として５０ｎｓであり、ＩＮ−ＦＦ間は５０−５０ａ、ＦＦ−ＯＵＴ間は５０−５０ｂとなっている（但し、ａ＜１、ｂ＜１）。ここで、例えばＩＮ−ＦＦ間が５０−５０ａとなっているのは、仮想ＦＦ（Ｘ）−ＦＦ１間の目標時間が５０ｎｓであるため、仮想ＦＦ（Ｘ）−ＩＮ間の所要時間５０ａを減じたものである。尚、仮想ＦＦ（Ｘ），（Ｙ）とＩＮまたはＯＵＴ間の所要時間の定数ａ、ｂは設計者等により予め設定されているとする。
再論理合成パス抽出部２は、このような制約条件に基づいて、全てのパスのタイミングを検証し、条件を満たさないパスを抽出する。
【００１４】
図５は、再合成対象パスリスト１０５を示す説明図である。
図示のように、タイミングの条件を満たさないパスが全て抽出される。尚、図中、タイミング超過時間とは、制約条件を超過した時間であり、例えば、ＦＦ１−ＦＦ２間の処理時間が５０．５ｎｓであったため、タイミング超過時間は０．５ｎｓとなっている。
また、タイミングを満足していないパスについては、パスの終点からそのパスに接続された全てのパスを再合成対象パスリスト１０５に加えるようにしてもよい。
【００１５】
次に、第２の論理合成部３の動作を説明する。
図６は、第２の論理合成部３の論理合成処理を示すフローチャートである。
先ず、ステップＳＴ２０１の中間セルマッピングでは、ライブラリ１０２に依存しない仮の中間フォーマットに変換する。次に、この変換された中間ネットリストに対して、１パスずつタイミング調整を行う（ステップＳＴ２０２〜ステップＳＴ２０５）。また、ステップＳＴ２０３におけるタイミング調整で所望するタイミングを満たした場合は（ステップＳＴ２０４）、次のパスのタイミング調整を行うが、ステップＳＴ２０４において、タイミングを満足しない場合は、新たなタイミング調整処理は行わず、そのまま処理を終了させ、その時点での最終中間ネットリストを生成する（ステップＳＴ２０６）。
【００１６】
以上の処理により、タイミングを制約条件とした論理合成が行われ、第２のネットリスト１０６が出力される。
【００１７】
以上のように、実施の形態１の論理合成装置によれば、論理回路記述を入力して論理合成を行う第１の論理合成部と、第１の論理合成部からの論理合成結果に対し、所望する動作速度を満足しないパスを抽出する再論理合成パス抽出部と、再論理合成パス抽出部で抽出されたパスを対象として論理合成を行う第２の論理合成部とを備えたので、無駄な論理合成時間を省き、高速な論理合成処理を行うことができる。
【００１８】
また、実施の形態１の論理合成方法によれば、論理回路記述を入力して論理合成を行う第１の論理合成ステップと、第１の論理合成ステップで行った論理合成結果に対し、所望する動作速度を満足しないパスを抽出する再論理合成パス抽出ステップと、再論理合成パス抽出ステップで抽出されたパスを対象として論理合成を行う第２の論理合成ステップとを備えたので、無駄な論理合成を行うことなく、高速な論理合成方法を実現することができる。
【００１９】
また、実施の形態１の論理合成プログラムによれば、コンピュータを、論理回路記述を入力して論理合成を行う第１の論理合成部と、第１の論理合成部からの論理合成結果に対し、所望する動作速度を満足しないパスを抽出する再論理合成パス抽出部と、再論理合成パス抽出部で抽出されたパスを対象として論理合成を行う第２の論理合成部として機能させるようにしたので、コンピュータを用いて実施する論理合成処理において、無駄な論理合成時間を省き、高速な論理合成を実現することができる。
【００２０】
また、実施の形態１の論理合成装置によれば、第１の論理合成部は、面積優先の制約条件で論理合成を行うようにしたので、ゲート規模の小さい所望の論理回路を得ることができると共に、その論理合成時間を短縮化することができる。
【００２１】
実施の形態２．
実施の形態２における図面上の構成は実施の形態１と同様であるため、実施の形態１で示した図面を援用して説明する。
実施の形態２では、再論理合成パス抽出部２に対して、タイミングのマージンを指定するようにしたものである。即ち、再論理合成パス抽出部２は、動作速度に対するマージンの指定を受け付ける手段を備え、設計者からマージンの指定を受けた場合は、このマージンを含んだ動作速度を満足しないパスを抽出するよう構成されている。例えば、所望のタイミングとして５０ｎｓであった場合、マージンとして１ｎｓが指定された場合、この１ｎｓを減算し、タイミング調整を行う値として４９ｎｓとする。これにより、例えば、ＦＦ−ＦＦ間のタイミングが４９．５ｎｓであった場合、これも再論理合成パスとして抽出される。また、ここで、マージンを加えたことによる再論理合成パスに対して、最大論理合成対象パス本数を指定する。例えば、最大論理合成対象パス本数が１００本であり、マージンを加えたことによる再論理合成対象パスの増加分が１２０本であった場合、そのうちの１００本を再合成対象パスリスト１０５として加えるようにする。また、再合成対象パスリスト１０５として加える優先順位は、タイミング超過時間の大きいものから順に選択する。
【００２２】
また、実施の形態２では、第２の論理合成部３における論理合成対象パスの優先順位を指定する。この指定方法としては、再合成対象パスリスト１０５中に優先順位の情報を含ませたり、直接、第２の論理合成部３に指定するようにしてもよい。ここで、例えば、論理合成によってタイミングを満たすことが困難であるようなパスを優先して指定することにより、そのパスから優先して論理合成が行われるため、セルの置き換えの自由度が高く、その結果、タイミングを満足させる確率を高くすることができる。また、再論理合成を行っても所望のタイミングを満たすことができないようなパスがあった場合に、この再論理合成処理を短時間で終了することができる。即ち、図６に示すように、第２の論理合成部３では、ステップＳＴ２０４において、所望のタイミングを満たすことができないようなパスがあった場合は、その時点で論理合成処理を中止し、ネットリストを出力するため、無駄な処理時間をなくすことができるからである。
【００２３】
以上のように、実施の形態２の論理合成装置によれば、再論理合成パス抽出部は、動作速度に対するマージンの指定を受け付ける手段を備え、マージンの指定を受けた場合は、マージンを含んだ動作速度を満足しないパスを抽出するようにしたので、実施の形態１の効果に加えて、設計者の所望する論理合成結果を容易に得ることができる効果がある。
【００２４】
また、実施の形態２の論理合成装置によれば、再論理合成パス抽出部は、再論理合成対象パスとして所定の最大値以内の本数を出力するようにしたので、設計者の要求をより細かく指定することができ、その結果、更に、所望する論理合成結果を得ることができる効果がある。
【００２５】
また、実施の形態２の論理合成装置によれば、第２の論理合成部は、論理合成対象のパスを所定の優先順位で論理合成し、対象となるパスが論理合成を行っても所望の動作速度を満たせない場合は、その時点の処理結果を出力するようにしたので、論理合成によってタイミングを満たすことが困難であるようなパスに対しても、そのタイミングを満足させる確率を高くすることができる。また、再論理合成を行っても所望のタイミングを満たすことができないようなパスがあった場合に、この再論理合成処理を短時間で終了することができる。
【００２６】
実施の形態３．
実施の形態３では、ブロック単位で再論理合成の指定を行うようにしたものである。
図７は、実施の形態３の論理合成装置の構成図である。
再論理合成パス抽出部２ａは、ブロック単位で設計者が再論理合成の対象ブロックを指定することができるよう構成されている。また、再論理合成パス抽出部２ａは、任意のブロックにおいて、そのブロックに含まれるいずれかのパスが所望のタイミングを満たしていなかった場合は、このブロックを、再論理合成を行う対象として抽出し、これを再合成対象ブロックリスト１０７として出力するよう構成されている。更に、第２の論理合成部３ａは、再合成対象ブロックリスト１０７を受け取った場合、対象となるブロックに含まれる全てのパスを抽出し、これらパスに対して論理合成を行うよう構成されている。それ以外の構成については図１と同様である。
【００２７】
次に、実施の形態３の動作について説明する。
再論理合成パス抽出部２ａは、タイミング検証を行う場合、任意のブロックにおいて、そのブロックに含まれるいずれかのパスが所望のタイミングを満たしていなかった場合は、このブロックそのものを再論理合成の対象として抽出し、これを再合成対象ブロックリスト１０７として出力する。これにより、第２の論理合成部３ａは、再合成対象ブロックリスト１０７を受け取った場合、対象となるブロックに含まれる全てのパスを抽出し、これらパスに対して論理合成を行う。
【００２８】
また、回路中には、例えばモニタ用のブロック等、特に所望のタイミングを満たさなくてもよいブロックも存在する。設計者がこのようなブロックを再論理合成パス抽出部２ａに対して指定した場合、再論理合成パス抽出部２ａは、所望のタイミングを満たしていないパスがそのブロック中に含まれていた場合でも、このブロックは再合成対象ブロックからは除外した再合成対象ブロックリスト１０７を生成し、これを第２の論理合成部３ａに対して出力する。
従って、第２の論理合成部３ａでは、タイミングを満たす必要のないブロックについては論理合成処理を行わないため、無駄な処理が省かれ、処理時間の短縮化を図ることができる。
【００２９】
一方、上記の場合とは逆に所望のタイミングを満たしているブロックであった場合でも、設計者は、これを再論理合成の対象ブロックとして指定することもできる。このような例としては、あるブロックが更に別のブロックに含まれるといった階層関係のブロックや、二つのブロックの入出力が関係し、一方のブロックは所望のタイミングを満たしているが、他方のブロックが所望のタイミングを満たしていないような場合等である。
このように、所望のタイミングを満たしているブロックが再論理合成対象として設計者から指定された場合、再論理合成パス抽出部２ａは、これを含む再合成対象ブロックリスト１０７を出力する。
第２の論理合成部３ａでは、このような関係するブロックを含めて論理合成を行うため、論理合成の自由度が高く、良好な論理合成結果を得ることができる。
【００３０】
また、再論理合成パス抽出部２ａにおいて、関係するブロックを第１のネットリスト１０３に基づいて抽出し、更に、抽出されたブロックで所望のタイミングを満たしていないブロックに関係するブロックを抽出することで、再合成対象ブロックリスト１０７を自動生成するようにしてもよい。
【００３１】
以上のように、実施の形態３の論理合成装置によれば、再論理合成パス抽出部は、対象となるパスを含んだブロックを再合成対象として示す再合成対象ブロックリストを出力し、第２の論理合成部は、再合成対象ブロックリストで示されたブロック中のパスを対象として論理合成を行うようにしたので、実施の形態１の効果に加えて、パスそれぞれではなくブロック単位の再合成対象ブロックリストであるため、再論理合成パス抽出部から第２の論理合成部に送出するリストのファイルサイズを小さくすることができる。また、ブロック単位で再論理合成が行われるため、論理合成の自由度が高く、良好な論理合成結果を得ることができる。
【００３２】
また、実施の形態３の論理合成装置によれば、再論理合成パス抽出部は、タイミングを満足しているパスを含んだブロックの指定を受け付ける手段を備え、ブロックの指定を受けた場合は、これを含んだ再合成対象ブロックリストを出力するようにしたので、例えば、タイミングを満足していないブロックに関係するブロックが指定された場合、第２の論理合成部では、このような関係するブロックを含めて論理合成を行うため、論理合成の自由度が高く、良好な論理合成結果を得ることができる。
【００３３】
実施の形態４．
実施の形態４では、ブロック内に、入力ポートから出力ポートの間に記憶装置がないパスが存在した場合は、このパスを再論理合成の対象外とするようにしたものである。また、各構成における図面上の構成は、実施の形態１と同様であるため、実施の形態１の各図面を援用して説明する。
【００３４】
図８は、対象ブロックの一例を示す構成図である。
図示のように、半導体回路内では、ブロック内で、入口ポートから出口ポートまでフリップフロップ（記憶装置）が１段も存在しないＮｏＦＦパス２００が存在する。このようなＮｏＦＦパス２００は、論理合成の対象としては意味を持たない。一方、このようなＮｏＦＦパス２００は、仮想ＦＦ（Ｘ）−仮想ＦＦ（Ｙ）間のタイミングで検証されるため、所望のタイミングを満たさない可能性が高く、従って、このようなＮｏＦＦパス２００が再合成対象パスとして抽出されることになる。そこで、このようなフリップフロップを含まないパスを、再論理合成対象から除外するよう再論理合成パス抽出部２に対して指定する。これにより、再論理合成パス抽出部２は、このようなＮｏＦＦパス２００を除外した再合成対象パスリスト１０５を生成し、これを第２の論理合成部３に対して出力する。
第２の論理合成部３では、ＮｏＦＦパス２００のような無意味なパスに対しては論理合成を実施しないため、処理時間を短縮化することができる。
【００３５】
以上のように、実施の形態４の論理合成装置によれば、第２の論理合成部は、ブロック内に記憶装置を持たないパスを、論理合成対象から除外するようにしたので、無意味なパスに対する論理合成を省くことができ、その結果、論理合成の処理時間を短縮することができる。
【００３６】
尚、上記各実施の形態では、第１の論理合成部１は面積優先の論理合成を行うものとして説明したが、これに限定されるものではなく、例えば、第１の論理合成部１がタイミング優先の論理合成を行うものであっても、論理合成装置としての処理時間の短縮化といった効果を得ることができる。
また、上記実施の形態２〜実施の形態４では、それぞれを独立した実施の形態として説明したが、これらを適宜組み合わせた構成としてもよい。
【図面の簡単な説明】
【００３７】
【図１】この発明の実施の形態１の論理合成装置を示す構成図である。
【図２】この発明の実施の形態１の論理合成装置における第１の論理合成部の面積優先の論理合成処理を示すフローチャートである。
【図３】この発明の実施の形態１の論理合成装置における対象ブロックの一例を示す構成図である。
【図４】この発明の実施の形態１の論理合成装置における各パス分類に対する制約条件を示す説明図である。
【図５】この発明の実施の形態１の論理合成装置における再合成対象パスリストを示す説明図である。
【図６】この発明の実施の形態１の論理合成装置における第２の論理合成部の論理合成処理を示すフローチャートである。
【図７】この発明の実施の形態３の論理合成装置を示す構成図である。
【図８】この発明の実施の形態４の論理合成装置における対象ブロックの一例を示す構成図である。
【符号の説明】
【００３８】
１  第１の論理合成部、２，２ａ  再論理合成パス抽出部、３，３ａ  第２の論理合成部、１０１  ＲＴＬ（論理回路記述）、１０２  ライブラリ、１０３  第１のネットリスト、１０４  合成制約、１０５  再合成対象パスリスト、１０６  第２のネットリスト、１０７  再合成対象ブロックリスト、２００  ＮｏＦＦパス。
【図１】
2006163822.tif 000003
【図２】
2006163822.tif 000004
【図３】
2006163822.tif 000005
【図４】
2006163822.tif 000006
【図５】
2006163822.tif 000007
【図６】
2006163822.tif 000008
【図７】
2006163822.tif 000009
【図８】
2006163822.tif 000010