(57)【要約】【課題】  ＬＳＩチップ間で相互に行うデータ転送の性能良否を、簡易判定する装置を提供する。【解決手段】  データ転送の良否をモニタ経路で監視するため、クロック同期し「０」「１」の状態を交互に変化させ出力する第１フリップフロップ１２と、この第１フリップフロップの出力を入力としクロック変化に同期し第１フリップフロップの出力の状態を取込み出力する第２フリップフロップ２２と、この第２フリップフロップの出力を入力としクロック変化に同期し第２フリップフロップの出力の状態を取込み出力する第３フリップフロップ２３と、第２及び第３フリップフロップの出力を入力としその排他的否定論理和を出力する演算手段２５と、この排他的否定論理和を入力としクロック変化に同期し排他的否定論理和の状態を取込み送良否判定結果として出力する第４のフリップフロップ２４とを備えた。【選択図】        図４
2006270922.tif 000002
【特許請求の範囲】
【請求項１】
離れたＬＳＩチップ間でクロックに同期し行われるデータ転送の良否を、データ転送経路と並列に設けられたモニタ経路で監視判定するデータ転送良否判定回路であって、データ送り側の第１のＬＳＩチップに設けられ、上記クロックに同期し「０」「１」の状態を交互に変化させ出力する第１のフリップフロップと、データ受け側の第２のＬＳＩチップに設けられ、上記第１のフリップフロップの出力を入力とし、上記クロックの立上りまたは立下りに同期し上記第１のフリップフロップの出力の状態を取込み出力する第２のフリップフロップと、上記第２のフリップフロップの出力を入力とし、上記クロックの立上りまたは立下りに同期し上記第２のフリップフロップの出力の状態を取込み出力する第３のフリップフロップと、上記第２及び第３のフリップフロップの出力を入力とし、その入力の排他的否定論理和を出力する演算手段と、この排他的否定論理和を入力とし、上記クロックの立上りまたは立下りに同期し上記排他的否定論理和の状態を取込み良否判定結果として出力する第４のフリップフロップとを備えたことを特徴とするデータ転送良否判定回路。
【請求項２】
離れたＬＳＩチップ間でクロックに同期し行われるデータ転送の良否を、データ転送経路と並列に設けられたモニタ経路で監視判定するデータ転送良否判定回路であって、データ送り側の第１のＬＳＩチップに設けられ、上記クロックに同期し「０」「１」の状態を交互に変化させ出力する第１及び第５のフリップフロップと、データ受け側の第２のＬＳＩチップに設けられ、上記第１及び第５のフリップフロップの出力を入力とし、上記クロックの立上りまたは立下りに同期し上記第１及び第５のフリップフロップの出力の状態をそれぞれ取込み出力する第２及び第６のフリップフロップと、上記第２及び第６のフリップフロップの出力を入力とし、上記クロックの立上りまたは立下りに同期し上記第２及び第６のフリップフロップの出力の状態をそれぞれ取込み出力する第３及び第７のフリップフロップと、上記第２と第６のフリップフロップの出力及び上記第３と第７のフリップフロップの出力をそれぞれ入力とし、その入力の排他的否定論理和をそれぞれ出力する第１及び第２の演算手段と、この第１及び第２の演算手段からの排他的否定論理和を入力とし、その入力の論理和を出力する第３の演算手段と、この論理和を入力とし、上記クロックの立上りまたは立下りに同期し上記論理和の状態を取込み良否判定結果として出力する第４のフリップフロップとを備えたことを特徴とするデータ転送良否判定回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＦＰＧＡ（Field Programmable GateArray）／ＡＳＩＣ（Application Specific Integrated Circuit）等に代表されるＬＳＩにおいて、複数のＬＳＩチップ（以下、「チップ」ともいう）の間で相互にデータの送受を行う場合、そのデータ転送性能の良否を判定する技術に関するものである。
【背景技術】
【０００２】
複数のＬＳＩチップ間、ＬＳＩ等が実装された複数の基板間のデータ転送にタイミング調整を行い、データ転送異常を回避しようとしても、基板間の経路長差の影響等により１００％回避できるとは限らない。また、基板上の他の回路からのノイズの影響などで、誤動作しても、その発見は困難である。上記誤動作を改善する手段として、ＷＯ９９／４６６８７号公報（特許文献１）に、同着判定回路を設け、データ転送のセットアップ時間とホールド時間を確保する技術が開示されている。これは、レシーバのデータ取込み点での並列ビット間の位相を調整するタイミング調整機構を設けることにより、各データビットをレシーバに同着させるというものである。
【０００３】
また、特開平０５−１５７８１６号公報（特許文献２）には、送受のＬＳＩチップ双方にカウンタを設け、送り側チップの信号線路上の「Ｈ（High）データ」の個数と対応する受け側チップの信号線路上の「Ｈデータ」の個数とを比較し、その個数が不一致の場合に送受信号線路上でエラーが発生したことを検出する技術が開示されている。
【０００４】
【特許文献１】ＷＯ９９／４６６８７号
【特許文献２】特開平０５−１５７８１６号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記の特許文献１に記載の従来技術では、回路が複雑になるとともに回路規模も増大する。加えて、セットアップ時間、ホールド時間を確保した設計をしても、クロック系統にノイズが重畳するとチップ間のデータ転送が正常に行われない可能性がある。また、信号数の増加や、動作周波数の高速化により、クロック系統のスキュー（ＣＰＵクロックが、複数の信号線の経路を通ることによって発生する、到達時間の差のこと）の影響によりデータ転送が正常に行われない可能性が増す。
【０００６】
また、上記の特許文献２に記載の従来技術では、個々の信号線路をモニタするのではなく、信号線路全体でのＨデータの個数のみをカウントしているので、同一の信号線路上で送り側チップと受け側チップとで２度エラーが発生した場合などには、あたかも正常であるかのように誤った判断を行ってしまう。
【０００７】
このような従来技術の背景のもと、基板実装されたＬＳＩチップレベルでの試験で、データ転送異常の有無を発見できるテスト容易化設計が望まれた。本発明は、１つ又は２つの良否判定回路で回路規模が大きくないため、既存の回路に影響を与えず、チップ間、基板間のデータ転送の良否判定を行うテスト容易化手法を提供するものである。
【課題を解決するための手段】
【０００８】
請求項１に係るデータ転送良否判定回路は、離れたＬＳＩチップ間でクロックに同期し行われるデータ転送の良否を、データ転送経路と並列に設けられたモニタ経路で監視判定するデータ転送良否判定回路であって、データ送り側の第１のＬＳＩチップに設けられ、上記クロックに同期し「０」「１」の状態を交互に変化させ出力する第１のフリップフロップと、データ受け側の第２のＬＳＩチップに設けられ、上記第１のフリップフロップの出力を入力とし、上記クロックの立上りまたは立下りに同期し上記第１のフリップフロップの出力の状態を取込み出力する第２のフリップフロップと、上記第２のフリップフロップの出力を入力とし、上記クロックの立上りまたは立下りに同期し上記第２のフリップフロップの出力の状態を取込み出力する第３のフリップフロップと、上記第２及び第３のフリップフロップの出力を入力とし、その入力の排他的否定論理和を出力する演算手段と、この排他的否定論理和を入力とし、上記クロックの立上りまたは立下りに同期し上記排他的否定論理和の状態を取込み良否判定結果として出力する第４のフリップフロップとを備えたことを特徴とするものである。
【０００９】
請求項２に係るデータ転送良否判定回路は、離れたＬＳＩチップ間でクロックに同期し行われるデータ転送の良否を、データ転送経路と並列に設けられたモニタ経路で監視判定するデータ転送良否判定回路であって、データ送り側の第１のＬＳＩチップに設けられ、上記クロックに同期し「０」「１」の状態を交互に変化させ出力する第１及び第５のフリップフロップと、データ受け側の第２のＬＳＩチップに設けられ、上記第１及び第５のフリップフロップの出力を入力とし、上記クロックの立上りまたは立下りに同期し上記第１及び第５のフリップフロップの出力の状態をそれぞれ取込み出力する第２及び第６のフリップフロップと、上記第２及び第６のフリップフロップの出力を入力とし、上記クロックの立上りまたは立下りに同期し上記第２及び第６のフリップフロップの出力の状態をそれぞれ取込み出力する第３及び第７のフリップフロップと、上記第２と第６のフリップフロップの出力及び上記第３と第７のフリップフロップの出力をそれぞれ入力とし、その入力の排他的否定論理和をそれぞれ出力する第１及び第２の演算手段と、この第１及び第２の演算手段からの排他的否定論理和を入力とし、その入力の論理和を出力する第３の演算手段と、この論理和を入力とし、上記クロックの立上りまたは立下りに同期し上記論理和の状態を取込み良否判定結果として出力する第４のフリップフロップとを備えたことを特徴とするものである。
【発明の効果】
【００１０】
本発明によれば、既存回路をほとんど変更することなく、簡易にデータ転送の良否を判断することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
実施例１．
以下に図面を参照して、この発明にかかるデータ転送の良否判定手法について説明する。まず、一般的なＬＳＩ作成手順を示す。図１はこのＬＳＩ作成のフロー図である。図において、回路設計時に、本来のデータ転送回路（本回路）とは別に、本発明に係るチップ間のデータ転送良否判定回路（判定回路）をＬＳＩ回路内に挿入しておく。その後、ＬＳＩ動作評価時にその回路設計時に挿入した判定回路を用いて、チップ間または基板間の本回路によるデータ転送の良否判定を行う。
【００１２】
図２はチップ間でのデータ転送の説明図である。また、図３は基板間でのデータ転送の説明図である。図２では、チップ１（CHIP_A）とチップ２（CHIP_B）は同一基板に実装され、図３では、CHIP_Aは基板１に、CHIP_Bは基板２に実装されている。いずれの場合も、データ転送はCHIP_AとCHIP_B間で行われる。また、チップ間の配線は、等長配線が行われている。チップ間のデータ転送の異常は、チップ間の配線容量、ノイズ、電磁波などが原因でクロック系統にハザード（ヒゲ状のノイズ）が発生することにより起こる。
【００１３】
図４は、本発明のデータ転送良否判定回路の要部ブロック図である。図において、CHIP_Aがデータ送り側のチップ、CHIP_Bがデータ受け側のチップである。フリップフロップ１１（FF_A）、フリップフロップ１２（FF_AD、第１のフリップフロップ）は、それぞれCHIP_A内の本回路系及び判定回路系のデータ出力部を構成している。一方、フリップフロップ２１（FF_B）はCHIP_B内の本回路系のデータ入力部を構成している。また、フリップフロップ２２（FF_BD1、第２のフリップフロップ）、フリップフロップ２３（FF_BD2、第３のフリップフロップ）、フリップフロップ２４（FF_BD3、第４のフリップフロップ）、エクスクルーシブ・ノア２５（EX_NOR、排他的否定論理和の演算をする演算手段）は、CHIP_B内の判定回路系のデータ入力部を構成している。
【００１４】
ここで、フリップフロップ回路は、「high」と「low」の二つの安定状態を持つ電子回路である。二つの状態を「０」と「１」に対応させることで、１ビットの情報を保持でき、加える信号によって二つの状態が交互に変化するようにできている。また、図４において、上述のとおりCHIP_AからCHIP_Bまでのデータ転送、チップ間データ転送良否判定回路を等長配線とし、入力バッファの特性も一致させることで、データ転送、チップ間データ転送の環境条件を一致させている。つまり、本発明では、判定回路系のデータ転送動作をモニタすることにより、本回路系のデータ転送動作の良否を間接的に判定しようとするものである。
【００１５】
FF_AとFF_ADとが同じタイミングのクロックで動作するため、CHIP_Aの本回路系の出力データ（データA）と判定回路系の出力データ（データDA）は、CHIP_Aから同じクロックTAの立上りのタイミングで出力される。ここで、データDAは、FF_ADの回路構成から明らかなように、クロックTAの１／２分周信号としたものである。データAとデータDAは、上記のとおりCHIP_AとCHIP_B間が等長配線であるため、配線長による遅延は同じであり、同じタイミングでCHIP_Bの各フリップフロップに入力される。CHIP_AのFF_ADの出力であるデータDAは、１ビットのデータである。このデータDA（CHIP_Bの入力ではデータDABとなる）が、CHIP_BのFF_BD1〜_BD3、EX_NORにより構成される回路で処理され、データ転送良否判定の結果がデータDJとして出力される。
【００１６】
判定回路系のFF_BD1は、データDBのFF_BD2とEX_NORに向かう２本の配線長の条件を同等とするためのものである。つまり、FF_BD1を設けないと、データDABが直接、FF_BD2とEX_NORに入力されることとなる。このとき、EX_NORに向かう配線長がFF_BD2に向かう配線長よりも長くなる可能性が高まり、エラー発生に、CHIP_B内の配線事情が関与する可能性が高まる。FF_BD1は、このCHIP_B内の配線事情を避けるためのものであり、FF_BD1を設けることにより、設けない場合に比べ，配線のばらつきが無くなり、CHIP_AからCHIP_Bへの配線上で発生するエラーによる影響を精度よくモニタすることができる。
【００１７】
CHIP_Bの判定回路系において、FF_BD1からの出力であるデータDBとFF_BD2からの出力であるデータDCを２入力のEX_NOR（エクスクルーシブ・ノア、排他的否定論理和）に入力する。図５は、２入力のEX_NORの特性表（真理値表）を示す。EX_NORの出力が「H（＝１）」か「L（＝０）」かによりデータ転送の良否判定を行う。
【００１８】
図６，７は、データ転送／良否判定回路部のタイミングチャートであり、図６は正常時、図７は異常時のタイミングをそれぞれ例示するものである。図中、データDA，DAB，DB，DC中の数字はデータ番号を示し，同じ数字は対応するデータが遅延し転送されていることを示す。図６において、CHIP_AとCHIP_B間の配線による伝播遅延のため、データDABはデータDAより遅れが生じている。また、FF_BD1の素子内遅延のため、データDBはデータDABより遅れが生じている。また、FF_BD2の素子内遅延のため、データDCはデータDBより遅れが生じている。図から明らかなように、正常動作時にはクロックTAの３クロック後に、データDAがFF_BD2の出力であるデータDCとして現れる（例えば、データDA(1)とデータDC(1)との関係参照のこと。()内数字は図中のデータの番号を表す。同じ番号のデータは、各場所での同じデータが遅延し出力されていることを示す）。
【００１９】
図７において、データDA(1)とデータDC(1)との関係は、図６の正常時動作と同様である（３クロック後にデータDAがデータDCとして現れる関係）。データDA(2)とデータDC(2)との関係は、データDAB(2)のデータDA(2)に対する配線遅延が通常よりも長いものの、遅延許容範囲内であることから、結果としては正常動作時と同様の結果となっている。データDA(3)とデータDC(3)との関係は、３クロック後にデータDAがデータDCとして現れる関係になっておらず、異常動作（データ転送エラーが発生）していることとなる。これは、データDAB(3)のデータDA(3)に対する配線遅延が、遅延許容範囲を越えていることによる。
【００２０】
以後、データDA(4)とデータDC(4)との関係も、３クロック後にデータDAがデータDCとして現れる関係になっておらず、異常動作が連続することとなる。つまり、本回路では、クロックTAの１周期内の遅延は許容され正常動作することとなる。数式で示すと、クロックTAの一周期ＴとCHIP_AとCHIP_B間の遅延時間δｔとの間にδｔ＜Ｔとなる関係がある場合には正常動作するこことなる。逆にδｔ≧Ｔとなれば、異常動作（転送エラー発生）となる。
【００２１】
正常にCHIP_AとCHIP_Bのデータ転送が行われている場合は、図５のEX_NORの特性表から、図６に示すように、データDJにて「L」を出力し、データ転送が正常に行われたことが確認できる。一方、チップ間、基板間の配線上に、何らかの外乱（例えば、配線不良、配線容量、ノイズ、クロストーク、電磁波など）が加わり、データ転送に異常が発生すると、図５のEX_NORの特性からFF_BD3の出力データDJは、「H」を出力し、データ転送異常となった周期、異常部分を確認できる。（図７のEX_NOR出力のエラー通知参照）
【００２２】
EX_NORの出力で良否判定をする場合は、わずかな期間だけ「H」が発生し、良否判定が困難となる可能性がある。この判定の困難性を改善するため、FF（FF_BD3）を１段追加して、「L」クロックに同期させ判定結果を出力する構成としている。正常動作時には、図６から明らかなように、EX_NORの出力は，わずかな時間のパルス状の「H」が発生する。FF_BD3では、クロックTAの立上りまたは立下り時に「L」の状態を取り込み、「H」の状態を取り込まないので、出力であるデータDJは定常的に「L」の状態となる。一方、異常動作時には、図７から明らかなように、EX_NORの出力は，データ転送エラー発生時には正常動作時よりも長い時間の矩形状の「H」が発生するが、FF_BD3では、この「H」の状態も取り込み、その出力であるデータDJには「H」の状態も現れ、エラーを通知することとなる。
【００２３】
以上の構成とすることにより、製品化する前にチップ間のデータ転送エラーを発見でき、製品化後の不具合を防止できることとなる。もし、データ転送時の異常を発見できた場合には、クロック周波数を下げた回路設計、タイミング制約に余裕をもたせた合成を再度実行し、チップ間のデータ転送異常を防止し、製品化する。
【００２４】
CHIP_Aに挿入する良否判定回路は、各データ転送に対し、FF１個であり、追加機能の回路面積をほとんど無視できるため、他の回路に影響を与えず、容易なチップ間のデータ転送良否判定が可能になる。
【００２５】
なお、上記説明では、本回路系のデータビット数は１ビットとして説明したが、複数ビットでも構わない。このときは、FF_AとFF_Bのデータ送受のペアを複数ビットの数分だけ設けることとなる。回路系が複数ビットの場合にも、判定回路系は１ビット分で構わない。複数ビットを一つのデータとして判定するためである。
【００２６】
なお、上記説明では、データ転送はクロックTAの立上りタイミングで行われるとしたが、立下りのタイミングで行われるようにしても構わない。
【００２７】
実施例２．
本実施例２は、実施例１で１系統であった判定回路系を２系統としたものである。この２系統の判定回路系のうち、１系統は、初期値が「L」（D-フリップフロップの初期リセット設定）のフリップフロップを有しデータ転送バスが「L→H」に変化するタイミングを判定する。また、他の１系統は、初期値が「H」（D-フリップフロップの初期セット設定）のフリップフロップを有しデータ転送バスが「H→L」に変化するタイミングを判定することができる。このように判定回路系を２系統とすることにより、１系統に比べてデータの立ち上り立下りの両方のタイミングエラーを判定できる点で有利となる。
【００２８】
図８に実施例２におけるデータ転送良否判定回路のブロック図を示す。CHIP_AからCHIP_Bへのデータバス転送（本回路系）と良否判定回路（判定回路系）のファンアウト数を一致させるため、CHIP_Bの本回路系及び判定回路系の入力バッファの後にFFを１段ずつ挿入する（FF_B、FF_BD11、FF_BD21）。これにより、CHIP_AからCHIP_Bへデータ転送部分の負荷が均一となり、チップ間の配線のばらつきが無くなる。CHIP_Aの本回路系のデータDA（例えば３２ビットのパラレルデータ）がチップ間／基板間を通過してCHIP_Bへ転送される。同様に、判定回路系のデータDA1、DA2がチップ間／基板間を通過してCHIP_Bへ転送される。
【００２９】
図８において、CHIP_Aがデータ送り側のチップ、CHIP_Bがデータ受け側のチップである。フリップフロップ１１（FF_A）、フリップフロップ１２（FF_AD1、第１のフリップフロップ）、フリップフロップ１３（FF_AD2、第５のフリップフロップ）は、それぞれCHIP_A内の本回路系及び判定回路系のデータ出力部を構成している。一方、フリップフロップ２１（FF_B）はCHIP_B内の本回路系のデータ入力部を構成している。また、フリップフロップ２２（FF_BD11、第２のフリップフロップ）、フリップフロップ２３（FF_BD12、第３のフリップフロップ）、フリップフロップ２４（FF_BD3、第４のフリップフロップ）、フリップフロップ２５（FF_BD21、第６のフリップフロップ）、フリップフロップ２６（FF_BD22、第７のフリップフロップ）、エクスクルーシブ・ノア２５（EX_NOR、排他的否定論理和の演算をする演算手段、第１の演算手段）、エクスクルーシブ・ノア２７（EX_NOR、第２の演算手段）、オア２８（OR、論理和の演算をする演算手段、第３の演算手段）は、CHIP_B内の判定回路系のデータ入力部を構成している。
【００３０】
チップ間又は基板間のデータ転送が正常に行われているならば、データDB2、データDC2又はデータDB1、データDC1がそれぞれ「H」又は「L」となり、チップ間／基板間のデータ転送良否判定信号であるデータDD2、データDD1が「L」となり、データ転送が正常に行われていると判断できる。一方、チップ間/基板間のデータ転送が正常に行われていない場合は、データDD2又はデータDD1が「H」となりCHIP_Bの出力データDJが「H」となり、データ転送異常を検出することができる。データ転送良否判定があるCHP_Aからの出力データDA2は、データ転送が「H」から「L」に変化する場合の良否判定を、データDA1は、データ転送が「L」から「H」に変化する場合の良否判定をおこなうことができる。また、図８においてCHIP_AからCHIP_Bまでのデータ転送の本回路系と判定回路系の配線を等長配線とし、入力バッファの特性も一致させることで、本回路系と判定回路系のデータ転送の環境条件を一致させている。
【００３１】
図９は、本実施例２におけるデータ転送／良否判定回路部のタイミングチャートであり、正常時、異常時のタイミングをそれぞれ例示するものである。内容は実施例１における図６、７と同様であるので省略する。
【図面の簡単な説明】
【００３２】
【図１】この発明の実施例１を説明するＬＳＩ工程フローである。
【図２】この発明の実施例１を説明する構成図である。
【図３】この発明の実施例１を説明する構成図である。
【図４】この発明の実施例１を説明する構成図である。
【図５】この発明の実施例１を説明する真理値表である。
【図６】この発明の実施例１を説明する回路動作のタイミングチャート図（データ転送正常時）である。
【図７】この発明の実施例１を説明する回路動作のタイミングチャート図（データ転送異常時）である。
【図８】この発明の実施例２を説明する構成図である。
【図９】この発明の実施例２を説明する回路動作のタイミングチャート図である。
【符号の説明】
【００３３】
１，２  ＬＳＩチップＡ，Ｂ、  １１〜１３,２１〜２６  フリップフロップ論理回路、  ２５，２７  エクスクルーシブ・ノア論理回路、  ２８  オア論理回路。
【図１】
2006270922.tif 000003
【図２】
2006270922.tif 000004
【図３】
2006270922.tif 000005
【図４】
2006270922.tif 000006
【図５】
2006270922.tif 000007
【図６】
2006270922.tif 000008
【図７】
2006270922.tif 000009
【図８】
2006270922.tif 000010
【図９】
2006270922.tif 000011