Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP2839845B2 - Microprogram verification method - Google Patents
[go: Go Back, main page]

JP2839845B2 - Microprogram verification method - Google Patents

Microprogram verification method

Info

Publication number
JP2839845B2
JP2839845B2 JP6234785A JP23478594A JP2839845B2 JP 2839845 B2 JP2839845 B2 JP 2839845B2 JP 6234785 A JP6234785 A JP 6234785A JP 23478594 A JP23478594 A JP 23478594A JP 2839845 B2 JP2839845 B2 JP 2839845B2
Authority
JP
Japan
Prior art keywords
microprogram
information
restriction rule
microinstruction
verification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP6234785A
Other languages
Japanese (ja)
Other versions
JPH0895825A (en
Inventor
歩 中村
進之 野村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi Information and Telecommunication Engineering Ltd
Original Assignee
Hitachi Ltd
Hitachi Information Technology Co 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 Ltd, Hitachi Information Technology Co Ltd filed Critical Hitachi Ltd
Priority to JP6234785A priority Critical patent/JP2839845B2/en
Publication of JPH0895825A publication Critical patent/JPH0895825A/en
Application granted granted Critical
Publication of JP2839845B2 publication Critical patent/JP2839845B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明はマイクロプログラムの検
証方法に係わり、特にマイクロプログラムの仕様制限違
反について、ソースレベルの検証を実施するのに適し
た、マイクロプログラムの検証方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of verifying a microprogram, and more particularly to a method of verifying a microprogram suitable for performing a source-level verification of a violation of a specification restriction of the microprogram.

【0002】[0002]

【従来の技術】従来のマイクロプログラムの検証方式と
しては、特開平02-083748に記載のように、マイクロプ
ログラムをソースレベルで静的に検証する方式で、マイ
クロプログラムの特定のステップより導出され得る全て
のルートを予めトレースし、パスの並びを格納したアド
レステーブルを求め、そのルートに対し該当する制限ル
ールの検証を行っている。
2. Description of the Related Art As a conventional method for verifying a microprogram, as described in Japanese Patent Application Laid-Open No. 02-083748, a method for statically verifying a microprogram at a source level can be derived from a specific step of the microprogram. All routes are traced in advance, an address table storing a list of paths is obtained, and a corresponding restriction rule is verified for the route.

【0003】この方式では、理論上は全ての制限ルール
を検証できるが、マイクロプログラムの構成上ループや
分岐、合流するパスが多い場合、その組合せは膨大にな
り、実際には、各ステップより導出したルート情報を記
録する記憶領域を確保できなくなる場合も多い。このた
め、特定の起点から、トレースする範囲に制限を設け、
生成する各ルートの深さを制限し、起点をスライドさ
せ、制限の枠内で終点までトレースを繰り返すことで、
全てのルートを生成し制限ルールの判定を実施してい
た。
[0003] In this method, all the restriction rules can be verified in theory, but if there are many loops, branches, and merging paths due to the configuration of the microprogram, the combination becomes enormous, and in practice, it is derived from each step. In many cases, a storage area for recording the route information cannot be secured. For this reason, from the specific starting point, limit the range to be traced,
By limiting the depth of each route to be generated, sliding the starting point and repeating the trace to the end point within the limit,
All routes were generated and the restriction rules were determined.

【0004】また、マイクロプログラムの進行方向とは
逆方向への検証を必要とする制限ルールがある場合、従
来方式では、該当する制限ルールを対偶の関係になるル
ールに置き換えることで、検証を実施していた。
In the case where there is a restriction rule that requires verification in the direction opposite to the direction in which the microprogram proceeds, in the conventional method, the verification is performed by replacing the relevant restriction rule with a rule having an even number relationship. Was.

【0005】また、マイクロプログラムの性能を評価す
る方法としては、起点より終点まで何サイクル必要とし
たかは、大きな指標であるが、従来のマイクロプログラ
ムをソースレベルで評価する方式では、人手での机上確
認を行っていた。
As a method of evaluating the performance of a microprogram, the number of cycles required from the starting point to the end point is a large indicator. However, in the conventional method of evaluating a microprogram at the source level, manual evaluation is required. I was doing a desk check.

【0006】[0006]

【発明が解決しようとする課題】従来方式では、設定さ
れたトレース範囲以上の制限ルールの検証や、「マイク
ロ命令Aの発行以降、ルートの終点までに、マイクロ命
令Bの発行を禁止する。」といった、制限範囲のないル
ールの検証が不可能であり、実際には存在する命令を不
在と評価するなど、誤指摘の原因でもあり検証精度に問
題があった。
In the conventional method, a restriction rule beyond the set trace range is verified, and "after the issuance of the microinstruction A, the issuance of the microinstruction B is prohibited until the end point of the route." However, it is impossible to verify a rule without a limited range, and an actual instruction is evaluated as being absent.

【0007】これについては、格納する情報やテーブル
形式を改善することで多少改善することもできたが、ト
レースの制限範囲が、拡大されただけであり、制限の撤
廃には至っていない。
Although this could be improved to some extent by improving the information to be stored and the table format, the limited range of the trace was only expanded and the restriction was not eliminated.

【0008】また、起点をスライドしながらルートを生
成するので、大部分は既に一度判定を受けた部分と重な
っているが、起点毎に独立した判定のため、同一ステッ
プに対し何度も同じ制限ルールの判定を行うことにな
り、処理速度が著しく遅いことが問題でもあった。
Although the route is generated while sliding the starting point, most of the route overlaps with the portion that has already been judged once. However, since the starting point is independent judgment, the same step is repeated many times. A rule is determined, and the processing speed is extremely slow.

【0009】さらに、マイクロプログラムソースに記述
上の誤りがあった場合、同一ステップ内のマイクロ命令
の指定位置の認識を誤り、それが制限違反として指摘さ
れてしまう。結果を見ただけでは、記述上の誤りで引き
起こされたものなのか、真の制限違反なのかを切り分け
ることはできないため、解析が困難で、修正までの時間
がかかっていた。
Furthermore, if there is an error in the description of the microprogram source, the recognition of the designated position of the microinstruction in the same step is erroneous, which is pointed out as a restriction violation. Looking at the results alone could not tell whether they were caused by a description error or a true restriction violation, making analysis difficult and time-consuming to correct.

【0010】さらに、制限ルールにマイクロプログラム
の進行方向と逆方向の制限を有する場合、全てが待遇の
関係に置き換えることができず、例えば、「マイクロ命
令Aの発行より2サイクル以前に、マイクロ命令Bの発
行が必須」などの制限ルールの場合、「マイクロ命令B
の発行より2サイクル以内に、マイクロ命令Aの発行が
必須」と置き換えても、マイクロ命令Bの発行位置の違
反は指摘できても発行洩れの場合指摘することは出来な
い。
Furthermore, if the restriction rule has a restriction in the direction opposite to the direction of microprogram execution, all of the restrictions cannot be replaced with a treatment relationship. In the case of a restriction rule such as "Issuance of B
, The issue of the microinstruction A must be issued within two cycles from the issuance of the microinstruction B, the violation of the issue position of the microinstruction B can be pointed out, but in the case of omission, it cannot be pointed out.

【0011】また、マイクロプログラムの性能を評価す
る場合、複雑な構成のマイクロプログラムソースの場
合、取り得る可能性のある全ルートを網羅することは、
人手では、時間も膨大に費やしても不可能に近い。ま
た、確認できる構成や規模のマイクロプログラムソース
であっても、人手の場合、時間がかかる上、誤りが入る
余地もある。
When evaluating the performance of a microprogram, in the case of a microprogram source having a complicated configuration, it is necessary to cover all possible routes.
It is almost impossible to spend a lot of time manually. In addition, even if the microprogram source has a configuration and scale that can be confirmed, it takes time and requires room for error if it is manually performed.

【0012】本発明の目的は、これら従来の問題点を解
決し、記憶容量の制限を受けぬ、検証可能な範囲や方向
に制限のない検証を実現すること、さらに、マイクロプ
ログラムソースの記述違反と制限ルール違反との切りわ
けを容易にすること、さらに、同一ステップへの判定処
理の重複を必要最小限にし、処理速度の向上を実現する
ことで、高い検証精度と検証効率を持つマイクロプログ
ラム検証方法を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to solve these conventional problems, to realize a verification that is not limited by a storage capacity and that is not limited in a verifiable range or direction, and furthermore, a description violation of a microprogram source description. Microprograms with high verification accuracy and efficiency by minimizing the need for duplication of judgment processing in the same step and improving the processing speed It is to provide a verification method.

【0013】[0013]

【課題を解決するための手段】上記目的を解決するため
の、本発明によるマイクロプログラム検証方法は、マイ
クロプログラムが仕様制限に従って正しく記述されてい
ることを静的に検証するに当たり、検証するマイクロプ
ログラムの通過し得る可能性のある全ルートを予め導出
することなく、制限ルールの判定等とパスのトレースを
同時進行し、1ルートずつ消化することで、検証可能な
範囲に制限のない検証を実施する。
According to the present invention, there is provided a microprogram verifying method for statically verifying that a microprogram is correctly described according to specification restrictions. Without prior derivation of all possible routes that can be passed, determination of restriction rules, etc., and tracing of paths proceed simultaneously, and each route is digested so that verification without limit to the verifiable range is performed. I do.

【0014】そのために、マイクロプログラムソース情
報を読み込んだときのデータ列をパスの順に従いソート
し、データテーブルのアドレスをパスの順に配列化し、
格納することで、常に自分から次のパスのデータ列を検
索することなく参照できるように設定する。
For this purpose, the data sequence at the time of reading the microprogram source information is sorted in the order of the paths, the addresses of the data table are arranged in the order of the paths,
By storing, it is set so that the user can always refer to the data string of the next path without searching.

【0015】さらに、マイクロプログラムソースの各ス
テップを、分岐ステップ毎に区切りブロック化し、自ブ
ロックの前後関係や、起点からのサイクル等、ブロック
単位でルートを構成し、全パターンの認識を行う。
Further, each step of the microprogram source is divided into blocks for each branching step, and a route is constructed in block units such as the context of the own block and the cycle from the starting point, and all patterns are recognized.

【0016】さらに、マイクロプログラムのパスをトレ
ースしながら制限ルール判定等を実施する上で、該当制
限ルールの情報や判定結果、および、任意のマイクロ命
令の出現状況などの情報をブロック単位で記録保持す
る。
Further, in performing the restriction rule determination while tracing the path of the microprogram, information on the relevant restriction rule, the result of the determination, and information such as the appearance status of an arbitrary microinstruction are recorded and retained in block units. I do.

【0017】さらに、マイクロプログラムのあるステッ
プが同一ルート内に再度出現した場合や、別ルートにて
使用される場合、前述のブロック単位の記録を利用し、
再処理の必要性を判定することで、同一ステップへの処
理の重複を必要最小限にし、処理速度の向上等を実現す
る。
Further, when a certain step of the microprogram reappears in the same route or is used in another route, the above-described recording in block units is used,
By judging the necessity of the reprocessing, the duplication of the processing to the same step is minimized, and the processing speed is improved.

【0018】さらに、マイクロプログラムの進行方向と
逆方向への判定が必要な制限ルールに対し、トレース中
に、制限の対象となるマイクロ命令の出現を常に認識
し、制限のキーとなるマイクロ命令の出現時点で、制限
の対象となるマイクロ命令の出現状況の記録を確認する
ことで、ルールを置換したり、別途トレースを行うこと
なく逆方向への制限ルールの検証が実施できる。
Furthermore, for a restriction rule that needs to be determined in the direction opposite to the direction in which the microprogram proceeds, the occurrence of a microinstruction to be restricted is always recognized during tracing, and the microinstruction that is a key to the restriction is identified. By confirming the record of the occurrence status of the microinstruction to be restricted at the present time, it is possible to verify the restriction rule in the reverse direction without replacing the rule or separately performing tracing.

【0019】また、マイクロ命令の定義やマイクロプロ
グラムソースの記述形式の定義等のマイクロプログラム
の各種定義情報をコード化し、これに基づき、マイクロ
プログラムソースや、制限ルールもコード化し、パスト
レースや判定処理等の高速化、かつ記憶領域使用量の低
減を実現する。
Further, various definition information of the microprogram such as the definition of the microinstruction and the definition of the description format of the microprogram source are encoded, and based on this, the microprogram source and the restriction rules are also encoded, and the path trace and the judgment processing are performed. And the like, and a reduction in the storage area usage is realized.

【0020】さらに、予めマイクロプログラムソースの
記述形式を、マイクロプログラムの仕様に定められた記
述形式の定義情報に基づき検証し、違反部分を制限ルー
ルの検証の前段階で指摘すること、及び出力装置に出力
することで制限違反との切りわけを容易にする。
Further, the description format of the microprogram source is verified in advance based on the definition information of the description format defined in the specification of the microprogram, and the violating part is pointed out before the restriction rule is verified, and an output device is provided. Output to the user to make it easier to distinguish between restriction violations.

【0021】また、マイクロプログラムの性能評価を支
援する情報として、マイクロプログラムの各起点から終
点までの通過パスを全て網羅し、サイクル数や通過パス
をルート単位に採取すること、及び出力装置に出力す
る。
As information for supporting the performance evaluation of the microprogram, all passing paths from the starting point to the end point of the microprogram are covered, and the number of cycles and passing paths are sampled for each route, and the information is output to an output device. I do.

【0022】また、マイクロプログラムの性能評価を支
援する情報として、マイクロプログラムの各起点から終
点までの通過パスを全て網羅する上で、任意のマイクロ
命令の発行を認識し、マイクロプログラムソース上の発
行位置や、起点からのサイクル数を採取すること、及び
出力装置に出力する。
In addition, as information supporting the performance evaluation of the microprogram, in covering all the passing paths from the starting point to the end point of the microprogram, it recognizes the issuance of an arbitrary microinstruction and issues it on the microprogram source. The position and the number of cycles from the starting point are collected and output to an output device.

【0023】[0023]

【作用】本発明では、マイクロプログラムの仕様上の制
限ルールを検証範囲や方向に制限を受けることない検証
を効率よく実施するものである。
According to the present invention, a verification rule without restriction on a verification range or direction of a restriction rule in the specification of a microprogram is efficiently implemented.

【0024】まず、予め被検証マイクロプログラムの仕
様上に定義されるマイクロ命令を、文字列から任意のコ
ードに置き換えこれに伴い、制限ルール及び被検証マイ
クロプログラムソース上の全マイクロ命令を、文字列か
ら定義のコード準じたコードに置き換える。このこと
で、マイクロプログラムソースと制限ルールや各種定義
情報との判定処理を高速に実施し、かつ検証に必要な記
憶領域の軽量化を実現する。
First, the microinstructions defined in advance on the specification of the microprogram to be verified are replaced with arbitrary codes from the character strings, and accordingly, the restriction rules and all the microinstructions on the microprogram source to be verified are replaced with the character strings. Is replaced with the code according to the definition code. As a result, the determination process between the microprogram source and the restriction rules and various types of definition information is performed at high speed, and the weight of the storage area required for verification is reduced.

【0025】マイクロプログラムソースのコード化を実
施するにあたっては、被検証マイクロプログラムソース
の記述形式が、マイクロ命令仕様に従い記述されている
か否かを検証する。このとき、違反事項があれば、指摘
した内容と違反箇所等の情報を採取し、出力装置に出力
することで、制限ルールの検証前に、記述違反のみを得
ることにより、違反の切りわけを実現する。
When coding the microprogram source, it is verified whether or not the description format of the microprogram source to be verified is described in accordance with the microinstruction specification. At this time, if there is a violation, the information of the pointed out point and the place of the violation are collected and output to the output device, so that only the description violation can be obtained before the restriction rule is verified. Realize.

【0026】コード化されたマイクロプログラムソース
は、1ステップを1単位とするテーブル構成とし、次ス
テップの情報として、1ステップ毎に固有のニモニック
アドレスで示すパスの順に従いソートする。
The coded microprogram source has a table structure in which one step is defined as one unit, and is sorted as information of the next step in accordance with the order of a path indicated by a unique mnemonic address for each step.

【0027】このソート結果に従い、各テーブルアドレ
スを有機的に格納した配列を生成し、この配列に従うこ
とで、制限ルールの検証中に、パス先のマイクロプログ
ラムソースのデータ列を検索することなく参照できるよ
うにし、予めルート情報を導出することなく制限ルール
判定等と同時進行でパスをトレースすることを可能にす
る。
According to the sorting result, an array in which each table address is stored organically is generated, and according to the array, the data sequence of the microprogram source at the path destination is searched without being searched during the restriction rule verification. This makes it possible to trace a path at the same time as determination of a restriction rule without deriving route information in advance.

【0028】また、マイクロプログラムの各ステップを
分岐点を区切りにブロック化し、ブロック単位に、親ブ
ロック、子ブロックとの相互関係を認識する情報を保持
することで、マイクロプログラムの構成上、通過する可
能性のある全ルートの組合せを取得する。
Further, each step of the microprogram is divided into blocks at branch points, and information for recognizing the interrelationship between the parent block and the child block is stored in units of blocks, so that the microprogram can be passed in terms of its configuration. Get all possible route combinations.

【0029】さらに、起点からのサイクル数や、ルート
の識別情報等のトレース時の各種情報や、制限ルールの
判定結果の情報もブロック単位に保持することで、同一
ブロックが同一ルート内で再出現(ループ)したり、複
数ルートにおいて使用される場合などを認識する。検証
済みの部分は、再検証の必要性を判定し、前回の検証時
と環境が同じなど、新たな検証が不要ならば、検証済み
の情報を用い処理の重複を回避する。
Further, various information at the time of tracing, such as the number of cycles from the starting point, the identification information of the route, and the information of the determination result of the restriction rule are also held in block units, so that the same block reappears in the same route. (Loop), and recognizes the case of being used in a plurality of routes. For the verified part, the necessity of re-verification is determined, and if new verification is not necessary, for example, the environment is the same as that of the previous verification, the verified information is used to avoid duplication of processing.

【0030】制限ルールの検証方法としては、マイクロ
プログラムの進行方向と逆方向への判定が必要な制限ル
ールに対し、トレース中に、制限の対象となるマイクロ
命令の発行を常に認識し、制限のキーとなるマイクロ命
令の出現時点で、制限の対象となるマイクロ命令の出現
状況の記録を確認することで、制限ルールを対偶内容に
置換したり、別途に逆方向へのトレースを行うことな
く、逆方向の制限ルールの検証を実施する。
As a method of verifying a restriction rule, for a restriction rule that needs to be determined in the direction opposite to the traveling direction of a microprogram, the issue of a microinstruction to be restricted is always recognized during tracing, and At the time of issuing the key microinstruction, by checking the record of the occurrence status of the microinstruction subject to the restriction, it is possible to replace the restriction rule with an even numbered content and not separately trace in the reverse direction, Verify the restriction rule in the reverse direction.

【0031】また、本発明では、上記パストレースの情
報を利用し、マイクロプログラムソース上の各起点から
終点までの全通過パスを組合せ、全ルートを網羅した結
果、ルート単位に、通過パスや起点からのサイクル数の
情報を提供する。また、任意のマイクロ命令の発行状況
を、ルート単位に認識し、マイクロプログラム上の位置
や、起点からのサイクル数などの情報を提供する。これ
らの正確かつ高速な情報提供機能により、マイクロプロ
グラムの性能評価を支援する。
Further, in the present invention, by utilizing the information of the path trace, all the passing paths from each starting point to the end point on the microprogram source are combined, and all the routes are covered. Provides cycle number information from Also, the issuing status of an arbitrary microinstruction is recognized for each root, and information such as the position on the microprogram and the number of cycles from the starting point is provided. These accurate and high-speed information provision functions support performance evaluation of microprograms.

【0032】[0032]

【実施例】以下、本発明の一実施例を図面を用いて、具
体的に説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be specifically described below with reference to the drawings.

【0033】図1は、本発明の一実施例のシステムの概
要図である。本図を用い全体の構成を説明する。
FIG. 1 is a schematic diagram of a system according to an embodiment of the present invention. The overall configuration will be described with reference to FIG.

【0034】図1において、1はマイクロ命令仕様を格
納しているファイルである。
In FIG. 1, reference numeral 1 denotes a file storing microinstruction specifications.

【0035】2は、この仕様に基づき設計・記述され
た、被検証マイクロプログラムソースを格納しているフ
ァイルである。
Reference numeral 2 denotes a file which stores a microprogram source to be verified, which is designed and described based on the specification.

【0036】3は、マイクロ命令仕様ファイル1より、
マイクロプログラムソース記述形式定義情報ファイル
4、マイクロ命令定義情報ファイル5、制限ルール情報
ファイル6などのマイクロプログラムの定義情報を抽出
するマイクロ命令仕様コンパイル部である。
3 is from the microinstruction specification file 1,
A microinstruction specification compiling unit for extracting definition information of a microprogram such as a microprogram source description format definition information file 4, a microinstruction definition information file 5, and a restriction rule information file 6.

【0037】なお、4、5、6にマイクロプログラムの
定義情報を抽出する手段としては、マイクロ命令仕様コ
ンパイル部3を介さず、マイクロ命令仕様書より同様の
情報を、人手等で得ることも考えられる。
As means for extracting the definition information of the microprogram in 4, 5 and 6, it is also conceivable to obtain the same information from the microinstruction specification manually without passing through the microinstruction specification compiling section 3. Can be

【0038】7は、前処理部で、マイクロプログラムソ
ースや、マイクロプログラムの定義情報群のコード化、
及びマイクロプログラムソース記述形式の検証等を実施
する。 8は、前処理部7にて指摘されたマイクロプロ
グラムソース記述形式違反情報を格納するファイルであ
る。
Reference numeral 7 denotes a preprocessing unit which encodes a microprogram source and a definition information group of the microprogram,
And verification of the microprogram source description format. Reference numeral 8 denotes a file for storing the microprogram source description format violation information pointed out by the preprocessing unit 7.

【0039】9は、マイクロプログラムの検証実施部
で、ルートトレースおよび、マイクロ命令の制限ルール
の判定を実施する。
Reference numeral 9 denotes a microprogram verification execution unit that executes a root trace and determines a microinstruction restriction rule.

【0040】10は、後処理部で、マイクロ命令の仕様
制限違反メッセージ等の出力情報を編集する。
Reference numeral 10 denotes a post-processing unit which edits output information such as a micro instruction specification restriction violation message.

【0041】11は、マイクロ命令の仕様制限違反情報
を格納するファイルである。
Reference numeral 11 denotes a file for storing specification restriction violation information of a microinstruction.

【0042】12は、マイクロプログラムのルート単位
の通過パスおよびサイクル情報を含む性能評価支援情報
を格納するファイルである。
Reference numeral 12 denotes a file for storing performance evaluation support information including pass information and cycle information of a microprogram on a route basis.

【0043】13は、マイクロプログラムソースに対す
る記述形式違反のフィードバックを示す。
Reference numeral 13 denotes feedback of a description format violation for the microprogram source.

【0044】14は、マイクロ命令の仕様制限違反等の
フィードバックを示す。
Numeral 14 indicates feedback such as a violation of the specification restriction of the microinstruction.

【0045】図2は、図1の前処理部7の詳細な構成を
示す機能ブロック図である。本図を用い前処理部につい
て説明する。
FIG. 2 is a functional block diagram showing a detailed configuration of the preprocessing unit 7 in FIG. The pre-processing unit will be described with reference to FIG.

【0046】図2において、201は、マイクロプログ
ラムソース記述形式定義4、マイクロ命令定義5、制限
ルール6の設定を行う初期設定部である。マイクロ命令
定義よりマイクロ命令の文字列を独自のコードに置換
し、マイクロ命令コード対応表(図3)を作成する。制
限ルール情報中のマイクロ命令は、この対応表に従いコ
ード変換する。
In FIG. 2, reference numeral 201 denotes an initial setting unit for setting a microprogram source description format definition 4, a microinstruction definition 5, and a restriction rule 6. The character string of the microinstruction is replaced with a unique code from the microinstruction definition, and a microinstruction code correspondence table (FIG. 3) is created. The microinstructions in the restriction rule information are code-converted according to the correspondence table.

【0047】202は、マイクロプログラムソース記述
形式検証部である。マイクロプログラムソースファイル
より読み込んだデータが、マイクロプログラムソース記
述形式定義に従い記述されているかどうかを検証する。
違反があった場合は、違反箇所と内容を示す違反情報を
作成し、後処理部205を経由してマイクロプログラム
ソース記述形式違反情報ファイル8へ格納し、出力装置
へ出力する。違反の指摘はマイクロプログラムの全ステ
ップを対象に行うが、指摘の度に出力装置へ出力して
も、全ステップ検証後まとめて出力してもよい。
Reference numeral 202 denotes a microprogram source description format verification unit. Verify whether the data read from the microprogram source file is described according to the microprogram source description format definition.
If there is a violation, violation information indicating the violation location and the content is created, stored in the microprogram source description format violation information file 8 via the post-processing unit 205, and output to the output device. Violation is pointed out for all steps of the microprogram, but may be output to the output device every time a point is pointed out, or may be output after verification of all steps.

【0048】203は、マイクロプログラムソースコー
ド変換部である。マイクロプログラムソース記述形式検
証部202の検証を経たマイクロプログラムソースを、
1ステップを1単位とするデータ列に編集する。このと
き、マイクロ命令はマイクロ命令定義より得たマイクロ
命令コード対応表(図3)に従いコード化する。
Reference numeral 203 denotes a microprogram source code conversion unit. The microprogram source that has been verified by the microprogram source description format verification unit 202 is
Edit to a data string with one step as one unit. At this time, the microinstruction is coded according to the microinstruction code correspondence table (FIG. 3) obtained from the microinstruction definition.

【0049】204は、マイクロプログラムソースソー
ト部である。マイクロプログラムソースコード変換部2
03でコード化した1ステップ単位のデータ列を、各ス
テップが有するパス情報に従いソートし、データ列のア
ドレスをパスの順に格納した有機的な配列(図4)を作
成する。
Reference numeral 204 denotes a microprogram source sorting unit. Microprogram source code converter 2
The data string in units of one step coded in 03 is sorted according to the path information of each step, and an organic array (FIG. 4) storing the addresses of the data string in the order of the paths is created.

【0050】205は、マイクロプログラムソース記述
違反情報の編集および出力や、制限ルール判定等の検証
実施部への移行処理を行う後処理部である。
Reference numeral 205 denotes a post-processing unit that edits and outputs microprogram source description violation information, and performs processing for shifting to a verification execution unit such as determination of a restriction rule.

【0051】202で指摘したマイクロプログラムソー
ス記述違反は、違反箇所として違反ステップのニモニッ
クアドレスなど、マイクロプログラムソース上での場所
が判る情報を示し、違反内容として違反部分の記述を示
す。違反に対し正規の記述が特定可能な場合には、それ
も併記する。
The microprogram source description violation pointed out at 202 indicates information for identifying the location on the microprogram source, such as the mnemonic address of the violating step, as the violation location, and the description of the violation portion as the content of the violation. If a legitimate statement can be specified for the violation, it is also noted.

【0052】マイクロプログラムソース記述違反の指摘
があった場合の対応として、1件でも違反があれば以降
の検証処理を中断する方法、もしくは、違反部分のみを
ステップ単位に排除し正しい部分のみ検証を実施する方
法が考えられる。いずれにせよ、マイクロプログラムソ
ースの記述に誤りがあるまま、制限ルールの検証を実施
することを回避する。
As a countermeasure for the case where a microprogram source description violation is pointed out, if there is at least one violation, the subsequent verification processing is interrupted, or only the violating part is eliminated in steps and only the correct part is verified. A method of implementing is conceivable. In any case, the verification of the restriction rule is avoided while the description of the microprogram source contains an error.

【0053】検証実施部9へは、201で設定したマイ
クロ命令定義および、マイクロ命令コード対応表、コー
ド化した制限ルール、マイクロプログラムソースデータ
列アドレス格納配列、起点抽出情報(後述)などを渡
す。
The microinstruction definition set in 201, the microinstruction code correspondence table, the coded restriction rule, the microprogram source data string address storage array, the starting point extraction information (described later), etc., are passed to the verification execution unit 9.

【0054】次に、図4を用い、マイクロプログラムソ
ースソート部204でのソート後のデータ列の構成につ
いて説明する。
Next, the configuration of the data string after sorting by the microprogram source sorting unit 204 will be described with reference to FIG.

【0055】401は、マイクロプログラムソースを図
式化したもので、402は、401をマイクロプログラ
ムソース記述形式検証部202とマイクロプログラムソ
ースコード変換部203を経て、読み出した順に設定し
たマイクロプログラムソースの1ステップ単位のデータ
列である。
Numeral 401 denotes a schematic diagram of a microprogram source. Numeral 402 denotes one of microprogram sources set in the reading order through the microprogram source description format verification unit 202 and the microprogram source code conversion unit 203. This is a data string in units of steps.

【0056】403は、402のマイクロプログラムソ
ースのソート後のデータ列のアドレスを設定したテーブ
ルである。
Reference numeral 403 denotes a table in which addresses of sorted data strings of the microprogram source 402 are set.

【0057】405は、各ステップのデータ列のアドレ
スを示す。
Reference numeral 405 indicates the address of the data string in each step.

【0058】406は、複数ステップより1ステップへ
合流している場合など、パス先が過去に出現しデータ列
のアドレスが既に配列に格納されている場合に、既に設
定されている配列番号を設定する部分である。
406 is used to set an already set array number when a path destination has appeared in the past and the address of the data string has already been stored in the array, such as when merging from one step to a plurality of steps. This is the part to do.

【0059】407は、1ステップから複数ステップへ
パスが分岐する場合に、分岐ではない方を優先し配列化
し、分岐側については、分岐先のデータ列アドレスが設
定されるまで待ち、設定された配列番号を設定する部分
である。
In step 407, when the path branches from one step to a plurality of steps, the path which is not the branch is prioritized and arranged. On the branch side, the process waits until the data string address of the branch destination is set, and the set path is set. This part sets the sequence number.

【0060】403は、404に示す配列[n]に対し、
次ステップが配列[n+1]になるようパスの順に構成さ
れている。しかし、上記406や407に設定するよう
な状況の場合は、次のように認識する。406にデータ
の設定があれば、これを優先し、次ステップは配列[n+
1]ではなく、設定された配列番号に設定されたアドレ
スに示されるデータ列であると認識する。パスが終了す
るステップには、409に示すように特殊なコードを設
定し認識する。これらは、フラグなどを別途用意して認
識してもよい。
403 corresponds to the sequence [n] shown in 404
The next step is configured in the order of the paths so that the array becomes [n + 1]. However, in the case where the above-mentioned setting is made to 406 or 407, the following recognition is made. If there is a data setting in 406, it is prioritized, and the next step is array [n +
1], but a data string indicated by the address set in the set array element number. In the step where the pass ends, a special code is set and recognized as indicated by 409. These may be recognized by separately preparing a flag or the like.

【0061】このようにして制限ルール検証時の有効な
パストレースを実現可能にしている。 410は、ソー
ト実施時にルートの起点として認識したステップをまと
めた起点抽出情報であり、該当ステップのニモニックア
ドレスと、配列番号404をもつ。
Thus, an effective path trace at the time of verifying the restriction rule can be realized. Reference numeral 410 denotes starting point extraction information that summarizes the steps recognized as the starting point of the route at the time of sorting, and has a mnemonic address of the corresponding step and an array number 404.

【0062】図5は、図1の検証実施部9の詳細な構成
を示す機能ブロック図である。
FIG. 5 is a functional block diagram showing a detailed configuration of the verification unit 9 of FIG.

【0063】図5において501は実行管理部であり、
図6を用いて動作を説明する。
In FIG. 5, reference numeral 501 denotes an execution management unit.
The operation will be described with reference to FIG.

【0064】実行管理部では、前処理部7により、作成
された起点抽出情報410に従い、起点ステップが存在
する間は(ステップ601)実行部へ起点ステップを渡
す。この時、実行部(502)でのルート認識のための
起点番号を設定する(ステップ602)。起点ステップ
が終了した場合は(ステップ601)、検証処理を終了
し、後処理部10へ制御を移行し、違反情報やパストレ
ース結果の情報等を渡す。
In the execution management unit, the preprocessing unit 7 passes the start step to the execution unit according to the generated start point extraction information 410 while the start step exists (step 601). At this time, a starting point number for route recognition in the execution unit (502) is set (step 602). When the starting step is completed (step 601), the verification processing is completed, the control is transferred to the post-processing unit 10, and the violation information, the information of the path trace result, and the like are passed.

【0065】図5において、502は実行部であり、5
03のルート生成・管理部、504の制限ルール判定
部、505の違反情報作成部より構成される。
In FIG. 5, reference numeral 502 denotes an execution unit.
A route generation / management unit 03, a restriction rule determination unit 504, and a violation information creation unit 505 are provided.

【0066】実行部502では、ルート生成・管理部5
03により、パスをトレースしながらブロック化し管理
する中で、制限ルール判定部504にて各ステップ単位
に制限ルールの判定を実施し、違反があれば違反情報作
成部505により違反情報を作成する。以上の一連の処
理を、1起点に対するすべてのルートを生成し終えるま
で繰返し、終了後実行管理部に制御を戻す。
In the execution unit 502, the route generation / management unit 5
In step 03, the restriction rule is determined in each step by the restriction rule determination unit 504 while the block is managed while tracing the path. If there is a violation, the violation information generation unit 505 generates violation information. The above series of processing is repeated until generation of all routes for one starting point is completed, and control is returned to the execution management unit after completion.

【0067】なお、制限ルールは、基本としてマイクロ
命令毎に「マイクロ命令Aならば[条件]マイクロ命令
Bであること(あってはならない)。」と表現できる。
以下の説明中では、「マイクロ命令Aならば」に該当す
るマイクロ命令を「キー命令」、「マイクロ命令Bであ
ること(あってはならない)」に該当するマイクロ命令
を「対象命令」と呼ぶ。
Note that the restriction rule can basically be expressed as "if micro instruction A, [condition] must be micro instruction B (must not exist)."
In the following description, the microinstruction corresponding to "if the microinstruction A" is called a "key instruction", and the microinstruction corresponding to "being a microinstruction B (must not be)" is called a "target instruction". .

【0068】ルート生成・管理部503は、与えられた
ステップをブロックの先頭として、それより、分岐や合
流するパスのステップまでを1ブロックと認識したステ
ップの集合体を作成するブロック生成の働きと、ブロッ
ク間の関係を把握しルートを生成するパストレースの働
きを持つ。
The route generation / management unit 503 generates a set of steps that recognizes a given step as the top of a block and recognizes a step of a path that branches or joins as one block from the start of the block. It has the function of a path trace for grasping the relationship between blocks and generating a route.

【0069】以下、図7を用いてルート生成・管理部5
03の動作を説明する。ブロックの生成例とデータ列の
例は図8に示し、随時用いて以下の説明を進める。
Hereinafter, the route generation / management unit 5 will be described with reference to FIG.
03 will be described. An example of block generation and an example of a data string are shown in FIG. 8, and the following description will be given as needed.

【0070】まずブロック生成の前に、与えられたステ
ップが過去に処理済みではないかの判定(ステップ70
1、702)があるが、処理済みであった場合の処理は
後述するとし、先に基本の流れを説明する。
First, before block generation, it is determined whether a given step has been processed in the past (step 70).
1, 702), but the processing when the processing has been completed will be described later, and the basic flow will be described first.

【0071】703では、ブロック作成処理を実施す
る。本発明の特徴である、パスのブロック区分によるト
レースと、制限ルール判定等の検証処理を同時に実施す
る部分である。
At 703, a block creation process is performed. This is a part of the present invention, which simultaneously performs tracing by path block division and verification processing such as restriction rule determination.

【0072】ブロック作成を終えたならば、作成したブ
ロックが次ステップを示すパスを持たない、もしくは、
パスの示すマイクロプログラムソースデータ列が存在し
ない等、ルート最終ブロックであるかをマイクロプログ
ラムソースデータ列アドレス格納配列403により判定
する(ステップ704)。
When the block creation is completed, the created block does not have a path indicating the next step, or
Whether the microprogram source data string indicated by the path does not exist or not is determined by the microprogram source data string address storage array 403 (step 704).

【0073】次パスがある場合は、次ステップの示すパ
スを次ブロックの先頭として設定(ステップ705)
し、ステップ701に戻り上記処理を繰り返す。
If there is a next path, the path indicated by the next step is set as the head of the next block (step 705).
Then, the process returns to step 701 to repeat the above processing.

【0074】次パスがない場合は、親ブロックが存在す
るかどうかをブロックの親ブロックアドレス(803)
により判定する。親ブロックがある場合、親ブロックへ
戻り(ステップ707)、ステップ704以下の処理を
繰り返す。親ブロックがない場合、ルートの先頭ブロッ
クまで戻ったことになり、1起点より生成しうる全ての
ルートを検証し終えたことになるので、処理を中断し実
行管理部501へ制御を戻す。
If there is no next path, it is determined whether or not a parent block exists.
Determined by If there is a parent block, the process returns to the parent block (step 707), and the processing from step 704 is repeated. If there is no parent block, the process returns to the head block of the route, and all routes that can be generated from one starting point have been verified. Therefore, the process is interrupted and control is returned to the execution management unit 501.

【0075】次に、ステップ703のブロック作成処理
の詳細を説明する。
Next, the details of the block creation processing in step 703 will be described.

【0076】まず、ブロックのデータを設定する領域
(ブロック設定データ列=801)を確保し、各項目を
クリアする。
First, an area for setting block data (block setting data string = 801) is secured, and each item is cleared.

【0077】親ブロックからの、判定途中のルールや、
対象命令の出現情報等の継続データは、この時点で複写
し、本ブロック内のデータは、追加する形で設定する
(ステップ708)。
The rule being determined from the parent block,
The continuation data such as the appearance information of the target instruction is copied at this point, and the data in this block is set in an additional form (step 708).

【0078】与えられたステップに該当する、マイクロ
プログラムソースデータ列アドレス格納配列(403)
の配列番号を、ブロックの先頭としてブロック設定デー
タ列の804に設定する(ステップ709)。
Microprogram source data column address storage array (403) corresponding to the given step
Is set in the block setting data sequence 804 as the head of the block (step 709).

【0079】これにより、該当ステップ内のマイクロ命
令等の情報を参照する場合に、検索の必要がなく高速ア
クセス可能にし、設定するデータ幅も小さくしている。
As a result, when referring to information such as a microinstruction in a corresponding step, high-speed access is possible without searching, and the data width to be set is also reduced.

【0080】以下に、ブロック内の処理を説明する。The processing in the block will be described below.

【0081】まず、該当ステップの起点からのサイクル
数をカウントする。先頭ステップの場合は、値をブロッ
ク設定データ列の805に設定する。
First, the number of cycles from the starting point of the corresponding step is counted. In the case of the first step, the value is set to 805 of the block setting data sequence.

【0082】次に、制限ルール判定部504では、該当
ステップに該当する制限ルールの検証、並びに発行の確
認が必要なマイクロ命令のチェックを実施する。
Next, the restriction rule judging unit 504 performs verification of the restriction rule corresponding to the corresponding step, and checks for microinstructions that need to be issued.

【0083】最後に、該当ステップの示す次ステップ
が、分岐若しくは合流、又は存在しないなどの、ブロッ
クの終点かどうかを判定する(ステップ711)。終点
でなければ、ステップ710へ戻り次ステップに対し、
同様の処理を繰り返す。終点の場合、終了ステップのマ
イクロプログラムソースデータ列アドレス配列(40
3)の配列番号を806に、起点からのサイクル数を8
07に設定し(ステップ712)、ブロック作成処理を
終了する。
Finally, it is determined whether or not the next step indicated by the pertinent step is the end point of the block such as branching or merging or non-existence (step 711). If it is not the end point, return to step 710 and
The same processing is repeated. In the case of the end point, the microprogram source data string address array (40
The sequence number of 3) is 806, and the number of cycles from the starting point is 8
07 (step 712), and the block creation processing ends.

【0084】次に、図9を用いて制限ルール判定部50
4の詳細を説明する。
Next, referring to FIG.
4 will be described in detail.

【0085】制限ルール判定部504は、901の対象
命令の検出、902の制限ルールの判定、903の発行
確認マイクロ命令の検出、505の違反情報作成部より
構成される。
The restriction rule determining unit 504 includes a target instruction detection unit 901, a restriction rule determination unit 902, an issue confirmation microinstruction detection unit 903, and a violation information creation unit 505.

【0086】対象命令の検出901は、本発明の特徴で
あるマイクロプログラムの進行方向とは逆方向への判定
を要する、[ 条件 ] の部分が、「発行以前」、「nサ
イクル以前」の制限ルールの判定のために、キー命令の
発行前に対象命令の発行を全て把握するためにある。該
当ステップに対象命令が存在する場合は、その命令のコ
ードと起点からのサイクル数などの、出現位置と内容を
明確にする情報を、ブロック設定データ列の810に設
定する。
The detection 901 of the target instruction requires determination in the direction opposite to the direction in which the microprogram proceeds, which is a feature of the present invention. The [condition] part is limited to "before issuance" and "before n cycles". In order to determine the rule, it is necessary to grasp all issuance of the target instruction before issuing the key instruction. If the target instruction exists in the corresponding step, information that clarifies the appearance position and the content, such as the code of the instruction and the number of cycles from the starting point, is set in the block setting data sequence 810.

【0087】制限ルールの判定902では、各ルールの
キー命令と該当ステップ内のマイクロ命令が一致する場
合、対象命令の出現を求める。同一ステップ内で判定で
きない、「nサイクル以降」等の範囲を持つ制限につい
ては、判定中のルールとして、状況ブロック設定データ
列の809に設定し、該当する対象命令が出現した時
点、もしくは、ルートが終了した時点で判定を下す。ま
た、過去に通過したステップである場合、環境等の変化
による再処理の必要性が無い場合には、過去に作成した
ブロック情報を用い、ブロック作成処理等を省略するこ
ともできる。
In the determination 902 of the restriction rule, when the key instruction of each rule matches the micro instruction in the corresponding step, the appearance of the target instruction is determined. For restrictions that cannot be determined in the same step and have a range such as “n cycles or later”, the rule under determination is set to 809 in the status block setting data string, and when the corresponding target instruction appears, Make a decision at the end of the. If the step has passed in the past, and if there is no need for reprocessing due to a change in the environment or the like, the block creation processing and the like can be omitted by using the block information created in the past.

【0088】なお、本発明の特徴であるマイクロプログ
ラムの進行方向とは逆方向への判定を要する、[ 条件 ]
の部分が、「発行以前」、「nサイクル以前」の制限
ルールの判定は、ブロック設定データ列の810に記録
された、該当ルート内での起点からの対象命令出現情報
を用いる。対象命令の登録がない場合で、[ 条件 ]が
「発行があること」ならば、制限ルール違反である。ま
た、対象命令の登録がある場合で、[ 条件 ] のサイク
ルを満たしていなかったり、「発行を禁止する」なら
ば、制限ルール違反である。
Note that it is necessary to judge the microprogram in the direction opposite to the traveling direction, which is a feature of the present invention.
Is used for the determination of the restriction rule of “before issuance” and “before n cycles”, using the target instruction appearance information from the starting point in the corresponding route, recorded in 810 of the block setting data sequence. If the target instruction is not registered and [Condition] is "issued", it is a restriction rule violation. If the target instruction is registered and the cycle of [Condition] is not satisfied, or if "Issuance is prohibited", it is a violation of the restriction rule.

【0089】このように判定することで、事前に制限ル
ールを対偶の内容に置換することなく、また制限ルール
の意図する制限内容がひずむことなく判定を実施するこ
とができる。
By making such a determination, the determination can be performed without replacing the restriction rule in advance with the contents of the even number and without distorting the restriction contents intended by the restriction rule.

【0090】[ 条件 ]を満たしているかどうかで、違反
がある場合は、違反情報作成部505で、違反情報とし
て、キー命令の出現位置、対象命令の出現位置、条件の
内容などを記録する。記録した情報は、全ステップへの
検証が終了した時点で、後処理部10にて、出力装置へ
出力するが、違反検出の度に出力してもよい。
If there is a violation depending on whether or not [condition] is satisfied, the violation information creation unit 505 records the appearance position of the key instruction, the appearance position of the target instruction, the contents of the condition, and the like as the violation information. The recorded information is output to the output device by the post-processing unit 10 when the verification of all steps is completed, but may be output every time a violation is detected.

【0091】発行確認マイクロ命令の検出903は、仕
様上の制限ルールに関係無く任意に発行の位置や有無を
確認するためにある。該当ステップに該当するマイクロ
命令が存在する場合は、その命令のコードと起点からの
サイクル数などの、出現位置と内容を明確にする情報
を、ブロック設定データ列の810に設定する。
The detection 903 of the issuance confirmation microinstruction is for arbitrarily confirming the issuance position and the presence or absence of the issue regardless of the restriction rule in the specification. If there is a microinstruction corresponding to the step, information that clarifies the appearance position and contents, such as the code of the instruction and the number of cycles from the starting point, is set in the block setting data sequence 810.

【0092】本実施例では、対象命令の検出901の検
出結果と発行確認マイクロ命令の検出903の検出結果
の設定を、フラグを用いて同一領域に設定し、節約を図
っているが、別途に領域を設けて設定してもよい。
In this embodiment, the setting of the detection result of the target instruction detection 901 and the detection result of the issue confirmation micro instruction detection 903 are set in the same area by using a flag to save the cost. An area may be provided and set.

【0093】最後に、ステップ701、702について
説明する。
Finally, steps 701 and 702 will be described.

【0094】まず、与えられたステップが過去に処理済
みではないかを判定する(ステップ701)。
First, it is determined whether the given step has been processed in the past (step 701).

【0095】判定手段の一例としては、実行管理部で設
定(ステップ602)した起点番号を、各ステップの初
回の処理終了時に設定し、これを比較して判定する識別
フラグを設定する方法等がある。
As an example of the judging means, there is a method of setting the starting number set by the execution management section (step 602) at the end of the first processing of each step, and setting an identification flag for judging by comparing these. is there.

【0096】判定の結果、過去に処理済みであれば、過
去に設定したブロック情報を参照し、再処理が必要であ
るかどうかを判定する(ステップ702)。過去の情報
が、正しく設定されていることが確認できる場合は、ブ
ロックは新たに生成せずに過去の情報を利用する。
If the result of the determination is that processing has been completed in the past, it is determined whether reprocessing is necessary by referring to the block information set in the past (step 702). If the past information can be confirmed to be set correctly, the past information is used without generating a new block.

【0097】このとき、ブロックの連結と制限ルールの
判定が新規の場合とは異なる。
At this time, the connection of the blocks and the determination of the restriction rule are different from the case where the block connection is new.

【0098】ブロックの連結は、親となるブロックが過
去と違う場合もあるため、上書きせずスタックする(8
03)ことで、起点からのルートを継続して認識可能に
する。 また、制限ルールの判定ではブロックに入るス
テップのサイクルが一致するなど状況の変化がない場合
は、ブロックに記録された過去の該当ルールを参照し、
同一ルートについては、その判定結果(809)をその
まま使用する。
In the connection of blocks, since the parent block may be different from the past, stacking is performed without overwriting (8).
03) By doing so, the route from the starting point can be continuously recognized. In addition, in the determination of the restriction rule, if there is no change in the situation such as the cycle of the step entering the block matches, the past corresponding rule recorded in the block is referred to,
For the same route, the determination result (809) is used as it is.

【0099】これらにより、同一部分へのブロック作成
処理や同一条件下での重複判定をなくし、処理の重複を
回避することで、処理効率と使用記憶領域の節約を実現
する。 検証実施部9で作成したブロック情報をもと
に、必要であれば各起点から終点までの全通過パスを組
合せ、全ルートを網羅した結果、通過パス、起点からの
サイクル数、任意のマイクロ命令の発行状況等の情報を
ルート単位に認識し、マイクロプログラム上の位置や起
点からのサイクル数等を提供することもできる。本実施
例では、後処理部10にてこれらの情報を編集し、出力
装置に出力している。 図11に示す出力例は、110
5に示すマイクロプログラムソースを評価した結果を示
す。
Thus, the processing efficiency and the saving of the used storage area can be realized by eliminating the block creation processing for the same part and the duplication judgment under the same condition and avoiding the duplication of the processing. Based on the block information created by the verification execution unit 9, if necessary, all the passing paths from each starting point to the end point are combined, and all the routes are covered. As a result, the passing paths, the number of cycles from the starting point, an arbitrary microinstruction It is also possible to recognize information such as the issuance status of each program on a route basis and to provide the position on the microprogram, the number of cycles from the starting point, and the like. In this embodiment, these information are edited by the post-processing unit 10 and output to the output device. The output example shown in FIG.
5 shows the results of evaluating the microprogram source shown in FIG.

【0100】1101は、通過パス情報で、両端の起点
と終点の他は、分岐点での分岐ステップや合流時の合流
先ステップのみ表示している。また、終点に正常な終了
点か、パス先が不明等の中断点か、の認識をする記号を
表示(1104)することもできる。
Reference numeral 1101 denotes passing path information, which indicates only a branching step at a branching point and a merging destination step at a merging point, in addition to a start point and an end point at both ends. Further, a symbol for recognizing whether the end point is a normal end point or an interruption point such as an unknown path destination can be displayed (1104).

【0101】1102は、起点から終点までに要したサ
イクル数である。
Reference numeral 1102 denotes the number of cycles required from the start point to the end point.

【0102】1103は、発行確認マイクロ命令の検出
903で発行を確認したマイクロ命令の発行位置を、各
ステップに付けられたニモニックアドレスと、起点から
のサイクル数で表示したものである。
Reference numeral 1103 denotes the issuance position of the microinstruction confirmed to be issued in the issuance confirmation microinstruction detection 903, by the mnemonic address assigned to each step and the number of cycles from the starting point.

【0103】[0103]

【発明の効果】以上説明したように、本発明のマイクロ
プログラム検証方法によれば、次のような効果が得られ
る。
As described above, according to the microprogram verifying method of the present invention, the following effects can be obtained.

【0104】(1)マイクロプログラムが仕様上の制限
に従い、正しく記述されていることを静的に検証するに
あたり、検証可能な範囲に制限のない仕様制限ルールの
検証を実施することができる。
(1) In statically verifying that a microprogram is correctly described in accordance with the restrictions on specifications, it is possible to verify specification restriction rules that have no limit on the verifiable range.

【0105】(2)マイクロプログラムのあるステップ
が、同一ルート内に再度出現した場合や、別ルートにて
使用される場合再出現であることを認識し、再処理の必
要性を判定し、必要なければ、既に判定・採取済みの情
報を利用することで、同一ステップへの重複処理を必要
最小限にし処理速度の向上を実現できる。
(2) When a step in the microprogram reappears in the same route or when it is used in another route, it is recognized that the step reappears, and the necessity of reprocessing is determined. Otherwise, by using the information that has already been determined and collected, it is possible to minimize the duplication of the same step and improve the processing speed.

【0106】(3)マイクロプログラムの進行方向と逆
方向への判定が必要な制限ルールに対し、事前に制限ル
ールの記述内容を置換したり、判定のために別途逆方向
のパストレースを行うことなく検証を実現することによ
り、検証精度を向上させ、かつ効率の良い検証を実施す
ることができる。
(3) For a restriction rule that needs to be determined in the direction opposite to the direction in which the microprogram proceeds, the description content of the restriction rule is replaced in advance, or a separate backward path trace is performed for the determination. By realizing the verification without the need, the verification accuracy can be improved and the verification can be performed efficiently.

【0107】(4)予めマイクロプログラムソースの記
述形式を検証し、記述違反を制限ルールの検証の前段階
で指摘し、制限違反との切分けを容易にすることで、マ
イクロプログラム修正を迅速に実現することができる。
(4) The description format of the microprogram source is verified in advance, and the description violation is pointed out before the verification of the restriction rule, and the microprogram can be corrected easily by easily separating the restriction violation from the restriction rule. Can be realized.

【0108】(5)マイクロプログラムの各起点から終
点までのサイクル数や通過パス、および、任意のマイク
ロ命令の発行状況等をルート単位に採取し提供すること
で、マイクロプログラムの性能評価の精度および効率を
格段に向上させることができる。
(5) The number of cycles from each starting point to the end point of the microprogram, the passing path, and the issuance status of an arbitrary microinstruction are collected and provided in units of a root, so that the accuracy and the accuracy of the performance evaluation of the microprogram can be improved. Efficiency can be significantly improved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施例を示すシステム概要図であ
る。
FIG. 1 is a system schematic diagram showing one embodiment of the present invention.

【図2】本発明の検証方法の前処理部の構成を示す機能
ブロック図である。
FIG. 2 is a functional block diagram showing a configuration of a preprocessing unit of the verification method of the present invention.

【図3】本発明の検証方法の前処理部で生成するマイク
ロ命令コード対応表の一例を示す図である。
FIG. 3 is a diagram showing an example of a micro-instruction code correspondence table generated in a preprocessing unit of the verification method of the present invention.

【図4】本発明の検証方法の前処理部で生成するマイク
ロプログラムソースデータ列のソート後のアドレス格納
配列の一例を示す図である。
FIG. 4 is a diagram showing an example of an address storage array after sorting a microprogram source data sequence generated by a preprocessing unit of the verification method of the present invention.

【図5】本発明の検証方法の検証実施部の機能ブロック
図である。
FIG. 5 is a functional block diagram of a verification execution unit of the verification method of the present invention.

【図6】本発明の検証実施部の実行管理部の動作概要フ
ローチャートである。
FIG. 6 is an operation outline flowchart of an execution management unit of the verification execution unit of the present invention.

【図7】本発明の検証実施部の実行部内のルート生成・
管理部の動作概要フローチャートある。
FIG. 7 is a diagram showing a route generation / execution unit in the execution unit of the verification execution unit according to the present invention;
5 is a flowchart illustrating an operation outline of a management unit.

【図8】本発明の検証実施部の実行部内のルート生成・
管理部で生成されるブロックの構成と設定データの一例
を示す図である。
FIG. 8 is a diagram showing a route generation / execution unit in the execution unit of the verification execution unit according to the present invention;
FIG. 4 is a diagram illustrating an example of a configuration of a block and setting data generated by a management unit.

【図9】本発明の検証実施部の実行部内の制限ルール判
定部の構成を示す機能ブロック図である。
FIG. 9 is a functional block diagram illustrating a configuration of a restriction rule determination unit in an execution unit of a verification execution unit according to the present invention.

【図10】本発明の検証方法の後処理部の構成を示す機
能ブロック図である。
FIG. 10 is a functional block diagram showing a configuration of a post-processing unit of the verification method of the present invention.

【図11】マイクロプログラム性能評価支援情報の出力
例である。
FIG. 11 is an output example of microprogram performance evaluation support information.

【図12】マイクロ命令仕様制限違反の補助情報(キー
命令〜対象命令の通過パス)の出力例である。
FIG. 12 is an output example of auxiliary information (pass path from a key instruction to a target instruction) that violates the micro instruction specification restriction.

【符号の説明】[Explanation of symbols]

1 マイクロ命令仕様 2 マイクロプログラムソースファイル 3 マイクロ命令仕様コンパイル部 4 マイクロプログラムソース記述形式定義情報ファイ
ル 5 マイクロ命令定義情報ファイル 6 制限ルールファイル 7 前処理部 8 マイクロプログラムソース記述形式違反情報ファイ
ル 9 検証実施部 10 後処理部 11 マイクロ命令仕様制限ルール違反情報ファイル 12 マイクロプログラム性能評価支援情報ファイル
1 Microinstruction specification 2 Microprogram source file 3 Microinstruction specification compilation section 4 Microprogram source description format definition information file 5 Microinstruction definition information file 6 Restriction rule file 7 Preprocessing section 8 Microprogram source description format violation information file 9 Verification execution Part 10 Post-processing part 11 Micro instruction specification restriction rule violation information file 12 Micro program performance evaluation support information file

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−177436(JP,A) 特開 平2−83748(JP,A) 特開 平4−289928(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 11/28 G06F 9/22 380────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-4-177436 (JP, A) JP-A-2-83748 (JP, A) JP-A-4-289928 (JP, A) (58) Field (Int.Cl. 6 , DB name) G06F 11/28 G06F 9/22 380

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】計算機システムに内蔵されるマイクロプロ
グラムの仕様上の制限ルールを静的に検証するマイクロ
プログラム検証方法において、マイクロプログラムソー
スファイルから被検証マイクロプログラムソースを読み
出し、該被検証マイクロプログラムソースを1ステップ
単位のデータ列に編集し、各ステップが有するパス情報
に従って前記データ列をソートし、前記データ列のアド
レスをソート結果に従って格納したマイクロプログラム
ソースデータ列アドレス配列を生成し、該配列を用いて
制限ルールの判定やパストレースを実施することを特徴
とするマイクロプログラム検証方法。
1. A microprogram verifying method for statically verifying a specification restriction rule of a microprogram built in a computer system, comprising: reading a microprogram source to be verified from a microprogram source file; Is edited into data strings in units of one step, the data strings are sorted according to the path information of each step, and a microprogram source data string address array in which addresses of the data strings are stored according to the sorting result is generated. A microprogram verification method characterized in that a restriction rule is determined and a path trace is performed using the method.
【請求項2】請求項1記載のマイクロプログラム検証方
法において、マイクロプログラムの構成上通過する可能
性のあるパスの組合せをトレースし、全てのルートを取
得するにあたり、分岐点を区切りにブロック化し、各ブ
ロック単位に少なくともブロック間の接続関係を認識す
る情報、起点からのサイクル数、ルートの識別情報、制
限ルールの判定結果の情報を記録保持することを特徴と
するマイクロプログラム検証方法。
2. A microprogram verifying method according to claim 1, wherein a combination of paths that can pass through the microprogram is traced, and when all routes are obtained, a branch point is divided into blocks. A microprogram verification method characterized in that at least information for recognizing a connection relationship between blocks, the number of cycles from a starting point, information for identifying a route, and information on a determination result of a restriction rule are recorded and retained in each block unit.
【請求項3】請求項2記載のマイクロプログラム検証方
法において、マイクロプログラムの進行方向と逆方向へ
の判定が必要な制限ルールに対し、パストレース中に制
限ルールの対象となるマイクロ命令の出現を常に認識
し、制限ルールのキーとなるマイクロ命令の出現時点
で、前記制限ルールの対象となるマイクロ命令の出現状
況の記録を確認することを特徴とするマイクロプログラ
ム検証方法。
3. A microprogram verifying method according to claim 2, wherein, for a restriction rule which needs to be determined in a direction opposite to the traveling direction of the microprogram, the occurrence of a microinstruction subject to the restriction rule during a path trace is determined. A microprogram verification method comprising: always recognizing and confirming a record of the appearance status of a microinstruction subject to the restriction rule at the time of issuing a microinstruction that is a key of the restriction rule.
【請求項4】請求項2記載のマイクロプログラム検証方
法において、検証対象のマイクロプログラムソースのス
テップが、自ルート内でのループや、複数ルートで使用
される場合などにより検証済みの場合は、再検証の必要
性を判定し、不要ならば保持しておいた検証結果を用
い、同一部分への制限ルール判定等の処理の重複を回避
することを特徴とするマイクロプログラム検証方法。
4. The microprogram verifying method according to claim 2, wherein the step of the microprogram source to be verified has been re-verified when the step has been verified in a loop within its own route or when used in a plurality of routes. A microprogram verification method characterized by determining the necessity of verification and, if unnecessary, using a stored verification result to avoid duplication of processing such as restriction rule determination for the same part.
【請求項5】請求項2記載のマイクロプログラム検証方
法において、任意のマイクロ命令の出現をルート単位に
採取し、発行位置やサイクル数などの情報を、出力装置
に出力することを特徴とするマイクロプログラム検証方
法。
5. The microprogram verifying method according to claim 2, wherein the occurrence of an arbitrary microinstruction is collected for each root, and information such as an issue position and the number of cycles is output to an output device. Program verification method.
【請求項6】請求項2記載のマイクロプログラム検証方
法において、起点から終点までに通過する可能性のある
パスの組合せを全て網羅し、通過パスやサイクル数など
の結果をルート単位に採取した情報を、出力装置に出力
することを特徴とするマイクロプログラム検証方法。
6. The microprogram verification method according to claim 2, wherein all combinations of paths that may pass from the starting point to the end point are covered, and information such as the number of passing paths and the number of cycles is collected for each route. A microprogram verifying method for outputting to the output device.
JP6234785A 1994-09-29 1994-09-29 Microprogram verification method Expired - Fee Related JP2839845B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6234785A JP2839845B2 (en) 1994-09-29 1994-09-29 Microprogram verification method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6234785A JP2839845B2 (en) 1994-09-29 1994-09-29 Microprogram verification method

Publications (2)

Publication Number Publication Date
JPH0895825A JPH0895825A (en) 1996-04-12
JP2839845B2 true JP2839845B2 (en) 1998-12-16

Family

ID=16976346

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6234785A Expired - Fee Related JP2839845B2 (en) 1994-09-29 1994-09-29 Microprogram verification method

Country Status (1)

Country Link
JP (1) JP2839845B2 (en)

Also Published As

Publication number Publication date
JPH0895825A (en) 1996-04-12

Similar Documents

Publication Publication Date Title
CN108446540B (en) Method and system for detecting plagiarism type of program code based on source code multi-label graph neural network
CN112256271A (en) A blockchain smart contract security detection system based on static analysis
Yu et al. Detecting java code clones based on bytecode sequence alignment
CN115481396A (en) NC code abnormality detection method, device, equipment and storage medium
CN117454387A (en) Vulnerable code detection method based on multi-dimensional feature extraction
CN120561920A (en) A method for extracting control flow and data flow dependencies from massive code programs based on intermediate language
Solanki et al. Comparative study of software clone detection techniques
CN118278004A (en) A symmetric cryptographic algorithm identification method and system
CN116414445B (en) Homology detection method and system based on source code watermark
CN115391173B (en) Conversion method from Simulink-StateFlow model to NuSMV model
US20050188323A1 (en) Template creation apparatus and creation method
JP2839845B2 (en) Microprogram verification method
CN120068093A (en) Automatic code bug mining and identifying method, system and equipment
CN119514523A (en) A document content review method and system based on combined artificial intelligence
CN120029630A (en) A smart contract decompilation code optimization method and system
CN109101355B (en) Processor debugging method for extracting error site characteristic test excitation
JP5075695B2 (en) Property description coverage measuring apparatus and program
JP5487078B2 (en) Software asset management method and apparatus
Bai et al. Automatic generation of code comments based on comment reuse and program parsing
KR101984294B1 (en) System and method for analyzing source code based on dynamic analysis
CN121579067B (en) A method and system for immediate signification determination in binary rewrite programs
CN121303363B (en) Model-based question answering methods and devices that generate context based on grammatical structure
CN120508281B (en) AST-based front-end service code differential generation and update method and system
JP2009099030A (en) Processing content determination device and processing content determination method
JP5514682B2 (en) Batch processing program analysis method and apparatus

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees