JPH0283748A - マイクロプログラム検証方法および装置 - Google Patents

マイクロプログラム検証方法および装置

Info

Publication number
JPH0283748A
JPH0283748A JP63236887A JP23688788A JPH0283748A JP H0283748 A JPH0283748 A JP H0283748A JP 63236887 A JP63236887 A JP 63236887A JP 23688788 A JP23688788 A JP 23688788A JP H0283748 A JPH0283748 A JP H0283748A
Authority
JP
Japan
Prior art keywords
microprogram
address
verification
microstep
route
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.)
Granted
Application number
JP63236887A
Other languages
English (en)
Other versions
JPH0727475B2 (ja
Inventor
Kaoru Suzuki
薫 鈴木
Masayuki Sugioka
杉岡 雅行
Zentaro Hirose
廣瀬 善太郎
Masakazu Sugihara
正和 杉原
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 Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering 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 Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP63236887A priority Critical patent/JPH0727475B2/ja
Publication of JPH0283748A publication Critical patent/JPH0283748A/ja
Publication of JPH0727475B2 publication Critical patent/JPH0727475B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
r産業上の利用分野] 本発明は、マイクロプログラムの検証方法および装置に
係り、特に、マイクロプログラム仕様制限違反について
、ソースレベルでの検証を実施するのに好適なマイクロ
プログラムの検証方法Σよび装置に関する。
【従来の技術1 従来のマイクロプログラム検証方式は、特開昭62−1
45332号公報および特開昭62−6345号公報等
に記載のように、実際に外部から試験データを与えて、
マイクロプログラムを動作させることにより、マイクロ
プログラムの論理の正当性を確認するものてあった。 ところて、一般に、マイクロプログラムには、制御対象
である電子計算機等の高性能化のために、その仕様上、
厳しい制限、制約が課せられており、マイクロ命令の設
定条件か、対象計算機の処理タイミングによって規定さ
れる。したかって、プログラマはこれらすべての仕様制
限を念頭に置いてプログラミングを行う必要がある0例
えば、あるマイクロ命令の実行“直後”にその結果を利
用する他の特定のマイクロ命令を実行するようなプログ
ラミングにおいては、そのマイクロプログラムの通常動
作時には論理が矛盾なく動作するが、ハードウェアとの
インタフェース上に何らかのデイレイが発生したときの
み、誤動作の要因となるような場合がある。そのため、
このようなプログラミングは不具合を生ずるので、予め
仕様制限として禁止される。 【発明が解決しようとする課題】 しかしながら、これらの仕様制限の数は少なくなく、ま
た1マイクロプログラムは、いわゆる2、−トウエア・
オリエンテッドてあり、個々の2、−トウエア構成に応
して仕様制限か変わるものであるのて、プログラマかそ
のすべてを把握してプログラムを記述することは必ずし
も容易てなく、また、仕様書を確認しなからプロゲラミ
ンクすることは、プロクラミンク効率を低下させること
になる。さらに、プログラマの不注意、誤解等による仕
様制限違反は不可避的に発生する。 前記特開昭公報記載の従来技術は、マイクロプログラム
が対象データ処理システム上て実際に動作している最中
のエラーを検証するためのものてあり、ソースレベルで
の検証を行うものてはない。また、すべてのマイクロプ
ログラム・シーケンスを実行させるための、すなわち、
すべての経路を通過させるための試験データを予め準備
しておく必要かある。さらに、仕様制限違反により必ず
しも実行中にエラーか発生するとは限らないので、仕様
制限違反の検出は容易てなく、また、エラーか検出され
たとしても、仕様制限違反の特定は困骸である。 本発明は、マイクロプログラム・シーケンスすべてにつ
いて、ソースレベルで効率よく仕様制限違反を検証する
ことかてきるマイクロプログラム検証方法および装置を
提供することにある。 1課題を解決するための手段1 上記目的を達成するために1本発明によるマイクロプロ
グラム検証方法は、マイクロプログラムが仕様制限にし
たかって正しく記述されていることを検証するマイクロ
プログラム検証方法であって、検証対象マイクロプログ
ラム・ソースについて、当該マイクロプログラムの実行
時に通過し得るすべての経路を導出し、この導出された
経路の各マイクロステップについて順次、仕様制限に照
らして、そのマイクロステップが正しい記述となってい
るか否かを検証し、この検証結果を出力するようにしだ
ものである。 上記すべての経路の導出するための方法としては、各マ
イクロステップについて、自アドレスと分岐先アドレス
の対を求め、このアドレス対情報に基づいて 経路毎の
アドレス列を求めることが考えられる。この際、他のア
ドレス対の分岐先アドレスを分岐元アドレスとするアド
レス対について、そのアドレス対の分岐元アドレスを上
記他のアドレス対の分岐先アドレスに対応付けて配とし
た階段構造アドレステーブルを求め、この階段構造アド
レステーブルに基づいて経路毎のアドレス列を求めるよ
うにすることか好ましい。 また、上記階段構造アドレステーブルに基づいて、各経
路に共通のアドレス列を抽出し・、このアドレス列に対
応するソースコートのテーブルを作成し、このソースコ
ードテーブルを検証処理に供するようにしてもよい。 各マイクロステップの記述内容を定義するようにしてい
る場合には、そのマイクロプログラム定義情報を参照し
て、当該マイクロステップのアドレスおよび分岐先アド
レスの記述位置を認識するようにしてもよい。 上記仕様制限は、被検証マイクロステップについて順方
向または逆方向に検証すべきステップ数を検証範囲とし
て規定することかできる。また、この検証範囲には、自
マイクロステップも含めるようにしてもよい、さらに、
仕様制限は、被検証マイクロステップの内容に応じて特
定の内容の記述を要、求する指定義務、および/または
、被検証マイクロステップの内容に応じて特定の内容の
記述を禁止する指定禁止を含んでもよい。 上記逆方向への検証を要求する仕様制限に対しては、そ
の仕様制限条件と対偶の関係にある条件に置換えて、順
方向の検証条件として検証を行うことが好ましい。 任意の経路のマイクロステップのうち、他の経路につい
てすでに検証を行ったマイクロステップについては、検
証を省略するようにしてもよい 本発明によるマイクロプログラム検証装置は、マイクロ
プログラムが仕様制限にしたがって正しく記述されてい
ることを検証するマイクロプログラム検証装置であって
、マイクロプログラム・ソースを記憶する手段と、マイ
クロプログラム仕様制限情報を記憶する手段と、マイク
ロブロクラムの実行時に通過し得るすへての経路をマイ
クロフロクラム・ソースから導出する経路導出手段と、
この導出された経路の各々のマイクロステ・ンプかマイ
クロプログラム仕様制限に対して正しい記述となってい
るか否かを判定する検証手段と、この検証手段による検
証結果を出力装置に出力する出力手段とを備えたもので
ある。 この装置には、上記マイクロステップの少なくともアド
レス記述位置を定義したマイクロプログラム定義情報を
記憶する手段を設けてもよい。 本発明における「仕様制限」には、前述したハードウェ
ア構成上、あるいは論理構成上必須の制限の他、当該マ
イクロプログラムの機能仕様上の制限(例えば、「処理
糾了まてに必ずコンデイションコートをセットする」、
「処理途中に割込みか発生しても、メモリ、レジスタの
内容は保障される」等)も含んてよい。 [作用 1 本発明ては、マイクロプログラムの実行前に、そのソー
スコートて仕様制限違反を検出するものてあり、その手
順として、まず、マイクロプログラムソースから、その
実行時に通過する可能性のある経路をすべて導出し、こ
の導出された経路について、予め定められた仕様制限す
なわち検証条件に適合しているか否かを調べる。 すべての経路の導出は、検証対象マイクロプログラムソ
ースから各マイクロステップの自アドレスと分岐先アド
レスとの対をすべて抽出し、このアドレス対に基づいて
行うことかてきる。マイクロステップの記述に融通性を
持たせるためにマイクロステップ内のアドレス記述位置
等か定義情報として定められている場合には、アドレス
の抽出に先立ち、その定義情報を参照して各アドレスの
記述位置を認識する。アドレス対からすべての経路を導
出する処理は、アドレス対を、−旦、階段構造アドレス
テーブル(後に詳述)に変換したあと、このチーツルに
基づいて行えば、容易に行える。 上記検証では、導出された各経路に沿って、順次実行さ
れるマイクロステップのソースコートを取り出し、この
ソースコートかその前後のソースコートとの関係も含め
て、予め定められた仕様制限に合致しているか否かを判
断する。複数分岐のない単一のルートとしての各経路に
ついては、他の経路と重複した部分も多く存在するのて
、検証時には先に検証した部分については重複した検証
を省略し、検証に要する時間を短縮することもてきる。 仕様制限が、検証範囲内て逆方向へのマイクロステップ
のトレースを要求している場合には、好ましくは、その
仕様制限をその対偶関係にある条件に置換えて解釈する
0例えば、「任意マイクロステップにおいて、そのF1
フィールドにマイクロ命令Aの記述かあった場合、その
前または前々マイクロステップのF2フィールドにマイ
クロ命令Bの記述があってはならない」という仕様制限
があった場合、これを「任意マイクロステップのF2フ
ィールドにマイクロ命令Bの記述があった場合、次また
は次々マイクロステップのF1フィールドにマイクロ命
令Aの記述かあってはならない」という仕様制限に置換
え、順方向のトレースによってこの仕様制限の検証を行
う、よつて、当該任意マイクロステップの検証は、前ま
たは前々マイクロステップの検証時に同時に完了するこ
とになる。このように、逆方向トレースを要求する仕様
制限についても、順方向の仕様制限と同様、マイクロプ
ログラム・シーケンスにしたかって各経路上の仕様制限
違反の検証を効率よく行える。 ]実施例】 以下、本発明の一実施例を図面により詳細に説明する。 第2図は、本発明の適用対象となるマイクロプログラム
および仕様制限を説明するためのブロック図である。同
図(a)は、マイクロプログラムが制御するハードウェ
アの一部を例示するものであり、LSllおよびLSI
2からなる。LSI2はデータDoおよびDIの演算を
行うALU(Arithmetic Logic Un
it)を含み、LSIIはこノ、A、 L Uの出力デ
ータに対してシフト客の処理を行う(更処理部(Mod
ify)を含んている。同IZ(b)は、ステップ3に
13いてALUによるデータDOトデータD1との論理
積な取り、次のステップ4てへ点のデータかOか否かを
判定(テスト)するプロクラムの一例を示している。同
図 (C)はデータDO1DIの論理積を取った後、変
更処理部て変更したB点のデータか0か否かを判定する
マイクロプログラムの一例である。この処理はステップ
5〜7て達成される。第2図(C)の処理は、いわゆる
LSIfiす・モディファイ処理てあり、タイミンク的
に゛次サイクルてはテスト不可能”という仕様制限か発
生する。このために、B点のデータをテストするステッ
プ7の前に、少なくともテストフィールドに何も動作を
行わないタミー命令(NOP)を記載したステップ6を
設けている。このステップ6を設けていないマイクロプ
ログラムは、仕様制限違反となる。 第1図は、本発明の一実施例の構成を示すブロック図で
ある。 本実施例のマイクロブロクラム検証装置は、検証部・1
象であるマイクロブロクラムソース20について、その
実行の際に通過し得るあらゆる経路を抽出し、全経路に
関与するアドレスのソースコートを読み出してチーフル
化し、また、各々複数分岐を含まない単一ルートの経路
を抽出し、各経路のアドレス列をテーブル化するテーブ
ル作成部2Aと、このマイクロプログラムか制御するハ
ードウェア対応に予め定められた仕様制限情報22の各
仕様制限を参照して、上記経路毎に順次各マイクロステ
ップの検証を行う比較検証部27と、この検証結果を出
力装置であるプリンタ28またはコンソール27に編集
出力する編集出力部29とからなる。本実施例ては、テ
ーブル作成部2Aか経路導出手段を構成し、比較検証部
27か検証手段を構成している。 テーブル作成部2Aは、マイクロプログラムソース20
の1マイクロステツプの各部の意味を定義するマイクロ
プログラム定義情報21を参照しなから、マイクロプロ
グラムの分岐アドレスに関して、自アドレスと分岐先ア
ドレスとの対応関係をテーブル化する自アドレス・分岐
アドレス対テーブル作成部23と、この結果を利用して
分岐アドレスを階段構造状にテーブル化する階段構造ア
ドレステーブル作成部24と、この結果に従って検証対
象ソースコートテーブルおよび全経路に共通のアドレス
列のテーブルを作成するソースコートテーブル&経路別
アドレステーブル作成部25とを含む。 マイクロプログラム定義情[21およびマイクロプログ
ラム仕様制限情報22は、マイクロプログラム作成時に
は予め規定されている。定義情報21は、マイクロステ
ップの種別ごとに規定しても、あるいは、個々のマイク
ロステップについて規定してもよい。 マイクロプログラム仕様制限情報22は1個々の検証条
件を集積したものであり、本実施例ては、各検証条件に
ついて、検証範囲が定められ、かつ指定(記述)禁止、
指定義務の別、およびその内容が規定されている。この
規定の仕方により、多種多様の検証が行える。追加変更
も容易である。 第1図に示したマイクロプログラム仕様制限情報の例で
は、1つの仕様制限すなわち検証条件は、検証方向が順
方向または逆方向のいずれかを示す識別子F/Bと、指
定義務か指定禁止かを示す識別子D/Iと、検証範囲を
定めるステップ数Nと、検証内容部分とからなる。検証
内容部分は、自ステップの特定フィールドの内容および
検証範囲内のステップの特定フィールドの内容として規
定サレル。例えば、F、D、4.FOXX。 F2YYと記述された仕様制限は、被検証マイクロステ
ップ(すなわち自ステップ)のFOフィールドに“xx
”という記述がありた場合に、当該ステップから順方向
に4ステツプの範囲内のマイクロステップのF2フィー
ルドに“YY”という記述かなければならないという検
証条件を規定していることになる。 以下、第1図の主要部の具体的な処理を順次説明する。 @3図に、第1図の自アドレス・分岐先アドレス対テー
ブル作成部23の処理のフローチャートを示す。 同図の処理において、まず、マイクロプログラム定義情
報ファイル21′から定義情報が読み出される(33)
。この定義情報に基づいて、マイクロステップの自ステ
ップアドレスおよび分岐先アドレスの記述位置か識別さ
れる(34)。次に、マイクロプログラムソースファイ
ル20′より各マイクロステップ毎のソースコードか読
み出され、先に識別されたアドレス記述位置から自アド
レスおよび分岐先アドレスが抽出されて、これらか1対
のエントリとして自アドレス・分岐先アドレス対テーブ
ル39に格納される(36)。この処理は、全マイクロ
ステ・ンプのソースコートについて繰返される(37)
。 次に、第4図に、第1図の階段構造アドレステーブル作
成部25の処理のフローチャートを示す。 この処理ては、まず、第3図の処理で得られたアドレス
対テーブル39のアドレス対か順次読ミ出され(42)
、これに基づいて順次、階段構造状にアドレス対が構築
されてい< (43)。 この手順はアドレス対がなくなるまて繰返され(44)
、最終的に階段構造アドレステーブル45か得られる。 この階段構造アドレステーブルの構築に際しては、次の
ような条件か課せられる。 1)スべてのアドレス対の分岐先アドレスに、別個の縦
のコラムを割当てる。 2)他のアドレス対の分岐先アドレスを分岐元アドレス
とするアドレス対については、その分岐元アドレスを前
記分岐先アドレスと同じコラムの下方に配置する。 3)1つのアドレス対の分岐先アドレスと分岐元アドレ
スとは同じ高さ(レベル)に、かつ1分岐先アドレスを
分岐元アドレスより右側に位置するように配置する。 4)異なるアドレス対の分岐先アドレスは、同じアドレ
スてあっても別個のコラムを割当てる。 これらのすべての条件を満たすようにテーブル45は作
成される。なお、実際のテーブル45のデータ構造は、
各アドレスか行列(マトリクス)形式に特定されるよう
な構造て記憶されていればよい。 さらに、第5図に、第1図の経路別アドレステーブル作
成部25の処理のフローチャートを示す。 この処理ては、まず、第4図の処理て得られた階段構造
アドレステーブル45から左端のコラムのアドレスを読
み出す(52)。次に、このアドレスに対応するソース
コードをマイクロプログラムソースファイル20′から
読み出して、テーブル57に出力する(53)。これら
の手順を全コラムについて順次に繰返す(54)と、各
経路に共通のソースコードテーブル57か得られる。い
ずれの経路てあっても、マイクロプログラム・シーケン
スは階段構造アドレステーブル45の左から右へ向かっ
て進行するので、この進行に沿って現われるアドレスの
ソースコードをテーブル化したチーフル57は、後述す
る各経路検証処理時に有効に利用される。 続いて、階段構造アドレステーブル45に基づいて、経
路情輻再1a成処理により、すべての経路についての独
立したアドレス列を抽出する(55)、これにより各経
路毎のアドレス列テーブル58が得られる。 第8図に、経路別アドレス列を求めるための経路情報再
wA成処理(第5図55)の−例のフローチャートを示
す。この処理においては、各コラムn (0,1,2,
3,・・・)についてアドレス読み出しのポインタとし
て機能するカウンタを想定し、カウンタnの値をCLM
(n)で表わしている。各カウンタの値は、階段構造ア
ドレステーブルのレベル(1,2゜3、・・・)に対応
する。また、アドレス列テーブル58のアドレス列すな
わちテーブルの行を指定するポインタとして変数TBL
ROWを導入し、さらに既に1つの経路のアドレスとし
てテーブル58に登録されたアドレスを識別するための
フラグCLMFLG(n)を用意している。以下、第5
図の階段構造−−フル45の内容から経路別アドレス列
テープデ ル5Bを作成する場合を例として、第8図の処理を簡単
に説明する。 第8図のフローによれば、まず最初のアドレス^1かチ
ーフルの第1行に書き込まれ(81〜85)12.−プ
に入ってからは順次下方にアドレス対を読み出していき
、順次、分岐先アドレスか新たな分岐元アドレスとなる
ような単一の経路をたどっ1、順次、分岐先アドレスを
テーブル58の第1行に追加してい〈(85〜89,9
2.93,94.97) 、この例では、AI、A2.
A3.A4.A7となった時点て、八7を新タナ分岐元
とするアドレス対か読み出せないことになり、判断フロ
ック87て、第1の経路のアドレス列か終了したとみな
して、” Y E S ”側に移行する。そこて、先に
複数の分岐のあったアドレスまで戻って別の分岐先を見
つけ出しく95〜97゜86〜88.94)、その分岐
先についてテーブル58の次行に月からそれまての分岐
先アドレス列を出力する(90.91)  さらに、こ
の新たな列に統〈分岐先アドレス列か追加されてい< 
(92,93)  このようにして、別の経路のアドレ
ス刻入l 、A2 、A3 、A5 、A9か求められ
る。このアドレス列か終了後、先に取り残した分岐先を
見つけ出し、さらに新たな経路のアドレス列を求める。 なお、アドレス再編成処理は、第8図のフローに限るも
のではなく、階段構造テーブル45の特性を利用してア
ドレス列テーブル58が求められるものてあれば他のフ
ローてあってもよい。 第6図および第7図は、第1図の比較検証部26の処理
のフローチャートである。第6図は順方向トレースに対
応し、第7図は逆方向トレースに対応している。 第6図の順方向トレースては、まず、仕様制限情報ファ
イル22′から、1つの仕様制限すなわち検証条件VC
を読み出す(60)、この検証条件VCの記述の仕方に
ついては前述の通っである。ここては、識別子F/Bを
“1″すなわち順方向トレース、検証範囲をNマイクロ
ステップ、検証内容を、自マイクロステップについてF
1フィールドの記述が“Xx”、検証範囲内マイクロス
テップについてF2フィールドの記述が“YY″とする
。識別子D/Iについては、指定義務および指定禁止の
双方について考える。検証条件に自マイクロステップ内
のフィールド間の指定義務、指定禁止を規定するものを
含む場合には、検証範囲に自マイクロステップを含める
こともてきる。 次に、経路別アドレス列テーブル5日から1つの経路の
アドレス列を読み出しく61 ) 、その最初のアドレ
スに対応するソースコードscをソースコートテーブル
57から統み出す(62)、このソースコードSCの内
容が、検証条件vcにより自マイクロステップについて
指定された内容(この例ではF1フィールドの記述内容
が“XX”)と一致するか否かを調べ(63)、一致し
ていなければ、この被検証マイクロステップについては
これ以上判断する必要がないので、同一経路の次のアド
レスのソースコードがないかを調べる(6B)、一致し
ていれば、検証範囲内の後続マイクロステップ(検証範
囲に自マイクロステップを含める場合には自マイクロス
テップ)のソースコードを読み出す(64)、そこて、
当該読み出されたマイクロステップの内容が検証条件V
Cにより指定された内容(この例ではF2フィールドの
記述内容が“Y Y”)と等しいか否かをチエツクする
(65)、一致すれば、検証条件が指定禁止か否かを調
べ(66)、指定禁止であれば。 仕様制限違反と判定して、その検証結果を記憶手段に格
納する0本実施例では指定禁止てなければ指定義務なの
で、指定義務が満たされたと判断し、自アドレスを更新
してソースコードを読み出す(68,62) 、判断ブ
ロック65での判断結果が不一致の場合には、検証条件
が指定義務か否かを調べ(67)、指定義務でなければ
さらに検証範囲内の検証を続行する(6A、64) 、
指定義務であれば、検証範囲終了か否かを調べ(6B)
、終了であれば、指定義務が満足されていないと判定し
、その検証結果を格納する(69)、検証範囲終了てな
ければ、さらに後続のアドレスのソースコードについて
検証を続行する(64)、その後、判断フロック65て
一致か検出されれば、前述のように指定義務か満たされ
たことになる。 このようにして、l経路のソースコートすべての検証終
了後(6B)、経路情報を更新して(6C960)、再
度、同一仕様制限について検証を行う。 全経路の検証か終了したら、検証条件VCを更新し・て
(6D、61)、上記手順を繰返す。なお上記手順とは
別に、ますl経路について、全検証条件による検証を行
った後、経路の更新を行うようにしてもよい。 次に、逆方向トレースについて、第7図により説明する
。識別子F/Bはこの場合、” o ”となる。 逆方向トレースの場合には、前述のように、仕様制限す
なわち検証条件をその対偶条件にM換えて解釈し、順方
向トレースを行えるようにする。 例えば、「自マイクロステップのF1フィールドの記述
か“XX”てあった場合、その2マイクロステツプ前ま
でのF2フィールドに”Y Y ”という記述かあって
はならない」という禁止条件は、「自ステップのF2フ
ィールドに’YY’“という記述かあった場合には、2
マイクロステツプ後まてのF1フィールドに°゛xX“
°という記述かあってはならない」という対偶関係の禁
止条件に置換える。また、「自マイクロステップのF1
フィールドの記述か“°XX”てあった場合、その2マ
イクロステツプ前まてのF2フィールドに’ Y Y 
”という記述かなければならない」という義務条件は、
「自マイクロステツブ゛のF2フィールドに“YY”と
いう記述がない場合には、2マイクロステツプ後まての
F1フィールドに“x x ”という記述かあってはな
らない」という対偶関係の禁止条件に置換える。このた
めに、第7図は第6図のフローチャートに若干の変更を
加えたものである。その変更点は、検証範囲内マイクロ
ステップについての内容の検討を先に行うことと、第6
図の指定禁止判断フロック66および指定義務判断フロ
ック67が、第7図ては、一致判断プロ・ンク63の後
に移動したことと、第6図の検証範囲終了判断ブロック
68が省略されたことである。以下、第7図のフローチ
ャートについて、第6図と異なる、フロック63からフ
ロック69へかけての処理についてのみ説明する。 判断ブロック63ては、検証条件vcによる検証範囲内
マイクロステップに対する指定内容(この例てはF2フ
ィールドか“YY” )についてソースコートSCの記
述内容を検討するために、ソースコードSCのF2フィ
ールドの記述内容を検証条件VCの同フィールド内容と
比較する。前述のように、逆方向トレースの場合、禁止
条件の対偶解釈によれば、自マイクロステフプの特定フ
ィールドが指定内容と一致した場合に、後続のマイクロ
ステップを検査する必要かあり、逆に、義務条件の対偶
解釈によれば、自マイクロステップの特定フィールドか
指定内容と一致しない場合に後続のマイクロステップな
検査する必要がある6そこて、判断ブロック63の比較
の結果、一致か検出された場合には、指定禁止か否かを
調べ(76)、不一致の場合には指定義務か否かを調べ
る(77)。判断ブロック76または77の結果かYE
Sであれば、後続マイクロステップ(本来、逆方向トレ
ースの場合に自マイクロステップとなるべきもの)のソ
ースコートを読み出しく64)、検証条件による自マイ
クロステップについての指定内容(この例てはF1フィ
ールドが“XX″)を調べる(65)。Flフィールド
の内容が一致すれば、仕様制限違反としてその検証結果
を格納する(69)。不一致の場合には、検証範囲内て
、後続のマイクロステ・ンブについて検査する(6A、
64)。判断ブロック76.77ての結果がNoであれ
ば、自マイクロステップのアドレスを更新して次のソー
スコートを読み出す(6B。 62)。 このようにして、逆方向トレースの場合も、順方向トレ
ースとして効率のよい検証が行える。特に、この順方向
トレースへの変換は、記憶容量の関係てソースコードテ
ーブル57に一時に保持てきるのソースコート数か制限
される場合、あるいは仕様上、逆方向のソースコードテ
ーブル57の読み出しか困難である場合に有用であるな
唱1、説明の都合」二、順方向トレースと逆方向1− 
L−スとを別個の処理として記載したか、実際には、個
々の仕様制限を読み出した時点て、識別子F/Hにより
順方向か逆方向かか判明するので、必要な時点て処理を
切科えることにより両フローチャートを中−の処理とし
て結合することかできる。 また、第6図および第7図の処理ては、各経路について
、すべてのマイクロステップについて検証するようにし
たか、経路か2つ以上に分岐する以前のマイクロステッ
プについては、同一の検証を繰返すことになるのて、こ
のような重複した検証は必ずしも必要ない。そこて、先
の経路別アドレス列チーフル58の作成時に分岐点か判
明していることに鑑み、上記経路情報読み出しブロック
61において、分岐点から検証範囲ステップ分前のステ
ップ以陣のアドレス列を読み出すようにしてもよい。 さらに、本実施例ては、第5図の処理か完了した後、第
6図および第7図の検証処理に移行するようにしたか、
第5図の処理の進行にともないすなわち、検証範囲を充
分カバーするだけのソースコートチーフルおよび経路別
アドレス列を順次更新しながら、検証処理を並行して行
うようにしCもよい。 第1図の編集出力部27については、特に図示しないが
、仕様制限違反かあった場合には、先の検証処理により
格納された検証結果に基づいて、例えば、その経路、マ
イクロステップアドレス、仕様制限の種類等を特定して
、操作者か認識てきる形式て出力装置に出力する。プロ
グラマはこの出力情報に基づいて、マイクロプログラム
を仕様制限違反とならないように、容易に修正すること
かてきる。 I発明の効果] 以上の説明から明らかなように、本発明によれば、マイ
クロプログラムの仕様制限に関する違反を、マイクロプ
ログラム実行以前にソースレベルて検証することか可能
てあり、従来の検証方式に比べ、迅速に、かつ、効率よ
く、遺漏のない検証を行うことかてきる。
【図面の簡単な説明】
第1図は本発明によるマイクロプログラム検証装置のブ
ロック図、第2図はマイクロプログラムの仕様制限を説
明するための説明図、第3図、第4図および第5図は第
1図のテーブル作成部の各部の処理のフローチャート、
第6図および第7図は第1図の検証処理部の処理のフロ
ーチャート、第8図は第5図内の経路情Wi編成処理の
フローチャートである。 20・・・マイクロプログラムソース 21・・・マイクロプログラム定義情報22・・・マイ
クロプログラム仕様制限情報23・・・自アドレス・分
岐先アドレス対テーブル作成部、 24・・・階段構造アドレステーブル作成部25・・・
ソースコートテーブル&経路別アドレス列テーブル作成
部 26・・・比較検証部 27・・・編集出力部 28・・・プリンタ 29・・・コンソール 2A・・・テーブル作成部 出・願人 株式会社 日立製作所 −代理人 弁理士 富田和子 ほか1名

Claims (1)

  1. 【特許請求の範囲】 1、マイクロプログラムが仕様制限にしたがって正しく
    記述されていることを検証するマイクロプログラム検証
    方法であって、 検証対象マイクロプログラム・ソースについて、当該マ
    イクロプログラムの実行時に通過し得るすべての経路を
    導出し、該導出された経路の各マイクロステップについ
    て順次上記仕様制限に照らして、当該マイクロステップ
    が正しい記述となっているか否かを検証し、該検証結果
    を出力することを特徴とするマイクロプログラム検証方
    法。 2、上記各マイクロステップについて、当該アドレスと
    分岐先アドレスの対を求め、該アドレス対情報に基づい
    て、経路毎のアドレス列を求めることにより、上記すべ
    ての経路の導出を行うことを特徴とする請求項1記載の
    マイクロプログラム検証方法。 3、他のアドレス対の分岐先アドレスを分岐元アドレス
    とするアドレス対について、該アドレス対の分岐元アド
    レスを上記他のアドレス対の分岐先アドレスに対応付け
    て配置した階段構造アドレステーブルを求め、該階段構
    造アドレステーブルに基づいて上記経路毎のアドレス列
    を求めることを特徴とする請求項2記載のマイクロプロ
    グラム検証方法。 4、上記階段構造アドレステーブルに基づいて、各経路
    に共通のアドレス列を抽出し、該アドレス列に対応する
    ソースコードのテーブルを作成し、該ソースコードテー
    ブルを上記検証処理に供することを特徴とする請求項3
    記載のマイクロプログラム検証方法。 5、マイクロステップの記述内容を定義したマイクロプ
    ログラム定義情報を参照して、当該マイクロステップの
    アドレスおよび分岐先アドレスの記述位置を認識するこ
    とを特徴とする請求項2記載のマイクロプログラム検証
    方法。 6、上記仕様制限は、被検証マイクロステップについて
    順方向または逆方向に検証すべきステップ数を検証範囲
    として規定することを特徴とする請求項1記載のマイク
    ロプログラム検証方法。 7、上記検証範囲には、自マイクロステップも含むこと
    を特徴とする請求項6記載のマイクロプログラム検証方
    法。 8、上記仕様制限は、被検証マイクロステップの内容に
    応じて特定の内容の記述を要求する指定義務を含むこと
    を特徴とする請求項1または6記載のマイクロプログラ
    ム検証方法。 9、上記仕様制限は、被検証マイクロステップの内容に
    応じて特定の内容の記述を禁止する指定禁止を含むこと
    を特徴とする請求項1、6または8記載のマイクロプロ
    グラム検証方法。 10、上記逆方向への検証を要求する仕様制限に対して
    は、該仕様制限条件と対偶の関係にある条件に置換えて
    、順方向の検証条件として検証を行うことを特徴とする
    請求項6記載のマイクロプログラム検証方法。 11、任意の経路のマイクロステップのうち、他の経路
    についてすでに検証を行ったマイクロステップについて
    は、検証を省略することを特徴とする請求項1記載のマ
    イクロプログラム検証方法。 12、マイクロプログラムが仕様制限にしたがって正し
    く記述されていることを検証するマイクロプログラム検
    証装置であって、 マイクロプログラム・ソースを記憶する手段と、 マイクロプログラム仕様制限情報を記憶する手段と、 上記マイクロプログラムの実行時に通過し得るすべての
    経路を上記マイクロプログラム・ソースから導出する経
    路導出手段と、 該導出された経路の各々のマイクロステップが上記マイ
    クロプログラム仕様制限に対して正しい記述となってい
    るか否かを判定する検証手段と、 該検証手段による検証結果を出力装置に出力する出力手
    段とを 備えたことを特徴とするマイクロプログラム検証装置。 13、上記マイクロステップの少なくともアドレス記述
    位置を定義したマイクロプログラム定義情報を記憶する
    手段を有する請求項12記載のマイクロプログラム検証
    装置。
JP63236887A 1988-09-21 1988-09-21 マイクロプログラム検証方法および装置 Expired - Fee Related JPH0727475B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63236887A JPH0727475B2 (ja) 1988-09-21 1988-09-21 マイクロプログラム検証方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63236887A JPH0727475B2 (ja) 1988-09-21 1988-09-21 マイクロプログラム検証方法および装置

Publications (2)

Publication Number Publication Date
JPH0283748A true JPH0283748A (ja) 1990-03-23
JPH0727475B2 JPH0727475B2 (ja) 1995-03-29

Family

ID=17007250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63236887A Expired - Fee Related JPH0727475B2 (ja) 1988-09-21 1988-09-21 マイクロプログラム検証方法および装置

Country Status (1)

Country Link
JP (1) JPH0727475B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8830171B2 (en) 2012-05-22 2014-09-09 Eminent Electronic Technology Corporation Apparatus for non-contact 3D hand gesture recognition with code-based light sensing
TWI481831B (zh) * 2012-04-11 2015-04-21 Eminent Electronic Technology Corp 非接觸式光源感測系統

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61199126A (ja) * 1985-03-01 1986-09-03 Hitachi Ltd マイクロプログラムチエツク方式
JPS62166445A (ja) * 1986-01-20 1987-07-22 Nec Corp デバツグ支援装置
JPS633347A (ja) * 1986-06-21 1988-01-08 Nec Corp ル−プを含むプログラムの実行パス抽出方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61199126A (ja) * 1985-03-01 1986-09-03 Hitachi Ltd マイクロプログラムチエツク方式
JPS62166445A (ja) * 1986-01-20 1987-07-22 Nec Corp デバツグ支援装置
JPS633347A (ja) * 1986-06-21 1988-01-08 Nec Corp ル−プを含むプログラムの実行パス抽出方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI481831B (zh) * 2012-04-11 2015-04-21 Eminent Electronic Technology Corp 非接觸式光源感測系統
US8830171B2 (en) 2012-05-22 2014-09-09 Eminent Electronic Technology Corporation Apparatus for non-contact 3D hand gesture recognition with code-based light sensing

Also Published As

Publication number Publication date
JPH0727475B2 (ja) 1995-03-29

Similar Documents

Publication Publication Date Title
US5327568A (en) Apparatus for supporting graphic data driven program development and for displaying instruction execution results superimposed on the graphic program
US9348731B2 (en) Tracing the execution path of a computer program
US6671874B1 (en) Universal verification and validation system and method of computer-aided software quality assurance and testing
US4595981A (en) Method of testing interfaces between computer program modules
US5845064A (en) Method for testing and verification of a CPU using a reference model
US5740408A (en) Method for automated software application testing
JPH0922419A (ja) ディジタル回路トポロジーベースのコンピュータ支援設計方法及び装置
US6553514B1 (en) Digital circuit verification
CN113190220A (zh) Json文件差异化对比方法及装置
US6532573B1 (en) LSI verification method, LSI verification apparatus, and recording medium
JPH0283748A (ja) マイクロプログラム検証方法および装置
US7996200B2 (en) Transaction-based system and method for abstraction of hardware designs
CN119356737A (zh) 一种验证处理器浮点运算的指令序列生成方法
KR20250080722A (ko) 취약점 분석 방법, 이를 수행하기 위한 기록 매체 및 장치
CN116561005A (zh) 一种基于语义解释和合法栈约束的特殊控制流跳转程序验证方法
JPH103405A (ja) テスト支援装置
CN121303363B (zh) 基于语法结构生成上下文的模型问答方法、装置
CN116861829B (zh) 用于定位逻辑系统设计中错误的方法、电子设备
JP2839845B2 (ja) マイクロプログラム検証方法
JP2751539B2 (ja) インタフェース検証処理方式
CN119203866A (zh) 一种芯片验证方法及系统
JPS6069753A (ja) テスト結果自動判定処理方式
JPH04289928A (ja) マイクロプログラム検証方式
JPH0954709A (ja) デバッグ情報表示方法及び表示構造
CN119226139A (zh) 基于程序执行路径分解的测试用例生成方法、装置

Legal Events

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