JP2011252798A - テスト回路およびテスト回路の制御方法 - Google Patents

テスト回路およびテスト回路の制御方法 Download PDF

Info

Publication number
JP2011252798A
JP2011252798A JP2010126884A JP2010126884A JP2011252798A JP 2011252798 A JP2011252798 A JP 2011252798A JP 2010126884 A JP2010126884 A JP 2010126884A JP 2010126884 A JP2010126884 A JP 2010126884A JP 2011252798 A JP2011252798 A JP 2011252798A
Authority
JP
Japan
Prior art keywords
tap
test
signal
information
control unit
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
JP2010126884A
Other languages
English (en)
Inventor
Tomonori Sasaki
智則 佐々木
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2010126884A priority Critical patent/JP2011252798A/ja
Publication of JP2011252798A publication Critical patent/JP2011252798A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】テスト専用端子の増加を防ぎ、テストの長時間化を防止する。
【解決手段】テストアクセスポートに入力されるテスト信号に応じて、回路ブロックの試験を行うテスト回路であって、第1のTAP制御部及びその制御下にある第2のTAP制御部と、第1のTAP制御部のテスト動作の無効と、記憶情報の書き換えを不可に制御する第1の情報を記憶する第1のレジスタと、第1の情報に応じて記憶情報の書き換えを不可に制御され、第2のTAP制御部のテスト動作の有効・無効の制御する第2の情報を記憶する第2のレジスタと、外部から入力されるTDI信号に応じて前記第1、2のレジスタが書き換え不可状態を解除する制御回路と、を有するテスト回路。
【選択図】図1

Description

本発明は、テスト回路およびテスト回路の制御方法に関するものである。
半導体集積回路の設計では、回路の大規模化に伴い、階層ごとに分けた設計を行う場合がある。その際、DFT(Design for Test)において、下位階層とその上位階層にそれぞれTAP(Test Access Port)コントローラを持つ回路構成となることがある。
このTAPコントローラに外部からテストデータを供給するために、IEEE1149.1に規定されたTAP端子(外部テスト端子)が必要となる。このTAP端子は、テスト専用端子である。このため、複数のTAPコントローラに外部からテストデータを供給するためには複数のTAP端子が必要になる。
しかしながら、近年、チップ面積の減少に伴い、チップの入出力端子数にも制限がある。このため、通常動作時には使用しないテスト専用端子であるTAP端子の増加は、端子数の制限上望まれない。このことから、TAP端子を増やさず、複数のTAPコントローラを制御できる仕組みが望まれる。
例えば、図8に階層ごとにTAPコントローラを有する半導体集積回路1のブロック構成を示す。図8に示すように、半導体集積回路1は、親TAPコントローラ10と、子TAPコントローラ20、30と、データレジスタ11、21、31と、コアロジック12、22、32とを有する。
親TAPコントローラ10は、データレジスタ11、コアロジック12、子TAPコントローラ20、30を制御する。親TAPコントローラ10は、TAP端子41〜44から、それぞれTCK(テストクロック信号)、TMS(テストモードステート信号)、TDI(テストデータイン信号)、TRST(テストリセット信号)が入力される。また、親TAPコントローラ10は、TAP端子45に、TDO(テストデータアウト信号)を出力する。
親TAPコントローラ10は、TCK(テストクロック信号)を動作クロックとし、TMS(テストモードステート信号)の値に応じて所定のシーケンス動作を行う。なお、この所定のシーケンス動作は、IEEE1149.1仕様におけるJTAGのステートに従うものとする。
データレジスタ11は、例えば、バウンダリ・スキャンパスで接続されたバウンダリ・スキャン・レジスタである。この例の場合、データレジスタ11は、TDI(テストデータイン信号)に応じたデータを記憶する。
コアロジック12は、所定の論理動作を行う論理回路である。例えば、バウンダリスキャンテストのとき、データレジスタ11が記憶したTDI(テストデータイン信号)が入力され、論理演算結果をTDO(テストデータアウト信号)として出力する。
親TAPコントローラ10は、選択レジスタ13を有する。選択レジスタ13は、子TAPコントローラ20、30が有効に動作するか否かの設定情報を記憶する。例えば、選択レジスタ13が、子TAPコントローラ20に対する第1の設定情報として「1」を記憶、子TAPコントローラ30に対する第2の設定情報として「0」を記憶する場合、子TAPコントローラ20が有効に動作し、子TAPコントローラ30動作が無効となる。
また、例えば、選択レジスタ13が、第1の設定情報として「0」を記憶、第2の設定情報として「1」を記憶する場合、子TAPコントローラ30が有効に動作し、子TAPコントローラ20動作が無効となる。選択レジスタ13が、第1、第2の設定情報として「1」を記憶する場合、子TAPコントローラ20、30が両方有効に動作する。選択レジスタ13が、第1、第2の設定情報として「0」を記憶する場合、子TAPコントローラ20、30が両方とも動作が無効となる。
なお、ここで、「有効」に動作するとは、例えば子TAPコントローラ20、30が、それぞれ制御下にあるレジスタ21、31、及び、コアロジック22、32に対して、入力されたTDIで、TCK、TMSに応じたテストを行うことが可能な状態のことを示すものとする。また、動作が「無効」となるとは、テストを行うことが不可能な状態のことを示すものとする。また、親TAPコントローラ10や、後述する各TAP制御部についても同様である。以下、本明細書で同様とする。
選択レジスタ13が記憶する値の設定は、TMS(テストモードステート信号)に応じて、TDI(テストデータイン信号)により書き込み、及び、書き換えが行われる。
子TAPコントローラ20、30は、それぞれデータレジスタ21、31、コアロジック22、32を制御する。子TAPコントローラ20、30は、それぞれ親TAPコントローラ10と同様、TCK(テストクロック信号)を動作クロックとし、TMS(テストモードステート信号)の値に応じて所定のシーケンス動作を行う。また、上述したように、親TAPコントローラ10が有する選択レジスタ13の記憶する値に応じて、テスト動作の有効、無効が制御される。
データレジスタ21、31は、それぞれデータレジスタ11と同様、例えば、バウンダリ・スキャンパスで接続されたバウンダリ・スキャン・レジスタであり、TDI(テストデータイン信号)に応じたデータを記憶する。
コアロジック22、32は、所定の論理動作を行う論理回路である。例えば、バウンダリスキャンテストのとき、それぞれデータレジスタ21、31が記憶したTDI(テストデータイン信号)が入力され、論理演算結果をTDO(テストデータイン信号)として出力する。
なお、図8では、親TAPコントローラ10、子TAPコントローラ20、30を並列接続としているが、親TAPコントローラ10、子TAPコントローラ20、30を直列接続としてもよい。但し、この場合、テスト動作が無効となったTAPコントローラをバイパスする回路構成が必要となる。
なお、TAP端子を増加させずに階層化した複数のTAPコントローラを制御する技術が特許文献1、2に開示されている。
特開2009−128109号公報 特表2005−527918号公報
ここで、従来の半導体集積回路1において、テストの対象として、子TAPコントローラ20、30を選択し、親TAPコントローラ10を選択しない場合を考える。この場合、上述したように、親TAPコントローラ10が有効状態のとき、入力されたTDI(テストデータイン信号)により選択レジスタ13に第1、第2の設定情報を共に「1」を書き込む。その後、親TAPコントローラ10は、TAP端子41〜43に入力されるTDI、TCK、TMSの各信号に対して反応しないように、自身の動作を無効状態とする。無効状態となった親TAPコントローラ10は、TAP端子44からTRST(テストリセット信号)が入力されるまでは、入力信号を一切受け付けなくなる。そして、親TAPコントローラ10が無効状態となった後は、有効状態の子TAPコントローラ20、30がTDI、TCK、TMSに応じて、テストを行う。そして、そのテスト結果であるTDOを出力する。
しかし、ここで、親TAPコントローラ10が無効状態となることから、選択レジスタ13が記憶する設定値も固定される。このため、例えば、子TAPコントローラ20、30をリセットしたり、有効状態から無効状態、逆に無効状態から有効状態としたい場合、一度、親TAPコントローラ10を有効状態に復帰させる必要がある。但し、親TAPコントローラ10の動作を有効状態に復帰するためには、TAP端子44からTRST(テストリセット信号)が入力され、親TAPコントローラ10、子TAPコントローラ20、30を含めた半導体集積回路1全体に対してリセットをかける必要がある。
そして、その後、動作が有効となった親TAPコントローラ10に対して、TDI(テストデータイン信号)により、選択レジスタ13に新たな設定情報を書き込む。つまり、無効としたい子TAPコントローラに対応する設定情報を「0」、有効としたい子TAPコントローラに対応する設定情報を「1」とする。そして、再度、親TAPコントローラ10を無効状態とする。このように、従来の半導体集積回路1では、子TAPコントローラの有効、無効を設定するために、親TAPコントローラ10を無効状態から有効状態に復帰させ、選択レジスタ13に新たな設定情報を書き込む必要があり、テスト時間が長期化する問題がある。
この問題を解決するためには、図9の半導体集積回路2に示すように、子TAPコントローラ20、30にそれぞれ独立したリセット信号RST1、RST2を用意すればよい。このリセット信号RST1、RST2に応じて、子TAPコントローラ20、30をそれぞれ単独でリセットし、無効状態となるよう制御すればよい。しかし、半導体集積回路2では、リセット信号RST1、RST2が入力されるための専用の外部端子51、52が必要となる。
しかし、テスト専用端子の増加は、上述したように端子数の制限上望まれない。このことから、TAP端子を増やさず、更には、テスト時間の増加を伴わず階層化された複数のTAPコントローラを制御できる仕組みが望まれる。
なお、特許文献1でも親TAPコントローラと、複数の子TAPコントローラと、親TAPコントローラと子TAPコントローラのいずれかを1つを有効、または無効とする複数のラッチ回路を有する技術が開示されている。しかし、この特許文献1に開示される技術でも、ラッチ回路によりテスト対象となる子TAPコントローラを選択した後は、図8の半導体集積回路1と同様、親TAPコントローラが入力信号を一切受け付けなくなる。このため、TRSTによりリセットをかけないと親TAPコントローラが有効状態に復帰できない。そして、このリセットにより同時に子TAPコントローラもリセットされ、新しい設定にてテストを行うためには、再度TAP設定を行わなければならなくなる。このため、やはり半導体集積回路1と同様、テスト時間が長くなってしまう問題がある。
なお、特許文献1でも、テスト対象に選択した子TAPコントローラに対してリセット信号が入力させる外部端子を用意することで、テスト時間の長期化の問題が解決するが、上述した半導体集積回路2と同様、端子数が増加する問題が新たに発生する。
本発明の一態様は、IEEE(Institute of Electrical and Electronics Engineers)1149.1にて規定されるテストアクセスポートを備え、前記テストアクセスポートに入力されるテスト信号に応じて、回路ブロックの試験を行うテスト回路であって、前記試験に応じたテスト信号が入力される第1のTAP制御部と、前記第1のTAP制御部により制御され、前記テスト信号が入力される第2のTAP制御部と、を備え、前記第1のTAP制御部は、記憶する第1の情報が第1の値である場合、前記第1のTAP制御部の前記テスト信号に応じた動作を有効とし、且つ、前記テスト信号のTDI情報のデータに応じて前記第1の情報を書き換え可能とし、前記第1の情報が第2の値である場合、前記第1のTAP制御部の前記テスト信号に応じた動作を無効とし、且つ、記憶する前記第1の情報を書き換え不可とするTAP設定レジスタと、前記第1の情報が第1の値である場合、前記テスト信号のTDI情報のデータに応じて、記憶する第2の情報を書き換え可能とし、前記第1の情報が第2の値である場合、記憶する前記第2の情報を書き換え不可とし、前記第2のTAP制御部に対して前記テスト信号に応じた動作を有効とするための第1の制御値を前記第2の情報として記憶するTAP選択レジスタと、前記TAP設定レジスタの記憶する前記第1の情報が前記第2の値である場合でも、前記テスト信号のTDI情報の所定のインストラクションに応じて、前記TAP選択レジスタとTAP設定レジスタの記憶する前記第1、第2の情報を書き換え可能とするインストラクション制御回路と、を有するテスト回路である。
本発明の他の態様は、IEEE(Institute of Electrical and Electronics Engineers)1149.1にて規定されるテストアクセスポートを備え、前記テストアクセスポートに入力されるテスト信号に応じて、回路ブロックの試験を行うテスト回路の制御方法であって、前記テスト回路は、第1の情報を記憶するTAP設定レジスタと、第2の情報を記憶するTAP選択レジスタとを有し、前記試験に応じたテスト信号が入力される第1のTAP制御部と、前記第1のTAP制御部により制御され、前記テスト信号が入力される第2のTAP制御部と、を備え、第2の情報に基づき、前記第2のTAP制御部に対して前記テスト信号に応じた動作の有効もしくは無効を設定し、前記第1の情報が第1の値である場合、前記第1のTAP制御部の前記テスト信号に応じた動作を有効とし、且つ、前記テスト信号のTDI情報に応じて前記第1、第2の情報を書き換え可能とし、もしくは、前記第1の情報が第2の値である場合、前記第1のTAP制御部の前記テスト信号に応じた動作を無効とし、且つ、前記第1、第2の情報を書き換え不可とし、前記テスト信号のTDI情報のインストラクションにより生成される第1の制御信号に応じて、前記第1の情報が前記第2の値であっても、前記TAP選択レジスタとTAP設定レジスタの記憶する前記第1、第2の情報を書き換え可能とするテスト回路の制御方法である。
本発明にかかるテスト回路は、第1のTAP制御部が自身のテスト動作の有効/無効を制御する第1の情報を記憶するTAP設定レジスタと、第1のTAP制御部の制御下にある第2のTAP制御部のテスト動作の有効/無効を制御する第2の情報を記憶するTAP選択レジスタとを有している。このTAP設定レジスタの記憶する第1の情報が第2の値(例えば、「1」)である場合は、TAP設定レジスタ、TAP選択レジスタの保持する値を書き換えることが不可となり、且つ、第1のTAP制御部のテスト動作が無効となり、実質的にリセット状態と同様の状態なる。
しかし、所定のインストラクションを有するTDI情報に応じて、インストラクション制御回路が、TAP選択レジスタとTAP設定レジスタの記憶する第1、第2の情報を書き換え可能とすることがきる。このことで、例えば、TAP選択レジスタの第2の情報をTDI情報のデータレジスタ用データにより書き換えることで、第2のTAP制御部のテスト動作の有効/無効を切り替えることができる。また、例えば、TAP設定レジスタの第1の情報をTDI情報のデータレジスタ用データにより書き換えることで、第1のTAP制御部のテスト動作の有効/無効を切り替えることができる。このため、第1、第2のTAP制御部のテスト動作の有効/無効を切り替えたい場合、テスト回路全体にリセットをかける必要がなく、従来技術で問題となっていたテスト期間の長期化を防ぐことができる。また、第2の制御部のテスト状態を有効から無効にするリセット信号を専用に用意する必要がないため、端子数の増加も防ぐことができる。
本発明は、テスト用外部端子数の増加を防ぎつつ、テスト時間の長期化を防止することが可能となる。
実施の形態1にかかる半導体集積回路のブロック構成である。 実施の形態1にかかる親TAP制御部のブロック構成である。 一般的なTAPコントローラの状態遷移図である。 実施の形態1にかかる半導体集積回路のより詳細なブロック構成である。 実施の形態1にかかる半導体集積回路の動作フローチャートである。 実施の形態2にかかる半導体集積回路のブロック構成である。 実施の形態3にかかる半導体集積回路のブロック構成の一部である。 従来の半導体集積回路のブロック構成である。 従来の半導体集積回路のブロック構成である。
発明の実施の形態1
以下、本発明を適用した具体的な実施の形態1について、図面を参照しながら詳細に説明する。この実施の形態1は、本発明をIEEE(Institute of Electrical and Electronics Engineers)1149.1にて規定されるテストアクセスポート(TAP)を有し、そのテストアクセスポートに入力されるテスト信号に応じて、回路ブロックのテストを行うテスト回路に適用したものである。
図1に本実施の形態1にかかるテスト回路を備える半導体集積回路100のブロック構成の一例を示す。図1に示すように、半導体集積回路100は、親TAP制御部110と、子TAP制御部120、130と、データレジスタ111、121、131と、コアロジック112、122、132とを有する。
親TAP制御部110は、データレジスタ111、コアロジック112、子TAP制御部120、130を制御する。親TAP制御部110は、TAP端子141〜144から、それぞれTCK(テストクロック信号)、TMS(テストモードステート信号)、TDI(テストデータイン信号)、TRST(テストリセット信号)が入力される。また、親TAP制御部110は、TAP端子145に、TDO(テストデータアウト信号)を出力する。なお、TRSTが入力されるTAP端子144は、必須の構成要素ではなく、削除可能である。
親TAP制御部110は、IEEE Std 1149.1(JTAG)で規定されたシーケンスマップに従って動作するTAPコントローラ116(後述)を有している。そして、TCK(テストクロック信号)を動作クロックとし、TMS(テストモードステート信号)の値に応じて、IEEE1149.1仕様におけるJTAGのステートに従った所定のシーケンス動作を行う。
例えば、TAPコントローラ116の状態遷移がインストラクションレジスタ(IR)設定状態である場合、TDI(テストデータイン信号)が有するインストラクション(命令)をインストラクションレジスタに取り込む。なお、これ以降、特にことわらない限り、TDI(テストデータイン信号)が有するインストラクションデータをインストラクションレジスタが取り込む場合は、TAPコントローラ116の状態遷移がインストラクションレジスタ(IR)設定状態であるとする。
また、例えば、TAPコントローラ116の状態遷移がデータレジスタ(DR)設定状態である場合、TDI(テストデータイン信号)が有するデータをデータレジスタに取り込む。なお、これ以降、特にことわらない限り、TDI(テストデータイン信号)が有するデータをデータレジスタが取り込む場合は、TAPコントローラ116の状態遷移がデータレジスタ(DR)設定状態であるとする。
更に、親TAP制御部110は、子TAP制御部120、130に対して、TCK_OUT(テストクロック信号)、TMS_OUT(テストモードステート信号)、TDI_OUT(テストデータイン信号)、TRST_OUT(テストリセット信号)を出力する。なお、TMS_OUT(テストモードステート信号)、TDI_OUT(テストデータイン信号)、TRST_OUT(テストリセット信号)は、それぞれ親TAP制御部110に入力されるTMS(テストモードステート信号)、TDI(テストデータイン信号)、TRST(テストリセット信号)をスルーして出力する。
なお、上述したようにTAP端子144が削除され、親TAP制御部110がTRST(テストリセット信号)をスルーできない場合は、TCK(テストクロック信号)、TMS(テストモードステート信号)の組み合わせにより、TRST_OUT(テストリセット信号)を生成するようにしてもよい。例えば、TCK(テストクロック信号)5クロック分、TMS(テストモードステート信号)をハイレベルとすることでTRST_OUT(テストリセット信号)を生成する。
データレジスタ111は、例えば、バウンダリ・スキャンパスで接続されたバウンダリ・スキャン・レジスタである。この例の場合、データレジスタ111は、TDI(テストデータイン信号)に応じたデータを記憶する。また、バウンダリスキャンテストにより、コアロジック112から出力された論理演算結果を記憶し、TDO(テストデータアウト信号)として出力する。
コアロジック112は、所定の論理動作を行う論理回路である。例えば、バウンダリスキャンテストのとき、データレジスタ111が記憶したTDI(テストデータイン信号)が入力され、論理演算結果をデータレジスタ111に出力する。
親TAP制御部110は、子TAP選択レジスタ113と、親TAP設定レジスタ114と、インストラクション制御回路115とを有する。
子TAP選択レジスタ113は、子TAP制御部120、130が有効に動作するか否かの設定情報を記憶する。例えば、子TAP選択レジスタ113が、子TAP制御部120に対する第1の設定情報として「1」を記憶、子TAP制御部130に対する第2の設定情報として「0」を記憶する場合、子TAP制御部120が有効に動作し、子TAP制御部130動作が無効となる。
また、例えば、子TAP選択レジスタ113が、第1の設定情報として「0」を記憶、第2の設定情報として「1」を記憶する場合、子TAP制御部130が有効に動作し、子TAP制御部120動作が無効となる。子TAP選択レジスタ113が、第1、第2の設定情報として「1」を記憶する場合、子TAP制御部120、130が両方有効に動作する。子TAP選択レジスタ113が、第1、第2の設定情報として「0」を記憶する場合、子TAP制御部120、130が両方とも動作が無効となる。
なお、子TAP選択レジスタ113が記憶する設定情報の数は、半導体集積回路100が備える子TAP制御部の数に応じて増加する。本例では、子TAP制御部が2個であるため、子TAP選択レジスタ113が記憶する設定情報の数も2個となる。
親TAP設定レジスタ114は、親TAP制御部110が有効に動作するか否かの設定情報を記憶する。例えば、親TAP設定レジスタ114が「0」を記憶している場合、親TAP制御部110が有効に動作する。一方、親TAP設定レジスタ114が「1」を記憶している場合、親TAP制御部110の動作が無効となる。なお、親TAP制御部110の動作が無効の場合、子TAP選択レジスタ113及び親TAP設定レジスタ114の書き換えが不可となる。但し、後述するインストラクション制御回路115からの制御信号(後述する第1の制御信号)により、親TAP設定レジスタ114の書き換えが可能となる。
インストラクション制御回路115は、TAP端子141から入力されるTDIが有するインストラクション(命令)に応じて、後述する第1の制御信号を出力する。この第1の制御信号により、無効状態の親TAP制御部110において、親TAP設定レジスタ114が、書き換え可能な状態となる。
子TAP制御部120、130は、それぞれデータレジスタ121、131、コアロジック122、132を制御する。子TAP制御部120、130は、それぞれ親TAP制御部110からTCK_OUT(テストクロック信号)、TMS_OUT(テストモードステート信号)、TDI_OUT(テストデータイン信号)、TRST_OUT(テストリセット信号)が入力される。
この子TAP制御部120、130は、TCK_OUT(テストクロック信号)を動作クロックとし、TMS_OUT(テストモードステート信号)の値に応じて親TAP制御部110と同様、所定のシーケンス動作を行う。更に、TRST_OUT(テストリセット信号)によりリセットされる。また、親TAP制御部110が有する選択レジスタ113の記憶する第1、第2の設定値に応じて、テスト動作の有効、無効が制御される。
データレジスタ121、131は、それぞれデータレジスタ111と同様、例えば、バウンダリ・スキャンパスで接続されたバウンダリ・スキャン・レジスタであり、TDI_OUT(テストデータイン信号)に応じたデータを記憶する。
コアロジック122、132は、所定の論理動作を行う論理回路である。例えば、バウンダリスキャンテストのとき、それぞれデータレジスタ121、131が記憶したTDI_OUT(テストデータイン信号)が入力され、論理演算結果をTDO(テストデータイン信号)として出力する。
なお、図1では、親TAP制御部110の制御下にある子TAP制御部120、130及びデータレジスタ111が、親TAP制御部110に対して並列接続の関係となっているが、直列接続となっていてもよい。なお、後述する図4の半導体集積回路100の構成は、子TAP制御部120、130及びデータレジスタ111が、直列接続の構成であるとする。
図2に親TAP制御部110の詳細なブロック構成を示す。図2に示すように、親TAP制御部110は、子TAP選択レジスタ113と、親TAP設定レジスタ114と、インストラクション制御回路115と、TAPコントローラ116と、AND回路AND111〜AND116と、OR回路OR111と、マルチプレクサMUX111、MUX112とを有する。なお、子TAP選択レジスタ113と、親TAP設定レジスタ114は共にシフトレジスタである。
インストラクション制御回路115は、インストラクションレジスタ117と、インストラクションデコーダ118とを有する。インストラクションレジスタ117は、シフトレジスタである。
TAPコントローラ116は、TCK(テストクロック信号)とTMS(テストモードステート信号)の組み合わせにより、状態が変化するステートマシンである。このTAPコントローラ116は、図3に示すシーケンスマップに従って動作する。なお、図3に示すシーケンスマップに関しては、IEEE Std 1149.1(JTAG)で規定されており、公知であるため詳細な説明は省略する。
TAPコントローラ116は、CLKDR、SHIFTDR、UPDDR、RB、CLKIR_EN、CLKIR、SHIFTIR、UPDIRを出力する。CLKIR、SHIFTIR、UPDIR、CLKIR_ENは、TAPコントローラ116の状態遷移がインストラクションレジスタ(IR)設定状態の場合に出力される。また、CLKDR、SHIFTDR、UPDDR、RBは、TAPコントローラ116の状態遷移がデータレジスタ(DR)設定状態の場合に出力される。
各信号を簡単に説明すると、CLKDRは、親TAP設定レジスタ114、子TAP選択レジスタ113のシフトレジスタの動作クロックである。SHIFTDRは、CLKDRの立ち上がりエッジで、シフトレジスタ内の1ビットシフトを実行させる信号である。UPDDRは、CLKDRの立ち下がりエッジで、シフトレジスタの値を出力ラッチにセット(アップデート)させる。RBは、シフトレジスタのリセット信号である。
CLKIRは、インストラクションレジスタ117、インストラクションデコーダ118の動作クロックである。SHIFTIRは、CLKIRの立ち上がりエッジで、シフトレジスタ内の1ビットシフトを実行させる信号である。UPDIRは、CLKIRの立ち下がりエッジで、シフトレジスタの値を出力ラッチにセット(アップデート)させる。CLKIR_ENは、TDIが有するインストラクション(命令)をインストラクションレジスタ117に取り込む場合に、「1」となる信号である。
インストラクションレジスタ117は、TDIが有するインストラクション(命令)を記憶する。インストラクションデコーダ118は、インストラクションレジスタ117が記憶したインストラクション(命令)に応じたデータ信号を出力する。このデータ信号のうち所定の1ビットをそれぞれ第1、第2の制御信号とし、その他のビットを第3の制御信号とする。例えば、インストラクションデコーダ118が出力するデータ信号が10ビットであるとすると、LBSを第1の制御信号、LBSから2ビット目を第2の制御信号、3ビット目〜MBSを第3の制御信号とする。
インストラクションレジスタ117、インストラクションデコーダ118は、CLKIRに応じて動作する。例えば、インストラクションレジスタ117は、SHIFTIRが活性化している場合、CLKIRに応じたシフト動作により、入力されるTDIを記憶する。そして、UPDIRに応じてアップデート動作を行う。
AND回路AND111は、一方の入力端子にCLKDRが入力され、他方の入力端子にノードN1に印加される信号の反転信号が入力される。そして、積演算した演算結果を出力信号として出力する。つまり、ノードN1に印加される信号が「0」の場合、AND回路AND111は、CLKDRを伝達するスルー回路となる。一方、ノードN1に印加される信号が「1」の場合、AND111は、CLKDRを伝達せず、「0」に固定された信号を出力する。
AND回路AND112は、一方の入力端子にAND回路AND111の出力信号が入力され、他方の入力端子に第2の制御信号が入力される。そして、積演算した演算結果を出力信号として出力する。つまり、第2の制御信号が「1」の場合、AND回路AND112は、AND回路AND111の出力信号を伝達するスルー回路となる。一方、第2の制御信号が「0」の場合、AND回路AND111の出力信号を伝達せず、「0」に固定された信号を出力する。
AND回路AND113は、一方の入力端子にUPDDRが入力され、他方の入力端子にノードN1に印加される信号の反転信号が入力される。そして、積演算した演算結果を出力信号として出力する。つまり、ノードN1に印加される信号が「0」の場合、AND回路AND113は、UPDDRを伝達するスルー回路となる。一方、ノードN1に印加される信号が「1」の場合、AND111は、UPDDRを伝達せず、「0」に固定された信号を出力する。
AND回路AND114は、一方の入力端子にAND回路AND113の出力信号が入力され、他方の入力端子に第2の制御信号が入力される。そして、積演算した演算結果を出力信号として出力する。つまり、第2の制御信号が「1」の場合、AND回路AND114は、AND回路AND113の出力信号を伝達するスルー回路となる。一方、第2の制御信号が「0」の場合、AND回路AND113の出力信号を伝達せず、「0」に固定された信号を出力する。
AND回路AND115は、一方の入力端子にノードN2に印加される信号が入力され、他方の入力端子に第1の制御信号の反転信号が入力される。そして、積演算した演算結果を出力信号としてノードN1へ出力する。
AND回路AND116は、一方の入力端子にノードN2に印加される信号の反転信号が入力され、その他の入力端子に第3の制御信号が入力される。そして、積演算した演算結果をテスト制御信号として出力する。つまり、ノードN2に印加される信号が「0」の場合、AND回路AND116は、第3の制御信号を伝達するスルー回路となる。この第3の制御信号は、例えばデータレジスタ111やコアロジック112の制御を行うテスト制御信号となる。一方、ノードN2に印加される信号が「1」の場合、第3の制御信号を伝達せず、「0」に固定された信号を出力する。
OR回路OR111は、一方の入力端子にノードN2に印加される信号が入力され、他方の入力端子にCLKIR_ENが入力される。そして、和演算した演算結果をTAP_SWとして出力する。つまり、CLKIR_ENが「0」の場合、ノードN2に印加される信号を伝達するスルー回路となる。一方、CLKIR_ENが「1」の場合、ノードN2に印加される信号を伝達せず、「1」に固定された信号を出力する。
マルチプレクサMUX111は、一方の入力端子にTDO_INが入力され、他方の入力端子に子TAP選択レジスタ113から伝達されるTDIが入力される。そして、第2の制御信号に応じて、一方もしくは他方の入力端子に入力される信号のどちらかを選択して、出力する。例えば、第2の制御信号が「0」の場合、TDO_INを選択して、出力し、第2の制御信号が「1」の場合、子TAP選択レジスタ113から伝達されるTDIを選択して、出力する。なお、TDO_INは、データレジスタ111、子TAP制御部120もしくは130から出力されるTDOである。
マルチプレクサMUX112は、一方の入力端子にマルチプレクサMUX111からの出力信号が入力され、他方の入力端子にインストラクションレジスタ117から伝達されるTDIが入力される。そして、第4の制御信号に応じて、一方もしくは他方の入力端子に入力される信号のどちらかを選択して、TDOとして出力する。例えば、第4の制御信号が「0」の場合、マルチプレクサMUX111からの出力信号を選択して、出力し、第4の制御信号が「1」の場合、インストラクションレジスタ117から伝達されるTDIを選択して、出力する。なお、第4の制御信号は、インストラクションデコーダ118からの信号であってもよいし、独立した信号であってもよい。
親TAP設定レジスタ114及び子TAP選択レジスタ113は、それぞれAND回路AND112、AND114の出力信号、SHIFTDR、RBが入力される。そして、親TAP設定レジスタ114は、記憶する情報をノードN2に出力する。子TAP選択レジスタ113は、記憶する第1の設定情報をTAP1_ENとして出力し、記憶する第2の設定情報をTAP2_ENとして出力する。
親TAP設定レジスタ114及び子TAP選択レジスタ113は、それぞれAND回路AND113がCLKDRを出力する場合、そのCLKDRに応じて動作する。例えば、SHIFTDRが活性化している場合、CLKDRに応じてビットシフトが実行され、入力されるTDIを記憶する。また、親TAP設定レジスタ114及び子TAP選択レジスタ113は、それぞれAND回路AND113がUPDDRを出力する場合、そのUPDDRに応じてアップデート動作を行う。
なお、本例では、親TAP設定レジスタ114及び子TAP選択レジスタ113を別レジスタとしているが、1つのレジスタで構成してもよい。この場合、レジスタの所定のビット桁がそれぞれノードN2に出力する信号、TAP1_EN、TAP2_ENとなる。
親TAP制御部110は、TAP端子141、142、143、144から入力されるTDI、TMS、TCK、TRSTをそれぞれ、TDI_OUT、TMS_OUT、TCK_OUT、TRST_OUTとして出力する。なお、上述したように、TAP端子144が削除される場合は、TRSTを入力しない。
図4に半導体集積回路100の更に詳細な構成を示す。図4に示すように、半導体集積回路100は、親TAP制御部110、子TAP制御部120、130の他にも、AND回路AND151〜AND156と、OR回路OR151と、マルチプレクサMUX151〜MUX154とを有する。なお、上記AND回路AND151〜AND156、OR回路OR151、マルチプレクサMUX151〜MUX154は、親TAP制御部110が有していてもよい。
子TAP制御部120、130は、それぞれ親TAP制御部110と同様、TAPコントローラやインストラクションレジスタ、インストラクションデコーダ等を有する。そして、上述したようにデータレジスタ121、131、コアロジック122、132を制御する。なお、図4では、コアロジック122、132を省略している。
子TAP制御部120、130は、それぞれ親TAP制御部110からのTCK_OUT(テストクロック信号)、TMS_OUT(テストモードステート信号)、TDI_OUT(テストデータイン信号)、TRST_OUT(テストリセット信号)が、それぞれTCK(テストクロック信号)、TMS(テストモードステート信号)、TDI(テストデータイン信号)、TRST (テストリセット信号)として入力される。
子TAP制御部120、130が備えるTAPコントローラは、それぞれTCK_OUT(テストクロック信号)を動作クロックとし、TMS_OUT(テストモードステート信号)の値に応じてTAPコントローラ116と同様の所定のシーケンス動作を行う。
例えば、データレジスタ121が、バウンダリ・スキャンパスで接続されたバウンダリ・スキャン・レジスタである場合、TAPコントローラの状態遷移がデータレジスタ(DR)設定状態のとき、TDI_OUTのデータをシフトインし、データレジスタ121に記憶させたり、バウンダリスキャンテストの結果を記憶したデータレジスタ121をシフトアウトさせTDOとして出力する。また、TAPコントローラの状態遷移がインストラクションレジスタ(IR)設定状態のとき、TDI_OUTのインストラクション(命令)をシフトインし、インストラクションレジスタに記憶させる。また、TRST_OUT(テストリセット信号)により、子TAP制御部120、130をリセットする。
AND回路AND151は、一方の入力端子にTDI_OUTが入力され、他方の入力端子にTAP1_ENが入力される。そして、積演算した演算結果を出力信号として出力する。つまり、TAP1_ENが「1」の場合、AND回路AND151は、TDI_OUTを伝達するスルー回路となる。一方、TAP1_ENが「0」の場合、TDI_OUTを伝達せず、「0」に固定された信号を出力する。子TAP制御部120は、このAND回路AND151の出力信号をTDIとして入力される。
AND回路AND152は、一方の入力端子にTRST_OUTが入力され、他方の入力端子にTAP1_ENが入力される。そして、積演算した演算結果を出力信号として出力する。つまり、TAP1_ENが「1」の場合、AND回路AND152は、TRST_OUTを伝達するスルー回路となる。一方、TAP1_ENが「0」の場合、TRST_OUTを伝達せず、「0」に固定された信号を出力する。子TAP制御部120は、このAND回路AND152の出力信号をTRSTとして入力される。
なお、TAP1_ENが「1」で、AND回路AND151、AND152が、それぞれTDI_OUT、TRST_OUTをスルーする場合を子TAP制御部120に入力されるTDI、TRSTが有効となっていると称す。
マルチプレクサMUX151は、一方の入力端子に子TAP制御部120から出力されたTDOが入力され、他方の入力端子にTDI_OUT(テストデータイン信号)が入力される。そして、TAP1_ENに応じて、一方もしくは他方の入力端子に入力される信号のどちらかを選択して、出力する。例えば、TAP1_ENが「0」の場合、TDI_OUT(テストデータイン信号)を選択して、出力し、TAP1_ENが「1」の場合、子TAP制御部120のTDOを選択して、データレジスタ111へ出力する。
マルチプレクサMUX152は、一方の入力端子にデータレジスタ111からの出力信号が入力され、他方の入力端子にTDI_OUT(テストデータイン信号)が入力される。そして、TAP_SWに応じて、一方もしくは他方の入力端子に入力される信号のどちらかを選択して、出力する。例えば、TAP_SWが「1」の場合、TDI_OUT(テストデータイン信号)を選択して、出力し、TAP_SWが「0」の場合、データレジスタ111からの信号を選択して、出力する。
AND回路AND153は、一方の入力端子にマルチプレクサMUX152からの出力信号が入力され、他方の入力端子にTAP2_ENが入力される。そして、積演算した演算結果を出力信号として出力する。つまり、TAP2_ENが「1」の場合、AND回路AND153は、マルチプレクサMUX152が出力した信号を伝達するスルー回路となる。一方、TAP2_ENが「0」の場合、マルチプレクサMUX152が出力した信号を伝達せず、「0」に固定された信号を出力する。子TAP制御部130は、このAND回路AND153の出力信号をTDIとして入力される。
AND回路AND154は、一方の入力端子にTRST_OUTが入力され、他方の入力端子にTAP2_ENが入力される。そして、積演算した演算結果を出力信号として出力する。つまり、TAP2_ENが「1」の場合、AND回路AND154は、TRST_OUTを伝達するスルー回路となる。一方、TAP1_ENが「0」の場合、TRST_OUTを伝達せず、「0」に固定された信号を出力する。子TAP制御部130は、このAND回路AND154の出力信号をTRSTとして入力される。
なお、TAP2_ENが「1」で、AND回路AND153、AND154が、それぞれTDI_OUT、TRST_OUTをスルーする場合を子TAP制御部130に入力されるTDI、TRSTが有効となっていると称す。
マルチプレクサMUX153は、一方の入力端子に子TAP制御部120のTDOが入力され、他方の入力端子にマルチプレクサMUX152が出力した信号が入力される。そして、TAP2_ENに応じて、一方もしくは他方の入力端子に入力される信号のどちらかを選択して、出力する。例えば、TAP2_ENが「0」の場合、マルチプレクサMUX152が出力した信号を選択して、出力し、TAP2_ENが「1」の場合、子TAP制御部130のTDOを選択して、マルチプレクサMUX154の一方の入力端子へ出力する。
AND回路AND155は、一方の入力端子にTAP1_ENが入力され、他方の入力端子に子TAP制御部120のTDOが入力される。そして、積演算した演算結果を出力信号として出力する。つまり、TAP1_ENが「1」の場合、AND回路AND155は、子TAP制御部120のTDOを伝達するスルー回路となる。一方、TAP1_ENが「0」の場合、子TAP制御部120のTDOを伝達せず、「0」に固定された信号を出力する。
AND回路AND156は、一方の入力端子にTAP2_ENが入力され、他方の入力端子に子TAP制御部130のTDOが入力される。そして、積演算した演算結果を出力信号として出力する。つまり、TAP2_ENが「1」の場合、AND回路AND156は、子TAP制御部130のTDOを伝達するスルー回路となる。一方、TAP2_ENが「0」の場合、子TAP制御部130のTDOを伝達せず、「0」に固定された信号を出力する。
OR回路OR151は、一方の入力端子にAND回路AND155の出力信号が入力され、他方の入力端子にAND回路AND156の出力信号が入力される。そして、和演算した演算結果を出力信号として、マルチプレクサMUX154の他方の入力端子へ出力する。
マルチプレクサMUX154は、一方の入力端子にマルチプレクサMUX153の出力信号が入力され、他方の入力端子にOR回路OR151の出力信号が入力される。そして、TAP_SWに応じて、一方もしくは他方の入力端子に入力される信号のどちらかを選択して、TDO_INとして親TAP制御部110へ出力する。例えば、TAP_SWが「0」の場合、マルチプレクサMUX153の出力信号を選択して、出力し、TAP_SWが「1」の場合、OR回路OR151の出力信号を選択して、出力する。
以下、親TAP制御部110の動作及びそれに伴う半導体集積回路100全体の動作を説明する。図5に動作フローチャートを示す。
図5に示すように、まず、親TAP制御部110のTAPコントローラ116の状態遷移をインストラクションレジスタ(IR)設定状態とする。そして、TDIにより、子TAP選択レジスタ113、親TAP設定レジスタ114の設定を可能とする所定のインストラクションを指定する(S101)。この場合、インストラクションデコーダ118は、「1」の値の第1の制御信号を出力する。なお、第2の制御信号は、子TAP選択レジスタ113、親TAP設定レジスタ114の値を変えずに後述する他のデータレジスタの値を変えたいときに値を「0」とする制御信号である。本実施の形態1では、特にことわらない限り第2の制御信号の値は「1」となっているものとする。
上述したように、第1の制御信号が「1」となることから、AND回路AND115の他方の入力端子に第1の制御信号の反転信号、つまり「0」が入力される。よって、AND回路AND115は、ノードN1に「0」を出力する。この結果、AND回路AND111、AND113はスルー回路となる。一方、第2の制御信号が「1」となることから、AND回路AND112、AND114もスルー回路となる。よって、CLKDR、UPDDRが親TAP設定レジスタ114及び子TAP選択レジスタ113に供給され、親TAP設定レジスタ114及び子TAP選択レジスタ113は、記憶する値が書き換え可能な状態となる。
次に、TAPコントローラ116の状態遷移をデータレジスタ(DR)設定状態とする。そして、TAP端子141から入力されたTDIにより、所定の値を子TAP選択レジスタ113、親TAP設定レジスタ114に記憶させ、レジスタをセットする(S102)。
例えば、親TAP制御部110、子TAP制御部120のテスト動作を有効、子TAP制御部130のテスト動作を無効にしたい場合、親TAP設定レジスタ114に記憶させる値を「0」、子TAP選択レジスタ113に記憶させる第1の設定情報を「1」、第2の設定情報を「0」となるよう、TDIのデータを指定する。
また、親TAP制御部110、子TAP制御部130のテスト動作を有効、子TAP制御部120のテスト動作を無効にしたい場合、親TAP設定レジスタ114に記憶させる値を「0」、子TAP選択レジスタ113に記憶させる第1の設定情報を「0」、第2の設定情報を「1」となるよう、TDIのデータを指定する。
更に、例えば、親TAP制御部110、子TAP制御部120のテスト動作を無効、子TAP制御部130のテスト動作を有効にしたい場合、親TAP設定レジスタ114に記憶させる値を「1」、子TAP選択レジスタ113に記憶させる第1の設定情報を「0」、第2の設定情報を「1」となるよう、TDIのデータを指定する。
また、親TAP制御部110、子TAP制御部130のテスト動作を無効、子TAP制御部120のテスト動作を有効にしたい場合、親TAP設定レジスタ114に記憶させる値を「1」、子TAP選択レジスタ113に記憶させる第1の設定情報を「1」、第2の設定情報を「0」となるよう、TDIのデータを指定する。
なお、図4の半導体集積回路100の回路構成では、子TAP制御部120、130のテスト動作を同時に有効にする場合を想定していない。但し、適切な回路構成とすることで、子TAP制御部120、130のテスト動作を同時に有効にする場合も可能である。この場合、子TAP選択レジスタ113に記憶させる第1、第2の設定情報を共に「1」となるよう、TDIのデータを指定する。
上記のように親TAP制御部110を無効にする、つまり親TAP設定レジスタ114の値を「1」とした場合、ノードN2に印加される信号の値が「1」である。このため、AND回路AND115の一方の入力端子に「1」が入力され、第1の制御信号が「0」になれば、AND回路AND115は、ノードN1に「1」を出力する。
ノードN1に印加される信号が「1」であるため、AND回路AND111、AND113は、「0」に固定された値を出力する。このため、CLKDR、UPDDRが親TAP設定レジスタ114及び子TAP選択レジスタ113に供給されず、親TAP設定レジスタ114及び子TAP選択レジスタ113は、値の書き換えが不可能な状態となる。よって、これ以降、新たに第1の制御信号が「1」となる復帰インストラクションを入れない限り、親TAP制御部110は、外部から見て実質的なリセット状態となる。
ここで、実質的なリセット状態とは、TAPコントローラ116は活性化状態を維持しているが、TAPコントローラ116により操作されるデータレジスタ(親TAP設定レジスタ114、子TAP選択レジスタ113及びデータレジスタ111等)の制御信号が不活性化(例えば、値が全て「0」固定)した状態を指すものとする。以後、本明細書で同様とする。
また、復帰インストラクションとは、ステップS101と同様、インストラクションデコーダ118が第1の制御信号を「1」として出力するようにTDIによりインストラクションが指定されることである。
次に、ステップS102でテスト動作が有効とされた子TAP制御部120、130、及び、親TAP制御部110のTAPコントローラの状態遷移をインストラクションレジスタ(IR)設定状態とする。TDIによりテストしたい内容のインストラクションをTAP端子141からパタン入力して指定する(S103)。なお、この際、TAP端子141からの入力は親TAP制御部110を通って子TAP制御部120、130へ入力される。
また、このときのインストラクションは、親TAP制御部110のインストラクションデコーダ118から出力される第1の制御信号を「0」とするパタンが入力されるものとする。
例えば、子TAP制御部130のテスト動作が無効、子TAP制御部120のテスト動作が有効、つまり、子TAP選択レジスタ113の第1の設定情報が「1」、第2の設定情報が「0」の場合を考える。この場合、TAP1_ENが「1」、TAP2_ENが「0」であり、子TAP制御部120に入力されるTDI、TRSTが有効となる。また、子TAP制御部130に入力されるTDI、TRSTが「0」に固定される。このため、子TAP制御部130はリセット状態となり、テスト動作は無効となる。
一方、例えば、子TAP制御部120のテスト動作が無効、子TAP制御部130のテスト動作が有効、つまり、子TAP選択レジスタ113の第1の設定情報が「0」、第2の設定情報が「1」の場合を考える。この場合、TAP1_ENが「0」、TAP2_ENが「1」であり、子TAP制御部130に入力されるTDI、TRSTが有効となる。また、子TAP制御部120に入力されるTDI、TRSTが「0」に固定される。このため、子TAP制御部120はリセット状態となり、テスト動作は無効となる。
更に、親TAP制御部110のテスト動作が無効、つまり親TAP設定レジスタ114が「1」の場合、TAP_SWが「1」となり、マルチプレクサMUX152がTDI_OUTを選択して出力し、マルチプレクサMUX154がOR回路OR151の出力信号を選択し出力する。
一方、例えば、親TAP制御部110のテスト動作が有効、つまり親TAP設定レジスタ114が「0」の場合、TAP_SWが「0」となり、マルチプレクサMUX152が子TAP制御部120からのTDOを選択して出力し、マルチプレクサMUX154がマルチプレクサMUX153からの出力信号を選択し出力する。
次に、テスト動作が有効となっている親TAP制御部110、子TAP制御部120、130において、指定されたインストラクションに応じたテスト制御信号が、それぞれ制御下にあるデータレジスタに出力される。例えば、子TAP制御部120のみテスト動作が有効となっている場合、子TAP制御部120から、子TAP制御部120が対象とする回路がテストされる(S104)。なお、このインストラクションは、インストラクションデコーダ118から出力される第2の制御信号を「0」とするパタンが入力されるものとする。
以下、子TAP制御部120のみテスト動作が有効となっている場合を例に説明する。データレジスタ121がバウンダリ・スキャンパスで接続されたバウンダリ・スキャン・レジスタである場合、子TAP制御部120は、データレジスタ121に対して、TDI_OUTとして入力されるバウンダリ・スキャンデータをシフトインさせる。その後、バウンダリスキャンテストをコアロジック122に対して行う。そして、コアロジック122からの論理演算結果をデータレジスタ121が記憶し、シフトアウトする。このデータレジスタ121からシフトアウトされたデータは、子TAP制御部120のTDOとして、AND回路AND155、OR回路OR151、マルチプレクサMUX154を経由して、TDO_INとして親TAP制御部110に入力される。つまり、子TAP制御部130、データレジスタ111はバイパスされることになる。なお、このTDO_INは、親TAP制御部110のTDOとして出力される。
なお、上記例では子TAP制御部120のみテスト動作が有効となっているため、子TAP制御部130、データレジスタ111がバイパスされている。また、例えば子TAP制御部130のみテスト動作が有効となっている場合は、子TAP制御部120、データレジスタ111がバイパスされる。以下同様に、親TAP制御部110のみテスト動作が有効となっている場合は、子TAP制御部120、130がバイパスされる。親TAP制御部110、子TAP制御部120のテスト動作が有効となっている場合は、子TAP制御部130がバイパスされる。親TAP制御部110、子TAP制御部130のテスト動作が有効となっている場合は、子TAP制御部120がバイパスされる。
次に、親TAP制御部110、子TAP制御部120、130のテスト動作の有効/無効を切り替えたい場合、もしくは、有効となっている子TAP制御部120、130をリセットしたい場合(S105YES)、ステップS101に戻る。
そして、ステップS101にて、TAPコントローラ116の状態遷移をインストラクションレジスタ(IR)設定状態とし、TDIにより、子TAP選択レジスタ113、親TAP設定レジスタ114の設定を可能とするインストラクションを指定する。このため、値が「1」の第1の制御信号がインストラクションデコーダ118から出力される。このことにより、書き換えが不可能だった親TAP設定レジスタ114、子TAP選択レジスタ113の値の書き換えが再び可能になる。つまり、外部から見て親TAP制御部110は、実質的にリセット状態が解除されたことになる。
そして、ステップS102にて、TAPコントローラ116の状態遷移をデータレジスタ(DR)設定状態とし、TAP端子141から入力されたTDIにより、所定の値を子TAP選択レジスタ113、親TAP設定レジスタ114に記憶させる。例えば、子TAP制御部120のテスト動作が無効、子TAP制御部130のテスト動作が有効となるよう切り替えたい場合、親TAP設定レジスタ114に記憶させる値を「1」、子TAP選択レジスタ113に記憶させる第1の設定情報を「0」、第2の設定情報を「1」となるよう、TDIのデータを設定する。
また、単に子TAP制御部120をリセットしたい場合では、第1の設定情報を「0」とするようTDIのデータを設定する。このことにより、子TAP制御部120がリセットされる。そして、再び第1の設定情報を「1」とするようTDIのデータを設定し、子TAP制御部120をテスト動作が有効となるようにする。
更にまた、親TAP制御部110のテスト動作が有効となる状態にしたい場合、親TAP設定レジスタ114に記憶させる値を「0」とするようTDIのデータを設定する。この場合、親TAP設定レジスタ114が「0」を記憶し、ノードN2に印加される値も「0」となる。このため、AND回路AND115がノードN1に出力する値も「0」となり、AND回路AND111、AND113はスルー回路となる。この場合、入力されるTDIのデータに応じて、親TAP設定レジスタ114、子TAP選択レジスタ113の値の書き換えも可能である。また、TAP_SWの値も「0」となり、データレジスタ111にテストデータパターンのシフトインまたはデータレジスタ111からのテスト結果のシフトアウトも可能となる。
以降、ステップS103、S104、S105に移行する。そして、テスト動作が終了するまで上記ステップを繰り返し行う。
ここで、従来のTAPコントローラを有する半導体集積回路1では、一度親TAPコントローラ10を無効状態(リセット状態)とすると、親TAPコントローラ10は、TRST(テストリセット信号)が入力されるまでは、入力信号を一切受け付けなくなる。このため、選択レジスタ13が記憶する設定値も固定され、子TAPコントローラ20、30をリセットし、動作を無効としたい場合、一度、親TAPコントローラ10を復帰させる必要がある。しかし、親TAPコントローラ10の復帰のためには、TRST(テストリセット信号)の入力が必要となり、親TAPコントローラ10、子TAPコントローラ20、30を含めた半導体集積回路1全体に対してリセットがかかってしまっていた。このように、従来の半導体集積回路1では、子TAPコントローラの有効、無効を設定するために、親TAPコントローラ10を有効状態に復帰させ、選択レジスタ13に新たな設定情報を書き込む必要があり、テスト時間が長期化する問題ある。このテスト時間の長期化する問題は、特許文献1の技術でも同様である。
上記問題に対応するため、図9の半導体集積回路2に示すように、子TAPコントローラ20、30にそれぞれ独立したリセット信号RST1、RST2を用意することも考えられる。半導体集積回路2では、このリセット信号RST1、RST2に応じて、子TAPコントローラ20、30をそれぞれ単独でリセットし、無効状態となるよう制御する。しかし、半導体集積回路2では、リセット信号RST1、RST2が入力されるための専用の外部端子51、52が必要となり、テストだけに使用されるテスト専用端子が増加する問題があった。
一方、本実施の形態1の半導体集積回路100では、上述したように、親TAP設定レジスタ114を備える。この親TAP設定レジスタ114に記憶される情報により、親TAP制御部110のテスト動作の有効/無効の制御、また、親TAP設定レジスタ114、子TAP選択レジスタ113等の制御下にあるデータレジスタの書き換え可否の制御が行われる。
例えば、この親TAP設定レジスタ114に「0」が記憶されていると、ノードN2に印加される信号の値に応じてAND回路AND115が「0」を出力する。そして、この場合、AND回路AND115は、第1の制御信号の値に関係なく「0」を出力する。そして、AND回路AND111、AND112がスルー回路となり、TAPコントローラ116から出力されたCLKDR、UPDDRが親TAP設定レジスタ114、子TAP選択レジスタ113に入力される。よって、親TAP設定レジスタ114に「0」が記憶されている場合、特に第1の制御信号の値に関係なく親TAP設定レジスタ114、子TAP選択レジスタ113の値が変更可能となる。
また、親TAP設定レジスタ114に「0」が記憶されている場合には、AND回路AND116がスルー回路となる。よって、インストラクションデコーダ118から出力される第3の制御信号がテスト制御信号として親TAP制御部110から出力される。そして、このテスト制御信号は、親TAP制御部110の制御下にあるデータレジスタ(データレジスタ111等)の制御に用いられる。
一方、親TAP設定レジスタ114に例えば「1」が記憶されていると、ノードN2に印加される信号の値に応じてAND回路AND115が「0」を出力し、AND回路AND111、AND112の出力を「0」固定とする。よって、これは、TAPコントローラ116から親TAP設定レジスタ114、子TAP選択レジスタ113に入力されるCLKDR、UPDDRが無効状態(「0」固定の信号)となる。このため、親TAP設定レジスタ114に「1」が記憶されている場合、親TAP設定レジスタ114、子TAP選択レジスタ113の値が変更不可となる。
また、親TAP設定レジスタ114に「1」が記憶されている場合には、親TAP制御部110から出力される他のデータレジスタ等を制御するテスト制御信号を無効状態(「0」固定の信号)とする。この場合、親TAP制御部110は、入力信号を受け付けなくなり、出力されるテスト制御信号も「0」固定となる。つまり、外部から見て親TAP制御部110が、実質的なリセット状態となる。
そして、この実質的なリセット状態から親TAP設定レジスタ114、子TAP選択レジスタ113の値の変更等を行う場合、TAPコントローラ116の状態遷移がインストラクションレジスタ(IR)設定状態のときに、所定のインストラクション情報を有するTDIを入力し、インストラクションデコーダ118からの第1の制御信号を「1」とする。このことにより、AND回路AND111、AND112が親TAP設定レジスタ114の記憶する値に関わらず強制的にスルー回路となり、CLKDR、UPDDRが親TAP設定レジスタ114、子TAP選択レジスタ113に入力される。このため、TAPコントローラ116の状態遷移がデータレジスタ(DR)設定状態のときに、親TAP設定レジスタ114、子TAP選択レジスタ113の値がTDIのデータにより書き換えが可能になる。後は、親TAP制御部110のテスト動作が有効状態になるようを復帰させる場合、親TAP設定レジスタ114を「0」に書き換えたり、子TAP選択レジスタ113の第1、第2の設定情報を書き換えたりすることが可能となる。
このように、本実施の形態1の半導体集積回路100は、第1の制御信号が「1」となる所定のインストラクションを新たに用意し、そのインストラクションが入力されることで親TAP制御部110の実質的なリセット状態を解除することが可能となる。これは、従来のように親TAP制御部110を一端リセットした後、動作復帰させるのではなく、TDIのインストラクションにより実現している。
そして、実質的なリセット状態の解除後、親TAP設定レジスタ114、子TAP選択レジスタ113の値の変更等を行うことが可能となる。このため、従来の半導体集積回路1のように、子TAP選択レジスタの値の変更等を行うため、一度半導体集積回路の全体をリセットする必要がない。よって、従来の半導体集積回路1や特許文献1の回路のように、テスト時間が長期化する問題を回避することができる。
また、半導体集積回路の全体をリセットすることなしに、子TAP選択レジスタ113の値を変更して、子TAP制御部120、130のテスト動作の有効/無効を変更可能である。よって、複数の子TAP制御部をリセットする専用のリセット信号及びその専用のリセット信号を入力する外部端子を必要としない。つまり、最低でも、TCK(テストクロック信号)、TMS(テストモードステート信号)、TDI(テストデータイン信号)を入力するTAP端子141〜143があればよい。このため、従来の半導体集積回路2のテストだけに使用されるテスト専用端子が増加する問題も発生しない。
発明の実施の形態2
以下、本発明を適用した具体的な実施の形態2について、図面を参照しながら詳細に説明する。図6に本実施の形態2にかかる半導体集積回路200の構成を示す。図6に示すように、半導体集積回路200は、親TAP制御部110と、子TAP制御部120、130と、AND回路AND151〜AND154と、マルチプレクサMUX151〜MUX153とを有する。なお、上記AND回路AND151〜AND154、マルチプレクサMUX151〜MUX153は、親TAP制御部110が有していてもよい。
なお、図6に示された符号のうち、図4と同じ符号を付した構成は、図4と同じか又は類似の構成を示している。半導体集積回路200は、図4に示す半導体集積回路100から、AND回路AND155、AND156、OR回路OR151、マルチプレクサMUX154を削除した構成となっている。また、マルチプレクサMUX152の他方の入力される信号がマルチプレクサMUX151からの出力となっている点が実施の形態1と異なる。それ以外は、実施の形態1と同様であるため、本実施の形態2での説明は省略する。
マルチプレクサMUX152は、一方の入力端子にデータレジスタ111からの信号が入力され、他方の入力端子にマルチプレクサMUX151からの出力が入力される。そして、TAP_SWに応じて、一方もしくは他方の入力端子に入力される信号のどちらかを選択して、出力する。例えば、TAP_SWが「1」の場合、マルチプレクサMUX151からの出力を選択して、出力し、TAP_SWが「0」の場合、データレジスタ111からの信号を選択して、出力する。
このような回路構成とすることで、実施の形態1と比較して、削除したAND回路AND155、AND156、OR回路OR151、マルチプレクサMUX154分だけ回路規模を削減することが可能となる。更に、実施の形態1では想定していなかった、親TAP制御部110、子TAP制御部120、130の並列したテスト動作も可能となる。その他の効果は、実施の形態1と同様である。
発明の実施の形態3
以下、本発明を適用した具体的な実施の形態3について、図面を参照しながら詳細に説明する。この実施の形態3は、実施の形態1の子TAP制御部120の構成を、親TAP制御部110と同様の回路構成とする。このことにより、実施の形態3の半導体集積回路300は、実施の形態1の半導体集積回路100に対して、更に階層化を深めた構成とすることが可能となる。
半導体集積回路300は、親TAP制御部110と、子TAP制御部120、130と、孫TAP制御部320、330と、AND回路AND151〜AND156と、OR回路OR151と、マルチプレクサMUX151〜MUX154とを有する。更に、半導体集積回路300は、孫TAP制御部320、330と、AND回路AND351〜AND356と、OR回路OR351と、マルチプレクサMUX351〜MUX354とを有する。
図7に、図面の繁雑さを避けるため、半導体集積回路300の一部構成を示す。よって、図7には、子TAP制御部120及びその下位階層部分のみを記載する。なお、図7に示された符号のうち、図4と同じ符号を付した構成は、特に断りがない限り図4と同じか又は類似の構成を示している。また、図7に示される以外の回路構成は、図4と同様であり、説明等も省略する。
子TAP制御部120の構成は、図2に示した親TAP制御部110と同様の構成である。よって、回路内の各構成要素とその接続関係及びその動作は親TAP制御部110と同様である。ただし、親TAP制御部110のインストラク制御部115が出力する第1〜第3の制御信号に対応した、子TAP制御部120のインストラク制御部115が出力する制御信号をそれぞれ第5〜第7の制御信号とする。
つまり、第5の制御信号の値は、子TAP制御部120のAND回路111、AND113をスルー回路とするか否かを制御する信号である。また、第6の制御信号の値は、子TAP制御部120のAND回路112、AND114をスルー回路とするか否かを制御する信号である。また、第7の制御信号の値は、子TAP制御部120の制御下にあるデータレジスタ121等を制御するテスト制御信号となる信号である。ここで、親TAP制御部110の親TAP設定レジスタ114、子TAP選択レジスタ113の保持する値を変更したくない場合には、第2の制御信号を「0」とするインストラクションを用意する。このことにより、本実施の形態3で増加した下位階層の制御が、上位階層とは別個に制御可能となる。
但し、本実施の形態3の子TAP制御部120が孫TAP制御部320、330等へ出力する信号をそれぞれTCK_OUT2(テストクロック信号)、TMS_OUT2(テストモードステート信号)、TDI_OUT2(テストデータイン信号)、TRST_OUT2(テストリセット信号)、TAP1_EN2、TAP2_EN2、TAP_SW2とする。上記信号は、それぞれ実施の形態1の親TAP制御部110が出力するTCK_OUT(テストクロック信号)、TMS_OUT(テストモードステート信号)、TDI_OUT(テストデータイン信号)、TRST_OUT(テストリセット信号)、TAP1_EN、TAP2_EN、TAP_SWに対応する。
また、子TAP制御部120は、孫TAP制御部320もしくは330、もしくはデータレジスタ121からTDO_IN2が入力される。この信号は、実施の形態1の親TAP制御部110が入力されるTDO_INに対応する。
孫TAP制御部320、330は、それぞれ子TAP制御部120と同様、TAPコントローラやインストラクションレジスタ、インストラクションデコーダ等を有する。そして、データレジスタ321、331、コアロジック322、332を制御する。なお、図7では、コアロジック322、332を省略している。
孫TAP制御部320、330は、それぞれTCK_OUT2(テストクロック信号)、TMS_OUT2(テストモードステート信号)、TDI_OUT2(テストデータイン信号)、TRST_OUT2(テストリセット信号)が、それぞれTCK(テストクロック信号)、TMS(テストモードステート信号)、TDI(テストデータイン信号)、TRST (テストリセット信号)として入力される。
子TAP制御部320、330が備えるTAPコントローラは、それぞれTCK_OUT2(テストクロック信号)を動作クロックとし、TMS_OUT2(テストモードステート信号)の値に応じて、実施の形態1で説明したTAPコントローラ116と同様の所定のシーケンス動作を行う。
例えば、データレジスタ321が、バウンダリ・スキャンパスで接続されたバウンダリ・スキャン・レジスタである場合、TAPコントローラの状態遷移がデータレジスタ(DR)設定状態のとき、TDI_OUT2のデータをシフトインし、データレジスタ321に記憶させたり、バウンダリスキャンテストの結果を記憶したデータレジスタ321をシフトアウトさせTDOとして出力する。また、TAPコントローラの状態遷移がインストラクションレジスタ(IR)設定状態のとき、TDI_OUT2のインストラクション(命令)をシフトインし、インストラクションレジスタに記憶させる。また、TRST_OUT2(テストリセット信号)により、孫TAP制御部320、330をリセットする。
AND回路AND351は、一方の入力端子にTDI_OUT2が入力され、他方の入力端子にTAP1_EN2が入力される。そして、積演算した演算結果を出力信号として出力する。つまり、TAP1_EN2が「1」の場合、AND回路AND351は、TDI_OUT2を伝達するスルー回路となる。一方、TAP1_EN2が「0」の場合、TDI_OUT2を伝達せず、「0」に固定された信号を出力する。孫TAP制御部320は、このAND回路AND351の出力信号をTDIとして入力される。
AND回路AND352は、一方の入力端子にTRST_OUT2が入力され、他方の入力端子にTAP1_EN3が入力される。そして、積演算した演算結果を出力信号として出力する。つまり、TAP1_ENが2「1」の場合、AND回路AND352は、TRST_OUT2を伝達するスルー回路となる。一方、TAP1_EN2が「0」の場合、TRST_OUT2を伝達せず、「0」に固定された信号を出力する。孫TAP制御部320は、このAND回路AND352の出力信号をTRSTとして入力される。
なお、TAP1_EN2が「1」で、AND回路AND351、AND352が、それぞれTDI_OUT2、TRST_OUT2をスルーする場合を孫TAP制御部320に入力されるTDI、TRSTが有効となっていると称す。
マルチプレクサMUX351は、一方の入力端子に孫TAP制御部320のTDOが入力され、他方の入力端子にTDI_OUT2(テストデータイン信号)が入力される。そして、TAP1_EN2に応じて、一方もしくは他方の入力端子に入力される信号のどちらかを選択して、出力する。例えば、TAP1_EN2が「0」の場合、TDI_OUT2(テストデータイン信号)を選択して、出力し、TAP1_EN2が「1」の場合、孫TAP制御部320のTDOを選択して、データレジスタ121へ出力する。
マルチプレクサMUX352は、一方の入力端子にデータレジスタ111からの信号が入力され、他方の入力端子にTDI_OUT2(テストデータイン信号)が入力される。そして、TAP_SW2に応じて、一方もしくは他方の入力端子に入力される信号のどちらかを選択して、出力する。例えば、TAP_SW2が「1」の場合、TDI_OUT2(テストデータイン信号)を選択して、出力し、TAP_SW2が「0」の場合、データレジスタ121からの信号を選択して、出力する。
AND回路AND353は、一方の入力端子にマルチプレクサMUX352が出力した信号が入力され、他方の入力端子にTAP2_EN2が入力される。そして、積演算した演算結果を出力信号として出力する。つまり、TAP2_EN2が「1」の場合、AND回路AND353は、マルチプレクサMUX352が出力した信号を伝達するスルー回路となる。一方、TAP2_EN2が「0」の場合、TDI_OUT2を伝達せず、「0」に固定された信号を出力する。孫TAP制御部330は、このAND回路AND353の出力信号をTDIとして入力される。
AND回路AND354は、一方の入力端子にTRST_OUT2が入力され、他方の入力端子にTAP2_EN2が入力される。そして、積演算した演算結果を出力信号として出力する。つまり、TAP2_EN2が「1」の場合、AND回路AND354は、TRST_OUT2を伝達するスルー回路となる。一方、TAP1_EN2が「0」の場合、TRST_OUT2を伝達せず、「0」に固定された信号を出力する。孫TAP制御部330は、このAND回路AND354の出力信号をTRSTとして入力される。
なお、TAP2_EN2が「1」で、AND回路AND353、AND354が、それぞれTDI_OUT2、TRST_OUT2をスルーする場合を孫TAP制御部330に入力されるTDI、TRSTが有効となっていると称す。
マルチプレクサMUX353は、一方の入力端子に孫TAP制御部320のTDOが入力され、他方の入力端子にマルチプレクサMUX352が出力した信号が入力される。そして、TAP2_EN2に応じて、一方もしくは他方の入力端子に入力される信号のどちらかを選択して、出力する。例えば、TAP2_EN2が「0」の場合、マルチプレクサMUX352が出力した信号を選択して、出力し、TAP2_EN2が「1」の場合、孫TAP制御部330のTDOを選択して、マルチプレクサMUX354の一方の入力端子へ出力する。
AND回路AND355は、一方の入力端子にTAP1_EN2が入力され、他方の入力端子に孫TAP制御部320のTDOが入力される。そして、積演算した演算結果を出力信号として出力する。つまり、TAP1_EN2が「1」の場合、AND回路AND355は、孫TAP制御部320のTDOを伝達するスルー回路となる。一方、TAP1_EN2が「0」の場合、TDI_OUT2を伝達せず、「0」に固定された信号を出力する。
AND回路AND356は、一方の入力端子にTAP2_EN2が入力され、他方の入力端子に孫TAP制御部330のTDOが入力される。そして、積演算した演算結果を出力信号として出力する。つまり、TAP2_EN2が「1」の場合、AND回路AND356は、孫TAP制御部330のTDOを伝達するスルー回路となる。一方、TAP2_EN2が「0」の場合、TDI_OUT2を伝達せず、「0」に固定された信号を出力する。
OR回路OR351は、一方の入力端子にAND回路AND355の出力信号が入力され、他方の入力端子にAND回路AND356の出力信号が入力される。そして、和演算した演算結果を出力信号として、マルチプレクサMUX354の他方の入力端子へ出力する。
マルチプレクサMUX354は、一方の入力端子にマルチプレクサMUX353の出力信号が入力され、他方の入力端子にOR回路OR351の出力信号が入力される。そして、TAP_SW2に応じて、一方もしくは他方の入力端子に入力される信号のどちらかを選択して、TDO_IN2として子TAP制御部120へ出力する。例えば、TAP_SW2が「0」の場合、マルチプレクサMUX353の出力信号を選択して、出力し、TAP_SW2が「1」の場合、OR回路OR351の出力信号を選択して、出力する。
なお、子TAP制御部120と孫TAP制御部320、330との関係は、実施の形態1の親TAP制御部110と子TAP制御部120、130と同様であり、動作等も同様である。このため、ここでの動作の説明等は省略する。
以上のように、実施の形態3の半導体集積回路300は、子TAP制御部120が親TAP制御部110と同様の構成を持つことで、実施の形態1の半導体集積回路100に対して、階層化を深めた構成とすることが可能となる。なお、本例では、子TAP制御部120が制御する階層を図4と同様の回路構成としたが、図6に示す実施の形態2の回路構成と同様にしてもよい。
なお、本発明は上記実施の形態に限られたものでなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態3の孫TAP制御部320、330を親TAP制御部110と同様の構成を持つことで更に階層を深めることも可能である。なお、この場合、実施の形態1、3で用意した、第2、第5の制御信号の値をそれぞれ個別に「0」とする別のインストラクションが必要となる。
100、200、300 半導体集積回路
110 親TAP制御部
120、130 子TAP制御部
320、330 孫TAP制御部
111、121、131、321、331 データレジスタ
113 子選択レジスタ
114 親設定レジスタ
115 インストラクション制御回路
116 TAPコントローラ
117 インストラクションレジスタ
118 インストラクションデコーダ
AND111〜AND116、AND151〜AND156、AND351〜AND356 AND回路
OR111、OR151、OR351 OR回路
MUX111、MUX112、MUX151〜MUX154、MUX351〜MUX354 マルチプレクサ

Claims (10)

  1. IEEE(Institute of Electrical and Electronics Engineers)1149.1にて規定されるテストアクセスポートを備え、前記テストアクセスポートに入力されるテスト信号に応じて、回路ブロックの試験を行うテスト回路であって、
    前記試験に応じたテスト信号が入力される第1のTAP制御部と、
    前記第1のTAP制御部により制御され、前記テスト信号が入力される第2のTAP制御部と、を備え、
    前記第1のTAP制御部は、
    記憶する第1の情報が第1の値である場合、前記第1のTAP制御部の前記テスト信号に応じた動作を有効とし、且つ、前記テスト信号のTDI情報のデータに応じて前記第1の情報を書き換え可能とし、
    前記第1の情報が第2の値である場合、前記第1のTAP制御部の前記テスト信号に応じた動作を無効とし、且つ、記憶する前記第1の情報を書き換え不可とする
    TAP設定レジスタと、
    前記第1の情報が第1の値である場合、前記テスト信号のTDI情報のデータに応じて、記憶する第2の情報を書き換え可能とし、
    前記第1の情報が第2の値である場合、記憶する前記第2の情報を書き換え不可とし、
    前記第2のTAP制御部に対して前記テスト信号に応じた動作を有効とするための第1の制御値を前記第2の情報として記憶する
    TAP選択レジスタと、
    前記TAP設定レジスタの記憶する前記第1の情報が前記第2の値である場合でも、前記テスト信号のTDI情報の所定のインストラクションに応じて、前記TAP選択レジスタとTAP設定レジスタの記憶する前記第1、第2の情報を書き換え可能とするインストラクション制御回路と、
    を有するテスト回路。
  2. 前記第1のTAP制御部は、IEEE Std 1149.1で規定された状態遷移に応じた動作を行うTAPコントローラと、
    前記TAPコントローラと、前記TAP設定レジスタ及びTAP選択レジスタとの間に接続された第1の論理回路と、を更に有し、
    前記TAPコントローラは、状態遷移がデータレジスタ設定となる場合に、前記TAP設定レジスタ及びTAP選択レジスタを動作させる第1の動作信号を生成し、状態遷移がインストラクションレジスタ設定となる場合に、前記インストラクション制御回路を動作させる第2の動作信号を生成し、
    前記第1の論理回路は、
    前記TAP設定レジスタが記憶する前記第1の情報が第1の値である場合、前記第1の動作信号を前記TAP設定レジスタ及びTAP選択レジスタへスルーし、
    前記TAP設定レジスタが記憶する前記第1の情報が第2の値である場合、前記第1の動作信号を前記TAP設定レジスタ及びTAP選択レジスタへスルーせず、第1の値に固定する
    請求項1に記載のテスト回路。
  3. 前記インストラクション制御回路は、前記テスト信号のTDI情報が有する所定のインストラクションに応じて、第1の制御信号を出力し、
    前記第1の論理回路は、前記TAP設定レジスタが記憶する第1の情報が第2の値であっても、前記第1の制御信号に応じて、前記第1の動作信号を前記TAP設定レジスタ及びTAP選択レジスタへスルーする
    請求項2に記載のテスト回路。
  4. 前記第1の論理回路は、第1、第2のAND回路を有し、
    前記第1のAND回路は、一方の入力端子に前記第1の情報の値が入力され、他方の入力端子に前記第1の制御信号の反転信号が入力され、論理演算結果を出力し、
    前記第2のAND回路は、一方の入力端子に前記第1の動作信号が入力され、他方の入力端子に前記第1のAND回路の出力信号の反転信号が入力され、論理演算結果を前記TAP設定レジスタ及びTAP選択レジスタに出力する
    請求項3に記載のテスト回路。
  5. 前記第1のTAP制御部は、第2の論理回路を更に有し、
    前記インストラクション制御回路は、前記テスト信号のTDI情報の所定のインストラクションにより、前記第1のTAP制御部が制御する外部データレジスタのテスト制御信号を出力し、
    前記第2の論理回路は、
    前記第1の情報が第1の値である場合、前記テスト制御信号をスルーし、
    前記第1の情報が第2の値である場合、前記テスト制御信号をスルーせず、第1の値に固定する
    請求項2〜請求項4のいずれか1項に記載のテスト回路。
  6. 前記第2の論理回路は、第3のAND回路を有し、
    前記第1の情報の第1、第2の値は互いに反転値であり、
    前記第3のAND回路は、一方の入力端子に前記第1の情報の反転した値が入力され、他方の入力端子に前記テスト制御信号が入力され、論理演算結果を出力する
    請求項5に記載のテスト回路。
  7. 前記第1のTAP制御部は、前記第1の論理回路と前記TAP設定レジスタ及びTAP選択レジスタへとの間に接続された第3の論理回路を更に有し、
    前記インストラクション制御回路は、前記テスト信号のTDI情報の所定のインストラクションにより、第2の制御信号を出力し、
    前記第3の論理回路は、前記第2の制御信号に応じて、前記第1の論理回路の出力信号を前記TAP設定レジスタ及びTAP選択レジスタへスルーするか第1の値に固定するかを制御する
    請求項2〜請求項6のいずれか1項に記載のテスト回路。
  8. 前記第3の論理回路は、第4のAND回路を有し、
    前記第4のAND回路は、一方の入力端子に前記第2の制御信号を入力し、他方の入力端子に前記第1の論理回路の出力信号を入力し、論理演算結果を前記TAP設定レジスタ及びTAP選択レジスタへ出力する
    請求項7に記載のテスト回路。
  9. 前記第2のTAP制御部と前記第1のTAP制御部との間に接続される第4の論理回路を有し、
    前記第2のTAP制御部は、前記第4の論理回路を経由し、前記テスト信号のTDI情報、及び、前記第2のTAP制御部をリセットするTRST情報が入力され、
    前記第4の論理回路は、前記TAP選択レジスタの記憶する前記第2の情報に応じて、前記第2のTAP制御部が入力するTDI情報、及び、TRST情報をスルーするか第1の値に固定するかを制御する
    請求項1〜請求項8に記載のテスト回路。
  10. IEEE(Institute of Electrical and Electronics Engineers)1149.1にて規定されるテストアクセスポートを備え、前記テストアクセスポートに入力されるテスト信号に応じて、回路ブロックの試験を行うテスト回路の制御方法であって、
    前記テスト回路は、
    第1の情報を記憶するTAP設定レジスタと、第2の情報を記憶するTAP選択レジスタとを有し、前記試験に応じたテスト信号が入力される第1のTAP制御部と、
    前記第1のTAP制御部により制御され、前記テスト信号が入力される第2のTAP制御部と、を備え、
    第2の情報に基づき、前記第2のTAP制御部に対して前記テスト信号に応じた動作の有効もしくは無効を設定し、
    前記第1の情報が第1の値である場合、前記第1のTAP制御部の前記テスト信号に応じた動作を有効とし、且つ、前記テスト信号のTDI情報に応じて前記第1、第2の情報を書き換え可能とし、もしくは、前記第1の情報が第2の値である場合、前記第1のTAP制御部の前記テスト信号に応じた動作を無効とし、且つ、前記第1、第2の情報を書き換え不可とし、
    前記テスト信号のTDI情報のインストラクションにより生成される第1の制御信号に応じて、前記第1の情報が前記第2の値であっても、前記TAP選択レジスタとTAP設定レジスタの記憶する前記第1、第2の情報を書き換え可能とする
    テスト回路の制御方法。
JP2010126884A 2010-06-02 2010-06-02 テスト回路およびテスト回路の制御方法 Pending JP2011252798A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010126884A JP2011252798A (ja) 2010-06-02 2010-06-02 テスト回路およびテスト回路の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010126884A JP2011252798A (ja) 2010-06-02 2010-06-02 テスト回路およびテスト回路の制御方法

Publications (1)

Publication Number Publication Date
JP2011252798A true JP2011252798A (ja) 2011-12-15

Family

ID=45416845

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010126884A Pending JP2011252798A (ja) 2010-06-02 2010-06-02 テスト回路およびテスト回路の制御方法

Country Status (1)

Country Link
JP (1) JP2011252798A (ja)

Similar Documents

Publication Publication Date Title
JP2009222644A (ja) 半導体集積回路、及び設計自動化システム
US11199580B2 (en) Test access port with address and command capability
CN106019119B (zh) 半导体集成电路的试验电路及使用其的试验方法
JP2007205933A (ja) 半導体集積回路
JP2005527918A (ja) 単一のtap(テストアクセスポート)を介して複数のtapにアクセスするための方法およびその装置
JP2006189368A (ja) テストシステム
JP5631934B2 (ja) デュアルパスマルチモード順次記憶素子
JP2004110265A (ja) 半導体集積回路のテスト容易化方法
US7055078B2 (en) Microprocessor with trace module
JP5022110B2 (ja) 半導体集積回路
CN108459876B (zh) 用于缩减面积的控制寄存器电路的方法与装置
CN106896317B (zh) 通过扫描测试的扫描链所执行的电路排错方法及电路排错系统
JP2011252798A (ja) テスト回路およびテスト回路の制御方法
JP2007218798A (ja) 半導体集積回路装置
JP2010032507A (ja) 標準バウンダリ・アーキテクチャ・セルを用いる非同期通信
JP2008310792A (ja) テスト回路
JP2004279266A (ja) ロジック回路およびその設計方法並びにテスト方法
JP2006146757A (ja) デバッグ用レジスタおよびデータ転送方法
JP5625241B2 (ja) 半導体装置及びその試験方法
JP2009043405A (ja) 半導体テスト回路と半導体テスト方法
JP2009175154A (ja) 半導体集積回路およびその設計方法
US10234503B2 (en) Debugging method executed via scan chain for scan test and related circuitry system
JPWO2008120389A1 (ja) メモリテスト回路、半導体集積回路およびメモリテスト方法
JP2005283207A (ja) 半導体集積回路装置
JP2009128109A (ja) Tapコントローラ装置及びtapコントローラ制御方法