(57)【要約】【課題】不揮発性記憶装置内の制御プログラムの書き換え時間を短縮すること。【解決手段】バウンダリスキャン回路は、不揮発性記憶装置に接続された第１バウンダリスキャンレジスタ装置、及び、不揮発性記憶装置に接続されない第２バウンダリスキャンレジスタ装置を含む回路であって、第１バウンダリスキャンレジスタ装置及び第２バウンダリスキャンレジスタ装置の双方を経由する第１経路と、第１バウンダリスキャンレジスタ装置を経由し第２バウンダリスキャンレジスタ装置を経由しない第２経路とが切り替え可能に接続される。制御信号回路は、ＴＡＰコントローラからバウンダリスキャンレジスタ装置に入力される制御信号の入力経路が、第１経路又は第２経路の切り替えに応じて切り替え可能に接続される。【選択図】図１
2013061231.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性記憶装置に接続されたバウンダリスキャンレジスタ装置である第１バウンダリスキャンレジスタ装置、及び、該不揮発性記憶装置に接続されないバウンダリスキャンレジスタ装置である第２バウンダリスキャンレジスタ装置を含む回路であって、該第１バウンダリスキャンレジスタ装置及び該第２バウンダリスキャンレジスタ装置の双方を経由する第１経路と、該第１バウンダリスキャンレジスタ装置を経由し該第２バウンダリスキャンレジスタ装置を経由しない第２経路とが切り替え可能に接続されたバウンダリスキャン回路と、
ＴＡＰ（Test  Access  Port）コントローラから前記バウンダリスキャンレジスタ装置に入力される制御信号の入力経路が、前記第１経路又は前記第２経路の切り替えに応じて切り替え可能に接続された制御信号回路と、
前記第１経路又は前記第２経路を指定する信号を、前記バウンダリスキャン回路及び前記制御信号回路に出力する信号出力部とを備え、
前記バウンダリスキャン回路は、前記信号出力部によって出力される信号に従って、前記第１経路と前記第２経路とを切り替え、
前記制御信号回路は、前記信号出力部によって出力される信号に従って、前記入力経路を切り替えることを特徴とする集積回路。
【請求項２】
前記バウンダリスキャン回路は、前記第２バウンダリスキャンレジスタ装置の前段に、前記信号出力部によって出力された信号に応じて出力先を切り替えるセレクタを有し、
前記セレクタは、前記信号が前記第１経路を指定する場合には、該セレクタの後段に接続された前記第２バウンダリスキャンレジスタ装置を経由する経路に出力先を切り替え、前記信号が前記第２経路を指定する場合には、前記第２バウンダリスキャンレジスタ装置を経由しない経路に出力先を切り替えることで、前記第１経路と前記第２経路とを切り替えることを特徴とする請求項１に記載の集積回路。
【請求項３】
前記信号出力部は、フリップフロップ回路、又は、前記ＴＡＰコントローラによって制御されるレジスタ装置であることを特徴とする請求項１又は２に記載の集積回路。
【請求項４】
前記第１バウンダリスキャンレジスタ装置は、複数のバウンダリスキャンレジスタ装置を更に含み、該複数のバウンダリスキャンレジスタ装置のうち、前記不揮発性記憶装置の端子数に応じた所定数のバウンダリスキャンレジスタ装置を選択可能に接続されたものであることを特徴とする請求項１〜３のいずれか一つに記載の集積回路。
【請求項５】
前記第１バウンダリスキャンレジスタ装置は、入力された信号に応じて出力先を切り替えるセレクタを２つのバウンダリスキャンレジスタ装置の間に有し、
前記セレクタは、前記信号に応じて、該セレクタの後段に接続されたバウンダリスキャンレジスタ装置を経由する経路と経由しない経路とに出力先を切り替えることで、前記端子数に応じた所定数のバウンダリスキャンレジスタ装置を選択することを特徴とする請求項１〜４のいずれか一つに記載の集積回路。
【請求項６】
集積回路で実行される不揮発性記憶装置書き換え方法であって、
前記集積回路は、
不揮発性記憶装置に接続されたバウンダリスキャンレジスタ装置である第１バウンダリスキャンレジスタ装置、及び、該不揮発性記憶装置に接続されないバウンダリスキャンレジスタ装置である第２バウンダリスキャンレジスタ装置を含む回路であって、該第１バウンダリスキャンレジスタ装置及び該第２バウンダリスキャンレジスタ装置の双方を経由する第１経路と、該第１バウンダリスキャンレジスタ装置を経由し該第２バウンダリスキャンレジスタ装置を経由しない第２経路とが切り替え可能に接続されたバウンダリスキャン回路と、
ＴＡＰコントローラから前記バウンダリスキャンレジスタ装置に入力される制御信号の入力経路が、前記第１経路又は前記第２経路の切り替えに応じて切り替え可能に接続された制御信号回路とを備え、
前記第２経路を指定する信号を前記バウンダリスキャン回路及び前記制御信号回路に出力する信号出力工程と、
前記バウンダリスキャン回路にて、経路を前記第２経路に切り替える経路切り替え工程と、
前記制御信号回路にて、前記制御信号の入力経路を、前記第２経路に応じて切り替える入力経路切り替え工程と、
前記バウンダリスキャン回路に対して、前記不揮発性記憶装置に書込むデータを入力する入力工程と
を含んだことを特徴とする不揮発性記憶装置書き換え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路及び不揮発性記憶装置書き換え方法に関する。
【背景技術】
【０００２】
近年、回路ボードにＬＳＩ（Large  Scale  Integration）等の集積回路が搭載されることが多くなった。集積回路の制御は、フラッシュメモリ（flash  memory）等の不揮発性記憶装置に記憶された制御プログラムによって行われる。このため、例えば、ソフトウェア開発の過程で設計仕様の変更が生じ、これに伴って制御プログラムが変更される場合には、不揮発性記憶装置を回路ボードから取り外さずにそのままの状態で書き換える機能が必要である。
【０００３】
かかる機能を実現するために、従来、ＪＴＡＧ（Joint  Test  Action  Group）が用いられている。ここで、本来、ＪＴＡＧは、バウンダリスキャンテストを行う技術であり、バウンダリスキャンテストは、集積回路の端子と論理回路との間に配置されたバウンダリスキャンテスト回路を用いて、端子の状態を調べたり値を変更したりするものである。具体的には、バウンダリスキャンテスト回路は、数珠繋ぎ状に接続されたバウンダリスキャンセルとＴＡＰ（Test  Access  Port）コントローラとを含み、ＴＡＰコントローラが、各バウンダリスキャンセルに対するシフト処理によるテストデータの入力を制御する。従来、このバウンダリスキャンテスト回路を用いて、不揮発性記憶装置内の制御プログラムの書き換えも実現されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、不揮発性記憶装置内の制御プログラムの書き換えにおいては、不揮発性記憶装置に関連する端子にさえデータが入力されれば十分であり、その他の端子にデータを入力する処理は不要である。端子の数は、数百個等、膨大な数である一方、不揮発性記憶装置に関連する端子は少数であるので、従来の技術では、制御プログラムの書き換えが効率的でないという課題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、不揮発性記憶装置内の制御プログラムの書き換え時間を短縮することが可能な集積回路及び不揮発性記憶装置書き換え方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、集積回路は、バウンダリスキャン回路と、制御信号回路と、信号出力部とを備える。前記バウンダリスキャン回路は、不揮発性記憶装置に接続されたバウンダリスキャンレジスタ装置である第１バウンダリスキャンレジスタ装置、及び、該不揮発性記憶装置に接続されないバウンダリスキャンレジスタ装置である第２バウンダリスキャンレジスタ装置を含む回路であって、該第１バウンダリスキャンレジスタ装置及び該第２バウンダリスキャンレジスタ装置の双方を経由する第１経路と、該第１バウンダリスキャンレジスタ装置を経由し該第２バウンダリスキャンレジスタ装置を経由しない第２経路とが切り替え可能に接続される。前記制御信号回路は、ＴＡＰ（Test  Access  Port）コントローラから前記バウンダリスキャンレジスタ装置に入力される制御信号の入力経路が、前記第１経路又は前記第２経路の切り替えに応じて切り替え可能に接続される。前記信号出力部は、前記第１経路又は前記第２経路を指定する信号を、前記バウンダリスキャン回路及び前記制御信号回路に出力する。また、前記バウンダリスキャン回路は、前記信号出力部によって出力される信号に従って、前記第１経路と前記第２経路とを切り替える。また、前記制御信号回路は、前記信号出力部によって出力される信号に従って、前記入力経路を切り替える。
【０００７】
また、本発明は、集積回路で実行される不揮発性記憶装置書き換え方法である。前記集積回路は、バウンダリスキャン回路と、制御信号回路とを備える。前記バウンダリスキャン回路は、不揮発性記憶装置に接続されたバウンダリスキャンレジスタ装置である第１バウンダリスキャンレジスタ装置、及び、該不揮発性記憶装置に接続されないバウンダリスキャンレジスタ装置である第２バウンダリスキャンレジスタ装置を含む回路であって、該第１バウンダリスキャンレジスタ装置及び該第２バウンダリスキャンレジスタ装置の双方を経由する第１経路と、該第１バウンダリスキャンレジスタ装置を経由し該第２バウンダリスキャンレジスタ装置を経由しない第２経路とが切り替え可能に接続される。前記制御信号回路は、ＴＡＰコントローラから前記バウンダリスキャンレジスタ装置に入力される制御信号の入力経路が、前記第１経路又は前記第２経路の切り替えに応じて切り替え可能に接続される。集積回路は、前記第２経路を指定する信号を前記バウンダリスキャン回路及び前記制御信号回路に出力する信号出力工程と、前記バウンダリスキャン回路にて、経路を前記第２経路に切り替える経路切り替え工程と、前記制御信号回路にて、前記制御信号の入力経路を、前記第２経路に応じて切り替える入力経路切り替え工程と、前記バウンダリスキャン回路に対して、前記不揮発性記憶装置に書込むデータを入力する入力工程とを含む。
【発明の効果】
【０００８】
本発明によれば、不揮発性記憶装置内の制御プログラムの書き換え時間を短縮することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施の形態に係る集積回路の構成図である。
【図２】図２は、第１の実施の形態におけるＴＡＰコントローラの状態遷移図である。
【図３】図３は、第１の実施の形態における書き換え処理を示すフローチャートである。
【図４】図４は、第２の実施の形態に係る集積回路の構成図である。
【図５】図５は、第３の実施の形態に係るバウンダリスキャンレジスタ装置の構成図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、集積回路及び不揮発性記憶装置書き換え方法の実施の形態を詳細に説明する。
【００１１】
（第１の実施の形態）
図１は、第１の実施の形態に係る集積回路１２の構成図である。第１の実施の形態においては、以下に説明するように、全てのバウンダリスキャンレジスタ装置が数珠繋ぎ状に接続された従来の経路とは別に、不揮発性記憶装置に関連する端子と結合されたバウンダリスキャンレジスタ装置のみを経由する経路を新たに作製する。また、従来の経路と新たに作製した経路とを切り替え可能に接続する。この結果、不揮発性記憶装置内の制御プログラムの書き換え時には、新たに作製した経路を用いてデータが入力され、不揮発性記憶装置に関連しないその他の端子にはデータが入力されないので、書き換え時間を短縮することが可能になる。以下、集積回路１２の一例を挙げて、詳細に説明する。
【００１２】
図１に示すように、第１の実施の形態に係る回路ボード１０上（又は、装置１０）には、集積回路１１と、集積回路１２と、不揮発性記憶装置１３とが搭載される。集積回路１２内には、図１に示すようにバウンダリスキャンテスト回路が含まれているので、以下では、集積回路１２を、適宜、バウンダリスキャンテスト回路１２と称する。なお、集積回路１２は、図１に図示しない素子等を含んでよい。また、不揮発性記憶装置１３も、集積回路の一つである。
【００１３】
バウンダリスキャンテスト回路１２は、バウンダリスキャンテスト用のインタフェース（以下、適宜「テストインタフェース」という）と、ＴＡＰコントローラ１２０とを有する。また、テストインタフェースは、バウンダリスキャンテスト用のポートを有する。なお、バウンダリスキャンテスト用のポートについては後述する。
【００１４】
また、バウンダリスキャンテスト回路１２は、バウンダリスキャンレジスタ装置１２２と、バウンダリスキャンレジスタ装置１２３と、バウンダリスキャンレジスタ装置１２４と、出力セレクタ１２５とを有する。バウンダリスキャンレジスタ装置１２２〜１２４は、シリアル入力、シリアル出力、パラレル入力、及びパラレル出力を有する。集積回路１１は、バウンダリスキャンレジスタ装置１２４のパラレル入力及びパラレル出力を介してバウンダリスキャンテスト回路１２に結合される。また、不揮発性記憶装置１３は、バウンダリスキャンレジスタ装置１２３のパラレル入力及びパラレル出力を介してバウンダリスキャンテスト回路１２に結合される。
【００１５】
バウンダリスキャンテスト用のポートは、ＴＤＩ（Test  Data  Input）、ＴＤＯ（Test  Data  Output）、ＴＣＫ（Test  Clock  input）、ＴＭＳ（Test  Mode  Select  input）、及びＴＲＳＴ（Test  Reset  input）である。なお、以下、「ＴＤＩ」、「ＴＤＯ」、「ＴＣＫ」、「ＴＭＳ」、「ＴＲＳＴ」と表記する場合は、ポート（端子）を意味し、「ＴＤＩ信号」、「ＴＤＯ信号」、「ＴＣＫ信号」、「ＴＭＳ信号」、「ＴＲＳＴ信号」と表記する場合は、各ポート（端子）から入力された信号を意味する。
【００１６】
ＴＤＩは、バウンダリスキャンテストデータ（以下、適宜「テストデータ」という）の入力端子であり、ＴＡＰコントローラ１２０に接続されるとともに、経路セレクタ１５を介して、バウンダリスキャンレジスタ装置１２２及びバウンダリスキャンレジスタ装置１２３それぞれに接続されている。また、ＴＤＯは、テストデータの出力端子であり、出力セレクタ１２５を介してＴＡＰコントローラ１２０に接続されるとともに、出力セレクタ１２５を介して、バウンダリスキャンレジスタ装置１２４及び経路セレクタ１４それぞれに接続されている。また、ＴＣＫ、ＴＭＳ、及びＴＲＳＴは、ＴＡＰコントローラ１２０を制御する信号の入力端子である。
【００１７】
バウンダリスキャンレジスタ装置１２２〜１２４は、シフトレジスタ及びアップデートレジスタを有する（図示を省略）。バウンダリスキャンレジスタ装置１２２〜１２４は、ＴＡＰコントローラ１２０による制御の下、シリアル入力からシフトレジスタを介してシリアル出力にデータをシフトする処理、又は、パラレル入力、パラレル出力からシフトレジスタにデータを入力する処理、又は、シフトレジスタからアップデートレジスタまで、アップデートレジスタからパラレル入力、パラレル出力までデータを出力する処理、又は、バウンダリスキャンテスト回路１２の端子と論理回路との間でデータを受け渡す処理等を行う。
【００１８】
バウンダリスキャンレジスタ装置１２３は、不揮発性記憶装置１３に関連する端子を有し、不揮発性記憶装置１３に関連する入力及び出力を取り扱う。バウンダリスキャンレジスタ装置１２２は、不揮発性記憶装置１３に関連する端子を有さず、ＴＤＩからバウンダリスキャンレジスタ装置１２３までのその他の入力及び出力を取り扱う。バウンダリスキャンレジスタ装置１２４は、不揮発性記憶装置１３に関連する端子を有さず、バウンダリスキャンレジスタ装置１２３からＴＤＯまでのその他の入力及び出力を取り扱う。
【００１９】
ここで、第１の実施の形態に係るバウンダリスキャンテスト回路１２においては、バウンダリスキャンレジスタ装置１２２〜１２４全てを経由する第１経路と、バウンダリスキャンレジスタ装置１２３を経由し、バウンダリスキャンレジスタ装置１２２及びバウンダリスキャンレジスタ装置１２４を経由しない第２経路とが切り替え可能に接続される。
【００２０】
具体的には、第１の実施の形態に係るバウンダリスキャンテスト回路１２は、図１に示すように、経路セレクタ１４と、経路セレクタ１５と、バウンダリスキャンレジスタ装置１２２〜１２４の入力及び出力に結合されている機能回路１２１と、フリップフロップ（Flip  Flop）回路１６と、スイッチング素子１７とを有する。また、バウンダリスキャンテスト回路１２は、図１に示すように、経路切替信号用のポートとしてＳＥＬ（Select）を有する。
【００２１】
バウンダリスキャンテスト回路１２は、第１経路及び第２経路を切り替えるために、経路セレクタ１４及び経路セレクタ１５を有する。経路セレクタ１４は、バウンダリスキャンレジスタ装置１２４の前段に配置され、経路セレクタ１４の制御入力は、フリップフロップ回路１６の出力に接続される。また、経路セレクタ１４の入力は、バウンダリスキャンレジスタ装置１２３に接続され、経路セレクタ１４の出力は、バウンダリスキャンレジスタ装置１２４及び出力セレクタ１２５それぞれに接続される。
【００２２】
経路セレクタ１５は、バウンダリスキャンレジスタ装置１２２の前段に配置され、経路セレクタ１５の制御入力は、フリップフロップ回路１６の出力に接続される。また、経路セレクタ１５の入力は、ＴＤＩに接続され、経路セレクタ１５の出力は、ＴＤＩに最も近いバウンダリスキャンレジスタ装置１２２及びバウンダリスキャンレジスタ装置１２３それぞれに接続される。
【００２３】
フリップフロップ回路１６の入力は、ＳＥＬに接続される。また、フリップフロップ回路１６の出力は、経路セレクタ１４、経路セレクタ１５、及びスイッチング素子１７それぞれの制御入力に接続される。また、ＴＡＰコントローラ１２０と、バウンダリスキャンレジスタ装置１２２〜１２４とは、スイッチング素子１７を介して接続される。
【００２４】
このような構成の下、バウンダリスキャンテスト回路１２は、第１経路と第２経路との経路切替を制御するＳＥＬ信号の入力をＳＥＬから受け付け、フリップフロップ回路１６がこのＳＥＬ信号を保持し、保持するＳＥＬ信号を、経路セレクタ１４、経路セレクタ１５、及びスイッチング素子１７それぞれの制御入力に出力する。
【００２５】
すると、経路セレクタ１４は、フリップフロップ回路１６によって出力されたＳＥＬ信号に応じて、出力先を切り替える。すなわち、経路セレクタ１４は、ＳＥＬ信号が第１経路を指定する場合には、経路セレクタ１４の後段に接続されたバウンダリスキャンレジスタ装置１２４を経由する経路に出力先を切り替える。一方、ＳＥＬ信号が第２経路を指定する場合には、経路セレクタ１４の後段に接続されたバウンダリスキャンレジスタ装置１２４を経由しない経路に出力先を切り替える。
【００２６】
また、経路セレクタ１５は、フリップフロップ回路１６によって出力されたＳＥＬ信号に応じて、出力先を切り替える。すなわち、経路セレクタ１５は、ＳＥＬ信号が第１経路を指定する場合には、経路セレクタ１５の後段に接続されたバウンダリスキャンレジスタ装置１２２を経由する経路に出力先を切り替える。一方、ＳＥＬ信号が第２経路を指定する場合には、経路セレクタ１５の後段に接続されたバウンダリスキャンレジスタ装置１２２を経由しない経路に出力先を切り替える。
【００２７】
また、スイッチング素子１７は、フリップフロップ回路１６によって出力されたＳＥＬ信号に応じて、ＴＡＰコントローラ１２０からバウンダリスキャンレジスタ装置１２２〜１２４に入力される制御信号の入力経路を切り替える。すなわち、スイッチング素子１７は、ＳＥＬ信号が第１経路を指定する場合には、スイッチをオンに制御し、ＴＡＰコントローラ１２０からの入力信号が、バウンダリスキャンレジスタ装置１２２〜１２４全てに入力されるように制御する。一方、ＳＥＬ信号が第２経路を指定する場合には、スイッチをオフに制御し、ＴＡＰコントローラ１２０からの入力信号が、バウンダリスキャンレジスタ装置１２３のみに入力されるように制御する。
【００２８】
言い換えると、第１経路とは、経路１５ａ−バウンダリスキャンレジスタ装置１２２−バウンダリスキャンレジスタ装置１２３−経路１４ａ−バウンダリスキャンレジスタ装置１２４の経路である。一方、第２経路とは、経路１５ｂ−バウンダリスキャンレジスタ装置１２３−経路１４ｂの経路である。
【００２９】
このため、ＳＥＬ信号が第１経路を指定する場合には、経路セレクタ１５は、経路１５ａ及び経路１５ｂのうち経路１５ａを選択し、ＴＤＩから入力されたデータを、バウンダリスキャンレジスタ装置１２２に出力する。バウンダリスキャンレジスタ装置１２２に入力されたデータは、バウンダリスキャンレジスタ装置１２３を経由して経路セレクタ１４に出力される。すると、経路セレクタ１４は、経路１４ａ及び経路１４ｂのうち経路１４ａを選択し、バウンダリスキャンレジスタ装置１２３から入力されたデータを、バウンダリスキャンレジスタ装置１２４に出力する。この結果、ＳＥＬ信号が第１経路を指定する場合、ＴＤＩから入力されたデータは、第１経路、すなわちバウンダリスキャンレジスタ装置１２２〜１２４全てを経由して、出力セレクタ１２５に出力される。
【００３０】
一方、ＳＥＬ信号が第２経路を指定する場合、すなわち、不揮発性記憶装置１３内の制御プログラムの書き換えを行う場合、経路セレクタ１５は、経路１５ａ及び経路１５ｂのうち経路１５ｂを選択し、ＴＤＩから入力されたデータを、バウンダリスキャンレジスタ装置１２３に直接出力する。バウンダリスキャンレジスタ装置１２３に入力されたデータは、不揮発性記憶装置１３に入力され、不揮発性記憶装置１３内の制御プログラムの書き換えが行われる。また、経路セレクタ１４は、経路１４ａ及び経路１４ｂのうち経路１４ｂを選択し、バウンダリスキャンレジスタ装置１２３から入力されたデータを、出力セレクタ１２５に直接出力する。この結果、ＳＥＬ信号が第２経路を指定する場合、ＴＤＩから入力されたデータは、第２経路、すなわちバウンダリスキャンレジスタ装置１２３を経由し、バウンダリスキャンレジスタ装置１２２及びバウンダリスキャンレジスタ装置１２４を経由せずに、出力セレクタ１２５に出力される。
【００３１】
さて、第１の実施の形態に係るバウンダリスキャンテスト回路１２は、通常モード及びテストモードにて動作する。通常モードにて動作時、バウンダリスキャンレジスタ装置１２２〜１２４は機能せず、機能回路１２１と、集積回路１１と、不揮発性記憶装置１３とは、互いに直接通信を行う。一方、テストモードにて動作時、バウンダリスキャンレジスタ装置１２２〜１２４は機能し、ＴＤＩから入力されたデータは、バウンダリスキャンレジスタ装置１２２〜１２４を介して、機能回路１２１、集積回路１１、及び不揮発性記憶装置１３に供給される。また、データは、機能回路１２１、集積回路１１、及び不揮発性記憶装置１３から、バウンダリスキャンレジスタ装置１２２〜１２４を介して受信される。第１の実施の形態に係るバウンダリスキャンテスト回路１２は、テストモードにて動作時、例えば、ＪＴＡＧ標準（ＩＥＥＥ（The  Institute  of  Electrical  and  Electronics  Engineers）標準１１４９）に従って動作する。
【００３２】
続いて、図２は、第１の実施の形態におけるＴＡＰコントローラ１２０の状態遷移図である。図２は、ＴＡＰコントローラ１２０が遷移し得る複数の状態を示す。また、図２において、楕円状の印は、各遷移状態を示し、矢印は、遷移を示す。矢印には、ＴＭＳ信号の値『０』又は『１』が記載されている。
【００３３】
ＴＡＰコントローラ１２０が特定の状態にあり、ＴＣＫ信号が立ち上がりエッジの状態の時、図２に示すように、ＴＡＰコントローラ１２０は、ＴＭＳ信号の値に応じて、次の状態への遷移を行う。従って、ＴＡＰコントローラ１２０は選択可能な一連の状態を辿る。
【００３４】
ステートマシンは、例えば、状態レジスタ（図示を省略）と、メモリ（図示を省略）と、それぞれの状態に対応する位置とを使用して、実施することができる。ステートマシンとは、一般に異なる状態を連続的にとることができる回路であって、且つ、各状態に続く状態を少なくとも部分的に定義する回路のことである。
【００３５】
状態レジスタとメモリとを有する場合、状態レジスタは、現在の状態に対応するアドレスを格納する。各アドレスには、ステートマシンがそのアドレスに対応する状態にある時に各回路に流される信号値が格納される。また、このアドレスには、現在の状態から到達できる状態に対応するアドレスを示す情報も含まれる。ＴＭＳ信号の制御下において、これらのアドレスの１つが選択され、ＴＣＫ信号の立ち上がりエッジにおいて状態レジスタに格納される。
【００３６】
図２において、遷移状態の第１列２０には、データの読み取り及び書き込みに関連する状態が含まれる。遷移状態の第２列２１には、命令の読み取り命令に関連する状態が含まれる。例えば、データを読み取るため、又は、書き込むために、ＴＡＰコントローラ１２０が、『TEST_LOGIC_RESET』状態から『RUN_TEST/IDLE』状態に遷移するように、論理値『０』が最初にＴＭＳ信号に入力される。
【００３７】
次に、論理値『１』がＴＭＳ信号に入力され、ＴＡＰコントローラ１２０は、『SELECT_DR_SCAN』状態に遷移する。次に、論理値『０』がＴＭＳ信号に入力されると、ＴＡＰコントローラ１２０は、『CAPTURE_DR』状態に遷移する。この状態において、ＴＡＰコントローラ１２０は、バウンダリスキャンレジスタ装置１２２〜１２４が、そのパラレル入力からのデータをシフトレジスタに取り込むように、制御信号を、バウンダリスキャンレジスタ装置１２２〜１２４に送る。
【００３８】
ＴＡＰコントローラ１２０は、この状態から論理値『０』がＴＭＳ信号に入力された場合、『SHIFT_DR』状態に遷移し、論理値『１』がＴＭＳ信号に入力された場合、『EXIT1_DR』状態に遷移する。『SHIFT_DR』状態において、ＴＡＰコントローラ１２０は、シフトレジスタを通してデータをシフトするための制御信号を、バウンダリスキャンレジスタ装置１２２〜１２４に送る。ＴＡＰコントローラ１２０は、『SHIFT_DR』状態のままである間は、ＴＣＫ信号の各クロックサイクルについてこれを繰り返す。そして、ＴＡＰコントローラ１２０は、ＴＭＳ信号に論理値『１』が入力された時に、『SHIFT_DR』から『EXIT1_DR』状態に遷移する。
【００３９】
この『EXIT1_DR』状態からは、ＴＡＰコントローラ１２０は、ＴＭＳ信号の論理値に応じて、『PAUSE_DR』状態又は『UPDATE_DR』状態に遷移する。ＴＡＰコントローラ１２０が『UPDATE_DR』状態をとると、バウンダリスキャンレジスタ装置１２２〜１２４は、バウンダリスキャンテスト回路１２の端子に出力するためのデータをシフトレジスタからアップデートレジスタに送信する。この『UPDATE_DR』状態からは、ＴＡＰコントローラ１２０は、『RUN_TEST/IDLE』状態又は『SELECT_DR_SCAN』状態に遷移する。ＴＡＰコントローラ１２０は、何サイクルかの間『PAUSE_DR』状態に留まるか、又は『EXIT2_DR』状態に遷移し、そこから『UPDATE_DR』状態に遷移し、又は『SHIFT_DR』状態に戻ることができる。
【００４０】
したがって、固有シーケンスをテストインタフェースのＴＭＳ信号入力に流すことによって、ＴＡＰコントローラ１２０の状態に起因して、バウンダリスキャンレジスタ装置１２２〜１２４がシフトレジスタにデータを入力する、シフトレジスタからデータを出力する、何サイクルかの間シフトレジスタを通してデータをシフトする、一時停止する、データをシリアル出力に出力する、等を行うようにできる。
【００４１】
同様に、ＴＡＰコントローラ１２０を図２の状態遷移図の第２列２１の各状態に遷移させるＴＭＳ信号の信号を送ることによって、ＴＡＰコントローラ１２０の状態に起因して、インストラクションレジスタ（図示を省略）がシフトレジスタを通して命令を転送する。
【００４２】
このような命令として、例えば、ＴＤＩから入力されたデータを、バウンダリスキャンレジスタ装置全体を経由してＴＤＯに送るための命令が挙げられる。また、例えば、ＴＤＩから入力されたデータを、バウンダリスキャンレジスタ装置をバイパスしてＴＤＯに送るための命令や、データを、バウンダリスキャンレジスタ装置と機能回路１２１や外部端子との間で交換するように選択する命令が挙げられる。
【００４３】
第１の実施の形態においては、ステートマシンの状態の流れも、不揮発性記憶装置１３内の制御プログラムを書き換えるために使用される。例えば、不揮発性記憶装置１３のプログラミングには、ＴＡＰコントローラ１２０のステートマシンの制御下で実行される一連の流れが用いられる。
【００４４】
図３は、第１の実施の形態における書き換え処理を示すフローチャートである。第１の実施の形態においては、不揮発性記憶装置１３の一例として、フラッシュメモリを想定する。また、第１の実施の形態においては、不揮発性記憶装置１３の記憶内容を書き換えるための書き換えプログラム、及び、不揮発性記憶装置１３に格納すべき制御プログラム（ブートプログラム、オペレーティングプログラム、アプリケーションプログラム等）を、パーソナルコンピュータのハードディスクや、ＪＴＡＧ専用書き換えハードウェアに予め記憶しておき、パーソナルコンピュータやＪＴＡＧ専用書き換えハードウェアを、回路ボード上にバウンダリスキャンテスト回路１２が搭載された装置に接続し、制御することで、不揮発性記憶装置１３の書き換えを行うことを想定する。
【００４５】
図３に示すように、まず、ＳＥＬに、第２経路を指定するＳＥＬ信号が入力され、バウンダリスキャンテスト回路１２は、第２経路への切り替えを行う（ステップＳ３０）。例えば、ＳＥＬ信号は、フリップフロップ回路１６を経由して経路セレクタ１４、経路セレクタ１５、及びスイッチング素子１７の制御入力に入力される。
【００４６】
すると、経路セレクタ１５は、経路１５ａ及び経路１５ｂのうち経路１５ｂを選択する。また、経路セレクタ１４は、経路１４ａ及び経路１４ｂのうち経路１４ｂを選択する。また、スイッチング素子１７は、スイッチをオフに制御し、ＴＡＰコントローラ１２０からの入力信号が、バウンダリスキャンレジスタ装置１２３のみに入力されるように制御する。こうして、ＴＤＩから入力されたデータが、バウンダリスキャンレジスタ装置１２３を経由し、バウンダリスキャンレジスタ装置１２２及びバウンダリスキャンレジスタ装置１２４を経由せずに出力セレクタ１２５に出力される、第２経路に切り替えられたことになる。
【００４７】
次に、パーソナルコンピュータやＪＴＡＧ専用書き換えハードウェアにて実行される書き換えプログラムは、ＴＡＰコントローラ１２０からバウンダリスキャンレジスタ装置１２３に対して入力される制御信号を制御し、ＴＤＩから入力されるデータを制御することで、不揮発性記憶装置１３（フラッシュメモリ）のセクタに書き込まれたデータを消去する（ステップＳ３１）。
【００４８】
続いて、書き換えプログラムは、ステップＳ３１にてデータを消去したセクタに書き込むべき制御プログラムをｎバイト書き込み（ステップＳ３２）、続いて、書き込んだセクタから制御プログラムを読み出して、書き込んだ制御プログラムと読み出した制御プログラムとを照合することで、書き込みが正常に行われたことを確認する（ステップＳ３３）。
【００４９】
この後、書き換えプログラムは、不揮発性記憶装置１３（フラッシュメモリ）への制御プログラムの書き込みが完了したか否かを判定し（ステップＳ３４）、完了していない場合には（ステップＳ３４否定）、次のセクタに対する書き込みを行うために、ステップＳ３１の処理に戻る。一方、書き込みが完了した場合には（ステップＳ３４肯定）、書き換え処理を終了する。なお、ステップＳ３１〜Ｓ３３において、書き換えプログラムは、バウンダリスキャンレジスタ装置１２３及び不揮発性記憶装置１３（フラッシュメモリ）の制御に必要な制御信号、アドレス、データのみを入力すればよい。
【００５０】
上述してきたように、第１の実施の形態によれば、バウンダリスキャンテスト回路に、不揮発性記憶装置に関連する端子と結合されたバウンダリスキャン装置のみを経由する経路が新たに作製され、不揮発性記憶装置内の制御プログラムの書き換え時には、この新たに作製された経路を用いてデータが入力され、不揮発性記憶装置に関連しないその他の端子にはデータが入力されないので、書き換え時間を短縮することが可能になる。
【００５１】
なお、図１に示す構成は、一例に過ぎず、バウンダリスキャンレジスタ装置の数や、その他の構成等、任意に変更することが可能である。
【００５２】
（第２の実施の形態）
続いて、図４は、第２の実施の形態に係る集積回路１２の構成図である。第２の実施の形態において、集積回路１２（バウンダリスキャンテスト回路１２）は、フリップフロップ回路１６の代わりに、１ビットの経路選択レジスタ装置５０を有する。
【００５３】
経路選択レジスタ装置５０の入力は、ＴＡＰコントローラ１２０に接続される。また、経路選択レジスタ装置５０の出力は、経路セレクタ１４、経路セレクタ１５、及びスイッチング素子１７それぞれの制御入力に接続される。経路選択レジスタ装置５０は、シフトレジスタ及びアップデートレジスタを有する（図示を省略）。経路選択レジスタ装置５０は、ＴＡＰコントローラ１２０による制御の下、バウンダリスキャンレジスタ装置１２２〜１２４と同様、シリアル入力からシフトレジスタを介してシリアル出力にデータをシフトする処理、又は、シフトレジスタからアップデートレジスタまで、アップデートレジスタから経路セレクタ１４、経路セレクタ１５、及びスイッチング素子１７に接続する別のシリアル出力までデータを出力する処理等を行う。
【００５４】
ＴＡＰコントローラ１２０は、インストラクションレジスタ（図示を省略）を有する。このインストラクションレジスタは、通常、バウンダリスキャンテストを実行するためのテストパターンや、バウンダリスキャンテストを指示するための命令コードを設定する。第２の実施の形態においては、この命令コードの一つとして、経路切替を行うための信号出力を行う命令コード（以下、適宜「経路切替命令」という）を準備する。すなわち、ＴＡＰコントローラ１２０は、この経路切替命令を用いて、経路選択レジスタ装置５０を制御する。
【００５５】
図２を用いてＴＡＰコントローラ１２０の状態遷移を説明したが、第２の実施の形態において、経路を切り替える場合、ＴＡＰコントローラ１２０は、まず、状態遷移図の第２列２１に沿って制御され、経路切替命令が実行される。すなわち、インストラクションレジスタが、シフトレジスタを通して経路切替命令を転送する。次に、ＴＡＰコントローラ１２０は、第１列２０に沿って制御され、切り替えたい経路になるように、『SHIFT_DR』状態で、経路選択レジスタ装置５０に対して制御信号を出力し、『UPDATE_DR』状態で、経路セレクタ１４及び経路セレクタ１５に制御信号を出力する。
【００５６】
（第３の実施の形態）
次に、第３の実施の形態を説明する。図５は、第３の実施の形態に係るバウンダリスキャンレジスタ装置４０の構成図である。第３の実施の形態に係るバウンダリスキャンレジスタ装置４０は、第１の実施の形態及び第２の実施の形態の双方に適用することができる。なお、バウンダリスキャンレジスタ装置４０は、例えば、第１の実施の形態及び第２の実施の形態におけるバウンダリスキャンレジスタ装置１２３に相当し、不揮発性記憶装置４１に関連する端子を有し、不揮発性記憶装置４１に関連する入力及び出力を取り扱う。
【００５７】
第３の実施の形態に係るバウンダリスキャンレジスタ装置４０は、図５に示すように、その内部に、複数のバウンダリスキャンレジスタ装置を更に含み、これら複数のバウンダリスキャンレジスタ装置のうち、不揮発性記憶装置４１の端子数に応じた所定数のバウンダリスキャンレジスタ装置を選択可能に接続されたものである。また、バウンダリスキャンレジスタ装置４０は、図５に示すように、所定数のバウンダリスキャンレジスタ装置の選択を制御するＣＨ信号の入力を受け付ける。
【００５８】
具体的には、バウンダリスキャンレジスタ装置４０は、図５に示すように、入力されたＣＨ信号に応じて出力先を切り替えるセレクタを２つのバウンダリスキャンレジスタ装置の間に有する。例えば、端子数切替セレクタ４０１を、バウンダリスキャンレジスタ装置４００と、バウンダリスキャンレジスタ装置４０２との間に有する。また、例えば、端子数切替セレクタ４０４を、バウンダリスキャンレジスタ装置４０３と、バウンダリスキャンレジスタ装置４０５との間に有する。
【００５９】
端子数切替セレクタ４０１は、ＣＨ信号に応じて、端子数切替セレクタ４０１の後段に接続されたバウンダリスキャンレジスタ装置４００を経由する経路と経由しない経路とに出力先を切り替える。また、端子数切替セレクタ４０４も同様に、ＣＨ信号に応じて、端子数切替セレクタ４０４の後段に接続されたバウンダリスキャンレジスタ装置４０３を経由する経路と経由しない経路とに出力先を切り替える。なお、例えば、バウンダリスキャンレジスタ装置４００、端子数切替セレクタ４０１、及びバウンダリスキャンレジスタ装置４０２の組み合わせは、アドレス数（又はデータ数）の調節に用いられ、バウンダリスキャンレジスタ装置４０３、端子数切替セレクタ４０４、及びバウンダリスキャンレジスタ装置４０５の組み合わせは、データ数（又はアドレス数）の調節に用いられる。
【００６０】
例えば、端子数が少ない場合の不揮発性記憶装置４１のアドレス線数（又はデータ線数）に対応できるように、端子数切替セレクタ４０４の前段にバウンダリスキャンレジスタ装置４０５を配置し、端子数が最大の場合に対応できるように、端子数切替セレクタ４０４の後段に、バウンダリスキャンレジスタ装置４０３を配置すればよい。同様に、端子数が少ない場合の不揮発性記憶装置４１のアドレス線数（又はデータ線数）に対応できるように、端子数切替セレクタ４０１の前段にバウンダリスキャンレジスタ装置４０２を配置し、端子数が最大の場合に対応できるように、端子数切替セレクタ４０１の後段に、バウンダリスキャンレジスタ装置４００を配置すればよい。
【００６１】
このように、第３の実施の形態においては、端子数切替セレクタ４０１及び端子数切替セレクタ４０４の出力先を切り替えることで、アドレス数及びデータ数の長さを調節する。この結果、例えば、アドレス数やデータ数が少ない不揮発性記憶装置４１を接続した場合にも、不要な入出力処理を行うことなく、不揮発性記憶装置４１の書き換えが可能である。
【００６２】
なお、不揮発性記憶装置４１の端子数のバリエーションが多数ある場合には、｛（端子数のバリエーションの数）−１｝分の端子数切替セレクタの組（端子数切替セレクタと、その後段に接続されるバウンダリスキャンレジスタ装置との組）を組み込むことで、様々なパターンの端子数を持つ不揮発性記憶装置４１に対して、必要最小限の入出力処理のみを行うことが可能になる。
【符号の説明】
【００６３】
１２  バウンダリスキャンテスト回路
１３  不揮発性記憶装置
１４  経路セレクタ
１５  経路セレクタ
１６  フリップフロップ回路
１７  スイッチング素子
１２０  ＴＡＰコントローラ
１２２  バウンダリスキャンレジスタ装置
１２３  バウンダリスキャンレジスタ装置
１２４  バウンダリスキャンレジスタ装置
【先行技術文献】
【特許文献】
【００６４】
【特許文献１】特開２００６−１８９３０５号
【特許文献２】特許第３９７４１１０号
【図１】
2013061231.tif 000003
【図２】
2013061231.tif 000004
【図３】
2013061231.tif 000005
【図４】
2013061231.tif 000006
【図５】
2013061231.tif 000007