JP7180043B2 - Digital verification support device and digital verification support program - Google Patents

Digital verification support device and digital verification support program Download PDF

Info

Publication number
JP7180043B2
JP7180043B2 JP2018142856A JP2018142856A JP7180043B2 JP 7180043 B2 JP7180043 B2 JP 7180043B2 JP 2018142856 A JP2018142856 A JP 2018142856A JP 2018142856 A JP2018142856 A JP 2018142856A JP 7180043 B2 JP7180043 B2 JP 7180043B2
Authority
JP
Japan
Prior art keywords
snapshot
interrupt
positions
optimum
vector
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.)
Active
Application number
JP2018142856A
Other languages
Japanese (ja)
Other versions
JP2020021173A (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.)
Toshiba Information Systems Japan Corp
Original Assignee
Toshiba Information Systems Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Information Systems Japan Corp filed Critical Toshiba Information Systems Japan Corp
Priority to JP2018142856A priority Critical patent/JP7180043B2/en
Publication of JP2020021173A publication Critical patent/JP2020021173A/en
Application granted granted Critical
Publication of JP7180043B2 publication Critical patent/JP7180043B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、ディジタル検証支援装置及びディジタル検証支援用プログラムに関するものである。 The present invention relates to a digital verification support device and a digital verification support program.

ディジタル検証においては、検証対象となるRTL(Register Tranfer Level)に対してベクタと称される入力ファイルを作成し、RTLが正常に動作しているかの確認を行う。通常、ベクタは人間が考えて手作業で作成を行っている。一度作成されたベクタに対し、検証対象の電子回路やシステムに非同期に発生する割込みイベントに対して適切な処理が行われているかを確認するためには、インタラプト検証と呼ばれる割込みによる手法を採用することができる。 In digital verification, an input file called a vector is created for RTL (Register Transfer Level) to be verified, and it is confirmed whether the RTL operates normally. Normally, vectors are created manually based on human thinking. In order to check whether appropriate processing is performed for interrupt events that occur asynchronously in the electronic circuit or system to be verified, a method using interrupts called interrupt verification is adopted for vectors once created. be able to.

例えば、メモリ製品におけるインタラプト検証は、非同期割込みの性質から、異常系と機能系に分けられており、更に割込み種類で分類すると、次の表1に示すように10種類以上となる。 For example, interrupt verification in memory products is divided into an abnormal system and a functional system due to the nature of asynchronous interrupts.

Figure 0007180043000001
Figure 0007180043000001

更に、現行のインタラプト検証は、ノーマルインタラプト(Normal Interrupt)とハイレゾリューションインタラプト(High Resolution Interrupt)という2種の検証方法の組合せによって行われている。この2種類のインタラプトは、次の表2に示す通りの特徴を有しており、この特徴に合わせて使用されている。表2の「sim時間」は、シミュレーション時間である。 Furthermore, current interrupt verification is performed by a combination of two types of verification methods, normal interrupt and high resolution interrupt. These two types of interrupts have the characteristics shown in Table 2 below, and are used in accordance with these characteristics. "sim time" in Table 2 is the simulation time.

Figure 0007180043000002
Figure 0007180043000002

近年、メモリ製品における回路の複雑化や過去に発生した不具合からのフィードバックにより検証すべき割込みの数が爆発的に増え、シミュレーション時間も激増している。この結果、初めてAIPR機能(Asynchronous Independent Plane Read)を搭載したフラッシュメモリとしては、ハイレゾリューションインタラプトによる全割込み種類の合計割込み数(ベクタ数)が数十万となるものがある。また、一番割込み数の多いFFh インタラプト(表1)は、割込み数と検証時間と共に極めて大きな値となり、レギュレーション一回分に要する時間がライセンス50並列の前提で340h(2週間超え)を要する。 In recent years, the number of interrupts to be verified has increased explosively due to the complexity of circuits in memory products and the feedback from past failures, and the simulation time has also increased dramatically. As a result, for the first flash memory equipped with the AIPR function (Asynchronous Independent Plane Read), the total number of interrupts (number of vectors) for all interrupt types due to high-resolution interrupts is in the hundreds of thousands. In addition, the FFh interrupt (Table 1), which has the largest number of interrupts, has a very large value together with the number of interrupts and the verification time, and the time required for one regulation is 340 hours (more than 2 weeks) on the premise of 50 parallel licenses.

本来は、LSIの設計図を磁気テープに焼きこみ、データをLSI製造部門に出荷することの意味から、半導体の回路設計の最終段階である「テープアウト」の直前に最新回路を用いて検証したいところであるが、シミュレーション時間が長いのでテープアウトの2週間前の回路で実行した検証結果しか確認できない。フラッシュメモリの検証方針としては、その期間でのハイレゾリューションインタラプトを断念し、テープアウト後の後追い検証を行うことに留まっている。後追い検証で致命不具合が発見された場合には、refine(マスク改良)になってしまうので、品質(割込み数)を維持しながら、検証効率改善もしくは新しい検証手法の立ち上げが必要である。 Originally, the LSI design drawing was printed on magnetic tape and the data was shipped to the LSI manufacturing department. However, due to the long simulation time, we can only confirm the results of the verification performed on the circuit two weeks before the tape-out. As for the flash memory verification policy, the high-resolution interrupt during that period was abandoned, and only follow-up verification after tape-out was performed. If a fatal defect is found in the follow-up verification, it will be refined (improvement of the mask), so it is necessary to improve verification efficiency or launch a new verification method while maintaining quality (number of interrupts).

上記の問題を解決するために、ここでは、現状のインタラプト検証手法を検討してみることにする。ある種のフラッシュメモリにおけるインタラプト検証は、2ステップDB型と呼ばれ、図1のようにサンプリングとインタラプトの2段階で行う手法が用いられている。 In order to solve the above problem, the current interrupt verification method will be examined here. Interrupt verification in a certain type of flash memory is called a two-step DB type, and uses a method of performing sampling and interrupts in two steps, as shown in FIG.

ステップ1:サンプリング(Sampling)
全ベクタを事前に流し、ユニークなステートの変化点を共通データベースに登録する。その内容はベクタ名と変化点の発生時間(シミュレーション時間(Simulation Time))であり、それらは割込み検証のターゲットでもある。通常、1ベクタに複数の割込みポイントが登録されるケースが多く、最大7000以上の割込みポイントを持つベクタもある。
Step 1: Sampling
All vectors are pre-flowed and unique state change points are registered in a common database. The contents are the vector name and the occurrence time of the change point (simulation time), which are also the targets of the interrupt verification. Normally, there are many cases where a plurality of interrupt points are registered in one vector, and some vectors have a maximum of 7000 or more interrupt points.

ステップ2:インタラプト(Interrupt)
データベースの登録情報からベクタを流す条件を決める。具体的にはベクタ名と一致したベクタを実行し、割込み時間になると割込みイベントを発生させる。1割込みポイントに1ベクタが生成される。
Step 2: Interrupt
Determine the conditions for sending vectors from the registration information in the database. Specifically, the vector that matches the vector name is executed, and an interrupt event is generated when the interrupt time comes. One vector is generated for one interrupt point.

上記の処理を検討したところ、図1と図2に示すように、1ベクタから作成された複数のインタラプトベクタ同士に同じ実行内容が含まれており、無駄があることが分かった。割込みポイントが前にあるベクタ(図1:vectorx_1、図2:v1)は必ず割込みポイントが後にあるベクタ(図1:vectorx_2、図2:v2)に含まれ、それがまたさらに後にあるベクタ(図1:vectorx_3、図2:v3)に含まれ、更に、それがまた後にあるベクタ(図1:vectorx_4、図2:v4)に含まれる。 As a result of examining the above process, it was found that the same execution contents were included in a plurality of interrupt vectors created from one vector, as shown in FIGS. The vector before the interrupt point (Fig. 1: vectorx_1, Fig. 2: v1) is always included in the vector after the interrupt point (Fig. 1: vectorx_2, Fig. 2: v2), which is also included in the vector after 1: vectorx_3, FIG. 2: v3), which is also included in the subsequent vector (FIG. 1: vectorx_4, FIG. 2: v4).

このように、複数のベクタが無駄に重複するシミュレーションを経過していることがレギュレーション時間を長くしている原因と考えられる。重複するシミュレーションを共通化して1度の通過にすることができれば、大幅な時間削減を見込めるのである。 In this way, it is considered that the regulation time is lengthened because a plurality of vectors are running through simulations that wastefully overlap. If overlapping simulations can be shared and made into a single pass, a significant time reduction can be expected.

シミュレータには、シミュレーションの途中状態をテンポラリライブラリに保存し、またその状態から復帰するサポート機能であるスナップショット(Snapshot)が備えられている。この機能によれば、複数のインタラプトベクタにおいてそれぞれに最初に戻って処理を実行することがなくなり時間短縮を実現できる。 The simulator is equipped with a snapshot, which is a support function that saves the intermediate state of the simulation in a temporary library and restores from that state. This function eliminates the need to return to the beginning of each of a plurality of interrupt vectors and execute processing, thereby realizing a reduction in time.

割込みの場合に状態復元を行うことは、特許文献1に開示されている。また、特許文献2では、レジスタメモリのコピーであるスナップショットがエミュレーションデータの一部として転送され、他のエミュレーションデータとCPUクロックとともに、エミュレーションデバイスにおいてターゲットCPUの命令の完全な模倣を可能にすることが開示されている。 Performing state restoration in the event of an interrupt is disclosed in US Pat. Moreover, in Patent Document 2, a snapshot, which is a copy of the register memory, is transferred as part of the emulation data, and together with other emulation data and the CPU clock, it is possible to perfectly imitate the instructions of the target CPU in the emulation device. is disclosed.

特許文献3には、スナップショット解決技術を使用して、シミュレーションのための初期条件信号及び入力信号を得ることができることが開示されている。特許文献4には、状態値変化記憶手段2により、信号の状態値が変化すると信号の変化点情報5を作成すること、シミュレーション時刻を戻す要求があった場合、状態値変更手段3で、保持していた信号の変化点情報5を順に遡って信号を変化前の状態値に戻すことが開示されている。これにより、最初の入力パターンから論理検証をやり直すことなく途中から再開することができ、検証時間が短縮できるというものである。 US Pat. No. 5,300,005 discloses that snapshot solving techniques can be used to obtain initial condition signals and input signals for simulation. In Patent Document 4, the state value change storage means 2 creates signal change point information 5 when the signal state value changes, and when there is a request to return the simulation time, the state value change means 3 stores It is disclosed that the signal is returned to the state value before the change by tracing back the change point information 5 of the signal that was previously changed. As a result, the logic verification can be restarted from the middle without redoing the logic verification from the first input pattern, and the verification time can be shortened.

特開平7-160537号公報JP-A-7-160537 特表2008-544340号公報Japanese translation of PCT publication No. 2008-544340 特許第5432126号公報Japanese Patent No. 5432126 特開平5-151305号公報JP-A-5-151305

上記のように、状態復元を行うこと、或いはスナップショットの状態復元を用いて時間短縮を図ることが知られていたことが分かる。しかしながら、割込みポイントが数多く存在する場合、更に、スナップショットの位置数を多くすると状態情報の収集と保存に時間を要し必ずしも時間短縮にならないことは明らかである。本発明の実施形態は、ディジタル検証を行うシミュレータに、処理に要する割込位置情報と最適スナップショット位置情報とを与えて適切な処理を可能とするディジタル検証支援装置を提供することを目的としている。 As described above, it can be seen that it has been known to perform state restoration or use snapshot state restoration to reduce time. However, it is clear that if there are many interrupt points, moreover, a large number of snapshot locations will not necessarily save time as it will take time to collect and save the state information. An object of the present invention is to provide a digital verification support apparatus that enables appropriate processing by giving interrupt position information and optimum snapshot position information required for processing to a simulator that performs digital verification. .

実施形態に係るディジタル検証支援装置は、ディジタル検証を行うシミュレータに与えるベクタにおける割込位置を検出する割込位置検出手段と、この割込位置検出手段により検出された割込位置に基づきスナップショットを実行すべき所定数の最適スナップショット位置を決定するスナップショット位置決定手段とを具備するディジタル検証支援装置であって、前記シミュレータに、前記最適スナップショット位置において前記シミュレータが現状の復元に用いるスナップショット情報を取得し保持するスナップショット情報取得保持手段と、ベクタを先頭から実行して未処理の割込位置へ到ると、当該割込位置に対応する割込処理を実行して割込処理が終了となると、この割込位置に対応する最適スナップショット位置のスナップショット情報に基づき復元を行うまでの一連処理を実行し、当該最適スナップショット位置から前記ベクタの実行へと進むベクタ処理手段とが含まれており、前記スナップショット情報取得保持手段と前記ベクタ処理手段の処理に要する割込位置情報と最適スナップショット位置情報とを提供することを特徴とする。 A digital verification support apparatus according to an embodiment includes an interrupt position detecting means for detecting an interrupt position in a vector given to a simulator that performs digital verification, and a snapshot based on the interrupt position detected by the interrupt position detecting means. and snapshot location determination means for determining a predetermined number of optimal snapshot locations to be performed, wherein said simulator is provided with snapshots at said optimal snapshot locations that said simulator uses to restore the current state. snapshot information acquiring and holding means for acquiring and holding information; Upon completion, the vector processing means executes a series of processes up to restoration based on the snapshot information of the optimal snapshot position corresponding to the interrupt position, and proceeds from the optimal snapshot position to the execution of the vector. It is characterized by providing interrupt position information and optimum snapshot position information required for the processing of the snapshot information acquiring and holding means and the vector processing means.

2ステップDB型と呼ばれるインタラプト検証手法の処理を示す説明図。Explanatory drawing which shows the process of the interrupt verification method called 2 step DB type|mold. 従来のインタラプト検証手法の処理を示す説明図。Explanatory drawing which shows the process of the conventional interrupt verification method. 本発明の第1の実施形態に係るディジタル検証支援装置を用いたディジタル検証システムの構成を示す構成図。1 is a configuration diagram showing the configuration of a digital verification system using a digital verification support device according to a first embodiment of the present invention; FIG. 複数のベクタが並列処理される構成のディジタル検証システムの構成を示す構成図。FIG. 2 is a configuration diagram showing the configuration of a digital verification system configured to process a plurality of vectors in parallel; 本発明の第1の実施形態に係るディジタル検証支援装置を用いたディジタル検証システムによる処理動作を示すフローチャート。4 is a flowchart showing processing operations by a digital verification system using the digital verification support device according to the first embodiment of the present invention; 本発明の第1の実施形態に係るディジタル検証支援装置を用いたディジタル検証システムによる処理動作によりスナップショットを含む割込み処理の命令が作成される過程を示す図。FIG. 5 is a diagram showing a process of creating an interrupt processing instruction including a snapshot by a processing operation of the digital verification system using the digital verification support device according to the first embodiment of the present invention; 図6に示した命令によりベクタを実行したときの処理の流れを示す図。FIG. 7 is a diagram showing the flow of processing when a vector is executed by the instruction shown in FIG. 6; 本発明の第1の実施形態に係るディジタル検証支援装置を用いたディジタル検証システムによる処理動作によりスナップショットを含む割込み処理の命令が実行された場合の処理時間を示す図。FIG. 4 is a diagram showing the processing time when an interrupt processing instruction including a snapshot is executed by the digital verification system using the digital verification support device according to the first embodiment of the present invention; 本発明の第1の実施形態に係るディジタル検証支援装置が全通り法を用いた場合の割込み位置とスナップショット位置との関係を示す図。FIG. 4 is a diagram showing the relationship between the interrupt position and the snapshot position when the digital verification support device according to the first embodiment of the present invention uses the exhaustive method; 本発明の実施形態に係るディジタル検証支援装置がX均等法を用いた場合の割込み位置とスナップショット位置との関係を示す図。FIG. 4 is a diagram showing the relationship between interrupt positions and snapshot positions when the digital verification support device according to the embodiment of the present invention uses the X equality method; X均等法を用いた場合の問題点を示す図。The figure which shows the problem at the time of using X equality method. X均等法を用いた場合の問題点を示す図。The figure which shows the problem at the time of using X equality method. 本発明の実施形態に係るディジタル検証支援装置がY均等法を用いた場合の割込み位置とスナップショット位置との関係を示す図。FIG. 4 is a diagram showing the relationship between interrupt positions and snapshot positions when the digital verification support device according to the embodiment of the present invention uses the Y equality method; Y均等法を用いた場合の問題点を示す図。The figure which shows the problem at the time of using Y equality method. 本発明の実施形態に係るディジタル検証支援装置が傾き法を用いた場合の割込み位置とスナップショット位置との関係を示す図。FIG. 5 is a diagram showing the relationship between the interrupt position and the snapshot position when the digital verification support device according to the embodiment of the present invention uses the tilt method; 傾き法を用いた場合の問題点を示す図。The figure which shows the problem at the time of using the inclination method. 本発明の実施形態に係るディジタル検証支援装置が面積法を用いた場合の割込み位置と第1番目のスナップショット位置との関係を示す図。FIG. 4 is a diagram showing the relationship between the interrupt position and the first snapshot position when the digital verification support device according to the embodiment of the present invention uses the area method; 本発明の実施形態に係るディジタル検証支援装置が面積法を用いた場合の割込み位置と第2番目のスナップショット位置との関係を示す図。FIG. 5 is a diagram showing the relationship between the interrupt position and the second snapshot position when the digital verification support device according to the embodiment of the present invention uses the area method; 本発明の実施形態に係るディジタル検証支援装置が面積法を用いた場合の割込み位置と第3番目のスナップショット位置との関係を示す図。FIG. 10 is a diagram showing the relationship between the interrupt position and the third snapshot position when the digital verification support device according to the embodiment of the present invention uses the area method; 本発明の実施形態に係るディジタル検証支援装置が面積法を用いた場合の割込み位置と第M番目のスナップショット位置との関係を示す図。FIG. 10 is a diagram showing the relationship between the interrupt position and the M-th snapshot position when the digital verification support device according to the embodiment of the present invention uses the area method;

以下添付図面を参照して、本発明の実施形態に係るディジタル検証支援装置及びディジタル検証支援用プログラムを説明する。各図において同一の構成要素には、同一の符号を付して重複する説明を省略する。図3に第1の実施形態に係るディジタル検証支援装置を用いたディジタル検証システムの構成を示す。この実施形態では、ディジタル検証装置であるシミュレータ100と、第1の実施形態に係るディジタル検証支援装置200とを備えている。シミュレータ100には、ベクタファイル130によるベクタが与えられる。ベクタがシミュレータ100により実行されることによりログが作成される。 A digital verification support device and a digital verification support program according to embodiments of the present invention will be described below with reference to the accompanying drawings. In each figure, the same components are denoted by the same reference numerals, and overlapping descriptions are omitted. FIG. 3 shows the configuration of a digital verification system using the digital verification support device according to the first embodiment. This embodiment comprises a simulator 100, which is a digital verification device, and a digital verification support device 200 according to the first embodiment. Simulator 100 is provided with vectors by vector file 130 . A log is created as the vectors are executed by the simulator 100 .

図3では1つのシミュレータ100により1つのベクタが実行されるように描かれているが、実際は図4のように、シミュレータ100は、複数のディジタル検証装置1-1、1-2、・・・、1-Nにより構成されるものであり、ベクタファイル130から、ベクタ2-1がディジタル検証装置1-1、ベクタ2-2がディジタル検証装置1-2に、・・・、ベクタ2-Nがディジタル検証装置1-Nに与えられて実行される。 Although FIG. 3 shows that one vector is executed by one simulator 100, the simulator 100 actually includes a plurality of digital verification devices 1-1, 1-2, . . . , 1-N, from the vector file 130, the vector 2-1 is the digital verification device 1-1, the vector 2-2 is the digital verification device 1-2, . is given to the digital verification device 1-N and executed.

この結果、ログ3-1、3-2、・・・、3-Nが得られる。このログ3-1、3-2、・・・、3-Nは、ステートマシンのステート変化が記述されている。シミュレータ100により作成されたログ3-1、3-2、・・・、3-Nは、ディジタル検証支援装置200の割込位置検出手段210が受け取る。割込位置検出手段210は、ステート変化の時点であってユニークな内部状態である時を割込位置として検出する。ユニークな内部状態である時を割込位置として検出する理由は、同じ内部状態からの割込が重複することを防止するためである。上記のようにしてベクタ2-1、2-2、・・・、2-Nにおいて検出された割込位置情報は、割込位置データベース230に記憶される。 As a result, logs 3-1, 3-2, . . . , 3-N are obtained. The logs 3-1, 3-2, . . . , 3-N describe state changes of the state machine. Logs 3-1, 3-2, . The interrupt position detecting means 210 detects the time of state change and the unique internal state as the interrupt position. The reason for detecting a unique internal state as an interrupt position is to prevent duplicate interrupts from the same internal state. The interrupt position information detected in vectors 2-1, 2-2, . . . , 2-N as described above is stored in interrupt position database 230. FIG.

ディジタル検証支援装置200には、スナップショット位置決定手段220が備えられている。スナップショット位置決定手段220は、上記割込位置検出手段210により検出された割込位置に基づきスナップショットを実行すべき所定数の最適スナップショット位置を決定するものである。 Digital verification support device 200 is provided with snapshot position determination means 220 . The snapshot position determining means 220 determines a predetermined number of optimal snapshot positions at which snapshots should be executed based on the interrupt positions detected by the interrupt position detecting means 210 .

シミュレータ100には、スナップショット情報取得保持手段110とベクタ処理手段120とが備えられている。スナップショット情報取得保持手段110は、上記スナップショット位置決定手段220により決定された最適スナップショット位置において上記シミュレータ100が現状の復元に用いるスナップショット情報を取得し保持するものである。ベクタ処理手段120は、ベクタを先頭から実行して未処理の割込位置へ到ると、当該割込位置に対応する割込処理を実行して割込処理が終了となると、この割込位置に対応する最適スナップショット位置のスナップショット情報に基づき復元を行うまでの一連処理を実行し、当該最適スナップショット位置から上記ベクタの実行へと進むものである。この処理では、処理が図7に示されるように進む。 The simulator 100 is provided with a snapshot information acquisition/holding means 110 and a vector processing means 120 . The snapshot information acquiring/holding means 110 acquires and holds snapshot information used by the simulator 100 for restoring the current state at the optimal snapshot position determined by the snapshot position determining means 220 . The vector processing means 120 executes the vector from the beginning and, when reaching an unprocessed interrupt position, executes interrupt processing corresponding to the interrupt position. A series of processes up to restoration are executed based on the snapshot information of the optimum snapshot position corresponding to , and the vector is executed from the optimum snapshot position. In this process, the process proceeds as shown in FIG.

以上の構成を有するディジタル検証支援装置200では、図5に示すフローチャートにより処理が行われる。まず、全ベクタの実行によりログ収集を行い、ログの中からステート変化点を見つけて割込位置を検出する処理を行う(S11)。この結果、図6の割込情報IPIに示すように、ベクタ1、べクタ2、…、ベクタ841に示すように割込位置(10000、10500、50000、・・・、10000などの割込位置)が得られる。なお、割込位置やスナップショット位置の単位は、特に限定はないが、ここではmsec或いはnsecなどを用いることができる。 In the digital verification support apparatus 200 having the above configuration, processing is performed according to the flowchart shown in FIG. First, logs are collected by executing all vectors, and a process of detecting an interrupt position by finding a state change point from the log is performed (S11). As a result, as shown in the interrupt information IPI in FIG. 6, vector 1, vector 2, . ) is obtained. Note that the unit of the interrupt position and the snapshot position is not particularly limited, but msec or nsec can be used here.

次の1つのベクタにおける割込位置を取り出し、所定数の最適スナップショット位置を求める(S12)。最適スナップショット位置は、基本的に各割込位置の前であり、先の割込位置に重ならない時点であることが好適である。図6の例では、割込位置として10000、10500、20000、30000、・・・がベクタ1の割込位置IPI-V1として取り出されたことを示している。 The interrupt positions in the next vector are fetched and a predetermined number of optimal snapshot positions are obtained (S12). Preferably, the optimal snapshot location is essentially before each interrupt location and does not overlap the previous interrupt location. The example of FIG. 6 shows that 10000, 10500, 20000, 30000, .

そして、最適スナップショット位置の計算では、2つの割込位置10000と割込位置10500の前の9000が決定され、2つの割込位置20000、割込位置30000の前の19000が決定され、・・・、というように、所定数の割込位置の前にスナップショット位置を設ける手法により、ベクタ1の最適スナップショット位置SS-V1として決定されたことを示している。次に、割込位置情報とスナップショット位置情報を用いてスナップショット、割込、割込み処理及割込終了、スナップショット位置へのリターン、スナップショット位置における状態復旧処理、更にベクタ処理の続行が行われるように図6に示す、tclによる命令SS-INTを作成する(S13)。図6の命令SS-INTには、ベクタ1に対する割込み処理の場合のスナップショット等の処理の命令が記載されている。 Then, in calculating the optimal snapshot location, two interrupt positions 10000 and 9000 before the interrupt position 10500 are determined, two interrupt positions 20000 and 19000 before the interrupt position 30000 are determined, . , and so on, the optimal snapshot position SS-V1 of vector 1 is determined by the method of setting the snapshot positions before the predetermined number of interrupt positions. Next, using the interrupt position information and the snapshot position information, snapshot, interrupt, interrupt processing and interrupt termination, return to the snapshot position, state recovery processing at the snapshot position, and further vector processing continuation are performed. As shown in FIG. 6, an instruction SS-INT by tcl is created (S13). Instruction SS-INT in FIG. 6 describes an instruction for processing such as a snapshot in the case of interrupt processing for vector 1 .

ステップS14においては、全てのベクタについて命令が作成されたのかを検出し、NOとなると、ステップS12へ戻って処理が続けられる。全てのベクタについて命令が作成された場合には、処理が終了となる。 In step S14, it is detected whether instructions have been generated for all vectors, and if NO, the process returns to step S12 to continue processing. If instructions have been created for all vectors, the process ends.

図6に示す、tclによる命令SS-INTをベクタ1において実行した結果を、図7に示す。この図7から明らかな通り、割込みが10000、10500において生じた場合には、戻る位置はスナップショットの位置である9000であり、割込みが20000、30000において生じた場合には、戻る位置はスナップショットの位置である19000である。従って、いずれの割込みにおいてもベクタの最初の位置へ戻っていた従来手法に比べて時間短縮を図ることができる。 FIG. 7 shows the result of executing the instruction SS-INT by tcl shown in FIG. 6 on vector 1. FIG. As is clear from FIG. 7, when an interrupt occurs at 10000 and 10500, the return position is 9000, which is the snapshot position, and when an interrupt occurs at 20000 and 30000, the return position is snapshot 9000. is 19000, which is the position of Therefore, the time can be shortened as compared with the conventional method which returns to the initial position of the vector in any interrupt.

図6に示したスナップショットを用いた割込処理を採用したベクタの実行によれば、最初から最後まで基本同じところを2回以上通過しないことは明らかである。従って、理論上のシミュレーション最速時間は「割込み処理に要する時間」が全て同じTintであるとして、(30000+(Tintx4))で済むことが分かる。しかし、ディジタル検証支援装置として用いられている多くのシミュレータには、いくつかの問題や制限がある。 It is clear from the execution of the vectors employing interrupt processing using snapshots shown in FIG. Therefore, it can be seen that the fastest theoretical simulation time can be (30000+(T int x4)), assuming that the "time required for interrupt processing" is all the same T int . However, many simulators used as digital verification aids have some problems and limitations.

その1は、スナップショット数に制限がある場合があることである。シミュレータによっては、1ベクタにおいて取得可能なスナップショット数に、制限がある(例えば14まで)。このため、割込みの前にスナップショットを選択的に14か所において実行するしかない。 The first is that the number of snapshots may be limited. Some simulators have limits on the number of snapshots that can be taken in one vector (eg, up to 14). Therefore, there is no choice but to selectively perform a snapshot at 14 locations before the interrupt.

その2は、割込み数に制限がある場合があることである。シミュレータによっては、1ベクタにおいてスナップショット位置への復帰動作は所定回(例えば500)までという制限(実測値)があるため、所定回以上の割込みポイントを持つベクタについは、分割せざるを得ない。 The second is that the number of interrupts may be limited. Depending on the simulator, there is a limit (measured value) that the return operation to the snapshot position can be performed up to a predetermined number of times (for example, 500) in one vector. .

その3は、スナップショット処理に時間を要するということである。スナップショットによる現状の復元に用いるスナップショット情報の作成に75s、1回目の呼出に85s、2回目以降の呼出に1s(実測平均値)要する。むやみにスナップショットを増やすと、時間が増大するという結果になる。 The third is that snapshot processing takes time. It takes 75 s to create the snapshot information used to restore the current state by snapshot, 85 s for the first call, and 1 s (actual average value) for the second and subsequent calls. Increasing snapshots unnecessarily results in increased time.

その4は、スナップショットを配置できない期間があるということである。ある特定の期間にスナップショットを配置すると保存データが変化する(所謂、「化ける」)現象があるため、割込みポイントからマージンを取って遡ってスナップショットを配置する必要がある。 The fourth is that there is a period during which snapshots cannot be placed. Since there is a phenomenon in which stored data changes (so-called "garbage") when snapshots are placed in a specific period, snapshots must be placed retroactively with a margin from the interrupt point.

以上の制限に鑑み、スナップショット位置決定手段220がスナップショットを実行すべき所定数の最適スナップショット位置を決定する場合に、最適位置を得るための処理を行う必要がある。即ち、ベクタの長さと割込みポイントの位置、数によって、スナップショットの配置場所を調整する必要がある。 In view of the above limitations, when the snapshot position determining means 220 determines a predetermined number of optimum snapshot positions at which snapshots should be performed, it is necessary to perform processing for obtaining the optimum positions. That is, it is necessary to adjust the location of snapshots according to the length of the vector and the position and number of interrupt points.

ここでは、最大14回のスナップショットを如何に配置すればシミュレーション時間が最速になるかを考察してみることとする。例えば、図8に示すように、割込み時間(割込み位置)を黒丸により示し、スナップショット位置を下側に尖った三角形マークにより示す位置とした場合には、シミュレーションに要する時間は棒線により示される。従って、このベクタにおけるシミュレーションに要する総合計時間は、棒線の長さを合計したものと考えることができる。 Here, let us consider how to arrange snapshots up to 14 times to maximize the simulation time. For example, as shown in FIG. 8, when the interrupt time (interrupt position) is indicated by a black circle and the snapshot position is indicated by a triangle mark pointed downward, the time required for the simulation is indicated by a bar line. . Therefore, the total total time required for simulation in this vector can be thought of as the sum of the lengths of the bars.

図8において、スナップショットの配置とシミュレーションの流れの関係を注視すると、次の2点に気付くことができる。一つは、一回目の割込みポイントの前に必ずスナップショットを配置する必要があるということである。このため、スナップショットの配置に関し、実質的研究対象は残りの13ポイントになるということである。もう一つは、割込み位置が密集した部分の前にスナップショットを配置した方がシミュレーションに要する総合計時間を短くすることが可能になるということである。 Looking closely at the relationship between the arrangement of snapshots and the flow of simulation in FIG. 8, the following two points can be noticed. One is that the snapshot must always be placed before the first interrupt point. For this reason, the remaining 13 points are the real subject of research regarding the arrangement of snapshots. The other is that arranging the snapshot before the part where the interrupt positions are concentrated can shorten the total total time required for the simulation.

以上に鑑み、スナップショット位置決定手段220の構成を第1から第5までの5つの実施形態のように構成することができる。先の例ではスナップショットの位置の数を14として説明したが、以下ではMポイントとする。第1の実施形態では、各割込位置より直前の位置であって他の割込位置に重ならないN点の位置から異なる位置のM点の組合せを選択する選択方法を全通りの数行う。図9においては、黒丸により示した割込み位置が存在する場合に、隣接する黒丸の間の数が(N-1)であり、最前の黒丸の前の位置が1つで、合計N点のスナップショット可能位置が存在する。スナップショット数はMに制限されているから、上記N点からM点を選択することができる。このM点の例示を、図9においては、下側に尖った三角形マーク1、2、3、4、・・・により示している。 In view of the above, the configuration of the snapshot position determining means 220 can be configured as in the first to fifth embodiments. In the previous example, the number of snapshot positions was 14, but in the following, it is assumed to be M points. In the first embodiment, a total number of selection methods are performed to select a combination of M points at different positions from N point positions that are positions immediately before each interrupt position and do not overlap with other interrupt positions. In FIG. 9, if there are interrupt positions indicated by black circles, the number between adjacent black circles is (N−1), and the position before the frontmost black circle is one, for a total of N points of snapping. There is a shot possible position. Since the number of snapshots is limited to M, M points can be selected from the above N points. An example of this point M is indicated by triangular marks 1, 2, 3, 4, . . . pointing downward in FIG.

更に、スナップショット位置決定手段220は、上記各選択方法において選択された全通りのM点の組合せを最適スナップショット位置候補として、上記ベクタ処理手段120による一連処理の時間の合計が最短となる組合せを求める。つまり、この最短となる組合せに係るM点を、最適スナップショット位置として決定する。この第1の実施形態の手法を「全通り法」と称する。 Furthermore, the snapshot position determining means 220 selects the combination of all the M points selected by each of the above selection methods as the optimum snapshot position candidate, and selects the combination that minimizes the total time for the series of processing by the vector processing means 120. Ask for That is, the point M associated with this shortest combination is determined as the optimum snapshot position. The method of this first embodiment is called the "all-way method".

「全通り法」では、時間を与えれば、確実に最短経路の正解を見つけることができる。しかし、割込み位置の数が多くなると、処理時間が指数関数的に増加し、運用が難しくなるという問題点がある。例えば、割込みが500箇所あるベクタにおいては、必ずスナップショットが必要となる最初の割込み位置とスナップショットが不要となる最後の割込み位置を対象外としても、これら2地点を除いた合計498箇所から例えば13ポイントを選択してスナップショットを配置することになる。この場合には、探索回数は49813=1.15×1035と天文学的数字となるから、1日処理しても終わらないことが分かる。このため、第1の実施形態による手法は割込み位置の数が少ない場合に採用することが好適である。 In the "all-path method", if time is given, the correct answer of the shortest path can be found with certainty. However, as the number of interrupt positions increases, the processing time increases exponentially, making operation difficult. For example, in a vector with 500 interrupts, even if the first interrupt position that always requires a snapshot and the last interrupt position that does not require a snapshot are excluded, from a total of 498 positions excluding these two points, for example 13 points will be selected to place the snapshot. In this case, the number of searches is 498 13 =1.15×10 35 , which is an astronomical figure, so it can be seen that the processing will not end even after one day. Therefore, it is preferable to adopt the method according to the first embodiment when the number of interrupt positions is small.

第2の実施形態では、スナップショット位置決定手段220は、各割込位置より直前の位置であって他の割込位置に重ならないN点を、全処理時間Mを均等分割した区間内に配置する。即ち、第1の割込み位置から最終の割込み位置までの時間を1/Mに分割した区間を1区間とし、この均等分割位置を最適スナップショット位置として決定するのである。各区間の広さ(時間幅)は等しいが、それぞれの区間に入る割込み位置の数は異なる。この手法をX均等法と称する。 In the second embodiment, the snapshot position determining means 220 arranges N points that are positions immediately before each interrupt position and do not overlap with other interrupt positions, within the interval equally dividing the total processing time M. do. That is, the interval obtained by dividing the time from the first interrupt position to the final interrupt position by 1/M is defined as one interval, and this equally divided position is determined as the optimum snapshot position. The width (time width) of each interval is the same, but the number of interrupt positions in each interval is different. This method is called the X equal method.

上記Mを14として説明すると、割込み発生期間を14等分してスナップショット位置を均等に配置する方法(図10)である。ここでも、割込み時間(割込み位置)を黒丸により示し、スナップショット位置を下側に尖った三角形マークにより示す。具体的には、最初の割込み時間をt0とし、最後の割込み時間をtendとしたときに、スナップショットの時間は、

Figure 0007180043000003
を基準に調整を行った結果となる。調整は次のルールで行う。第1のルールは、次の割込み位置の直前にスナップショット位置をずらす、というものである。また、第2のルールは、次の割込み位置までにスナップショットが2つ以上あったら、1つのみ残す、というものである。 Assuming that M is 14, this method divides the interrupt occurrence period into 14 equal parts and evenly arranges the snapshot positions (FIG. 10). Here again, the interrupt time (interrupt position) is indicated by a black circle, and the snapshot position is indicated by a downward pointed triangular mark. Specifically, when the first interrupt time is t 0 and the last interrupt time is t end , the snapshot time is
Figure 0007180043000003
is the result of adjustment based on Adjustments are made according to the following rules. The first rule is to shift the snapshot position just before the next interrupt position. Also, the second rule is that if there are two or more snapshots before the next interrupt position, only one is left.

一見バランス良く配置されるように思えるが、図11のような割込みポイントの密集度のバラつきが激しいベクタではうまく対応できないことがある。また、このX均等法により割り出されたスナップショットの配置には、図12に示すように、次の2つの問題がある。
問題1:密集している割込みの間に入ることがある。
問題2:割込み数が多い期間に入らないことがある。
結局、「全通り法」に比べて、計算量が1回のみで処理時間が短い反面、精度が悪いことが分かる。
At first glance, it seems that they are arranged in a well-balanced manner, but it may not be possible to cope well with a vector in which the density of interrupt points varies greatly as shown in FIG. 11 . In addition, as shown in FIG. 12, there are two problems with the arrangement of snapshots determined by this X equality method.
Problem 1: It can get stuck between busy interrupts.
Problem 2: It may not be possible to enter a period with a large number of interrupts.
As a result, it can be seen that the amount of calculation is only one time and the processing time is short, but the accuracy is low compared to the "all-pass method".

次の第3の実施形態では、スナップショット位置決定手段220は、各割込位置より直前の位置であって他の割込位置に重ならないN点を、1/Mずつの数に分割する位置を最適スナップショット位置として決定するものである。つまり、N点を1/Mとして、1つの区間に同じ数の割込み位置が含まれるようにする。従って、各区間の幅は異なることが多い。この手法をY均等法と称する。 In the next third embodiment, the snapshot position determining means 220 divides N points that are positions immediately before each interrupt position and do not overlap with other interrupt positions into 1/M points. is determined as the optimum snapshot position. That is, the N points are set to 1/M so that one section includes the same number of interrupt positions. Therefore, the width of each section is often different. This method is called the Y equal method.

上記Mを14として説明すると、割込み発生回数を14等分して、図13に示すように、スナップショットを均等に配置する方法である。単純に割込み数を14で割ったところの割込みポイントの直前にスナップショットを置くので、X均等法において説明した問題2は解決するものの、別の問題が浮上する。図11に示したベクタの如く割込みが発生するパターンに対し、本実施形態のY均等法を用いると、図14に示す2つの問題が確認された。 Assuming that M is 14, this is a method of equally dividing the number of interrupt occurrences by 14 and evenly arranging the snapshots as shown in FIG. Placing the snapshot just before the interrupt point, which is simply dividing the number of interrupts by 14, solves problem 2 described in the X equality method, but raises another problem. Two problems shown in FIG. 14 were confirmed when the Y equality method of this embodiment was used for the pattern in which an interrupt occurs, such as the vector shown in FIG.

問題1:割込み数の少ない長い期間に入らないことがある。
問題2:X均等法以上に密集している割込みの間に入りやすくなる。
結局、計算量はX均等法と同じく1回で、正確性を少し改善するものの、まだ精度が悪いという問題がある。
Problem 1: It may not enter a long period with few interrupts.
Problem 2: Easier to get between interrupts that are more dense than the X-equal method.
As a result, the amount of calculation is one time, like the X equal method, and although the accuracy is slightly improved, there is still the problem that the accuracy is poor.

次の第4の実施形態では、スナップショット位置決定手段220は、各割込位置より直前の位置であって他の割込位置に重ならないN点において、隣接する点の間隔が長い方から(M-1)組の隣接点を求める。上記のようにして求めた各(M-1)組の隣接点において、後の(M-1)点を最適スナップショット位置として決定する。最初のスナップショットの位置は、最初の割込み位置の直前とする。この手法を「傾き法」と称する。 In the next fourth embodiment, the snapshot position determining means 220 determines, at N points that are positions immediately before each interrupt position and do not overlap with other interrupt positions, from the point with the longest interval between adjacent points ( M-1) Find a set of neighboring points. In each (M−1) pair of adjacent points obtained as described above, the later (M−1) point is determined as the optimum snapshot position. The position of the first snapshot shall be just before the position of the first interrupt. This method is called the "tilt method".

上記Mを14として説明すると、隣接する割込みの間隔が長い割込み位置のペアを求め、長い順に13まで採用する方法である。具体的には、隣接した割込みの間の時間差を大きい順から13ポイント選択する。図15のように、割込み間隔順がΔt5>Δt9>Δt15>Δt2>・・・となった場合、t5,t9,t15,t2の直前に(各区間の割込み位置のペア中の後ろ側の割込み位置の直前に)スナップショット位置を置くことになる。 Assuming that M is 14, this is a method in which pairs of interrupt positions with long intervals between adjacent interrupts are obtained and up to 13 are adopted in descending order. Specifically, 13 points are selected in descending order of the time difference between adjacent interrupts. As shown in Fig. 15, when the order of interrupt intervals is Δt5>Δt9>Δt15>Δt2>..., immediately before t5, t9, t15, t2 (the rear interrupt in the pair of interrupt positions in each section (just before the position).

本実施形態によれば、大きい間隔のみ選択されるため、Y均等法の問題1と問題2は回避できると考えられる。しかし、図16のようなベクタの如く割込みが発生するパターンでは、やはり問題が1つ残っている。
問題1:個々の間隔がトップ13まで届かないが、比較的に長い期間があった場合に、この期間にスナップショット位置が配置されないことがある。
According to this embodiment, only large intervals are selected, so it is considered that problems 1 and 2 of the Y equal method can be avoided. However, one problem still remains in the pattern in which an interrupt occurs, such as the vector shown in FIG.
Problem 1: If there is a relatively long period of time where each interval does not reach the top 13, the snapshot position may not be placed during this period.

本実施形態は、時間差に注目することで、少ない計算量でX均等法にもY均等法にもあるような割込み位置が密集する領域にスナップショット位置が入ってしまう問題が解決された。しかし、時間差のみをパラメータとするため、全体のバランス感に欠ける場合が生じ、精度が上がらない原因となると考えられた。 In this embodiment, by focusing on the time difference, the problem that the snapshot position is included in the area where the interrupt positions are concentrated, which occurs in both the X equality method and the Y equality method, is solved with a small amount of calculation. However, since only the time difference is used as a parameter, there may be cases where the overall sense of balance is lacking, and this is thought to be the cause of the lack of accuracy.

次の第5の実施形態では、スナップショット位置決定手段220は、全ての割込み数に対応する長さをL1とし、ベクタの最初から第1の最適スナップショット位置までの距離をS0として、面積S0×L1を求め、ベクタの最初から第2の最適スナップショット位置までの距離をS1、全ての割込み数から第1の最適スナップショット位置を用いて行われる割込み数を引いた値に対応する長さをL2とし、面積(S1-S0)×L2を求め、ベクタの最初から第3の最適スナップショット位置までの距離をS2、全ての割込み数から第2の最適スナップショット位置を用いて行われる割込み数を引いた値に対応する長さをL3とし、面積(S2-S1)×L3を求め、・・・、ベクタの最初から第Mの最適スナップショット位置までの距離をSM、全ての割込み数から第Mの最適スナップショット位置を用いて行われる割込み数を引いた値に対応する長さをLMとし、面積(SM-SM-1)×LMを求め、上記面積の加算結果が最大となる各最適スナップショット位置を求める「面積法」を実行する。 In the next fifth embodiment, the snapshot position determination means 220 sets the length corresponding to all interrupt numbers to L1, the distance from the beginning of the vector to the first optimum snapshot position to S0 , and the area Find S 0 ×L1, the distance from the beginning of the vector to the second best snapshot location corresponds to S 1 , the total number of interrupts minus the number of interrupts made using the first best snapshot location. L2 is the length to be taken, area (S 1 −S 0 )×L2 is obtained, S 2 is the distance from the beginning of the vector to the third optimal snapshot position, and the second optimal snapshot position is obtained from all interrupt numbers. Let L3 be the length corresponding to the value obtained by subtracting the number of interrupts performed using , and obtain the area (S 2 -S 1 )×L3, Let S M be the distance, LM be the length corresponding to the number of all interrupts minus the number of interrupts made using the Mth best snapshot location, and let area (S M −S M−1 )×LM be Then, the "area method" is performed to find each optimum snapshot position where the addition result of the above areas is maximum.

上記の手法について、図を用いながら説明する。図17において、ベクタのスタートから処理P1が行われ、第1番目の割込み位置が時刻t0に存在するものとし、この時刻t0の直前に第1の最適スナップショット位置S0が配置される。第1の最適スナップショット位置S0から右側に示されている線分は割込み発生までのシミュレーション時間を示し、その線分数は割込み処理の数を示すことになる。従って、図17におけるL1は全ての割込み数に対応する長さであると言える。まず、スナップショット位置決定手段220は、面積S0×L1を求める。 The above method will be described with reference to the drawings. In FIG. 17, processing P1 is performed from the start of the vector, the first interrupt position is at time t0 , and the first optimum snapshot position S0 is placed just before this time t0 . . The line segment shown on the right side from the first optimum snapshot position S0 indicates the simulation time until the occurrence of an interrupt, and the number of line segments indicates the number of interrupt processes. Therefore, it can be said that L1 in FIG. 17 has a length corresponding to all interrupt numbers. First, the snapshot position determining means 220 obtains the area S 0 ×L1.

次に、第2の最適スナップショット位置S1が図18に示すように決まると、ベクタの最初から第2の最適スナップショット位置までの距離をS1-S0とすることができる。また、第2の最適スナップショット位置S1を用いて行われる割込み数に対応する長さは、図18のL2となる。そこで、スナップショット位置決定手段220は、面積(S1-S0)×L2を求める。 Then, once the second best snapshot location S 1 is determined as shown in FIG. 18, the distance from the beginning of the vector to the second best snapshot location can be S 1 -S 0 . Also, the length corresponding to the number of interrupts performed using the second optimum snapshot position S1 is L2 in FIG. Therefore, the snapshot position determining means 220 obtains the area (S 1 -S 0 )×L2.

次に、第3の最適スナップショット位置S2が図19に示すように決まると、ベクタの最初から第3の最適スナップショット位置までの距離をS2-S0とすることができる。また、第3の最適スナップショット位置S2を用いて行われる割込み数に対応する長さは、図19のL3となる。そこで、スナップショット位置決定手段220は、面積(S2-S1)×L3を求める。 Then, once the third optimal snapshot location S 2 is determined as shown in FIG. 19, the distance from the beginning of the vector to the third optimal snapshot location can be S 2 -S 0 . Also, the length corresponding to the number of interrupts performed using the third optimum snapshot position S2 is L3 in FIG. Therefore, the snapshot position determining means 220 obtains the area (S 2 -S 1 )×L3.

以下同様にして次々に面積を求めて行く。そして、第Mの最適スナップショット位置SMが図20に示すように決まると、ベクタの最初から第Mの最適スナップショット位置までの距離をSM-S0とすることができる。また、第Mの最適スナップショット位置SMを用いて行われる割込み数に対応する長さは、図20のLMとなる。そこで、スナップショット位置決定手段220は、面積(SM-SM-1)×LMを求める。 Areas are obtained one after another in the same manner. Then, when the Mth optimum snapshot position S M is determined as shown in FIG. 20, the distance from the beginning of the vector to the Mth optimum snapshot position can be S M −S 0 . Also, the length corresponding to the number of interrupts performed using the M-th optimum snapshot position S M is LM in FIG. Therefore, the snapshot position determining means 220 obtains the area (S M −S M−1 )×LM.

スナップショット位置決定手段220は、上記で求めた面積の加算結果が最大となる各最適スナップショット位置を求める。この場合、第1の最適スナップショット位置S0は最初の割込み位置の直前であり、固定であるから面積S0×L1は変動しない。第2の最適スナップショット位置S1は第2番目から第(N-1)番目の割込み位置から選択できるので、面積(S1-S0)×L2が最大となる割込み位置を選択する。 The snapshot position determining means 220 obtains each optimum snapshot position at which the sum of the areas obtained above is maximized. In this case, the first optimal snapshot position S 0 is just before the first interrupt position, and since it is fixed, the area S 0 ×L1 does not change. Since the second optimum snapshot location S 1 can be selected from the 2nd to (N-1)th interrupt locations, the interrupt location that maximizes the area (S 1 -S 0 )×L2 is selected.

次の第2の最適スナップショット位置S2についても、幾つかの割込み位置から選択できるので、面積(S2-S1)×L3が最大となる割込み位置を選択する。以下同様に選択を行うことになる。 Since several interrupt positions can be selected for the second optimum snapshot position S 2 as well, the interrupt position with the maximum area (S 2 -S 1 )×L3 is selected. The following selections are made in the same way.

本実施形態である「面積法」は、以下のような計算によっても実現できる。割込み位置がNポイントあるとして、それぞれの発生時刻をt0,t1,t2,・・・,tN-1とする。t0の直前にスナップショット位置を置くので、この位置を図17に示すようにS0=0とする。図18に示すように、t1,t2,・・・,tN-2の中から第2番目のスナップショット位置を選択する。この選択に当たっては、(tn-t0)×(N-1-n)が最大値となるn(1≦n≦N-2)を選択し、このtnの位置を第2番目のスナップショット位置S1とする。 The "area method" of this embodiment can also be realized by the following calculations. Assuming that there are N interrupt positions, their occurrence times are t 0 , t 1 , t 2 , . . . , t N-1 . Since we put the snapshot position just before t 0 , let this position be S0=0 as shown in FIG. As shown in FIG. 18, select the second snapshot position among t 1 , t 2 , . . . , t N-2 . For this selection, select n (1≤n≤N-2) where (t n -t 0 ) x (N-1-n) is the maximum value, and position this t n at the second snap. Let the shot position be S1 .

次に、図19に示すように、t1,・・・,tS1-1,tS1+1,・・・,tN-2の中から第3番目のスナップショット位置を選択する。この選択に当たっては、(tn-t0)×(S1-n)(1≦n≦S1-1の時)、(tn-tS1)×(N-1-n)(S1+1≦n≦N-2の時)から値が最大値となるnを選択し、このtnの位置を第3番目のスナップショット位置S2とする。ここでは更に、S0<S1<S2となるように並べ替えを行う。 Next, as shown in FIG. 19, the third snapshot position is selected from t 1 , . . . , t S1-1 , t S1+1 , . In this selection, (t n - t 0 ) x (S 1 - n) (when 1≤n≤S 1 -1), (t n - t S1 ) x (N-1-n) (S 1 +1 ≤ n ≤ N-2), and the position of this t n is taken as the third snapshot position S 2 . Further, here, rearrangement is performed so as to satisfy S 0 <S 1 <S 2 .

次に、図20に示すように、t1,・・・,tS1-1,tS1+1,・・・,tS2-1,tS2+1,・・・,tN-2の中から第4番目のスナップショット位置を選択する。この選択に当たっては、(tn-t0)×(S1-n)(1≦n≦S1-1の時)、(tn-tS1)×(S2-n)(S1+1≦n≦S2-1の時)、(tn-tS2)×(N-1-n)(S2+1≦n≦N-2の時)値が最大値となるnを選択し、このtnの位置を第4番目のスナップショット位置S3とする。ここでは更に、S0<S1<S2<S3となるように並べ替えを行う。 Next, as shown in FIG. 20, t 1 , . . . , t S1-1 , t S1 +1 , . Select the 4th snapshot location in the middle. In this selection, (t n - t 0 ) x (S 1 - n) (when 1 ≤ n ≤ S 1 - 1), (t n - t S1 ) x (S 2 - n) (S 1 + 1 ≤ n ≤ S 2 -1), (t n - t S2 ) x (N-1-n) (when S 2 + 1 ≤ n ≤ N-2) select n that maximizes the value, The position of this t n is defined as the fourth snapshot position S 3 . Further, here, rearrangement is performed so that S 0 <S 1 <S 2 <S 3 .

上記と同様の処理を第14番目のスナップショット位置まで行う。このようにして14個のスナップショットを一つずつ割り出すことができる。また、先に述べたように、多くのシミュレータに存在するいくつかの問題や制限における「その3」に記載の通り、ある一定の面積以下になればスナップショットの取得と呼出し時間が時間短縮の効果に勝ることになり、逆効果となる事態が生じるので、スナップショットの制限回数の最大値となる前に処理を中止しても良い。即ち、最大値が14回であるときに、必ずしも14回まで計算しなくとも良い。 The same processing as above is performed up to the 14th snapshot position. In this way, 14 snapshots can be determined one by one. Also, as mentioned earlier, as described in "Part 3" in some problems and limitations that exist in many simulators, if the area is less than a certain amount, the acquisition and call time of snapshots can be shortened. Since this will overwhelm the effect and cause a counterproductive situation, the processing may be stopped before the maximum number of snapshots is reached. That is, when the maximum value is 14 times, it is not necessary to calculate up to 14 times.

スナップショットの制限回数が14の場合、面積法の利害得失を考察する。計算量は最大約14×(N―2)回で、前述のX均等法やY均等法より少し多いが、無視できるレベルの処理時間と考えられる。全通り法ほど完璧な最速解にならない可能性はあるが、割込み数が多ければ多いほど、限りなく最速ルートに近づけるアルゴリズムと考えられる。前述4つの手法の各問題は面積法によって全て解決でき、さらに、もう一つの大きなメリットは、他の手法で議論の余地すらなかった計算処理の中止をすることができることである。 When the number of snapshots is limited to 14, the advantages and disadvantages of the area method are considered. The amount of calculation is about 14×(N−2) times at maximum, which is slightly larger than the above-described X equality method and Y equality method, but the processing time is considered to be negligible. Although there is a possibility that the fastest solution will not be as perfect as the all-path method, the more interrupts there are, the closer to the fastest route the algorithm can be. All the problems of the above four methods can be solved by the area method, and another great merit is that it is possible to stop the calculation process, which was not even controversial with the other methods.

上記の5つの手法について総合的に比較をしてみると、表3に示すように、面積法が時間短縮効果、処理時間、計算処理の中止など全てにおいて有利であることが分かる。スナップショットの効果を一番引き出せると考えられるので、スナップショット位置決定手段220が面積法を採用することが好適である。

Figure 0007180043000004
Comprehensively comparing the above five methods, as shown in Table 3, it can be seen that the area method is advantageous in terms of time reduction effect, processing time, suspension of calculation processing, and so on. It is preferable that the snapshot position determination means 220 adopts the area method because it is considered that the effect of the snapshot can be maximized.
Figure 0007180043000004

また、スナップショット位置決定手段220に、上記5つの手法の構成を全て採用した構成とし、割込み数やスナップショット位置数の制限値などにより、適宜1つの手法を採用するようにしても良い。この場合、どの手法を選択するかをオペレータが指示するように指示入力手段を設けても良いが、割込み数やスナップショット位置数を入力すると、これらの数値に基づき自動的に手法を決定するテーブルを備えさせディジタル検証支援装置が自動で手法を決定するようにしても良い。 Also, the snapshot position determining means 220 may adopt a configuration that employs all of the configurations of the above five methods, and one method may be appropriately adopted depending on the number of interrupts, the limit value of the number of snapshot positions, and the like. In this case, an instruction input means may be provided so that the operator can instruct which method to select. may be provided so that the digital verification support device automatically determines the method.

面積法によるスナップショットを用いてフラッシュメモりにおけるFFh インタラプト検証で効果確認を行った。その効果は、主に時間と品質の2つの観点から評価する。
時間:割込位置データベース230の内容が同じデータベース、同等なシミュレーションリソース環境という条件で、従来方式と本実施形態のスナップショット方式を別々に実行して、比較した結果を表4に示す。

Figure 0007180043000005
The effect was confirmed by FFh interrupt verification in flash memory using snapshots by the area method. The effect is evaluated mainly from the two viewpoints of time and quality.
Time: Table 4 shows the results of a comparison between the conventional method and the snapshot method of this embodiment separately executed under the condition that the content of the interrupt position database 230 is the same and the simulation resource environment is the same.
Figure 0007180043000005

各ベクタのシミュレーション時間の合計時間は、従来方式に比べて93.4%削減と、50並列での実測時間は約92.1%削減することができた。なお、スナップショットの位置を確定する面積法の計算処理は瞬時にできたため、無視して良いと考えられた。これにより、2週間連続実行していた検証が、1日弱で完了できるようになった。 The total simulation time for each vector was reduced by 93.4% compared to the conventional method, and the actual measurement time for 50 parallels was reduced by approximately 92.1%. It should be noted that the calculation processing of the area method for determining the position of the snapshot could be done instantaneously, so it was considered to be negligible. As a result, the verification that had been running continuously for two weeks can now be completed in less than a day.

品質:実行した結果を見ると、従来方式に比べて、発生エラーの種類(IDREAD, SVA, BOOST, MCOND, tRST, Stuckなど)も件数も一致することを確認した。検証品質に差異がないことを示している。 Quality: Looking at the execution results, it was confirmed that the types of errors (IDREAD, SVA, BOOST, MCOND, tRST, Stuck, etc.) and the number of occurrences matched compared to the conventional method. It shows no difference in verification quality.

100 シミュレータ
110 スナップショット情報取得保持手段
120 ベクタ処理手段
130 ベクタファイル
200 ディジタル検証支援装置
210 割込位置検出手段
220 スナップショット位置決定手段
230 割込位置データベース
REFERENCE SIGNS LIST 100 simulator 110 snapshot information acquisition and holding means 120 vector processing means 130 vector file 200 digital verification support device 210 interrupt position detection means 220 snapshot position determination means 230 interrupt position database

Claims (12)

ディジタル検証を行うシミュレータに与えるベクタにおける割込位置を検出する割込位置検出手段と、
この割込位置検出手段により検出された割込位置に基づきスナップショットを実行すべき所定数の最適スナップショット位置を決定するスナップショット位置決定手段と
を具備するディジタル検証支援装置であって、
前記シミュレータに、
前記最適スナップショット位置において前記シミュレータが現状の復元に用いるスナップショット情報を取得し保持するスナップショット情報取得保持手段と、
ベクタを先頭から実行して未処理の割込位置へ到ると、当該割込位置に対応する割込処理を実行して割込処理が終了となると、この割込位置に対応する最適スナップショット位置のスナップショット情報に基づき復元を行うまでの一連処理を実行し、当該最適スナップショット位置から前記ベクタの実行へと進むベクタ処理手段と
が含まれており、
前記スナップショット情報取得保持手段と前記ベクタ処理手段の処理に要する割込位置情報と最適スナップショット位置情報とを提供することを特徴とするディジタル検証支援装置。
an interrupt position detecting means for detecting an interrupt position in a vector given to a simulator performing digital verification;
snapshot position determination means for determining a predetermined number of optimal snapshot positions at which snapshots should be executed based on the interrupt positions detected by the interrupt position detection means, wherein:
to the simulator,
snapshot information acquiring and holding means for acquiring and holding snapshot information used by the simulator for restoring the current state at the optimum snapshot position;
When the vector is executed from the beginning and reaches an unprocessed interrupt position, when the interrupt processing corresponding to the interrupt position is executed and the interrupt processing ends, an optimum snapshot corresponding to this interrupt position is generated. vector processing means for executing a series of processes up to restoration based on the snapshot information of the position, and proceeding from the optimum snapshot position to the execution of the vector,
A digital verification support device that provides interrupt position information and optimum snapshot position information required for processing of the snapshot information acquisition and holding means and the vector processing means.
前記スナップショット位置決定手段は、各割込位置より直前の位置であって他の割込位置に重ならないN点の位置から異なる位置のM点の組合せを選択する選択方法を全通りの数行い、各選択方法において選択されたM点を最適スナップショット位置候補として、前記ベクタ処理手段による一連処理の時間の合計が最短となる組合せを求め、この最短の組合せに係るM点を最適スナップショット位置として決定する全通り法を実行することを特徴とする請求項1に記載のディジタル検証支援装置。 The snapshot position determination means performs all the selection methods for selecting a combination of M points at different positions from N points which are positions immediately before each interrupt position and which do not overlap with other interrupt positions. , with the M points selected in each selection method as candidates for the optimum snapshot position, a combination that minimizes the total time for a series of processing by the vector processing means is obtained, and the M points associated with this shortest combination are used as the optimum snapshot position. 2. The digital verification support device according to claim 1, wherein the exhaustive method determined as . 前記スナップショット位置決定手段は、各割込位置より直前の位置であって他の割込位置に重ならないN点を、全処理時間Mを均等分割した区間内に配置し、前記均等分割位置を最適スナップショット位置として決定するX均等法を実行することを特徴とする請求項1または2に記載のディジタル検証支援装置。 The snapshot position determination means arranges N points which are positions immediately before each interrupt position and do not overlap with other interrupt positions within an interval obtained by equally dividing the total processing time M, and determine the equally divided positions. 3. The digital verification support device according to claim 1, wherein the X equality method for determining the optimum snapshot position is executed. 前記スナップショット位置決定手段は、各割込位置より直前の位置であって他の割込位置に重ならないN点を、1/Mずつの数に分割する位置を最適スナップショット位置として決定するY均等法を実行することを特徴とする請求項1乃至3のいずれか1項に記載のディジタル検証支援装置。 The snapshot position determination means determines positions obtained by dividing N points which are positions immediately before each interrupt position and which do not overlap with other interrupt positions into numbers of 1/M each, as optimum snapshot positions. 4. A digital verification support device according to any one of claims 1 to 3, wherein the method of equivalents is executed. 前記スナップショット位置決定手段は、各割込位置より直前の位置であって他の割込位置に重ならないN点において、隣接する点の間隔が長い方から(M-1)組の隣接点を求め、各(M-1)組の隣接点において後の(M-1)点を最適スナップショット位置として決定する傾き法を実行することを特徴とする請求項1乃至4のいずれか1項に記載のディジタル検証支援装置。 The snapshot position determining means selects (M−1) pairs of adjacent points in order from the one with the longest interval between adjacent points at N points that are located immediately before each interrupt position and do not overlap with other interrupt positions. and performing a tilt method in each (M-1) pair of neighboring points to determine the later (M-1) points as the best snapshot locations. A digital verification support device as described. 前記スナップショット位置決定手段は、全ての割込み数に対応する長さをL1とし、ベクタの最初から第1の最適スナップショット位置までの距離をSとして、面積S×L1を求め、ベクタの最初から第2の最適スナップショット位置までの距離をS、全ての割込み数から第1の最適スナップショット位置を用いて行われる割込み数を引いた値に対応する長さをL2とし、面積(S-S)×L2を求め、ベクタの最初から第3の最適スナップショット位置までの距離をS、全ての割込み数から第2の最適スナップショット位置を用いて行われる割込み数を引いた値に対応する長さをL3とし、面積(S-S)×L3を求め、・・・、ベクタの最初から第Mの最適スナップショット位置までの距離をS、全ての割込み数から第Mの最適スナップショット位置を用いて行われる割込み数を引いた値に対応する長さをLMとし、面積(S-S)×LMを求め、上記面積の加算結果が最大となる各最適スナップショット位置を求める面積法を実行することを特徴とする請求項1乃至5のいずれか1項に記載のディジタル検証支援装置。 The snapshot position determining means determines the area S 0 ×L1, where L1 is the length corresponding to all interrupt numbers, S 0 is the distance from the beginning of the vector to the first optimum snapshot position, and Let S 1 be the distance from the first to the second best snapshot location, L2 be the length corresponding to the number of all interrupts minus the number of interrupts made using the first best snapshot location, and let L2 be the area ( S 1 −S 0 )×L2, S 2 being the distance from the beginning of the vector to the third best snapshot location, subtracting the number of interrupts made using the second best snapshot location from the total number of interrupts Let L3 be the length corresponding to the value obtained, find the area (S 2 −S 1L3 , . . . LM is the length corresponding to the value obtained by subtracting the number of interrupts performed using the M - th optimum snapshot position from LM. 6. A digital verification support apparatus according to any one of claims 1 to 5, wherein the area method for obtaining each optimum snapshot position is executed. ディジタル検証支援装置のコンピュータを、
ディジタル検証を行うシミュレータに与えるベクタにおける割込位置を検出する割込位置検出手段、
この割込位置検出手段により検出された割込位置に基づきスナップショットを実行すべき所定数の最適スナップショット位置を決定するスナップショット位置決定手段
として機能させるディジタル検証支援用プログラムであって、
前記シミュレータに含まれる、
前記最適スナップショット位置において前記シミュレータが現状の復元に用いるスナップショット情報を取得し保持するスナップショット情報取得保持手段と、
ベクタを先頭から実行して未処理の割込位置へ到ると、当該割込位置に対応する割込処理を実行して割込処理が終了となると、この割込位置に対応する最適スナップショット位置のスナップショット情報に基づき復元を行うまでの一連処理を実行し、当該最適スナップショット位置から前記ベクタの実行へと進むベクタ処理手段と
に対し、処理に要する割込位置情報と最適スナップショット位置情報とを提供することを特徴とするディジタル検証支援用プログラム。
The computer of the digital verification support device,
Interrupt position detection means for detecting the interrupt position in the vector given to the simulator performing digital verification;
A digital verification support program functioning as snapshot position determination means for determining a predetermined number of optimum snapshot positions at which snapshots should be executed based on the interrupt positions detected by the interrupt position detection means,
included in said simulator,
snapshot information acquiring and holding means for acquiring and holding snapshot information used by the simulator for restoring the current state at the optimum snapshot position;
When the vector is executed from the beginning and reaches an unprocessed interrupt position, when the interrupt processing corresponding to the interrupt position is executed and the interrupt processing ends, an optimum snapshot corresponding to this interrupt position is generated. vector processing means for executing a series of processes up to restoration based on position snapshot information, and proceeding from the optimum snapshot position to execution of the vector, interrupt position information required for processing and optimum snapshot position; A digital verification support program characterized by providing information and.
前記コンピュータを前記スナップショット位置決定手段として、各割込位置より直前の位置であって他の割込位置に重ならないN点の位置から異なる位置のM点の組合せを選択する選択方法を全通りの数行い、各選択方法において選択されたM点を最適スナップショット位置候補として、前記ベクタ処理手段による一連処理の時間の合計が最短となる組合せを求め、この最短の組合せに係るM点を最適スナップショット位置として決定する全通り法を実行するように機能させることを特徴とする請求項7に記載のディジタル検証支援用プログラム。 Using the computer as the snapshot position determining means, all of the selection methods for selecting a combination of M points at different positions from the positions of N points that are positions immediately before each interrupt position and do not overlap with other interrupt positions. M points selected by each selection method are used as optimum snapshot position candidates, and a combination that minimizes the total time for a series of processes by the vector processing means is obtained. 8. The digital verification support program according to claim 7, which functions to execute an exhaustive method for determining as a snapshot position. 前記コンピュータを前記スナップショット位置決定手段として、各割込位置より直前の位置であって他の割込位置に重ならないN点を、全処理時間Mを均等分割した区間内に配置し、前記均等分割位置を最適スナップショット位置として決定するX均等法を実行するように機能させることを特徴とする請求項7または8に記載のディジタル検証支援用プログラム。 Using the computer as the snapshot position determining means, N points that are located immediately before each interrupt position and do not overlap with other interrupt positions are arranged in an interval obtained by equally dividing the total processing time M, and the equal 9. The digital verification support program according to claim 7, wherein the program functions to execute the X equality method for determining the division position as the optimum snapshot position. 前記コンピュータを前記スナップショット位置決定手段として、各割込位置より直前の位置であって他の割込位置に重ならないN点を、1/Mずつの数に分割する位置を最適スナップショット位置として決定するY均等法を実行するように機能させることを特徴とする請求項7乃至9のいずれか1項に記載のディジタル検証支援用プログラム。 Using the computer as the snapshot position determination means, the positions obtained by dividing the N points that are positions immediately before each interrupt position and do not overlap with other interrupt positions into numbers of 1/M are set as optimum snapshot positions. 10. A program for supporting digital verification according to any one of claims 7 to 9, characterized in that it functions to execute the Y equality method to determine. 前記コンピュータを前記スナップショット位置決定手段として、各割込位置より直前の位置であって他の割込位置に重ならないN点において、隣接する点の間隔が長い方から(M-1)組の隣接点を求め、各(M-1)組の隣接点において後の(M-1)点を最適スナップショット位置として決定する傾き法を実行するように機能させることを特徴とする請求項7乃至10のいずれか1項に記載のディジタル検証支援用プログラム。 Using the computer as the snapshot position determination means, at N points immediately preceding each interrupt position and not overlapping another interrupt position, (M-1) sets of Claims 7 to 7 characterized in that it is operable to find adjacent points and to perform a tilt method that determines the later (M-1) points in each (M-1) set of adjacent points as the best snapshot location. 11. The digital verification support program according to any one of 10. 前記コンピュータを前記スナップショット位置決定手段として、全ての割込み数に対応する長さをL1とし、ベクタの最初から第1の最適スナップショット位置までの距離をSとして、面積S×L1を求め、ベクタの最初から第2の最適スナップショット位置までの距離をS、全ての割込み数から第1の最適スナップショット位置を用いて行われる割込み数を引いた値に対応する長さをL2とし、面積(S-S)×L2を求め、ベクタの最初から第3の最適スナップショット位置までの距離をS、全ての割込み数から第2の最適スナップショット位置を用いて行われる割込み数を引いた値に対応する長さをL3とし、面積(S-S)×L3を求め、・・・、ベクタの最初から第Mの最適スナップショット位置までの距離をS、全ての割込み数から第Mの最適スナップショット位置を用いて行われる割込み数を引いた値に対応する長さをLMとし、面積(S-S)×LMを求め、上記面積の加算結果が最大となる各最適スナップショット位置を求める面積法を実行するように機能させることを特徴とする請求項7乃至11のいずれか1項に記載のディジタル検証支援用プログラム。
Using the computer as the snapshot position determining means, the length corresponding to all interrupt numbers is L1, the distance from the beginning of the vector to the first optimum snapshot position is S0 , and the area S0 x L1 is obtained. , the distance from the beginning of the vector to the second best snapshot location is S 1 , and the length corresponding to the number of all interrupts minus the number of interrupts made using the first best snapshot location is L2. , the area (S 1 −S 0 )×L2, the distance from the beginning of the vector to the third optimal snapshot location is S 2 , and the interrupt performed using the second optimal snapshot location from the total number of interrupts Let L3 be the length corresponding to the subtracted value, find the area (S 2 −S 1L3 , . LM is the length corresponding to the value obtained by subtracting the number of interrupts performed using the M-th optimum snapshot position from the number of interrupts, and the area (S M −SM −1 )×LM is obtained, and the above areas are added. 12. A program for supporting digital verification according to any one of claims 7 to 11, characterized in that it functions to execute an area method for finding each optimum snapshot position that maximizes the result.
JP2018142856A 2018-07-30 2018-07-30 Digital verification support device and digital verification support program Active JP7180043B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018142856A JP7180043B2 (en) 2018-07-30 2018-07-30 Digital verification support device and digital verification support program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018142856A JP7180043B2 (en) 2018-07-30 2018-07-30 Digital verification support device and digital verification support program

Publications (2)

Publication Number Publication Date
JP2020021173A JP2020021173A (en) 2020-02-06
JP7180043B2 true JP7180043B2 (en) 2022-11-30

Family

ID=69589837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018142856A Active JP7180043B2 (en) 2018-07-30 2018-07-30 Digital verification support device and digital verification support program

Country Status (1)

Country Link
JP (1) JP7180043B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020349A (en) 1998-07-06 2000-01-21 Toshiba Corp Device and method for supporting program development and medium recording program for program development support
US20060155525A1 (en) 2005-01-10 2006-07-13 Aguilar Maximino Jr System and method for improved software simulation using a plurality of simulator checkpoints
JP2010102372A (en) 2008-10-21 2010-05-06 Toyota Motor Corp Data processor, verification system, data processor verification method
JP2010531000A (en) 2007-05-09 2010-09-16 シノプシス インコーポレイテッド Circuit emulation input and delay input multiplexing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020349A (en) 1998-07-06 2000-01-21 Toshiba Corp Device and method for supporting program development and medium recording program for program development support
US20060155525A1 (en) 2005-01-10 2006-07-13 Aguilar Maximino Jr System and method for improved software simulation using a plurality of simulator checkpoints
JP2010531000A (en) 2007-05-09 2010-09-16 シノプシス インコーポレイテッド Circuit emulation input and delay input multiplexing
JP2010102372A (en) 2008-10-21 2010-05-06 Toyota Motor Corp Data processor, verification system, data processor verification method

Also Published As

Publication number Publication date
JP2020021173A (en) 2020-02-06

Similar Documents

Publication Publication Date Title
KR102025556B1 (en) Processing apparatus, trace unit and diagnostic apparatus
US10713042B2 (en) Arithmetic processing device and control method for arithmetic processing device
EP3685258B1 (en) Ranking of software code parts
CN104021072A (en) Machine and methods for evaluating failing software programs
US20210125102A1 (en) Information processing system, information processing apparatus, and information processing program
KR102013657B1 (en) Apparatus for statically analyzing assembly code including assoxiated multi files
JP2018160191A (en) Hardware test device and hardware test method
JP7180043B2 (en) Digital verification support device and digital verification support program
CN109241042B (en) Data processing method and device and electronic equipment
US9411014B2 (en) Reordering or removal of test patterns for detecting faults in integrated circuit
CN111078480B (en) Exception recovery method and server
CN115827636B (en) Method for storing and reading simulation data of logic system design from waveform database
CN110706108A (en) Method and apparatus for concurrently executing transactions in a blockchain
CN116009889A (en) Deep learning model deployment method and device, electronic equipment and storage medium
CN107423140B (en) Return code identification method and device
US11757741B2 (en) Demand prediction apparatus, demand prediction method and program for predicting a demand of a path on a network using selected trend patterns
CN115421965A (en) Consistency checking method and device, electronic equipment and storage medium
JP6512032B2 (en) Stub target determination apparatus, method, and program
JP4900680B2 (en) Semiconductor memory test equipment
US11281458B2 (en) Evaluation of developer organizations
CN109783580A (en) Method of data synchronization and device
JP6949440B2 (en) Vector generator and vector generator program
JP2006202102A (en) Simulation apparatus
WO2021019634A1 (en) Estimation apparatus, estimation method, and non-transitory computer readable medium
CN118113590A (en) Exception handling method, device and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220603

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: 20221018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221018

R150 Certificate of patent or registration of utility model

Ref document number: 7180043

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150