Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6209892B2 - Timing adjustment program for competition test, timing adjustment method for competition test, and timing adjustment apparatus for competition test - Google Patents
[go: Go Back, main page]

JP6209892B2 - Timing adjustment program for competition test, timing adjustment method for competition test, and timing adjustment apparatus for competition test - Google Patents

Timing adjustment program for competition test, timing adjustment method for competition test, and timing adjustment apparatus for competition test Download PDF

Info

Publication number
JP6209892B2
JP6209892B2 JP2013157057A JP2013157057A JP6209892B2 JP 6209892 B2 JP6209892 B2 JP 6209892B2 JP 2013157057 A JP2013157057 A JP 2013157057A JP 2013157057 A JP2013157057 A JP 2013157057A JP 6209892 B2 JP6209892 B2 JP 6209892B2
Authority
JP
Japan
Prior art keywords
transaction
event
events
pair
timing adjustment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013157057A
Other languages
Japanese (ja)
Other versions
JP2015026337A (en
Inventor
マチュー パリジ
マチュー パリジ
浩一郎 ▲高▼山
浩一郎 ▲高▼山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013157057A priority Critical patent/JP6209892B2/en
Publication of JP2015026337A publication Critical patent/JP2015026337A/en
Application granted granted Critical
Publication of JP6209892B2 publication Critical patent/JP6209892B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、半導体装置の競合テスト用タイミング調整プログラム、競合テスト用タイミング調整方法および競合テスト用タイミング調整装置に関する。   The present invention relates to a competitive adjustment timing adjustment program for a semiconductor device, a competitive adjustment timing adjustment method, and a competitive adjustment timing adjustment apparatus.

LSI等の半導体装置は、機能検証装置を用いてハードウェア記述言語により記載された論理回路を検証する。この機能検証の一つとして、複数信号のタイミング依存によるLSI内部信号の競合検証がある。   A semiconductor device such as an LSI verifies a logic circuit described in a hardware description language using a function verification device. As one of the function verifications, there is a competition verification of LSI internal signals due to timing dependency of a plurality of signals.

競合検証では、例えば、競合の条件を登録したテーブルを参照し、複数のプログラムが並行して動作するシミュレーション中に発生した条件のうち競合させたい条件が一致するかをチェックする技術がある。この技術では、一部の条件一致時にシミュレーション実行を停止し、全部の条件一致時にシミュレーション実行を再開させる(例えば、下記特許文献1参照。)。   In the conflict verification, for example, there is a technique for checking whether a condition to be conflicted among conditions generated during a simulation in which a plurality of programs operate in parallel is referred to by referring to a table in which the condition for the conflict is registered. In this technique, simulation execution is stopped when some conditions are matched, and simulation execution is restarted when all conditions are matched (see, for example, Patent Document 1 below).

特開平11−238002号公報Japanese Patent Laid-Open No. 11-236002

しかしながら、従来技術では、データの入力側からみて深い位置に位置する競合点における競合の検証時に、複数のデータパス別の時間差を全て把握して競合を生じさせることは困難であり、競合の検証に手間がかかった。   However, in the conventional technology, it is difficult to grasp all the time differences for each of the multiple data paths at the time of verifying the conflict at the competitive point located deeper from the data input side, and the conflict verification is difficult. It took time and effort.

例えば、競合点として、コア内部の競合点(アービタ)の調停動作(優先出力)を確認するために、このアービタに対して2つの信号(データ1,データ2)が同時に入力されたときの検証を行う。この際、コアに対して外部からそれぞれ入力される2つのデータは、競合点(アービタ)に到達するまでにかかる時間が異なる場合がある。例えば、2つのデータパス上で競合点(アービタ)より手前の回路ブロック(例えば、フリップフロップ(FF))で所定のイベント発生が生じると、検証が必要な競合点(アービタ)にリクエストが届くまでの(遅延)時間が異なってしまう。   For example, in order to confirm the arbitration operation (priority output) of the competition point (arbiter) inside the core as a competition point, verification when two signals (data 1 and data 2) are simultaneously input to this arbiter I do. At this time, the time required to reach the competition point (arbiter) may be different between the two data respectively input from the outside to the core. For example, when a predetermined event occurs in a circuit block (for example, a flip-flop (FF)) before a competing point (arbiter) on two data paths, until a request reaches the competing point (arbiter) that needs to be verified. The (delay) time will be different.

図10は、競合の発生を説明するための図である。横軸は時間であり、縦軸には2つのデータ(データ1,データ2)を示す。はじめに、(a)に示すように、データ1,2を同時に(時期t=0)入力させたとする。このときのアービタに対するリクエストが生じるまでの時間は、データ1がt=1、データ2がt=2であったとする。この場合、データ1,2間のリクエストの時間差Δを波形等で確認する。この後、(b)に示すように、時間差Δに相当する分だけデータ2の入力タイミングを遅らせれば、競合点(アービタ)においてデータ1,2のリクエストが競合可能となる。   FIG. 10 is a diagram for explaining the occurrence of competition. The horizontal axis represents time, and the vertical axis represents two data (data 1 and data 2). First, as shown in (a), it is assumed that data 1 and 2 are input simultaneously (time t = 0). It is assumed that the time until the request for the arbiter at this time is t = 1 for data 1 and t = 2 for data 2. In this case, the request time difference Δ between the data 1 and 2 is confirmed by a waveform or the like. Thereafter, as shown in (b), if the input timing of data 2 is delayed by an amount corresponding to the time difference Δ, requests for data 1 and 2 can compete at the competition point (arbiter).

しかしながら、(b)に示した入力タイミングを遅らせたとしても、競合点(アービタ)においてデータ1,2のリクエストのタイミングが競合しない場合がある。例えば、(c)に示すように、データ2に対して時間差Δを与えて入力しても、実際に競合点(アービタ)にリクエストが発生するまでの時間がt=2’となり予想したt=2と異なることがある。   However, even if the input timing shown in (b) is delayed, the request timings of the data 1 and 2 may not compete at the competition point (arbiter). For example, as shown in (c), even if the time difference Δ is given to the data 2 and input, the time until the request is actually generated at the competing point (arbiter) becomes t = 2 ′ and the expected t = May differ from 2.

この相違は、データパス上の複数の回路ブロック(FF)において所定のイベント発生等に基づく遅延量の積算によって生じる。従来、検証装置では、大規模なLSI上での個々の回路ブロック(FF)の順序制御までは把握せずに、時間差Δを更新して所定回数までに競合条件が満たされるか判断している。そして、検証装置による競合条件が満たされない場合、設計者により時間差Δを手作業で更新する等の作業が必要となり、競合条件に収束するまでに時間と手間がかかった。また、手作業で行っても競合条件に収束しない結果となる場合もある。   This difference is caused by integration of delay amounts based on occurrence of a predetermined event in a plurality of circuit blocks (FF) on the data path. Conventionally, the verification apparatus updates the time difference Δ to determine whether the competition condition is satisfied by a predetermined number of times without grasping the order control of individual circuit blocks (FF) on a large-scale LSI. . When the competition condition by the verification device is not satisfied, the designer needs to manually update the time difference Δ, and it takes time and effort to converge to the competition condition. In addition, even if it is performed manually, the result may not converge to the competition condition.

ここで、データパス上の回路ブロック(FF)は膨大な数であるため、個々の回路ブロックの動作にかかる遅延量を全て把握することは困難であり、競合点(アービタ)における競合のタイミングが最適となるようにいかにして調整するか、その具体的解決が望まれている。データの入力側からみたデータパスの深い位置の競合点(アービタ)では、手前に多数のブロックが存在するため、複数のデータが競合する入力タイミングを得ることが困難であった。   Here, since there are an enormous number of circuit blocks (FF) on the data path, it is difficult to grasp all the delay amounts for the operation of each circuit block, and the timing of contention at the contention point (arbiter) is difficult. There is a demand for a concrete solution on how to adjust the optimum. At a competition point (arbiter) at a deep position in the data path as viewed from the data input side, there are a number of blocks in front, and it is difficult to obtain an input timing at which a plurality of data compete.

一つの側面では、本発明は、複数のデータの任意の競合点における競合タイミングを最適に調整できることを目的とする。   In one aspect, an object of the present invention is to optimally adjust the contention timing at an arbitrary contention point of a plurality of data.

一つの案では、競合させたい一対のイベントの指定により、半導体装置の入力のトランザクションとイベントとに基づき、前記一対のイベントに関連する複数の前記トランザクションを1組毎に選択し、選択した1組の前記トランザクションに含まれる前記一対のイベントの時刻が一致するように、一方のトランザクションの入力タイミングを調整し、入力タイミングが調整された一方のトランザクションに含まれる他のイベントの時刻が、他方のトランザクションに含まれる同一のイベントの時刻と不一致となるかを判断し、判断結果として不一致が得られた1組のトランザクションと、調整した前記入力タイミングと、を競合させたい一対のイベントに対するタイミング調整結果として出力する。   In one proposal, by specifying a pair of events to be competing, a plurality of the transactions related to the pair of events are selected for each set based on the transactions and events of the input of the semiconductor device, and the selected set The input timing of one transaction is adjusted so that the times of the pair of events included in the transaction of the other transaction match, and the time of the other event included in the one transaction whose input timing is adjusted is the other transaction. As a timing adjustment result for a pair of events for which a set of transactions in which a mismatch is obtained as a determination result and the adjusted input timing are made to conflict with each other Output.

一つの実施形態によれば、複数のデータの任意の競合点における競合タイミングを最適に調整できる。   According to one embodiment, it is possible to optimally adjust the contention timing at an arbitrary contention point of a plurality of data.

図1は、実施の形態にかかる競合テスト用タイミング調整装置の機能を示すブロック図である。FIG. 1 is a block diagram illustrating functions of the competition test timing adjusting apparatus according to the embodiment. 図2は、イベントテーブルに格納されるイベントテーブル情報を示す図表である。FIG. 2 is a chart showing event table information stored in the event table. 図3は、イベントテーブル生成の処理手順の一例を示すフローチャートである。FIG. 3 is a flowchart illustrating an example of a processing procedure for generating an event table. 図4は、競合シナリオ生成にかかるトランザクション選択例を説明するための図表である。FIG. 4 is a chart for explaining an example of selecting a transaction for generating a conflict scenario. 図5は、競合シナリオ生成のためのトランザクション選択処理の一例を示すフローチャートである。FIG. 5 is a flowchart illustrating an example of a transaction selection process for generating a conflict scenario. 図6は、競合シナリオ生成処理の一例を示すフローチャートである。FIG. 6 is a flowchart illustrating an example of a conflict scenario generation process. 図7は、競合テスト用タイミング調整装置のハードウェア構成の一例を示すブロック図である。FIG. 7 is a block diagram illustrating an example of a hardware configuration of the competition test timing adjustment device. 図8は、競合テスト用タイミング調整装置の配置例を示す図である。FIG. 8 is a diagram showing an arrangement example of the competition test timing adjusting device. 図9は、競合点でのタイミング競合の一例を示す図である。FIG. 9 is a diagram illustrating an example of timing conflict at a competition point. 図10は、競合の発生を説明するための図である。FIG. 10 is a diagram for explaining the occurrence of competition.

(実施の形態)
以下に添付図面を参照して、開示技術の好適な実施の形態を詳細に説明する。図1は、実施の形態にかかる競合テスト用タイミング調整装置の機能を示すブロック図である。競合テスト用タイミング調整装置100は、イベントテーブル生成部101と、イベントテーブル102と、競合シナリオ生成部103と、を含む。
(Embodiment)
Hereinafter, preferred embodiments of the disclosed technology will be described in detail with reference to the accompanying drawings. FIG. 1 is a block diagram illustrating functions of the competition test timing adjusting apparatus according to the embodiment. The competition test timing adjustment apparatus 100 includes an event table generation unit 101, an event table 102, and a competition scenario generation unit 103.

イベントテーブル生成部101は、コアに対する入力トランザクションの集合の情報(Tr1,Tr2,…,Trn)110と、コア内部における内部イベントのリスト情報(Ev1,Ev2,…,Evm)111とに基づき、イベントテーブル情報112を生成し、イベントテーブル102に格納する。内部イベントのリスト情報111は、コア内部において競合点(アービタ等)における競合させたい(競合対象)のイベントを含む。   The event table generation unit 101 generates an event based on information (Tr1, Tr2,..., Trn) 110 on a set of input transactions for the core and internal event list information (Ev1, Ev2,..., Evm) 111 inside the core. Table information 112 is generated and stored in the event table 102. The internal event list information 111 includes an event to be competed (competition target) at a competition point (arbiter or the like) inside the core.

競合シナリオ生成部103は、イベントテーブル102に格納されたイベントテーブル情報112と、競合させたいイベントの組の情報113の指定入力と、に基づいて、競合させたいイベントに対する競合シナリオの情報121を生成する。競合させたいイベントの組の情報113は、内部イベントのリスト情報111のなかからサブセットとして用意し、指定入力することができる。例えば、競合点がコア内部の所定のブロック(例えばアービタ)の場合、このブロック(アービタ)に対してリクエスト(Req)を出力する1対のブロック(例えばFF)がイベントの組の情報として指定入力される。   The conflict scenario generation unit 103 generates the conflict scenario information 121 for the event to be competed based on the event table information 112 stored in the event table 102 and the designation input of the event set information 113 to be competed. To do. The event set information 113 to be competed is prepared as a subset from the internal event list information 111 and can be designated and input. For example, when the competing point is a predetermined block (for example, arbiter) in the core, a pair of blocks (for example, FF) that outputs a request (Req) to this block (arbiter) is designated as event set information. Is done.

(イベントテーブルの生成について)
図2は、イベントテーブルに格納されるイベントテーブル情報を示す図表である。イベントテーブル生成部101は、入力トランザクションの集合の情報110の複数のトランザクション(Tri)をシミュレータによりシミュレーション実行する。このシミュレーション実行時に、イベントテーブル生成部101は、内部イベントのリスト情報111に登録されたイベント(Evj)が発生する時刻(Tk)を一覧化したイベントテーブル情報112をイベントテーブル102に格納する。イベントテーブル情報112は、縦軸が各トランザクションTri、横軸には各イベントEvjを時刻Tk毎に(右方向ほど時刻経過)格納する。
(About event table generation)
FIG. 2 is a chart showing event table information stored in the event table. The event table generation unit 101 performs simulation execution of a plurality of transactions (Tri) in the input transaction set information 110 using a simulator. When this simulation is executed, the event table generation unit 101 stores, in the event table 102, event table information 112 that lists times (Tk) at which events (Evj) registered in the internal event list information 111 occur. In the event table information 112, the vertical axis stores each transaction Tri, and the horizontal axis stores each event Evj for each time Tk (time elapses in the right direction).

例えば、各イベントEvjは、コア内部におけるデータパス上の各FFに相当する。図2において、例えば、図中112aに示すトランザクションTr3を実行した際に、イベントEv1,Ev3は発生せず、イベントEv2,Ev4,Ev5が発生した時刻がそれぞれT=50,80,100であることを示している。   For example, each event Evj corresponds to each FF on the data path inside the core. In FIG. 2, for example, when the transaction Tr3 indicated by 112a in the figure is executed, the events Ev1, Ev3 do not occur, and the times when the events Ev2, Ev4, Ev5 occur are T = 50, 80, 100, respectively. Is shown.

図3は、イベントテーブル生成の処理手順の一例を示すフローチャートである。イベントテーブル生成部101が行うイベントテーブル情報112の生成内容について説明する。はじめに、イベントテーブル生成部101は、トランザクションTri実行の初期値i=0をセットする(ステップS301)。次に、イベントテーブル生成部101は、シミュレータにより、入力トランザクションの集合の情報110が示すトランザクションTriを実行させる(ステップS302)。   FIG. 3 is a flowchart illustrating an example of a processing procedure for generating an event table. The generation contents of the event table information 112 performed by the event table generation unit 101 will be described. First, the event table generation unit 101 sets an initial value i = 0 of the transaction Tri execution (step S301). Next, the event table generation unit 101 causes the simulator to execute the transaction Tri indicated by the input transaction set information 110 (step S302).

この後、イベントテーブル生成部101は、内部イベントのリスト情報111に登録されたイベント(Evj)が発生する時刻(Tk)をイベントテーブル情報112の該当するイベント(Evj)に記録する(ステップS303)。そして、変数iをインクリメントする。   Thereafter, the event table generation unit 101 records the time (Tk) at which the event (Evj) registered in the internal event list information 111 occurs in the corresponding event (Evj) in the event table information 112 (step S303). . Then, the variable i is incremented.

そして、イベントテーブル生成部101は、n個の最後のトランザクション(Trn)のシミュレーション実行が終了したか判断する(i<n)(ステップS304)。そして、未実行分のトランザクションがあれば(ステップS304:No)、ステップS302に戻り、全て実行済みであれば(ステップS304:Yes)、以上のイベントテーブル情報112の生成の処理を終了する。   Then, the event table generation unit 101 determines whether the simulation execution of the n last transactions (Trn) has been completed (i <n) (step S304). If there is an unexecuted transaction (step S304: No), the process returns to step S302. If all the transactions have been executed (step S304: Yes), the process of generating the event table information 112 is terminated.

(競合シナリオの生成について)
競合シナリオ生成部103は、以下の(1)、(2)の処理を行う。
(1)競合イベントが同時に発生するための時刻調整と、トランザクションの組の優先度の付与。この処理では、イベントテーブル情報112に基づいて、競合点において競合させたいイベントが発生するトランザクションの組を全て生成する。そして、競合させたいイベントが同時に発生するように、トランザクションの開始時刻を決定する。また、他のイベントの競合可能性により、生成したトランザクションの組に優先度を付与する。
(About generation of competitive scenarios)
The conflict scenario generation unit 103 performs the following processes (1) and (2).
(1) Time adjustment for simultaneous occurrence of competing events and assignment of transaction group priorities. In this process, based on the event table information 112, all transaction pairs in which an event to be competed at a competition point occurs are generated. Then, the start time of the transaction is determined so that the events to be competed with each other occur simultaneously. Also, due to the possibility of competition of other events, a priority is given to the generated transaction set.

(2)上記(1)で付与された優先度順にトランザクションの各組み合わせのシミュレーション実行による競合発生の有無の確認と、競合シナリオの生成。この処理では、競合シナリオ生成部103は、トランザクションの各組み合わせに対し、優先度順にシミュレータによるシミュレーションの実行により、実際に競合点で競合が生じるか否かを確認し、競合が起こった組み合わせを競合シナリオ121として出力する。 (2) Confirmation of the presence or absence of conflict by simulation execution of each combination of transactions in order of priority given in (1) above, and generation of a conflict scenario. In this process, the conflict scenario generation unit 103 confirms whether or not competition actually occurs at the competition point by executing simulation by the simulator in order of priority for each combination of transactions, and determines the combination where the conflict has occurred. A scenario 121 is output.

(1:競合イベントが同時に発生するための時刻調整と、トランザクションの組の優先度の付与の処理内容の説明)
図4は、競合シナリオ生成にかかるトランザクション選択例を説明するための図表である。図2と同様のイベントテーブル情報112の例を用い、競合シナリオ生成部103が行う処理例について説明する。ここで、競合点(アービタ等)において競合させたいイベントの組がEv4とEv5であるとする。
(1: Explanation of processing contents of time adjustment for simultaneous occurrence of conflict events and assigning priority of transaction pairs)
FIG. 4 is a chart for explaining an example of selecting a transaction for generating a conflict scenario. A processing example performed by the competitive scenario generation unit 103 will be described using an example of the event table information 112 similar to FIG. Here, it is assumed that a set of events to be competed at a competition point (arbiter or the like) is Ev4 and Ev5.

はじめに、(a)に示すように、競合シナリオ生成部103は、(1)イベントEv4を発生させるトランザクションTrを探す。そして、(2)イベントEv4が含まれるトランザクションTr1を選択する。この後、(3)イベントEv5を発生させるトランザクションを探し、トランザクションTr2を選択する。   First, as shown in (a), the conflict scenario generation unit 103 (1) searches for a transaction Tr that generates the event Ev4. Then, (2) the transaction Tr1 including the event Ev4 is selected. Thereafter, (3) a transaction that generates the event Ev5 is searched, and the transaction Tr2 is selected.

この後、(b)示すように、(4)選択したトランザクションTr1のイベントEv4(T=50)と、トランザクションTr2のイベントEv5(T=80)を同時に発生させる時刻を判断する。この場合、競合シナリオ生成部103は、トランザクションTr1とTr2の時刻の差分Δにより、トランザクションTr1の開始時刻を+30と判断する。   Thereafter, as shown in (b), (4) the time at which the event Ev4 (T = 50) of the selected transaction Tr1 and the event Ev5 (T = 80) of the transaction Tr2 are simultaneously generated is determined. In this case, the conflict scenario generation unit 103 determines that the start time of the transaction Tr1 is +30 based on the difference Δ between the times of the transactions Tr1 and Tr2.

この後、(c)に示すように、(5)トランザクションTr1のイベントEv2の時刻が50となり(20+30)、トランザクションTr2のイベントEv2の時刻50と同じになる。これにより、イベントEv2における競合による調停が働き、トランザクションTr1またはTr2のいずれかの処理が待たされる(遅延が生じる)可能性がある。   Thereafter, as shown in (c), (5) the time of event Ev2 of transaction Tr1 becomes 50 (20 + 30), which is the same as time 50 of event Ev2 of transaction Tr2. As a result, arbitration due to competition in the event Ev2 works, and there is a possibility that the processing of either the transaction Tr1 or Tr2 is awaited (delay occurs).

イベントEv2の発生は、競合させたいイベントEv4とEv5が発生する前(データパス上の手前)の位置であるため、競合シナリオ生成部103は、イベントEv2における調停の結果、イベントEv4とEv5は同時に発生(競合)しない可能性があると判断する。このような場合、競合シナリオ生成部103は、トランザクションTr1とTr2の組み合わせを低優先度に設定する。   Since the occurrence of the event Ev2 is a position before the events Ev4 and Ev5 to be made to compete (before the data path), the contention scenario generation unit 103 determines that the events Ev4 and Ev5 are simultaneously generated as a result of the arbitration in the event Ev2. Judge that it may not occur (compete). In such a case, the conflict scenario generation unit 103 sets the combination of the transactions Tr1 and Tr2 to a low priority.

そして、(d)に示すように、(6)一方のトランザクションTr1を基準として組み合わせたときの他方のトランザクションTr2を優先度を下げ、対応してテーブルの格納順位を下げる。この後、(7)競合シナリオ生成部103は、再度イベントEv5を生じるトランザクションTrを探し、(8)トランザクションTr3を選択する。   Then, as shown in (d), (6) the priority of the other transaction Tr2 when combined with one transaction Tr1 is lowered, and the storage order of the table is lowered accordingly. Thereafter, (7) the conflict scenario generation unit 103 searches for the transaction Tr that generates the event Ev5 again, and (8) selects the transaction Tr3.

この後、選択したトランザクションTr1のイベントEv4(T=50)と、トランザクションTr3のイベントEv5(T=100)を同時に発生させる時刻を判断する。この場合、競合シナリオ生成部103は、トランザクションTr1とTr3の時刻の差分Δにより、トランザクションTr1の開始時刻を+50と判断する。   Thereafter, it is determined when to simultaneously generate the event Ev4 (T = 50) of the selected transaction Tr1 and the event Ev5 (T = 100) of the transaction Tr3. In this case, the conflict scenario generation unit 103 determines that the start time of the transaction Tr1 is +50 based on the difference Δ between the times of the transactions Tr1 and Tr3.

この場合、(e)に示すように、トランザクションTr1について、(9)イベントEv2の開始時刻は70となり(20+50)、トランザクションTr3の時刻50と異なるため、同時に発生しない(競合なし)と判断する。また、(10)イベントEv3については、トランザクションTr3側にイベントがないため、同時に発生しないと判断する。そして、(11)イベントEv4の開始時刻は100であり(50+50)、トランザクションTr3の時刻80と異なるため、同時に発生しない(競合なし)と判断する。   In this case, as shown in (e), for the transaction Tr1, (9) the start time of the event Ev2 is 70 (20 + 50), and since it is different from the time 50 of the transaction Tr3, it is determined that they do not occur at the same time (no conflict). Also, (10) it is determined that the event Ev3 does not occur simultaneously because there is no event on the transaction Tr3 side. (11) The start time of the event Ev4 is 100 (50 + 50), which is different from the time 80 of the transaction Tr3. Therefore, it is determined that they do not occur at the same time (no conflict).

以上により、競合シナリオ生成部103は、(12)トランザクションTr1とTr3の組み合わせを高優先度とする。   As described above, the conflict scenario generation unit 103 sets (12) the combination of the transactions Tr1 and Tr3 as a high priority.

この後、競合シナリオ生成部103は、トランザクションの各組み合わせに対し、シミュレータによるシミュレーションの実行により、実際に競合点で競合が生じるか否かを確認し、競合が起こった組み合わせを競合シナリオ121として出力する。この際、図4に示した高優先度のトランザクションTr1のイベントEv4と、トランザクションTr3のイベントEv5との組み合わせ、を優先してシミュレーションを行う。   Thereafter, the competition scenario generation unit 103 confirms whether or not competition actually occurs at the competition point by executing simulation with the simulator for each combination of transactions, and outputs the combination in which competition has occurred as the competition scenario 121. To do. At this time, the simulation is performed with priority given to the combination of the event Ev4 of the high priority transaction Tr1 and the event Ev5 of the transaction Tr3 shown in FIG.

図5は、競合シナリオ生成のためのトランザクション選択処理の一例を示すフローチャートである。上記図4の処理例に示した競合シナリオ生成部103が行う処理内容について説明する。以下の処理では、競合させたいイベントを含む1組のトランザクションを選択して、1組のトランザクションに含まれる複数の他の(競合点以外の)イベントについての競合が発生しないトランザクションの組を選択する。競合シナリオ生成部103は、イベントテーブル102のイベントテーブル情報112からトランザクションの組を変更して読み出し、各トランザクションの組に対する以下の処理を行う。   FIG. 5 is a flowchart illustrating an example of a transaction selection process for generating a conflict scenario. The processing contents performed by the competition scenario generation unit 103 shown in the processing example of FIG. 4 will be described. In the following processing, a set of transactions including an event to be conflicted is selected, and a set of transactions that do not cause a conflict for a plurality of other (other than the competition points) events included in the set of transactions is selected. . The conflict scenario generation unit 103 changes and reads the transaction set from the event table information 112 of the event table 102, and performs the following processing for each transaction set.

はじめに、競合シナリオ生成部103は、イベントテーブル102のイベントテーブル情報112を読み出し、競合点におけるイベントEvjを含むトランザクションTriを選択する(ステップS501)。次に、選択したトランザクションTriに含まれる全てのイベントEvjを抽出したか判断し(ステップS502)、未抽出分が残っていれば(ステップS502:No)、残りのイベントEvjを抽出し(ステップS503)、ステップS501に戻る。全て抽出済みであれば(ステップS502:Yes)、ステップS504に移行する。   First, the conflict scenario generation unit 103 reads the event table information 112 of the event table 102 and selects a transaction Tri including the event Evj at the conflict point (step S501). Next, it is determined whether or not all the events Evj included in the selected transaction Tri have been extracted (step S502). If there is an unextracted portion remaining (step S502: No), the remaining events Evj are extracted (step S503). ), The process returns to step S501. If all have been extracted (step S502: Yes), the process proceeds to step S504.

ステップS501〜ステップS503の処理により、イベントテーブル情報112に含まれる全てのトランザクションTriの全てのイベントEvjが抽出される。抽出した情報は、図示しないメモリに保持しておく。例えば、図4の(a)に示す例では、トランザクションTr1〜Tr3に含まれる各イベントEvが抽出される。   Through the processing in steps S501 to S503, all the events Evj of all the transactions Tri included in the event table information 112 are extracted. The extracted information is held in a memory (not shown). For example, in the example shown in FIG. 4A, each event Ev included in the transactions Tr1 to Tr3 is extracted.

以下の処理では、競合シナリオ生成部103は、競合点における競合を発生させる複数のイベントEvjを含む全てのトランザクションTriについて、1組(一対)のトランザクションTri毎にタイミング(時刻)調整を行い、競合点以外でのイベントでの競合の発生の有無を確認する。   In the following processing, the conflict scenario generation unit 103 adjusts the timing (time) for each pair of transactions Tri for all transactions Tri including a plurality of events Evj that cause a conflict at the conflict point, and performs the conflict. Check for conflicts in events other than points.

まず、競合シナリオ生成部103は、1組のトランザクションTriを選択する(ステップS504)。例えば、図4に示したトランザクションTr1,Tr2を選択する。次に、選択した1組のトランザクションTriのうち、時刻Tijが最大値のイベントEvjを探す(ステップS505)。最大値の時刻Tijにおけるイベントは、コア上のデータパスにおいて最も奥部に位置するブロック(アービタ等)における競合を示す。例えば、図4の(b)に示す例では、1組のトランザクションTr1,Tr2のうち最大値の時刻Tijは、80である。   First, the conflict scenario generation unit 103 selects a set of transactions Tri (step S504). For example, the transactions Tr1 and Tr2 shown in FIG. 4 are selected. Next, an event Evj having the maximum time Tij is searched for from the selected set of transactions Tri (step S505). The event at the time Tij of the maximum value indicates contention in a block (such as an arbiter) located at the innermost part in the data path on the core. For example, in the example shown in FIG. 4B, the maximum time Tij of the pair of transactions Tr1 and Tr2 is 80.

なお、この例では、競合点を最も奥に位置するブロックとして時刻の最大値を探すこととしたが、競合点をデータパス上でより手前の任意のブロックに設定し、対応する時刻を探すこととしてもよい。   In this example, the maximum value of the time is searched for as the block with the competition point located farthest, but the competition point is set to an arbitrary block in front of the data path and the corresponding time is searched. It is good.

次に、競合シナリオ生成部103は、選択した1組のトランザクションTriのうち一方のトランザクションTriの開始時刻を変更する(ステップS506)。この際、競合シナリオ生成部103は、1組のトランザクションTriにおける競合点における時刻が同じになる差分Δを求め、一方のトランザクションTriの開始時刻に差分Δを加える。例えば、図4の(c)に示す例では、トランザクションTr1の開始時刻に差分Δとして30を加える。   Next, the conflict scenario generation unit 103 changes the start time of one transaction Tri of the selected set of transactions Tri (step S506). At this time, the competition scenario generation unit 103 obtains a difference Δ at which the time at the competition point in the set of transactions Tri is the same, and adds the difference Δ to the start time of one transaction Tri. For example, in the example shown in FIG. 4C, 30 is added as the difference Δ to the start time of the transaction Tr1.

次に、競合シナリオ生成部103は、差分Δを加えたトランザクションTriに含まれる各イベントEvjの時刻に差分Δを加える(ステップS507)。図4の(c)に示す例では、トランザクションTr1の各イベントEv2,Ev3,Ev4の時刻にそれぞれ差分Δの30が加えられる。   Next, the conflict scenario generation unit 103 adds the difference Δ to the time of each event Evj included in the transaction Tri to which the difference Δ is added (step S507). In the example shown in FIG. 4C, a difference Δ of 30 is added to the time of each event Ev2, Ev3, Ev4 of the transaction Tr1.

次に、競合シナリオ生成部103は、選択した一対のトランザクションTriにおける各イベントEvjにおける競合の有無を確認する処理を行う。この際、所望する競合点に対応するイベントEvjの時刻は一致し、かつ、他のイベントEvjにおける時刻が不一致であることを条件として確認の処理を行う。   Next, the conflict scenario generation unit 103 performs processing for confirming whether or not there is a conflict in each event Evj in the selected pair of transactions Tri. At this time, the confirmation processing is performed on condition that the times of the event Evj corresponding to the desired competition point coincide and the times in the other events Evj do not coincide.

ステップS508の処理は、1組のトランザクションTriを更新する処理であるが、競合シナリオ生成部103は、初回については、ステップS504にて選択された1組のトランザクションTriを選択する(ステップS508)。   The process of step S508 is a process of updating a set of transactions Tri, but the conflict scenario generation unit 103 selects the set of transactions Tri selected in step S504 for the first time (step S508).

以降の処理では、変数kのインクリメントにより、競合点における競合を行うトランザクションTriの組が変更される。すなわち、競合点(アービタ)に対するデータ入力は、1組に限らず複数存在する可能性があるため、これら複数のデータ入力に対応する複数組のトランザクションTriを順次選択する。例えば、図4の例では、トランザクションTr1とTr2の組の後、トランザクションTr1を代えずにトランザクションTr3を選択してトランザクションTr1,Tr3を1組とする。   In the subsequent processing, the set of transactions Tri that competes at the competition point is changed by incrementing the variable k. That is, since there is a possibility that there are a plurality of data inputs for the competition point (arbiter), not only one set, a plurality of sets of transactions Tri corresponding to the plurality of data inputs are sequentially selected. For example, in the example of FIG. 4, after the set of transactions Tr1 and Tr2, the transaction Tr3 is selected without changing the transaction Tr1, and the transactions Tr1 and Tr3 are set as one set.

ステップS508の後、競合シナリオ生成部103は、1組のトランザクションTriについて、各イベントEvjにおける時刻Tijが不一致であるか判断する(ステップS509)。例えば、図4の(c)に示す例では、トランザクションTr1,Tr2のイベントEv2,Ev3,Ev4における時刻の不一致を判断する。   After step S508, the conflict scenario generation unit 103 determines whether or not the time Tij in each event Evj is inconsistent for one set of transactions Tri (step S509). For example, in the example shown in FIG. 4C, it is determined whether the transactions Tr1 and Tr2 have different times in the events Ev2, Ev3, and Ev4.

この結果、競合シナリオ生成部103は、イベントEvjにおける時刻の一致が生じた場合には(ステップS509:No)、該当するトランザクションTriの優先度を下げ、イベントテーブル情報112の最下段に位置変更する(ステップS510)。例えば、図4(d)に示すように、1組のトランザクションTriのうち一方のトランザクションTr2の優先度を下げてイベントテーブル情報112の最下段に位置変更する。これにより、イベントテーブル情報112には、上段ほど、優先度が高いトランザクションTriが格納されることになる。   As a result, when the time coincidence occurs in the event Evj (step S509: No), the conflict scenario generating unit 103 lowers the priority of the corresponding transaction Tri and changes the position to the lowest level of the event table information 112. (Step S510). For example, as shown in FIG. 4D, the priority of one transaction Tr2 of one set of transactions Tri is lowered and the position is changed to the lowest level of the event table information 112. As a result, in the event table information 112, a transaction Tri having a higher priority is stored in the upper stage.

次に、競合シナリオ生成部103は、1組のトランザクションTriの一方のトランザクションを新たなトランザクションTriに変更する(ステップS511)。この際、トランザクションは競合点におけるイベント(時刻)を含むトランザクションを選択する。図4の(d)の例では、新たなトランザクションTriとしてトランザクションTr3を選択し、トランザクションTr1,Tr3が新たな1組のトランザクションとなる。   Next, the conflict scenario generation unit 103 changes one transaction of the set of transactions Tri to a new transaction Tri (step S511). At this time, the transaction selects the transaction including the event (time) at the competition point. In the example of FIG. 4D, the transaction Tr3 is selected as the new transaction Tri, and the transactions Tr1 and Tr3 become a new set of transactions.

次に、競合シナリオ生成部103は、この新たな一組のトランザクションTriを用いた上記のタイミング調整の処理を実行済みであるか確認する(ステップS512)。未実行の組であれば(ステップS512:No)、ステップS509に戻るが、実行済みであれば(ステップS512:Yes)、全ての組み合わせのトランザクションTriにおいてタイミング調整の結果、競合点以外のイベントでの競合が生じたため、タイミング調整(以降の競合シナリオ作成)は不可能と判断し(ステップS513)、以上のタイミング調整にかかる処理を終了する。   Next, the conflict scenario generation unit 103 confirms whether or not the timing adjustment process using the new set of transactions Tri has been executed (step S512). If it is an unexecuted group (step S512: No), the process returns to step S509, but if it is already executed (step S512: Yes), as a result of timing adjustment in all combinations of transactions Tri, Therefore, it is determined that the timing adjustment (following competition scenario creation) is impossible (step S513), and the above timing adjustment processing is terminated.

また、上記ステップS509において、競合シナリオ生成部103は、イベントEvjにおける時刻の不一致が確認できた場合には(ステップS509:Yes)、競合点における他の組のトランザクションTriがあるか判断する(ステップS514)。そして、他の組のトランザクションTriが残っている場合には(ステップS514:Yes)、競合シナリオ生成部103は、変数kをインクリメントし(ステップS515)、ステップS508に戻り、新たなトランザクションTri+kを用いた1組のトランザクションにおけるタイミングの調整処理を行う。   In step S509, when the time mismatch in the event Evj is confirmed (step S509: Yes), the conflict scenario generation unit 103 determines whether there is another set of transactions Tri at the conflict point (step S509). S514). If another set of transactions Tri remains (step S514: Yes), the conflict scenario generation unit 103 increments the variable k (step S515), returns to step S508, and uses a new transaction Tri + k. Timing adjustment processing is performed in one set of transactions.

一方、他の組のトランザクションTriがない場合には(ステップS514:No)、競合シナリオ生成部103は、競合点における全ての組のトランザクションTriに対するタイミング調整が有効であり、以降の競合シナリオの作成が可能であると判断し、以上のタイミング調整の処理を終了する。   On the other hand, when there is no other set of transactions Tri (step S514: No), the competitive scenario generation unit 103 is effective in timing adjustment for all sets of transactions Tri at the competition point, and creates subsequent competitive scenarios. The timing adjustment process is terminated.

(2:優先度順にトランザクションの各組み合わせのシミュレーション実行による競合発生の有無の確認と、競合シナリオの生成の処理説明)
図6は、競合シナリオ生成処理の一例を示すフローチャートである。競合シナリオ生成部103が行う処理内容について説明する。図6は、図5に示した処理の実行後に競合シナリオ生成部103が実行し、選択した1組のトランザクション毎の競合シミュレーションをシミュレータに実行させる。そして、競合が起こるトランザクションの組み合わせを競合シナリオとして生成する。
(2: Confirmation of the occurrence of conflict by simulation execution of each combination of transactions in order of priority and explanation of processing for generating a conflict scenario)
FIG. 6 is a flowchart illustrating an example of a conflict scenario generation process. The processing content performed by the competition scenario generation unit 103 will be described. 6, the conflict scenario generation unit 103 executes the processing shown in FIG. 5 and causes the simulator to execute a conflict simulation for each selected set of transactions. Then, a combination of transactions in which competition occurs is generated as a competition scenario.

はじめに、競合シナリオ生成部103は、初期設定を行う(ステップS601)。トランザクションTr1をd1とし、他のトランザクションTr2以降をd2〜dnとする。また、フラグを初期値(0)に設定する。フラグは、イベントの開始時間変更時に1に変更される。   First, the conflict scenario generation unit 103 performs initial setting (step S601). The transaction Tr1 is d1, and the other transactions Tr2 and subsequent are d2 to dn. In addition, the flag is set to an initial value (0). The flag is changed to 1 when the event start time is changed.

次に、競合シナリオ生成部103は、トランザクションd1〜dnの組み合わせをシミュレータに出力し、シミュレーションを実行させる(ステップS602)。この際、図4および図5を用いて説明した選択処理により、優先度が高い1組のトランザクションを最初に選択し、シミュレータにシミュレーション実行させる。そして、競合シナリオ生成部103は、シミュレーション結果が、所望する一対のイベントにおいて実際に競合条件が満たされたかを判断する(ステップS603)。   Next, the competitive scenario generation unit 103 outputs a combination of the transactions d1 to dn to the simulator and executes a simulation (step S602). At this time, by the selection process described with reference to FIGS. 4 and 5, a set of transactions having a high priority is first selected, and the simulation is executed by the simulator. Then, the competition scenario generation unit 103 determines whether the simulation result actually satisfies the competition condition in a desired pair of events (step S603).

シミュレーション実行により実際に競合条件が満たされたシミュレーション結果が得られた場合には(ステップS603:Yes)、競合シナリオ生成部103は、競合テスト用タイミング調整が成功したと判断する。そして、競合シナリオ生成部103は、ステップS602にて実行したトランザクションの組み合わせの情報を示す競合シナリオを生成し(ステップS604)、処理を終了する。   When a simulation result that actually satisfies the competition condition is obtained by executing the simulation (step S603: Yes), the competition scenario generation unit 103 determines that the competition test timing adjustment is successful. Then, the conflict scenario generation unit 103 generates a conflict scenario indicating information on the combination of transactions executed in step S602 (step S604), and ends the process.

一方、シミュレーション実行により競合条件が満たされないシミュレーション結果の場合には(ステップS603:No)、競合シナリオ生成部103は、各組み合わせの一方のトランザクションd1以外のトランザクションd(d2〜dn)について、各イベントEvjに所定の時間差Δを加える(ステップS605)。時間差Δにより、上述したように、イベントEvjの開始時間が変更される。   On the other hand, in the case of a simulation result in which the competition condition is not satisfied by the simulation execution (step S603: No), the competition scenario generation unit 103 determines each event for the transaction d (d2 to dn) other than one transaction d1 of each combination. A predetermined time difference Δ is added to Evj (step S605). As described above, the start time of the event Evj is changed by the time difference Δ.

次に、競合シナリオ生成部103は、フラグが1であるか判断する(ステップS606)。フラグが1でなければ(ステップS606:No)、開始時間の変更に対応してフラグを1に変更し(ステップS607)、ステップS602に戻り、ステップS602以下の処理を再実行する。開始時間の変更後のシミュレーション実行により、競合条件が満たされれば(ステップS603:Yes)、タイミング調整が成功した(ステップS604)、と判断できるようになる。ステップS602〜ステップS607の処理は、既存の競合タイミング検証と同等の処理である。   Next, the competition scenario generation unit 103 determines whether the flag is 1 (step S606). If the flag is not 1 (step S606: No), the flag is changed to 1 in response to the change of the start time (step S607), the process returns to step S602, and the processes after step S602 are executed again. If the competition condition is satisfied by executing the simulation after changing the start time (step S603: Yes), it can be determined that the timing adjustment is successful (step S604). The processing in steps S602 to S607 is equivalent to the existing conflict timing verification.

一方、ステップS606にて、フラグが1であれば(ステップS606:Yes)、競合シナリオ生成部103に設けられたアサーション生成部は、アサーションの生成を行う(ステップS608)。このアサーションは、各イベントにおける競合があり得るかの組の情報であり、例えば、(e1|−>!e2)||(e1|−>!e3)…(e1|−>!en)との記載で表し、各イベントe1,e2…からのそれぞれのリクエスト(Req)に関する情報を含む。そして、フォーマル検証ツールにこのアサーションを渡し、シミュレータによるシミュレーション時のフォーマル分析を実行させる(ステップS609)。フォーマル検証ツールからは、分析結果としてアサーションが証明されたか否かを競合シナリオ生成部103に返答する。   On the other hand, if the flag is 1 in step S606 (step S606: Yes), the assertion generation unit provided in the competitive scenario generation unit 103 generates an assertion (step S608). This assertion is information on a set of possible conflicts in each event. For example, (e1 |->! E2) || (e1 |->! E3) ... (e1 |->! En) It includes information related to each request (Req) from each event e1, e2,. Then, this assertion is passed to the formal verification tool, and formal analysis at the time of simulation by the simulator is executed (step S609). The formal verification tool returns to the competitive scenario generation unit 103 whether or not the assertion has been proved as the analysis result.

そして、競合シナリオ生成部103は、アサーションが証明された場合には(ステップS610:Yes)、ステップS612に移行する。アサーションが証明されていない場合には(ステップS610:No)、競合シナリオ生成部103は、次に高い優先度のトランザクションの組を選定し(ステップS611:Yes)、ステップS601に戻る。   Then, when the assertion is proved (step S610: Yes), the competition scenario generation unit 103 proceeds to step S612. When the assertion is not proved (step S610: No), the conflict scenario generation unit 103 selects the next highest priority transaction pair (step S611: Yes), and returns to step S601.

ステップS611において、次に優先の高いトランザクションの組がない場合(ステップS611:No)には、ステップS612に移行する。ステップS612では、競合シナリオの生成が不可能であり失敗であると判断し(ステップS612)、以上の競合シナリオ生成の処理を終了する。   In step S611, when there is no next highest priority transaction set (step S611: No), the process proceeds to step S612. In step S612, it is determined that a conflict scenario cannot be generated and has failed (step S612), and the above-described conflict scenario generation process ends.

(競合テスト用タイミング調整装置のハードウェア構成)
図7は、競合テスト用タイミング調整装置のハードウェア構成の一例を示すブロック図である。図7において、競合テスト用タイミング調整装置700は、CPU701と、Read−Only Memory(ROM)702と、Random Access Memory(RAM)703と、を含む。また、半導体メモリやディスクドライブ等の記憶部704と、ディスプレイ708と、通信インターフェース(I/F)709と、キーボード710と、マウス711と、スキャナ712と、プリンタ713とを備えてもよい。これらCPU701〜プリンタ713はバス714によってそれぞれ接続されている。
(Hardware configuration of competitive timing adjustment device)
FIG. 7 is a block diagram illustrating an example of a hardware configuration of the competition test timing adjustment device. In FIG. 7, the competition test timing adjustment device 700 includes a CPU 701, a read-only memory (ROM) 702, and a random access memory (RAM) 703. Further, a storage unit 704 such as a semiconductor memory or a disk drive, a display 708, a communication interface (I / F) 709, a keyboard 710, a mouse 711, a scanner 712, and a printer 713 may be provided. These CPU 701 to printer 713 are connected by a bus 714.

CPU701は、競合テスト用タイミング調整装置700の全体の制御を司る演算処理装置である。ROM702は、競合テスト用タイミング調整装置700の競合テスト用タイミング調整プログラムを記憶する不揮発性メモリである。RAM703は、CPU701による演算処理実行時のワークエリアとして使用される揮発性メモリである。   The CPU 701 is an arithmetic processing unit that performs overall control of the competitive test timing adjustment apparatus 700. The ROM 702 is a non-volatile memory that stores a competition test timing adjustment program of the competition test timing adjustment apparatus 700. A RAM 703 is a volatile memory used as a work area when the CPU 701 executes arithmetic processing.

通信インターフェース709は、ネットワーク715と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。具体的に、通信インターフェース709は、通信回線を通じてネットワーク715となるLocal Area Network(LAN)、Wide Area Network(WAN)、インターネットなどに接続され、ネットワーク715を介して他の装置に接続される。通信インターフェース709には、例えば、モデムやLANアダプタなどを採用することができる。   The communication interface 709 serves as an internal interface with the network 715 and controls data input / output from an external device. Specifically, the communication interface 709 is connected to a local area network (LAN), a wide area network (WAN), the Internet, or the like, which becomes the network 715 through a communication line, and is connected to another device via the network 715. As the communication interface 709, for example, a modem or a LAN adapter can be employed.

ディスプレイ708は、競合テスト用タイミング調整処理のための設定画面やタイミング調整結果について、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などをデータ表示する装置である。ディスプレイ708には、例えば、Thin Film Transistor(TFT)液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイなどを採用することができる。   The display 708 is a device that displays data such as a cursor, an icon, or a tool box, a document, an image, function information, and the like regarding a setting screen for timing adjustment processing for competition test and a timing adjustment result. As the display 708, for example, a Thin Film Transistor (TFT) liquid crystal display, a plasma display, an organic EL display, or the like can be employed.

上述した図1を用いて説明した競合テスト用タイミング調整の機能(イベントテーブル生成部101、競合シナリオ生成部103)は、図7に記載のCPU701がROM702に格納された競合テスト用タイミング調整プログラムを実行処理して得ることができる。   The competition test timing adjustment function (event table generation unit 101, competition scenario generation unit 103) described with reference to FIG. 1 described above is executed by the CPU 701 illustrated in FIG. It can be obtained through execution processing.

(競合テスト用タイミング調整装置の配置を示す図)
図8は、競合テスト用タイミング調整装置の配置例を示す図である。フォーマル検証ツール801と、シミュレータ802との間のインターフェースとして競合テスト用タイミング調整装置100(競合シナリオ生成部103)が配置される。
(Figure showing layout of competitive test timing adjustment device)
FIG. 8 is a diagram showing an arrangement example of the competition test timing adjusting device. As an interface between the formal verification tool 801 and the simulator 802, the competition test timing adjustment apparatus 100 (competition scenario generation unit 103) is arranged.

競合シナリオ生成部103には、上述したように、競合点での競合を確認するために、競合点で競合させたいイベントの組(例えば、Ev4,Ev5)の情報が入力される。競合シナリオ生成部103は、上述した(1)、(2)の処理により、このイベントの組の情報に基づいて、このイベントに対応するトランザクションの組を生成する。そして、競合点において競合させたいイベントが同時に起こるように、トランザクションのデータd1…dnに対するタイミング調整を更新する。   As described above, the conflict scenario generation unit 103 receives information on a set of events (for example, Ev4 and Ev5) to be competed at the competition point in order to confirm the competition at the competition point. The conflict scenario generation unit 103 generates a transaction set corresponding to the event based on the information on the event set by the processes (1) and (2) described above. Then, the timing adjustment for the transaction data d1... Dn is updated so that the events that are desired to compete at the competition point occur simultaneously.

この更新は、図8のデータ入力シーケンス更新処理部103aが実行し、シミュレータ802に対してタイミング調整し、更新したトランザクションd1…dnを出力する。シミュレータ802は、シミュレーション結果t1…tnをデータ入力シーケンス更新処理部103aに返答する。   This update is executed by the data input sequence update processing unit 103a of FIG. 8, adjusts the timing to the simulator 802, and outputs the updated transactions d1. The simulator 802 returns simulation results t1 to tn to the data input sequence update processing unit 103a.

また、アサーション生成部103bは、アサーションを作成してフォーマル検証ツール801に出力する。フォーマル検証ツール801は、フォーマル分析結果をアサーション生成部103bに返答する。   Further, the assertion generation unit 103b creates an assertion and outputs it to the formal verification tool 801. The formal verification tool 801 returns the formal analysis result to the assertion generation unit 103b.

そして、競合シナリオ生成部103は、データ入力シーケンス更新処理部103a、およびアサーション生成部103bからの返答に基づいて、競合点において競合させたいイベントが同時に起こり、かつ、他のイベント(競合点よりも前のデータパス上のブロック)における競合を回避する旨の競合シナリオを生成し、出力する。競合シナリオは、シミュレータ802に出力されるものであり、シミュレータ802に対する競合可能データ入力シーケンスをテキスト等により記載したものである。   Then, the conflict scenario generation unit 103, based on the responses from the data input sequence update processing unit 103a and the assertion generation unit 103b, simultaneously causes an event to be competed at the competition point, and other events (more than the competition point). A conflict scenario for avoiding a conflict in a block on the previous data path is generated and output. The conflict scenario is output to the simulator 802, and describes a competing data input sequence for the simulator 802 in text or the like.

(競合点でのタイミング競合の例)
図9は、競合点でのタイミング競合の一例を示す図である。コア901には、複数のデータパスが配置され、データパス1(902a)上の複数のブロック(FF1〜FFn)と、データパス2(902b)上の複数のブロック(FF1〜FFm)が配置されている。これらデータパス1,2の入力側からみた奥部のブロックとしてアービタ903が配置されているとする。そして、このアービタ903におけるデータ入力の競合時の動作を検証する場合には、アービタ903の直前のFFnとFFmからのリクエスト(Req)を同時に発生させる必要がある。
(Example of timing conflict at the competition point)
FIG. 9 is a diagram illustrating an example of timing conflict at a competition point. A plurality of data paths are arranged in the core 901, and a plurality of blocks (FF1 to FFn) on the data path 1 (902a) and a plurality of blocks (FF1 to FFm) on the data path 2 (902b) are arranged. ing. Assume that an arbiter 903 is arranged as a block at the back as viewed from the input side of these data paths 1 and 2. In order to verify the operation at the time of data input competition in the arbiter 903, it is necessary to simultaneously generate requests (Req) from FFn and FFm immediately before the arbiter 903.

このため、テストベンチ910は、データパス1,2に対してデータを入力するドライバ1(911a),ドライバ2(911b)の入力タイミングを調整する。テストベンチ910は、上述したフォーマル検証ツール801、シミュレータ802および競合テスト用タイミング調整装置100(競合シナリオ生成部103)を含む。そして、競合シナリオ生成部103によって最適に調整されたタイミングを有してデータが入力され、アービタ903は、直前のFFnとFFmからのリクエスト(Req)を同時に発生させることができる。   Therefore, the test bench 910 adjusts the input timing of the driver 1 (911a) and the driver 2 (911b) that input data to the data paths 1 and 2. The test bench 910 includes the formal verification tool 801, the simulator 802, and the competition test timing adjustment apparatus 100 (competition scenario generation unit 103) described above. Then, data is input with the timing adjusted optimally by the competitive scenario generation unit 103, and the arbiter 903 can simultaneously generate requests (Req) from the immediately preceding FFn and FFm.

これにより、コア901の奥部に位置するアービタ903等のブロックであっても、競合を発生させることができるようになり、競合発生時のブロックの動作(アービタ903の調停動作)をモニタ等で確認できるようになる。なお、データパス上の任意のブロック(イベント)を指定して競合テスト用タイミング調整装置に入力すれば、このブロックにおける競合についても同様に競合時の動作を確認できるようになる。   As a result, even a block such as the arbiter 903 located at the back of the core 901 can generate a conflict, and the operation of the block when the conflict occurs (arbiter operation of the arbiter 903) can be monitored. It becomes possible to confirm. If an arbitrary block (event) on the data path is designated and input to the competition test timing adjusting device, the operation at the time of competition can be confirmed in the same manner.

さらには、入力トランザクションのイベントのうち最大値の時刻を抽出するとともに、一対のイベントが入力されるブロックを特定してもよい。そして、イベントテーブル112を参照して、データパスの最奥部に位置するブロック(例えばアービタ903)を競合点として競合点を自動探索することもできる。これにより、競合させたい一対のイベントの指定入力を省くことができる。   Further, the maximum time among the events of the input transaction may be extracted and a block in which a pair of events are input may be specified. Then, referring to the event table 112, it is possible to automatically search for a competition point using a block (for example, arbiter 903) located at the innermost part of the data path as a competition point. As a result, it is possible to omit the designation input of a pair of events to be made to compete.

以上説明した実施の形態によれば、競合点において競合させたいイベントを同時に起こすことができるようにトランザクションの入力タイミングを調整することができる。この際、入力タイミングを調整したトランザクションにおいて競合点以外のイベントにおける競合の有無を確認する。これにより、競合点以外のデータパス上の前段のブロックでのイベント発生による遅延発生の可能性を確認でき、競合点において競合させたいイベントの入力タイミングを最適に調整できるようになる。   According to the embodiment described above, it is possible to adjust the input timing of a transaction so that events to be competed at a competition point can occur simultaneously. At this time, it is confirmed whether or not there is contention in an event other than the contention point in the transaction whose input timing is adjusted. As a result, it is possible to confirm the possibility of occurrence of a delay due to the occurrence of an event in the preceding block on the data path other than the competition point, and it is possible to optimally adjust the input timing of the event desired to compete at the competition point.

これにより、単にトランザクションの入力タイミング(開始時刻)を遅延させただけの場合に、他のブロックでのイベント発生を要因として、競合点で競合のタイミングがずれ、競合が生じない、状態となることを回避できる。そして、競合点で競合させたいイベントを同時に起こるトランザクションを用いて競合タイミングテスト(競合検証)を行えるようになる。   As a result, when the transaction input timing (start time) is simply delayed, the timing of the competition is shifted at the competition point due to the occurrence of an event in another block, and no competition occurs. Can be avoided. Then, a competition timing test (competition verification) can be performed by using a transaction in which an event to be competed at a competition point occurs simultaneously.

なお、本実施の形態で説明したプログラムは、予め用意されたプログラムをコンピュータで実行することにより実現することができる。また、このプログラムは、半導体メモリ、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネット等のネットワークを介して配布してもよい。   The program described in this embodiment can be realized by executing a program prepared in advance by a computer. The program is recorded on a computer-readable recording medium such as a semiconductor memory, a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. Further, this program may be distributed through a network such as the Internet.

上述した実施の形態に関し、さらに以下の付記を開示する。   The following additional notes are disclosed with respect to the embodiment described above.

(付記1)半導体装置の内部信号を任意のイベントで競合させる競合タイミングを調整する競合テスト用タイミング調整プログラムにおいて、
コンピュータに、
競合させたい一対のイベントの指定により、前記半導体装置の入力のトランザクションと前記イベントとに基づき、前記一対のイベントに関連する複数の前記トランザクションを1組毎に選択させ、
選択した1組の前記トランザクションに含まれる前記一対のイベントの時刻が一致するように、一方のトランザクションの入力タイミングを調整させ、
入力タイミングが調整された一方のトランザクションに含まれる他のイベントの時刻が、他方のトランザクションに含まれる同一のイベントの時刻と不一致となるかを判断させ、
判断結果として不一致が得られた1組のトランザクションと、調整した前記入力タイミングと、を競合させたい一対のイベントに対するタイミング調整結果として出力させる、
処理を実行させることを特徴とする競合テスト用タイミング調整プログラム。
(Supplementary Note 1) In a competition test timing adjustment program for adjusting a competition timing for competing internal signals of a semiconductor device with an arbitrary event,
On the computer,
By specifying a pair of events to be competed, a plurality of transactions related to the pair of events are selected for each set based on the input transaction of the semiconductor device and the event,
Adjusting the input timing of one transaction so that the times of the pair of events included in the selected set of transactions match,
Determine whether the time of the other event included in one transaction whose input timing is adjusted does not match the time of the same event included in the other transaction,
A set of transactions in which a mismatch is obtained as a determination result and the adjusted input timing are output as a timing adjustment result for a pair of events desired to compete,
A competitive test timing adjustment program characterized by causing a process to be executed.

(付記2)前記半導体装置の入力のトランザクションと、前記イベントとを関連付けたイベントテーブルを生成させ、
競合させたい一対のイベントの入力に基づき、前記イベントテーブルを参照して、前記一対のイベントに関連する複数の前記トランザクションを1組毎に選択させることを特徴とする付記1に記載の競合テスト用タイミング調整プログラム。
(Additional remark 2) The event table which linked | related the transaction of the input of the said semiconductor device, and the said event is produced | generated,
The competition test according to appendix 1, wherein a plurality of transactions related to the pair of events are selected for each set with reference to the event table based on a pair of events to be competed Timing adjustment program.

(付記3)前記判断結果として一致が生じた前記一方のトランザクションには低い優先度を付与することを特徴とする付記1または2に記載の競合テスト用タイミング調整プログラム。 (Supplementary note 3) The competition test timing adjustment program according to supplementary note 1 or 2, wherein a low priority is assigned to the one transaction in which a match has occurred as the determination result.

(付記4)前記判断結果として一致が生じた後、前記一対のイベントに関連する前記トランザクションの組が残っていない場合には、一対のイベントに対するタイミング調整が不可であると判断することを特徴とする付記1〜3のいずれか一つに記載の競合テスト用タイミング調整プログラム。 (Supplementary note 4) After a match has occurred as a result of the determination, it is determined that the timing adjustment for the pair of events is impossible when the transaction pair related to the pair of events does not remain. The timing adjustment program for competitive test according to any one of appendices 1 to 3.

(付記5)前記トランザクションをシミュレータに実行させ、前記イベントが生じた時刻を前記イベントテーブルに記録させることを特徴とする付記2〜4のいずれか一つに記載の競合テスト用タイミング調整プログラム。 (Supplementary note 5) The competitive test timing adjustment program according to any one of supplementary notes 2 to 4, wherein the simulator executes the transaction and records the time when the event occurs in the event table.

(付記6)前記タイミング調整結果により得られた複数組のトランザクションをシミュレータに出力させ、
前記シミュレータのシミュレーション結果に基づき、前記一対のイベントにおける競合条件が満たされた場合に、一対のイベントに対するタイミング調整に関する情報を競合シナリオとして出力させる、
ことを特徴とする付記1〜5のいずれか一つに記載の競合テスト用タイミング調整プログラム。
(Appendix 6) The simulator outputs a plurality of sets of transactions obtained from the timing adjustment result,
Based on the simulation result of the simulator, when a competition condition in the pair of events is satisfied, information on timing adjustment for the pair of events is output as a competition scenario.
The timing adjustment program for competitive test according to any one of appendices 1 to 5, characterized in that:

(付記7)前記判断結果として一致が生じた前記一方のトランザクションは、前記イベントテーブルの優先度が低い格納位置に変更させることを特徴とする付記2〜6のいずれか一つに記載の競合テスト用タイミング調整プログラム。 (Supplementary note 7) The contention test according to any one of Supplementary notes 2 to 6, wherein the one transaction for which a match has occurred as a result of the determination is changed to a storage location having a low priority in the event table. Timing adjustment program.

(付記8)選択した1組の前記トランザクションに含まれる前記一対のイベントの時刻のうち、時刻が最大値のイベントの時刻が一致するように、一方のトランザクションの入力タイミングを調整させることを特徴とする付記1〜7のいずれか一つに記載の競合テスト用タイミング調整プログラム。 (Supplementary note 8) The input timing of one transaction is adjusted so that the time of the event having the maximum time among the times of the pair of events included in the selected pair of transactions is matched. The timing adjustment program for competitive test according to any one of appendices 1 to 7.

(付記9)半導体装置の内部信号を任意のイベントで競合させる競合タイミングを調整する競合テスト用タイミング調整方法において、
コンピュータが、
競合させたい一対のイベントの指定により、前記半導体装置の入力のトランザクションと前記イベントとに基づき、前記一対のイベントに関連する複数の前記トランザクションを1組毎に選択し、
選択した1組の前記トランザクションに含まれる前記一対のイベントの時刻が一致するように、一方のトランザクションの入力タイミングを調整し、
入力タイミングが調整された一方のトランザクションに含まれる他のイベントの時刻が、他方のトランザクションに含まれる同一のイベントの時刻と不一致となるかを判断し、
判断結果として不一致が得られた1組のトランザクションと、調整した前記入力タイミングと、を競合させたい一対のイベントに対するタイミング調整結果として出力する、
処理を実行することを特徴とする競合テスト用タイミング調整方法。
(Supplementary Note 9) In a competitive test timing adjustment method for adjusting a competitive timing for competing internal signals of a semiconductor device with an arbitrary event,
Computer
By specifying a pair of events to be competed, a plurality of the transactions related to the pair of events are selected for each set based on the input transaction of the semiconductor device and the event,
Adjust the input timing of one transaction so that the times of the pair of events included in the selected set of transactions match,
Determine whether the time of another event included in one transaction whose input timing has been adjusted does not match the time of the same event included in the other transaction,
Outputting as a timing adjustment result for a pair of events for which a set of transactions in which a mismatch is obtained as a determination result and the adjusted input timing are to be made to compete with each other;
A timing adjustment method for competitive testing, characterized by executing processing.

(付記10)半導体装置の内部信号を任意のイベントで競合させる競合タイミングを調整する競合テスト用タイミング調整装置において、
前記半導体装置の入力のトランザクションと、前記イベントとを関連付けたイベントテーブルと、
競合させたい一対のイベントの入力に基づき、前記イベントテーブルを参照して、前記一対のイベントに関連する複数の前記トランザクションを1組毎に選択し、
選択した1組の前記トランザクションに含まれる前記一対のイベントの時刻が一致するように、一方のトランザクションの入力タイミングを調整し、
入力タイミングが調整された一方のトランザクションに含まれる他のイベントの時刻が、他方のトランザクションに含まれる同一のイベントの時刻と不一致となるかを判断し、
判断結果として不一致が得られた1組のトランザクションと、調整した前記入力タイミングと、を競合させたい一対のイベントに対するタイミング調整結果として出力する競合シナリオ生成部と、
を有することを特徴とする競合テスト用タイミング調整装置。
(Supplementary Note 10) In a competitive test timing adjusting device for adjusting a competitive timing for competing internal signals of a semiconductor device with an arbitrary event,
An event table in which the semiconductor device input transaction is associated with the event;
Based on the input of a pair of events to be competed, referring to the event table, select a plurality of the transactions related to the pair of events for each set,
Adjust the input timing of one transaction so that the times of the pair of events included in the selected set of transactions match,
Determine whether the time of another event included in one transaction whose input timing has been adjusted does not match the time of the same event included in the other transaction,
A conflict scenario generation unit that outputs as a timing adjustment result for a pair of events for which a set of transactions in which a mismatch is obtained as a determination result and the adjusted input timing are to be made to compete with each other;
A timing adjustment device for competitive test, comprising:

(付記11)前記トランザクションをシミュレータに実行させ、前記イベントが生じた時刻を前記イベントテーブルに記録させることにより、前記半導体装置の入力のトランザクションと、前記イベントとを関連付けた前記イベントテーブルを生成するイベントテーブル生成部、
をさらに有することを特徴とする付記10に記載の競合テスト用タイミング調整装置。
(Additional remark 11) The event which produces | generates the said event table which linked | related the transaction of the input of the said semiconductor device and the said event by making the simulator perform the said transaction and recording the time when the said event occurred in the said event table Table generator,
The timing adjustment device for competitive test according to appendix 10, further comprising:

100 競合テスト用タイミング調整装置
101 イベントテーブル生成部
102 イベントテーブル
103 競合シナリオ生成部
901 コア
903 アービタ
910 テストベンチ
DESCRIPTION OF SYMBOLS 100 Competition adjustment timing adjustment apparatus 101 Event table production | generation part 102 Event table 103 Competitive scenario production | generation part 901 Core 903 Arbiter 910 Test bench

Claims (10)

半導体装置の内部信号を任意のイベントで競合させる競合タイミングを調整する競合テスト用タイミング調整プログラムにおいて、
コンピュータに、
競合させたい一対のイベントの指定により、前記半導体装置の入力のトランザクションと前記イベントとに基づき、前記一対のイベントに関連する複数の前記トランザクションを1組毎に選択させ、
選択した1組の前記トランザクションに含まれる前記一対のイベントの時刻が一致するように、一方のトランザクションの入力タイミングを調整させ、
入力タイミングが調整された一方のトランザクションに含まれる他のイベントの時刻が、他方のトランザクションに含まれる同一のイベントの時刻と不一致となるかを判断させ

判断結果として不一致が得られた1組のトランザクションと、調整した前記入力タイミングと、を競合させたい一対のイベントに対するタイミング調整結果として出力させる、
処理を実行させることを特徴とする競合テスト用タイミング調整プログラム。
In the competition test timing adjustment program that adjusts the competition timing to compete the internal signal of the semiconductor device at any event,
On the computer,
By specifying a pair of events to be competed, a plurality of transactions related to the pair of events are selected for each set based on the input transaction of the semiconductor device and the event,
Adjusting the input timing of one transaction so that the times of the pair of events included in the selected set of transactions match,
Determine whether the time of the other event included in one transaction whose input timing is adjusted does not match the time of the same event included in the other transaction,
A set of transactions in which a mismatch is obtained as a determination result and the adjusted input timing are output as a timing adjustment result for a pair of events desired to compete,
A competitive test timing adjustment program characterized by causing a process to be executed.
前記半導体装置の入力のトランザクションと、前記イベントとを関連付けたイベントテーブルを生成させ、
競合させたい一対のイベントの入力に基づき、前記イベントテーブルを参照して、前記一対のイベントに関連する複数の前記トランザクションを1組毎に選択させることを特徴とする請求項1に記載の競合テスト用タイミング調整プログラム。
Generating an event table associating the input transaction of the semiconductor device with the event;
2. The contention test according to claim 1, wherein a plurality of the transactions related to the pair of events are selected for each set with reference to the event table based on an input of a pair of events to be conflicted. Timing adjustment program.
前記判断結果として一致が生じた前記一方のトランザクションには低い優先度を付与することを特徴とする請求項1または2に記載の競合テスト用タイミング調整プログラム。   The competitive adjustment timing adjustment program according to claim 1, wherein a low priority is assigned to the one transaction in which a match occurs as the determination result. 前記判断結果として一致が生じた後、前記一対のイベントに関連する前記トランザクションの組が残っていない場合には、一対のイベントに対するタイミング調整が不可であると判断することを特徴とする請求項1〜3のいずれか一つに記載の競合テスト用タイミング調整プログラム。   2. The timing adjustment for the pair of events is determined to be impossible when there is no remaining transaction pair related to the pair of events after the determination result is a match. The timing adjustment program for competitive tests according to any one of to 3. 前記トランザクションをシミュレータに実行させ、前記イベントが生じた時刻を前記イベントテーブルに記録させることを特徴とする請求項2に記載の競合テスト用タイミング調整プログラム。 3. The competitive test timing adjustment program according to claim 2 , wherein the simulator executes the transaction and records the time when the event occurred in the event table. 前記タイミング調整結果により得られた複数組のトランザクションをシミュレータに出力させ、
前記シミュレータのシミュレーション結果に基づき、前記一対のイベントにおける競合条件が満たされた場合に、一対のイベントに対するタイミング調整に関する情報を競合シナリオとして出力させる、
ことを特徴とする請求項1〜5のいずれか一つに記載の競合テスト用タイミング調整プログラム。
Causing the simulator to output a plurality of sets of transactions obtained from the timing adjustment results;
Based on the simulation result of the simulator, when a competition condition in the pair of events is satisfied, information on timing adjustment for the pair of events is output as a competition scenario.
6. The competitive test timing adjustment program according to claim 1, wherein the program is a competitive test timing adjustment program.
前記判断結果として一致が生じた前記一方のトランザクションは、前記イベントテーブルの優先度が低い格納位置に変更させることを特徴とする請求項2または5に記載の競合テスト用タイミング調整プログラム。 6. The competitive test timing adjustment program according to claim 2 , wherein the one transaction having a match as the determination result is changed to a storage position having a low priority in the event table. 選択した1組の前記トランザクションに含まれる前記一対のイベントの時刻のうち、時刻が最大値のイベントの時刻が一致するように、一方のトランザクションの入力タイミングを調整させることを特徴とする請求項1〜7のいずれか一つに記載の競合テスト用タイミング調整プログラム。   2. The input timing of one transaction is adjusted so that the time of the event having the maximum time among the times of the pair of events included in the selected pair of transactions matches. The timing adjustment program for competitive testing as described in any one of -7. 半導体装置の内部信号を任意のイベントで競合させる競合タイミングを調整する競合テスト用タイミング調整方法において、
コンピュータが、
競合させたい一対のイベントの指定により、前記半導体装置の入力のトランザクションと前記イベントとに基づき、前記一対のイベントに関連する複数の前記トランザクションを1組毎に選択し、
選択した1組の前記トランザクションに含まれる前記一対のイベントの時刻が一致するように、一方のトランザクションの入力タイミングを調整し、
入力タイミングが調整された一方のトランザクションに含まれる他のイベントの時刻が、他方のトランザクションに含まれる同一のイベントの時刻と不一致となるかを判断し、
判断結果として不一致が得られた1組のトランザクションと、調整した前記入力タイミングと、を競合させたい一対のイベントに対するタイミング調整結果として出力する、
処理を実行することを特徴とする競合テスト用タイミング調整方法。
In a competition test timing adjustment method for adjusting a competition timing for competing internal signals of a semiconductor device at an arbitrary event,
Computer
By specifying a pair of events to be competed, a plurality of the transactions related to the pair of events are selected for each set based on the input transaction of the semiconductor device and the event,
Adjust the input timing of one transaction so that the times of the pair of events included in the selected set of transactions match,
Determine whether the time of another event included in one transaction whose input timing has been adjusted does not match the time of the same event included in the other transaction,
Outputting as a timing adjustment result for a pair of events for which a set of transactions in which a mismatch is obtained as a determination result and the adjusted input timing are to be made to compete with each other;
A timing adjustment method for competitive testing, characterized by executing processing.
半導体装置の内部信号を任意のイベントで競合させる競合タイミングを調整する競合テスト用タイミング調整装置において、
前記半導体装置の入力のトランザクションと、前記イベントとを関連付けたイベントテーブルと、
競合させたい一対のイベントの入力に基づき、前記イベントテーブルを参照して、前記一対のイベントに関連する複数の前記トランザクションを1組毎に選択し、
選択した1組の前記トランザクションに含まれる前記一対のイベントの時刻が一致するように、一方のトランザクションの入力タイミングを調整し、
入力タイミングが調整された一方のトランザクションに含まれる他のイベントの時刻が、他方のトランザクションに含まれる同一のイベントの時刻と不一致となるかを判断し、
判断結果として不一致が得られた1組のトランザクションと、調整した前記入力タイミングと、を競合させたい一対のイベントに対するタイミング調整結果として出力する競合シナリオ生成部と、
を有することを特徴とする競合テスト用タイミング調整装置。
In a competition test timing adjustment device that adjusts a competition timing for competing internal signals of a semiconductor device at an arbitrary event,
An event table in which the semiconductor device input transaction is associated with the event;
Based on the input of a pair of events to be competed, referring to the event table, select a plurality of the transactions related to the pair of events for each set,
Adjust the input timing of one transaction so that the times of the pair of events included in the selected set of transactions match,
Determine whether the time of another event included in one transaction whose input timing has been adjusted does not match the time of the same event included in the other transaction,
A conflict scenario generation unit that outputs as a timing adjustment result for a pair of events for which a set of transactions in which a mismatch is obtained as a determination result and the adjusted input timing are to be made to compete with each other;
A timing adjustment device for competitive test, comprising:
JP2013157057A 2013-07-29 2013-07-29 Timing adjustment program for competition test, timing adjustment method for competition test, and timing adjustment apparatus for competition test Expired - Fee Related JP6209892B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013157057A JP6209892B2 (en) 2013-07-29 2013-07-29 Timing adjustment program for competition test, timing adjustment method for competition test, and timing adjustment apparatus for competition test

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013157057A JP6209892B2 (en) 2013-07-29 2013-07-29 Timing adjustment program for competition test, timing adjustment method for competition test, and timing adjustment apparatus for competition test

Publications (2)

Publication Number Publication Date
JP2015026337A JP2015026337A (en) 2015-02-05
JP6209892B2 true JP6209892B2 (en) 2017-10-11

Family

ID=52490915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013157057A Expired - Fee Related JP6209892B2 (en) 2013-07-29 2013-07-29 Timing adjustment program for competition test, timing adjustment method for competition test, and timing adjustment apparatus for competition test

Country Status (1)

Country Link
JP (1) JP6209892B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2908339B2 (en) * 1996-08-29 1999-06-21 日本電気アイシーマイコンシステム株式会社 Simulation method of semiconductor integrated circuit
JP2001222442A (en) * 2000-02-08 2001-08-17 Fujitsu Ltd Pipeline test method, pipeline test instruction generation method, and storage medium therefor
US6772370B1 (en) * 2000-11-03 2004-08-03 Freescale Semiconductor, Inc. Method and apparatus for generation of pipeline hazard test sequences
JP5308098B2 (en) * 2008-08-13 2013-10-09 株式会社日立情報通信エンジニアリング Information processing apparatus test program and method
JP2010244300A (en) * 2009-04-06 2010-10-28 Mitsubishi Electric Corp Test pattern creation method, simulation method, information processing apparatus, and simulation apparatus

Also Published As

Publication number Publication date
JP2015026337A (en) 2015-02-05

Similar Documents

Publication Publication Date Title
KR102412480B1 (en) DRC processing tool for early stage IC layout design
US10521536B2 (en) RTL verification using computational complexity-based property ranking and scheduling
US8689069B2 (en) Multi-targeting boolean satisfiability-based test pattern generation
US20130246900A1 (en) Synchronized three-dimensional display of connected documents
US10969764B2 (en) Support device, design support method and computer-readable non-transitory medium
JP2006244073A (en) Semiconductor design equipment
JPWO2012124117A1 (en) Timing error elimination method, design support apparatus, and program
US10083272B2 (en) Integrated circuit design layout optimizer based on process variation and failure mechanism
JP2014106928A (en) Test method, test program and test control device
US10885258B1 (en) Fixing ESD path resistance errors in circuit design layout
JP2015166981A (en) Layout verification method, verification apparatus, and verification program
US9817930B1 (en) Method, system, and computer program product for verifying an electronic circuit design with a graph-based proof flow
JP6209892B2 (en) Timing adjustment program for competition test, timing adjustment method for competition test, and timing adjustment apparatus for competition test
US8321825B2 (en) Method and system for synthesizing relative timing constraints on an integrated circuit design to facilitate timing verification
US20150261906A1 (en) Quality of results system
US20150227673A1 (en) Design rule generating apparatus and method using lithography simulation
JP2009181292A (en) MC / DC pattern generator
JP2018081354A (en) Simulation support apparatus, simulation support method and simulation support program
JP2017120514A (en) Semiconductor design support apparatus, semiconductor design support method, and semiconductor design support program
TW202536721A (en) Multi-agent reinforcement learning system for coverage closure
JP5310397B2 (en) Behavioral synthesis verification auxiliary device, behavioral synthesis verification auxiliary method, program, and recording medium
JP6968736B2 (en) Circuit analysis device and circuit analysis program
JP5278271B2 (en) Design support program, design support apparatus, and design support method
US11080448B1 (en) Method and system for formal bug hunting
TWI849484B (en) Code file and verification simulation management method and circuit module design verification system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170410

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170815

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170828

R150 Certificate of patent or registration of utility model

Ref document number: 6209892

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees