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 PDFInfo
- 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
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,
しかしながら、従来技術では、データの入力側からみて深い位置に位置する競合点における競合の検証時に、複数のデータパス別の時間差を全て把握して競合を生じさせることは困難であり、競合の検証に手間がかかった。 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 (
図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 (
しかしながら、(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
この相違は、データパス上の複数の回路ブロック(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は、実施の形態にかかる競合テスト用タイミング調整装置の機能を示すブロック図である。競合テスト用タイミング調整装置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
イベントテーブル生成部101は、コアに対する入力トランザクションの集合の情報(Tr1,Tr2,…,Trn)110と、コア内部における内部イベントのリスト情報(Ev1,Ev2,…,Evm)111とに基づき、イベントテーブル情報112を生成し、イベントテーブル102に格納する。内部イベントのリスト情報111は、コア内部において競合点(アービタ等)における競合させたい(競合対象)のイベントを含む。
The event
競合シナリオ生成部103は、イベントテーブル102に格納されたイベントテーブル情報112と、競合させたいイベントの組の情報113の指定入力と、に基づいて、競合させたいイベントに対する競合シナリオの情報121を生成する。競合させたいイベントの組の情報113は、内部イベントのリスト情報111のなかからサブセットとして用意し、指定入力することができる。例えば、競合点がコア内部の所定のブロック(例えばアービタ)の場合、このブロック(アービタ)に対してリクエスト(Req)を出力する1対のブロック(例えばFF)がイベントの組の情報として指定入力される。
The conflict
(イベントテーブルの生成について)
図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
例えば、各イベント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
この後、イベントテーブル生成部101は、内部イベントのリスト情報111に登録されたイベント(Evj)が発生する時刻(Tk)をイベントテーブル情報112の該当するイベント(Evj)に記録する(ステップS303)。そして、変数iをインクリメントする。
Thereafter, the event
そして、イベントテーブル生成部101は、n個の最後のトランザクション(Trn)のシミュレーション実行が終了したか判断する(i<n)(ステップS304)。そして、未実行分のトランザクションがあれば(ステップS304:No)、ステップS302に戻り、全て実行済みであれば(ステップS304:Yes)、以上のイベントテーブル情報112の生成の処理を終了する。
Then, the event
(競合シナリオの生成について)
競合シナリオ生成部103は、以下の(1)、(2)の処理を行う。
(1)競合イベントが同時に発生するための時刻調整と、トランザクションの組の優先度の付与。この処理では、イベントテーブル情報112に基づいて、競合点において競合させたいイベントが発生するトランザクションの組を全て生成する。そして、競合させたいイベントが同時に発生するように、トランザクションの開始時刻を決定する。また、他のイベントの競合可能性により、生成したトランザクションの組に優先度を付与する。
(About generation of competitive scenarios)
The conflict
(1) Time adjustment for simultaneous occurrence of competing events and assignment of transaction group priorities. In this process, based on the
(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
(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
はじめに、(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
この後、(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
イベント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
そして、(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
この後、選択したトランザクション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
この場合、(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
以上により、競合シナリオ生成部103は、(12)トランザクションTr1とTr3の組み合わせを高優先度とする。
As described above, the conflict
この後、競合シナリオ生成部103は、トランザクションの各組み合わせに対し、シミュレータによるシミュレーションの実行により、実際に競合点で競合が生じるか否かを確認し、競合が起こった組み合わせを競合シナリオ121として出力する。この際、図4に示した高優先度のトランザクションTr1のイベントEv4と、トランザクションTr3のイベントEv5との組み合わせ、を優先してシミュレーションを行う。
Thereafter, the competition
図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
はじめに、競合シナリオ生成部103は、イベントテーブル102のイベントテーブル情報112を読み出し、競合点におけるイベントEvjを含むトランザクションTriを選択する(ステップS501)。次に、選択したトランザクションTriに含まれる全てのイベントEvjを抽出したか判断し(ステップS502)、未抽出分が残っていれば(ステップS502:No)、残りのイベントEvjを抽出し(ステップS503)、ステップS501に戻る。全て抽出済みであれば(ステップS502:Yes)、ステップS504に移行する。
First, the conflict
ステップ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
以下の処理では、競合シナリオ生成部103は、競合点における競合を発生させる複数のイベントEvjを含む全てのトランザクションTriについて、1組(一対)のトランザクションTri毎にタイミング(時刻)調整を行い、競合点以外でのイベントでの競合の発生の有無を確認する。
In the following processing, the conflict
まず、競合シナリオ生成部103は、1組のトランザクションTriを選択する(ステップS504)。例えば、図4に示したトランザクションTr1,Tr2を選択する。次に、選択した1組のトランザクションTriのうち、時刻Tijが最大値のイベントEvjを探す(ステップS505)。最大値の時刻Tijにおけるイベントは、コア上のデータパスにおいて最も奥部に位置するブロック(アービタ等)における競合を示す。例えば、図4の(b)に示す例では、1組のトランザクションTr1,Tr2のうち最大値の時刻Tijは、80である。
First, the conflict
なお、この例では、競合点を最も奥に位置するブロックとして時刻の最大値を探すこととしたが、競合点をデータパス上でより手前の任意のブロックに設定し、対応する時刻を探すこととしてもよい。 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
次に、競合シナリオ生成部103は、差分Δを加えたトランザクションTriに含まれる各イベントEvjの時刻に差分Δを加える(ステップS507)。図4の(c)に示す例では、トランザクションTr1の各イベントEv2,Ev3,Ev4の時刻にそれぞれ差分Δの30が加えられる。
Next, the conflict
次に、競合シナリオ生成部103は、選択した一対のトランザクションTriにおける各イベントEvjにおける競合の有無を確認する処理を行う。この際、所望する競合点に対応するイベントEvjの時刻は一致し、かつ、他のイベントEvjにおける時刻が不一致であることを条件として確認の処理を行う。
Next, the conflict
ステップ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
以降の処理では、変数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
この結果、競合シナリオ生成部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
次に、競合シナリオ生成部103は、1組のトランザクションTriの一方のトランザクションを新たなトランザクションTriに変更する(ステップS511)。この際、トランザクションは競合点におけるイベント(時刻)を含むトランザクションを選択する。図4の(d)の例では、新たなトランザクションTriとしてトランザクションTr3を選択し、トランザクションTr1,Tr3が新たな1組のトランザクションとなる。
Next, the conflict
次に、競合シナリオ生成部103は、この新たな一組のトランザクションTriを用いた上記のタイミング調整の処理を実行済みであるか確認する(ステップS512)。未実行の組であれば(ステップS512:No)、ステップS509に戻るが、実行済みであれば(ステップS512:Yes)、全ての組み合わせのトランザクションTriにおいてタイミング調整の結果、競合点以外のイベントでの競合が生じたため、タイミング調整(以降の競合シナリオ作成)は不可能と判断し(ステップS513)、以上のタイミング調整にかかる処理を終了する。
Next, the conflict
また、上記ステップ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
一方、他の組のトランザクションTriがない場合には(ステップS514:No)、競合シナリオ生成部103は、競合点における全ての組のトランザクションTriに対するタイミング調整が有効であり、以降の競合シナリオの作成が可能であると判断し、以上のタイミング調整の処理を終了する。
On the other hand, when there is no other set of transactions Tri (step S514: No), the competitive
(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
はじめに、競合シナリオ生成部103は、初期設定を行う(ステップS601)。トランザクションTr1をd1とし、他のトランザクションTr2以降をd2〜dnとする。また、フラグを初期値(0)に設定する。フラグは、イベントの開始時間変更時に1に変更される。
First, the conflict
次に、競合シナリオ生成部103は、トランザクションd1〜dnの組み合わせをシミュレータに出力し、シミュレーションを実行させる(ステップS602)。この際、図4および図5を用いて説明した選択処理により、優先度が高い1組のトランザクションを最初に選択し、シミュレータにシミュレーション実行させる。そして、競合シナリオ生成部103は、シミュレーション結果が、所望する一対のイベントにおいて実際に競合条件が満たされたかを判断する(ステップS603)。
Next, the competitive
シミュレーション実行により実際に競合条件が満たされたシミュレーション結果が得られた場合には(ステップ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
一方、シミュレーション実行により競合条件が満たされないシミュレーション結果の場合には(ステップ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
次に、競合シナリオ生成部103は、フラグが1であるか判断する(ステップS606)。フラグが1でなければ(ステップS606:No)、開始時間の変更に対応してフラグを1に変更し(ステップS607)、ステップS602に戻り、ステップS602以下の処理を再実行する。開始時間の変更後のシミュレーション実行により、競合条件が満たされれば(ステップS603:Yes)、タイミング調整が成功した(ステップS604)、と判断できるようになる。ステップS602〜ステップS607の処理は、既存の競合タイミング検証と同等の処理である。
Next, the competition
一方、ステップ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
そして、競合シナリオ生成部103は、アサーションが証明された場合には(ステップS610:Yes)、ステップS612に移行する。アサーションが証明されていない場合には(ステップS610:No)、競合シナリオ生成部103は、次に高い優先度のトランザクションの組を選定し(ステップS611:Yes)、ステップS601に戻る。
Then, when the assertion is proved (step S610: Yes), the competition
ステップ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
CPU701は、競合テスト用タイミング調整装置700の全体の制御を司る演算処理装置である。ROM702は、競合テスト用タイミング調整装置700の競合テスト用タイミング調整プログラムを記憶する不揮発性メモリである。RAM703は、CPU701による演算処理実行時のワークエリアとして使用される揮発性メモリである。
The
通信インターフェース709は、ネットワーク715と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。具体的に、通信インターフェース709は、通信回線を通じてネットワーク715となるLocal Area Network(LAN)、Wide Area Network(WAN)、インターネットなどに接続され、ネットワーク715を介して他の装置に接続される。通信インターフェース709には、例えば、モデムやLANアダプタなどを採用することができる。
The
ディスプレイ708は、競合テスト用タイミング調整処理のための設定画面やタイミング調整結果について、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などをデータ表示する装置である。ディスプレイ708には、例えば、Thin Film Transistor(TFT)液晶ディスプレイ、プラズマディスプレイ、有機ELディスプレイなどを採用することができる。
The
上述した図1を用いて説明した競合テスト用タイミング調整の機能(イベントテーブル生成部101、競合シナリオ生成部103)は、図7に記載のCPU701がROM702に格納された競合テスト用タイミング調整プログラムを実行処理して得ることができる。
The competition test timing adjustment function (event
(競合テスト用タイミング調整装置の配置を示す図)
図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
競合シナリオ生成部103には、上述したように、競合点での競合を確認するために、競合点で競合させたいイベントの組(例えば、Ev4,Ev5)の情報が入力される。競合シナリオ生成部103は、上述した(1)、(2)の処理により、このイベントの組の情報に基づいて、このイベントに対応するトランザクションの組を生成する。そして、競合点において競合させたいイベントが同時に起こるように、トランザクションのデータd1…dnに対するタイミング調整を更新する。
As described above, the conflict
この更新は、図8のデータ入力シーケンス更新処理部103aが実行し、シミュレータ802に対してタイミング調整し、更新したトランザクションd1…dnを出力する。シミュレータ802は、シミュレーション結果t1…tnをデータ入力シーケンス更新処理部103aに返答する。
This update is executed by the data input sequence
また、アサーション生成部103bは、アサーションを作成してフォーマル検証ツール801に出力する。フォーマル検証ツール801は、フォーマル分析結果をアサーション生成部103bに返答する。
Further, the
そして、競合シナリオ生成部103は、データ入力シーケンス更新処理部103a、およびアサーション生成部103bからの返答に基づいて、競合点において競合させたいイベントが同時に起こり、かつ、他のイベント(競合点よりも前のデータパス上のブロック)における競合を回避する旨の競合シナリオを生成し、出力する。競合シナリオは、シミュレータ802に出力されるものであり、シミュレータ802に対する競合可能データ入力シーケンスをテキスト等により記載したものである。
Then, the conflict
(競合点でのタイミング競合の例)
図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
このため、テストベンチ910は、データパス1,2に対してデータを入力するドライバ1(911a),ドライバ2(911b)の入力タイミングを調整する。テストベンチ910は、上述したフォーマル検証ツール801、シミュレータ802および競合テスト用タイミング調整装置100(競合シナリオ生成部103)を含む。そして、競合シナリオ生成部103によって最適に調整されたタイミングを有してデータが入力され、アービタ903は、直前のFFnとFFmからのリクエスト(Req)を同時に発生させることができる。
Therefore, the
これにより、コア901の奥部に位置するアービタ903等のブロックであっても、競合を発生させることができるようになり、競合発生時のブロックの動作(アービタ903の調停動作)をモニタ等で確認できるようになる。なお、データパス上の任意のブロック(イベント)を指定して競合テスト用タイミング調整装置に入力すれば、このブロックにおける競合についても同様に競合時の動作を確認できるようになる。
As a result, even a block such as the
さらには、入力トランザクションのイベントのうち最大値の時刻を抽出するとともに、一対のイベントが入力されるブロックを特定してもよい。そして、イベントテーブル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
(付記3)前記判断結果として一致が生じた前記一方のトランザクションには低い優先度を付与することを特徴とする付記1または2に記載の競合テスト用タイミング調整プログラム。
(Supplementary note 3) The competition test timing adjustment program according to
(付記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
(付記5)前記トランザクションをシミュレータに実行させ、前記イベントが生じた時刻を前記イベントテーブルに記録させることを特徴とする付記2〜4のいずれか一つに記載の競合テスト用タイミング調整プログラム。
(Supplementary note 5) The competitive test timing adjustment program according to any one of
(付記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
(付記7)前記判断結果として一致が生じた前記一方のトランザクションは、前記イベントテーブルの優先度が低い格納位置に変更させることを特徴とする付記2〜6のいずれか一つに記載の競合テスト用タイミング調整プログラム。
(Supplementary note 7) The contention test according to any one of
(付記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
(付記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
100 競合テスト用タイミング調整装置
101 イベントテーブル生成部
102 イベントテーブル
103 競合シナリオ生成部
901 コア
903 アービタ
910 テストベンチ
DESCRIPTION OF
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〜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.
コンピュータが、
競合させたい一対のイベントの指定により、前記半導体装置の入力のトランザクションと前記イベントとに基づき、前記一対のイベントに関連する複数の前記トランザクションを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:
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)
| 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 |
-
2013
- 2013-07-29 JP JP2013157057A patent/JP6209892B2/en not_active Expired - Fee Related
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 |