(57)【特許請求の範囲】
【請求項１】
論理合成によってレジスタ転送レベルから論理回路を合成し、前記レジスタ転送レベル上の論理修正で、論理修正前に冗長で削除された論理回路の論理が論理修正によって冗長でなくなってしまうことがあるＬＳＩ設計において、前記論理回路の論理修正を論理修正支援装置にて支援するＬＳＩ設計システムであって、
前記論理修正支援装置は、論理修正前後のレジスタ転送レベルをそれぞれ論理合成して新旧の論理回路を生成する手段と、生成された前記新旧の論理回路から新旧の冗長故障リストを作成する手段と、作成された前記新旧の冗長故障リストを比較する比較手段と、その比較結果を基に前記論理修正によって冗長でなくなる論理回路の論理を見つけ出す手段とを有することを特徴とするＬＳＩ設計システム。
【請求項２】
前記新旧の論理回路を生成する手段は、前記論理修正前のレジスタ転送レベルを１文が１つの階層になるように階層分割して階層化旧レジスタ転送レベルを生成する第１の階層化手段と、その階層化旧レジスタ転送レベルを階層の情報を保った状態で論理合成して旧階層論理回路を生成する第１の論理合成手段と、前記論理修正後のレジスタ転送レベルを１文が１つの階層になるように階層分割して階層化新レジスタ転送レベルを生成する第２の階層化手段と、その階層化新レジスタ転送レベルを階層の情報を保った状態で論理合成して新階層論理回路を生成する第２の論理合成手段とを含み、
前記新旧の冗長故障リストを作成する手段は、前記旧階層論理回路の冗長故障リストを作成する第１の作成手段と、前記新階層論理回路の冗長故障リストを作成する第２の作成手段とを含み、
前記比較手段は、前記第１の作成手段で作成された前記旧階層論理回路の冗長故障リストと前記第２の作成手段で作成された前記新階層論理回路の冗長故障リストとを比較することを特徴とする請求項１記載のＬＳＩ設計システム。
【請求項３】
前記論理修正支援装置は、前記階層化旧レジスタ転送レベルと前記階層化新レジスタ転送レベルとにおいて各階層毎に前記レジスタ転送レベルの論理記述が等価かどうかを形式検証して等価でない階層を異階層リストに登録する手段と、前記新階層論理回路のうち前記異階層リストにない階層を前記旧階層論理回路の同一階層の部分回路に置き換えて変換後階層論理回路を生成する手段とを含み、
前記第２の作成手段は、前記変換後階層論理回路の冗長故障リストを作成することを特徴とする請求項２記載のＬＳＩ設計システム。
【請求項４】
論理合成によってレジスタ転送レベルから論理回路を合成し、前記レジスタ転送レベル上の論理修正で、論理修正前に冗長で削除された論理回路の論理が論理修正によって冗長でなくなってしまうことがあるＬＳＩ設計において、前記論理回路の論理修正を支援する論理修正支援装置であって、
論理修正前後のレジスタ転送レベルをそれぞれ論理合成して新旧の論理回路を生成する手段と、生成された前記新旧の論理回路から新旧の冗長故障リストを作成する手段と、作成された前記新旧の冗長故障リストを比較する比較手段と、その比較結果を基に前記論理修正によって冗長でなくなる論理回路の論理を見つけ出す手段とを有することを特徴とする論理修正支援装置。
【請求項５】
前記新旧の論理回路を生成する手段は、前記論理修正前のレジスタ転送レベルを１文が１つの階層になるように階層分割して階層化旧レジスタ転送レベルを生成する第１の階層化手段と、その階層化旧レジスタ転送レベルを階層の情報を保った状態で論理合成して旧階層論理回路を生成する第１の論理合成手段と、前記論理修正後のレジスタ転送レベルを１文が１つの階層になるように階層分割して階層化新レジスタ転送レベルを生成する第２の階層化手段と、その階層化新レジスタ転送レベルを階層の情報を保った状態で論理合成して新階層論理回路を生成する第２の論理合成手段とを含み、
前記新旧の冗長故障リストを作成する手段は、前記旧階層論理回路の冗長故障リストを作成する第１の作成手段と、前記新階層論理回路の冗長故障リストを作成する第２の作成手段とを含み、
前記比較手段は、前記第１の作成手段で作成された前記旧階層論理回路の冗長故障リストと前記第２の作成手段で作成された前記新階層論理回路の冗長故障リストとを比較することを特徴とする請求項４記載の論理修正支援装置。
【請求項６】
前記階層化旧レジスタ転送レベルと前記階層化新レジスタ転送レベルとにおいて各階層毎に前記レジスタ転送レベルの論理記述が等価かどうかを形式検証して等価でない階層を異階層リストに登録する手段と、前記新階層論理回路のうち前記異階層リストにない階層を前記旧階層論理回路の同一階層の部分回路に置き換えて変換後階層論理回路を生成する手段とを含み、
前記第２の作成手段は、前記変換後階層論理回路の冗長故障リストを作成することを特徴とする請求項５記載の論理修正支援装置。
【請求項７】
論理合成によってレジスタ転送レベルから論理回路を合成し、前記レジスタ転送レベル上の論理修正で、論理修正前に冗長で削除された論理回路の論理が論理修正によって冗長でなくなってしまうことがあるＬＳＩ設計において、前記論理回路の論理修正を論理修正支援装置にて支援するＬＳＩ設計システムに用いられる論理修正支援方法であって、
前記論理修正支援装置が、論理修正前後のレジスタ転送レベルをそれぞれ論理合成して新旧の論理回路を生成する処理と、生成された前記新旧の論理回路から新旧の冗長故障リストを作成する処理と、作成された前記新旧の冗長故障リストを比較する比較処理と、その比較結果を基に前記論理修正によって冗長でなくなる論理回路の論理を見つけ出す処理とを実行することを特徴とする論理修正支援方法。
【請求項８】
前記新旧の論理回路を生成する処理は、前記論理修正前のレジスタ転送レベルを１文が１つの階層になるように階層分割して階層化旧レジスタ転送レベルを生成する第１の階層化処理と、その階層化旧レジスタ転送レベルを階層の情報を保った状態で論理合成して旧階層論理回路を生成する第１の論理合成処理と、前記論理修正後のレジスタ転送レベルを１文が１つの階層になるように階層分割して階層化新レジスタ転送レベルを生成する第２の階層化処理と、その階層化新レジスタ転送レベルを階層の情報を保った状態で論理合成して新階層論理回路を生成する第２の論理合成処理とを含み、
前記新旧の冗長故障リストを作成する処理は、前記旧階層論理回路の冗長故障リストを作成する第１の作成処理と、前記新階層論理回路の冗長故障リストを作成する第２の作成処理とを含み、
前記比較処理において、前記第１の作成手段で作成された前記旧階層論理回路の冗長故障リストと前記第２の作成手段で作成された前記新階層論理回路の冗長故障リストとを比較することを特徴とする請求項７記載の論理修正支援方法。
【請求項９】
前記論理修正支援装置が、前記階層化旧レジスタ転送レベルと前記階層化新レジスタ転送レベルとにおいて各階層毎に前記レジスタ転送レベルの論理記述が等価かどうかを形式検証して等価でない階層を異階層リストに登録する処理と、前記新階層論理回路のうち前記異階層リストにない階層を前記旧階層論理回路の同一階層の部分回路に置き換えて変換後階層論理回路を生成する処理とを実行し、
前記第２の作成処理にて、前記変換後階層論理回路の冗長故障リストを作成することを特徴とする請求項８記載の論理修正支援方法。
【請求項１０】
論理合成によってレジスタ転送レベルから論理回路を合成し、前記レジスタ転送レベル上の論理修正で、論理修正前に冗長で削除された論理回路の論理が論理修正によって冗長でなくなってしまうことがあるＬＳＩ設計において、前記論理回路の論理修正を支援する論理修正支援装置内のコンピュータに実行させるプログラムであって、
論理修正前後のレジスタ転送レベルをそれぞれ論理合成して新旧の論理回路を生成する処理と、生成された前記新旧の論理回路から新旧の冗長故障リストを作成する処理と、作成された前記新旧の冗長故障リストを比較する比較処理と、その比較結果を基に前記論理修正によって冗長でなくなる論理回路の論理を見つけ出す処理とを含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＬＳＩ設計システム、論理修正支援装置及びそれらに用いる論理修正支援方法並びにそのプログラムに関し、特にＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）設計において、合成済みの論理回路を修正する方法に関する。
【背景技術】
【０００２】
従来、ＬＳＩ設計においては、与えられたハードウェア仕様を、機能設計、論理設計、回路設計、レイアウト設計等の設計工程によって徐々に詳細化し、最終的にマスクパターンに変換している（例えば、特許文献１参照）。各設計工程では、通常、コンピュータを利用して設計が行われているが、人手を介さずにコンピュータだけで自動的に設計が行われることは少なく、人手設計をコンピータが支援するという方式がとられている。
【０００３】
ＬＳＩの設計工程のうち、機能設計においては、ハードウェアの動作を表現する動作記述を論理合成ツールの入力となるＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ：レジスタ転送レベル）の記述に変換する動作合成ツールが開発されており、このようなツールの利用によって設計期間の大幅な短縮を可能としている。
【０００４】
また、論理設計においては、ＲＴＬの記述をゲートレベルの論理回路に変換する論理合成ツールが開発されている。設計者は論理合成ツールを利用する際にチップ面積や遅延時間等の制約条件を設定することができる。レイアウト設計は、最も初期の段階から自動化が進んでいる設計工程の一つであり、マクロセルとそれらの接続関係を入力すると、それらをチップ上に配置し、マクロセル間の配線経路を決定する自動レイアウトツールが開発されている。
【０００５】
【特許文献１】特開２００５−１６５６８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述した従来のＬＳＩ設計では、論理合成によってＲＴＬから合成された論理回路に対し、論理を一部だけ修正したい場合、一般にＲＴＬから再合成すると、修正が一部にもかかわらず、全ての回路が変更されてしまう。そこで、合成済みの論理回路を手修正することになる。
【０００７】
しかしながら、従来のＬＳＩ設計では、図１０に示すように、ＲＴＬ上の論理で、論理修正前に冗長で削除されたものが、論理修正によって冗長でなくなってしまうことがある。そのため、合成済みの論理回路では、図１１に示すように、冗長な論理が既に削除されているため、論理修正によって冗長でなくなってしまう部分を復元する必要がある。このような場合、従来のＬＳＩ設計では、この冗長論理を回路に復元する必要があるが、冗長論理の存在が分らずに、論理修正が非常に困難になることが多い。
【０００８】
そこで、本発明の目的は上記の問題点を解消し、論理の手修正をする場合に修正不足の論理を簡単に見つけることができるＬＳＩ設計システム、論理修正支援装置及びそれらに用いる論理修正支援方法並びにそのプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明によるＬＳＩ設計システムは、論理合成によってレジスタ転送レベルから論理回路を合成し、前記レジスタ転送レベル上の論理修正で、論理修正前に冗長で削除された論理回路の論理が論理修正によって冗長でなくなってしまうことがあるＬＳＩ設計において、前記論理回路の論理修正を論理修正支援装置にて支援するＬＳＩ設計システムであって、
前記論理修正支援装置は、論理修正前後のレジスタ転送レベルをそれぞれ論理合成して新旧の論理回路を生成する手段と、生成された前記新旧の論理回路から新旧の冗長故障リストを作成する手段と、作成された前記新旧の冗長故障リストを比較する比較手段と、その比較結果を基に前記論理修正によって冗長でなくなる論理回路の論理を見つけ出す手段とを備えている。
【００１０】
本発明による論理修正支援装置は、論理合成によってレジスタ転送レベルから論理回路を合成し、前記レジスタ転送レベル上の論理修正で、論理修正前に冗長で削除された論理回路の論理が論理修正によって冗長でなくなってしまうことがあるＬＳＩ設計において、前記論理回路の論理修正を支援する論理修正支援装置であって、
論理修正前後のレジスタ転送レベルをそれぞれ論理合成して新旧の論理回路を生成する手段と、生成された前記新旧の論理回路から新旧の冗長故障リストを作成する手段と、作成された前記新旧の冗長故障リストを比較する比較手段と、その比較結果を基に前記論理修正によって冗長でなくなる論理回路の論理を見つけ出す手段とを備えている。
【００１１】
本発明による論理修正支援方法は、論理合成によってレジスタ転送レベルから論理回路を合成し、前記レジスタ転送レベル上の論理修正で、論理修正前に冗長で削除された論理回路の論理が論理修正によって冗長でなくなってしまうことがあるＬＳＩ設計において、前記論理回路の論理修正を論理修正支援装置にて支援するＬＳＩ設計システムに用いられる論理修正支援方法であって、
前記論理修正支援装置が、論理修正前後のレジスタ転送レベルをそれぞれ論理合成して新旧の論理回路を生成する処理と、生成された前記新旧の論理回路から新旧の冗長故障リストを作成する処理と、作成された前記新旧の冗長故障リストを比較する比較処理と、その比較結果を基に前記論理修正によって冗長でなくなる論理回路の論理を見つけ出す処理とを実行している。
【００１２】
本発明によるプログラムは、論理合成によってレジスタ転送レベルから論理回路を合成し、前記レジスタ転送レベル上の論理修正で、論理修正前に冗長で削除された論理回路の論理が論理修正によって冗長でなくなってしまうことがあるＬＳＩ設計において、前記論理回路の論理修正を支援する論理修正支援装置内のコンピュータに実行させるプログラムであって、
論理修正前後のレジスタ転送レベルをそれぞれ論理合成して新旧の論理回路を生成する処理と、生成された前記新旧の論理回路から新旧の冗長故障リストを作成する処理と、作成された前記新旧の冗長故障リストを比較する比較処理と、その比較結果を基に前記論理修正によって冗長でなくなる論理回路の論理を見つけ出す処理とを含むことを特徴とする。
【００１３】
すなわち、本発明の論理修正支援装置は、論理修正前のＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ：レジスタ転送レベル）と、論理修正後のＲＴＬとにおいて、両者の冗長故障を比較することによって、論理修正前に冗長だった論理で、論理修正後に冗長でなくなるものを発見し、論理回路の手修正を支援することを特徴とする。
【００１４】
本発明の論理修正支援装置では、このような論理修正前に冗長であるが、論理修正後は冗長でなくなる論理を見つけることが可能となるため、論理修正を容易かつ短時間で行うことが可能となる。よって、本発明の論理修正支援装置では、論理の手修正をする場合に、修正不足の論理を簡単に見つけることが可能となる。
【発明の効果】
【００１５】
本発明は、以下に述べるような構成及び動作とすることで、論理の手修正をする場合に修正不足の論理を簡単に見つけることができるという効果が得られる。
【発明を実施するための最良の形態】
【００１６】
次に、本発明の実施例について図面を参照して説明する。図１は本発明の一実施例による論理修正支援装置の構成を示すブロック図である。図１において、本発明の一実施例による論理修正支援装置は、文単位階層化部１ａ，１ｂと、階層比較部２と、論理合成部３ａ，３ｂと、階層変換部４と、冗長故障検出部５ａ，５ｂと、冗長故障比較部６とから構成されている。これら本発明の一実施例による論理修正支援装置の各部の処理は図示せぬＣＰＵ（中央処理装置）がコンピュータで実行可能なプログラムを実行することでも実現可能である。
【００１７】
また、本発明の一実施例による論理修正支援装置は、与えられたハードウェア仕様を、機能設計、論理設計、回路設計、レイアウト設計等の設計工程によって徐々に詳細化し、最終的にマスクパターンに変換するＬＳＩ設計システムに用いられ、各設計工程については上述した従来のＬＳＩ設計と同様である。但し、本実施例でも、ＬＳＩの設計工程のうちの機能設計において、ハードウェアの動作を表現する動作記述を論理合成ツールの入力となるＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ：レジスタ転送レベル）の記述に変換する動作合成ツールの利用によって設計期間の大幅な短縮を可能としている。
【００１８】
文単位階層化部１ａは、論理修正前のＲＴＬである旧ＲＴＬ７を１文が１つの階層になるように階層分割した階層化旧ＲＴＬ９を生成する。同様に、文単位階層化部１ｂは、論理修正後のＲＴＬである新ＲＴＬ８を１文が１つの階層になるように階層分割した階層化新ＲＴＬ１０を生成する。
【００１９】
階層比較部２では、階層化新ＲＴＬ１０と階層化旧ＲＴＬ９とで、各階層毎にＲＴＬ論理記述が等価かどうかを従来の論理等価性ツールを用いて形式検証し、等価でない階層を異階層リスト１１に登録する。論理合成部３ａでは、階層化旧ＲＴＬ９を階層の情報を保った状態で論理合成して旧階層論理回路１２を生成する。同様に、論理合成部３ｂでは、階層化新ＲＴＬ１０を階層の情報を保った状態で論理合成し、新階層論理回路１３を生成する。
【００２０】
階層変換部４では、新階層論理回路１３のうち異階層リスト１１にない階層を旧階層論理回路１２の同一階層の部分回路に置き換え、変換後階層論理回路１４を生成する。冗長故障検出部５ａでは、旧階層論理回路１２の旧冗長故障リスト１５を作成する。同様に、冗長故障検出部５ｂでは、変換後階層論理回路１４の新冗長故障リスト１６を作成する。冗長故障比較部６では、旧冗長故障リスト１５と新冗長故障リスト１６とを比較して差分を検出し、差分リスト１７を出力する。
【００２１】
図２は本発明の一実施例で用いる旧ＲＴＬ７の一例を示す図であり、図３は図１の文単位階層化部１ａで作成される階層化旧ＲＴＬ９の一例を示す図であり、図４は図１の論理合成部３ａで階層化旧ＲＴＬ９から合成した旧階層論理回路１２の一例を示す図である。
【００２２】
図５は本発明の一実施例で用いる新ＲＴＬ８の一例を示す図であり、図６は図１の文単位階層化部１ｂで作成される階層化新ＲＴＬ１０の一例を示す図であり、図７は図１の論理合成部３ｂで階層化新ＲＴＬ１０から合成した新階層論理回路１３の一例を示す図である。
【００２３】
図８は図１の階層変換部４で変換された変換後階層論理回路１４の一例を示す図であり、図９は図１の旧階層論理回路１２の旧冗長故障リスト１５に登録される箇所の例を示す図である。これら図１〜図９を参照して本発明の一実施例による論理修正支援装置の動作について説明する。尚、図４、図７〜図９において、ａ〜ｅは入力ポート、ｙ１，ｙ２は出力ポート、ｔは中継用のポート、Ｇ１〜Ｇ１１は論理素子である。
【００２４】
文単位階層化部１ａは、図２に示す旧ＲＴＬ７を入力として１文が１つの階層になるように階層分割し、図３に示す階層化旧ＲＴＬ９を作成する。この時、文単位階層化部１ａは各下位階層の信号と他階層との接続関係も、階層間の接続として出力する（図３に示すＴＯＰ）。
【００２５】
旧ＲＴＬ７が、図２に示すように、
ｍｏｄｕｌｅ  ＴＯＰ１（ａ，ｂ，ｃ，ｄ，ｅ，ｙ１，ｙ２）；
ｉｎｐｕｔ  ａ，ｂ，ｃ，ｄ，ｅ；
ｏｕｔｐｕｔ  ｙ１，ｙ２；
ｗｉｒｅ  ｔ  ｙ１，ｙ２；
ｙ１＝ａｓｓｉｇｎ  ａ｜ｂ；
ｔ＝ａｓｓｉｇｎ〜（ｄ＆ｅ）；
ｙ２＝ａｓｓｉｇｎ（（ｃ＆ｔ）｜〜ｅ）；
ｅｎｄｍｏｄｕｌｅ
である場合、階層化旧ＲＴＬ９は、図３に示すように、
ｍｏｄｕｌｅ  ＴＯＰ１（ａ，ｂ，ｃ，ｄ，ｅ，ｙ１，ｙ２）；
ｉｎｐｕｔ  ａ，ｂ，ｃ，ｄ，ｅ；
ｏｕｔｐｕｔ  ｙ１，ｙ２；
ＳＵＢ１  ＳＵＢ１（ａ，ｂ，ｙ１）；
ＳＵＢ２  ＳＵＢ２（ｄ，ｅ，ｔ）；
ＳＵＢ３  ＳＵＢ３（ｃ，ｔ，ｅ，ｙ２）；
ｅｎｄｍｏｄｕｌｅ
ｍｏｄｕｌｅ  ＳＵＢ１（ａ，ｂ，ｙ１）；
ｉｎｐｕｔ  ａ，ｂ；
ｏｕｔｐｕｔ  ｙ１；
ｙ１＝ａｓｓｉｇｎ  ａ｜ｂ；
ｅｎｄｍｏｄｕｌｅ
ｍｏｄｕｌｅ  ＳＵＢ２（ｄ，ｅ，ｔ）；
ｉｎｐｕｔ  ｄ，ｅ；
ｏｕｔｐｕｔ  ｔ；
ｔ＝ａｓｓｉｇｎ〜（ｄ＆ｅ）；
ｅｎｄｍｏｄｕｌｅ
ｍｏｄｕｌｅ  ＳＵＢ３（ｃ，ｔ，ｅ，ｙ２）；
ｉｎｐｕｔ  ｃ，ｔ，ｅ；
ｏｕｔｐｕｔ  ｙ２；
ｙ２＝ａｓｓｉｇｎ（（ｃ＆ｔ）｜〜ｅ）；
ｅｎｄｍｏｄｕｌｅ
となる。
【００２６】
上記と同様に、文単位階層化部１ｂは、図５に示す新ＲＴＬ８を入力として１文が１つの階層になるよう階層分割し、図６に示す階層化新ＲＴＬ１０を作成する。新ＲＴＬ８が、図５に示すように、
ｍｏｄｕｌｅ  ＴＯＰ１（ａ，ｂ，ｃ，ｄ，ｅ，ｙ１，ｙ２）；
ｉｎｐｕｔ  ａ，ｂ，ｃ，ｄ，ｅ；
ｏｕｔｐｕｔ  ｙ１，ｙ２；
ｗｉｒｅ  ｔ  ｙ１，ｙ２；
ｙ１＝ａｓｓｉｇｎ  ａ｜ｂ；
ｔ＝ａｓｓｉｇｎ〜（ｄ＆ｅ）；
ｙ２＝ａｓｓｉｇｎ（（ｃ＆ｔ）｜〜ｙ１）；
ｅｎｄｍｏｄｕｌｅ
である場合、階層化新ＲＴＬ１０は、図６に示すように、
ｍｏｄｕｌｅ  ＴＯＰ１（ａ，ｂ，ｃ，ｄ，ｅ，ｙ１，ｙ２）；
ｉｎｐｕｔ  ａ，ｂ，ｃ，ｄ，ｅ；
ｏｕｔｐｕｔ  ｙ１，ｙ２；
ＳＵＢ１  ＳＵＢ１（ａ，ｂ，ｙ１）；
ＳＵＢ２  ＳＵＢ２（ｄ，ｅ，ｔ）；
ＳＵＢ３  ＳＵＢ３（ｃ，ｔ，ｙ１，ｙ２）；
ｅｎｄｍｏｄｕｌｅ
ｍｏｄｕｌｅ  ＳＵＢ１（ａ，ｂ，ｙ１）；
ｉｎｐｕｔ  ａ，ｂ；
ｏｕｔｐｕｔ  ｙ１；
ｙ１＝ａｓｓｉｇｎ  ａ｜ｂ；
ｅｎｄｍｏｄｕｌｅ
ｍｏｄｕｌｅ  ＳＵＢ２（ｄ，ｅ，ｔ）；
ｉｎｐｕｔ  ｄ，ｅ；
ｏｕｔｐｕｔ  ｔ；
ｔ＝ａｓｓｉｇｎ〜（ｄ＆ｅ）；
ｅｎｄｍｏｄｕｌｅ
ｍｏｄｕｌｅ  ＳＵＢ３（ｃ，ｔ，ｙ１，ｙ２）；
ｉｎｐｕｔ  ｄ，ｙ１；
ｏｕｔｐｕｔ  ｔ；
ｙ２＝ａｓｓｉｇｎ（（ｃ＆ｔ）｜〜ｙ１）；
ｅｎｄｍｏｄｕｌｅ
となる。
【００２７】
階層比較部２では、図３に示す階層化旧ＲＴＬ９と図６に示す階層化新ＲＴＬ１０とで、下位階層の出力信号が同一であるような各階層毎に信号名で対応をとってＲＴＬ論理記述が等価かどうかを従来の論理等価性ツールで形式検証し、等価でない階層を異階層リスト１１に登録する。本実施例では、図３に示す階層ＳＵＢ３の入力ピンｅに対応するピンが図７に示すＳＵＢ３に存在しないため、ＳＵＢ３の階層では論理不一致となり、異階層リスト１１に登録される。
【００２８】
論理合成部３ａでは、階層化旧ＲＴＬ９を階層の情報を保った状態で論理合成し、旧階層論理回路１２を生成する。同様に、論理合成部３ｂでは、階層化新ＲＴＬ１０を階層の情報を保った状態で論理合成し、新階層論理回路１３を生成する。図４には、図３に示す階層化旧ＲＴＬ９から論理合成部３ａで合成した階層論理回路の例を示している。図７には、図６に示す階層化新ＲＴＬ１０から論理合成部３ｂで合成した階層論理回路の例を示している。
【００２９】
階層変換部４では、論理合成部３ｂで作成した論理回路のうち異階層リスト１１にない階層を論理合成部３ａで作成した論理回路の同一階層の論理回路に置き換える。これによって、論理修正に関係がない階層としては、旧階層と同一である階層論理回路を作成することができる。本実施例では、図７に示すＳＵＢ３以外の階層を図４に示す同一階層に置き換える。図８には、階層変換部４で変換された変換後階層論理回路１４の例を示している。
【００３０】
冗長故障検出部５ａでは、旧階層論理回路１２の旧冗長故障リスト１５を作成し、冗長故障検出部５ｂでは、変換後階層論理回路１４の新冗長故障リスト１６を作成する。本実施例では、旧階層論理回路１２の旧冗長故障リスト１５に登録されるのは、図９に示すように、図４に示す入力ポートｅからＳＵＢ２のＧ２への接続となる。また、変換後階層論理回路１４の新冗長故障リスト１６に登録される接続はない。
【００３１】
冗長故障比較部６では、旧冗長故障リスト１５と新冗長故障リスト１６とを比較して差分を検出する。本実施例では、検出される差分は、図９に示す入力ポートｅからＳＵＢ２のＧ２への接続となる。したがって、旧ＲＴＬ７から合成された回路から新ＲＴＬ８と等価な論理に修正するには、図９に示すＳＵＢ３の入力ピンｅからｆ１への接続の修正の他に、冗長故障比較部６で検出される差分にあたる図９に示す入力ポートｅからＳＵＢ２のＧ２への接続冗長でなくなっているネットの論理を追加しなければならないことが分かる。
【００３２】
このように、本実施例では、論理修正前に冗長であるが、論理修正後は冗長でなくなる論理を簡単に見つけ出すことができるため、論理の手修正をする場合に、修正不足の論理を簡単に見つけることができる。
【産業上の利用可能性】
【００３３】
本発明は、ＬＳＩ設計において、合成済みの論理回路を手修正する場合に適用可能である。
【図面の簡単な説明】
【００３４】
【図１】本発明の一実施例による論理修正支援装置の構成を示すブロック図である。
【図２】本発明の一実施例で用いる旧ＲＴＬの一例を示す図である。
【図３】図１の文単位階層化部１ａで作成される階層化旧ＲＴＬの一例を示す図である。
【図４】図１の論理合成部３ａで階層化旧ＲＴＬから合成した旧階層論理回路の一例を示す図である。
【図５】本発明の一実施例で用いる新ＲＴＬの一例を示す図である。
【図６】図１の文単位階層化部１ｂで作成される階層化新ＲＴＬの一例を示す図である。
【図７】図１の論理合成部３ｂで階層化新ＲＴＬから合成した新階層論理回路１３の一例を示す図である。
【図８】図１の階層変換部で変換された変換後階層論理回路の一例を示す図である。
【図９】図１の旧階層論理回路の旧冗長故障リストに登録される箇所の例を示す図である。
【図１０】従来のＬＳＩ設計の問題点を説明するための図である。
【図１１】従来のＬＳＩ設計の問題点を説明するための図である。
【符号の説明】
【００３５】
１ａ，１ｂ  文単位階層化部
２  階層比較部
３ａ，３ｂ  論理合成部
４  階層変換部
５ａ，５ｂ  冗長故障検出部
６  冗長故障比較部
７  旧ＲＴＬ
８  新ＲＴＬ
９  階層化旧ＲＴＬ
１０  階層化新ＲＴＬ
１１  異階層リスト
１２  旧階層論理回路
１３  新階層論理回路
１４  変換後階層論理回路
１５  旧冗長故障リスト
１６  新冗長故障リスト
１７  差分リスト
【図１】
0004752404.tif 000002
【図２】
0004752404.tif 000003
【図３】
0004752404.tif 000004
【図４】
0004752404.tif 000005
【図５】
0004752404.tif 000006
【図６】
0004752404.tif 000007
【図７】
0004752404.tif 000008
【図８】
0004752404.tif 000009
【図９】
0004752404.tif 000010
【図１０】
0004752404.tif 000011
【図１１】
0004752404.tif 000012