JP2007156728A - Logic verification method and logic verification system - Google Patents

Logic verification method and logic verification system Download PDF

Info

Publication number
JP2007156728A
JP2007156728A JP2005349620A JP2005349620A JP2007156728A JP 2007156728 A JP2007156728 A JP 2007156728A JP 2005349620 A JP2005349620 A JP 2005349620A JP 2005349620 A JP2005349620 A JP 2005349620A JP 2007156728 A JP2007156728 A JP 2007156728A
Authority
JP
Japan
Prior art keywords
verification
instruction
processing unit
logic
data
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
JP2005349620A
Other languages
Japanese (ja)
Inventor
Yoshito Mizogami
良人 溝上
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.)
Hitachi Information and Telecommunication Engineering Ltd
Original Assignee
Hitachi Information and Communication Engineering 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 Hitachi Information and Communication Engineering Ltd filed Critical Hitachi Information and Communication Engineering Ltd
Priority to JP2005349620A priority Critical patent/JP2007156728A/en
Publication of JP2007156728A publication Critical patent/JP2007156728A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a technology which can verify a logic circuit including a plurality of bus interfaces by using a model for verification of a unified form on a computer system. <P>SOLUTION: Operation of a verification target logic circuit 111 is verified by logic simulation while information of a verification model 110 in a unified form about the verification target logic circuit 111 comprising a plurality of bus interface signal group 160 is created on a computer system 10. The verification model 110 comprises a plurality of protocol processing sections 150 corresponding to a plurality of bus interface signal group 160 and an instruction processing section 120 which controls the whole including them. A test instruction string 101 including a protocol processing section selection instruction is inputted to an instruction processing section 120. By this processing, processing of the instruction concerned is executed by a selected protocol processing section 150, and a comparison result 104 is obtained. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、コンピュータ(電子計算機)システム上における、論理回路または論理回路を含む論理装置についての検証用モデルを用いる論理シミュレーションによる論理検証/テストの技術に関する。特に、特定の命令語により論理動作を実現するCPU系のプロセッサを含む論理回路のプロセッサバスインターフェース(バスI/Fと略称する)信号を生成するための検証用モデルの作成(生成/構築)、及び、その検証用モデルを用いる論理シミュレーション手段による論理検証又はテストの処理方法に関する。   The present invention relates to a logic verification / test technique based on a logic simulation using a verification model for a logic circuit or a logic device including a logic circuit on a computer (electronic computer) system. In particular, creation (generation / construction) of a verification model for generating a processor bus interface (abbreviated as bus I / F) signal of a logic circuit including a CPU processor that realizes a logic operation by a specific instruction word; The present invention also relates to a logic verification or test processing method by a logic simulation means using the verification model.

従来、論理回路についての検証用モデルを用いた論理シミュレーションでは、例えば以下のような手法を用いている。まず、プロセッサの動作を確認するための初期状態設定データや、プロセッサ特有の命令レベルで作成した入力テストデータ、及びその出力結果である論理回路の動作状況の信号変化を期待値として論理シミュレータが直接読み込めるテキストやバイナリなどの形式に変換する手段で、論理シミュレーションの入力となるテストベクトルを作成する。   Conventionally, in a logic simulation using a verification model for a logic circuit, for example, the following method is used. First, the logic simulator directly uses the initial state setting data for checking the operation of the processor, the input test data created at the processor-specific instruction level, and the signal change in the operation status of the logic circuit as the output result as the expected value. A test vector that is input to a logic simulation is created by means of conversion to a format such as readable text or binary.

論理シミュレーションの実行段階では、上記テストベクトルに展開された命令レベルの入力データを、プロセッサ検証用モデルが読み込む。そして、プロセッサ検証用モデルは、テストベクトルに展開された初期状態設定とともに、バスI/F動作に準じたそれぞれの時刻に対応するテストベクトルのデータを、検証対象論理回路に与えて、対象論理を動作させる。その後、検証対象論理回路の出力値を、プロセッサ検証用モデルで読み込み、その出力値が予め準備した期待値と不一致となった場合に、論理動作エラーを報告する、という手法を用いている。   In the execution stage of the logic simulation, the processor verification model reads the instruction level input data expanded into the test vector. Then, the processor verification model gives test vector data corresponding to each time according to the bus I / F operation to the verification target logic circuit together with the initial state setting expanded to the test vector, and sets the target logic. Make it work. Thereafter, a method is used in which the output value of the logic circuit to be verified is read by a processor verification model, and a logic operation error is reported when the output value does not match an expected value prepared in advance.

検証用モデルを用いた論理シミュレーションの技術の事例は、特開平10−221410号公報(特許文献1)にも詳細が記載されている。   Details of the logic simulation technique using the verification model are also described in Japanese Patent Application Laid-Open No. 10-212410 (Patent Document 1).

従来の論理シミュレーションによる論理検証の方法及びシステムでは、検証対象論理回路が複数のプロセッサのバスI/Fを含む場合には、それら複数のプロセッサのバスI/Fのそれぞれに対応した、複数の検証用モデル(プロトコル処理部)に対して、入力パラメータなどによりパターン生成を行い、個々の検証用モデルでそのパターンを読み取り、検証対象論理回路に与える、といった手法を用いていた。
特開平10−221410号公報
In the conventional logic verification method and system based on logic simulation, when the verification target logic circuit includes bus I / Fs of a plurality of processors, a plurality of verifications corresponding to the bus I / Fs of the plurality of processors are performed. A method is used in which a pattern is generated for input models (protocol processing units) using input parameters and the like, and the patterns are read by individual verification models and given to the verification target logic circuit.
JP 10-22214 A

一般的に、異なるプロセッサは、それぞれの命令形式(換言すればプロトコル)が異なり、またプロセッサバスの動作仕様(バスI/F)が異なる、という特徴を持つ。   In general, different processors have different instruction formats (in other words, protocols) and processor bus operation specifications (bus I / F).

前記従来技術では、検証対象論理回路の同一論理構成上に異なるプロセッサバスを有する場合、それぞれのプロセッサバスの動作仕様(バスI/F)に合わせた検証用モデルを作成する必要があった。また、各プロセッサは命令形式が異なるために、一つの検証/テストケースを実現する検証/テストデータ(命令)を作成する場合も、プロセッサごとの命令列を準備して与える必要があった。それぞれのプロセッサの仕様に合った検証用モデル(プロトコル処理部)を作成する場合、この検証用モデルの作成や管理の工数が増大していた。プロトコル処理部は、換言すればCPU等のプロセッサを論理的にシミュレーションしたモジュールである。   In the conventional technique, when different processor buses are provided on the same logical configuration of the logic circuit to be verified, it is necessary to create a verification model in accordance with the operation specifications (bus I / F) of each processor bus. Since each processor has a different instruction format, it is necessary to prepare and provide an instruction sequence for each processor when creating verification / test data (instructions) for realizing one verification / test case. When creating a verification model (protocol processing unit) that matches the specifications of each processor, the number of steps for creating and managing this verification model has increased. In other words, the protocol processing unit is a module that logically simulates a processor such as a CPU.

また複数のプロセッサバス間の競合などの検証/テストを行うためには、複数のプロセッサ間の動作を制御する必要がある。しかしながら、プロセッサ間の動作を制御する手法は、前述のようにプロセッサ及びバスI/Fごとに対応しなければならないため複雑であった。従って、論理シミュレーションにおける上記プロセッサバス間の競合などの検証/テストのための作成や管理の工数は多大となる。   In addition, in order to perform verification / test such as competition between a plurality of processor buses, it is necessary to control operations between the plurality of processors. However, the method of controlling the operation between the processors is complicated because it has to correspond to each processor and bus I / F as described above. Therefore, the number of man-hours for creation and management for verification / testing such as competition between the processor buses in the logic simulation is enormous.

従来では、複数のプロセッサ及びバスI/Fに対応した統一された検証用モデルを扱う論理シミュレーション及び論理検証/テストの技術は存在しなかった。従来技術でも複数の対象プロセッサを一つの検証用モデルごとに並列に検証/テストすることは可能であったが、特に複数のプロセッサバス間の競合の検証/テストを実現することは困難であった。   Conventionally, there has been no logic simulation and logic verification / testing technique for handling a unified verification model corresponding to a plurality of processors and bus I / Fs. Even in the prior art, it was possible to verify / test multiple target processors in parallel for each verification model, but it was particularly difficult to verify / test contention between multiple processor buses. .

本発明は以上のような問題に鑑みてなされたものであり、その目的は、コンピュータシステム上において検証用モデルを用いて論理シミュレーション実行により対象の論理回路/論理装置の検証/テストを実現するものであって、一つの統一された形式の検証用モデル及び命令などを用いて、複数のバスI/Fを含む対象の回路/装置の論理検証/テストの処理動作を実現できる技術を提供することである。また特に、一つの命令列で検証用モデルを動作させて複数の対象の回路/装置の検証を可能とすることにより、検証モデルの作成や管理の工数の削減、及び、プロセッサ間のデータ作成、プロセッサバス間の競合の検証/テストの容易化により、効率の良いバスI/F信号の論理シミュレーションを行うことが可能な技術を提供することである。   The present invention has been made in view of the above problems, and an object thereof is to realize verification / test of a target logic circuit / logic device by executing a logic simulation on a computer system using a verification model. An object of the present invention is to provide a technology capable of realizing a logic verification / test processing operation of a target circuit / device including a plurality of bus I / Fs by using a verification model and instructions in one unified format. It is. In particular, by operating the verification model with a single instruction sequence and enabling verification of multiple target circuits / devices, verification model creation and management man-hours can be reduced, and data creation between processors. It is an object of the present invention to provide a technique capable of performing efficient logic simulation of a bus I / F signal by facilitating verification / testing of competition between processor buses.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。前記目的を達成するために、本発明の技術は、コンピュータシステム(プロセッサ及びメモリを含むハードウェア)上において検証用モデルを用いた論理シミュレーション実行による対象の論理回路/論理装置の検証/テスト、及び前記検証用モデルの作成(生成/構築)を行うものであって、以下に示す技術的手段を備えることを特徴とする。なお、本論理検証方法は、コンピュータ(プロセッサ)が実行する後述の処理ステップを有するデータ/情報の処理方法である。また本論理検証システムは、本論理検証方法に従った処理を実行するコンピュータシステム/情報処理システムである。   Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows. In order to achieve the above object, the technique of the present invention is to verify / test a target logic circuit / logic device by executing a logic simulation using a model for verification on a computer system (hardware including a processor and a memory), and The verification model is created (generated / constructed), and includes the following technical means. This logic verification method is a data / information processing method having processing steps to be described later executed by a computer (processor). The logical verification system is a computer system / information processing system that executes processing according to the logical verification method.

(1) 本発明の技術は、検証/テストの作業者が使用するコンピュータ上に、複数のプロセッサ(CPU等の処理装置)に対応した複数のバスI/Fが存在する検証対象の論理回路についての一つに統一された形式の検証用モデルが作成された環境/状態において、この検証用モデル及び対応する命令形式などを用いて、複数のバスI/Fを含む検証対象の論理回路の動作の検証/テストを、論理シミュレーション手法により行うものである。前記コンピュータ上でプロセッサ等によりメモリ上のプログラム等が処理される形態により、前記検証用モデルを動作させて論理シミュレーションを実行する。   (1) The technique of the present invention relates to a logic circuit to be verified in which a plurality of bus I / Fs corresponding to a plurality of processors (processing devices such as CPUs) exist on a computer used by a verification / test operator. The operation of the logic circuit to be verified including a plurality of bus I / Fs using the verification model and the corresponding instruction format in the environment / state in which the verification model in a unified format is created This verification / test is performed by a logic simulation method. The logic model is executed by operating the verification model in a form in which a program or the like in a memory is processed by a processor or the like on the computer.

本論理検証方法及びシステムでは、検証用モデルは、プロセッサ依存のバスI/F信号(プロセッサバスに入出力する信号データ)を制御動作するプロトコル処理機能(換言すればバスI/F処理機能)を持つ複数のプロトコル処理部(第1〜第Nのプロトコル処理部)と、複数のプロトコル処理部を含む全体の制御を行い、検証/テストのための1つ以上の命令を含んで成る第1の命令列(テスト/検証用命令)の処理によって前記論理回路の動作の検証/テストの処理を行ってその処理の結果を出力する命令処理部と、に分割されて構成される。   In this logic verification method and system, the verification model has a protocol processing function (in other words, a bus I / F processing function) for controlling and operating a processor-dependent bus I / F signal (signal data input to and output from the processor bus). A plurality of protocol processing units (first to Nth protocol processing units) having a plurality of protocol processing units, and a first control unit including one or more instructions for verification / test It is divided into an instruction processing unit that performs verification / test processing of the operation of the logic circuit by processing of an instruction sequence (test / verification instruction) and outputs a result of the processing.

作業者は、命令処理部に対し、検証/テストのための第1の命令列(テキスト又はその変換によるバイナリ等の形式のデータ/情報)を入力する。命令処理部での第1の命令列の解読等の処理を通じて、プロトコル処理部に対し1つ以上の命令(バスI/F信号の制御動作のためのコマンド及びデータ等)を与えてその命令に対応するプロトコル処理を実行させる。即ちプロトコル処理部により検証対象論理回路へのバスI/F信号の入出力等の制御動作を実行させる。そして命令処理部では、そのプロトコル処理部の処理結果(検証対象の論理回路からの入力データ等)のデータ値を、期待値(Eとする)と比較して、その比較結果を情報として取得/出力する。   The operator inputs a first instruction sequence (data / information in a format such as text or binary by conversion thereof) to the instruction processing unit for verification / testing. Through processing such as decoding of the first instruction sequence in the instruction processing section, one or more instructions (commands and data for controlling the bus I / F signal) are given to the protocol processing section, and the instructions are The corresponding protocol process is executed. That is, a control operation such as input / output of a bus I / F signal to the verification target logic circuit is executed by the protocol processing unit. Then, the instruction processing unit compares the data value of the processing result of the protocol processing unit (input data from the logic circuit to be verified, etc.) with the expected value (E) and acquires the comparison result as information. Output.

本論理検証方法及びシステムでは、前記第1の命令列に、そのうちの該当命令が複数(第1〜第N)のうちのいずれのプロトコル処理部に対する命令であるかを選択、指定、判断などするための識別情報を付加する処理ステップ及び手段を備える。例えば、作業者が、第1の命令列内に、専用の命令(プロトコル処理部選択命令)として記述する。あるいは、プログラムによる命令列の変換により第1の命令列内に前記専用の命令に相当するコードを記述する。そして、命令処理部では、前記入力される第1の命令列の読み込み及び前記識別情報の参照・解読によって、その識別情報で識別される任意のプロトコル処理部を選択して、該当命令により該当プロトコル処理を実行させその結果を得る処理ステップ及び手段(プロトコル処理選択手段)を備える。   In the logic verification method and system, the first instruction sequence is selected, designated, determined, etc., to which protocol processing unit among the plurality (first to Nth) of the corresponding instruction. Processing steps and means for adding identification information for use. For example, the operator describes the dedicated instruction (protocol processing unit selection instruction) in the first instruction sequence. Alternatively, a code corresponding to the dedicated instruction is described in the first instruction string by converting the instruction string by a program. The instruction processing unit selects an arbitrary protocol processing unit identified by the identification information by reading the input first instruction sequence and referring / decoding the identification information. Processing steps and means (protocol processing selection means) for executing processing and obtaining the result are provided.

(2) また本論理検証方法及びシステムは、上記(1)で更に、コンピュータシステム上に、前記検証対象の論理回路に接続される前記複数のプロトコル処理部を含む前記検証用モデル(又はその一部のモジュール/情報)を作成する処理ステップ及び手段(プロトコル設定手段)を備える。この作成は、パラメータデータの入力によるプロトコル処理部のプロトコル処理機能の設定などにより行う。そして、前記作成時(初期設定時)以後で論理シミュレーション実行中において、検証対象の論理回路に接続されている前記複数のうちの任意のプロトコル処理部のバスI/F動作の時刻/タイミングを、命令処理部への命令の入力、もしくは前記プロトコル処理機能の再設定などにより、任意に変動(乃至設定変更)させる処理ステップ及び手段(動作タイミング設定手段)を有する。   (2) Further, in the logic verification method and system according to the above (1), the verification model (or one of them) further includes the plurality of protocol processing units connected to the logic circuit to be verified on the computer system. Processing steps and means (protocol setting means). This creation is performed by setting the protocol processing function of the protocol processing unit by inputting parameter data. Then, during the execution of the logic simulation after the creation (initial setting), the time / timing of the bus I / F operation of any of the plurality of protocol processing units connected to the logic circuit to be verified, It has processing steps and means (operation timing setting means) that are arbitrarily changed (or changed) by inputting an instruction to the instruction processing unit or resetting the protocol processing function.

(3) また本論理検証方法及びシステムは、上記(1)で更に、コンピュータシステム上に、前記検証対象の論理回路に接続される、プロトコル及びバスI/Fが同一で動作速度の異なる複数のプロトコル処理部を含む前記検証用モデル(又はその一部のモジュール/情報を含む)を作成する処理ステップ及び手段(プロトコル設定手段)を有する。そして、前記作成時以後で論理シミュレーション実行中において、前記動作速度などの異なる複数のプロトコル処理部のうちの任意のプロトコル処理部のプロトコル処理機能を、命令処理部への命令の入力、もしくは前記プロトコル処理機能の再設定などにより、任意に設定変更する処理ステップ及び手段を備える。   (3) Further, in the logic verification method and system according to the above (1), a plurality of protocols and bus I / Fs connected to the logic circuit to be verified are the same and different in operation speed on the computer system. It has processing steps and means (protocol setting means) for creating the verification model including the protocol processing unit (or including some modules / information thereof). Then, during execution of the logic simulation after the creation, the protocol processing function of an arbitrary protocol processing unit among the plurality of protocol processing units having different operation speeds, etc., is input to the instruction processing unit, or the protocol It includes processing steps and means for arbitrarily changing the setting by resetting the processing function.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。本発明によれば、一つの統一された形式の検証用モデル及び命令などを用いて、複数のバスI/Fを含む対象の回路/装置の論理検証/テストの処理動作を実現できる。また特に、一つの命令列で検証用モデルを動作させて複数の対象の回路/装置の検証を可能とすることにより、検証モデルの作成や管理の工数の削減、及び、プロセッサ間のデータ作成、プロセッサバス間の競合の検証/テストの容易化により、効率の良いバスI/F信号の論理シミュレーションを行うことが可能となる。   Among the inventions disclosed in the present application, effects obtained by typical ones will be briefly described as follows. According to the present invention, it is possible to realize a logic verification / test processing operation of a target circuit / device including a plurality of bus I / Fs using a verification model and instructions in one unified format. In particular, by operating the verification model with a single instruction sequence and enabling verification of multiple target circuits / devices, verification model creation and management man-hours can be reduced, and data creation between processors. By facilitating verification / testing of competition between processor buses, it is possible to perform efficient logic simulation of bus I / F signals.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。図1〜図11は、本実施の形態を示すためのものであり、図12は、従来技術を示すためのものである。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted. 1 to 11 are for illustrating the present embodiment, and FIG. 12 is for illustrating the prior art.

本実施の形態では、特徴として、検証用モデルにおけるプロトコル自動選択機能を設けている。即ち、テスト命令列中に専用の命令(プロトコル処理部選択命令)を記述し、検証用モデルの命令処理部でその命令を解読し、テスト命令列中の該当命令を処理動作させるプロトコル処理部及びバスI/Fを選択して処理動作させるものである。   In the present embodiment, as a feature, a protocol automatic selection function in a verification model is provided. That is, a protocol processing unit that describes a dedicated command (protocol processing unit selection command) in the test command sequence, decodes the command by the command processing unit of the verification model, and processes and operates the corresponding command in the test command sequence; The bus I / F is selected and processed.

図1は、本発明の実施の形態における論理検証システム及び方法に対応した、処理実行環境となるコンピュータシステム10の構成例及び処理イメージを示す。図2は、図1に対応した、本論理検証システムの概念的な構成(特徴的機能を含む概要構成)を示す。図3は、図2の本論理検証システムに含まれる論理シミュレータ100の具体的な構成を示す。   FIG. 1 shows a configuration example and a processing image of a computer system 10 serving as a processing execution environment corresponding to the logic verification system and method according to the embodiment of the present invention. FIG. 2 shows a conceptual configuration (schematic configuration including characteristic functions) of the present logic verification system corresponding to FIG. FIG. 3 shows a specific configuration of the logic simulator 100 included in the logic verification system of FIG.

図1及び図2において、本論理検証システムは、本発明の実施の形態の論理検証方法に従って、対象となる論理回路(又は論理装置)の論理検証/テストに係わる処理を実行するシステムである。本論理検証システムにおいて、本論理検証/テストに係わる処理は、論理シミュレータ100による論理シミュレーションにより実現される。本コンピュータシステム10上には、論理シミュレータ100のソフトウェアを有する。本ソフトウェアは、論理検証処理を行わせるプログラム(各処理部)や関連する情報を含んだものである。本コンピュータシステム10上で論理検証/テスト作業を行う作業者は、本ソフトウェアを実行し、必要に応じて情報の入出力の操作を行いながら、検証用モデル110を生成/構築し、検証用モデル110を用いて検証対象論理回路111の論理シミュレーションによる論理検証/テストを行う。   1 and 2, the present logic verification system is a system that executes processing related to logic verification / test of a target logic circuit (or logic device) in accordance with the logic verification method of the embodiment of the present invention. In this logic verification system, processing related to this logic verification / test is realized by logic simulation by the logic simulator 100. The computer system 10 has the logic simulator 100 software. This software includes a program (each processing unit) for performing a logic verification process and related information. An operator who performs a logic verification / test operation on the computer system 10 executes the software, generates / constructs a verification model 110 while performing an input / output operation of information as necessary, and performs a verification model. 110 is used to perform logic verification / test by logic simulation of the logic circuit 111 to be verified.

図1において、コンピュータシステム10では、PCやワークステーションなどのコンピュータ上に、図2に示す論理シミュレータ100のソフトウェアを含んだ論理検証システムが構築されている。コンピュータシステム10上で、作業者により、テストデータ11、検証対象論理回路(論理回路記述情報)13といったデータ/情報が入力/作成される。入力/作成した情報をもとに論理シミュレーションによる論理検証/テストの処理が実行され、その結果ファイル12が作成/出力される。   In FIG. 1, in a computer system 10, a logic verification system including software of the logic simulator 100 shown in FIG. 2 is constructed on a computer such as a PC or a workstation. On the computer system 10, data / information such as test data 11 and a verification target logic circuit (logic circuit description information) 13 is input / created by an operator. Based on the input / created information, logic verification / test processing by logic simulation is executed, and as a result, a file 12 is created / output.

本コンピュータシステム10における検証対象論理回路13を対象とした論理シミュレーションによる動作検証では、検証対象論理回路13として、回路記述言語(ハードウェア記述言語)によるもの等、テキストレベル(作業者が判読可能なレベル)でその機能が記述されたファイル(データ/情報)を用いる。また、検証対象論理回路13への信号値印加を行うために、検証対象論理回路13上の個々の信号線に対して、実行時刻ごとに与える信号値を順次記述して、その動作結果を観測する信号線名称を指示するテストデータ11を作成する。本論理シミュレーションでは、この検証対象論理回路13とテストデータ11を読み込み、予め指定された時刻までの論理信号の変化状態を逐次計算して、その結果を結果ファイル12に出力する。例えば図1中の論理シミュレーション実行では、入力信号値(SIG1,SIG2)を回路(AND回路)の端子に与えてその回路の出力値(SIGO)を算出し、その結果を出力している。信号値は、例えば「L20 H20 L20」といったように信号レベルのH/Lとその持続時間などによって記述されている。   In the operation verification by the logic simulation for the verification target logic circuit 13 in the computer system 10, the verification target logic circuit 13 is a text level (worker readable) such as a circuit description language (hardware description language). Level) uses a file (data / information) in which the function is described. In addition, in order to apply a signal value to the verification target logic circuit 13, the signal value given at each execution time is sequentially described for each signal line on the verification target logic circuit 13, and the operation result is observed. Test data 11 for instructing signal line names to be created is created. In this logic simulation, the verification target logic circuit 13 and the test data 11 are read, the change state of the logic signal up to a predetermined time is sequentially calculated, and the result is output to the result file 12. For example, in the execution of the logic simulation in FIG. 1, input signal values (SIG1, SIG2) are given to terminals of a circuit (AND circuit), an output value (SIGO) of the circuit is calculated, and the result is output. The signal value is described by the signal level H / L and its duration, such as “L20 H20 L20”.

図2において、コンピュータシステム10では、CPU21、メモリ22、キーボード等の入力装置23、ディスプレイ等の出力装置24等を有する。CPU21は、論理シミュレータ100のソフトウェアを実行する。また、メモリ22上に、テスト命令列101、比較結果102、パラメータデータ105等の関連データを格納する。   2, the computer system 10 includes a CPU 21, a memory 22, an input device 23 such as a keyboard, an output device 24 such as a display, and the like. The CPU 21 executes the software of the logic simulator 100. In addition, related data such as the test instruction sequence 101, the comparison result 102, and the parameter data 105 are stored on the memory 22.

論理シミュレータ100は、論理シミュレーションによる論理検証/テスト(以下単に検証またはテストとも称する)のために、検証対象論理回路111とそれに対応した検証用モデル110とを生成/構築している。検証対象論理回路111(13に対応する)及びバスI/F信号群(バスI/F信号線)160は、前記回路記述言語などにより所定の情報の形式で記述され、コンピュータシステム10上で生成/構築処理される。検証対象論理回路111は、後述する図11で例示するように、複数のプロセッサ(複数のプロトコル処理部150と一対一で対応する)のバスI/Fの動作が競合する場合の動作を制御処理する回路を含むものである。検証用モデル110は、検証対象論理回路111に類似する情報(シミュレーションモジュール)、プログラム言語で実現している擬似プログラム等とも言い換えられる。検証用モデル110は、複数のプロトコル処理部150と、検証用モデル110の制御の中心となり複数のプロトコル処理部150を含む全体を制御する命令処理部120とを含んで構成される。複数(N個)のプロトコル処理部150{150A,150B,……,150N}は、検証対象論理回路111に対する複数のバスI/F信号線160{160A,160B,……,160N}に対応して接続される。例えば第1(A)のプロトコル処理部150Aは、第1(A)のバスI/F信号群160Aを制御する処理機能を持つ。   The logic simulator 100 generates / constructs a verification target logic circuit 111 and a corresponding verification model 110 for logic verification / test (hereinafter also simply referred to as verification or test) by logic simulation. The verification target logic circuit 111 (corresponding to 13) and the bus I / F signal group (bus I / F signal line) 160 are described in a predetermined information format by the circuit description language or the like, and are generated on the computer system 10. / Build process. As illustrated in FIG. 11 to be described later, the verification target logic circuit 111 performs control processing when the operations of the bus I / Fs of a plurality of processors (corresponding one-to-one with the plurality of protocol processing units 150) compete. The circuit which performs is included. The verification model 110 is also referred to as information (simulation module) similar to the verification target logic circuit 111, a pseudo program realized in a program language, or the like. The verification model 110 includes a plurality of protocol processing units 150 and a command processing unit 120 that controls the whole of the verification model 110 including the plurality of protocol processing units 150. A plurality (N) of protocol processing units 150 {150A, 150B,..., 150N} correspond to a plurality of bus I / F signal lines 160 {160A, 160B,. Connected. For example, the first (A) protocol processing unit 150A has a processing function for controlling the first (A) bus I / F signal group 160A.

命令処理部120は、テスト命令列101を入力してプロトコル処理部150に対する命令処理を行って期待値(E)との比較結果104を出力する基本的な機能の他、特徴として、プロトコル処理選択、動作タイミング設定、プロトコル設定などの諸機能に対応している。プロトコル処理選択は、専用の命令(プロトコル処理部選択命令)により複数のうちから任意のプロトコル処理部150を選択して命令処理させるものである。動作タイミング設定は、任意のプロトコル処理部150に実行させる命令の動作タイミング/時刻を随時に変動させるものである。プロトコル設定は、任意のプロトコル処理部150のプロトコル設定(定義)を、検証用モデル110生成時(初期設定時)以後にも随時に設定変更可能とするものである。   The instruction processing unit 120 receives a test instruction sequence 101, performs instruction processing on the protocol processing unit 150, and outputs a comparison result 104 with an expected value (E). It supports various functions such as operation timing setting and protocol setting. In the protocol processing selection, an arbitrary protocol processing unit 150 is selected from a plurality of commands by a dedicated command (protocol processing unit selection command), and command processing is performed. The operation timing setting is to change the operation timing / time of an instruction to be executed by an arbitrary protocol processing unit 150 at any time. In the protocol setting, the protocol setting (definition) of an arbitrary protocol processing unit 150 can be changed at any time after the verification model 110 is generated (at the time of initial setting).

なお、従来技術の論理検証システムでは、1つのバスI/Fに対応した1つのプロトコル処理部しか有さない。そのため、複数のプロセッサ及びバスI/Fの競合の動作を検証/テストすることは困難であった。   Note that the conventional logic verification system has only one protocol processing unit corresponding to one bus I / F. For this reason, it has been difficult to verify / test the conflicting operations of a plurality of processors and the bus I / F.

図3において、論理シミュレータ100内部は、検証対象論理回路111に対しての検証用モデル110の構成として、入力パラメータ処理部140、命令処理部120、データバス制御部130、及びプロトコル処理部150{プロトコル処理部(A)150A,プロトコル処理部(B)150B}の主に4つの機能ブロックに分類される。本例では、プロトコル処理部150として2個(A,B)装備されている例を用いて説明する。そのため、図3ではプロトコル処理部(A)150Aおよびプロトコル処理部(B)150Bとして示している。   3, the logic simulator 100 includes an input parameter processing unit 140, a command processing unit 120, a data bus control unit 130, and a protocol processing unit 150 as the configuration of the verification model 110 for the verification target logic circuit 111. The protocol processing unit (A) 150A and the protocol processing unit (B) 150B} are mainly classified into four functional blocks. In this example, a description will be given using an example in which two (A, B) protocol processing units 150 are provided. For this reason, FIG. 3 shows a protocol processing unit (A) 150A and a protocol processing unit (B) 150B.

テスト命令列101は、論理検証のために作業者が入力・作成して論理シミュレータ100に対し与える、固有のアセンブラ命令形式のテキスト記述データであり、検証用命令など言い換えてもよい。図4や図9に、テスト命令列101の具体例が示される。テスト命令列101を構成する1つ以上の命令のうち単独のプロトコル処理部150に実行させる命令は、従来技術の形式(図12)と同様に示している。図5に、本実施の形態のシステムでテスト命令列101の形式に新たに追加された命令の例が示される。   The test instruction sequence 101 is text description data in a specific assembler instruction format that is input and created by an operator for logic verification and given to the logic simulator 100, and may be paraphrased as a verification instruction. Specific examples of the test instruction sequence 101 are shown in FIGS. Of the one or more instructions constituting the test instruction sequence 101, instructions to be executed by a single protocol processing unit 150 are shown in the same manner as in the prior art format (FIG. 12). FIG. 5 shows an example of an instruction newly added to the format of the test instruction sequence 101 in the system of the present embodiment.

バスI/F信号群(バスI/F信号線)160は、コマンド、アドレス、及びデータ等の信号群及びそれに対応する信号線である。例えば命令処理部120から読み出し(RD)コマンドがプロトコル処理部150Aに出力された場合、そのプロトコル処理部150Aから対応するバスI/F信号群160Aを通じて検証対象論理回路111へ該当信号を送出し、その応答の読み出しデータ等を受け取り、命令処理部120へ入力する。なお、バスI/F信号群160において、プロトコル処理部150から検証対象論理回路111への方向を出力方向としその逆を入力方向として説明している。   A bus I / F signal group (bus I / F signal line) 160 is a signal group such as a command, an address, and data, and a corresponding signal line. For example, when a read (RD) command is output from the instruction processing unit 120 to the protocol processing unit 150A, the corresponding signal is transmitted from the protocol processing unit 150A to the verification target logic circuit 111 through the corresponding bus I / F signal group 160A. The response read data and the like are received and input to the instruction processing unit 120. In the bus I / F signal group 160, the direction from the protocol processing unit 150 to the verification target logic circuit 111 is described as the output direction, and the opposite is the input direction.

命令変換プログラム(P)部102は、テスト命令列101を、検証用モデル110が読める形式にコード変換するプログラム部である。この命令変換プログラム部102では、テストデータ11として記述したアセンブラ命令記述を読み込み、バイナリ形式に変換して、検証用モデル110の入力データとなるバイナリデータ103を作成する。命令処理部120は、バイナリデータ103を入力し、処理して、比較結果104を出力する。命令変換プログラム部102もコンピュータシステム10上に有する。   The instruction conversion program (P) unit 102 is a program unit that converts the code of the test instruction sequence 101 into a format that can be read by the verification model 110. The instruction conversion program unit 102 reads an assembler instruction description described as the test data 11, converts it into a binary format, and creates binary data 103 as input data for the verification model 110. The instruction processing unit 120 receives the binary data 103, processes it, and outputs the comparison result 104. The instruction conversion program unit 102 is also provided on the computer system 10.

入力パラメータ処理部140は、複数のプロトコル処理部150の機能を定義したパラメータデータ(プロトコル設定情報)105をパラメータ入力部141により読み込み、各プロトコル処理部(150A,150B)対応のパラメータデータに従って、プロトコル設定部142により、各プロトコル処理部(150A,150B)のプロトコル及びバスI/F処理機能の設定を行う。即ち、各プロトコル処理部150のバスI/F信号群160の送出順序や送出タイミング、データ幅などの機能設定を行う。   The input parameter processing unit 140 reads the parameter data (protocol setting information) 105 defining the functions of the plurality of protocol processing units 150 by the parameter input unit 141, and determines the protocol according to the parameter data corresponding to each protocol processing unit (150A, 150B). The setting unit 142 sets the protocol and bus I / F processing function of each protocol processing unit (150A, 150B). That is, function settings such as the transmission order, transmission timing, and data width of the bus I / F signal group 160 of each protocol processing unit 150 are performed.

命令処理部120は、テスト命令列101に対応するバイナリデータ103をデータ読み込み部121で読み込み、内蔵メモリ部122へ格納する。内蔵メモリ部122は、検証用のデータ(命令)及び期待値(E)等を記憶する。   The instruction processing unit 120 reads the binary data 103 corresponding to the test instruction sequence 101 by the data reading unit 121 and stores it in the built-in memory unit 122. The built-in memory unit 122 stores verification data (command), expected value (E), and the like.

命令解読処理部123は、内蔵メモリ部122から、順次、命令(即ちバイナリデータ103に含まれているコード)を読み出して、その命令内容を解読すると共に、データ処理部124、期待値チェック部125、及びデータバス制御部130(トランザクション監視機構部131及びプロトコル選択データ入出力部132)に対し、その命令に従う動作指示を行う。命令処理部120及び命令解読処理部123は、特徴部分でもあり、専用の命令、特にプロトコル処理部選択命令であるReq設定コマンド311、を解読する機能を備えている。   The instruction decoding processing unit 123 sequentially reads instructions (that is, codes included in the binary data 103) from the built-in memory unit 122 and decodes the contents of the instructions, and also includes a data processing unit 124 and an expected value checking unit 125. And the data bus control unit 130 (transaction monitoring mechanism unit 131 and protocol selection data input / output unit 132) are instructed to operate according to the command. The command processing unit 120 and the command decoding processing unit 123 are also characteristic parts and have a function of decoding a dedicated command, particularly a Req setting command 311 which is a protocol processing unit selection command.

データ処理部124は、出力データバッファ127を制御するものであり、命令解読処理部123の指示に従い、内蔵メモリ部122から、順次、データ(命令)を読み込み、出力データバッファ127に送出する。出力データバッファ127は、プロトコル処理部150とのデータバスにデータ(命令)を出力する。また、入力データバッファ126は、プロトコル処理部150とのデータバスからデータ(命令)を入力する。   The data processing unit 124 controls the output data buffer 127, and sequentially reads data (commands) from the built-in memory unit 122 and sends them to the output data buffer 127 in accordance with instructions from the command decoding processing unit 123. The output data buffer 127 outputs data (command) to the data bus with the protocol processing unit 150. Further, the input data buffer 126 inputs data (command) from the data bus with the protocol processing unit 150.

期待値チェック部125は、命令解読処理部123の指示により、検証対象論理回路111からプロトコル処理部150を通じて読み出された入力データが保存される入力データバッファ126の内容と、期待値(E)とを比較し、その比較結果104を出力する。   The expected value check unit 125, according to an instruction from the instruction decode processing unit 123, the contents of the input data buffer 126 that stores the input data read from the verification target logic circuit 111 through the protocol processing unit 150, and the expected value (E) And the comparison result 104 is output.

データバス制御部130は、トランザクション監視機構部131、プロトコル選択・データ入出力部132を有する。データバス制御部130は、命令処理部120と複数のプロトコル処理部150との間のデータバスにおけるトランザクションを制御する。トランザクション監視機構部131は、命令処理部120、入力パラメータ処理部140、及びプロトコル処理部150の間のデータ送受信の制御を行う。プロトコル選択・データ入出力部132は、プロトコル処理部150の選択、およびデータ、アドレスの入出力制御を行う。   The data bus control unit 130 includes a transaction monitoring mechanism unit 131 and a protocol selection / data input / output unit 132. The data bus control unit 130 controls transactions on the data bus between the instruction processing unit 120 and the plurality of protocol processing units 150. The transaction monitoring mechanism unit 131 controls data transmission / reception among the instruction processing unit 120, the input parameter processing unit 140, and the protocol processing unit 150. The protocol selection / data input / output unit 132 performs selection of the protocol processing unit 150 and input / output control of data and addresses.

プロトコル処理部150は、命令解読部151、トランザクション処理部152、タイミング制御部153、アドレス・データ入出力バッファ154、データ入出力部155等を有する。トランザクション処理部152は、入出力制御、バスI/F信号制御などの機能を備える。   The protocol processing unit 150 includes an instruction decoding unit 151, a transaction processing unit 152, a timing control unit 153, an address / data input / output buffer 154, a data input / output unit 155, and the like. The transaction processing unit 152 has functions such as input / output control and bus I / F signal control.

プロトコル処理部150では、入力パラメータ処理部140のプロトコル設定部142からの指定(パラメータデータ入力)により、命令解読部151において、自身が処理すべきプロトコルに対する検証対象論理回路111のバスI/F信号群160の出力順と出力タイミングを設定する。また、命令処理部120から送出されるデータを命令解読部151に読み込み、そのデータに含まれる個別の命令に従った動作を、トランザクション処理部152に指示する。トランザクション処理部152は、指定された命令で実行すべきバスI/F信号群160の動作をデータ入出力部155に送出する。そしてデータ入出力部155から検証対象論理回路111のバスI/F信号線(160)に対して、コマンドやアドレスやデータの送出を行う。アドレス・データ入出力バッファ154には、バスI/F信号線(160)との間で入出力されるアドレスやデータ等が格納される。タイミング制御部153は、命令解読部151からの制御に従い、アドレス・データ入出力バッファ154の入出力タイミングを制御する。   In the protocol processing unit 150, in response to designation (parameter data input) from the protocol setting unit 142 of the input parameter processing unit 140, the instruction decoding unit 151 performs the bus I / F signal of the verification target logic circuit 111 for the protocol to be processed by itself. The output order and output timing of the group 160 are set. In addition, the data sent from the instruction processing unit 120 is read into the instruction decoding unit 151, and an operation according to an individual instruction included in the data is instructed to the transaction processing unit 152. The transaction processing unit 152 sends the operation of the bus I / F signal group 160 to be executed by the designated instruction to the data input / output unit 155. Then, a command, an address, and data are transmitted from the data input / output unit 155 to the bus I / F signal line (160) of the verification target logic circuit 111. The address / data input / output buffer 154 stores addresses, data, and the like input / output to / from the bus I / F signal line (160). The timing control unit 153 controls the input / output timing of the address / data input / output buffer 154 in accordance with the control from the instruction decoding unit 151.

上記コマンドが検証対象論理回路111からのデータを受け取るREAD命令系のときには、バスI/F信号線160の信号値を所定の時刻にデータ入出力部155で読み込み、アドレス・データ入出力バッファ154にその内容を格納すると共に、データバス制御部130に対して読み込みデータの取り込みを終えたことを報告する。データバス制御部130は、アドレス・データ入出力バッファ154の格納データを、データバスを通じて入力データバッファ126へ入力させる。   When the command is a READ instruction system that receives data from the logic circuit 111 to be verified, the signal value of the bus I / F signal line 160 is read by the data input / output unit 155 at a predetermined time and stored in the address / data input / output buffer 154. The contents are stored, and the data bus control unit 130 is notified that reading data has been fetched. The data bus control unit 130 causes the data stored in the address / data input / output buffer 154 to be input to the input data buffer 126 through the data bus.

上記構成により、プロトコル処理部150は、パラメータデータ105の指定に応じて、一種の検証用モデル110によって、複数種のプロトコル動作(プロトコル処理部150)を実現することができる機能を有している。   With the above configuration, the protocol processing unit 150 has a function capable of realizing a plurality of types of protocol operations (protocol processing unit 150) with a type of verification model 110 in accordance with the designation of the parameter data 105. .

図12(a)は、本実施の形態との比較のために、従来技術の形式における、一例のテスト命令列200を示す。また図12(b)は、そのテスト命令列200における、命令コード分類210を示す。また図12(c)は、そのテスト命令列200に対応したバイナリデータ220のフォーマット例を示す。   FIG. 12A shows an example test instruction sequence 200 in the conventional technique format for comparison with the present embodiment. FIG. 12B shows an instruction code classification 210 in the test instruction sequence 200. FIG. 12C shows a format example of the binary data 220 corresponding to the test instruction sequence 200.

テスト命令列200は、命令コード分類210に示すように、命令コードとして、命令を示すコマンド201、そのデータを示すオペランド202に分けられる。下線で示す本例では、「MVL」というコマンド201において、その第1オペランドが「R0」、第2オペランドが「R1」、及び第3オペランドが「0x0200」となるデータを用いた動作を行わせることを示している。テスト命令列200は、具体的には、「R1」の示すアドレスに存在するデータ内容から「R0」が示すアドレスに512バイト連続して転送させる命令列である。例えば上記命令コード(コマンド201及びオペランド202)をバイナリ形式に変換すると、バイナリデータ220で示す4バイトの2進数機械語データが生成される。このバイナリデータ220において、コマンド201の「MVL」221は、最初の1バイト’11100101’(0xE5)で示され、次の1バイト’00000001’で第1オペランド及び第2オペランドの内容を示し、最後の2バイト’00000010 00000000’で第3オペランドのデータを示す。   As shown in the instruction code classification 210, the test instruction sequence 200 is divided into an instruction code indicating a command 201 and an operand 202 indicating its data. In this example indicated by the underline, in the command 201 “MVL”, an operation using data in which the first operand is “R0”, the second operand is “R1”, and the third operand is “0x0200” is performed. It is shown that. Specifically, the test instruction sequence 200 is an instruction sequence for transferring 512 bytes continuously from the data content existing at the address indicated by “R1” to the address indicated by “R0”. For example, when the instruction code (command 201 and operand 202) is converted into binary format, 4-byte binary machine language data indicated by binary data 220 is generated. In this binary data 220, “MVL” 221 of the command 201 is indicated by the first 1 byte “11100101” (0xE5), the next 1 byte “00000001” indicates the contents of the first operand and the second operand, The second byte data “00000010 00000000” indicates the data of the third operand.

一方、図4は、本実施の形態で適用されるテスト命令列300(101に対応する)の一例を示し、図5は、新たに追加した命令コード分類310としてプロトコル処理部選択命令であるReq(リクエスト)設定コマンド311について示す。   On the other hand, FIG. 4 shows an example of a test instruction sequence 300 (corresponding to 101) applied in the present embodiment, and FIG. 5 shows a Req which is a protocol processor selection instruction as a newly added instruction code classification 310. The (request) setting command 311 will be described.

前記従来のテスト命令列200を用いるシステムでは、検証用モデルにおいて一つの命令コードで複数のうちの任意のプロトコル処理を行わせることは不可能である。そこで、本実施の形態では、一つの命令コードで複数のうちの任意のプロトコル処理部150の処理を選択する手段(プロトコル処理選択の機能)として、命令を処理すべきプロトコル処理部150の選択のための命令コード(301,302)を追加している。“@RQSET”301は、Req設定コマンド311であり、“@RQSETE”302は、Req設定コマンド311に対応した終端コマンドである。   In the system using the conventional test instruction sequence 200, it is impossible to perform any of a plurality of protocol processes with one instruction code in the verification model. Therefore, in the present embodiment, as a means (protocol process selection function) for selecting a process of a plurality of arbitrary protocol processing units 150 by a single instruction code, a selection of the protocol processing unit 150 to process an instruction is selected. Instruction codes (301, 302) are added. “@RQSET” 301 is a Req setting command 311, and “@RQSETE” 302 is a termination command corresponding to the Req setting command 311.

この新形式のテスト命令列300においては、複数のプロトコル処理部150から任意に選択してバスI/F信号線160に対する命令を処理動作させたい場合に、プロトコル処理部選択命令である“@RQSET”301を、対象のテスト命令列300(101)中の最初などに記述し、“@RQSET”301に対応する“@RQSETE”302を最後などに記述する。“@RQSET”301には、プロトコル処理部150を識別する情報を付加する。「V0」「V1」等は、後述の装置番号501に対応し、プロトコル処理部150を識別するための情報である。そして“@RQSET”301と“@RQSETE”302の間の範囲内に、指定のプロトコル処理部150に実行させたい1つ以上の命令を記述する。これにより、その範囲内の該当命令を実行するプロトコル処理部150を選択して実行させる。   In this new format test instruction sequence 300, when it is desired to arbitrarily select from a plurality of protocol processing units 150 and process an instruction for the bus I / F signal line 160, the protocol processing unit selection command “@RQSET “301” is described at the beginning of the target test instruction sequence 300 (101), and “@RQSETE” 302 corresponding to “@RQSET” 301 is described at the end. Information for identifying the protocol processing unit 150 is added to “@RQSET” 301. “V0”, “V1”, and the like correspond to a device number 501 described later, and are information for identifying the protocol processing unit 150. Then, in the range between “@RQSET” 301 and “@RQSETE” 302, one or more instructions to be executed by the designated protocol processing unit 150 are described. As a result, the protocol processing unit 150 that executes the corresponding instruction within the range is selected and executed.

図5において、Req設定コマンド311に対応する“@RQSET”301は、第1オペランドにReq送出先312(装置番号501に対応)を、第2オペランドにReq送出時刻313を、第3オペランドにReq送出頻度314を記述する形式である。本例では、“@RQSET”301で、第1オペランドにおいてReq送出先312に「V0」を設定し、Req送出時刻313として「T030」即ち「48サイクル後」を、またReq送出頻度314には「AC02」即ち「2サイクルごとの送出」を、それぞれ設定、記述している。従って、“@RQSET”301から“@RQSETE”302までの範囲の命令列は、「V0」で識別されるプロトコル処理部150Aで実行され、またその最初の命令開始時刻は、命令検出の48サイクル後から開始され、またそのプロトコル処理部150Aからの送出データは2サイクルおきに連続する、ということを定義している。   In FIG. 5, “@RQSET” 301 corresponding to the Req setting command 311 has a Req transmission destination 312 (corresponding to the device number 501) as the first operand, a Req transmission time 313 as the second operand, and a Req as the third operand. This is a format for describing the transmission frequency 314. In this example, “@RQSET” 301 sets “V0” to the Req destination 312 in the first operand, “T030”, that is, “after 48 cycles” as the Req transmission time 313, and the Req transmission frequency 314 “AC02”, that is, “transmission every two cycles” is set and described. Therefore, the instruction sequence in the range from “@RQSET” 301 to “@RQSETE” 302 is executed by the protocol processing unit 150A identified by “V0”, and the first instruction start time is 48 cycles of instruction detection. It is defined that the data is started later and the transmission data from the protocol processing unit 150A is continuous every two cycles.

なお図4中、“V0 EQU 0x0001”等では、Req送出先312となる「V0」等についての定義を示している。“T010 EQU 0x0010”等では、Req送出時刻313となる「16サイクル後に実行」などについての定義を示している。“AC01 EQU 0x0030”等では、Req送出頻度314となる「1サイクル毎に実行」などについての定義を示している。なお図4及び図5の命令列の形式は一例であって、例えばReq送出頻度314の設定をオプションとしてもよい。   In FIG. 4, “V0 EQU 0x0001” or the like indicates the definition of “V0” or the like that is the Req destination 312. “T010 EQU 0x0010” or the like indicates the definition of “execute after 16 cycles” or the like as the Req transmission time 313. “AC01 EQU 0x0030” or the like indicates the definition of “executed every cycle” that is the Req transmission frequency 314. The format of the instruction sequence in FIGS. 4 and 5 is an example, and for example, the setting of the Req transmission frequency 314 may be an option.

このように、作業者は、プロトコル処理部150の選択に応じたテスト命令列300を準備してそのバイナリデータ103を作成し、論理シミュレータ100の検証用モデル110に読み込ませる。これによって、命令処理部120で自動的に解読処理させ、複数のうち選択したプロトコル処理部150に処理動作させて、比較結果104を得ることができる。即ち、任意のプロトコル処理部150の検証、特に複数のプロトコル処理部150が関連して動作する場合の検証を実現できる。   Thus, the operator prepares the test instruction sequence 300 according to the selection of the protocol processing unit 150, creates the binary data 103, and loads the binary data 103 into the verification model 110 of the logic simulator 100. As a result, the instruction processing unit 120 can automatically perform the decoding process, and the selected protocol processing unit 150 can perform the processing operation to obtain the comparison result 104. That is, verification of an arbitrary protocol processing unit 150, particularly verification when a plurality of protocol processing units 150 operate in association with each other can be realized.

次に、図6は、命令処理部120における出力データバッファ127からのデータ(命令)送出タイミング(Req送出時刻313)及びそのデータ(命令)を実行するプロトコル処理部150の対応付け及びその管理方法を示したものである。論理シミュレータ100において、タイムホイール400、実行管理テーブル410、及び出力データバッファ420(127に対応する)を対応付けて管理する。タイムホイール400は、現在シミュレーション時刻(t)401からの相対時刻を示す。実行管理テーブル410は、アドレス(リンクポインタ)411、装置番号(Req送出先)412、ReqData(リクエストデータ)413、出力データ部リンク414等によるレコードを有する。出力データバッファ420は、複数の出力データ部(データレコード)421を保持可能とする。出力データ部421は、プロトコル処理部150に対し出力する、実行すべきコマンド及びデータを格納している。   Next, FIG. 6 shows the timing of sending data (command) from the output data buffer 127 in the command processing unit 120 (Req transmission time 313), the association of the protocol processing unit 150 that executes the data (command), and the management method therefor Is shown. In the logic simulator 100, the time wheel 400, the execution management table 410, and the output data buffer 420 (corresponding to 127) are managed in association with each other. The time wheel 400 indicates a relative time from the current simulation time (t) 401. The execution management table 410 includes records with an address (link pointer) 411, a device number (Req transmission destination) 412, ReqData (request data) 413, an output data section link 414, and the like. The output data buffer 420 can hold a plurality of output data portions (data records) 421. The output data unit 421 stores commands to be executed and data to be output to the protocol processing unit 150.

タイムホイール400では、次の時刻(t+1)に実行すべき実行管理テーブル410のアドレス402を格納している。実行管理テーブル410には、Req送出先となる装置番号412、Req設定コマンド311で定義したデータを持つReqData413、その時刻(t+1)に実行すべきコマンド及びデータを格納した出力データバッファ420のアドレス(出力データ部リンク414)等を持つレコードを有する。これらにより、時刻ごとに実行すべきコマンド及びデータの時間制御を行う。   The time wheel 400 stores the address 402 of the execution management table 410 to be executed at the next time (t + 1). In the execution management table 410, the Req transmission destination device number 412, the ReqData 413 having data defined by the Req setting command 311, the address of the output data buffer 420 storing the command and data to be executed at that time (t + 1) ( It has a record having an output data part link 414) and the like. Thus, time control of commands and data to be executed at each time is performed.

検証用モデル110において、バイナリデータ103中のReq設定コマンド311が、命令解読処理部123で読み込まれると、出力データバッファ420の出力データ部421に、“@RQSET”301から“@RQSETE”302までの間のバイナリデータ(命令列相当コード)を書き込む。また“@RQSET”301で定義したReq送出先312を実行管理テーブル410のレコードの装置番号412に設定する。またその他の制御データであるReq送出頻度314等を同レコードのReqData413に設定する。そして、該当レコードの実行時間であるReq送出時刻313に対応するタイムホイール400の該当相対時刻のアドレス402に、該当レコードのアドレス411を登録する。   In the verification model 110, when the Req setting command 311 in the binary data 103 is read by the instruction decoding processing unit 123, “@RQSET” 301 to “@RQSETE” 302 are stored in the output data unit 421 of the output data buffer 420. Write binary data (instruction sequence equivalent code). Also, the Req destination 312 defined by “@RQSET” 301 is set in the device number 412 of the record in the execution management table 410. In addition, Req transmission frequency 314 and the like, which are other control data, are set in ReqData 413 of the same record. Then, the address 411 of the corresponding record is registered in the address 402 of the relative time of the time wheel 400 corresponding to the Req transmission time 313 that is the execution time of the corresponding record.

例えば、図6に示すテーブル構造は、時刻(t+1)に「V0」で識別されるプロトコル処理部150Aへのアクセスを行う命令列があった場合である。論理シミュレーション実行時に、該当する時刻が(t+1)になると、アドレス402で示される実行管理テーブル410の該当レコード及び出力データバッファ420の該当出力データ部421を読み込み、Req送出先となる装置番号412で示されるプロトコル処理部150Aへ、コマンド及びデータを含む出力データ部421を送出する。このとき、アドレス411がゼロ以外の場合は、まだ処理すべきデータがレコードとして残っており、アドレス411で示される相対レコードの内容(本例では「V1」で識別されるプロトコル処理部150Bへのアクセス)を同様に処理する。   For example, the table structure shown in FIG. 6 is a case where there is an instruction sequence for accessing the protocol processing unit 150A identified by “V0” at time (t + 1). When the corresponding time reaches (t + 1) during the logic simulation execution, the corresponding record of the execution management table 410 indicated by the address 402 and the corresponding output data part 421 of the output data buffer 420 are read and the Req transmission destination device number 412 is used. An output data unit 421 including commands and data is sent to the protocol processing unit 150A shown. At this time, if the address 411 is other than zero, the data to be processed still remains as a record, and the contents of the relative record indicated by the address 411 (in this example, to the protocol processing unit 150B identified by “V1”). Access) is handled in the same way.

図7は、プロトコル処理部150の初期設定及び随時設定等のプロトコル設定(定義)を行うためのパラメータデータ105の内容例を示す。パラメータデータ105は、装置番号501、プロトコル種別502、Data発行サイクル503、Dataパルス幅504、連続アクセスWait505等の要素を有する。   FIG. 7 shows an example of the contents of the parameter data 105 for performing protocol setting (definition) such as initial setting and occasional setting of the protocol processing unit 150. The parameter data 105 includes elements such as a device number 501, a protocol type 502, a data issue cycle 503, a data pulse width 504, and a continuous access wait 505.

装置番号501は、複数の装置即ちプロトコル処理部150の識別を行うためのコードを定義しており、プロトコル処理部ID等と言い換えてもよい。プロトコル種別502は、該当プロトコル処理部150のバスI/F信号群160の動作(プロトコル)の種類を定義している。また、該当バスI/F信号群160における動作を、Data発行サイクル503、Dataパルス幅(サイズ)504、及び連続アクセスWait505などによって、細かく定義している。Dataはコマンド及びデータ単位である。例えば、装置番号501が「V0」でプロトコル種別502が「CPU1」のプロトコル処理部150Aについて、Data発行サイクル503が「2」(2サイクル単位)、Dataパルス幅504が「1」(1サイクル単位)、及び連続アクセスWait505が「1」(1サイクル単位)である。また例えば同じプロトコル種別502のプロトコル処理部150である「CPU1」を有する場合でも、503〜505等による動作時刻/タイミングの設定を異なるものにしてアクセス時間を変えた複数のプロトコル処理部150を定義して検証することができる。図10にも、上記命令の動作タイミングを示している。   The device number 501 defines a code for identifying a plurality of devices, that is, the protocol processing unit 150, and may be called a protocol processing unit ID. The protocol type 502 defines the type of operation (protocol) of the bus I / F signal group 160 of the corresponding protocol processing unit 150. Further, the operation in the corresponding bus I / F signal group 160 is finely defined by a data issue cycle 503, a data pulse width (size) 504, a continuous access wait 505, and the like. Data is a command and data unit. For example, for the protocol processor 150A having the device number 501 “V0” and the protocol type 502 “CPU1”, the Data issue cycle 503 is “2” (2 cycles), and the Data pulse width 504 is “1” (1 cycle). ) And continuous access Wait 505 is “1” (one cycle unit). Also, for example, even when “CPU1” which is the protocol processing unit 150 of the same protocol type 502 is included, a plurality of protocol processing units 150 in which the access time is changed by changing the operation time / timing setting by 503 to 505 etc. are defined. Can be verified. FIG. 10 also shows the operation timing of the instruction.

特に、前記図4のReq送出頻度314は、前記図2の動作タイミング設定の機能に係わり、図7のパラメータデータ105における連続アクセスWait505による設定とも対応している。   In particular, the Req transmission frequency 314 in FIG. 4 relates to the operation timing setting function in FIG. 2 and also corresponds to the setting by the continuous access Wait 505 in the parameter data 105 in FIG.

次に、図8は、本実施の形態におけるプロトコル自動選択機能を利用した論理検証処理の実行フローを示す。コンピュータシステム10の論理シミュレータ100における論理シミュレーション実行開始に先立ち、論理シミュレータ100における検証対象論理回路111の生成/構築が完了している状態とする。即ち、必要な情報の読み込みや作成、各バスI/F信号線160及びレジスタなどの初期設定について行っておく。   Next, FIG. 8 shows an execution flow of a logic verification process using the protocol automatic selection function in the present embodiment. Prior to the start of logic simulation execution in the logic simulator 100 of the computer system 10, it is assumed that the generation / construction of the verification target logic circuit 111 in the logic simulator 100 has been completed. That is, reading and creation of necessary information and initial setting of each bus I / F signal line 160 and registers are performed.

作業者は、論理シミュレーション実行前に、必要となるプロトコル処理部150の初期設定データとなるパラメータデータ105を作成しておく。また検証用の命令列及びプロトコル処理部150の選択用の命令(301,302)を追加記述したテスト命令列101を用いて変換したバイナリデータ103を準備しておく。論理シミュレータ100における論理シミュレーション実行時は、図8に従って処理を進めることにより、目的のプロトコル制御を実現する。   The operator creates parameter data 105 that becomes necessary initial setting data of the protocol processing unit 150 before executing the logic simulation. In addition, binary data 103 converted by using a test instruction sequence 101 additionally describing a verification instruction sequence and selection instructions (301, 302) of the protocol processing unit 150 is prepared. When the logic simulation is executed in the logic simulator 100, the target protocol control is realized by advancing the processing according to FIG.

まず、S600(以下、Sは処理ステップを表す)で、論理シミュレーション開始時には、入力パラメータ処理部140のパラメータ入力部141でパラメータデータ105の内容を読み込み、プロトコル処理部150を一つ選択し、そのパラメータデータ105に従って選択したプロトコル処理部150の設定を行う。   First, in S600 (hereinafter, S represents a processing step), at the start of a logical simulation, the parameter input unit 141 of the input parameter processing unit 140 reads the contents of the parameter data 105, selects one protocol processing unit 150, The protocol processing unit 150 selected according to the parameter data 105 is set.

また、S601では、論理シミュレーション開始時点で、命令処理部120のデータ読み込み部121で、テスト命令列101のバイナリデータ103を読み込み、内蔵メモリ部122へその内容を書き込む。書き込んだバイナリデータ103のコードに従って論理シミュレーションが開始される。   In step S <b> 601, when the logic simulation is started, the data reading unit 121 of the instruction processing unit 120 reads the binary data 103 of the test instruction sequence 101 and writes the contents to the built-in memory unit 122. A logic simulation is started according to the code of the written binary data 103.

次に、S602では、命令解読処理部123で、内蔵メモリ部122の内容を一命令ずつ順次読み出して解読処理する。これにより、指定されたデータをデータ処理部124で読み込んで出力データバッファ127に格納する。命令解読処理部123では、読み出した命令において、Req設定コマンド311(“@RQSET”301)が出現すると、データ処理部124において、前記図6のタイムホイール400、実行管理テーブル410、出力データバッファ420の各レコードを作成及び設定する。   In step S602, the instruction decoding processing unit 123 sequentially reads and decodes the contents of the built-in memory unit 122 one instruction at a time. As a result, the designated data is read by the data processing unit 124 and stored in the output data buffer 127. In the instruction decode processing unit 123, when the Req setting command 311 (“@RQSET” 301) appears in the read instruction, the data processing unit 124 causes the time wheel 400, the execution management table 410, and the output data buffer 420 in FIG. Create and set each record.

また、命令解読処理部123では、読み出した命令において、結果比較命令(期待値比較命令)、即ち命令列中の複数の命令処理における期待値(E)による比較ポイントを決める命令が出現すると、その命令処理出力結果の期待値(E)を、内蔵メモリ部122から期待値チェック部125に送出し、所定のバッファに記憶する。   Further, in the instruction decoding processing unit 123, when a result comparison instruction (expected value comparison instruction), that is, an instruction for determining a comparison point based on an expected value (E) in a plurality of instruction processes in an instruction sequence appears in the read instruction, The expected value (E) of the instruction processing output result is sent from the built-in memory unit 122 to the expected value check unit 125 and stored in a predetermined buffer.

次に、S603では、タイムホイール400で示される論理シミュレーション時刻に、実行管理テーブル410のアドレス411が登録されている場合は、その時に実行するコマンド及びデータが存在することを示しており、データバス制御部130は、出力データバッファ420の該当データレコードから、順次、装置番号412で示されるプロトコル処理部150に対し、データバスを介してコマンド及びデータ(出力データ部421)を送出する。   Next, in S603, if the address 411 of the execution management table 410 is registered at the logic simulation time indicated by the time wheel 400, it indicates that there is a command and data to be executed at that time, and the data bus The control unit 130 sequentially sends commands and data (output data unit 421) from the corresponding data record in the output data buffer 420 to the protocol processing unit 150 indicated by the device number 412 via the data bus.

次に、S604において、対象プロトコル処理部150は、データバス制御部130から送出されたコマンド及びデータ(出力データ部421)を読み込み、また論理シミュレーション開始時にパラメータデータ105で設定されているプロトコル及びバスI/Fの処理機能に従って、検証対象論理回路111のバスI/F信号線160へコマンド及びデータの送出を行う。また対象プロトコル処理部150は、検証対象論理回路111のバスI/F信号線160からの入力データを読み取り、自身の装置番号501を付与してデータバス制御部130へ入力データとして送出する。   Next, in step S604, the target protocol processing unit 150 reads the command and data (output data unit 421) sent from the data bus control unit 130, and the protocol and bus set in the parameter data 105 at the start of the logic simulation. Commands and data are transmitted to the bus I / F signal line 160 of the verification target logic circuit 111 in accordance with the I / F processing function. Further, the target protocol processing unit 150 reads input data from the bus I / F signal line 160 of the verification target logic circuit 111, assigns its own device number 501, and sends it to the data bus control unit 130 as input data.

対象プロトコル処理部150が処理動作している間、命令解読処理部123及びデータバス制御部130は、期待値(E)や入力データの有無を確認して待機している。   While the target protocol processing unit 150 is processing, the instruction decoding processing unit 123 and the data bus control unit 130 are on standby after confirming the expected value (E) and the presence of input data.

次に、S605では、データバス制御部130は、プロトコル処理部150から送出された入力データを、装置番号501単位に入力データバッファ126へ書き込み、期待値チェック部125へその入力データの設定完了を報告する。   In step S <b> 605, the data bus control unit 130 writes the input data sent from the protocol processing unit 150 to the input data buffer 126 in units of device numbers 501, and completes the setting of the input data to the expected value check unit 125. Report.

次に、S606では、期待値チェック部125は、内蔵メモリ部122に格納した命令に前記結果比較命令がある場合は、命令解読処理部123からの指示に従い、内蔵メモリ部122からの期待値(E)のデータと、入力データバッファ126の入力データとを比較チェックし、その結果を比較結果104として出力する。   Next, in S606, when the instruction stored in the internal memory unit 122 includes the result comparison instruction, the expected value check unit 125 follows the instruction from the instruction decoding processing unit 123 in accordance with the expected value ( The data of E) and the input data of the input data buffer 126 are compared and checked, and the result is output as the comparison result 104.

次に、S607では、命令処理部120は、テスト命令列101のバイナリデータ103における各命令のすべての命令処理が完了したか確認し、すべて完了するまでは(S607−N)、S602からS606までの処理を繰り返して、読み込んだ命令列をすべて実行して全処理が完了した時は(S607−Y)、論理シミュレーションを終了する。比較結果104の情報は、論理シミュレーションによる検証/テストの結果を示す。別の検証/テストを行う場合は、別のテスト命令列101によって同様の処理を実行する。   Next, in S607, the instruction processing unit 120 confirms whether or not all instruction processing of each instruction in the binary data 103 of the test instruction sequence 101 is completed, and until all are completed (S607-N), from S602 to S606. This process is repeated, and when all the read instruction sequences are executed and all the processes are completed (S607-Y), the logic simulation is terminated. The information of the comparison result 104 indicates the result of verification / test by logic simulation. When another verification / test is performed, the same processing is executed by another test instruction sequence 101.

以上の手順により、一つの統一された形式の検証用モデル110及びテスト命令列101等を用いて複数のバスI/F(160)接続部分であるプロトコル処理部150の検証の環境を構築でき、任意のプロトコル処理部150を選択して各種の検証/テストを効率良く実現できる。更に、各プロトコル処理部150のバスI/F(160)の動作タイミングをテスト命令列101やパラメータデータ105で制御できる。また、パラメータデータ105によるプロトコル処理部150の拡張(プロトコル設定)により、任意かつ随時にプロトコル処理部150のバスI/F(160)の構成を変更して検証/テストが可能となる。そのため、各プロトコル処理部150のバスI/F(160)間の競合の検証/テストも容易に実現できる。   Through the above procedure, a verification environment of the protocol processing unit 150, which is a plurality of bus I / F (160) connection parts, can be constructed using the verification model 110 and the test instruction sequence 101 in one unified format, Various verification / tests can be efficiently realized by selecting an arbitrary protocol processing unit 150. Further, the operation timing of the bus I / F (160) of each protocol processing unit 150 can be controlled by the test instruction sequence 101 and the parameter data 105. Further, by the expansion (protocol setting) of the protocol processing unit 150 by the parameter data 105, the configuration of the bus I / F (160) of the protocol processing unit 150 can be changed and verified / tested arbitrarily and at any time. Therefore, verification / test of competition between the bus I / Fs (160) of each protocol processing unit 150 can be easily realized.

図9は、複数のバスI/F(160)間の競合の検証/テストを実行する場合に対応した、一例のテスト命令列900(101に対応する)を示す。この場合、テスト命令列900において、前記図4のテスト命令列300における“@RQSET”301〜“@RQSETE”302と同様の形式の命令列(901,902)の繰り返しによって、複数のうちから任意のプロトコル処理部150を順に選択して処理動作させる。本例で、命令列901はプロトコル処理部150Aの選択動作、命令列902はプロトコル処理部150Bの選択動作を行わせるものである。   FIG. 9 shows an example test instruction sequence 900 (corresponding to 101) corresponding to the case where the verification / test of the conflict between the plurality of bus I / Fs (160) is executed. In this case, in the test instruction sequence 900, any of a plurality of instruction sequences (901, 902) having the same format as “@RQSET” 301 to “@RQSETE” 302 in the test instruction sequence 300 of FIG. The protocol processing units 150 are sequentially selected and processed. In this example, the instruction sequence 901 performs the selection operation of the protocol processing unit 150A, and the instruction sequence 902 performs the selection operation of the protocol processing unit 150B.

図10は、図9のテスト命令列900に対応した、各命令列の動作タイミングを示す。各“@RQSET”301(Req設定コマンド311)単位の命令列(901,902)は、実行時刻の指示(313,314)に従って実行される。命令列(901,902)の解読、実行により、「T010」で示す10サイクル後に「V0」のプロトコル処理部150Aが起動され該当命令列{SET,SET,SET,RD,WR}が順に処理され、また「T020」で示す14サイクル後に「V1」のプロトコル処理部150Bが起動され該当命令列{RD,WR,RD,WR}が順に処理される。「RE」は“@RQSETE”302に相当する。全RQSET単位の命令列(901,902)の処理の終了を待ち、その終了時点で、次のRQSET単位の命令列を発行、実行する。   FIG. 10 shows the operation timing of each instruction sequence corresponding to the test instruction sequence 900 of FIG. Each "@RQSET" 301 (Req setting command 311) unit instruction sequence (901, 902) is executed in accordance with an execution time instruction (313, 314). By decoding and executing the instruction sequence (901, 902), the protocol processing unit 150A of “V0” is activated after 10 cycles indicated by “T010”, and the corresponding instruction sequence {SET, SET, SET, RD, WR} is sequentially processed. Further, after 14 cycles indicated by “T020”, the protocol processing unit 150B of “V1” is activated and the corresponding instruction sequence {RD, WR, RD, WR} is sequentially processed. “RE” corresponds to “@RQSETE” 302. The process waits for the end of processing of all RQSET unit instruction sequences (901, 902), and at the end point, issues and executes the next RQSET unit instruction sequence.

図11は、前記バスI/F(160)間の競合の検証/テストを実行する場合に対応した、検証対象論理回路111に相当する論理回路112の構成例である。論理回路112における、DEV(入出力デバイス)からのData Read(データ読み出し)の制御(6つのステップで示す)を例示している。プロセッサであるCPU#1,CPU#2は、それぞれプロトコル処理部150A,プロトコル処理部150Bに対応付けられる。論理回路112は、CPU#1,#2とバスI/F#1,#2で接続され、CPU#1,#2のバスI/F#1,#2の動作を調停するデータ転送制御部113などを含んだ回路である。   FIG. 11 is a configuration example of the logic circuit 112 corresponding to the logic circuit 111 to be verified, corresponding to the case where the verification / test of competition between the bus I / Fs (160) is executed. The control of Data Read (data reading) from the DEV (input / output device) in the logic circuit 112 (illustrated in six steps) is illustrated. The processors CPU # 1 and CPU # 2 are associated with the protocol processing unit 150A and the protocol processing unit 150B, respectively. The logic circuit 112 is connected to the CPUs # 1 and # 2 via the bus I / Fs # 1 and # 2, and controls the data transfer control unit that arbitrates the operations of the buses I / F # 1 and # 2 of the CPUs # 1 and # 2. The circuit includes 113 and the like.

バスI/F#1,#2間の競合の動作は、例えばCPU#1がI/O制御の役割を担いCPU#2からのDEVのデータ読み出しの場合において、以下である。まず第1に、CPU#2からのデータリード要求(命令)を、データ転送制御部113が受ける。第2に、データ転送制御部113が、CPU#1へそのことを伝える。第3に、CPU#1からIOC(I/O制御部)を介してDEVへデータを読み出しする。第4に、DEVからデータ転送制御部113へデータが読み出しされ、メモリ制御部を介してメモリに格納される。第5に、データ転送制御部113がCPU#2へ、メモリにデータが読み出しされたことを伝える。第6に、CPU#2が、メモリからデータを読み出しする。上記例のような競合の動作を、論理シミュレータ100での前述の論理シミュレーションの処理により実行でき、効率良く検証することができる。   The contention operation between the bus I / Fs # 1 and # 2 is as follows when, for example, the CPU # 1 plays the role of I / O control and the DEV data is read from the CPU # 2. First, the data transfer control unit 113 receives a data read request (command) from the CPU # 2. Second, the data transfer control unit 113 informs the CPU # 1 of that fact. Third, data is read from the CPU # 1 to the DEV via the IOC (I / O control unit). Fourth, data is read from the DEV to the data transfer control unit 113 and stored in the memory via the memory control unit. Fifth, the data transfer control unit 113 notifies the CPU # 2 that data has been read out to the memory. Sixth, CPU # 2 reads data from the memory. The competing operation as in the above example can be executed by the above-described logic simulation process in the logic simulator 100, and can be verified efficiently.

以上、本実施の形態によれば、複数のプロセッサ及びバスI/Fを含む論理回路についての効率の良い論理シミュレーションによる論理検証/テストが実現でき、検証用モデル110及び論理シミュレータ100の開発、作成、変更、管理などの工数の削減が可能となる。特に、プロトコル処理選択、動作タイミング設定、プロトコル設定の機能により、バスI/F(160)間の競合の検証/テストも容易に実現でき、そのテストデータ作成も容易となる。   As described above, according to the present embodiment, it is possible to realize logic verification / test by efficient logic simulation for a logic circuit including a plurality of processors and a bus I / F, and development and creation of the verification model 110 and the logic simulator 100 , Change, management and other man-hours can be reduced. In particular, the protocol processing selection, operation timing setting, and protocol setting functions facilitate the verification / testing of competition between the bus I / Fs (160), and facilitate the creation of test data.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

本発明は、論理回路/論理装置の論理検証/テストを行うシステム、特に複数のプロセッサバスを持つシステムLSIチップ及びそのチップを用いる周辺回路についての論理検証のための技術などに利用可能である。   The present invention can be used in a system for performing logic verification / test of a logic circuit / logic device, particularly a technology for logic verification of a system LSI chip having a plurality of processor buses and a peripheral circuit using the chip.

本発明の一実施の形態である論理検証システムに対応した、処理実行環境となるコンピュータシステムの構成例及び処理イメージを示す図である。It is a figure which shows the structural example and process image of a computer system used as the process execution environment corresponding to the logic verification system which is one embodiment of this invention. 本発明の一実施の形態である論理検証システムの概念的な構成を示す図である。It is a figure which shows the notional structure of the logic verification system which is one embodiment of this invention. 本発明の一実施の形態である論理検証システムのより具体的な構成として、論理シミュレータの構成を示す図である。It is a figure which shows the structure of a logic simulator as a more concrete structure of the logic verification system which is one embodiment of this invention. 本発明の一実施の形態である論理検証システムで適用されるテスト命令列の一例を示す図である。It is a figure which shows an example of the test instruction sequence applied with the logic verification system which is one embodiment of this invention. 本発明の一実施の形態である論理検証システムで適用されるテスト命令列における命令コード分類として、プロトコル処理部選択命令であるReq(リクエスト)設定コマンドについて示す図である。It is a figure which shows about the Req (request) setting command which is a protocol process part selection command as a command code classification | category in the test command sequence applied with the logic verification system which is one embodiment of this invention. 本発明の一実施の形態である論理検証システムにおける、命令処理部における出力データバッファからのデータ(命令)送出タイミング及びそのデータ(命令)を実行するプロトコル処理部の対応付け及びその管理方法を示した図である。In the logic verification system which is one embodiment of the present invention, the timing of sending data (command) from the output data buffer in the instruction processing unit, the association of the protocol processing unit for executing the data (command), and the management method thereof It is a figure. 本発明の一実施の形態である論理検証システムにおける、プロトコル処理部の初期設定及び随時設定等のプロトコル設定(定義)を行うためのパラメータデータの内容例を示す図である。It is a figure which shows the example of the content of the parameter data for performing protocol setting (definition), such as an initial setting of a protocol processing part, and an arbitrary setting in the logic verification system which is one embodiment of this invention. 本発明の一実施の形態である論理検証システム及び方法における、プロトコル自動選択機能を利用した論理検証処理の実行フローを示す図である。It is a figure which shows the execution flow of the logic verification process using the protocol automatic selection function in the logic verification system and method which is one embodiment of this invention. 本発明の一実施の形態である論理検証システムにおける、複数のバスI/F間の競合の検証/テストを実行する場合に対応した、一例のテスト命令列を示す図である。It is a figure which shows an example of a test instruction sequence corresponding to the case where the verification / test of the competition between several bus I / F is performed in the logic verification system which is one embodiment of this invention. 本発明の一実施の形態である論理検証システムにおける、図9のテスト命令列に対応した、各命令列の動作タイミングを示す図である。FIG. 10 is a diagram illustrating operation timing of each instruction sequence corresponding to the test instruction sequence of FIG. 9 in the logic verification system according to the embodiment of the present invention. 本発明の一実施の形態である論理検証システムにおける、バスI/F間の競合の検証/テストを実行する場合に対応した、検証対象論理回路に相当する論理回路の構成例を示す図である。It is a figure which shows the structural example of the logic circuit corresponded to the case where the verification / test of the competition between bus | bowl I / F is performed in the logic verification system which is one embodiment of this invention. . 本実施の形態との比較のために、従来技術における、(a)一例のテスト命令列と、(b)そのテスト命令列における命令コード分類と、(c)そのテスト命令列に対応したバイナリデータのフォーマット例とを示す図である。For comparison with the present embodiment, in the prior art, (a) an example test instruction sequence, (b) an instruction code classification in the test instruction sequence, and (c) binary data corresponding to the test instruction sequence It is a figure which shows the example of a format.

符号の説明Explanation of symbols

10…コンピュータシステム、11…テストデータ、12…結果ファイル、13…検証対象論理回路(論理回路記述情報)、21…CPU、22…メモリ、23…入力装置、24…出力装置、100…論理シミュレータ、101…テスト命令列、102…命令変換プログラム部、103…バイナリデータ、104…比較結果、105…パラメータデータ、110…検証用モデル、111…検証対象論理回路、112…論理回路、113…データ転送制御部、120…命令処理部、121…データ読み込み部、122…内蔵メモリ部、123…命令解読処理部、124…データ処理部、125…期待値チェック部、126…入力データバッファ、127…出力データバッファ、130…データバス制御部、131…トランザクション監視機構部、132…プロトコル選択データ入出力部、140…入力パラメータ処理部、141…パラメータ入力部、142…プロトコル設定部、150,150A,150B…プロトコル処理部、151…命令解読部、152…トランザクション処理部、153…タイミング制御部、154…アドレス・データ入出力バッファ、155…データ入出力部、160,160A,160B…バスI/F信号群(バスI/F信号線)、200,300,900…テスト命令列、201…コマンド、202…オペランド、210,310…命令コード分類、220…バイナリデータ、301…“@RQSET”、302…“@RQSETE”、311…Req(リクエスト)設定コマンド、312…Req送出先、313…Req送出時刻、314…Req送出頻度、400…タイムホイール、410…実行管理テーブル、420…出力データバッファ、421…出力データ部、901,902…命令列。   DESCRIPTION OF SYMBOLS 10 ... Computer system, 11 ... Test data, 12 ... Result file, 13 ... Verification target logic circuit (logic circuit description information), 21 ... CPU, 22 ... Memory, 23 ... Input device, 24 ... Output device, 100 ... Logic simulator , 101 ... Test instruction sequence, 102 ... Instruction conversion program part, 103 ... Binary data, 104 ... Comparison result, 105 ... Parameter data, 110 ... Model for verification, 111 ... Logic circuit to be verified, 112 ... Logic circuit, 113 ... Data Transfer control unit, 120 ... instruction processing unit, 121 ... data reading unit, 122 ... built-in memory unit, 123 ... instruction decoding processing unit, 124 ... data processing unit, 125 ... expected value check unit, 126 ... input data buffer, 127 ... Output data buffer, 130 ... data bus control unit, 131 ... transaction monitoring mechanism unit 132 ... Protocol selection data input / output unit, 140 ... Input parameter processing unit, 141 ... Parameter input unit, 142 ... Protocol setting unit, 150, 150A, 150B ... Protocol processing unit, 151 ... Instruction decoding unit, 152 ... Transaction processing unit, 153: Timing control unit, 154: Address / data input / output buffer, 155 ... Data input / output unit, 160, 160A, 160B ... Bus I / F signal group (bus I / F signal line), 200, 300, 900 ... Test Instruction sequence, 201 ... command, 202 ... operand, 210, 310 ... instruction code classification, 220 ... binary data, 301 ... "@RQSET", 302 ... "@RQSETE", 311 ... Req (request) setting command, 312 ... Req Destination, 313 ... Req sending time, 314 ... Req sending frequency, 400 ... Time wheel, 41 ... execution management table, 420 ... output data buffer, 421 ... output data unit, 901, 902 ... instruction sequence.

Claims (4)

コンピュータシステム上において検証用モデルを用いた論理シミュレーションにより検証対象の論理回路の動作の検証を行う論理検証方法であって、
作業者の使用するコンピュータ上に、複数のプロセッサバスインターフェースを有する検証対象の論理回路についての統一された形式の検証用モデルが作成された状態において、前記検証用モデル及び命令を用いた論理シミュレーションにより前記検証対象の論理回路の動作の検証を行うものであり、
前記検証用モデルは、各々前記プロセッサバスインターフェースの信号を制御動作するプロトコル処理機能を持つ複数のプロトコル処理部と、前記複数のプロトコル処理部を含む全体を制御し、前記検証のための前記プロセッサバスインターフェースの信号の制御動作に係わる1つ以上の命令を含んで成る第1の命令列の処理によって前記論理回路の動作の検証の処理を行ってその結果を出力する命令処理部とを有し、
前記作業者の操作に基づき前記第1の命令列のうちの該当命令の実行対象となる前記プロトコル処理部の識別情報が付加された前記第1の命令列が前記命令処理部に対し入力される処理ステップと、
前記命令処理部が、前記第1の命令列における前記識別情報の処理により、前記第1の命令列のうちの該当命令の処理を、前記複数のうちの前記実行対象となる前記プロトコル処理部により実行させ、その結果のデータを得る処理ステップとを有することを特徴とする、検証用モデルを用いる論理検証方法。
A logic verification method for verifying the operation of a logic circuit to be verified by logic simulation using a verification model on a computer system,
In a state where a verification model in a unified format for a logic circuit to be verified having a plurality of processor bus interfaces is created on a computer used by an operator, a logic simulation using the verification model and instructions is performed. Verifying the operation of the logic circuit to be verified;
The verification model controls a whole including a plurality of protocol processing units each having a protocol processing function for controlling and operating a signal of the processor bus interface, and the plurality of protocol processing units, and the processor bus for the verification A command processing unit that performs verification processing of the operation of the logic circuit by processing a first command sequence including one or more commands related to the control operation of the interface signal, and outputs the result.
Based on the operation of the operator, the first instruction sequence to which the identification information of the protocol processing unit to be executed of the corresponding instruction in the first instruction sequence is added is input to the instruction processing unit. Processing steps;
The instruction processing unit performs processing of the corresponding instruction in the first instruction sequence by processing of the identification information in the first instruction sequence, by the protocol processing unit to be executed among the plurality of instructions. And a logic verification method using a verification model, characterized by comprising a processing step of executing and obtaining the result data.
請求項1記載の検証用モデルを用いる論理検証方法において、
前記コンピュータシステム上において、前記検証対象の論理回路に接続される前記プロトコル処理部を含む前記検証用モデルを、パラメータデータの入力による前記プロトコル処理部の前記プロトコル処理機能の設定により作成する処理ステップと、
前記検証用モデルの作成以後で前記論理シミュレーションの実行中に、前記命令処理部への命令の入力により、もしくは前記パラメータデータの入力による前記プロトコル処理機能の設定により、前記プロトコル処理部の前記プロセッサバスインターフェースの信号の制御動作のタイミングを任意に変動させる処理ステップとを有することを特徴とする、検証用モデルを用いる論理検証方法。
In the logic verification method using the verification model according to claim 1,
On the computer system, a processing step for creating the verification model including the protocol processing unit connected to the logic circuit to be verified by setting the protocol processing function of the protocol processing unit by inputting parameter data; ,
The processor bus of the protocol processing unit is set by inputting an instruction to the instruction processing unit or setting the protocol processing function by inputting the parameter data during execution of the logic simulation after the creation of the verification model. A logic verification method using a verification model, comprising: a processing step of arbitrarily changing a timing of a control operation of an interface signal.
請求項1記載の検証用モデルを用いる論理検証方法において、
前記コンピュータシステム上において、前記検証対象の論理回路に接続される、前記プロセッサバスインターフェースが同一で動作速度の異なる複数の前記プロトコル処理部を含む前記検証用モデルを作成する処理ステップと、
前記検証用モデルの作成以後で前記論理シミュレーションの実行中に、前記命令処理部への命令の入力により、もしくは前記パラメータデータの入力による前記プロトコル処理機能の設定により、前記動作速度の異なる複数のプロトコル処理部の任意の前記プロトコル処理機能を設定する処理ステップを有することを特徴とする、検証用モデルを用いる論理検証方法。
In the logic verification method using the verification model according to claim 1,
On the computer system, a processing step of creating the verification model including the plurality of protocol processing units connected to the logic circuit to be verified and having the same processor bus interface and different operation speeds;
A plurality of protocols having different operation speeds by inputting an instruction to the instruction processing unit or setting the protocol processing function by inputting the parameter data during execution of the logic simulation after the creation of the verification model A logic verification method using a verification model, comprising a processing step of setting an arbitrary protocol processing function of a processing unit.
コンピュータシステム上において検証用モデルを用いた論理シミュレーションにより検証対象の論理回路の動作の検証を行う論理検証システムであって、
作業者の使用するコンピュータ上に、複数のプロセッサバスインターフェースを有する検証対象の論理回路についての統一された形式の検証用モデルが作成された状態において、前記検証用モデル及び命令を用いた論理シミュレーションにより前記検証対象の論理回路の動作の検証を行うものであり、
前記検証用モデルは、各々前記プロセッサバスインターフェースの信号を制御動作するプロトコル処理機能を持つ複数のプロトコル処理部と、前記複数のプロトコル処理部を含む全体を制御し、前記検証のための前記プロセッサバスインターフェースの信号の制御動作に係わる1つ以上の命令を含んで成る第1の命令列の処理によって前記論理回路の動作の検証の処理を行ってその結果を出力する命令処理部とを有し、
前記作業者の操作に基づき前記第1の命令列のうちの該当命令の実行対象となる前記プロトコル処理部の識別情報が付加された前記第1の命令列が前記命令処理部に対し入力され、
前記命令処理部が、前記第1の命令列における前記識別情報の処理により、前記第1の命令列のうちの該当命令の処理を、前記複数のうちの前記実行対象となる前記プロトコル処理部により実行させ、その結果のデータを得る処理を行うことを特徴とする、検証用モデルを用いる論理検証システム。
A logic verification system for verifying the operation of a logic circuit to be verified by a logic simulation using a verification model on a computer system,
In a state where a verification model in a unified format for a logic circuit to be verified having a plurality of processor bus interfaces is created on a computer used by an operator, a logic simulation using the verification model and instructions is performed. Verifying the operation of the logic circuit to be verified;
The verification model controls a whole including a plurality of protocol processing units each having a protocol processing function for controlling and operating a signal of the processor bus interface, and the plurality of protocol processing units, and the processor bus for the verification A command processing unit that performs verification processing of the operation of the logic circuit by processing a first command sequence including one or more commands related to the control operation of the interface signal, and outputs the result.
The first instruction sequence to which the identification information of the protocol processing unit to be executed of the corresponding instruction in the first instruction sequence is added based on the operation of the operator is input to the instruction processing unit,
The instruction processing unit performs processing of the corresponding instruction in the first instruction sequence by processing of the identification information in the first instruction sequence, by the protocol processing unit to be executed among the plurality of instructions. A logic verification system using a model for verification, characterized by performing a process of executing and obtaining the result data.
JP2005349620A 2005-12-02 2005-12-02 Logic verification method and logic verification system Pending JP2007156728A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005349620A JP2007156728A (en) 2005-12-02 2005-12-02 Logic verification method and logic verification system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005349620A JP2007156728A (en) 2005-12-02 2005-12-02 Logic verification method and logic verification system

Publications (1)

Publication Number Publication Date
JP2007156728A true JP2007156728A (en) 2007-06-21

Family

ID=38241027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005349620A Pending JP2007156728A (en) 2005-12-02 2005-12-02 Logic verification method and logic verification system

Country Status (1)

Country Link
JP (1) JP2007156728A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014021572A (en) * 2012-07-13 2014-02-03 Meidensha Corp Simulator for digital circuit and program thereof
WO2014116408A1 (en) * 2013-01-22 2014-07-31 Teradyne, Inc. Embedded tester

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0785116A (en) * 1993-09-10 1995-03-31 Toshiba Corp Logic circuit description check device
JPH1048299A (en) * 1996-08-01 1998-02-20 Nec Eng Ltd System for automatically correcting test pattern
JPH10134089A (en) * 1996-10-28 1998-05-22 Sony Corp Circuit verifying device and circuit verifying method
JPH10221410A (en) * 1997-02-07 1998-08-21 Mitsubishi Electric Corp Automatic logic verification system for lsi
JP2001160080A (en) * 1999-12-02 2001-06-12 Nec Corp Simulation method and device for system by object- oriented language and recording medium with its program recorded thereon
JP2003141204A (en) * 2001-10-30 2003-05-16 Oki Electric Ind Co Ltd Method and device for generating logical simulation model, recording medium and program
JP2003196342A (en) * 2001-12-27 2003-07-11 Toshiba Corp Device, method and program for verifying lsi design
JP2004062522A (en) * 2002-07-29 2004-02-26 Fujitsu Ltd Circuit verification device, circuit verification program and circuit verification method
JP2005174112A (en) * 2003-12-12 2005-06-30 Mitsubishi Electric Corp Test data generating device and simulation model device
JP2005250633A (en) * 2004-03-02 2005-09-15 Ricoh Co Ltd Test bench system, program, storage medium and method for verifying circuit

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0785116A (en) * 1993-09-10 1995-03-31 Toshiba Corp Logic circuit description check device
JPH1048299A (en) * 1996-08-01 1998-02-20 Nec Eng Ltd System for automatically correcting test pattern
JPH10134089A (en) * 1996-10-28 1998-05-22 Sony Corp Circuit verifying device and circuit verifying method
JPH10221410A (en) * 1997-02-07 1998-08-21 Mitsubishi Electric Corp Automatic logic verification system for lsi
JP2001160080A (en) * 1999-12-02 2001-06-12 Nec Corp Simulation method and device for system by object- oriented language and recording medium with its program recorded thereon
JP2003141204A (en) * 2001-10-30 2003-05-16 Oki Electric Ind Co Ltd Method and device for generating logical simulation model, recording medium and program
JP2003196342A (en) * 2001-12-27 2003-07-11 Toshiba Corp Device, method and program for verifying lsi design
JP2004062522A (en) * 2002-07-29 2004-02-26 Fujitsu Ltd Circuit verification device, circuit verification program and circuit verification method
JP2005174112A (en) * 2003-12-12 2005-06-30 Mitsubishi Electric Corp Test data generating device and simulation model device
JP2005250633A (en) * 2004-03-02 2005-09-15 Ricoh Co Ltd Test bench system, program, storage medium and method for verifying circuit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014021572A (en) * 2012-07-13 2014-02-03 Meidensha Corp Simulator for digital circuit and program thereof
WO2014116408A1 (en) * 2013-01-22 2014-07-31 Teradyne, Inc. Embedded tester
US9116785B2 (en) 2013-01-22 2015-08-25 Teradyne, Inc. Embedded tester

Similar Documents

Publication Publication Date Title
US7246052B2 (en) Bus master and bus slave simulation using function manager and thread manager
US8112263B2 (en) Method for logic checking to check operation of circuit to be connected to bus
TW594513B (en) Apparatus and method for in-circuit emulation using high-level programming language
US20050039174A1 (en) Apparatus and method for co-simulating processors and DUT modules
US20220292248A1 (en) Method, system and verifying platform for system on chip verification
US20020046391A1 (en) Method for generating behavior model description of circuit and apparatus for logic verification
JPH11513512A (en) Method of manufacturing digital signal processor
CN115017845A (en) Bus driving type chip simulation excitation model for IP unit level verification
US20060212768A1 (en) Verification circuitry for master-slave system
US10929584B1 (en) Environmental modification testing for design correctness with formal verification
US7228513B2 (en) Circuit operation verification device and method
JP5233355B2 (en) Property generation system and property verification system
JP2002366602A (en) Simulation method, system and program for software and hardware
WO2011109971A1 (en) Circuit and method for microcontroller online debugging, microcontroller
JP2007156728A (en) Logic verification method and logic verification system
US20110307239A1 (en) Hardware Emulation Proxy for Hardware Software Co-Emulation
JP2005108007A (en) Lsi design verification apparatus and lsi design verification method
KR102325612B1 (en) Method, apparatus, device, and medium for implementing simulator
JP2004021907A (en) Simulation system for performance evaluation
JPH10221410A (en) Automatic logic verification system for lsi
JP2020140380A (en) Semiconductor device and debugging system
JP4340139B2 (en) Test data creation device
JP2009217720A (en) Program generating device and program generating method
JP2005182359A (en) Method for designing data processor and recording medium
JP6147094B2 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100831

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101228