(57)【要約】【課題】Ｉ／Ｏポートの入出力状態をデータ信号と共に外部に報知できる機構を備えたマイクロコンピュータを得ること。【解決手段】Ｉ／Ｏ状態出力レジスタ２０３の出力が“Ｈ”レベルであるとき、スイッチ素子２１７の出力によって、基準クロックの前半領域では、スイッチ素子２０８，２１０，２１５，２１６はＯＮ状態、スイッチ素子２０７，２０８はＯＦＦ状態になり、基準クロックの後半領域では、逆の動作状態になる。基準クロックの前半領域では、方向レジスタ２０１が出力状態“Ｈ”を出力するときは、Ｉ／Ｏポート端子２１８は“Ｈ”レベルになり、入力状態“Ｌ”を出力するときは、Ｉ／Ｏポート端子２１８は“Ｌ”レベルになる。基準クロックの後半領域では、データ信号の入出力が行われる。つまり、データ信号の入出力が行われる前にＩ／Ｏポートの入出力状態を外部に報知できる。【選択図】　　　図２
2004139412.tif 000002
【特許請求の範囲】
【請求項１】
Ｉ／Ｏポートに、前記Ｉ／Ｏポートが出力状態であるか入力状態であるかを示す信号を保持出力する方向レジスタと、データバスの出力データを保持出力するポートラッチとを備えるマイクロコンピュータにおいて、
前記Ｉ／Ｏポートの入出力状態を外部に報知するか報知しないかを指定する信号を保持出力するＩ／Ｏ状態出力レジスタと、
前記Ｉ／Ｏ状態出力レジスタの出力信号が前記外部への報知を指定している場合において、基準クロックの前半領域では、前記方向レジスタの出力内容を前記Ｉ／Ｏポートから外部に出力し、基準クロックの後半領域では、前記方向レジスタが出力状態を示すときは前記ポートラッチの保持内容を前記Ｉ／Ｏポートから外部に出力し、前記方向レジスタが入力状態を示すときは外部からのデータ入力を可能にする第１制御回路と、
前記Ｉ／Ｏ状態出力レジスタの出力信号が前記外部への報知を指定していない場合において、前記方向レジスタが出力状態を示すときは前記ポートラッチの保持内容を前記Ｉ／Ｏポートから外部に出力し、前記方向レジスタが入力状態を示すときは外部からのデータ入力を可能にする第２制御回路と、
を備えたことを特徴とするマイクロコンピュータ。
【請求項２】
前記Ｉ／Ｏ状態出力レジスタには、プログラムが実行されたときに、データバスから前記外部に報知するか報知しないかを指定する信号が書き込まれることを特徴とする請求項１に記載のマイクロコンピュータ。
【請求項３】
請求項１または２に記載のマイクロコンピュータにテストプログラムを書き込み、それを実行させて前記マイクロコンピュータのファンクションテストを実施するテスト装置であって、
前記テストプログラムに書き込んだテスト開始時期を基準に算定される基準クロックの前半領域において前記マイクロコンピュータが示すＩ／Ｏポートの入出力状態を検出し、第１判定条件と一致しないときファンクションテストを中止し停止状態にする第１判定手段と、
前記第１判定手段にて第１判定条件と一致すると判定されたとき、前記基準クロックの後半領域において前記マイクロコンピュータが出力するデータ信号の論理レベルを検出して第２判定条件との一致不一致を判定し、一致するときはファンクションテストを実施し、一致しないときは次の判定動作に移行する第２判定手段と、
を備えたことを特徴とするテスト装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、マイクロコンピュータ（以下、「マイコン」という）および前記マイコンのファンクションテストを実施するテスト装置に関するものである。
【０００２】
【従来の技術】
マイコンの電気的特性を検査する工程では、コンピュータを内蔵するテスト装置を用いて、マイコンのＣＰＵ、周辺機能（タイマー、Ｉ／Ｏ等）の動作をテストするファンクションテストが行われる。このファンクションテストは、例えば次のような３つの手順で実行される。
【０００３】
手順１：マイコンは、ＣＰＵをアドレスバスおよびデータバスから切り離し、外部からアドレスバスおよびデータバスに信号を入力してマイコン内蔵の周辺機能を制御できるテスト専用の動作モード（以下、「周辺テストモード」という）を備えている。この周辺テストモードを利用してテスト装置から直接マイコンのＲＡＭに、例えば「Ｉ／Ｏポートを出力ポートに設定し“Ｌ”信号を出力する」というプログラムを書き込む。
【０００４】
手順２：テスト装置からマイコンにＲＥＳＥＴ信号を入力してＣＰＵをアドレスバスおよびデータバスに接続し、マイコンを単体で動作するシングルチップモードにする。その結果、マイコンでは、ＲＡＭに書き込まれたテストプログラムを実行される。
【０００５】
手順３：テスト装置では、予め用意したテストパターンとコントロール情報（テスト装置が信号を発生するのか信号の判定をするのかを示す情報）とに基づき、コントロール情報が“信号判定”である場合にマイコンの出力ポートとなっているＩ／Ｏポートの出力状態を取り込み、一致不一致を比較し、良品か不良品かを判定する。
【０００６】
ここで、コントロール情報は、例えば“信号判定＝Ｌ”を示すとすれば、今の例では、Ｉ／Ｏポートの出力が“Ｌ”信号である場合に良品と判断される。一方、Ｉ／Ｏポートの出力が“Ｈ”信号である場合は、不良品と判断される。
【０００７】
【発明が解決しようとする課題】
ところが、テストパターンやコントロール情報、つまりテストプログラムに作成ミスがあると、コントロール情報の“信号判定”とマイコンの出力信号との不一致が起こる。上記の例で言えば、マイコンのＩ／Ｏポートが“Ｈ”信号を出力する場合やコントロール情報の“信号判定”が“Ｈ”信号である場合が該当する。
【０００８】
しかし、従来のテスト装置では、上記手順３で説明したように、コントロール情報の“信号判定”とマイコンの出力信号とが不一致の場合には、一律にテスト無し（不良）と判断して次に進むようになっているので、テストパターンやコントロール情報に作成ミスがあると、テスト抜けが起こり正しくテストできない場合が生ずる。
【０００９】
特に、コントロール情報が“信号発生”であり、テスト装置からマイコンに対して“Ｈ”信号を出力する場合に、マイコンのＩ／Ｏポートが“Ｌ”信号出力状態であると、マイコンに過電流が流れ、マイコンを破壊する可能性がある。
【００１０】
従来では、例えばマイコン側でミス発生箇所を特定し修正する場合、Ｉ／Ｏポートの入出力状態はレジスタに保存され、その情報を取り出すには、ＲＡＭに書き込んだテストパターンを解読する必要があるので、修正作業が面倒で時間がかかる。テスト装置側でも同様である。
【００１１】
なお、上記のコントロール情報が“信号発生＝Ｈ”で、マイコンのＩ／Ｏポートが“Ｌ”信号出力状態である場合は、いわゆる信号衝突が生じたケースの一つであるが、例えば特許文献１では、信号衝突時にブレーク信号を発生させてマイコンを停止させる方法が開示されている。しかし、この方法では、マイコンに方向レジスタのＩ／Ｏ信号を外部に出力する専用の端子が必要であるので、マイコンの端子数を増大させる、ないしはマイコンの機能を縮小させるという問題がある。また、信号衝突検出とＩ／Ｏ信号のやり取りが同時に行われるので、上記のマイコンに過電流が流れる問題は依然として存在する。
【００１２】
【特許文献１】
特開平７−１８２２０３号公報（０００７〜００１１、図１〜図３）
【００１３】
この発明は、上記の鑑みてなされたもので、Ｉ／Ｏポートの入出力状態をデータ信号と共に外部に報知できる機構を備えたマイクロコンピュータおよびファンクションテストの過程で前記マイクロコンピュータに付加した機構を利用してデータ信号の入出力を行う前にテストパターン等、テストプログラムのミス検出が行える機構を備えたテスト装置を得ることを目的とする。
【００１４】
【課題を解決するための手段】
上記の目的を達成するために、この発明にかかるマイクロコンピュータは、Ｉ／Ｏポートに、前記Ｉ／Ｏポートが出力状態であるか入力状態であるかを示す信号を保持出力する方向レジスタと、データバスの出力データを保持出力するポートラッチとを備えるマイクロコンピュータにおいて、前記Ｉ／Ｏポートの入出力状態を外部に報知するか報知しないかを指定する信号を保持出力するＩ／Ｏ状態出力レジスタと、前記Ｉ／Ｏ状態出力レジスタの出力信号が前記外部への報知を指定している場合において、基準クロックの前半領域では、前記方向レジスタの出力内容を前記Ｉ／Ｏポートから外部に出力し、基準クロックの後半領域では、前記方向レジスタが出力状態を示すときは前記ポートラッチの保持内容を前記Ｉ／Ｏポートから外部に出力し、前記方向レジスタが入力状態を示すときは外部からのデータ入力を可能にする第１制御回路と、前記Ｉ／Ｏ状態出力レジスタの出力信号が前記外部への報知を指定していない場合において、前記方向レジスタが出力状態を示すときは前記ポートラッチの保持内容を前記Ｉ／Ｏポートから外部に出力し、前記方向レジスタが入力状態を示すときは外部からのデータ入力を可能にする第２制御回路とを備えたことを特徴とする。
【００１５】
この発明によれば、マイクロコンピュータのＩ／Ｏポートでは、Ｉ／Ｏ状態出力レジスタの出力信号がＩ／Ｏポートの入出力状態を外部に報知することを指定している場合に、基準クロックの前半領域では、方向レジスタの出力が示すＩ／Ｏポートの入出力状態を外部に出力することができ、基準クロックの後半領域では、方向レジスタが出力状態を示すときはポートラッチの保持内容を外部に出力し、方向レジスタが入力状態を示すときは外部からのデータ入力を可能にすることができる。
【００１６】
つぎの発明にかかるテスト装置は、上記発明にかかるマイクロコンピュータにテストプログラムを書き込み、それを実行させて前記マイクロコンピュータのファンクションテストを実施するテスト装置において、前記テストプログラムに書き込んだテスト開始時期を基準に算定される基準クロックの前半領域において前記マイクロコンピュータが示すＩ／Ｏポートの入出力状態を検出し、第１判定条件と一致しないときファンクションテストを中止し停止状態にする第１判定手段と、前記第１判定手段にて第１判定条件と一致すると判定されたとき、前記基準クロックの後半領域において前記マイクロコンピュータが出力するデータ信号の論理レベルを検出して第２判定条件との一致不一致を判定し、一致するときはファンクションテストを実施し、一致しないときは次の判定動作に移行する第２判定手段とを備えたことを特徴とする。
【００１７】
この発明によれば、テスト装置は、上記発明にかかるマイクロコンピュータをテストする場合に、テストプログラムに書き込んだテスト開始時期を基準に算定される基準クロックの前半領域においてマイクロコンピュータが示すＩ／Ｏポートの入出力状態を判定し、プログラムの作成ミスが検出されると、ファンクションテストを中止して停止状態にし、必要な措置が採れるようにすることができる。そして、前記第１判定手段にて第１判定条件と一致すると判定されたとき、前記基準クロックの後半領域においてマイクロコンピュータが出力するデータ信号の論理レベルを検出して第２判定条件との一致不一致を判定し、良否を判定することができる。
【００１８】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかるマイクロコンピュータおよびテスト装置の好適な実施の形態を詳細に説明する。
【００１９】
図１は、この発明の一実施の形態であるマイクロコンピュータおよびテスト装置の全体構成を示すブロック図である。図１に示すように、マイクロコンピュータ（以下、「マイコン」という）１０１では、ＣＰＵ１１１，ＲＡＭ１１２，Ｉ／Ｏポート１１３等がアドレスバス１１４およびデータバス１１５に接続されるマイコンにおいて、Ｉ／Ｏポートチェック時にＩ／Ｏ状態を検出して出力するＩ／Ｏポート制御回路１１６が設けられている。
【００２０】
また、テスト装置（以下、「テスター」という）１０２では、マイコン１０１の動作を記述した論理データであるテストプログラム（以下、「ＴＰＧプログラム」という）１２１に従って、マイコン１０１への入力信号を発生するドライバー１２２，マイコン１０１の出力データ信号の論理レベルを判定するデータチェック用のコンパレータ１２３，マイコン１０１の機能を測定する測定部１２４を備えている。この実施の形態では、さらに、ＴＰＧプログラム１２１に従ってマイコン１０１の入出力状態と出力データ信号の論理レベルとを判定するＩ／Ｏチェックとデータチェック兼用のコンパレータ１２５が設けられている。
【００２１】
以下、マイコン１０１とテスター１０２の具体的な構成と動作を説明する。図２は、図１に示すマイクロコンピュータにおけるＩ／Ｏポート制御回路を含むＩ／Ｏポートの構成を示す回路図である。図２において、データバス１１５には、方向レジスタ２０１とポートラッチ２０２とが接続され、さらに、Ｉ／Ｏ状態出力レジスタ２０３が接続されている。
【００２２】
方向レジスタ２０１は、データバス１１５上の制御ラインから、当該Ｉ／Ｏポートが出力状態であるか入力状態であるかを示す信号を取り込み、保持出力する。ここでは、方向レジスタ２０１は、当該Ｉ／Ｏポートが出力状態であるときは、“Ｈ”信号を出力し、当該Ｉ／Ｏポートが入力状態であるときは、“Ｌ”信号を出力するとしている。ポートラッチ２０２は、当該Ｉ／Ｏポートが出力状態であるときにデータバス１１５に送出される対応する１ビットデータを取り込み、保持出力する。
【００２３】
Ｉ／Ｏ状態出力レジスタ２０３には、この実施の形態では、マイコン１０１がテストプログラムを実行したときにデータバス１１５に送出される“Ｈ”信号または“Ｌ”信号が書き込まれる。ここでは、Ｉ／Ｏ状態出力レジスタ２０３は、当該Ｉ／Ｏポートの入出力状態を外部に報知する場合には、“Ｈ”信号を出力する一方、当該Ｉ／Ｏポートの入出力状態を外部に報知しない場合には、“Ｌ”信号を出力するとしている。
【００２４】
方向レジスタ２０１の出力端は、ＮＡＮＤ回路２０４の一方の入力端Ａとインバータ２０５の入力端とに接続されている。インバータ２０５の出力端は、ＮＯＲ回路２０６の一方の入力端Ａ’に接続されている。ＮＡＮＤ回路２０４の他方の入力端ＢとＮＯＲ回路２０６の他方の入力端Ｂ’とには、ポートラッチ２０２の出力端が接続されている。
【００２５】
ＮＡＮＤ回路２０４の出力端Ｃには、スイッチ素子２０７，２０８が並列に接続されている。スイッチ素子２０７の出力端は、Ｐチャネルトランジスタ２１１のゲート電極に接続され、スイッチ素子２０８の出力端は、排他的論理和回路２１２の一方の入力端Ｄに接続されている。
【００２６】
ＮＯＲ回路２０６の出力端Ｃ’には、スイッチ素子２０９，２１０が並列に接続されている。スイッチ素子２０９の出力端は、Ｎチャネルトランジスタ２１３のゲート電極に接続され、スイッチ素子２１０の出力端は、排他的論理和回路２１２の他方の入力端Ｄ’に接続されている。
【００２７】
排他的論理和回路２１２の出力端Ｅは、インバータ２１４の入力端に接続され、インバータ２１４の出力端には、スイッチ素子２１５，２１６が並列に接続されている。スイッチ素子２１５の出力端は、Ｐチャネルトランジスタ２１１のゲート電極に接続され、スイッチ素子２１６の出力端は、Ｎチャネルトランジスタ２１３のゲート電極に接続されている。
【００２８】
スイッチ素子２１７は、制御端に基準クロックが印加され、入力端にＩ／Ｏ状態出力レジスタ２０３の出力端が接続され、出力端にスイッチ素子２０７〜２１０，２１５，２１６の各制御端が並列に接続されている。スイッチ素子２１７は、基準クロックの“Ｈ”レベル期間では、ＯＮ動作を行い、“Ｌ”レベル期間ではＯＦＦを行うようになっている。
【００２９】
したがって、スイッチ素子２０８，２１０，２１５，２１６は、スイッチ素子２１７の出力が“Ｈ”レベルであるときＯＮ動作を行い、“Ｌ”レベルであるときＯＦＦ動作を行う。一方、スイッチ素子２０７，２０９は、スイッチ素子２１７の出力が“Ｌ”レベルであるときＯＮ動作を行い、“Ｈ”レベルであるときＯＦＦ動作を行う。
【００３０】
Ｐチャネルトランジスタ２１１のソース電極は電源Ｖｃｃに接続され、Ｎチャネルトランジスタ２１３のソース電極は接地（グランド）に接続され、Ｐチャネルトランジスタ２１１およびＮチャネルトランジスタ２１３のドレイン電極は共通にＩ／Ｏポート端子２１８に接続されている。
【００３１】
スイッチ素子２１９の制御端はスイッチ素子２１７の出力端に接続され、入力端はＩ／Ｏポート端子２１８に接続され、出力端はスイッチ素子２２０の入力端に接続されている。スイッチ素子２１９は、スイッチ素子２１７の出力が“Ｌ”レベルであるときＯＮ動作を行い、“Ｈ”レベルであるときＯＦＦ動作を行う。
【００３２】
スイッチ素子２２０の出力端はデータバス１１５の対応する１ビットデータラインに接続され、制御端は方向レジスタ２０１の出力端に接続されている。スイッチ素子２２０は、方向レジスタ２０１の出力が“Ｌ”レベルであるときＯＮ動作を行い、“Ｈ”レベルであるときＯＦＦ動作を行う。
【００３３】
また、スイッチ素子２２１の制御端は方向レジスタ２０１の出力端に接続され、入力端はポートラッチ２０２の出力端に接続され、出力端はデータバス１１５の対応する１ビットデータラインに接続されている。スイッチ素子２２１は、方向レジスタ２０１の出力が“Ｈ”レベルであるときＯＮ動作を行い、“Ｌ”レベルであるときＯＦＦ動作を行う。
【００３４】
ここで、図１にて示したＩ／Ｏポート制御回路１１６は、主にＩ／Ｏ状態出力レジスタ２０３，スイッチ素子２１７，ＮＡＮＤ回路２０４，ＮＯＲ回路２０６，インバータ２０５，スイッチ素子２０７〜２１０，排他的論理和回路２１２，インバータ２１４，スイッチ素子２１５，２１６の全体によって構成されている。このＩ／Ｏポート制御回路１１６では、次の（１）（２）の動作が行われる。
【００３５】
（１）Ｉ／Ｏ状態出力レジスタ２０３の出力が“Ｈ”レベルである場合は、スイッチ素子２１７は、基準クロックと同形の信号を出力する。ここで、基準クロックの前半領域は“Ｈ”レベルで、後半領域は“Ｌ”レベルであるとする。そうすると、▲１▼基準クロックの前半領域では、スイッチ素子２１７の出力は“Ｈ”レベルであるので、スイッチ素子２０７，２０９，２１９はＯＦＦ動作を行い、スイッチ素子２０８，２１０，２１５，２１６はＯＮ動作を行っている。
【００３６】
方向レジスタ２０１が出力を“Ｈ”レベルにしてＩ／Ｏポートが出力状態であることを示し、ポートラッチ２０２が出力を“Ｈ”レベルにしている場合には、ＮＡＮＤ回路２０４の出力端ＣとＮＯＲ回路２０６の出力端Ｃ’は、共に“Ｌ”レベルとなるので、排他的論理和回路２１２の出力端Ｅは、“Ｈ”レベルになり、スイッチ素子２１５，２１６の入力は、「Ｌ，Ｌ」となる。その結果、Ｐチャネルトランジスタ２１１はＯＮ動作を行い、Ｎチャネルトランジスタ２１３はＯＦＦ動作を行うので、Ｉ／Ｏポート端子２１８は“Ｈ”レベルとなり、Ｉ／Ｏ状態が出力であることが外部（テスター１０２）に報知される。
【００３７】
また、方向レジスタ２０１が出力を“Ｈ”レベルにしてＩ／Ｏポートが出力状態であることを示し、ポートラッチ２０２が出力を“Ｌ”レベルにしている場合には、ＮＡＮＤ回路２０４の出力端ＣとＮＯＲ回路２０６の出力端Ｃ’は、共に“Ｈ”レベルとなるので、排他的論理和回路２１２の出力端Ｅは、“Ｈ”レベルになり、スイッチ素子２１５，２１６の入力は、「Ｌ，Ｌ」となる。その結果、Ｐチャネルトランジスタ２１１はＯＮ動作を行い、Ｎチャネルトランジスタ２１３はＯＦＦ動作を行うので、Ｉ／Ｏポート端子２１８は“Ｈ”レベルとなり、Ｉ／Ｏ状態が出力であることが外部（テスター１０２）に報知される。
【００３８】
なお、これらの場合にスイッチ素子２２１は、ＯＮ動作を行っているので、ポートラッチ２０２が保持する“Ｈ”レベルまたは“Ｌ”レベルの１ビットデータは、データバス１１５の対応するデータラインに送り込まれる。
【００３９】
一方、方向レジスタ２０１が出力を“Ｌ”レベルにしてＩ／Ｏポートが入力状態であることを示している場合は、ポートラッチ２０２の出力は不定であるが、ＮＡＮＤ回路２０４の出力端Ｃは“Ｈ”レベル、ＮＯＲ回路２０６の出力端Ｃ’は“Ｌ”レベルとなるので、排他的論理和回路２１２の出力端Ｅは、“Ｌ”レベルになり、スイッチ素子２１５，２１６の入力は、「Ｈ，Ｈ」となる。その結果、Ｐチャネルトランジスタ２１１はＯＦＦ動作を行い、Ｎチャネルトランジスタ２１３はＯＮ動作を行うので、Ｉ／Ｏポート端子２１８は“Ｌ”レベルとなり、Ｉ／Ｏ状態が入力であることが外部（テスター１０２）に報知される。
【００４０】
なお、この場合には、スイッチ素子２２０は、ＯＮ動作を行うが、スイッチ素子２１９がＯＦＦ動作を行っているので、Ｉ／Ｏポート端子２１８の“Ｌ”信号がデータバス１１５に取り込まれることはない。
【００４１】
次に、▲２▼基準クロックの後半領域では、スイッチ素子２１７の出力は“Ｌ”レベルであるので、スイッチ素子２０７，２０９，２１９はＯＮ動作を行い、スイッチ素子２０８，２１０，２１５，２１６はＯＦＦ動作を行っている。
【００４２】
方向レジスタ２０１が出力を“Ｈ”レベルにしてＩ／Ｏポートが出力状態であることを示し、ポートラッチ２０２が出力を“Ｈ”レベルにしている場合には、ＮＡＮＤ回路２０４の出力端ＣとＮＯＲ回路２０６の出力端Ｃ’は、共に“Ｌ”レベルとなる。その結果、Ｐチャネルトランジスタ２１１はＯＮ動作を行い、Ｎチャネルトランジスタ２１３はＯＦＦ動作を行うので、Ｉ／Ｏポート端子２１８は“Ｈ”レベルとなり、ポートラッチ２０２が保持する“Ｈ”レベルの１ビットデータが外部（テスター１０２）に出力される。
【００４３】
また、方向レジスタ２０１が出力を“Ｈ”レベルにしてＩ／Ｏポートが出力状態であることを示し、ポートラッチ２０２が出力を“Ｌ”レベルにしている場合には、ＮＡＮＤ回路２０４の出力端ＣとＮＯＲ回路２０６の出力端Ｃ’は、共に“Ｈ”レベルとなる。その結果、Ｐチャネルトランジスタ２１１はＯＦＦ動作を行い、Ｎチャネルトランジスタ２１３はＯＮ動作を行うので、Ｉ／Ｏポート端子２１８は“Ｌ”レベルとなり、ポートラッチ２０２が保持する“Ｌ”レベルの１ビットデータが外部（テスター１０２）に出力される。
【００４４】
なお、これらの場合にスイッチ素子２２１は、ＯＮ動作を行っているので、ポートラッチ２０２が保持する“Ｈ”レベルまたは“Ｌ”レベルの１ビットデータは、データバス１１５の対応するデータラインに送り込まれる。また、スイッチ素子２１９は、ＯＮ動作を行っているが、スイッチ素子２２０がＯＦＦ動作を行っているので、Ｉ／Ｏポート端子２１８への出力信号がデータバス１１５に取り込まれることはない。
【００４５】
一方、方向レジスタ２０１が出力を“Ｌ”レベルにしてＩ／Ｏポートが入力状態であることを示している場合は、ポートラッチ２０２の出力は不定であるが、ＮＡＮＤ回路２０４の出力端Ｃは“Ｈ”レベル、ＮＯＲ回路２０６の出力端Ｃ’は“Ｌ”レベルとなる。その結果、Ｐチャネルトランジスタ２１１とＮチャネルトランジスタ２１３は共にＯＦＦ動作を行うので、Ｉ／Ｏポート端子２１８は、外部（テスター１０２）に対して高インピーダンス状態となり、外部（テスター１０２）からのデータ入力が可能となる。スイッチ素子２１９，２２０は、ＯＮ動作を行っているので、Ｉ／Ｏポート端子２１８に入力された１ビットデータは、データバス１１５の対応するデータラインに送出される。
【００４６】
（２）Ｉ／Ｏ状態出力レジスタ２０３の出力が“Ｌ”レベルである場合は、スイッチ素子２１７の出力は、“Ｌ”レベルになる。つまり、スイッチ素子２０７，２０９，２１９はＯＮ動作を行い、スイッチ素子２０８，２１０，２１５，２１６はＯＦＦ動作を行っている。
【００４７】
したがって、上記の▲２▼基準クロックの後半領域での動作と同様の動作が行われる。すなわち、方向レジスタ２０１が出力を“Ｈ”レベルにしている場合は、Ｉ／Ｏポート端子２１８には、ポートラッチ２０２の保持内容が出力される。一方、方向レジスタ２０１が出力を“Ｌ”レベルにしている場合は、Ｉ／Ｏポート端子２１８は高インピーダンス状態となり、入力された１ビットデータは、スイッチ素子２１９，２２０を介してデータバス１１５の対応するデータラインに送出される。
【００４８】
このように、この実施の形態によるマイコン１０１では、Ｉ／Ｏポートの入出力状態を外部（テスター１０２）に報知する必要があるときは、基準クロックの前半領域において、出力状態であるか入力状態であるかを示す信号を出力し、後半領域において、データ信号の入出力が行える。つまり、データ信号の入出力を行う前にＩ／Ｏポートの入出力状態を外部（テスター１０２）に報知することができる。
【００４９】
また、Ｉ／Ｏポートの入出力状態を外部（テスター１０２）に報知する必要がないときは、単にデータ信号の入出力が行える。そして、Ｉ／Ｏポートの入出力状態を外部（テスター１０２）に報知させるか否かの指定は、プログラムによってＩ／Ｏ状態出力レジスタ２０３に設定することにより、簡単に実現できるようになっている。したがって、この実施の形態によれば、マイコンの端子数を増大させずに既存のＩ／Ｏポート端子の機能をそのまま活用することができる。
【００５０】
次に、図３、図４を参照して、テスター１０２の構成について説明する。なお、図３は、図１に示すテスト装置の１／Ｏチェック部の構成を示すブロック図である。図４は、図１に示すテスト装置に設定されるＴＰＧプログラムの説明図である。図４に示すように、テスター１０２に設定されるＴＰＧプログラム１２１は、１ピン１文字表現で記述され、ＰＩＮＥＬコントロール４０１とテストパターン４０２とタイミングテーブル４０３とインストラクション４０４とで構成されている。ＴＰＧプログラム１２１は、これらの４つの情報に分けてテスター１０２内のメモリに格納するようになっている。
【００５１】
ＰＩＮＥＬコントロール４０１は、テスター１０２が信号を発生するのか信号の判定をするのかを示すコントロール情報である。テストパターン４０２は、信号“１”＝“Ｈ”と信号“０”＝“Ｌ”の組み合わせで構成される。タイミングテーブル４０３では、適用場面毎に、信号発生時のクロック、出力判定時のストローブが各種定義されている。このストローブには、この実施の形態では、基準クロックの前半領域で用いるＩ／Ｏチェック用のストロ−ブと、後半領域で用いるデータチェック用のストロ−ブとが含まれている。
【００５２】
インストラクション４０４は、テスター１０２の動作を制御する各種の命令からなる。この実施の形態では、インストラクション４０４の一つとして、データチェック用のコンパレータ１２３とＩ／Ｏチェックとデータチェック兼用のコンパレータ１２５のいずれを動作させるかを指定するＩ／Ｏチェックコマンドが設けられている。
【００５３】
ここでは、Ｉ／ＯチェックコマンドがＯＮのときは、コンパレータ１２５が指定され、ＯＦＦのときは、コンパレータ１２３が指定されるとしている。なお、以降では、コンパレータ１２５を使用することを「Ｉ／Ｏチェック機能を用いる場合」と称し、コンパレータ１２３を使用することを「Ｉ／Ｏチェック機能を用いない場合」と称することとする。
【００５４】
図３において、当該テスター１０２のＩ／Ｏチェック部は、テストヘッド部３０１を介してマイコン１０１に接続される。テストヘッド部３０１は、マイコン１０１の対応するＩ／Ｏポートに接続されるピン３１１と、ピン３１１にスイッチ素子３１２を介して接続される高速バッファ３１３と、ピン３１１と測定部１２４との間を接離するスイッチ素子３１４とを備えている。スイッチ素子３１２とスイッチ素子３１４とは、互いに逆の動作を行うようになっている。
【００５５】
高速バッファ３１３の出力端には、選択回路３０２が接続されている。Ｉ／Ｏチェックレジスタ３０３には、ＴＰＧプログラム１２１のインストラクション４０４に設けたＩ／Ｏチェックコマンドの内容が設定される。選択回路３０２は、制御端に入力されるＩ／Ｏチェックレジスタ３０３の出力が、ＯＮ（“Ｈ”）のときは高速バッファ３１３の出力端をコンパレータ１２５の入力端に接続し、ＯＦＦ（“Ｌ”）のときは高速バッファ３１３の出力端をコンパレータ１２３に接続するようになっている。
【００５６】
ＴＰＧプログラム１２１のＰＩＮＥＬコントロール４０１は、メモリ３０４に格納され、テストパターン４０２はメモリ３０５に格納される。なお、図３では、タイミングテーブル４０３とインストラクション４０４とをそれぞれ格納するメモリは、図示省略されている。
【００５７】
比較判定部３０６は、タイミングテーブル４０３にて定義されたＩ／Ｏチェック用のストローブの位置（基準クロックの前半領域で発生する）で、メモリ３０４のＰＩＮＥＬコントロール４０１が示す信号判定の情報とコンパレータ１２５の出力とを比較し、ファンクションテストを中止（テストＳＴＯＰ）するか否かを判断する。また、タイミングテーブル４０３にて定義されたデータチェック用のストローブの位置（基準クロックの後半領域で発生する）で、メモリ３０４のＰＩＮＥＬコントロール４０１が示す信号判定の情報とコンパレータ１２５の出力とを比較し、ファンクションテストを実施するか次の判定動作に移行するかを判断する。
【００５８】
比較判定部３０７は、タイミングテーブル４０３にて定義されたデータチェック用ストローブの位置で、メモリ３０４のＰＩＮＥＬコントロール４０１が示す信号判定の情報とコンパレータ１２３の出力とを比較し、ファンクションテストを実施するか次の判定動作に移行するかを判断する。
【００５９】
メモリ３０５のテストパターン４０２は、メモリ３０４のＰＩＮＥＬコントロール４０１が示す信号発生の情報に従って取り出される。メモリ３０５から取り出されたテストパターン４０２は、パターンフォーマッタ３０８にて基準クロックとのタイミング調整等が施されてドライバー１２２に入力される。
【００６０】
ドライバー１２２の出力端は、スイッチ素子３０９を介して高速バッファ３１３の入力端とスイッチ素子３１２との接続端に接続されている。スイッチ素子３０９は、メモリ３０４のＰＩＮＥＬコントロール４０１が信号発生を示すとき閉路し、信号判定を示すとき開路するようになっている。したがって、メモリ３０４のＰＩＮＥＬコントロール４０１が信号発生を示すときは、スイッチ素子３１２も閉路しているので、ドライバー１２２の出力（テストパターン）が、スイッチ素子３０９，３１２，ピン３１１を経由してマイコン１０１に出力される。
【００６１】
なお、測定時には、スイッチ素子３１２が開路し、スイッチ素子３１４が閉路することで、測定部１２４とマイコン１０１とが接続されるが、ここでは、測定部１２４に関する説明は割愛する。
【００６２】
次に、図５〜図１０を参照して、テスター１０２の動作をマイコン１０１との関連で説明する。まず、図５〜図８を参照して、Ｉ／Ｏチェック機能を用いる場合について説明する。なお、図５は、Ｉ／Ｏチェック機能を用いる場合のファンクションテストの手順を示すフローチャートである。図６は、周辺モード時でのマイクロコンピュータとテスト装置との関係図である。図７は、シングルチップモード時でのマイクロコンピュータとテスト装置との関係図である。図８は、Ｉ／Ｏチェック機能を用いる場合のファンクションテストでの動作を説明するタイムチャートである。
【００６３】
図５において、ステップＳＴ１では、テスター１０２は、マイコン１０１を周辺テストモードにする。図６に示すように、マイコン１０１は、ＣＰＵ１１１がアドレスバス１１４およびデータバス１１５から切り離され、テスター１０２からアドレスバス１１４およびデータバス１１５に信号を与えてＲＡＭ１１２に書き込める状態になる。
【００６４】
すなわち、テスター１０２から直接マイコン１０１のＲＡＭ１１２に、テストプログラム（ここでは、「Ｉ／Ｏポートを出力ポートに設定し“Ｌ”信号を出力する。」というプログラムとする）と、マイコン１０１の「Ｉ／Ｏ状態出力レジスタをＯＮにする」というプログラムとを書き込む（ステップＳＴ２）。
【００６５】
そして、テスター１０２からマイコン１０１にＲＥＳＥＴ信号を入力する。その結果、図７に示すように、ＣＰＵ１１１をアドレスバス１１４およびデータバス１１５に接続されるので、マイコン１０１をシングルチップモードで起動させ、ＲＡＭ１１２に書き込んだテストプログラムを実行させる（ステップＳＴ３）。
【００６６】
前述したように、マイコン１０１では、Ｉ／Ｏ状態出力レジスタ２０３が出力を“Ｈ”レベルにし、Ｉ／Ｏポート端子２１８には、基準クロックの前半領域において出力状態か入力状態かを示すレベル信号を出力し、基準クロックの後半領域においてテストプログラムに従ったデータ信号の授受が行われる。
【００６７】
テスター１０２は、並行してＩ／Ｏチェックレジスタ３０３をＯＮにし“Ｈ”レベルを選択回路３０２に出力させる（ステップＳＴ４）。また、テストヘッド部３０１のスイッチ素子３１２は閉路させる。その結果、マイコン１０１のＩ／Ｏ情報とデータ信号がコンパレータ１２５に入力される。
【００６８】
そこで、比較判定部３０６では、まず、基準クロックの前半領域で発生するＩ／Ｏチェック用ストローブにて検出したマイコン１０１からのＩ／Ｏ情報とＰＩＮＥＬコントロールの信号判定情報とが一致するか否かを判定する（ステップＳＴ５）。今の例では、ＰＩＮＥＬコントロールの情報は、信号判定“Ｈ”であり、マイコン１０１からのＩ／Ｏ情報は、出力状態を示す“Ｈ”信号でなければならない。
【００６９】
そして、比較判定部３０６では、一致する場合は（ステップＳＴ５：Ｙｅｓ）、基準クロックの後半領域で発生するデータチェック用ストローブにて検出したマイコン１０１からのデータ信号とＰＩＮＥＬコントロールの信号判定情報とを比較し、マイコン１０１からのデータ信号が正しいか否かを判定する（ステップＳＴ６）。今の例では、マイコン１０１からのデータ信号は“Ｌ”信号でなければならない。
【００７０】
比較判定部３０６では、マイコン１０１から正しいデータ信号が入力された場合は（ステップＳＴ６：Ｙｅｓ）、ファンクションテストを実施する（ステップＳＴ７）。一方、比較判定部３０６では、マイコン１０１からのデータ信号が正しくない場合は（ステップＳＴ６：Ｎｏ）、不良と判断して次の判定動作に移行する（ステップＳＴ８）。
【００７１】
以上は、テストプログラムに作成ミスがない場合であるが、作成ミスがあると、Ｉ／Ｏ情報とＰＩＮＥＬコントロールの信号判定情報とが一致しない場合が起こる。すなわち、▲１▼ＰＩＮＥＬコントロールの情報が信号判定“Ｈ”で、マイコン１０１からのＩ／Ｏ情報が入力状態を示す“Ｌ”信号になっている場合、あるいは、▲２▼ＰＩＮＥＬコントロールの情報が信号判定“Ｌ”で、マイコン１０１からのＩ／Ｏ情報が入力状態を示す“Ｈ”信号になっている場合が該当する。▲１▼のような信号衝突が起きた状態で、マイコン１０１とテスター１０２との間でデータの入出力が行われると、マイコン１０１に過電流が流れるので、マイコン１０１を破壊する可能性がある。
【００７２】
そこで、比較判定部３０６は、Ｉ／Ｏ情報とＰＩＮＥＬコントロールの信号判定情報とが一致しない場合には（ステップＳＴ５：Ｎｏ）、基準クロックの後半領域でデータ信号の状態を判断することなく、基準クロックの前半領域において即座にファンクションテストを中止して停止し（ステップＳＴ９）、エラー発生を報知（エラーランプ点灯やメッセージの表示等）するとともに、マイコン１０１とテスタ１０２の一方または双方から中止箇所のデータを取り出して表示し、係員に知らせる（ステップＳＴ１０）。これによって、係員は、迅速に適切な措置が採れることになる。
【００７３】
次に、図８では、図５のステップＳＴ２で説明したように、マイコン１０１に、「Ｉ／Ｏポートを出力ポートに設定し“Ｌ”信号を出力する。」というプログラムと、「Ｉ／Ｏ状態出力レジスタをＯＮにする」というプログラムとを設定した場合の動作が示されている。
【００７４】
図８において、（ａ）〜（ｅ）は、マイコン１０１側の動作を示し、（ｆ）〜（ｊ）は、テスター１０２側の動作を示している。（ａ）基準クロックは、図８では３クロックが示されている。（ｂ）方向レジスタは、基準クロックの第１クロックに同期して“Ｈ”レベルに立ち上がり、Ｉ／Ｏポートが出力ポートであることを示している。（ｃ）ポートラッチは、基準クロックの第１クロックに同期してデータバスから“Ｌ”信号を取り込み、保持出力している。
【００７５】
（ｄ）Ｉ／Ｏ状態出力レジスタは、基準クロックの第２クロックに同期して“Ｈ”レベルに立ち上がり、Ｉ／Ｏチェックが行われることを示している。（ｅ）Ｉ／Ｏポート端子では、基準クロックの第３クロックにおいて、前半領域では、方向レジスタが出力状態“Ｈ”であるので“Ｈ”信号を出力し、後半領域では、ポートラッチが“Ｌ”信号を出力しているので、“Ｌ”信号を出力している。
【００７６】
（ｆ）ＰＩＮＥＬコントロールの情報は、Ｏ（信号判定）である。（ｇ）テストパターンは、“０”＝“Ｌ”である。（ｈ）Ｉ／Ｏチェックレジスタは、Ｉ／Ｏ状態出力レジスタと同様に、基準クロックの第２クロックに同期して“Ｈ”レベルに立ち上がり、コンパレータ１２５が使用されること、すなわち、Ｉ／Ｏチェック機能が用いられることが示されている。
【００７７】
（ｉ）Ｉ／Ｏチェック用ストローブは、Ｉ／Ｏチェックレジスタが“Ｈ”レベルに立ち上がった基準クロックの第２クロックに基づき算定されたクロック、図８の例で言えば第３クロックの前半領域における所定位置で発生する。比較判定部３０６では、このＩ／Ｏチェック用ストローブを用いて上記した内容のＩ／Ｏ状態判定を行うようになっている。
【００７８】
（ｊ）データチェック用ストローブは、（ｉ）に示すＩ／Ｏチェック用ストローブの発生位置から算定した第３クロックの後半領域における所定位置で発生する。比較判定部３０６では、このデータチェック用ストローブを用いて上記した内容のデータ状態判定を行うようになっている。
【００７９】
このように、テストプログラムに作成ミスが想定される場合には、テスター１０２では、Ｉ／Ｏチェック機能を用いると、データ授受を行う前にミスの検出が行える。そして、ミスが検出されると、テストを中止することができるので、過電流によるマイコン１０１の破壊を未然に防止することができる。また、テストを中止して停止する際に、中止箇所のデータを取り出して表示するので、簡単かつ短時間に修正が行えるようになる。
【００８０】
次に、図９、図１０を参照して、Ｉ／Ｏチェック機能を用いない場合の動作を説明する。この場合に用いるテストプログラムは、Ｉ／Ｏチェック機能を用いて作成ミスを修正したプログラムである。なお、図９は、Ｉ／Ｏチェック機能を用いない場合のファンクションテストの手順を示すフローチャートである。図１０は、Ｉ／Ｏチェック機能を用いない場合のファンクションテストでの動作を説明するタイムチャートである。
【００８１】
図９では、図５に示した手順と同一である手順には、同一の符号が付されている。ここでは、異なる手順を中心に説明する。図９において、テスター１０２は、マイコン１０１を周辺テストモードにし（ステップＳＴ１）、マイコン１０１のＲＡＭ１１２に、テストプログラム（ここでは、「Ｉ／Ｏポートを出力ポートに設定し“Ｌ”信号を出力する。」というプログラムとする）と、マイコン１０１の「Ｉ／Ｏ状態出力レジスタをＯＦＦにする」というプログラムとを書き込む（ステップＳＴ２１）。
【００８２】
そして、テスター１０２は、マイコン１０１にＲＥＳＥＴ信号を入力して、図７に示すように、マイコン１０１をシングルチップモードで起動させ、ＲＡＭ１１２に書き込んだテストプログラムを実行させる（ステップＳＴ３）。
【００８３】
テスター１０２は、並行してＩ／Ｏチェックレジスタ３０３をＯＦＦにし“Ｌ”レベルを選択回路３０２に出力させる（ステップＳＴ２２）。また、テストヘッド部３０１のスイッチ素子３１２は閉路させる。その結果、マイコン１０１のデータ信号がコンパレータ１２３に入力される。
【００８４】
そこで、比較判定部３０７では、所定位置で発生するデータチェック用ストローブにて検出したマイコン１０１からのデータ信号とＰＩＮＥＬコントロールの信号判定情報とを比較し、マイコン１０１からのデータ信号が正しいか否かを判定する（ステップＳＴ６）。今の例では、マイコン１０１からのデータ信号は“Ｌ”信号でなければならない。
【００８５】
比較判定部３０７では、マイコン１０１から正しいデータ信号が入力された場合は（ステップＳＴ６：Ｙｅｓ）、ファンクションテストを実施する（ステップＳＴ７）。一方、比較判定部３０７では、マイコン１０１からのデータ信号が正しくない場合は（ステップＳＴ６：Ｎｏ）、不良と判断して次の判定動作に移行する（ステップＳＴ８）。
【００８６】
次に、図１０では、図９のステップＳＴ２１で説明したように、マイコン１０１に、「Ｉ／Ｏポートを出力ポートに設定し“Ｌ”信号を出力する。」というプログラムと、「Ｉ／Ｏ状態出力レジスタをＯＦＦにする」というプログラムとを設定した場合の動作が示されている。
【００８７】
図１０において、（ａ）〜（ｅ）は、マイコン１０１側の動作を示し、（ｆ）〜（ｈ）は、テスター１０２側の動作を示している。（ａ）基準クロックは、図１０では該当する１クロックが示されている。（ｂ）方向レジスタは、基準クロックに同期して“Ｈ”レベルに立ち上がり、Ｉ／Ｏポートが出力ポートであることを示している。（ｃ）ポートラッチは、基準クロックに同期してデータバスから“Ｌ”信号を取り込み、保持出力している。
【００８８】
（ｄ）Ｉ／Ｏ状態出力レジスタは、“Ｌ”レベルであり、Ｉ／Ｏチェックが行われないことを示している。（ｅ）Ｉ／Ｏポート端子では、基準クロックに同期して、ポートラッチが“Ｌ”信号を出力しているので、“Ｌ”信号を出力している。
【００８９】
（ｆ）ＰＩＮＥＬコントロールの情報は、Ｏ（信号判定）である。（ｇ）テストパターンは、“０”＝“Ｌ”である。（ｈ）Ｉ／Ｏチェックレジスタは、“Ｌ”レベルであり、コンパレータ１２３が使用されること、すなわち、Ｉ／Ｏチェック機能は用いられないことが示されている。
【００９０】
（ｉ）データチェック用ストローブは、基準クロックの所定位置で発生する。比較判定部３０７では、このデータチェック用ストローブを用いて上記した内容のデータ状態判定を行うようになっている。
【００９１】
このように、例えば、ＴＰＧプログラムのインストラクション４０４によって、Ｉ／Ｏチェックレジスタ３０３のＯＮ・ＯＦＦ操作が行えるようにすれば、Ｉ／Ｏチェックレジスタ３０３をＯＮさせてＩ／Ｏチェック機能を実現するコンパレータ１２５を使用し、プログラムの作成ミスを検出・修正する場合と、Ｉ／Ｏチェックレジスタ３０３をＯＦＦさせてＩ／Ｏチェック機能を用いないコンパレータ１２３を使用した状態でファンクションテストを実施する場合とを選択することができる。
【００９２】
したがって、例えば、同じ仕様のマイコンを複数ロット製造する場合、最初のロットでは、プログラムに作成ミスの発生が想定されるので、Ｉ／Ｏチェック機能をＯＮにして作成ミスがあればそれを修正できるようにし、その後の２つ目以降のロットでは、Ｉ／Ｏチェック機能をＯＦＦにしてファンクションテストを実施することができ、作業効率の向上が図れる。
【００９３】
なお、この実施の形態では、マイコンのＩ／Ｏ状態をテスト時に確認する場合を説明したが、例えばオシロスコープ等による出力波形確認によっても、マイコンのＩ／Ｏ状態を確認することがことができる。
【００９４】
【発明の効果】
以上説明したように、この発明によれば、マイクロコンピュータのＩ／Ｏポートでは、Ｉ／Ｏ状態出力レジスタの出力信号がＩ／Ｏポートの入出力状態を外部に報知することを指定している場合に、基準クロックの前半領域では、方向レジスタの出力が示すＩ／Ｏポートの入出力状態を外部に出力することができ、基準クロックの後半領域では、方向レジスタが出力状態を示すときはポートラッチの保持内容を外部に出力し、方向レジスタが入力状態を示すときは外部からのデータ入力を可能にすることができる。つまり、データ信号の入出力が行われる前に当該Ｉ／Ｏポートの入出力状態を外部に報知することができる。
【００９５】
つぎの発明によれば、テスト装置は、上記発明にかかるマイクロコンピュータをテストする場合に、テストプログラムに書き込んだテスト開始時期を基準に算定される基準クロックの前半領域においてマイクロコンピュータが示すＩ／Ｏポートの入出力状態を判定し、プログラムの作成ミスが検出されると、ファンクションテストを中止して停止状態にし、必要な措置が採れるようにすることができる。そして、前記第１判定手段にて第１判定条件と一致すると判定されたとき、前記基準クロックの後半領域においてマイクロコンピュータが出力するデータ信号の論理レベルを検出して第２判定条件との一致不一致を判定し、良否を判定することができる。
【図面の簡単な説明】
【図１】この発明の一実施の形態であるマイクロコンピュータおよびテスト装置の全体構成を示すブロック図である。
【図２】図１に示すマイクロコンピュータにおけるＩ／Ｏ状態出力回路を含むＩ／Ｏポートの構成を示す回路図である。
【図３】図１に示すテスト装置の１／Ｏチェック部の構成を示すブロック図である。
【図４】ＴＰＧプログラムの説明図である。
【図５】Ｉ／Ｏチェック機能を用いる場合のファンクションテストの手順を示すフローチャートである。
【図６】周辺モード時でのマイクロコンピュータとテスト装置との関係図である。
【図７】シングルチップモード時でのマイクロコンピュータとテスト装置との関係図である。
【図８】Ｉ／Ｏチェック機能を用いる場合のファンクションテストでの動作を説明するタイムチャートである。
【図９】Ｉ／Ｏチェック機能を用いない場合のファンクションテストの手順を示すフローチャートである。
【図１０】Ｉ／Ｏチェック機能を用いない場合のファンクションテストでの動作を説明するタイムチャートである。
【符号の説明】
１０１　マイクロコンピュータ（マイコン）、１０２　テスト装置（テスター）、１１１　ＣＰＵ、１１２　ＲＡＭ、１１３　Ｉ／Ｏポート、１１４　アドレスバス、１１５　データバス、１１６　Ｉ／Ｏポート制御回路、１２１　ＴＰＧプログラム、１２２　ドライバー、１２３　データチェック用のコンパレータ、１２４　測定部、１２５　Ｉ／Ｏチェックとデータチェック兼用のコンパレータ、２０１　方向レジスタ、２０２　ポートラッチ、２０３　Ｉ／Ｏ状態出力レジスタ、２０４　ＮＡＮＤ回路、２０５，２１４　インバータ、２０６　ＮＯＲ回路、２０７〜２１０，２１５〜２１７，２１９〜２２１　スイッチ素子、２１１Ｐチャネルトランジスタ、２１２　排他的論理和回路、２１３　Ｎチャネルトランジスタ、３０３　Ｉ／Ｏチェックレジスタ、３０６，３０７　比較判定部。
【図１】
2004139412.tif 000003
【図２】
2004139412.tif 000004
【図３】
2004139412.tif 000005
【図４】
2004139412.tif 000006
【図５】
2004139412.tif 000007
【図６】
2004139412.tif 000008
【図７】
2004139412.tif 000009
【図８】
2004139412.tif 000010
【図９】
2004139412.tif 000011
【図１０】
2004139412.tif 000012