(57)【要約】【課題】半導体集積回路の論理設計時に大規模修正が必要になった場合でも、修正箇所の解析や修正内容の検討の手間を削減し、モジュールの論理修正をより容易化することができる論理合成方法および論理合成装置を提供する。【解決手段】機能モジュールのピンを、論理合成時の最適化の際に、ネット情報として残すことによって、論理合成後に再階層化が可能となり、その階層化した機能ブロックの差し替えを行うことによって、論理合成後に容易に論理修正が可能となるとともに、ピンを残すモジュールを指定することによって、面積増分の抑制も可能となる。【選択図】図１
2005122577.tif 000002
【特許請求の範囲】
【請求項１】
論理合成時、モジュールを階層展開するに際し、全てのモジュールのピンがネットとして残るよう制約をつけて階層展開し、その後のタイミング最適化・面積最適化工程において前記ネットが消滅しない制約をつけてネットリストを生成する論理合成方法。
【請求項２】
請求項１に記載の論理合成方法における処理手順に従って処理実行しモジュールを階層展開するように制御する手段を備えた論理合成装置。
【請求項３】
論理合成時、モジュールを階層展開するに際し、指定したモジュールのピンがネットとして残るよう制約をつけて階層展開し、その後のタイミング最適化・面積最適化工程において前記ネットが消滅しない制約をつけてネットリストを生成する論理合成方法。
【請求項４】
請求項３に記載の論理合成方法における処理手順に従って処理実行しモジュールを階層展開するように制御する手段を備えた論理合成装置。
【請求項５】
論理合成時、モジュールを階層展開するに際し、面積制約を守りつつ、優先指定したモジュールのピンがネットとして残るよう制約をつけて階層展開し、その後のタイミング最適化・面積最適化工程において前記ネットが消滅しない制約をつけてネットリストを生成する論理合成方法。
【請求項６】
請求項５に記載の論理合成方法における処理手順に従って処理実行しモジュールを階層展開するように制御する手段を備えた論理合成装置。
【請求項７】
論理合成時、モジュールを階層展開するに際し、指定モジュールのピンがネットとして残るよう制約をつけて階層展開し、その後のタイミング最適化・面積最適化工程において面積制約を厳守できる範囲で前記ネットが消滅しないよう最適化を行い、前記ネットを消滅させないと面積制約を守れない場合、あらかじめ元のモジュールに対して優先順位をつけておき、その優先順位に従って、優先順位の低いモジュールのネットから消滅させるという制約をつけて最適化を行う論理合成方法。
【請求項８】
請求項７に記載の論理合成方法における処理手順に従って処理実行しモジュールを階層展開するように制御する手段を備えた論理合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の論理設計時における論理合成方法および論理合成装置に関するものである。
【背景技術】
【０００２】
従来から行われている半導体集積回路の論理設計時における論理修正方法は、ボーナスセルと呼ばれる未接続のセルをあらかじめネットリスト中に含んでおき、配置工程等、論理合成よりも後工程で論理修正が生じた際に、そのボーナスセルを用いて接続のみの変更で論理修正に対応するものであった。
【０００３】
また、従来の論理合成は、面積をできるだけ小さくするべく、共有化可能な部分は共有化するため、モジュールを階層展開した際にそのモジュールのピンは消滅するものがほとんどである。
【０００４】
以上のような従来の技術について、図５のフローチャートと図６、図７、図１３を参考にしながら説明する。
通常、論理合成時に階層展開する際には、面積を可能な限り削減するため、タイミングに影響のない範囲で、回路を共有させる。例えば、回路８０１は、機能ブロックＡ、Ｂ、Ｃを含む回路ＴＯＰである。この回路８０１の機能ブロックＡ、Ｂ、Ｃを階層展開した場合、機能ブロックＡ、Ｂ、Ｃには、それぞれＩＮ１とＩＮ２、ＩＮ３とＩＮ４が含まれるので、面積削減の目的でこれらを共有するため回路７０１のように階層展開される。
【０００５】
そして、論理合成後、論理修正が生じた際に、論理修正工程１０５のネットリスト解析工程５０７において回路の解析を行い、修正箇所を決定し、その修正箇所に対してＥＣＯ修正工程５０８によって接続情報を変更して対応する。この際、既存技術では、ネットリスト解析工程５０７に多大な工数を要している。例えば、元の回路８０１の機能ブロックＡに対して回路１４０１のような回路Ａ´という論理変更が生じた場合、回路７０１において、どこをどういうように修正すればよいかの解析に多くの工数がかかる。
【０００６】
これに対し、従来の論理修正分野に対する発明（例えば、特許文献１を参照）は、修正方法自体に対するものではなく、修正後のタイミング違反をなくす方法などであった。
【特許文献１】特開２００２−２５９４７７号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら上記のような従来の論理設計システムでは、半導体集積回路の論理設計時に大規模修正が必要になった場合には、修正箇所の解析や修正内容の検討等により、多大な工数を必要とするため、モジュールにおける論理修正の困難性が増大するという問題点を有していた。
【０００８】
本発明は、上記従来の問題点を解決するもので、従来の設計システムに比べ、半導体集積回路の論理設計時に大規模修正が必要になった場合でも、修正箇所の解析や修正内容の検討の手間を削減し、モジュールの論理修正をより容易化することができる論理合成方法および論理合成装置を提供する。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明の請求項１に記載の論理合成方法は、論理合成時、モジュールを階層展開するに際し、全てのモジュールのピンがネットとして残るよう制約をつけて階層展開し、その後のタイミング最適化・面積最適化工程において前記ネットが消滅しない制約をつけてネットリストを生成する方法としたことを特徴とする。
【００１０】
また、本発明の請求項２に記載の論理合成装置は、請求項１に記載の論理合成方法における処理手順に従って処理実行しモジュールを階層展開するように制御する手段を備えたことを特徴とする。
【００１１】
以上により、全てのモジュールの論理修正の容易化が可能となる。
また、本発明の請求項３に記載の論理合成方法は、論理合成時、モジュールを階層展開するに際し、指定したモジュールのピンがネットとして残るよう制約をつけて階層展開し、その後のタイミング最適化・面積最適化工程において前記ネットが消滅しない制約をつけてネットリストを生成する方法としたことを特徴とする。
【００１２】
また、本発明の請求項４に記載の論理合成装置は、請求項３に記載の論理合成方法における処理手順に従って処理実行しモジュールを階層展開するように制御する手段を備えたことを特徴とする。
【００１３】
以上により、請求項１、２の場合に比べ論理修正の容易化の可能性は低くなるが、面積を抑えることが可能となる。
また、本発明の請求項５に記載の論理合成方法は、論理合成時、モジュールを階層展開するに際し、面積制約を守りつつ、優先指定したモジュールのピンがネットとして残るよう制約をつけて階層展開し、その後のタイミング最適化・面積最適化工程において前記ネットが消滅しない制約をつけてネットリストを生成する方法としたことを特徴とする。
【００１４】
また、本発明の請求項６に記載の論理合成装置は、請求項５に記載の論理合成方法における処理手順に従って処理実行しモジュールを階層展開するように制御する手段を備えたことを特徴とする。
【００１５】
以上により、請求項３、４の場合に比べ論理修正の容易化の可能性は低くなるが、面積オーバーヘッドをなくすことが可能となる。
また、本発明の請求項７に記載の論理合成方法は、論理合成時、モジュールを階層展開するに際し、指定モジュールのピンがネットとして残るよう制約をつけて階層展開し、その後のタイミング最適化・面積最適化工程において面積制約を厳守できる範囲で前記ネットが消滅しないよう最適化を行い、前記ネットを消滅させないと面積制約を守れない場合、あらかじめ元のモジュールに対して優先順位をつけておき、その優先順位に従って、優先順位の低いモジュールのネットから消滅させるという制約をつけて最適化を行う方法としたことを特徴とする。
【００１６】
また、本発明の請求項８に記載の論理合成装置は、請求項７に記載の論理合成方法における処理手順に従って処理実行しモジュールを階層展開するように制御する手段を備えたことを特徴とする。
【００１７】
以上により、請求項５、６の場合に比べ処理時間が長くなるが、面積制約限界までモジュールのピンをネットとして残すことが可能となる。
【発明の効果】
【００１８】
以上のように本発明によれば、半導体集積回路の論理設計時の論理合成の際にモジュールのピンを最適化のために消滅させるのではなく、ネット情報として残して階層展開しておくことにより、論理合成後にあるモジュールに論理修正が生じた際には、階層展開した状態で残したモジュールのネット情報を利用して、修正対象モジュールを再階層化し、修正対象モジュールとの差し替えを行うことができる。
【００１９】
そのため、従来の設計システムに比べ、半導体集積回路の論理設計時に大規模修正が必要になった場合でも、修正箇所の解析や修正内容の検討の手間を削減し、モジュールの論理修正をより容易化することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の一実施の形態を示す論理合成方法および論理合成装置について、図面を参照しながら具体的に説明する。なおここでは、ある半導体のプロセスのセルの接続情報が書かれたものを「ネットリスト」とし、そのネットリスト中のセルを接続しているネットをリスト化したものを「ネットのリスト」として説明する。
（実施の形態１）
本発明の実施の形態１の論理合成方法および論理合成装置について、図１、図７、図８、図９、図１０、図１４を参照しながら説明する。
【００２１】
論理合成工程１０１では、その後工程の論理修正工程１０５で論理変更が容易となるよう制約をつけて論理合成を行う。その制約とは、論理合成工程１０１でモジュールを階層展開する際に、全てのモジュールのピン（外部配線との接続用端子）がネットとして残るよう階層展開する制約（１）１０２である。例えば、回路８０１は、機能ブロックＡ、Ｂ、Ｃを含むＴＯＰである。これら機能ブロックＡ、Ｂ、Ｃを、制約（１）１０２をつけて階層展開した場合は、回路９０１のようになる。なおここでは、階層展開する前の階層が残ったままの状態であれば、一番上の階層ＴＯＰだけを見た場合、機能ブロックＡ、Ｂ、Ｃの中身は見えなくなってしまうため、図７では説明上、ＴＯＰ階層でも、機能ブロックＡ、Ｂ、Ｃと外部ピンを、それぞれの間を接続したもので表すが、実際には、点線で囲んだ中身はＴＯＰ階層では見えない部分となっている。機能ブロックＡ、Ｂ、Ｃの外部ピンは、例えば機能ブロックＡについては、機能ブロックＡを回路８０１のＡ＿ＩＮ１、Ａ＿ＩＮ２、Ａ＿ＩＮ３、Ａ＿ＩＮ４、Ａ＿ＯＵＴに接続するために機能ブロックＡに設けた外部接続用端子であり（機能ブロックＢ、Ｃについても同様）、ネットのリスト１０６として残る。そうして展開してネットとなったものをモジュール名に関連付けてリスト化にしておく。例えば、図１４のように元の機能ブロック別にネットリスト化しておく。
【００２２】
そして、論理合成工程１０１において階層展開後の最適化を行う際も、そのリストに含まれる元々ピンであったネットが消滅しない制約（２）１０３をつけて最適化を行う。制約（１）１０２および制約（２）１０３の制約をつけて合成された論理合成工程１０１の実行後のネットリスト１０４には、モジュールの全てのピンがネットとして存在し、さらに階層展開前に元モジュールのピンであったネットのリスト１０６が残る。つまり、論理合成工程１０１の最適化工程後も、図１４のリストに含まれるネットは消滅せず残る。
【００２３】
論理合成工程１０１より後工程で、論理修正、または論理変更が発生したら、階層展開しているネットリストに対して、論理変更のモジュールを、元モジュールのピンであったネットのリスト１０６を元にして再階層化して、修正後のモジュールと論理を差し替える。この際、論理合成工程１０１において、モジュールのピンを全てネットとして残しているため、全てのモジュールを再階層化可能となり、どのモジュールの論理変更が生じたとしても、容易に対応可能となる。
【００２４】
例えば、機能ブロックＡ内に論理変更が生じて図１３の機能ブロックＡ´になるという論理変更が生じた場合、図８の回路９０１において、図１４のリスト情報を元に、機能ブロックＡの外部入力だったネット情報を抽出する。ここでは、Ａ／Ａ＿ＩＮ１、Ａ／Ａ＿ＩＮ２、Ａ／Ａ＿ＩＮ３、Ａ／Ａ＿ＩＮ４、Ａ／Ａ＿ＯＵＴである。それらのネットにはさまれる論理を抽出し、図９の回路１００１のように階層Ａを作成する。そして、階層Ａに含まれる機能ブロックＡを論理修正対象である機能ブロックＡ´と入れ替えを行い、図１０の回路１１０１を生成して論理修正を行う。修正後の差し替え対象モジュールは、ＲＴＬもネットリストでもよい。
【００２５】
なお、論理合成装置として、以上の論理合成方法で説明した処理手順に従って処理実行し、その処理実行によってモジュールを階層展開するように制御する制御手段を備えた論理合成装置を構成することができる。
（実施の形態２）
本発明の実施の形態２の論理合成方法および論理合成装置について、図２、図７、図１１、図１５を参照しながら説明する。
【００２６】
実施の形態１の場合との違いは、制約（１´）２０２および制約（２´）２０３である。制約（１´）２０２は、あらかじめ対象モジュールを限定しておき、そのモジュールを階層展開する際に、その指定モジュールのピンがネットとして残るよう階層展開する制約である。例えば、回路８０１は、機能ブロックＡ、Ｂ、Ｃを含むＴＯＰである。これら機能ブロックＡ、Ｂ、Ｃに対して、機能ブロックＡを限定して制約（１´）２０２をつけて階層展開した場合は、回路１２０１のようになる。機能ブロックＡの外部ピンは、ネットのリスト１０６として残る。そうして展開してネットとなったものをモジュール名に関連付けてリスト化しておく。例えば、図１５のように、元の機能ブロックＡについてリスト化しておく。
【００２７】
制約（２´）２０３は、階層展開後の最適化を行う際も、その指定モジュールの元々ピンであったネットが消滅しない制約である。つまり、最適化工程により、制約（１´）２０３および制約（２´）２０３の制約をつけて合成されたネットリスト２０４が得られた後も、図１５のネットリスト２０４に含まれるネットは消滅せず残る。そして、機能ブロックＡに論理変更が発生した場合、実施の形態１の場合で示したのと同様に、機能ブロックの差し替えを行って論理修正を行う。
【００２８】
このようにすることで、指定モジュールであれば過不足なく全て再階層化が可能となり、指定モジュールの論理の修正が容易に可能となる。これは実施の形態１の場合に比べて、容易に修正可能なモジュールは限定されてしまうが、面積の削減が可能となる。ただし、指定モジュール以外で論理修正が生じた場合は、従来通りの修正方法で修正を行うことになる。
【００２９】
なお、論理合成装置として、以上の論理合成方法で説明した処理手順に従って処理実行し、その処理実行によってモジュールを階層展開するように制御する制御手段を備えた論理合成装置を構成することができる。
（実施の形態３）
本発明の実施の形態３の論理合成方法および論理合成装置について、図３、図１１、図１５を参照しながら説明する。
【００３０】
実施の形態２の場合との違いは、制約（１´´）３０２および制約（２´´）３０３である。ネットリスト３０４は、制約（１´´）３０２および制約（２´´）３０３を付けて合成したものである。制約（１´´）３０２は、あらかじめ対象モジュールを限定しておき、さらにその限定したモジュールに対して優先順位をつけておく。優先順位は、論理合成工程１０１より後工程の論理修正工程１０５で論理修正の可能性が高いモジュールがあらかじめ分かっている場合は、その優先順位を高くする、というようにつけておく。その優先指定したモジュールを階層展開する際は、その優先指定モジュールのピンが面積制約を厳守してネットとして残るように階層展開する制約である。ただしこの制約は、論理合成工程１０１での論理合成時に、あらかじめ指定されている面積制約を厳守して優先順位に従って影響する。面積制約を超えた場合、モジュールのピンは必ずしもネット化されない。
【００３１】
例えば、回路８０１は、機能ブロックＡ、Ｂ、Ｃを含むＴＯＰであり、これら機能ブロックＡ、Ｂ、Ｃを指定して、さらに優先順位をＡ、Ｂ、Ｃの順に指定した制約（１´´）３０２をつけて階層展開する。階層展開の際は、Ａ→Ｂ→Ｃの順に展開していき、Ｂ展開時に、面積制約を超えたとする。その場合、機能ブロックＡのピンのみがネットのリスト１０６として残り、機能ブロックＢ、Ｃのピンはネットとして残らない。この結果、回路１２０１のようになる。そうして展開してネットとなったものをモジュール名に関連付けてリスト化しておく。例えば、図１５のように、元の機能ブロックＡについてリスト化しておく。
【００３２】
制約（２´´）３０３は、階層展開後の最適化を行う際も、その優先指定モジュールの元々ピンであったネットが消滅しない制約である。あとは、実施の形態２の場合で示したように論理修正を行う。
【００３３】
このようにすることで、優先指定モジュールであって、そのモジュールの優先指定が高いほど再階層化の可能性が高くなり、そのモジュールの論理の修正が容易に可能となる可能性が高くなる。これは、実施の形態２の場合に比べ、容易に修正可能なモジュールが少なくなる可能性があるが、面積オーバーヘッドをなくすことができる。
【００３４】
なお、論理合成装置として、以上の論理合成方法で説明した処理手順に従って処理実行し、その処理実行によってモジュールを階層展開するように制御する制御手段を備えた論理合成装置を構成することができる。
（実施の形態４）
本発明の実施の形態４の論理合成方法および論理合成装置について、図４、図７、図１２を参照しながら説明する。
【００３５】
実施の形態３の場合との違いは、制約（１´´´）４０２および制約（２´´´）４０３である。ネットリスト４０４は、制約（１´´´）４０２および制約（２´´´）４０３を付けて合成したものである。制約（１´´´）４０２は、あらかじめ対象モジュールを限定しておき、その限定したモジュールを階層展開する際は、その指定モジュールのピンがネットのリスト１０６として残るように階層展開する制約である。例えば、回路８０１は、機能ブロックＡ、Ｂ、Ｃを含むＴＯＰであり、これら機能ブロックＡ、Ｂを指定して、制約（１´´´）４０２をつけて階層展開する。この結果、回路１３０１のようになる。そうして展開してネットとなったものをモジュール名に関連付けてリスト化しておく。例えば、図１６のように元の機能ブロック別にリスト化しておく。
【００３６】
制約（２´´´）４０３は、優先指定モジュールの元々ピンであったネットが面積制約を厳守して消滅しない制約であり、限定したモジュールに対してさらに優先順位をつけておき、最適化工程で面積制約が守れない場合、この優先順位に従って、優先順位の低いモジュールのネットからマージ等していき面積制約を満たす。例えば、回路１３０１に対して、機能ブロックＡ、Ｂの順に優先順位をつけ、階層展開後の最適化の際に、この構成のままでは面積制約が満たせない場合、機能ブロックＢの元々ピンであったネット、つまりＢ／Ｂ＿ＩＮ１、Ｂ／Ｂ＿ＩＮ２、Ｂ／Ｂ＿ＩＮ３、Ｂ／Ｂ＿ＩＮ４からマージできるものはマージしていく。その結果、回路１２０１のようになる。あとは実施の形態３の場合で示したように論理修正を行う。
【００３７】
このようにすることで、指定モジュール中の優先度が高いほど再階層化可能となり、そのモジュールの論理の修正が容易に可能となる。これは、実施の形態３の場合に比べて最適化工程の処理時間は長くなるが、設定した面積制約をぎりぎりで満たすため、再階層化の可能性が高くなる。
【００３８】
なお、論理合成装置として、以上の論理合成方法で説明した処理手順に従って処理実行し、その処理実行によってモジュールを階層展開するように制御する制御手段を備えた論理合成装置を構成することができる。
【産業上の利用可能性】
【００３９】
本発明の論理合成方法および論理合成装置は、後工程での論理修正容易化するもので、論理設計時に論理修正の際の作業を容易化することを目的とした半導体集積回路の設計システム等に適用できる。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施の形態１の論理合成装置における論理合成処理を示すフローチャート
【図２】本発明の実施の形態２の論理合成装置における論理合成処理を示すフローチャート
【図３】本発明の実施の形態３の論理合成装置における論理合成処理を示すフローチャート
【図４】本発明の実施の形態４の論理合成装置における論理合成処理を示すフローチャート
【図５】従来の論理合成装置における論理合成処理を示すフローチャート
【図６】従来の論理合成方法による階層展開後の回路図
【図７】従来の論理合成方法による階層展開前の回路図
【図８】本発明の実施の形態１の論理合成方法による階層展開後の回路図
【図９】本発明の実施の形態１の論理合成方法による論理修正処理を示す回路図
【図１０】本発明の実施の形態１の論理合成方法による論理修正処理後の回路図
【図１１】本発明の実施の形態２の論理合成方法による階層展開後の回路図
【図１２】本発明の実施の形態４の論理合成方法による階層展開後の回路図
【図１３】従来の論理合成方法による論理変更例を示す回路図
【図１４】本発明の実施の形態１の論理合成装置および論理合成方法におけるネットリストの説明図
【図１５】本発明の実施の形態２の論理合成装置および論理合成方法におけるネットリストの説明図
【図１６】本発明の実施の形態４の論理合成装置および論理合成方法におけるネットリストの説明図
【符号の説明】
【００４１】
１０１    論理合成工程
１０２    制約１
１０３    制約２
１０４    ネットリスト
１０５    論理修正工程
１０６    階層展開前にモジュールのピンであったネットのリスト
２０２    制約１´
２０３    制約２´
２０４    ネットリスト
３０２    制約１´´
３０３    制約２´´
３０４    ネットリスト
４０２    制約１´´´
４０３    制約２´´´
４０４    ネットリスト
５０４    ネットリスト
５０７    ネットリスト解析工程
５０８    ＥＣＯ修正工程
７０１    階層展開後回路図
８０１    階層展開前回路図
９０１    生成回路図
１００１    論理修正例
１１０１    論理修正例
１２０１    生成回路図
１３０１    生成回路図
１４０１    論理変更例
【図１】
2005122577.tif 000003
【図２】
2005122577.tif 000004
【図３】
2005122577.tif 000005
【図４】
2005122577.tif 000006
【図５】
2005122577.tif 000007
【図６】
2005122577.tif 000008
【図７】
2005122577.tif 000009
【図８】
2005122577.tif 000010
【図９】
2005122577.tif 000011
【図１０】
2005122577.tif 000012
【図１１】
2005122577.tif 000013
【図１２】
2005122577.tif 000014
【図１３】
2005122577.tif 000015
【図１４】
2005122577.tif 000016
【図１５】
2005122577.tif 000017
【図１６】
2005122577.tif 000018