JP2008310792A - テスト回路 - Google Patents
テスト回路 Download PDFInfo
- Publication number
- JP2008310792A JP2008310792A JP2007280745A JP2007280745A JP2008310792A JP 2008310792 A JP2008310792 A JP 2008310792A JP 2007280745 A JP2007280745 A JP 2007280745A JP 2007280745 A JP2007280745 A JP 2007280745A JP 2008310792 A JP2008310792 A JP 2008310792A
- Authority
- JP
- Japan
- Prior art keywords
- selection
- signal
- output
- tap controller
- tms
- 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
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
【課題】従来では、複数のTAPコントローラを制御する場合、IEEE1149に違反した制御を行なわなければならない問題があった。
【解決手段】本発明にかかるテスト回路は、IEEE1149にて規定されるTAPコントローラとテストアクセスポートとを有するテスト回路であって、TMS信号に応じて第1の内部TMS信号TMS_1〜TMS_3を生成するとともに第1の選択信号EN2、EN3に応じて第1の内部TMS信号TMS_1〜TMS_3の出力を制御する選択回路410と、第1の内部TMS信号TMS_1に基づいて内部状態を遷移させるとともに選択用命令コードに基づき第1の選択信号EN2、EN3を生成するTAPコントローラ400と、を有する第1のコントローラ40と、第1の内部TMS信号TMS_2、TMS_3信号に基づき内部状態を遷移させるTAPコントローラ500、600を有する第2のコントローラとを備える。
【選択図】図1
【解決手段】本発明にかかるテスト回路は、IEEE1149にて規定されるTAPコントローラとテストアクセスポートとを有するテスト回路であって、TMS信号に応じて第1の内部TMS信号TMS_1〜TMS_3を生成するとともに第1の選択信号EN2、EN3に応じて第1の内部TMS信号TMS_1〜TMS_3の出力を制御する選択回路410と、第1の内部TMS信号TMS_1に基づいて内部状態を遷移させるとともに選択用命令コードに基づき第1の選択信号EN2、EN3を生成するTAPコントローラ400と、を有する第1のコントローラ40と、第1の内部TMS信号TMS_2、TMS_3信号に基づき内部状態を遷移させるTAPコントローラ500、600を有する第2のコントローラとを備える。
【選択図】図1
Description
本発明はテスト回路に関し、特にIEE1149にて規定されるTAP(Test Access Port)コントローラを有するテスト回路に関する。
近年、半導体装置の回路規模が大規模化しており、半導体装置に対する試験を行なうための端子数も増大する傾向にある。端子数が増大すると、パッケージが大きくなり、小型化が困難である問題がある。そのため、この端子数を削減することが求められている。そこで、テスト端子数を削減するためにIEEE(Institute of Electrical and Electronics Engineers)にてIEEE1149が規格化された。このIEEE1149のうちの1つであるIEEE1149.1では、5つの端子と、TAPコントローラとを用いて半導体装置のテストを行なうことが可能である。5つの端子は、それぞれTDI端子、TRST端子、TCK端子、TMS端子、TDO端子と呼ばれる。以下の説明では、一組のTDI端子、TRST端子、TCK端子、TMS端子、TDO端子をテスト端子群と称す。また、TAPコントローラは、TMS端子から入力されるTMS信号に基づき内部状態を遷移させるステートマシンを含み、TDI端子から入力されるコマンドに基づき被テストブロックを制御する。
また、回路の大規模化に伴い、被テストブロックの数に応じて複数のTAPコントローラを用いることが行なわれている。複数のTAPコントローラをそのまま実装した場合、TAPコントローラの数に応じてテスト端子群を複数設ける必要があり、端子数が増大する問題がある。そこで、複数のTAPコントローラを実装した場合であっても、端子数の増大を抑制する技術が特許文献1(以下、従来例1と称す)に開示されている。
従来例1に開示されている半導体装置1000のブロック図を図24に示す。図24に示すように、半導体装置1000は、TAPコントローラ1200、1300と、TAPコントローラ1200、1300とデバッグ実行部を介して接続されるCPU1220、1320を有している。また、半導体装置1000では、2つのTAPコントローラに対して一組のテスト端子群を有する。さらに、半導体装置1000は、一組のテスト端子群とTAPコントローラ1200及びTAPコントローラ1300との接続経路を選択する選択回路1100を有している。
より具体的には、選択回路1100は、TAPコントローラ1110とレジスタ1101を有している。TAPコントローラ1110は、TDI端子から入力される命令コードに応じて、レジスタ1101に格納される値を設定する。そして、選択回路1100は、レジスタ1101に格納される値に応じてテスト端子群とTAPコントローラ1200及びTAPコントローラ1300との接続経路を選択する。
また、従来例1では、選択回路1100内にTAPコントローラを備えていない例も示されている。この場合、一組のテスト端子群に加えて、選択回路1100への制御信号の入力端子を備える構成としている。
複数のTAPコントローラの制御方法の他の例が特許文献2(以下、従来例2と称す)、及び特許文献3(以下、従来例3と称す)に開示されている。従来例2に開示される制御方法では、制御回路又はテスト端子群以外の端子を追加することで、複数のTAPコントローラを制御している。従来例3に開示される制御方法においても、選択回路を追加して、この選択回路をテスト端子群からの信号に応じて制御することで複数のTAPコントローラを制御する。また、複数のTAPコントローラを制御する先行技術が特許文献4(以下、従来例4と称す)に開示されている。特許文献4では、TAPリンクモジュール(以下、制御回路と称す)を介して複数のTAPコントローラを制御する。なお、特許文献5〜7は、特許文献4に対応する米国特許である。
特開2004−164367号公報
特表2005−527918号公報
特開2002−373086号公報
特開平10−115668号公報
米国特許6,324,662
米国特許6,711,707
米国特許7,213,171
しかしながら、従来例1〜4に開示されている技術では、追加された選択回路又は制御回路に対して入力される命令コードがIEEE1149.1の標準仕様に準拠していない。そのため、他の半導体装置と共に基板上に実装した場合に、他の半導体装置との間で命令コードの矛盾が生じ、システムの動作に不具合が生じる問題がある。
また、従来例2〜4では、選択回路又は制御回路の操作手順がIEEE1149.1の標準仕様に準拠していない。そのため、他の半導体装置と共に基板上に実装した場合に、他の半導体装置との間で操作手順の矛盾が生じ、システムの動作に不具合が生じる問題がある。
本発明にかかるテスト回路は、IEEE1149にて規定されるTAPコントローラと、テストアクセスポートと、を有するテスト回路であって、TMS信号に応じて第1の内部TMS信号を生成するとともに第1の選択信号に応じて前記第1の内部TMS信号の出力先を選択する選択回路と、前記第1の内部TMS信号に基づいて内部状態を遷移させるとともに選択用命令コードに基づき前記第1の選択信号を生成する第1のTAPコントローラと、を有する第1のコントローラと、前記第1の内部TMS信号に基づき内部状態を遷移させる第2のTAPコントローラを有する第2のコントローラと、を備えるものである。
本発明にかかるテスト回路は、IEEE(Institute of Electrical and Electronics Engineers)1149にて規定されるTAPコントローラと、テストアクセスポートと、を有するテスト回路であって、TMS信号に応じて第1の内部TMS信号を生成するとともに複数の第1の選択信号に応じて前記複数の第1の内部TMS信号の出力先をそれぞれ選択する選択回路と、前記第1の内部TMS信号に基づいて内部状態を遷移させるとともに選択用命令コードに基づき前記複数の第1の選択信号を生成する第1のTAPコントローラと、を有する第1のコントローラと、前記複数の第1の内部TMS信号のいずれか1つに基づき内部状態を遷移させる第2のTAPコントローラを有する複数の第2のコントローラと、を備えるものである。
複数のTAPコントローラの中から任意のTAPコントローラを選択する選択用命令コードを含むコードをデコードする命令デコーダと、前記命令デコーダのデコード結果に基づいて他のTAPコントローラを制御する選択回路とを備え、IEEE1149において規定される標準仕様の他のTAPコントローラを制御可能にしたIEEE標準仕様上位互換のマスタTAPコントローラを備えたテスト回路。
本発明にかかるテスト回路は、選択回路が、複数のTAPコントローラに対して共通に設けられるTMS端子から入力されるTMS信号に基づき内部TMS信号を生成し、内部TMS信号の出力先を制御する。また、第1、第2のコントローラ内に設けられるTAPコントローラは、IEEE1149に準拠した動作を行なう。つまり、本発明にかかるテスト回路は、選択回路によって内部TMS信号の出力先を制御して動作させるTAPコントローラを選択することで、複数のTAPコントローラのそれぞれをIEEE1149の規格に違反することなく動作させる。
本発明にかかるテスト回路によれば、IEEE1149に準拠した命令コードと一組のテストアクセスポートとを用いて、複数のTAPコントローラのそれぞれをIEEE1149の標準仕様に違反することなく制御することが可能になる。
以下の説明では、IEEE1149で規格化されているもののうちIEEE1149.1を例に本発明の説明を行なう。なお、本発明を利用可能なテスト回路はIEEE1149.1に限られるものでははく、IEEE1149において規格化されている他の規格においても使用することが可能である。また、本発明にかかるテスト回路は、複数のTAPコントローラを有するが、以下では、これらのTAPコントローラがテスト対象となる回路と共に1つの半導体チップ上に実装されている場合について説明する。なお、本発明にかかるテスト回路は、テスト対象となる回路とは異なる半導体装置として評価ボード上に実装されるものでも良く、さらに、テスト回路に含まれる複数のTAPコントローラも個別の半導体装置として実装されるものでも良い。以下、図面を参照して本発明の実施の形態について説明する。
実施の形態1
本実施の形態にかかる半導体装置1のブロック図を図1に示す。図1に示すように、半導体装置1は、TDI端子11、TCK端子12、TRST端子13、TMS端子14、TDO端子15、被テストブロック100〜300、第1のコントローラ(例えば、マスタTAPコントローラ)40、第2のコントローラ(例えば、標準TAPコントローラ)500、600を有している。なお、以下の実施の形態では、半導体装置1から被テストブロックを除く回路部分をテスト回路と称す。また、テスト回路は、選択用命令コードをデコードする機能を有する第1のTAPコントローラと、選択用命令コードをデコードする機能を有する必要がない第2のTAPコントローラと、を有する。以下の説明では、マスタTAPコントローラに内蔵される標準TAPコントローラ400が第1のTAPコントローラに相当し、標準TAPコントローラ500、600が第2のコントローラに相当するものとする。但し、第1のTAPコントローラと第2のTAPコントローラは、ともにIEE1149.1において規定される規格を満たすものである。
本実施の形態にかかる半導体装置1のブロック図を図1に示す。図1に示すように、半導体装置1は、TDI端子11、TCK端子12、TRST端子13、TMS端子14、TDO端子15、被テストブロック100〜300、第1のコントローラ(例えば、マスタTAPコントローラ)40、第2のコントローラ(例えば、標準TAPコントローラ)500、600を有している。なお、以下の実施の形態では、半導体装置1から被テストブロックを除く回路部分をテスト回路と称す。また、テスト回路は、選択用命令コードをデコードする機能を有する第1のTAPコントローラと、選択用命令コードをデコードする機能を有する必要がない第2のTAPコントローラと、を有する。以下の説明では、マスタTAPコントローラに内蔵される標準TAPコントローラ400が第1のTAPコントローラに相当し、標準TAPコントローラ500、600が第2のコントローラに相当するものとする。但し、第1のTAPコントローラと第2のTAPコントローラは、ともにIEE1149.1において規定される規格を満たすものである。
TDI端子11、TCK端子12、TRST端子13、TMS端子14、TDO端子15は、IEEE1149において規定される端子である。なお、半導体装置1の外部端子として設けられるこれらの端子を、以下では共通テスト端子群と称す。TDI端子11は、命令コードの入力端子である。TCK端子12は、クロック信号の入力端子である。TRST端子13は、リセット信号の入力端子である。TMS端子14は、TMS信号の入力端子である。TDO端子は、テスト回路からの出力信号の出力端子である。
被テストブロック100は、マスタTAPコントローラ40によってテストされる回路ブロックである。被テストブロック200は、標準TAPコントローラ500によってテストされる回路ブロックである。被テストブロック300は、標準TAPコントローラ600によってテストされる回路ブロックである。なお、被テストブロック100〜300は、それぞれが個別の動作をしても良く、互いに関係して動作するものであっても良いが、テスト時に独立して動作することが好ましい。
マスタTAPコントローラ40は、TMS信号に応じて内部状態を遷移させると共に他の標準TAPコントローラに供給する第1の内部TMS信号を生成する。また、マスタTAPコントローラ40は、接続される被テストブロック100に対するテスト用命令信号を出力する。標準TAPコントローラ500、600は、IEEE1149.1に準拠した動作を行なう。つまり、第1の内部TMS信号に応じて内部状態を遷移させながら、TDI端子11から入力される命令コードをデコードして被テストブロックにテスト用命令信号を出力する。なお、第1の内部TMS信号は、TMS信号と実質的に同じ論理レベルを維持して変化する信号である。
ここで、マスタTAPコントローラ40について詳細に説明する。マスタTAPコントローラ40のブロック図を図2に示す。図2に示すように、マスタTAPコントローラ40は、標準TAPコントローラ400と選択回路410とを有している。また、マスタTAPコントローラは、入力端子41〜43、45a、45b、48、出力端子44a、44b、47を有している。
標準TAPコントローラ400は、IEEE1149.1に準拠した動作を行なう。標準TAPコントローラ400は、第1の内部TMS信号TMS_1に基づき内部状態を遷移させる。この第1の内部TMS信号TMS_1は、後述する選択回路410が出力するものである。また、標準TAPコントローラ400は、テスト用命令信号とは別に第1の選択信号EN2、EN3(以下、単に選択信号EN2、EN3と称す)を出力する。選択信号EN2、EN3は、IEEE1149.1において許容されている範囲内で定義される選択用命令コードに基づき生成される。本実施の形態では、選択信号EN2を生成するための選択用命令コードとして"01001"を定義し、選択信号EN3を生成するための選択用命令コードとして"10001"を定義する。
なお、標準TAPコントローラ400〜600は、実質的に同じ回路であって、複数の信号出力端子Doと、データ入力端子Diと、TDI端子と、TCK端子と、TRST端子と、TMS端子と、TDO端子とを有する。複数の信号出力端子Doは、標準TAPコントローラから被テストブロック又は選択回路に出力される信号の出力端子である。データ入力端子Diは、テスト対象デバイスから読み出したテスト結果の入力端子である。なお、標準TAPコントローラ400は、複数の信号出力端子Doのうち2つを選択信号EN2、EN3の出力端子として使用する。また、以下の説明ではデータ入力端子を1つとして説明するが、複数であっても良い。
標準TAPコントローラに設けられるTDI端子と、TCK端子と、TRST端子と、TMS端子と、TDO端子の機能は、半導体装置1の外部端子として用いられるこれら端子と実質的に同じ機能を有する。なお、標準TAPコントローラに設けられるTDI端子と、TCK端子と、TRST端子と、TMS端子と、TDO端子を半導体装置1の外部端子として用いられるこれら端子と区別するために、以下では個別テスト端子と称す。この個別テスト端子は、それぞれ対応する共通テスト端子に接続されている。
選択回路410は、選択信号EN2、EN3、TMS信号に基づき第1の内部TMS信号の生成及びその出力先の選択を行なう。選択回路410は、ANDゲート411、412a、412b、出力選択回路413を有している。ANDゲート411は、入力端子48から入力されるTMS信号と、選択信号EN2の反転信号と、選択信号EN3の反転信号と、の論理積を出力する。ANDゲート411の出力は、標準TAPコントローラ400への第1の内部TMS信号TMS_1となる。ANDゲート412aは、入力端子48から入力されるTMS信号と、選択信号EN2と、の論理積を出力する。ANDゲート412aの出力は、出力端子44aから出力され、標準TAPコントローラ500への第1の内部TMS信号TMS_2となる。ANDゲート412bは、入力端子48から入力されるTMS信号と、選択信号EN3と、の論理積を出力する。ANDゲート412bの出力は、出力端子44bから出力され、標準TAPコントローラ600への第1の内部TMS信号TMS_3となる。
出力選択回路413は、入力端子45aから入力される標準TAPコントローラ500の出力信号TDO_2と、入力端子45bから入力される標準TAPコントローラ600の出力信号TDO_3と、標準TAPコントローラ400の出力信号TDO_1のうちいずれか1つを選択信号EN2、EN3に基づき選択して出力端子47から出力する。
ここで、標準TAPコントローラとこれに接続される被テストブロックとについて説明する。本実施の形態にかかる標準TAPコントローラは、いずれも実質的に同じ構成であるため、標準TAPコントローラ500を一例として標準TAPコントローラについて説明する。また、被テストブロックは、それぞれ異なる機能が実現された被テスト回路を有するが、被テスト回路に付随するテスト用回路は同じものである。被テスト回路については、本発明の本質部分ではないため説明を省略し、テスト用回路についての説明を行なう。以下の説明では、標準TAPコントローラ500に接続される被テストブロック200について説明を行なう。
標準TAPコントローラ500と被テストブロック200のブロック図を図3に示す。図3に示すように、標準TAPコントローラ500は、個別テスト端子として、TRST端子501と、TCK端子502と、TDI端子503と、TDO端子504と、TMS端子505とを有し、さらに、複数の信号出力端子Doと、データ入力端子Diを有する。また、標準TAPコントローラ500は、ステートマシン506、複数の命令レジスタ507、命令デコーダ508、マルチプレクサ509を有している。
ステートマシン506は、TMS端子505から入力されるTMS信号とTCK端子502から入力されるクロック信号TCKとに応じて内部状態を遷移させて、その状態遷移に基づいて出力信号を変化させる。ステートマシン506の状態遷移を図4に示す。図4に示すように、ステートマシン506は、TMS信号の値に基づき次に遷移する状態が決定される。例えば、状態がTest−Idle−Resetである場合に、TMS信号の値が"1"であれば、クロック信号TCKが入力されてもその状態を維持し、TMS信号の値が"0"であれば、クロック信号の入力に応じて、状態をRun−Test/Idleに遷移させる。このステートマシン506の動作は、IEEE1149.1にて規定されたものであるため、各状態における動作の説明は省略する。
複数の命令レジスタ507は、それぞれTDI端子503から入力される命令コードが格納される。命令コードを格納するに当たり、いずれの命令レジスタに命令コードを格納するかは、ステートマシン506が、Select−IR−Scan状態である場合に決定される。また、命令コードの格納は、ステートマシン506がCapture−IR状態である場合に行なわれる。
命令デコーダ508は、複数の命令レジスタ507に格納された命令コードをデコードする。そして、このデコード結果は信号出力端子Doを介して出力される。なお、マスタTAPコントローラ40の標準TAPコントローラ400では、このデコード結果のうち2つを選択信号EN2、EN3とする。なお、命令デコーダ508は、ステートマシン506の状態がUpdate−IRとなった場合に命令コードのデコード処理を行なう。
マルチプレクサ509は、複数の命令レジスタ507に格納されているデータとデータ入力端子Diに入力されるテスト結果のうちいずれか1つをステートマシン506の状態に基づいて選択して、出力信号TDOとしてTDO端子504から出力する。
被テストブロック200は、TDI端子201と、被テスト回路202、複数のデータレジスタ203、マルチプレクサ204を有している。また、被テストブロック200は、複数のデータ入力端子Diと、信号出力端子Doを有している。被テストブロック200は、データ入力端子Diによって標準TAPコントローラ500の出力信号を受信し、信号出力端子Doを介して、テスト結果を標準TAPコントローラ500に送信する。なお、被テストブロック200の被テスト回路202は、標準TAPコントローラ500の命令デコーダ508のデコード結果に基づき動作する。また、被テストブロック200の複数のデータレジスタ203及びマルチプレクサ204は、標準TAPコントローラ500のステートマシン506の状態に基づき動作する。
TDI端子201は、共通テスト端子のTDI端子11と接続されており、命令コードが入力される。被テスト回路202は、テスト対象の回路である。複数のデータレジスタ203は、それぞれTDI端子201から入力されるテスト用データが格納される。テスト用データを格納するに当たり、いずれのデータレジスタにテスト用データを格納するかは、ステートマシン506が、Select−DR−Scan状態である場合に決定される。また、テスト用データの格納は、ステートマシン506がCapture−DR状態である場合に行なわれる。テスト用データは、被テスト回路202のテストに用いられる被テスト回路202への入力データである。このテスト用データは、ステートマシン506がUpdate−DR状態である場合に、被テスト回路202に入力される。また、複数のデータレジスタ203は、被テスト回路202のテスト結果も格納される。
マルチプレクサ204は、複数のデータレジスタ203に格納されているデータのうちいずれか1つをステートマシン506の状態に基づいて選択して、被テストブロックの出力信号として信号出力端子Doから出力する。
次に、本実施の形態にかかる半導体装置1の動作について説明する。標準TAPコントローラを用いたテスト方法についてはIEEE1149.1に準拠した動作となるため、ここでは、標準TAPコントローラを用いたテストに関する動作についての説明は省略する。以下では、主にマスタTAPコントローラ40を用いて標準TAPコントローラ500、600を制御する動作を説明する。
本実施の形態では、マスタTAPコントローラ40が標準TAPコントローラ500、600を制御するために選択用命令コードを用いる。選択用命令コードは、IEEE1149.1にて許可されている範囲内において定義した命令コードである。この選択用命令コードは、TDI端子11からマスタTAPコントローラ40内の標準TAPコントローラ40に送信される。標準TAPコントローラ40は、選択用命令コードを命令レジスタ507に格納し、選択用命令コードを命令デコーダでデコードすることで選択信号EN2、EN3のいずれかをハイレベル(例えば"1")にする。
本実施の形態では、選択信号EN2をハイレベルにする選択用命令コードとして"01001"を定義し、選択信号EN3をハイレベルにする選択用命令コードとして"10001"を定義する。なお、選択信号EN2、EN3は、初期状態ではともにロウレベル(例えば、"0")である。
まず、初期状態では、選択信号EN2、EN3はともにロウレベルであるため、選択回路410のANDゲート411は、TMS端子14及び入力端子48を介して入力されるTMS信号を第1の内部TMS信号TMS_1として出力する。つまり、第1の内部TMS信号TMS_1は、TMS信号と実質的に同じ論理レベルを維持して変化する。この第1の内部TMS信号TMS_1は、マスタTAPコントローラ40内の標準TAPコントローラ400に入力される。
一方、選択信号EN2、EN3がともにロウレベルであるため、選択回路410のANDゲート412a、412bは、TMS端子14及び入力端子48を介して入力されるTMS信号を遮断する。つまり、第1の内部TMS信号TMS_2、TMS_3はロウレベルを維持する。
従って、選択用命令コードが入力されるまで、マスタTAPコントローラ40内の標準TAPコントローラ400は、TMS信号の変化に基づきステートマシンを動作させる(つまり、IEEE1149.1に準拠した動作を行なう)。一方、標準TAPコントローラ500、600は、第1の内部TMS信号TMS_2、TMS_3がロウレベルを維持するため、ステートマシンの状態をTest−Logic−Resetの状態で維持する。なお、この場合、出力選択回路413は、標準TAPコントローラ400が出力する出力信号TDO_1を選択して、出力端子47及びTDO端子15を介してこの出力信号TDO_1を出力する。
次に、選択用命令コードとして"01001"が入力された場合について説明する。この場合、選択信号EN2がハイレベルとなる。このとき、選択信号EN3はロウレベルである。この選択信号の状態に基づき、ANDゲート411及びANDゲート412bは、TMS端子14及び入力端子48を介して入力されるTMS信号を遮断して、第1の内部TMS信号TMS_1及び第1の内部TMS信号TMS_3をロウレベルとする。一方、ANDゲート412aは、TMS端子14及び入力端子48を介して入力されるTMS信号を第1の内部TMS信号TMS_2として出力する。つまり。第1の内部TMS信号TMS_3は、TMS端子14及び入力端子48を介して入力されるTMS信号と実質的に同じ論理レベルを維持して変化する。
従って、マスタTAPコントローラ40内の標準TAPコントローラ400に入力される第1の内部TMS信号TMS_1及び標準TAPコントローラ600に入力される第1の内部TMS信号TMS_3は、ロウレベルで変化しない。これにより、標準TAPコントローラ400、600は、ステートマシンの状態をTest−Logic−Resetの状態で維持する。一方、標準TAPコントローラ500への第1の内部TMS信号TMS_2は、TMS端子14及び入力端子48を介して入力されるTMS信号の変化に基づきステートマシンを動作させる(つまり、IEEE1149.1に準拠した動作を行なう)。なお、この場合、出力選択回路413は、標準TAPコントローラ500が出力する出力信号TDO_2を選択して、出力端子47及びTDO端子15を介してこの出力信号TDO_2を出力する。
続いて、選択用命令コードとして"10001"が入力された場合について説明する。この場合、選択信号EN3がハイレベルとなる。このとき、選択信号EN2はロウレベルである。この選択信号の状態に基づき、ANDゲート411及びANDゲート412aは、TMS端子14及び入力端子48を介して入力されるTMS信号を遮断して、第1の内部TMS信号TMS_1及び第1の内部TMS信号TMS_2をロウレベルとする。一方、ANDゲート412bは、TMS端子14及び入力端子48を介して入力されるTMS信号を第1の内部TMS信号TMS_3として出力する。つまり。第1の内部TMS信号TMS_3は、TMS端子14及び入力端子48を介して入力されるTMS信号と実質的に同じ論理レベルを維持して変化する。
従って、マスタTAPコントローラ40内の標準TAPコントローラ400に入力される第1の内部TMS信号TMS_1及び標準TAPコントローラ500に入力される第1の内部TMS信号TMS_2は、ロウレベルで変化しない。これにより、標準TAPコントローラ400、500は、ステートマシンの状態をTest−Logic−Resetの状態で維持する。一方、標準TAPコントローラ600への第1の内部TMS信号TMS_3は、TMS端子14及び入力端子48を介して入力されるTMS信号の変化に基づきステートマシンを動作させる(つまり、IEEE1149.1に準拠した動作を行なう)。なお、この場合、出力選択回路413は、標準TAPコントローラ600が出力する出力信号TDO_3を選択して、出力端子47及びTDO端子15を介してこの出力信号TDO_3を出力する。
上記説明より、本実施の形態にかかるテスト回路は、マスタTAPコントローラ40が選択用命令コードに基づき選択信号を出力することが可能な標準TAPコントローラ400と、選択信号に基づきTMS端子14及び入力端子48を介して入力されるTMS信号の出力先を選択する選択回路と、有する。
これによって、テスト回路は、複数の標準TAPコントローラのうち動作させるもののみを選択用命令コードに基づき選択し、選択した標準TAPコントローラをIEEE1149.1に準拠した動作で使用することが可能になる。また、本実施の形態にかかる選択用命令コードは、IEEE1149.1の規定に違反することはない。つまり、本実施の形態にかかるテスト回路は、選択用命令コードを追加してもIEEE1149.1の規定に違反することはなく、IEEE1149.1に準拠した動作によって複数の標準TAPコントローラを制御することが可能である。従って、本発明にかかるテスト回路を有する半導体装置1は、他の半導体装置とともに基板上に搭載される場合であっても、他の半導体装置とIEEE1149.1の規格において不整合を起こすことなく動作させることが可能である。
さらに、本実施の形態では、半導体装置1には、一組の共通テスト端子を備えるのみであり、複数の標準TAPコントローラを制御するためにその他の端子を追加する必要がない。つまり、複数の標準TAPコントローラを最小限の端子で制御することが可能である。
実施の形態2
実施の形態2にかかる半導体装置2のブロック図を図5に示す。図5に示すように、実施の形態2にかかるテスト回路は、マスタTAPコントローラ40に加えて、第3のコントローラ(例えば、サブマスタTAPコントローラ)50を有する。サブマスタTAPコントローラ50は、マスタTAPコントローラが出力する第1の内部TMS信号TMS_2と選択用命令コードとに基づき標準TAPコントローラ800に第2の内部TMS信号TMS_4を出力する。なお、サブマスタTAPコントローラ50は、選択用命令コードをデコードする機能を有する第3のTAPコントローラを有する。本実施の形態では、サブマスタTAPコントローラ50に内蔵される標準TAPコントローラ500が第3のTAPコントローラに相当するものである。
実施の形態2にかかる半導体装置2のブロック図を図5に示す。図5に示すように、実施の形態2にかかるテスト回路は、マスタTAPコントローラ40に加えて、第3のコントローラ(例えば、サブマスタTAPコントローラ)50を有する。サブマスタTAPコントローラ50は、マスタTAPコントローラが出力する第1の内部TMS信号TMS_2と選択用命令コードとに基づき標準TAPコントローラ800に第2の内部TMS信号TMS_4を出力する。なお、サブマスタTAPコントローラ50は、選択用命令コードをデコードする機能を有する第3のTAPコントローラを有する。本実施の形態では、サブマスタTAPコントローラ50に内蔵される標準TAPコントローラ500が第3のTAPコントローラに相当するものである。
図6にサブマスタTAPコントローラのブロック図を示す。図6に示すように、サブマスタコントローラは、標準TAPコントローラ500と選択回路510を有している。実施の形態2における標準TAPコントローラ500は、実施の形態1にかかる標準TAPコントローラ500に出力信号として第2の選択信号EN4(以下、単に選択信号EN4と称す)を出力する機能を持たせたものである。なお、選択信号EN4は、複数の出力信号のうちの1つの信号として出力されるものである。また、選択信号EN4を出力するための選択用命令コードとしては、例えば"00100"を用いる。
選択回路510は、実施の形態1にかかる選択回路410に対して、選択可能なTMS信号の種類を削減したものである。選択回路510は、ANDゲート511、512、出力選択回路513を有している。ANDゲート511は、入力端子58から入力される第1のTMS信号TMS_2と、選択信号EN4の反転信号と、の論理積を出力する。ANDゲート511の出力は、標準TAPコントローラ500への第2の内部TMS信号TMS_2aとなる。ANDゲート512は、入力端子58から入力される第1のTMS信号TMS_2と、選択信号EN4と、の論理積を出力する。ANDゲート512の出力は、出力端子54から出力され、標準TAPコントローラ800への第2の内部TMS信号TMS_4となる。
出力選択回路513は、入力端子55から入力される標準TAPコントローラ800の出力信号TDO_4と、標準TAPコントローラ500の出力信号TDO_2のうちいずれか1つを選択信号EN4に基づき選択して出力端子57から出力する。
上記説明より、実施の形態2にかかるテスト回路では、マスタTAPコントローラに従属接続されるTAPコントローラであっても、他の標準TAPコントローラを制御することが可能である。上記説明のサブマスタTAPコントローラは複数存在していても良い。このサブマスタTAPコントローラを設けることで、テスト回路におけるTAPコントローラの制御性をさらに高めることが可能である。
実施の形態3
実施の形態3にかかる半導体装置3のブロック図を図7に示す。図7に示すように、実施の形態3にかかるテスト回路においては、第1の内部TMS信号TMS_3が標準TAPコントローラ600、800の2つの標準TAPコントローラに入力されるものである。この場合、マスタTAPコントローラ40では、出力信号TDOを3つまでしか選択することができないため、調停回路としてORゲート900を用いて、出力信号TDO_3と出力信号TDO_4との調停を行なう。
実施の形態3にかかる半導体装置3のブロック図を図7に示す。図7に示すように、実施の形態3にかかるテスト回路においては、第1の内部TMS信号TMS_3が標準TAPコントローラ600、800の2つの標準TAPコントローラに入力されるものである。この場合、マスタTAPコントローラ40では、出力信号TDOを3つまでしか選択することができないため、調停回路としてORゲート900を用いて、出力信号TDO_3と出力信号TDO_4との調停を行なう。
このように、調停回路によって出力信号TDOの調停を行なうことによって、1つの第1の内部TMS信号を複数の標準TAPコントローラに入力することも可能である。
実施の形態4
実施の形態4にかかる半導体装置4のブロック図を図8に示す。図8に示すように、実施の形態4にかかるテスト回路は、第1の内部TMS信号TMS_3が第4のTAPコントローラ(例えば、標準TAPコントローラ600)と、第2のコントローラ(例えば、標準TAPコントローラ800)の2つの標準TAPコントローラに入力され、標準TAPコントローラ800の出力信号を標準TAPコントローラ600の命令コードとするものである。つまり、命令コードに関して標準TAPコントローラを従属接続関係としても、本発明の効果を得ることは可能である。
実施の形態4にかかる半導体装置4のブロック図を図8に示す。図8に示すように、実施の形態4にかかるテスト回路は、第1の内部TMS信号TMS_3が第4のTAPコントローラ(例えば、標準TAPコントローラ600)と、第2のコントローラ(例えば、標準TAPコントローラ800)の2つの標準TAPコントローラに入力され、標準TAPコントローラ800の出力信号を標準TAPコントローラ600の命令コードとするものである。つまり、命令コードに関して標準TAPコントローラを従属接続関係としても、本発明の効果を得ることは可能である。
実施の形態5
実施の形態5にかかる標準TAPコントローラ400aのブロック図を図9に示す。標準TAPコントローラ400aは、実施の形態1にかかる標準TAPコントローラ400に代えて使用されるものである。図9に示すように、標準TAPコントローラ400aは、標準TAPコントローラ400に選択信号生成回路420を加えたものである。
実施の形態5にかかる標準TAPコントローラ400aのブロック図を図9に示す。標準TAPコントローラ400aは、実施の形態1にかかる標準TAPコントローラ400に代えて使用されるものである。図9に示すように、標準TAPコントローラ400aは、標準TAPコントローラ400に選択信号生成回路420を加えたものである。
選択信号生成回路420は、TAPセレクトレジスタ421と、TAPセレクトデコーダ422を有している。TAPセレクトレジスタ421は、選択用命令コードを格納する。TAPセレクトデコーダ422は、TAPセレクトレジスタ421に格納されている選択用命令コードをデコードして選択信号EN2、EN3を出力する。なお、TAPセレクトレジスタ421にはTDI端子403から選択用命令コードが入力され、TCK端子402からクロック信号が入力され、TRST端子からリセット信号が入力され、ステートマシン406からステートマシン406がRun−Test/Idleであることを示す信号が入力される。
ここで、TAPセレクトレジスタ421のブロック図を図10に示し、TAPセレクトレジスタ421の動作について説明する。図10に示すように、TAPセレクトレジスタ421は、ANDゲート440、Dフリップフロップ441〜445を有している。ANDゲート440は、ステートマシン406がRun−Test/Idleであることを示す信号がハイレベルである場合に、クロック信号をDフリップフロップ441〜445に出力する。一方、ANDゲート440は、ステートマシン406がRun−Test/Idleであることを示す信号がロウレベルである場合に、Dフリップフロップ441〜445へのクロック信号の出力を停止する。
Dフリップフロップ441〜445は、それぞれが直列に接続されたシフトレジスタ構成になっている。このシフトレジスタは、クロック信号の立ち上がりに応じて、選択用命令コードのデータをシフトさせながら記憶する。また、Dフリップフロップ441〜445は、リセット信号がハイレベルになると出力をロウレベルとする。なお、Dフリップフロップ441〜445の出力は、それぞれ出力端子435〜439を介してTAPセレクトデコーダ422に接続される。
上記構成により、選択信号生成回路420は、ステートマシン406がRun−Test/Idleの状態であるときに、選択用命令コードの入力とデコードを行なう。標準TAPコントローラ400に対して選択信号生成回路420を追加しても、標準TAPコントローラ400aのIEEE1149.1に関する動作は何ら規格を違反するものではない。つまり、選択信号生成回路420を標準TAPコントローラに追加することで、標準TAPコントローラに選択信号を出力する機能を追加可能である。従って、この選択信号生成回路420を予め準備することで、本発明にかかる標準TAPコントローラを容易に設計することが可能である。
実施の形態6
実施の形態6は、実施の形態1の半導体装置1におけるマスタTAPコントローラの変形例を示すものである。実施の形態4において、マスタTAPコントローラ40から出力される第1の内部TMS信号TMS_3を標準TAPコントローラ600と、標準TAPコントローラ800とに入力することで2つの標準TAPコントローラを選択する例を示した。これに対して、実施の形態6は、マスタTAPコントローラ40の変形例を示すものである。実施の形態6におけるマスタTAPコントローラ40aは、内蔵される標準TAPコントローラ400に与える選択用命令コード及び選択回路の構成を変更することで、1つの内部TMS信号を複数の標準TAPコントローラに同時に与えることなく、複数のTAPコントローラを選択するものである。また、実施の形態4においては、TAPコントローラとは別にOR回路を設けることで複数の標準コントローラの出力を1つの出力信号としたが、実施の形態6では、任意の出力信号を選択できる出力選択回路を有する。以下、実施の形態6におけるマスタTAPコントローラ40aについて詳細に説明する。
実施の形態6は、実施の形態1の半導体装置1におけるマスタTAPコントローラの変形例を示すものである。実施の形態4において、マスタTAPコントローラ40から出力される第1の内部TMS信号TMS_3を標準TAPコントローラ600と、標準TAPコントローラ800とに入力することで2つの標準TAPコントローラを選択する例を示した。これに対して、実施の形態6は、マスタTAPコントローラ40の変形例を示すものである。実施の形態6におけるマスタTAPコントローラ40aは、内蔵される標準TAPコントローラ400に与える選択用命令コード及び選択回路の構成を変更することで、1つの内部TMS信号を複数の標準TAPコントローラに同時に与えることなく、複数のTAPコントローラを選択するものである。また、実施の形態4においては、TAPコントローラとは別にOR回路を設けることで複数の標準コントローラの出力を1つの出力信号としたが、実施の形態6では、任意の出力信号を選択できる出力選択回路を有する。以下、実施の形態6におけるマスタTAPコントローラ40aについて詳細に説明する。
実施の形態6にかかるマスタTAPコントローラ40aのブロック図を図11に示す。マスタTAPコントローラ40aは、標準TAPコントローラ400及び選択回路410aを有する。標準TAPコントローラ400は、上記実施の形態で使用したものと同じものであるが、与えられる選択用命令コードの構成の変更に応じて複数の出力信号Doのうち6つを選択信号として用いる。また、6つの選択信号のうち3つの第1の選択信号(例えば、選択信号TE1〜TE3)を第1の内部TMS信号の選択に用い、第1の選択信号のうち残る3つの信号を第3の選択信号(例えば、選択信号OE1〜OE3)として出力信号TDOの選択に用いる。なお、本実施の形態においても、標準TAPコントローラ400に入力される選択用命令コードは、IEEE1149.1において許容されている範囲内で定義される。本実施の形態で用いる選択用命令コードの詳細は後述する。
選択回路410aは、ANDゲート411a、412a、412b、出力選択回路413aを有する。ANDゲート411aは、一方の入力端子に入力端子48を介してTMS信号TMSが入力され、他方の入力端子に標準TAPコントローラ400が出力する選択信号TE1が入力される。そして、ANDゲート411aは、入力される信号の論理積を第1の内部TMS信号TMS_1として出力する。ANDゲート412aは、選択信号TE2が一方の入力端子に入力され、入力端子48を介して入力されるTMS信号が他方の入力端子に入力される。そして、ANDゲート412aは、入力される信号の論理積を第1の内部TMS信号TMS_2として出力する。ANDゲート412bは、選択信号TE3が一方の入力端子に入力され、入力端子48を介して入力されるTMS信号が他方の入力端子に入力される。そして、ANDゲート412bは、入力される信号の論理積を第1の内部TMS信号TMS_3として出力する。
出力選択回路413aは、選択信号OE1〜OE3の値に基づき、出力信号TDO_1〜TDO_3のいずれか1つを選択して最終的な出力信号TDOとして出力端子47に出力する。ここで、出力選択回路413aの真理値表の一例を図12に示す。図12に示すように、出力選択回路413aは、選択信号OE1の論理値が"1"であれば出力信号TDO_1を最終的な出力信号TDOとして出力する。選択信号OE2の論理値が"1"であれば出力信号TDO_2を最終的な出力信号TDOとして出力する。選択信号OE3の論理値が"1"であれば出力信号TDO_3を最終的な出力信号TDOとして出力する。なお、以下の説明では、論理値が"1"となる状態を選択信号のアクティブ状態と称す。
ここで、実施の形態6における選択用命令コードについて説明する。実施の形態6で用いる選択用命令コードの一例を図13に示す。図13に示すように、実施の形態6では、5ビットの命令長を有する命令コードを用いる。図13に示す例では選択用命令コードのうち左側の値を上位ビットとした場合、選択用命令コードは、上位2ビットが選択信号OE1〜OE3のアクティブ状態を制御する値として定義され、下位3ビットが選択信号TE1〜TE3のアクティブ状態を制御する値として定義される。
図13に示す例では、上位2ビットの値が"01"であれば選択信号OE1がアクティブとなり、"10"であれば選択信号OE2がアクティブとなり、"11"であれば、選択信号OE3がアクティブとなる。また、下位3ビットのうち最も上位のビットが"1"であれば、選択信号TE1がアクティブとなり、下位3ビットのうち上位2ビット目が"1"であれば選択信号TE2がアクティブとなり、下位3ビットのうち最も下位のビットが"1"であれば選択信号TE3がアクティブとなる。なお、図13に示す選択用命令コードにおいては、選択信号TE1及びOE1がアクティブになる"00101"がリセット初期値として設定される。このリセット初期値は、別の選択用命令コードに設定しても良く、例えば、図14に示すように選択信号TE1、TE2及びOE1がアクティブになる"01110"をリセット初期値としても良い。
選択用命令コードをこのように定義することで、例えば、選択用命令コードが"01110"であった場合、選択信号TE1、TE2、OE2がアクティブとなる。そのため、テスト回路の動作としては、マスタTAPコントローラ40aと標準TAPコントローラ500がアクティブになり、マスタTAPコントローラ40aは最終的な出力信号として標準TAPコントローラ500が出力する出力信号TDO_2を出力する。
実施の形態6におけるテスト回路では、選択用命令コードの構成を変更することで、複数の第1の内部TMS信号をアクティブにすることができる。また、出力選択回路413aは、選択信号OE1〜OE3の値に応じて複数の出力信号TDO_1〜TDO_3のいずれか1つを選択できる構成とした。これにより、実施の形態6におけるテスト回路は、複数の標準TAPコントローラにより、同時に被テスト回路に対するテストを実施し、いずれか1つの標準TAPコントローラの出力を任意に選択して取り出すことができる。つまり、実施の形態6にかかるテスト回路は、選択用命令コードの定義によって、複数の標準TAPコントローラをアクティブにするものであり、上記実施の形態よりも自由度の高いテストを実施することが可能である。
実施の形態7
実施の形態6では、出力選択回路413aは3つの出力信号のうち1つを選択するものであったが、実施の形態7の出力選択回路413bは、3つの出力信号のうち2つを選択できる構成としたものである。この出力選択回路413bを有するマスタTAPコントローラ40bのブロック図を図15に示す。図15においては、出力選択回路413bを有する選択回路を選択回路410bとした。
実施の形態6では、出力選択回路413aは3つの出力信号のうち1つを選択するものであったが、実施の形態7の出力選択回路413bは、3つの出力信号のうち2つを選択できる構成としたものである。この出力選択回路413bを有するマスタTAPコントローラ40bのブロック図を図15に示す。図15においては、出力選択回路413bを有する選択回路を選択回路410bとした。
出力選択回路413bの真理値表を図16に示す。図15に示すように、出力選択回路413bは、選択信号OE1〜OE3及び出力信号TDO_1〜TDO3に加えてクロック信号TCKが入力される。そして、図16の真理値表に示すように、3つの選択信号のうち2つがアクティブになった場合、出力選択回路413bは、クロック信号TCKの論理値に応じて出力する出力信号を切り替える。図16に示す例では、選択信号OE1〜OE3のいずれか1つがアクティブである場合、出力選択回路413bは、選択信号に応じていずれか1つの出力信号を選択する。一方、選択信号OE1〜OE3のうち2つがアクティブであった場合、クロック信号の論理値が"0"のときに選択指定された出力信号のうち小さい数字の出力信号を選択し、クロック信号の論理値が"1"のときに選択指定された出力信号のうち大きな数字の出力信号を選択する。例えば、選択信号OE1及びOE2がアクティブであった場合、クロック信号の論理値が"1"のときに出力信号TDO_1を選択し、クロック信号の論理値が"0"であった場合に出力信号TDO_2を選択する。
また、実施の形態7では、選択信号OE1〜OE3のうち2つの選択信号をアクティブにするために、選択用命令コードとして6ビットの命令長の命令コードを用いる。実施の形態7において用いる選択用命令コードの例を図17に示す。図17に示す例では選択用命令コードのうち左側の値を上位ビットとした場合、選択用命令コードは、上位3ビットが選択信号OE1〜OE3のアクティブ状態を制御する値として定義され、下位3ビットが選択信号TE1〜TE3のアクティブ状態を制御する値として定義される。
図17に示す例では、上位3ビットのうち最も上位のビットが"1"であれば、選択信号OE1がアクティブとなり、上位3ビットのうち上位2ビット目が"1"であれば選択信号OE2がアクティブとなり、上位3ビットのうち最も下位のビットが"1"であれば選択信号OE3がアクティブとなる。また、下位3ビットのうち最も上位のビットが"1"であれば、選択信号TE1がアクティブとなり、下位3ビットのうち上位2ビット目が"1"であれば選択信号TE2がアクティブとなり、下位3ビットのうち最も下位のビットが"1"であれば選択信号TE3がアクティブとなる。なお、図17に示す選択用命令コードにおいては、選択信号TE1及びOE1がアクティブになる"001001"がリセット初期値として設定される。
実施の形態6では、選択信号OE1〜OE3はいずれか1つしかアクティブにすることができなかった。しかし、選択用命令コードをこのように定義することで、実施の形態7では、選択信号OE1〜OE3のうち2つをアクティブにすることができる。例えば、選択用命令コードが"011011"であった場合は、選択信号TE1、TE2、OE1、OE2をアクティブにすることができる。
上記説明より、実施の形態7にかかるテスト回路は、2つの標準TAPコントローラを同時にアクティブにし、アクティブになった標準TAPコントローラのそれぞれの出力信号をクロック信号の値に応じて交互に取り出すことができる。つまり、実施の形態7にかかるテスト回路は、上記実施の形態よりも、上記実施の形態よりも自由度の高いテストを実施し、かつ、テスト結果の高い観測性を実現することが可能である。
実施の形態8
実施の形態8にかかるマスタTAPコントローラ40cのブロック図を図18に示す。図18に示すようにマスタTAPコントローラ40cは、実施の形態6におけるマスタTAPコントローラ40aの出力選択回路413aに代えて出力選択回路413cを有する。出力選択回路413cは、入力される出力信号TDO_1〜TDO3のうち選択された出力信号の排他的論理和(XOR)を最終的な出力信号として出力端子47を介して出力する。図18においては、出力選択回路413cを有する選択回路を選択回路410cとした。
実施の形態8にかかるマスタTAPコントローラ40cのブロック図を図18に示す。図18に示すようにマスタTAPコントローラ40cは、実施の形態6におけるマスタTAPコントローラ40aの出力選択回路413aに代えて出力選択回路413cを有する。出力選択回路413cは、入力される出力信号TDO_1〜TDO3のうち選択された出力信号の排他的論理和(XOR)を最終的な出力信号として出力端子47を介して出力する。図18においては、出力選択回路413cを有する選択回路を選択回路410cとした。
ここで、出力選択回路413cの真理値表を図19に示す。図19に示すように、出力選択回路413cは、選択信号OE1〜OE3に応じて選択された出力信号の排他的論理和を最終的な出力信号TDOとして出力する。つまり、出力選択回路413cは、出力信号TDO_1〜TDO3の排他的論理和を演算することで、複数の出力信号のデータの圧縮を行なう。
なお、実施の形態8では、選択用命令コードとして6ビットの命令長の命令コードを使用する。実施の形態8において用いる選択用命令コードの例を図20に示す。図20に示すように、実施の形態8において使用する選択用命令コードは、図17に示した実施の形態7で用いる選択用命令コードに"111111"となるコードを追加したものである。選択用命令コードが"111111"であった場合、選択信号TE1〜TE3及びOE1〜OE3がすべてアクティブとなる。
上記説明より、実施の形態8にかかるテスト回路は、出力選択回路413cにおいて、出力信号のデータの圧縮を行なう。そのため、実施の形態8にかかるテスト回路は、複数の標準TAPコントローラの出力を一度に読み出すことができる。つまり、実施の形態8にかかるテスト回路は、他の実施例よりもテスト結果を高速に読み出すことが可能ある。
実施の形態9
実施の形態9にかかる半導体装置5のブロック図を図21に示す。図21に示すように、実施の形態9にかかる半導体装置5は、マスタTAPコントローラ40dを有する。上記実施の形態では、各標準TAPコントローラへの命令コードを共通テスト端子として設定されるTDI端子から入力していた。これに対して、実施の形態9にかかるテスト回路では、共通テスト端子として設定されるTDI端子から入力される命令コードはマスタTAPコントローラ40dにのみ入力され、他の標準TAPコントローラには、マスタTAPコントローラ40dを介して命令コード(例えば、TDI_2、TDI_3)が入力される。
実施の形態9にかかる半導体装置5のブロック図を図21に示す。図21に示すように、実施の形態9にかかる半導体装置5は、マスタTAPコントローラ40dを有する。上記実施の形態では、各標準TAPコントローラへの命令コードを共通テスト端子として設定されるTDI端子から入力していた。これに対して、実施の形態9にかかるテスト回路では、共通テスト端子として設定されるTDI端子から入力される命令コードはマスタTAPコントローラ40dにのみ入力され、他の標準TAPコントローラには、マスタTAPコントローラ40dを介して命令コード(例えば、TDI_2、TDI_3)が入力される。
このマスタTAPコントローラ40dのブロック図を図22に示す。図22に示すように、マスタTAPコントローラ40dは、実施の形態6のマスタTAPコントローラ40aにおける出力選択回路413aに代えて出力選択回路413dを有する。また、マスタTAPコントローラ40dは、他の標準TAPコントローラに命令コードを出力する出力端子43a及び43dが追加されている。図22においては、出力選択回路413dを有する選択回路を選択回路410dとした。
出力選択回路413は、非選択信号として、出力信号TDO_1〜TDO3に加えて命令コードが入力端子43から入力される。出力選択回路413dは、選択信号OE1〜OE3の値に応じて、出力信号TDO_1〜TDO3及び命令コードを命令コードTDI_2、TDI_3及び出力信号TDOのいずれかとして出力する。出力選択回路413dの真理値表の一例を図23に示す。図23に示す例では、選択信号OE1〜OE3のいずれか1つがアクティブであった場合、出力選択回路413dは、選択信号の値に応じて選択された出力信号TDO_1〜TDO3の1つを出力信号TDOとして出力し、命令コードTDI_2、TDO_3として、外部から入力される命令コードTDIを出力する。一方、選択信号OE1〜OE3のうち複数の選択信号がアクティブであった場合、いずれか1つの出力信号を他の標準TAPコントローラへの命令コードとして出力する。
図23の真理値表の例では、選択信号OE1及びOE2がアクティブであった場合、標準TAPコントローラ400の出力信号TDO_1を標準TAPコントローラ500への命令コードTDI_2とする。そして、標準TAPコントローラ500の出力信号TDO_2を最終的な出力信号TDOとする。このとき、命令コードTDI_3として外部から入力される命令コードTDIを出力する。
選択信号OE2及びOE3がアクティブであった場合、標準TAPコントローラ500の出力信号TDO_2を標準TAPコントローラ600への命令コードTDI_3とする。そして、標準TAPコントローラ600の出力信号TDO_3を最終的な出力信号TDOとする。このとき、命令コードTDI_2として外部から入力される命令コードTDIを出力する。
選択信号OE1及びOE3がアクティブであった場合、標準TAPコントローラ400の出力信号TDO_1を標準TAPコントローラ600への命令コードTDI_3とする。そして、標準TAPコントローラ600の出力信号TDO_3を最終的な出力信号TDOとする。このとき、命令コードTDI_2として外部から入力される命令コードTDIを出力する。
選択信号OE1、OE2及びOE3がアクティブであった場合、標準TAPコントローラ400の出力信号TDO_1を標準TAPコントローラ500への命令コードTDI_2とする。また、標準TAPコントローラ500の出力信号TDO_2を標準TAPコントローラ600への命令コードTDI_3とする。そして、標準TAPコントローラ600の出力信号TDO_3を最終的な出力信号TDOとする。
上記説明より、実施の形態9にかかるテスト回路では、複数の選択信号がアクティブとした場合、標準TAPコントローラをそれぞれ縦続的に接続できる。言い換えると、実施の形態9にかかる半導体装置1では、標準TAPコントローラをチェーン接続の形態とすることができる。これによって、例えば複数の標準TAPコントローラをスキャンチェーンのように用いることができる。つまり、複数の標準TAPコントローラに対して1つのデータ列を用いて命令コードを設定し、複数の標準TAPコントローラで得られたテスト結果を1つのデータ列として取り出すことができる。このように標準TAPコントローラをチェーン接続することで、複数の被テスト回路を互いに協調動作させるようなテストに対するテストパターン作成の容易化とテストの実行性の向上とを実現することができる。
以上述べたように、本発明によれば、複数のTAPコントローラの中から任意のTAPコントローラを選択する選択用命令コードを新設した。また、マスタTAPコントローラにその選択用命令コードをデコードする命令デコーダと、その命令デコーダのデコード結果に基づいて他のTAPコントローラを制御する選択回路を設けた。そのようにすることにより、マスタTAPコントローラ、サブマスタコントローラ以外の他の標準仕様のTAPコントローラの仕様変更及びIEEE1149に規定される1つの端子群(例えば、TDI端子11、TCK端子12、TRST端子13、TMS端子14、及び、TDO端子15により構成される端子群)への新たな端子の追加を行なうことなく、複数のTAPコントローラを実装することができる。また、マスタTAPコントローラ、サブマスタTAPコントローラも、標準仕様のTAPコントローラに選択用命令コードをデコードする機能を付加したものであるので、標準仕様のTAPコントローラとして用いることができる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、選択用命令コードは上記実施の形態において示したものに限らず、IEEE1149の規格に準拠したものであれば特に制限なく定義することが可能である。また、実施の形態6〜9における選択回路と同等のものをサブマスタTAPコントローラ50に使用することも可能である。
1〜5 半導体装置
100〜300、700 被テストブロック
400〜600 、800、400a 標準TAPコントローラ
40、40a〜40d マスタTAPコントローラ
50 サブマスタTAPコントローラ
11、201、403、434、503 TDI端子
12、402、502、433 TCK端子
13、401、501、431 TRST端子
14、405、505 TMS端子
15、404、504 TDO端子
43a、43b、44a、44b、47、54、57、435〜439 出力端子
41〜43、45a、45b 、48、55、58、432 入力端子
441〜445 Dフリップフロップ
202 被テスト回路
203 データレジスタ
204 マルチプレクサ
406 ステートマシン
410、410a〜410d、510 選択回路
411、411a、412a、412b、440、511、512 ANDゲート
413、413a〜413d、513 出力選択回路
420 選択信号生成回路
421 セレクトレジスタ
422 セレクトデコーダ
506 ステートマシン
507 命令レジスタ
508 命令デコーダ
509 マルチプレクサ
900 ORゲート
Di データ入力端子
Do 信号出力端子
EN2〜EN3、TE1〜TE3、OE1〜OE3 選択信号
TCK クロック信号
TDO 出力信号
TDO_1〜TDO_4 出力信号
TMS_1〜TMS_4 内部TMS信号
100〜300、700 被テストブロック
400〜600 、800、400a 標準TAPコントローラ
40、40a〜40d マスタTAPコントローラ
50 サブマスタTAPコントローラ
11、201、403、434、503 TDI端子
12、402、502、433 TCK端子
13、401、501、431 TRST端子
14、405、505 TMS端子
15、404、504 TDO端子
43a、43b、44a、44b、47、54、57、435〜439 出力端子
41〜43、45a、45b 、48、55、58、432 入力端子
441〜445 Dフリップフロップ
202 被テスト回路
203 データレジスタ
204 マルチプレクサ
406 ステートマシン
410、410a〜410d、510 選択回路
411、411a、412a、412b、440、511、512 ANDゲート
413、413a〜413d、513 出力選択回路
420 選択信号生成回路
421 セレクトレジスタ
422 セレクトデコーダ
506 ステートマシン
507 命令レジスタ
508 命令デコーダ
509 マルチプレクサ
900 ORゲート
Di データ入力端子
Do 信号出力端子
EN2〜EN3、TE1〜TE3、OE1〜OE3 選択信号
TCK クロック信号
TDO 出力信号
TDO_1〜TDO_4 出力信号
TMS_1〜TMS_4 内部TMS信号
Claims (15)
- IEEE(Institute of Electrical and Electronics Engineers)1149にて規定されるTAPコントローラと、テストアクセスポートと、を有するテスト回路であって、
TMS信号に応じて第1の内部TMS信号を生成するとともに第1の選択信号に応じて前記第1の内部TMS信号の出力先を選択する選択回路と、前記第1の内部TMS信号に基づいて内部状態を遷移させるとともに選択用命令コードに基づき前記第1の選択信号を生成する第1のTAPコントローラと、を有する第1のコントローラと、
前記第1の内部TMS信号に基づき内部状態を遷移させる第2のTAPコントローラを有する第2のコントローラと、
を備えるテスト回路。 - 前記選択回路は、前記第1のTAPコントローラの出力信号と前記第2のTAPコントローラの出力信号とを前記選択信号に応じて選択して、選択した側の出力信号を前記テスト回路の出力信号として出力する出力選択回路を備える請求項1に記載のテスト回路。
- 前記テスト回路は、前記第1の内部TMS信号に応じて第2の内部TMS信号を生成するとともに第2の選択信号に応じて前記第2の内部TMS信号の出力先を選択する選択回路と、前記第2の内部TMS信号に基づいて内部状態を遷移させるとともに選択用命令コードに基づき前記第2の選択信号を生成する第3のTAPコントローラと、を有する第3のコントローラを備える請求項1又は2に記載のテスト回路。
- 前記第1、第2の内部TMS信号は、前記TMS信号と実質的に同じ論理レベルを維持して変化する請求項1乃至3のいずれか1項に記載のテスト回路。
- 前記テスト回路は、複数の前記第2のコントローラの出力信号の調停を行ない、前記第1のコントローラに調停後の当該出力信号を出力する調停回路を備える請求項1乃至4のいずれか1項に記載のテスト回路。
- 前記テスト回路は、前記第2のコントローラの出力信号を命令コードとして動作する第4のTAPコントローラを含む請求項1乃至5のいずれか1項に記載のテスト回路。
- 前記第1のTAPコントローラは、前記選択用命令コードをデコードして前記第1の選択信号を出力する選択信号生成回路を備える請求項1乃至6のいずれか1項に記載のテスト回路。
- 前記第1のTAPコントローラは、複数の前記第1の選択信号をアクティブ状態とし、前記選択回路は、複数の前記第1の選択信号に基づき複数の前記第1の内部TMS信号を複数の前記第2のコントローラに出力する請求項1乃至7のいずれか1項に記載のテスト回路。
- 前記第1のTAPコントローラは、前記第1及び第2のTAPコントローラから出力される出力信号のうちいずれを出力するかを指定する第3の選択信号を出力し、前記出力選択回路は、前記第3の選択信号に基づき前記第1及び第2のTAPコントローラから出力される出力信号のいずれかを選択して出力する請求項3乃至8のいずれか1項に記載のテスト回路。
- 前記出力選択回路は、前記第3の選択信号に基づき前記第1及び第2のTAPコントローラから出力される出力信号を選択する場合、クロック信号の論理値に応じて選択する出力信号を切り替える請求項9に記載のテスト回路。
- 前記出力選択回路は、前記第3の選択信号に基づき前記第1及び第2のTAPコントローラから出力される出力信号を選択する場合、複数の前記出力信号の排他的論理和を前記出力選択回路の出力信号とする請求項9に記載のテスト回路。
- 前記出力選択回路は、前記第3の選択信号に基づき選択した前記第1又は第2のTAPコントローラからの出力信号を他のTAPコントローラへの命令コードとして出力する請求項9に記載のテスト回路。
- 前記出力選択回路は、前記第1及び第2のTAPコントローラの出力信号及び外部から入力される命令コードが入力され、前記第3の選択信号に基づき選択した第1又は第2のTAPコントローラからの出力信号を他のTAPコントローラへの命令コードとして入力するとともに、前記第1又は第2のTAPコントローラの出力信号を外部へ出力する請求項9又は12に記載のテスト回路。
- IEEE(Institute of Electrical and Electronics Engineers)1149にて規定されるTAPコントローラと、テストアクセスポートと、を有するテスト回路であって、
TMS信号に応じて第1の内部TMS信号を生成するとともに複数の第1の選択信号に応じて前記複数の第1の内部TMS信号の出力先をそれぞれ選択する選択回路と、前記第1の内部TMS信号に基づいて内部状態を遷移させるとともに選択用命令コードに基づき前記複数の第1の選択信号を生成する前記TAPコントローラと、を有する第1のコントローラと、
前記複数の第1の内部TMS信号のいずれか1つに基づき内部状態を遷移させる前記TAPコントローラを有する複数の第2のコントローラと、
を備えるテスト回路。 - 複数のTAPコントローラの中から任意のTAPコントローラを選択する選択用命令コードを含むコードをデコードする命令デコーダと、
前記命令デコーダのデコード結果に基づいて他のTAPコントローラを制御する選択回路とを備え、IEEE1149において規定される標準仕様の他のTAPコントローラを制御可能にしたIEEE標準仕様上位互換のマスタTAPコントローラを備えたテスト回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007280745A JP2008310792A (ja) | 2007-05-11 | 2007-10-29 | テスト回路 |
US12/149,742 US8015462B2 (en) | 2007-05-11 | 2008-05-07 | Test circuit |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007127173 | 2007-05-11 | ||
JP2007280745A JP2008310792A (ja) | 2007-05-11 | 2007-10-29 | テスト回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008310792A true JP2008310792A (ja) | 2008-12-25 |
Family
ID=40238305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007280745A Pending JP2008310792A (ja) | 2007-05-11 | 2007-10-29 | テスト回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008310792A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013545963A (ja) * | 2010-07-29 | 2013-12-26 | 日本テキサス・インスツルメンツ株式会社 | アット・スピード・テストアクセスポート動作の改善 |
JP2014528078A (ja) * | 2011-09-30 | 2014-10-23 | クアルコム,インコーポレイテッド | Tapコントローラの動的に自己再構成可能なデイジーチェーン |
US9135132B2 (en) | 2011-09-20 | 2015-09-15 | Samsung Electronics Co., Ltd. | Method of testing a device under test, device under test, and semiconductor test system including the device under test |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10115668A (ja) * | 1996-08-30 | 1998-05-06 | Texas Instr Inc <Ti> | テストインタフェースを含む集積回路及びテストインタフェースを使用する方法 |
JPH1172541A (ja) * | 1997-06-10 | 1999-03-16 | Altera Corp | プログラマブル集積回路を構成する方法、プログラマブル集積回路、jtag回路の使用、およびjtag命令レジスタに入力される命令の使用 |
JP2002328152A (ja) * | 2001-04-27 | 2002-11-15 | Fujitsu Ltd | インサーキットエミュレータ用レジスタ制御装置及び方法 |
JP2004164367A (ja) * | 2002-11-14 | 2004-06-10 | Renesas Technology Corp | マルチプロセッサシステム |
JP2005503563A (ja) * | 2001-09-20 | 2005-02-03 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 電子デバイス |
JP2006510980A (ja) * | 2002-12-20 | 2006-03-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 単一の試験アクセス・ポートを介する複数の試験アクセス・ポート・コントローラの接続 |
JP2006156929A (ja) * | 2004-04-19 | 2006-06-15 | Fujitsu Ltd | 半導体集積回路及びその設計方法 |
WO2007010493A2 (en) * | 2005-07-22 | 2007-01-25 | Nxp B.V. | Testable integrated circuit, system in package and test instruction set |
JP2007504447A (ja) * | 2003-08-28 | 2007-03-01 | テキサス インスツルメンツ インコーポレイテッド | Jtagポート、タップ・リンク・モジュール及びオフ・チップtapインタフェース・ポートを備えた集積回路 |
-
2007
- 2007-10-29 JP JP2007280745A patent/JP2008310792A/ja active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10115668A (ja) * | 1996-08-30 | 1998-05-06 | Texas Instr Inc <Ti> | テストインタフェースを含む集積回路及びテストインタフェースを使用する方法 |
JPH1172541A (ja) * | 1997-06-10 | 1999-03-16 | Altera Corp | プログラマブル集積回路を構成する方法、プログラマブル集積回路、jtag回路の使用、およびjtag命令レジスタに入力される命令の使用 |
JP2002328152A (ja) * | 2001-04-27 | 2002-11-15 | Fujitsu Ltd | インサーキットエミュレータ用レジスタ制御装置及び方法 |
JP2005503563A (ja) * | 2001-09-20 | 2005-02-03 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 電子デバイス |
JP2004164367A (ja) * | 2002-11-14 | 2004-06-10 | Renesas Technology Corp | マルチプロセッサシステム |
JP2006510980A (ja) * | 2002-12-20 | 2006-03-30 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 単一の試験アクセス・ポートを介する複数の試験アクセス・ポート・コントローラの接続 |
JP2007504447A (ja) * | 2003-08-28 | 2007-03-01 | テキサス インスツルメンツ インコーポレイテッド | Jtagポート、タップ・リンク・モジュール及びオフ・チップtapインタフェース・ポートを備えた集積回路 |
JP2006156929A (ja) * | 2004-04-19 | 2006-06-15 | Fujitsu Ltd | 半導体集積回路及びその設計方法 |
WO2007010493A2 (en) * | 2005-07-22 | 2007-01-25 | Nxp B.V. | Testable integrated circuit, system in package and test instruction set |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013545963A (ja) * | 2010-07-29 | 2013-12-26 | 日本テキサス・インスツルメンツ株式会社 | アット・スピード・テストアクセスポート動作の改善 |
US9135132B2 (en) | 2011-09-20 | 2015-09-15 | Samsung Electronics Co., Ltd. | Method of testing a device under test, device under test, and semiconductor test system including the device under test |
JP2014528078A (ja) * | 2011-09-30 | 2014-10-23 | クアルコム,インコーポレイテッド | Tapコントローラの動的に自己再構成可能なデイジーチェーン |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8015462B2 (en) | Test circuit | |
US7426670B2 (en) | Connecting multiple test access port controllers on a single test access port | |
US8645778B2 (en) | Scan test circuitry with delay defect bypass functionality | |
JP2010152939A (ja) | 半導体装置とテスト方法 | |
JP2006220515A (ja) | Jtag試験方式 | |
JP2010159989A (ja) | テスト回路 | |
US20110175638A1 (en) | Semiconductor integrated circuit and core test circuit | |
EP0699920A2 (en) | Semiconductor integrated circuit with a testable block | |
JP2008310792A (ja) | テスト回路 | |
Huang et al. | Low cost hypercompression of test data | |
KR100413763B1 (ko) | 탭드 코아 선택회로를 구비하는 반도체 집적회로 | |
JP2008304986A (ja) | 半導体集積回路 | |
JP2006058273A (ja) | 半導体集積回路 | |
JP2009122009A (ja) | テスト回路 | |
JP2006145307A (ja) | スキャンテスト回路 | |
JP2005257366A (ja) | 半導体回路装置及び半導体回路に関するスキャンテスト方法 | |
JPH06201782A (ja) | 半導体集積回路 | |
JPH11258304A (ja) | システムロジックのテスト回路およびテスト方法 | |
EP1763677A2 (en) | Circuit arrangement and method of testing an application circuit provided in said circuit arrangement | |
US20240137026A1 (en) | Techniques For Storing States Of Signals In Configurable Storage Circuits | |
JP2006162490A (ja) | スキャンテスト回路 | |
JPWO2008120389A1 (ja) | メモリテスト回路、半導体集積回路およびメモリテスト方法 | |
JP5453981B2 (ja) | Lsi、及びそのテストデータ設定方法 | |
JP2005043259A (ja) | スキャンパステスト回路及びその設計方法 | |
JP2006292401A (ja) | テスト構成の半導体集積回路およびそのテスト方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100513 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120613 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120626 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121120 |