JP4549571B2 - フォールスパス検出装置、フォールスパス検出方法およびそのプログラム - Google Patents
フォールスパス検出装置、フォールスパス検出方法およびそのプログラム Download PDFInfo
- Publication number
- JP4549571B2 JP4549571B2 JP2001146506A JP2001146506A JP4549571B2 JP 4549571 B2 JP4549571 B2 JP 4549571B2 JP 2001146506 A JP2001146506 A JP 2001146506A JP 2001146506 A JP2001146506 A JP 2001146506A JP 4549571 B2 JP4549571 B2 JP 4549571B2
- Authority
- JP
- Japan
- Prior art keywords
- path
- active
- information
- transfer
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Description
【発明の属する技術分野】
この発明は、動作合成により生成された回路において、回路動作の組み合わせでアクティブにならないパスであるフォールスパスを検出するフォールスパス検出装置、フォールスパス検出方法およびそのプログラム関するものである。
【0002】
【従来の技術】
従来、特に大規模な論理回路の設計において用いられる技術として、ハードウェアの構造を含まない、動作のみを記述した動作記述から、RTL(Register Transfer Level)回路を自動生成する動作合成技術がある。さらに、このRTL回路を、ゲートレベルのネットリストへ変換する論理合成技術があり、この時に生成される回路は、全てのパス(データの経路)の遅延が所定の時間内に収まるよう、所定の遅延制約の基で回路が生成される。この時、特に状態遷移のある回路等において、全ての状態に渡って同時にはアクティブにならない転送路の組み合わせパスがある。このパスがフォールスパスであり、他の状態でアクティブになるパス(以下、トゥルーパスという)の組み合わせで、最終的なフォールスパスが決まる。
【0003】
上述した論理合成の回路では、トゥルーパスの遅延制約さえ満足していれば、フォールスパスの遅延がいくら大きくなっても回路は正常に動作する。そこで、論理合成時にトゥルーパスとフォールスパスに関する情報を反映させ、フォールスパスに対して遅延制約を行わないようにしていた。この際、動作合成後の回路情報からトゥルーパスとフォールスパスに関する情報を抽出する方法として、回路における全てのパスのパターンについて、トゥルーパスの情報を参照し比較することで、トゥルーパスであるかフォールスパスであるかを検証する方法がある。以下にその方法を用いたフォールスパス検出装置について図を用いて説明する。
【0004】
図6は、従来のフォールスパス検出装置を示す図である。フォールスパス検出装置3は、動作合成システム1から出力される回路情報と、データフロー情報と、リソース割り当て情報とを記憶装置4を介して受信し、以下に示す処理を行ってフォールスパス情報を出力する。
トゥルーパス列挙手段31は、回路情報とデータフロー情報、リソース割り当て情報から、回路中のトゥルーパスをすべて抽出し、トゥルーパス格納手段34へ格納する。フォールスパス候補生成手段32は、トゥルーパス格納手段34中の任意の組み合わせで構成される部分回路のうち演算器が共有されているものすべてに対して、当該部分回路を構成したトゥルーパス以外に当該部分回路中に存在するすべてのパスを抽出し、フォールスパス最短化手段33へ出力する。フォールスパス最短化手段33は、すべてのフォールスパス候補に対して、当該フォールスパス候補がトゥルーパスでないことを確認しながら当該パスを両端から縮めていき、冗長なパスを含まない最短のフォールスパスを出力装置2へ出力する。
【0005】
【発明が解決しようとする課題】
上述したように、従来は、全てのトゥルーパスの情報を格納するので、大規模な集積回路の回路情報となると、大量のメモリが必要になるという問題があった。また、フォールスパス候補の最短化を行うのに、トゥルーパスとの比較を繰り返し行うため、処理に時間がかかるという問題があった。また、集積回路の規模が今後更に増大するのは確実であり、場合によっては、メモリ不足や、処理時間が実使用に耐えうる処理時間に収まりきれない等の原因で、更なる大規模回路に適用できないという問題があった。
【0006】
この発明は、上述した事情を考慮してなされたもので、メモリの使用量がより少なく、処理が高速であるフォールスパス検出装置、フォールスパス検出方法およびそのプログラムを提供することを目的とする。
【0007】
【課題を解決するための手段】
この発明は、上述した課題を解決すべくなされたもので、本発明によるフォールスパス検出装置においては、動作合成により生成された回路に関する情報である回路情報、回路上のデータの流れを示すデータフロー情報、回路を構成する機能素子の割り当て情報、を基に回路中の各転送路がアクティブになる条件情報を抽出するアクティブ条件抽出手段と、条件情報を転送路毎に回路情報に関連付けて格納するアクティブ条件付き回路情報データベースと、アクティブ条件付き回路情報データベースを参照して、回路動作の組み合わせにおいてアクティブにならないパスであるフォールスパスを転送路毎に探索処理するフォールスパス探索手段とを具備することを特徴とする。
【0008】
これにより、動作合成により生成された回路に関する情報である回路情報、回路上のデータの流れを示すデータフロー情報、回路を構成する機能素子の割り当て情報、を基に回路中の各転送路がアクティブになる条件情報を抽出するアクティブ条件抽出手段と、条件情報を転送路毎に回路情報に関連付けて格納するアクティブ条件付き回路情報データベースと、アクティブ条件付き回路情報データベースを参照して、回路動作の組み合わせにおいてアクティブにならないパスであるフォールスパスを転送路毎に探索処理するフォールスパス探索手段とを具備するので、条件情報を基にフォールスパスを転送路毎に探索処理することができる。
【0009】
また、本発明によるフォールスパス検出装置においては、上記フォールスパス探索手段は、一つまたは複数の転送路を含むパスに対して、アクティブ条件付き回路情報データベースを参照して、該複数の転送路がアクティブになる条件について論理積をとることで、該パスがアクティブかどうか判別することを特徴とする。
【0010】
これにより、フォールスパス探索手段は、一つまたは複数の転送路を含むパスに対して、アクティブ条件付き回路情報データベースを参照して、該複数の転送路がアクティブになる条件について論理積をとることで、該パスがアクティブかどうか判別するので、転送路が複数連なったパスにおいて、簡便にアクティブパスであるかを判別できる。
【0011】
また、本発明によるフォールスパス検出装置においては、アクティブになるパスに関する情報であるアクティブパス情報または転送路を格納するアクティブパス格納手段と、フォールスパスの探索処理の対象となる転送路に関する転送路情報を格納する転送路情報格納手段とを更に具備し、上記フォールスパス探索手段は、回路中のすべての転送路をアクティブパス格納手段へ格納し、アクティブパス格納手段に格納される転送路またはアクティブパスの任意の1つを読み出し、読み出した転送路またはアクティブパスの入力側の端にある素子が入力端子または記憶素子かどうか判断し、入力端子でも記憶素子でもなかった場合、該転送路またはアクティブパスを出力とする素子の入力側に接続している転送路を回路情報から特定し、該転送路情報を転送路情報格納手段へ格納し、転送路情報格納手段に格納されている転送路の任意の1つを読み出し、読み出した転送路と、アクティブパス格納手段より読み出した転送路またはアクティブパスとで構成される新たなパスを生成し、新たなパス中のすべての転送路について、アクティブ条件付き回路情報データベースを参照して、アクティブになる条件について論理積をとることで、新たなパスがアクティブかどうか判別し、新たなパスがアクティブの場合は、該新たなパスをアクティブパス情報としてアクティブパス格納手段へ格納し、新たなパスがアクティブでない場合は、該新たなパスをフォールスパスとして出力することを特徴とする。
【0012】
これにより、上記フォールスパス探索手段は、アクティブパス情報格納手段に格納される転送路またはアクティブパスの任意の1つを読み出し、転送路またはアクティブパスを出力とする素子の入力側に接続している転送路を回路情報から特定し、該転送路情報を転送路情報格納手段へ格納し、転送路情報格納手段に格納されている転送路の任意の1つを読み出し、読み出した転送路と、アクティブパス格納手段より読み出した転送路またはアクティブパスとで構成される新たなパスを生成し、新たなパス中のすべての転送路について、アクティブになる条件について論理積をとることで、新たなパスがアクティブかどうか判別し、新たなパスがアクティブでない場合は、該新たなパスをフォールスパスとして出力するので、転送路を入力側へ遡ってフォールスパスであるかを検証することができる。
【0013】
また、本発明によるフォールスパス検出方法においては、動作合成により生成された回路に関する情報である回路情報、回路上のデータの流れを示すデータフロー情報、回路を構成する機能素子の割り当て情報、を基に回路中の各転送路がアクティブになる条件情報を抽出する第一のステップと、条件情報を転送路毎に回路情報に関連付けて格納するアクティブ条件付き回路情報データベースを参照して、回路動作の組み合わせにおいてアクティブにならないパスであるフォールスパスを転送路毎に探索処理する第二のステップとを有することを特徴とする。
【0014】
また、本発明によるフォールスパス検出方法においては、上記第二のステップは、一つまたは複数の転送路を含むパスに対して、アクティブ条件付き回路情報データベースを参照して、該複数の転送路がアクティブになる条件について論理積をとることで、該パスがアクティブかどうか判別することを特徴とする。
【0015】
また、本発明によるフォールスパス検出方法においては、上記第二のステップは、回路中のすべての転送路をアクティブパス格納手段へ格納し、アクティブパス格納手段に格納される転送路またはアクティブパスの任意の1つを読み出し、読み出した転送路またはアクティブパスの入力側の端にある素子が入力端子または記憶素子かどうか判断し、入力端子でも記憶素子でもなかった場合、該転送路またはアクティブパスを出力とする素子の入力側に接続している転送路を回路情報から特定し、該転送路情報を転送路情報格納手段へ格納し、転送路情報格納手段に格納されている転送路の任意の1つを読み出し、読み出した転送路と、アクティブパス格納手段より読み出した転送路またはアクティブパスとで構成される新たなパスを生成し、新たなパス中のすべての転送路について、アクティブ条件付き回路情報データベースを参照して、アクティブになる条件について論理積をとることで、新たなパスがアクティブかどうか判別し、新たなパスがアクティブの場合は、該新たなパスをアクティブパス情報としてアクティブパス格納手段へ格納し、新たなパスがアクティブでない場合は、該新たなパスをフォールスパスとして出力することを特徴とする。
【0016】
また、本発明によるプログラムは、動作合成により生成された回路に関する情報である回路情報、回路上のデータの流れを示すデータフロー情報、回路を構成する機能素子の割り当て情報、を基に回路中の各転送路がアクティブになる条件情報を抽出する第一のステップと、条件情報を転送路毎に回路情報に関連付けて格納するアクティブ条件付き回路情報データベースを参照して、回路動作の組み合わせにおいてアクティブにならないパスであるフォールスパスを転送路毎に探索処理する第二のステップとをコンピュータに実行させるプログラムである。
【0017】
また、本発明によるプログラムは、上記第二のステップは、一つまたは複数の転送路を含むパスに対して、アクティブ条件付き回路情報データベースを参照して、該複数の転送路がアクティブになる条件について論理積をとることで、該パスがアクティブかどうか判別することをコンピュータに実行させるプログラムである。
【0018】
また、本発明によるプログラムは、上記第二のステップは、回路中のすべての転送路をアクティブパス格納手段へ格納し、アクティブパス格納手段に格納される転送路またはアクティブパスの任意の1つを読み出し、読み出した転送路またはアクティブパスの入力側の端にある素子が入力端子または記憶素子かどうか判断し、入力端子でも記憶素子でもなかった場合、該転送路またはアクティブパスを出力とする素子の入力側に接続している転送路を回路情報から特定し、該転送路情報を転送路情報格納手段へ格納し、転送路情報格納手段に格納されている転送路の任意の1つを読み出し、読み出した転送路と、アクティブパス格納手段より読み出した転送路またはアクティブパスとで構成される新たなパスを生成し、新たなパス中のすべての転送路について、アクティブ条件付き回路情報データベースを参照して、アクティブになる条件について論理積をとることで、新たなパスがアクティブかどうか判別し、新たなパスがアクティブの場合は、該新たなパスをアクティブパス情報としてアクティブパス格納手段へ格納し、新たなパスがアクティブでない場合は、該新たなパスをフォールスパスとして出力することをコンピュータに実行させるプログラムである。
【0019】
【発明の実施の形態】
以下、発明の実施の形態を通じて本発明を説明する。ただし、以下の実施の形態は特許請求の範囲に記載された発明を限定するものではなく、また実施の形態の中で説明されている特徴の組み合わせのすべてが発明の解決手段に必要であるとは限らない。
図1は、本発明の一実施形態によるフォールスパス検出装置を用いたシステムの全体構成を示すブロック図である。この図において符号1、2、4は、図6で示した従来の装置と同じ機能である。符号5は、動作合成システム1から出力される回路情報と、データフロー情報と、リソース割り当て情報とを記憶装置4を介して受信し、それらの情報を処理してフォールスパス情報を出力するフォールスパス検出装置である。
【0020】
次に、フォールスパス検出装置5の内部について説明する。51は、動作合成システム1により生成され、記憶装置4を介して受信した、回路に関する情報である回路情報、回路上のデータの流れを示すデータフロー情報、回路を構成する機能素子の割り当て情報、を基に回路中の各転送路がアクティブになる条件情報を抽出するアクティブ条件抽出処理部である。52は、アクティブ条件抽出処理部51が抽出した条件情報を転送路毎に回路情報に関連付けて格納するアクティブ条件付き回路情報データベースである。53は、一つまたは複数の転送路を含むパスに対して、アクティブ条件付き回路情報データベース52を参照して、該複数の転送路がアクティブになる条件について論理積をとることで、該パスがアクティブかどうか判別し、アクティブにならないパスであるフォールスパスを転送路毎に探索処理するフォールスパス探索処理部である。尚、フォールスパス探索処理部53の詳細な動作については後述する。
【0021】
54は、フォールスパス探索処理部53が処理するアクティブになるパスに関する情報であるアクティブパス情報または、アクティブ条件付き回路情報データベース52より読み出した転送路情報を格納するアクティブパス格納部である。55は、フォールスパス探索処理部53が、フォールスパスの探索処理を行う際に、処理対象となる転送路に関する転送路情報を格納する転送路情報格納部である。56は、フォールスパス探索処理部53が出力するフォールスパスの中より冗長なフォールスパスを省いて最短のフォールスパスのみを出力する冗長フォールスパス除去処理部である。
【0022】
尚、上記に示した各処理部は専用のハードウェアにより実現されるものであってもよく、また、各処理部はメモリおよびCPU(中央演算装置)により構成され、各処理部の機能を実現する為のプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
また、上記メモリは、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記録媒体、RAM(Random Access Memory)のような揮発性のメモリ、あるいはこれらの組み合わせによるコンピュータ読み取り、書き込み可能な記録媒体より構成されるものとする。
【0023】
次に、上述したフォールスパス検出装置5の動作について図2、図3を用いて説明する。フォールスパス検出装置5の動作は、アクティブ条件抽出処理部51での処理動作と、フォールスパス探索処理部53での処理動作の2つに分けることが出来る。まずは、アクティブ条件抽出処理部51での処理動作について図2を用いて説明する。
図2は、本発明の一実施形態によるアクティブ条件抽出処理部51での処理動作を示すフロー図である。アクティブ条件抽出処理部51は、動作合成システム1により生成され、記憶装置4を介して受信した、回路に関する情報である回路情報より、回路中の転送路の全てに以下の処理を行う。まず、一つの転送路について、受信したデータフロー情報、および割り当て情報を基に、該転送路に割り当てられたデータフローをすべて特定する(ステップS202)。
【0024】
次に、該転送路に割り当てられた各データフロー発生条件を所定の識別子にして、該識別子の論理和(条件情報)を抽出する(ステップS203)。以上により、アクティブ条件抽出処理部51は、各転送路がアクティブになるデータフロー発生条件の識別子とその論理和を抽出する。すなわち、具体的には、ある回路に複数の動作モードがある場合に、該動作モードを識別する識別子が、各動作モード時に動作する回路中の転送路へ付加される。
【0025】
次に、アクティブ条件抽出処理部51が抽出した識別子の論理和を各転送路に付加した回路情報をアクティブ条件付き回路情報データベース52へ格納する(ステップS204)。一つの転送路について以上の処理を終えると、ステップS201へ戻り、次の転送路について同様の処理を行う。そして、上記の処理を回路中の全ての転送路において行った時点で終了となる(ステップS201のyes)。以上により、図4に示すように、識別子の論理和を付加した回路情報がアクティブ条件付き回路情報データベース52に格納される。
【0026】
尚、図4において、R1〜R8は入力端子、R9〜R11は出力端子、F1〜F4は演算子や比較器であり、S1、S2はセレクタである。データフロー発生条件で示す所定の識別子を”ST1”、”ST2”、”C1”として、各転送路に割り当て、複数の識別子が割り当てられている場合は、データフロー発生条件を基に論理和および論理積を行い該論理式を割り当てる。また、図4の回路情報を基にした場合、アクティブ条件付き回路情報データベース52には、少なくとも図5(a)に示すデータが格納される。
【0027】
次に、フォールスパス探索処理部53での処理動作について図3を用いて説明する。
図3は、本発明の一実施形態によるフォールスパス探索処理部53での処理動作を示すフロー図である。フォールスパス探索処理部53は、アクティブ条件付き回路情報データベース52より回路中の全ての転送路に関する情報(図5(a)の左列)を読み出し、アクティブパス格納部54へ格納する(ステップS101)。次に、フォールスパス探索処理部53は、アクティブパス格納部54に格納されたデータがあるかを確認する(ステップS102)。ここでは、ステップ101で転送路に関する情報を格納したばかりなので、ステップS102のnoへ進む。次に、アクティブパス探索処理部53は、アクティブパス格納部54から任意の一つの転送路(ここでは、図5(a)において下線を付した”F3→F4”とする)を読み出す(ステップS103)。尚、読み出された転送路に関する情報は、アクティブパス格納部54より削除される。
【0028】
次に、アクティブパス探索処理部53は、読み出した転送路”F3→F4”の入力側の素子が入力端子または記憶素子であるか確認する(ステップS104)。ここで、転送路の入力側の素子が、入力端子または、記憶素子であれば(ステップS104のyes)、ステップS102へ戻る。ここでは、そうでないので(ステップS104のno)、次のステップへ進む。次に、アクティブパス探索処理部53は、転送路の入力側に接続された素子(F3)において、該素子の入力側に接続されている全ての転送路(F2→F3、R5→F3、R6→F3、R7→F3)を、アクティブ条件付き回路情報データベース52より読み出し、転送路情報格納部55へ格納する(ステップS105)。
【0029】
次に、フォールスパス探索処理部53は、転送路情報格納部55に格納されたデータがあるかを確認する(ステップS106)。ここでは、ステップ105で転送路に関する情報を格納したばかりなので次のステップへ進む(ステップS106のno)。次に、フォールスパス探索処理部53は、転送路情報格納部55より任意の一つ(ここでは、F2→F3とする)を読み出しアクティブパス(ここでは、基となった転送路F3→F4)と合せて新たなパス”F2→F3→F4”を構成する(ステップS107)。尚、読み出された時点で”F2→F3”は、転送路情報格納部55から削除され、”R5→F3、R6→F3、R7→F3”が転送路情報格納部55に格納されたままとなる。
【0030】
次に、フォールスパス探索処理部53は、構成されたパス”F2→F3→F4”がアクティブであるか、”F2→F3”に割り当てられた識別子”ST1”と”F3→F4”に割り当てられた識別子”ST2”の論理積をとることで判別する(ステップS108)。ここでは、ST1*ST2=0となり、パス”F2→F3→F4”はフォールスパスと判別される(ステップS108のno)ので、フォールスパス探索処理部53は、構成されたパスを冗長フォールスパス除去処理部56へ出力する(ステップS110)。
【0031】
次に、フォールスパス探索処理部53は、ステップS106へ戻り、転送路情報格納部55にデータが残っているか確認する。ここで、ステップS108でアクティブと判別される場合の処理を以下に示す。フォールスパス探索処理部53は、”R6→F3”を転送路情報格納部55より読み出し、新たなパス”R6→F3→F4”を構成したとする(ステップS107)。次に、フォールスパス探索処理部53は、構成されたパスがアクティブであるか、”F3→F4”と”R6→F3”に割当てられた識別子の論理積を求めて判別する。ここでは、ST1*(ST1+ST2*C1)=ST1より、アクティブと判別される(ステップS108のyes)ので、フォールスパス探索処理部53は、構成された新たなパス”R6→F3→F4”をアクティブパス格納部54へ格納する(ステップS109)。次は、ステップS106へ戻る。
【0032】
以後、ステップS106からステップS110までの処理を、転送路情報格納部55が空になる(ステップS106のyes)まで繰り返す。以上により、F3の入力側に接続される全ての転送路について、”F3→F4”の転送路と合せてアクティブパスであるかどうかを判別する。図5(b)に”F3→F4”を基に構成したパスの判別結果の一覧を示す。フォールスパスと判別されたパスは冗長フォールスパス除去処理部56へ出力され、アクティブパスと判別されたパスは、アクティブパス格納部54へ格納される。次に、ステップS102へ戻り、アクティブパス格納部54へ格納されているデータがあるか確認する。以後、S102からS110までのステップを、アクティブパス探索処理部53は、アクティブパス格納部54において、ステップS101で格納した転送路に関する情報または、ステップS109で格納したアクティブパスに関する情報を全て読み出し、削除して、空になるまで繰り返す。
【0033】
以上により、記憶装置4から読み出された回路におけるフォールスパスと判別されたパスが、フォールスパス探索処理部53より出力され、冗長フォールスパス除去処理部56へ入力される。冗長フォールスパス除去処理部56は、フォールスパスと判別されたパスが冗長な転送路を含むものであるか以下の処理により判別を行う。まず、冗長フォールスパス除去処理部56は、フォールスパスの入力側から順に転送路に割当てられた識別子の論理積を計算し、論理積が0になるまで計算する。次に、冗長フォールスパス除去処理部56は、論理積が0になった時点で、計算されていない転送路が残っていた場合、該転送路が冗長な転送路を含むフォールスパスと判別し、除去する。以上により、冗長な転送路を含むフォールスパスを除去し、冗長でないフォールスパスのみを出力装置2へ出力する。
【0034】
尚、上述したフォールスパス探索処理部53は、アクティブパスの入力側の端にある素子が入力端子または記憶素子かどうか判断し、入力端子あるいは記憶素子であった場合は、他の転送路またはアクティブパスの処理に移る(ステップS104のyes)また、フォールスパス探索処理部53は、入力端子でも記憶素子でもなかった場合、該アクティブパスを出力とする素子の入力側に接続している転送路を回路情報から特定し、該転送路情報を転送路情報格納部55へ格納する(ステップ105)また、フォールスパス探索処理部53は、転送路情報格納部55に転送路が格納されているかどうか判定する(ステップS106)。転送路が格納されている場合(ステップS106のno)、フォールスパス探索処理部53は、任意の1つを読み出し、読み出した転送路とアクティブパスとで構成される新たなパスを生成する(ステップS107)。
【0035】
また、図1における各種処理を行う処理部の機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0036】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0037】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0038】
【発明の効果】
以上説明したように本発明によるフォールスパス検出装置においては、動作合成により生成された回路に関する情報である回路情報、回路上のデータの流れを示すデータフロー情報、回路を構成する機能素子の割り当て情報、を基に回路中の各転送路がアクティブになる条件情報を抽出するアクティブ条件抽出手段と、条件情報を転送路毎に回路情報に関連付けて格納するアクティブ条件付き回路情報データベースと、アクティブ条件付き回路情報データベースを参照して、回路動作の組み合わせにおいてアクティブにならないパスであるフォールスパスを転送路毎に探索処理するフォールスパス探索手段とを具備するので、条件情報を基にフォールスパスを転送路毎に探索処理することができる。
【0039】
これにより、回路中における全ての組み合わせのパスを一つ一つアクティブパスと比較する従来の方法と比べて、処理時に保持する必要のある情報は、転送路を含むパスの情報のみでよく。処理時に一時的に保持する情報量を減らすことで、コンピュータでの処理速度の向上する効果が得られる。また、大規模集積回路を処理する為に、従来だと一時的な情報保持用のキャッシュメモリ容量を増量させる必要がある場合でも、本発明では必要とならず設備コストを削減する効果が得られる。
【0040】
また、本発明によるフォールスパス検出装置においては、上記フォールスパス探索手段は、一つまたは複数の転送路を含むパスに対して、アクティブ条件付き回路情報データベースを参照して、該複数の転送路がアクティブになる条件について論理積をとることで、該パスがアクティブかどうか判別するので、転送路が複数連なったパスにおいて、簡便にアクティブパスであるかを判別できる。これにより、従来のように全てのアクティブパスをメモリに保持して、フォールスパスの検証を行う必要がなく、メモリ資源の節約と処理速度の向上の効果が得られる。
【図面の簡単な説明】
【図1】 本発明の一実施形態によるフォールスパス検出装置を用いたシステムの全体構成を示すブロック図である。
【図2】 本発明の一実施形態によるアクティブ条件抽出処理部51での処理動作を示すフロー図である。
【図3】 本発明の一実施形態によるフォールスパス探索処理部53での処理動作を示すフロー図である。
【図4】 本発明の一実施形態による識別子および識別子の論理式を付加した回路のブロック図である。
【図5】 本発明の一実施形態によるフォールスパス検出装置5で処理するデータ例を示す図である。
【図6】 従来のフォールスパス検出装置を示す図である。
【符号の説明】
1 動作合成システム
2 出力装置
4 記憶装置
5 フォールスパス検出装置
51 アクティブ条件抽出処理部
52 アクティブ条件付き回路情報データベース
53 フォールスパス探索処理部
54 アクティブパス格納部
55 転送路情報格納部
56 冗長フォールスパス除去処理部
Claims (9)
- 動作合成により生成された回路中の一つの転送路について、前記動作合成により生成された回路に関する情報である回路情報、前記回路上のデータの流れを示すデータフロー情報、前記回路を構成する機能素子の割り当て情報を基に、該転送路に割り当てられたデータフローを全て特定するデータフロー特定手段と、
前記回路情報、前記データフロー情報、前記割り当て情報、を基に前記回路中の各転送路がアクティブになる条件情報を抽出するアクティブ条件抽出手段と、
前記条件情報を前記転送路毎に前記回路情報に関連付けて格納するアクティブ条件付き回路情報データベースと、
前記アクティブ条件付き回路情報データベースを参照して、回路動作の組み合わせにおいてアクティブにならないパスであるフォールスパスを前記転送路毎に探索処理するフォールスパス探索手段とを具備することを特徴とするフォールスパス検出装置。 - 前記フォールスパス探索手段は、
一つまたは複数の前記転送路を含むパスに対して、前記アクティブ条件付き回路情報データベースを参照して、該複数の転送路がアクティブになる条件について論理積をとることで、該パスがアクティブかどうか判別することを特徴とする請求項1に記載のフォールスパス検出装置。 - アクティブになるパスに関する情報であるアクティブパス情報または前記転送路を格納するアクティブパス格納手段と、
フォールスパスの探索処理の対象となる転送路に関する転送路情報を格納する転送路情報格納手段とを更に具備し、
前記フォールスパス探索手段は、
前記回路中のすべての転送路を前記アクティブパス格納手段へ格納し、
前記アクティブパス格納手段に格納される前記転送路またはアクティブパスの任意の1つを読み出し、読み出した転送路またはアクティブパスの入力側の端にある素子が入力端子または記憶素子かどうか判断し、
入力端子でも記憶素子でもなかった場合、該転送路またはアクティブパスを出力とする素子の入力側に接続している転送路を前記回路情報から特定し、該転送路情報を前記転送路情報格納手段へ格納し、
前記転送路情報格納手段に格納されている転送路の任意の1つを読み出し、読み出した転送路と、前記アクティブパス格納手段より読み出した転送路またはアクティブパスとで構成される新たなパスを生成し、
前記新たなパス中のすべての転送路について、前記アクティブ条件付き回路情報データベースを参照して、アクティブになる条件について論理積をとることで、前記新たなパスがアクティブかどうか判別し、
前記新たなパスがアクティブの場合は、該新たなパスをアクティブパス情報として前記アクティブパス格納手段へ格納し、前記新たなパスがアクティブでない場合は、該新たなパスをフォールスパスとして出力することを特徴とする請求項1または請求項2に記載のフォールスパス検出装置。 - フォールスパス検出装置のデータフロー特定手段が、
動作合成により生成された回路中の一つの転送路について、前記動作合成により生成された回路に関する情報である回路情報、前記回路上のデータの流れを示すデータフロー情報、前記回路を構成する機能素子の割り当て情報を基に、該転送路に割り当てられたデータフローを全て特定する第一のステップと、
フォールスパス検出装置のアクティブ条件抽出手段が、
前記回路情報、前記データフロー情報、前記割り当て情報、を基に前記回路中の各転送路がアクティブになる条件情報を抽出する第二のステップと、
フォールスパス検出装置のフォールスパス探索手段が、
前記条件情報を前記転送路毎に前記回路情報に関連付けて格納するアクティブ条件付き回路情報データベースを参照して、回路動作の組み合わせにおいてアクティブにならないパスであるフォールスパスを前記転送路毎に探索処理する第三のステップと
を実行することを特徴とするフォールスパス検出方法。 - フォールスパス検出装置のフォールスパス探索手段は、前記第三のステップにおいて、
一つまたは複数の前記転送路を含むパスに対して、前記アクティブ条件付き回路情報データベースを参照して、該複数の転送路がアクティブになる条件について論理積をとることで、該パスがアクティブかどうか判別する
ことを特徴とする請求項4に記載のフォールスパス検出方法。 - フォールスパス検出装置のフォールスパス探索手段は、前記第三のステップにおいて、
前記回路中のすべての転送路をアクティブパス格納手段へ格納し、
前記アクティブパス格納手段に格納される前記転送路またはアクティブパスの任意の1つを読み出し、読み出した転送路またはアクティブパスの入力側の端にある素子が入力端子または記憶素子かどうか判断し、
入力端子でも記憶素子でもなかった場合、該転送路またはアクティブパスを出力とする素子の入力側に接続している転送路を前記回路情報から特定し、該転送路情報を転送路情報格納手段へ格納し、
前記転送路情報格納手段に格納されている転送路の任意の1つを読み出し、読み出した転送路と、前記アクティブパス格納手段より読み出した転送路またはアクティブパスとで構成される新たなパスを生成し、
前記新たなパス中のすべての転送路について、前記アクティブ条件付き回路情報データベースを参照して、アクティブになる条件について論理積をとることで、前記新たなパスがアクティブかどうか判別し、
前記新たなパスがアクティブの場合は、該新たなパスをアクティブパス情報として前記アクティブパス格納手段へ格納し、前記新たなパスがアクティブでない場合は、該新たなパスをフォールスパスとして出力する
ことを特徴とする請求項4または請求項5に記載のフォールスパス検出方法。 - 動作合成により生成された回路中の一つの転送路について、前記動作合成により生成された回路に関する情報である回路情報、前記回路上のデータの流れを示すデータフロー情報、前記回路を構成する機能素子の割り当て情報を基に、該転送路に割り当てられたデータフローを全て特定する第一のステップと、
前記回路情報、前記データフロー情報、前記割り当て情報、を基に前記回路中の各転送路がアクティブになる条件情報を抽出する第二のステップと、
前記条件情報を前記転送路毎に前記回路情報に関連付けて格納するアクティブ条件付き回路情報データベースを参照して、回路動作の組み合わせにおいてアクティブにならないパスであるフォールスパスを前記転送路毎に探索処理する第三のステップと
をコンピュータに実行させるプログラム。 - 前記第三のステップは、
一つまたは複数の前記転送路を含むパスに対して、前記アクティブ条件付き回路情報データベースを参照して、該複数の転送路がアクティブになる条件について論理積をとることで、該パスがアクティブかどうか判別する
ことをコンピュータに実行させる請求項7に記載のプログラム。 - 前記第三のステップは、
前記回路中のすべての転送路をアクティブパス格納手段へ格納し、
前記アクティブパス格納手段に格納される前記転送路またはアクティブパスの任意の1つを読み出し、読み出した転送路またはアクティブパスの入力側の端にある素子が入力端子または記憶素子かどうか判断し、
入力端子でも記憶素子でもなかった場合、該転送路またはアクティブパスを出力とする素子の入力側に接続している転送路を前記回路情報から特定し、該転送路情報を転送路情報格納手段へ格納し、
前記転送路情報格納手段に格納されている転送路の任意の1つを読み出し、読み出した転送路と、前記アクティブパス格納手段より読み出した転送路またはアクティブパスとで構成される新たなパスを生成し、
前記新たなパス中のすべての転送路について、前記アクティブ条件付き回路情報データベースを参照して、アクティブになる条件について論理積をとることで、前記新たなパスがアクティブかどうか判別し、
前記新たなパスがアクティブの場合は、該新たなパスをアクティブパス情報として前記アクティブパス格納手段へ格納し、前記新たなパスがアクティブでない場合は、該新たなパスをフォールスパスとして出力することをコンピュータに実行させる請求項7または請求項8に記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001146506A JP4549571B2 (ja) | 2001-05-16 | 2001-05-16 | フォールスパス検出装置、フォールスパス検出方法およびそのプログラム |
US10/146,678 US6735751B2 (en) | 2001-05-16 | 2002-05-15 | False path detecting apparatus and a false path detecting method in which a usage amount of memories is smaller and a process is carried out at higher speed, and that program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001146506A JP4549571B2 (ja) | 2001-05-16 | 2001-05-16 | フォールスパス検出装置、フォールスパス検出方法およびそのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002342403A JP2002342403A (ja) | 2002-11-29 |
JP4549571B2 true JP4549571B2 (ja) | 2010-09-22 |
Family
ID=18992149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001146506A Expired - Fee Related JP4549571B2 (ja) | 2001-05-16 | 2001-05-16 | フォールスパス検出装置、フォールスパス検出方法およびそのプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6735751B2 (ja) |
JP (1) | JP4549571B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7587690B1 (en) * | 2003-04-29 | 2009-09-08 | Cadence Design Systems, Inc. | Method and system for global coverage analysis |
US7216318B1 (en) * | 2003-04-29 | 2007-05-08 | Cadence Design Systems, Inc. | Method and system for false path analysis |
JP4128131B2 (ja) * | 2003-11-19 | 2008-07-30 | 富士通株式会社 | フォールスパス検出プログラム |
JP2005293349A (ja) * | 2004-04-01 | 2005-10-20 | Nec Electronics Corp | 回路設計支援システム、設計方法及びプログラム |
JP4682059B2 (ja) * | 2006-03-02 | 2011-05-11 | 富士通株式会社 | フォールスパス記述情報生成プログラム、フォールスパス記述情報生成装置およびフォールスパス記述情報生成方法 |
US8332800B2 (en) | 2010-12-15 | 2012-12-11 | Apple Inc. | Method for identifying redundant signal paths for self-gating signals |
US10275561B2 (en) | 2016-05-27 | 2019-04-30 | Taiwan Semiconductor Manufacturing Company Limited | Method for eliminating false paths of a circuit unit to be implemented using a system |
US10331826B2 (en) | 2017-04-20 | 2019-06-25 | Texas Instruments Incorporated | False path timing exception handler circuit |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638290A (en) * | 1995-04-06 | 1997-06-10 | Vlsi Technology, Inc. | Method for eliminating a false critical path in a logic circuit |
US6463572B1 (en) * | 2001-05-31 | 2002-10-08 | Lsi Logic Corporation | IC timing analysis with known false paths |
-
2001
- 2001-05-16 JP JP2001146506A patent/JP4549571B2/ja not_active Expired - Fee Related
-
2002
- 2002-05-15 US US10/146,678 patent/US6735751B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002342403A (ja) | 2002-11-29 |
US20020174407A1 (en) | 2002-11-21 |
US6735751B2 (en) | 2004-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062202A (zh) | 一种文件分块存储方法及系统 | |
CN108897628A (zh) | 一种分布式锁的实现方法、装置及电子设备 | |
JPH04241072A (ja) | 配線経路探索装置及び配線経路探索方法 | |
JP4549571B2 (ja) | フォールスパス検出装置、フォールスパス検出方法およびそのプログラム | |
CN106095483A (zh) | 服务的自动化部署方法及装置 | |
CN104834759A (zh) | 电子设计的实现方法和装置 | |
CN108897858B (zh) | 分布式集群索引分片的评估方法及装置、电子设备 | |
KR101416586B1 (ko) | 해쉬를 이용한 전문 기반 논리 연산 수행 방법 | |
JP3257528B2 (ja) | テストパタン生成方法および装置ならびにテストパタン生成プログラムを記録した記録媒体 | |
CN111046004B (zh) | 一种数据文件存储方法、装置、设备及存储介质 | |
CN113568877A (zh) | 一种文件合并方法、装置、电子设备及存储介质 | |
CN110471764A (zh) | 一种内存清理的处理方法及装置 | |
CN108073460B (zh) | 分布式系统中的全局锁抢占方法、装置及计算设备 | |
CN113204706B (zh) | 基于MapReduce的数据筛选抽取方法及系统 | |
CN112307272B (zh) | 确定对象之间关系信息的方法、装置、计算设备及存储介质 | |
CN111736848B (zh) | 包冲突定位方法、装置、电子设备及可读存储介质 | |
CN113868249A (zh) | 一种数据存储方法、装置、计算机设备以及存储介质 | |
CN110213314B (zh) | 确定存储节点的方法、装置、服务器 | |
CN117390029B (zh) | 一种表项插入方法、装置、电子设备及存储介质 | |
CN110046192B (zh) | 请求信息的序号生成系统和方法 | |
CN116090382B (zh) | 时序报告生成方法和设备 | |
CN116896587A (zh) | 重复网络请求的处理方法、装置、计算机设备及存储介质 | |
CN118051345A (zh) | 内存管理方法、装置、设备、介质及产品 | |
JP2007004326A (ja) | データアクセス方法及びそのプログラム | |
JPH0528126A (ja) | 組合せ問題処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080415 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20080416 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080421 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080421 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20090626 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100405 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100507 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100629 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100707 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130716 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |