JP2007024513A - Logic estimation method for logic circuit - Google Patents

Logic estimation method for logic circuit Download PDF

Info

Publication number
JP2007024513A
JP2007024513A JP2005202635A JP2005202635A JP2007024513A JP 2007024513 A JP2007024513 A JP 2007024513A JP 2005202635 A JP2005202635 A JP 2005202635A JP 2005202635 A JP2005202635 A JP 2005202635A JP 2007024513 A JP2007024513 A JP 2007024513A
Authority
JP
Japan
Prior art keywords
value
logic
estimation
input
node
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.)
Pending
Application number
JP2005202635A
Other languages
Japanese (ja)
Inventor
Masato Nikaido
正人 二階堂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2005202635A priority Critical patent/JP2007024513A/en
Publication of JP2007024513A publication Critical patent/JP2007024513A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a logic estimation method for a logic circuit which calculates an output value from an input value and an input value from an output value on a functional level to perform the estimation of faulty parts in a logic circuit and perform logic estimation by a design debug. <P>SOLUTION: The logic estimation method for a logic circuit comprises: an input step for inputting the logical value of input/output terminals of the logic circuit and function description design data; a DD conversion step for extracting function description design data corresponding to a designated logic circuit, converting it into a decision graph, and converting the logic circuit into a decision graph by dividing and hierarchizing into a combinational circuit part and a sequential circuit part; an estimation mode selection step for selecting which logic out of an expected value and an inverted logical estimated value will be calculated; a value estimation step for calculating logical values at a plurality of times for each decision graph divided and hierarchized by the selected calculation method and calculating the expected value and the inverted logical estimated value of the logic circuit; and an output step for outputting the expected value or the estimated value of the logic circuit and displaying its decision graph structure. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、論理回路の故障箇所の推定を行う、あるいは設計デバッグでの論理推定を行うために、機能レベルで入力値から出力値、及び出力値から入力値を算出する論理回路の論理推定方法に関する。   The present invention relates to a logic circuit logic estimation method for calculating an output value from an input value and an input value from an output value at a functional level in order to estimate a fault location of the logic circuit or to perform logic estimation in design debugging. About.

従来の論理回路の故障診断においては、論理回路の故障個所を推定するため、一般的な構成のコンピュータに論理回路の故障診断プログラムをインストールして、当該コンピュータの入力部から所望の診断に必要なコマンド入力を行うことにより故障診断を実施していた。   In the conventional logic circuit failure diagnosis, in order to estimate the failure location of the logic circuit, a logic circuit failure diagnosis program is installed in a computer having a general configuration and is necessary for a desired diagnosis from the input unit of the computer. Fault diagnosis was performed by entering commands.

図1に、従来の論理回路の故障箇所推定方法における処理フローを示す。従来の論理回路の故障診断においては、故障シミュレータを用いて、論理回路内部に故障を仮定することにより、当該論理回路の機能もしくは論理シミュレーションを行う。そして、そのシミュレーション結果と予め備えていた期待値とを照合し、仮定した故障個所と、その故障を検出したテストベクタとを対応付けた故障辞書を作成する(ステップS101)。次に、論理回路の実際のテスト結果からフェイル情報を取得する(ステップS102)。フェイル情報を取得すると、フェイル情報のフェイルピン及びフェイルベクタに対応する故障辞書をそれぞれ検索し、仮定の故障個所を求める(ステップS103)。そして、複数得られた仮定の故障候補の中から、優先順位付けを行って故障個所の推定を行う(ステップS104)。   FIG. 1 shows a processing flow in a conventional logic circuit fault location estimation method. In the conventional failure diagnosis of a logic circuit, a function or logic simulation of the logic circuit is performed by assuming a failure in the logic circuit using a failure simulator. Then, the simulation result is compared with an expected value provided in advance, and a fault dictionary is created in which the assumed fault location and the test vector that detected the fault are associated with each other (step S101). Next, fail information is acquired from the actual test result of the logic circuit (step S102). When the fail information is acquired, the failure dictionary corresponding to the fail pin and the fail vector of the fail information is searched, respectively, and an assumed failure location is obtained (step S103). Then, prioritization is performed from a plurality of hypothetical failure candidates obtained, and the failure location is estimated (step S104).

この他、従来の論理回路の故障個所特定方法として、例えば、電子ビームテスタを用いて論理回路の上位階層から故障個所を推定し、階層境界の内部信号を観察し、故障個所を論理回路の下位階層へ順に絞り込んでいく方法がある。   In addition, as a conventional method for identifying a fault location of a logic circuit, for example, an electron beam tester is used to estimate the fault location from the upper hierarchy of the logic circuit, observe internal signals at the hierarchy boundary, and identify the fault location as a lower rank of the logic circuit. There is a method of narrowing down to the hierarchy in order.

上記した技術に関連して、以下に示す提案がなされている。   In relation to the above-described technology, the following proposals have been made.

特開2003−185705号公報に開示されている「論理回路の故障箇所推定方法、および、論理回路の故障箇所推定プログラム」では、論理回路のテスト結果から取得されたフェイル情報に基づき論理回路の故障箇所を推定する、論理回路の故障箇所推定方法において、論理回路をハードウェア記述言語で回路ブロック単位に機能記述した記述情報からフェイル情報またはフェイル伝搬推定情報に基づき、フェイル出力ポートまたはフェイル推定出力ポートを有するフェイル推定回路ブロックを抽出し、フェイル推定回路ブロックの回路記述部をデータ処理単位のノードおよび結線によりデータフロー表示して全条件に対する動作を決定する決定グラフをそれぞれ作成し、フェイル出力ポートおよびフェイル推定出力ポートに対応したノードを起点としてフェイルベクタに基づき各ノードの出力推定および期待値比較により各ノードのフェイル推定を入力方向に行い、フェイル伝搬経路を推定し、このフェイル伝搬経路のフェイル伝搬元ノードと入力ポートとの対応に基づき、対応しないノードの情報を故障箇所推定情報として登録し、対応した入力ポートの情報を前記フェイル伝搬推定情報として登録し、フェイル伝搬元ノード全てが入力ポートと対応しなくなるまで、これら処理を繰り返し、故障箇所推定情報をリスト出力する論理回路の故障箇所推定方法が提案されている。   In the “logic circuit failure location estimation method and logic circuit failure location estimation program” disclosed in Japanese Patent Application Laid-Open No. 2003-185705, a failure in a logic circuit is based on fail information obtained from a test result of the logic circuit. In the failure location estimation method of a logic circuit that estimates a location, a failure output port or a failure estimation output port based on failure information or failure propagation estimation information from description information in which the logic circuit is functionally described in a circuit block unit in a hardware description language A fail estimation circuit block having a circuit, and a decision graph for determining the operation for all conditions by displaying the data flow of the circuit description part of the fail estimation circuit block by the node and connection of the data processing unit, respectively, and creating a fail output port and The node corresponding to the fail estimation output port The failure estimation of each node is performed in the input direction by estimating the output of each node based on the failure vector and the expected value based on the failure vector, estimating the failure propagation path, and the failure propagation source node of this failure propagation path and the input port Based on the correspondence, information on nodes that do not correspond is registered as failure location estimation information, information on the corresponding input ports is registered as the fail propagation estimation information, and these processes are performed until all fail propagation source nodes no longer correspond to input ports. A failure location estimation method for a logic circuit that outputs a list of failure location estimation information has been proposed.

また、特開2004−309261号公報に開示されている「論理回路の故障診断装置、故障診断方法およびそのプログラム」では、論理回路の構造あるいは動作を設計言語で回路ブロック単位に機能記述した記述情報から、フェイル抽出装置により抽出したフェイル推定出力ポートを有するフェイル推定回路ブロックごとに作成した状態遷移表に基づき、入力ノード、演算子で構成される操作ノード、複数の入力値の組から1つの出力値を選択する選択ノードおよび出力ノードとこれらの各ノードの結線を行い、表示手段にデータフロー表示して各ノードに対する動作を決定する決定グラフを作成し、データ系故障と制御系故障とを別々に想定しながら、決定グラフを用いたフェイル伝搬経路推定を行うことで、機能レベルでデータ系と制御系の故障個所を推定する機能を有する論理回路の故障診断装置が提案されている。本提案、および特開2003−185705号公報に開示されている提案では、論理回路を決定グラフに変換し、テストパターンに対応した各ノードの期待値と推定値を比較追跡しながら、機能レベルで故障箇所を推定する。推定値を計算するには、決定グラフの出力を起点として、入力方向に各ノードの値を計算しながら、入力値を算出する。また、設計した回路をデバッグする場合、ある信号の変化する要因を追いかける際に、回路図をトレースしながら要因となる信号を探す。   Further, in “logic circuit failure diagnosis apparatus, failure diagnosis method and program thereof” disclosed in Japanese Patent Application Laid-Open No. 2004-309261, description information in which the structure or operation of a logic circuit is described in units of circuit blocks in a design language. From the state transition table created for each fail estimation circuit block having a fail estimation output port extracted by the fail extraction device, one output from a set of input nodes, operation nodes composed of operators, and a plurality of input values The selection node and output node for selecting values are connected to each of these nodes, and a decision graph is created to determine the operation for each node by displaying the data flow on the display means. Separate data system failures and control system failures As a result, it is possible to control the data system at the functional level by estimating the failure propagation path using the decision graph. Trouble diagnosis device for a logic circuit having the function of estimating the fault location of the system have been proposed. In this proposal and the proposal disclosed in Japanese Patent Application Laid-Open No. 2003-185705, the logic circuit is converted into a decision graph, and the expected value and estimated value of each node corresponding to the test pattern are compared and tracked at the functional level. Estimate the failure location. To calculate the estimated value, the input value is calculated while calculating the value of each node in the input direction starting from the output of the decision graph. Further, when debugging a designed circuit, a trace signal is traced while searching for a signal that causes a change in a certain signal.

また、特開平08−146093号公報に開示されている「順序回路の故障箇所推定方法」では、半導体集積回路内の、全ラッチの全ベクタに対する全期待値情報と、テスタのパス/フェイル情報と、全回路の接続情報とを用い、当該半導体集積回路をラッチと組合わせ回路とに分割して故障推定する順序回路の故障箇所推定方法において、実際のフェイル出力ピンもしくはフェイルと推定されるラッチ入力線から、半導体集積回路の入力ピンまたはラッチ出力に到達するまでの入力方向に向って組合わせ回路を抽出するとともに、更に抽出された当該組合わせ回路の入力から、半導体集積回路の出力ピンまたはラッチ入力に到達するまでの出力方向に向って組合わせ回路を抽出する第1の処理手順と、組合わせ回路の出力部に接続されているラッチの出力が、他の何れのラッチに影響を及ぼしているか否かをチェックしてデータフローを作成する第2の処理手順と、組合わせ回路の入力境界における故障伝搬値を、単一故障伝搬確認、前段の組合わせ回路内の同一信号線分岐確認および分岐信号活性化確認、および入力境界部ラッチのクロックイネーブル確認によって、同時故障伝搬可能信号線組合わせを選択するシミュレーションにより推定確認する第3の処理手順と、組合わせ回路より、実際の半導体集積回路の出力までの後段の回路の抽出が確認されていない場合に、当該後段の回路を抽出する第4の処理手順と、組合わせ回路の入力境界における故障推定結果を用いた故障伝搬シミュレーションと実際のフェイル出力とが一致しているか否かを判定する第5の処理手順と、第5の処理手順において一致していると判定された場合に、ラッチ状態の推定値テーブルを作成するとともに、得られたラッチ状態の推定値テーブルを用いた組合わせ回路内の各信号線のシミュレーション結果により縮退故障の有無を判定し、組合わせ回路内の故障箇所を推定する第6の処理手順と、を少なくともフェイルベクタごとに、組合わせ回路の入力境界における故障伝搬推定値を求める処理手順として有しており、最終的に故障推定リストを作成する順序回路の故障推定方法が提案されている。   In addition, in the “Sequential Circuit Fault Location Estimation Method” disclosed in Japanese Patent Application Laid-Open No. 08-146093, all expected value information for all vectors of all latches in the semiconductor integrated circuit, and pass / fail information of the tester In the fault location estimation method of the sequential circuit, which uses the connection information of all circuits and divides the semiconductor integrated circuit into a latch and a combinational circuit to estimate the fault, an actual fail output pin or a latch input estimated to be a fail The combinational circuit is extracted from the line in the input direction until reaching the input pin or latch output of the semiconductor integrated circuit, and the output pin or latch of the semiconductor integrated circuit is further extracted from the extracted input of the combinational circuit. The first processing procedure for extracting the combinational circuit in the output direction until reaching the input, and connected to the output unit of the combinational circuit A second processing procedure for creating a data flow by checking whether or not the output of the latch affects any other latch, and a fault propagation value at the input boundary of the combinational circuit, a single fault propagation Confirmation, confirmation confirmation by simulation for selecting a signal line combination capable of simultaneous failure propagation by confirmation of the same signal line in the combination circuit in the previous stage, confirmation of activation of the branch signal, and confirmation of clock enable of the input boundary latch And the fourth processing procedure for extracting the subsequent circuit when the combinational circuit has not confirmed the extraction of the subsequent circuit until the actual output of the semiconductor integrated circuit, and the combinational circuit A fifth processing procedure for determining whether or not the fault propagation simulation using the fault estimation result at the input boundary matches the actual fail output; When it is determined in the fifth processing procedure that they match, a latch state estimation value table is created and each signal line in the combinational circuit is simulated using the obtained latch state estimation value table As a processing procedure for determining a fault propagation estimated value at the input boundary of the combination circuit at least for each fail vector, a sixth processing procedure for determining the presence or absence of a stuck-at fault based on the result and estimating the fault location in the combination circuit A sequential circuit fault estimation method for creating a fault estimation list is proposed.

特開平08−146093号公報に開示されている「順序回路の故障箇所推定方法」では、故障出力に故障を伝搬する可能性のある組合せ回路をダイナミックに抽出して、組合せ回路毎に論理状態及び故障の伝搬する経路を推定し、入力方法に遡ることにより故障個所を推定する。ここで組合せ回路の論理状態とは、ひとつの信号線の論理値だけでなく、回路内部の全ノード、すなわち信号線、ゲート、ゲート端子、入出力端子が0/1/X(Don’t Care)/Z(ハイインピーダンス)/U(不定)などの論理値を持っている状態のことである。   In “Sequential Circuit Fault Location Estimation Method” disclosed in Japanese Patent Application Laid-Open No. 08-146093, a combinational circuit that may propagate a fault to a fault output is dynamically extracted, and a logic state and Estimate the path where the fault propagates and go back to the input method to estimate the fault location. Here, the logic state of the combinational circuit is not only the logic value of one signal line, but all nodes in the circuit, that is, signal lines, gates, gate terminals, and input / output terminals are 0/1 / X (Don't Care). ) / Z (high impedance) / U (undefined).

特開2003−185705号公報JP 2003-185705 A 特開2004−309261号公報JP 2004-309261 A 特開平08−146093号公報Japanese Patent Application Laid-Open No. 08-146093

従来の故障シミュレータによる論理回路の故障診断方法では、故障辞書を予め作成しておく必要がある。故障辞書の作成には多大な故障シミュレーション時間を要するため、論理回路が大規模化するにつれてシミュレーション時間も膨大となり、故障辞書のファイルも非常に大きくなるという問題があった。特に、故障シミュレーションで用いる故障モデルは単一縮退故障が一般的であるため、実際にブリッジ故障などの多重故障が生じた場合には、故障シミュレーションでは対応出来ない。しかし、故障シミュレーションモデルを多重故障に拡張すると、故障シミュレーションの処理時間の観点から現実化が困難であった。   In a conventional fault diagnosis method for a logic circuit using a fault simulator, a fault dictionary needs to be created in advance. Since the creation of a failure dictionary requires a lot of failure simulation time, the simulation time becomes enormous as the logic circuit becomes larger, and the failure dictionary file becomes very large. In particular, the failure model used in the failure simulation is generally a single stuck-at failure, so when a multiple failure such as a bridge failure actually occurs, the failure simulation cannot cope. However, if the fault simulation model is extended to multiple faults, it has been difficult to realize it from the viewpoint of the processing time of the fault simulation.

また、従来の、電子ビームテスタを用いた論理回路の故障個所を推定するための故障診断方法は、論理回路の上位階層から下位階層へ故障個所を逐次観測しながら絞り込んでいくのに有効な手段であるが、論理回路が大規模化し、多層配線構造になると、下層配線の電位が観測不可能になるという問題がある。   In addition, the conventional failure diagnosis method for estimating the failure location of the logic circuit using the electron beam tester is an effective means for narrowing down while sequentially observing the failure location from the upper hierarchy to the lower hierarchy of the logic circuit. However, when the logic circuit becomes large and has a multilayer wiring structure, there is a problem that the potential of the lower layer wiring becomes unobservable.

また、従来のゲートレベルで故障個所を推定するための故障診断方法は、組合せ回路毎に故障個所を推定するのに有効な手段であるが、ゲート単位での推定処理のため、大規模な論理回路に対する精度の低下と処理時間の増加が問題となる。   In addition, the conventional fault diagnosis method for estimating a fault location at the gate level is an effective means for estimating a fault location for each combinational circuit. Decrease in accuracy of the circuit and increase in processing time are problems.

また、従来の設計デバッグでは、ある信号の変化する要因を追いかける際に、回路図をトレースしながら要因となる信号を探すが、要因となる信号は通常複数存在し、要因となる信号とその値を推定するには多くの時間を必要とするという問題がある。   In conventional design debugging, when tracing a factor that changes a signal, the signal that causes the signal is searched while tracing the circuit diagram. Usually, there are a plurality of signals that cause the signal, and the signal that causes the signal and its value. There is a problem that it takes a lot of time to estimate.

また、従来の機能レベルで故障個所を推定するための故障診断方法は、出力値から入力値を算出することができるが、更に処理時間を短縮できれば、大規模な論理回路に対しても有効な故障診断方法となる。   In addition, the conventional fault diagnosis method for estimating the fault location at the functional level can calculate the input value from the output value. However, if the processing time can be further reduced, it is also effective for a large-scale logic circuit. This is a failure diagnosis method.

以下に、[発明を実施するための最良の形態]で使用する括弧付き符号を用いて、課題を解決するための手段を説明する。これらの符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]の記載との対応関係を明らかにするために付加されたものであるが、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。   In the following, means for solving the problem will be described using reference numerals with parentheses used in [Best Mode for Carrying Out the Invention]. These symbols are added in order to clarify the correspondence between the description of [Claims] and the description of the best mode for carrying out the invention. ] Should not be used for interpretation of the technical scope of the invention described in the above.

本発明の論理回路の論理推定方法は、論理回路の入力値および出力値を、論理推定あるいは逆論理推定により算出するための論理回路の論理推定方法であって、論理推定対象となる論理回路の出力値および入力値の少なくとも一部と、機能記述設計データとを論理回路の入出力端子の入力として設定するための入力工程と、入力工程で設定された論理回路に対応する機能記述設計データを抽出する回路抽出工程と、機能記述設計データを決定グラフに変換する変換工程と、決定グラフを組合せ回路部分と順序回路部分とに分割及び階層化する再変換工程とにより、論理回路を決定グラフ(DD:Decision Diagram)に変換するDD変換工程と、入力工程で設定された論理回路の出力値および入力値に基づいて、出力値に対応する期待値を算出するための論理推定と入力値に対応する逆論理推定値を算出するための逆論理推定のいずれを計算するかを選択する推定モード選択工程と、推定モード選択工程で選択された計算に基づいて、再変換工程によって分割及び階層化された決定グラフ毎に、複数の時刻における期待値あるいは逆論理推定値を算出する推定工程と、推定工程により算出された算出結果を保持管理する推定値管理工程とにより、論理回路の期待値および逆論理推定値を算出する値推定工程と、論理回路の期待値、逆論理推定値、あるいは決定グラフの構造を出力する出力工程とを備える。   The logic circuit logic estimation method of the present invention is a logic circuit logic estimation method for calculating an input value and an output value of a logic circuit by logic estimation or inverse logic estimation. Input process for setting at least part of output value and input value and function description design data as input of input / output terminal of logic circuit, and function description design data corresponding to logic circuit set in input process A logic circuit is determined by a circuit extraction step to extract, a conversion step for converting function description design data into a decision graph, and a reconversion step for dividing and hierarchizing the decision graph into combinational circuit portions and sequential circuit portions. It corresponds to the output value based on the output value and input value of the DD conversion process that is converted to DD (Decision Diagram) and the logic circuit set in the input process. Selected in the estimation mode selection step and the estimation mode selection step for selecting which of the logic estimation for calculating the expected value and the inverse logic estimation for calculating the inverse logic estimation corresponding to the input value Based on the calculated calculation, for each decision graph divided and hierarchized by the reconversion process, an estimation process for calculating an expected value or an inverse logic estimation value at a plurality of times and a calculation result calculated by the estimation process are stored and managed. A value estimation step for calculating an expected value and an inverse logic estimate value of the logic circuit, and an output step for outputting the expected value of the logic circuit, the inverse logic estimate value, or the structure of the decision graph. .

本発明により、論理回路の故障箇所の推定を行う、あるいは設計デバッグでの論理推定を行うために、機能レベルで入力値から出力値、及び出力値から入力値を算出する論理回路の論理推定方法を提供することができる。   INDUSTRIAL APPLICABILITY According to the present invention, a logic circuit logic estimation method for calculating an output value from an input value and an input value from an output value at a functional level in order to estimate a failure location of the logic circuit or to perform logic estimation in design debugging Can be provided.

本発明の論理回路の論理推定方法により、論理回路を順序回路ブロックと組合せ回路ブロックとで分割及び階層化した決定グラフに変換し、分割及び階層化された決定グラフ毎に、複数の時刻における論理値を計算することで、階層化して記述された論理回路や順序回路に対しても、短時間で入力値から出力値、あるいは出力値から入力値を算出できる。本願に係わる、入力値から出力値を算出する期待値計算や、出力値から入力値を算出する逆論理推定は、故障箇所推定での故障経路の追跡に使用でき、これにより、故障箇所の推定時間の短縮が実現する。さらに、本願に係わる回路デバッグでは、ある信号に値を設定して、そこから逆論理推定することで、入力方向の任意の信号の値を算出でき、不具合原因のトレースを容易にすることができる。   According to the logic circuit logic estimation method of the present invention, a logic circuit is converted into a decision graph obtained by dividing and hierarchizing a sequential circuit block and a combinational circuit block. By calculating the value, it is possible to calculate the output value from the input value or the input value from the output value in a short time even for a logic circuit or sequential circuit described in a hierarchical manner. The expected value calculation for calculating the output value from the input value and the inverse logic estimation for calculating the input value from the output value according to the present application can be used for tracking the failure path in the failure location estimation, thereby estimating the failure location. Time saving is realized. Furthermore, in circuit debugging according to the present application, by setting a value to a certain signal and performing inverse logic estimation from that value, it is possible to calculate the value of an arbitrary signal in the input direction, and to easily trace the cause of the failure. .

添付図面を参照して、本発明の論理回路の論理推定方法を実施するための最良の形態を以下に説明する。   With reference to the accompanying drawings, the best mode for carrying out the logic estimation method of the logic circuit of the present invention will be described below.

本発明の論理回路の論理推定方法は、論理回路の期待値および逆論理を算出する論理回路の論理推定方法であって、(1)入力工程と、論理回路を決定グラフ(DD:Decision Diagram)に変換する(2)DD変換工程と、期待値と逆論理推定値のいずれの論理を計算するかを選択する(3)推定モード選択工程と、論理回路の期待値および逆論理を算出する(4)値推定工程と、(5)出力工程とを備えている。   A logic circuit logic estimation method according to the present invention is a logic circuit logic estimation method for calculating an expected value and inverse logic of a logic circuit. (1) An input process and a logic circuit decision graph (DD: Decision Diagram) (2) DD conversion step and selecting which logic of expected value or inverse logic estimated value is calculated (3) Estimation mode selecting step, and expected value and inverse logic of logic circuit are calculated ( 4) A value estimation step and (5) an output step are provided.

(1)入力工程は、論理推定の対象となる論理回路のシュミレーション、テストおよび解析などによって得られる入出力端子の論理値、あるいは機能記述設計データを入出力値として設定する。入力工程では、入力値のみ、出力値のみ、一部の出力値、出力値と一部の入力値、入力値と一部の出力値など、いずれの値を与えても良い。ここで論理値とは、期待値あるいは逆論理推定値である。また、機能記述設計データは、論理回路の構造あるいは動作を、Verilog−HDLやVHDLなどのハードウェア記述言語やC言語などで記述したものである。 (1) In the input process, input / output terminal logic values or function description design data obtained by simulation, testing and analysis of a logic circuit to be subjected to logic estimation are set as input / output values. In the input process, any value such as only an input value, only an output value, a part of output values, an output value and a part of input values, or an input value and a part of output values may be given. Here, the logical value is an expected value or an inverse logical estimated value. The function description design data describes the structure or operation of a logic circuit in a hardware description language such as Verilog-HDL or VHDL, C language, or the like.

(2)DD変換工程は、回路抽出工程によって、入力工程で指定された論理回路に対応する機能記述設計データを抽出し、変換工程によって、機能記述設計データを決定グラフに変換し、再変換工程によって、決定グラフを組合せ回路部分と順序回路部分とに分割及び階層化する。また、DD変換工程の変換工程は、機能記述設計データにより、論理回路の処理順序に従って複数の状態を持つ状態遷移表を作成する。そして、状態遷移表に基づいて、論理回路が階層的に記述されている場合は、階層化された回路ブロックをモジュールノードとする。そして、入力となる入力ノード、ある時刻では入力となり、別の時刻では出力となる入出力ノード、演算子で構成される操作ノード、複数の入力値の組から1つの出力値を選択する選択ノード及び出力ノードをそれぞれ結線することにより、データフロー表示して全条件に対する動作を決定する決定グラフを作成する。これにより、論理推定に必要な決定グラフを作成することができる。また、DD変換工程の再変換工程は、決定グラフが階層化されていた場合に、モジュールノードが示す決定グラフをモジュールノードに置き換えて、フラットな決定グラフ構造(階層的に表現されていない決定グラフ)とする。ここで、一般的なモジュールノードMを使用して決定グラフAを作成した場合、決定グラフは2つできる。決定グラフAと、モジュールノードMを表現する決定グラフBとである。論理回路は決定グラフAで表現されるが、決定グラフAの構成要件の一部が決定グラフBとして階層的に表現される。このため、本願においては、この決定グラフBを当該モジュールノードに置き換えることにより、階層的に表現されていない決定グラフを実現する。 (2) In the DD conversion step, the function description design data corresponding to the logic circuit specified in the input step is extracted by the circuit extraction step, the function description design data is converted into a decision graph by the conversion step, and the re-conversion step Thus, the decision graph is divided and hierarchized into a combinational circuit portion and a sequential circuit portion. In the conversion process of the DD conversion process, a state transition table having a plurality of states is created according to the processing sequence of the logic circuit based on the function description design data. If the logic circuits are described hierarchically based on the state transition table, the hierarchical circuit block is set as a module node. An input node that becomes an input, an input / output node that becomes an input at a certain time and an output at another time, an operation node composed of operators, and a selection node that selects one output value from a set of a plurality of input values By connecting the output nodes and the output nodes, a decision graph for displaying data flow and determining operations for all conditions is created. Thereby, a decision graph required for logic estimation can be created. Further, the re-conversion process of the DD conversion process replaces the decision graph indicated by the module node with the module node when the decision graph is hierarchized, and a flat decision graph structure (decision graph not represented hierarchically) ). Here, when the decision graph A is created using a general module node M, two decision graphs can be created. A decision graph A and a decision graph B representing the module node M. Although the logic circuit is represented by a decision graph A, a part of the configuration requirements of the decision graph A is hierarchically represented as a decision graph B. For this reason, in this application, the decision graph which is not expressed hierarchically is implement | achieved by replacing this decision graph B with the said module node.

次に、フラットな決定グラフ構造を、順序回路ブロックと組合せ回路ブロックとに分離する。DD変換工程の再変換工程は、決定グラフが階層化されてなくフラットな構造であった場合には、決定グラフを順序回路ブロックと組合せ回路ブロックとに分離して、順序回路ブロックをモジュールノードに置き換える。このとき、モジュールノードを表現する決定グラフは、順序回路ブロックを表現する決定グラフである。   Next, the flat decision graph structure is separated into sequential circuit blocks and combinational circuit blocks. In the reconversion process of the DD conversion process, when the decision graph has a flat structure without being hierarchized, the decision graph is separated into a sequential circuit block and a combinational circuit block, and the sequential circuit block is converted into a module node. replace. At this time, the decision graph representing the module node is a decision graph representing the sequential circuit block.

(3)推定モード選択工程は、入力工程で指定された論理回路の入出力値をもとに、期待値計算と逆論理推定値計算のいずれを計算するかを判定する。 (3) The estimation mode selection step determines whether to calculate an expected value calculation or an inverse logic estimation value calculation based on the input / output values of the logic circuit specified in the input step.

(4)値推定工程は、推定モード選択工程(3)で選択された計算方法で、再変換工程によって分割及び階層化された決定グラフ毎に、複数の時刻における論理値を計算する推定工程と、計算結果を保持管理する推定値管理工程とにより、論理回路の期待値および逆論理推定値を算出する。ここで、時刻とは、時間(sec,nsec,psec)を意味する場合、論理回路が動作するサイクル番号を意味する場合などがある。例えば、1nsecを単位として、何単位時間(サイクル)目に信号が変化するという時刻の定義がある。また、シミュレーションやテストのときには、パターン(あるいはベクタ)を時刻単位として管理が行われる。また、論理回路の入力端子は複数あるが、入力工程では、それぞれの端子に“0”や“1”が設定され、例えば、3つの入力端子それぞれに、1番目として“0”、“1”、“0”という値を設定する時には、“010”という1つの入力パタンが設定される。次に、2番目として“1”、“1”、“1”という値を設定する時には、“111”という1つの入力パタンが設定される。テストにおいては、連続した何万ものパターンが入力端子に設定され、この場合には、1つのパターンがそれぞれ“時刻”の意味を持つ。 (4) The value estimation step is an estimation step for calculating a logical value at a plurality of times for each decision graph divided and hierarchized by the reconversion step by the calculation method selected in the estimation mode selection step (3). Then, the expected value and the inverse logic estimated value of the logic circuit are calculated by the estimated value managing step for holding and managing the calculation result. Here, the time may mean time (sec, nsec, psec), or may mean a cycle number in which a logic circuit operates. For example, there is a definition of a time at which a signal changes every unit time (cycle) in units of 1 nsec. In simulations and tests, management is performed using patterns (or vectors) as time units. In addition, although there are a plurality of input terminals of the logic circuit, in the input process, “0” or “1” is set in each terminal. For example, “0” and “1” are set as the first in each of the three input terminals. When a value “0” is set, one input pattern “010” is set. Next, when the values “1”, “1”, and “1” are set as the second, one input pattern “111” is set. In the test, tens of thousands of continuous patterns are set as input terminals. In this case, each pattern has the meaning of “time”.

値推定工程の推定工程は、推定モード選択工程によって期待値計算が選択された場合、決定グラフを用いて、状態が遷移するごとに、入力ノード、操作ノード、選択ノード、モジュールノード、入出力ノード及び出力ノードの値を計算することで論理回路の期待値を算出する。モジュールノード計算では、モジュールノードに対応する決定グラフを用いて、決定グラフの期待値を算出し、期待値をモジュールノードの値とする。これにより、論理回路の期待値を算出することができる。値推定工程の推定工程は、推定モード選択工程によって逆論理推定が選択された場合、決定グラフを用いて、論理回路を表現する最上層の決定グラフの出力ノードを起点として、遷移状態を遡りながら、選択ノード、操作ノード、入出力ノード、入力ノード、モジュールノードそれぞれの値の推定を入力方向に行い、モジュールノードの推定ではモジュールノードに対応する決定グラフの推定をする。分離している決定グラフ、あるいは階層化された決定グラフが順序回路ブロックであれば、決定グラフの入力ノードの値と、直前の時刻の入力ノード及び出力ノードの値とを推定し、決定グラフが組合せ回路ブロックであれば、現時刻の推定と直前の時刻の推定とを別個に行い、両時刻の推定結果をマージすることで、論理回路の入力値と直前の時刻の入出力値を推定する。値推定工程で期待値計算と逆論理推定値計算のいずれを計算するかは、入力工程から直接指定してもよい。   When the expected value calculation is selected in the estimation mode selection process, the estimation process of the value estimation process uses an input node, an operation node, a selection node, a module node, and an input / output node each time the state transitions using a decision graph And the expected value of the logic circuit is calculated by calculating the value of the output node. In the module node calculation, the expected value of the decision graph is calculated using the decision graph corresponding to the module node, and the expected value is set as the value of the module node. Thereby, the expected value of the logic circuit can be calculated. In the estimation process of the value estimation process, when inverse logic estimation is selected in the estimation mode selection process, using the decision graph, the transition node is traced back starting from the output node of the uppermost decision graph representing the logic circuit. The estimation of the values of the selection node, the operation node, the input / output node, the input node, and the module node is performed in the input direction, and in the estimation of the module node, the decision graph corresponding to the module node is estimated. If the separated decision graph or the hierarchical decision graph is a sequential circuit block, the value of the input node of the decision graph and the values of the input node and output node at the immediately preceding time are estimated, and the decision graph is In the case of a combinational circuit block, estimation of the current time and estimation of the immediately preceding time are performed separately, and the estimation result of both times is merged to estimate the input value of the logic circuit and the input / output value of the immediately preceding time. . Whether the expected value calculation or the inverse logic estimated value calculation is calculated in the value estimation step may be designated directly from the input step.

(5)出力工程は、論理回路の期待値あるいは推定値を出力し、また論理回路の決定グラフ構造を表示する。 (5) In the output step, an expected value or an estimated value of the logic circuit is output, and a decision graph structure of the logic circuit is displayed.

本発明の論理回路の論理推定方法においては、モジュールノードを設定することで、階層記述された論理回路に対しても、論理推定に必要な決定グラフを作成することができる。また、順序回路ブロックと組合せ回路ブロックとで決定グラフ構造を階層化及び分離し、順序回路ブロックについては、現時刻と直前時刻の推定とを別個に行うことで、逆論理推定時の計算量を抑えることができ、処理時間を短縮することができる。これにより、機能レベルで論理回路の期待値及び逆論理推定値を算出することができる。   In the logic circuit logic estimation method of the present invention, by setting module nodes, a decision graph necessary for logic estimation can be created even for hierarchically described logic circuits. In addition, the decision graph structure is hierarchized and separated by the sequential circuit block and the combinational circuit block, and the current time and the previous time are estimated separately for the sequential circuit block, thereby reducing the amount of calculation at the time of inverse logic estimation. The processing time can be shortened. Thereby, the expected value and the inverse logic estimated value of the logic circuit can be calculated at the function level.

(本発明の実施の形態)
本発明の論理回路の論理推定方法を実施するための、論理回路推定装置の概略構成を図2に示す。
(Embodiment of the present invention)
FIG. 2 shows a schematic configuration of a logic circuit estimation apparatus for implementing the logic circuit logic estimation method of the present invention.

本実施の形態に係わる論理回路の論理推定方法を実施するための、論理回路の論理回路推定装置10は、論理推定対象となる論理回路の論理推定を実行するための指示を入力する入力部20と、CPU40と、記憶部70と、外部データ取得部50と、必要に応じて論理推定結果を出力するための出力部30とを備えている。記憶部70には、予め、論理推定対象となる論理回路の故障箇所の推定を行う、あるいは設計デバッグでの論理推定を行うことにより、機能レベルで入力値から出力値、あるいは出力値から入力値を算出するための論理推定プログラム70aが格納されている。また、外部データ取得部50には、論理推定対象となる論理回路のデストデータを記録した論理回路のテストデータ記憶装置100が接続される。そして、入力部20と、CPU40と、記憶部70と、外部データ取得部50と、出力部30とは、それぞれバスラインで接続されている。   A logic circuit logic estimation apparatus 10 for executing the logic circuit logic estimation method according to the present embodiment inputs an instruction for executing logic estimation of a logic circuit to be subjected to logic estimation. A CPU 40, a storage unit 70, an external data acquisition unit 50, and an output unit 30 for outputting a logic estimation result as necessary. The storage unit 70 preliminarily estimates the failure location of the logic circuit to be subjected to logic estimation, or performs logic estimation in design debugging, so that the input value from the input value or the input value from the output value at the functional level. The logic estimation program 70a for calculating is stored. Further, the external data acquisition unit 50 is connected to a test data storage device 100 for a logic circuit that records the destination data of the logic circuit to be subjected to logic estimation. The input unit 20, the CPU 40, the storage unit 70, the external data acquisition unit 50, and the output unit 30 are each connected by a bus line.

(実施の形態の動作原理)
本実施の形態に係わる論理回路の論理推定方法について、図3を用いて説明する。本実施の形態においては、論理回路の論理回路推定装置10の入力部20から、論理推定対象となる論理回路の論理推定を実行する旨の指示が入力されると、CPU40が、記憶部70に格納されている論理推定プログラム70aを読み込んで実行する。論理推定プログラム70aの実行に伴い、外部データ取得部50は、論理回路テストデータ記憶装置100から、論理推定対象となる論理回路のデストデータを取得する。これにより、CPU40が、論理推定対象となる論理回路の論理推定を開始する。図3に示されるように、本実施の形態に係わる論理推定は、入力工程(ステップS01)と、論理回路を決定グラフに変換するDD変換工程(ステップS02)と、期待値と逆論理推定値のいずれを計算するかを選択する推定モード選択工程(ステップS03)と、論理回路の期待値および逆論理推定値を算出する値推定工程(ステップS04)と、出力工程(ステップS05)とを備えている。以下、各工程それぞれについて詳細に説明する。
(Operational principle of the embodiment)
A logic circuit logic estimation method according to this embodiment will be described with reference to FIG. In the present embodiment, when an instruction to execute logic estimation of a logic circuit to be subjected to logic estimation is input from the input unit 20 of the logic circuit estimation device 10 of the logic circuit, the CPU 40 stores in the storage unit 70. The stored logic estimation program 70a is read and executed. Along with the execution of the logic estimation program 70a, the external data acquisition unit 50 acquires, from the logic circuit test data storage device 100, the destination data of the logic circuit to be subjected to logic estimation. Thereby, CPU40 starts the logic estimation of the logic circuit used as logic estimation object. As shown in FIG. 3, the logic estimation according to the present embodiment includes an input process (step S01), a DD conversion process (step S02) for converting a logic circuit into a decision graph, an expected value and an inverse logic estimate. An estimation mode selection step (step S03) for selecting which one of these is calculated, a value estimation step (step S04) for calculating an expected value and an inverse logic estimation value of the logic circuit, and an output step (step S05). ing. Hereinafter, each process will be described in detail.

入力工程(ステップS01)においては、論理回路の入出力端子の論理値、あるいは機能記述設計データが入出力値として設定される。また、論理推定対象となる論理回路が指定される。   In the input step (step S01), the logic value of the input / output terminal of the logic circuit or the function description design data is set as the input / output value. Also, a logic circuit to be a logic estimation target is designated.

DD変換工程(ステップS02)は、入力工程(ステップS01)で指定された論理回路に対応する機能記述設計データを抽出する回路抽出工程と、機能記述設計データを決定グラフに変換する変換工程と、決定グラフを組合せ回路部分と順序回路部分とに分割及び階層化する再変換工程とを有している。   The DD conversion step (step S02) includes a circuit extraction step for extracting function description design data corresponding to the logic circuit specified in the input step (step S01), a conversion step for converting the function description design data into a decision graph, A re-conversion step of dividing and hierarchizing the decision graph into a combinational circuit portion and a sequential circuit portion;

推定モード選択工程(ステップS03)は、入力工程(ステップS01)で指定された論理回路の入出力値をもとに、期待値と逆論理推定値のいずれを計算するかを判定する。   In the estimation mode selection step (step S03), it is determined whether to calculate an expected value or an inverse logic estimation value based on the input / output values of the logic circuit specified in the input step (step S01).

値推定工程(ステップS04)は、推定モード選択工程(ステップS03)で選択された計算方法で、再変換工程によって分割及び階層化された決定グラフ毎に、複数の時刻における論理値を計算する推定工程と、計算結果を保持管理する推定値管理工程とにより、論理回路の期待値および逆論理推定値を算出する。   The value estimation step (step S04) is an estimation method for calculating logical values at a plurality of times for each decision graph divided and hierarchized by the re-conversion step by the calculation method selected in the estimation mode selection step (step S03). The expected value and the inverse logic estimated value of the logic circuit are calculated by the process and the estimated value managing process for holding and managing the calculation result.

出力工程(ステップS05)は、論理回路の期待値あるいは推定値を出力し、また論理回路の決定グラフ構造を表示する。   In the output step (step S05), the expected value or estimated value of the logic circuit is output, and the decision graph structure of the logic circuit is displayed.

次に、本実施の形態におけるDD変換工程(ステップS02)について、図4から図7までを用いて説明する。   Next, the DD conversion process (step S02) in the present embodiment will be described with reference to FIGS.

図4は、論理回路:Circuit−AのVerilog−HDL記述である。図5は、Circuit−Aの順序回路ブロックであるCircuit−Bの状態遷移表である。Circuit−Bは、信号DYNの変化を検出したら動作し、DYNが0ならばOUTに1を出力し、DYNが1ならばOUTに0を出力する回路である。   FIG. 4 is a Verilog-HDL description of the logic circuit: Circuit-A. FIG. 5 is a state transition table of Circuit-B, which is a sequential circuit block of Circuit-A. Circuit-B is a circuit that operates when a change in the signal DYN is detected. If DYN is 0, 1 is output to OUT, and if DYN is 1, 0 is output to OUT.

まず、機能記述設計データであるVerilog−HDL記述(図4参照)の処理順序に従って、図5に示される状態遷移表を作成する。Circuit−Aは、Verilog−HDL記述に時間遷移を含まないため、状態遷移表を作成する必要が無い。一方、Circuit−Bは、Verilog−HDL記述に時間遷移を含むため、処理順序に従って状態遷移表を作成する。   First, the state transition table shown in FIG. 5 is created in accordance with the processing order of the Verilog-HDL description (see FIG. 4) which is function description design data. Circuit-A does not include a time transition in the Verilog-HDL description, so there is no need to create a state transition table. On the other hand, Circuit-B creates a state transition table according to the processing order because it includes a time transition in the Verilog-HDL description.

最初の遷移状態として、alwaysブロックのイベント発生の判断処理を状態ST0に割り当てる。ここで、信号DYNの変化を@DYNと表現し、DYNの値に変化があれば、tempはTRUEとなり、変化がなければFALSEとなる。次に、alwaysブロック内に記述された処理を状態ST1に割り当てる。また、状態ST1では、ノンブロッキング代入式(OUT<=1,OUT<=0)における右辺の式の評価を一時的なレジスタ:_reg1に代入する処理を割り当てる。次に、一時的なレジスタ:_reg1に保持した値をノンブロッキング代入式の左辺の信号:OUTへ代入する処理を状態ST2に割り当てる。状態ST0では、tempがTRUEならば状態ST1へ行き、tempがFALSEならば状態ST3へ行く。状態ST1では、処理が終了したら状態ST2へ行く。状態ST2では、処理が終了したら状態ST3へ行く。状態ST3では、ST0へ行く。   As the first transition state, the event generation determination process of the always block is assigned to the state ST0. Here, the change in the signal DYN is expressed as @DYN. If there is a change in the value of DYN, temp becomes TRUE, and if there is no change, it becomes FALSE. Next, the process described in the always block is assigned to the state ST1. In the state ST1, a process for assigning the evaluation of the expression on the right side of the non-blocking substitution expression (OUT <= 1, OUT <= 0) to the temporary register: _reg1 is assigned. Next, a process of assigning the value held in the temporary register: _reg1 to the signal: OUT on the left side of the non-blocking assignment formula is assigned to the state ST2. In state ST0, if temp is TRUE, go to state ST1, and if temp is FALSE, go to state ST3. In the state ST1, when the process ends, the process goes to the state ST2. In the state ST2, when the process is completed, the process goes to the state ST3. In state ST3, go to ST0.

次に、Circuit−A、およびCircuit−Bの決定グラフの作成について説明する。Circuit−Aは、入力ポートであるIN0,IN1,IN2を入力ノードとし、出力ポートであるOT0を出力ノードとする。使用されているビット演算のAND(&)、ビット演算のOR(|)およびビット演算の論理反転(〜)を操作ノードとして設定する。信号:W00は、代入式の左辺において代入される変数であり、また回路ブロックCircuit−Bの入力でもあるため、入出力ノードとして設定する。I1は、回路ブロックCircuit−Bを表現するモジュールノードとして設定する。これらのノードを結線し、データフロー表示することで、Circuit−Aの決定グラフである図6が作成される。   Next, creation of decision graphs for Circuit-A and Circuit-B will be described. Circuit-A uses IN0, IN1, and IN2 as input ports as input nodes, and OT0 as an output port as output nodes. The bit operation AND (&), the bit operation OR (|) and the logical inversion (˜) of the bit operation are set as operation nodes. The signal: W00 is a variable to be substituted on the left side of the substitution formula, and is also an input to the circuit block Circuit-B, and therefore is set as an input / output node. I1 is set as a module node representing the circuit block Circuit-B. By connecting these nodes and displaying the data flow, FIG. 6 which is a decision graph of Circuit-A is created.

また、Circuit−Bは、入力ポートであるDYNを入力ノードとして設定する。状態変数_state,状態番号_st0,_st1,_st2,_st3を入力ノードとして設定する。また、条件式における定数、代入式の右辺において式の評価で使用されている定数である‘0’、‘1’、_reg1を入力ノードとして設定する。信号の変化を判断するイベントノード“_evnt”を入力ノードとして設定する。出力ポートであるOUT及び状態変数_stateを出力ノードとして設定する。代入式の左辺において代入される変数である_reg1を出力ノードとして設定する。if−else構文の動作を表現するために、等号(=)、論理演算のNOT(!)、論理演算のAND(∩)、論理演算のOR(∪)を操作ノードとして設定する。出力ノードOUT,_stateおよび_reg1のそれぞれに対応したOUT_a,state_a,reg1_a、を選択ノードとして設定する。選択ノードは、例えば図7中における▽記号に示されるものである。図7の右下に記載されている選択ノードは、出力ノード“_reg1”にデータを出力する。出力する値は、上方から伸びるノード“1”の値(=‘1’)、もしくはノード“0”の値(=‘0’)である。選択ノード▽の左方から接続される2本の線のうち、上側の1本が接続しているノード“∩”の値が1であるとき、上方から伸びる2本のうち左側の1本が接続しているノード“1”の値が選択される。また、選択ノード▽の左方から接続される2本の線のうち、下側の1本が接続しているノード“∩”の値が1であるとき、上方から伸びる2本のうち右側の1本が接続しているノード“0”の値が選択される。このように、選択ノード▽の左側に接続している結線が条件を示している。   Circuit-B sets DYN, which is an input port, as an input node. State variable _state and state numbers _st0, _st1, _st2, and _st3 are set as input nodes. Also, constants “0”, “1”, and _reg1, which are constants used in the evaluation of the expression on the right side of the conditional expression and the assignment expression, are set as input nodes. An event node “_evnt” for determining a change in signal is set as an input node. Output port OUT and state variable _state are set as output nodes. _Reg1, which is a variable assigned on the left side of the assignment expression, is set as an output node. In order to express the operation of the if-else syntax, an equal sign (=), NOT (!) of a logical operation, AND (∩) of a logical operation, and OR (∪) of a logical operation are set as operation nodes. OUT_a, state_a, and reg1_a corresponding to each of the output nodes OUT, _state, and _reg1 are set as selection nodes. The selection node is indicated by, for example, the ▽ symbol in FIG. The selection node described in the lower right of FIG. 7 outputs data to the output node “_reg1”. The output value is the value of the node “1” (= “1”) extending from above, or the value of the node “0” (= “0”). Of the two lines connected from the left of the selected node ▽, when the value of the node “∩” to which the upper one is connected is 1, the left one of the two lines extending from above is The value of the connected node “1” is selected. Of the two lines connected from the left of the selected node ▽, when the value of the node “∩” to which the lower one is connected is 1, the right of the two lines extending from the upper side The value of node “0” to which one is connected is selected. Thus, the connection connected to the left side of the selected node ▽ indicates the condition.

各ノードのリンクは、まず、状態変数である入力ノード_stateと、状態番号である入力ノード_st0,_st1,_st2および_st3とをそれぞれ操作ノード“=”でリンクする。出力ノードSTATEは選択ノードstate_aの出力先としてリンクする。選択ノードstate_aは、出力値として、状態番号である入力ノード_st0,_st1,_st2および_st3とリンクする。次状態がST1となるのは、状態ST0で条件tempがTRUEの場合であるため、選択ノードstate_aの出力値_st1に対応した状態結果として、「入力ノード_st0とリンクした等号“=”」と「DYNおよび_evntとリンクした等号“=”」とを、操作ノード“∩”にリンクし、操作ノード“∩”の出力先として選択ノードstate_aがリンクされる。次状態がST2となるのは、現状態がST1の場合であり、「入力ノード_st1とリンクした等号“=”」の出力先として選択ノードstate_aがリンクされる。次状態がST3となるのは、現状態がST0で条件tempがFALSEの場合と現状態がST2の場合であるため、「DYNおよび_evntとリンクした等号“=”」を操作ノード“!”でリンクし、さらに「入力ノード_st0とリンクした等号“=”」を操作ノード“∩”でリンクする。この操作ノード“∩”は、「入力ノード_st2とリンクした等号“=”」とにより、操作ノード“∪”でリンクされ、この操作ノード“∪”の出力先として選択ノードstate_aがリンクされる。次状態がST0となるのは、現状態がST3の場合であり、「入力ノード_st3とリンクした等号“=”」の出力先として選択ノードstate_aがリンクされる。選択ノードreg_aは出力先として、出力ノード_reg1とリンクする。ここで、出力値の一つである“1”に対応した状態結果として、「入力ノードST1とリンクした操作ノード“=”」と、「入力ノードDYNと“0”をリンクした操作ノード“=”」とを操作ノード“∩”でリンクし、操作ノード“∩”が選択ノードreg1_aとリンクされる。また、出力値“0”に対応した状態結果として、「入力ノードDYNと“0”をリンクした操作ノード“=”」を操作ノード“!”でリンクし、操作ノード“!”と「入力ノードST1とリンクした操作ノード“=”」とを操作ノード“∩”でリンクし、操作ノード“∩”が選択ノードreg1_aとリンクされる。入力ノード_reg1は、出力値として選択ノードOUT_aとリンクする。選択ノードOUT_aは出力先として、出力ノードOUTとリンクする。ここで、出力値である_reg1に対応した状態結果として、入力ノード_st2とリンクした等号“=”が選択ノードOUT_aとリンクされる。これらのノードを結線し、データフロー表示することで、Circuit−Bの決定グラフである図7が作成される。   As for the link of each node, first, the input node _state which is a state variable and the input nodes _st0, _st1, _st2 and _st3 which are state numbers are respectively linked by an operation node “=”. The output node STATE is linked as the output destination of the selected node state_a. The selection node state_a is linked with the input nodes _st0, _st1, _st2, and _st3, which are state numbers, as output values. Since the next state is ST1 when the condition temp is TRUE in the state ST0, the state result corresponding to the output value _st1 of the selected node state_a is “equal sign“ = ”linked to the input node _st0”. “The equal sign“ = ”” linked to DYN and _evnt is linked to the operation node “∩”, and the selected node state_a is linked as the output destination of the operation node “∩”. The next state is ST2 when the current state is ST1, and the selected node state_a is linked as the output destination of “equal sign“ = ”linked to input node_st1”. Since the next state is ST3 when the current state is ST0 and the condition temp is FALSE and when the current state is ST2, “equal sign“ = ”linked to DYN and _evnt” is changed to the operation node “!”. And the “equal sign“ = ”” linked with the input node_st0 is linked with the operation node “∩”. The operation node “∩” is linked with the operation node “∪” by “equal sign“ = ”linked to the input node_st2”, and the selection node state_a is linked as an output destination of the operation node “∪”. . The next state is ST0 when the current state is ST3, and the selected node state_a is linked as an output destination of “equal sign“ = ”linked to input node_st3”. The selection node reg_a is linked to the output node_reg1 as an output destination. Here, as a result of a state corresponding to “1” which is one of output values, “operation node“ = ”” linked to input node ST1 and “operation node linked to“ 0 ”from input node DYN” = “” Is linked with the operation node “∩”, and the operation node “∩” is linked with the selection node reg1_a. Further, as a result of the state corresponding to the output value “0”, “the operation node“ = ”” which links the input node DYN and “0” is linked by the operation node “!”, And the operation nodes “!” And “input node” are linked. The operation node “=” linked to ST1 is linked by the operation node “∩”, and the operation node “∩” is linked to the selection node reg1_a. The input node_reg1 is linked to the selection node OUT_a as an output value. The selection node OUT_a is linked to the output node OUT as an output destination. Here, as a state result corresponding to the output value _reg1, the equal sign “=” linked to the input node _st2 is linked to the selected node OUT_a. By connecting these nodes and displaying the data flow, FIG. 7 which is a decision graph of Circuit-B is created.

次に、本実施形態におけるDD変換工程(ステップS02)の再変換工程について、図8から図14までを参照して説明する。図8に示される決定グラフ(DD1)は、入力ノードがIN0,IN1,IN2,IN3,IN4であり、モジュールノードMDを介して、出力ノードOT0に計算結果を出力する。図9はモジュールノードMDの決定グラフ(DD2)であり、決定グラフDD1のIN0とIN1の演算結果、IN2の演算結果、IN3とIN4の演算結果、OT0が、それぞれ決定グラフDD2のT0,T1,T2,OUTに対応する。   Next, the reconversion process of the DD conversion process (step S02) in the present embodiment will be described with reference to FIGS. In the decision graph (DD1) shown in FIG. 8, the input nodes are IN0, IN1, IN2, IN3, and IN4, and the calculation result is output to the output node OT0 via the module node MD. FIG. 9 is a decision graph (DD2) of the module node MD. The calculation results of IN0 and IN1 of the decision graph DD1, the calculation result of IN2, the calculation results of IN3 and IN4, and OT0 are T0, T1, and T0 of the decision graph DD2, respectively. Corresponds to T2 and OUT.

DD変換工程(ステップS02)の再変換工程においては、決定グラフDD1のモジュールノードMDを決定グラフDD2に置き換えて、図10に示すフラットな決定グラフ(DD3)とする。また、決定グラフDD3を、遷移状態を持つ順序回路ブロックと、遷移状態に関係しない組合せ回路ブロックに分離する。決定グラフDD3のノードDYNよりも入力側のノードは、組合せ回路であり、ノードDYNで決定グラフを分離し、図11に示す組合せ回路ブロックの決定グラフDD4と、図12に示す順序回路ブロックの決定グラフDD5に分離する。また、決定グラフDD4は、決定グラフDD5を表現するモジュールノードMD1を用いて、図13に示す決定グラフに変換できる。また、図14に示す、モジュールノードの入出力を明確に表現した決定グラフに変換できる。これにより、決定グラフにおいて、順序回路ブロックと組合せ回路ブロックとを分離して表現することができる。   In the re-conversion step of the DD conversion step (step S02), the module node MD of the decision graph DD1 is replaced with the decision graph DD2 to obtain a flat decision graph (DD3) shown in FIG. Further, the decision graph DD3 is separated into a sequential circuit block having a transition state and a combinational circuit block not related to the transition state. The node on the input side of the node DYN of the decision graph DD3 is a combinational circuit. The decision graph is separated at the node DYN, and the decision graph DD4 of the combinational circuit block shown in FIG. 11 and the decision of the sequential circuit block shown in FIG. Separate into graph DD5. Further, the decision graph DD4 can be converted into the decision graph shown in FIG. 13 by using the module node MD1 expressing the decision graph DD5. Moreover, it can convert into the decision graph which expressed the input / output of the module node clearly shown in FIG. Thereby, in the decision graph, the sequential circuit block and the combinational circuit block can be expressed separately.

また、DD変換工程(ステップS02)の再変換工程の他の実施の形態について、図10から図14までを参照して説明する。DD変換工程(ステップS02)のDD再変換工程の他の実施の形態は、決定グラフが図10に示すフラットな決定グラフ(DD3)の場合に、決定グラフDD3を、図11に示す組合せ回路ブロックの決定グラフDD4と、図12に示す順序回路ブロックの決定グラフDD5とに分離する。フラットな決定グラフとは、ここでは階層的に表現されていない決定グラフのことである。決定グラフDD4は、決定グラフDD5を表現するモジュールノードMD1を用いて、図13に示す決定グラフに変換できる。また、図14に示す、モジュールノードの入出力を明確に表現した決定グラフに変換できる。これにより、決定グラフにおいて、順序回路ブロックと組合せ回路ブロックとを分離して表現することができる。   Another embodiment of the reconversion process of the DD conversion process (step S02) will be described with reference to FIGS. In another embodiment of the DD reconversion step of the DD conversion step (step S02), when the decision graph is the flat decision graph (DD3) shown in FIG. 10, the decision graph DD3 is changed to the combinational circuit block shown in FIG. The decision graph DD4 and the decision graph DD5 of the sequential circuit block shown in FIG. A flat decision graph is a decision graph that is not represented hierarchically here. The decision graph DD4 can be converted into the decision graph shown in FIG. 13 using the module node MD1 representing the decision graph DD5. Moreover, it can convert into the decision graph which expressed the input / output of the module node clearly shown in FIG. Thereby, in the decision graph, the sequential circuit block and the combinational circuit block can be expressed separately.

次に、本実施の形態における推定モード選択工程(ステップS03)について説明する。本実施の形態に係わる推定モード選択工程(ステップS03)は、論理回路の全ての入力値が既に設定されており、出力値の一部あるいは全てが未設定の場合に、計算方法として、出力値の一部あるいは全てを計算するための期待値計算を選択する。あるいは、全ての出力値が既に設定されていて、入力値の一部あるいは全てが未設定の場合に、計算方法として、入力値の一部あるいは全てを計算するための逆論理計算を選択する。さらに、入力値の一部及び出力値の一部が未設定の場合には、計算方法として、入力値の一部を計算するための逆論理計算を選択する。但し、本実施の形態における推定モード選択工程(ステップS03)において、期待値計算と逆論理推定のいずれを計算するかは、入力工程(ステップS01)において指定しても良い。   Next, the estimation mode selection step (step S03) in the present embodiment will be described. In the estimation mode selection step (step S03) according to the present embodiment, when all the input values of the logic circuit are already set and some or all of the output values are not set, an output value is calculated as a calculation method. Select the expected value calculation to calculate part or all of. Alternatively, when all output values are already set and a part or all of the input values are not set, an inverse logic calculation for calculating a part or all of the input values is selected as the calculation method. Further, when a part of the input value and a part of the output value are not set, an inverse logic calculation for calculating a part of the input value is selected as the calculation method. However, in the estimation mode selection step (step S03) in the present embodiment, it may be specified in the input step (step S01) which of expected value calculation and inverse logic estimation is calculated.

次に、本実施形態に係わる値推定工程(ステップS04)について説明する。初めに、値推定モード選択工程(ステップS03)において、期待値計算が選択された場合における本実施形態に係わる値推定工程(ステップS04)について、図12および図14を参照して説明する。   Next, the value estimation process (step S04) according to the present embodiment will be described. First, the value estimation step (step S04) according to the present embodiment when expected value calculation is selected in the value estimation mode selection step (step S03) will be described with reference to FIG. 12 and FIG.

論理回路の決定グラフは、図14に示す階層化記述された決定グラフ(DD6)であり、決定グラフDD6のモジュールノードMD1を表現する決定グラフは、図12に示す決定グラフ(DD5)である。論理回路の入力として、直前時刻ではIN0=0,IN1=0,IN2=0,IN3=0,IN4=0であり、現時刻ではIN0=0,IN1=0,IN2=0,IN3=1,IN4=1であったとする。まず、論理回路を表現する最上層の決定グラフDD6について、各ノードの値を計算する。直前時刻では、出力方向に順に操作ノード“&”、“〜”及び“|”の値を計算し、IN0=0,IN1=0,IN2=0,IN3=0,IN4=0であるから、ノードW1=0となる。現時刻では、IN0=0,IN1=0,IN2=0,IN3=1,IN4=1であるから、ノードW1=1となる。モジュールノードMD1の入力値は、直前時刻で0、現時刻で1となる。モジュールノードMD1の入力は、決定グラフDD5の入力ノードDYNに対応する。   The decision graph of the logic circuit is the decision graph (DD6) described hierarchically as shown in FIG. 14, and the decision graph representing the module node MD1 of the decision graph DD6 is the decision graph (DD5) shown in FIG. As inputs of the logic circuit, IN0 = 0, IN1 = 0, IN2 = 0, IN3 = 0, IN4 = 0 at the previous time, and IN0 = 0, IN1 = 0, IN2 = 0, IN3 = 1 at the current time. Assume that IN4 = 1. First, the value of each node is calculated for the uppermost decision graph DD6 representing the logic circuit. At the immediately preceding time, the values of the operation nodes “&”, “˜”, and “|” are calculated in the output direction in order, and IN0 = 0, IN1 = 0, IN2 = 0, IN3 = 0, IN4 = 0. Node W1 = 0. At the current time, IN0 = 0, IN1 = 0, IN2 = 0, IN3 = 1, IN4 = 1, so node W1 = 1. The input value of the module node MD1 is 0 at the immediately preceding time and 1 at the current time. The input of the module node MD1 corresponds to the input node DYN of the decision graph DD5.

次にモジュールノードMD1の表現する決定グラフDD5について、各ノードの値を出力方向に計算する。決定グラフDD5の入力ノードDYNは、直前時刻では0、現時刻では1となる。決定グラフDD5は遷移状態が_st0から処理が始まるため、入力ノード_stateには、遷移状態_st0を意味する0を設定する。_evntとDYNにリンクした操作ノード“=”(X10)は、DYNの値が変化した場合に1を、変化しない場合に0を設定する。ここで、DYNは0から1に変化しているため、X10は1となる。入力ノード_state=0であるから、X13=1,X14=0,X1=0となる。順々に未設定の操作ノードの値を推定していき、操作ノードX2=1,X3=0,X5=0,X6=0となる。操作ノードX1=0,X2=1,X3=0であるから、選択ノードX4では、2番目の入力が選択され、出力ノード_stateは、遷移状態_st1を意味する1となる。操作ノードX5=0,X6=0であるから、選択ノードX7では、どの入力も選択されず、出力ノードOT0は設定されない。遷移状態_st0での計算が終了し、出力ノード_state=1であるから、次に遷移状態_st1へ行く。   Next, for the decision graph DD5 expressed by the module node MD1, the value of each node is calculated in the output direction. The input node DYN of the decision graph DD5 is 0 at the immediately preceding time and 1 at the current time. Since the process of the decision graph DD5 starts from the transition state _st0, 0 representing the transition state _st0 is set in the input node _state. The operation node “=” (X10) linked to _evnt and DYN sets 1 when the value of DYN changes, and 0 when it does not change. Here, since DYN changes from 0 to 1, X10 becomes 1. Since the input node_state = 0, X13 = 1, X14 = 0, and X1 = 0. The values of the operation nodes that have not been set are sequentially estimated, and the operation nodes X2 = 1, X3 = 0, X5 = 0, and X6 = 0. Since the operation node X1 = 0, X2 = 1, and X3 = 0, the second input is selected in the selection node X4, and the output node_state becomes 1 meaning the transition state_st1. Since the operation nodes X5 = 0 and X6 = 0, no input is selected in the selection node X7, and the output node OT0 is not set. Since the calculation in the transition state_st0 is completed and the output node_state = 1, the process goes to the transition state_st1 next.

遷移状態_st1では、入力ノード_state=1となる。入力ノードDYNの値は変化しないので、現時刻の値は1となる。直前時刻の値は、1つ前の遷移状態の値である1となる。DYNの値に変化がないため、操作ノードX10=0となる。操作ノードの値は、遷移状態_st0での推定と同様にして、X1=0,X2=0,X3=1,X5=0,X6=1となる。操作ノードX1=0,X2=0,X3=1であるから、選択ノードX4では、3番目の入力が選択され、出力ノード_stateは、遷移状態_st2を意味する2となる。操作ノードX5=0,X6=1であるから、選択ノードX7では、2番目の入力が選択され、出力ノードOT0=0となる。遷移状態_st1での計算が終了し、出力ノード_state=2であるから、次に遷移状態_st2へ行く。   In the transition state_st1, the input node_state = 1. Since the value of the input node DYN does not change, the current time value is 1. The value of the immediately preceding time is 1, which is the value of the previous transition state. Since there is no change in the value of DYN, the operation node X10 = 0. The values of the operation nodes are X1 = 0, X2 = 0, X3 = 1, X5 = 0, and X6 = 1, similarly to the estimation in the transition state_st0. Since the operation node X1 = 0, X2 = 0, and X3 = 1, the third input is selected in the selection node X4, and the output node_state becomes 2 which means the transition state_st2. Since the operation nodes X5 = 0 and X6 = 1, the second input is selected at the selection node X7, and the output node OT0 = 0. Since the calculation in the transition state_st1 is completed and the output node_state = 2, the process proceeds to the transition state_st2.

遷移状態_st2では、入力ノード_state=2となる。入力ノードDYNの値は変化しないので、現時刻の値は1となる。直前時刻の値は、1つ前の遷移状態の値である1となる。DYNの値に変化がないため、操作ノードX10=0となる。操作ノードの値は、遷移状態_st1での推定と同様にして、X1=1,X2=0,X3=0,X5=0,X6=0となる。操作ノードX1=1,X2=0,X3=0であるから、選択ノードX4では、1番目の入力が選択され、出力ノード_stateは、遷移状態_st0を意味する0となる。操作ノードX5=0,X6=0であるから、選択ノードX7では、どの入力も選択されず、出力ノードOT0は、1つ前の遷移状態の値である0となる。遷移状態_st2での計算が終了し、出力ノード_state=0であり、最初の遷移状態に戻るため、処理を終了する。次の時刻の期待値を計算する場合は、最後の遷移状態_st2の値を設定し、処理を続ける。これにより、決定グラフDD5の処理が終了し、次に、決定グラフDD5が示す決定グラフDD6のモジュールノードMD1に戻る。決定グラフDD6では、決定グラフDD5の出力ノードOT0が、モジュールノードMD1の出力に対応する。決定グラフDD5の出力ノードOT0の現時刻の値が0であるため、決定グラフDD6の出力ノードOT0の値は0となる。   In the transition state_st2, the input node_state = 2. Since the value of the input node DYN does not change, the current time value is 1. The value of the immediately preceding time is 1, which is the value of the previous transition state. Since there is no change in the value of DYN, the operation node X10 = 0. The value of the operation node is X1 = 1, X2 = 0, X3 = 0, X5 = 0, X6 = 0, as in the estimation in the transition state_st1. Since the operation nodes X1 = 1, X2 = 0, and X3 = 0, the first input is selected in the selection node X4, and the output node_state becomes 0 which means the transition state_st0. Since the operation nodes X5 = 0 and X6 = 0, no input is selected in the selection node X7, and the output node OT0 becomes 0 which is the value of the previous transition state. Since the calculation in the transition state_st2 is completed and the output node_state = 0, and the process returns to the first transition state, the process ends. When calculating the expected value at the next time, the value of the last transition state_st2 is set and the process is continued. Thereby, the process of the decision graph DD5 is completed, and then the process returns to the module node MD1 of the decision graph DD6 indicated by the decision graph DD5. In the decision graph DD6, the output node OT0 of the decision graph DD5 corresponds to the output of the module node MD1. Since the current time value of the output node OT0 of the decision graph DD5 is 0, the value of the output node OT0 of the decision graph DD6 is 0.

以上により、本実施形態に係わる値推定工程(ステップS04)では、モジュールノードを設定することにより、階層記述された論理回路に対しても期待値を計算することができる。   As described above, in the value estimation step (step S04) according to the present embodiment, an expected value can be calculated even for a logic circuit described in a hierarchy by setting a module node.

次に、値推定モード選択工程(ステップS03)において、逆論理推定が選択された場合における本実施の形態に係わる値推定工程(ステップS04)について、図12及び図14を参照して説明する。   Next, the value estimation step (step S04) according to the present embodiment when inverse logic estimation is selected in the value estimation mode selection step (step S03) will be described with reference to FIG. 12 and FIG.

値推定工程(ステップS04)における論理回路の決定グラフは、図14に示す階層化記述された決定グラフ(DD6)であり、決定グラフDD6のモジュールノードMD1を表現する決定グラフは、図12に示す決定グラフ(DD5)である。論理回路の現時刻の出力がOT0=1であったとし、現時刻の入力および直前時刻の入出力を推定する。まず、最上層の決定グラフDD6の出力ノードOT0を起点として、入力方向に遡りながら、各ノードの値を推定する。決定グラフDD6の出力ノードOT0の現時刻の値は1であるから、モジュールノードMD1の出力の現時刻の値は1となる。次に、モジュールノードMD1の表現する決定グラフDD5について推定する。   The decision graph of the logic circuit in the value estimation step (step S04) is the decision graph (DD6) described hierarchically as shown in FIG. 14, and the decision graph representing the module node MD1 of the decision graph DD6 is shown in FIG. It is a decision graph (DD5). Assuming that the output of the current time of the logic circuit is OT0 = 1, the input of the current time and the input / output of the immediately preceding time are estimated. First, the value of each node is estimated starting from the output node OT0 of the decision graph DD6 in the uppermost layer while going back in the input direction. Since the current time value of the output node OT0 of the decision graph DD6 is 1, the current time value of the output of the module node MD1 is 1. Next, the decision graph DD5 expressed by the module node MD1 is estimated.

決定グラフDD5の推定では、次遷移状態が_st0であるとして、出力ノード_stateの値を、遷移状態が_st0であることを意味する“0”と設定する。決定グラフDD6のモジュールノードMD1の出力の現時刻の値は1であるから、決定グラフDD5の出力ノードOT0=1と設定する。出力ノード_state=0であるから、選択ノードX4では、1番目の入力である_st0が選択されている。1番目が選択されているため、操作ノードX1=1,X2=0,X3=0となる。操作ノードX1=1であるから、入力ノード_state=2となる。操作ノードX13=0,X14=0となる。操作ノードX3=0であるから、X8=0となる。X8=0,X2=0,X13=0であるから、X9=x,X10=xとなる。ここでxは、0でも1でもどちらも良いことを意味する。X10=xであるから、DYN=xとなり、一つ前の遷移状態の値もxとなる。操作ノードX14=0であるため、X5=0,X6=0となる。X5=0,X6=0のため、選択ノードX7では、どの入力も選択されないことから、一つ前の遷移状態での出力ノードOT0の値は1となる。入力ノード_state=2であるから、遷移状態を遡り、遡った遷移状態では出力ノード_state=2となる。出力ノード_state=2、出力ノードOT0の値を1と設定する。入力ノードDYNはxである。出力ノード_state=2であるから、操作ノードX4では、3番目の入力である_st2が選択されている。3番目が選択されているため、操作ノードX1=0,X2=0,X3=1となる。操作ノードX3=1であるから、X8とX14は、「X8=1かつX14=1」、「X8=1かつX14=0」、あるいは「X8=0かつX14=1」のいずれかである。ここで、「X8=1かつX14=1」と仮定すると、X9=1,X13=1となる。X13=1であるから入力ノード_state=0となり、X14=0となる。X14の値が矛盾するため、「X8=1かつX14=1」ではない。また、「X8=1かつX14=0」と仮定すると、X9=1,X13=1,X10=0となる。X13=1であるから入力ノード_state=0となる。操作ノードX14=0であるため、X5=0,X6=0となる。X5=0,X6=0のため、選択ノードX7では、どの入力も選択されないことから、一つ前の遷移状態での出力ノードOT0の値は1となる。X10=0は、DYNの値に変化がないことを意味し、DYNは「現時刻値=0か一つ前の遷移状態の値=0」あるいは「現時刻値=1か一つ前の遷移状態の値=1」となる。入力ノード_state=0であり、これは初期状態を意味するから、遷移状態の遡りを終了する。決定グラフDD5の推定値としては、最終の遷移状態の出力ノード値を現時刻の出力値、初期遷移状態の入力ノード値を現時刻の入力値とする。また、初期遷移状態の一つ前の遷移状態での、入力ノード及び出力ノードの値を直前時刻の入力値及び出力値とする。すなわち、決定グラフDD5の推定値として、「DYNの直前時刻値=0,DYNの現時刻値=0,OT0の直前時刻値=1,OT0の現時刻値=1」及び「DYNの直前時刻値=1,DYNの現時刻値=1,OT0の直前時刻値=1,OT0の現時刻値=1」が求まる。   In the estimation of the decision graph DD5, assuming that the next transition state is _st0, the value of the output node _state is set to “0” which means that the transition state is _st0. Since the current time value of the output of the module node MD1 of the decision graph DD6 is 1, the output node OT0 = 1 of the decision graph DD5 is set. Since the output node_state = 0, the first input _st0 is selected in the selection node X4. Since the first is selected, the operation nodes X1 = 1, X2 = 0, and X3 = 0. Since the operation node X1 = 1, the input node_state = 2. The operation nodes X13 = 0 and X14 = 0. Since the operation node X3 = 0, X8 = 0. Since X8 = 0, X2 = 0, and X13 = 0, X9 = x and X10 = x. Here, x means that both 0 and 1 are good. Since X10 = x, DYN = x, and the value of the previous transition state is also x. Since the operation node X14 = 0, X5 = 0 and X6 = 0. Since X5 = 0 and X6 = 0, no input is selected in the selection node X7, so the value of the output node OT0 in the previous transition state is 1. Since input node_state = 2, the transition state is traced back, and in the transition state traced back, output node_state = 2. Output node_state = 2 and the value of output node OT0 are set to 1. The input node DYN is x. Since the output node_state = 2, the operation node X4 selects the third input _st2. Since the third item is selected, the operation nodes X1 = 0, X2 = 0, and X3 = 1. Since the operation node X3 = 1, X8 and X14 are either “X8 = 1 and X14 = 1”, “X8 = 1 and X14 = 0”, or “X8 = 0 and X14 = 1”. Here, assuming that “X8 = 1 and X14 = 1”, X9 = 1 and X13 = 1. Since X13 = 1, the input node_state = 0 and X14 = 0. Since the value of X14 is inconsistent, it is not “X8 = 1 and X14 = 1”. Assuming that “X8 = 1 and X14 = 0”, X9 = 1, X13 = 1, and X10 = 0. Since X13 = 1, the input node_state = 0. Since the operation node X14 = 0, X5 = 0 and X6 = 0. Since X5 = 0 and X6 = 0, no input is selected in the selection node X7, so the value of the output node OT0 in the previous transition state is 1. X10 = 0 means that there is no change in the value of DYN, and DYN is “current time value = 0 or the value of the previous transition state = 0” or “current time value = 1 or the previous transition. The value of the state = 1 ”. Since input node_state = 0, which means an initial state, the transition state is traced back. As the estimated value of the decision graph DD5, the output node value in the final transition state is the output value at the current time, and the input node value in the initial transition state is the input value at the current time. In addition, the values of the input node and the output node in the transition state immediately before the initial transition state are set as the input value and output value of the immediately preceding time. That is, as the estimated values of the decision graph DD5, “the previous time value of DYN = 0, the current time value of DYN = 0, the immediately previous time value of OT0 = 1, the current time value of OT0 = 1” and “the previous time value of DYN” = 1, current time value of DYN = 1, immediately previous time value of OT0 = 1, current time value of OT0 = 1 ”.

一方、「X8=0かつX14=1」と仮定すると、入力ノード_state=1、およびX13=0となる。X8=0,X2=0,X13=0であるから、X9=x,X10=xとなる。X10=xであるから、DYN=xとなり、一つ前の遷移状態の値もxとなる。次に、選択ノードX7を推定する。X7では、「何も選択されない」、「1番目の入力が選択される」、あるいは「2番目の入力が選択される」のいずれかである。ここで「何も選択されない」の場合を仮定すると、X6=0,X5=0である。X14=1,X6=0からX11=0となり、X12=1となる。また、X14=1およびX5=0から、X12=0となる。X12の値が矛盾するため、X7=「何も選択されない」場合は成立しない。X7が「2番目の入力が選択される」場合と仮定すると、入力ノード‘0’の値がOT0に出力されるが、これは、OT0=1に矛盾する。そこで、X7が「1番目の入力が選択される」と仮定すると、X5=1,X6=0である。するとX11=0,X12=1が成立する。X12=1であるから、DYN=0となる。選択ノードX7で値が選択されたことから、一つ前の遷移状態での出力ノードOT0の値はxとなる。入力ノード_state=1であるから、遷移状態を遡り、遡った遷移状態では、出力ノード_state=1となる。   On the other hand, assuming that “X8 = 0 and X14 = 1”, the input node_state = 1 and X13 = 0. Since X8 = 0, X2 = 0, and X13 = 0, X9 = x and X10 = x. Since X10 = x, DYN = x, and the value of the previous transition state is also x. Next, the selected node X7 is estimated. In X7, “Nothing is selected”, “First input is selected”, or “Second input is selected”. Here, assuming that “nothing is selected”, X6 = 0 and X5 = 0. From X14 = 1, X6 = 0 to X11 = 0, X12 = 1. Further, X12 = 1 and X5 = 0, so that X12 = 0. Since the value of X12 is contradictory, it does not hold when X7 = “Nothing is selected”. Assuming that X7 is “the second input is selected”, the value of the input node “0” is output to OT0, which contradicts OT0 = 1. Therefore, assuming that X7 is “the first input is selected”, X5 = 1 and X6 = 0. Then, X11 = 0 and X12 = 1 are established. Since X12 = 1, DYN = 0. Since the value is selected by the selection node X7, the value of the output node OT0 in the previous transition state is x. Since input node_state = 1, the transition state is traced back, and in the transition state traced back, output node_state = 1.

次の遷移状態では、まず、出力ノード_state=1、出力ノードOT0の値をxと設定する。入力ノードDYNは0である。出力ノード_state=1であるから、選択ノードX4では、2番目の入力である_st1が選択されている。選択ノードX4では2番目の入力が選択されているから、X1=0,X2=1,X3=0である。X3=0から、X8=0,X14=0となる。X2=1から、X10=1,X13=1となる。X13=1から、入力ノード_state=0となる。X10=1,DYN=0から、DYNの一つ前の遷移状態の値は1となる。X14=0から、X5=0,X6=0となる。X5=0,X6=0のため、選択ノードX7では、どの入力も選択されないことから、一つ前の遷移状態での出力ノードOT0の値はxとなる。入力ノード_state=0であり、これは初期状態を意味するから、遷移状態の遡りを終了する。決定グラフDD5の推定値として、「DYNの直前時刻値=1,DYNの現時刻値=0,OT0の直前時刻値=x,OT0の現時刻値=1」が求まる。   In the next transition state, first, output node_state = 1 and the value of output node OT0 are set to x. The input node DYN is 0. Since the output node_state = 1, the second input _st1 is selected at the selection node X4. Since the second input is selected at the selection node X4, X1 = 0, X2 = 1, and X3 = 0. From X3 = 0, X8 = 0 and X14 = 0. From X2 = 1, X10 = 1 and X13 = 1. From X13 = 1, the input node_state = 0. Since X10 = 1 and DYN = 0, the value of the transition state immediately before DYN is 1. From X14 = 0, X5 = 0 and X6 = 0. Since X5 = 0 and X6 = 0, no input is selected in the selection node X7, so the value of the output node OT0 in the previous transition state is x. Since input node_state = 0, which means an initial state, the transition state is traced back. As an estimated value of the decision graph DD5, “DYN immediately preceding time value = 1, DYN current time value = 0, OT0 immediately preceding time value = x, OT0 current time value = 1” is obtained.

以上の処理により、決定グラフDD5の推定を終了する。決定グラフDD5の推定値として、「DYNの直前時刻値=0,DYNの現時刻値=0,OT0の直前時刻値=1,OT0の現時刻値=1」、「DYNの直前時刻値=1,DYNの現時刻値=1,OT0の直前時刻値=1,OT0の現時刻値=1」、「DYNの直前時刻値=1,DYNの現時刻値=0,OT0の直前時刻値=x,OT0の現時刻値=1」の3つが求まる。   With the above processing, the estimation of the decision graph DD5 is completed. As the estimated values of the decision graph DD5, “the immediately preceding time value of DYN = 0, the current time value of DYN = 0, the immediately preceding time value of OT0 = 1, the current time value of OT0 = 1”, and the immediately preceding time value of DYN = 1. , DYN current time value = 1, OT0 immediately preceding time value = 1, OT0 current time value = 1, “DYN immediately preceding time value = 1, DYN current time value = 0, OT0 immediately preceding time value = x” , OT0 current time value = 1 ”.

次に、決定グラフDD6に戻る。決定グラフDD5の推定により、モジュールノードMD1の値は、「入力の直前時刻値=0,入力の現時刻値=0,出力の直前時刻値=1,出力の現時刻値=1」、「入力の直前時刻値=1,入力の現時刻値=1,出力の直前時刻値=1,出力の現時刻値=1」、「入力の直前時刻値=1,入力の現時刻値=0,出力の直前時刻値=x,出力の現時刻値=1」の3通りとなる。   Next, the process returns to the decision graph DD6. As a result of the estimation of the decision graph DD5, the value of the module node MD1 is as follows: “input previous time value = 0, input current time value = 0, output previous time value = 1, output current time value = 1”, “input Immediately before time value = 1, input current time value = 1, output previous time value = 1, output current time value = 1, “input previous time value = 1, input current time value = 0, output The immediately preceding time value = x, the current output time value = 1 ”.

モジュールノードMD1から入力側のノードの推定では、まず、順序回路ブロックである決定グラフDD5の値の両時刻の結果をマージする。例えば、回路ブロックの推定値が、「入力の直前時刻値=1,入力の現時刻値=0,出力の直前時刻値=1,出力の現時刻値=1」と、「入力の直前時刻値=0,入力の現時刻値=0,出力の直前時刻値=1,出力の現時刻値=1」であった場合、入力の直前時刻値が0であっても1であっても成立するため、「入力の直前時刻値=x,入力の現時刻値=0,出力の直前時刻値=1,出力の現時刻値=1」とマージできる。本実施例では、マージできないので、3通りについて推定する。   In the estimation of the node on the input side from the module node MD1, first, the results of both times of the value of the decision graph DD5 which is the sequential circuit block are merged. For example, the estimated value of the circuit block is “input immediately preceding time value = 1, input current time value = 0, output immediately preceding time value = 1, output current time value = 1” and “input immediately preceding time value”. = 0, current input time value = 0, previous output time value = 1, current output time value = 1 ”, whether the previous input time value is 0 or 1 holds. Therefore, it can be merged with “input previous time value = x, input current time value = 0, output previous time value = 1, output current time value = 1”. In this embodiment, since merging is not possible, three types are estimated.

次に、モジュールノードMD1の入力値として、決定グラフDD5の3通りの推定結果の入力値からリストアップした0の場合と1の場合について、入力側のノードを推定する。   Next, as input values of the module node MD1, nodes on the input side are estimated for the cases of 0 and 1 listed from the input values of the three estimation results of the decision graph DD5.

モジュールノードMD1の入力値が0の場合、入出力ノードW1=0となり、操作ノードY1=0となる。Y1=0から、Y2=0,Y5=0となる。Y5=0から、「IN0=0かつIN1=x」あるいは「IN0=1かつIN1=0」が求まり、このどちらも決定グラフDD5で矛盾はない。Y2=0から、「Y3=0かつY4=x」あるいは「Y3=1かつY4=0」となる。「Y3=0かつY4=x」と仮定すると、IN2=1,IN3=x,IN4=xが求まり、このどちらも決定グラフDD5で矛盾はない。「Y3=1かつY4=0」と仮定すると、IN2=0となる。Y4=0から、「IN3=0かつIN4=x」あるいは「IN3=1かつIN4=0」が求まり、このどちらも決定グラフDD5で矛盾はない。以上により、(IN0,IN1,IN2,IN3,IN4)=(0,x,1,x,x)、(0,x,0,0,x)、(0,x,0,1,0)、(1,0,1,x,x)、(1,0,0,0,x)、(1,0,0,1,0)の6通りが求まる。   When the input value of the module node MD1 is 0, the input / output node W1 = 0 and the operation node Y1 = 0. From Y1 = 0, Y2 = 0 and Y5 = 0. From Y5 = 0, “IN0 = 0 and IN1 = x” or “IN0 = 1 and IN1 = 0” is obtained, and there is no contradiction in the decision graph DD5. From Y2 = 0, “Y3 = 0 and Y4 = x” or “Y3 = 1 and Y4 = 0”. Assuming that “Y3 = 0 and Y4 = x”, IN2 = 1, IN3 = x, and IN4 = x are obtained, and both are consistent in the decision graph DD5. Assuming that “Y3 = 1 and Y4 = 0”, IN2 = 0. From Y4 = 0, “IN3 = 0 and IN4 = x” or “IN3 = 1 and IN4 = 0” is obtained, and both are consistent in the decision graph DD5. From the above, (IN0, IN1, IN2, IN3, IN4) = (0, x, 1, x, x), (0, x, 0, 0, x), (0, x, 0, 1, 0) , (1, 0, 1, x, x), (1, 0, 0, 0, x), and (1, 0, 0, 1, 0).

モジュールノードMD1の入力値が1の場合、入出力ノードW1=1となり、操作ノードY1=1となる。Y1=1から、(Y2,Y5)は(1,x)あるいは(0,1)が求まる。(Y2,Y5)=(1,x)と仮定すると、IN0=x,IN1=x,Y3=1,Y4=1となる。Y3=1からIN2=0となる。Y4=1からIN3=1,IN4=1となる。(Y2,Y5)=(0,1)と仮定すると、IN0=1,IN1=1となり、(Y3,Y4)は(0,x)あるいは(1,0)となる。(Y3,Y4)=(0,x)と仮定すると、IN2=1,IN3=x,IN4=xとなる。(Y3,Y4)=(1,0)と仮定すると、IN2=0となり、(IN3,IN4)は(0,x)あるいは(1,0)となる。以上より、(IN0,IN1,IN2,IN3,IN4)=(x,x,0,1,1)、(1,1,1,x,x)、(1,1,0,0,x)、(1,1,0,1,0)の4通りが求まる。   When the input value of the module node MD1 is 1, the input / output node W1 = 1 and the operation node Y1 = 1. From Y1 = 1, (1, x) or (0, 1) can be obtained for (Y2, Y5). Assuming that (Y2, Y5) = (1, x), IN0 = x, IN1 = x, Y3 = 1, Y4 = 1. Y3 = 1 to IN2 = 0. From Y4 = 1, IN3 = 1 and IN4 = 1. Assuming that (Y2, Y5) = (0, 1), IN0 = 1 and IN1 = 1, and (Y3, Y4) becomes (0, x) or (1, 0). Assuming that (Y3, Y4) = (0, x), IN2 = 1, IN3 = x, IN4 = x. Assuming that (Y3, Y4) = (1, 0), IN2 = 0, and (IN3, IN4) becomes (0, x) or (1, 0). From the above, (IN0, IN1, IN2, IN3, IN4) = (x, x, 0, 1, 1), (1, 1, 1, x, x), (1, 1, 0, 0, x) , (1, 1, 0, 1, 0).

モジュールノードMD1の値が「入力の直前時刻値=0,入力の現時刻値=0,出力の直前時刻値=1,出力の現時刻値=1」の場合は、直前時刻値としてMD1の入力値が0の場合の推定結果を適用し、現時刻値としてMD1の入力値が0の場合の推定結果を適用する。直前時刻値の6通りと現時刻値の6通りの組合せである36通りの結果が得られる。   When the value of the module node MD1 is “immediate input time value = 0, input current time value = 0, output previous time value = 1, output current time value = 1”, the input of MD1 as the previous time value The estimation result when the value is 0 is applied, and the estimation result when the input value of MD1 is 0 is applied as the current time value. 36 kinds of results are obtained which are combinations of 6 kinds of the previous time value and 6 kinds of the current time value.

モジュールノードMD1の値が「入力の直前時刻値=1,入力の現時刻値=1,出力の直前時刻値=1,出力の現時刻値=1」の場合は、直前時刻値としてMD1の入力値が1の場合の推定結果を適用し、現時刻値としてMD1の入力値が1の場合の推定結果を適用する。直前時刻値の4通りと現時刻値の4通りの組合せである16通りの結果が得られる。   When the value of the module node MD1 is “input previous time value = 1, input current time value = 1, output previous time value = 1, output current time value = 1”, the input of MD1 as the previous time value The estimation result when the value is 1 is applied, and the estimation result when the input value of MD1 is 1 is applied as the current time value. Sixteen results, which are combinations of four ways of the immediately preceding time value and four ways of the current time value, are obtained.

モジュールノードMD1の値が「入力の直前時刻値=1,入力の現時刻値=0,出力の直前時刻値=x,出力の現時刻値=1」の場合は、直前時刻値としてMD1の入力値が1の場合の推定結果を適用し、現時刻値としてMD1の入力値が0の場合の推定結果を適用する。直前時刻値の4通りと現時刻値の6通りの組合せである24通りの結果が得られる。以上説明したように、決定グラフDD6で表現された論理回路では、現時刻の出力がOT0=1だった場合に、現時刻の入力値と直前時刻の入出力値の組合せとして、76通りの結果が求まる。   When the value of the module node MD1 is “input previous time value = 1, input current time value = 0, output previous time value = x, output current time value = 1”, the input of MD1 as the previous time value The estimation result when the value is 1 is applied, and the estimation result when the input value of MD1 is 0 is applied as the current time value. Twenty-four results, which are combinations of four types of the previous time value and six types of the current time value, are obtained. As described above, in the logic circuit expressed by the decision graph DD6, when the output at the current time is OT0 = 1, 76 combinations of the input value at the current time and the input / output value at the immediately preceding time are obtained. Is obtained.

本実施の形態においては、決定グラフにモジュールノードを設定することで、階層記述された論理回路に対しても、論理推定に必要な決定グラフを作成する。特に、順序回路ブロックと組合せ回路ブロックとで決定グラフ構造を階層化、あるいは分離する。そして、順序回路ブロックについては、現時刻と直前時刻の推定とを別個に行うことにより、逆論理推定時の計算量を抑制して処理時間を短縮する。   In this embodiment, by setting a module node in a decision graph, a decision graph necessary for logic estimation is created even for a logic circuit described in a hierarchy. In particular, the decision graph structure is hierarchized or separated into sequential circuit blocks and combinational circuit blocks. For the sequential circuit block, the current time and the immediately preceding time are estimated separately, thereby reducing the amount of calculation at the time of inverse logic estimation and reducing the processing time.

上記してきたように、本発明の論理回路の論理推定方法により、論理回路を順序回路ブロックと組合せ回路ブロックとで分割及び階層化された決定グラフに変換する。そして、それぞれの決定グラフ毎に、複数の時刻における論理値を計算することで、階層化して記述された論理回路や順序回路に対しても、短時間に入力値から出力値、あるいは出力値から入力値を算出できる。特に、論理回路の設計においては、当該回路が設計したとおりに動作しない場合に、その原因を調べて設計を修正(デバック)する必要がある。デバックでは、予想と異なる動作をする信号に対して、回路図を入力方向にトレースしながら、原因となる信号を探していく。しかし、回路を入力方向に追いかけていくと追いかけなくてはならない信号線の数が増大し、原因となる信号線を探すのに多大な時間を必要とする。本願に係わる、入力値から出力値を算出する期待値計算や、出力値から入力値を算出する逆論理推定値計算は、上記したような論理回路の設計やデバック時に、故障箇所を機能レベルで推定するための故障診断装置に適用することが出来る。また、機能レベルでの論理シミュレーターや、論理シミュレーターをコンピュータに実現するためのプログラムといった用途にも適用することが出来る。これにより、当該論理回路における故障箇所の推定時間の飛躍的な短縮が実現する。   As described above, according to the logic circuit logic estimation method of the present invention, a logic circuit is converted into a decision graph divided and hierarchized by sequential circuit blocks and combinational circuit blocks. For each decision graph, by calculating logical values at a plurality of times, even for logic circuits and sequential circuits described hierarchically, from input values to output values or output values in a short time Input values can be calculated. In particular, in designing a logic circuit, when the circuit does not operate as designed, it is necessary to investigate the cause and correct (debug) the design. In debugging, a signal that causes an operation different from the expected one is traced in the input direction while searching for a signal that causes the signal. However, if the circuit is chased in the input direction, the number of signal lines that must be chased increases, and a great deal of time is required to find the causal signal line. The expected value calculation for calculating the output value from the input value and the inverse logic estimation value calculation for calculating the input value from the output value according to the present application are performed at the functional level when designing the logic circuit or debugging as described above. The present invention can be applied to a failure diagnosis apparatus for estimation. Further, it can be applied to a logic simulator at a functional level and a program for realizing the logic simulator on a computer. As a result, a drastic reduction in the estimated time of the fault location in the logic circuit is realized.

従来の論理回路の故障箇所推定の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the fault location estimation of the conventional logic circuit. 本発明の論理回路の論理推定方法を実施するための論理回路の論理推定装置の概略構成を示す図である。It is a figure which shows schematic structure of the logic estimation apparatus of the logic circuit for enforcing the logic estimation method of the logic circuit of this invention. 本発明の論理回路の論理推定方法の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the logic estimation method of the logic circuit of this invention. 論理回路のVerilog−HDL記述例である。It is an example of Verilog-HDL description of a logic circuit. 本発明の実施の形態に係わる状態遷移表である。It is a state transition table concerning an embodiment of the invention. 本発明の実施の形態に係わる階層化した決定グラフである。It is the decision graph hierarchized concerning embodiment of this invention. 本発明の実施の形態に係わる階層化した決定グラフである。It is the decision graph hierarchized concerning embodiment of this invention. 本発明の実施の形態に係わる階層化した決定グラフである。It is the decision graph hierarchized concerning embodiment of this invention. 本発明の実施の形態に係わる階層化した決定グラフである。It is the decision graph hierarchized concerning embodiment of this invention. 本発明の実施の形態に係わるフラットな決定グラフである。It is a flat decision graph concerning embodiment of this invention. 本発明の実施の形態に係わる分離した決定グラフである。It is the separated decision graph concerning embodiment of this invention. 本発明の実施の形態に係わる分離した決定グラフである。It is the separated decision graph concerning embodiment of this invention. 本発明の実施の形態に係わる階層化した決定グラフである。It is the decision graph hierarchized concerning embodiment of this invention. 本発明の実施の形態に係わる階層化した決定グラフである。It is the decision graph hierarchized concerning embodiment of this invention.

符号の説明Explanation of symbols

10…論理回路の論理推定装置
20…入力部
30…出力部
40…CPU
50…外部データ取得部
60…バスライン
70…記憶部
70a…論理推定プログラム
100…テストデータ記憶装置
X1〜X14,Y1〜Y5…ノード
DESCRIPTION OF SYMBOLS 10 ... Logic estimation apparatus 20 of a logic circuit ... Input part 30 ... Output part 40 ... CPU
50 ... External data acquisition unit 60 ... Bus line 70 ... Storage unit 70a ... Logic estimation program 100 ... Test data storage devices X1-X14, Y1-Y5 ... Node

Claims (10)

論理回路の入力値および出力値を、論理推定あるいは逆論理推定により算出するための論理回路の論理推定方法であって、
論理推定対象となる前記論理回路の前記出力値および前記入力値の少なくとも一部と、機能記述設計データとを前記論理回路の入出力端子の入力として設定するための入力工程と、
前記入力工程で設定された前記論理回路に対応する前記機能記述設計データを抽出する回路抽出工程と、前記機能記述設計データを決定グラフに変換する変換工程と、前記決定グラフを組合せ回路部分と順序回路部分とに分割及び階層化する再変換工程とにより、前記論理回路を決定グラフ(DD:Decision Diagram)に変換するDD変換工程と、
前記入力工程で設定された前記論理回路の前記出力値および前記入力値に基づいて、前記出力値に対応する期待値を算出するための前記論理推定と前記入力値に対応する逆論理推定値を算出するための前記逆論理推定のいずれを計算するかを選択する推定モード選択工程と、
前記推定モード選択工程で選択された計算に基づいて、前記再変換工程によって分割及び階層化された決定グラフ毎に、複数の時刻における前記期待値あるいは前記逆論理推定値を算出する推定工程と、前記推定工程により算出された算出結果を保持管理する推定値管理工程とにより、前記論理回路の前記期待値および前記逆論理推定値を算出する値推定工程と、
前記論理回路の前記期待値、前記逆論理推定値、あるいは前記決定グラフの構造を出力する出力工程と
を具備する論理回路の論理推定方法。
A logic circuit logic estimation method for calculating an input value and an output value of a logic circuit by logic estimation or inverse logic estimation,
An input step for setting at least part of the output value and the input value of the logic circuit to be subjected to logic estimation, and function description design data as an input of an input / output terminal of the logic circuit;
A circuit extraction step of extracting the function description design data corresponding to the logic circuit set in the input step; a conversion step of converting the function description design data into a decision graph; and A DD conversion step of converting the logic circuit into a decision diagram (DD) by a re-conversion step of dividing and hierarchizing the circuit portion;
Based on the output value and the input value of the logic circuit set in the input step, the logic estimation for calculating an expected value corresponding to the output value and an inverse logic estimation value corresponding to the input value are calculated. An estimation mode selection step for selecting which of the inverse logic estimations to calculate is calculated;
Based on the calculation selected in the estimation mode selection step, an estimation step for calculating the expected value or the inverse logic estimation value at a plurality of times for each decision graph divided and hierarchized by the reconversion step; A value estimation step of calculating the expected value and the inverse logic estimation value of the logic circuit by an estimated value management step of holding and managing the calculation result calculated by the estimation step;
A logic circuit logic estimation method comprising: an output step of outputting the expected value of the logic circuit, the inverse logic estimation value, or the structure of the decision graph.
請求項1に記載の論理回路の論理推定方法において、
前記DD変換工程の前記変換工程は、前記機能記述設計データを使用し、前記論理回路の処理順序に従って複数の状態を持つ状態遷移表を作成し、
作成された前記状態遷移表において前記論理回路が階層化して記述されている場合には、階層化された前記論理回路の回路ブロックをモジュールノードとし、前記モジュールノードと、入力となる入力ノードと、特定時刻では入力となり、前記特定時刻とは別の時刻では出力となる入出力ノードと、演算子で構成される操作ノードと、複数の前記入力の値の組から1つを出力として選択する選択ノードと、出力ノードとをそれぞれ結線することにより、前記論理回路の全ての動作条件に対応するデータフローを示す決定グラフを作成する論理回路の論理推定方法。
The logic estimation method for a logic circuit according to claim 1,
The conversion step of the DD conversion step uses the function description design data, creates a state transition table having a plurality of states according to the processing order of the logic circuit,
When the logic circuit is described in a hierarchy in the created state transition table, the hierarchical circuit block of the logic circuit is defined as a module node, the module node, an input node serving as an input, An input / output node that becomes an input at a specific time and becomes an output at a time different from the specific time, an operation node composed of operators, and a selection that selects one of a plurality of input value sets as an output A logic circuit logic estimation method for creating a decision graph indicating data flows corresponding to all operating conditions of the logic circuit by connecting nodes and output nodes respectively.
請求項1または2に記載の論理回路の論理推定方法において、
前記DD変換工程の前記再変換工程は、前記決定グラフが階層化されている場合には、前記モジュールノードに対応する前記決定グラフを前記モジュールノードに置き換えて、前記決定グラフを階層化されていないフラットな決定グラフ構造とし、前記フラットな決定グラフ構造を、順序回路ブロックと組合せ回路ブロックとに分離する論理回路の論理推定方法。
The logic estimation method for a logic circuit according to claim 1 or 2,
In the re-conversion step of the DD conversion step, when the decision graph is hierarchized, the decision graph corresponding to the module node is replaced with the module node, and the decision graph is not hierarchized. A logic estimation method for a logic circuit having a flat decision graph structure and separating the flat decision graph structure into a sequential circuit block and a combinational circuit block.
請求項1または2に記載の論理回路の論理推定方法において、
前記DD変換工程の前記再変換工程は、前記決定グラフが階層化されていないフラットな構造を有している場合には、前記決定グラフを順序回路ブロックと組合せ回路ブロックとに分離し、さらに前記順序回路ブロックを前記モジュールノードに置き換えることにより、前記モジュールノードに対応する前記決定グラフを、前記順序回路ブロックに対応する決定グラフとする論理回路の論理推定方法。
The logic estimation method for a logic circuit according to claim 1 or 2,
The re-conversion step of the DD conversion step separates the decision graph into a sequential circuit block and a combinational circuit block when the decision graph has a flat structure that is not hierarchized. A logic estimation method for a logic circuit, wherein the decision graph corresponding to the module node is changed to a decision graph corresponding to the sequential circuit block by replacing the sequential circuit block with the module node.
請求項1から4までの少なくとも一項に記載の論理回路の論理推定方法において、
前記値推定工程の前記推定工程は、前記推定モード選択工程により前記期待値を算出するための前記論理推定が選択された場合、前記決定グラフに基づいて、前記論理回路の状態が遷移するごとに、前記入力ノードと、前記操作ノードと、前記選択ノードと、前記モジュールノードと、前記入出力ノードと、前記出力ノードとの値を計算することで前記論理回路の前記期待値を算出し、
特に前記モジュールノードの値の計算では、前記モジュールノードに対応する前記決定グラフの期待値をモジュールノード期待値として算出し、前記モジュールノード期待値を前記モジュールノードの値とする論理回路の論理推定方法。
In the logic estimation method of the logic circuit according to at least one of claims 1 to 4,
In the estimation step of the value estimation step, when the logic estimation for calculating the expected value is selected in the estimation mode selection step, each time the state of the logic circuit transitions based on the decision graph Calculating the expected value of the logic circuit by calculating values of the input node, the operation node, the selection node, the module node, the input / output node, and the output node;
In particular, in the calculation of the value of the module node, an expected value of the decision graph corresponding to the module node is calculated as a module node expected value, and a logic estimation method for a logic circuit using the expected module node value as the module node value .
請求項1から4までの少なくとも一項に記載の論理回路の論理推定方法において、
前記値推定工程の前記推定工程は、前記推定モード選択工程により前記逆論理推定値を算出するための前記逆論理推定が選択された場合、前記決定グラフに基づいて、前記論理回路に対応する最上層の前記決定グラフの前記出力ノードを起点として、前記論理回路の遷移状態を遡りながら、前記選択ノードと、前記操作ノードと、前記入出力ノードと、前記入力ノードと、前記モジュールノードとの値を計算することで前記論理回路の前記逆論理推定値を算出し、
特に前記モジュールノードの値の計算では、前記モジュールノードに対応するモジュールノード決定グラフを推定し、
前記モジュールノード決定グラフが前記順序回路ブロックである場合、複数の任意時刻における前記モジュールノード決定グラフの前記入力ノードの値と、前記任意時刻の単位時刻前の前記入力ノード及び前記出力ノードの値とをそれぞれ独立に計算し、計算した結果をそれぞれ前記複数の特定時刻に渡ってマージし、マージした前記モジュールノード決定グラフの前記入力ノードの値と、前記任意時刻の単位時刻前の前記入力ノード及び前記出力ノードの値とに基づいて、前記論理回路の任意時刻における前記入力値と、前記任意時刻の単位時刻前の前記入力値及び前記出力値とを算出する論理回路の論理推定方法。
In the logic estimation method of the logic circuit according to at least one of claims 1 to 4,
In the estimation step of the value estimation step, when the inverse logic estimation for calculating the inverse logic estimation value is selected in the estimation mode selection step, the estimation step corresponding to the logic circuit is selected based on the decision graph. Starting from the output node of the decision graph in the upper layer, values of the selection node, the operation node, the input / output node, the input node, and the module node while tracing back the transition state of the logic circuit Calculating the inverse logic estimate of the logic circuit by calculating
In particular, in calculating the value of the module node, a module node decision graph corresponding to the module node is estimated,
When the module node determination graph is the sequential circuit block, the value of the input node of the module node determination graph at a plurality of arbitrary times, the value of the input node and the output node before the unit time of the arbitrary time, Are independently calculated, the calculated results are merged over each of the plurality of specific times, the value of the input node of the merged module node determination graph, the input node before the unit time of the arbitrary time, and A logic circuit logic estimation method for calculating the input value at an arbitrary time of the logic circuit and the input value and the output value before the unit time of the arbitrary time based on the value of the output node.
請求項1から6までの少なくとも一項に記載の論理回路の論理推定方法において、
前記入力工程により、前記値推定工程で前記期待値と前記逆論理推定値の何れを計算するかを設定する論理回路の論理推定方法。
In the logic estimation method of the logic circuit according to at least one of claims 1 to 6,
A logic circuit logic estimation method for setting which of the expected value and the inverse logic estimation value is calculated in the value estimation step by the input step.
請求項1から7までの少なくとも一項に記載の論理回路の論理推定方法において、
前記機能記述設計データは、前記論理回路の構造あるいは動作を、Verilog−HDLやVHDLなどのハードウェア記述言語、およびC言語などで記述したものである論理回路の論理推定方法。
The logic estimation method for a logic circuit according to at least one of claims 1 to 7,
The function description design data is a logic circuit logic estimation method in which the structure or operation of the logic circuit is described in a hardware description language such as Verilog-HDL or VHDL and C language.
請求項1から8までの何れか一項に記載の論理回路の論理推定方法を実現するためのコンピュータ読み込み可能な論理回路の論理推定プログラム。   A computer-readable logic circuit logic estimation program for realizing the logic circuit logic estimation method according to any one of claims 1 to 8. 論理回路の入力値および出力値を、論理推定あるいは逆論理推定により算出するための論理推定装置であって、
論理推定対象となる前記論理回路の入出力端子の前記入力値、前記出力値、および機能記述設計データを取得するための外部データ取得部と、
CPUと、
前記外部データ取得部を介して取得された前記出力値および前記入力値の少なくとも一部と、前記機能記述設計データとを前記論理回路の前記入出力端子の入力として設定するための入力工程と、
前記入力工程で設定された前記論理回路に対応する前記機能記述設計データを抽出する回路抽出工程と、前記機能記述設計データを決定グラフに変換する変換工程と、前記決定グラフを組合せ回路部分と順序回路部分とに分割及び階層化する再変換工程とにより、前記論理回路を決定グラフ(DD:Decision Diagram)に変換するDD変換工程と、
前記入力工程で設定された前記論理回路の前記出力値および前記入力値に基づいて、前記出力値に対応する期待値を算出するための前記論理推定と前記入力値に対応する逆論理推定値を算出するための前記逆論理推定のいずれを計算するかを選択する推定モード選択工程と、
前記推定モード選択工程で選択された計算に基づいて、前記再変換工程によって分割及び階層化された決定グラフ毎に、複数の時刻における前記期待値あるいは前記逆論理推定値を算出する推定工程と、前記推定工程により算出された算出結果を保持管理する推定値管理工程とにより、前記論理回路の前記期待値および前記逆論理推定値を算出する値推定工程と、
前記論理回路の前記期待値、前記逆論理推定値、あるいは前記決定グラフの構造を出力する出力工程とをを実行するための論理推定プログラムを予め格納する記憶部と
前記論理回路の前記期待値、前記逆論理推定値、あるいは前記決定グラフの構造を出力する出力部と
を具備する論理推定装置。
A logic estimation device for calculating an input value and an output value of a logic circuit by logic estimation or inverse logic estimation,
An external data acquisition unit for acquiring the input value, the output value, and the function description design data of the input / output terminals of the logic circuit to be subjected to logic estimation;
CPU,
An input step for setting at least a part of the output value and the input value acquired via the external data acquisition unit and the function description design data as an input of the input / output terminal of the logic circuit;
A circuit extraction step of extracting the function description design data corresponding to the logic circuit set in the input step; a conversion step of converting the function description design data into a decision graph; and A DD conversion step of converting the logic circuit into a decision diagram (DD) by a re-conversion step of dividing and hierarchizing the circuit portion;
Based on the output value and the input value of the logic circuit set in the input step, the logic estimation for calculating an expected value corresponding to the output value and an inverse logic estimation value corresponding to the input value are calculated. An estimation mode selection step for selecting which of the inverse logic estimations to calculate is calculated;
Based on the calculation selected in the estimation mode selection step, an estimation step for calculating the expected value or the inverse logic estimation value at a plurality of times for each decision graph divided and hierarchized by the reconversion step; A value estimation step of calculating the expected value and the inverse logic estimation value of the logic circuit by an estimated value management step of holding and managing the calculation result calculated by the estimation step;
A storage unit for preliminarily storing a logic estimation program for executing the expected value of the logic circuit, the inverse logic estimated value, or an output step of outputting the structure of the decision graph; and the expected value of the logic circuit; A logic estimation apparatus comprising: an output unit that outputs the inverse logic estimation value or the structure of the decision graph.
JP2005202635A 2005-07-12 2005-07-12 Logic estimation method for logic circuit Pending JP2007024513A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005202635A JP2007024513A (en) 2005-07-12 2005-07-12 Logic estimation method for logic circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005202635A JP2007024513A (en) 2005-07-12 2005-07-12 Logic estimation method for logic circuit

Publications (1)

Publication Number Publication Date
JP2007024513A true JP2007024513A (en) 2007-02-01

Family

ID=37785502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005202635A Pending JP2007024513A (en) 2005-07-12 2005-07-12 Logic estimation method for logic circuit

Country Status (1)

Country Link
JP (1) JP2007024513A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011023847A1 (en) * 2009-08-27 2011-03-03 Martti Venell Method for integrated circuit design verification in a verification environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011023847A1 (en) * 2009-08-27 2011-03-03 Martti Venell Method for integrated circuit design verification in a verification environment

Similar Documents

Publication Publication Date Title
Petrenko et al. Testing from partial deterministic FSM specifications
JP4562713B2 (en) Fault location estimation system for multiple faults in logic circuit, fault location estimation method, and fault location estimation program
JP5188580B2 (en) Method and apparatus for testing a system on chip with parallel and serial access
JP4557337B2 (en) Method and system for diagnosing multiple errors and faults based on X list
JP5184645B2 (en) Method and apparatus for testing a system on chip with parallel and serial access
JP5471432B2 (en) Verification support program and verification support device
US20040205681A1 (en) Calculation system of fault coverage and calculation method of the same
JP3825572B2 (en) Semiconductor integrated circuit design verification apparatus, method, and storage medium
US5802075A (en) Distributed test pattern generation
US11574101B2 (en) Techniques for providing optimizations based on categories of slack in timing paths
Damljanovic et al. Post-silicon validation of IEEE 1687 reconfigurable scan networks
US8943457B2 (en) Simulating scan tests with reduced resources
JP5292164B2 (en) Failure diagnosis method and failure diagnosis system
JP2655105B2 (en) Fault location estimation method for sequential circuits
Westerman et al. Discrete event system approach for delay fault analysis in digital circuits
CN112100972A (en) Circuit calibration system and method for increasing scan test coverage
JP5256286B2 (en) Dynamic domain extraction by meta-analysis
JP2007024513A (en) Logic estimation method for logic circuit
US10234502B1 (en) Circuit defect diagnosis based on sink cell fault models
JP2006024008A (en) Method for processing information, information processor and program therefor
JP2010531480A (en) Troubleshooting temporal behavior in combinatorial circuits
Raik et al. Constraint-based hierarchical untestability identification for synchronous sequential circuits
JP3863423B2 (en) Logic circuit failure location estimation method and logic circuit failure location estimation program
JP2012099028A (en) Design device and design method for semiconductor integrated circuit
JP3908192B2 (en) Logic circuit failure diagnosis apparatus, failure diagnosis method and program thereof

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080728

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081128