JPH06332974A - Logic simulation method - Google Patents
Logic simulation methodInfo
- Publication number
- JPH06332974A JPH06332974A JP5116805A JP11680593A JPH06332974A JP H06332974 A JPH06332974 A JP H06332974A JP 5116805 A JP5116805 A JP 5116805A JP 11680593 A JP11680593 A JP 11680593A JP H06332974 A JPH06332974 A JP H06332974A
- Authority
- JP
- Japan
- Prior art keywords
- output
- delay
- event
- time
- information
- 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
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、論理回路の動作を計算
機上で模擬する論理シミュレーション方法に係り、特
に、論理素子に複数種類の遅延を割り当ててシミュレー
ションを行う方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a logic simulation method for simulating the operation of a logic circuit on a computer, and more particularly to a method for simulating logic elements by assigning a plurality of types of delays.
【0002】[0002]
【従来の技術】論理回路を計算機で模擬する論理シミュ
レーションの方法としてイベント法が知られている。イ
ベント法では論理素子の信号値変化をイベントと呼び、
このイベントを信号値変化が伝播する時刻の順番に評価
して行くことで処理を行う。従来のイベント法ではイベ
ントの情報として、図2(a)に示すように、信号の伝
播する時刻,信号の伝播する素子情報の識別子,信号が
伝播する出力端子の識別番号,伝播する信号値を持つ。
また、論理素子の情報も図2(b)に示すように素子種
の識別番号,素子固有名称,入力端子数,各入力端子毎
の接続先ポインタと出力端子番号のリスト,出力端子
数,各出力端子毎の接続先数と接続先ポインタのリスト
と出力値と素子の遅延値を持つ。2. Description of the Related Art The event method is known as a logic simulation method for simulating a logic circuit with a computer. In the event method, the change in the signal value of a logic element is called an event,
Processing is performed by evaluating this event in order of the time when the signal value change propagates. In the conventional event method, as information of an event, as shown in FIG. 2A, a time at which a signal propagates, an identifier of element information at which the signal propagates, an identification number of an output terminal at which the signal propagates, and a signal value at which the signal propagates. To have.
As shown in FIG. 2B, the information of the logic element also includes the identification number of the element type, the element unique name, the number of input terminals, a list of connection destination pointers and output terminal numbers for each input terminal, the number of output terminals, each It has a list of connection destinations for each output terminal, a list of connection destination pointers, output values, and delay values of elements.
【0003】また、図3に示すように、素子の出力端子
に信号の伝播する時刻は入力端子に信号変化が伝播した
時刻XTに各素子固有の遅延時間Dを加えた時刻XT+
Dで与えられる。この素子固有の遅延時間は製造時のば
らつきにより、ある範囲の値を取る。そこでより正確な
論理シミュレーションを行うために、素子に遅延時間の
最小値,最大値、あるいは標準値を設定してそれぞれ論
理シミュレーションを実施し、遅延時間のばらつきによ
らず論理回路が正しく動作するか否かを検証する。Further, as shown in FIG. 3, the time at which the signal propagates to the output terminal of the element is the time XT + which is the time XT at which the signal change propagates to the input terminal, plus the delay time D peculiar to each element.
Given by D. The delay time peculiar to this element takes a value within a certain range due to variations in manufacturing. Therefore, in order to perform a more accurate logic simulation, the minimum value, the maximum value, or the standard value of the delay time is set for each element, and the logic simulation is performed to determine whether the logic circuit operates correctly regardless of the delay time variation. Verify whether or not.
【0004】このような目的のために、例えば特開平2
−105232 号公報では、最小遅延と最大遅延の2種類の
遅延時間を同時に処理する方法が述べられている。この
方法は、最小遅延によるイベントと最大遅延によるイベ
ントをそれぞれ独立に保持し、各時刻に於てその時刻に
伝播する最小遅延によるイベントの評価と最大遅延によ
るイベントの評価をそれぞれ行うものである。この方法
によれば、最大遅延と最小遅延双方を同時に処理するた
め論理シミュレーション起動の作業が簡素化されるだけ
でなく、最大遅延と最小遅延の論理シミュレーション結
果の比較を随時行うことが可能になる。For this purpose, for example, Japanese Patent Laid-Open No.
Japanese Patent Laid-Open No. 105232 describes a method of simultaneously processing two types of delay times, a minimum delay and a maximum delay. In this method, the event with the minimum delay and the event with the maximum delay are independently held, and at each time, the event with the minimum delay and the event with the maximum delay propagating at that time are respectively evaluated. According to this method, both the maximum delay and the minimum delay are processed at the same time, so that not only the work of starting the logic simulation is simplified, but also the comparison between the logic simulation results of the maximum delay and the minimum delay can be performed at any time. .
【0005】[0005]
【発明が解決しようとする課題】従来の方法では、遅延
の種類(例えば、最小遅延,最大遅延,標準遅延)に応
じてイベントを格納するデータ構造と各遅延の種類毎の
イベント評価をプログラムの中にあらかじめ組み込んで
おく必要があった。In the conventional method, a data structure for storing events according to the type of delay (for example, minimum delay, maximum delay, standard delay) and event evaluation for each type of delay are programmed. It had to be built in beforehand.
【0006】また、イベントを評価する処理を専用のハ
ードウェアで並列に行う場合、各時刻に伝播する複数の
イベントを並列に処理する対象とする。しかし、従来の
方法をそのままこのようなハードウェアで実現しようと
する場合、最大遅延のイベントと最小遅延のイベントを
それぞれ独立に評価する必要があるため、一度に並列処
理する対象となるイベントの数が少なくなり、並列処理
の効果が減少するという問題点がある。Further, when the processing for evaluating an event is performed in parallel by dedicated hardware, a plurality of events propagating at each time are to be processed in parallel. However, when attempting to implement the conventional method on such hardware as it is, it is necessary to evaluate the event with the maximum delay and the event with the minimum delay independently, so the number of events to be processed in parallel at one time. However, there is a problem that the effect of parallel processing is reduced.
【0007】本発明の目的は、任意の数の遅延の種類に
対応でき、複数の種類の遅延によるイベントを同時に一
括して処理することが可能な論理シミュレーション方法
を提供することにある。An object of the present invention is to provide a logic simulation method capable of coping with an arbitrary number of delay types and simultaneously processing events due to a plurality of types of delays simultaneously.
【0008】更に、複数の種類の遅延,複数の種類のテ
ストベクトル(テストデータ、あるいはテストパタンと
呼ぶ場合もある)による論理シミュレーションを一括し
て同時に処理する方法を提供することにある。It is another object of the present invention to provide a method of simultaneously processing logical simulations using a plurality of types of delays and a plurality of types of test vectors (sometimes called test data or test patterns) at the same time.
【0009】[0009]
【課題を解決するための手段】上記課題を解決するため
に、従来のイベントの情報に遅延の種類の識別番号を付
加する。また、従来の素子情報の出力値と遅延値の情報
も、各出力端子毎に、遅延の種類の数だけ保持するもの
とする。そして、論理シミュレーションの各時刻におい
て、各イベントの遅延の種類の識別番号に対応した素子
出力値と素子遅延値について、イベントの伝播と、信号
値変化に伴う新たなイベントの生成を行う。In order to solve the above problems, a delay type identification number is added to conventional event information. Further, it is assumed that the conventional output value information and delay value information of element information are held for each output terminal by the number of types of delay. Then, at each time of the logic simulation, with respect to the element output value and the element delay value corresponding to the identification number of the delay type of each event, the event propagation and the generation of a new event due to the signal value change are performed.
【0010】また、各遅延の種類毎の論理シミュレーシ
ョンの結果を比較するために、あらかじめ指定した観測
対象の素子出力端子の識別情報と観測周期情報に従い、
該当するシミュレーション時刻に、観測対象素子の出力
の全ての遅延の種類に対応する素子の出力値が全て等し
いか否かを判定し、その結果を出力する。Further, in order to compare the results of the logic simulation for each type of delay, according to the identification information of the element output terminal of the observation target and the observation period information which are designated in advance,
At the corresponding simulation time, it is determined whether the output values of the elements corresponding to all the delay types of the output of the observation target element are all equal, and the result is output.
【0011】更に、テストベクトルを全ての遅延の種類
に対して評価するために、与えられたテストベクトルに
対して、全ての遅延の種類の識別番号を持つイベントを
発生させる。Further, in order to evaluate the test vector for all delay types, an event having an identification number of all delay types is generated for a given test vector.
【0012】あるいは、この方法を利用して複数のテス
トベクトルを同時に処理するために、与えられた複数の
テストベクトルに対して、それぞれ異なる遅延の種類の
番号を持つイベントを同時に発生させる。Alternatively, in order to process a plurality of test vectors at the same time by using this method, events having different delay type numbers are simultaneously generated for a given plurality of test vectors.
【0013】[0013]
【作用】イベントの情報に遅延の種類の識別番号を付加
することにより、遅延の種類毎にイベント情報を保持す
る必要がなくなる。また、素子情報の出力値と遅延値の
情報も、各出力端子毎に、遅延の種類の数だけ保持する
ことによりイベント情報に格納されている遅延の種類番
号に対応した出力値に対してイベント情報を伝播し、更
に遅延の種類番号に対応した遅延値を用いて新たなイベ
ントの発生を行うことにより、遅延の種類毎にそれぞれ
独立にイベントを評価する必要がなくなる。その結果、
同一時刻のイベントを遅延の種類によらず同時に一括し
て評価を行うことが可能になり、並列処理でも効率良く
処理を行うことができる。By adding the identification number of the delay type to the event information, it is not necessary to hold the event information for each delay type. In addition, the output value of the element information and the delay value information are held for each output terminal by the number of delay types, so that the event value corresponding to the delay type number stored in the event information By propagating the information and generating a new event using the delay value corresponding to the delay type number, it is not necessary to evaluate the event independently for each type of delay. as a result,
Events at the same time can be evaluated collectively at the same time regardless of the type of delay, and efficient processing can be performed even in parallel processing.
【0014】また、あらかじめ指定した観測対象の素子
出力端子の識別情報と観測周期情報に従い、全ての遅延
の種類に対応する素子の出力値を比較することにより、
素子遅延のばらつきによる回路の誤動作の発見が容易に
なる。Further, by comparing the output values of the elements corresponding to all delay types according to the identification information of the element output terminals of the observation target and the observation period information which are designated in advance,
It becomes easy to find a malfunction of the circuit due to variation in element delay.
【0015】更に、与えられたテストベクトルに対し
て、全ての遅延の種類の識別番号を持つイベントを発生
させることにより、テストベクトルを全ての遅延の種類
に対して評価することが可能になる。Furthermore, by causing an event having identification numbers of all delay types for a given test vector, the test vector can be evaluated for all delay types.
【0016】あるいは与えられた複数のテストベクトル
に対して、それぞれ異なる遅延の種類の番号を持つイベ
ントを同時に発生させることにより、複数のテストベク
トルを同時に処理することが可能になる。この方法によ
れば、各素子に遅延の種類番号によらない共通の遅延時
間を設定することにより、全く独立した複数種類のテス
トベクトルによるシミュレーションを一括して処理する
ことが可能になる。Alternatively, it is possible to simultaneously process a plurality of test vectors by simultaneously generating events having different delay type numbers for a plurality of given test vectors. According to this method, by setting a common delay time that does not depend on the delay type number for each element, it is possible to collectively process simulations by a plurality of completely independent test vectors.
【0017】[0017]
【実施例】以下、本発明の実施例を図1,図4ないし図
28を用いて説明する。まず、図1と図4ないし図8を
用いて、個々の素子に複数種類の遅延を割り当て、一つ
のテストベクトルに対し、複数種類の遅延に基づいた論
理シミュレーションを一括して同時に処理する方法(以
下、多重遅延論理シミュレーションと呼ぶ)の実施例を
説明する。次に図9を用いて複数のテストベクトルに対
する論理シミュレーションを一括して同時に処理する方
法(以下、多重テスト論理シミュレーション方法と呼
ぶ)の実施例を説明する。更に、図10ないし図28を
用いて多重遅延論理シミュレーションの動作を例題を用
いて説明する。Embodiments of the present invention will be described below with reference to FIGS. 1 and 4 to 28. First, a method of allocating a plurality of types of delays to each element and simultaneously processing logic simulations based on a plurality of types of delays for one test vector at the same time using FIGS. 1 and 4 to 8 ( Hereinafter, an example of (multiple delay logic simulation) will be described. Next, with reference to FIG. 9, an embodiment of a method for collectively processing logic simulations for a plurality of test vectors simultaneously (hereinafter referred to as a multiple test logic simulation method) will be described. Further, the operation of the multi-delay logic simulation will be described with reference to FIGS.
【0018】本実施例では論理値として0,1,不定値
Xの3値を扱い、各素子に遅延時間を想定した論理シミ
ュレーションのモデルを採用する。また本実施例では本
発明とは直接関係のない部分、例えば論理シミュレーシ
ョンに必要な論理回路の構造を解析しシミュレーション
に必要なデータ構造を作る処理やシミュレーションの結
果をユーザに理解できる形式で出力する処理の説明は省
略し、論理シミュレーションの実行部分についてのみ説
明する。In the present embodiment, three values of 0, 1 and an indefinite value X are handled as logical values, and a logic simulation model assuming a delay time is adopted for each element. Further, in this embodiment, a portion not directly related to the present invention, for example, a process of analyzing a structure of a logic circuit necessary for logic simulation and creating a data structure necessary for simulation, and outputting the result of the simulation in a format understandable to the user. The description of the processing is omitted, and only the execution part of the logic simulation will be described.
【0019】また、本実施例の説明では複数の要素を持
つデータの最初の要素を0番目の要素,その次の要素を
1番目の要素、というように何番目という数え方の場合
は0を先頭とする。Further, in the description of the present embodiment, the first element of data having a plurality of elements is the 0th element, the next element is the first element, and so on. The first.
【0020】図1は多重遅延論理シミュレーションを実
現するデータ構造の説明図である。図1(a)はイベン
ト情報を格納するデータ構造である。101は従来から
イベント法による論理シミュレーションで用いられてい
るタイムホイールと呼ばれるデータ構造である。タイム
ホイールはイベントを信号伝播時刻により分類して保持
する。各イベント情報102はリンクポインタ103で
接続し、順次読みだすことが可能になっている。FIG. 1 is an explanatory diagram of a data structure for realizing a multi-delay logic simulation. FIG. 1A is a data structure for storing event information. Reference numeral 101 is a data structure called a time wheel that has been conventionally used in logic simulation by the event method. The time wheel classifies and holds events according to the signal propagation time. Each event information 102 is connected by a link pointer 103 and can be sequentially read.
【0021】イベント情報は104〜108の五つの情
報により構成される。一つのイベントの情報は、「ある
素子の出力端子がある時刻にある値に変化する」という
情報である。信号伝播時刻104はイベントが伝播する
時刻、信号伝播素子105はイベントが伝播する素子の
識別子、伝播出力106はイベントが伝播する出力端子
の識別子、伝播信号値107はイベントにより伝播する
素子出力の信号値、遅延種類番号108はそのイベント
が対象とする遅延の種類の番号である。The event information is composed of five pieces of information 104-108. The information of one event is the information that “the output terminal of a certain element changes to a certain value at a certain time”. The signal propagation time 104 is the time at which the event propagates, the signal propagation element 105 is the identifier of the element through which the event propagates, the propagation output 106 is the identifier of the output terminal through which the event propagates, and the propagation signal value 107 is the signal at the element output through which the event propagates. The value and the delay type number 108 are the numbers of the types of delays targeted by the event.
【0022】図1(b)は論理素子の情報を格納するデ
ータ構造である。111は複数の入力端子,複数の出力
端子を持つ一つの論理素子の情報を表現している。論理
シミュレーション時には論理素子の数だけ111のデー
タ構造を用意する。図1(b)において、素子種識別番号
112は素子の種類の識別子、素子固有名称113は素
子111が表現する素子の固有名称、入力端子数114
は素子の入力端子の数、115は入力端子情報リストの
格納領域を指すポインタ、出力端子数116は素子の出
力端子の数、117は出力端子情報リストの格納領域を
指すポインタである。FIG. 1B shows a data structure for storing information on logic elements. Reference numeral 111 represents information of one logic element having a plurality of input terminals and a plurality of output terminals. At the time of logic simulation, 111 data structures corresponding to the number of logic elements are prepared. In FIG. 1B, an element type identification number 112 is an element type identifier, an element unique name 113 is an element unique name represented by the element 111, and the number of input terminals 114.
Is the number of input terminals of the element, 115 is a pointer that points to the storage area of the input terminal information list, 116 is the number of output terminals of the element, and 117 is a pointer that points to the storage area of the output terminal information list.
【0023】入力端子情報リストの格納領域は、入力接
続先ポインタ121と出力番号122により構成され、そ
れらの要素数123は入力端子数114に等しい。入力
接続先ポインタ121は素子111の入力端子の先に接
続する素子情報の先頭を指すポインタ、出力番号122
は入力端子の先に接続する素子の出力端子の番号であ
る。The storage area of the input terminal information list is composed of the input connection destination pointer 121 and the output number 122, and the number 123 of these elements is equal to the number 114 of input terminals. The input connection destination pointer 121 is a pointer pointing to the beginning of element information connected to the tip of the input terminal of the element 111, and an output number 122.
Is the number of the output terminal of the element connected before the input terminal.
【0024】出力端子情報リストの格納領域は、出力接
続先接続数124,出力先ポインタ領域の先頭を指すポ
インタ125,遅延の種類毎の出力値と遅延値を格納す
る領域の先頭を指すポインタ126により構成され、そ
れらの要素数127は出力端子数116に等しい。出力
接続先接続数124は各出力端子に接続する素子の個数
である。ポインタ125が指す出力先ポインタ領域13
1は出力接続先の素子情報を格納する領域の先頭を指す
ポインタにより構成され、その要素数132は出力接続
先数124に等しい。ポインタ126が指す遅延の種類
毎の出力値と遅延値を格納する領域は、各出力端子毎の
出力信号値133と遅延時間値134により構成され、
それらの要素数135は遅延の種類の数に等しい。そし
て、その要素は遅延の種類の番号順に格納されている。The storage area of the output terminal information list is the number of output connection destinations 124, the pointer 125 that points to the head of the output destination pointer area, and the pointer 126 that points to the head of the area for storing the output value and delay value for each delay type. The number of elements 127 is equal to the number of output terminals 116. The output connection destination connection number 124 is the number of elements connected to each output terminal. Output destination pointer area 13 pointed to by the pointer 125
1 is composed of a pointer pointing to the head of the area for storing the element information of the output connection destination, and the number of elements 132 thereof is equal to the number of output connection destinations 124. An area for storing the output value and the delay value for each delay type pointed to by the pointer 126 is composed of the output signal value 133 and the delay time value 134 for each output terminal,
The number of elements 135 is equal to the number of delay types. The elements are stored in numerical order of delay type.
【0025】図4は本発明を実施する論理シミュレーシ
ョンの処理の説明図である。図4の処理は、シミュレー
ション対象の論理回路の素子と接続情報をあらかじめ図
1の111の形式で作成した後に開始される。初期状態
では図1(a)のイベント情報を格納するタイムホイー
ル中にはイベント情報は格納されていない。FIG. 4 is an explanatory diagram of a logic simulation process for implementing the present invention. The process of FIG. 4 is started after the elements of the logic circuit to be simulated and the connection information are created in advance in the format 111 of FIG. In the initial state, no event information is stored in the time wheel that stores the event information of FIG.
【0026】まず、401にてシミュレーションの時刻
XTを初期化する。402のループは処理403〜40
7をシミュレーション時刻XTが終了時刻に達するまで
繰り返す。テストベクトルの追加処理403はシミュレ
ーション時に与えられるテストベクトルをイベントとし
て追加する処理である。テストベクトルの追加処理は多
重遅延論理シミュレーションと多重テスト論理シミュレ
ーションで異なる。First, at 401, the simulation time XT is initialized. The loop of 402 is processing 403-40
7 is repeated until the simulation time XT reaches the end time. The test vector addition process 403 is a process of adding a test vector given at the time of simulation as an event. The process of adding the test vector differs between the multiple delay logic simulation and the multiple test logic simulation.
【0027】図5は多重遅延論理シミュレーションにお
けるテストベクトルの追加処理、図9は多重テスト論理
シミュレーションにおけるテストベクトルの追加処理で
ある。FIG. 5 shows a test vector addition process in the multiple delay logic simulation, and FIG. 9 shows a test vector addition process in the multiple test logic simulation.
【0028】イベント伝播処理404はタイムホイール
に保持された時刻XTのイベントの情報に従い、イベン
トを各素子に伝播する処理である。イベント伝播処理の
詳細を図6に示す。素子出力値評価処理405はイベン
トの伝播した、即ち出力信号の値が変化した素子の出力
端子に接続する素子、即ち入力信号が変化した素子につ
いて、新たな入力信号値をもとに新たな出力信号値を求
め、新たな出力信号値がそれまでの出力信号値と異なる
場合に、その変化をイベントとしてタイムホイールに追
加する。素子出力値評価処理の詳細を図7に示す。出力
値比較処理406は一定の時間間隔で、指定された素子の
出力端子について、全ての遅延の種類の出力値を参照
し、それらが一致しているか否かを調べ、その結果を出
力する。この処理は本発明の請求項2の実施例で、図8
に詳細を示す。407ではシミュレーション時刻XTを
次の時刻に更新する。The event propagating process 404 is a process of propagating an event to each element according to the event information at time XT held in the time wheel. Details of the event propagation processing are shown in FIG. The element output value evaluation processing 405 is to output a new output based on a new input signal value for an element connected to an output terminal of an element in which an event is propagated, that is, an output signal value is changed, that is, an input signal is changed. The signal value is obtained, and when the new output signal value is different from the output signal value up to that point, the change is added to the time wheel as an event. Details of the element output value evaluation processing are shown in FIG. The output value comparison processing 406 refers to the output values of all the delay types with respect to the output terminal of the designated element at regular time intervals, checks whether or not they match, and outputs the result. This processing is shown in FIG.
Details are shown in. At 407, the simulation time XT is updated to the next time.
【0029】図5はテストベクトルの追加処理403を
説明する図である。図5(a)のテストベクトル情報5
00はテストベクトルを格納するデータ構造の例を示し
ている。このデータ構造は、テストベクトルの1要素を
参照するための参照ポインタP501,テストベクトル
を格納するテーブル502により構成される。テーブル
502はテストベクトルを回路の入力へ伝播する時刻5
03,伝播する入力の識別番号504,伝播する信号値
505から構成される。FIG. 5 is a diagram for explaining the test vector addition processing 403. Test vector information 5 in FIG.
00 has shown the example of the data structure which stores a test vector. This data structure is composed of a reference pointer P501 for referring to one element of the test vector and a table 502 for storing the test vector. The table 502 shows the time 5 at which the test vector is propagated to the input of the circuit.
03, an input identification number 504 of a propagating input, and a signal value 505 of propagating.
【0030】本実施例では図10の例に示すように、回
路の入力は仮想的な素子(仮想入力素子)の出力端子と
して考え、入力用に図1の111の形式の素子情報を用
意する。この仮想入力素子には入力端子はなく、出力端
子のみが存在し、回路中にただ一つ存在する。本実施例
ではテストベクトルを仮想入力素子の出力を変化させる
イベントとして処理する。テーブル502にはテストベ
クトルの信号変化情報を時刻の順に格納する。In this embodiment, as shown in the example of FIG. 10, the input of the circuit is considered as an output terminal of a virtual element (virtual input element), and element information in the format 111 of FIG. 1 is prepared for input. . This virtual input element has no input terminal, only an output terminal, and only one in the circuit. In this embodiment, the test vector is processed as an event that changes the output of the virtual input element. The table 502 stores the signal change information of the test vector in order of time.
【0031】図5(b)のテストベクトルの追加処理4
03では511のループでテーブル502のうち、時刻
503が現在の時刻XTと等しい要素について、かつ参
照ポインタPがテーブル502の範囲内を指す限り51
2〜514の処理を行う。ループ512では参照ポイン
タPが指すテストベクトルの1要素について513の処
理を遅延の種類の数だけ行う。513では、Pが指す要
素の時刻503を信号伝播時刻104,仮想入力素子へ
のポインタを信号伝播素子105,Pが指す要素の入力
番号504を伝播出力106,Pが指す要素の伝播値5
05を伝播信号値107,ループ512のカウンタ値
(0〜遅延の種類の数−1までの値)を遅延の種類番号1
08とするイベントを生成し、タイムホイールに登録す
る。514では参照ポインタを次の要素を指す値に更新
する。Test vector addition process 4 in FIG. 5B
In 03, in the loop of 511, as long as the time 503 of the table 502 is equal to the current time XT and the reference pointer P points within the range of the table 502, 51
Processes 2 to 514 are performed. In the loop 512, the processing of 513 is performed for one element of the test vector pointed to by the reference pointer P by the number of types of delay. In 513, the time 503 of the element pointed to by P is the signal propagation time 104, the pointer to the virtual input element is the signal propagation element 105, the input number 504 of the element pointed by P is the propagation output 106, and the propagation value 5 of the element pointed by P is 5.
05 is the propagation signal value 107 and the counter value of the loop 512
(0 to the number of types of delay-1) is the delay type number 1
An event of 08 is generated and registered in the time wheel. At 514, the reference pointer is updated to a value pointing to the next element.
【0032】図6は、図4におけるイベント伝播処理4
04の詳細の説明図である。図6(a)はイベント伝播
処理により作成される出力先接続素子情報600のデー
タ構造の説明図である。イベント伝播処理では、タイム
ホイールに格納されたイベントを素子に伝播する、そし
て、イベントが伝播した素子の出力端子に接続する素子
を指すポインタを図6(a)に示すテーブルに列挙す
る。FIG. 6 shows the event propagation process 4 in FIG.
It is explanatory drawing of the detail of 04. FIG. 6A is an explanatory diagram of a data structure of the output destination connection element information 600 created by the event propagation processing. In the event propagation processing, the event stored in the time wheel is propagated to the element, and pointers pointing to the element connected to the output terminal of the element to which the event is propagated are listed in the table shown in FIG.
【0033】図6(a)は参照ポインタQ601と出力
先接続素子テーブル602により構成される。テーブル
602は素子情報の先頭を指すポインタである出力先接
続ポインタ603と遅延種類番号604により構成され
る。FIG. 6A is composed of a reference pointer Q601 and an output destination connection element table 602. The table 602 includes an output destination connection pointer 603, which is a pointer that points to the beginning of element information, and a delay type number 604.
【0034】図6(b)はイベント伝播処理の手順の説
明図である。まず611で参照ポインタQをテーブル6
02の先頭を指すように設定する。ループ612はタイ
ムホイール中に格納されている現在のシミュレーション
時刻XTに伝播する全てのイベントについて繰り返す。
613でイベントEをタイムホイールから取り出す。6
14で、Eの信号伝播素子105が指す素子Xについ
て、Eの伝播出力106が示す番号(EO番目とする)
の出力端子の、Eの遅延種類番号108が示す番号の位
置の出力値を、Eの伝播信号値107とする。ループ6
15は、素子XのEO番目の出力端子の接続先数だけ6
16,617の処理を繰り返す。616では参照ポイン
タQが指すテーブル602の要素に、素子XのEO番目
の出力端子のj番目(jはループ615のループカウン
タで、0から素子XのEO番目の出力端子の出力接続先
数−1までの値)の出力接続先ポインタ131を出力接
続先ポインタ603として、Eの遅延種類番号を遅延種
類番号604としてそれぞれ格納する。617では参照
ポインタQを次の要素を指す値に更新する。FIG. 6B is an explanatory diagram of the procedure of event propagation processing. First, at 611, the reference pointer Q is set to the table 6
Set to point to the beginning of 02. Loop 612 repeats for all events propagating at the current simulation time XT stored in the time wheel.
At 613, the event E is taken out from the time wheel. 6
14, the number indicated by the propagation output 106 of E for the element X indicated by the signal propagation element 105 of E (assumed to be the EOth)
The output value of the output terminal at the position of the number indicated by the E delay type number 108 is set as the E propagation signal value 107. Loop 6
15 is 6 as many as the number of connection destinations of the EOth output terminal of the element X
The processing of 16,617 is repeated. In 616, the element of the table 602 pointed to by the reference pointer Q is the jth of the EOth output terminal of the element X (j is the loop counter of the loop 615, and the number of output connection destinations of 0 to the EOth output terminal of the element X − The output connection destination pointer 131 (value up to 1) is stored as the output connection destination pointer 603, and the delay type number of E is stored as the delay type number 604. At 617, the reference pointer Q is updated to a value pointing to the next element.
【0035】図7は、図4における素子評価処理405
の詳細の説明図である。図の処理手順ではまず701で
図6(a)の出力先接続情報を格納するテーブル602
を指すポインタRを、テーブル602の先頭を指すよう
に初期化する。ループ702はポインタRがテーブル6
02の要素の範囲、即ち、イベント伝播処理404で登
録した個数だけ703〜707の処理を繰り返す。ルー
プ703はRが指す先の要素の出力接続先ポインタの6
03が指す素子Yの出力端子の数だけ704〜706を
繰り返す。FIG. 7 shows the element evaluation processing 405 in FIG.
3 is an explanatory diagram of details of FIG. In the processing procedure shown in the figure, first in 701, a table 602 for storing the output destination connection information of FIG.
A pointer R that points to is initialized to point to the beginning of the table 602. In the loop 702, the pointer R is the table 6
The range of elements of 02, that is, the processes of 703 to 707 are repeated by the number registered in the event propagation process 404. The loop 703 is 6 of the output connection destination pointer of the element pointed to by R.
704 to 706 are repeated by the number of output terminals of the element Y indicated by 03.
【0036】704では素子Yの入力端子に接続する素
子、即ち接続先ポインタ121が指す素子の、素子Yに
接続する出力端子、即ち素子Yの出力番号122番目の
出力端子の、Rの指す先の要素の遅延種類番号604番
目(RD番目とする)の出力値と、素子Yの素子種識別
番号112から、素子Yの各出力端子の新しい出力値V
kを求める(kはループ703のループカウンタ)。In 704, the element connected to the input terminal of the element Y, that is, the element indicated by the connection destination pointer 121, the output terminal connected to the element Y, that is, the output point of the output number 122th output element of the element Y, indicated by R. From the output value of the delay type number 604th (RDth) of the element and the element type identification number 112 of the element Y, a new output value V of each output terminal of the element Y is obtained.
Find k (k is the loop counter of loop 703).
【0037】705では704で求めた新しい出力値V
kと素子Yの各出力端子のRD番目の出力値が等しくな
い場合に706の処理を行う。706では、現在のシミ
ュレーション時刻XTに、素子Yのk番目の出力のRD
番目の遅延値134を加えた値を信号伝播時刻104,
素子Yの情報を格納する領域の先頭を指すポインタ値を
信号伝播素子105,kを伝播出力106,Vkを伝播
信号値107,RDを遅延の種類番号108とするイベ
ントをタイムホイールに追加する。At 705, the new output value V obtained at 704
If k and the RDth output value of each output terminal of the element Y are not equal, the processing of 706 is performed. At 706, at the current simulation time XT, the RD of the kth output of the element Y is
The value obtained by adding the th delay value 134 to the signal propagation time 104,
An event is added to the time wheel with a pointer value pointing to the head of the area for storing the information of the element Y as a signal propagation element 105, k as a propagation output 106, Vk as a propagation signal value 107, and RD as a delay type number 108.
【0038】図8は出力値比較処理406の説明図であ
る。FIG. 8 is an explanatory diagram of the output value comparison processing 406.
【0039】図8(a)は観測対象の素子とその出力端
子の情報808とそれらを観測する周期の情報807を
格納するデータ構造を説明する図である。観測開始時刻
XS801は観測を開始するシミュレーション時刻、観
測周期XP802は観測を行う周期を格納する。ポイン
タS803は観測対象の素子とその出力端子の情報を格
納するテーブル806の要素を参照するポインタであ
る。テーブル806は観測対象の素子情報111を参照
するポインタ804と観測対象素子の出力端子の番号8
05を要素とする。FIG. 8A is a diagram for explaining the data structure for storing information 808 on the element to be observed and its output terminal and information 807 on the period for observing them. The observation start time XS801 stores the simulation time to start the observation, and the observation cycle XP802 stores the observation cycle. A pointer S803 is a pointer that refers to an element of a table 806 that stores information on an element to be observed and its output terminal. The table 806 is a pointer 804 that refers to the element information 111 of the observation target and the output terminal number 8 of the observation target element.
Let 05 be the element.
【0040】図8(b)は出力値比較処理の手順の説明
図である。811では観測開始時刻XSと観測周期XP
により指定される時刻、すなわち、現在のシミュレーシ
ョン時刻XTがXSよりも大きく、かつXTとXSの差
分とXPの剰余が0の場合にのみ812ないし822の
処理を行う。812ではポインタS803をテーブル8
06の先頭の要素を指すように初期化する。813のル
ープではSがテーブル806の要素を参照する間(テー
ブル806の要素数に等しい回数だけ)814ないし8
22の処理を繰り返す。FIG. 8B is an explanatory view of the procedure of the output value comparison processing. In 811, the observation start time XS and the observation period XP
The processing of 812 to 822 is performed only when the time designated by, that is, the current simulation time XT is larger than XS, and the difference between XT and XS and the remainder of XP are zero. In step 812, the pointer S803 is set to the table 8
Initialize to point to the first element of 06. In the loop of 813, while S refers to the elements of the table 806 (the number of times equal to the number of elements of the table 806) 814 to 814
22 is repeated.
【0041】814ではカウンタC0,C1,CXを0
に初期化する。815のループはSが指す要素の素子ポ
インタ804が指す素子Zの、Sが指す要素の出力端子
番号805番目(SO番目とする)の出力端子につい
て、遅延の種類の数だけ816〜822の処理を繰り返
す。816では素子ZのSO番目の出力端子のm番目の
出力値(mはループ815のループカウンタ)が0の場
合,1の場合,不定値Xの場合にそれぞれカウンタC
0,C1,CXをインクリメントする(817ないし8
19)。820ではカウンタC0,C1,CXのうち複
数のカウンタが同時に0でない場合、すなわち、出力に
不一致が存在する場合に821を行う。821では時刻X
Tにおいて素子ZのSO番目の出力に不一致が存在する
ことを出力する。822ではポインタSを次の要素を指
す値に更新する。At 814, the counters C0, C1 and CX are set to 0.
Initialize to. The loop of 815 is the processing of 816 to 822 by the number of delay types for the output terminal number 805th (SOth) output terminal of the element pointed to by S, of the element Z pointed by the element pointer 804 of the element pointed to by S. repeat. In 816, when the m-th output value (m is a loop counter of the loop 815) of the SO-th output terminal of the element Z is 0, 1 or an indefinite value X, the counter C is output.
Increment 0, C1, CX (817 to 8)
19). At 820, if a plurality of counters among the counters C0, C1, and CX are not 0 at the same time, that is, if there is a mismatch in the outputs, 821 is performed. Time X at 821
At T, it outputs that there is a mismatch in the SOth output of element Z. At 822, the pointer S is updated to a value indicating the next element.
【0042】図9は多重テスト論理シミュレーションに
おけるテストベクトルの追加処理403の説明図であ
る。この処理では複数種類のテストベクトルを同時に扱
う。図9(a)はテストベクトルを格納するデータ構造
の例である。このデータ構造はベクトルの種類906が
テーブル902に追加されている以外は図5(a)と同
じである。ベクトルの種類906にはその要素がどのテ
ストベクトルのものであるかを識別するための番号を格
納する。テーブル902にはテストベクトルの信号変化
情報をテストベクトルの種類によらず時刻の順に格納す
る。FIG. 9 is an explanatory diagram of the test vector addition processing 403 in the multiple test logic simulation. In this process, multiple types of test vectors are handled simultaneously. FIG. 9A shows an example of the data structure for storing the test vector. This data structure is the same as FIG. 5A except that the vector type 906 is added to the table 902. The vector type 906 stores a number for identifying which test vector the element belongs to. The table 902 stores the signal change information of the test vector chronologically regardless of the type of the test vector.
【0043】図9(b)の処理では511のループでテ
ーブル902のうち、時刻503が現在のシミュレーシ
ョン時刻XTと等しい要素について、かつ参照ポインタ
Pがテーブル902の範囲内を指す限り913,514
の処理を行う。913では、Pが指す要素の時刻503
を信号伝播時刻104,仮想入力素子へのポインタを信
号伝播素子105,Pが指す要素の入力番号504を伝
播出力106,Pが指す要素の伝播値505を伝播信号
値107,Pが指す要素のベクトルの種類番号906を
遅延の種類番号108とするイベントを生成し、タイム
ホイールに登録する。514では参照ポインタを次の要
素に更新する。多重テスト論理シミュレーションは図9
に示すテストベクトルの追加処理以外の部分は図1,図
4,図6ないし図8で示した、多重遅延論理シミュレー
ションの実施例と同じである。In the processing of FIG. 9B, in the loop of 511, as far as the element of which time 503 is equal to the current simulation time XT in the table 902 and the reference pointer P points within the range of the table 902, 913, 514.
Process. In 913, the time 503 of the element pointed to by P
Is a signal propagation time 104, a pointer to a virtual input element is a signal propagation element 105, an input number 504 of an element pointed by P is a propagation output 106, a propagation value 505 of an element pointed by P is a propagation signal value 107, and an element pointed by P is An event having the vector type number 906 as the delay type number 108 is generated and registered in the time wheel. At 514, the reference pointer is updated to the next element. Figure 9 shows the multiple test logic simulation.
The parts other than the test vector addition processing shown in FIG. 6 are the same as those of the embodiment of the multi-delay logic simulation shown in FIGS. 1, 4 and 6 to 8.
【0044】図10以降では図4ないし図8にて説明し
た本発明の実施例の動作を説明する。図10は説明に利
用する論理回路の例を示す図である。図10(a)は実
際の論理回路、図10(b)はシミュレーション実行時
の回路である。The operation of the embodiment of the present invention described with reference to FIGS. 4 to 8 will be described with reference to FIGS. FIG. 10 is a diagram showing an example of a logic circuit used for description. FIG. 10A shows an actual logic circuit, and FIG. 10B shows a circuit when the simulation is executed.
【0045】図10(a)の1001ないし1003は
回路の入力端子、1004はG1という固有名称を持つ
素子で、その種類はAND、そして3と5の2種類の遅
延時間を持つ。1005は素子1004の出力信号、1
006はG2という固有名称を持つ素子で、その種類は
OR、そして2と4の2種類の遅延時間を持つ。1007は
素子1006の出力信号である。回路の入力端子100
1,1002は素子1004の入力端子に接続してい
る。1004の出力信号1005は素子1006の入力端子
に接続している。回路の入力端子1003は素子100
6のもう一つの入力端子に接続している。素子1006
の出力信号1007はどこにも接続していない。In FIG. 10A, 1001 to 1003 are input terminals of the circuit, 1004 is an element having a proper name of G1, and its type is AND, and two types of delay times 3 and 5. 1005 is an output signal of the element 1004, 1
006 is an element having a proper name of G2, and its type has OR, and two types of delay times 2 and 4. 1007 is an output signal of the element 1006. Circuit input terminal 100
1, 1002 are connected to the input terminals of the element 1004. The output signal 1005 of 1004 is connected to the input terminal of the element 1006. The input terminal 1003 of the circuit is the element 100
It is connected to the other input terminal of 6. Element 1006
The output signal 1007 of is not connected anywhere.
【0046】図10(b)には、前記したように仮想入
力素子1010が付加されるが、その他の回路の構造は
図10(a)と同じである。仮想入力素子1010の固
有名称はG0とする。素子1014は0番と1番の二つ
の入力端子をもち、それぞれ仮想入力素子1010の0
番の出力端子と1番の出力端子に、信号線1011と信
号線1012を介して接続している。素子1016も0
番と1番の二つの入力端子をもち、それぞれ素子101
4の0番の出力端子と仮想入力素子1010の2番の出
力端子に、信号線1015と信号線1013を介して接
続している。素子1016の0番の出力端子に接続する
信号線1017はどこにも接続していない。Although the virtual input element 1010 is added to FIG. 10B as described above, the structure of other circuits is the same as that of FIG. 10A. The unique name of the virtual input element 1010 is G0. The element 1014 has two input terminals 0 and 1, and each of the virtual input element 1010 has 0 input terminal.
No. 1 output terminal and No. 1 output terminal are connected via signal lines 1011 and 1012. Element 1016 is also 0
No. 1 and No. 1 input terminals, each of which is an element 101
The No. 4 output terminal and the No. 2 output terminal of the virtual input element 1010 are connected via signal lines 1015 and 1013. The signal line 1017 connected to the 0th output terminal of the element 1016 is not connected anywhere.
【0047】図11は図10の回路を図1(b)の11
1に示すデータ構造に基づいて表現した例である。図1
0の回路は仮想入力素子も含めて三つの素子で構成され
るので111の形式のデータ構造も3個必要になる。FIG. 11 shows the circuit of FIG.
It is an example expressed based on the data structure shown in FIG. Figure 1
Since the circuit of 0 is composed of three elements including the virtual input element, three data structures of the type 111 are required.
【0048】1101は仮想入力素子を表現している。
その情報を格納する先頭のアドレスを0とする。110
2は素子種を識別する番号で仮想入力素子に対応する値
(ここでは0)を格納する。1103は素子の固有名称
であるG0を格納する。1104は仮想入力素子の入力端子
の数を表す。仮想入力端子には入力端子が存在しないの
で1104は0で、入力の接続先のポインタリストへの
ポインタ1105はどこも指していない。1106は仮
想入力素子の出力端子の数、3を格納する。Reference numeral 1101 represents a virtual input element.
The top address for storing the information is set to 0. 110
2 is a number for identifying the element type and stores a value (here, 0) corresponding to the virtual input element. 1103 stores G0 which is a unique name of the element. 1104 represents the number of input terminals of the virtual input element. Since there is no input terminal in the virtual input terminal, 1104 is 0, and the pointer 1105 to the pointer list of the connection destination of the input does not point anywhere. 1106 stores the number of output terminals of the virtual input element, which is 3.
【0049】1107は仮想入力素子の出力の接続先ポ
インタリスト1109へのポインタを格納する。110
9は1106の数と等しい三つの要素を持ち、一つの要
素は三つのフィールド、即ち1113,1114,11
15からなる。Reference numeral 1107 stores a pointer to the connection destination pointer list 1109 for the output of the virtual input element. 110
9 has three elements equal to the number of 1106, one element being three fields, 1113, 1114, 11
It consists of fifteen.
【0050】1113には出力が接続する素子の数を格
納する。仮想入力素子は各出力はそれぞれ一つの出力先
を持つので1113の値は三つとも1である。1114
には出力が接続する素子の情報を格納する領域へのポイ
ンタ(先頭アドレス)のリストを格納する。仮想入力素子
の0番の出力は素子G1に接続するのでその情報を格納
する先頭アドレス6を1116に格納する。同様に11
20にも6,1124には12を格納する。1115に
は各出力端子の出力値と遅延時間を遅延の種類毎に格納
する。この例では2種類の遅延を扱うので1117,1
121,1125はそれぞれ二つの要素を持つ。The number of elements connected to the output is stored in 1113. Since each output of the virtual input element has one output destination, all three values of 1113 are 1. 1114
Stores a list of pointers (start addresses) to areas for storing information of the elements connected to the output. Since the 0th output of the virtual input element is connected to the element G1, the head address 6 for storing the information is stored in 1116. Similarly 11
Also, 20 is stored in 6 and 1124 is stored in 12. In 1115, the output value of each output terminal and the delay time are stored for each delay type. In this example, two types of delay are handled, so 1117,1
Each of 121 and 1125 has two elements.
【0051】各要素は1118,1119(あるいは1
122,1123、又は1126,1127)の二つの
フィールドからなり、1118(1122,1126)
には出力値を、1119(1123,1127)には遅
延時間を格納する。ここでは仮想入力素子の出力値、即
ち、回路の入力端子の初期値を0とするので1118,
1122,1126の値は全て0である。また仮想入力
素子には入力端子が存在しないので入力から出力までの
遅延時間は存在しない、ここでは1119,1123,
1127の遅延値を仮に0とする。Each element is 1118, 1119 (or 1
122, 1123, or 1126, 1127) and 1118 (1122, 1126)
The output value is stored in and the delay time is stored in 1119 (1123, 1127). Here, since the output value of the virtual input element, that is, the initial value of the input terminal of the circuit is set to 0, 1118,
The values of 1122 and 1126 are all 0. Further, since there is no input terminal in the virtual input element, there is no delay time from input to output. Here, 1119, 1123,
The delay value of 1127 is temporarily set to 0.
【0052】1131は素子G1を表現している。11
32はANDの素子種を表す11を格納する。1133
には素子の固有名称G1を格納する。1134には素子
の入力端子の数である2を格納する。1135は素子の
入力の接続先へのポインタリストを格納する領域113
8へのポインタを格納する。1138は素子の入力端子
の数に等しい要素を持つ。一つの要素は1141,11
42の二つのフィールドからなる。1141は接続先の
素子の情報を格納する領域を指すポインタで、G1の入
力はどちらも仮想入力素子に接続するのでその先頭アド
レス0を格納する。1142は入力が接続する先の素子
の出力端子番号を格納する。Reference numeral 1131 represents the element G1. 11
32 stores 11 representing the element type of AND. 1133
A unique name G1 of the element is stored in. 1134 stores 2 which is the number of input terminals of the element. 1135 is an area 113 for storing a list of pointers to connection destinations of element inputs
The pointer to 8 is stored. 1138 has elements equal to the number of input terminals of the element. One element is 1141,11
It consists of two fields of 42. Reference numeral 1141 is a pointer that points to an area for storing information on the element of the connection destination. Since both inputs of G1 are connected to the virtual input element, the leading address 0 is stored. 1142 stores the output terminal number of the element to which the input is connected.
【0053】G1の入力は仮想入力素子の0番の出力端
子と1番の出力端子に接続するので1142には0と1
を格納する。1136は素子G1の出力端子の数1を格
納する。1137には素子G1の出力の接続先ポインタ
リスト1139へのポインタを格納する。1139は出
力端子の数1に等しい数の要素を持つ。1143は出力
が接続する素子の数1を格納する。1144は出力の接
続する素子の情報を格納する領域の先頭アドレスを格納
する。素子G1の出力に接続する素子G2の先頭アドレ
ス12を1144に格納する。1145は出力値と遅延
値を格納する領域1147を指すポインタを格納する。
1147は遅延の種類の数2に等しい要素を持つ。出力
値1148は初期値0を格納する。遅延値1149は素
子G1の遅延時間3と5を格納する。Since the input of G1 is connected to the 0th output terminal and the 1st output terminal of the virtual input element, 0 and 1 are input to 1142.
To store. 1136 stores the number 1 of output terminals of the element G1. In 1137, the pointer to the connection destination pointer list 1139 of the output of the element G1 is stored. 1139 has a number of elements equal to the number 1 of output terminals. 1143 stores the number 1 of elements to which the output is connected. 1144 stores the start address of the area for storing the information of the element connected to the output. The head address 12 of the element G2 connected to the output of the element G1 is stored in 1144. 1145 stores a pointer that points to an area 1147 that stores an output value and a delay value.
1147 has an element equal to the number 2 of delay types. The output value 1148 stores the initial value 0. The delay value 1149 stores the delay times 3 and 5 of the element G1.
【0054】1161は素子G2を表現している。11
62はORの素子種を表す21を格納する。1163に
は素子の固有名称G2を格納する。1164には素子の
入力端子の数である2を格納する。1165は素子の入
力の接続先へのポインタリストを格納する領域1168
へのポインタを格納する。1168は素子の入力端子の
数に等しい要素を持つ。1171は接続先の素子の情報
を格納する領域を指すポインタで、G2の入力は素子G
1と仮想入力素子に接続するのでその先頭アドレス6と
0を格納する。1172は入力が接続する先の素子の出
力端子番号を格納する。G2の入力はG1の0番の出力
端子と仮想入力素子の2番の出力端子に接続するので1
172には0と2を格納する。1166は素子G2の出
力端子の数、すなわち1を格納する。1167には素子
G2の出力の接続先ポインタリスト1169へのポイン
タを格納する。1169は出力端子の数、すなわち1に
等しい数の要素を持つ。1173は出力の接続先素子の
数0を格納する。1174はG2に接続する素子がない
ので何も格納しない。1175は出力値と遅延値を格納
する領域1177を指すポインタを格納する。1177
は遅延の種類の数2に等しい要素を持つ。出力値117
8は初期値0を格納する。遅延値1179は素子G2の
遅延時間2と4を格納する。Reference numeral 1161 represents the element G2. 11
62 stores 21 representing the element type of OR. A unique name G2 of the element is stored in 1163. In 1164, 2 which is the number of input terminals of the element is stored. 1165 is an area 1168 for storing a list of pointers to connection destinations of element inputs
Stores a pointer to. 1168 has elements equal to the number of input terminals of the element. Reference numeral 1171 is a pointer that points to an area for storing information of the element of the connection destination, and the input of G2 is the element G.
Since it is connected to 1 and the virtual input element, its head addresses 6 and 0 are stored. 1172 stores the output terminal number of the element to which the input is connected. Since the input of G2 is connected to the 0th output terminal of G1 and the 2nd output terminal of the virtual input element, 1
0 and 2 are stored in 172. 1166 stores the number of output terminals of the element G2, that is, 1. A pointer to the connection destination pointer list 1169 of the output of the element G2 is stored in 1167. 1169 has the number of output terminals, that is, the number of elements equal to 1. 1173 stores the number 0 of output connection destination elements. Since 1174 has no element connected to G2, nothing is stored. 1175 stores a pointer pointing to an area 1177 for storing an output value and a delay value. 1177
Has an element equal to the number 2 of delay types. Output value 117
8 stores the initial value 0. The delay value 1179 stores the delay times 2 and 4 of the element G2.
【0055】図12はシミュレーション時に与えるテス
トベクトルの例の説明図である。図10(a)のテスト
ベクトル1200は回路の入力端子1001,100
2,1003に与えられる。1001は時刻2において
0から1に変化し、1002は時刻5において0から1
に変化する。1003は変化しない。このテストベクト
ルの情報を図5(a)のデータ構造に格納すると図12
(b)のようになる。1201はテストベクトル格納情
報502で1202が503,1203が504,1204
が505にそれぞれ対応する。1202の時刻には信号
が変化する時刻2と5を格納する。1203には入力端
子の番号、即ち、1001,1002に対応する仮想入
力素子の出力端子番号0と1を格納する。1204には
伝播する値、即ち、1を格納する。FIG. 12 is an explanatory diagram of an example of a test vector given at the time of simulation. The test vector 1200 in FIG. 10A is the input terminals 1001, 100 of the circuit.
2,1003. 1001 changes from 0 to 1 at time 2, and 1002 changes from 0 to 1 at time 5.
Changes to. 1003 does not change. When the information of this test vector is stored in the data structure of FIG.
It becomes like (b). 1201 is test vector storage information 502, and 502 is 503, 1203 is 504, 1204.
Respectively correspond to 505. At times 1202, times 2 and 5 at which the signal changes are stored. An input terminal number, that is, output terminal numbers 0 and 1 of virtual input elements corresponding to 1001 and 1002 are stored in 1203. A value to be propagated, that is, 1 is stored in 1204.
【0056】図13は図8に示した出力値比較処理に利
用する観測周期と観測素子情報の例である。観測開始時
刻XS1301は時刻12、観測周期XP1302は2
0である。また観測する素子はポインタ値6(130
4)の素子G1の番号0(1305)の出力端子とポインタ値
12(1304)の素子G2の番号0(1305)の出
力端子である。FIG. 13 shows an example of the observation cycle and observation element information used in the output value comparison processing shown in FIG. Observation start time XS1301 is time 12, observation period XP1302 is 2
It is 0. Also, the element to be observed is the pointer value 6 (130
The element G1 of 4) has an output terminal with the number 0 (1305) and the pointer value 12 (1304) has an output terminal of the number 0 (1305) of the element G2.
【0057】図14ないし図27では、シミュレーショ
ンが進行する様子を時刻順に説明する。またシミュレー
ションは図12(a)の図の範囲である時刻15まで行
うものとする。14 to 27, the progress of the simulation will be described in time sequence. Further, the simulation is performed until time 15 which is the range shown in FIG.
【0058】図4の処理に従い、シミュレーションは時
刻XTを0にして開始する。図4の403ないし406
の処理は、時刻XTに伝播するテストベクトルまたはイ
ベントが存在しなければ何も行わない。407では時刻
XTを1ずつ進める。タイムホイールには初期段階では
何も登録されていないので、最初のテストベクトルが伝
播する時刻である時刻XTが2になるまで図4のループ
402は空回りすることになる。According to the processing of FIG. 4, the simulation is started with the time XT set to 0. 403 to 406 in FIG.
Does nothing if there is no test vector or event propagating at time XT. At 407, the time XT is advanced by one. Since nothing is registered in the time wheel at the initial stage, the loop 402 in FIG. 4 idles until the time XT, which is the time at which the first test vector propagates, becomes 2.
【0059】時刻2において、図12(b)1201の
テストベクトル情報の最初の要素が図4の403のテス
トベクトルの追加処理の対象となる。図5に示すテスト
ベクトルの追加処理により一つのテストベクトル要素か
ら遅延の種類の数に等しい二つのイベントが作成され、
タイムホイールに追加される。図14に時刻2において
処理403で追加するイベントを示す。図5の513で
登録されるイベントはテストベクトル要素の時刻2(1
202)を信号伝播時刻(1404,1414),仮想入
力素子の先頭アドレス0を信号伝播素子(1405,1
415),テストベクトル要素の入力番号1203を伝
播出力(1406,1416),テストベクトル要素の
伝播値1204を伝播信号値(1407,1417),
0番と1番を遅延の種類番号(1408,1409)と
する。時刻が2のイベントがタイムホイールに登録され
たため図4のイベント伝播処理404が行われる。At time 2, the first element of the test vector information 1201 in FIG. 12B is the target of the test vector addition processing 403 in FIG. By adding the test vector shown in FIG. 5, two events equal to the number of types of delay are created from one test vector element,
Added to the time wheel. FIG. 14 shows the event added in the process 403 at time 2. The event registered at 513 in FIG. 5 is the time 2 (1
202) is the signal propagation time (1404, 1414), and the start address 0 of the virtual input element is the signal propagation element (1405, 1).
415), the input number 1203 of the test vector element is the propagation output (1406, 1416), the propagation value 1204 of the test vector element is the propagation signal value (1407, 1417),
Numbers 0 and 1 are the delay type numbers (1408, 1409). Since the event whose time is 2 is registered in the time wheel, the event propagation processing 404 of FIG. 4 is performed.
【0060】図6に示すイベント伝播処理では図14に
示す二つの時刻2のイベントが対象となる。図6の処理
613で一つのイベントを取り出し、614で素子の出
力に信号値を伝播する。614の処理ではイベント14
02の場合、1405の値である0を先頭アドレスとす
る素子、即ち、仮想入力素子1101の1406の値で
ある0番目の出力端子について1408の値である0番
目の遅延の種類に対応する出力値、即ち、図11の11
18の第1の要素を1407の値である1に変更する。
続いて図6の615の処理で0番の出力端子に接続する
素子のリストを出力先接続素子情報602に格納する。
0番の出力に接続する素子は一つでその先頭アドレスは
6であるので出力先接続素子情報の出力先接続ポインタ
603は6となる。遅延の種類番号604は0である。
イベント1412についても同様の処理を行う。In the event propagation processing shown in FIG. 6, the two events at time 2 shown in FIG. 14 are targeted. In the process 613 of FIG. 6, one event is extracted, and in 614, the signal value is propagated to the output of the element. Event 14 in the processing of 614
In the case of 02, the element having the value 0 of 1405 as the head address, that is, the 0th output terminal of the value 1406 of the virtual input element 1101, the output corresponding to the 0th delay type of the value 1408. Value, that is, 11 in FIG.
Change the first element of 18 to 1 which is the value of 1407.
Subsequently, in the processing of 615 of FIG. 6, a list of elements connected to the 0th output terminal is stored in the output destination connection element information 602.
Since there is one element connected to the 0th output and its head address is 6, the output destination connection pointer 603 of the output destination connection element information is 6. The delay type number 604 is 0.
The same process is performed for the event 1412.
【0061】その結果、仮想入力素子の情報は図15に
示すように0番の出力端子の出力値1518が1に変わ
る。As a result, as for the information of the virtual input element, the output value 1518 of the 0th output terminal changes to 1 as shown in FIG.
【0062】また出力先接続素子情報は図16に示すよ
うに出力先接続ポインタの値が6,遅延の種類番号が0
と1の二つの要素が格納される。続いて時刻2における
素子出力評価処理、図4の405を行う。As shown in FIG. 16, the output destination connection element information has an output destination connection pointer value of 6 and a delay type number of 0.
Two elements of 1 and 1 are stored. Subsequently, the element output evaluation processing at time 2 and 405 in FIG. 4 are performed.
【0063】図7に示す素子出力評価処理では出力先接
続素子情報の要素数だけ703ないし707の処理を繰
り返す。出力先接続素子情報の出力先接続ポインタの指
す素子の各出力端子について、素子の入力信号値と素子
の種類を基に新しい出力値Vkを求める(ステップ70
4)。In the element output evaluation processing shown in FIG. 7, the processing of 703 to 707 is repeated for the number of elements of the output destination connection element information. For each output terminal of the element pointed to by the output destination connection pointer of the output destination connection element information, a new output value Vk is calculated based on the input signal value of the element and the type of the element (step 70).
4).
【0064】図16の1602の最初の要素の場合、出
力先接続ポインタ値6は図11の1131(素子G1)
に対応する。1131の入力端子数は2(1134)
で、その接続先は素子ポインタ値0の出力番号0番と素
子ポインタ値0の出力番号1番の端子である(1138
の1141と1142)。そこで、素子ポインタ値0で
ある1101(仮想入力素子)の情報の0番の出力端子
と1番の出力端子について、1602の第1の要素の遅
延の種類番号(1604)番目(0番目)の出力値を参
照する。出力値は時刻2において図15に示すように0
番の出力端子の0番目の出力値は1、1番の出力端子の
0番目の出力値は0である。さらに1602の第1の要素の
出力先接続ポインタが指す素子の素子種識別番号11
(1132)、即ち論理積ANDから入力値0と1につい
て論理積演算を行うと新しい出力値Vkは0となる。7
05でVkである0と現在の出力値、即ち1131の0
番の出力端子の0番目の出力値(1148の0番目)で
ある0を比較する。この場合、両者の値が等しいので7
06は行わない。In the case of the first element 1602 in FIG. 16, the output destination connection pointer value 6 is 1131 (element G1) in FIG.
Corresponding to. The number of input terminals of 1131 is 2 (1134)
Then, the connection destinations are the output number 0 terminal of the element pointer value 0 and the output number 1 terminal of the element pointer value 0 (1138).
1141 and 1142). Therefore, regarding the 0th output terminal and the 1st output terminal of the information of 1101 (virtual input element) whose element pointer value is 0, the delay type number (1604) th (0th) of the first element 1602 Refer to the output value. The output value is 0 at time 2 as shown in FIG.
The 0th output value of the 1st output terminal is 1, and the 0th output value of the 1st output terminal is 0. Further, the element type identification number 11 of the element pointed to by the output destination connection pointer of the first element 1602
(1132) That is, when the logical product operation is performed on the input values 0 and 1 from the logical product AND, the new output value Vk becomes 0. 7
0 which is Vk at 05 and the current output value, that is 0 of 1131
0, which is the 0th output value (0th of 1148) of the No. output terminal, is compared. In this case, both values are equal, so 7
Do not do 06.
【0065】図16の1602の2番目の要素について
も同様の処理を行う。この場合もVkが0、現在の出力
値が0となり、706は行わない。この結果時刻2の素
子出力評価処理では新しいイベントは登録されない。Similar processing is performed for the second element 1602 in FIG. Also in this case, Vk is 0, the current output value is 0, and 706 is not performed. As a result, no new event is registered in the element output evaluation processing at time 2.
【0066】続く図4の406,出力値比較処理では図
8に示すように811で現在の時刻とXS,XPとを比
較する。図13に示すようにXS値12は現在の時刻
(XT)2より大きいため812以降の処理は行わない。
ここまでで時刻2における403〜406の処理は終了
し、407において時刻XTは3となる。In the output value comparison process 406 in FIG. 4, the current time is compared with XS and XP in 811 as shown in FIG. As shown in FIG. 13, the XS value 12 is the current time.
Since it is larger than (XT) 2, processing after 812 is not performed.
Up to this point, the processing of 403 to 406 at time 2 ends, and the time XT becomes 3 at 407.
【0067】時刻3,時刻4では伝播するテストベクト
ルまたはイベントが存在しないので何もしない。At time 3 and time 4, there is no test vector or event to propagate, so nothing is done.
【0068】時刻5において、テストベクトル情報12
01の第2の要素がテストベクトルの追加処理403の
対象となる。時刻2の処理と同様に図17に示す二つの
イベントがタイムホイールに登録される。イベント伝播
処理404では仮想入力素子の1番の出力端子に図17
の二つのイベントが伝播する。その結果更新される素子
情報を図18に示す。図18の1822の部分が更新さ
れ、0から1に変化する。また図19に示す二つの出力
先接続素子情報が作成される。この情報の内容は時刻2
における出力先接続素子情報(図16)と全く同じであ
る。At time 5, the test vector information 12
The second element of 01 is the target of the test vector addition processing 403. Similar to the process at time 2, the two events shown in FIG. 17 are registered in the time wheel. In the event propagation processing 404, the first output terminal of the virtual input element is shown in FIG.
Two events are propagated. The element information updated as a result is shown in FIG. The part 1822 of FIG. 18 is updated and changes from 0 to 1. Further, two pieces of output destination connecting element information shown in FIG. 19 are created. The content of this information is time 2
It is exactly the same as the output destination connection element information in FIG.
【0069】続いて時刻5における素子出力評価処理、
図4の405を行う。この処理も時刻2の場合と同様に
行うが、時刻5では1902の第1の要素の遅延の種類
番号(1904)番目(0番目)の出力値を参照する。Subsequently, the element output evaluation processing at time 5,
405 of FIG. 4 is performed. This processing is also performed in the same manner as at time 2, but at time 5, the delay type number (1904) th (0th) output value of the first element 1902 is referred to.
【0070】出力値は図18に示すように0番の出力端
子の0番目の出力値は1、1番の出力端子の0番目の出
力値も1である。入力値1と1について11(113
2)、即ち、論理積ANDの演算を行うと新しい出力値
Vkは1となり、現在の出力値0と異なるため706で
イベントの登録処理を行う。As for the output value, as shown in FIG. 18, the 0th output value of the 0th output terminal is 1, and the 0th output value of the 1st output terminal is also 1. About input values 1 and 1 11 (113
2) That is, when the logical product AND operation is performed, the new output value Vk becomes 1, which is different from the current output value 0, and the event registration processing is performed at 706.
【0071】図20に登録されるイベントの情報を示
す。現在の時刻5(XT)にk番目の出力端子の、19
02の第1の要素の遅延の種類番号(1904)番目
(0番目)の遅延値である3を加えた8を信号伝播時刻2
004,1903が示す出力先接続ポインタの値6を信
号伝播素子2005,0番の出力端子を対象としている
ので0を伝播出力2006,新しい出力値Vk(値は
1)を伝播信号値2007,1904が示す遅延種類番
号を遅延の種類番号2008とする。次のイベントも同
様であるが、伝播時刻は1902の第2の要素の遅延の
種類番号(1904)番目(1番目)の遅延値である5
を加えた10となり、遅延の種類番号も1となる。時刻
5における出力値比較処理、図4の406も時刻2の場
合と同様に図8の811の条件が成立しないため実行さ
れない。FIG. 20 shows information on events registered. At the current time 5 (XT), 19th of the k-th output terminal
Delay type number (1904) th of the first element of 02
Signal propagation time 2 is 8 with 3 added, which is the (0th) delay value
The value 6 of the output destination connection pointer indicated by 004, 1903 is targeted for the signal propagation element 2005, the output terminal of No. 0, so 0 is propagated output 2006, and the new output value Vk (value is 1) is propagated signal value 2007, 1904. The delay type number indicated by is the delay type number 2008. The propagation time is the delay type number (1904) th (1st) delay value of the second element of 1902, which is the same as the next event, but 5
Becomes 10, and the delay type number also becomes 1. Similarly to the case of time 2, the output value comparison processing at time 5 and 406 of FIG. 4 are not executed because the condition of 811 of FIG. 8 is not satisfied.
【0072】時刻6,時刻7では伝播するテストベクト
ルまたはイベントが存在しないので何もしない。At time 6 and time 7, there is no test vector or event to propagate, so nothing is done.
【0073】時刻8ではテストベクトルの追加処理は該
当するテストベクトル情報が存在しないため行われな
い。イベント伝播処理で時刻5で登録した図20の20
02のイベントを伝播する。イベント2002は先頭ア
ドレスが6の素子(G1)の0番の出力端子の0番目の
遅延番号の出力値を1とするイベントである。At time 8, test vector addition processing is not performed because there is no corresponding test vector information. 20 of FIG. 20 registered at time 5 in the event propagation processing
Propagate 02 event. Event 2002 is an event in which the output value of the 0th delay number of the 0th output terminal of the element (G1) whose head address is 6 is 1.
【0074】イベント2002により更新された素子情
報を図21に示す。図中の2148の部分が更新部分で
ある。更に、図22に示す出力先接続情報2202が作
成される。2203はG1の0番の出力端子に接続する
素子(G2)の先頭アドレス12を格納する。2204
はイベント2002の遅延の種類番号0を格納する。時
刻8の素子出力評価処理、図4の405は先頭アドレス
12の素子(G2)について処理を行う。図11の11
68の情報から先頭アドレス12の素子の二つの入力端
子は先頭アドレス6の素子(G1)の0番の出力と先頭
アドレス0の素子(仮想入力素子)の2番の出力に接続
していることがわかる。それらの出力の2204に格納
されている0番の遅延の種類番号番目の出力値を参照す
るとG1の0番の出力値は1であり(図21)、仮想入
力素子の2番の出力値は0である。更にG2の素子種識
別番号は21、即ち論理和ORであるためVkは1と0
の論理和の1となる。FIG. 21 shows the element information updated by the event 2002. The portion 2148 in the figure is the update portion. Further, the output destination connection information 2202 shown in FIG. 22 is created. 2203 stores the head address 12 of the element (G2) connected to the 0th output terminal of G1. 2204
Stores the delay type number 0 of the event 2002. The element output evaluation processing at time 8, processing 405 in FIG. 4 is performed for the element (G2) of the head address 12. 11 of FIG.
From the information of 68, the two input terminals of the element with the starting address 12 must be connected to the 0th output of the element with the starting address 6 (G1) and the 2nd output of the element with the starting address 0 (virtual input element). I understand. Referring to the output value of the 0th delay type number stored in 2204 of those outputs, the 0th output value of G1 is 1 (FIG. 21), and the 2nd output value of the virtual input element is It is 0. Further, since the element type identification number of G2 is 21, that is, the logical sum OR, Vk is 1 and 0.
Becomes the logical sum of 1.
【0075】時刻8におけるG2の0番の出力端子の0
番目の出力は0でVkと一致しないため、図23に示す
イベント2302が生成される。イベント2302は、
現在の時刻8にG2の0番の出力端子の0番目の遅延時
間2を加えた10を伝播値2304,G2の素子情報の
先頭アドレス12を伝播素子2305,出力端子番号0
を伝播出力2306,Vk値1を伝播信号値2307,
2204の遅延の種類番号をそのまま遅延の種類番号2
308とする。時刻8における出力値比較処理も図8の
811の条件が成立しないため実行されない。At time 0, 0 of output terminal 0 of G2
Since the second output is 0 and does not match Vk, the event 2302 shown in FIG. 23 is generated. Event 2302 is
The current time 8 is added with the 0th delay time 2 of the 0th output terminal of G2, 10 is the propagation value 2304, the start address 12 of the element information of G2 is the propagation element 2305, the output terminal number 0.
A propagation output 2306, a Vk value of 1 is a propagation signal value 2307,
The delay type number of 2204 is the same as the delay type number 2
308. The output value comparison process at time 8 is also not executed because the condition 811 in FIG. 8 is not satisfied.
【0076】時刻9では伝播するテストベクトルまたは
イベントが存在しないので何もしない。At time 9, there is no test vector or event to propagate, so nothing is done.
【0077】時刻10では時刻5で作成されたイベン
ト、2012と時刻8で作成されたイベント、2302
が伝播する。その結果、図24の2448と2478の
部分が更新される。更に図25に示す出力先接続情報2
502が作成される。これはイベント2012に対応し
て作成されるもので出力先接続ポインタ値2503はG
2の素子情報の先頭アドレス12であり、遅延の種類番
号2504はイベント2012の遅延の種類番号201
8と等しい1である。イベント2302に対応した出力
先接続情報はイベント2302が対象とする素子G2の
出力には何も接続していないため作成されない。出力先
接続情報2502に対応して素子出力値評価処理でG2
の0番の出力端子の1番目の新しい出力値Vkを求め
る。この値は、入力値1と0、素子種番号21(論理和
OR)から1と求まる。At time 10, the event created at time 5, event 2012 and the event created at time 2302
Propagates. As a result, the portions 2448 and 2478 in FIG. 24 are updated. Further, output destination connection information 2 shown in FIG.
502 is created. This is created corresponding to the event 2012, and the output destination connection pointer value 2503 is G
2 is the start address 12 of the element information, and the delay type number 2504 is the delay type number 201 of the event 2012.
It is 1, which is equal to 8. The output destination connection information corresponding to the event 2302 is not created because nothing is connected to the output of the element G2 targeted by the event 2302. In the element output value evaluation processing G2 corresponding to the output destination connection information 2502
The first new output value Vk of the 0th output terminal is calculated. This value is obtained as 1 from the input values 1 and 0 and the element type number 21 (logical sum OR).
【0078】Vkは現在の出力値0と異なるため、図2
6に示すイベント2602が作成される。イベント26
02は、現在の時刻10にG2の0番の出力端子の1番
目の遅延値4を加えた14を伝播時刻2604,G2の
素子情報の先頭アドレス12を伝播素子2605,出力
端子番号0を伝播出力2606,Vk値1を伝播信号値
2607,2504の遅延の種類番号をそのまま遅延の
種類番号2608とする。時刻10における出力値比較
処理も図8の811の条件が成立しないため実行されな
い。Since Vk is different from the current output value 0,
The event 2602 shown in 6 is created. Event 26
02 propagates 14 by adding the first delay value 4 of the 0th output terminal of G2 to the current time 10 and propagates the start address 12 of the element information at G2, the propagation element 2605, and the output terminal number 0. The output 2606 and the Vk value 1 are used as the delay type numbers 2608 of the propagation signal values 2607 and 2504 as they are. The output value comparison process at time 10 is also not executed because the condition 811 in FIG. 8 is not satisfied.
【0079】時刻11では伝播するテストベクトルまた
はイベントが存在しないので何もしない。At time 11, since there is no test vector or event to propagate, nothing is done.
【0080】時刻12では伝播するテストベクトルもイ
ベントも存在しないが、図8の811の条件が成立するた
め出力値比較処理が行われる。812ではポインタSを
観測素子情報(例では図13の1306)の先頭の要素
を指す様に初期化する。ループ813では観測素子情報
の全ての要素について814〜822の処理を繰り返
す。1306の最初の要素は素子情報の先頭アドレス
(1304)が6の素子、即ちG1の0番の出力端子
(1305)について、その出力端子の全ての遅延の種
類について出力値を比較する。図24の2447より、
時刻12におけるG1の0番の出力値は0番の遅延、1
番の遅延とも1であり、等しい値であることがわかる
(時刻10以降、イベントの伝播は無いので素子の出力
値は変化していない)。一方、1306の次の要素は素
子情報の先頭アドレス(1304)が12の素子、即
ち、G2の0番の出力端子(1305)である。この場
合は図24の2477より、時刻12におけるG2の0
番の出力値は0番の遅延が1、1番の遅延が0と異なる
値であることがわかる。値が異なる場合は図8の820
の条件が成立するため821の処理を行う。821では
時刻12において、素子G2の0番の出力に不一致が存
在することを出力する。At time 12, neither the propagating test vector nor the event exists, but the output value comparison process is performed because the condition 811 in FIG. 8 is satisfied. At 812, the pointer S is initialized to point to the head element of the observation element information (1306 in FIG. 13 in the example). In the loop 813, the processing of 814 to 822 is repeated for all the elements of the observation element information. The first element of 1306 compares the output value of the element whose start address (1304) of the element information is 6, that is, the 0th output terminal (1305) of G1 with respect to all the delay types of the output terminal. From 2447 in FIG. 24,
No. 0 output value of G1 at time 12 is No. 0 delay, 1
It can be seen that the delay numbers are 1 and the values are the same (after time 10, there is no event propagation, so the output value of the element has not changed). On the other hand, the element next to 1306 is the element whose start address (1304) of the element information is 12, that is, the 0th output terminal (1305) of G2. In this case, from 2477 of FIG. 24, 0 of G2 at time 12 is obtained.
It can be seen that the 0th output value is different from the 0th delay being 1, and the 1st delay being different from 0. If the values are different, 820 in FIG.
Since the condition of is satisfied, the process of 821 is performed. In 821, at time 12, the fact that there is a mismatch in the output of the 0th element G2 is output.
【0081】時刻13では伝播するテストベクトルまた
はイベントが存在しないので何もしない。At time 13, since there is no propagating test vector or event, nothing is done.
【0082】時刻14では時刻10で作成されたイベン
ト、図26の2602が伝播する。その結果、図27の
2778の部分が更新される。しかしイベント2602
が対象とする素子G2の出力に何も接続していないため
出力先接続情報は作成されず、素子出力評価処理も行わ
れない。出力値比較処理は811の条件が成立しないた
め行われない。At time 14, the event created at time 10, 2602 in FIG. 26, propagates. As a result, the portion 2778 in FIG. 27 is updated. But event 2602
Since nothing is connected to the output of the target element G2, output destination connection information is not created, and element output evaluation processing is not performed. The output value comparison process is not performed because the condition 811 is not satisfied.
【0083】時刻15では伝播するテストベクトルまた
はイベントが存在しないので何もしない。時刻15は、
シミュレーションの終了時刻であるので図4の402の
ループを終了し、図4に示したシミュレーションの処理
を終了する。At time 15, there is no propagating test vector or event, so nothing is done. At time 15
Since it is the simulation end time, the loop of 402 in FIG. 4 is ended, and the simulation processing shown in FIG. 4 is ended.
【0084】以上のシミュレーションの結果を図28に
示す。G1の出力端子0番の遅延番号0番の出力値は時
刻5の入力変化に対応して時刻8において1に変化し、
G1の出力端子0番の遅延番号1番の出力値は時刻5の
入力変化に対応して時刻10において1に変化する。ま
たG2の出力端子0番の遅延番号0番の出力値は時刻8
の入力変化に対応して時刻10において1に変化し、G
2の出力端子0番の遅延番号1番の出力値は時刻10の
入力変化に対応して時刻14において1に変化する。時
刻12(2801)における出力値比較処理の結果、G
1の出力値は二つとも等しく1であるが(2802)G
2の出力値は1と0と異なる値となり(2803)、シ
ミュレーションのユーザにその結果が報告される事にな
る。The result of the above simulation is shown in FIG. The output value of delay number 0 of output terminal 0 of G1 changes to 1 at time 8 in response to the input change at time 5,
The output value of delay number 1 of output terminal 0 of G1 changes to 1 at time 10 corresponding to the input change at time 5. Also, the output value of the delay number 0 of the output terminal 0 of G2 is the time 8
Changes to 1 at time 10 in response to the input change of
The output value of delay number 1 of output terminal 0 of No. 2 changes to 1 at time 14 corresponding to the input change at time 10. As a result of the output value comparison processing at time 12 (2801), G
The output value of 1 is the same for both, but (2802) G
The output value of 2 is different from 1 and 0 (2803), and the result is reported to the user of the simulation.
【0085】本実施例によれば、一つの素子に複数種類
の遅延を割り当てた多重遅延シミュレーションを同時に
行い、更にあらかじめ指定した観測時刻と観測素子出力
について遅延の種類毎の出力値に不一致が存在する事を
調べることが可能になる。According to the present embodiment, multiple delay simulations in which a plurality of types of delays are assigned to one element are performed simultaneously, and there is a discrepancy in the output values for each type of delay with respect to the observation time and the observation element output designated in advance. It becomes possible to find out what to do.
【0086】また、図9の実施例の多重テスト論理シミ
ュレーションにより複数のテストパタンを同時に処理す
ることが可能になる。Further, the multiple test logic simulation of the embodiment of FIG. 9 makes it possible to process a plurality of test patterns at the same time.
【0087】本実施例においてテストベクトルの追加処
理403,イベント伝播処理404,素子出力値評価処
理405,出力値比較処理406におけるループ、51
1,612,702,813はそれぞれ毎回のループで
の処理が独立に行われるため、ループを展開してベクト
ル計算機などでの並列処理が可能である。In the present embodiment, a loop in the test vector addition processing 403, the event propagation processing 404, the element output value evaluation processing 405, and the output value comparison processing 406, 51
Since 1,612, 702, and 813 are independently processed in each loop, the loops can be expanded and parallel processing can be performed in a vector computer or the like.
【0088】[0088]
【発明の効果】本発明によれば、任意の種類の遅延を各
素子に仮定した論理シミュレーションを同時に処理する
ことが可能になり、遅延のばらつきによる論理回路の誤
動作を容易に発見できるようになる.また従来は遅延の
種類を変える毎に論理シミュレーションを実行する必要
があったが本発明では複数の遅延の種類を一括してシミ
ュレーションできるため、シミュレーション起動の手間
を省くことができる。According to the present invention, it is possible to simultaneously process a logic simulation assuming an arbitrary type of delay for each element, and it is possible to easily find a malfunction of a logic circuit due to delay variation. . Conventionally, it was necessary to execute a logical simulation every time the type of delay was changed, but in the present invention, a plurality of types of delay can be collectively simulated, so that the time and effort for starting the simulation can be saved.
【0089】また、本発明によれば複数のテストベクト
ルに対して一括して同時に論理シミュレーションを行う
ことが可能であり、この場合もシミュレーション起動の
手間を省くことができる。Further, according to the present invention, it is possible to simultaneously perform a logical simulation on a plurality of test vectors simultaneously, and in this case as well, it is possible to save the trouble of starting the simulation.
【0090】更に、複数の遅延による論理シミュレーシ
ョンを同時に処理することにより、並列処理可能な同一
時刻のイベントの数が増えるため、単一の遅延による論
理シミュレーションを繰り返すのに比べて並列処理によ
る高速化の効果が大きくなる。Further, by simultaneously processing the logical simulations with a plurality of delays, the number of events that can be processed in parallel at the same time increases, so that the speedup by parallel processing is faster than repeating the logical simulation with a single delay. The effect of becomes large.
【図1】本発明の一実施例の説明図。FIG. 1 is an explanatory diagram of an embodiment of the present invention.
【図2】従来の論理シミュレーション用のデータ構造の
説明図。FIG. 2 is an explanatory diagram of a conventional data structure for logic simulation.
【図3】素子の遅延のモデルの説明図。FIG. 3 is an explanatory diagram of a delay model of an element.
【図4】本発明の実施例の論理シミュレーションの処理
の説明図。FIG. 4 is an explanatory diagram of a logic simulation process according to the embodiment of this invention.
【図5】本発明の第三実施例のテストベクトルの追加処
理の説明図。FIG. 5 is an explanatory diagram of test vector addition processing according to the third embodiment of this invention.
【図6】イベント伝播処理の説明図。FIG. 6 is an explanatory diagram of event propagation processing.
【図7】素子出力評価処理の説明図。FIG. 7 is an explanatory diagram of element output evaluation processing.
【図8】本発明の第二実施例の出力値比較処理の説明
図。FIG. 8 is an explanatory diagram of output value comparison processing according to the second embodiment of this invention.
【図9】本発明の第四実施例のテストベクトルの追加処
理の説明図。FIG. 9 is an explanatory diagram of test vector addition processing according to the fourth embodiment of this invention.
【図10】本発明の実施例の動作を説明するための論理
回路図。FIG. 10 is a logic circuit diagram for explaining the operation of the embodiment of the present invention.
【図11】図10の回路の素子情報の説明図。11 is an explanatory diagram of element information of the circuit of FIG.
【図12】テストベクトルの例の説明図。FIG. 12 is an explanatory diagram of an example of a test vector.
【図13】観測周期と観測素子情報の例の説明図。FIG. 13 is an explanatory diagram of an example of an observation cycle and observation element information.
【図14】時刻2に追加されるイベント情報の説明図。FIG. 14 is an explanatory diagram of event information added at time 2.
【図15】時刻2に変更される素子情報の説明図。FIG. 15 is an explanatory diagram of element information changed at time 2.
【図16】時刻2に作成される出力先接続情報の説明
図。FIG. 16 is an explanatory diagram of output destination connection information created at time 2.
【図17】時刻5に追加されるイベント情報の説明図。FIG. 17 is an explanatory diagram of event information added at time 5.
【図18】時刻5に変更される素子情報の説明図。FIG. 18 is an explanatory diagram of element information changed at time 5.
【図19】時刻5に作成される出力先接続情報の説明
図。FIG. 19 is an explanatory diagram of output destination connection information created at time 5.
【図20】時刻5に作成されるイベント情報の説明図。FIG. 20 is an explanatory diagram of event information created at time 5.
【図21】時刻8に変更される素子情報の説明図。FIG. 21 is an explanatory diagram of element information changed at time 8.
【図22】時刻8に作成される出力先接続情報の説明
図。FIG. 22 is an explanatory diagram of output destination connection information created at time 8.
【図23】時刻8に作成されるイベント情報の説明図。FIG. 23 is an explanatory diagram of event information created at time 8.
【図24】時刻10に変更される素子情報の説明図。FIG. 24 is an explanatory diagram of element information changed at time 10.
【図25】時刻10に作成される出力先接続情報の説明
図。FIG. 25 is an explanatory diagram of output destination connection information created at time 10.
【図26】時刻10に作成されるイベント情報の説明
図。FIG. 26 is an explanatory diagram of event information created at time 10.
【図27】時刻14に変更される素子情報の説明図。FIG. 27 is an explanatory diagram of element information changed at time 14.
【図28】シミュレーションの結果の説明図。FIG. 28 is an explanatory diagram of a simulation result.
101…タイムホイール、102…イベント、103…
リンクポインタ、123,127,132,135…要素
数。101 ... Time wheel, 102 ... Event, 103 ...
Link pointer, 123, 127, 132, 135 ... Number of elements.
Claims (5)
刻,信号の伝播する素子情報の識別子,信号が伝播する
出力端子の識別番号,伝播する信号の値を持ち、素子の
情報として、素子種の識別番号,素子固有名称,入力端
子数,各入力端子毎の接続先ポインタと出力端子番号の
リスト,出力端子数,各出力端子毎の接続先数と接続先
ポインタのリストを持ち、イベントの情報に従って論理
回路のシミュレーションを行う論理シミュレーション方
法において、 イベントの情報として、遅延の種類の識別番号を持ち、
素子の情報として、各出力端子毎に、遅延の種類数と同
数の出力値と素子の遅延値を持ち、シミュレーション実
行時に、各イベントの遅延の種類の識別番号に対応した
出力値と素子遅延値について、イベントの伝播と、信号
値変化に伴う新たなイベントの生成を行うことを特徴と
する論理シミュレーション方法。1. Event information includes a signal propagation time, an identifier of element information in which the signal propagates, an identification number of an output terminal in which the signal propagates, and a value of the signal in which the signal propagates. ID number, device unique name, number of input terminals, list of connection destination pointers and output terminal numbers for each input terminal, number of output terminals, number of connection destinations for each output terminal and list of connection destination pointers. In the logic simulation method of simulating a logic circuit according to the information, as the information of the event, the identification number of the delay type,
As the element information, each output terminal has the same number of output values as the number of delay types and element delay values, and the output value and element delay value corresponding to the identification number of each event delay type when the simulation is executed. Regarding the above, a logical simulation method characterized by performing the propagation of an event and the generation of a new event associated with a signal value change.
情報と、観測周期情報を持ち、観測周期情報に従ったシ
ミュレーション時刻に、指定した観測出力端子の全ての
遅延の種類に関して出力値が全て等しいか、否かを判定
し、その結果を出力する論理シミュレーション方法。2. The device according to claim 1, which has information for identifying an element to be observed and an observation output terminal of the element and observation period information, and all of the designated observation output terminals at a simulation time according to the observation period information. A logic simulation method that determines whether all output values are the same with respect to the type of delay of, and outputs the result.
類の識別番号を持つイベントを発生する論理シミュレー
ション方法。3. The logic simulation method according to claim 1, wherein an event having identification numbers of all delay types is generated corresponding to a given test vector.
異なる遅延の種類の識別番号を持つイベントを発生する
論理シミュレーション方法。4. The logic simulation method according to claim 1, wherein an event having identification numbers of different delay types is generated corresponding to a plurality of given test vectors.
ン方法を複数の演算機構を持つ並列計算機上で行う論理
シミュレータ。5. A logic simulator for performing the logic simulation method according to claim 1 on a parallel computer having a plurality of arithmetic mechanisms.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5116805A JPH06332974A (en) | 1993-05-19 | 1993-05-19 | Logic simulation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5116805A JPH06332974A (en) | 1993-05-19 | 1993-05-19 | Logic simulation method |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06332974A true JPH06332974A (en) | 1994-12-02 |
Family
ID=14696103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5116805A Pending JPH06332974A (en) | 1993-05-19 | 1993-05-19 | Logic simulation method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06332974A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012038060A (en) * | 2010-08-06 | 2012-02-23 | Fujitsu Semiconductor Ltd | Information processor, program and design aid method |
-
1993
- 1993-05-19 JP JP5116805A patent/JPH06332974A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012038060A (en) * | 2010-08-06 | 2012-02-23 | Fujitsu Semiconductor Ltd | Information processor, program and design aid method |
US8683401B2 (en) | 2010-08-06 | 2014-03-25 | Fujitsu Semiconductor Limited | Information processing device and design supporting method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5282146A (en) | Test assistant system for logical design process | |
US4965758A (en) | Aiding the design of an operation having timing interactions by operating a computer system | |
JPH06332974A (en) | Logic simulation method | |
JPH0561931A (en) | Simulation device | |
US3684871A (en) | Network plotting system | |
US20100023824A1 (en) | Methods for generating test patterns for sequential circuits | |
US4885712A (en) | Method and apparatus for partial test-cause generation | |
JP2003156544A (en) | Generation of compression test plan for testing integrated circuit, and test series generation and test | |
US5910901A (en) | Logic simulator | |
JPH05502535A (en) | How to perform simultaneous multi-domain and multi-dimensional simulation using conventional computers | |
JPS6398042A (en) | Simulation method | |
JP2000241514A (en) | Parallel generation method for test pattern and generation apparatus for test pattern | |
JPS6311715B2 (en) | ||
JP2855603B2 (en) | Work station simulator | |
KR19980016176A (en) | Flashback simulator | |
Dominique et al. | Behavioral fault simulation: implementation and experimental results | |
JP2748396B2 (en) | Logic simulation method | |
JP2729061B2 (en) | Zero-delay operation processing method for simulation equipment | |
JPH0619733A (en) | Input pattern evaluation method for simulation | |
JPH08286713A (en) | Language conversion device | |
JPS63205760A (en) | Test coverage system for logical simulation | |
JPH06266792A (en) | Fault simulation processing method | |
JPH01106265A (en) | Method for specifying ordering of automatic wiring network | |
JPS6339051A (en) | Test coverage system for logic simulation | |
JPH0793008A (en) | Method for generating sequence data |