JP2000242573A - I2cバスを含むグローバル・シリアル・バスに製造テスト・インタフェースを接続するための方法および装置 - Google Patents

I2cバスを含むグローバル・シリアル・バスに製造テスト・インタフェースを接続するための方法および装置

Info

Publication number
JP2000242573A
JP2000242573A JP2000039822A JP2000039822A JP2000242573A JP 2000242573 A JP2000242573 A JP 2000242573A JP 2000039822 A JP2000039822 A JP 2000039822A JP 2000039822 A JP2000039822 A JP 2000039822A JP 2000242573 A JP2000242573 A JP 2000242573A
Authority
JP
Japan
Prior art keywords
interface
slave
serial bus
data
logic
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.)
Granted
Application number
JP2000039822A
Other languages
English (en)
Other versions
JP4056191B2 (ja
Inventor
Richard Kurie Guy
ガイ・リチャート・クリエ
Scort Haavurando James
ジェームズ・スコート・ハーヴランド
Denos Vincent Sharon
シャロン・デノス・ヴィンセント
Leonard Urutogen Paul
ポール・レオナード・ウルトゲン
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2000242573A publication Critical patent/JP2000242573A/ja
Application granted granted Critical
Publication of JP4056191B2 publication Critical patent/JP4056191B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 集積回路間(I2C)バスなどのグローバル
・シリアル・バスに製造テスト・インタフェースを接続
するための方法および装置を提供すること。 【解決手段】 入出力バッファ論理回路は、グローバル
・シリアル・バスとの間で転送すべきデータをバッファ
する。入出力バッファ論理回路に接続されたスレーブ・
インタフェース論理回路は、データを受信し、そのデー
タを入出力バッファ論理回路に送信する。入出力バッフ
ァ論理回路およびスレーブ・インタフェース論理回路に
結合されたスレーブ・コントローラは、入出力バッファ
論理回路に合わせてデータ交換のペースを調整する。エ
ラー検出論理回路は、エラー条件を検出するために入出
力バッファとグローバル・シリアル・バスとの間に結合
される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にデータ処理
分野に関し、より具体的には集積回路間(I2C)バス
などのグローバル・シリアル・バスに製造テスト・イン
タフェースを接続するための方法および装置に関する。
【0002】
【従来の技術】I2Cバスは、1つまたは複数のマスタ
およびスレーブにより複数の集積回路を相互接続するた
めに通常使用する業界標準のシリアル双方向2線式バス
である。I2Cバスは、2本のバス・ラインと、1本の
シリアル・データ・ライン(SDA)と、1本のシリア
ル・クロック・ライン(SCA)とを含む。I2Cバス
は、nチャネル金属酸化膜半導体(NMOS)、相補型
金属酸化膜半導体(CMOS)、バイポーラなど、どの
ような集積回路(IC)作成プロセスもサポートするも
のである。シリアル・データ(SDA)およびシリアル
・クロック(SLC)情報は、I2Cバスに接続された
複数のデバイス間の2本のワイヤによって伝達される。
【0003】集積回路間(I2C)バスを含むグローバ
ル・シリアル・バスにジョイント・テスト・アクション
・グループ(JTAG)インタフェースのIEEE11
49.1仕様などの製造テスト・インタフェースを接続
するための方法および効果的なメカニズムの必要性が存
在する。VPD情報を照会し、レジスタ・アクセスを可
能にし、メモリおよびIOサブシステムを含み、シリア
ル・バスに接続された複数のデバイスでテストを実行す
るためにI2Cバスなどのグローバル・シリアル・バス
を使用することは望ましいことである。
【0004】
【発明が解決しようとする課題】本発明の主な目的は、
集積回路間(I2C)バスを含むグローバル・シリアル
・バスに製造テスト・インタフェースを接続するための
方法および装置を提供することにある。他の目的は、実
質的に否定的な影響がなく、従来技術の配置の欠点の多
くを克服するような方法および装置を提供することにあ
る。
【0005】
【課題を解決するための手段】簡単に言えば、集積回路
間(I2C)バスなどのグローバル・シリアル・バスに
製造テスト・インタフェースを接続するための方法およ
び装置が提供される。入出力バッファ論理回路は、グロ
ーバル・シリアル・バスとの間で転送すべきデータをバ
ッファする。入出力バッファ論理回路に接続されたスレ
ーブ・インタフェース論理回路は、データを受信し、そ
のデータを入出力バッファ論理回路に送信する。入出力
バッファ論理回路およびスレーブ・インタフェース論理
回路に結合されたスレーブ・コントローラは、入出力バ
ッファ論理回路に合わせてデータ交換のペースを調整す
る。
【0006】本発明の特徴によれば、エラーを検出する
ために入出力バッファとグローバル・シリアル・バスと
の間にエラー検出論理回路が結合される。
【0007】
【発明の実施の形態】次に図面を参照すると、図1は、
参照文字100によって一般的に示されている本発明に
よる製造テスト・インタフェースおよびグローバル集積
回路間(I2C)バス相互接続装置を示している。製造
テスト・インタフェースおよびグローバル集積回路間
(I2C)バス相互接続装置100は、I2C物理インタ
フェース104を介してI2Cバス106に接続された
スレーブI2C状態マシンおよびトランスレータ102
を含む。製造テスト・インタフェースおよびI2Cバス
相互接続装置100は単一集積回路チップによって定義
することができる。I2C状態マシンおよびトランスレ
ータ102は、内部JTAGバス110を介してマルチ
プレクサ(MUX)108に接続されている。MUX1
08は外部JTAGバス112に接続されている。制御
入力113は、内部JTAGバス110と外部JTAG
バス112との選択を行うためにMUX108に印加さ
れる。テスト・アクセス・ポートおよび境界走査アーキ
テクチャであるアクセス114または他のJTAG実施
態様は、MUX108と、クロック制御、組込み自己試
験(BIST)およびその他の機能118、最高233
のアーキテクチャ・レジスタ120、JTAG走査可能
レジスタまたはテスト・データ・レジスタ(TDR)1
22との間に接続される。
【0008】好ましい実施の形態の特徴によれば、製造
テスト・インタフェースおよびI2Cバス相互接続装置
100は、固有のやり方でI2Cバス106とJTAG
テスト・アクセス・ポート(TAP)アクセス114と
の間のギャップを橋絡し、相互接続装置が固有のI2
レジスタ転送プロトコルと完全なJTAGの機能性の両
方をサポートできるようにする。製造テスト・インタフ
ェースおよびI2Cバス相互接続装置100は、業界標
準のI2Cバス・プロトコルを固守するが、JTAGの
機能性を制限するものではない。製造テスト・インタフ
ェースおよびI 2Cバス相互接続装置100は、相互接
続配線を最小限にし、チップレベルのアドレス可能度を
取り入れ、直接メモリ・マップ入出力(MMIO)読取
りおよび書込みレジスタ・アドレス可能度を定義する。
【0009】好ましい実施の形態の特徴によれば、製造
テスト・インタフェースおよびI2Cバス相互接続装置
100は、回路内データ経路、テスト、および研究室/
現場デバッグ機能に製造テスト・ハードウェアを使用で
きるようにする。また、製造テスト・インタフェースお
よびI2Cバス相互接続装置100は、新しい走査コン
トローラ命令である走査通信即時読取りを取り入れ、I
2Cバス106上のレジスタ読取り応答待ち時間を短縮
する。製造テスト・インタフェースおよびI2Cバス相
互接続装置100は、システムレベルの製造テスト用の
接続を簡略化し、削減する。システム・レベルの製造テ
ストでは、テスト・インタフェース用として単一のI2
C接続106を使用し、統合テストおよびバーンイン・
テストを実行するために必要なテスト・フックアップ手
順およびソフトウェアを簡略化することができる。
【0010】I2C状態マシンおよびトランスレータ1
02は、I2Cバス106により送信されたデータを固
有のJTAGコマンドに変換する。I2C状態マシンお
よびトランスレータ102は、I2Cバス106に接続
されたチップ内でレジスタの読取り、書込み、走査を実
行するためにアクセス114とのインタフェースをとる
TAPコントローラとして使用することができる。I2
C状態マシンおよびトランスレータ102は、論理回路
組込み自己試験(LBIST)またはアレイ組込み自己
試験(ABIST)を開始し、JTAG TDR122
を走査し、チップ・クロックならびにJTAGバス11
2を介して開始することができ、アクセス114によっ
て実現される他の機能を制御することができる。製造テ
スト・インタフェースおよびI2Cバス相互接続装置1
00は7ビットのスレーブ・アドレス指定方式を使用
し、27個のスレーブを直接アドレス指定することがで
きる。このプロトコルは、特定のスレーブによって定義
されるメモリ内の場所から始め、連続バイトをシリアル
にアドレス指定することにより、アドレス指定されたス
レーブが読取り/書込みに応答することを暗示する。製
造テスト・インタフェースおよびI2Cバス相互接続装
置100は、直接アドレス指定を223まで拡張し、8バ
イト整合のレジスタを操作する。さらに、レジスタ読取
り/書込み以外にアクセス114によってサポートされ
る動作が用意されている。
【0011】シリアルI2Cバス106は、バスが休止
している間、1のままになる、シリアル・データ(SD
A)用とシリアル・クロック(SDC)用の2本のワイ
ヤからなる。どのようなバス・マスタも、開始ビット
(SCL=「1」である間、SDAが1−>0になる)
によってメッセージ転送を開始することができる。I2
Cバス・プロトコルは、それぞれが1バイト幅で、後に
肯定応答ビット(0=良好な肯定応答)が続くパケット
を操作する。メッセージが始まると、スレーブは肯定応
答ビット・タイミング中にSDAの駆動を支配し、マス
タはそれ以外の時期にSCLとSDAの駆動を支配す
る。マスタ論理回路は必ずクロックを支配する。スレー
ブは、肯定応答ビットを除き、読取り時にSDAを支配
する。SDAがSCLの立上り前にセットアップされ、
立下り後に保持され、SCLがローである間に遷移する
ように、各SDAデータ/肯定応答ビットは、SCLが
クロックする(0−>1−>0)間に1または0の安定
状態を維持しなければならない。
【0012】パケット・ビットは、最上位ビット(ビッ
ト1)から先に伝送される。開始バイトのビット1:7
は特定のスレーブ・チップをアドレス指定する。開始バ
イトのビット8は読取り/書込みビットである。書込み
は、マスタのバイト送信およびスレーブの肯定応答とと
もに進行する。マスタが開始バイトを書き込むと読取り
が始まるが、スレーブが開始バイトを肯定応答した後、
データフローは反転する。次にスレーブはパケットを送
信し、マスタは肯定応答する。マスタがAck=1にな
るまで、スレーブは送信し続ける。すべての伝送は停止
ビット(SDAが0−>1になる間、SCL=1)で終
了する。バスは、停止ビット後、もう一度休止する。
【0013】IEEE1149.1では、境界走査アー
キテクチャとやりとりするためのテスト・アクセス・ポ
ートと呼ばれる5線インタフェースを定義している。ア
クセス114は、ジョイント・テスト・アクション・グ
ループ(JTAG)インタフェースのIEEE114
9.1仕様の具体的な実施態様である。JTAGテスト
・アクセス・ポート(TAP)の5本のワイヤは、JT
AGテスト・クロック入力(TCK)と、JTAGテス
ト・データ入力(TDI)、JTAGテスト・データ出
力(TDO)と、JTAGテスト・モード選択入力(T
MS)と、JTAGテスト論理リセット入力(TRS
T)とを含む。テスト・クロック入力(TCK)の立上
りにより、TMSおよびTDIはアクセス114によっ
てサンプリングされる。
【0014】TCKの立上り時のJTAGテスト・モー
ド選択入力(TMS)の値により、アクセス114のT
APコントローラにおいて状態遷移が行われる。テスト
・データ入力(TDI)は、アクセス114へのシリア
ル・データ入力である。テスト・データ出力(TDO)
は、アクセス114からのシリアル・データ出力であ
る。JTAGテスト論理リセット入力(TRST)によ
り、アクセス114を回復するためにテスト論理の非同
期リセットが行われる(TAP−>TestLogic
Rst)。ShiftIRは、アクセス114内のTD
IとTDOの間で命令がシリアルにシフトされる状態で
ある。TMSが0に保持されている間、各TCKクロッ
クにより、もう1つのビットがTDIから命令レジスタ
内にシフトインされ、IR状況がTDOからシフトアウ
トされる。命令レジスタの内容により、アドレス指定さ
れる具体的なTDRまたは実行すべき非レジスタ動作が
決定される。ShiftDRは、多くのデータ・レジス
タ(TDR)の1つがTDIとTDOの間にシリアルに
接続される状態である。TMSが0に保持されている
間、各TCKクロックにより、もう1つのビットがTD
Iから命令レジスタ内にシフトインされ、(古い)デー
タがTDOからシフトアウトされる。
【0015】図2は、一般的に200で示されている好
ましい実施の形態によるI2C状態マシンおよびトラン
スレータ102の1次スレーブ・データおよび制御レジ
スタを示している。I2Cスレーブ論理回路200は、
データ、アドレス、レジスタ読取り/書込み(R/W)
バッファのための入出力バッファ・レジスタ(IOBU
F)201と、関連の入出力バイト・カウント・レジス
タ(IOCNT)202とを含む。I2Cスレーブ論理
回路200は、物理インタフェース104とスレーブJ
TAGインタフェース204の間に結合されたエラー検
出203を含む。また、I2Cスレーブ論理回路200
は、物理インタフェース104、入出力バイト・カウン
ト・レジスタ(IOCNT)202、スレーブJTAG
インタフェース204に結合されたスレーブ・コントロ
ーラ206を含む。スレーブJTAGインタフェース2
04は、シリアル・シフト・レジスタ(SSR)208
と、そのシリアル・シフト・レジスタ(SSR)208
に関連するビット・カウント・レジスタ(BCR)21
0とを含む。また、スレーブJTAGインタフェース2
04は、テスト・モード選択(TMS)選択レジスタ
(TSR)212およびTMS端子選択レジスタ(TT
SR)214と、テスト・クロック入力(TCK)を供
給するクロック・ジェネレータ(CG)216と、JT
AGテスト・モード選択入力(TMS)を供給するMU
X218とを含む。
【0016】物理インタフェース104は、I2Cプロ
トコルおよびタイミングを処理し、関連のハンドシェー
ク信号とともに1バイト幅のデータ・インタフェースを
提供する。SDAは、I2Cによって定義される双方向
シリアル・データ信号を意味する。また、SCLは、I
2Cによって定義されるシリアル・クロック信号を意味
する。物理インタフェース104の動作は、一般にI2
C規格の従来の実施態様に応じて行われる。
【0017】IOバッファ(IOBUF)201は、I
2C開始バイトによってスレーブ・チップとしてアドレ
ス指定されるチップとの間で転送される連続バイトをバ
ッファする。IOBUF201内のデータは、物理イン
タフェース104との間で一度に1バイトずつパラレル
に転送される。開始バイト全体はIOBUF201内に
保持されるが、読取り/書込みビットはI2C状態マシ
ン102によってさらに使用される。書込み動作中のデ
ータ・フローは、I2Cバス106から内部JTAGバ
ス110のTDIまたはTMSに向かう。読取り動作中
のデータ・フローは、内部JTAGバス110のTDO
からI2Cバス106に向かう。シリアル・シフト・レ
ジスタ(SSR)208は、IOBUF201との間で
最高8バイトをパラレルに受信または供給することがで
きる。次にこのデータは、IEEE1149.1プロト
コルに従う内部JTAGバス110との間でシリアルに
シフトされる。
【0018】物理インタフェース104は、I2Cバス
106を監視し、着信/発信バイトを受信する。そのバ
イトが開始バイトである場合、物理インタフェース10
4は7ビットのスレーブ・アドレスをチップ・アドレス
と比較する。アドレスが一致しない場合、開始バイトと
残りのメッセージは無視される。物理インタフェース1
04は、スレーブ・コントローラ206に対して信号を
アサートし、1バイトが受信されたことを示す。
【0019】スレーブ・コントローラ206は、IOカ
ウント(IOCNT)202を減分してIOBUF20
1との間のデータ交換のペースを調整し、データをIO
BUF201内で適切に位置合わせして保持する。メッ
セージの終わりを受信または送信するかあるいはIOB
UFがオーバフローまたはアンダーフローすると、スレ
ーブ・コントローラ206は、SSR208とIOBU
F201の間でデータを転送し、1つまたは複数のJT
AG基本動作を実行するようにスレーブJTAGインタ
フェース204をトリガする。本明細書および特許請求
の範囲で使用する基本動作とは、内部スレーブJTAG
インタフェース204との間でテスト・モード選択(T
MS)、制御、またはTDI/TDO、命令またはデー
タ/状況を駆動するための1つまたは複数のテスト・ク
ロック入力(TCK)パルスからなるシーケンスを意味
するものと定義されている。
【0020】図3は、IOBUF201およびIOCN
T202を実現するスレーブIOバッファ論理回路を示
している。スレーブIOバッファ論理回路201は、I
Oカウント・レジスタ(IOCNTL2)302と、ア
ップ/ダウン・カウンタ304と、比較器(>「101
1」)306と、ANDゲート307と、IOバッファ
(IOBUFL2)308と、1対のマルチプレクサ
(MUX IOA、MUX IOB)310、312と
を含む。IOCNT202は、IOカウント・レジスタ
(IOCNTL2)302およびアップ/ダウン・カウ
ンタ304と同等のものである。
【0021】休止している場合、IOカウント・レジス
タ(IOCNTL2)302には、IOバッファ201
の最下位バイトを指し示す、b「1011」というカウ
ント・データ(CNTDATA)がパラレルロードされ
る。I2C状態マシン102は、IOCNTL2302
に印加されたLOADCNTをアサートすることによ
り、CNTDATAが有効であることを示す。I2Cバ
ス106により複数バイトが転送されるにつれて、カウ
ントは減分され、次の最上位バイトを連続的に指し示
す。I2C物理インタフェース104はビットの転送
(最上位ビットが先)を処理し、IOBUF201は、
2C物理インタフェース104に複数バイトを提示
し、それから複数バイトを受け入れる(最下位バイトが
先)。
【0022】開始バイトがI2Cバス106上での読取
り動作を示す場合、I2C状態マシン102は、I2Cバ
ス106にデータを返す準備として、LOADCNTを
活動状態としてアサートし、CNTDATA=b「01
11」としてアサートすることにより、IOバッファ2
01のデータ部分までIOCNTをジャンプする。
【0023】IOCNTレジスタIOCNTL2302
は、基本動作ステップ・カウンタ304としてレジスタ
読取り/書込み動作中に再使用される。このモードで
は、レジスタ読取り/書込みシーケンス内の次の基本コ
マンド・ステップが実行されるたびに、ステップ・カウ
ンタ304に印加されるCountUpがI2C状態マ
シン102によって活動化される。IOCNTL2と、
IOBUF201のデータ部分のみが変更され、IOB
UFアドレスおよび開始バイトはそれぞれの値を保持す
る。
【0024】12バイトのIOバッファ・レジスタ(I
OBUFL2)308は、一度に1バイトずつ開始バイ
トから始めて右から左にロードされる。I2C物理イン
タフェース104からのデータは、信号IS_BYTE_O上で
到着し、I2C状態マシン102からの信号COUNT
BYTEによって有効であると示される。MUX IO
A310は、IOCNTによって指し示されるバイトを
除くすべてのバイトにIOBUFデータをフィードバッ
クするが、これはIS_BYTE_O上のデータによって置き換
えられる。
【0025】読取り情報は、信号IS_BYTE_I上で物理イ
ンタフェース104に提示される。MUX IOB31
2は、IS_BYTE_I上で駆動すべきIOCNT番目のバイ
トを選択する。BUFLOAD信号がI2C状態マシン
102によって活動化されると、SSR208からのデ
ータがIOBUF201のデータ部分にパラレルにロー
ドされる。これは、レジスタ読取り基本シーケンスの終
わりまたはI2Cコマンドの要求で1ステップのJTA
G基本コマンドが実行された後に行われる。
【0026】データ、コマンド/アドレス、r/wビッ
トは、IOBUFL2(0:95)信号によりI2C状
態マシン102およびSSR208に提示される。AN
Dゲート307によって生成されるOVERRUN信号
は、IOBUFの満杯/空条件を示す。
【0027】以下の表1は、xが無指定を示す場合のマ
ルチプレクサ(MUX IOA、MUX IOB)31
0、312に関するMUX定義を示すものである。
【0028】
【表1】
【0029】MUX IOB312はIOcntL2の
最上位ビットに関して無指定であり、スレーブ論理回路
はデータのみを返し、アドレス情報は一切返さない。
【0030】図4は、JTAGインタフェース204を
実現するスレーブ・テスト・アクセス・ポート(TA
P)インタフェース論理回路を示している。スレーブT
APインタフェース論理回路204は、TAPクロック
状態マシン(TAPCMSL2)402と、複数のマル
チプレクサ(MUX A、MUX B、MUX C、M
UX D、MUX E)404、406、408、41
0、412と、複数のレジスタ(SSRL2(0:6
3)、TTSRL2、TSRL2、BCRL2(0:
5))414、416、418、420と、ダウン・カ
ウンタ421と、比較器(=「111111」)422
と、複数のラッチ413、424、426と、1対のA
NDゲート428および430とを含む。
【0031】ロード・コマンド(LOADCMD)信号
が活動化されると、テスト・アクセス・ポート・コマン
ド(TAPCMD)は、内部JTAGバス110上での
活動を開始するために有効であると見なされる。TAP
CMD信号上の情報は以下に記載するようにコマンド・
レジスタ内にロードされ、1クロック(ONECLK
2)ラッチ426は1つまたは複数のTCKパルスでリ
リースするように1に設定される。以下の表2、表3、
表4に示すTAPクロック状態マシン(TAPCSM)
402、TAP基本コマンド・インタフェース、MUX
D410に関する定義を参照されたい。MUX B4
06は、フィードバックを行い、LOADCMDが活動
状態ではない間、コマンド・レジスタの現在の値を保持
する。同様にMUX A404はSSR(データ)値を
保持する。
【0032】TAPクロック状態マシン(TAPCMS
L2)402は、ONECLKL2によって活動化され
るまでアイドル状態のままになる。状態マシン402
は、IDLEに戻る前に、状態TCKF1、TCKR
0、TCKR1間を順次移行する。マシン402は、O
NECLKL2=1である限り、これらの状態間をルー
プし続ける。TCKはTCK立上り(TCKR0、TC
KR1)状態のときに1に駆動され、ベース・スレーブ
・クロック周波数を係数4で効果的に分割し、約50%
のデューティ・サイクルを提供する。BCRは減分さ
れ、SSRデータはTCKR1状態のときに1ビット右
にシフトされる。TCKの立上りでTDOをサンプリン
グするというJTAGの要件は、TCKR0状態のとき
にTDOからTDOL2ラッチ413にロードすること
によって達成される。以下の表4に示すMUX E41
2の定義を参照されたい。
【0033】
【表2】
【0034】状態遷移中のTCK上のグリッチを防止す
るために状態マシン402の状態はグレーコード化され
る。状態テーブルに特に指定がない限り、出力は0にな
る。
【0035】MUX A404、MUX B406、B
CRL2 420に印加されるTAPコマンド(TAP
CMD)信号は9バイト幅である。第1のバイトはJT
AG走査論理回路204によって実行される基本コマン
ドである。TMS選択レジスタ(TSRL2:TAPC
MDビット0)418は、MUX C408がTMSに
シフトアウトすべきSSRL2(0:63)414から
のSSRデータを選択するかまたは一定値を選択するか
を決定する。0は、SSRL2414内のデータがTM
S制御情報のストリームであることを示す。1は、最初
のN−1個のTCKクロック・パルスのTMS上で駆動
される静的0値を選択するようMUXCに指示するもの
であり、次にTTSRL2 416の値はN番目の(端
子)TCKパルス中にTMS上で駆動される。
【0036】端子TMS選択レジスタ(TTSRL2:
TAPCMDビット1)416は、N番目の(端子)T
CKパルス中にTMS上で値を提供する。TTSRL2
416は、SSRの64ビット幅が走査を完了するに
は不十分な場合の長時間走査動作用のものである。TT
SRL2=0は基本動作を橋絡し、他の基本コマンドで
走査を続行できるようにする。TTSRL2=1は、ア
クセス114内のJTAG TAP状態をシフトDRま
たはシフトIR状態から移行させることにより、その動
作を終了する。テスト論理リセット(TRST)は、本
来は基本コマンドに使用されない組合せでTAPCMD
ビット0:1をゲートすることによって形成される。A
NDゲート428のこの出力はラッチ424によってラ
ッチされ、テスト論理リセットTRST信号をデグリッ
チする。ビット・カウント・レジスタ420(BCRL
2:TAPCMDビット2:7)は、TMSまたはTD
I上の情報シーケンスとともに送信するTCKパルスの
数を定義する。b「111110」というBCR値は、
64個のTCKパルスを送信することを示す(SSRレ
ジスタ414の全体はTDIまたはTMSから右にシフ
トされ、TDOを左側のSSR内にシフトインする)。
BCR=b「111111」は端子カウントであり、1
つのTCKパルスがリリースされることを示す。
【0037】TAPCMDの第1のバイトの定義を以下
の表3に要約して示す。
【0038】
【表3】
【0039】TAPCMD信号の残りのビットは、TD
IまたはTMSからのシフトアウトの準備としてSSR
208内にロードすべきデータを表している。
【0040】BCRがb「111111」に達すると、
そのコマンドは実行される。ONECLKL2ラッチ4
26は0に戻り、TAPCMD状態マシン402はアイ
ドル状態のままになる。内部JTAGバス110は非活
動状態になる。ANDゲート430のCMDDONE信
号出力は、新しい基本コマンドを開始してもよいという
インジケータとしてI2Cスレーブ状態マシン102に
フィードバックされる。
【0041】マルチプレクサ(MUX A、MUX
B、MUX C、MUX D、MUXE)404、40
6、408、410、412に関するMUX定義を示す
以下の表4では、xは無指定を示し、/=は等しくない
ことを意味する。
【0042】
【表4】
【0043】図5は、スレーブ・コントローラ206を
実現するスレーブ・コントローラ論理回路を示してい
る。スレーブ・コントローラ206は、I2Cスレーブ
状態マシン論理回路(I2CSSML2(0:3))5
02と、比較器(=)504と、TAP CMD経路指
定用のMUX SMA506、データ経路指定用のMU
X SMB508、制御用のMUX SMD510とい
う複数のマルチプレクサとを含む。また、スレーブ・コ
ントローラ論理回路206は、レジスタ読取り/書込み
(REGRW)バス同期論理回路512を含む。REG
RWバス同期論理回路512は、1対のANDゲート5
14、516と、SCアイドル・ラッチ(SCIDLE
L2)520と、NOTゲート522と、マルチプレク
サMUXSMB524とを含む。スレーブ・コントロー
ラ論理回路206は複数の基本機能を以下のように実行
する。I2Cスレーブ状態マシン論理回路(I2CSS
ML2(0:3))502は、物理インタフェース10
6とIOバッファ論理回路300の間のデータ交換のペ
ースを調整し、IOバッファ論理回路300とJTAG
走査論理回路204の間のデータ交換のペースを調整す
る。TAP CMD経路指定用のMUX SMA506
は、レジスタ読取り/書込み動作用の順序づけた一連の
コマンドを提供する。REGRWバス同期論理回路51
2は、JTAG走査論理回路204とアクセス114の
間のデータ交換のペースを調整する。データ経路指定用
のMUX SMB508は、データ経路指定用のI2
帯域幅要件を最小限にする。
【0044】表5、表6、表7、表8は、スレーブ・コ
ントローラ206のMUX SMA506、MUX S
MB524、MUX SMC508、MUX SMD5
10に関するマルチプレクサ定義を示している。
【0045】IOBUF201およびSSR208デー
タは、必ずバイトごとに転送するわけではない。I2
が基本コマンド・シーケンスを使用してIOBUF/S
SRレジスタの幅の偶数倍より短いかまたは等しくない
TDRをアドレス指定する場合、すべての重要データを
受信したときにオーバフローを検出できるように、I 2
Cバス106からのデータはIOBUF201内で左揃
えされる。IOBUF201データは、SSR208に
ロードされると右揃えされる。ターゲットになるTDR
から走査されたデータは、SSR208内で左揃えさ
れ、同じく適切な時期にI2Cに返されたデータのアン
ダーフローを検出できるように、IOBUF201に転
送されたときに左揃えされたままになる。
【0046】REGRWバス同期論理回路512は、レ
ジスタ読取り/書込みバス同期のためにSCidle信
号を使用する。CHKADR状態の場合、SCidle
L2ラッチ520は1に設定される(アクセス114か
らのSCIDLE信号は活動状態であると想定する)。
レジスタR/W動作が開始されると、SCIDLEはロ
ーになり、ScidleL2520をリセットする。レ
ジスタ読取り動作が完了すると、SCidleL2では
なくSCIDLEが、レジスタ読取りデータがアクセス
114内で使用可能であることを示す。この論理回路を
使用してレジスタ読取りバスと同期をとるために、第3
のステップの完了後にTABLE内のレジスタ読取りシ
ーケンスが休止される。
【0047】図6は、IOBUF201と物理インタフ
ェース104の間のデータ転送のペースを調整するため
に必要な信号を示している。信号定義については、状態
マシンの説明を参照すると最もよく理解できるだろう。
【0048】図7は、IOバッファ201とJTAG走
査論理回路204とのデータ・ペーシングを示してい
る。図7は、IOBUF201とJTAG走査論理回路
204の間のデータ転送のペースを調整するために使用
する信号を示している。信号定義については、状態マシ
ンの説明を参照すると最もよく理解できるだろう。
【0049】
【表5】
【表6】
【0050】
【表7】
【0051】
【表8】
【0052】
【表9】
【0053】次に図8を参照すると、エラー検出203
を実現するエラー処理論理回路が示されている。エラー
処理論理回路203は、I2Cバス106との間で転送
されたデータのCRC検査を行うための巡回冗長検査
(CRC)論理回路802を含む。また、エラー処理論
理回路203は、CRC_Good、アテンション、IOCNT
L2、read_or_write、比較器808からの基本コマン
ドという入力を受け取るACK TYPE MUX80
4を含む。
【0054】I2C状態マシン102とエラー処理論理
回路203は、JTAG TAPコントローラ・アクセ
ス114からアテンション入力を受け取る。アクセス1
14からのこのアテンション入力は、レジスタ読取り/
書込みバス・エラーの結果としてまたはいくつかの他の
エラー・シナリオにより活動化される場合がある。read
_or_writeは、物理インタフェース104からバッファ
されたI2C状態マシンからの入力である。IOBUF
L2は、IOバッファ論理回路201から比較器808
への入力である。比較器808に印加されるTapCm
dAdrは、内部定数としてまたはチップIOピンを介
して構成可能な定数である。IOCNTL2は、IOバ
ッファ論理回路201からMUX804への入力であ
る。CRC_Goodは、CRCバイトが正しく転送されたこと
を示す、CRC論理回路802からの信号である。is_s
lave_ack_typeは、エラー処理論理回路800のMUX
804から物理インタフェース104への出力である。
【0055】I2Cスレーブは肯定応答パルスによって
エラーを処理する。I2Cでは、Ackまたは9番目の
クロック・サイクルならびにスレーブ・アドレスの9番
目のビット上のデータのすべてのバイトについて肯定応
答が必要である。スレーブがエラーを検出すると、スレ
ーブは、読取りシーケンスを実行しようと試みるときに
もはやそのアドレスおよびデータを肯定応答しなくな
る。このようにして、ソフトウェアは、エラー条件が存
在すると判定し、I2Cバス106を使用して、そのエ
ラー条件からの回復を行えるように何がそのエラーを引
き起こしたかを判定することができる。
【0056】読取りまたは書込みシーケンス時にスレー
ブが肯定応答しなくなる状況はいくつか考えられる。た
とえば、CRC検査が使用可能になっている場合、ソフ
トウェアがデータを上書きするのを防止するために、ス
レーブは13番目のバイトを肯定応答しなくなる。この
ような13バイトとしては、スレーブ・アドレスと、3
バイトのレジスタ読取りアドレスと、8つのデータ・バ
イトと、1つのCRCバイトとを含む。CRCが正しく
計算され、伝送された場合のみ、書込みが行われる。C
RC検査を行わない場合、8バイトを上回る量のデータ
をソフトウェアが書き込むと、データは上書きされる。
アクセス114内でアテンション信号が立ち上がり、そ
のアテンションが内部でブロックされていない場合、状
態マシンは、レジスタ読取り直接シーケンスを実行しよ
うと試みるときにNo−Ackを引き起こすことにな
る。書込みシーケンスを実行し、送信された3バイト・
アドレスが基本アドレスではなかった場合、スレーブ
は、I2Cバス106により送信されるデータ・バイト
を肯定応答しなくなる。CRC検査が使用可能になって
おり、I2Cバス106上で送信されたCRCが正しく
なかった場合、スレーブは次の読取り試行時に肯定応答
しなくなる。
【0057】
【表10】
【0058】次に図9、図10、図11、図12、図1
3、図14、図15を参照すると、図9には状態マシン
102の順次状態が示されている。図10および図11
は、I2Cスレーブ状態マシン102の基本書込み制御
フローおよび基本読取り制御フローをそれぞれ示してい
る。図12および図13は、I2Cスレーブ状態マシン
102のレジスタ書込み制御フローおよびレジスタ読取
り制御フローをそれぞれ示している。図14および図1
5は、I2Cスレーブ状態マシン102の制御書込み制
御フローおよび制御読取り制御フローをそれぞれ示して
いる。
【0059】I2Cスレーブ状態マシン102のIDL
E状態902ではI2C活動が一切行われない。IOc
ntL2にはb「1011」がロードされ、開始バイト
の受信準備としてIOBUFL2のLSByteを指し
示す。複数の状態としてはAMATCH状態904と、
WBYTE状態906と、CHKOVRFLW状態90
8と、WRTACK状態910とを含むI2C書込み状
態がある。書込みI2C状態では、I2Cマスタがスレー
ブに複数バイトを書き込んでいるときに、第1のバイト
は必ず、スレーブをアドレス指定する開始バイトにな
る。開始バイトの8番目のビットは読取り/書込みビッ
トである。次の3バイトは、レジスタ・アドレス、基本
TAPコマンド、またはスレーブ制御コマンドのいずれ
かとして解釈される。残りのバイトはデータである。
【0060】AMATCH状態904(アドレス一致)
では、物理インタフェース104は開始ビットを認識済
みであり、(次の)メッセージ・バイトをアセンブルし
ている。AMATCH状態904は、反復開始であるか
または開始バイト・アドレスが不一致であるときにID
LE状態902に戻り、スレーブをIDLEに送り返
す。最初の4バイト(開始+アドレス・バイト)を受信
する前にメッセージが終了した場合、スレーブはIDL
Eに戻る。CRCが使用可能になり、CRCエラーが検
出された場合、AMATCH状態904はIDLE状態
902に戻る。AMATCH状態904は、物理インタ
フェース104が8ビット以上を受信したときに、WB
YTE状態906に移行する。物理インタフェース10
4のある特定の実施態様は、開始バイト中にIsSta
rtDetectedの前にIs8timesを示し、
それを紛失しないようにIs8timesをラッチする
ことを要求する(Is8timesL2)。AMATC
H状態904は、1バイト以上のデータを受信したあと
で物理インタフェース104が停止ビットを検出したと
きに、CHKADR状態912に移行する。
【0061】WBYTE状態906(バイト書込み)で
は、物理インタフェースからのIs_Byte_OがIOBUF
L2に書き込まれ(IOcntL2thbyte)、次に
IOcntL2が減分される。WBYTE状態906
は、これがI2C書込み動作である場合に、CHKOV
RFLW状態908に移行する。データフローはマスタ
/イニシエータからスレーブへと継続する。WBYTE
状態906は、これがI 2C読取り動作であるときに、
CHKADR状態912に移行する。データフローは開
始バイト後に反転する。次にマスタはスレーブからデー
タを受信することになる。
【0062】CHKOVRFLW状態908(IOバッ
ファ内のオーバ(アンダー)フローの検査)では、いか
なるアクションも行われない。CHKOVRFLW状態
908は、これが書込み動作であり、IOCntL2が
b「0000」からb「1111」に折り返しておら
ず、IOBUFL2内に追加バイト用のスペースがある
ときに、WRTACK状態910に移行する。CHKO
VRFLW状態908は、レジスタ読取りまたは基本コ
マンドがすでにIOBUFL2を充填し、I2C読取り
状態のうちのRBYTE状態932からCHKOVRF
LW状態908に入った場合に、WAITREAD状態
910に移行する。1つまたはそれ以上のバイトはすで
に読み取られているが、IOBUFL2はまだアンダー
フローしていない。CHKADRに移行し、IOBUF
L2は満杯/空であり、レジスタ書込み/読取りまたは
基本動作をトリガする。
【0063】WRTACK状態910(スレーブに書き
込まれたばかりのI2Cバイトの肯定応答)は、最初の
4バイト分のメッセージ(開始+3つのアドレス・バイ
ト)内である場合に良好肯定応答アクションを提供す
る。WRTACK状態910は、レジスタ読取りアドレ
スおよびアテンションがアクセス114から活動状態に
なっている場合に肯定応答失敗を提供する。IsDoR
ead(I2Cマスタによって書き込まれたバイトのI
OBUF読取り)は物理インタフェース104に対して
活動化され、IOBUF用に1バイトが用意されている
ことを示す。NeedAckL2はリセットされる。こ
れが4番目のバイト(IOBUFに書き込まれたばかり
の最後のアドレス・バイト: この時点でIOcntL
2=7)であり、アドレスが基本コマンドを示す場合、
データ・バッファ内でIOcntL2をジャンプするた
めに基本のBCRフィールドからデコードされるVal
idBytesを調べる。たとえば、BCR=b「00
0000」である場合、2ビットだけがアクセス114
に伝送されるので、1バイト分のデータだけが必要にな
る。第1のバイトのデータの直後にオーバフローが発生
するように、IOcntL2はb「0000」まで進
む。それ以外の場合は、I2Cは、さらに7バイト分の
重要ではないデータを伝送して時間を浪費しなければな
らないだろう。
【0064】WRTACK状態910はNeedAck
L2によってAMATCH状態904に移行する。物理
インタフェース104は、ackが送信/受信された後
の1サイクルの間、IsAckSentを活動化する。
Ackが送信されるまでスレーブ状態マシンが待機して
いた場合、NeedAckL2は記憶している。
【0065】CHKADR状態912(アドレス検査)
では、IOBUFL2アドレス・フィールドを調べて、
これがI2Cスレーブ・コマンド・フォーマットを使用
するレジスタ読取り/書込み、基本、または制御コマン
ドのいずれであるかを判定する。基本信号は、基本動作
と制御動作の両方について活動状態になる。SCidl
eL2は、これがレジスタ読取り/書込み動作である場
合に設定される。REGRWバス同期論理回路512は
レジスタ読取り/書込み(アーキテクチャ・レジスタr
/w)バスを監視して、JTAGコマンド・ステップが
レジスタ読取り/書込み動作をオーバランしないように
する。IOcntL2レジスタは、これがレジスタ読取
り/書込み動作である場合にb「0001」に設定され
る。この場合、IOCNTは、レジスタ読取り/書込み
動作を遂行するために基本TAPコマンドの定義済みシ
ーケンスを進行する。
【0066】CHKADR状態912はIDLE状態9
02に移行し、アテンションが活動状態であるかまたは
CRCが使用可能になっていて比較が一致しない場合、
レジスタ読取りは肯定応答に失敗することになる。CH
KADR状態912は、IOBUFL2アドレスが基本
ベース・アドレスと一致しないときに、レジスタ読取り
/書込みコマンド状態、REGRWGO状態918のい
ずれか一方に移行する。また、CHKADR状態912
は、IOBUFL2アドレスが基本r/wコマンド・ア
ドレスと一致したときに、基本コマンド状態、LDTA
PCMD状態914のいずれか一方に移行する。CHK
ADR状態912は、IOBUFL2アドレスが制御コ
マンド・アドレスの1つと一致したときに、CHKST
OP状態924に移行する。これらのコマンドはJTA
Gバス活動がなくても遂行される。
【0067】基本コマンド状態としては、LDTAPC
MD状態914と、WAITTAPDONE状態916
とを含む。IOBUFL2アドレス・バイトは、オンチ
ップJTAGインタフェースに直接通信するために予約
されたアドレスと一致する。TMSまたはTDI/TD
O活動のいずれか一方が行われるが、両方が行われるわ
けではない。IOBUFL2のバイト10にロードされ
た基本TAPコマンドに応じて、SSRL2レジスタの
幅までの任意の数のビットが転送される。
【0068】LDTAPCMD状態914(TAPコマ
ンドのロード)では、TAPコマンドがIOBUFL2
(バイト10)からJTAGインタフェース204にロ
ードされる。LoadCmd信号とValidByte
s信号は一緒に機能して、SSRL2の右端バイト内に
重要なバイト整列データをロードする。これは、データ
・フィールド内で右揃えされたデータをI2Cが送信し
なければならないことを暗示する。たとえば、BCR−
b「000111」である場合、9ビットがアクセス1
14に伝送され、I2C物理インタフェース104から
のデータのLSByteは8つの有効ビットを含まなけ
ればならず、I2C物理インタフェース104からの次
のバイトは1つの有効ビットを含み、そのビットはその
バイト内の右端のビットとして送信しなければならな
い。
【0069】WAITTAPDONE状態916(TA
P完了の待機)では、いかなるアクションも行われな
い。JTAGインタフェース204は活発に基本TAP
コマンドを実行している。WAITTAPDONE状態
916は、JTAGインタフェース204からのCmd
DoneによってCHKSTOP状態924に移行し、
ハードウェアが終了した時期を通知する。
【0070】CHKSTOP状態924(I2C停止条
件の検査)では、レジスタ読取り/書込み動作は必ず8
バイトを転送するが、基本コマンドはデータの一部分の
みがSSRL2で有効になって終了する可能性がある。
IOcntL2 302には、いくつの左揃えバイトが
有効データを含むかを示すValidBytesがロー
ドされる。たとえば、BCR210はb「00011
1」から開始した(9ビット転送)。SSRL2は初め
に右揃えした9ビットを保持したので、バイト6、7の
みが有効であった。基本コマンドが完了した後、TDO
データはSSRL2 414内に左揃えで取り込まれた
ので、バイト0、1のみが有効である。
【0071】CHKSTOP状態924は、I2C停止
ビットが検出されたときにIDLE状態902に移行
し、追加のアクションは一切不要である。これは、レジ
スタ読取り/書込み動作が長いタイムアウトで遅延しな
い限り、ありそうもない経路である。また、CHKST
OP状態924は、I2C物理インタフェース104に
返す必要がある読取りデータがSSR208内に存在す
るときに、LOADRESULTS状態926に移行す
る。さらに、CHKSTOP状態924は、I2C物理
インタフェース104によって要求された書込みが完了
し、スレーブが転送された最新バイトを肯定応答(AC
K)するのをI2C物理インタフェース104が期待し
ているときに、WRTACK状態910に移行する。
【0072】I2C読取り状態としては、LOADRE
SULTS状態926と、READACK状態928
と、WAITREAD状態930と、RBYTE状態9
32とを含む。
【0073】I2C読取り状態では、I2C物理インタフ
ェース104がスレーブから複数バイトを読み取ってい
る。レジスタ読取り、基本、またはLOADRESUL
TS状態926およびREADACK状態928が続く
制御読取りは、IOバッファ201がデータを使い果た
すたびに実行される。マスタは、スレーブから戻るすべ
てのタイミングを支配する。マスタは、1つまたは複数
のバイトを読み取り、Ack=1であるときにI2C転
送を終了することができる。WAITREAD状態93
0と、RBYTE状態932と、CHKOVRFLW状
態908によって形成されるループは、転送されるすべ
てのバイトごとに1回実行される。
【0074】LOADRESULTS状態926(SS
RからIOBUFへのデータのロード)では、実行され
たばかりのJTAG動作が基本である場合、データは依
然としてSSRL2 414内にあり、IOBUFL2
308にコピーしなければならない。それ以外の場
合、これは後述するレジスタ読取り/書込み動作のステ
ップ6ですでに実行されており、SSRは不要情報であ
る。
【0075】READACK状態928(スレーブから
読み取ったばかりのI2Cバイトの肯定応答の待機)で
は、物理インタフェース104は、Ackビットの待機
を含む、読取りタイミングを管理する。図6も参照する
と、物理インタフェース104がAckを受信した後、
物理インタフェース104は、NeedAckL2ラッ
チを設定するIAckReadyを活動化することによ
り、それがIOBUF201からさらに1バイトを必要
とすることを示す。IsWrtReadyは、物理イン
タフェース104に戻って活動化され、次のバイトがI
OBUF201からIs_Byte_Iに書き込む用意ができて
いることを示す。同時に、NeedAckL2はリセッ
トされる。
【0076】READACK状態928は、物理インタ
フェース104が活発に他のデータ・バイトをマスタに
返送しているか、またはAck=1の場合に停止ビット
を待っており、それが読取りの終了時にI2Cプロトコ
ルによって許される唯一可能な条件である場合に、WA
ITREAD状態930に移行する。
【0077】WAITREAD状態930(I2Cによ
るスレーブからのバイト読取りの待機)では、いかなる
アクションも行われない。物理インタフェース104
は、活発に他のデータ・バイトをマスタに返送している
か、またはAck=1の場合に停止ビットを待ってい
る。
【0078】WAITREAD状態930は、マスタに
よって読み取られた最初のデータ・バイトが「1」で肯
定応答され、物理インタフェース104によって停止ビ
ットが検出されると直ちにIDLEへの退出が行われる
ときに、IDLE状態902に移行する。それ以外の場
合、NeedAckL2は、物理インタフェース104
がマスタへの他のバイトの送信を完了し、Ack=1を
受信し、その際にIDLE状態902への退出が行われ
る時期を示す。IDLE状態902はIsWrtRea
dyを活動化し、物理インタフェース104が停止ビッ
トの検出を開始し、NeedAckL2をリセットし、
停止ビットを消費できるようにする。WAITREAD
状態930は、物理インタフェース104がAck=0
を受信し、他のデータ・バイトが必要であることを示し
たときに、RBYTE状態932に移行する。
【0079】RBYTE状態932(他のデータ・バイ
トを読み取るためのセットアップ)では、IOcntL
2 302が減分され、IOBUFL2 308内の次
のデータ・バイトを指し示す。
【0080】レジスタ読取り/書込み(REGRW)コ
マンド状態としては、REGRWGO状態918と、W
AITCMDDONE状態920と、CMDSTEP状
態922とを含む。IOBUFL2アドレス・バイト
は、基本または制御コマンド用に予約されたどのアドレ
スとも一致しない。そのアドレスはレジスタ読取り/書
込みアドレスとして直接解釈される。TMSとTDI/
TDOの両方の活動は、レジスタ読取り/書込み動作を
遂行するために一連の定義済みステップで行われる。正
確に64ビットであるSSRL2レジスタ414の幅が
転送されることになる。
【0081】REGRWGO状態918(レジスタ・コ
マンド・シーケンスの(次の)ステップの開始)では、
レジスタ・シーケンスの(次の)ステップがTapCm
dバス上に置かれ、LoadCmdが活動化されてJT
AGインタフェース204を開始する。IOcntL2
=ステップ6である場合、レジスタ読取りによって読み
取られたデータはSSRL2 414内にあるので、ア
クセス114のTAPコントローラをRunTestI
dleに戻すクリーンアップ・ステップの前にIOBU
FL2 308に保管する必要があり、最終コマンド・
ステップは本来はSSR内のデータを破壊する恐れがあ
る。これは、BufLoadを活動化することによって
遂行される。
【0082】WAITCMDDONE状態920(TA
Pおよび/またはレジスタ読取り完了の待機)では、い
かなるアクションも行われない。JTAG走査論理回路
が活発に基本TAPコマンドを実行しているかまたはレ
ジスタ読取り動作が開始されたがまだ完了していない。
【0083】WAITCMDDONE状態920は、最
新コマンド・ステップが完了したことをJTAG走査論
理回路からのCmdDone信号が示し、アクセスから
のSCIDLE信号が非活動状態になり、続いて活動状
態への復帰が行われた後でRegisterRWdon
e信号が活動状態になったときに、CMDSTEP状態
922に移行する。RegisterRWdone信号
はレジスタ読取りのステップ3の間のみ重要であり、そ
の直後にレジスタ読取り動作が行われるはずである。
【0084】CMDSTEP状態922(次のコマンド
・ステップへの前進)では、IOcntL2が増分さ
れ、IOcntL2はレジスタ読取り/書込みコマンド
・ステップ全体にインデックスを付けるためにCmdM
uxSelで使用される。
【0085】CMDSTEP状態922はSCOMGO
に移行し、レジスタ読取りおよび書込みコマンド・シー
ケンスはどちらも正確に7ステップの長さである。ステ
ップ7がまだ完了していない場合、次のステップを開始
するためのループバックが設けられている。CMDST
EP状態922は、7番目のステップが完了したとき
に、CHKSTOP状態924に移行する。
【0086】図16は、製造テスト・インタフェースお
よびグローバル集積回路間(I2C)バス相互接続装置
100のテスト・アクセス・ポート(TAP)および境
界走査アーキテクチャであるアクセス114の主要機能
を示している。アクセスは、JTAG走査機能1102
と走査通信機能1104を提供する。JTAG走査機能
1102により、I2Cスレーブ状態マシン102は線
TAP/SPに示すテスト・アクセス・ポート(TA
P)インタフェース(IEEE1149.1)によりチ
ップ・リングを走査することができる。アテンション出
力とパワーオンリセット(POR)出力も線TAP/S
Pに示す位置に供給される。アテンション出力は、観測
または介入/回復を必要とする条件に応じてI2Cスレ
ーブ状態マシン102に警告するために供給される。
【0087】走査通信機能1104は、チップの機能論
理回路と走査機能との間のパラレル・データ経路を提供
する。アクセス動作は、チップ・クロックが動作し、シ
ステムが動作している間に実行することができ、走査通
信機能1104はこれを利用して、動作中のチップまた
はシステムとの通信を可能にする。
【0088】クロック・ツリー1114は、アクセス1
14からTCK SCAN CLOCKS入力を受信す
る。クロック・ツリー1114はチップ・クロックも出
力する。任意選択でセミカスタムのLBIST/SCA
Nインタフェース1116を使用して、チップ走査リン
グをレベル依存形走査設計(LSSD)リングおよびB
ISTチャネルなどの機能グループに編成する。インタ
フェース1116は、アクセス114のJTAG走査1
102と機能チップ論理回路1118との間に結合され
る。
【0089】好ましい実施の形態の新しい命令である走
査通信即時読取りは、アクセス114のJTAG走査コ
ントローラの設計に追加されたものであり、I2CとJ
TAGの間の新しいインタフェース機能の設計を容易に
するものである。
【0090】新しい命令である走査通信即時読取りの設
計以前は、チップ・レジスタの読取りは2つのステップ
を必要とした。すなわち、ステップ1は、アクセス走査
コントローラ・コマンドである「走査通信読取り」(1
6進コード「17」)を実行して、ターゲット・チップ
・レジスタの内容を取り出し、アクセス走査通信データ
・レジスタ1104内に内容をロードすることである。
ステップ2は、アクセス走査コントローラ・コマンドで
ある「スキャンアウト」(16進コード「12」)を実
行して、アクセス走査通信データ・レジスタ1104の
内容を読み出すことである。この2ステップ・プロセス
は、既存のソフトウェアおよびハードウェアに対応する
ために設計されたものである。
【0091】この新しい走査通信即時読取りコマンドに
より、ステップ1および2は単一ステップに結合され
る。すなわち、アクセス走査コントローラ・コマンドで
ある「走査通信即時読取り」(16進コード「14」)
を実行して、ターゲット・チップ・レジスタ1120の
内容を取り出し、アクセス走査通信データ・レジスタ1
104内に内容をロードし、アクセス走査通信データ・
レジスタ1104の内容を直ちに読み出すことである。
【0092】I2CとJTAGの間の新しいインタフェ
ース機能が元の2ステップ・プロセスを使用しなければ
ならない場合、1クロック・サイクル(それ自体のI2
Cクロック・サイクルのうちの1つ)で2つのステップ
を実行しようと試みる必要があるだろう。I2Cクロッ
ク・サイクルは他のシステム・クロックに関して変動す
る可能性があるので、両方のステップが正常に完了する
と保証することはできない。プロセスを1つのステップ
に削減することにより、1クロック・サイクルで動作が
完了すると保証することができる。
【0093】相互接続装置100およびI2C状態マシ
ン102の動作については、以下の例により理解できる
だろう。
【0094】64ビット・レジスタ読取り/書込み動作
は開始バイト・アドレス(I2Cスレーブ・ベース・ア
ドレス)から始まり、任意選択で最高3バイトのレジス
タ読取り/書込みアドレス(LSByte、上位ビット
が先)が続く。一実施の形態では、8バイト整列のレジ
スタ読取り/書込みアドレスを定義する。書込みはすべ
て3バイトのレジスタ読取り/書込みアドレスから始め
なければならず、読取りは前に書き込まれたアドレスを
使用するかまたは再始動/読取りバイトの前にそのアド
レスのうちの1バイト、2バイト、または3バイトすべ
て(CRC検査が使用可能になっていない場合)を変更
することができる。I2Cスレーブは、24ビット・レ
ジスタ読取り/書込みアドレス(23から0まで、0=
LSB)を実現する。アクセス/JTAGは、LSBを
パリティ・ビットとして定義する。残りの23ビット
(23から1まで)はバイト整列アドレスを表す。レジ
スタ読取り/書込み転送は必ず8バイト幅で行われる
が、各チップは通常、必ず8バイト境界上に整列するこ
とができない可変幅のレジスタを構築する。I2Cレジ
スタ読取り/書込みデータ・フィールド内のデータの具
体的な位置合わせは、チップの実施態様に依存する。停
止ビットをこの時点で受信した場合は、書き込まれたア
ドレスの一部分のみが変更されることになり、他の活動
は一切開始されない。
【0095】書込み動作の場合、4番目のバイト(LS
Byte、上位ビットが先)から開始し、書込み動作用
のデータが続く。停止またはオーバフロー条件が1つま
たは複数のデータ・バイトに続くと、レジスタ読取り/
書込み動作がキックオフされ、レジスタ読取り/書込み
アドレスは自動増分式ではない。8バイトを上回るデー
タが書き込まれる/読み取られると、オーバフロー/ア
ンダーフローが発生する。この設計のオプションとし
て、8バイトを上回る書込み/読取り用の連続レジスタ
読取り/書込みアドレスを書き込む/読み取るためにレ
ジスタ読取り/書込みアドレスを自動増分式にすること
ができる。8バイトを上回るデータを書き込むと、同じ
レジスタ読取り/書込みアドレスにデータが上書きされ
ることになる。8バイト未満のデータを書き込むと、完
全な8バイトでレジスタ読取り/書込みアドレスが書き
込まれることになり、データの最上位バイトは前の動作
からレジスタ読取り/書込みデータIOバッファ内に残
っているものとともに書き込まれることになる。CRC
検査が使用可能になっている場合、良好なデータ転送に
上書きするのを防止するために、スレーブは書込み中に
9番目(CRC)のバイトを肯定応答しなくなる。
【0096】読取り動作の場合、I2Cインタフェース
上で再始動(停止後に開始が続く)が出され、R/Wビ
ット=「1」になる。これは、I2Cハードウェア内で
キックオフすべきレジスタ読取りをトリガするものであ
る。次にデータフローは反転し、スレーブは各肯定応答
ごとに1つのデータ・バイトを返す(LSByteが
先)。レジスタ読取り/書込みアドレスは自動増分式で
はない。8バイトを上回る量が読み取られた場合、その
データはLSByteから繰り返されることになる。
【0097】非レジスタTAPコマンド・フォーマット
は予約されたレジスタ読取り/書込みアドレス(23:
12)=x「524」(このアドレスは再配置可能であ
る)によって識別される。Tap Cmdビット10:
8の値によって選択される8通りの動作モードが存在す
る。ビット11は今後の使用のために予約されている。
基本TAPコマンド(TapCmdアドレス(11:
8)=「0000」)フォーマットでは、レジスタ読取
り/書込みアドレスのLSByteは、TMSまたはT
DI上のTAPポートにビットをシフトアウトさせ、T
DOを取り込むTAPコマンドとして解釈される。これ
により、I2Cインタフェース104はJTAG論理回
路によってサポートされるどのアクションでも実行する
ことができる。停止またはオーバフロー条件は、書込み
動作およびオーバフロー条件に関するその現行値により
BCRをキックオフする。R/Wアドレス・ビットが1
に設定された停止または開始は、読取り動作に関するそ
の現行値によりBCRをキックオフする。「BCR_value
mod 8」(残りが非ゼロの場合は+1)バイトを上回る
データを書き込むかまたは読み取ると、BCR再ロード
がデータ・ストリームを続行する(すなわち、走査リン
グ内の連続バイトを書き込む/読み取る)。CRC検査
が使用可能になっている場合、CRCバイトが正しく伝
送されない限り、すべての読取り/書込み基本およびレ
ジスタ読取り/書込みは抑制される。
【0098】Tapコマンド例: 64ビット+ビット
・リング・レジスタ読取り/書込み:(CRC使用不
能) 内部走査リングの基本64ビット・スキャンアウトに続
いて1ビット・スキャンアウトを実行するために必要な
2Cコマンドのシーケンスについて以下に詳述する。
【0099】1.基本コマンドのロード: Tap状態
マシンをまずテスト論理リセットにし、次にシフトIR
にして、命令をスキャンインするようスレーブに命令す
る。 I2C書込み開始w/R/Wビット=0、長さ=5バイ
ト、STOP バイト1:08x:10個のTCKパルス(アドレス/
コマンド・バイト後のデータがTMSシーケンスにな
る) バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB バイト4:DFx:値のTMSシーケンス(右端のLS
BからMSBへ) バイト5:00x:連続した値のTMSシーケンス(T
ap SMをシフトIRにする)
【0100】2.基本コマンドおよび命令データのロー
ド: Tapコントローラ命令レジスタに0F 80
00 41をスキャンインするようスレーブに命令す
る。これは内部リングのスキャンアウトであり、次にT
ap S/MをExit1−IRにする。 I2C書込み開始w/R/Wビット=0、長さ=7バイ
ト、STOP バイト1:DEx:32個のTCKパルス バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB バイト4:41x:命令のLSB バイト5:00x:命令の次のバイト バイト6:80x:命令の次のバイト バイト7:0Fx:命令のMSB(内部走査リングのス
キャンアウト)
【0101】3.基本コマンドのロード: Tap状態
マシンを(Exit1−IRから)シフトDRに順序づ
けるようスレーブに命令する。 I2C書込み開始w/R/Wビット=0、長さ=4バイ
ト、STOP バイト1:02x:4個のTCKパルス バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB バイト4:03x:値のTMSシーケンス(右端のLS
BからMSBへ、Tap S/MをシフトDRにする)
【0102】4.基本コマンドのロード: すべてにつ
いてTMS=0の64個のTCKパルスを開始し、Ta
p S/MをシフトDRに保持するようスレーブに命令
する。 I2C書込み開始コマンド: すべてについてTMS=
0の64個のTCKパルスを開始し、Tap S/Mを
シフトDRに保持するようスレーブに命令する。 バイト1:BEx:64個のTCKパルス バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB
【0103】5.スキャンアウト・コマンド用の戻りデ
ータの獲得: TMSが0であり、Tap S/Mをシ
フトDRに残す。 I2C読取り再始動w/R/Wビット=1、長さ=8バ
イト、STOP バイト1:FEx:データのLSB バイト2:0Fx:データの次のバイト バイト3:DCx:データの次のバイト バイト4:BAx:データの次のバイト バイト5:EFx:データの次のバイト バイト6:BEx:データの次のバイト バイト7:ADx:データの次のバイト バイト8:DEx:データのMSBバイト
【0104】6.次の基本コマンドのロード: TMS
=1の1個のTCKパルスを開始し、1ビットSCAN
後にTap S/MをExit1−DRにキックするよ
うスレーブに命令する。 I2C書込み開始w/R/Wビット=0、長さ=3バイ
ト、STOP バイト1:FFx:1個のTCKパルス バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB
【0105】7.スキャンアウト・コマンド用の戻りデ
ータの獲得(1ビット): TapS/MをExit1
−DRにキックする。 I2C読取り再始動w/R/Wビット=1、長さ=1バ
イト、STOP バイト1:FEx:データのLSB(右端のビットのみ
有効である)
【0106】8.次の基本コマンドのロード: Tap
状態マシンをテスト論理リセット状態にするようスレー
ブに命令する。 I2C書込み開始w/R/Wビット=0、長さ=4バイ
ト、STOP バイト1:03x:5個のTCKパルス バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB バイト4:1Fx:右端のビットから左端までのTMS
値のシーケンス(Tap状態マシンをリセットに戻すた
めに5ビットのみ使用する)
【0107】Tapコマンド例: 2.5バイト・レジ
スタ書込み:内部走査リングに2.5バイト(20ビッ
ト)のデータをスキャンインするために必要なI2Cコ
マンドのシーケンスについて以下に詳述する(注:結果
として得られるスキャンイン・データは16進のEF
BAになる)。
【0108】1.基本コマンドのロード: Tap状態
マシンをまずテスト論理リセットにし、次にシフトIR
にして、命令をスキャンインするようスレーブに命令す
る。 I2C書込み開始w/R/Wビット=0、長さ=5バイ
ト、STOP バイト1:08x:10個のTCKパルス(アドレス/
コマンド・バイト後のデータがTMSシーケンスにな
る) バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB バイト4:Dfx:値のTMSシーケンス(右端のLS
BからMSBへ) バイト5:00x:連続した値のTMSシーケンス(T
ap SMをシフトIRにする)
【0109】2.基本コマンドおよび命令データのロー
ド: Tapコントローラ命令レジスタに0F 80
00 41をスキャンインするようスレーブに命令す
る。これは内部リングのスキャンアウトであり、次にT
ap S/MをExit1−IRにする。 I2C書込み開始w/R/Wビット=0、長さ=7バイ
ト、STOP バイト1:Dex:32個のTCKパルス バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB バイト4:41x:命令のLSB バイト5:00x:命令の次のバイト バイト6:80x:命令の次のバイト バイト7:0Fx:命令のMSB(内部走査リングのス
キャンアウト)
【0110】3.基本コマンドのロード: Tap状態
マシンを(Exit1−IRから)シフトDRに順序づ
けるようスレーブに命令する。 I2C書込み開始w/R/Wビット=0、長さ=4バイ
ト、STOP バイト1:02x:4個のTCKパルス バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB バイト4:03x:値のTMSシーケンス(右端のLS
BからMSBへ、Tap S/MをシフトDRにする)
【0111】4.基本コマンドのロード: すべてにつ
いてTMS=0の8個のTCKパルスの2シリーズから
なる2バイト・スキャンインを開始し、S/Mをシフト
DRに残すようスレーブに命令する。 I2C書込み開始w/R/Wビット=0、長さ=5バイ
ト、STOP バイト1:06x:TCKパルス(すべての場合にTM
S=0、注:2バイトのデータがあるので、内部スレー
ブ論理回路が2通りの別個の8ビットSCANをキック
オフするように、16個のTCKパルスが必要であ
る。) バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB バイト4:BAx:データの第1のバイト(LSB) バイト5:EFx:データの次のバイト
【0112】5.基本コマンドのロード: 最後の4ビ
ットをスキャンインすることにより、2.5バイト・ス
キャンインを終了する。これは、最後のTCKを除くす
べてについてTMS=0の4個のTCKパルスになる。
TMS=1の最後のTCKはTAP S/MをExit
1−DRにキックする。 I2C書込み開始w/R/Wビット=0、長さ=4バイ
ト、STOP バイト1:C2x:4個のTCKパルス(最後のTCK
を除くすべての場合にTMS=0) バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB バイト4:BAx:スキャンイン・データの上位4ビッ
ト(右端のビット)
【0113】6.次の基本コマンドのロード: Tap
状態マシンをテスト論理リセット状態にするようスレー
ブに命令する。 I2C書込み開始w/R/Wビット=0、長さ=4バイ
ト、STOP バイト1:03x:5個のTCKパルス バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB バイト4:1Fx:右端のビットから左端までのTMS
値のシーケンス(Tap状態マシンをリセットに戻すた
めに5ビットのみ使用する)
【0114】ヌルTAPコマンド(TapCmdアドレ
ス(11:8)=「0001」) TCK/TMS/TDI上でのJTAG活動は抑制され
る。このモードは、たとえば、新しいコマンドをIRに
スキャンインするTap Cmdシーケンスの直後のI
R状況情報を読み戻すためのものである。
【0115】SSRデータ(IOバッファ)へのI2
書込みは何の効果もない。SSRデータのI2C読取り
は、スキャンアウトした最新のJTAG/TDOデータ
を返すことになる。
【0116】Tapコマンド例: 命令のスキャンイン
直後のIR状況の読取り 1.基本コマンドのロード: Tap状態マシンをまず
テスト論理リセットにし、次にシフトIRにして、命令
をスキャンインするようスレーブに命令する。 I2C書込み開始w/R/Wビット=0、長さ=5バイ
ト、STOP バイト1:08x:10個のTCKパルス(アドレス/
コマンド・バイト後のデータがTMSシーケンスにな
る) バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB バイト4:Dfx:値のTMSシーケンス(右端のLS
BからMSBへ) バイト5:00x:連続した値のTMSシーケンス(T
ap SMをシフトIRにする)
【0117】2.基本コマンドおよび命令データのロー
ド: Tapコントローラ命令レジスタに0F 80
00 41をスキャンインするようスレーブに命令す
る。これは内部リングのスキャンアウトであり、次にT
ap S/MをExit1−IRにする。 I2C書込み開始w/R/Wビット=0、長さ=7バイ
ト、STOP バイト1:Dex:32個のTCKパルス バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB バイト4:41x:命令のLSB バイト5:00x:命令の次のバイト バイト6:80x:命令の次のバイト バイト7:0Fx:命令のMSB(内部走査リングのス
キャンアウト)
【0118】3.基本コマンドのロード: 走査コント
ローラから最後にスキャンアウトされたものを読み取る
ようスレーブに命令する(命令レジスタ走査が最後の動
作だったので、これはIR−STATUSになる)。 I2C書込み開始w/R/Wビット=0、長さ=3バイ
ト、STOP バイト1:−−x:このバイトは、このコマンドでは無
指定になる バイト2:41x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB
【0119】4.基本読取りコマンド用の戻りデータの
獲得: スキャンアウトされたデータ(以下のダッシュ
で表されるもの)を返す。 I2C読取り再始動w/R/Wビット=1、長さ=4バ
イト、STOP バイト1:−−x:IR状況のLSB バイト2:−−x:IR状況の次のバイト バイト3:−−x:IR状況の次のバイト バイト4:−−x:IR状況のMSB
【0120】5.次の基本コマンドのロード: Tap
状況マシンをテスト論理リセット状態にするようスレー
ブに命令する。 I2C書込み開始w/R/Wビット=0、長さ=4バイ
ト、STOP バイト1:03x:5個のTCKパルス バイト2:40x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB バイト4:1Fx:右端のビットから左端までのTMS
値のシーケンス(Tap状態マシンをリセットに戻すた
めに5ビットのみ使用する)
【0121】I2C停止シーケンスの発行
【0122】アテンション使用可能コマンド(TapC
mdアドレス(11:8)=「0010」)。アクセス
から提起されたアテンションを使用可能にするI2C方
法。
【0123】SSRデータ(IOバッファ)へのI2
書込みにより、I2Cスレーブによるアテンション検査
が使用可能になる。JTAG活動は抑制される。
【0124】ただし、このシーケンスが書き込まれる
と、スレーブは、アテンションが活動状態ではない場合
のみ、レジスタ読取り/書込み動作を肯定応答すること
になることに留意されたい。アテンションが活動状態で
ある場合、標準のI2C ackパルスにより基本Ta
pコマンドのみ肯定応答される。
【0125】Tapコマンド例: 内部でのアテンショ
ン検査の再使用可能化 1.I2C書込み開始w/R/Wビット=0、長さ=4
バイト、STOP 2.バイト1:−−x: バイト2:42x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB 3.I2C停止シーケンスの発行
【0126】アテンション使用不能コマンド(TapC
mdアドレス(11:8)=「0011」)。アクセス
から提起されたアテンションを使用不能にするI2C方
法。
【0127】SSRデータ(IOバッファ)へのI2
書込みにより、I2Cスレーブによるアテンション検査
が使用不能になる。
【0128】ただし、このシーケンスが書き込まれる
と、スレーブは、アテンションが活動状態である場合で
も、基本コマンドならびにレジスタ読取り/書込みシー
ケンスを肯定応答することになることに留意されたい。
この方法は、次にアテンションを提起させることになる
活動状態のマシン検査などの発行を無効にするために使
用する。これはレジスタ読取り/書込みエラーから提起
されるアテンションを矯正するものではなく、レジスタ
読取り/書込みエラー後に受信したデータは無視しなけ
ればならない。デフォルトでは、アテンションはマスキ
ングされる。
【0129】Tapコマンド例: 内部でのアテンショ
ンのマスキング 1.I2C書込み開始w/R/Wビット=0、長さ=4
バイト、STOP 2.バイト1:−−x: バイト2:43x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB 3.I2C停止シーケンスの発行
【0130】基本コマンド例: 内部でのCRC検査の
使用可能化。このバイト・シーケンスによりCRC検査
がオンになる。 1.I2C書込み開始w/R/Wビット=0、長さ=3
バイト、STOP 2.バイト1:−−x: バイト2:45x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB 3.I2C停止シーケンスの発行
【0131】注: バイト2:45xおよびバイト3:
52xがスレーブに送信されるまで、CRC検査は使用
可能になる。
【0132】例: CRCを使用するレジスタ読取りの
実行 この例の場合、CRCの一実施態様では、8ビットのC
RCアキュムレータ用としてx8+x4+x3+x2+1を
使用する。
【0133】CRC検査をオンにするための書込み基本
デコード 1.I2C書込み開始w/R/Wビット=0、長さ=3
バイト、STOP 2.バイト1:−−x: バイト2:45x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB 3.I2C停止シーケンスの発行
【0134】(CRC_CHECKINGが使用可能になる。)
【0135】読み取るべきアドレスならびにスレーブ・
アドレスおよび3バイト・アドレス用のCRCバイト
(この例では59x)の送出 1.I2C書込み開始w/R/Wビット=0、長さ=4
バイト、STOP 2.バイト1:03x:レジスタ読取り/書込みアドレ
スのLSB バイト2:00x:レジスタ読取り/書込みアドレスの
中間バイト バイト3:80x:レジスタ読取り/書込みアドレスの
MSB バイト4:59x:8個の0のシフトイン後のCRCバ
イト 3.I2C停止シーケンスの発行
【0136】(レジスタ読取り/書込みアドレス800
003がスレーブに記憶される。)
【0137】完了まで必要なバイト数を読み取る。CR
CバイトはI2Cバス上で返送されるデータについての
み計算される。 1.I2C書込み開始w/R/Wビット=1、長さ=8
バイト、STOP この例ではバイト1〜8を読み取る(可変長) 2.I2C停止シーケンスの発行
【0138】最後の読取り動作時に計算されたCRCバ
イトを入手するためには、CRCバイトとしての「1
1」xとともに基本デコード「5247」xを伝送する
必要がある(コマンドの無指定部分で「03」xが送信
される場合)。 1.I2C書込み開始w/R/Wビット=0、長さ=4
バイト、STOP 2.バイト1:−−x:CRC読取りの場合の無指定
(この場合には03xを使用する) バイト2:47x:読取りCRCデコード・アドレス バイト3:52x:基本アドレスのMSB バイト4:11x:8個の0のシフトイン後のCRCバ
イト 3.I2C停止シーケンスの発行
【0139】(レジスタ読取り/書込みアドレス800
003がスレーブに記憶される。)
【0140】CRC読取り用の基本デコードを送出した
後、実行されたレジスタ読取りに関するCRCを入手す
るために読取りシーケンスを実行することができる。1
バイトのみ有効なので、1バイトだけを読み取るかまた
は残りを無視しなければならない。マスタはこのバイト
に対してno−ack(「1」b)でなければならない
ので、バス・エラーを引き起こさずにこの動作を実行す
ることが可能である。 1.I2C書込み開始w/R/Wビット=1、長さ=1
バイト、STOP この例ではバイト#1を読み取る(1バイトのみ有効で
ある) 2.I2C停止シーケンスの発行
【0141】ただし、レジスタをゼロにするために、前
に計算したバイトによりCRCバイトを送信しなければ
ならないことに留意されたい。
【0142】このバイト・シーケンスにより、CRC検
査がオフになる。 1.I2C書込み開始w/R/Wビット=0、長さ=3
バイト、STOP 2.バイト1:−−x:TCKパルス バイト2:46x:基本コマンド・アドレスのLSB バイト3:52x:基本コマンド・アドレスのMSB 3.I2C停止シーケンスの発行
【0143】次のプログラマのためにCRC検査が使用
不能になる。
【0144】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0145】(1)グローバル・シリアル・バスに製造
テスト・インタフェースを接続するための装置であっ
て、前記グローバル・シリアル・バスとの間で転送すべ
きデータをバッファする入出力バッファ論理回路と、前
記入出力バッファ論理回路に接続され、データを受信
し、そのデータを前記入出力バッファ論理回路に送信す
るスレーブ・インタフェース論理回路と、前記入出力バ
ッファ論理回路および前記スレーブ・インタフェース論
理回路に結合され、前記入出力バッファ論理回路に合わ
せてデータ交換のペースを調整するスレーブ・コントロ
ーラとを含む装置。 (2)前記入出力バッファと前記グローバル・シリアル
・バスとの間に結合され、エラー条件を処理するエラー
処理論理回路をさらに含む、上記(1)に記載のグロー
バル・シリアル・バスに製造テスト・インタフェースを
接続するための装置。 (3)前記エラー処理論理回路が巡回冗長検査(CR
C)計算論理回路を含む、上記(2)に記載のグローバ
ル・シリアル・バスに製造テスト・インタフェースを接
続するための装置。 (4)前記グローバル・シリアル・バスが集積回路間
(I2C)バスを含む、上記(1)に記載のグローバル
・シリアル・バスに製造テスト・インタフェースを接続
するための装置。 (5)前記製造テスト・インタフェースがジョイント・
テスト・アクション・グループ(JTAG)インタフェ
ースを含み、前記スレーブ・インタフェース論理回路が
前記JTAGインタフェースとの間で送受信されるJT
AGフォーマット・コマンドを処理する、上記(1)に
記載のグローバル・シリアル・バスに製造テスト・イン
タフェースを接続するための装置。 (6)前記入出力バッファと前記グローバル・シリアル
・バスとの間に結合され、エラー条件を処理するエラー
処理論理回路をさらに含み、前記JTAGインタフェー
スが前記エラー処理論理回路にアテンション信号を供給
し、前記アテンション信号がエラーを示す、上記(5)
に記載のグローバル・シリアル・バスに製造テスト・イ
ンタフェースを接続するための装置。 (7)前記エラー処理論理回路が巡回冗長検査(CR
C)計算論理回路を含み、前記CRC計算論理回路がC
RC計算を実現するために使用可能になる、上記(6)
に記載のグローバル・シリアル・バスに製造テスト・イ
ンタフェースを接続するための装置。 (8)前記スレーブ・インタフェース論理回路が、前記
アテンション信号に応答してエラー検査を使用可能およ
び使用不能にするように構成される、上記(6)に記載
のグローバル・シリアル・バスに製造テスト・インタフ
ェースを接続するための装置。 (9)前記スレーブ・コントローラが、前記スレーブ・
インタフェース論理回路と前記JTAGインタフェース
の間のデータ交換のペースを調整する、上記(5)に記
載のグローバル・シリアル・バスに製造テスト・インタ
フェースを接続するための装置。 (10)前記スレーブ・コントローラが、前記スレーブ
・インタフェース論理回路と前記JTAGインタフェー
スの間のデータ交換のためにデータ・ステアリングおよ
び経路指定を行う、上記(5)に記載のグローバル・シ
リアル・バスに製造テスト・インタフェースを接続する
ための装置。 (11)前記スレーブ・コントローラが、レジスタ読取
り/書込み動作のために順序づけた一連のコマンドを前
記スレーブ・インタフェース論理回路に供給する、上記
(5)に記載のグローバル・シリアル・バスに製造テス
ト・インタフェースを接続するための装置。 (12)前記スレーブ・インタフェース論理回路が同時
に発生したJTAG読取り/書込み動作を処理し、前記
スレーブ・コントローラが書込み動作に続いてJTAG
命令レジスタ(IR)状況読取り動作のための読取り動
作を行う、上記(5)に記載のグローバル・シリアル・
バスに製造テスト・インタフェースを接続するための装
置。 (13)前記スレーブ・コントローラが、開始バイト・
アドレスに続いてレジスタ読取り/書込み動作のための
レジスタ読取り/書込みアドレスを供給する、上記
(5)に記載のグローバル・シリアル・バスに製造テス
ト・インタフェースを接続するための装置。 (14)前記スレーブ・コントローラが、走査通信レジ
スタ読取り/書込み動作のために順序づけた一連のコマ
ンドを前記スレーブ・インタフェース論理回路に供給す
る、上記(5)に記載のグローバル・シリアル・バスに
製造テスト・インタフェースを接続するための装置。 (15)前記グローバル・シリアル・バスが、集積回路
間(I2C)バスと、前記I2Cバスと前記入出力バッフ
ァ論理回路の間に結合された物理インタフェースとを含
み、前記スレーブ・コントローラが、前記物理インタフ
ェースと前記入出力バッファ論理回路の間のデータ交換
のペースを調整する、上記(5)に記載のグローバル・
シリアル・バスに製造テスト・インタフェースを接続す
るための装置。 (16)前記スレーブ・コントローラが、前記物理イン
タフェースと前記入出力バッファ論理回路の間のデータ
交換のためにデータ・ステアリングを行う、上記(1
5)に記載のグローバル・シリアル・バスに製造テスト
・インタフェースを接続するための装置。 (17)前記スレーブ・コントローラが、レジスタ読取
り動作のために前記スレーブ・インタフェース論理回路
にコマンドを供給する、上記(5)に記載のグローバル
・シリアル・バスに製造テスト・インタフェースを接続
するための装置。 (18)前記スレーブ・コントローラが、レジスタ書込
み動作のために前記スレーブ・インタフェース論理回路
にコマンドを供給する、上記(5)に記載のグローバル
・シリアル・バスに製造テスト・インタフェースを接続
するための装置。 (19)前記スレーブ・インタフェース論理回路がテス
ト・クロック(TCK)生成論理回路を含む、上記
(5)に記載のグローバル・シリアル・バスに製造テス
ト・インタフェースを接続するための装置。 (20)前記スレーブ・インタフェース論理回路が前記
JTAGインタフェースからロード・コマンド信号を受
信する、上記(5)に記載のグローバル・シリアル・バ
スに製造テスト・インタフェースを接続するための装
置。 (21)前記JTAGインタフェースと前記スレーブ・
インタフェース論理回路が内部JTAGバスによって接
続され、前記内部JTAGバス上の活動を開始するため
に前記ロード・コマンド信号が活動化される、上記(2
0)に記載のグローバル・シリアル・バスに製造テスト
・インタフェースを接続するための装置。 (22)前記グローバル・シリアル・バスが集積回路間
(I2C)バスを含み、エラー処理のために肯定応答信
号が使用される、上記(5)に記載のグローバル・シリ
アル・バスに製造テスト・インタフェースを接続するた
めの装置。 (23)前記スレーブ・コントローラが、1つまたは複
数の基本動作を実行するために前記スレーブ・インタフ
ェース論理回路にコマンドを供給する、上記(5)に記
載のグローバル・シリアル・バスに製造テスト・インタ
フェースを接続するための装置。 (24)前記基本動作が、前記JTAGインタフェース
への制御、命令、データ、状況交換のうちの少なくとも
1つを選択する、上記(5)に記載のグローバル・シリ
アル・バスに製造テスト・インタフェースを接続するた
めの装置。 (25)前記JTAGインタフェースが走査通信即時読
取り論理回路を含む、上記(5)に記載のグローバル・
シリアル・バスに製造テスト・インタフェースを接続す
るための装置。 (26)前記走査通信即時読取り論理回路が、ターゲッ
ト・レジスタ内容を取り出して走査通信データ・レジス
タにロードし、前記走査通信データ・レジスタの前記内
容を直ちに読み出すために1つのステップを実行する、
上記(5)に記載のグローバル・シリアル・バスに製造
テスト・インタフェースを接続するための装置。 (27)前記スレーブ・コントローラが、前記入出力バ
ッファ論理回路とのデータ交換のためにデータ・ステア
リングおよび経路指定を行う、上記(1)に記載のグロ
ーバル・シリアル・バスに製造テスト・インタフェース
を接続するための装置。 (28)グローバル・シリアル・バスに製造テスト・イ
ンタフェースを接続するための方法であって、物理イン
タフェースと内部バスの間にスレーブ状態マシンを設
け、前記物理インタフェースが前記グローバル・シリア
ル・バスに接続され、前記内部バスが前記製造テスト・
インタフェースに接続されるステップと、前記スレーブ
状態マシンを使用するステップであって、前記グローバ
ル・シリアル・バスとの間で転送すべきデータをバッフ
ァするステップと、前記製造テスト・インタフェースと
前記グローバル・シリアル・バスの間のデータ交換のペ
ースを調整するステップとを実行するためのステップと
を含む方法。 (29)前記スレーブ状態マシンが、エラー条件を処理
するステップをさらに実行する、上記(28)に記載の
グローバル・シリアル・バスに製造テスト・インタフェ
ースを接続するための方法。 (30)前記スレーブ状態マシンが、走査通信読取り動
作のためのコマンドを供給するステップをさらに実行す
る、上記(28)に記載のグローバル・シリアル・バス
に製造テスト・インタフェースを接続するための方法。 (31)前記スレーブ状態マシンが、走査通信書込み動
作のためのコマンドを供給するステップをさらに実行す
る、上記(28)に記載のグローバル・シリアル・バス
に製造テスト・インタフェースを接続するための方法。 (32)前記スレーブ状態マシンが、制御読取り動作の
ためのコマンドを供給するステップをさらに実行する、
上記(28)に記載のグローバル・シリアル・バスに製
造テスト・インタフェースを接続するための方法。 (33)前記スレーブ状態マシンが、制御書込み動作の
ためのコマンドを供給するステップをさらに実行する、
上記(28)に記載のグローバル・シリアル・バスに製
造テスト・インタフェースを接続するための方法。 (34)前記スレーブ状態マシンが、基本書込み動作の
ためのコマンドを供給するステップをさらに実行する、
上記(28)に記載のグローバル・シリアル・バスに製
造テスト・インタフェースを接続するための方法。 (35)前記スレーブ状態マシンが、基本読取り動作の
ためのコマンドを供給するステップをさらに実行する、
上記(28)に記載のグローバル・シリアル・バスに製
造テスト・インタフェースを接続するための方法。 (36)グローバル・シリアル・バスに製造テスト・イ
ンタフェースを接続するための集積回路デバイスであっ
て、前記集積回路デバイスが、前記グローバル・シリア
ル・バスとの間で転送すべきデータをバッファする入出
力バッファ論理回路と、前記入出力バッファ論理回路に
接続され、データを受信し、そのデータを前記入出力バ
ッファ論理回路に送信するスレーブ・インタフェース論
理回路と、前記入出力バッファ論理回路および前記スレ
ーブ・インタフェース論理回路に結合され、前記入出力
バッファ論理回路に合わせてデータ交換のペースを調整
するスレーブ・コントローラとを含む集積回路デバイ
ス。 (37)前記入出力バッファ論理回路と前記スレーブ・
インタフェース論理回路の間に結合されたエラー処理論
理回路をさらに含む、上記(36)に記載の集積回路デ
バイス。
【図面の簡単な説明】
【図1】好ましい実施の形態による製造テスト・インタ
フェースおよびグローバル集積回路間(I2C)バス相
互接続装置のブロック図表現である。
【図2】好ましい実施の形態による図1の製造テスト・
インタフェースおよびグローバル集積回路間(I2C)
バス相互接続装置のI2Cスレーブ状態マシンのスレー
ブ・データおよび制御レジスタを示すブロック図表現で
ある。
【図3】好ましい実施の形態による図1の製造テスト・
インタフェースおよびグローバル集積回路間(I2C)
バス相互接続装置のI2Cスレーブ状態マシンのスレー
ブIOバッファ論理回路を示すブロック図表現である。
【図4】好ましい実施の形態による図1の製造テスト・
インタフェースおよびグローバル集積回路間(I2C)
バス相互接続装置のI2Cスレーブ状態マシンのスレー
ブ・テスト・アクセス・ポート(TAP)インタフェー
スを示すブロック図表現である。
【図5】好ましい実施の形態による図1の製造テスト・
インタフェースおよびグローバル集積回路間(I2C)
バス相互接続装置のI2Cスレーブ状態マシンのスレー
ブ・コントローラを示すブロック図表現である。
【図6】好ましい実施の形態による図1の製造テスト・
インタフェースおよびグローバル集積回路間(I2C)
バス相互接続装置の物理インタフェースとI2Cスレー
ブ状態マシンのIOバッファ論理回路とのデータ・ペー
シングを示すブロック図表現である。
【図7】好ましい実施の形態による図1の製造テスト・
インタフェースおよびグローバル集積回路間(I2C)
バス相互接続装置のI2Cスレーブ状態マシンのスレー
ブ・テスト・アクセス・ポート(TAP)インタフェー
スとI2Cスレーブ状態マシンのIOバッファ論理回路
とのデータ・ペーシングを示すブロック図表現である。
【図8】好ましい実施の形態による図1の製造テスト・
インタフェースおよびグローバル集積回路間(I2C)
バス相互接続装置のI2Cスレーブ状態マシンのスレー
ブ・エラー処理論理回路を示すブロック図表現である。
【図9】好ましい実施の形態による図1の製造テスト・
インタフェースおよびグローバル集積回路間(I2C)
バス相互接続装置のI2Cスレーブ状態マシンの複数の
状態を示すブロック図表現である。
【図10】好ましい実施の形態による図1の製造テスト
・インタフェースおよびグローバル集積回路間(I
2C)バス相互接続装置のI2Cスレーブ状態マシンの基
本書込み制御フローを示す図である。
【図11】好ましい実施の形態による図1の製造テスト
・インタフェースおよびグローバル集積回路間(I
2C)バス相互接続装置のI2Cスレーブ状態マシンの基
本読取り制御フローを示す図である。
【図12】好ましい実施の形態による図1の製造テスト
・インタフェースおよびグローバル集積回路間(I
2C)バス相互接続装置のI2Cスレーブ状態マシンのレ
ジスタ書込み制御フローを示す図である。
【図13】好ましい実施の形態による図1の製造テスト
・インタフェースおよびグローバル集積回路間(I
2C)バス相互接続装置のI2Cスレーブ状態マシンのレ
ジスタ読取り制御フローを示す図である。
【図14】好ましい実施の形態による図1の製造テスト
・インタフェースおよびグローバル集積回路間(I
2C)バス相互接続装置のI2Cスレーブ状態マシンの制
御書込み制御フローを示す図である。
【図15】好ましい実施の形態による図1の製造テスト
・インタフェースおよびグローバル集積回路間(I
2C)バス相互接続装置のI2Cスレーブ状態マシンの制
御読取り制御フローを示す図である。
【図16】好ましい実施の形態による図1の製造テスト
・インタフェースおよびグローバル集積回路間(I
2C)バス相互接続装置のテスト・アクセス・ポート
(TAP)および境界走査アーキテクチャであるアクセ
スを示すブロック図表現である。
【符号の説明】
100 製造テスト・インタフェースおよびグローバル
集積回路間(I2C)バス相互接続装置 102 I2C状態マシンおよびトランスレータ 104 I2C物理インタフェース 106 I2Cバス 108 マルチプレクサ(MUX) 110 内部JTAGバス 112 外部JTAGバス 113 制御入力 114 テスト・アクセス・ポートおよび境界走査アー
キテクチャであるアクセス(または他のJTAG実施態
様) 118 クロック制御、組込み自己試験(BIST)お
よびその他の機能 120 アーキテクチャ・レジスタ 122 JTAG走査可能レジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ガイ・リチャート・クリエ アメリカ合衆国55906 ミネソタ州ロチェ スター テラス・レーン ノースイースト 1711 (72)発明者 ジェームズ・スコート・ハーヴランド アメリカ合衆国55901 ミネソタ州ロチェ スター フォーティーンス・ストリート・ ノース・ウェスト620 (72)発明者 シャロン・デノス・ヴィンセント アメリカ合衆国55906 ミネソタ州ロチェ スター ブリストル・レーン ノースイー スト801 (72)発明者 ポール・レオナード・ウルトゲン アメリカ合衆国55944 ミネソタ州カッソ ン フィフス・ストリート ノースウェス ト1202

Claims (37)

    【特許請求の範囲】
  1. 【請求項1】グローバル・シリアル・バスに製造テスト
    ・インタフェースを接続するための装置であって、 前記グローバル・シリアル・バスとの間で転送すべきデ
    ータをバッファする入出力バッファ論理回路と、 前記入出力バッファ論理回路に接続され、データを受信
    し、そのデータを前記入出力バッファ論理回路に送信す
    るスレーブ・インタフェース論理回路と、 前記入出力バッファ論理回路および前記スレーブ・イン
    タフェース論理回路に結合され、前記入出力バッファ論
    理回路に合わせてデータ交換のペースを調整するスレー
    ブ・コントローラとを含む装置。
  2. 【請求項2】前記入出力バッファと前記グローバル・シ
    リアル・バスとの間に結合され、エラー条件を処理する
    エラー処理論理回路をさらに含む、請求項1に記載のグ
    ローバル・シリアル・バスに製造テスト・インタフェー
    スを接続するための装置。
  3. 【請求項3】前記エラー処理論理回路が巡回冗長検査
    (CRC)計算論理回路を含む、請求項2に記載のグロ
    ーバル・シリアル・バスに製造テスト・インタフェース
    を接続するための装置。
  4. 【請求項4】前記グローバル・シリアル・バスが集積回
    路間(I2C)バスを含む、請求項1に記載のグローバ
    ル・シリアル・バスに製造テスト・インタフェースを接
    続するための装置。
  5. 【請求項5】前記製造テスト・インタフェースがジョイ
    ント・テスト・アクション・グループ(JTAG)イン
    タフェースを含み、前記スレーブ・インタフェース論理
    回路が前記JTAGインタフェースとの間で送受信され
    るJTAGフォーマット・コマンドを処理する、請求項
    1に記載のグローバル・シリアル・バスに製造テスト・
    インタフェースを接続するための装置。
  6. 【請求項6】前記入出力バッファと前記グローバル・シ
    リアル・バスとの間に結合され、エラー条件を処理する
    エラー処理論理回路をさらに含み、前記JTAGインタ
    フェースが前記エラー処理論理回路にアテンション信号
    を供給し、前記アテンション信号がエラーを示す、請求
    項5に記載のグローバル・シリアル・バスに製造テスト
    ・インタフェースを接続するための装置。
  7. 【請求項7】前記エラー処理論理回路が巡回冗長検査
    (CRC)計算論理回路を含み、前記CRC計算論理回
    路がCRC計算を実現するために使用可能になる、請求
    項6に記載のグローバル・シリアル・バスに製造テスト
    ・インタフェースを接続するための装置。
  8. 【請求項8】前記スレーブ・インタフェース論理回路
    が、前記アテンション信号に応答してエラー検査を使用
    可能および使用不能にするように構成される、請求項6
    に記載のグローバル・シリアル・バスに製造テスト・イ
    ンタフェースを接続するための装置。
  9. 【請求項9】前記スレーブ・コントローラが、前記スレ
    ーブ・インタフェース論理回路と前記JTAGインタフ
    ェースの間のデータ交換のペースを調整する、請求項5
    に記載のグローバル・シリアル・バスに製造テスト・イ
    ンタフェースを接続するための装置。
  10. 【請求項10】前記スレーブ・コントローラが、前記ス
    レーブ・インタフェース論理回路と前記JTAGインタ
    フェースの間のデータ交換のためにデータ・ステアリン
    グおよび経路指定を行う、請求項5に記載のグローバル
    ・シリアル・バスに製造テスト・インタフェースを接続
    するための装置。
  11. 【請求項11】前記スレーブ・コントローラが、レジス
    タ読取り/書込み動作のために順序づけた一連のコマン
    ドを前記スレーブ・インタフェース論理回路に供給す
    る、請求項5に記載のグローバル・シリアル・バスに製
    造テスト・インタフェースを接続するための装置。
  12. 【請求項12】前記スレーブ・インタフェース論理回路
    が同時に発生したJTAG読取り/書込み動作を処理
    し、前記スレーブ・コントローラが書込み動作に続いて
    JTAG命令レジスタ(IR)状況読取り動作のための
    読取り動作を行う、請求項5に記載のグローバル・シリ
    アル・バスに製造テスト・インタフェースを接続するた
    めの装置。
  13. 【請求項13】前記スレーブ・コントローラが、開始バ
    イト・アドレスに続いてレジスタ読取り/書込み動作の
    ためのレジスタ読取り/書込みアドレスを供給する、請
    求項5に記載のグローバル・シリアル・バスに製造テス
    ト・インタフェースを接続するための装置。
  14. 【請求項14】前記スレーブ・コントローラが、走査通
    信レジスタ読取り/書込み動作のために順序づけた一連
    のコマンドを前記スレーブ・インタフェース論理回路に
    供給する、請求項5に記載のグローバル・シリアル・バ
    スに製造テスト・インタフェースを接続するための装
    置。
  15. 【請求項15】前記グローバル・シリアル・バスが、集
    積回路間(I2C)バスと、前記I2Cバスと前記入出力
    バッファ論理回路の間に結合された物理インタフェース
    とを含み、前記スレーブ・コントローラが、前記物理イ
    ンタフェースと前記入出力バッファ論理回路の間のデー
    タ交換のペースを調整する、請求項5に記載のグローバ
    ル・シリアル・バスに製造テスト・インタフェースを接
    続するための装置。
  16. 【請求項16】前記スレーブ・コントローラが、前記物
    理インタフェースと前記入出力バッファ論理回路の間の
    データ交換のためにデータ・ステアリングを行う、請求
    項15に記載のグローバル・シリアル・バスに製造テス
    ト・インタフェースを接続するための装置。
  17. 【請求項17】前記スレーブ・コントローラが、レジス
    タ読取り動作のために前記スレーブ・インタフェース論
    理回路にコマンドを供給する、請求項5に記載のグロー
    バル・シリアル・バスに製造テスト・インタフェースを
    接続するための装置。
  18. 【請求項18】前記スレーブ・コントローラが、レジス
    タ書込み動作のために前記スレーブ・インタフェース論
    理回路にコマンドを供給する、請求項5に記載のグロー
    バル・シリアル・バスに製造テスト・インタフェースを
    接続するための装置。
  19. 【請求項19】前記スレーブ・インタフェース論理回路
    がテスト・クロック(TCK)生成論理回路を含む、請
    求項5に記載のグローバル・シリアル・バスに製造テス
    ト・インタフェースを接続するための装置。
  20. 【請求項20】前記スレーブ・インタフェース論理回路
    が前記JTAGインタフェースからロード・コマンド信
    号を受信する、請求項5に記載のグローバル・シリアル
    ・バスに製造テスト・インタフェースを接続するための
    装置。
  21. 【請求項21】前記JTAGインタフェースと前記スレ
    ーブ・インタフェース論理回路が内部JTAGバスによ
    って接続され、前記内部JTAGバス上の活動を開始す
    るために前記ロード・コマンド信号が活動化される、請
    求項20に記載のグローバル・シリアル・バスに製造テ
    スト・インタフェースを接続するための装置。
  22. 【請求項22】前記グローバル・シリアル・バスが集積
    回路間(I2C)バスを含み、エラー処理のために肯定
    応答信号が使用される、請求項5に記載のグローバル・
    シリアル・バスに製造テスト・インタフェースを接続す
    るための装置。
  23. 【請求項23】前記スレーブ・コントローラが、1つま
    たは複数の基本動作を実行するために前記スレーブ・イ
    ンタフェース論理回路にコマンドを供給する、請求項5
    に記載のグローバル・シリアル・バスに製造テスト・イ
    ンタフェースを接続するための装置。
  24. 【請求項24】前記基本動作が、前記JTAGインタフ
    ェースへの制御、命令、データ、状況交換のうちの少な
    くとも1つを選択する、請求項5に記載のグローバル・
    シリアル・バスに製造テスト・インタフェースを接続す
    るための装置。
  25. 【請求項25】前記JTAGインタフェースが走査通信
    即時読取り論理回路を含む、請求項5に記載のグローバ
    ル・シリアル・バスに製造テスト・インタフェースを接
    続するための装置。
  26. 【請求項26】前記走査通信即時読取り論理回路が、タ
    ーゲット・レジスタ内容を取り出して走査通信データ・
    レジスタにロードし、前記走査通信データ・レジスタの
    前記内容を直ちに読み出すために1つのステップを実行
    する、請求項5に記載のグローバル・シリアル・バスに
    製造テスト・インタフェースを接続するための装置。
  27. 【請求項27】前記スレーブ・コントローラが、前記入
    出力バッファ論理回路とのデータ交換のためにデータ・
    ステアリングおよび経路指定を行う、請求項1に記載の
    グローバル・シリアル・バスに製造テスト・インタフェ
    ースを接続するための装置。
  28. 【請求項28】グローバル・シリアル・バスに製造テス
    ト・インタフェースを接続するための方法であって、 物理インタフェースと内部バスの間にスレーブ状態マシ
    ンを設け、前記物理インタフェースが前記グローバル・
    シリアル・バスに接続され、前記内部バスが前記製造テ
    スト・インタフェースに接続されるステップと、 前記スレーブ状態マシンを使用するステップであって、 前記グローバル・シリアル・バスとの間で転送すべきデ
    ータをバッファするステップと、 前記製造テスト・インタフェースと前記グローバル・シ
    リアル・バスの間のデータ交換のペースを調整するステ
    ップとを実行するためのステップとを含む方法。
  29. 【請求項29】前記スレーブ状態マシンが、エラー条件
    を処理するステップをさらに実行する、請求項28に記
    載のグローバル・シリアル・バスに製造テスト・インタ
    フェースを接続するための方法。
  30. 【請求項30】前記スレーブ状態マシンが、走査通信読
    取り動作のためのコマンドを供給するステップをさらに
    実行する、請求項28に記載のグローバル・シリアル・
    バスに製造テスト・インタフェースを接続するための方
    法。
  31. 【請求項31】前記スレーブ状態マシンが、走査通信書
    込み動作のためのコマンドを供給するステップをさらに
    実行する、請求項28に記載のグローバル・シリアル・
    バスに製造テスト・インタフェースを接続するための方
    法。
  32. 【請求項32】前記スレーブ状態マシンが、制御読取り
    動作のためのコマンドを供給するステップをさらに実行
    する、請求項28に記載のグローバル・シリアル・バス
    に製造テスト・インタフェースを接続するための方法。
  33. 【請求項33】前記スレーブ状態マシンが、制御書込み
    動作のためのコマンドを供給するステップをさらに実行
    する、請求項28に記載のグローバル・シリアル・バス
    に製造テスト・インタフェースを接続するための方法。
  34. 【請求項34】前記スレーブ状態マシンが、基本書込み
    動作のためのコマンドを供給するステップをさらに実行
    する、請求項28に記載のグローバル・シリアル・バス
    に製造テスト・インタフェースを接続するための方法。
  35. 【請求項35】前記スレーブ状態マシンが、基本読取り
    動作のためのコマンドを供給するステップをさらに実行
    する、請求項28に記載のグローバル・シリアル・バス
    に製造テスト・インタフェースを接続するための方法。
  36. 【請求項36】グローバル・シリアル・バスに製造テス
    ト・インタフェースを接続するための集積回路デバイス
    であって、前記集積回路デバイスが、 前記グローバル・シリアル・バスとの間で転送すべきデ
    ータをバッファする入出力バッファ論理回路と、 前記入出力バッファ論理回路に接続され、データを受信
    し、そのデータを前記入出力バッファ論理回路に送信す
    るスレーブ・インタフェース論理回路と、 前記入出力バッファ論理回路および前記スレーブ・イン
    タフェース論理回路に結合され、前記入出力バッファ論
    理回路に合わせてデータ交換のペースを調整するスレー
    ブ・コントローラとを含む集積回路デバイス。
  37. 【請求項37】前記入出力バッファ論理回路と前記スレ
    ーブ・インタフェース論理回路の間に結合されたエラー
    処理論理回路をさらに含む、請求項36に記載の集積回
    路デバイス。
JP2000039822A 1999-02-18 2000-02-17 I2cバスを含むグローバル・シリアル・バスに製造テスト・インタフェースを接続するための方法および装置 Expired - Fee Related JP4056191B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/251,032 US6684362B1 (en) 1999-02-18 1999-02-18 Method and apparatus for connecting manufacturing test interface to a global serial bus including an I2 c bus
US09/251032 1999-02-18

Publications (2)

Publication Number Publication Date
JP2000242573A true JP2000242573A (ja) 2000-09-08
JP4056191B2 JP4056191B2 (ja) 2008-03-05

Family

ID=22950201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000039822A Expired - Fee Related JP4056191B2 (ja) 1999-02-18 2000-02-17 I2cバスを含むグローバル・シリアル・バスに製造テスト・インタフェースを接続するための方法および装置

Country Status (6)

Country Link
US (1) US6684362B1 (ja)
JP (1) JP4056191B2 (ja)
KR (1) KR100337413B1 (ja)
CN (1) CN1240005C (ja)
CA (1) CA2290174A1 (ja)
TW (1) TW463094B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802036B2 (en) 2007-02-06 2010-09-21 Seiko Epson Corporation Serial communication system using an I2C bus as a serial bus
JP2013218306A (ja) * 2012-04-05 2013-10-24 Toshiba Corp 画像形成装置及び画像形成装置の制御方法
JP2016153787A (ja) * 2011-06-17 2016-08-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated 高速入力/出力インターフェースを使用して試験するための集積回路

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6799233B1 (en) * 2001-06-29 2004-09-28 Koninklijke Philips Electronics N.V. Generalized I2C slave transmitter/receiver state machine
US20040225783A1 (en) * 2001-07-30 2004-11-11 Erickson Michael John Bus to multiple jtag bus bridge
US6954929B2 (en) * 2001-07-30 2005-10-11 Hewlett-Packard Development Company, L.P. Method for just-in-time updating of programming parts
US20040187049A1 (en) * 2003-02-27 2004-09-23 Nptest, Inc. Very small pin count IC tester
US20050204222A1 (en) * 2004-03-15 2005-09-15 Swoboda Gary L. Apparatus and method for eliminating the TMS connection in a JTAG procedure
TWI275932B (en) * 2005-08-19 2007-03-11 Wistron Corp Methods and devices for detecting and isolating serial bus faults
US7627800B2 (en) * 2006-05-22 2009-12-01 International Business Machines Corporation Communicating with error checking to a device capable of operating according to an address prefix serial bus protocol
US7818641B2 (en) * 2006-10-18 2010-10-19 Texas Instruments Incorporated Interface to full and reduce pin JTAG devices
US8478917B2 (en) 2010-09-22 2013-07-02 Microsoft Corporation Automatic addressing protocol for a shared bus
CN102262572B (zh) * 2011-07-19 2013-05-08 浙江大学 一种带crc校验功能的iic总线接口控制器
TWI493401B (zh) * 2013-01-07 2015-07-21 Quanta Comp Inc 電腦系統及其觸控及顯示資料傳輸裝置與方法
CN104239169A (zh) * 2013-06-14 2014-12-24 鸿富锦精密工业(深圳)有限公司 信号测试卡及方法
TWI493206B (zh) 2013-07-30 2015-07-21 Ind Tech Res Inst 積體電路裝置及串列式壓縮掃描訊號產生裝置之測試存取埠狀態機的控制方法
US20160306006A1 (en) * 2015-04-16 2016-10-20 HGST, Inc. Self-testing a storage device via system management bus interface
US10156606B2 (en) * 2016-01-05 2018-12-18 Test Research, Inc. Multi-chassis test device and test signal transmission apparatus of the same
JP6828271B2 (ja) * 2016-05-18 2021-02-10 ソニー株式会社 通信装置、通信方法、プログラム、および、通信システム
TWI606394B (zh) * 2016-05-26 2017-11-21 鴻海精密工業股份有限公司 燒錄系統及燒錄方法
IT201800005506A1 (it) * 2018-05-18 2019-11-18 Sistema di elaborazione, relativo circuito integrato e procedimento
US11860801B2 (en) * 2019-01-15 2024-01-02 Christoph HELDEIS Method for implicit addressing of electronic units and corresponding units
CN110096399B (zh) * 2019-04-25 2023-07-07 湖南品腾电子科技有限公司 一种硬件接口的调试方法
CN112463662B (zh) * 2020-12-16 2024-04-05 福州创实讯联信息技术有限公司 一种用户态控制i2c设备的方法与终端
TWI900117B (zh) * 2023-09-21 2025-10-01 美商微晶片科技股份有限公司 串列資料匯流排上錯誤狀況之偵測

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728750A (ja) 1993-07-13 1995-01-31 Mitsubishi Electric Corp インターフェース変換装置
US5933614A (en) * 1996-12-31 1999-08-03 Compaq Computer Corporation Isolation of PCI and EISA masters by masking control and interrupt lines
US6185641B1 (en) 1997-05-01 2001-02-06 Standard Microsystems Corp. Dynamically allocating space in RAM shared between multiple USB endpoints and USB host
US6188381B1 (en) * 1997-09-08 2001-02-13 Sarnoff Corporation Modular parallel-pipelined vision system for real-time video processing
US6553439B1 (en) * 1999-08-30 2003-04-22 Intel Corporation Remote configuration access for integrated circuit devices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802036B2 (en) 2007-02-06 2010-09-21 Seiko Epson Corporation Serial communication system using an I2C bus as a serial bus
JP2016153787A (ja) * 2011-06-17 2016-08-25 クゥアルコム・インコーポレイテッドQualcomm Incorporated 高速入力/出力インターフェースを使用して試験するための集積回路
JP2013218306A (ja) * 2012-04-05 2013-10-24 Toshiba Corp 画像形成装置及び画像形成装置の制御方法

Also Published As

Publication number Publication date
CN1264081A (zh) 2000-08-23
CN1240005C (zh) 2006-02-01
KR100337413B1 (ko) 2002-05-22
KR20000071338A (ko) 2000-11-25
CA2290174A1 (en) 2000-08-18
US6684362B1 (en) 2004-01-27
JP4056191B2 (ja) 2008-03-05
TW463094B (en) 2001-11-11

Similar Documents

Publication Publication Date Title
JP2000242573A (ja) I2cバスを含むグローバル・シリアル・バスに製造テスト・インタフェースを接続するための方法および装置
US7082481B2 (en) Serial peripheral interface (SPI) apparatus with write buffer for improving data throughput
US7900106B2 (en) Accessing sequential data in a microcontroller
US5056093A (en) System scan path architecture
US7047467B1 (en) Structure and method for verifying data in a non-JTAG device from a JTAG device with microcontroller
US6243842B1 (en) Method and apparatus for operating on a memory unit via a JTAG port
JP4493739B2 (ja) 集積回路装置の診断手順
JP4426655B2 (ja) トリガシーケンシングコントローラ
EP0388001A2 (en) Testing method and apparatus for an integrated circuit
JPH10222392A (ja) 集積回路装置の診断手順
JPH10253719A (ja) Tapコントローラを有する集積回路
US5581564A (en) Diagnostic circuit
JPH01133167A (ja) データ転送ドライバ
US7428661B2 (en) Test and debug processor and method
JP3929572B2 (ja) 集積回路装置及びその通信方法
US7069485B2 (en) Reading data from a memory with a memory access controller
JPH08235896A (ja) 半導体集積装置におけるスキャンテスト回路
KR100212256B1 (ko) 시스템 스캔 경로 구조물 및 방법
US11327115B2 (en) Scheme applied in JTAG TAP apparatus, JTAG host, and target system capable of achieving data verification as well as saving on-chip circuit costs
CN114528034B (zh) 加载电路、方法和系统
US6836757B1 (en) Emulation system employing serial test port and alternative data transfer protocol
JP4806747B2 (ja) シリアライザ/デシリアライザ・バスコントローラ・インターフェース
US20050028059A1 (en) Processor interface for test access port
EP0158774B1 (en) Data processing system with an improved storage testing device
CN101124547A (zh) 可测试的多处理器系统和用于测试处理器系统的方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031215

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20031219

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20040305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071211

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131221

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees