JP2013200745A - Information processing device, information processing method, and program - Google Patents

Information processing device, information processing method, and program Download PDF

Info

Publication number
JP2013200745A
JP2013200745A JP2012069045A JP2012069045A JP2013200745A JP 2013200745 A JP2013200745 A JP 2013200745A JP 2012069045 A JP2012069045 A JP 2012069045A JP 2012069045 A JP2012069045 A JP 2012069045A JP 2013200745 A JP2013200745 A JP 2013200745A
Authority
JP
Japan
Prior art keywords
checker
condition
information processing
assertion
generated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012069045A
Other languages
Japanese (ja)
Inventor
Keisuke Sugawara
圭介 菅原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2012069045A priority Critical patent/JP2013200745A/en
Publication of JP2013200745A publication Critical patent/JP2013200745A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To enhance detection accuracy of a checker.SOLUTION: An information processing device comprises: a reading unit 1b that reads a first checker 2a which is used in verifying the validity of a logic circuit and checks the occurrence/non-occurrence of a postcondition at the time of the occurrence of a precondition; and a generation unit 1c that generates a second checker 2b which checks the non-occurrence of the postcondition at the time of the non-occurrence of the precondition on the basis of the first checker 2a read by the reading unit 1b.

Description

本発明は情報処理装置、情報処理方法およびプログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and a program.

LSI(Large Scale Integration)開発では、設計仕様を基にレジスタ・トランスファ・レベル(RTL: Register Transfer Level)と呼ばれる記述方法を用い、論理式を組み合わせて回路の論理を表現する。RTLで設計された論理回路が仕様どおりの機能・動作を実現できているかどうかを検証するために、計算機を用いて論理シミュレーションを行う。   In LSI (Large Scale Integration) development, a description method called a register transfer level (RTL) is used based on design specifications, and logic of a circuit is expressed by combining logical expressions. In order to verify whether the logic circuit designed in the RTL can realize the function / operation as specified, a logic simulation is performed using a computer.

このとき、仕様違反が起きた場合にそれを自動で検出するための機構として、PSL(Property Specification Language)/SVA(System Verilog Assertion)といったアサーション言語で記述されるチェッカを開発する。これを論理シミュレーションに適用し、チェッカの検出結果を基に論理回路が仕様に違反していないかどうかを確認する。   At this time, a checker described in an assertion language such as PSL (Property Specification Language) / SVA (System Verilog Assertion) is developed as a mechanism for automatically detecting when a specification violation occurs. This is applied to the logic simulation, and it is confirmed whether or not the logic circuit violates the specification based on the detection result of the checker.

特開2008−310663号公報JP 2008-310663 A 特開2010−113395号公報JP 2010-113395 A

例えば事前条件が発生した場合に事後条件の発生有無を検査し、事後条件が発生していればチェックをパスし、事後条件が発生していなければエラーを検出するチェッカを考える。   For example, consider a checker that checks whether a post-condition has occurred when a pre-condition has occurred, passes the check if the post-condition has occurred, and detects an error if the post-condition has not occurred.

このチェッカは、論理障害の影響等により事前条件が発生していないにもかかわらず、事後条件が発生した場合には、検査を開始する条件が満たされないため事後条件を検出することができない。このように、論理障害による意図しない動作の発生や、仕様書に記載されていない条件における動作の発生が生じた場合、検出漏れが発生するという問題がある。   This checker cannot detect the post-condition when the post-condition occurs even though the pre-condition does not occur due to the influence of a logical failure or the like, because the condition for starting the inspection is not satisfied. As described above, when an unintended operation occurs due to a logic failure or an operation occurs under conditions that are not described in the specification, there is a problem that a detection failure occurs.

1つの側面では、本発明は、チェッカの検出精度を高めることを目的とする。   In one aspect, the present invention aims to increase the detection accuracy of a checker.

上記目的を達成するために、開示の情報処理装置が提供される。この情報処理装置は、読み込み部と、生成部とを有している。
読み込み部は、論理回路の正当性を検証する際に用いる、事前条件発生時に事後条件の発生の有無を検査する第1のチェッカを読み込む。生成部は、読み込み部が読み込んだ第1のチェッカに基づき、事前条件未発生時には事後条件が発生しないことを検査する第2のチェッカを生成する。
In order to achieve the above object, a disclosed information processing apparatus is provided. This information processing apparatus includes a reading unit and a generation unit.
The reading unit reads a first checker that is used when verifying the validity of the logic circuit and checks whether or not a post-condition is generated when a pre-condition is generated. Based on the first checker read by the reading unit, the generation unit generates a second checker that checks that no post-condition is generated when the precondition does not occur.

1態様では、チェッカの検出精度を高めることができる。   In one aspect, the checker detection accuracy can be increased.

第1の実施の形態の情報処理装置を示す図である。It is a figure which shows the information processing apparatus of 1st Embodiment. 第2の実施の形態の情報処理装置のハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of the information processing apparatus of 2nd Embodiment. 第2の実施の形態の情報処理装置の機能を示すブロック図である。It is a block diagram which shows the function of the information processing apparatus of 2nd Embodiment. チェッカ読み込み部の処理を説明する図である。It is a figure explaining the process of a checker reading part. データベースに格納されている情報を示す図である。It is a figure which shows the information stored in the database. 第2の実施の形態の生成部の処理を示すフローチャートである。It is a flowchart which shows the process of the production | generation part of 2nd Embodiment. 第2の実施の形態の第2のチェッカではカバーできないチェックパターンを説明する図である。It is a figure explaining the check pattern which cannot be covered with the 2nd checker of a 2nd embodiment. 第3の実施の形態のチェッカ読み込み部の処理を説明する図である。It is a figure explaining the process of the checker reading part of 3rd Embodiment. 第3の実施の形態のデータベースに格納されている情報を示す図である。It is a figure which shows the information stored in the database of 3rd Embodiment. グルーピング検出処理を説明するフローチャートである。It is a flowchart explaining a grouping detection process. 第3の実施の形態の生成部の処理を説明するフローチャートである。It is a flowchart explaining the process of the production | generation part of 3rd Embodiment. 第3の実施の形態の処理結果を説明する図である。It is a figure explaining the process result of 3rd Embodiment. 第4の実施の形態の第1のチェッカを説明する図である。It is a figure explaining the 1st checker of 4th Embodiment.

以下、実施の形態の情報処理装置を、図面を参照して詳細に説明する。
<第1の実施の形態>
図1は、第1の実施の形態の情報処理装置を示す図である。
Hereinafter, an information processing apparatus according to an embodiment will be described in detail with reference to the drawings.
<First Embodiment>
FIG. 1 is a diagram illustrating the information processing apparatus according to the first embodiment.

第1の実施の形態の情報処理装置(コンピュータ)1は、記憶部1aと、読み込み部1bと、生成部1cと、記憶部1dとを有している。記憶部1a、1dは、情報処理装置1が有するRAM(Random Access Memory)やハードディスクドライブ(HDD:Hard Disk Drive)等が備えるデータ記憶領域により実現することができる。また、読み込み部1bと、生成部1cは、情報処理装置1が有するCPU(Central Processing Unit)が備える機能により実現することができる。   The information processing apparatus (computer) 1 according to the first embodiment includes a storage unit 1a, a reading unit 1b, a generation unit 1c, and a storage unit 1d. The storage units 1a and 1d can be realized by a data storage area provided in a RAM (Random Access Memory) or a hard disk drive (HDD) included in the information processing apparatus 1. Further, the reading unit 1b and the generation unit 1c can be realized by functions provided in a CPU (Central Processing Unit) included in the information processing apparatus 1.

記憶部1aには、設計対象の論理回路の正当性を検証する際に用いる、事前条件発生時に事後条件の発生の有無を検査する第1のチェッカ2aが記憶されている。なお、記憶部1aは、情報処理装置1の外部にあってもよい。第1のチェッカ2aは、アサーション言語で記述されている。第1のチェッカ2aには、アサーション名(assertion_name)、同期条件(event)、アボート条件(abort)、事前条件(precond)、事前条件と事後条件の最小許容間隔(n)、事前条件と事後条件の最大許容間隔(m)、事後条件(postcond)に関する情報が記述されている。具体的には、第1のチェッカ2aは、アサーション名が「chk_xx」、同期条件が「posedge clock」、アボート条件が「C1==0」、事前条件が「A1==1」、事前条件と事後条件の最小許容間隔が「2」、事前条件と事後条件の最大許容間隔が「4」、事後条件が「B1==1」である。第1のチェッカ2aには、「事前条件A1が1になったら2〜4サイクル後に事後条件B1が1になること」を検査するアサーション名が「chk_xx」のアサーション(以下、「アサーション「chk_xx」」のように表記する)が記述されている。   The storage unit 1a stores a first checker 2a that is used when verifying the validity of the logic circuit to be designed, and checks whether or not a post-condition has occurred when a pre-condition occurs. The storage unit 1a may be outside the information processing apparatus 1. The first checker 2a is described in an assertion language. The first checker 2a includes an assertion name (assertion_name), a synchronization condition (event), an abort condition (abort), a precondition (precond), a minimum allowable interval (n) between a precondition and a postcondition, and a precondition and a postcondition. The maximum allowable interval (m) and post-condition (postcond) are described. Specifically, the first checker 2a has an assertion name “chk_xx”, a synchronization condition “possed clock”, an abort condition “C1 == 0”, a precondition “A1 == 1”, The minimum allowable interval for the postcondition is “2”, the maximum allowable interval for the precondition and the postcondition is “4”, and the postcondition is “B1 == 1”. The first checker 2a includes an assertion whose assertion name is “chk_xx” (hereinafter referred to as “assertion“ chk_xx ””), which checks that “the post-condition B1 becomes 1 after 2-4 cycles when the precondition A1 becomes 1. ")".

読み込み部1bは、第1のチェッカ2aを記憶部1aから読み込む。
生成部1cは、読み込み部1bが読み込んだ第1のチェッカ2aに基づき、事前条件未発生時には事後条件が発生しないことを検査する第2のチェッカ2bを生成する。
The reading unit 1b reads the first checker 2a from the storage unit 1a.
Based on the first checker 2a read by the reading unit 1b, the generation unit 1c generates a second checker 2b that inspects that no post-condition is generated when the precondition does not occur.

第2のチェッカ2bは、第1のチェッカ2aに記述されているアサーション「chk_xx」に加え、生成部1cにより定義されたアサーション「chk_xx_precond_chk」が記述されている。このアサーション「chk_xx_precond_chk」は、事後条件B1が1になったら2〜4サイクル前に事前条件A1が1になっていたことを検査する事前条件チェッカ2b1として機能する。事前条件チェッカ2b1の4行目の記述については、最小許容間隔nの数値を1ずつインクリメントしていき、最大許容間隔mに到達するまで「$past(<precond_expr>,delay)」の記述を論理和(or)で繋ぐことで生成する。   In the second checker 2b, in addition to the assertion “chk_xx” described in the first checker 2a, the assertion “chk_xx_precond_chk” defined by the generation unit 1c is described. This assertion “chk_xx_precond_chk” functions as a precondition checker 2b1 that checks that the precondition A1 was 1 to 2 to 4 cycles before the postcondition B1 becomes 1. Regarding the description on the fourth line of the precondition checker 2b1, the numerical value of the minimum allowable interval n is incremented by 1 and the description of “$ past (<precond_expr>, delay)” is logically processed until the maximum allowable interval m is reached. Generated by connecting with sum (or).

また、生成されたアサーション「chk_xx_precond_chk」の1行前には、アサーション「chk_xx_precond_chk」が、アサーション「chk_xx」に基づき生成部1cが生成したアサーションであることを示すコメント「//CAGS Info:Generated from chk_xx」が挿入されている。   In addition, immediately before the generated assertion “chk_xx_precond_chk”, a comment “// CAGS Info: Generated_frox___________________________________________________________________________ Is inserted.

生成部1cは、生成した第2のチェッカ2bを記憶部1dに記憶する。なお、記憶部1dは、情報処理装置1の外部にあってもよい。
例えば、情報処理装置1は、この第2のチェッカ2bを論理シミュレーションに適用し、チェッカの検出結果を基に、論理回路が仕様に違反していないか否かを確認する。第2のチェッカ2bを用いることで、第1のチェッカ2aだけを用いて検査する場合には検出できなかった、事後条件B1の発生をトリガとし、この事後条件B1の発生が事前条件A1の発生に起因するものであることを遡って検査することができる。これにより、設計者のミス等により意図せず事後条件B1が書き換わってしまうように論理回路の機能が実装された場合でも、エラーとして検出することができる。従って、チェッカの検出精度を高めることができる。
The generation unit 1c stores the generated second checker 2b in the storage unit 1d. The storage unit 1d may be outside the information processing apparatus 1.
For example, the information processing apparatus 1 applies the second checker 2b to the logic simulation, and checks whether or not the logic circuit violates the specification based on the detection result of the checker. By using the second checker 2b, the occurrence of the post-condition B1, which could not be detected when using only the first checker 2a, is triggered, and the occurrence of the post-condition B1 is the occurrence of the pre-condition A1. It is possible to inspect retrospectively that it is caused by Thereby, even when the function of the logic circuit is implemented so that the post-condition B1 is rewritten unintentionally due to a designer's mistake or the like, it can be detected as an error. Therefore, the detection accuracy of the checker can be increased.

以下、第2の実施の形態において、開示の情報処理装置をより具体的に説明する。
<第2の実施の形態>
図2は、第2の実施の形態の情報処理装置のハードウェア構成を示す図である。
Hereinafter, in the second embodiment, the disclosed information processing apparatus will be described more specifically.
<Second Embodiment>
FIG. 2 is a diagram illustrating a hardware configuration of the information processing apparatus according to the second embodiment.

情報処理装置10は、CPU101によって装置全体が制御されている。CPU101には、バス108を介してRAM102と複数の周辺機器が接続されている。
RAM102は、情報処理装置10の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に使用する各種データが格納される。
The information processing apparatus 10 is entirely controlled by the CPU 101. The CPU 101 is connected to the RAM 102 and a plurality of peripheral devices via the bus 108.
The RAM 102 is used as a main storage device of the information processing apparatus 10. The RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the CPU 101. The RAM 102 stores various data used for processing by the CPU 101.

バス108には、ハードディスクドライブ103、グラフィック処理装置104、入力インタフェース105、ドライブ装置106、および通信インタフェース107が接続されている。   A hard disk drive 103, graphic processing device 104, input interface 105, drive device 106, and communication interface 107 are connected to the bus 108.

ハードディスクドライブ103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ハードディスクドライブ103は、情報処理装置10の二次記憶装置として使用される。ハードディスクドライブ103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。   The hard disk drive 103 magnetically writes data to and reads data from a built-in disk. The hard disk drive 103 is used as a secondary storage device of the information processing apparatus 10. The hard disk drive 103 stores an OS program, application programs, and various data. As the secondary storage device, a semiconductor storage device such as a flash memory can be used.

グラフィック処理装置104には、モニタ104aが接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ104aの画面に表示させる。モニタ104aとしては、CRT(Cathode Ray Tube)を用いた表示装置や、液晶表示装置等が挙げられる。   A monitor 104 a is connected to the graphic processing device 104. The graphic processing device 104 displays an image on the screen of the monitor 104a in accordance with a command from the CPU 101. Examples of the monitor 104a include a display device using a CRT (Cathode Ray Tube) and a liquid crystal display device.

入力インタフェース105には、キーボード105aとマウス105bとが接続されている。入力インタフェース105は、キーボード105aやマウス105bから送られてくる信号をCPU101に送信する。なお、マウス105bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、例えばタッチパネル、タブレット、タッチパッド、トラックボール等が挙げられる。   A keyboard 105 a and a mouse 105 b are connected to the input interface 105. The input interface 105 transmits signals sent from the keyboard 105a and the mouse 105b to the CPU 101. Note that the mouse 105b is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.

ドライブ装置106は、例えば、光の反射によって読み取り可能なようにデータが記録された光ディスクや、USB(Universal Serial Bus)メモリ等の持ち運び可能な記録媒体に記録されたデータの読み取りを行う。例えば、ドライブ装置106が光学ドライブ装置である場合、レーザ光等を利用して、光ディスク200に記録されたデータの読み取りを行う。光ディスク200には、Blu−ray(登録商標)、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。   The drive device 106 reads data recorded on a portable recording medium such as an optical disc on which data is recorded so as to be readable by reflection of light or a USB (Universal Serial Bus) memory. For example, when the drive device 106 is an optical drive device, data recorded on the optical disc 200 is read using a laser beam or the like. Examples of the optical disc 200 include Blu-ray (registered trademark), DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable), and the like. .

通信インタフェース107は、ネットワーク50に接続されている。通信インタフェース107は、ネットワーク50を介して、他のコンピュータまたは通信機器との間でデータを送受信する。   The communication interface 107 is connected to the network 50. The communication interface 107 transmits / receives data to / from other computers or communication devices via the network 50.

以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図2に示すようなハードウェア構成の情報処理装置10内には、以下のような機能が設けられる。
With the hardware configuration as described above, the processing functions of the present embodiment can be realized.
The following functions are provided in the information processing apparatus 10 having a hardware configuration as shown in FIG.

図3は、第2の実施の形態の情報処理装置の機能を示すブロック図である。
情報処理装置10は、第1のチェッカ記憶部11と、チェッカ読み込み部12と、生成部13と、第2のチェッカ記憶部14と、インタフェース部15と、DB入出力部16とを有している。
FIG. 3 is a block diagram illustrating functions of the information processing apparatus according to the second embodiment.
The information processing apparatus 10 includes a first checker storage unit 11, a checker reading unit 12, a generation unit 13, a second checker storage unit 14, an interface unit 15, and a DB input / output unit 16. Yes.

第1のチェッカ記憶部11には、設計対象の論理回路の正当性を検証するのに用いる少なくとも1つの第1のチェッカが記憶されている。以下の説明では、第1の実施の形態の第1のチェッカ2aと同じ内容の第1のチェッカが第1のチェッカ記憶部11に記憶されているものとして説明する。   The first checker storage unit 11 stores at least one first checker used to verify the validity of the logic circuit to be designed. In the following description, it is assumed that the first checker having the same content as the first checker 2a of the first embodiment is stored in the first checker storage unit 11.

チェッカ読み込み部12は、インタフェース部15により指定された第1のチェッカから必要な情報を取得し、チェッカデータモデル121へセットする。
図4は、チェッカ読み込み部の処理を説明する図である。
The checker reading unit 12 acquires necessary information from the first checker specified by the interface unit 15 and sets it in the checker data model 121.
FIG. 4 is a diagram for explaining the processing of the checker reading unit.

図4に示す第1のチェッカ111は、第1の実施の形態の第1のチェッカ2aと同じ内容になっている。
チェッカデータモデル121は、第1のチェッカ111の各情報をメンバとした構造体になっている。
The first checker 111 shown in FIG. 4 has the same contents as the first checker 2a of the first embodiment.
The checker data model 121 is a structure having each piece of information of the first checker 111 as a member.

チェッカ読み込み部12は、チェッカデータモデル121の適切なメンバに各情報を格納する。チェッカデータモデル121の右側に点線で示した矢印の先には、第1のチェッカ111を入力した場合にチェッカデータモデル121のメンバに格納される各情報を示している。   The checker reading unit 12 stores each information in an appropriate member of the checker data model 121. Each piece of information stored in a member of the checker data model 121 when the first checker 111 is input is shown at the tip of the arrow indicated by a dotted line on the right side of the checker data model 121.

生成部13は、このチェッカデータモデル121にセットされた情報を基に、事前条件チェッカ131aを生成する。生成部13は、事前条件チェッカ131aを生成する際に、まず定型文を設定する。定型文は、図4に示す事前条件チェッカ131aの斜体で表記した箇所以外の箇所である。そして、チェッカデータモデル121に格納された情報を、定型文に挿入する。挿入された情報は、図4に示す事前条件チェッカ131aの斜体で表記した箇所である。ここで、事前条件チェッカ131aの4行目の記述については、最小許容間隔nの数値を1ずつインクリメントしていき、最大許容間隔mに到達するまで「$past(<precond_expr>,delay)」の記述を論理和(or)で繋ぐことで生成する。また、生成部13は、事前条件チェッカ131aが情報処理装置10によって生成されたものであることと、入力したチェッカ内のどのアサーションから生成されたものであるかを示す情報を、事前条件チェッカ131aの行頭にコメント形式で記述する。   The generation unit 13 generates the precondition checker 131a based on the information set in the checker data model 121. When generating the precondition checker 131a, the generation unit 13 first sets a fixed sentence. The fixed phrase is a place other than the place shown in italics of the precondition checker 131a shown in FIG. Then, the information stored in the checker data model 121 is inserted into the standard sentence. The inserted information is a portion expressed in italics of the precondition checker 131a shown in FIG. Here, with respect to the description on the fourth line of the precondition checker 131a, the numerical value of the minimum allowable interval n is incremented by 1, and “$ past (<precond_expr>, delay)” is reached until the maximum allowable interval m is reached. Generated by connecting descriptions with logical OR. In addition, the generation unit 13 displays information indicating that the precondition checker 131a is generated by the information processing apparatus 10 and which assertion in the input checker is generated from the precondition checker 131a. Describe in comment format at the beginning of the line.

このようにして生成される第2のチェッカ131は、第1のチェッカ111に記述されていたアサーション「chk_xx」に加え、生成部13により定義されたアサーション「chk_xx_precond_chk」が記述されている。このアサーション「chk_xx_precond_chk」は、事後条件B1が1になったら2〜4サイクル前に事前条件A1が1になっていたことを検査するアサーションである。   The second checker 131 generated in this way describes the assertion “chk_xx_precond_chk” defined by the generation unit 13 in addition to the assertion “chk_xx” described in the first checker 111. This assertion “chk_xx_precond_chk” is an assertion for inspecting that the precondition A1 is 1 to 2-4 cycles before the postcondition B1 becomes 1.

また、生成されたアサーションの1行前には、アサーション「chk_xx_precond_chk」が、アサーション「chk_xx」に基づき情報処理装置10が生成したアサーションであることを示すコメント「//CAGS Info:Generated from chk_xx」が挿入されている。   Further, immediately before the generated assertion, a comment “// CAGS Info: Generated from chk_xx” indicating that the assertion “chk_xx_precond_chk” is an assertion generated by the information processing apparatus 10 based on the assertion “chk_xx”. Has been inserted.

生成部13は、生成した事前条件チェッカ131aと、第1のチェッカ111とをまとめた第2のチェッカ131を第2のチェッカ記憶部14に記憶する。
インタフェース部15は、ユーザの入力内容に応じて情報処理装置10を制御する。例えば、インタフェース部15は、ユーザの入力に応じて第1のチェッカ記憶部11に記憶されている第1のチェッカ111を指定する。すると前述したように、チェッカ読み込み部12は、インタフェース部15により指定された第1のチェッカ111から必要な情報を取得し、チェッカデータモデル121へセットする。
The generation unit 13 stores the second checker 131 in which the generated precondition checker 131 a and the first checker 111 are collected in the second checker storage unit 14.
The interface unit 15 controls the information processing apparatus 10 in accordance with user input contents. For example, the interface unit 15 specifies the first checker 111 stored in the first checker storage unit 11 in accordance with a user input. Then, as described above, the checker reading unit 12 acquires necessary information from the first checker 111 specified by the interface unit 15 and sets it in the checker data model 121.

また、インタフェース部15は、DB入出力部16によりデータベース化された情報をモニタ104aに表示することができる。ユーザがモニタ104aに表示された情報を書き換えると、インタフェース部15は、書き換えた情報をチェッカデータモデル121に反映する。また、インタフェース部15は、DB入出力部16にデータベースの更新を指示する。   Further, the interface unit 15 can display the information stored in the database by the DB input / output unit 16 on the monitor 104a. When the user rewrites the information displayed on the monitor 104a, the interface unit 15 reflects the rewritten information on the checker data model 121. The interface unit 15 instructs the DB input / output unit 16 to update the database.

DB入出力部16は、チェッカデータモデル121にセットされる情報をデータベース化する。この情報は、インタフェース部15によりユーザが変更しやすいフォーマットで表示され、編集可能である。この機能を使用することで、チェッカデータモデル121にセットされる情報をユーザが操作し、所望のチェッカを生成することができる。また逆に、DB入出力部16は、データベース20に格納された情報を抽出することもできる。   The DB input / output unit 16 creates a database of information set in the checker data model 121. This information is displayed in a format that can be easily changed by the user by the interface unit 15 and can be edited. By using this function, the user can operate the information set in the checker data model 121 and generate a desired checker. Conversely, the DB input / output unit 16 can also extract information stored in the database 20.

図5は、データベースに格納されている情報を示す図である。
図5に示すテーブル20aは、データベース20に格納された情報を示している。
テーブル20aには、第1のチェッカ111に記述された情報を格納する各欄が設定されている。
FIG. 5 is a diagram showing information stored in the database.
A table 20 a illustrated in FIG. 5 indicates information stored in the database 20.
In the table 20a, columns for storing information described in the first checker 111 are set.

次に、図4に示す生成部13の処理を、フローチャートを用いて説明する。
図6は、第2の実施の形態の生成部の処理を示すフローチャートである。
[ステップS1] 生成部13は、定型文を作成する。その後、ステップS2に遷移する。
Next, the process of the production | generation part 13 shown in FIG. 4 is demonstrated using a flowchart.
FIG. 6 is a flowchart illustrating processing of the generation unit according to the second embodiment.
[Step S1] The generation unit 13 creates a fixed phrase. Thereafter, the process proceeds to step S2.

[ステップS2] 生成部13は、チェッカデータモデル121を参照し、ステップS1にて作成した定型文にアサーション名、同期条件、アボート条件、事後条件を挿入する。その後、ステップS3に遷移する。   [Step S <b> 2] The generation unit 13 refers to the checker data model 121 and inserts an assertion name, a synchronization condition, an abort condition, and a postcondition into the fixed sentence created in Step S <b> 1. Thereafter, the process proceeds to step S3.

[ステップS3] 生成部13は、チェッカデータモデル121を参照し、用意したパラメータkに最小許容間隔nをセットする。その後、ステップS4に遷移する。
[ステップS4] 生成部13は、パラメータkの値が、最大許容間隔mに一致するか否かを判断する。パラメータkの値が、最大許容間隔mに一致する場合(ステップS4のYes)、ステップS6に遷移する。パラメータkの値が、最大許容間隔mに一致しない場合(ステップS4のNo)、ステップS5に遷移する。
[Step S3] The generation unit 13 refers to the checker data model 121 and sets the minimum allowable interval n to the prepared parameter k. Thereafter, the process proceeds to step S4.
[Step S4] The generation unit 13 determines whether or not the value of the parameter k matches the maximum allowable interval m. When the value of the parameter k matches the maximum allowable interval m (Yes in step S4), the process proceeds to step S6. If the value of the parameter k does not match the maximum allowable interval m (No in step S4), the process proceeds to step S5.

[ステップS5] 生成部13は、「$past(<precond_expr>,delay)」の記述を論理和で繋ぐ。その後、ステップS5aに遷移する。
[ステップS5a] 生成部13は、パラメータkの値をインクリメントする。その後、ステップS4に遷移する。
[Step S <b> 5] The generation unit 13 connects the descriptions of “$ past (<precond_expr>, delay)” with a logical sum. Then, the process proceeds to step S5a.
[Step S5a] The generation unit 13 increments the value of the parameter k. Thereafter, the process proceeds to step S4.

[ステップS6] 生成部13は、ステップS5にて生成した論理和の結合を定型文の後に挿入する。その後、ステップS7に遷移する。
[ステップS7] 生成部13は、事前条件チェッカ131a生成の終了を示す「;)」を挿入する。その後、ステップS8に遷移する。
[Step S6] The generation unit 13 inserts the combination of the logical sums generated in step S5 after the fixed phrase. Then, the process proceeds to step S7.
[Step S7] The generation unit 13 inserts “;)” indicating the end of generation of the precondition checker 131a. Thereafter, the process proceeds to operation S8.

[ステップS8] 生成部13は、事前条件チェッカ131aに第1のチェッカ111を追加し、第2のチェッカ131を生成する。その後、ステップS9に遷移する。
[ステップS9] 生成部13は、ステップS8にて生成した第2のチェッカ131を第2のチェッカ記憶部14に記憶する。その後、図6の処理を終了する。
[Step S8] The generation unit 13 adds the first checker 111 to the precondition checker 131a to generate the second checker 131. Thereafter, the process proceeds to operation S9.
[Step S <b> 9] The generation unit 13 stores the second checker 131 generated in step S <b> 8 in the second checker storage unit 14. Then, the process of FIG. 6 is complete | finished.

以上述べたように、情報処理装置10によれば、事後条件の発生を起因として事前条件が過去に発生していたことを検査できる事前条件チェッカ131aを含む第2のチェッカ131を生成する。この第2のチェッカ131を用いて論理回路の正当性を検証することで、事前条件が発生していないにもかかわらず、事後条件が発生した場合をエラーとして検出できる。このエラーをログファイルに残すことにより、ユーザは、ログファイルを確認するだけでエラーの有無(障害の有無)を判別できる。   As described above, according to the information processing apparatus 10, the second checker 131 including the precondition checker 131a that can check that the precondition has occurred in the past due to the occurrence of the postcondition is generated. By verifying the validity of the logic circuit using the second checker 131, it is possible to detect a case where a post-condition has occurred even though a pre-condition has not occurred, as an error. By leaving this error in the log file, the user can determine the presence or absence of an error (the presence or absence of a failure) simply by checking the log file.

従って、仕様書に記載されていないことのチェック(事前条件に因らない事後条件の発生の検出)を網羅することができ、論理障害による意図しない動作の発生や、仕様書に記載の無い条件における動作の発生(仕様書の記載漏れ)が生じてもチェッカで検出できるようになる。これにより従来よりもチェッカの網羅性が向上し、検証品質の向上に繋がる。   Therefore, it is possible to cover checks that are not described in the specifications (detection of occurrence of post-conditions that do not depend on preconditions), occurrence of unintended operations due to logic faults, and conditions that are not described in the specifications The checker can detect the occurrence of the operation in (the omission of specification description). Thereby, the comprehensiveness of the checker is improved as compared with the conventional case, and the verification quality is improved.

<第3の実施の形態>
次に、第3の実施の形態の情報処理装置について説明する。
以下、第3の実施の形態の情報処理装置について、前述した第2の実施の形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
<Third Embodiment>
Next, an information processing apparatus according to a third embodiment will be described.
Hereinafter, the information processing apparatus according to the third embodiment will be described with a focus on differences from the above-described second embodiment, and description of similar matters will be omitted.

第2の実施の形態では、入力する第1のチェッカ111に1種類のアサーション「chk_xx」しか存在しない場合について説明した。しかし、第1のチェッカに複数のアサーションが記述されていた場合には、第2の実施の形態の情報処理装置10は、それぞれに対して事前条件チェッカを生成する。ここで、事後条件が同じで事前条件が異なるアサーションが第1のチェッカに記載されていると、第2の実施の形態の情報処理装置10が生成した第2のチェッカではカバーできないチェックパターンが存在する。   In the second embodiment, the case where there is only one type of assertion “chk_xx” in the input first checker 111 has been described. However, when a plurality of assertions are described in the first checker, the information processing apparatus 10 according to the second embodiment generates a precondition checker for each. If assertions with the same post-condition and different pre-conditions are described in the first checker, there is a check pattern that cannot be covered by the second checker generated by the information processing apparatus 10 according to the second embodiment. To do.

図7は、第2の実施の形態の第2のチェッカではカバーできないチェックパターンを説明する図である。
図7に示す事前条件チェッカ132aを生成する元となる第1のチェッカ112には、「事後条件B1が1になる条件は事前条件A1または事前条件A2が1になること」という仕様が記述されている。また、入力する第1のチェッカ112には、事前条件A1が1になったら2〜4サイクル後に事後条件B1が1になることを検査するアサーション「chk_xx」と、事前条件A2が1になったら2〜4サイクル後に事後条件B1が1になることを検査するアサーション「chk_yy」が記述されている。
FIG. 7 is a diagram for explaining check patterns that cannot be covered by the second checker according to the second embodiment.
In the first checker 112 that is a source for generating the precondition checker 132a shown in FIG. 7, a specification that “the condition that the postcondition B1 is 1 is that the precondition A1 or the precondition A2 is 1” is described. ing. The first checker 112 to be input includes an assertion “chk_xx” for checking that the post-condition B1 becomes 1 after 2 to 4 cycles when the pre-condition A1 becomes 1, and the pre-condition A2 becomes 1. The assertion “chk_yy” for checking that the postcondition B1 becomes 1 after 2 to 4 cycles is described.

アサーション「chk_xx」とアサーション「chk_yy」は共に「B1==1」が事後条件に定義されている。この第1のチェッカ112をこのまま第2の実施の形態の情報処理装置10に入力すると、アサーション「chk_xx_precond_chk」とアサーション「chk_yy_precond_chk」が記述された事前条件チェッカ132aが生成される。   In both the assertion “chk_xx” and the assertion “chk_yy”, “B1 == 1” is defined as the postcondition. When the first checker 112 is input as it is to the information processing apparatus 10 of the second embodiment, a precondition checker 132a in which the assertion “chk_xx_precond_chk” and the assertion “chk_yy_precond_chk” are described is generated.

前述したように、第1のチェッカ112には、「事後条件B1が1になる条件は事前条件A1または事前条件A2が1になること」という仕様が記述されている。このため、事後条件(B1==1)発生時、事前条件のいずれかが発生していれば、正しい動作であると、判断できればよい。しかし、この生成された事前条件チェッカ132aは、事後条件発生時に、複数ある事前条件すべてが発生していない限り、エラーを通知してしまう。すなわち、検証対象が正しい動作をしているにもかかわらず、違反動作としてチェッカがエラーを検出してしまう。   As described above, the first checker 112 describes a specification that “the condition that the postcondition B1 is 1 is that the precondition A1 or the precondition A2 is 1”. For this reason, if any of the preconditions occurs when the postcondition (B1 == 1) occurs, it may be determined that the operation is correct. However, the generated precondition checker 132a notifies an error when a postcondition occurs, as long as all the plurality of preconditions are not generated. That is, the checker detects an error as a violating operation even though the verification target performs a correct operation.

第3の実施の形態の情報処理装置は、第2の実施の形態の第2のチェッカの生成方法ではカバーできないチェックパターンを解決する機能(グルーピング機能)を備える。
図8は、第3の実施の形態のチェッカ読み込み部の処理を説明する図である。
The information processing apparatus according to the third embodiment includes a function (grouping function) for solving a check pattern that cannot be covered by the second checker generation method according to the second embodiment.
FIG. 8 is a diagram illustrating processing of the checker reading unit according to the third embodiment.

図8の第1のチェッカ記憶部11には、図7と同様の第1のチェッカ112が記憶されている。第1のチェッカ112には、アサーション「chk_xx」とアサーション「chk_yy」が記述されている。   A first checker 112 similar to that shown in FIG. 7 is stored in the first checker storage unit 11 shown in FIG. The first checker 112 describes an assertion “chk_xx” and an assertion “chk_yy”.

第3の実施の形態のチェッカ読み込み部12は、入力されたアサーション「chk_xx」とアサーション「chk_yy」の事後条件を文字列比較し、先に入力されたアサーションに事後条件が等価であるものが存在した場合に、これらのアサーション「chk_xx」とアサーション「chk_yy」がグルーピング対象のアサーションであると判断する。   The checker reading unit 12 according to the third embodiment compares the postconditions of the input assertion “chk_xx” and the assertion “chk_yy” with character strings, and the postconditions are equivalent to the previously input assertion. In this case, the assertion “chk_xx” and the assertion “chk_yy” are determined to be grouping target assertions.

チェッカ読み込み部12は、この判断結果に基づき、第1のチェッカ112に記述された情報をグルーピング用のチェッカデータモデル122に設定する。
図8に示すように、チェッカデータモデル122の右側に点線で示した矢印の先には、第1のチェッカ112を入力した場合にチェッカデータモデル122のメンバに格納される各情報を示している。
Based on the determination result, the checker reading unit 12 sets the information described in the first checker 112 in the checker data model 122 for grouping.
As shown in FIG. 8, the information stored in the members of the checker data model 122 when the first checker 112 is input is shown at the tip of the arrow indicated by a dotted line on the right side of the checker data model 122. .

また、チェッカ読み込み部12は、アサーション「chk_xx」とアサーション「chk_yy」は共に事後条件「B1==1」が定義されていることから同じグループであると判断する。そして、チェッカ読み込み部12は、事後条件の情報を変換してグループ名を生成する。具体的には、事後条件が「signal==n」の場合、グループ属性は「Grp_“signal”eq“n”」となり、「signal!=n」の場合は「Grp_“signal”ne“n”」となる。これを図8に示す例に当てはめると、グループ名は、「Grp_B1eq1」となる。   Further, the checker reading unit 12 determines that the assertion “chk_xx” and the assertion “chk_yy” are in the same group because the postcondition “B1 == 1” is defined. Then, the checker reading unit 12 converts post-condition information to generate a group name. Specifically, when the postcondition is “signal == n”, the group attribute is “Grp_“ signal ”eq“ n ””, and when “signal! = N”, “Grp_“ signal ”ne“ n ” " When this is applied to the example shown in FIG. 8, the group name is “Grp_B1eq1”.

生成部13は、チェッカデータモデル122に基づいてチェッカ112aと事前条件チェッカ133aとを含む第2のチェッカ133を生成する。
チェッカ112aは、第1のチェッカ112の各アサーションの前の行に、アサーション「chk_xx」とアサーション「chk_yy」がグルーピング対象のアサーションであると判断されたことを示すコメント「CAGS Info:Member of “Grp_B1eq1” Group.」が挿入されている。このコメントは、コメントの形式が「CAGS Info:Member of ×× Group.」と決まっており、生成部13が、「××」の部分にグループ名を挿入したものである。
The generation unit 13 generates a second checker 133 including a checker 112 a and a precondition checker 133 a based on the checker data model 122.
The checker 112a includes a comment “CAGS Info: Member of“ Grp_B1eq1 ”indicating that the assertion“ chk_xx ”and the assertion“ chk_yy ”are determined to be grouping-targeted assertions in a line before each assertion of the first checker 112. “Group.” Is inserted. This comment has a comment format of “CAGS Info: Member of XX Group.”, And the generation unit 13 inserts a group name in the “XX” part.

事前条件チェッカ133aは、事後条件B1が1になったときに事前条件A1または事前条件A2のいずれかが以前に発生していたことをチェックすることができる。なお、事前条件チェッカ133aの生成方法については、後述する。   The precondition checker 133a can check that either the precondition A1 or the precondition A2 has occurred before when the postcondition B1 becomes 1. A method for generating the precondition checker 133a will be described later.

DB入出力部16は、チェッカデータモデル122に設定される情報をデータベース20に格納する。
図9は、第3の実施の形態のデータベースに格納されている情報を示す図である。
The DB input / output unit 16 stores information set in the checker data model 122 in the database 20.
FIG. 9 is a diagram illustrating information stored in the database according to the third embodiment.

図9に示すテーブル20bは、データベース20に格納された情報を示している。
テーブル20bには、テーブル20aに加え、さらにグループ属性、および同グループアサーションの欄が設けられている。
A table 20b shown in FIG. 9 shows information stored in the database 20.
In addition to the table 20a, the table 20b further includes columns for group attribute and group assertion.

グループ属性の欄には、チェッカ読み込み部12によりグルーピングされたアサーションのグループ名が設定される。
同グループアサーションの欄には、入力されたアサーションの事後条件を文字列比較し、先に入力されたアサーションに事後条件が等価であるものが存在した場合に、そのアサーション名が設定される。
In the group attribute column, group names of assertions grouped by the checker reading unit 12 are set.
In the group assertion column, the postcondition of the input assertion is compared with a character string, and if there is an equivalent postcondition in the previously input assertion, the assertion name is set.

インタフェース部15が、テーブル20bに設定された情報をモニタ104aに表示することにより、アサーション「chk_xx」とアサーション「chk_yy」は共にグループ名「Grp_B1eq1」のグループに属していることが確認できる。この方法を使用することで、第1のチェッカ112にユーザが手動でグルーピングの情報を書き加えることなく(ユーザの手を煩わせることなく)グルーピング機能を有効化できる。このため、同じグループに属すべきアサーションの見逃しも防ぐことができる。   When the interface unit 15 displays the information set in the table 20b on the monitor 104a, it can be confirmed that both the assertion “chk_xx” and the assertion “chk_yy” belong to the group having the group name “Grp_B1eq1”. By using this method, the grouping function can be validated without the user manually adding grouping information to the first checker 112 (without bothering the user). For this reason, it is possible to prevent an assertion that should belong to the same group from being missed.

次に、図8に示すチェッカ読み込み部12がグルーピング対象のアサーションを検出する処理(グルーピング検出処理)を説明する。
図10は、グルーピング検出処理を説明するフローチャートである。
Next, processing (grouping detection processing) in which the checker reading unit 12 illustrated in FIG. 8 detects assertions to be grouped will be described.
FIG. 10 is a flowchart for explaining the grouping detection process.

[ステップS11] チェッカ読み込み部12は、第1のチェッカ112を取得する。その後、ステップS12に遷移する。
[ステップS12] チェッカ読み込み部12は、取得した第1のチェッカ112に含まれるアサーション数nを計算する。その後、ステップS13に遷移する。
[Step S11] The checker reading unit 12 acquires the first checker 112. Thereafter, the process proceeds to operation S12.
[Step S12] The checker reading unit 12 calculates the number n of assertions included in the acquired first checker 112. Thereafter, the process proceeds to operation S13.

[ステップS13] チェッカ読み込み部12は、パラメータk=0に設定する。その後、ステップS14に遷移する。
[ステップS14] チェッカ読み込み部12は、パラメータkがアサーション数nに一致するか否かを判断する。パラメータkがアサーション数nに一致する場合(ステップS14のYes)、図10の処理を終了する。パラメータkがアサーション数nに一致しない場合(ステップS14のNo)、ステップS15に遷移する。
[Step S13] The checker reading unit 12 sets the parameter k = 0. Thereafter, the process proceeds to operation S14.
[Step S14] The checker reading unit 12 determines whether or not the parameter k matches the number of assertions n. When the parameter k matches the number of assertions n (Yes in step S14), the process in FIG. When the parameter k does not match the assertion number n (No in step S14), the process proceeds to step S15.

[ステップS15] チェッカ読み込み部12は、ステップS11にて取得した第1のチェッカ112の中に事後条件が一致するアサーションが存在するか否かを判断する。事後条件が一致するアサーションが存在する場合(ステップS15のYes)、ステップS16に遷移する。事後条件が一致するアサーションが存在しない場合(ステップS15のNo)、ステップS18に遷移する。   [Step S15] The checker reading unit 12 determines whether there is an assertion in the first checker 112 acquired in step S11 that matches the post-condition. If there is an assertion that matches the post-condition (Yes in step S15), the process proceeds to step S16. If there is no assertion that matches the post-condition (No in step S15), the process proceeds to step S18.

[ステップS16] チェッカ読み込み部12は、事後条件が一致するアサーションが、グルーピング対象のアサーションであると判断する。その後、ステップS17に遷移する。   [Step S <b> 16] The checker reading unit 12 determines that the assertion whose post-conditions match is the grouping target assertion. Thereafter, the process proceeds to operation S17.

[ステップS17] チェッカ読み込み部12は、事前条件名に基づきグルーピング対象のアサーションのグループ属性名を生成する。その後、ステップS18に遷移する。
[ステップS18] チェッカ読み込み部12は、パラメータkをインクリメントする。その後、ステップS14に遷移する。
[Step S <b> 17] The checker reading unit 12 generates a group attribute name of the grouping target assertion based on the precondition name. Thereafter, the process proceeds to operation S18.
[Step S18] The checker reading unit 12 increments the parameter k. Thereafter, the process proceeds to operation S14.

次に、図8に示す生成部13の処理を、フローチャートを用いて説明する。
図11は、第3の実施の形態の生成部の処理を説明するフローチャートである。
[ステップS21] 生成部13は、定型文を作成する。その後、ステップS22に遷移する。
Next, the process of the production | generation part 13 shown in FIG. 8 is demonstrated using a flowchart.
FIG. 11 is a flowchart illustrating the processing of the generation unit according to the third embodiment.
[Step S21] The generation unit 13 creates a fixed sentence. Thereafter, the process proceeds to operation S22.

[ステップS22] 生成部13は、チェッカデータモデル122を参照し、ステップS21にて作成した定型文にアサーション名、同期条件、アボート条件、事後条件を挿入する。その後、ステップS23に遷移する。   [Step S22] The generation unit 13 refers to the checker data model 122 and inserts an assertion name, a synchronization condition, an abort condition, and a postcondition into the fixed sentence created in step S21. Thereafter, the process proceeds to operation S23.

[ステップS23] 生成部13は、「checker_group.checkers[]」の要素を1つ取り出す。その後、ステップS24に遷移する。
[ステップS24] 生成部13は、チェッカデータモデル122を参照し、用意したパラメータkに最小許容間隔nをセットする。その後、ステップS25に遷移する。
[Step S <b> 23] The generation unit 13 extracts one element of “checker_group.checkers []”. Thereafter, the process proceeds to operation S24.
[Step S24] The generation unit 13 refers to the checker data model 122 and sets the minimum allowable interval n to the prepared parameter k. Thereafter, the process proceeds to operation S25.

[ステップS25] 生成部13は、パラメータkの値が、最大許容間隔mに一致するか否かを判断する。パラメータkの値が、最大許容間隔mに一致する場合(ステップS25のYes)、ステップS27に遷移する。パラメータkの値が、最大許容間隔mに一致しない場合(ステップS25のNo)、ステップS26に遷移する。   [Step S25] The generation unit 13 determines whether or not the value of the parameter k matches the maximum allowable interval m. When the value of the parameter k matches the maximum allowable interval m (Yes in step S25), the process proceeds to step S27. When the value of the parameter k does not match the maximum allowable interval m (No in step S25), the process proceeds to step S26.

[ステップS26] 生成部13は、「$past(<precond_expr>,delay)」の記述を論理和で繋ぐ。その後、ステップS26aに遷移する。
[ステップS26a] 生成部13は、パラメータkの値をインクリメントする。その後、ステップS25に遷移する。
[Step S <b> 26] The generation unit 13 connects the descriptions of “$ past (<precond_expr>, delay)” with a logical sum. Thereafter, the process proceeds to operation S26a.
[Step S26a] The generation unit 13 increments the value of the parameter k. Thereafter, the process proceeds to operation S25.

[ステップS27] 生成部13は、「checker_group.checkers[]」に設定されている全ての要素を取り出したか否かを判断する。全ての要素を取り出した場合(ステップS27のYes)、ステップS28に遷移する。全ての要素を取り出していない場合(ステップS27のNo)、ステップS23に遷移し、ステップS24〜S26の処理を実行していない要素を取り出し、ステップS24以降の処理を実行する。   [Step S27] The generation unit 13 determines whether all elements set in “checker_group.checkers []” have been extracted. When all the elements have been extracted (Yes in step S27), the process proceeds to step S28. When all the elements have not been extracted (No in step S27), the process proceeds to step S23, where elements that have not been subjected to the processes in steps S24 to S26 are extracted, and the processes after step S24 are executed.

[ステップS28] 生成部13は、ステップS26にて生成した論理和の結合を定型文の後に挿入する。その後、ステップS29に遷移する。
[ステップS29] 生成部13は、事前条件チェッカ133a生成の終了を示す「;)」を挿入する。その後、ステップS30に遷移する。
[Step S28] The generation unit 13 inserts the combination of the logical sums generated in step S26 after the fixed phrase. Thereafter, the process proceeds to operation S29.
[Step S29] The generation unit 13 inserts “;)” indicating the end of the generation of the precondition checker 133a. Thereafter, the process proceeds to operation S30.

[ステップS30] 生成部13は、第1のチェッカ112にコメントを追加したチェッカ112aを事前条件チェッカ133aに追加し、第2のチェッカ133を生成する。その後、ステップS31に遷移する。   [Step S <b> 30] The generation unit 13 adds the checker 112 a with the comment added to the first checker 112 to the precondition checker 133 a, and generates the second checker 133. Thereafter, the process proceeds to operation S31.

[ステップS31] 生成部13は、ステップS30にて生成した第2のチェッカ133を第2のチェッカ記憶部14に記憶する。その後、図11の処理を終了する。
図12は、第3の実施の形態の処理結果を説明する図である。
[Step S31] The generation unit 13 stores the second checker 133 generated in step S30 in the second checker storage unit 14. Then, the process of FIG. 11 is complete | finished.
FIG. 12 is a diagram for explaining the processing result of the third embodiment.

第3の実施の形態の情報処理装置10により生成された第2のチェッカ133によれば、事後条件(B1==1)発生時、事前条件A1、A2のいずれかが発生していれば、正しい動作であると、判断することができる。これにより、同じグループに属すべきアサーションの見逃しも防ぐことができる。   According to the second checker 133 generated by the information processing apparatus 10 according to the third embodiment, if any of the preconditions A1 and A2 occurs when the postcondition (B1 == 1) occurs, It can be determined that the operation is correct. This can also prevent oversight of assertions that should belong to the same group.

<第4の実施の形態>
次に、第4の実施の形態の情報処理装置について説明する。
以下、第4の実施の形態の情報処理装置について、前述した第2の実施の形態および第3の実施の形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
<Fourth embodiment>
Next, an information processing apparatus according to the fourth embodiment will be described.
Hereinafter, the information processing apparatus according to the fourth embodiment will be described with a focus on differences from the second embodiment and the third embodiment described above, and descriptions of similar matters will be omitted. .

第4の実施の形態の情報処理装置10は、チェッカデータモデル121にセットする情報をインタフェース部15からの入力によって取得し、セットした情報に基づいて第2のチェッカを生成する点が異なっている。   The information processing apparatus 10 according to the fourth embodiment is different in that information to be set in the checker data model 121 is acquired by input from the interface unit 15 and a second checker is generated based on the set information. .

本実施の形態では、第2の実施の形態、および第3の実施の形態で入力としてきた第1のチェッカのアサーション「chk_xx」と、その事前条件をチェックするアサーション「chk_xx_precond_chk」を生成する例を挙げる。   In the present embodiment, an example of generating the assertion “chk_xx” of the first checker input as the input in the second embodiment and the third embodiment and the assertion “chk_xx_precond_chk” for checking the precondition thereof are generated. I will give you.

ユーザは、インタフェース部15の入力フォーマットに従い、アサーション「chk_xx」を生成するための情報を入力する。その後は第2の実施の形態にて述べたのと同様に、この入力情報をデータベース20に保存してチェッカデータモデル121に反映させる。   The user inputs information for generating the assertion “chk_xx” according to the input format of the interface unit 15. Thereafter, as described in the second embodiment, this input information is stored in the database 20 and reflected in the checker data model 121.

生成部13は、事前条件チェッカについては第2の実施の形態と同様のアルゴリズムでアサーション「chk_xx_precond_chk」を生成する。さらに生成部13は、図4に示したように、斜体の箇所にチェッカデータモデル121の情報を埋め込む形で第1のチェッカのアサーション「chk_xx」も生成してこれらをまとめた第2のチェッカを第2のチェッカ記憶部14に記憶する。   The generation unit 13 generates an assertion “chk_xx_precond_chk” for the precondition checker using the same algorithm as in the second embodiment. Further, as shown in FIG. 4, the generation unit 13 also generates the first checker assertion “chk_xx” by embedding the information of the checker data model 121 in the italicized part, and generates a second checker in which these are summarized. The data is stored in the second checker storage unit 14.

ところで、ユーザは、事後条件が同じアサーションをグルーピングさせる情報を第1のチェッカに手動で入力することもできる。
事後条件が同じアサーションをグルーピングさせるためには、ユーザがキーボード105aやマウス105bを用いてアサーションの前行に専用のコメントを挿入する。この形式のコメントを挿入した第1のチェッカを情報処理装置10に入力することで、アサーション「chk_xx」とアサーション「chk_yy」が共に事後条件「B1==1」を持つ同じグループであることをチェッカ読み込み部12が認識する。チェッカ読み込み部12では、同じグループであるものは事前条件チェッカを生成する際に1つのアサーションにまとめて出力される。
By the way, the user can also manually input information for grouping assertions having the same post-condition into the first checker.
In order to group assertions with the same post-condition, the user inserts a dedicated comment on the preceding line of the assertion using the keyboard 105a and the mouse 105b. By inputting the first checker in which the comment of this format is inserted into the information processing apparatus 10, it is possible to check that the assertion “chk_xx” and the assertion “chk_yy” are both the same group having the postcondition “B1 == 1”. The reading unit 12 recognizes. In the checker reading unit 12, those belonging to the same group are collectively output as one assertion when the precondition checker is generated.

図13は、第4の実施の形態の第1のチェッカを説明する図である。
本実施の形態の第1のチェッカ113のグルーピング用コメントの形式は「CAGS Info:Member of ×× Group.」と決まっており、××の部分はユーザが任意に指定することができる。このとき生成されるアサーションのラベルは「××_precond_chk」となる。図13に示す例では「Grp_B1_precond_chk」として生成される。これによって、第3の実施の形態と同等の機能を備える第2のチェッカを生成することができる。
FIG. 13 is a diagram illustrating the first checker according to the fourth embodiment.
The format of the grouping comment of the first checker 113 of the present embodiment is determined as “CAGS Info: Member of XX Group.”, And the xx part can be arbitrarily designated by the user. The label of the assertion generated at this time is “xxx_precond_chk”. In the example illustrated in FIG. 13, it is generated as “Grp_B1_precond_chk”. As a result, a second checker having a function equivalent to that of the third embodiment can be generated.

以上、本発明の情報処理装置、情報処理方法およびプログラムを、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。   The information processing apparatus, information processing method, and program of the present invention have been described based on the illustrated embodiment. However, the present invention is not limited to this, and the configuration of each unit has the same function. Any configuration can be substituted. Moreover, other arbitrary structures and processes may be added to the present invention.

また、本発明は、前述した各実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、情報処理装置10が行った処理が、複数の装置によって分散処理されるようにしてもよい。例えば、1つの装置が、チェッカデータモデル121を生成しておき、他の装置が、そのチェッカデータモデル121を用いて第2のチェッカ131を生成するようにしてもよい。
Further, the present invention may be a combination of any two or more configurations (features) of the above-described embodiments.
Note that the processing performed by the information processing device 10 may be distributed by a plurality of devices. For example, one apparatus may generate the checker data model 121, and another apparatus may generate the second checker 131 using the checker data model 121.

なお、上記の処理機能は、コンピュータによって実現することができる。その場合、情報処理装置1、10が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記憶装置には、ハードディスクドライブ、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクには、DVD、DVD−RAM、CD−ROM/RW等が挙げられる。光磁気記録媒体には、MO(Magneto-Optical disk)等が挙げられる。   The above processing functions can be realized by a computer. In that case, a program describing the processing contents of the functions of the information processing apparatuses 1 and 10 is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic storage device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic storage device include a hard disk drive, a flexible disk (FD), and a magnetic tape. Examples of the optical disk include a DVD, a DVD-RAM, and a CD-ROM / RW. Examples of the magneto-optical recording medium include an MO (Magneto-Optical disk).

プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   When distributing the program, for example, a portable recording medium such as a DVD or a CD-ROM in which the program is recorded is sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.

プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。   The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time a program is transferred from a server computer connected via a network, the computer can sequentially execute processing according to the received program.

また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等の電子回路で実現することもできる。   Further, at least a part of the above processing functions can be realized by an electronic circuit such as a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), or a PLD (Programmable Logic Device).

1、10 情報処理装置
1a、1d 記憶部
1b 読み込み部
1c、13 生成部
2a、111、112、113 第1のチェッカ
2b、131、133 第2のチェッカ
2b1、131a、132a、133a 事前条件チェッカ
11 第1のチェッカ記憶部
12 チェッカ読み込み部
121、122 チェッカデータモデル
14 第2のチェッカ記憶部
15 インタフェース部
16 DB入出力部
20 データベース
20a、20b テーブル
1, 10 Information processing device 1a, 1d Storage unit 1b Reading unit 1c, 13 Generation unit 2a, 111, 112, 113 First checker 2b, 131, 133 Second checker 2b1, 131a, 132a, 133a Precondition checker 11 First checker storage unit 12 Checker reading unit 121, 122 Checker data model 14 Second checker storage unit 15 Interface unit 16 DB input / output unit 20 Database 20a, 20b Table

Claims (6)

論理回路の正当性を検証する際に、事前条件発生時に事後条件の発生の有無を検査する第1のチェッカを読み込む読み込み部と、
前記読み込み部が読み込んだ第1のチェッカに基づき、事前条件未発生時には事後条件が発生しないことを検査する第2のチェッカを生成する生成部と、
を有することを特徴とする情報処理装置。
A reading unit that reads a first checker that inspects whether or not a post-condition is generated when a pre-condition occurs when verifying the validity of the logic circuit;
Based on the first checker read by the reading unit, a generation unit that generates a second checker that checks that no post condition occurs when the pre-condition does not occur;
An information processing apparatus comprising:
前記生成部は、前記第1のチェッカに記載された事前条件と事後条件間の最小許容間隔から最大許容間隔まで事前条件の論理和を追加して前記第2のチェッカを生成することを特徴とする請求項1記載の情報処理装置。   The generating unit generates the second checker by adding a logical sum of preconditions from a minimum allowable interval to a maximum allowable interval between a precondition and a postcondition described in the first checker. The information processing apparatus according to claim 1. 前記読み込み部が読み込んだ第1のチェッカに同じ事後条件に対して事前条件が複数存在するチェッカが存在する場合、前記生成部は、複数の前記事前条件のうちのいずれか1つが成立した場合に前記論理回路の論理が正当であると判断する情報を前記第2のチェッカに追加することを特徴とする請求項1記載の情報処理装置。   When there is a checker having a plurality of preconditions for the same postcondition in the first checker read by the reading unit, the generation unit is when any one of the plurality of preconditions is satisfied 2. The information processing apparatus according to claim 1, wherein information for determining that the logic of the logic circuit is valid is added to the second checker. 前記生成部は、前記第1のチェッカに含まれるアサーションのうち、事後条件が同じアサーションが存在するか否かを判断し、判断結果に基づき事後条件が同じアサーション同士を同じグループのアサーションに関連づけることを特徴とする請求項1記載の情報処理装置。   The generation unit determines whether there is an assertion having the same postcondition among the assertions included in the first checker, and associates the assertions having the same postcondition to the assertions of the same group based on the determination result. The information processing apparatus according to claim 1. コンピュータが、
論理回路の正当性を検証する際に、事前条件発生時に事後条件の発生の有無を検査する第1のチェッカを読み込み、
読み込んだ第1のチェッカに基づき、事前条件未発生時には事後条件が発生しないことを検査する第2のチェッカを生成する、
ことを特徴とする情報処理方法。
Computer
When verifying the correctness of the logic circuit, the first checker for checking whether or not the post-condition is generated when the pre-condition is generated is read.
Based on the read first checker, a second checker is generated to check that no post condition occurs when the pre-condition does not occur.
An information processing method characterized by the above.
コンピュータに、
論理回路の正当性を検証する際に、事前条件発生時に事後条件の発生の有無を検査する第1のチェッカを読み込み、
読み込んだ第1のチェッカに基づき、事前条件未発生時には事後条件が発生しないことを検査する第2のチェッカを生成する、
処理を実行させることを特徴とするプログラム。
On the computer,
When verifying the correctness of the logic circuit, the first checker for checking whether or not the post-condition is generated when the pre-condition is generated is read.
Based on the read first checker, a second checker is generated to check that no post condition occurs when the pre-condition does not occur.
A program characterized by causing processing to be executed.
JP2012069045A 2012-03-26 2012-03-26 Information processing device, information processing method, and program Pending JP2013200745A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012069045A JP2013200745A (en) 2012-03-26 2012-03-26 Information processing device, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012069045A JP2013200745A (en) 2012-03-26 2012-03-26 Information processing device, information processing method, and program

Publications (1)

Publication Number Publication Date
JP2013200745A true JP2013200745A (en) 2013-10-03

Family

ID=49520932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012069045A Pending JP2013200745A (en) 2012-03-26 2012-03-26 Information processing device, information processing method, and program

Country Status (1)

Country Link
JP (1) JP2013200745A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007264994A (en) * 2006-03-28 2007-10-11 Fujitsu Ltd Verification support device, verification support method, verification support program and recording medium
JP2010140255A (en) * 2008-12-11 2010-06-24 Renesas Electronics Corp Reconfigurable logic circuit, verification method and verification program
JP2011186817A (en) * 2010-03-09 2011-09-22 Toshiba Corp Device and method for verifying logic
JP2012248064A (en) * 2011-05-30 2012-12-13 Hitachi Ltd Logic verification method and logic verification system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007264994A (en) * 2006-03-28 2007-10-11 Fujitsu Ltd Verification support device, verification support method, verification support program and recording medium
JP2010140255A (en) * 2008-12-11 2010-06-24 Renesas Electronics Corp Reconfigurable logic circuit, verification method and verification program
JP2011186817A (en) * 2010-03-09 2011-09-22 Toshiba Corp Device and method for verifying logic
JP2012248064A (en) * 2011-05-30 2012-12-13 Hitachi Ltd Logic verification method and logic verification system

Similar Documents

Publication Publication Date Title
US8984458B2 (en) Dynamic rule checking in electronic design automation
US9990458B2 (en) Generic design rule checking (DRC) test case extraction
JP2006244073A (en) Semiconductor design device
US20160078154A1 (en) Digital circuit design method and associated computer program product
US9600398B2 (en) Method and apparatus for debugging HDL design code and test program code
US7888971B2 (en) Verification support system and method
US9672317B2 (en) Quality of results system
Fu et al. LLM4SecHW: Leveraging domain-specific large language model for hardware debugging
US8434072B2 (en) Automatic retrieval of translated messages for interacting with legacy systems
JP2008282351A (en) Method and program for verifying circuit design
JP2014164677A (en) Specification verification support device, specification verification support method and program
KR101534493B1 (en) Source code security weakness detection apparatus and method based on structure conversion
JP2013200745A (en) Information processing device, information processing method, and program
JP6644188B2 (en) Impact extraction device, impact extraction program, and impact extraction method
JP5799589B2 (en) Verification method and verification program
JP4983642B2 (en) Design verification program, design verification method, and design verification apparatus
JP5736588B2 (en) Source code conversion method and source code conversion program
JP5691890B2 (en) Verification device, verification program, and verification method
JP5641046B2 (en) Timing constraint generation support device, timing constraint generation support program, and timing constraint generation support method
JP5899781B2 (en) Design support apparatus, design support method, and design support program
JP6818568B2 (en) Communication device, communication specification difference extraction method and communication specification difference extraction program
US20130311966A1 (en) Circuit design support apparatus, computer-readable recording medium, and circuit design support method
JP2013228780A (en) Information processing apparatus, information processing method and program
JP2021015481A (en) Information processing program, information processing method, and information processing device
JP2009086918A (en) Verification support device, method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141128

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20150611

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160524