JPH03148732A - 状態監視器を備えたデータ処理装置 - Google Patents

状態監視器を備えたデータ処理装置

Info

Publication number
JPH03148732A
JPH03148732A JP2203763A JP20376390A JPH03148732A JP H03148732 A JPH03148732 A JP H03148732A JP 2203763 A JP2203763 A JP 2203763A JP 20376390 A JP20376390 A JP 20376390A JP H03148732 A JPH03148732 A JP H03148732A
Authority
JP
Japan
Prior art keywords
register
emulation
scan
clock
circuit
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
JP2203763A
Other languages
English (en)
Inventor
L Swoboda Gary
ゲイリイ エル.スウオボダ
Ehlig Peter
ピーター エーリッグ
D Daniels Martin
マーチン ディー.ダニエルズ
A Coomes Joseph
ジヨセフ エイ.クームス
E Tatge Reid
レイド イー.タットゲ
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH03148732A publication Critical patent/JPH03148732A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318505Test of Modular systems, e.g. Wafers, MCM's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Abstract

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

Description

【発明の詳細な説明】 【産業上の利用分野]  本発明はエミュレーション、シミュレーション、およ
び試験可能装置を有する電子式データ処理装置に関する
[従来の技術] ウェハー平板印刷技術および表面実装技術の進歩により
、シリコン半導体回路基板およびプリント回路基板のそ
れぞれについて、電子装置設計レベルでの機能集約には
めざましいものがある。物理的な接触が減少したことは
、設計がより高密度化したことと、内部接続間隔が狭く
なったことの不幸な結果である。設計時から組み込まれ
ている 可試験性は、作り上げられた製品を検査し不具
合を取り除く作業中、制御可能でありかつ観測可能の状
態としておく上で必要である。いかなる製造時に生じた
不具合も製品が出荷される前の最終試験中に好適に検出
n1能である。この基本的な必要性を複雑な設計のもの
に対して実現するためには、可試験性を論理設計段階か
ら考慮に入れ、自動検査装置で製品検査を行えるように
しておかなけれ   ば困難である。
機能および製造時不具合の試験に加えて、応用ソフト開
発の分野からも同様のレベルのシミュレーション、観測
可能性および制御可能性が、システムまたはサブシステ
ム設計時に必要であるとの要求が出されている。設計の
エミュレーション段階はIC(集積回路)、または組み
合わされた複  −数のICがソフトウェアプログラム
と結合されたときに最終装置または応用プログラムにお
いて正しく機能することを保証しなければならない。
6動車工業、通信分野屋、防衛システム、および生命維
持装置等でICの使用が増大するに伴い、徹底的な試験
および広範な実時間デバッグがぜひとも必要な要求とな
ってきた。
機能試験は設計者が試験法案作成に責任を持ち、仕様と
一致していることの確認を意図して行われるものである
が、未だに試験方法として広く使用されている。非常に
大規模なシステムに対してはこの方法で高い水準の不具
合検出範囲を力バーするのは十分でない。自動的に試験
パターンを生成する方が、完全な試験行う上では望まし
く、さらに制御可能性および観n1可能性が試験を細大
漏らさず(システムのレベルからトランジスタのレベル
まで)実施する上での解決の鍵でもある。
大規模設計に於けるもうひとつの問題は、時間がかかる
ことと、それに伴う実質的な費用とである。再利用を考
慮した設計という思想で統一された、試験可能回路、シ
ステムおよび方法を用意することが望ましい。この様に
することで、後から製造する装置およびシステムでは、
最初に設計された装置に組み込まれた試験可能性、シミ
ュレーションおよびエミュレーション回路、システムお
よび方法を再利用することで、試験可能性、シミュレー
ションおよびエミュレーション設計に要する費用を少な
くできる。動作確認済みの試験可能性、シミュレーショ
ンおよびエミュレーション機能を使用しない場合は、試
験パターン作成および評価に膨大な設計時間が費やされ
る。
今までかなりの投資が、再利用可能なモジュール設計お
よびその試験パターンの完全な生成と評価のために行わ
れているが、その後にモジュールを使用する場合は、特
定の応用ロジックの中に埋没させてしまい、それへのア
クセスを困難または不可能としている。従ってこの様な
落し穴を避けることが望ましい。
例えばIC設計の進歩の結果、内部が見えなくなりまた
操作もし難くなり、異常検出力バー範囲が縮小し状態を
保持する能力が減少し、試験開発およびその確認の問題
が増え、設計シミュレーションの複雑さが増大し、CA
D (計算機支援設計)ツール費用が継続的に増加して
いる。基板設計に於て付帯して生じた結果は、抵抗器が
見えなくなって操作性も減少し、設計を確認するための
デバッグ及びシミュレーションが複雑となり、一つのパ
ッケージの中に多数の回路を詰め込む結果物理的に接触
することが出来なくなったため従来のエミュレーション
が使用できなくなり、基板上の配線経路が複雑となり、
設計ツールの価格、混合方式パッケージおよび生産性を
考慮した設計の必要性が増加したことである。応用プロ
グラム開発分野に於けるいくつかの付帯効果は、状態が
見え難くなったこと、高速シミュレーションの困難さ、
時間軸を変えて行うシミュレーション、デバッグ作業の
複雑さの増加及びエミュレータ価格の上昇である。製造
に於ける付帯効果は、内部が見え難くなり操作性が悪化
したこと、試験要素及びモデルが複雑になったこと、試
験の複雑性、混合方式パフケージの増加、たとえフ指標
範囲試験であっても自動検査装置価格の継続的な上昇お
よびより厳しい判定基準とである。
[発明の目的と要約1 本発明の目的の中で、改善されたエミュレーション、シ
ミュレーションおよび試験可能のアーキテクチャおよび
可視性また物理的なプローブや特別な試験用固定装置を
必要としない方法の提供が第1である:試験を支援する
ためのシステム設=1−上のクリタイカルな部品を使用
でき、ハードウェアおよびソフトウェアを一体化した、
改善されたエミュレーション、シミュレーションおよび
試験可能のアーキテクチャおよびその方法の提供も一つ
の目的である:非常に晶価な試験装置およびシステムと
共存出来る、改善されたエミュレーション、シミュレー
ションおよび試験可能のアーキテクチャおよび方法の提
供も一つの目的であるニハードウェアエミュレーション
、異常エミュレーション、シミュレーションおよび組み
込み型試験に於ける複雑な操作のアクセスを集積した、
改善されたエミュレーション、シミュレーションおよび
試験可能のアーキテクチャおよび方法の提供も−つの目
的である;ハードウェアおよびソフトウェアの可視性を
供給し、応用プログラム開発時間を短縮し、これによっ
て使用者の新製品の開発から販売までの時間を短くする
様に制御する、改善されたエミュレーション、シミュレ
ーションおよび試験可能のアーキテクチャおよび方法の
提供も一つの目的である:そして階層的区分けを実現し
関連するチップおよびシステムの再利用可能試験を自動
的に生成する、改善されたエミュレーション、シミュレ
ーションおよび試験可能のアーキテクチャおよび方法を
提供することも一つのu的である。
一般的には、本発明の一つの形は、半導体チップと、チ
ップに登載された電子式プロセッサと、チップに登載さ
れ前期電子式プロセッサの動作を分析するために前期電
子式プロセッサに接続された状態検出器とで構成された
データ処理装置である。
本発明の別の装置、システムおよび方法はまた、特許請
求項に開示されている。本発明のその他の目的も開示さ
れている、またさらに別の目的は、ここに示す説明から
明かとなろう。
本発明の新奇な特性および特徴は、添付の特許請求の範
囲に示されている。本発明の提出された実施例、また同
様にその他の特徴並びに長所は、添付図を参照した詳細
説明によってさらに良く理解されるであろう。
[実施例] 併願の特許出願および本特許出願にも記述されている装
置11は、第1図に示された開発ツールとの高性能イン
タフェースに適合するものである。
ハードウエア設=[ツールは、直列伝送線1103をイ
ンタフェースとして装置11を登載している回路基板1
043に接続されている拡張開発システム1101で構
成されている。また開発ツールにはアナログインタフェ
ースモジュール1113に接続された、評価モジュール
1111も用意されている。
ソフトウェア開発システム(SWDS)が使用者Cミ対
して提供するのは、C言語でのソースコード1121の
人力と、そのソースシードがCコンパイラ1123でコ
ード1125にコンパイルされる環境である。
Cコンパイラ1123は例えば、標準の力一二ガンおよ
びリッチ−c2語を完全に実行する最適コンパイラであ
る。Cコンパイラ1123はC言語で書かれたプログラ
ムを受は取りアセンブラ言語のソースコードを生成し、
これはアセンブラ1127でオブジェクトコードに変換
される。この高水準言語コンパイラ1123は、Cプロ
グラムで呼ばれる高速処理が必要なルーチンをアセンブ
ラ言語で書くことも許容している。これとは逆にアセン
ブラ−からC関数を呼ぶことも出来る。コンパイラ出力
はアセンブラ言語に変換されリンクされる前に、コード
の性能をさらに最適化するために好適に編集される。コ
ンパイラ1123ではCソースコード中にアセンブラ言
語を挿入できるので、与えられた応用プログラム仕様の
必要に応じて高水準言語とアセンブラ言語コードとを適
当に組み合わせることが出来る。
コード1125はアセンブラ1127で機械語に変換さ
れリロケータブルなオブジェクトコードとなる。リン力
1129はりロケータプルで無い機械コードまたはリン
クされたオブジェクトコードを生成し、これは開発シス
テムを通して装置11にダウンロードされる。
アセンブラ1127およびリン力1129はソフトウェ
ア開発ツールを構成しており、アセンブールa語ファイ
ルを実行可能オブジェクトコードに変換する。鍵となる
特徴はマクロ処理機能とライブラリ関数、部分アセンブ
ル機能、リロケータブルモジュール、完全なエラー診断
、及びシンボル表と相互参照機能である。次に述べるよ
うに、四つのプログラムが特定のソフトウェア開発に関
する要求を処理している。
アセンブラ1127はアセンブラ言語ファイルを機械語
のオブジェクトファイルに翻訳する。ソースファイルは
通常命令、アセンブラ命令およびマクロ命令で構成され
ている。アセンブラ命令は例えば、ソースリスト形式、
データ配列およびセクション内容といったアセンブル工
程での種々の状況を制御するために用いられる。
リン力1129はいくつかのオブジェクトファイルを一
つの実行可能オブジェクトモジュールに組み合わせる。
リン力が実行可能モジュールを作る際に、これはりロケ
ーションと外部参照番地の解読とを実行する。リン力は
その人力としてアセンブラが生成したりロケータブルオ
ブジェクトファイルを受は取る。これはまた集積されて
いるライブラリ部品をも受は取り先のりンカの実行によ
って生成されたモジュールを出力する。リンカ命令はア
ドレスを決めるためにファイル断片またはシンボルの組
み合わせや結び付けを行ったり、共通シンボルの定義ま
たは再定義を行う。
集積器はいくつかのファイル群を一つの集積ファイルに
集める作業を行う。例えばいくつかのマクロ命令を好適
に集めてマクロライブラリを作ることが出来る。アセン
ブラはライブラリを検索しソースコード1125でマク
ロとして呼ばれている構成メンバを使用する。集積器は
また好適にオブジェクトファイルの群を集めてオブジェ
クトライブラリとし、これらを元にリンク作業中に外部
参照の解読に使用する。
オブジェクト形式変換器はオブジェクトファイルを例え
ばTI−TAG形式の様な、いくつかあるEPROMプ
ログラマ形式の一つに変換する。
変換されたファイルは次にEFROMプログラマにダウ
ンロードされ、このように形成されたEFROMコード
が回路基板1043内の対象チップである装置1仕で実
行できるようになる。
シミュレータ1131は対象チップの動作を模擬するソ
フトウェアプログラムを実行し、費用対効果の優れたソ
フトウェア開発およびプログラム確認を非実時間で行う
ためのものである。シミュレータは対象チップの命令群
の全ての模擬とチップが組み込まれた際に発生する周辺
機器とのDtwlAlタイマおよび直列ボート等の基本
動作も模擬する。命令の人力はキーボードからのメニュ
ー駆動(MENUモード)でもバッチファイル(LIN
Eモード)からでも行える。全ての画面モードに対して
ヘルプメニューが用意されている。その標準インタフェ
ースは使用者が勝手に作り替えることが出来る。シミュ
レーションパラメータはファイルに対して素早く書き込
んだり/読みだしたりできて、個々の区分の準備を容易
に行えるようになっている。逆アセンブリによってソー
ス文の編集および再アセンブリングが可能となる。メモ
り内容は16進数の32ビット値およびアセンブルされ
たソースコードとして、別々にまたは同時に表示される
シミュレータ1131の実行モードは、l)単独/多重
命令計数、2)単独/多重周期計数、3)UNTIL条
件合致、4)WHILE条件存在、5)FORSETル
ープ計数、6)キー人力によるHALTでの無拘束実行
から構成されている。0動記録表示は容易に定義できる
。0動記録実行時の表示選択は、1)指定表示値、2)
キャッシュレジスタ、および3)コードの最適化を容易
にするための命令パイプラインで構成されている。区切
り点条件は、読み込みアドレス、書き込みアドレス、読
み込みまたは書き込みアドレス、実行アドレスおよび有
効表示とから構成されている。シミュレータ1131は
キャッシュ使用状況を模擬し周期の計数を行う。例えば
周期計数時には、tlt−ステップモードまたは実行モ
ードでのクロック周期の数が表示される。正確に周期計
数を行うために外部記憶装置は待ち状態として好適に組
み込まれている。
シミュレータ1131はアセンブラ1127およびリン
力1129で生成されたオブジェクトコードを入力する
。入出力ファイルは、処理装置に接続されているIlo
機器を模擬するために■10命令のボートアドレスと好
適に関係づけられている。プログラムの実行を開始する
前に、任意の区切り点が設定され、0動記録形式が定義
される。
シミュレータ1131に於いてプログラムの実行中に模
擬されている対象チップの内部レジスタおよび記憶装置
は各々の命令がシミュレータ1131で解釈される度に
、修正される。実行の中断は、区切り点に到達したかま
たはエラーが発生したかまたは実行中にHALTが発生
したときになされる。プログラムの実行が中断されたと
きには、 −内部レジスタおよびプログラムとデータの
両方の記憶装置を調べて修正することが出来る。6勤記
録記憶装置もまた表示可能である。シミュレーション期
間の記録は日誌ファイルに保存されるが、これは別のシ
ミュレーション期間中に同一の機械状態を再生し再実行
するためである。
シミュレータ1131−は確認と対象チップの状態監視
とをハードウェアを使用せずに行える。シミュレーショ
ン速度は1秒当たりに実行できる命令数が数百から数千
の範囲であり、これはシミュレータ1131として選ば
れたオペレーティングシステムと/>−ドウエアとに依
存する。状態に正確なシミュレーションは1秒当たり1
から2命令程度にゆっくりしたものとなろう。より高速
の実時間機能クロック速度に於けるエミュレーションは
シミュレータ1131の代わりに開発システム1101
で実行される。
シミュレータ1131は装置11の模擬のみならず回路
基板1043上の周辺機器の模擬も例えばファイルI1
0を介して行い、完全な計算機シミュレーションを提供
する。
拡張開発システム1101は、最高速度でのシステム設
計およびハードウェアとソフトウェアのデバッグの回路
内エミュレーションを広範に入手可能なパーソナルコン
ピュータシステム上で提供する。開発ツールはシステム
設計から試作品までの技術的な支援を提供する。開発シ
ステム構成要素は使い易さを提供し、設計者に対し設計
を製造段階に素早く移せて応用システム開発時間と費用
とを大きく削減するために必要なツールを提供する。
第2図は拡張開発システム1101で提供されるエミュ
レーション環境をさらに詳細に示したものである。IE
−EE  JTAGと互換である制御カード1141が
エミュレーション主計算機11−01に装着されている
。この制御カード1141は直列伝送線1103を介し
て第2図の回路基板1043およびDSP装置11と通
信を行う。システム1043はテキサスインスッルメン
ツの、開発から製造、および現場試験をも含めて完全に
解決するためのMPSD (モジュラーパニト走査設計
)エミュレーション基準に適合したテキサスインスツル
メンツ社内基準試験可能性を有している。発明内容はデ
ィジタル信号処理装g!(DSP)、画像信号処理装置
(GSP)、記憶装置(MEM)、プログラム可能アレ
イ論理回路(PAL)、応用仕様集積回路(ASIC)
、および汎用論理回路(GPL)、汎用マイクロコンピ
ュータおよびマイクロプロセッサ、それに試験またはコ
ード開発に必要な仕意の装置を使用して実現でざる。
第2図に示す主計算機1101は、印字装置1143、
ハードディスク112、および遠隔地に置かれ現場試験
またはその他の処理を実行する大型計算機の更新を行う
ために電話回線に接続されている電話通信モデム114
7を含む周辺装置を有している。主計算機1101のバ
ス1148に接続されている周辺装置はエミュレーショ
ンの時だけ使用できるのではなく、回路基板1043か
ら直列伝送線1103を介してこれらの周辺装置に働き
かける場合も使用可能である。従って主計算a1101
は回路基板1043でのみ使用可能なのではなく、付帯
処理装置としても、また通信I10および通常はシステ
ム1043では使用できないがシステム1043が一時
的に必要とするその他の周辺装置のポートとしても使用
できる。
第3図は計算機1101のエミュレーションおよびシミ
ュレーションソフトウェア構成を示し、装置に依存しな
いエミュレータソフトウェアはウィンドウ駆動型使用者
インタフェースと試験実行プログラムとを有する。
回路基板1043上の各々の装置に対する装置仕様構成
ファイルが用意されている。例えばDSP構成ファイル
、GSP (画像信号処理装置)構成、プログラム可能
アレイ論理回路(PAL)ファイル、ASICファイル
およびGPLレジスタファイルとがある。
第2図および第3v!Jに示すエミュレーションハード
ウエアおよびソフトウェアは、使用者に親しみやすいパ
ーソナルコンピュータまたはワークスチーシヨンを基本
とした開発システムであって、回路基板1043上の対
象チップに対する最高速度での回路内エミュレーション
を実行するのに必要な全ての特性を備えている。
第2図の制御カード1141を備えた主計算機1101
および第3図に示すソフトウェアで構成されたエミュレ
ータは、使用者がソフトウェアおよびハードウェアの開
発が行え、ソフトウェアとハードウェアとを対象システ
ムに集結する事を可能とする、エミュレーションインタ
フェースの重要な点は、全記憶装置の記憶場所と対象チ
ップのレジスタの制御とアクセスが可能であり、装置の
アーキテクチャを付加処理装置の様に拡張することであ
る。
エミュレータ制御カード1141は使用者の対象システ
ム1043内の装置11の様な各々の対象チップの最高
速度での実行と監視とを多ビンコネクタ経由で行う。ひ
とつの実施例では三十のソフトウェアおよびハードウェ
アの区切り点、ソフトウェアとハードウェアの0勤記録
とタイミングの記録、それに単一ステップ実行とが用意
されている。エミュレータには装置11の全てのレジス
タにロードし、検査しそして修正する機能が備えられて
いる。プログラムデータおよびプログラム内容はアップ
ロードもダウンロードも可能である。
エミュレーションを目的とする主計算機1101の使用
者インタフェースは、ウィンドウ式使用者インタフェー
スであって、対応する対象チップのシミュレータ113
1のウィンドウ式使用者インタフェースと全く同じに設
計されている。エミュレータ1101は運搬可能であり
、多重処理用に再接続可能である。エミュレータ110
1は実時間での実行時間クロック周期の基準を提供する
対象装置の最高速度実行および監視は、多芯インタフェ
ースまたは多芯接続器内の走査経路経由で好適に制御さ
れる。走査経路は回路基板1043内の対象チップを制
御し、全てのレジスタと同様に関連する全ての内部およ
び外部記憶装置へのアクセスを可能とする。
プログラムの実行は、対象u路基板1043内の対象チ
ップ(例えば11)上で行われる。従って、回路内エミ
ュレーション以外では発生する可能性のある、エミュレ
ーション中のタイミングの違いは今回提出した実施例で
は発生しない。今までは、エミュレーションには対象チ
ップ11が無くてもその動作をエミュレートするために
ケーブルを介して信号を送信する方式も含まれていた。
優れていることに本発明は、押しっけがましいシステム
ではなく、チップ11自体を使用するのでケーブル長と
か送信の問題は避けられる。信号に関するローディング
上の問題は回避されており、人工的な記憶装置の制約も
未然に防IF、されている。
エミュレーションの性能はエミュレートされている対象
チップ自身の性能と合致している。
ソフトウェア区切り点では、特定の命令アドレスに於い
てプログラムの実行を中断させられる。
ハードウェア区切り点もまた、チップ上で好適に動作可
能である。指定された区切り点に達すると、プログラム
は実行を中断して使用者が記憶装置および状態レジスタ
の内容を観測できるようにするか、または適切な停止モ
ードに於いて満足する結果が実行されている場合には、
区切り点をさらに複雑な条件の中に組み込む。この時点
で対象チップまたは装置の状態は単一命令程度の少ない
命令を用いて使用者が表示できる。
ソフトウェア0動記録およびハードウェアプログラム計
数臼動記録は、区切り点に達した時点での対象チップ1
1の状態を、使用者が見ることが出来るようにしている
。この情報は後で分析するために、命令によってファイ
ル中に好適に保存される。ソフトウェアタイミング機能
により、使用者は区切り点の間のクロック周期を追跡し
時間的な問題を起こしそうなコードを調べることができ
る。
単一ステップ実行操作により、使用者は一時にプログラ
ムの1命令のみを実行させながらステップを進めること
が出来る。各々の命令が実行された後でレジスタおよび
CPUの状態が表示される。
このことによりソフトウェアデバッグ時の柔軟性が増し
、開発時間の削減を助ける。
オブジェクトコードは命令によって、任意の可能なプロ
グラム記憶場所またはデータ記憶場所にインタフェース
経由でダウンロード出来る。IKバイトのオブジェクト
プログラムのダウンロードにはほぼ100ミリ秒程度か
かる。単一ステップ方式でプログラムを進めながらレジ
スタの検査および修正を行うことにより、使用者はプロ
グラムコードまたはパラメータの検査および修正を実行
できる。
エミュレータ1101のウィンドウ方式使用者インタフ
ェースは、シミュレータ1131のインターフニー各と
好適に一致するように作られており、シミュレータを用
いた開発からエミュレータを用いた開発へ簡単に移行で
きるように考慮されている。使用者に親しみやすい画面
表示として、プログラムコードを記憶符号または同等の
16進数コードで表示する。ウィンドウ表示には好適に
、拡張精度レジスタ内容、CPU状態および記憶場所が
含まれる。
第1の画面付加機能は一次画面であって、これは画面の
最上段に表示される命令ラインと、特定機能鍵の機能と
、それに通常購入できる標準キーボードのFlキーで個
別にアクセス出来る四つの状態ウィンドウとで構成され
ている。ウィンドウはソースコードウィンドウ、補助表
示ウィンドウ、CPU状態ウィンドウおよび拡張精度レ
ジスタウィンドウとで構成されている。ウィンドウの内
容は使用者の検査および修正の際にアクセス可能である
命令はMENUモードまたはLINEモードで入力され
る。MENUモードに於いて、画面の最上部に示された
メニューにより使用者は一つの命令を入力する一方で全
ての使用可能な機能を見ることが出来る。全ての命令が
入力されるまで次のメニューが表示される。LINEモ
ードでは使用者が全命令表現を人力することが可能であ
る。命令のまとめが付録Iに示されている。
第2図のエミュレータカード1141は、IBM  P
C−XT/ATコンピュータを主計算機1101として
使用する場合は、好適にそのスロット内に挿入される。
カード1141は、必要に応じて取り外し別のPC(同
等の機能を有するパーソナルコンピュータ)に移して、
エミュレータに可搬性を付加することが出来る。シミュ
レーションに際しては、EFROM (消去可能プログ
ラム可能読み出し専用メモり) 、SRAM (静的随
時読みだし書き込みメモり) 、DRAM (動的随時
読みだし書き込みメモり)、およびチップ登載メモリと
周辺機器とで構成されている制御カード1141のメモ
り構成指定は、設計者が構築することが出来、待ち状態
およびアクセス権を含めた形での対象システム1043
の実環境を反映することが出来る。この様にすることで
制御カード1141および主計算機1101は、個々の
開発時点で回路基板1043上には今だ存在していない
段階でも、周辺機器のシミュレーションを行える。
一つの実施例に於いて、多重処理応用事例は直列伝送線
1103をいくつかの応用基板の各々の間を互いに順番
に接続した状態でエミュレートされており、これは実時
間エミュレーションおよび各々の対象チップ上の情報の
保持を維持しながら行われている。
開発システム1141はふたつのモードで動作する:す
なわちエミュレーションモードとアルゴリズム開発なら
びに確認モードとである。アルゴリズム確認モードでは
、対象チップ11は対象システムが完成する前に、その
ソフトウェアを最高速度でデバッグする。これを実施す
るために、コードは回路基板1043上の記憶装置にダ
ウンロードされ、未だ完成されていない対象システムの
代わりに使用される応用基板上のインタフェースを介し
て最高速度で実行される。好適な応用基板には、DSP
li、一次バス上の16KX32ビットの最高速(零待
ち状態)SRAM、拡張バス上のふたつの選択可能な8
KX32ビット最高速(零待ち状態)SRAM1および
82Kx32ビットDRAMが登載されている。余裕の
あるSRAMを使用することで、使用者は実時間エミュ
レーションを行えるし、種々のアルゴリズムに対しても
記憶容量を柔軟に使える。SRAMの零待ち状態機能に
よりメモリの実時間読みとり/書き込みが可能となる。
アルゴリズム開発およびコード確認に対しては、システ
ムはステップ毎に区切り点に達するまで実行できる。ア
ルゴリズム確認ではデータをアルゴリズムに従って実行
し、その機能確認を行う。バースト実行、Iloおよび
その他の機能確認も可能である。
ページモードのDRAMを使用すれば、大規模2憶性能
が改善される。3タイプのDRAM周期が一つの応用基
板の例で用いられている。これらは単一語読み込み、単
一語書き込みおよびベージモード読み込みであり、これ
らはそれぞれ一回のアクセス毎に、4.2および1の待
ち状態を有する。ベージモード読み込み周期は、装置1
1が同一の記憶装置のページ(213語)から二層以上
連続的に読み込み周期を実行すると、自動的に呼び出さ
れる。ページモードを使用する結果、応用回路基板10
43上のDRAMにアクセスする際の待ち時間が減少す
る。
第2図に於いて試験および開発支援システム両者の応用
システム資源へのアクセスは直列走査バスマスク、また
は制御カード114仕の走査インタフェース経由で行わ
れるが、これは以下に記述する。複雑なエミュレーショ
ンおよびシミュレーション機能もプリミティブから構築
される。プリミティブとは制8操作(例えば命令または
指令)を定義するビットの組であって、制御カード11
41で使用可能である。
装置11機能へのアクセスは、例えば例として示す次の
発明の実行処理の各々を使用して行える。
第1の実行処理は、第4図に示すようにテキサスインス
ツルメンツモジュラーポート走査設計(MPSD)であ
る。「S」で示されたシフトレジスタラッチ(SRLs
)が装置11の中にビーズ玉の列の様に分配されていて
、それぞれが直列に走査され各々のモジュールが全ての
重要なレジスタにアクセス出来るようになっている。
第5図の第二の方法では、MPSD技術とSCOPEイ
ンタフェース117の中で結合されているSCOPE伝
送媒体を使用している。
第6図では装置11は、ここに記述するようにチップ上
にJTAGインタフェース1149を有する。走査イン
タフェースは第2図の直列伝送線1103に接続されて
おり、試験クロック(TCK)人力、モード選択(TM
S)人力、それに試験データ人力(TDI)(走査人力
)また同様に試験データ出力(TDO)(走査出力)と
を有する。特殊エミュレーションアダプタ1203が走
査インタフェース1149と装置11の機能回路121
3のMPSDモジュールとの間に接続されている。
エミュレーションの支援で使用される際のいくつかの実
行処理方法の特徴を表1に示す。
表I MPSD SCOPE SCOPE/MPSD工業標準
通Q     NOYES    YES最大クロック
周期  依存 制限無し 制限無し機能クロックツNO
YES    YF″、S独立性 境界走査支援    No   YES    Yl:
Sシリコン効率    YHS   NOYES最大工
ミュレーシ  NOYhS    YESヨン能力 外部ビン数     4  6   6実行処理SCO
PE/MPSD法は、M P S D法とSCOPE法
の良いところを独立に採用してハイブリッドエミュレー
ション技術としたものである。
第7図は改良されたSCOPEハードウェアブロック図
を示し、これはPC回路基板1043上の装置11のよ
うな各々のチップの上に具備された物である。4本のビ
ン、TDI、TMS、TCにおよびTDOでシステムと
の通信を行う、TMSおよびTCにはTAP制御器11
51と通信し、これは指令レジスタ1110および指令
解読回路1155とに接続されている。
試験アクセスポート(TAP)制御器1151は順に、
指令レジスタ1153および第1マルチプレクサ117
3に結合されている。指令レジスタはTDI線から直列
走査信号を入力し、MUX1173に直列に出力する。
MUXl 173はTAPの制御下にあり、指令レジス
タまたは別のMUX1171からの出力信号を選択切り
替えできる。
指令レジスタ夕はまた、バイパスレジスタ(BR)11
67および一つまたはいくつかの境界走査レジスタ(B
SR)1161をも制御する。バイパスレジスタはTD
I信号を入力しそれをMUX1171に出力する。MU
X1171は指令レジスタ1153で制御されている。
指令レジスタに人力された指令内容に従って、MUX1
171はその出力として、バイパスレジスタからの人力
またはひとつまたは複数のBSRからの入力を出力する
か、それとも内部装置レジスタ走査を出力する。
各々の境界走査レジスタは試験アクセスポートおよび指
令レジスタ経由で制御される。
境界走査器は通常モードまたは試験モードで運転される
。通常モード時IC論理回路の端子に人力される人力デ
ータは境界走査レジスタを通ってIC論理回路に入りB
SRで同等の変更もうけずに通常出力端子から出力され
る。試験モード時は、通常人力データは中断され、試験
人力データが境界走査レジスタ内部で捕縛されシフトさ
れそして更新される。境界走査レジスタはふたつの記憶
装置で構成されており、第1記憶装置はTDI入力線か
らのデータを入力しシフトするためのものであり、第2
記憶装置は出力データを保持するためのものである。第
2記憶装置は選択的に動作し、データを第1記憶装置か
ら第2記憶装置に転送する。
一般的に第7図に於いて、直列通信情報がエミュレーシ
ョン計算機1101からSCOPE制御カード1141
経由でピンTDIを通ってダウンロードされ、多数のシ
フトレジスタの内の一つに人力されるが、′これらのシ
フトレジスタには境界走査レジスタ1161、装置識別
レジスタ1163および設計特性試験データレジスタ1
165がある。
バイパスレジスタ1167もまた用意されている。これ
らのジフトレジスタまたは直列走査レジスタは指令解読
回路1155の制御の元MUX1171経由で選択され
る。MUX1171からの選択された出力は、MUXl
 173に供給されTAP@@器1151の制御に従っ
て指令レジスタ1153かまたはMUx1171がMU
X1173で選択される。JTAGクロックTCKとM
UX1173出力はフリップフロップ1175に送られ
、これは次に直列戻り回路1177に接続されており、
チップ上のJTAG回路の全構成部品からの直列信号を
直列ビンTDO経由で計算機JTAGカード1141に
好適に戻したり送り返すことが出来るようになっている
第7A図はTAP制御器1151の状態遷移図を示しね
各々の状態遷移技の横に記入されている1および0信号
値を有する。これらは信号TCKの立ち上がり時点での
信号TMSの値である。JTAG  TAP (試験ア
クセスポート)制御器の状態は「標準試験バスおよび境
界走査アーキテクチャ」エル、ウエツセル著、テキサス
インスツルメンツ技報、阻4.Vo1.5.1988年
、h5−16に記述されている。ここで認識され利用さ
れている基本概念に戻ると、エミュレーションは各各の
回路の回りに構築されたハードウェア支援を有し、これ
らは回路の実行と平行して分析を行う一方で上記支援動
作を回路内部で実行できるように構築されている。エミ
ュレーションにより回路は、エミュレータ計算機110
1が回路を監視し、それらを始動および停止させるよう
に実時間の最高速度で運転できる。使用者は対象システ
ムの環境でソフトウェアの定義および開発を行う。別の
やり方では、エミュレーションで回路基板1043から
入力を読み込みあたかも装置11が存在しないかのよう
な出力を発生させるが、この目的は適切なソフトウェア
および動作信号を決定するためである。最終的に、装置
11にエミュレーション作業の結果えられた適切なソフ
トウェアが組み込まれると、装置11は回路基板104
3の残り部分と互換性のある様に動作する。ここに開示
する改良されたシステムでは、装置11は実際に基板上
に直列通信機能を備えて登載されており、装置11の全
ての動作が装置自身で直接監視できる点に特徴がある。
装置11が非常に高速度の場合は、装置自身がそのエミ
ュレーションを補佐する。
従来の方法では、ケーブルの終端はビン・プラグとなっ
ていて、これはエミュレートされる装置が登載されてい
る基板上に用意されたソケットと適合するようになって
いた。ソケットは雑音を生じ易い。ソケットは表面実装
装置のエミュレーションを行う場合には、基板のスペー
スが限られているので実際的ではない。都合のいいこと
に、装置11は回路基板1043上にハンダ付けされて
いて、エミュレーションは装置自体で調整されている。
走査インタフェース1150で使用されている数本のビ
ンにより、従来必要であった対宋装置のコネクタと同数
のビンを用意する必要がなくなり、ケーブルの信頼性、
伝送の影響およびタイミングの違い等に関係する問題も
無くなった。この様にして改良システムに於いては回路
基板1043は論理分析器およびオシロスコープで検査
できるので、重たいケーブルから物理的または電磁的イ
ンタフェースを介して検査する必要がない。
さらに装置11のクロックが20メガヘルツを越える場
合は非常に高速のため、従来のエミュレーション技法で
はエミュレーションを行うことが不可能である。
シミュレーションというa葉はここでは対象回路基板1
043を表現するソフトウェアを作るという意味で使わ
れており、回路基板の全てを第1図のシミュレータ11
3仕で(または計算機1101でシミュレーショタプロ
グラムを走らせて)模擬しながら開発出来るようにする
ためである。
シミュレーションの別の特徴はね装置11は使用できる
が対象回路基板1043の残−りの回路部分が完全でな
いような場合に、シミュレータは完成された基板で予定
されている動作を、装置11がら計算機1101への直
列走査アップロードまたはダウンロードを行い、次に計
算機1101から装置11への直列走査ダウンロードま
たはアップロードを行って模擬し、回路基板1043の
抜けている回路の代わりを勤める。この場合シミュレー
ションは、装置11自体をここに述べる改良に従ってm
高速度で運転させることにより加速できる。たとえ計算
a1101が装置11よりも遅い速度で運転されていた
としても、装置11がらのアクセスがあまり頻繁でない
周辺機器のシミュレーションはa効である。
試験と言う語はここでは、四つの異なる領域で使用され
ている。第1の領域は装置試験であって、装置の製造者
が出荷前に行う装置11自体の試験である。
試験の第2領域は、装置確認であり、全ての項目に付い
て装置の全機能の確認である。
試験の第3領域は、装置の特性付けである。特性付けで
は実際に製造された装置が動作するそのままのタイミン
グを決定するw業である。
試験の第4領域は使用者試験である。使用者試験に於い
ては、全回路基板が試験され、装置11の機能が回路基
板1043全体との係わりの中で試験される。
第4図および第5図に戻って、各々のM P S Dモ
ジュールはふたつの走査経路をaしている。走査経路の
内の一つは、MPSDデータ路と称し、これは通常ビー
ズ玉の様にモジュール内に直列接続された多数のシフト
レジスクラッチ(S)(またはSRL)を有する。第二
の走査経路はMPSD制御路と称し、これはより少ない
シフトレジスタラッチで構成されていて、どのMPSD
データ路が走査されるべきかの選択を行う。
第6図および第8図に於いて、改良されたエミュレーシ
ョン方法では、装置11がいくつかの大きな領域に分割
11能であって、必要に応じて各々の領域が異なるクロ
ックで動作するものと考えている。これらの大きな領域
はクロック領域またはたんに「領域」と呼ばれている。
例えば装置11の様なりSP装置内の領域は、好適にC
PU中央領域、2憶装置および周辺機器(システム)領
域、それに分析領域とである。別のチップに対しては、
領域はとりあえずは場合によっては異なるクロックで動
作される、チップ上の部分として一律に定義できる。し
かしながらチップ設計、エミュレーションおよび試験の
モジュラ−性の点からみると、モジュールは通常は一つ
の領域よりはもっと小さなqt位であるべきである。こ
うすることにより別のチップの設計を、モジュールをま
るで組立ブロックのように使用して柔軟に行うことが出
来、モジュール内のデータ走査データに必要な時間を削
減できる。(この時間はモジュールの大きさの非線形べ
き指数関数である) 従って、各々の領域は通常−つ以上のモジュールで構成
されると考えている。第6図において、エミュレーショ
ンアダプタ1203は、領域毎に異なるクロックを供給
したり、走査インタフェースと特定領域との間のビット
毎の送信を監督する。
さらにアダプタ1203は異なるMPSDII御信号を
異なる領域の制御路に送り出す。
第8図にはチップ登載エミュレーションブロックがさら
に示されていて、ここでJTAG制御はMPSD(モジ
ュラ−パート走査設計)によるエミュレーションで囲ま
れている。
第7図に示されているJTAG制御は第8図のJTAG
@111ブaツク1201として示されている。MPS
Dによるエミュレーション制御はブロック1203とし
て提供されている。試験制御ブロック1205はJTA
GをMPSDに結合する。
直列走査線1207は直列ビット信号列を境界走査領域
1211の一つまたは複数の選ばれた領域に送り込むが
、この境界走査領域は第7図のBSR1161で構成さ
れね装置11のビン境界の走査を行う。第8図の領域、
CPUコア領域1213、システム領域1215および
分析領域1217は第7図に示されており、第4図のシ
フトレジスクラッチを通してチップの種々の部分全てと
のインタフェースとなる。
第9図は装置11の領域のさらに詳細な俯瞼図である。
CPUコア領域1213は第1A図および第18図に参
考として示す回路で構成されている。分析回路はここに
さらに詳しく記述されているようにCPUコアに接続さ
れている。分析回路は制御による停止を検出するための
ハードウェア区切り点検出器の様な状態検出器と、実時
間自動記録を保存するための自動記録保存回路で構成さ
れている。分析回路は直列走査でアクセス可能であり、
分析領域1217として表示されている。
記憶装置と直列および並列ボートを含む全ての周辺機器
はシステム領域1215と称されている。
記述の統一を計るためにJTAG1i1a1201はク
ロック領域と見なされており、この中で試験クロックJ
CLKが活性化される。エミュレーション制御回路12
03が第9図の残りの領域である。
特殊メツセージ通過回路1216もまたシステムまたは
分析領域に含まれており、主計算機1101をTIBU
Sを第2図の直列伝送線1103のインタフェースとす
ることによりあたかも付属処理装置でもあるかのように
して、さらに完全に使用しようとしている。第10図は
装置11のチップ上の種々の領域の物理的な構成を示す
。JTAG制御1201はビンと共に境界走査レジスタ
1161を含む直列境界走査部とのインタフェースとな
っており、これによって装置11の実際のビンに於ける
全ての論理状態を読みとったりまたは書き込んだりでき
る。JTAG  TAP制御器1151およびJTAG
指令レジスタIR1153は共にチップ上に登載されて
いる。試験制御器1205およびMPSD制御器120
3は回路の中に集積されている。MPSDi;118器
1203は装置11のコア1213、システム1215
および分析1217領域との直列インタフェースとなっ
ている。双方向ビンEMUOおよびEMUIは四本のJ
TAG@T−1221に加えて、外部インタフェースを
提供している。JTAG試験可能インタフェース技術と
MPSDモジュラ−ボート走査と付加ビンEMUOおよ
びEMUIどを組み合わせることで、これらが互いに作
用しあってエミュレーション、ソフトウェア開発および
製造および現地試験を統合する機能が向上する。
医学的にたとえるとこの著しいエミュレーションの特色
の全ての概念を説明し易くなる。装置11は治療台の上
にいる患者にたとえられ、透析機および電子式心拍表示
器が患者の身体の異なる部位にとりつけられている。患
者の心臓(機能クロックFCLK)は血液を患者の胴体
および頭(CPUコア)に循環させる一方で、透析機(
試験クロックKCLK)は患者の足(システム領域内の
周辺機器)の血管を通して患者の心臓とは基本的に独立
して血液を強制循環させている。一つの電子式心拍表示
機が患者の身体の離れた場所にとりつけられている。こ
れらの医学的また生理学的機能は同時に動作し、患者に
対する緊急治療が最短時間で施せるようになっている。
対応させると、装置11はそれ自身のシステムクロック
FCLKをHし、装置11の一部を最高速度で実行させ
る一方、装置11の別の部分はJTAG/MPSDで制
御された異なるクロックシステムJCLKで動作してお
り、次に第三の特色としてJTAG制御はJTAG境界
走査の制御も行える。さらに各各のチップの部品は命令
に応じてFCLKまたはJCLKを選択的に供給され、
ダイナミックな制御を作り出している。この様にして装
置11の開発要求は、集約された形で可能な限り最短の
時間で満たされることになる。
第9図および第10図に於いて、提出された実施例での
開発システムの能力は応用製品の開発支援をその程度に
応じて、能力の範囲を選択して行えるようになっている
。開示された開発支援ハードウェア部品の全てを利用す
れば、チップ上の区切り点および自動記録の分析、およ
び第2図のエミュレーション制御器1101と第9図の
装置11との間の実時間メツセージ通信MSGPASS
とを同時に含む開発能力を提供できる。第9図のハード
ウェア支援の種々の部分は、価格に敏感な応用製品では
付加したり削除したり出来る。例えば基本システムは基
本MPSD(モジュラ−ボート走査設計)エミュレーシ
ョンを支援するものであるか、または極端な場合はエミ
ュレーション無しで境界走査を使用するかまたは使用し
ない試験機能を支援するものである。
トータル開発システムは、種々の試験および機能特性と
相互に関係するエミュレーション、シミュレーション、
およびチップ速度測定分野で有利である。提出された実
施例は三つのアーキテクチャを有し、これらは、a)機
能アーキテクチャ(例えばCPU記憶装置およびIlo
) 、b)JTAGおよびMPSDtiI列走査を基本
とする試験可能回路で構成された試験アーキテクチャ、
およびC)例えばメツセージ通過回路、シミュレーショ
ン特性、および境界走査試験の様なエミュレーション/
支援アーキテクチャである。三つのアーキテクチャは、
都合よくCPU、記憶装置および110機能ウーキテク
チャの複雑さを最少化し、試験に於ける相互協力関係を
最大のものとしている。
第8図および第9図に示す支援アーキテクチャは、装置
11の製品寿命を通して要求される価格および性能に見
合った手段を提供する。支援性能は、ある種の市場部品
のために作られた製品では削除可能である。この部分化
は第8図の試験制御器1205における、装置の試験可
能性には影響を与えない。
この様に、階層化された走査アーキテクチャにより、第
8図に示すM P S Dを用いて走査支援/試験前処
理を組み合わせ、かつ改良することができる。
第8図のアーキテクチャは、境界走査1211、CPU
コア1213、分析1217および記憶装置と周辺機器
1215に対する統一インタフェースを提供し、これに
よって使用されるブロック1215−1217を選ぶこ
とにより、性能の選択が出来る。
表■はCPUおよびシステム領域に付加ハードウェアブ
ロックが追加された際に作られる性能水準を記述したも
のである。
表■ jTAc TPsT  開孔分析 メツセージ制御制陣
制陣   周辺機器 MPSI功み wet験及びエミュレーション MPSD試験、分析、及び             
 ×エミュレーション JTA暎置試験        xx JTAGエミュレーション同時性   XXX分析、メ
ツセージ通過 第9図に於いて、繰り返し述べると、支援アーキテクチ
ャは装置11を以下の五つの異なるクロック領域に分け
られ、制御領域データ伝送を走査・クロック(JCLK
)で、また応用プログラム実行を機能クロック(FCL
K)で行う。
1)  CPUコア領域1213 2》 分析領域1217 3) 周辺機器、記憶装置、インタフェースa器、およ
びバス(システム領域)1215 4)エミュレーション制御領域12035)  JTA
Gボートおよび境界走査領域120 −ふたつのデータ
路構成があって、ひとつはMPSD川、そしてもうひと
つはJTAG川である。
第7図のJTAGデータ路に於いて、データは装   
′置11で走査されJTAG指令レジスター153で選
択された内部走査経路を通過する。各々のデータ路に固
6のJTAG演算コードが用意されていて、内部走査デ
ータの人力およびアクセスを可能としている。
支援アーキテクチャではそられの動作を支援するために
、ふたつの異なるクロックを使用している。ふたつのク
ロックとは、機能クロック(FCLK)と走査クロック
(JCLK)とである。
エミュレーション環境ではいくつかの領域が、他とは異
なるクロック源を有するように意図しており、一方試験
動作時には通常装Wt11は完全に同期して全ての領域
を試験クロックJCLKに置き換える。第8図および第
9図の領域で、クロックを分離することにより以下のこ
とができる:l) 全ての領域を独立して、エミュレー
ション制御ブロック1203経由でJCLKまたはFC
LKのいずれかに接続できる。
2) 試験時に試験クロックJCLKを全ての領域に供
給できる。
3)任意の領域を機能クロックFCLKで動作させその
内容をJCLKで走査できる。
4)CPU領域を機能クロックFCLK同等の停止応答
で停止させ、第9図のシステム領域はFCLKで動作さ
せながらCPU領域を試験クロックJCLKで走査でき
る。
第8図および第9図のクロック領域およびエミュレーシ
ョン$480器1203によって、機能クロックFCL
K (分周されたチップクロック)または走査クロック
JCLK(第7図のTCKビン)を独立に選択できる。
各々の領域1213.1215、−1217はその他の
領域のクロックは固定(変更しない)したままそれぞれ
個別に選択したクロックを持つことが出来る。渾択過程
は制御を各々の領域で遷移させることにより同期をとる
ことが出来る。この遷移機構は後で述べるが、tP、6
図、第8図および第9図に示すエミュレーション制御器
1203の中に配置されている。
第11図は第7図に示すレジスタのそれぞれをさらに図
式化したものであって、JTAG指令レジスタIR11
53は端子TDIとTDOとの間の走査を行うために選
ばれている。IR1153は第7図に示すように、直列
伝送線1103経由で第2図の制御カード1141から
要求された場合は、別の直列シフトレジスタまたは走査
経路にアクセスする。これらのシフトレジスタとは、バ
イパスレジスタ1167、境界走査レジスタ1161、
第9図のメツセージ周辺機器1216、エミュレーショ
ン制御レジスタ1251および種々の領域ならびにそれ
らの領域内のモジュールの中にある一対のMPSD走査
経路1252である。
第12図に於いて、第11図からの走査線1253はS
CINと名付けられており、この線は二つの走査経路に
選択的に接続されておりここでは三本の経路1252の
各々は内部PvI U Xで選択されて、内部走査制御
経路および走査データ経路等に内部で分割されている。
外部MUXの組1261.1263および1265は、
エミュレーション制御器1203からのロック信号LO
CKS(システム領域のロック)、LOCKA (分析
領域のロック)、およびLOCKC(コア領域のロック
)で制御されており、選択された領域がもしあれば、そ
れを走査し実行させる目的で選択された領域をのぞく全
てをバイパスするように制御される。ロックされた領域
はMP S Dコード(以下で訂細に説明する)をHし
、このコードはその領域がロックされている期間その領
域を凍結するために供給される。どれか一つの領域(例
えば分析領域)が走査される場合は、これに対応するM
UX 12631!;1路A S I N (分をJi
走査人;/Jチータ)の選択を解除し線路ASOUT 
(分析走査出力)を選択する。こうすることにより、線
路SCINに人力される直列走査ビットは、分析領域に
線路ASCINから入り分析領域から線路ASCOUT
経由で出て行き、残りふたつの領域はバイパスする。残
りふたつの領域も同様に選択される。走査出力は第12
図下部の線路SCOUTを通って出ていく。
各々の領域に対して、第13図に示すようにMPSD命
令コードピットCO,CIおよびCXが、制御アダプタ
1203から入力される。これらのM P S D命令
コードピットCo、CIおよびCXは、直列信号ではな
く並列信号であって、各々の領域に対して第12図およ
び第13図に示す線路SCINに入力される走査制御信
号および走査データ信号とは異なる。特に指定された領
域内の特定モジュールに於ける動作は、走査制御ビット
で決定され、これは線路SCIN上にある指定領域の芋
づる式に接続されたモジュールを通過する、特定コード
C1,Co−01は、領域内の各々のモジュールが線路
SCINの走査ビットを走査制御ビットSRLに受信す
るように内部選択状態を設定する。
C1は走査されないときは1、走査されるときは0であ
る。COおよびCxのおおもとは、エミュレーション制
御ブロックアダプタ1203レジスタ1251である。
主計算機が走査作動可能状態を、回路基板1043上の
指定の装置の全てのロックされていない領域について検
出すると、C1およびCOは第7A図に示す走査データ
状fiJSDATにある時には、C1およびCOがとも
に0 (CI、Co−00)となるように変更され、内
部選択状態を選ばれた領域の各々のモジュール内で線路
SCINの走査ビットを走査データビットSRLに受信
するように設定する。CI、  CO−01の時は、内
部選択状態は先に述べたように、SCIN走査ビットを
走査制御SRLに受信するように設定される。命令コー
ド線CI、CO,CX1走査入力SCINおよび走査出
力SCOUT線、およびクロツク線は第13図に示され
ている。
走査制御ビットは線SCIN上で走査され選ばれた領域
内の一つまたは複数のモジュールの制御または選択を行
う。走査データビットもまた線SCIN上にあって、選
ばれた領域の選択された一つまたは複数のモジュール内
で走査される。したがって、システムはMPSD走査デ
ータおよび走査制御ビットの個別のアクセスをシステム
領域1215、分析領域1217およびCPUコア領域
1213に対しておこなえる。
第13図に示す領域入力には同一名称がつけられている
が、これらは相互接続はされていない。
接頭字S、 AおよびCがアダプタ1203から各各の
領域に行く出力名称に付加されている。例えばACIは
アダプタ1203からA(分析)領域への01出力であ
る。
アダプタ1203制&IIlに於いてクロック切り替え
回11(第16図に示される1411.1413゜14
15)には、FCLにおよびJCLKが個別に供給され
ており、それぞれの領域に対して使用者の要求に従って
、個別にまたは一括してクロックを供給する。第13図
にはまた、クロック線SCLK、ACLにおよびCCL
Kが示されており、これらはそれぞれシステム領域12
15、分析領域1217およびCPU領域1213のク
ロック入力DCLKに接続されている。接頭字S、Aお
よびCが第13図のアダプタ1203のそれぞれのシス
テム。分析およびCPUポートでの同一線路に付けられ
ている。
MPSDコードを表■に示す。
表■ CI COCX SCIN SCOすT   B考1 
1 1  X  1   機能実行、エミュレーション
論理保持リセット(st rap) (7)11UXI
    走査入力済命令実行:エミュレーション実行装
置運転中(6) 1 1 0  X 1.0  エミュレーション実行、
1からOへの遷移で装置停止 101X   1    停止命令供給、装置は運転継
続(5)1  0  1   Xl、0  停止命令供
給、装置は1から0への遷移で停止(5) 100XD0    走査一時停止り、  (4)(直
列データ転送−時停1[−) 0  1   X   DI   面   制御経路デ
ータ走査 (2,3)0  0   X   DI  
 Do    データ経路データ走査 (0、!)各々
のモジュールには異なる二本のMPSD走査経路(第4
図および第5図には簡単のために両方の経路を−木の蛇
状の線で示している)があるので、CI、Coコードは
あたかも選択コードの様に働く。CI、Co−01は制
御経路を選択し、このとき制御ビットがIiSCIN上
で走査させ制御情報がSCOUTに走査出力される。C
I、CO−00はデータ経路を選択し、このときデータ
ビットが線SCIN(第12図)上で走査され、装置1
1で生成されたデータがSCOUTに走査出力される。
CI−l (命令コードC1が能動)の時、制御線CX
は利川可能で、上記表に記載されたように全ての領域に
対してさらに別のコードを定義する。
走査出力線SCOUTは二重の機能を有する。
第1番目の機能では、SCOUTはハンドシェークまた
は割り込み処理を行い、命令人カフ、6゜および5に応
答して装置が運転性か停止り中かの表示を行う。第2番
目の機能では、これは表の最後のふたつのコードに含ま
れる直列データを走査出力する線として働く。シフト命
令(0,1,2゜3)から実行命令(5,6,7)また
は実行からシフトへの移行は、好適に一時中止4から停
止5または停止から一時中止の手順を含む。これは必須
ではないが、装置11の動作を整然と行わしめる場合に
、このような移行を行う内部バスや状態機械でよく使う
手法である。
興味深いのは一時停止コード100が電気的に、表の中
でそれより上位の命令コード(ここでは実行コードと呼
ぶ)と、それより下位の走査命令コード(ここでは走査
コードと呼ぶ)との境界部分にある点である。
第14図において、アダプタまたはエミュレーション制
御ブロック1203は、それぞれCPol分析、および
システム領域123.1215および1217に送られ
るクロック信号を独立して管理する。ブロック120〜
3はまた、三つの命令コード(CO、CI、CX)の組
の順を供給し、エミュレーションおよびシミュレーショ
ン機能を生成する。各々の領域はモジュールを有し、こ
れらは例えばシステム領域1215では1301.1お
よび1301、n、CPU領域1213では1303.
1および1305.1.そして分析領域1217では1
305.1および1305.1である。各々のモジュー
ルには試験ポートが関連づけられておりこれは、特許出
願S、N、05フ。
078号1987年6月2日受理に記載されている。
各々の試験ボートにはモード条件停止論理回路1309
S、1309Cおよび1309Aがそれぞれの領域に接
続されている。モードはモードレジスタ1311で確立
され、このモードレジスタは第11図および第14図で
走査可能であって、停止の種類および領域が必要とする
その他のモード特性を確立する。モード条件停止論理回
路1309S、1309Cおよび1309Aにはそれぞ
れMPSD復号器1313S、1313Cおよび131
3Aから信号を供給されており、これは停止モード状態
論理回路にたいして多重線出力を有する。
走査制御器1149は初期状態(試験ベクトル)に於い
て、装置11のレジスタを走査し試験またはエミュレー
ション手順を設定する。これは全てのロックされている
領域に対して実行され、これは走査を目的として試験ク
ロックJCLKが供給されることを意味する。全てのデ
ータおよび制御レジスタにロードが終了すると、回路1
149はアダプタ1203に開始信号を送る。例えばC
PU領域がロックされていないとすると、これは機能ク
ロックFCLKでの運転を開始される。
次に停止の場合は、分析領域1217が走査プログラム
■1能となって、あらかじめ定められた条件に従ってC
PU領域を停止に導く。あらかじめ定められた条件が発
生すると、ANASTP信号(分析停止)がCPU領域
1213に送られ、モードレジスタ1131およびモー
ド状態停止回路1309Cで生成される停止モードに従
ってCPU領域を停止させる。DONE回路1363は
停+I−の完了を検出すると、CPUをロックするため
にアダプタ(エミュレーションモード制御器)1203
に信号を送り返し、例えばこれを機能クロックFCLK
の代わりに試験クロックJCLKに切り替える。DON
E信号はCPUパイプライン中の全ての指令が実行され
、全ての継続中の記憶装置へのアクセス周期が完了した
時に発生される。
DINEの別の定義ももちろん使用できるしモードで選
択できるようにしても良い。次に試験クロックJCLK
を使用することにより、領域内の重要なレジスタが走査
されて、第2図に示す主計算機1101が記録保持、表
示および検討を行う。
第15図はさらに評細な処理手順例を示し、IR115
3を有する走査制御器1149、ERC(エミュレーシ
ョン制御レジスタ)1251を有するアダプタ1203
、および主計算機1101が共同で回路内命令手順の入
力および実行を行う。
第15図の操作はステップ1321から開始され、ここ
で第7図の操作制御器1149内の第7A図に於けるリ
セットSTRAP状態から始まる。
第7図のTAP制御器1151の出力JSTRAPは能
動状態となり、ステップ1322で第11図および第1
6図のECR1251内のふたつのJMODEビットを
設定する。アダプタ1203は機能111命令コードを
詰め込みステップ1323で領域クロックを設定する。
次にステップ1324で主計算8111101はTMS
信号を操作制御器1149に送り、第7A図に示すTA
P$lJ8器をFIR操作選択」状態とし、次にECR
選択をI R1153内部で走査する。
さらにステップ1324で主計算機はさらにTMS信号
をTAP@御器に送り、これをrDR走査選択」状態に
到達させる。これは走査制御器が、その直前に主計算機
からIR1153に対する走査によりECR1251と
して同定されたDR(データレジスタ)内の走査受は入
れ準備が完了したことを意味する。次に主計算機110
1はECR1251内部の三つのビットの内のふたつの
ビット部分co、cxを走査し、表 のRUNおよびH
ALT状態を判別する。ロックピットもまた、全ての領
域をロック解除とする為にロードされる。ロックピット
はこの目的で走査され、第16図のECR1251部を
LOCK1351と呼ばれる状態とする。
次に続くステップ1325で主計算機1101は走査制
御器1149にTMS信号を送り、TAP$lJ御器を
再びrlR走査選択」状態とする。このとき主計算機は
IRの中を選択しMPSD経路1252を走査する。ス
テップ1326で主計算機のTMS信号が送られ、第7
A図内のIDLE状態とする。この時点で第7図のハー
ドウェアはSTART信号を発生しアダプタ1203内
のコード状態機械1381を能動状態とする。判断ステ
ップ1321では、走査インタフェース1149.12
03が作動可能か否かの判定を行う。もしも作動可能の
時は、主計算機1101はステップ1328で1153
を選択してECRを走査し、続いてさらにTMSを送っ
てステップ1329でIDLE状態とする。これによっ
て開始信号が非能動化され、いくつかのステップによっ
てMPSD経路1252からのDR走査によって領域情
報の走査出力が許可されるが、簡単のために第15図か
らは省く。
次にステップ1j31でインタフェースが再び作動可能
となると、動作はステップ1332およびステップ13
33に進みECR(1251を選択して、そのJMOD
EビットJMODEIおよびJMODEOをそれぞれ論
理1と論理0とし、同時エミュレーション可能状態とす
る。次にステップ1334で主計算機1101はTMS
信号を送り、一口ツクさせるために第7A図のIDLE
状態とする。ステップ1335の後でインタフェースが
作動可能となったときに、ステップ1336内で命令お
よびロックピットを走査する。次にステップ1337で
、主計算機1101はTMSを送りIRでの走査を選択
し、IRで選択されているMPSD経路を走査する。次
にステップ1338で、主計算機1101は第7A図の
IDLE状態とするためにさらにTMS信号を送り、I
DLE状態となると直ちに第7図のハードウェアはST
ART信号をアダプタ1203のコード状態機械138
1に送る。ステップ133−9ではインクフェースが作
動可能となるまで主計算機を待ち状態とし、インタフェ
ースが作動可能となると直ちにステップ1333にルー
プバックし、主計算機1101がECR内の命令をさら
に走査出来る状態とし、回路内エミュレーション回路を
始動しチップを実時間で運転実行させる。
ステップの記述はただ単に例として示したものにすぎな
いことを、理解されたい。データおよび制御情報は試験
クロックJCLKに従って領域内で走査され、領域は独
立にまた選択的に機能クロブクFCLKによって広範な
手順の中で開始および停止されるが、これによって開発
、製造および現場環境の状況に柔軟に対応できるエミュ
レーション、シミュレーションおよび試験機能が実現さ
れる。
エミュレーションデータを走査しかつそれを各各の領域
から取り出したり、さらに領域を実時間機能クロックF
CLKまたは試験クロックJCLKのいずれかで個別に
クロフクをかけられるとい−うこの注目すべき能力は、
主計算機1101および第7図の改良されたJTAG回
路に応答して、エミュレーション制御器1203で調整
される。
エミュレーション制御器1203は、第16図にコ細に
示されている。
第16図に於いて、直列走査ビットはエミュレーション
制御レジスタECR1251に入力されるが、このEC
R1251は、領域をロックおよびロック解除するため
のビットを保持するためのシフトレジスタLOCK13
51と、CODA1353と言う名称の第1CO,CX
制御コードシフトレジスタと、CODB1357と言う
名称の第2CO,CX制御コードシフトレジスタと、事
象管理回路1365と結合されたシフトレジスタ135
9および二ビットレジスタJMODE1360とに分割
されている。これらのレジスタは第16A図に簡潔に示
されている。従って走査線SINに入力された直列走査
信号は、シフトレジスタ1351,1353,1357
,1359、および1360をすべてのシフトレジスタ
にロードされるまで直列に通過される。いずれの直列走
査出力も直列線1361SOUT経由で出力される。
第16図の選択論理回路1371.1373および13
75の組は、第13図に示すように線路を経由して、コ
ア1213、システム1215および分析1217領域
に信号を供給する。また個別に独立された第13図に示
す領域クロック線DCLKにはそれぞれ第16図のクロ
ック信号SCLK、ACLにおよびCCLKが供給され
る。
コード状態機械1381は、二人力MUX1383を3
A御する。MUX1383はシフトレジスタ1353ま
たは1357のco、cxの二ビツトを選択し、これを
三つのフリップフロップ1393.1395および13
97の内の使用可能な一つにロードする。ロックシフト
レジスタ1351およびコード状態機械1381に制御
されて動作するロック制御回路1401各々のフリップ
フロップ1393.1395および1397を使用不能
または使用可能とするロック信号を送るが、これはどの
領域が選択されたかに応じて実施され、選択された領域
1213.1215または1217をロック解除とする
一方でその他の領域をロックする。
各々のフリップフロップはco、cxおよびクロック制
御信号DSCS−の三つの部分を有する。
互いに他とは独立し、全てDSCS−と示されている三
つのクロック$すgrJ信号は、フリップフローツブ1
393.1395および1397からそれぞれのクロッ
ク制御回路1411,1413および1415に供給さ
れこれらは個別の領域クロック出力・−コアクロックC
CLK、分析クロツクACLにおよびシステムクロック
SCLKを供給する。
主計算[1101らTMS、TDIt:5.kcFTD
OI回路経由で送られる試験コードは、第16図に三本
の線1421で入り、選択論理回路1371.1373
および1375に入力される。各々の領域への命令コー
ドは線路142仕の試験コードから直接得ることが出来
、その場合はコード状態機械の機能は無効にされる。こ
の機能は走査JMODEレジスタをr00J  (両方
のビットを零)として選択される。従って、提出された
実施例は主計算機による領域の直接制御にも適応でき、
この場合はJMODEを00をとして実行される。
いずれかの領域1213.1215.1217において
JCLにおよびFCLKの間の切り替えがクロック制御
器1411.1413.1415のいずれかの制御に従
って実行されている時は、コード状態機械1381は一
時的に停止される。
これは低信号で能動化されるSWINPROG−(切り
替え動作中)入力を作動不能とすることで実現できるが
、この信号は論理回路網1425から供給され、ロック
制御器1401からの入力信号LOCKC,LOCKA
およびLOCKSと、三つのクロック領域信号GCTD
C,GCTDA−およびGCTDSとから生成される。
後ろ三つの信号は「本領域クロック良好(Good C
lock Th1sDo+*aln) Jを示しており
、それぞれ各々の領域・・コア、分析およびシステムに
対応している。
第16図に於いて、制御ブロック1203の機能はプロ
グラム可能であり、以下のことが出来る。
1)コード状態機械1381の指示に従ってあらかじめ
ロードされているふたつのレジスタc。
DA1353、およびCODB1357の内の一つから
MPSDコードを供給する。
2)REVT(レジスタ事象)レジスタ1359経山で
刺激に応答するプログラム状態機械1381の動作は: a) 走査?[aW1149からのSTARTb)CP
Uコア1213.1363からのDONE、とで構成さ
れている。
3)  LOCKレジスタ1351経出で、各々の領域
に対して行われる、FCLKからJCLKへのクロック
切り替え制御およびその逆方向への切り替え制御:およ
び 4) その他の領域の動作を継続する一方で、特定領域
をその現状の状態にロックことである。
制御ブロック1203は下記のクロックオプションが可
能である: 1)JCLにおよびFCLKパルス源間の領域クロック
線の順次切り替え。
b)走査データ経路上にロックピットを立てることによ
る、領域クロック線の現状状態でのロック。
e)  JTAGストラップ(リセット)状態またはM
PSDストラップ状態により、選択された機能クロック
を発生させること。
6) 試験モードを選ぶことにより全回路をJCLKで
駆動すること。
このクロック選択機能により、試験に鍮えて回路チップ
を完全に同期のとれた構成にすること、任意の一つまた
はいくつかの領域を走査することまたはデータ伝送を行
う全回路チップをJ CLKで同期をとることが可能と
なる。
次にコード状態機械1381の動作をさらに説明する。
JTAG  IR(指令レジスタ1153)に経路12
15を選ぶための走査経路選択指令がロードされると、
線路ECRSELは状態機械1381に信号を供給し、
その時点で状態機械はロック状態に入る。これによって
レジスタ1351゜1353および1357、事象管理
レジスタ1359、それにJMODEレジスタ1360
はMPSDコードに影響を与えること無く変更され、ク
ロックはフリップフロップ1393,1395゜139
7および選択回路1371.1373および1375か
ら領域1215.1213および1217に供給される
。ロックレジスタLOCK1351はビットを保持し、
このビットはCPU。
分析およびシステム領域1213.1217および12
15をその構成および状態に、フリップフロップ139
3,1395.1397および論理回路1371.13
73および1375からその時点で供給されているMP
SD命令に応じて凍結する。
第16図の状態機械1381へのSTART信号は、走
査データ経路選択信号が存在しTAP制御器1151が
第7図図のJTAG  IDLE状態に達した時点で第
7図の回路で発生される。第7図のJTSGインタフェ
ースは受動となり、第16図に示す回路1203の動的
動作が開始される。
第7図に於いて、START信号は以下のように発生さ
れる。指令デコーダ1155に接続されている経路デコ
ーダ1168は、ORゲート1172に第11図のMP
SD走査データ経路1252またはMPSD走査制御経
路選択がなされる信号を供給してANDゲート1170
を導通可能状態とする。TAP$1111器1151か
らのIDLE線がANDゲー)1170のもう一方の人
力に接続されている。IDLE状態が発生するとゲート
1170を導通状態にし、ANDゲート1170はハン
ドシェーク同期装xi 169に信号を送り、第16図
のコード状態機械にSTART信号をO(給させる。
ハンドシェーク同期装置1169が具備されている理由
は、エミュレーション制御器1203は場合によっては
機能クロックFCL、にで運転され、一方でJTAG回
路は試験クロックJCLKで運転されるためである。ハ
ンドシェーク同期装置1169はふたつの状態機械を有
−し、コード状態機械1381へのSTART信号の発
生を制御する。
一つの状態機械は第7図のJTAG環境内にあり、もう
一つは第16図のM P S D制御環境内にある。
この様にしてクロックの境界は交差している。
第16図のエミュレーション制御ブロック1203は、
MPSD領域1213.1215および1217へのM
PSD制御コードを生成するように動作し、これは必要
なエミュレーション、シミュレーションおよび試験機能
を実行する。汎用のプログラム可能装置で実現されてい
るが、コードが固定のハードウェアに組み込まれた装置
で実現することも可能である。さらにマイクロコード化
された制御ROM(CROM)で、第7図、第8図、第
14図および第16図の回路を実現することも、本発明
の別の実施例として考えられている。
コード状態機械1381は領域に対するMPSDコード
順序の発生を制御する。クロック制御H路1411,1
413および1415の各々は状態機械を有し、領域で
のクロフクをJCLKとFCLKとの間で切り替えるu
I8を行い、これは新しいMPSDコード(CO,CI
、CX)が各領域に供給される前に順番に実行される。
「状態機械」という言葉は計算機科学の感覚で使用され
ており、その意味するところは少なくともふたつの状態
を含む状態遷移図を表すソフトウェアまたはハードウェ
アで構成された回路である。この状態機械はエミュレー
ション機能を指定されたJTAG動作コードの数を最少
とすると同時にMPSDインタフェースを著しく簡単に
する。
一つの観点から見ると、表 の一時停止命令コード(C
l、Co、CX−100)は、基準状態またはその他の
状態と関係する「かなめ」と見なすことが出来る。コー
ド状態機械およびレジスタCODAおよびCODBは、
それらのco、cxの内容に従って動作し、一時停止状
態を表 のHALT″101”、CNTRL ”110
”、またはFUNC111”に変更する。かりに一つの
領域への走査が必要な場合は、コード状態機械1381
は主:1算機1101の指示でCODAおよびCODB
共にCo、CX−00の状態に入り、この様にして装置
11は一時停止100”状態となる。
クロック切り替えの観点からみると、HAL101″か
ら一時停止100”への遷移は、機能クロックFCLK
から試験クロックJCLKへの切り替えを引き起こす。
切り替えほの発生は、一時停止状態にある領域に論理回
路1371.1373および1375からCI、Co、
CXを供給して行われる。
一時停止′100”からFUNC111”、。
CNTRL110”またはHALT =101”のいず
れかへの遷移は、ロックされていない領域の全てが機能
クロックFCLKに切り替わりFCLKで動作し始める
まで、インタフェースを一時停止°100”状態に凍結
させる。この様にして全てのクロックの切り替えが10
0°−時節」Lコードを供給することにより実施される
主計算機1101のソフトウェアは、このインタフェー
スを例えば以下の仮定が成り立つときに動作させるよう
にプログラムされている、すなわち一時停止′100”
コードが全てのロックされていない領域に存在し、MP
SDQ路選択をIR1153に、また次に走査MPSD
データまたは制御ビットを選択された領域にロードする
時である。第21図の論理回路1371.1373およ
び1373は経路選択に応じてデータ制御を設定し、領
域に対するMPSD命令コードをSeanData”o
ox−またはScanConLrol  −01X−に
設定する。
走査作動可能を示すSCNRDYインタフェース作動可
能ビットはIR1153に設定できて、これは主計算機
1101で使用されるときに全てのロックされていない
領域が進行中の切り替え動作がなく、これらに一時停止
100”指令が供給されることを意味し、従って領域内
のデータまたは制御ビットを走査しても問題が無いこと
を示している。
論理回路1371.1373および1375は、走査コ
ード00x”またはOIXが必要なときの経路選択値に
応答するので、コード状態機械1381およびレジスタ
CODAおよびCODBが行う作業には、00”走査作
動可能、01”HALT供給、10”CNTRL供給お
よび11” FUNC供給の中からコードビットCO,
CXを選択送信する機能が含まれることは明かであろう
。状態機械がコードco、cxとして01. 101ま
たは11″を供給している間は主計算機1101が走査
を行わないので、表 のコードビットC1は1″である
。従ってMPSD命令コード、Cl、Co、CXi−1
それぞtL−−”101=)IALT、=110= C
NTRLおよび1111″FUNCと構成される。
第18図はコード状態機械1381とその′ド象管理装
置1365の模式的回路酢を示す。コード状態機械13
81はふたつの内部接続されたSRL1451および1
453を有し、これは第18図に示す状態遷移図のシー
ケンス処理を行うが、この状態遷移図は三つの状態、L
OCK、CODEAおよびCODEBと状態間の遷移T
I、T2゜T3.T4.およびT5とで構成されている
。SRL1451および1453のそれぞれの出力は二
ビットディジタル信号のMSBおよびLSB(最上位、
最下位ビット)と考えられる。MSBはLOCK状態を
表し、LSBの高低がそれぞれCODEAおよびCOD
EB状態を表す。事象管理装置1365はSRL145
3に信号を送り、状態機械がCODEA状態にある時に
はCODEB状態への遷移が要求される。
第11図の第三SRL1455はSR,L1451と、
第16図および第20図に示されるロック制御器140
1との間に接続されている。ORゲートの人力はSRL
1451出力と、第16図の論理回路1425からの切
り替え進行中信号SWINPROG信号とに接続されて
いる。ORゲー)1461の出力は直列接続された反転
器1463および1465に接続されている。これらの
反転器はそれぞれSRL1453のCAPTUREおよ
びHOLD入力に接続されており、SRL1451およ
びSWINPROGの状態と関連した状態遷移入力を提
供する。ORゲート1461自身は制御保持CNTLH
OLD出力を第16図の回路1383に供給するが、こ
の回路には線路LSBもまた接続されている。事象管理
装置1365はSRL1453の入力に接続されている
NANDゲート1471は第7図からのふたつの人力E
CRSEL (エミュレーション制御レジスタ選択)お
よびSTARTに応じて、SRL1451のSET入力
を供給する。NANDゲート1473はMPSDSEL
 (MPSDデータまたは制御走査経路選択)およびS
TARTに応じて、SRL1451のRESET人力を
供給する。
す1象管理装置1365は、種々の信号CNTBRW、
DONE、EMUIおよびEMUOそれにその他の任意
の分析、コア状態または熟練技術者の選択する信号に接
続された論理回路の組で構成されている。信号CNTB
RWは第26図で述べる分析ブロック回路からの計数器
借り数である。
DONE(コ号は第15図で述べたように停止Fの完了
である。DONEはコア運転中を示すCPUコア信号の
後縁を微分して状態機械に供給され、コアが運転を中止
すると直ちにDON−E信号が供給される。ビンEMU
IおよびEMUOはエミュレーション信号の為の回路チ
ップの内部または外部で生成された同一指令の信号を伝
搬する。
シフトレジスタ1359は走査可能レジスタ事豪ビーt
 トREVT3.REVT2.REVT1およびREV
TOを有する。REVT3は走査可能ビットであり、反
転器1483で反転されNANDゲート1481(これ
は低信号作動式ORゲートとして動作する)に入力され
、このNANDゲートはSRL1453g;1m信号を
O(給す!、REVT2.REVT1お、及びRE V
 T OGEL制御ヒツトであって、それぞれ信号CN
TBRW、DONEおよびEMUlを選択的に無視また
は応答させるように事象管理装置1365に働きかける
。この目的のために、それぞれのNANDゲート148
5.1487および1489の出力はNA〜NDゲート
1481に接続されている。NANDゲート1485.
1487および1489の各々の一つの人力は、それぞ
れREVT2.REVTI:ljよびREVTOに接続
されている。前期NANDゲートの第二人力はCNTB
RW、DONEおよびEMUIに接続されている。EM
UOおよびその他の信号用の付加NANDゲートは容易
に具備出来、これらばシフトレジスタ1359内の追加
事象レジスタセル用である。
ffil)図の回路は、発明の方法及び構成を実現する
ものであれば、任意の好適な方法で構成できる。例えば
本実施例では、一般的に言えば、コード状態機械138
1は、エミュレーション制御経路ECR1251が指令
レジスタIR1153によって選択され、STARTパ
ルスが発生されるた時に、その時点で領域に供給されて
いるMPSD制御コードをロックする。コード状態機械
1381はSTARTパルスとMPSD走査経路選択が
なされた時点でロック状態を脱出し、ふたつのMPSD
制御コードの内の一つを、CPUコアまたはREVTビ
ットでプログラムされたその他の事象により生じるあら
かじめ定められた条件に応じて、再びLOCK状態に戻
る前に供給できる。
またコード状態機械は、第18図に示すように第1およ
び第2制御コードの間をLOCK状態に戻る前に自動的
に変わることができる。今まではたったふたつのコード
しか図に示していないが、任意の数の制御コードを第1
6図の1353および1357と類似のシフトレジスタ
に対応して走査または格納し、またコード状態機械に各
々のコードに対応する状態と、状態間の遷移を実行する
′回路とを具備し、種々の動作条件に応じて全てのコー
ドをプログラム6I能シーケンスに供給するように出来
ることは明かである。領域への人力に関し特に重要と思
われるMPSD制御コードのいくつかの対を表に示す: 表■ 000A   CODB     実行される動作実行
IO停止Of  a)プログラム部実行二分析領域が停
止時機を決定す る:停止モードはいかにFCLK を停II−するかを決定する。
−時停 −時停 b)モジュール設定:主計算機の+l
 Go  d−[10メモリより、領域の走査制御経路
経由でSR1,にダウンロー ドし、後続のデータ走査用モ ジュールの選択、非選択決定: 領域の走査制御経路より主計 算機へアップロード、第21図 のNANDゲート1585参照。
停止Ol  −時停 C)機械イメージを走査人力(b
)止00   経出でロード:次にCODA及びCOD
Bをロード、停止が供給さ れると開始して、機械はDONE 信号を出力し、状態機械を進 め、CODBを選択する、次の手 表 ■(続) C0DA   CODB     実行される動作順を
走査する。例えばメモリ 内の各々の語毎に実施する。
−時停 −時停  領域の走査データ経路を使用上00
止00シ、主計算機メモリよりSRLにダウンロード;
領域から主 計算機へアッブロード; LOCK 1351、どの領域にロード されたか判別。分析領域にロ ード、停止時判別。分析領域 プログム計数器トレース・ス タックからアップロード。
コアにロード、開始するプロ グラムアドレス決定。
コアからアップロードし、停 止中のCPuコア状態復旧。
システム領域のロード/アッ プロードでシステム領域状態 の初期化/復旧。
第21図のWANDゲート1583 及び制御経路選択を参照。
第18図の状態遷移図に示す遷移T1−T5のプール代
数表現は下記の通りである: TI−l、OCK & NOT SVINPI?0(1
: & START & MPSDSII。
T2−CODEA& NOT SWINPROG & 
((1?[:VTI−1& DONE)+((EMU1
+RMLIO) & REVTO−l)”<T?l:I
VT2−1 &CN丁BRV)+(REVT3−1))
T3−CODEB & ECIjSEL & STAR
TT4−CODEA & EDすSIEL & STA
RTT5−CODEB & NOTSWINFI?OG
 & START& MPSDSI:LCPUは運転信
号(RUN)を具備しているが、この後縁はDONEと
名付けられT2の式で使用されている。
SWINPROGはいずれかのクロック領域がクロック
切り替えの途中にあることを示している。
STARTはIDLE状態に入る第二クロック周期で設
定され、装置の走査データまたは制御経路の選択がなさ
れる。
べつの口菓で言えば、コード状態機械1381は、第1
8図に示すLOCK状態からCODEA状態への遷移T
1を、LOCK状態にいるときに、START信号が存
在し、MPSDSEL信号が存在し、しかもクロック切
り替えが実行中でないときに行う。CODEAからCO
DEB状態への遷移T2は、状態機械がCODEA状態
にいて、クロック切り替えが実行中でなく、しかも事象
管理装置i!1365がこの様な遷移要求を出したとき
に実行される。CODEBからLOCK状態への遷移T
3は、状態機械がCODEB状態にいて、主計算機11
01がECR要求をJTAに  IR1153にロード
し、かつSTARTが存在するときに実行される。CO
DEAからLOCK状態への遷移T4は、状態機械がC
ODEA状態にいて、START信号が存在し、しかも
主計算機1101がECR要求をJTAG  IR11
53にロードしたときに実行される。CODEBからC
ODEAへの遷移T5は、状態機械がCODEB状態に
いて、クロック切り替えが実行中でなく、MPSDSE
Lが能動状態でSTART信号が存在するときに実行さ
れる。
三つのクロック制御回路またはクロック切り替え器14
110.1413.1415は、コード状態機械138
1および回路1383.1393゜1395.1397
および1401と連合して動作する。第1611および
第22図に示す回路1411−1415はコード状態機
械1381で選択されたCODAおよびCODBレジス
タ内のMPSDコードで指令されたクロックFCLにお
よびJCLKの間の遷移を監督する。コード状態機械1
381がレジスタCODAまたはCODBがその状態に
は適していないクロック源を格納していることを指摘す
ると、LOCKレジスタ1351で選択されているロッ
クされていない領域に対応するクロック切り替え器14
11.1413または1415およびロック制御器14
01は、N。
TGCTD(この領域のクロック不適合)信号を出して
旧状態のコードをロックし、SWINPROGを能動状
態にして同期を取ってクロックを切り替える。新しいク
ロック源から新クロックパルスが少なくとも−クロック
周期倶給されると、クロック切り替え器はGCTD信号
を出してSWINPROGを解除し、回路1383およ
び1397と1371の様な回路対が新規のco、 c
x制御コードを能動化された領域に通過できるようにす
るが、この点については次に第19図から第22図を参
照してさらに詳しく説明する。
第19図に於いて、選択回路1383はふたつのMUX
1501および1503を有し、これらはそれぞれレジ
スタCODAまたはCODBからのco、cxコードを
、第16図のコード状態機械1381からの信号LSB
に応じて選択する。
レジスタCODA内のCO,CX:]−ドは、CODA
OおよびCODAXと示し、レジスタCODB内のそれ
はCODBOおよびCODBXと示す。
選択されたコードは、それぞれのCAPTUREおよび
HOLD入力に反転器1511および1512経由で供
給される制御保持信号CNLHOLDに応じて、一対の
CO用のSRL1507およびCX用のSRL1509
内に保持される。
sit、1507および1509は、状態機械がCOD
EB状態へのT2遷移を行っているときに選択されるC
ODBに新規のコードをラッチする。
しかしながら新規コードは即座にその予定された領域に
送られるわけでは無い。第1番目にこれは回路1514
でチェックされ、コードが機能クロックFCLKまたは
試験クロックJCLKを含んでいるかの判定がなされる
。言葉を変えれば、回路は自分0身でどのクロックが必
要とされているかを都合良く判断し、クロック要求を定
義する使用者が設定しなければならない付加ビットを必
要とはしない。この説明用の実施例に於いて、囲路15
14glORゲートテあッテ、COおよびCXが共に低
信号の時に(MPSDコードでは一時停止)試験クロッ
クJCLKを選択する。(MPSDコードピットC1は
、第21図のNAND論理回路1563,1573.1
581.1585によって1に設定されている。)回路
1514からのクロック要求はSRL1513内にCN
LHOLDに応じて保持され、SRL1513はクロッ
ク選択出力nelkselをロック制御器1401およ
び第16図の各々の回路1393.1395および13
97に対して発生する。
回路1393.1395および1397 (第19図に
は1393しか示されていない)は同じよ)に、MPS
D命令コードCOおよびCXに対するSRL1517.
1519とクロック制御信号を保持するためのSRL1
523とを有する。これらの回路は以前に入力されたM
PSD命令およびクロック選択情報を全ての領域を制御
するために保持している。どれか一つの領域が更新され
るときには、対応する一つの回路1393.1395ま
たは1397が更新され、その一方で残りのふたつはギ
の情報を維持する。SRL1455゜1519および1
523の各々の人力は、対応するSRL1507.15
09および1513の出力に接続されている。回路13
83からのデータは、LOCK信号LOCKS、LOC
KCまたはLOCKAによって非ロック状態になってい
ることで選択されている回路1393,1395または
1397の内の一つに送り込まれる。さらにしOCK1
351が特定のまたは全ての領域を瞬時にロックしたり
ロック解除をしたり出来ることは明かであろう。一つ以
上の走査が必要とされた場合には、ビットは好適に設定
され、主計算機1101は第12図に示す全ての連結さ
れた領域を瞬時に更新できる。
単純に設定されるco、cxコードは、領域に送られる
際にークロック周期分遅れるので、表のCl、Co、C
Xに暗黙に定められているクロック情報はそれらのコー
ドが実際に(JF、給される前に検査し実行する事がで
きる。もしも実行する必要がある場合は、切り替え実行
中SWINPROG信号はクロックの切り替えが完了す
るまで、コードの供給を制限する。
第20図に於いて、ロック制陣回路1401は三つのO
Rゲート1531.1533および1535をHし、各
々の第1人力はそれぞれ第16図のLOCKレジスタ1
351からの線路LOCKRQS、LOCKRQAおよ
びLOCKRQCに接続されており、その出力はそれぞ
れ第16図および第19図の線路LOCKS、−LOC
KAおよびLOCKCに接続されている。これら三つの
ORゲートの第2人力は共に一つのORゲート1541
に接続されている。ORゲート1541の第1人力はA
NDゲー)1543の出力に接続されている。ORゲー
ト1541の第2人力は第11図のSRL1455の出
力に接続されている。ANDゲートはふたつの人力を有
し、SWINPROGとnclksclに接続されてい
る。この様に、LOCKレジスタ1351のビットはビ
ットが領域のロックを要求しているときには(試験クロ
ックJCLKのみ)その他の全ての信号を無効にする。
しかしながらレジスタ1351がいずれか一つまたはい
くつかの領域をロック解除(これらの各々の領域に機能
クロックFCLKを要求)する場合は、これら各々の領
域は内部的に遅れを含むSRL1455のロックMSB
出力、または切り替え実行中信号SWINPROGとク
ロック選択nclksel高信号との論理積信号のいず
れかによってロックされる。ロック解除されている全て
の領−域はさらに別の選択回路を必要とする事無くロッ
クされるが、これはORゲート1541がロック要求を
無差別に全ての三つのORゲート1531゜1533お
よび1535に送るからである。
第21図で同一回路1371,1373および1375
 (1371のみ図示)は、それぞれ回路1397.1
395および1393に接続されている。例えば第19
図のSRL1517出力およびSRL1519出力は2
本の線路1398によって、第21図の回路1371の
NANDゲート1551および1553の各々の第1人
力に接続されている。回路1371はシステム領域に対
する三ツノMP S D$Ilimlj号(SCO,S
CI、SCX)を三つのNANDゲー)1561.15
63および1565の出力から供給する。各々のNAN
Dゲート1551および1553の出力はそれぞれNA
NDゲート1565および1561の入力に接続されて
いる。JMODE−00の時、コード変換論理ブロック
1205は活動化されて、第7図および第16図に示す
三本の線路TMS。
TDIおよびTDO上のコードを変換し、ふたつの反転
出力TCO−およびTCX−を各々のNANDゲート1
561および1565の入力に供給する。このブロック
1205は反転OR回路1571経由で第16図のJM
ODEレジスタのふたつのビットから供給される信号で
能動状態とされる。この様にコード変換論理ブロック1
205は、表 のMPSDコード以外に三本の線路で与
えられる試験可能コード計画からもMPSDコードに変
換するのでシステムの柔軟性と適応性とが増加する。
JMODEIまたはJMODEOビットが高位にある時
にはクード変換は使用禁止である。代わりに、例えばJ
MODE1ビットが高位の時は、各々のNANDゲート
1551および1553の第2人力の条件が満たされる
。両方のJMODEビットが共に高位の時は、NAND
ゲート1573はSTRAP状態(装置の実行を許可し
、効果的にエミュレーシヨンおよび試験可能機能を使用
禁止とする)を表す低位信号を出力する。この低位信号
は三つの全てのNANDゲート1561゜1563およ
び1565の出力を高位とし、これは機能実行を表す1
11”MPSD制御コードフに対応する。
NANDゲート1563はさらにNANDゲート158
1の出力に接続された人力を有し、このN A NDゲ
ート1581のふたつの人力はそれぞれ各々ふたつのN
ANDゲート1583および1585の出力に接続され
ている。NANDゲート1585の出力はまたNAND
ゲート1561の一つの人力にも接続されている。低位
活性線路LOCKS−は、特定の領域(ここではシステ
ム)がロック解除(JCLK選択)される時に、NAN
Dゲート1583および1585の一つの入力条件を満
足する。第7図のTAP1151が第7A図に示す走査
入力のJSDAT状態にいるとき、TAPからの線路J
SDATは第21図に於いて高位となって、両方のNA
NDゲート1583および1585の一つの入力条件を
満足する。
NANDゲー)1583および1585の役割は、特に
主計算機1101がTMS信号を送信してTAPをデー
タ走査JSDAT状態としたときに、MpsD制御コー
ドの上位2ビットC1およびCO(システム領域ではS
CI、SCO)を決定することであり、これによって主
=1′算機1101が第1の場合はMPSDデータをま
た第2の場合はMPSD制御ビットを要求していること
を回路に知らせる。第1の場合はJSDATA状態にあ
りIR1153には主計算機1101からMPSDデー
タ選択が既にロードされており、これは第11図のMP
SD経路1252を選択する。この動作例ではシステム
領域は、たまたまロックされるが走査が行えるようにロ
ック解除されていなければならない。第21図に於いて
、線路MPSDDATAは高位ニマたMPSDl、lJ
ilSRLは走査経路として要求されていないのでMP
SD  CONTROLは低位となる。NANDゲート
1583出力は低となって、NANDゲート1581出
力を高にする。TAPはSTRAP状態には居ないので
、JSTARAP−はNANDゲート1563に高位入
力を与え、SCIを低位とする。
NANDゲート15610の全ての入力が高位となりS
COを低位とする。SC1,SCO−0,40は、この
領域のMPSDデータ走査を定義するが、これこそが要
求されていた内容である。
第2の場合は、主計算機1101はIR1153にMP
SDu411経路選択をロードしているので、IR11
53は第1の場合と同様にMPSD経路1252を選択
する。しかしながらこの時、!R1153は第21図の
MPSD  CONTROL線路を活性状態とし、MP
SD  DATA線路を低位とする。領域はロックされ
ているが走査を許すためにロック解除されなければなら
ない。NANDゲー)1583.1585.1561,
1581および1563を調べるとコードset、sC
o−01が発生されていることが解る。この様にして望
むMPSD制御走査命令が領域に対して定義される。
以上記述したようにCPU1分析およびシステム領域の
MPSD走査は、走査制御または走査データコードをJ
CLK試験クロブクに接続されている領域の領域インタ
フェースに供給することにより、これらの領域をJTA
G環境1149の支配下とする事をも含んでいる。
第22図に於いて、同様のクロック制御回路1411.
1413および1415 (1415のみ図示)はNA
NDゲート1601および1603を有し、これらは機
能クロックFCLにおよび試験クロヴクJCLKから信
号を人力されている。
領域クロック出力(例えばクロック制御回路1415で
はSCLK)を供給するNANDゲート1605の人力
は、それぞれNANDゲート1601および1603の
出力に接続されている。NANDゲート1601.16
03および1605は、それぞれの第2人力1607お
よび1609で制御されるクロックMUX (マルチプ
レクサ)として効果的に動作する。
物理的にチップ1仕では、機能クロックFCLにおよび
試験クロックJCLK川のクロック線路1611および
1613と切り替え素子1601.1603.1605
は第16図のアダプタ1203の残り部分から分離また
は絶縁されている。
別の言葉で言えば、第16図はクロック制御回路141
1.1413および1415とアダプタ1203の残り
部分とを図面上また概念的に接近した関係で示している
が、チップを設計する立場からは、チップ上で回路を物
理的に絶縁するのが好ましいと考えられている。チップ
のアダプタ部分にある回路1411.1413および1
415部品から導かれる制御導体は、チップ上のどこか
別の場所にあるクロック発生器および物理的な切り替え
素子へ引き回されて、各々の領域にふたつのクロックの
いずれを導くかの選択を行う。
好適にクロック制御回路1411.1413および14
15は装置11の一部または全部を機能モードで運転す
るが、このモードでは装置を実時間で正確に、それが実
現されるようにプログラムされた目的にしたがって実行
される。一方、走査はビットを直列に機械との間で送受
信する動作であり、機械状態を確立し、連続して変更さ
れる機械状態のイメージを回復する機能である。走査ク
ロックJCLにはエミュレーション主計算機1101に
直列データを人力したり回復したりするために、好適に
使用されている。重要なことは領域にビット信号を入力
するクロックを、これらが装置11に送られて(る速度
で領域が受13できることである。この様にして機能ク
ロックとその他の外部クロックとの同期をとるための複
雑さが取り除かれている。
また回路は、低い走査速度でのビット毎同期伝送もサポ
ート出来る。ビット毎伝送では、試験クロック周期はF
CLK機能クロックよりも低速となる。FCLKのパル
ス幅に相当する、−クロック幅パルスは次に走査信号と
ANDをとられるかまたは、第22A図内のそれと入れ
換えられる。
さらに第22図に於いて、線路1607および1609
がそれぞれ高位、および低位であって機能クロックFC
LKを選択していると仮定すると、回路は領域切り替え
クロック選択DSCS−が高位に居て不活性状態である
ことによって安定化されている。第19図のSRL15
23は試験クロブクJCLKを選択するために、DSC
S−を低位として活性化するように駆動される。GCT
D信号は三つのNANDゲート1621.1623およ
び1625回路網で開時に低位に落とされる。
DSCS−は、NANDゲート1621の一つの人力に
接続され、その補数!1反転器1627を介してNAN
Dゲー)1623の一つの人力に接続されている。NA
NDゲート1621および1623の第2人力はそれぞ
れ線路1607および1609に接続されている。NA
NDゲート1621および1623の出力は、NAND
ゲート1625の入力に接続されており、これはGCT
D出力を発生する。
今DSCS−が低位に居て活性状態にあるので、反転器
1627は高位信号を発生し、これはN。
Rゲート1629の出力を低位状態とする。この低位信
号は直列接続されたDフリップフロップ1631および
1633を機能クロックFCLKの2周期で伝搬し、線
路1607を低位状態としてFCLKをui域から遮断
する。しかしながら試験クロックJCLには未だ領域に
は供給されていない。線路1607が低位となったこと
で、JCLK選択の目的で用意されているNORゲート
1639の条件が満たされる。DSCS−が低位で活性
状態に居るため、NORゲート1639出力は高位信号
となる。この高位信号は直列接続されたDフリップフロ
ップ1641および1643を試験クロックJCLKの
2周期で伝搬し、線路1609を高位状態として試験ク
ロックJCLKをNANDゲート1605経由で領域に
通す。線路1609が高位となることによって、同時に
NANDゲート1623の出力を低位とし、GCTD出
力を高位として[本領域のクロック正常]信号を出力す
る。JCLKからFCLKへの切り替えは第22図の回
路での過程を同じように逆に進めることで実現出来る。
一般的な問題に戻って、開発システムの機能は、バス伝
送状態の分析、機械の状態の検査及び修正、利用者作成
プログラムの実行、周辺機器動作の監視および記憶装置
の読みとりおよび書き込み機能とで構成されている。基
本的な機能のセットはMPSDで提供されており、付加
機能はJTAG前処理装置がシステムに追加されれば捕
われるように考慮されている。
提出された実施例に於いて、モード駆動停止と呼ばれる
機能はここでは、六つの停+)−モードの一つを確定し
て復号器回路に供給し、これらの特定モードのいずれが
選択されたかに応じて、停止の特定のタイプが先に述べ
たように実現される。モード駆動停止による改善は次の
理由で特に著しい、すなわち例えば開発技術とは周辺機
器のシミュレーションを行っているときに、プロセッサ
をひとつの方法でシャットダウン出来るし、エミュlz
 −シaンの中断をする場合は別のやり方でプロセッサ
を停止できる。例えばエミュレーションを中断する場合
、CPUを停止することは必要であるが、周辺機器まで
も停止することは望ましくない。エミュレーション計数
器は好適に計数を継続して第2図の対象回路基板104
3上でのサンプル収集周期を正しくしておくのが良いが
、一情報を走査しサンプル間の並列アクセスを行えるよ
うにするために、CPUは停止するのが望ましい。一方
、クロックを歩進させる場合は、全ての領域を停止する
のが望ましい。また周辺機器のシミュレーションを行う
場合は、周辺機器が模擬されている訳なので全ての領域
を停止するのが望ましい。
したがって、開発システム機能は、CPUを停d−,さ
せ、分析、コア、周辺機器、記憶VtWtおよびインタ
フェース情報にアクセスするインタフェースを介して利
用できる基本機能によって組み込まれている。
実行の同時性の問題は、システムがCPUコアは停止さ
せるがその他のシステム部分、周辺機器、記憶装置およ
びインタフェースの運転は継続するようにプログラムさ
れている時に存在する。
第14図に於いて、停止モードはエミュレーション期間
の始まりのところで指定されている。これらは装置の運
転モードを全期間に対して指定する。運転モードは分離
されたエミュレーションモードレジスタまたはモジュー
ル1311の内部に指定されているが、これはCPUコ
アが停止中に走査されロードされている。この特徴的な
モードにはモード駆動停+1−が含まれる。
一葉を変えれば、動作モードは装置の停止I〕が実行さ
れたときにチップが表す特性によって最初に定められる
。これらの運転モードはここではバイブフラッシュ、バ
イブステップおよびクロフクステップと呼ぶ。トラップ
可能マツプ分析機能は、トラップをかけるために停止し
、エミュレーショントラップ演算コードの実行を可能と
する。
パイプフラッシュに於いて、停止条件が検出されるとC
PUブロックが停止する。CPUは命令の取り出しを止
めて、その時点でバイブラインの中にある全ての命令を
実行し、DONE信号を第14図のコード状態機械13
81に送る前に、全ての記憶装置の活動の進行を完了し
て、走査を行わせるために線路SCOUT上に停止条件
信号を出力する。その他の全てのブロックは実行を継続
し、また周辺機器または記憶装置に関連してCPUコア
から出ている全ての制御線は、チップが工ミュレーショ
ンモード中であれば、一度バイブラインの中が全部処理
された後は活動停止り状態を維持する。シミュレーショ
ンモードでは周辺機器はCPUと共に停止すする。
パイプステップに於いて、CPUブロックは停止条件が
検出された際に停止する唯一のブロックである。CPU
はパイプラインクロック境界上で凍結し、パイプライン
は凍結し、全ての外部記憶装置へのアクセスはどこから
かDONE信号が供給されると、成功裏に完了する。全
ての外部記憶装置制御線は非活動状態となる。アドレス
線は書き込み可能WE−および読み取り/書き込みR/
W−が高位となっている時は有効のままである。
このモードでCPUが始動され、装置が停止されていた
間に外部記憶装置へのアクセスを実行するように指令さ
れていたとすると、処理が始まったときに先のアクセス
は外部世界に対して再開される。周辺機器または記憶装
置との通信に関係する全ての制御線は非活動状態にリセ
ットされる。
クロックステップは装置を一つのクロック周期毎に歩進
させ;多重周期の場合は記憶装置の信号は現状を維持す
る。CPUは分析停止条件が検出されると、あらかじめ
決められているロケーションでNMI(マスク無し割り
込み)としてトラップをかける。コードの実行は継続し
、停止条件が発生された以降の全ての後続のプログラム
は、エミュレーショントラップからの復帰命令が実行さ
れるまで実行不能となる。その他の全ての領域では実行
が継続される。トラップという言葉は、プロセッサで処
理されるサブルーチンのハードウェア呼出を意味してい
る。飛び先番地は実行中のソフトウェアでは設定されず
、その代わりにプロセッサ自身の中で設定される。これ
に代わる機構はエミュレーショントラップ命令である。
開発中の操作として特定の命令をトラップ命令に置き換
えることが出来て、これはこの目的のためのソフトウェ
ア区切り点と呼ばれる。ソフトウェアがRAん1の中に
ある場合は、ソフトウェア区切り点が使用できる。ソフ
トウェアがROMの中に入っている場合は、ハードウェ
ア区切り点を用意して、RoM中の命令コードを動的に
置き換えることが出来ないという問題を解決している。
シミュレーションバイブフラッシュに於いて、停止l−
条件が検出されると、全チップを停■1−する。
CPUは命令の取り出しを+Thめで、その時点でパイ
プラインの中にある全ての命令を実行し、DONE信号
を第14図のコード状態機械1381に送る前に、命令
に結合されている全ての記憶装置の活動を完了して、走
査を行わせるために線路SCOUT上に停止条件信号を
出力する。CPUが停止するとその他の全てのブロック
も停止する。
停止条件が検出されるとシミュレーションは凍結し、全
チップは直ちに停止してDONE信号を出力する。全て
の外部制御線非活動状態となる。
シミュレーショントラップに於いて、分析停止条件が検
出されると、CPUはあらかじめ定められたロケーショ
ンでNMIとしてトラップをかける;それ以外では停止
りが発生する。コードの実行は継続し、停止l−条件が
発生された以降の全ての後続のプログラムは、エミュレ
ーショントラップからの復帰命令が実行されるまで実行
不能となる。
周辺機器の動作は、トラップが発生した時点からエミュ
レーショントラップの復帰命令が出されるまでの間中断
される。
プロセッサの特定の停止1−モードは既に述べたように
、第14図のモードレジスタ1311で決定される。個
々のレジスタの位置、配置および、停止モードに於ける
各々のビットの走査可能性は全くフレキシブルである。
べっの例では特定の停止モードは五つの制御ビットTE
ST、SIM、EMU、TAPEN、およびPFLUS
Hで実行できる。今述べたビットは本実施例では分析領
域に存在する。もしも停止モードが一般的に実際上はそ
れほど頻繁には変更されないものであれば、不必要にい
ろいろな領域にビットを走査することを避けるために、
これらを分離したモードレジスタ1311に入れて置く
ことも可能である。別のやり方としては、種々の停止ビ
ットを第2例で記述したようにいくつかの領域に配置す
ることができる。
シミュレー゜パイプライン 試験   シヨン フラッシュ EMU凍結  0 0  0 2Xυバイブ  0  0    1 フラッシュ EMU)ラップ  0   0     0SIN凍結
  0 1   0゜ SINパイプ  0  1    1 フラッシュ SIN トラップ  0   1     0試験凍結
  10     X エミュレーションとシミュレーション機能みとの間には
、微妙な違いがありこの概要は下記の通りであるニ ー般的に言って、エミュレーションとシミュレーション
との停止モードの間の一番の違いは、エミュレーション
ではCPUコアが停止しても周辺機器論理回路は能動状
態をIIvGすることである。
シミュレーションモードでは周辺機器論理回路も停止す
る。
バイブステップではCPUをパイプステージ境界で停止
する。エミュレーションおよびシミュレーションの違い
は、どの領域がM P S Dボートに応答するように
なされているかで決定される。エミュレーションモード
では、CPU領域のみが接続されている一方で、シミュ
レーションモードでは全ての領域が接続されている。周
辺機器およびインタフェース領域はエミュレーションモ
ードでは実行状態を継続するので、記憶装置の周期は完
全であり、周辺機器は運転を継続する。シミュレーショ
ンモードでは全ての領域が一緒に動作するので、その結
果CPU、周辺機器、およびインタフェースは同時に凍
結する。
パイプフラッシュ・・・パイプフラッシュでは、CPU
を命令境界で停止する。シミュレーションおよびエミュ
レーションモードでは共に、CPUコアが取り込んだ全
ての命令を完了するように要求し、先に述べたように要
求された凍結指令を実行する前に、バイブラインの作業
を片づける。エミュレーションモードでは周辺機器は局
部的に実行の継続を指示された場合は、実行を継続する
。シミュレーションモードでは周辺機器は停止する。
トラップ・・−トラップはCPUを停止する代わりにト
ラップを行う。エミュレーションおよびシミュレーショ
ンでのトラップの違いは、シミュレーショントラップは
トラップ動作中に周辺機器領域を、エミュレーショント
ラップ復帰命令が実行されるまで停止させる。
CPUコアは、SUSPENDと呼ばれる信号を発生し
、これは装置の残り部分にCPUが使用者プログラムの
実行を停止したことを伝える。各各の動作モードに於け
るSUSPEND信号の挙動は下記の通りである: EMU凍結−・・CPUが停止すると直ちに出力される
EMUパイプフラッシュ ・・・CPUが停止すると直ちに出力される。
EM11 }ラップ ・・・エミュレーションの為のCPU)ラップまたはモ
ード#lt位でのCPUスチップ実行または演算コード
実行時 に出力される。
SIN凍結−・CPUが停止仁すると直ちに出力される
SINバイブフラッシュ −・・CPUが停止(IIAI、T)すると直ちに出力
される。
引麗トラップ ・・・CPUがトラップを実行すると直ちに出力され、
Emtrap復帰命令の実行で解除される。
中断インタロプク機能に於いて、CPUは走査可能なビ
ットを有し、これはチップの残り部分に対して出力され
るSUSPEND信号を生じさせる。CPUが停止した
ときには、SUSPENDがコアのハードウェアによっ
てCPUが再開されるまで出力される。CPUは記憶装
置動作中に実行を求められているので、走査可能インタ
ロックビット(SUSILOCK)はCPU内にあり従
ってSUSPENDはソフトウェア命令で動作可能状態
に維持することができる。この様にして、SUS IL
OCには記憶装置の動作で起動される走査を、CPUが
実行できるようにする。このビットは第7A図のJTA
Gストラップ状態に於いて、非中断(動作不能状態)に
初期化される。チップに伝達されるSUSPEND信号
は、CPU停止信号とSUS I LOCKビットとの
論理和である。このビットが存在することによって、マ
グロや例えばfllls、findsまたはダウンロー
ド支援といった様なその他のプログラムが使いやすくな
る。
コアは記憶装置および周辺機器資源へのアクセスを行う
ために使用される。記憶装置の動作は、CPU資源を使
用して好適に生成される。記憶装置へのアクセスは、適
切なCPU記憶装置アクセス命令を含むCPU状態を走
査する事により生成され、これは適切な記憶装置または
Ilo空間へのメモリアクセスを引き起こす。これは機
械状態にバイブフラッシュビットの組、および必要な記
憶装置動作を行わせる適切な命令をパイプライン内にロ
ードして実現される。
何らかの記憶装置の作業が開始される前に、SUSPE
NDビットがCPUイメージの中に短時間設定され、シ
ステムの残り部分がCPUが実行モードに入ったことを
検出するのを防止している。
状態のロードが完了すると、CPUはM P S D−
時停止状態から停止状態になる。次にCPUはロードさ
れた命令を実行し、あたかも正常停止f順が終了したか
のようにSCOUTに実行中であることを示す信号を設
定し、バイブが空になって命令で生成された全ての記憶
装置動作が完了したときに、SCOUT上にDONE信
号を出力する。
バイブラインの中を走査して起動された命令を越える記
憶装置作業は発生しない。動作が終了すると、機械は停
止1−コードがMPSDボートから供給されたときに正
常停止が完了したかのような様子となり、パイプフラッ
シュビットをオンにする。
例えばメモり吐き出しまたはファイルのような多重メモ
り操作はマクロ演算を使用する。繰り返し操作は単一命
令操作を既に実現されている繰り返し操作にロードする
事で実行可能である。したがって繰り返し命令および走
査実行命令の両方をロードする必要はない。
どのような停止モードに於いても、分析領域は機能を継
続する。
命令手順および記憶装置並びにIlo操作で使用される
資源は次の通りである:プログラムメモり読み込み、プ
ログラムメモり書き込み、データメモり読み込み、デー
タメモり書き込み、Ilo読み込み、Ilo書き込み。
メモリのダウンロードを素早く実行するために、提出さ
れた実施例では好適にCPU走査経路をHし、これはメ
モリまたはIlo処理を起動するために転送されるビッ
ト数を最少とし、特にメモり転送が111−語の場合効
果がある。全てのレジスタファイルがブロック転送を行
うために使用されるときには、多重走査モジュールが使
用される。
短い走査経路の中に、以上述べたタイプのメモり操作を
実現するために必要な全てのCPU資源を含んでいる。
繰り返し命令および補助レジスタの自動更新機能は効率
的なロード手順を実行するために好適に使用されている
キャッシュがアーキテクチャの一部として採用されてい
る場合は、走査機能を介して容易にロードしたりアンロ
ードしたり出来る。これによってキャッシュが、ソフト
ウェア区切り点命令で柊rするマクロの設定を出来るよ
うにする。プログラム計数器およびキャッシュ管理ハー
ドウェアは、SUSPENDビットが設定され、実行が
起動されたときにプログラムの実行がキャッシュ無しで
確実に行われるように、設定されている。これによって
高速メモり転送、FTl、1.S、FI NDSおよび
その他のマクロ命令が実現できる。
キャッシュマクロ法の利点は、命令の結果としてはアク
セスする事の出来ない隠されたプログラムメモリを効率
的に作り出す能力がある点である。
都合良く、提出された実施例は単なるJTAG境界走査
の範囲を越える同時実行性を備えている。
ひとつの例としてマイクロプロセッサは、非常にa益で
あり、非常にg−lな内部情報へのアクセスを含む複雑
な応用処理を行う。JTAG境界走査は試験ボートを有
するので、この試験ポートは特定のチップに対する通信
を、同時にひとつまたは全てを一度に行うときにさらに
効果的に利用される。提出された実施例では命令をエミ
ュレーション制御レジスタ1251に送り込み、通信と
緩やかに結合して必要に応じて装置11が実時間で実行
できるようにしている。この様にして単なる静的試験環
境が改善されて、第16図のCODAおよびCODBの
様な命令をJTAG  IR1153にロードしそれを
復号して動作を実行することにより、上記命令に応じて
装置11の動的運転が行えるようになる。
チップクロック周期をクロック周期から導く代わりに、
提出された実施例では分析領域内に条件を設定し、次に
分析領域はそれが実時間で実行されるときに効果的にチ
ップの監視を行い、条件発生を検出してチップを停止し
エミュレーション主計算機1101にチップが停止した
ことを知らせる。実際第16図に示す提出された実施例
は、エミュレーション速度設定変換器として働き、エミ
ュレーション主計算機からの命令数を、主;1算機をク
ロック周期毎の監督から開放することによって減らし、
エミュレーション主計算機よりもはるかに高速のクロッ
ク周期で運転される最新のチップに適合している。さら
に提出された実施例は周期毎制御に関して上位互換であ
るが、これは走査インタフェース配線が第7A図のST
RAP状態に於いて、変換ブロックまたは翻訳器120
5でMPSD命令コードを生成するように使用できるた
めである。
提出された実施例はさらに、シミュレーション加速およ
びその他の装置デバッグ操作における使用法もある。装
置は機能クロックFCLKで実行され次に停止されて装
置の状態が復旧、監視および検証される。JTAG試験
可能インタフェースは、この様に刺激を走査経由で入力
し、状態単位で正確な−秒当たり10.000命令程度
の早さのシミュレーションを実現している。プロトタイ
プのシリコンパターンは、6桁を越える価格の試験装置
に投資すること無く容易にデバッグを完了できる。JT
AG境界走査では基板の検査にまで手を延ばすことを勧
めているが、本実施例では基板上にある各々の装置の内
部にまで到達している。
装置のデバッグは、傘での内部走査状態を生成し復旧で
きるので加速されている。
したがってエミュレーションシステムを通して機能コー
ドをダウンロード出来るという能力は、試験の分野にも
重要な示唆を与えている。利用者は自分自身で試験を行
える。提出された方法による自己試験に於いては、利川
者は装置11内に、または装f11にアクセス可能なラ
ンダムアクセスメモり(RAM>を有する。利川者はB
IST(組み込み型臼己試験)と同等な長大なプログラ
ムをエミュレーションボートを通してダウンロードする
。従ってBISTには特別なハードウェアは必要なく、
チップ上のエミュレーションハードウェアはこの付加機
能に適合するので余分な投資は不要である。利用者は試
験をエミュレーション機能を用いてダウンロード出来、
同一の試験パターンを、利川者が製造ラインで装置の実
行/非実行試験を行うときのように、直列順に実行する
ことが出来る。
さらに第23図に示すように、試験はチップ製造工程0
身にダウンロードされる。主計算機1101は好適に、
ウェファ−組立製造ライン1653の試験ヘッド165
1に結合されて、ウェファ−がチップに分割されたり別
の製造工程に入る前に各々のウエフy−1655上の装
置欠陥を検出する。第6図、第11図、第12図、第1
3図、第14図および第16図から第22図に関連して
記述されている走査インタフェースは、ウェファ−上の
多数の位置1657の各々に顕微鏡的に具備されていて
、このウェファ−から多くのチップがそれぞれ取り出さ
れる。
第23図の主計算機1101には、試験プログラムがロ
ードされていて、制御カード1141および直列伝送線
1103を経由してウェファ−試験ヘッド1661と通
信を行う。試験ヘッド1661は、x、y、z軸方向に
正確に位置決めされて、接触用配線1665をウェファ
−1655内の各々の四角い位置1657の微細な接点
部に対して確実に押しつける。位置1657に乗ってい
る回路は、例えば装置11用の回路である。主計算機1
101とウェファ−上の装置に周辺機器を接続すること
が可能であって、これらはバス1148上のプリンタ1
143.ハードディスク1145およびモデム1147
である。
第24図に示される工程によると、作業はウェファ−組
立製造1671から始まり、次のステップ1673でウ
ェファ−1655は、第23図に示す試験位置に運ばれ
る。次にステップ1675で試験ヘッド1651をXY
Z軸1663内で位置決めし、ウェファ−1655内に
ある次のチップに試験ヘッド1651を接触させる。次
のステップ1677で、走査自己試験パターンを試験ヘ
ッド1651経由でチップ内のRA Pvlにダウンロ
ードする。チップは機能クロックに切り替えられステッ
プ1679で回路内パターン試験が実行される。次にチ
ップの装置状態が第6図の回路1150および1203
をfiする微笑インタフェースを通して、1657の場
所で走査される。信号は試験ヘッド1651を通って主
計算機1101に送られ、そこで処理されたり、データ
の蓄積がなされたり、また周辺機器に表示されたりする
。ステップ1683で主計算機1101は1657の場
所にあるチップに欠陥があるか否かの判断を行う。欠陥
がある場合はステップ1685で実行ステップ1687
に分岐して、ウェファ−に点状の印を付け、モして/ま
たはその欠陥内容を示すデータを記録して、回路の微細
修復作業時に有効利用する。次にステップ1689でも
しも全てのチップの試験が終わっていなければ作業をス
テップ1675に戻し、試験へラド1651の接点16
65を正確に、ウェファ−1655内の次の試験チップ
に移動させる。もしも全ての位置の試験が終了すると、
作業はステップ1689から判定ステップ1691に分
岐する。もしも次のウェファ−を試験する場合は操作は
ステップ1673に戻り別のウェファ−を試験位置に運
び、そうでない場合は工程はENDI693となる。
装置11に於いて、コアCPUは次の機能を具備してい
る: 走査インタフェースから指示された際のストラップ機能
走査インタフェースから指示された際の実行および停止
ソフトウェア区切り点またはハードウェア区切り点に達
した場合の停止。
コアクロックの走査クロックへの切り替えおよび走査準
備の選択。
周辺機器の始動/停止1−を行わせるための中断信号を
チップの残り部分に通報する機能。
装置停止理由を表示するための記録保持機能。
割り込み発生管理機能。
区切り点およびソフトウェア割り込み発生に対するパイ
プライン管理機能で、これらが遅れを持った分岐と干渉
したりその他のパイプライン使用事態が生じたときに管
理する機能。
割り込み発生時に一時に一つの命令を実行し、割り込み
処理ルーチンを実行するような命令ステップ。
コアが停止l−中にCPUコアからメモリアクセスを生
成する機能。
過去のプログラムが不連続となった回数を追跡するため
のプログラム;1数器。
CPUコアがコード実行中にメモリへの読みだしおよび
古き込み機能:デバッグ監視器、またはチップ上または
メモり内に存在するspoxデバッガとの通信機能。
第25A図および第258図には、CPUコア領域12
13の回路機能のブロック図を示し、これは人力CSC
INから供給される小さな四角で示されている一連の走
査レジスタで改善されている。走査レジスタおよび関連
するいくつかのモジュールのMP S Dモジュール回
路の詳細構造は、図面を見やすくするために、第25A
図および第258図では省略している。
CPUコアは、プログラム計数スタック91とは別の、
トレーススタック回路1695を具備することによりさ
らに改善されている。スタック91とは異なって、トレ
ーススタック回路1695は、プログラム計数器の不連
続性の記録を展開し、これが容量一杯に満たされると、
TRFUL、)レーススタック満杯信号を発生する。
ハードウェア区切り点回路1697は、プログラムアド
レスバス101Aに接続され、特定のプログラムアドレ
スまたはプログラムアドレスのあらかじめ定められた範
囲のアドレスを検出するとプログラムアドレス区切り点
信号BPPAを発生する。
第258図に於いて、ハードウェア区切り点回路169
9はデータアドレスバス111Aに接続され、特定のデ
ータテドレスまたはデータアドレスのあらかじめ定めら
れた範囲のアドレスを検出するとデータアドレス区切り
点信号BPLAを発生する。
走査を行う目的で、トレーススタック1695、および
区切り点回路1697および1699は分析領域121
7への分離された走査経路上に乗っている。しかしなが
らコアはコア領域1213への走査経路上に乗っている
第26図はm8図から第10図および第12図から第1
4図に示す分析領域1217内部の回路を示し、これは
選択された好適なモードに従ってコアに於ける分析を停
止■ニさせるための区切り点信号ANASTPを発生す
る。回路1217は、側倒のプロセッサ状態を表す信号
を発生するチップ組み込み型回路を有する。これらの信
号はIAQ。
CALL、RET、INT、BPPA、BPDAおよび
TRFULと表現されている。これらの検出された信号
の各々には、ANDゲートで示されている個別の選択回
路1703が用意されている。
回路1703の出力はORゲート1705に送られ、そ
の出力がANASTP、区切り点信号である。選択回路
1703は記憶されているビットの制御器で動作し、こ
れらのビットはtPJ11図および第12図に示す走査
経路1252の一部である分析領域1217経出でロー
ドされる。
従って、走査されたビットは分析領域のこの部分の、1
2ビットレジスタ1707.3ビヴトレジスタ1709
および単一レジスタ1711.1から1711.8にロ
ードされる。
各々のレジスタ1711.1から1711.8の内容は
、対応する選択回路1703の一つを動作可能としたり
動作不能として、ANASTP区切り点信号にトリガを
かける装置11全体の条件が完全に定義できる。
線路IAQは、第25A図のパイプライン制御器225
に命令取得がなされたときに活動化される。停止操作を
開始するこの方法は、ROM駐在のコードであっても単
一ステップ運転を実行する。
プログラムメモリから命令が読み込まれた任意の周期が
命令取得である。本実施例のバイブラインに於いて、命
令取り込みは第29図に示すように四つのパイプライン
ステップの第1番目であって、取り込みが発生すると線
路IAQが活性化される。
CALLはサブルーチン呼出がなされたときに活動化さ
れる。RETはサブルーチンから戻ったときに活動化さ
れる。従ってもしも希望するなら、分析領域は装置をサ
ブルーチンの始まりで始動し、サブルーチンから戻った
時点で自動的に停止させるようにプログラムする事もで
きる。これとは逆に、装置の始動を主ルーチンのどこか
で開始し最為速で運転し次にサブルーチン呼出がされた
時点が6動的に停止するようにもロードできる。
INTは割り込み発生に応じて揺動化される。
割り込み発生で停止するようにプログラムされている時
は、停止動作はエミュレー外ラップを除いて、プログラ
ム計数器をロードするように機械を導いて好適に実行さ
れる。割り込みが発生すると、CPUは停■Lされ割り
込みがラッチされるが、これらはCPUが再開されるま
では実行されない。
CPUが再開されるとこれは、その時点でアドレスに入
っている命令を割り込みベクトルのトラップを許す前に
実行する。コードが単一ステップで実行されているとき
には、コードはパイプライン  ーが一杯になると直ち
に割り込みトラップを、あたかも実時間で実行されてい
るかのように行う。
BPPAはプログラムアドレス区切り点回路に応答する
線路である。BPDAはデータアドレス区切り点回路に
応答する線路である。BPDAデータアドレス区切り点
の使用例は、デバッグの問題を解決するものであって、
例えばほとんどの時間プロセッサは正しく動作するが、
特定のアドレスでときどきゴミデータを拾うような場合
に使われる。区切り点を問題のアドレスに挿入すること
により、使用者はそのアドレスに書き込みをおこなった
命令でプロセッサを停止し、停止したプロセッサから命
令を検索走査して主計算機1101に送り、プロセッサ
の状態を調べてどのようにバグを突き止めるかの判断を
行う。この様にして、システムデバッグが時間的にもシ
ステム資源の使用の面からもさらに効果的になる。
特定アドレスがアクセスされた瞬間にシステム状態を判
定するもう一つの方法は、そのアドレスの内容をトラッ
プ命令に置き換えることであろう。
この命令はソフトウェア区切り点と呼ばれ、その挿入は
開発型の操作である。トラップはプロセッサで処理され
るサブルーチンのハードウェア呼出である。サブルーチ
ンは装置状態を吐き出すようにプログラムされているの
で、使用者はそれをデバッグすることが出来る。しかし
ながら、デバッグ対象のソフトウェアがROMの中にあ
る時には、トラップ命令をROMの中に人力することは
、ROMとは読みだし専用という定義であるから不可能
である。好適にハードウェア区切り点による方法は、ソ
フトウェア区切り点と同様にRAM内のデバッグに使用
できるのみならず、ROMにも使用できる。
MUX1713は八つの人力を6し、その内の七つはそ
れぞれ線路IAQ、CALL、RET。
INT、BPPA、BPDAおよびTRFULに接続さ
れている。八番目の線路は機能クロヴク用のクロック線
FCLKに接続されている。クロック線は、プロセッサ
を停止させるまでのクロック数として、単一ステップで
も任意の数のクロック周期も選択できる。
シフトレジスタ1709の3ビットで、MUX1713
の八個の選択を行い、選択された線路を12ビットダウ
ン計数器1715に供給する。あらかじめ決められた計
数値が計数器1715の1(ジャム)並列入力に12ビ
ットシフトレジスタ1707からロードサレル。MUX
1713j:、。にって選択された信号が線路上に発生
すると、12ビットダウン計数器はシフトレジスタ17
07の内容が示す数値が無くなるまでカウントダウンを
行い、計数値が空になると借り数線路1717が活動化
してこれは選択器1703.1に供給される。借り数線
路信号は第11図の事象管理装置1365で使用され、
CNTBRWと呼ばれる。
選択器1703.1の出力は、ANASTPを供給する
ための結合1111路1705の人力に接続されるのみ
ならず、直接−つの出力ビンEMUOにも接続されてい
る。
この様にして、回路内状態検出器は検出器回路に選択的
に接続できる計数器をaする。論理回路網が検出器回路
に接続されていて、SRLを備えた直列走査回路が論理
回路網に内部接続されていて、論理回路網によって検出
器回路の選定を行う。
直列走査回路はさらに計数器にも内部接続されており、
状態検出器が動作可能となるあらかじめ定められた:1
°数値を=1−数冊にロードする。状態検出器はさらに
、電子式プロセッサおよび、入力を検出回路にまたその
出力を計数器に接続されたマルチプレクサ1713の特
定の内部状態に感応する、複数の検出回路を有する。
ダウン計数器1715の使用例(単一ステップは除く)
は以下の通りである。計数器1715に走査レジスタ1
707から200が設定され、MUX17131:4;
Lレジスタ1709によってBPDAデータアドレス区
切り点を選択するように設定されていると仮定する。特
定のデータアドレスが第28図のレジスタ1813に人
力される。この構成では走査で同定された特定のデータ
アドレスが200回アドレス指定されるとプロセッサを
停+1する。
巳の例に示したアドレス区切り点計数の使用は、ディジ
タルフィルタを設計するときに有用であるが、これはデ
ィジタルフィルタはある数の信号すンプルを処理してこ
れでフィルタ内のデータエリアを満たすまで安定しない
ためである。例えばFIRフィルタの応答は、全ての多
重累積フィルタ領域を満たすのに必要な数のサンプルが
存在するまで、測定不能である。関心のあるのはフィル
タ動作が正しいか否かを評価するためのフィルタ出力で
あって、従って信号がフィルタを通過してからでないと
始められない。16タップFIRフィルタでは16事象
経過後に停止しねその後はフィルタ出力を調べるために
毎事象ごとに停」卜するのが望ましい。
好適に分析回路が主計算機1101と共同でディジタル
フィルタのエミュレーション、シミュレーションおよび
試験を行う様子を示した。
別のフィルタの例では、計数器借り敷線は走査レジスタ
1711.1で選択され、ビンEMUOに信号を出力し
て外部論理回路が事象の数を、周波数をダウン計数器1
715の値で分周した早さで計数する事を可能としてい
る。アルゴリズムのタイミング分析は50億周期程度を
必要とし、タイミング分析ではアルゴリズム実行に必要
な周期の数が決定される。(もしも計数器が走査可能な
様に作られていて、適切なビット数まで拡張されていれ
ばこの機能は好適にすべて回路内で実行される。)個々
のフィルタ設計では、そのフィルタに指定された性能基
準に合致する最低限のサンプル速度を必要とする。この
サンプル速度を実現するために利用可能な命令の最大数
は、サンプル速度と計数器のクロック速度とに関係する
。本回路はアルゴリズムを実行するためにフィルタで消
費されるクロック周期数を正確に計数出来るので、フィ
ルタの仕様に合うようにアルゴリズムの開発が出来る。
外部論理回路が使用されている場合は、その分解能はレ
ジスタ1707によって計数器1715に設定された数
に等しい。完全な分解能は12ビットダウン計数器の値
を読み取ることで得られるが、ふたつの区切り事象間で
のアルゴリズムの正確な−周期数を求めることが出来る
ので、この提出された実施例のさらに別の長所を永して
いる。区切り事象そして/またはクロック周期め回路内
計数器1715による直接計数は、さらに都合がよいが
その理由は、利川できる外部計数論理H路は最新のプロ
セッサを監視するには遅すぎてついて行けないためであ
る。
ここで言う区切り点事象とは、プロセッサを停止させる
かまたは計数器1715に影響を及ぼす状態のことであ
る。模範的なプロセッサ内での事象検出は、CPU領域
と分析領域との分割である。
ふたつの領域は合わせて九つの異なる事象を具備し、そ
れらの全てのプロセッサを停止させるようにプログラム
出来る。事象とそれぞれの領域とを以下に示す: 出力元 1、ソフトウェア割り込み(Swl)     CPす
2、命令取得(IAQ)           CPI
I3、サブルーチン呼出(CALL)      CP
U4、サテルーチン復帰(NET)       CP
II5、割り込み/トラップ(jNT)      C
PUB、クロック(CLK)           C
PU1、区切り点プログラムメモリアドレス ANA(
IIPPMA) 8、区切り点データアドレス(BPDMA)   AN
A9、トレースバフファ満杯(TBIコ)     A
NA10、項目計数器借り数(IcB)       
^l^全ての事象は第26図に関連して記述したように
、分析領域内で動作可能とされ、検出されそしてラッチ
される。
CPUコアは−度停■1−状態が処理されると、局部ま
たは分析人力の処理は行わない。これにはエミュレーシ
ョントラップが発生してからエミュレーショントラップ
復帰が実行されるまでの時間も含む。
コアは以下の強化された停止信号に応答する:CPUL
STP−コア局部停止信号 ANASTP−分析停止 SWBP−ソフトウェア区切り点検出 11ALT−M P S D停止コード停止が検出され
ると、LSTPCND (停止状態ラッチ)がコアおよ
び分析ブロックに出力される。分析領域の情報が主体と
なっているときには、CPU停止を示す信号が分析領域
で読めることが望ましい。これはエミュレーショントラ
ップモード時はコア領域は実行を継続する一方で分析領
域は停止するためである。
エミュレーション停+l−機構によって停止が発生した
ときに、機能リセットは受は付けられない。
装置11のリセット論理回路(図示せず)は、ゲート機
能を通って装置に入力される全てのリセット入力が、正
しくリセット機能を完了するように十分な長さに引き延
ばされるように考慮されている。停止状態と同時にリセ
ットが発生すると、リセットは完了されて、リセットが
完了した時点で装置は停止し、割り込みトラップベクト
ルが取り込まれる。
装置11での割り込み処理は、アダプタ1203内のC
ODAおよびCODBで実行されている、エミュレーシ
ョン実行/停止動作と調和が採れていなければならない
。命令またはクロックステップが実行されるときに、割
り込みが動作可能であれば実行される。これによってコ
ードを通してのをlt−命令ステップが割り込み処理を
行えるように保証される。
第26図および第2図およびここでの記述によって、半
導体チップおよびチップ上の電子式プロセッサとで構成
されたデータ処理装置をHする電子式システムが示され
ている。チップ外にある主計算機がデータ処理装置に接
続されている。主計算機(例えば;1−算機1101)
の動作速度は、電子式プロセッサよりも遅い。データ処
理装置11はさらに、チップ登載ハードウェア区切り点
アドレス回路、トレーススタック、バイブライン制御装
置状態検出回路およびプロセッサに実時間で1=号を送
り、かつより低速の主計算機にも信号を送るための計数
器1715を含むその他のチップ登載状態検出器を有す
る。アダプタ1203は低速の主計算機1101と最新
技術速度の装置11との間で制御速度の昇速変換器とし
て働く。分析回路はまた実時間制御機能の調整を行うと
同様に、計数器1715を介して、より低速の外部環境
にデータを伝送するための降速変換器ともなる。強調し
ておく必要があるのは、第26図の回路は一つの例であ
って、熟練の技術者の手によればここに開示された原理
に基づいて、多くの変形を行うことが出来、状態の任意
の論理的組み合わせを行って、状態の複雑な結合や状態
の順序を検出できる検出器論理回路を用意できるであろ
うという点である。区切り点信号は図に示したように、
停止信号ANASTPとしても、また停止信号の他に検
出された対象装置の電気的状態に対応するその他の制御
信号とすることも出来る。
第27111Jに於いて、第26図の分析回路の動作方
法はSTART1721で開始され、ステップ1725
に進み、命令の受は取りを検出する。ステップ1727
はサブルーチン呼出を、またステップ1729はその復
帰を検出する。ステップ1731に於いて割り込み状態
が検出される。ステップ1733は区切り点プログラム
アドレスを、またステップ1735は区切り点データア
ドレスを検出する。ステップ1737に於いて、トレー
ススタック満杯状態が検出される。次にステップ173
9でどの状態が有効であるかを、例えば第26図のシフ
トレジスフ1711および論理回路1703を使用して
選択する。状態が選択されると、計数値がステップ17
41で保存される。判定ステップ1743では、計数値
があらかじめ定めた計数値Nを越えているかの判定を行
い、もしも越えている場合は、計数値Nに到達したこと
を示す信号がステップ1745で出力される。動作はス
テップ1743または1745のいずれかから、ステッ
プ1747に進み、ここでは装置11の動作速度よりも
遅い速度で運転される外部処理装置に信号を出力する。
ステップ1749に於いて、この出力は主計算機に結合
され、ここで動作はSTART1721に戻りステ・ツ
ブを無限に縁り返す。
第28図に於いて、第25A図に示す区切り点検出器1
697回路は、信号BPPAを第26図の分析回路に出
力する。回路は好適に第25B図の区切り点検出器16
99に複製されており、図に示すように信号BPDAを
発生するように接続されている。
第28図では第25A図のプログラムアドレスバス10
1Aはディジタル比較器1811に結合されている。基
準値は走査によってさらに別の分析領域内のレジスタ1
813にロードされており、これは最上位ビットMSB
と最下位ビットLSBを有する。アドレスバス101A
上に提示されたプログラムアドレスがレジスタ1813
の内容と一致したときには、比較器1811は区切り点
アドレスが発生したことを示す信号を線路BPPA上に
出力する。
区切り点回路のさらに特筆すべき特徴は、区切り点が、
例えばranipの様に、レジスタ1813の最上位ビ
ットMSBで示された、選択されたアドレスの組の中で
あれば、任意のアドレスで指定できるということである
。この様な場合は、走査可能なマスクレジスタLSBE
Nがロードされて、比較器1811がレジスタ1813
のLSBビットに応答しないようにする。この様にマス
クされた状態では、最上位ビットのみが比較器1811
で比較されるので、アドレスのある特定範囲内にあるプ
ログラムアドレスで、区切り点を発生することができる
区切り点の為の、走査可能レジスタ1813はデータバ
ス111Dに接続される必要は無い。しかしながらこの
レジスタ1813は、第2図に示すエミュレーション/
シミユレーシヨン/試験主計算機1101と対象装置の
データバス111Dとの間でメツセージの送受信を行う
ように好適に再利用できる。メツセージ通過機能は、区
切り点検出を行う必要が無いときに使用され、またその
逆も言えるが、レジスタ1813は時間によって異なる
機能を柔軟に実行する。
第29図では、分析領域1217内の特別なプログラム
計数器トレーススタック回路1821があらかじめ定め
られた数のアドレスを保持しており、これはCPUコア
領域内の第25A図のプログラム計数器93の動作の不
連続アドレスの履歴を定めている。走査可能トレースス
ータックレジスタ部1823は制御回路221に応答し
、プログラム計数器で不連続が発生した時に、プログラ
ム計数器93のアドレス値をトレーススタック上で押し
上げる。スタック1823の各々のレベルPCO,PC
I、・・・、PC9の先頭ビットS/E1゜・・・、S
/E9には状態ベクトルが格納されていて、pco、・
・・PC9の値が不連続の開始アドレスか終了アドレス
かを表している。
例えば、第31図に於いて、プログラムメモり空間はア
ドレスAI、A2およびA3を有し、こ−れらは割り込
みが発生する主ルーチン内のアドレスを表している。割
り込み処理ルーチンはアドレス■1で始まりアドレスI
Nで終了する。第29図に戻って、不連続性履歴の例と
してアドレスがスタックレベルPC9,・・・PCOの
右側に記入されている。この履歴は、レベルPC9では
主ルーチンがアドレスA1で実行されていたときに、割
り込みが発生したことを示している。従ってPC9内に
A1が入力されるすぐ上には、■1があって、これは第
31図の割り込みルーチンの開始ア′ドレスを表し、ス
タックレベルPC8に記入されている。この様にPC9
の記入内容は不連続の開始アドレスであって、状態ベク
トルビットS/E9とS/E8の論理レベルは反対のは
ずである。
例えばS/E9内の一ビツトは不連続の始まりを示す。
レベルPCB内の11は不連続の終了アドレスである。
次にさらにこの例を見てみると、レベルPC7ではアド
レスINで割り込みルーチンが終了し、主ルーチンのア
ドレスA1+1への戻りが発生したことを示す。次に主
ルーチンはレベルPC5に示されるアドレスA2まで実
行を継続し、ここで割り込み開始アドレス11がスタッ
クレベルPC4に人力される。割り込み処理はレベルP
C3のアドレスINまで実行されここで処理はレベルP
C2−のメモリアドレスA2+1に戻る。主ルーチ  
−ンは実行を継続し、レベルPctに記入されているア
ドレスA3に達するとアドレス11への割り込みが発生
し、レベルPCOに入る。
プログラムトレーススタック1821の状態べクトル先
頭ビットは、スタックを目的としたシフトレジスタと似
ており、シフトレジスタの最終部S/E9はORゲート
1825に出力される。ORゲート1825はさらにプ
ログラム計数シフト出力レジスタPCSO1827に接
続されている。
PC501827の出力は、ORゲート1825の第2
人力にフィードバックされる。第1の論理l”がスタッ
ク1821の底からORゲート1825に押し出される
と、レジスタ1827は出カドレーススタック満杯信号
TRFULを、第26図の分析回路に対して指示する。
引き続いてスタック1823に人力が入ると、0信号が
スタックからORゲー)1825に押し出される。
しかしながら、レジスタ1827はORゲート1825
から、トレーススタックが満杯を示す1゜をロードされ
続ける(PCSOから1825へのフィードバックの助
けによって)。
この様にして、状態ベクトル先頭ビットは1゜と0”と
で交互に変化するコードによって、不連続の数を数える
計数装置として働く。トレーススタック1821は、そ
れを押し上げ可能な入力と、入力の付加ビットを記憶す
るための装置とをHする。PCS01827は入出力を
有するオーバーフロー記憶素子1827として働く。O
Rゲ−)1825は信号結合回路として働き、その一つ
の人力は記憶素子(例えばPC9)に接続されている。
ORゲート1825は第2人力とひとつの出力とを有し
、これらはそれぞれオーバーフロー記憶素子の出力と人
力とに接続されている。
回路221は一般的に、分岐または割り込みまたはその
他の不連続が発生したときに新しいアドレスをプログラ
ム計数器93に、上記の事象が発生しなかったら連続し
たアドレスとして人力されたであろうアドレスの代わり
に、人力しこの様にして不連続を発生させる。制御回路
221は最新アドレスをプログラム計数器スタックに、
また新しいアドレスをトレーススタックに押し込む回路
をHする。制御回路221はまた、メモリからのアドレ
スに応答し、また割り込みルーチンの完了でプログラム
計数スタック91を押し上げ、トレーススタック182
1をもう一度押し込むように動作する。
後続の命令または割り込みが不連続を引き起こすときは
、5個までの不連続がトレース出来る。
もしもプログラム計数器PCにふたつの連続した周期が
ロードされる場合は、現在値と前回の新値とが等しいの
で一つのスタックレベルのみが使用される。
第30図は第29図の回路を動作させる工程が示されて
いる。動作はSTART1831で開始され、試験ステ
ップ1833に進み不連続の開始アドレスが発生してい
るか否かの判定を行う。もしなければ動作は試験ステッ
プ1835に進み、サブルーチンからの戻りがあるか否
かの判定が行われる。もし無ければ、次に動作は試験ス
テップ1837にループバックしてトレーススタックが
満杯か否かの判定を行う。もし満杯でなければね動作は
試験ステップ1833に戻る。例えば主ルーチン実行中
に、第30図の工程ではステップ1833.1835お
よび1837の監視を繰り返し実行する。
一方、不連続状態が発生すると、動作はステップ183
3からステップ1839に行き、最新アドレス(例えば
主ルーチンのアドレス)をPCスタック91およびトレ
ーススタック1821に押し込む。次にステップ184
1で動作が分岐していく先のアドレスまたは割り込み先
のアドレスである新アドレスがトレーススタック182
1に押し込まれる。次にステップ1835で割り込みル
ーチンが実行されている間、動作はステップ1835.
1837,1833.1835といったように無限に繰
り返される。割り込みルーチンが完了するとステップ1
835はステップ1842に分岐し、そこから動作が復
帰してきた割り込みルーチンの最終アドレスをトレース
スタック1821に押し込む。次に動作はステップ18
43に進み、PCスタック91を押し上げてプログラム
計数器93の復帰を許可し、主ルーチンの処理を割り込
みが発生したときの元のアドレスから開始する。
次に第30図で、動作はステップ1843からステップ
1845に進み、ここで動作が復帰した最新値がトレー
ススタック1823に押し込まれる。そこで動作はステ
ップ1837に行く。相当な不連続状態の履歴が発生す
ると、トレーススタックはステップ1837で満杯とな
り、ステップ1847に分岐して信号TRFULを出力
する。
第32図によって、PCスタック91の動作がおそらく
もっとも効果的に、プログラム計数器トレーススタック
1821の第29図に示す動作と対比して示されている
が、この場合は不連続状態にはサブルーチンの入れ子構
造も、その他の入れ子構造も含まれていない。第29図
に於いて、不連続状態が発生したアドレスは、入れ子構
造は無いものの、トレーススタック1823内部に深く
押し込まれている。しかしながら第32図に於いて、P
Cスタック91にはひとつのアドレスが入っているか何
も入っていないかであって、これは入れ子構造がないた
めに押し上げた後に押し込んでいるためである。押し込
まれたアドレスは主ルーチンアドレスであって、ここか
ら処理が割り込まれたアドレスである。復帰時にはPC
スタック91は押し上げられて、PCスタックの箱内に
ハイフンで示すように何も人力されない。
第33図は提出された実施例のシミュレーションされた
周辺機器へのアクセス状態を示す。第33図で第2図と
同様に主計算機1101は直列伝送111103によっ
て、装置1043に接続されており、この装置には開発
中の装置11を具備した回路基板が乗っている。装置1
043には周辺機器1871が欠落しており、これは後
で具備される物である。装置11は電子式プロセッサ1
873を有し、これは周辺機器にアクセスするための第
1信号を発生するように動作する。周辺機器1871は
、もしもこれが存在する場合は、アクセスが読み込みま
たは書き込みのいずれかの場合線路ME1875上に第
2信号を応答する。アクセスが読み込みの場合、周辺機
器はまたデータも一緒に返送する。
検出回路1877が電子式プロセッサ1873に接続さ
れていて、第1信号がCPU1873から送られたとき
に、周辺機器1871にアクセスする目的で、CPU1
873の動作を一時的に中断する。検出回路1877は
、分析並びに$制御回路1879に内部接続されている
。走査可能インタフェース1881はCPU1873に
接続されており、CPU1873からの信号を先に記述
した走査経路経由で、主計算機1101に供給する。
主計算機1101は欠落している周辺機器1871をシ
ミュレーションし、周辺機器1871がどの様な第2信
号を供給するかの判断を行う。従ってこの様な周辺機器
1871のシミュレーション時に、主計算機1101は
直列ビット信号の列を線路1103に沿ってインタフェ
ース1881内にダウンロードする。直ちにインタフェ
ース1881は、周辺機器1871がCPU1873に
応答して供給するであろう第2信号を供給する。この様
にしてCPU1873はあたかも欠落している周辺機器
が存在するかのようーに信号を受は取れる。CPU18
73用のクロック回路1881はプロセッサにクロフク
信号を供給する。
今述べた構成は、提出された実施例に組み込まれており
、走査可能インタフェースが第9図のメツセージ通過周
辺機器1216として具備されている。メツセージ通過
および分析回路1879は好適に分析領域1217に集
積されており、これはCPUコア領域1213に内部接
続されている。
この様にして、欠落している周辺機器1871のシミュ
レーションは、装置i!11の停止および始動を欠落し
ている周辺機器1871の代わりに主計算機1101が
信号を供給することにより実行され、さらにCPU18
73はその実行時に最高速で動作する。これを視覚的に
、ストロボ先の元でダンスを踊っているバレリーナにた
とえられる。
以上述べたように、主計算機1101は第33図のCP
U1873からの信号発生に応答して、欠落している周
辺機器1871をシミュレーションするように動作し、
インタフェース1881に周辺機器1871が存在して
いたなら応答したであろう第2信号に相当する信号をロ
ードする。次に制御回路1879はCPU1873の動
作を再開し、周辺機器1871が存在していないにも係
わらず、インタフェースから第2信号を受信する。
第33図の構成は、単に図示を目的とした物であって、
例えばDMA制御器、UART、AS I Cおよびそ
の他の回路といった種々の回路やデイジタルブセッサ等
の、開発には必要であるが一時的に欠落している付加回
路も、主計算機1101が付加回路のシミュレーション
を行うことで「具現化」出来ることは理解されよう。
第34図はたとえば第32図のシステム1043の様な
開発途中のシステムの運転方法を示したものであり、第
1回路は有するものの、第2回路は欠落していて後で具
備されるようになっている。
第1回路は第1信号を送信し、この信号に対して第2回
路が存在する場合は第2信号で応答する。
第34図でこの方法はSTART1901で開始され、
ステップ1903に進んで、第1回路から第2回路にア
クセスするために送信された第1信号を検出する。次に
ステップ1905で、工程は動作を一時中断されるが、
これは第1信号が検出されたときに第1回路によってな
される。次にステップ1907に於いて、第2回路をシ
ミュレーションして第2(a号を表す信号を発生する。
後続ステップ1909では、第2信号の模擬信号を第1
回路用にインタフェース内にロードする。最終ステップ
1911では、第1回路の動作を再開して、第1回路が
第2信号を模擬された応答としてインタフェースから受
信するようにする。ステップ1911が終了すると、動
作は開始1901に戻りこの工程を繰り返す。
第35図はチップ上に登載されたメツセージ通過回路1
216のブロック図を示す。メツセージ通過回路192
1は分析領域1217、コア領域と内部接続されており
、エミュレーションアダプタ1203および走査制御器
1149と通信している。割り込み発生回路1943も
またメツセージ通過回路1216の残りのインタフェー
スであって、装置11の16木の割り込み線に接続され
ている。第11図および第35図の直列走査経路は、シ
フトレジスタ1923CMD/STATUSに人力され
る直列データ人力MSINをHし、これはメツセージ通
過回路1216を動作させる命令入力と、状態情報を検
索出力するためのものである。直列経路はさらに16ビ
ットデータレジスタとして示されている直列レジスタ1
925に接続され、走査経路に信号に入力がなされると
、MSOUTと示された信号を出力する。これらのシフ
トレジスタは第33図の直列/並列インタフェース18
81に対応する。シフトレジスタ1925の機能は、分
析領域内のレジスタ1813に組み込むことができ、再
利用の原理でメツセージ通過機能のために必要なチップ
領域は概して最少化することが出来る。
シフトレジスタ1925giMUX193117)出力
に接続されており、これは三本の経路の内から一つを選
び出しレジスタ1925にロードする。
三本の経路の内の二本は第9図および第15図のTI 
BUS周辺バスのデータおよびアドレス部である。第3
5図で、データ部は1935でまたアドレス部は193
7で示されている。三番目の経路は通信レジスタバス1
939と呼ばれ、通信レジスタ1941に接続されてい
る。
メツセージ通過回路1216は、シミュレーションされ
ている周辺機器にアクセスする場合や、主計算機110
1をあたかも付加プロセッサと見なして■10(入力/
出力)通信を行ったり、また主計算機1101と装置1
1との間でデータ構造の麦換を行う場合に有川である。
メツセージ通過回路1216の構造並びに動作は、シミ
ュレーションされた周辺機器とのアクセスを例としてさ
らに記述する。装置11は、好適に周辺機器アクセスま
たはその他の外部通信が開始されたときに、MUX19
31経由でレジスタ1925に並列ロードされる。主計
算機1101はレジスタ1925の内容を走査して、欠
落している周辺機器の応答をシミュレーションしてレジ
スタ1925の中にアップロードする。このレジスタ1
925内部の情報は、欠落している周辺機器から戻され
て読み込まれるべきデータを含んでいる。このデータを
周辺バスに運ぶために、レジスタ1925はMUX19
45で選択され通信レジスタ1941にロードされる。
次に通信レジス91941 ハ、データをMUX195
5を経由して供給し、次にTIB−US周辺バスのデー
タバス部分1935上の出力バツファ1947は、装置
11の適当な部分に装置11の制御回路の制御に従って
、あたかも周辺機器が存在するかのような応答を返す。
MUX1945はまた逆方向データ伝送も実現でき、こ
の場合は外部からTIデータバス1935に入力され、
た通信は、MUX1945の入力部1951に達し、こ
れは通信レジスタ1941を経由して、通信レジスタバ
ス1939およびMUX1931を通って、16ビット
データレジスタ1925に通信される。
MuX1955は通信レジスタバス1939または付加
バス1961のいずれをデータレジスタ1925に直接
接続するかの選択を行う。この様にi、Cデー9はn路
1961、MUX1955および出力バッファ1947
経由して、レジスタ1925からTIデータバスにより
直接的に接続することができる。
バッ−ファ状態フラグは、装置11の11−ドウエア1
965から読み込み/書き込み信号線路R/W−に沿っ
て、CMD/STATUSレジスタ1923に通信され
、主計算機1101で走査検索される。主計算機はこれ
らのバッファ状態フラグを受は取り、その「具現化」応
答を含む、周辺機器をシミュレーションした応答命令信
号を線路ME上に返す。
レジスタ1923からの命令ビットのいくつかは、命令
復号器CMD  DEC1971に通信される。復号器
1971は、命令の復号を行い、MUXへの出力線OP
O・・・OPN、メツセージ通過回路1216のレジス
タを選択的に活動化し、命令に従って動作させる。従っ
てプロセッサレベルの複雑さおよびフレキシビリティは
メツセージ通過回路1216内部で可能である。さらに
別の特徴として、さらにフレキシビリティを上げるため
に、MUx1945の二つの入力1951 ハ周辺バス
TIBUSのデータ部に接続されている。レジスタ19
25は割り込み発生ブロック1943に接続されており
、装置11の割り込み状態も主計算機1101から走査
されロード出来るようにしている。
強調しておくべきことは、機能クロックFCLKが働く
のは、データがレジスタ1925に装置11の周辺バス
からロードされ、バッファ状態フラグがレジスタ192
3にロードされた時である。
試験クロックJCLには、レジスク1923および19
25内のデータが主計算機1101にアップロードされ
た時、およびデータがこれらふたつのレジスタにダウン
ロードされたときに、動作する。従って、機能クロック
FCLにはデータをレジスタ1925から命令復号器1
971に送ったり、データをレジスタ1925からメツ
セージ通過回路のMUX、レジスタおよびバッファおよ
びバス、それに装置11の残り部分に送るように動作す
る。これらの動作およびクロック切り替え機能は、例え
ば第1図および第16図に従って先に述べたように、走
査制御器1149およびアダプタ1203によって実行
される。
レジスタUID1981がデータバス1935に接続さ
れている。さらに別のレジスタJID1983がデータ
レジスタ1925に接続されている。レジスタUIDお
よびJIDの出力は、タスク識別比較回路1985に供
給されている。識別が一致すると、出力信号TSKOK
が出力される。
従ってメツセージ通過回路がその仕事を完了すると、こ
れはその内部状態を、この情報を有効に利用し得る任意
の回路に出力する事が出来る。例えばタスクOK信号T
SKOには第26図の12ビットダウン計数器1715
のSUSPENDホールドを解除するために使用できる
メツセージ通過処理のいくつかの場合において、装置1
1内部のCPUを停止すること無く、エミュレーション
およびシミュレーション機能を実行して、割り込み処理
機能は保持したままその他の機能を実行する必要のある
場合がある。この機能によって、通常はコアを停止させ
る停止信号を、停止の代わりにあらかじめ予約した位置
にトラップを呼び出すように使用することが可能となる
従って使用者はエミュレーション監視器を使用者のソフ
トウェアにリンクしてトラップ処理を行えば良い。トラ
ップが発生すると監視器はエミュレーション主計算機1
101と、例えばTIBUSアドレス空間内にあるアド
レスを有する、メツセージ通過回路1216レジスタ1
925等のTIBUS周辺機器とTI BUSを経由し
て通信を行う。トラップが一度実行されると、エミュレ
ーショントラップからの復帰が実行されるまでCPUお
よび分析停止■一信号は無視される。
第36図は、第1図の開発ツールである、主計算機11
01をチップ登載インタフェース回路1149.120
3.1216が存在するときに、拡張使用する場合の手
順の処理流れ図を示す。応用回路に直列接続された主計
算機を有する電子式システムの動作方法は、START
2001で開始し、ステップ2003に進み、主計算機
1101にエミュレーションおよび試験口■能ソフトウ
ェアを含む走査制御を行うための多目的ソフトウェアを
ロードする。次にステップ2005に於いて、装置11
を含む応用システム1043の様な、機能回路が主計算
機1101からの走査線路1103に結合される。
次のステップ2007で使用者またはオペレーティング
システムは、エミュレーション2009゜シミュレーシ
ョン2013、ウェファ−組立/製造/現場試験201
7および一時的に補助プロセッサとして使用する付加プ
ロセッサモード2021およびIlo通信2025の中
から、ソフトウェアプログラムを選択する。付加プロセ
ッサモードでは応用システムの機能動作に関連するデー
タ通信を、例えばメツセージ通過周辺回路1216の様
な周辺機器を用いて、主計算機と電子式システムとの間
で同様の直列線路を使用して行うが、この直列通信線は
エミュレーションおよび試験通信でもまた使用される。
エミュレーション動作2009は不テップ2011を有
し、これは走査動作、機械状態転送、実行、一時停止、
および停止等々の動作を含む。この様に信号は生成され
、入力はシステム基に1043からたとえ装置11とし
て使用されるチップが欠落していている状態でも読み込
めるので、最終的に装置11のチップが製造されて基板
上に乗せられたときに、これは適切なROMコードを有
し、応用例の基板と互換性のある様に動作するように出
来る。
シミュレーション動作2013は主計算機1101内で
対象基板をシミュレーションするソフトウェアを実行す
る機能をHするので、装置11のソフトウェア開発を一
つのグループの技術者で行い、−方別のグループの技術
者はまだ完成していない対象システム1043の設計に
従事することが出来る。装置11はソフトウェアシミュ
レーションを行うことが出来るが、第2図に示すように
プロトタイプが使用できる場合は、装置11の開発中の
ソフトウェアを、装置11自身の上で走らせて、基板1
043の残りの部分のみ主計算機1101でシミュレー
ションしシミュレーションを加速することも出来る。こ
の装置11自身を使用してシミュレーションを加速する
機能は、主計算機1101が廉価で広範に利用できるタ
イプではあるが、例えば、DSPのように高速で実行さ
れる装置のシミュレーションを行うには、十分な早さを
有していない場合に非常に重要である。
装置11はその最高速度で実行されるが、周辺機器(チ
ップ外の高速および低速記憶装置)は装置11内部の記
憶装置やレジスタはどに頻繁にはアクセスされないので
、シミュレーションする事が出来る。ステップ2015
は第33図で述べたような、シミュレーションされた周
辺機器へのアクセス動作である。
元々存在しないか、除去された周辺機器1871は、単
一のデータボート1216で置き換えられ、これは走査
試験ボート1149を介してアクセスiil能である。
応答の無いTIBUSアドレスにアクセスすると、CP
UコアはT I BUSアクセスの第1クロックの後で
停止される。そこで工ミュレーション制御器1101は
アドレスおよびアクセスの種類(読み込みか書き込み)
を抽出する。次にエミュレーション制御器1101は読
み込みの場合はデータをレジスタ1925を通して提供
し、書き込みの場合はデータバスから直接データを読み
込む。周期の完了を示すREADY信号はまた、走査経
路を通して直列にレジスタ1923に供給される。適切
な伝送が実行された後で装置11のCPUコアは再開さ
れる。
試験ステップ2017は機械状態転送2019を含み、
これは主計算機1101が機械状態または試験バター、
ンを装置11のSRLにロードすると、これは次に装置
11の論理回路で処理されて、出力され評価される。
ステップ2021のように、主計算機1101を一時的
に装置11の補助プロセッサとして使用する場合は、メ
ツセージ通過回路を経由して、主計算機1101と装置
11との間でデータ構造伝送が行われる。主計算機は伝
送されたデータ構造を処理し、次にその結果を装置11
または対象回路基板1043のどこかに送り返す。
データおよび結果はまた、ビデオ端末、プリンタ、ハー
ドディスク遠隔通信モデムまたはその他の主=1′算機
1101の周辺機器資源送ることも可能であり、これら
の機器は子のようにでもしなければ、装置11では利川
できないものである。この目的のために、通信110ス
テップ2025は、メツセージ通過処理を装置11およ
び回路基板1043から主計算機1101の周辺機器資
源にメツセージ通過回路1216を経由して実行する。
伝送および線路制御は主計算機1101で行われる。
タスク10を具備された使用者プログラムの全分析を実
行する機能は、メツセージ通過周辺機器を通して実現さ
れる。使用者プログラムダラムにはTIBUSレジスタ
鎖を通してタスクIDが付けられる。この値は走査の過
程でロードされた値と比較される。比較は補助ビットを
介して活動化され、これは分析部での有効な比較を促進
するために使用される。
第35図のレジスタ1923は3ビットの演算コード、
4ビットの状態フィールドおよび9ビットのTI BU
Sアドレス/読み込み/書き込みう°  ヴチの全部で
32ビットで構成されている。
シミュレーション実行時のアルゴリズムへのデータの引
き渡しは、メツセージ通過回路1216およびここで記
述したその他の回路が以下の特徴を有するので容易に行
える: ■、周辺機器のフレーム(アドレスのブロック)はアド
レス復号、割り込み発生、およびTIBUS周辺バスを
領域に適応される任意の新しいコード(Co、Cl、C
X)で駆動する時に使用票止される。
2、いずれの周辺機器割り込みは、第35図のブロック
1943経由でメツセージモジュールにより発生される
3、TIBUS周辺バスは、選択を認識するフレームが
存在しないときに、走査経由でレジスタ1925の内容
を読み込んだり書き込んだりするようにプログラムする
事も可能である。
4、  TIBUS周辺バスは、バスが活動化された後
の第2番目の周期でコアおよび装置を停止1ユさせるよ
うにプログラムする事が可能であって、主;[算機11
01がレジスタ1925にロードしたりロード解除して
アドレスおよび読み込み/書き込み指令を得られるよう
に出来る。
56 メツセージ通過回路1216レジスタ1923か
ら装置の再開を実行できる。
各々のモジュールはモジュール使用禁止ビットを有し、
走査を介して設定されると、アドレスの解読、バスの駆
動および割り込みが禁止される。
7 I /(スアドレスに応答するモジュールが無く、
TIバスブロックがシミュレーションパイプ凍結中にシ
ミュレーションされた周辺機器でアドレス指定され、レ
ジスタ1923のアクセスが可能であると、コアは周辺
機器アクセスの第2周期が完了する前に停止する。この
モードに於いて、他のフレームが解読されない場合は、
メツセージ周辺回路では読み込みが目標となる。全書き
込みがメツセージ周辺回路で実行される。シミュレーシ
ョンされている周辺機器アクセスビットがレジスタ19
23内部で使用可能とされると、四つの状態ビットが周
辺機器アクセスに関連して待ち状態の数を特定するため
に使用される。
割り込み発生に主題を戻すと、割り込みを挿入するふた
つの方法が存在する。第1番目の方法は、シミュレーシ
ョンされた周辺機器アクセスモードであって、ここでは
割り込みは装置が始動した後で、SUSPENDが活動
停止になったときに1周期宣言される。第2番目は、装
置がシミュレーションまたはエミュレーションモードの
いずれかにある時に割り込みのW=である。
提出された実施例のJTAG/MPSDインタフェース
は旺速である試験クロックJ CLKに於ける強化され
たエミュレーション機能と、周辺機器機能のシミュレー
ションを可能としている。インタフェースはさらにビン
数の少ないパッケージに格納されている複雑な装置に対
する、拡張された内部試験機能を用意している。主計算
機1101と共に使用されるインタフェースのフリキシ
ブル回路は装置のプロトタイプ製作時間を短縮し、製造
時の不具合検査能力を改善する。この回路は、プリント
板(システム)レベルでの境界走査を可能とする。この
境界走査機能は、基板密度が高くなりアクセス可能なビ
ンが少ない表面実装装置が多く使用されるところでは特
に重要となる。
強調しておかなければならないのは、本実施例を一つの
プロセッサと結び付けて議論してきたが、この構造の重
要な長所はそのアーキテクチャが独立であるという点に
ある。アクセスおよび制御は全て内部ラッチで実行され
る。ロード/ストア命令は、データRAMにアクセスす
る。チップ登載周辺機器もアクセスでき制御できる。関
連する回路を各々四角い場所に入れて、モジュールとし
て取り扱う方法により、各々のモジュール試験を分離し
て独立に行え、チップのファミリーの中にチップを追加
して製造する場合にモジュール単位での追加または削除
を行うという方法が採れる。標準製品やその派生品だけ
でなく、半注文製品や、ASIC装置も同一のエミュレ
ーシ−ヨン方法で処理でき、投資を最少でかつ最適にで
きる。提出された実施例では、不具合検出力バー範囲を
増加させ、装置のデバッグをより早く行えるようにする
エミュレータのサポートは、装置が利用できる時期とほ
ぼ同時期にn1能である。この様にして、タイムリーに
エミュレーション機能とソフトウェア開発ツールとを、
使用者が機能チップをシリコン、ガリウム砒素等の材料
で作られたシステムを受は取ると同時に提供する事が可
能である。システムエミュレーションは対象ケーブルを
不要とし、干渉もないのでさらに信頼性が向上する。全
速度でのエミュレーションはチップのファミリーの製品
寿命が続くまで可能であり、たとえ機能クロック速度が
、バス周期時間で20メガヘルツを越えるまで増加して
も大丈夫である。チップのファミリーに新しいメンバー
が追加された場合のエミュレーション回路の更新も最小
限に減らされている。
エミュレーション回路のタイプは、製品ケーブルを使用
する方法とは異なって、都合良く独立のパッケージとな
っており、その中にチップが製造されている。新しいチ
ップを用いて使用者がシステム開発を行う場合に、エミ
ュレーションソフトウェアの更新内容で使用者に知らせ
る必要のある新しい情報は少ない。ソフトウェアは組み
込み型ドキュメントとして提供できる。
重要なことは、提出された実施例では、試験とエミュレ
ーションの方法を同じにした点である。
試験とエミュレーションは共に共通の特性を6し、■)
チップを既知の状態とする、2)開始/停止]〕を実行
する、3)機械の状態を吐き出す。走査経路は共に機械
状態の吐き出しと記録を行い、メモり読み込み/書き込
みを呼び出すための機構を提供する。
実時間および非実時間での開発活動は、別々の試験器具
やエミュレーション装置を使用する代わりに、同一の道
具建ておよび技術で実行される。
高速チップは、エミユレーション用の特別機能がチップ
上に組み込まれているので、容易に適合できる。プロセ
ッサチップに於いては、与えられたプロセッサコア用の
基本セットの数は、特別のエミュレーション装置を無く
したため、少なくなっている。
同一性は、ここではエミュレーション技術の範囲または
マトリクスを定義する変数として認識されており、この
点に関しては提出された実施例および本発明のその他の
実施例には、新しい進歩が認められる。次の表は同時性
の概念による技術の区分分けである: (表)   ′ レベル 名 称   走査単位   実行単位1   
LSSD     全チップ   全チップ2   M
ISDT   モジュール   全チップ3   MP
SDE   モジュール  モジュール4   JTA
G/MPSD  JCLKクロック FCLKクロック
システム走査同時実行 5  JTAG/MPSD  JCLKクロック lc
LKクロックシステム同時実行 同時性レベル1に於いては、全チップが走査され、全チ
ップが動作を実行するために実行される。
同時性レベル2では、チップ内の個々のモジュールは選
択的に走査され、全チップが実行される。
同時性レベル3では、チップ内の個々のモジュールは選
択的に走査され、選択された任意の一つまたは複数のモ
ジュールの実行ができる。同時性レベル4では、境界走
査がMPSDモジュラ−部走査に組み込まれており、シ
ステム1043との同時性が保証されているので、全シ
ステムの開発および試験がチップを通してまたシステム
を通してモジュールのどのレベルからでも実施できる。
同時性レベル5では、システム実行の同時性がレベル4
に追加されている。各々のレベルはそれより下位のレベ
ル機能を包括している。
提出された実施例のメツセージ通過特性は、少なくとも
四つの機能を有する。第1の機能では、中間アクセス伝
送であって、CPUの停止および周辺機器の停止を含む
。例えばシミュレーションされている周辺機器へのアク
セスが−、この第1機能を使用して実行できる。第2の
機能は°、メツセージ通過回路を使用し、メツセージ通
過が発生している間割り込みをラッチする。第3機能は
タスク識別子(ID)を比較し、メツセージの通過が進
行中か、完了したかの信号を出力する。第4の機能は、
メツセージを走査直列インタフェース1149を通して
主計算機1101に通過させる。
実際の応用として製造されるシステム基板は、ビデオ端
末とかプリンタといったような、試験の目的で使用され
る機器が欠落している。第4機能を使用する事により、
提出された実施例にとりつけられたプロセッサでは、開
発システムは、エミュレーション、シミュレーションお
よびデバッグモードとは区別される正常動作モードで応
用システム基板の制御を獲得している。
例えば、システム基板が組み込み型マイクロ制御器を有
しているとすると、提出された実施例に於ける開発シス
テムは開発システムが走査直列ボートを介して状態のポ
ーリングを行ったり、または第10図のEMUOまたは
EMUIビンを経由して、マイクロ制御器から割り込み
を受信する動作モードをHする。
内部に組み込まれたマイクロ制御器内での、ソフトウェ
ア割り込みまたはソフトウェアトラップ −機能は、あ
らかじめ定められた区切り点で発生し、この時点で第2
図の主計算機1101に処理要求の信号を出力する。言
葉を変えれば、開発システムに於ける主計算機は、応用
システムに組み込まれたマイクロ制御器の補助プロセッ
サと呼べる。
例えば組み込まれたマイクロ制御器は補助プロセッササ
として動作している開発システムにファイル転送をして
、表示や印字を行わせることができる。
実行状態をふたつに区分すると、1)非同時性実行、お
よび2)同時性実行とに分けられる。
−区分1では、組み込まれた、マイクロ制御器のCPU
は応用プログラムの実行は止め、CPUは例えば主計算
機1101に対するデータ転送を行う。主計算機110
1はマイクロ制御器CPUのレジスタを使用して、メモ
リの読み込みおよび書き込みを実行し、転送が完了する
とCPU状態を記録する。
区分2(IriJ時性実行)では、第9図、第11図お
よび第35図に示されたメツセージ通過周辺機器MSG
PASS1216は、提出された実施例に組み込まれて
いる。好適にMSG;PASS1216は、マイクロ制
御器が主計算機1101に処理要求を出した後に、別の
タスクを実行することを許している。従って、応用シス
テムからのコードは、走査直列伝送線1103経由で送
られ、割り込みをE M U O線路上に発生して、ソ
フトウェア制御を行い、主計算機1101が付加プロセ
ッサ機能を実行するようにさせる。
このように、提出された実施例の6本の線路で構成され
るSCOPE/MPSDインタフェースは、ふたつの機
能を具備している。システム基板およびそのマイクロ制
御器は、実際上はその応用プログラムの為にシステム基
板上に用意された全ての直列および並列ポートを使用し
、これらの応用ボートを試験や通常開発システム機能に
一時的にも使うこと無く使用されるであろう。従って、
SCOPE/MPSDインタフェースはプロトタイプや
製造試験の時のみ有用なのではなくて、現場試験および
診断、応用システムでの実行履歴の呼出および表示や印
字を目的としたデータの蓄積にも有川である。
ブロック転送は、メツセージ通過周辺機器1216を用
いて、通信レジスタ1941からレジスタ1925にロ
ードし、JTAG制御器をIDLE状態とし、N(例え
ば16)ビットシフトして、次に再びロードレジスタ1
925に周期を戻すことによって実現できる。ブロック
転送は、走査経路が接続できる物ならどの直列インタフ
ェースにも実施できる。シフト速度は10メガヘルツを
越えていれば十分であり、実質的な通信能力は、本来な
ら単なる試験ポートでしかない物を通信チャンネルとし
て二重に使用することで増加する。
第35図で、十二重通信プロトコルは、交互にダウンロ
ードとアップロードを第2図の主計算機1101と第3
5図のメツセージ通過周辺機器MSGPASS1216
との間で交互に行うことで実行されている。主計算機1
101はレジスタ1923内のビットを走査しマイクロ
制御器で使用する。応用マイクロ制御器は、その情報を
使用し、続いて状態およびデータビットをレジスタ19
23および1925にロードし、次に主計算機1101
に対してアップロード要求を送信する。主計算機110
1から信号が戻ってきた時点で、レジスタ1923およ
び1925から主計算機1101への直列伝送が実施さ
れる、(別の実施例では、全二重ハードウェアおよび通
信が具備されている。) メツセージ通過周辺機器は、さらに好適に開発システム
用途で有用である。開発システムとして動作している主
計算機1101は、組み込み型マイクロ制御器の機械状
態を要求する命令を、レジスタ1923にダウンロード
する。マイクロ制御器は、あらかじめそのメモり内部に
記憶しであるソフトウェアコードにトラップ(割り込み
と類似)する事で応答する。あらかじめ記憶されている
コードは、実行されると、マイクロ制御器のコアレジス
タの内容を第35図のメツセージ通過周辺機器1216
を経由して、主計算機1101に通信で送り返すように
動作する。メツセージ通過周辺機器のみが動作するだは
なので、同時性は維持され、組み込みマイクロ制御器の
CPUはデバッグ実行中の割り込みに対してフリーであ
り、従って実時間制御機能は、外乱を受けない。
この様に、メツセージ通過周辺機器1216は熟練の技
術者によってプログラム可能な、多くの用途に使用でき
る電子機器として働く。例えば、開発システムを取り外
して別の開発用ではないシステムのマイクロプロセッサ
を現場で取り付け、別の用途に使用することもできる。
この様にSCOPE/MPSDポートは、システム応用
プログラムに対して非常にフレキシブルな通信チャンネ
ルを構成している。さらにシステム1043はその応用
主プロセッサ1044が(j在する場合は、これとの通
信も0由である。
エミュレーション、シミュレーションおよび試験の説明
をざらにべつの観点から行う。
画像処理システムの提出された実施例に於いて、第3フ
図はGSP(画像処理システム)チップ2130のブロ
ック図を示し、中央処理装置2200にはバス2202
,2204.2206および2208が接続されていて
、それぞれレジスタファイル2220、命令キャッシュ
2230、ホストインタフェース2240および画像ハ
ードウェア2210に接続されている。さらにバス22
05はホストインタフェース2240.メモリインタフ
ェース2250、命令キャッシュ2230および入力/
出・カレジスク2260を内部接続されている。ホスト
インタフェース2240およびメモリインタフェース2
250はそれぞれビンおよびバス2115および212
2を介して外部からのアクセスが可能である。Iloレ
ジスタ2260に関連する、ビデオ表示制御器2270
はその出力をバス2124に供給する。
tJ538図は第3フ図のユニット2200のブロック
図を示す。
試験を可能とする目的で、GSP2120記憶装置はふ
たつのタイプに分割されている:(1)例えば、レジス
タファイル2220、キャッシュRAM2230.メモ
リアドレスレジスタ2103、メモリデータレジスタ2
105およびフィルドサイズレジスタ2107の様な多
重ピットレジスタである。これらは全てワイドバス上に
あって、十分な論理回路が用意されていて、これらの各
々のレジスタからチップのローカルアドレスデータ(L
AD)ピンに対する道が確保されている。
(2)例えばエミュレーション制御レジスタ2121、
制御ROM (CROM)2131のバッファSRL2
135およびチップ上のコア処理回路2101の走査可
能レジスタの様な直列ラッチである。これらはふたつの
走査経路上に置かれ、ふたつの双方向ビンSCINおよ
びSCOUT−を経由して試験モード時にアクセス可能
である。補助ラッチは好適に望み通りに、重要な論理回
路素子を容品に観察するために配置可能−である。
試験可能性を実現する一つの方法としてここでは、並列
直列走査設計(P S S D)と呼ぶ。一つの規則が
導入されていて、全てのレジスタビットおよび直列ラッ
チはいくつかの機能と、第39図の単一クロック位相(
HBr)とのANDがとられたとき、またはそれを条件
として、ロードされる。第39図にはまたクロック信号
HIT、H2T、T3T、H4T、QIN、Q2N、Q
3Nおよび04Nが示されている。チップの状態はHB
rを零レベルに保つことで「凍結」できる。その他全て
のクロックは通常に発生できる。
GSP2120には、人力ビンから生成される第39図
に示す4相の低位活性クロックQINからQ4Nが入力
されている。また四つの高位活性半位相クロックHIT
からH4Tも存在する。先に述べたように、全てのメモ
り素子にはHBr位相の時のみしかロードされない。回
路が通じように動作している間は、クロックは第39図
の一番左側の列に示す通常周期の様に見える。特別な走
査試験モード(中央列)では、HBrは低位のままであ
り、メモり素子への通常ロード作業を凍結する。特別試
験クロック、T3T、が使川可能となり、素子を走査経
路に沿ってシフトする。ホールド試験モードでは(もっ
とも右側の列)HBrおよびT3Tは共に低位に保持さ
れ、これによって機械の状態を凍結する。
各々の並列レジスタセルは第40図に示すような回路を
有する。これは(通常状態では)HBr相でロードされ
、HIT相で(条−件によって)サンプリングされる。
制御論理H路およびマイクロコードがチップ上に用意さ
れていて、全ての並列レジスタがLADバスにロードさ
れダンプされる様にしている。従って機械状態はロード
され、実行されて、その結果が出力される。
各々の直列ラッチで使用される回路が第41図に示され
ている。その形状は第40図に示す並列レジスタ回路に
似ているが、走査人力Scan Inと呼ばれる直列入
力が付加されている。試験を行うために、HITサンプ
ルは次の素子のT3T入力に走査鏡を形成するように接
続されており、全てのラッチが互いにつながって長いシ
フトレジスタを構成する。試験クロックT3TはHBr
と同一位相を有するが、通常動作では操作禁止(零)で
ある。特別のSCAN−IN /SCAM−OUT試験
モードでは、T3Tが使用11能であり、HBrは使用
禁止となる。データは走査鏡に沿ってシフトされる。ク
ロック計画では、走査経路を実現するために必要な余分
のトランジスタの数を一つの1〜ランジスタと試験クロ
ックを流す経路のみの最少とするように考慮されている
並列および直列ラッチを利用するために、制御ハードウ
ェアが用意されており、リセット、run/emu、ロ
ーカル割り込みおよびホールドビンに接続されている。
リセットおよびrun/、emuが共に低位に引き下げ
られると、2本のローカル割り込みピンおよびホールド
ピン上に現れる値は3ビットコードを表し、これらは七
つの可能な試験モードの内の一つに復号される。
試験モードは通常下記の手順で使用される=(1)並列
ロード・・・並列経路上にある全てのレジスタにローカ
ルメモリインタフェース経由でロードする。
(2) Scan−in・−データが直列走査経路の中
にシフトされ、その際並列経路レジスタ内のデータは変
更され無い。
(3)実行・−・一つまたはいくつかのクロック周期の
間実行する。
(4) Scan−out−・・データが直列走査経路
の外にシフトされ、その際並列経路レジスタ内のデータ
は変更され無い。
(5)並列ダンプ・・−並列経路上の全てのレジスタを
ローカルメモリインタフェース経由でダンプする。
その他のH用な試験モードはホールドモードである。こ
のモード中機械状態は、HBrおよびT3Tを使用禁止
とすることにより凍結される。
ビデオ制御器2270は、自分自身で独立したふたつの
相のクロック手段を有し、これらはビデオ入力クロック
ピン(VCLK)から導かれる、V5TおよびV6Tで
ある。ビデオ制御器で使用されるレジスタ2260はV
6Tの時のみロードされる。これを全試験モードで使用
する場合は、ビデオクロックはVCLKからはずされて
、ふたつの相はHBrおよびBITに接続される。従っ
て全てのビデオレジスタは、HBrの位相に対応するV
6Tでロードされる。
並列ロード/ダンプインタフェース・・−並列ロードお
よびダンプの制御は、CPU2200で実行されるが、
LAD2205に対する読み込みおよび書き込みはメモ
り制御器2250で行われる。
CPUはメモり制御器と干渉するいくつかの源2200
.2210,2240.2260のひとつである。例え
ばDRAMリフレッシュ制御器に、ロード/ダンプ周期
の実行途中で要求を出すことは可能であるが、この様な
ことをすれば、手順に混乱を生じデータが試験装置によ
って失われるであろう。
これらその他の源は使用禁止状態にしてお(必要がある
。これは並列ロード/ダンプを行う前にSCAN OU
Tを実行して行われる。これにより走査経路の内容が押
し流されて、メモり制御器に対する全ての要求がクリア
され、CPUのみが唯一動作l■能な源であることが保
証される。
キャッシュRAM・・−LADバスのインタフェースに
関する性能を向上させる理由から、キャッシュがBIT
上にロードされている。従ってキャッシュ内のメモり素
子の更新を停止するために、全てのキャッシュレジスタ
は、HBrが使用禁止のときには必ず使用禁止となる、
信号に基づいてロードされる。
第38図に戻って、提出された実施例でのエミュレーシ
ョンは、第2図に示す対象システム1043の中に半田
付けされているGSPチップ上のコア2101で実行さ
れる。
メモリアドレスレジスタMA2103、メモリデータレ
ジスタMD2105およびフィールドサイズレジスタ2
107は、主コア2101に接続されている。四本の線
からなる走査インタフェースまたはボート2111が選
択マルチプレクサMUX2113に接続され、これは直
列データ入力SCIN2115および直列データ出力S
COUT−2117ビンに接続されている。エミュレー
ション制御ピンECOおよびECIはさらに制御入力を
構成している。インタフェース2111の全ての四本の
線は、選択回路2112を経由してエミュレーション制
御レジスタ2121に接続されている。レジスタ212
1もまたここでは、走査制御レジスタと呼ぶ。レジスタ
2121内の、特別試験TSTおよびコンプレスCOM
ビット0°および1°は、選択回路2112に接続され
、線路2115および2117を経由して3本の走査経
路の一つとなっている。第1の経路はレジスタ2121
自身の走査を許可している。第2経路はCROMバッフ
ァ2135およびコア2101の走査を行う。第3経路
はMUX2113に接続されている。選択もまたエミュ
レーション制御ビンECOおよびECIで制御可能であ
り、これらは先の説明のEMUlおよびEMUOに対応
する。
レジスタ選択コードはエミュレーション制御レジスタ2
121のビット2−5SCAN  SEL■によって線
路2125上に供給され、MUX2113を制御する。
この様にレジスタ2103゜2105および2107の
中から一つを選ぶレジスタ選択は、エミュレーション制
御レジスタ2121からMUX2113を動作させて制
御される。
線路2115および2117上の走査データ入力および
データ出力は、選択的にレジスタ2103゜2105お
よび2107送られる。
レジスタ2103.2105および2107には主CP
U2101との間の並列ディジタル通信が具備されてい
る。好適にこれらは、走査人出力を行うためにMUX2
113を経由して直列にアクセス可能である。
試験モードはECI、ECOおよびSCINビ ・ン経
由で、エミュレーション$制御レジスタ2121のふた
つのビットTESTおよびCOMPRESSによって制
御される。
制御ピンECI、ECOおよびSCINはエミュレーシ
ョン制御ボートの状態を定義する。制御レジスタ212
1のTESTビット零にal”を人力すると、ポートを
試験制御ボートとして再定義し、コード′111° (
ECI、ECOおよびSCINに対して)がインタフェ
ース2111に供給されるまで継続する。111”コー
ドは通常の使用者実行モードであり、TESTビットを
含む全てのエミュレーション制御レジスタ2121をク
リアするので、ボートがリセットされる。
コードのMPSDコードとの関係は先に表で示したので
明かであろう。第7図の走査制御回路1149は、好適
に第6図の構成に従った本構造と結合され、試験可能性
、シミュレーションおよびエミュレーションそれにメツ
セージ通過機能を改善している。
第38図に於いて、制御ROM (CROM)2131
は、主CPU2101に接続されている。
エミュレーション制御レジスタ2121の第2ビットC
OMPRESSは、インタフェース経由で利用可能な試
験状態の可能な数を拡張し、シダニチャー分析と呼ばれ
る試験でCROM圧縮として使用される。この様なシダ
ニチ中−分析に於いて、第43図の走査可能線形フィー
ドバックシフトレジスタ2141は、第38図および第
42図のCROMバッファ2135に結合され、CRO
M2131の臼己検査に使用される。圧縮試験クロック
C3Tもまた、この臼己検査で使用される。従来のシク
ニチャー分析法は、スライダーに付与された合衆国特許
第4,601.034号および、タッチに付与された合
衆国特許第4.594,711号に開示されており、こ
こでも参照している。
これに代わる実施例として任意のBIST(組み込み全
自己テスト)構造および工程が使用できる。
GSP2上のCROMは約450,000個のトランジ
スタを6する:256出力と1,568の状態がある。
状態はふたつのメモリマツプを使用してアクセスされて
いる。全部で1,280状態が、11ビットマイクロ・
ジャンプ(UJ)アドレスコードで制御され、256の
入力点状態は明瞭な演算コードを復号して直接filQ
lされている。
入力点とUJとの間の選択は、第42図のMUX213
7へのCROM出力で制御されている。
第43図の走査可能線形フィードバックシフトレジスタ
2141はCROMの自己テストデータ圧縮法を利用し
ている。この方法は全ての状態にアクセスする。各々の
アクセスに対して、1ワードがCROPv1出力バヅフ
7段2135.1.2135.2,2135.i、21
35.j等々の中に生成され、これは新しいデータと、
隣接するバッファ段の中に保持されていた以前のデータ
とのXOR(排他的論理和)をとって生成される。XO
Rゲート2143のふたつの人力は、タップの中間点と
もっとも右側の線とに接続されている。
XORゲート2143の出力は、シグニチャーブロック
のもっとも左にフィードバックされている。
CROMバッファ2135はシグニチャー回路2141
とこのように、シグニチャー分析器を構成している。C
ROMバッファの基本構成回路が第44図に示されてい
る。XOR回路2151の人力はCROM出力線と隣接
のバッファ段からの走査線に接続されている。XOR2
151の出力はラッチ2153に接続されている。
C3Tは特別の圧縮クロックである。これは通常時およ
び走査時は低位を保持するが、COMPRESSモード
(H3TおよびT3Tが使用禁止の時)の間は使用可能
となって、シダニチャーを生成する。
このデータの流れは、バッファの間をシフトされている
データの一ビツトを反転してしまうと言うような正しく
ないデータビットを生成する可能性がある。このように
して、全てのCROMのアクセスが完了すると、CRO
Mバッファシグニチャー分析器の内容は、これらを走査
出力する事によって再検査される。
ここで採用されている分析方法では、複数の誤りがある
場合は検出出来ないと言う前提に立っている。一方、不
具合を示す、単一ビットの反転はシダニチャー分析器を
シフトされている間に、別の不具合と「ぶつかって」正
しい値に戻されてしまう可能性がある。これは第2の不
具合がN出力分「下流」でN番地離れている場合−にた
またま発生する。この問題を解決するために、ここでは
回路および方法に、好適にふたつの異なる順番のアドレ
ス復号器を用意している、最初はカウントアツプし、2
番口はカウントダウンする方法であり、これでほとんど
検出されない不具合が存在する可能性は取り除かれる。
シグニチャー分析器に対するフィードバック項は、最終
項とCROMの中間部近くの項の排他的論理和である。
この中間点の正確な位置はフリキシブルである。
スタックレジスタ2145は、正常動作に於いては、第
42図の回路でマイクロ状態押し上げおよび押し込みで
使用される。CROM試験モードでは、このレジスタ2
145は13ビット計数器として再使用される。計数器
のふたつの再上位ビットがカウントアツプするのかカウ
ントダウンするのか、またCROMのマトリクス215
1に関連して、その値を演算コード復号器2147また
はマイクロジャンプアドレス復号器2149に送るのか
の制御に使用される。従ってCROM試験に必要なサイ
クル数は、2(8K)に加えて、レジスタおよび計数器
の初期化を行う初期SCAM−INと、結果のシグニチ
ャーの確認を行う、最終SCAM−OUTとである。従
ってクロック周波数が10メガヘルツであれば、CRO
M試験を完了するのに必要な時間は1ミリ秒以下である
この主の試験のひとつの大きな長所は、これが簡tll
に、多くの性能を必要とせず、ビン数も少ない試験器で
行えて、しかも不具合の検出率に優れている点である。
コードの試験可能性を表、5に示す。表、5は縦に5列
のラベルをHし、左から順にTEST、COMP (圧
縮)、ECI、ECOおよびSCINである。
表、5 CEES OCCC SMIOI  備考 TP    N IXloo  IIOLD    II3TりOツク使
用、II3T、VGT。
T3T又はC3Tクロック無し 1 X 101  RUNTEST  クロックは人力
されず、ボートは試験ポート使用、 1 X 00 D  SCAN    直列経路走査、
T3T活性化、1137、C3T、V6Tは非活性 10110  EXECUTP  H37使用可能、V
(iT (iH3T j: ロック 1 X 010  PARAI、1.1  )137使
用可能、VAT ハl13T ニLOAD    ロッ
ク 1 XO11PARAI、LE1. 13T使用可能、
VAT にil13T l;:DUMP    ロック 11110CROM    圧縮、C3Tを活性化、I
I3T又はT3T又はVATは非活性、 XXIII  EXIT    a験モードから脱出、
TCST及びCOMP肛SSビットをクリア、 走査手順は以下の通りであり、その中でハイフンは各々
の手順の区切りを示す。記憶符号は手順のリストを示す
1、初期化状態−機械を特定の既知の状態で始動する場
合に使用される。
SCANTEST−PLOAD−SCAN(1)−EX
IT/RUN2、単一歩進−1周期(例えばATGパタ
ーンから)実行しその結果を確認するときに使用される
SCANTEST−PLOAD−SCAN (1)−E
XECuTE−SCAN (0)−DUMP 3、試験確認・・−機能パターンの途中で機械の状態を
確認する。
SCANTEST−RUNTEST−IOLD−SCA
N(0)−PDUMP4、圧縮−・・CROM出力上で
シダニチャー分析/データ圧縮を実行する。
SCANCOMP−PI、OAD−SCAN (1)−
CROM−SCAN (0)SCANTRSTは、rT
ESTビットを制御レジスタに走査検索」を意味する。
SCANCOMPは、rT E S TビットおよびC
OMPRESSビットを制御レジスタに走査検索」を意
味する。
SCANは、同時に行うSCAN−INとSCAN−O
UTである。SCAN (1)はこの走査がデータ初期
化のためのSCAN−INであることを意味する。SC
AM (0)は走査がデータ確認の為のSCAN−OU
Tであることを意味する。
並列ロードおよびダンプPLOADおよびPDUMP 
開始および実行状態は内部的に発生される。外部的には
、ビンは20ナノ秒の設定時間で計時されており、クロ
ック信号LCLKIの切り替えに関しては、ホールド時
間は零である。
エミュレータ機能を試験するために、機能コード111
″が2周期分供給されて、試験モードを抜けて、走査制
御レジスタの全ての内容をクリアさせる。もしもTES
Tビットが設定されていたら、最初の周期は、試験ビッ
トのみをクリアする。第2周期に於いて、コード111
”およびクリアされたTESTビットは走査制御レジス
タ2121の残りをクリアする。このように、試験モー
ドから脱出してエミュレーションモードに入り、エミュ
レーション制御が実行される。
本実施例において、TESTおよびCOM P RES
Sビットは、走査制御モードに於いてのみ設定され、コ
ード111°が供給された場合のみクリアされる。これ
らふたつのビットTESTおよびCOMPRESSは、
直列試験走査経路上には存在しない。
先の議論では、一般的にGSP2120内の、試験の面
を強調した。以下の議論は主に、エミュレーション機能
に付いてである。
走査手順を用いて、エミュレーション機能は第38図の
実施例の中に具備されこれは以下のもので構成されてい
る: 1、単一区切り点、IAQ(命令確認)のみの確認、お
よびメモり代入によってなされる実行周期が実行される
前の多重区切り点の設定。命令が実行される前に停止点
が発生する。
2、メモり修正、検査モして/または変更、プロセッサ
は停止1−モードとし使用者環境は変更しない。これに
は内部(Iloレジスタ)および外部メモり空間を含む
。停止モードに於ける検査そして/または修正もまた実
行される。全ての内部レジスタの修正には、PC(プロ
グラム計数器)、ST(状態レジスタ)、およびSP(
スタックポインタ)を含み、停止モードでのみ可能であ
る。
3、命令の歩道。
製品ケーブルの使用を含む機能は以下の通りである: 1、ハードウェア区切り点、メモり書き込み(MW) 
、メモり読み込み(MR) 、命令確認(IAQ)、同
様にアドレスおよびデータハードウェア区切り点の確認
。区切り点は並列または直列である。第21図の事象計
数S1715は、あらかじめ設定されている条件が繰り
返し発生すると、区切り点を発生させる。停止点は区切
り点発生事象が生じてから、あらかじめ定められた時間
経過後に定められている。
2、トレース情報上のタイムスタンプは、偏差時間、絶
対時間、または経過時間として用意されている。
3、性能分析は、全体のループカウンタを備えて、内部
および外部のプログラムループに用意されている。
46エミュレーションメモリが、ソフトウェア開発の為
にオーバーレイされている。このようにして、外部メモ
リは外部ソフトウェアを保持出来、開発が完了した後で
チップ上のメモリアクセスに使用されるアドレスを用い
てCPU2101でアクセスできる。
5、メモり動作、命令確認(IAQ)、メモり読み込み
、およびメモり書き込みは、実時間で実行される。
SCOUT−は、走査モードに於いて、データの走査出
力を行う為、および実行モードに於いては、停止確認表
示の為に使用される出力ビンである。
強調しておくべきことは、製品ケーブルの使用は、先に
長々と述べたチップ搭載アダプタ1203を利用するこ
とにより、不要となることである。
ハードウェア区切り点または使用者のキーボードの様な
外部事象は停止表示または信号である。
エミュレーションハードウェアは、停止コードをECI
、ECOおよびSCIN上に設定し、停止確認STOP
ACKが出力ピンSCOUT−上に現れるのを待つ。
内部状態情報は、第2図のエミュレータ主計算機110
1で使用され、これはプログラム計数器PC,CPU2
101のレジスタファイルおよびキャッシュ、区分レジ
スタとPフラグを有する。
ピンEC1、ECOおよびSCINで利用できるコード
はいかの通りである:正常機能モード、制御実行モード
、停止、一時停止L1エミュレーション制御レジスタ走
査およびレジスタ2103.2105および2107デ
ータの走査。表、6参照。これらのコードは基本的に先
に述べたMPSDコードである。
表6 EC1ECOSCIN 1  1  1 通常機能モード: 制御レジスタの走査不能、 1  1  0 制御実行モード、CPU走査制御レジ
スタ使用可能、 1  0  1 停止; (CPUのみ)1  0  
0 走査クロック−時停止/停止、 0   1   DSCINからの(D)でエミュレー
ション制御レジスタ走査 00DSCINからの(D)でデータレジスタ走査、 通常機能モードは、システム設計の中で使用されエミュ
レーションピンを電気的にフロート状態にする事で得ら
れる。このピンはチップ内にプルアップ抵抗器をHする
。通常機能モードでは、エミュレーションおよび試験時
に使用される内部制御レジスタ2103.2105およ
び2107が使用禁止となり、好適にこれらのレジスタ
に走査経路を使ってあらかじめロードする手間を省いて
いる。
CROM2131は、あらかじめマイクロコードがロー
ドされており、これらはエミュレーション機能、メモり
検査/修正および内部状態ロード/ダンプ機能を実現す
る。
全てのレジスタは、LSB (最下位ビット)からMS
B(最上位ビット)まで走査される。エミュレータ制御
レジスタ2121は、ビンECIおよびECOに供給さ
れる、表、7のコード「エミュレーション!御レジスタ
走査」に応じて走査可能である。
通常機能モードはエミュレータを使用しない、通常動作
モードである。これは最初に電豚を投入して、チップを
リセットしてから使用される。リセットはチップ内部で
全体に共通の信号である。
機能実行モードコードは継続的にエミュレーション制御
レジスタ2121をクリアする。
調陣実行モードは、コードを実行したり、またはロード
およびダンプといった特殊機能を実行する際に使用され
る。このモードに於いて、リセットはエミュレーション
制御レジスタ内のブロックリセットビットでゲートされ
ている。エミュレーション!1mレジスタ21210は
、このモードばいるときは、リセット信号でクリアされ
ない。
マイクロコードの一部は、HALTコードに応答して、
エミュレーションの為にCPUを停止仁させる。停止状
態には、以下のいずれかの条件が存在すると、入る: 1、エミュレーションビンに停止コード:2、エミュレ
ーション区切り点演算コード:3、歩道動作の完了:ま
たは 4、エミュレータからの要求によるメモリアク  セス
完了。
エミュレーションモードは命令境界で認識されるか、ま
たは通常はCPU2101内の割り込み可能点で識別で
きる。
通常機能モードに於いて、エミュレータは考慮されてい
ないので、ソフトウェアトラップが停止条件が要求され
たときにマイクロコードを実行して実施される。もしも
エミュレーション制御ピンが他の状態にあると、エミュ
レータまたは主計算機1101が存在するものと考えら
れ、CPU2101はループして、エミュレータによっ
て停止状態が要求されている場合は、停止コードを待ち
続ける。
CPU2101は、通常機能モードにいるときは、下記
の動作を実行して停d−状態に入る。最初にCPUはC
PUが開始したメモり処理周期が完了するのを待つ。2
番目に、CPUはプログラム計数器PCの内容をメモリ
データレジスタ2105に格納する。3番口に、CPU
はSTOPACK信号を発生して、走査出力線SCOU
Tを低位とし、停止信号を出力する。4番口に、CPU
は必要に応じてソフトウェアトラップを実行する。
もしもCPUが通常機能モード以外の状態にいる場合は
、CPU4i−ド記の一連の動作を実行してHALT状
態に入る。CPUはソフトウェアトラップを除く、先に
述べた機能を全て実行する。ソフトウェアトラップの代
わりに、CPUはエミュレータピンからHALTコード
が人力されるのを待ち、最終的に停止マイクロコードに
入る。CPU2101が、画像信号処理チップ(G S
 P)、メモり制御器、主インタフェースおよびビデオ
タイミング論理回路の一部であるときには、通常動作を
継続する。
さらに一時停止と呼ばれるモードが、シフト中のデータ
の途中で直列シフト論理回路を停止したり、試験器また
はエミュレータ用にチップを直ちに停止するために使用
される。PAUSEはチップ上に全てのクロックを禁止
する事により実現さ−れる。
システムの走査モードは、LCLKlのクロックごとに
1ビットの割合で発生する、走査を含む。
内部的にデータは、はぼLCLKIの立ち上がり縁に等
しいH3の終わりでらっちされる。設定および保持時間
を表、7に示す。
表7 パラメータ  最少 最大 単位 Tsu(PC−C1,K111)  CI、Klが高と
なる   20  15前のF、Cピン許可 設定時間 Thd(1:C−CLKIII)  CLKIが高とな
りOnSた後ECビンが詐 可となるボール ド時間 Td        CLK 1が高とな−)    
  20   ns(CLKIH−SCOUTL)  
てからscouTが低となるまでの 遅れ時間 7d        CLKIが高となッ20   n
s(CLKIH−SCOUTH)  てからSCOUT
が高となるまでの 遅れ時間 制御モードまたはデータ走査モードを確立することによ
り、そのモードコードが供給されている間は、CPU状
態機械の活動は禁+Lされる。これによって、走査対象
であるデータが、その最終格納先に落ちつくまで変更さ
れなくなる。S CAN!NおよびSCANOUTは共
に、同じ走査で実行される。
走査可能レジスタは、メモリアドレスレジスタ2013
、メモリデータレジスタ2105およびフィールドサイ
ズレジスタ2017である。例えばレジスタ2013.
2015の各々は32ビットで、フィールドサイズレジ
スタ2017は6ビットである。走査されるレジスタは
、エミュレーション制御レジスタ2121のデータ走査
選択フィールド(2から5ビット)で決められる。
CROM内の、マイクロコードは命令によって四つの主
な機能を実行する。第1は、選択された装置のレジスタ
またはキャッシュまたはプログラム計数器からデータを
メモリデータMDレジスタ2105に転送する。第2に
、メモリデータMDレジスタ2105から構成される装
置のレジスタまたはキャッシュまたはプログラム計数器
に転送する。3番目は、これはM P S Dコードを
歩道で実行する。4番目は、命令をメモリインタフェー
ス2250に送り、外部メモリおよび一対のレジスタM
D2105およびMA2013の間でデータ転送を行う
メモリアドレスレジスタ2103は、エミュレータを含
むメモリアクセス命令で実行されるCPU全でのアドレ
スを保持している。メモリアクセスが完了すると、レジ
スタ2103は32ビット更新されて、次のワードのア
ドレスを示す。下位の5ビットは変更されないで残る。
チップが停止されると、プログラム計数器PCの計数値
は、その上位28ビットがロードされて、停止状態コー
ドがこのレジスタの下位4ビットを占める。
メモリデータレジスタ2105は、データをエミュレー
タとメモり制御器の間で通過させる。レジスタ2105
は、エミュレータとCPUとの間で、ロードおよびダン
プの為に通過されるデータのデータラッチとして機能す
る。CPUが最初に停止したとき、このレジスタ210
5にはCPUプログラム:1数器のイメージと、下位4
ビットには停止コードが含まれる。このコードは停止さ
れた周期のタイプを示す。停止コードを表、8に示す。
表8 MD3 MD2 MDI MDO 0000通常停止Lコード 0 0 0 1 画素ブロック転送中 (plxbl L)又はID1.E中の停+L−001
0リセット中の停+L 0  1  0  0  EMU演算コードからの停止
Ll  0 0 0 歩進中の停+L 1  1  1  1  EMUメモリアクセス中のバ
ス異常による停1ト フィールドサイズレジスタ2107は、フィールドサイ
ズレジスタで指定可能な、種々の大きさのデータフィー
ルドにメモリアクセスする事が出来るようにしている。
選択的に可変のフ、f−ルドサイズをHするメモリへの
アクセスに付いては、特許出願S、N  355.78
9号、1989年5月190受理、に記述されており、
これはここでも参照されている。
レジスタ2107にロードされる値は、6ビットコード
であり、書き込まれるビット数を示している。レジスタ
2107を使用することにより、エミュレータがデータ
の書き込みを行ったりするときに、主計算機が読み込み
および書き込みアクセス動作を行うときに通常行う必要
のある、読み込み−修正変更一書き込みといった動作手
順を不要とする。C−PUが最初停止しているときには
、レジスタ2107の内容は不定である、これは完全な
ラッチであってコピーでは無いからである。
レジスタ2107内の値への走査機能で、レジスタ21
07の最上位6ビットの値が入力される。
値の走査出力を行う場合は、値はレジスタ2107の最
下位6ビットに入っている。エミュレーションi148
レジスタは、表、9で定義されるビットを有する。エミ
ュレーション制御レジスタ2121の内容は、制御走査
モードが別のMUXに切り替えられるまで実行されない
表9 ビット   機 能      記  事0°  試験
モード可能 制御器の装置を試験モード(TEST)と
する 1  シグニチャ−CROM内装置をシグニチ可能  
    ヤーモードとする 5−2データ走査選択 どのレジスタをデーター4ビッ
ト    走査とするか選択 9−6  EMU機能コード write/load/
dump選択−4ビット 10   EMU使用中   CPuをメモり制御器よ
りエミュレータ使用中 に接続 11   ロードマツパ  オーバレイマツパロー可能
      ド制陣条件 12   メモり処理中止 現行のメモり処理中止13
   MAP/VP可能   マツピング及び書込み可
能とする 14   マクロモード  RESET、 NMI及び
キャッシュのフラッシングを 禁止 15   主計算機ボート 主計算機ボートサイクブロ
ック    ル禁止、NOTレディーとする ta   歩道      CPUに1命令実行を強制
  − 17CPLI優先度   CPU優先度を主計算機以上
とする 18   装置使用不能  装置を使用不能とし、全て
のビンを三位置状 態とする 19   EMUReset     エミュレータリ
セット20   EMUINT      アイドル命
令又はplxblt中にエミュレー タを強制停止 29   キャッシュフラ キャッシュがフラッシッシ
ュフラグ  ユ状態にあることを 表示 29   BUSERRフラグ  バスエラー状態を表
示30  1?FTRYフラグ  メモり再実行状態を
表示 31   MEMCT1.使用中  メモり$制御器が
使用中フラグ     又はesubusyビットが設
定された事を表示 エミュレーション制御レジスタ2121内の、四つのビ
ット2−5は、データレジスタ走査モードの間に、直列
走査を行うためのレジスタを、レジスタ2103.21
05および2107の中から選び出す、a常機能モード
時は、これら4ビットは零にクリアされている。表、X
  は走査iI能レジスタおよびそれらの走査コードを
示す。
表X SCN3 SCN2 SCNI SCNOSelect
 Codeo   0  0   OScanMA0 
  0   0     l    ScanMD9 
 0  1  0  Scan DaLa Size 
Latchエミュレータは、表、XI  に示された機
能をサポートする。適当な機能コードがエミュレーショ
ン制御レジスタの中に設定される。次にプロセッサCP
U2101は制御実行モードに設定される。
次にCPU2101は線路SCOUTを高位状態とし、
機能が実行中であることを表示する。動作が完了すると
、CPU2101は再び線路SCOUTを低位状態にす
る。通常機能モード時は、これら4ビットは零にクリア
されている。
表XI FCN3  FCN2  FCNI  FCIIIOo
   0  0  0    Reserved0  
0  0  1    Run 0  0  1  0    Reserved0  
0  1  1    Return  Lo res
e【0  1  0  0    Reserved0
  1  0  1    Resume InLer
rupLed  Instructiono   1 
 1  0    Reserved0  1  1 
 1    RunMacr。
1  0  0  0    DumflST、PC1
001Dump Reg、  FIIc1  0  1
  0    DumpCachc1  0  1  
1    LoadST、PC1100LoadRcg 1  1  0  0   LoadRcg、  FI
Ic1  1  0  1    LoadCachc
1  1  1  0   Read Memory 
 (Inc address)1  1  1  1 
  Write Memory (Inc addre
ss)ビットFCN3、ECN2、FCNIおよびFC
Oはエミュレーション制御レジスタ2121の9−6ビ
ットを占めている。
表、メI  のエミュレータ実行モードは、使用者コー
ドをCPU210仕で連続実行または歩進で実行する際
に、エミュレータで使用される。
エミュレータダンプ機能では、エミュレータはダンプ要
求の走査を行う。次にCPU2101は機械状態の要求
された部分を取り込み、これらを一つづつメモリデータ
レジスタ2105にロードする。各々の32ビットのグ
ループに対して、エミュレータ主計算機1101は、メ
モリデータレジスタ2105を順に走査して、データを
取得する。さらに詳細には、エミュレータダンプ機能は
以下の通りである。最初にエミュレータは表、×1の4
ビットの機能コードをダンプを行うために制御走査モー
ドを使用して走査し、エミュレータ使用中ビット10”
をレジスタ2121に設定する。2番目に、エミュレー
タは制御実行モード・に入る。3番口は、CPU210
1はSCOUTピンを高位状態に設定する。4番目は、
CPU2101は、機械状態の32ビット語をレジスタ
2105に設定し、SCOUTピンを低位状態とする。
5番目は、CPUは処理が完了するのを待つ。
エミュレータ使用中ビットが設定されると、CPUは停
止確認STOPACK信号をSCOUTピンを低位とし
て出力する。6番目に、エミュレータはデータ走査モー
ドに入り、レジスタ2105の走査を行う。走査実行中
は、本実施例では、CPU2101は同時に活動するこ
とを禁止されている。7番目に、動作は2番目の状態に
戻り、制御実行モードとなる。走査モードから抜けでる
ときに、エミュレータ使用中フラグをクリアする。
工程の終了は、既知の語数のダンプを行うことで解る。
キャッシュおよびレジスタファイルのダンプの後で、最
後の語の走査出力が終わった後で別の補助$IN8実行
が行われて、CPUはその状態手順を完了し、停止状態
に戻る。CPU2101は、停止状態に戻ったことを知
らせるためにSTOPACK信号を出力する。
エミュレータは次にエミュレーション−御レジスタ21
21内のエミュレータ使用中ビットをクリアする。
例えば、機能DUMP  ST、PCに於いて、100
0”機能コードは、CPUプログラム計数器および状態
レジスタのダンプを実行する。状態レジスタが最初にダ
ンプされ、続いてPCがダンプされる。
DUMP  REG、FILE機能では、′1001°
機能コードがAおよびBレジスタのダンプをこの順番で
実行する。
DUMP  ・CACHE機能では、1010”機能コ
ードが、キャッシュをダンプする。(キャッシュは異な
る区切りのレジスタを有する。最新に使用されたLRU
レジスタは、通常キャッシュ動作中に外部メモリから上
書きされる。)キャッシュダンプは、以下の手順で行わ
れる。各々存在フラグ(P)に続くデータレジスタが、
セグメントAから始めてダンプされる、32セグメント
のAレジスタに引き続いてセグメントA存在フラグがダ
ンプされ、同じようにその他のセグメントがダンプされ
る。次に、Aセグメント開始アドレスが9個のLSBを
零にセットしてダンプされる。
次の3語は、セグメントB、、CおよびDアドレスを含
んでいる。最終語はLRUスタックを含み、これは最新
使用LRU基準に従いセグメントが同定される。ふたつ
のLSBは、もっとも最近に使川れたセグメントの数を
含んでいる。次に最新に使用されたセグメントの数は、
最新で使用されたセグメント数を含む6および7ビット
の上位ビットに入れられている。ダンプされる全語数は
137である。
コード=1011、1100”、°1101で示される
、エミュレータロード機能に於いて、エミュレータはレ
ジスタ2105内の値のロードを要求する。次にCPU
2101は、機械状態をレジスク2105の値から作り
出す。第1番目に、エミュレータは状態のロードを行う
ために制御走査モードを使用して走査し、エミュレータ
使用中ビットを設定する。2番[]Iミ、エミュレータ
はデータレジスタ走査モードを使用してレジスタ210
5を走査する。3番目は、エミュレータは制御実行モー
ドに入り、4番目でCPU2101はSCOUTビンを
高位状態に設定する。5番目は、CPUは、機械状態の
32ビット語の書き込みを要求し、処理が終了するのを
待つ。データのロードが終了した後で、線路SCOUT
は低位状態とされる。6番目は、エミュレータは後続の
32ビット語をレジスタ2105内に走査する。
データ走査レジスタモードから抜けでるときに使用中フ
ラグをクリアする。7番目に、動作は3番目の状態に戻
り、制御実行モードとなる。工程の終了は、あらかじめ
定められた語数のロードを行うことで解る。エミュレー
タは次にエミュレーション制御レジスタ2121内のエ
ミュレータ使用中ビツト10°をクリアする。
L0AD  PC,ST機能に於いて、1011°機能
コードは、状態レジスタのロードに引き続いて、CPU
プログラム計数器のロードを実行する。LOAD  R
EG機能では、1100”機能コードがAおよびBレジ
スタのロードをこの順番で実行する。DUMP  CA
CHE機能では、1101”1m能コードで、キャッシ
ュのロードがセグメントAから始めて、次にしRUスタ
ック、次にセグメントAのPフラグ、続いて32セグメ
ントのAレジスタの順で行われる。次に同様の操作が、
セグメント81CおよびDに対して実行される。セグメ
ントDのロードに続いて、一つのダミーがロードされる
。本実施例ではロードされる全語数は138である。
エミュレータは、アドレス値をレジスタ2103に、ま
たデータ値をレジスタ2105に、またメモり読み込み
または書き込み機能コードをエミュレーション制御レジ
スタ2121に走査機能で人力することにより、Ilo
レジスタを含む、チップアドレス空間の任意の場所にア
クセスする事が可能となる。CPUがエミュレータ停止
状態にいるときには、これらのレジスタはエミュレータ
が利用できて、制御実行モードに入る。従ってCPUは
、メモリアクセスを要求し、そのアクセスが完了したら
CPUはエミュレータ停止モードに戻ると言う具合に制
御される。この様に、あたかも状態機械のように動作す
る、CROM内部で状態間の遷移を行うことで、第16
図に示すハードウェアアダプタ1203回路に代わる実
施例として、チップ搭載機能が実現されている。通常の
停止手順では、エミュレータが、メモリアクセスの完了
信号を出力する。この機構を使用して、コードをダウン
ロードした後で、エミュレータはエミュレーション制御
レジスタ2121内の、キャッシュフラッシュビット2
9を設定することにより、キャッシュの吐き出しを実行
する。
エミュレーション制御レジスタ2121のビットの機能
(これは第16図のエミュレーション制御レジスタ12
51に類似している、)を、次に少しコ細に記述する。
もしもCPUがメモリアクセス要求時に、エミュレーシ
ョン使用中ビット10が設定されると、CPU2101
のメモリインタフェースは使用中となる。これは、CP
Uがレジスタ2103および2105を修正変更する事
を禁止し、エミュレータはデータを走査出力する時間が
与えられる。使用中フラグは、再び制御機能モードに入
るまで設定されたままである。
ロードマツプ使用口■能ビット11”は、メモり制御器
に特別なメモり書き込み周期を生成させる。ビット11
は、これをロードマツプバス状態コードを設定し、RA
Sおよびバッファ制御出力をブσ・1りする事により実
現している。この結果CPUが、メモり書き込みマイク
ロコードを使用して、マツパのロードを支援出来るよう
になる。通常機能モード中は、このビットは零にクリ了
されている。エミュレータはMAレジスフ2103のデ
ータ”部分が、最下位の5ビットに3まれないように制
御しているが、これはレジスタ2103のこれらのビッ
トがLADバスには出力されないためである。エミュレ
ータは最下位5ビットに零がロードされるようにして、
メモり制御    器がこれを異常データが書き込まれ
ていると誤認して、確認周期を実行しないようにしてい
る。メそり周期ボート12は現在実行中のメモりJ、J
期を破棄するように信号を出力する。別のメモり周期が
開始される前に、このビットはエミュレータでクリアさ
れる。通常機能モード時は、このビットは零にクリアさ
れている。
MAP/WP使用可能ビットは、設定されると、オーバ
ーレイマツピングと書き込み防11ユ機能を実現する。
このビットが設定されると、PAGMD−、BUSER
の時分割切り替え、およびサイズ1口−ビンが使用可能
となる、通常機能モードではこのビットは零にクリアさ
れている。
マクロモードビット14は、プログラムをキャッシュの
中で実行し、第3フ図に示す機能主計算機HCFに影響
され無いようにする事が出来る。
このビットはリセット、全ての割り込み、およびキャッ
シュ使用可能ビットをブロックする。キャッシュPフラ
グは、マクロコード実行中はチェックされず、ホスト■
CFでクリアされる。キヤ・ツシュの再ロードを行う場
合は、Pフラグは変更されない。通常機能モードではこ
のビットは零にクリアされている。
ブロック主計算機ポートビット15は、主計算機HCF
が主計算機ボート線路2115経出でアクセス要求をさ
れるのを防止している。もしも主計算機HCFがこのピ
ラ1−が設定されているときに、アクセスされると、主
計算機ポート2240が準備中の状態となり、この状態
はビットがクリアされるまでII続する。この機能は、
主計算機プロトコルと一緒に使用される。通常機能モー
ドではこのビットは零にクリアされている。
エミュレーション制御レジスタ2121の歩道制御ビッ
ト16は、コア2101に対して、エミュレーション停
止状態を示す、停止確認信号STOPACKをSCOU
T−上に発生させる前に、たった一つの命令しか実行さ
せない。これはエミ −ニレ−シヨン命令を現在実行中
の命令の後ろにいれることと同等である。このビットは
、マイクロ制御器にいく前に、状態レジスフ内の歩進ビ
ットと論理和をとられる。通常機能モードではこのビッ
トは零にクリアされている。
CPUl先ビットは、CPUの優先度がホストHCFの
アクセスより上位にある時に設定される。
これによって、エミュレータは、完全に主計算機ボート
をブロックすることなく、マツパおよびメモリにロード
する周期を盗むことが出来る。通常機能モードではこの
ビットは零にクリアされている。
装置使用禁止ビット18は、クロックを含む全出力を使
用禁止とする。通常機能モードはこのモードから強制的
に脱出する。通常機能モードではこのビットは零にクリ
アされている。
E M U Resetビットは、リセット入力と論理
和をとられている。1°を書き込むこ、とによって、こ
のビットはリセット条件を作り出す。このビットはさら
に別の動作が実行されるときにクリアされる。
エミュレータジン割り込みビットEMUINTはエミュ
レータぢンの割り込みを実行する。これによって、ID
LE命令に割り込みがかけられる。
このビットは、設定されていてかつエミュレータビン上
に停止コードが置かれているときに有効である。
キャッシュフラッシュフラグ29は、現在のエミュレー
タのアクセス中に、キャッシュのフラッシュが発生した
ことを示す。このフラグは走査が終わると自動的にクリ
アされる。通常機能モードではこのビットは零にクリア
されている。
BUSERRフラグは、現在のエミュレータのメモリア
クセス中にBUSERおよびLRDYピン上にメモりバ
スエラーが発生したことを示している。このフラグは走
査が終わると自動的にクリアされる。通常機能モードで
はこのビットは零にクリアされている。もしもバス異常
がエミュレータ1101主導アクセスまたはマク口実行
中のいずれで発生したとしても、CPUはSTOPAC
Kを発生し、エミュレータハードウェアからの、停止信
号待ちとなる。停止が受信されると、CPU2101は
コード1111” (異常による停止)を、メモリアド
レスレジスタ2103の最下位4ビットに、プログラム
計数器の内容と一緒に挿入する。
RETYフラグ30は、現行のエミュレータによるメモ
リアクセス中にBESERRおよびLRDYビン上にメ
モり再試行要求が立てられたことを示す。このフラグは
走査が終わると自動的にクリアされる。通常機能モード
ではこのビットは零にクリアされている。
−メモり制御器使用中フラグM E M CT L  
B USYは、走査論理回路で使用され、エミュレータ
が要求したメモり処理が完了したことを検出する。
このビットはラッチされず、エミュレータで読み込める
次に区切り点に話を戻すと、ソフトウェア区切り点はソ
フトウェアコード開発およびデバッグで好適に使用され
ている。多重区切り点は、停止モード(制御モード)中
に設定できる。使用者が実行を開始すると、任意の区切
り点でプロセッサ2101は確実に停止する。区切り点
事象が発生した時点で、区切り点は、使用者の区切り点
スタックでクリアされる。この結果、区切り点での割り
込みでじゃまされること無く、プログラムの流れは継続
できる。
ソフトウェア区切り点の機構は、エミュレーション命令
r E MU Jを利用している。この命令は、命令の
流れの中でCPU2101がこれに遭遇すると、CPU
にSTOPACK信号を送るように促す。この様に、プ
ログラム計数器PCは、それが遭遇したEMU命令を指
したままの状態で残される。区切り点を取り除くために
は、エミュレータは元の命令をメモリに再挿入し、キャ
ッシュをフラッシュする。
ソフトウェアデバッグおよびエミュレーションの目的の
ために、ふたつのEMU命令が用意されテイル。「通常
J EMU命令として、演算コードを0100h”と示
す。これはCPUソフトウェアトラップを起こさせる。
もう一つの演算コードは0110h”であって、r E
 M U存在」命令であって、CPU2101(,:S
TOPACKを発生させ、停止コードが現れるまで、ル
ーピング状態で待機させる。エミュレータ計算機11o
1が、停止信号をビンECOおよびECI上に確立する
と、CPU2101はエミュレーション停止マイクロコ
ードにジャンプする。
エミュレーション制御レジスタ内の、歩道モードビット
16、およびCPU2101状態レジスタ内の同様のビ
ットは、CPU機能を歩道制御する。いずれかの歩道ビ
ットが1″に設定されると、CPUは命令実行後停止し
、個々の命令のオペランド転送周期を実行する。すなわ
ち次の命令は、それがプログラム計数器PCで認識され
た命令か割り込み処理の先頭の命令かに関係なく、実行
される。注意されたいのは、この歩進動作がエミュレー
ショシ停−1−ステップに類似している点である。キャ
ッシュは通常歩進で動作する。もしもエミュレータが別
の命令を取って来れなくなると(キャッシュ満杯)、歩
道を進める前に、キャッシュ使用不能をセットするかキ
ャッシュフラッシュビットを設定する。この様にして、
別の命令の取得が防止される。
歩道または通常実行モードへの遷移を行うために、命令
が実行される前に割り込みがサンプリングされる。次に
マスクされていない割り込みが、実行待ちになっている
と、コア2101はトラップを行い、その先頭命令(歩
進モードでは単一命令)が割り込みベクトルが指してい
る命令ということになる。
コア2101に関連の割り込み論理回路は、エミュレー
ション制御レジスタ2121の状態に無頓着に割り込み
を監視する。したがって、INTPEND  10レジ
スタの状態は、あたかもコア2101がHALT/SC
AN期間の割り込みを持っているのと同様である。状態
レジスタの割り込み可能ビットを設定した状態で、実行
または歩進に移行する場合は、最高の優先順位を有する
割り込み処理が実行される。この様に、割り込みh■能
ビットがクリアされて、エミュレータ1101またはソ
フトウェアに干渉すること無く、別の割り込みを票止す
る状態となる。割り込み確認は、割り込みベクトルが取
り込まれたときに、好適に状態コード出力としてなされ
る。CPUはメモり周期を実行するので、この状悪コー
下出力は停止確認f3号STOPACK−が発生される
前に完了する。命令境界では、割り込みとエミュレータ
停止の両方が発生し、また割り込みが割り込み可能命令
上でサンプリングされたときに発生する。指定の命令境
界上で割り込みおよびエミュレータ停止が要求された場
合は、エミュレータ停止が先に行われる。
例えば、エミュレーションモード時、エミュレーション
ハードウェアは、マルチプレクスされたエミュレーショ
ンビン機能を使用して、始動および停止、歩道、マクロ
命令実行、内部機械状態への走査出力および走査人力を
行う。典型的なエミュレーション手順は、実行−停止−
実行であって、表、X It  に示されている。
表、X1【 lEmulation Pins      Sean
 DatalALT Wall  for SCOUT−lowSean I
EMU Control     Sct Data 
SCAN”HAScan DATA         
 MA−OX801000Scan EMU Cont
rol    SCAN−M肌1CN−WRITE M
EN。
6M1J Busy En−l Sean Data     MD−dakConlr
ollcd Run SCOUT−Gocs Iligh 1a11  for SCOUT−1、owIAI、T
 or SCAIJ ハードウェアリセットは、チップをオーバレイメモリの
内容を破壊すること鴬くリセットしなければならない。
通常機能モードに於いて、リセットは全体のリセットと
同じであって、これは電源投入で実行される。停止、一
時停止、または走査モードがエミュレータピン上に置か
れている場合は、リセットはブロックされるべきである
。またマクロモードに居るときも、リセットはブロック
されるべきである。さらに通常モード以外にいるときは
、リセットが発生した場合は、メモり$1ga器はメモ
り内容を破壊する事無く全ての実行中のメモり処理を完
了(メモり打ち切り)し、リセットが解除された場合は
リフレッシュを実行しなければならない。オーバーレイ
メモリは、一つまたは複数頁のDRAMで構成されてお
り、プログラム可能領域の上にマツプされる。マツピン
グはラッチバス2122に接続された高速静的RAMで
実行される。・RAMの一つの出力は、低位活性信号が
メモリアクセスがオーバーレイメモリからなされて、コ
アを有するチップからなされるものでは無い状態を示し
ているときに行われる。このメモリはエミュレータに局
部的に限定される物であって、チップを含む対象システ
ムからは、アクセスされない。
本発明に対して種々の実施例が、ハードウェア、ソフト
ウェアまたはマイクロコードファームウェアを用いて実
現できることは理解されよう。ここに示した工程図はま
た、マイクロコード化されり、ソフトウェアで構成され
た実施例を表している。
本発明を図で示した実施例を元に、今まで説明してきた
がこの説明は、限定を目的としてなされたものではない
。図に示された実施例、またはその他の実施例から、種
々の改変や組み合わせが行えることは、この説明をもと
にすれば、熟練の技術者にとって容易なことは明かであ
ろう。したがって、添付の特許諸求の範囲は、これらの
改変並びに実施例が本発明の真の範囲に含まれるものと
考えている。
「以上の説明に対して更に以下の項を開示する。
(1)  半導体チップと: チップに搭載された電子式プロセッサと;それに 芋ツブに搭載された前期電子式プロセッサの動作を分析
するために前期電子式プロセッサに接続された状態検出
器とで構成されたデータ処理装置。
(2)  第1項記載の装置に於いてミ前期チップ搭裁
状態検出器がプログラムアドレス区切り点回路をaする
ことを特徴とする前期データ処理装置。
(3)  第1項記載の装置に於いて、前期チップ搭載
状態検出器がデータアドレス区切り点回路を有すること
を特徴とする前期データ処理装置。
(4)  第1項記載の装置に於いて、前期電子式プロ
セッサがプログラム計数器を有し、前期チップ搭載状態
検出器が前期プログラム計数器に接続された、トレース
スタックを有することを特徴とする前期データ処理装置
(5)  第4項記載の装置に於いて、前期チップ搭載
状態検出器がトレーススタック満杯監視器を有すること
を特徴とする前期データ処理装置。
(8)  開発途中のデータ処理装置を有し、後で具備
される予定の周辺機器はまだとりつけられていない状態
の前期装置の開発時に主計算機と共に使用されるデータ
処理装置であって: 周辺機器にアクセスする信号で、それに対して周辺機器
が存在する場合には第2信号を応答する、前期第1信号
を発生するように動作する電子式プロセッサと; 前期電子式プロセッサに接続され、前期第2信号が検出
されたときに、前期電子式プロセッサの動作を一時的に
中断させるように動作する検出回路と;それに 主計算機に接続可能で、前期主計算機が模擬した前期周
辺機器のアクセス信号に応答し前期電子式プロセッサに
第21r−号を供給するための前期電子式プロセッサの
インタフェースとで構成されていることを特徴とする、
前期データ処理。
(7)  第6項記載の装置に於いて、前期インタフェ
ースが直列走査インタフェースを含み前期プロセッサ、
検出回路、および走査インタフェースが半導体チップの
上に集積されていることを特徴とする前期データ処理装
置。
(8)  単一半導体チツプの上に形成されたデータ処
理装置に於いてニ ーつの電子式プロセッサと、通常は互いに共同で動作す
るチップ搭載周辺回路と: 外部から供給されるデータを電子式プロセッサおよびチ
ップ搭載周辺回路に選択的に入力し、エミュレーション
モードでの動作時に、電子式プロセッサとチップ搭載周
辺回路を互いに独立に始動および停止させる装置とで構
成されていることを特徴とする、データ処理装置。
(9)  第8項記載のデータ処理装置に於いて、さら
に停止モードをディジタル的に表して保持する装置をH
することを特徴とする前期データ処理装置。
(10)  第9項記載のデータ処理装置に於いて、前
期選択的にデータを入力する為の装置が前期ディジタル
的表現に応答して前期電子式プロセッサが、あらかじめ
定められた場所に非マスク割り込みの様にトラップをか
け、トラップからの復帰がなされるまでプロセッサの動
作を継続させるようにした装置を有することを特徴とす
る前期データ処理装置。
<11)  第9項記載のデータ処理装置に於いて、前
期電子式プロセッサがパイプライン構造を有し、前期選
択的にデータを人力する装置が前期ディジタル的表現に
応答して前期電子式プロセッサに命令の取り込みを止め
させバイブラインの中にある全ての命令を実行させる装
置を有することを特徴とする前期データ処理装置。
(12)  少なくとも第1および第2走査経路を有す
る直列走査試験可能インタフェースと;それに前期第2
走査経路に接続され応答し、一般的にエミュレーション
制御で動作し得る状態機械回路とで構成されたエミュレ
ーション装置。
(13)  第12項記載のエミュレーション装置に於
いて、前期直列走査試験可能インタフェースが一つの命
令レジスタを有し、前期命令レジスタに応答する走査経
路選択回路を有することを特徴とする前期エミュレーシ
ョン装置。
(14)第13項記載のエミュレーション装置に於いて
、前期直列走査試験r+J能インタフェースが前期命令
レジスタを制御するために接続された分離式状態機械を
有し、外部から供給されるディジタル信号に応じた状態
のしーけんすを有することを特徴とする前期エミュレー
ション装置。
[アプストラクト] 電子式プロセッサ1873、検出器1877および周辺
機器1871とで構成され、システムの検査、試験およ
びエミュレーションに使用されるデータ処理装置11゜
発明の一つの実施例では、検出器はチップに搭載されプ
ロセッサの動作の分析が可能である。別の実施例では、
検出器はプロセッサが存在しない周辺機器にアクセスし
たときに、プロセッサの動作を一時的に中断出来る。次
に検出器はあたかも周辺機器が存在するかのように返事
を返す。発明の別の実施例では、周辺機器はプロセッサ
と、同一チップに搭載されており、データを人力してプ
ロセッサおよび周辺機器をエミュレーションモードに於
いて、独立に始動および停止出来る装置が具備されてい
る。その装置は、さらに少なくとも2本の走査経路の直
列走査試験可能インタフェース1981をaする。全て
の番号は第35図を参照している。
【図面の簡単な説明】
第1図は集積回路チップおよびソフトウェア開発用ツー
ルの絵画的全体図; 第2図は、エミュレーション、シミュレーション、試験
可能システムと付加されたデータ処理用プロセッサ、通
信I10および周辺機器の部分的には絵画的にまた一部
はブロック図で示したシステム図; 第3図は第2図に示す主計算機のソフトウェア構成図: 第4図はモジュラ−ポー1・走査(MPSD)構成のブ
ロック図: 第5図は、走査試験/MPsD構造のブロック図: 第6図は、集積化された試験およびエミュレーション回
路のブロック図: 第7図は、走査試験可能インタフェースの一部はブロッ
ク図また一部は模式図で示した図;第7A図は、第7図
の試験アクセスポート(TAP)制御器の状態遷移図: 第8図は、チップ搭載プロセッサチップ領域、境界走査
および走査試験/エミュレーション回路のブロック図: 第9図は、第8図に示すプロセッサチップのブロック図
で、種々の領域に配置されたチップの機能ブロックと、
メツセージ通過回路を示す;第10図は、第8図および
第9図のプロセッサチップを一部を絵画的にまた一部を
ブロック図で示した図; 第11図は、第7図の走査経路のより詳細なブロック図
: 第12図は、第11図の走査経路のより詳細なブロック
図: 第13図は、領域への制御アダブクの接続ブロック図で
、命名法を示す: 第14図は、領域内モジュールのブロック図と、モード
駆動停止過程を示す: 第15図は、エミュレーション、シミュレーションおよ
び試験可能性を示す第2図、第7図、第14図および第
16図のシステムの動作を示す流れ図; 第16図は、第6図、第7図、第8図、第9図、第13
図および第14図アダプタの詳細ブロック図; 第16A図はフォーマットを示す図: 第1フ図は、第16図のアダプタ内のコード状態機械お
よび事象管理回路の模式図: 第18図は、第1フ図のコード状態機械の状態遷移図; 第19図は、第16図のアダプタの選択回路およびフリ
ップフロップ回路の模式図: 第20図は、第16図のロック制御回路の模式第21図
は、領域にコードを供給する、第16図のアダプタの、
三つの同等の論理回路の一つの回路図: 第22図は、機能クロックFCLKまたは試験クロック
JCLKの切り替えを行う、第16図のアダプタの、三
つの同等の論理回路の一つの回路図; 第23図は、ウェファ−組立製造時に一枚のウェファ−
上に多数の集積回路を乗せて試験するための試験システ
ムの絵画的図: 第24図は、第23図の試験システムの動作を示す流れ
図: 第25A図および第258図は、エミュレーション、シ
ミュレーションおよび試験可能性機能が改善された中央
処理装置CPUコアのブロック図を半分づつ示した図: 第26図は、集積回路装置の動作を監視する為の分析回
路のブロック図; 第2フ図は、第26図の分析回路の動作を示す流れ図: 第28図は、第25A図の中のハードウェア区切り点の
ブロック図: 第29図は、第25A図のトレーススタックのブロック
図; 第30図は、第25A図のトレーススタックおよびプロ
グラム計数器の動作の流れ図:第31図は、プロセッサ
装置のアドレスマツプを示す図: 第32図は、プログラム計数器スタックの内容を時間軸
に沿って示した図、トレーススタックは図示せず: 第33図は、シミュレーションされた周辺機器にアクセ
スするための装置を一部は絵画的にまた一部はブロック
図で示したちの: 第34図は、第33図のシステムの動作を示す流れ図: 第35図は、第9図のメツセージ通過回路のブロック図
: 第36図は、第2図のオペレーティングシステムの付加
プロセッサの処理流れ図: 第3フ図は、画像処理システムプロセッサGS    
−Pチップのブロック図: 第38図は、第3フ図のGSPチップのCPU部の詳細
ブロック図で試験可能、エミュレーションおよびシミュ
レーション回路を示す図;第39図は、第3フ図のGS
Pチップを駆動するクロックの波形図; 第40図は、第3フ図のGSPチップで使用される並列
抵抗器ラッチの模式図: 第41図は、第3フ図のGSPチップで使用される直列
抵抗器ラッチの模式図: 第42図は、第3フ図のGSPチップの制御用読みだし
専用メモり(CROM)のブロック図;第43図は、第
42図のCROMのシグニチト−試験回路の詳細ブロッ
ク図:そして 第44図は、第43図のシグニチャー分析試験回路内の
セルの模式ブロック図。 特に文章で指定されていない限り、種々の図面で同一部
品は同一番号で示されている。

Claims (1)

    【特許請求の範囲】
  1. (1)半導体チップと; チップに搭載された電子式プロセッサと;それに チップに登載され前期電子式プロセッサの動作を分析す
    るために前期電子式プロセッサに接続された状態検出器
    とで構成されたデータ処理装置
JP2203763A 1989-07-31 1990-07-31 状態監視器を備えたデータ処理装置 Pending JPH03148732A (ja)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US38772489A 1989-07-31 1989-07-31
US38754989A 1989-07-31 1989-07-31
US38747589A 1989-07-31 1989-07-31
US38828689A 1989-07-31 1989-07-31
US38827089A 1989-07-31 1989-07-31
US387549 1989-07-31
US387724 1989-07-31
US388270 1989-07-31
US388286 1989-07-31
US387475 1989-07-31

Publications (1)

Publication Number Publication Date
JPH03148732A true JPH03148732A (ja) 1991-06-25

Family

ID=27541412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2203763A Pending JPH03148732A (ja) 1989-07-31 1990-07-31 状態監視器を備えたデータ処理装置

Country Status (2)

Country Link
EP (1) EP0411904A3 (ja)
JP (1) JPH03148732A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009014406A (ja) * 2007-07-02 2009-01-22 Toyota Motor Corp 電子制御ユニットの自動検査装置
KR101598821B1 (ko) * 2014-09-18 2016-03-02 김다솜 수납함이 구비된 의자
KR102308990B1 (ko) * 2021-07-20 2021-10-06 (주) 에이블리 반도체 테스트 패턴 발생 장치 및 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5311520A (en) * 1991-08-29 1994-05-10 At&T Bell Laboratories Method and apparatus for programmable memory control with error regulation and test functions
US5386383A (en) * 1994-02-28 1995-01-31 At&T Corp. Method and apparatus for controlling dynamic random access memory devices
US5621651A (en) * 1994-03-09 1997-04-15 Texas Instruments Incorporated Emulation devices, systems and methods with distributed control of test interfaces in clock domains
US5841670A (en) * 1994-03-09 1998-11-24 Texas Instruments Incorporated Emulation devices, systems and methods with distributed control of clock domains
GB2288666B (en) * 1994-04-12 1997-06-25 Advanced Risc Mach Ltd Integrated circuit control
EP0926597B1 (en) * 1997-12-19 2003-05-07 Mentor Graphics Corporation Method and apparatus for performing fully visible tracing of an emulation
GB9805488D0 (en) 1998-03-13 1998-05-13 Sgs Thomson Microelectronics Microcomputer
GB9805482D0 (en) * 1998-03-13 1998-05-13 Sgs Thomson Microelectronics Microcomputer
US6571363B1 (en) * 1998-12-30 2003-05-27 Texas Instruments Incorporated Single event upset tolerant microprocessor architecture
FR2996321B1 (fr) * 2012-10-03 2014-10-24 Emulation And Verification Engineering Procede et dispositif de sauvegarde d'un etat d'un circuit sous test emule dans un emulateur et de son environnement de test logiciel, et procede et dispositif de restauration correspondants
JP6604341B2 (ja) * 2017-02-06 2019-11-13 横河電機株式会社 センサの登録方法、センサの登録システム及び中継装置
CN116992221B (zh) * 2023-07-31 2024-03-26 武汉天翌数据科技发展有限公司 一种运维平台的故障检测方法、装置、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3673573A (en) * 1970-09-11 1972-06-27 Rca Corp Computer with program tracing facility
US4569048A (en) * 1983-09-19 1986-02-04 Genrad, Inc. Method and apparatus for memory overlay
US4674089A (en) * 1985-04-16 1987-06-16 Intel Corporation In-circuit emulator
JPS62164140A (ja) * 1986-01-14 1987-07-20 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション デ−タ処理システムの試験方法
FR2593621A1 (fr) * 1986-01-24 1987-07-31 Intel Corp Appareil de point de rupture pour microprocesseur

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009014406A (ja) * 2007-07-02 2009-01-22 Toyota Motor Corp 電子制御ユニットの自動検査装置
KR101598821B1 (ko) * 2014-09-18 2016-03-02 김다솜 수납함이 구비된 의자
KR102308990B1 (ko) * 2021-07-20 2021-10-06 (주) 에이블리 반도체 테스트 패턴 발생 장치 및 방법

Also Published As

Publication number Publication date
EP0411904A3 (en) 1992-05-27
EP0411904A2 (en) 1991-02-06

Similar Documents

Publication Publication Date Title
US5329471A (en) Emulation devices, systems and methods utilizing state machines
US6546505B1 (en) Processor condition sensing circuits, systems and methods
US5805792A (en) Emulation devices, systems, and methods
US6704895B1 (en) Integrated circuit with emulation register in JTAG JAP
US6539497B2 (en) IC with selectively applied functional and test clocks
US5841670A (en) Emulation devices, systems and methods with distributed control of clock domains
US5621651A (en) Emulation devices, systems and methods with distributed control of test interfaces in clock domains
US6522985B1 (en) Emulation devices, systems and methods utilizing state machines
US6085336A (en) Data processing devices, systems and methods with mode driven stops
US5884023A (en) Method for testing an integrated circuit with user definable trace function
US6760866B2 (en) Process of operating a processor with domains and clocks
US5708773A (en) JTAG interface system for communicating with compliant and non-compliant JTAG devices
US5157781A (en) Data processor test architecture
EP0636976B1 (en) Microcontroller provided with hardware for supporting debugging as based on boundary scan standard-type extensions
US5479652A (en) Microprocessor with an external command mode for diagnosis and debugging
US5519715A (en) Full-speed microprocessor testing employing boundary scan
US6920416B1 (en) Electronic systems testing employing embedded serial scan generator
US20040193957A1 (en) Emulation devices, systems and methods utilizing state machines
KR20130100018A (ko) 여러 명령어 타입을 사용하는 시스템 테스트 방법 및 장치
JPH03148732A (ja) 状態監視器を備えたデータ処理装置
JP4443545B2 (ja) クロックドメインにおける試験インターフェースの分散制御を備えるエミュレーション装置、システムおよび方法
US6041176A (en) Emulation devices utilizing state machines
US20040250150A1 (en) Devices, systems and methods for mode driven stops notice
US6349392B1 (en) Devices, systems and methods for mode driven stops
Crouch et al. Testability features of the MC68060 microprocessor