(57)【要約】【課題】ＲＯＭエミュレータによるプログラムのデバッグでは、専用のコネクタをＣＰＵが実装された基板に設ける必要ある。このコネクタを追加することにより、配線抵抗が上昇し、メモリのアクセスタイミングを悪化させる。そこで、メモリ間のアクセスタイミングに影響を与えずに、プログラムのデバッグを実現する半導体集積回路を提供する。【解決手段】半導体集積回路は、メモリに対するアクセスを制御するメモリコントローラと、メモリコントローラの端子と外部端子の間に配置されるバウンダリスキャン回路と、バウンダリスキャン回路の動作モードを決定するモード信号の出力が可能なＪＴＡＧインターフェイスと、プログラムのデバッグ時に、モード信号に基づいて、メモリコントローラのリードアクセスを許可する制御信号を、バウンダリスキャン回路を介して、メモリコントローラに発行するタイミング制御回路と、を備える。【選択図】図１
2012155649.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの実行が可能な半導体集積回路であって、
メモリに対するアクセスを制御するメモリコントローラと、
前記メモリコントローラの端子と外部端子の間に配置されるバウンダリスキャン回路と、
外部から与えられるＪＴＡＧ信号に基づき、前記バウンダリスキャン回路の動作モードを決定するモード信号の出力が可能なＪＴＡＧインターフェイスと、
プログラムのデバッグ時に、前記モード信号に基づいて、前記メモリコントローラのリードアクセスを許可する制御信号を、前記バウンダリスキャン回路に対して出力するタイミング制御回路と、
を備え、
前記バウンダリスキャン回路は、前記制御信号に基づき、前記メモリコントローラのリードアクセスを許可することを特徴とする半導体集積回路。
【請求項２】
前記タイミング制御回路は、前記制御信号により前記メモリコントローラに対して、１サイクルのリードアクセスを許可する請求項１の半導体集積回路。
【請求項３】
前記バウンダリスキャン回路は、前記メモリが出力するウェイト信号を受け付けるウェイト端子と前記メモリコントローラとの間に配置される第１のバウンダリスキャンレジスタを含み、
前記第１のバウンダリスキャンレジスタは、前記タイミング制御回路が前記制御信号を出力する期間は、前記ウェイト信号を遮断し、前記ＪＴＡＧインターフェイスから前記メモリコントローラのリードサイクルを有効とする信号を受け付ける請求項１又は２の半導体集積回路。
【請求項４】
前記バウンダリスキャン回路は、さらに、前記メモリのアドレス端子と前記メモリコントローラとの間に接続される第２のバウンダリスキャンレジスタと、
前記メモリのデータ端子と前記メモリコントローラとの間に接続される第３のバウンダリスキャンレジスタと、を含み、
前記ＪＴＡＧインターフェイスは、前記バウンダリスキャン回路がスキャンシフトしたデバッグに関する情報を受け付ける請求項３の半導体集積回路。
【請求項５】
前記第１乃至第３のバウンダリスキャンレジスタは、
第１の入力端子と第２の入力端子を備える第１のマルチプレクサと、
第３の入力端子と第４の入力端子を備える第１のマルチプレクサと、
前記ＪＴＡＧインターフェイスが供給するクロックに同期するフリップフロップと、
を含み、
前記第１のマルチプレクサは、前記第１の入力端子と前記外部端子が接続されると共に、前記第２の入力端子と前記フリップフロップの出力端子が接続され、前記制御信号に基づいて前記第１の入力端子及び第２の入力端子の切り替えを行い、
前記第２のマルチプレクサは、前記第３の入力端子と前記第１のマルチプレクサの出力端子とが接続されると共に、前記第４の入力端子と前記ＪＴＡＧインターフェイスがスキャンイン信号を出力する端子と接続され、前記ＪＴＡＧインターフェイスの出力するＳｈｉｆｔ信号に基づいて前記第３の入力端子及び第４の入力端子の切り替えを行い、
前記フリップフロップの入力端子は前記第２のマルチプレクサの出力端子と接続されている請求項１乃至４いずれか一に記載の半導体集積回路。
【請求項６】
前記タイミング制御回路は、
データ端子から前記モード信号を受け付ける第２のフリップフロップと、
前記第２のフリップフロップの出力端子とデータ端子が接続されている第３のフリップフロップと、
前記第２のフリップフリップの出力端子及び前記第３のフリップフロップの反転出力端子が、それぞれ、第１の入力端子及び第２の入力端子に接続されている第１のＡＮＤ回路と、
前記第１のＡＮＤ回路の出力端子がデータ端子に接続され、出力端子から前記制御信号を出力する第４のフリップフロップと、
を備える請求項１乃至５いずれか一に記載の半導体集積回路。
【請求項７】
さらに、前記メモリコントローラは、前記メモリに対するアクセス中か否かを通知するアクセス通知信号の出力が可能であり、
前記タイミング制御回路は、前記モード信号及び前記アクセス通知信号に基づいて前記制御信号を出力する請求項１乃至５いずれか一に記載の半導体集積回路。
【請求項８】
前記タイミング制御回路は、
前記アクセス通知信号を反転するインバータと、
前記インバータの出力と、前記モード信号との論理積により前記制御信号を出力する第２のＡＮＤ回路と、
を備える請求項７の半導体集積回路。
【請求項９】
メモリに対するアクセスを制御するメモリコントローラと、
前記メモリコントローラの端子と外部端子の間に配置されるバウンダリスキャン回路と、
外部から与えられるＪＴＡＧ信号に基づき、前記バウンダリスキャン回路の動作モードを決定するモード信号の出力が可能なＪＴＡＧインターフェイスと、
を備え、プログラムの実行が可能な半導体集積回路のバス制御方法であって、
プログラムのデバッグ時に、
前記バウンダリスキャン回路にデータを設定する工程と、
前記モード信号に基づいて、前記メモリコントローラのリード動作を１サイクルの期間許可し、前記メモリコントローラに前記データを読み込ませるデータアップデート工程と、
前記データアップデート工程後、前記メモリコントローラのリードサイクルを禁止する工程と、
を含むことを特徴とする半導体集積回路のバス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路と半導体集積回路のバス制御方法に関する。特に、プログラムのデバッグ機能を備えた半導体集積回路に関する。
【背景技術】
【０００２】
組み込み機器に使用する回路は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）として動作する半導体集積回路を備えている。ＣＰＵに実行させるプログラムのデバッグには、デバッグのターゲットとなるＣＰＵのソケットにコネクタを挿入し、ＣＰＵの機能をコンピュータからエミュレートする方法が存在する。他にも、デバッグのターゲットとなるＣＰＵをそのまま利用し、外部に設けられたメモリ（通常動作時に使用するメモリとは異なるメモリ）上にプログラムをダウンロードしてデバッグを行なうＲＯＭエミュレータを使用する方法が存在する。
【０００３】
非特許文献１にＲＯＭを内蔵したＲＯＭエミュレータが開示されている。ＲＯＭエミュレータを用いたプログラムのデバッグでは、ＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）に準拠した手順でＣＰＵとコンピュータが通信し、ＲＯＭエミュレータが備えるメモリにアクセスする方法が採用されることが多い。ＪＴＡＧを用いたデバッグを行なう際には、半導体集積回路の外部端子とＣＰＵ間でやり取りされるデータの取得及び設定が必要であり、半導体集積回路（ＣＰＵ）はバウンダリスキャン回路を備えていることが必要になる。非特許文献２には、バウンダリスキャン回路の構成が開示されている。
【０００４】
さらに、特許文献１において、データ書き換えとバウンダリスキャンテストのハードウェアを共用にすることで、基板面積を縮小し、異なる種類の不揮発性メモリの書き換えを行なう半導体装置が開示されている。特許文献１で開示された技術では、バウンダリスキャン回路をプログラム書き換え用のプログラムの一次保存メモリとして使用している。
【０００５】
また、特許文献２において、コンピュータと拡張ユニット間で授受される複数の信号のうち、所定の信号群をシリアルデータに変換した後に受け渡すと共に、動作速度に直接影響を及ぼす特定の信号を直接受け渡すインターフェイスが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２３６３０７号公報
【特許文献２】特開２０００−０６５８９９号公報
【非特許文献】
【０００７】
【非特許文献１】コンピューテックス、“ＲＯＭエミュレータ（ＲＯＭｉＣＥｍｉｎｉＲＥＭ１６）”、［online］、［平成23年1月12日検索］、インターネット〈URL：http://www.computex.co.jp/products/romicemini/rem.htm〉
【非特許文献２】ＤＥＢＳＯＬ、“バウンダリスキャン講座”、［online］、［平成23年1月12日検索］、インターネット〈URL：http://www.debsol.com/AboutBS01.html〉
【発明の概要】
【発明が解決しようとする課題】
【０００８】
以下の分析は、本発明の観点からなされたものである。
【０００９】
上述のように、ＲＯＭエミュレータによるデバッグは、ＣＰＵが本来使用するメモリとは別のメモリにプログラムをダウンロードして行なわれる。しかし、近年のＣＰＵの動作クロックの高速化は著しく、ＣＰＵの動作クロックが高速化すると、ＣＰＵとＲＯＭエミュレータ間を接続するコネクタの影響が無視できなくなる。
【００１０】
図２は、ＲＯＭエミュレータを使用したＣＰＵのデバッグシステムの一例を示す図である。図２に示すデバッグシステムについての詳細は後述する。図２に示すデバッグシステムでは、ＣＰＵ１０の本来の動作に必要なプログラムはＲＯＭ２０に格納されており、デバッグの対象となるプログラムはＲＯＭエミュレータ２が内蔵するメモリにダウンロードする。プログラムのデバッグ時に、ＲＯＭ２０に格納されたプログラムは使用せず、ＲＯＭエミュレータ２が内蔵するメモリにダウンロードしたプログラムを使用する。そのため、デバッグ時には、ＣＰＵ１０と、ＲＯＭ２０及びＲＯＭエミュレータ２との接続を切り替えるためのコネクタ４０が必要となる。
【００１１】
ＣＰＵ１０が実装された基板上に、デバッグ時に限り使用するコネクタ４０を追加すると、コネクタ自身が持つ抵抗成分やコネクタを配設することに伴う配線抵抗が上昇し、信号の遅延及び反射を引き起こす。その結果、ＣＰＵ１０からメモリ（ＲＯＭ２０又はＲＯＭエミュレータ２が内蔵するメモリ）にアクセスする際のタイミングに対して悪影響を与える。即ち、コネクタ４０とコネクタ４０を配設するために必要な配線パターンが存在することにより、配線抵抗は上昇し、デバッグ時だけではなく、デバッグ時以外の動作（通常動作）においても、信号の遅延及び反射が発生してしまう。
【００１２】
その結果、ＣＰＵ１０からメモリにアクセスする際にウェイトを挿入するなどの処置が必要であり、ＣＰＵ１０のメモリアクセススピードに関する制約事項となっている。
【００１３】
以上のとおり、従来技術には、解決すべき問題点が存在する。
【００１４】
本発明の一側面において、メモリに対するアクセスタイミングに影響を与えることなく、プログラムのデバッグを実現する半導体集積回路及び半導体集積回路のバス制御方法が、望まれる。
【課題を解決するための手段】
【００１５】
本発明の第１の視点によれば、プログラムの実行が可能な半導体集積回路であって、メモリに対するアクセスを制御するメモリコントローラと、前記メモリコントローラの端子と外部端子の間に配置されるバウンダリスキャン回路と、外部から与えられるＪＴＡＧ信号に基づき、前記バウンダリスキャン回路の動作モードを決定するモード信号の出力が可能なＪＴＡＧインターフェイスと、プログラムのデバッグ時に、前記モード信号に基づいて、前記メモリコントローラのリードアクセスを許可する制御信号を、前記バウンダリスキャン回路に対して出力するタイミング制御回路と、を備え、前記バウンダリスキャン回路は、前記制御信号に基づき、前記メモリコントローラのリードアクセスを許可する半導体集積回路が提供される。
【００１６】
本発明の第２の視点によれば、メモリに対するアクセスを制御するメモリコントローラと、前記メモリコントローラの端子と外部端子の間に配置されるバウンダリスキャン回路と、外部から与えられるＪＴＡＧ信号に基づき、前記バウンダリスキャン回路の動作モードを決定するモード信号の出力が可能なＪＴＡＧインターフェイスと、を備え、プログラムの実行が可能な半導体集積回路のバス制御方法であって、プログラムのデバッグ時に、前記バウンダリスキャン回路にデータを設定する工程と、前記モード信号に基づいて、前記メモリコントローラのリード動作を１サイクルの期間許可し、前記メモリコントローラに前記データを読み込ませるデータアップデート工程と、前記データアップデート工程後、前記メモリコントローラのリードサイクルを禁止する工程と、を含む半導体集積回路のバス制御方法が提供される。
【発明の効果】
【００１７】
本発明の各視点によれば、メモリに対するアクセスタイミングに影響を与えることなく、プログラムのデバッグを実現する半導体集積回路及び半導体集積回路のバス制御方法が、提供される。
【図面の簡単な説明】
【００１８】
【図１】本発明の概要を説明するための図である。
【図２】ＲＯＭエミュレータを使用したＣＰＵのデバッグシステムの一例を示す図である。
【図３】バウンダリスキャン回路を備える半導体集積回路の一構成例を示す図である。
【図４】図３に示すバウンダリスキャンレジスタの一構成例である。
【図５】本発明の第１の実施形態に係るＣＰＵを含むデバッグシステムの一構成例を示す図である。
【図６】図５に示すＣＰＵの内部構成の一例を示す図である。
【図７】図６に示すバウンダリスキャンレジスタの内部構成の一例を示す図である。
【図８】図６に示すタイミング制御回路の内部構成の一例を示す図である。
【図９】図６に示すタイミング制御回路の動作タイミングを示す図である。
【図１０】図５に示すデバッグシステムによってデバッグを行なう際の動作の概略を示す図である。
【図１１】図６に示すＣＰＵの各信号の動作を示すタイミングチャートである。
【図１２】キャプチャーモード時における信号フローを示した図である。
【図１３】スキャンシフトモード時における信号フローを示した図である。
【図１４】アップデートモード時における信号フローを示した図である。
【図１５】第２の実施形態に係るＣＰＵが備えるタイミング制御回路の一構成例を示す図である。
【図１６】図１５に示すタイミング制御回路の動作タイミングを示す図である。
【発明を実施するための形態】
【００１９】
初めに、図１を用いて実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
【００２０】
上述のように、ＲＯＭエミュレータを使用するためには、デバッグ時に限り使用するコネクタが必要になる。すると、コネクタが存在しない場合と比較して、ＣＰＵを含む基板の配線抵抗が上昇してしまう。その結果、メモリのデータにアクセスするために必要なアドレス信号やデータ信号において、遅延や反射が起きてしまう。そのため、デバッグ時に限らず、通常動作時においても、ＣＰＵからメモリにアクセスする際のタイミングを調整することが必要になる。即ち、ＣＰＵのメモリアクセススピードに関する制約事項となる。
【００２１】
そこで、図１に示す半導体集積回路を提供する。図１に示す半導体集積回路は、メモリに対するアクセスを制御するメモリコントローラと、メモリコントローラの端子と外部端子の間に配置されるバウンダリスキャン回路と、外部から与えられるＪＴＡＧ信号に基づき、バウンダリスキャン回路の動作モードを決定するモード信号の出力が可能なＪＴＡＧインターフェイスと、プログラムのデバッグ時に、モード信号に基づいて、メモリコントローラのリードアクセスを許可する制御信号を、バウンダリスキャン回路に対して出力するタイミング制御回路と、を備えている。
【００２２】
プログラムのデバッグ時は、バウンダリスキャン回路を介してＣＰＵからメモリに対するアクセス情報をコンピュータに取り込み、コンピュータ上でエミュレーションした結果をバウンダリスキャン回路からメモリコントローラに設定する。その際に、メモリコントローラのリードアクセスを制限しなければ、コンピュータ上でエミュレーションを実行する前にデータの取得動作（データのフェッチ）が発生してしまう。そこで、デバッグ時におけるメモリコントローラのメモリに対するアクセスを制限し、コンピュータ上でエミュレーションしたデータが設定可能となった後に、メモリコントローラにおけるリードアクセスを許可することとした。即ち、デバッグ時にはメモリコントローラは常時、ウェイト状態とする。そして、コンピュータによるエミュレーション結果が準備できた後に、エミュレーション結果をバウンダリスキャン回路に設定する。その後、エミュレーション結果をメモリコントローラに読み込ませる指示がＪＴＡＧインターフェイスから発行され、ＪＴＡＧインターフェイスはモード信号としてタイミング制御回路に出力する。タイミング制御回路では、モード信号からメモリコントローラに対してリードサイクルを許可する制御信号を発行し、制御信号を受け付けたバウンダリスキャン回路はメモリコントローラのリードアクセスを許可する。
【００２３】
その結果、図１に示す半導体集積回路に実行させるプログラムのデバッグの際は、デバッグの対象となっているプログラムをコンピュータ上に記憶することが可能となり、ＲＯＭエミュレータ等のデバッグには不可欠であったコネクタを削除することが可能になる。デバッグ時に限り必要となるコネクタが存在することで発生していた信号の遅延や反射を抑制することが可能になり、デバッグ機能の実現を目的としたメモリアクセスのタイミング調整は不要となる。そのため、ＣＰＵのメモリアクセススピードに関する制約を解消することができる。
【００２４】
次に、図２に示すＲＯＭエミュレータを使用したＣＰＵのデバッグシステムについて説明する。図２に示すデバッグシステムは、評価ボード１と、ＲＯＭエミュレータ２と、ＪＴＡＧマスタ３と、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）４から構成されている。評価ボード１は、ＣＰＵ１０と、ＲＯＭ２０と、ＣＳ制御器３０と、コネクタ４０から構成されている。
【００２５】
ＣＰＵ１０は、中央演算装置（ＣＰＵ）として動作する半導体集積回路である。ＣＰＵ１０は、ＣＰＵ１０に接続されているメモリに対するアクセスを制御するメモリコントローラ（以下、ＭＥＭＣと呼ぶ）１０１と、ＪＴＡＧに準拠した通信信号のインターフェイスとなるＪＴＡＧ−ＩＦ１０２を備えている。ＣＰＵ１０のＭＥＭＣ１０１と、ＲＯＭ２０又はＲＯＭエミュレータ２が内蔵するメモリはコネクタ４０を介して接続されている。
【００２６】
ＲＯＭ２０には、ＣＰＵ１０に実行させるプログラムが格納されている。但し、ＲＯＭ２０には、デバッグ時にはターゲットとなるプログラムは格納されていない。
【００２７】
ＣＳ制御器３０は、ＣＰＵ１０にＲＯＭ２０に格納したプログラムを実行させるときは、ＣＰＵ１０が供給するＣＳ（Ｃｈｉｐ  Ｓｅｌｅｃｔ）信号をＲＯＭ２０に供給し、デバッグ時にはＲＯＭエミュレータ２にＣＳ信号を供給する。従って、デバッグ時にはＣＰＵ１０はコネクタ４０を経由して、ＲＯＭエミュレータ２が内蔵するメモリにアクセスする。
【００２８】
コネクタ４０は、ＣＰＵ１０とＲＯＭ２０を接続するバスに設けられており、さらにＣＰＵ１０とＲＯＭエミュレータ２を接続する。上述のように、ＲＯＭエミュレータ２が内蔵するメモリにデバッグのターゲットとなるプログラムをダウンロードする。なお、ＲＯＭエミュレータ２が内蔵するメモリの書き換え（プログラムのダウンロード）はＰＣ４から行なう。また、ＣＰＵ１０はＪＴＡＧマスタ３を介することで、ＪＴＡＧに準拠した手順でＰＣ４と通信する。
【００２９】
図２に示すデバッグシステムでは、デバッグのターゲットとなるプログラムをＲＯＭエミュレータ２が内蔵するメモリにダウンロードし、ＣＰＵ１０におけるプログラムの実行・停止などの制御はＪＴＡＧマスタ３を介してＰＣ４から行なう。その際に、ＣＰＵ１０とＲＯＭエミュレータ２が内蔵するメモリ間でやり取りされるデータの取得や、ＣＰＵ１０に対して任意のデータが設定できることが必要になる。そのため、ＣＰＵ１０にはバウンダリスキャン回路が内蔵されている。
【００３０】
次に、バウンダリスキャン回路について説明する。図３は、非特許文献２で開示されているバウンダリスキャン回路を備える半導体集積回路５の一構成例を示す図である。
【００３１】
図３に示す半導体集積回路５は、内部論理回路５０と、バウンダリスキャンレジスタ５１乃至５８と、ＴＡＰ（Ｔｅｓｔ  Ａｃｃｅｓｓ  Ｐｏｒｔ）コントローラ５９から構成されている。バウンダリスキャンレジスタ５１乃至５８とＴＡＰコントローラ５９によって、バウンダリスキャン回路を構成している。
【００３２】
図３に示すバウンダリスキャン回路は、半導体集積回路５の外部端子と内部論理回路５０の間でやり取りされるデータの取得及び任意なデータの設定を可能にするためのものである。半導体集積回路５には、外部端子と内部論理回路５０の間にバウンダリスキャンレジスタ５１乃至５８が設けられている。なお、バウンダリスキャンレジスタ５１乃至５８は、それぞれ直列に接続されており、各バウンダリスキャンレジスタが保持するデータを順次、次段のバウンダリスキャンレジスタに出力可能となっている（シフトレジスタを構成している）。
【００３３】
ＴＡＰコントローラ５９がバウンダリスキャンレジスタ５１乃至５８の制御を行なう。例えば、各バウンダリスキャンレジスタでのデータの取り込みや、取り込んだデータを次段のバウンダリスキャンレジスタにシフトアウトする動作をＴＡＰコントローラ５９が制御する。
【００３４】
続いて、バウンダリスキャンレジスタについて説明する。図４は、非特許文献２において開示されたバウンダリスキャンレジスタの一構成例である。図４に示すバウンダリスキャンレジスタは、双方向のデータの入出力が可能であり、マルチプレクサ６０乃至６４と、フリップフロップ６５及び６６と、バッファ６７により構成されている。なお、マルチプレクサ６０乃至６４に記したＨ及びＬは、入力切り替え信号がＨレベルの際に選択される入力端と、Ｌレベルの際に選択される入力端を示すものである（以下の説明においても同様とする）。
【００３５】
図２に示す構成を持つデバッグシステムでは、ＲＯＭエミュレータが内蔵するメモリにデバッグのターゲットとなるプログラムをダウンロードする。そのため、プログラムのデバッグを行なうためには、ＣＰＵ１０とＲＯＭエミュレータ２を接続するためのコネクタ４０が必要となる。さらに、ＣＰＵ１０が出力するＣＳ信号を切り替えるためのＣＳ制御器３０も必要である。
【００３６】
これらのデバッグ時に限り必要なコネクタ４０やＣＳ制御器３０を追加することにより、ＣＰＵ１０と、ＲＯＭ２０又はＲＯＭエミュレータ２が内蔵するメモリまでの配線抵抗が上昇する。その結果、メモリにアクセスする際に用いるアドレス信号やデータ信号が遅延、反射するといった問題が起こる。この信号の遅延及び反射は、通常動作時（デバッグ時以外）においても発生する。そのため、ＣＰＵ１０からメモリにアクセスする際にはウェイトを挿入するなどの処置が必要であり、ＣＰＵ１０のメモリアクセススピードが低下する要因となる。
【００３７】
［第１の実施形態］
次に、本発明の第１の実施形態について、図面を用いてより詳細に説明する。図５は、本実施形態に係る半導体集積回路（ＣＰＵ）を含むデバッグシステムの一構成例を示す図である。図５において、図２と同一の構成要素には、同一の符号を表し、その説明を省略する。
【００３８】
図５に示すデバッグシステムは、評価ボード７と、ＪＴＡＧマスタ３と、ＰＣ４から
構成されている。ＰＣ４には、デバッグのターゲットとなるプログラムが格納されている。評価ボード７は、ＣＰＵ７０とＲＯＭ２０から構成されている。
【００３９】
ＣＰＵ７０は、ＭＥＭＣ１０１と、ＪＴＡＧ−ＩＦ１０２と、タイミング制御回路１０３を備え、中央演算装置として動作する半導体集積回路である。図２に示すデバッグシステムと図５に示すデバッグシステムとを比較すると、評価ボード７にはＣＳ制御器３０及びコネクタ４０は存在しないことが分かる。
【００４０】
図６は、ＣＰＵ７０の内部構成の一例を示す図である。図６に示すＣＰＵ７０は、ＭＥＭＣ１０１と、ＪＴＡＧ−ＩＦ１０２と、タイミング制御回路１０３と、バウンダリスキャンレジスタ１０４乃至１０６から構成されている。ＭＥＭＣ１０１は、バウンダリスキャンレジスタ１０６を介してＣＰＵ７０のアドレス／コマンド端子と接続されている。同様に、ＭＥＭＣ１０１はバウンダリスキャンレジスタ１０５を介してデータ端子、バウンダリスキャンレジスタ１０４を介してウェイト端子と、それぞれ接続されている。なお、ＣＰＵ７０のアドレス／コマンド端子、データ端子、ウェイト端子は、それぞれＲＯＭ２０のアドレス端子、データ端子、ウェイト端子と接続されている。
【００４１】
また、ＲＯＭ２０がウェイト端子をウェイト状態にしている間は、ＭＥＭＣからＲＯＭ２０に対してメモリアクセスは行なわれない。なお、図５に示すデバッグシステムでは、デバッグ時のウェイト端子の状態を基板上に設けたスイッチなどを使用して常にＬレベルに設定する。
【００４２】
タイミング制御回路１０３は、ＭＥＭＣ１０１から基準クロックとなるＣＰＵ＿ＣＬＫを受け付け、ＪＴＡＧ−ＩＦ１０２からＳｅｌｅｃｔＡ信号を受け付ける。ＳｅｌｅｃｔＡ信号は上述のモード信号に相当する。タイミング制御回路１０３は、ＳｅｌｅｃｔＢ信号をバウンダリスキャンレジスタ１０４乃至１０６に出力する。ＳｅｌｅｃｔＢ信号は上述の制御信号に相当する。
【００４３】
ＪＴＡＧ−ＩＦ１０２は、バウンダリスキャンレジスタ１０４にＳｃａｎ＿Ｉｎ１信号を出力し、バウンダリスキャンレジスタ１０４乃至１０６に対してＳｈｉｆｔ信号を出力する。また、ＪＴＡＧ−ＩＦ１０２から、バウンダリスキャンレジスタ１０４乃至１０６に対してクロック（ＪＴＡＧ＿ＣＬＫ）を出力する。
【００４４】
なお、バウンダリスキャンレジスタ１０４乃至１０６に入力するＳｃａｎ＿Ｉｎ信号は、Ｓｃａｎ＿Ｉｎ１、Ｓｃａｎ＿Ｉｎ２、Ｓｃａｎ＿Ｉｎ３と表記する。同様に、バウンダリスキャンレジスタ１０４乃至１０６から出力するＳｃａｎ＿Ｏｕｔ信号は、Ｓｃａｎ＿Ｏｕｔ１、Ｓｃａｎ＿Ｏｕｔ２、Ｓｃａｎ＿Ｏｕｔ３と表記する。
【００４５】
次に、バウンダリスキャンレジスタ１０４乃至１０６の構成について説明する。なお、バウンダリスキャンレジスタ１０４乃至１０６の構成は同一のため、バウンダリスキャンレジスタ１０４に限り説明を行なう。図７は、バウンダリスキャンレジスタ１０４の内部構成の一例を示す図である。
【００４６】
バウンダリスキャンレジスタ１０４は、マルチプレクサ１０４１及び１０４２と、フリップフロップ１０４３から構成される。ＣＰＵ７０のウェイト端子は、マルチプレクサ１０４１の入力端子に接続され、フリップフロップ１０４３の出力端子はマルチプレクサ１０４１の他の入力端子に接続される。マルチプレクサ１０４１の出力端子は、ＭＥＭＣ１０１の入力端子及びマルチプレクサ１０４２の入力端子に接続される。マルチプレクサ１０４１の出力する信号は、ＳｅｌｅｃｔＢ信号に基づいて定まる。マルチプレクサ１０４２には、マルチプレクサ１０４１の出力に加えてＳｃａｎ＿Ｉｎ１信号が入力される。また、マルチプレクサ１０４２の出力する信号は、Ｓｈｉｆｔ信号に基づいて定まる。マルチプレクサ１０４２の出力端子はフリップフロップ１０４３の入力端子に接続される。フリップフロップ１０４３の出力端子は、マルチプレクサ１０４１の入力端子と接続されると共に、バウンダリスキャンレジスタ１０４のＳｃａｎ＿Ｏｕｔ１信号として、次段のフリップフロップ１０５に出力される。
【００４７】
続いて、タイミング制御回路１０３の詳細な構成について説明する。図８は、タイミング制御回路１０３の内部構成の一例を示す図である。
【００４８】
タイミング制御回路１０３は、フリップフロップ１０３１乃至１０３３と、ＡＮＤ回路１０３４から構成されている。ＪＴＡＧ−ＩＦ１０２が出力するＳｅｌｅｃｔＡ信号をフリップフロップ１０３１のデータ入力端子で受け付ける。フリップフロップ１０３１の出力端子は、フリップフロップ１０３２のデータ入力端子及びＡＮＤ回路１０３４の入力端子に接続される。さらに、ＡＮＤ回路１０３４の他の入力端子はフリップフロップ１０３２の反転出力端子と接続される。ＡＮＤ回路１０３４の出力端子はフリップフロップ１０３３のデータ入力端子に接続される。フリップフロップ１０３３の出力端子から、ＳｅｌｅｃｔＢ信号を出力する。なお、フリップフロップ１０３１乃至１０３３のクロック端子には、ＭＥＭＣ１０１が供給するＣＰＵ＿ＣＬＫが入力される。
【００４９】
図９は、メモリアクセスの１サイクルがＣＰＵ＿ＣＬＫの１周期に等しいとした場合のタイミング制御回路１０３の動作を示す図である。図９の縦軸には、ＣＰＵ＿ＣＬＫ、ＳｅｌｅｃｔＡ信号、フリップフロップ１０３１の出力、フリップフロップ１０３２の反転出力、ＡＮＤ回路１０３４の出力、ＳｅｌｅｃｔＢ信号を示す。
【００５０】
時刻Ｔ０〜Ｔ２の期間に入力されるＳｅｌｅｃｔＡ信号はＬレベルであるので、フリップフロップ１０３１の出力及びＡＮＤ回路１０３４の出力はＬレベルとなる。フリップフロップ１０３２の反転出力はＨレベルとなる。その後、時刻Ｔ２とＴ３の期間において、ＳｅｌｅｃｔＡ信号がＨレベルに変化したものとする。その結果、時刻Ｔ３において、フリップフロップ１０３１の出力はＨレベルとなる。同時に、ＡＮＤ回路１０３４の出力もＨレベルとなる。すると、フリップフロップ１０３２の出力は１クロック遅延して反転されるので、時刻Ｔ４においてＬレベルとなる。フリップフロップ１０３２の反転出力を受け付けたＡＮＤ回路１０３４の出力は、時刻Ｔ４においてＬレベルとなる。
【００５１】
このように、ＡＮＤ回路１０３４の出力は時刻Ｔ３とＴ４の期間に限りＨレベルを出力する。そして、フリップフロップ１０３３はＡＮＤ回路１０３４の出力をＣＰＵ＿ＣＬＫに同期させ、ＳｅｌｅｃｔＢ信号として１クロック遅延させて出力する。
【００５２】
一方、時刻Ｔ７とＴ８の期間においてＳｅｌｅｃｔＡ信号がＬレベルに遷移したとすると、フリップフロップ１０３１の出力はＬレベルとなる。フリップフロップ１０３１の出力がＬレベルとなると、フリップフロップ１０３２の反転出力は時刻Ｔ９においてＨレベルとなる。時刻Ｔ９における各信号の状態は時刻Ｔ０の状態と同じであり、時刻Ｔ９以降は上述の動作を繰り返す。
【００５３】
次に、本実施系形態に係るＣＰＵ７０を含むデバッグシステムの動作について説明する。図１０は、ＣＰＵ７０を含むデバッグシステムによってデバッグを行なう際の動作の概略を示す図である。
【００５４】
ステップＳ０１では、ＣＰＵ７０の内部からＭＥＭＣ１０１に対してアドレスを指定したデータの取り込み指示が出力される。その指示を受けたＭＥＭＣ１０１は、指定されたアドレス信号をバウンダリスキャンレジスタ１０６に対して出力する。
【００５５】
ステップＳ０２では、バウンダリスキャンレジスタ１０４乃至１０６で保持しているデータをＰＣ４に取り込む。本ステップでは、各バウンダリスキャンレジスタで保持したデータを次段のバウンダリスキャンレジスタに順次送り、ＰＣ４において最終段のバウンダリスキャンレジスタ（バウンダリスキャンレジスタ１０６）から出力されるデータを順次取り込む。ここで、バウンダリスキャンレジスタ１０４乃至１０６でデータの取り込みを行なう動作をバウンダリスキャンレジスタのキャプチャーモードと呼び、各バウンダリスキャンレジスタで保持したデータを次段のバウンダリスキャンレジスタに順次送る動作をバウンダリスキャンレジスタのスキャンシフトモードと呼ぶ。
【００５６】
ステップＳ０３では、ＰＣ４において、取り込んだアドレス信号を基にＲＯＭデータのエミュレートを行なう。さらに、エミュレート結果を返答データとして生成する。
【００５７】
ステップＳ０４では、ステップＳ０３で生成した返答データをバウンダリスキャンレジスタ１０４乃至１０６に設定する。
【００５８】
ステップＳ０５では、バウンダリスキャンレジスタ１０４乃至１０６に設定した返答データをＭＥＭＣ１０１に読み込ませる。ここで、バウンダリスキャンレジスタに設定したデータをＭＥＭＣに読み込ませる動作をバウンダリスキャンレジスタのアップデートモードと呼ぶ。
【００５９】
ステップＳ０５が終了すると、ステップＳ０１に遷移し、プログラムのデバッグを継続する。
【００６０】
続いて、図１０の各ステップにおけるＣＰＵ７０の動作について説明する。図１１は、ＣＰＵ７０の各信号の動作を示すタイミングチャートである。図１１の縦軸には、ＣＰＵ＿ＣＬＫ、ＳｅｌｅｃｔＡ信号、ＳｅｌｅｃｔＢ信号、ウェイト信号（ウェイト端子の状態）、マルチプレクサ１０４１の出力、Ｓｈｉｆｔ信号、Ｓｃａｎ＿Ｉｎ１信号、マルチプレクサ１０４２の出力、フリップフロップ１０４３の出力、Ｓｃａｎ＿Ｏｕｔ１信号を示す。
【００６１】
時刻Ｔ０〜Ｔ２の期間は、上述のキャプチャーモードに相当する。時刻Ｔ０〜Ｔ２の期間においては、ＪＴＡＧ−ＩＦ１０２が出力するＳｅｌｅｃｔＡ信号がＬレベルであるため、タイミング制御回路１０３が出力するＳｅｌｅｃｔＢ信号もＬレベルである。すると、マルチプレクサ１０４１はウェイト端子の状態を出力し、ウェイト端子の状態はＬレベルであるので、マルチプレクサ１０４１の出力はＬレベルとなる。バウンダリスキャンレジスタ１０４の出力としてＬレベルを受け取ったＭＥＭＣ１０１では、ＣＰＵ７０の外部端子であるウェイト端子がＬレベルであると解釈し、メモリに対するアクセスを行なわない（中断する）。また、Ｓｈｉｆｔ信号がＬレベルであれば、マルチプレクサ１０４２はマルチプレクサ１０４１の出力（Ｌレベル）を選択し、フリップフロップ１０４３に出力する。フリップフロップ１０４３では、入力された信号（Ｌレベル）をＳｃａｎ＿Ｏｕｔ１信号として次段のバウンダリスキャンレジスタ１０５に出力する。このようにして、バウンダリスキャンレジスタ１０４で保持するウェイト信号の値を次段のバウンダリスキャンレジスタ１０５及びＭＥＭＣ１０１に対して出力する。
【００６２】
図１２は、キャプチャーモード時のバウンダリスキャンレジスタ１０４の信号フローを示した図である。図１２において、点線がキャプチャーモード時に選択されている信号の経路である。図１２からも明らかなように、バウンダリスキャンレジスタ１０４ではウェイト信号をＭＥＭＣ１０１に伝えると共に、フリップフロップ１０４３で保持した情報を次段のバウンダリスキャンレジスタ１０５に出力する。
【００６３】
次に、スキャンシフトモードについて説明する。図１１の時刻Ｔ２〜Ｔ３の期間は、上述のスキャンシフトモードに相当する。スキャンシフトモードでは、ＣＰＵ７０の外部から入力される信号をＭＥＭＣ１０１に伝えながら、前段のバウンダリスキャンレジスタが出力するデータを次段のバウンダリスキャンレジスタに伝える（シフトする）。時刻Ｔ２〜Ｔ３の期間においても、ＳｅｌｅｃｔＢ信号はＬレベルであるのでウェイト信号はＭＥＭＣ１０１に伝えられる。しかし、スキャンシフトモードでは、マルチプレクサ１０４２が受け付けるＳｈｉｆｔ信号がＨレベルとなるので、Ｓｃａｎ＿Ｉｎ１信号が選択されて後段のフリップフロップ１０４３に出力する。そして、フリップフロップ１０４３では、ＪＴＡＧ−ＩＦ１０２が供給するＪＴＡＧ＿ＣＬＫに同期してＳｃａｎ＿Ｏｕｔ１信号として、Ｓｃａｎ＿Ｉｎ１信号を出力する。このように、バウンダリスキャンレジスタ１０４乃至１０６が取り込んだデータを次段のバウンダリスキャンレジスタに出力することで、最終的にＰＣ４において、ＭＥＭＣ１０１が出力するアドレス信号やＣＰＵ７０のデータ端子やウェイト端子の状態（信号）を取り込むことができる。
【００６４】
図１３は、図１２と同様、スキャンシフトモード時のバウンダリスキャンレジスタ１０４の信号フローを示したものである。
【００６５】
次に、アップデートモードについて説明する。図１１の時刻Ｔ１０〜Ｔ１２の期間は、上述のアップデートモードに相当する。アップデートモードでは、バウンダリスキャンレジスタ１０４乃至１０６で形成するバウンダリスキャン回路に設定されたデータ（返答データ）をＭＥＭＣ１０１に読み込ませる。アップデートモードでは、Ｓｈｉｆｔ信号はＨレベルであり、マルチプレクサ１０４２の出力はＳｃａｎ＿Ｉｎ１信号が選択されて出力される。すると、Ｓｃａｎ＿Ｉｎ１信号にＨレベルが設定されている場合には、フリップフロップ１０４３を介してマルチプレクサ１０４１にＨレベルが出力される。
【００６６】
一方、タイミング制御回路１０３では、時刻Ｔ１０とＴ１１の期間にＳｅｌｅｃｔＡ信号がＬレベルからＨレベルに変化しているため、この変化に基づいてＳｅｌｅｃｔＢ信号が時刻Ｔ１１とＴ１２の期間に限りＨレベルとなる。マルチプレクサ１０４１では、時刻Ｔ１１とＴ１２の期間に限り、フリップフロップ１０４３の出力を選択して出力する。この場合には、Ｓｃａｎ＿Ｉｎ１信号にＨレベルが設定されているため、ＭＥＭＣ１０１では、Ｓｃａｎ＿Ｉｎ１信号のＨレベルを１クロックの期間受け付ける。
【００６７】
バウンダリスキャンレジスタ１０４の出力（マルチプレクサ１０４１の出力）は、ＭＥＭＣ１０１においてはウェイト信号と解釈され、ウェイト信号がＨレベルに変化したと認識される。その結果、ＭＥＭＣ１０１ではウェイトが解除されメモリアクセス（データの取り込み）が実行される。従って、ＪＴＡＧ−ＩＦ１０２が、ＰＣ４でエミュレーションしたデータ（返答データ）を時刻Ｔ１１までにバウンダリスキャンレジスタ１０４乃至１０６に設定することで、返答データをＭＥＭＣ１０１に読み込ませることが可能になる。
【００６８】
さらに、タイミング制御回路１０３が出力するＳｅｌｅｃｔＢ信号は時刻Ｔ１２ではＬレベルとなるのでマルチプレクサ１０４１の出力はウェイト端子の状態を出力することになる。ウェイト端子の状態はＬレベルであるので、ＭＥＭＣ１０１によるメモリアクセスは再び中断される。以上の動作で、図１０におけるステップＳ０５まで終了したことになる。その後は、ステップＳ０１に戻り次のエミュレーションが実行される。具体的には、時刻Ｔ１４において、ＪＴＡＧ−ＩＦ１０２からＳｅｌｅｃｔＡ信号としてＬレベルが出力され、時刻Ｔ２１までの間にＰＣ４にデータが取り込まれる。その後、時刻Ｔ２１とＴ２２の間にＳｅｌｅｃｔＡ信号をＨレベルとすることで、ＳｅｌｅｃｔＢ信号が１サイクル間に限りＨレベルとなり、ＭＥＭＣ１０１にデータを読み取らせることが可能になる。
【００６９】
図１４は、図１２と同様、アップデートモード時のバウンダリスキャンレジスタ１０４の信号フローを示したものである。
【００７０】
以上のように、バウンダリスキャン回路を内蔵する半導体集積回路において、タイミング制御回路１０３を設け、メモリコントローラ（ＭＥＭＣ１０１）に供給するウェイト信号を適宜、制御することでプログラムのデバッグを行なうことができる。ウェイト信号を適切に制御しなければ、ＭＥＭＣ１０１はメモリに対してアクセス可能と解釈するためバウンダリスキャンレジスタによるアップデートモードが終了すると即座にデータのフェッチを始めてしまう。
【００７１】
図１１のタイミングを例に取ると、時刻Ｔ１２で再びウェイト信号をＬレベルとしてＭＥＭＣ１０１に出力しなければ、ＭＥＭＣではメモリに対してアクセス可能と判断し、次々とデータのフェッチを始めてしまう。しかし、デバッグ時にはＰＣ４においてプログラムのエミュレーションをしなければならず、時刻Ｔ１２の後、即座にデータの用意はできない。そこで、ＭＥＭＣ１０１に対するウェイト信号はＬレベルを基本として、必要に応じてタイミング制御回路１０３によって制御する。
【００７２】
ＲＯＭエミュレータによるデバッグでは、専用のコネクタが必要であったが、本実施形態に係る半導体集積回路を含むデバッグシステムであれば専用のコネクタは必要ない。ＲＯＭエミュレータを使ったデバッグ方法では、コネクタ等の追加配線の影響で信号が遅延してしまい、追加配線の遅延を考慮しなければ、データを正しく読み出すことができないという問題が発生していた。この問題を解決するためには、メモリにアクセスするタイミングを変更（余分なウェイトを挿入など）するなどの対処が必要であった。
【００７３】
しかし、本実施形態に係る半導体集積回路を含むデバッグシステムにおいては、バウンダリスキャンレジスタを経由して、直接データを読み取り、その読み取ったデータからＭＥＭＣ１０１に返答するデータを作成し、ＭＥＭＣ１０１に読み込ませるという動作をさせるため、メモリのアクセスタイミングを調整する必要はないという効果を有する。
【００７４】
また、プログラムのデバッグ時に限り必要であったコネクタ等が不要であり、本実施形態に係る半導体集積回路を備えた製品のコストダウンを実現できる。
【００７５】
［第２の実施形態］
続いて、第２の実施形態について図面を参照して詳細に説明する。
【００７６】
本実施形態に係る半導体集積回路（ＣＰＵ）は、リードアクセスサイクル中であることを示す信号の出力が可能なＭＥＭＣ１０１ａを備えているものとする。リードアクセスサイクル中であることを示す信号（アクセス通知信号）をＲＤＺ信号と定め、ＲＤＺ信号がＬレベルであればＭＥＭＣ１０１ａがリードサイクル中であることを示すものとする。
【００７７】
図１５は、本実施形態に係るＣＰＵ７０ａが備えるタイミング制御回路１０３ａの一構成例を示す図である。図１５に示すタイミング制御回路１０３ａは、ＡＮＤ回路１０３５とインバータ１０３６から構成されている。
【００７８】
ＭＥＭＣ１０１ａが出力するＲＤＺ信号をインバータ１０３６に入力し、インバータ１０３６の出力端子をＡＮＤ回路１０３５の入力端子に接続する。また、ＪＴＡＧ−ＩＦ１０２が出力するＳｅｌｅｃｔＡ信号をＡＮＤ回路１０３５の他の入力端子により受け付ける。なお、第１の実施形態に係るＣＰＵ７０と本実施形態に係るＣＰＵ７０ａの相違点は、ＭＥＭＣ１０１ａとタイミング制御回路１０３ａであり、他の説明は省略する。
【００７９】
図１６は、タイミング制御回路１０３ａの動作を示す図である。図１６の縦軸には、ＣＰＵ＿ＣＬＫ、ＭＥＭＣ１０１ａの出力するＲＤＺ信号、ＳｅｌｅｃｔＡ信号、インバータ１０３６の出力、ＳｅｌｅｃｔＢ信号を示す。図１６のＲＤＺ信号は、時刻Ｔ１にＬレベルに変化し、時刻Ｔ９とＴ１０の期間内でＨレベルに変化している。この間はＭＥＭＣ１０１ａによるリードサイクルが継続していることを意味する。そして、ＪＴＡＧ−ＩＦ１０２の出力するＳｅｌｅｃｔＡ信号が時刻Ｔ３でＨレベルと変化している。すると、ＡＮＤ回路１０３５にはインバータ１０３６の出力するＨレベルとＳｅｌｅｃｔＡ信号のＨレベルが入力されることになるため、ＳｅｌｅｃｔＢ信号は時刻Ｔ３でＨレベルに変化する。その後、ＲＤＺ信号がＨレベルに変化（リードアクセスサイクルが終了）すると同時にＳｅｌｅｃｔＢ信号はＬレベルに変化する。
【００８０】
このように、ＳｅｌｅｃｔＢ信号はＭＥＭＣ１０１ａの１回のリードアクセス中に限りＨレベルとなる。即ち、ＪＴＡＧ−ＩＦ１０２から各バウンダリスキャンレジスタで保持するデータをＭＥＭＣ１０１ａに取り込ませることを目的としてＳｅｌｅｃｔＡ信号がＨレベルに設定され、かつ、ＭＥＭＣ１０１ａのリードアクセスサイクルが継続している期間（ＲＤＺ信号がＬレベルの期間）に限りＳｅｌｅｃｔＢ信号がＨレベルに設定される。その結果、バウンダリスキャンレジスタによるアップデートモードが実現できる。タイミング制御回路１０３ａが生成するＳｅｌｅｃｔＢ信号以降の動作は、第１の実施形態に係るＣＰＵ７０の動作と同様のため省略する。
【００８１】
以上のように、ＭＥＭＣ１０１ａがＲＤＺ信号の出力が可能であれば、タイミング制御回路１０３ａを簡易な構成とすることができる。
【００８２】
なお、上記の特許文献等の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。例えば、第１及び第２の実施形態では、バウンダリスキャンレジスタは片方向タイプのスキャン回路として説明したが、図４に示すような双方向タイプを採用することも可能である。
【符号の説明】
【００８３】
１、７  評価ボード
２  ＲＯＭエミュレータ
３  ＪＴＡＧマスタ
４  ＰＣ
５  半導体集積回路
１０、７０、７０ａ  ＣＰＵ
２０  ＲＯＭ
３０  ＣＳ制御器
４０  コネクタ
５０  内部論理回路
５１〜５８、１０４〜１０６  バウンダリスキャンレジスタ
５９  ＴＡＰコントローラ
６０〜６４、１０４１、１０４２  マルチプレクサ
６５、６６、１０４３、１０３１〜１０３３  フリップフロップ
６７  バッファ
１０１、１０１ａ  メモリコントローラ
１０２  ＪＴＡＧ−ＩＦ
１０３、１０３ａ  タイミング制御回路
１０３４、１０３５  ＡＮＤ回路
１０３６  インバータ
【図１】
2012155649.tif 000003
【図２】
2012155649.tif 000004
【図３】
2012155649.tif 000005
【図４】
2012155649.tif 000006
【図５】
2012155649.tif 000007
【図６】
2012155649.tif 000008
【図７】
2012155649.tif 000009
【図８】
2012155649.tif 000010
【図９】
2012155649.tif 000011
【図１０】
2012155649.tif 000012
【図１１】
2012155649.tif 000013
【図１２】
2012155649.tif 000014
【図１３】
2012155649.tif 000015
【図１４】
2012155649.tif 000016
【図１５】
2012155649.tif 000017
【図１６】
2012155649.tif 000018