JP2007300151A - データ/ストローブエンコーディング方式回路およびデータ/ストローブエンコーディング方法 - Google Patents

データ/ストローブエンコーディング方式回路およびデータ/ストローブエンコーディング方法 Download PDF

Info

Publication number
JP2007300151A
JP2007300151A JP2006122238A JP2006122238A JP2007300151A JP 2007300151 A JP2007300151 A JP 2007300151A JP 2006122238 A JP2006122238 A JP 2006122238A JP 2006122238 A JP2006122238 A JP 2006122238A JP 2007300151 A JP2007300151 A JP 2007300151A
Authority
JP
Japan
Prior art keywords
data
flip
flop
circuit
command
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
JP2006122238A
Other languages
English (en)
Other versions
JP4267000B2 (ja
Inventor
Hideki Irisawa
英毅 入澤
Hiroki Hibara
弘樹 檜原
Shuichi Moriyama
秀一 森山
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.)
NEC Space Technologies Ltd
NEC Solution Innovators Ltd
Original Assignee
NEC Space Technologies Ltd
NEC Solution Innovators Ltd
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 NEC Space Technologies Ltd, NEC Solution Innovators Ltd filed Critical NEC Space Technologies Ltd
Priority to JP2006122238A priority Critical patent/JP4267000B2/ja
Priority to EP07251403A priority patent/EP1843505B1/en
Priority to EP08001798A priority patent/EP1919120B1/en
Priority to US11/696,012 priority patent/US8036283B2/en
Publication of JP2007300151A publication Critical patent/JP2007300151A/ja
Application granted granted Critical
Publication of JP4267000B2 publication Critical patent/JP4267000B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Dc Digital Transmission (AREA)

Abstract

【課題】LSIのデバイス特性に依存せず、設計容易で低コストのデータ/ストローブエンコーディング方式を実現することができるデータ/ストローブエンコーディング方式回路およびデータ/ストローブエンコーディング方法を提供する。
【解決手段】データとストローブ信号を別々な線路で伝送し、データ自身の変化とストローブ信号の変化とをラッチのクロックに用い、データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方式回路において、所定のデータをフリップフロップでラッチ後、データをラッチし保持していることを示す信号と、ラッチ後のデータと、を対として後段回路に渡し、後段回路から、データを受け取ったことを示す信号のアサートを受け取り、データをラッチして停止しているフリップフロップを再度動作させて新たなデータを受け取る。
【選択図】図1

Description

本発明は、データ/ストローブエンコーディング方式回路およびデータ/ストローブエンコーディング方法に関する。
インターフェース規格であるSpaceWire(スペースワイヤー)の伝送方式は、IEEE1394などにも利用されているシリアルデータ(Data)とストローブ信号(Strobe)を別々な線路で伝送し、データが変化する時はストローブを変化させないという符号化方式(D/S(Data strobe) encoding(DS-Link方式):データ/ストローブエンコーディング方式)である。従来、このD/S encoding方式(DS-Link方式)の受信回路において、受信したコマンドをラッチして後段の回路(以下、後段回路という)に受け渡すために、最終ビットを含めたコマンドデコードを行った後にFlop-flop(フリップフロップ)でラッチを行い、後段回路にコマンドを渡す必要があった。
しかし、ストローブが変化しない時にはデータの変化をクロック(データとストローブのXOR(eXclusive OR operation)にて生成)として用い、変化後のデータ値をFlip-flopでラッチしなければならず、この時のデータのセットアップ時間は1つのXOR分の遅延時間に等しくなる。さらに、連続した複数ビットからコマンドをデコードし後段回路に出力する必要があり、コマンド最終ビットデータの場合には、ラッチしてから次のクロック(データまたはストローブの変化)が必ず発生する保証が無いため、コマンドを構成する最後のデータビットをFlip-flopにラッチしたと同時にデコード値を得る必要があった。この時、何ら対策を行わないと入力データに対するセットアップ時間が足りず、デコードが正しく行われない問題が発生する。
この問題の従来の解決方法としては、D/S encoding方式(DS-Link方式)の受信回路において、受信したコマンドをラッチして後段の回路に受け渡す処理で、データビット列の最終ビットを含めたコマンドデコードを行うために、データとストローブのXORにて生成したクロックに対して遅延素子を用いたアナログ回路を適用した遅延制御回路を用いて、データに対するセットアップ時間を満たす対策が施されていた。
しかし、この方式でLSI(Large Scale Integration)化する場合には、遅延がLSIのデバイス特性に依存するためにデバイス特性毎に遅延回路を新規設計する必要があった。もしくは、データとストローブのXORにてクロックを生成する回路部分を、遅延時間を制御する機能をもった専用のLSIと置き換えることで、遅延を付加したクロックを生成する必要があった。
よって、従来技術では、LSI毎の遅延回路新規設計や専用LSIの使用により、設計期間増やコスト高を招くという課題があった。
本発明は、上記事情に鑑みてなされたものであり、LSIのデバイス特性に依存せず、設計容易で低コストのD/S encoding方式(DS-Link方式)を実現することができるデータ/ストローブエンコーディング方式回路およびデータ/ストローブエンコーディング方法を提供することを目的とする。
かかる目的を達成するために、請求項1記載の発明は、データとストローブ信号を別々な線路で伝送し、データ自身の変化とストローブ信号の変化とをラッチのクロックに用い、データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方式回路において、所定のデータをフリップフロップでラッチ後、データをラッチし保持していることを示す信号と、ラッチ後のデータと、を対として後段回路に渡し、後段回路から、データを受け取ったことを示す信号のアサートを受け取り、データをラッチして停止しているフリップフロップを再度動作させて新たなデータを受け取ることを特徴とする。
請求項2記載の発明は、データとストローブ信号を別々な線路で伝送し、データ自身の変化とストローブ信号の変化とをラッチのクロックに用い、データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方式回路において、所定のデータと所定のストローブ信号に基づいてクロックを生成して出力し、データまたはストローブ信号が変化した時にはクロックを変化させるクロック生成回路と、データをラッチ有効とするイネーブル信号を生成して出力するクロックイネーブル生成回路と、クロック生成回路から出力されるクロックの変化を受けて、クロックイネーブル生成回路と同期して、どのフリップフロップに受け取るべきデータをラッチしているかを示すフリップフロップデータ有効フラグを生成し出力するフリップフロップ有効フラグ生成回路と、複数のフリップフロップで構成され、クロックイネーブル生成回路から出力されるイネーブル信号で選択されたフリップフロップでデータをラッチし、フリップフロップ出力データとして出力するデータラッチ用フリップフロップアレイと、フリップフロップ有効フラグ生成回路から出力されるフリップフロップデータ有効フラグに対してメタ・ステーブル対策を施すフリップフロップデータ有効フラグ用メタ・ステーブル対策回路と、データラッチ用フリップフロップアレイから出力されたフリップフロップ出力データと、フリップフロップデータ有効フラグ用メタ・ステーブル対策回路でメタ・ステーブル対策を施されたフリップフロップデータ有効フラグとを受け取るコマンドデコーダ回路と、コマンドデコーダ回路から出力されるフリップフロップデータアクノレッジ信号に対してメタ・ステーブル対策を施すフリップフロップデータアクノレッジ用メタ・ステーブル対策回路と、を有し、コマンドデコーダ回路は、フリップフロップデータ有効フラグを参照しアサートされたビットに対して、データラッチ用フリップフロップアレイから受け取ったフリップフロップ出力データを後段回路のクロックでラッチし、各フリップフロップからのデータを受け取る度に、フリップフロップデータアクノレッジ信号をフリップフロップ有効フラグ生成回路に対してアサートし、フリップフロップ有効フラグ生成回路は、コマンドデコーダ回路から出力され、フリップフロップデータアクノレッジ用メタ・ステーブル対策回路でメタ・ステーブル対策を施されたフリップフロップデータアクノレッジ信号を受けて、どのフリップフロップが未読データを保持していないかを示す空フリップフロップ指示をクロックイネーブル生成回路に与え、クロックイネーブル生成回路は、フリップフロップ有効フラグ生成回路から空フリップフロップ指示信号を受けて、順番にイネーブル信号を生成し、新たなデータを受け付けない状態だったデータラッチ用フリップフロップアレイのフリップフロップを再びデータ入力可能状態にすることを特徴とする。
請求項3記載の発明は、請求項2記載の発明において、コマンドデコーダ回路は、データラッチ用フリップフロップアレイから受け取った複数ビットデータから、デコードすべきデータビット量が揃った時点でコマンドデコードを行い、後段回路に対してコマンドデータを確定し、コマンドイネーブル信号をアサートし、後段回路からコマンドアクノレッジ信号のアサートを受けた場合にコマンドイネーブル信号のアサートを止めることを特徴とする。
請求項4記載の発明は、請求項2又は3記載の発明において、フリップフロップデータ有効フラグ用メタ・ステーブル対策回路及びフリップフロップデータアクノレッジ用メタ・ステーブル対策回路は、動作周波数等に応じた段数のフリップフロップで構成されることを特徴とする。
請求項5記載の発明は、請求項2から4のいずれか1項に記載の発明において、データラッチ用フリップフロップアレイのフリップフロップの数は、クロック生成回路で生成されたクロック及び後段回路のクロックの動作周波数により決定されることを特徴とする。
請求項6記載の発明は、データとストローブ信号を別々な線路で伝送し、データ自身の変化とストローブ信号の変化とをラッチのクロックに用い、データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方式回路において、後段回路のデータ転送を制御するステートマシンのステートが、初期状態およびリセット状態を示すステートであるエラーリセットステートに他のステートから遷移した場合に擬似クロックを前段回路に与えることにより、最終デコード結果を後段回路に渡すことを特徴とする。
請求項7記載の発明は、データとストローブ信号を別々な線路で伝送し、データ自身の変化とストローブ信号の変化とをラッチのクロックに用い、データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方式回路において、所定のデータと所定のストローブ信号に基づいてクロックを生成して出力し、データまたはストローブ信号が変化した時にはクロックを変化させるクロック生成回路と、データをラッチ有効とするイネーブル信号を生成して出力するクロックイネーブル生成回路と、複数のフリップフロップで構成され、クロックイネーブル生成回路から出力されるイネーブル信号で選択されたフリップフロップで、コマンドを構成する連続した複数ビットデータをラッチし、フリップフロップ出力データとして出力するデータラッチ用フリップフロップアレイと、データラッチ用フリップフロップアレイから出力されたフリップフロップ出力データを受け取るコマンドデコーダ回路と、コマンドデコーダ回路から出力されるコマンドイネーブル信号に対してメタ・ステーブル対策を施すフリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路と、後段回路から出力されるフリップフロップデータアクノレッジ信号に対してメタ・ステーブル対策を施すフリップフロップデータアクノレッジ用メタ・ステーブル対策回路と、後段回路のデータ転送を制御するステートマシンのステートが、初期状態およびリセット状態を示すステートであるエラーリセットステートにある場合にアサートするステータス信号を監視し、アサートに変化した場合には1パルスを発生させ、ストローブ信号とXORすることで、擬似的にクロックパルスを発生させるクロック発生回路と、を有し、コマンドデコーダ回路は、データラッチ用フリップフロップアレイから出力されるフリップフロップ出力データを受け取り、かつ、クロック生成回路で生成されたクロックに基づいて複数ビットデータの個数をカウントし、デコードすべきデータビット量が揃った時点でフリップフロップ出力データのコマンドデコードを行い、コマンドデコードの結果、最終コマンドではない場合は、次以降のクロックでデコード結果をラッチし、後段回路に対してコマンドデータを確定し、フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドイネーブル信号をアサートし、後段回路から出力されたコマンドアクノレッジ信号に対してフリップフロップデータアクノレッジ用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドアクノレッジ信号を受けて、コマンドイネーブル信号のアサートを止め、再びフリップフロップ出力データのコマンドデコードを行い、コマンドデコードの結果、最終コマンドである場合は、クロック発生回路により、後段回路のデータ転送を制御するステートマシンのステートが、初期状態およびリセット状態を示すステートであるエラーリセットステートにある場合にアサートするステータス信号を監視し、アサートに変化した場合にはリンクは切断したとみなし、クロック発生回路から1パルスを発生させ、ストローブ信号とXORすることで、擬似クロックを発生させ、擬似クロックにより、デコードした最終コマンドをラッチし、後段回路に対してコマンドデータを確定し、フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドイネーブル信号をアサートし、後段回路から出力されたコマンドアクノレッジ信号に対してフリップフロップデータアクノレッジ用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドアクノレッジ信号を受けて、コマンドイネーブル信号のアサートを止め、次のコマンドが入力されるのを待つことを特徴とする。
請求項8記載の発明は、請求項7記載の発明において、フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路及びフリップフロップデータアクノレッジ用メタ・ステーブル対策回路は、動作周波数等に応じた段数のフリップフロップで構成されることを特徴とする。
請求項9記載の発明は、データとストローブ信号を別々な線路で伝送し、データ自身の変化とストローブ信号の変化とをラッチのクロックに用い、データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方法において、所定のデータをフリップフロップでラッチ後、データをラッチし保持していることを示す信号と、ラッチ後のデータと、を対として後段回路に渡し、後段回路から、データを受け取ったことを示す信号のアサートを受け取り、データをラッチして停止しているフリップフロップを再度動作させて新たなデータを受け取ることを特徴とする。
請求項10記載の発明は、データとストローブ信号を別々な線路で伝送し、データ自身の変化とストローブ信号の変化とをラッチのクロックに用い、データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方法において、所定のデータと所定のストローブ信号に基づいてクロックを生成して出力し、データまたはストローブ信号が変化した時にはクロックを変化させるクロック生成ステップと、データをラッチ有効とするイネーブル信号を生成して出力するクロックイネーブル生成ステップと、クロック生成ステップで出力されるクロックの変化を受けて、クロックイネーブル生成ステップと同期して、どのフリップフロップに受け取るべきデータをラッチしているかを示すフリップフロップデータ有効フラグを生成し出力するフリップフロップ有効フラグ生成ステップと、クロックイネーブル生成ステップで出力されるイネーブル信号で選択されたフリップフロップでデータをラッチし、フリップフロップ出力データとして出力するフリップフロップデータ出力ステップと、フリップフロップ有効フラグ生成ステップで出力されるフリップフロップデータ有効フラグに対してメタ・ステーブル対策を施すフリップフロップデータ有効フラグ用メタ・ステーブル対策ステップと、フリップフロップデータ有効フラグ用メタ・ステーブル対策ステップでメタ・ステーブル対策を施されたフリップフロップデータ有効フラグを参照しアサートされたビットに対して、フリップフロップデータ出力ステップから出力されたフリップフロップ出力データを後段回路のクロックでラッチするフリップフロップ出力データラッチステップと、各フリップフロップからのデータを受け取る度に、フリップフロップデータアクノレッジ信号を出力するフリップフロップデータアクノレッジ信号出力ステップと、フリップフロップデータアクノレッジ信号出力ステップで出力されるフリップフロップデータアクノレッジ信号に対してメタ・ステーブル対策を施すフリップフロップデータアクノレッジ用メタ・ステーブル対策ステップと、フリップフロップデータアクノレッジ用メタ・ステーブル対策ステップでメタ・ステーブル対策を施されたフリップフロップデータアクノレッジ信号を受けて、どのフリップフロップが未読データを保持していないかを示す空フリップフロップ指示を出力する空フリップフロップ指示出力ステップと、空フリップフロップ指示出力ステップで出力される空フリップフロップ指示信号を受けて、順番にイネーブル信号を生成し、新たなデータを受け付けない状態だったフリップフロップを再びデータ入力可能状態にする再データ入力可能状態ステップと、を実行することを特徴とする。
請求項11記載の発明は、請求項10記載の発明において、フリップフロップデータ出力ステップで受け取った複数ビットデータから、デコードすべきデータビット量が揃った時点でコマンドデコードを行い、後段回路に対してコマンドデータを確定し、コマンドイネーブル信号をアサートするコマンドイネーブル信号アサートステップと、後段回路からコマンドアクノレッジ信号のアサートを受けた場合にコマンドイネーブル信号のアサートを止めるコマンドイネーブル信号アサート停止ステップと、をさらに実行することを特徴とする。
請求項12記載の発明は、データとストローブ信号を別々な線路で伝送し、データ自身の変化とストローブ信号の変化とをラッチのクロックに用い、データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方法において、後段回路のデータ転送を制御するステートマシンのステートが、初期状態およびリセット状態を示すステートであるエラーリセットステートに他のステートから遷移した場合に擬似クロックを前段回路に与えることにより、最終デコード結果を後段回路に渡すことを特徴とする。
請求項13記載の発明は、データとストローブ信号を別々な線路で伝送し、データ自身の変化とストローブ信号の変化とをラッチのクロックに用い、データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方法において、所定のデータと所定のストローブ信号に基づいてクロックを生成して出力し、データまたはストローブ信号が変化した時にはクロックを変化させるクロック生成ステップと、データをラッチ有効とするイネーブル信号を生成して出力するクロックイネーブル生成ステップと、クロックイネーブル生成ステップで出力されるイネーブル信号で選択されたフリップフロップで、コマンドを構成する連続した複数ビットデータをラッチし、フリップフロップ出力データとして出力するフリップフロップデータ出力ステップと、データラッチ用フリップフロップ出力ステップで出力されるフリップフロップ出力データを受け取り、かつ、クロック生成ステップで生成されたクロックに基づいて複数ビットデータの個数をカウントし、デコードすべきデータビット量が揃った時点でフリップフロップ出力データのコマンドデコードを行うコマンドデコードステップと、を実行し、コマンドデコードの結果、最終コマンドではない場合は、次以降のクロックでデコード結果をラッチし、後段回路に対してコマンドデータを確定し、フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドイネーブル信号をアサートし、後段回路から出力されたコマンドアクノレッジ信号に対してフリップフロップデータアクノレッジ用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドアクノレッジ信号を受けて、コマンドイネーブル信号のアサートを止め、再びフリップフロップ出力データのコマンドデコードを行い、コマンドデコードの結果、最終コマンドである場合は、後段回路のデータ転送を制御するステートマシンのステートが、初期状態およびリセット状態を示すステートであるエラーリセットステートにある場合にアサートするステータス信号を監視し、アサートに変化した場合にはリンクは切断したとみなし、1パルスを発生させてストローブ信号とXORすることで、擬似クロックを発生させ、擬似クロックにより、デコードした最終コマンドをラッチし、後段回路に対してコマンドデータを確定し、フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドイネーブル信号をアサートし、後段回路から出力されたコマンドアクノレッジ信号に対してフリップフロップデータアクノレッジ用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドアクノレッジ信号を受けて、コマンドイネーブル信号のアサートを止め、次のコマンドが入力されるのを待つことを特徴とする。
本発明によれば、LSIのデバイス特性に依存せず、設計容易で低コストのデータ/ストローブエンコーディング方式回路を実現することができる。
以下、本発明を実施するための最良の形態について添付図面を参照して詳細に説明する。
本発明は、D/S encoding方式(DS-Link方式)を実現するために、回路実装を行うLSIのデバイス特性に合わせた遅延回路の新規設計や、遅延を調整するための専用LSIの設置により、設計期間増やコスト高になるという従来の問題を、遅延考慮の専用アナログ回路設計を行わず論理設計のみで解決できるため、LSIのデバイス特性に依存せず設計容易で低コストのD/S encoding方式(DS-Link方式)受信回路を実現できることを特徴とする。
まず、実施例1の概要について説明する。
データ(1bit)をFlip-flopでラッチ後、ラッチ後のデータと、データをラッチし保持していることを示す信号とを対として後段回路に渡し、別クロックで動作している後段回路から、そのデータを受け取ったことを示す信号のアサートを受け取り、データをラッチして停止しているFlip-flopを再度動作させて新たなデータを受け取る。コマンドのデコードは後段回路で行う。
次に、実施例1の構成について図1を参照して説明する。
図1を参照すると、本実施例は、クロック生成回路1、クロックイネーブル生成回路2、フリップフロップ有効フラグ生成回路3、データラッチ用フリップフロップアレイ4、フリップフロップデータ有効フラグ用メタ・ステーブル対策回路5、フリップフロップデータアクノレッジ用メタ・ステーブル対策回路6、コマンドデコーダ回路7から構成される。
図1において、クロック生成回路1、クロックイネーブル生成回路2、フリップフロップ有効フラグ生成回路3、データラッチ用フリップフロップアレイ4、およびフリップフロップデータアクノレッジ用メタ・ステーブル対策回路6は、データとストローブから生成されるクロックで動作する。本実施例ではこれらの回路をまとめて「D/S encoding I/F側」と呼ぶこととする。
また、図1において、フリップフロップデータ有効フラグ用メタ・ステーブル対策回路5、コマンドデコーダ回路7は、後段回路と同じクロックで動作する。本実施例ではこれらの回路をまとめて「System側」と呼ぶこととする。
クロック生成回路1は、シリアルデータとストローブ信号を別々な線路で伝送するD/S encoding方式(DS-Link方式)のクロック生成回路である。データまたはストローブが変化した時に出力クロック信号(CLK0,CLK1)を変化させる。また、CLK1はCLK0の反転信号である。
クロックイネーブル生成回路2は、データラッチ用フリップフロップアレイ4の各フリップフロップ(FF)のいずれかに、データ(1bit)をラッチ有効とするイネーブル信号(Flip-flop Clock イネーブル)をアサート(assert)する。どのフリップフロップを有効にするかは、未読データを保持していないフリップフロップを示す信号(空FF指示信号)をフリップフロップ有効フラグ生成回路3から受けて決定され、順番にイネーブル信号を生成する。
フリップフロップ有効フラグ生成回路3は、どのFlip-flopが未読データを保持していないか(コマンドデコーダがデータを受け取り済み)を示す信号(空FF指示信号)をクロックイネーブル生成回路2に与え、クロック生成回路1から出力されるCLK0またはCLK1の変化を受けて、クロックイネーブル生成回路2と同期して、どのFlip-flopに受け取るべきデータをラッチしているかを示す信号(Flip-flopデータ有効フラグ)をコマンドデコーダ回路7にアサートする。
データラッチ用フリップフロップアレイ4は、クロックイネーブル生成回路2から出力されるイネーブル信号(Flip-flop Clock イネーブル)で選択されたFlip-flopでデータ(1bit)をラッチする。
フリップフロップデータ有効フラグ用メタ・ステーブル対策回路5は、"Flip-flopデータ有効フラグ信号"が、フリップフロップ有効フラグ生成回路3とコマンドデコーダ回路7の間で非同期に受け渡されるため、メタ・ステーブル発生時の影響を抑えるために挿入される。この回路はFlip-flopで構成され、一般的にはFlip-flopが2段縦続に接続されるが、動作周波数等に応じて段数は増減させてよい。
フリップフロップデータアクノレッジ用メタ・ステーブル対策回路6は、"Flip-flopデータアクノレッジ信号"が、コマンドデコーダ回路7とフリップフロップ有効フラグ生成回路3の間で非同期に受け渡されるため、メタ・ステーブル発生時の影響を抑えるために挿入される。この回路はFlip-flopで構成され、一般的にはFlip-flopが2段縦続に接続されるが、動作周波数等に応じて段数は増減させてよい。
コマンドデコーダ回路7は、データラッチ用フリップフロップアレイ4から受け取った複数ビットデータからコマンドをデコードし、図示しない後段回路に対して"コマンドデータ"を確定し、"コマンドイネーブル"信号をアサートする。また、後段回路から"コマンドアクノレッジ"信号のアサートを受けて、"コマンドイネーブル"のアサートを止める。
次に、実施例1の動作について図1及び図2を参照して説明する。
データ(1bit)をデータラッチ用フリップフロップアレイ4でラッチ後(ステップS1)、データラッチ用フリップフロップアレイ4は"Flip-flop出力データ"信号として出力し、また、フリップフロップ有効フラグ生成回路3は、"Flip-flop出力データ"信号と対となるデータとして、Flip-flopにデータをラッチしていることを示す"Flip-flopデータ有効フラグ"信号をコマンドデコーダ回路7にアサート(例えば、データのビットレート100Mbps)する(ステップS2)。このアサートはレベル出力であり、アサート中はこのFlip-flopは新たなデータを受け付けない。新たなデータは、まだデータをラッチしていない他のFlip-flopにラッチされる。
コマンドデコーダ回路7は別クロック(例えば25MHz)で動作しており、フリップフロップ有効フラグ生成回路3から出力された後、フリップフロップデータ有効フラグ用メタ・ステーブル対策回路5でメタ・ステーブル対策を施した"Flip-flopデータ有効フラグ"信号を参照しアサートされたビットに対して、データラッチ用フリップフロップアレイ4からの"Flip-flop出力データ"信号をSystem側のクロックでラッチする(ステップS3)。
コマンドデコーダ回路7は、各Flip-flopからのデータを受け取り後、その都度、値が確定されたことを示す"Flip-flopデータアクノレッジ"信号をフリップフロップ有効フラグ生成回路3に対してアサートする(ステップS4)。
フリップフロップ有効フラグ生成回路3は、コマンドデコーダ回路7から出力された後、フリップフロップデータアクノレッジ用メタ・ステーブル対策回路6でメタ・ステーブル対策を施した"Flip-flopデータアクノレッジ"信号を受けて"空FF指示"信号をクロックイネーブル生成回路2に与え(ステップS5)、新たなデータを受け付けない状態だったFlip-flopを再びデータ入力可能状態にする(ステップS6)。
ここで、データラッチ用フリップフロップアレイ4内のFlip-flopはデータラッチ後、再びデータ入力可能状態となるまでには、コマンドデコーダ回路7からの"Flip-flopデータアクノレッジ"信号が返るまでの時間がかかることから、複数個のFlip-flopを用意して、FIFO的な動作を行う必要がある。用意するFlip-flopの個数は、D/S encoding I/F側とSystem側の動作周波数により決定する。
また、受信データは、連続で来る場合も有り得るから、コマンドデコーダ回路7はD/S encoding I/F側からのデータを待たせることなく受け取る必要がある。
コマンドデコーダ回路7は、データラッチ用フリップフロップアレイ4から受け取った複数ビットデータから、デコードすべきデータビット量が揃った時点でコマンドデコードを行い、後段回路に対して"コマンドデータ"を確定し、"コマンドイネーブル"信号をアサートする(ステップS7)。その後、後段回路から"コマンドアクノレッジ"信号のアサートを受けたら"コマンドイネーブル"信号のアサートを止める(ステップS8)。
まず、実施例2の概要について説明する。
データとストローブから生成したクロックを用いてデータをラッチし、その次以降のクロックでデコードしたコマンドをラッチして後段回路に渡す。通常は、コマンドデータを全て受け取った後でも、NULLパケットが伝送路に存在しているため、クロックを生成可能であるが、最終データを受け取った後に伝送路が物理的に切断した場合には、コマンドをデコードできずにロック状態となる。この場合のFail-safeとして、後段回路のデータ転送を制御するステートマシン(SpaceWire規格におけるリンクインタフェース用ステートマシン)のステートが、初期状態およびリセット状態を示すステートである「ErrorReset(エラーリセット)ステート」に他のステートから遷移した場合に擬似クロックを前段回路に与える。この結果、最終デコード結果を後段回路に渡すことが可能となる。本実施例2は、実施例1よりも必要なデータ転送用のFlip-flopの数が少ない。
次に、実施例2の構成について図3を参照して説明する。
図3を参照すると、本実施例は、クロック生成回路1、クロックイネーブル生成回路2、データラッチ用フリップフロップアレイ4、フリップフロップデータアクノレッジ用メタ・ステーブル対策回路6、コマンドデコーダ回路7、クロック発生回路9、フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路10から構成される。
図3において、クロック生成回路1、クロックイネーブル生成回路2、データラッチ用フリップフロップアレイ3、コマンドデコーダ回路7、クロック発生回路9、およびフリップフロップデータアクノレッジ用メタ・ステーブル対策回路6は、データとストローブから生成されるクロックで動作する。本実施例ではこれらの回路をまとめて「D/S encoding I/F側」と呼ぶこととする。
また、図3において、フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路10は、後段回路と同じクロックで動作する。本実施例ではこの回路を「System側」と呼ぶこととする。
クロック生成回路1は、シリアルデータとストローブ信号を別々な線路で伝送するD/S encoding方式(DS-Link方式)のクロック生成回路である。データまたはストローブが変化した時に出力クロック信号(CLK0,CLK1)を変化させる。また、CLK1はCLK0の反転信号である。
クロックイネーブル生成回路2は、データラッチ用フリップフロップアレイ4のフリップフロップのいずれかに、データ(1bit)をラッチ有効とするイネーブル信号(Flip-flop CLock イネーブル)をアサートする。どのフリップフロップを有効にするかは、CLK0およびCLK1を用いて順番に決定する。
データラッチ用フリップフロップアレイ4は、クロックイネーブル生成回路2から出力されるイネーブル信号(Flip-flop Clock イネーブル)で選択されたFlip-flopで、コマンドを構成する連続した複数ビットデータをラッチし、ラッチした"Flip-flop出力データ"をコマンドデコーダ回路7へ出力する。
コマンドデコーダ回路7は、データラッチ用フリップフロップアレイ4から受け取った複数ビットデータである"Flip-flop出力データ"からコマンドをデコードし、図示しない後段回路に対して"コマンドデータ"を確定し、"コマンドイネーブル"信号をアサートする。その後、後段回路から"コマンドアクノレッジ"信号のアサートを受けて、"コマンドイネーブル"のアサートを止め、"コマンドデータ"を更新してから、"コマンドイネーブル"を再度アサートする。
クロック発生回路9は、後段回路のデータ転送を制御するステートマシン(SpaceWire規格におけるリンクインタフェース用ステートマシン)のステートが、初期状態およびリセット状態を示すステートである「ErrorReset(エラーリセット)ステート」にある場合にアサートするステータス信号を監視し、アサートに変化した場合には1パルスを発生させ、ストローブ信号とXORすることで、擬似的にクロックパルスを発生させる。
フリップフロップデータアクノレッジ用メタ・ステーブル対策回路6は、"コマンドアクノレッジ"信号が、System側とコマンドデコーダ回路7との間で非同期に受け渡されるため、メタ・ステーブル発生時の影響を抑えるために挿入される。この回路はFlip-flopで構成され、一般的にはFlip-flopが2段縦続に接続されるが、動作周波数等に応じて段数は増減させてよい。
フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路10は、"コマンドイネーブル"信号が、コマンドデコーダ回路7とSystem側との間で非同期に受け渡されるため、メタ・ステーブル発生時の影響を抑えるために挿入される。この回路はFlip-flopで構成され、一般的にはFlip-flopが2段縦続に接続されるが、動作周波数等に応じて段数は増減させてよい。
次に、実施例2の動作について図3及び図4を参照して説明する。
クロックイネーブル生成回路2からの"Flip-flop Clock イネーブル"信号により、コマンドを構成する連続した複数ビットデータをデータラッチ用フリップフロップアレイ4でラッチ後、コマンドデコーダ回路7は、データラッチ用フリップフロップアレイ4からラッチ後の複数ビットデータ("Flip-flop出力データ")を受け取る。これと同時にコマンドデコーダ回路7でも、クロック生成回路で生成された各クロックに基づいて複数ビットデータの個数をカウントし、デコードすべきデータビット量が揃った時点で"Flip-flop出力データ"のコマンドデコードを行う(ステップS11)。
コマンドデコードの結果、最終コマンドではない場合は(ステップS12/NO)、次以降のクロック(データまたはストローブの変化)でデコード結果をコマンドデコード回路7内のFlip-flopでラッチして、後段回路に対して"コマンドデータ"を確定し、フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路10でメタ・ステーブル対策を施した"コマンドイネーブル"信号をアサートする(ステップS13)。
その後、コマンドデコーダ回路7は、後段回路からの"コマンドアクノレッジ"信号にフリップフロップデータアクノレッジ用メタ・ステーブル対策回路6でメタ・ステーブル対策を施した信号を受けて、"コマンドイネーブル"信号のアサートを止め、ステップS11へ戻る(ステップS14)。このように、複数受信されたコマンドのうち最終のコマンド以外のコマンドについては、"コマンドイネーブル"信号と“コマンドアクノレッジ"信号を用いて、1つのコマンドデータ毎にハンドシェイクする。
一方、コマンドデコードの結果、最終コマンドである場合は(ステップS12/YES)、次以降のクロックが存在しない可能性があるため、クロック発生回路9により、後段回路のデータ転送を制御するステートマシン(SpaceWire規格におけるリンクインタフェース用ステートマシン)のステートが、初期状態およびリセット状態を示すステートである「ErrorReset(エラーリセット)ステート」にある場合にアサートするステータス信号を監視し(ステップS15)、アサートに変化した場合にはリンクは切断したとみなし、クロック発生回路9から1パルスを発生させ、ストローブ信号とXORすることで、擬似的にクロックパルスを発生させる(ステップS16)。
擬似発生したクロックにより、通常動作と同様に、デコードした最終コマンドをコマンドデコーダ回路7内のFlip-flopでラッチし、後段回路に対して"コマンドデータ"を確定し、フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路10でメタ・ステーブル対策を施した"コマンドイネーブル"信号をアサートする(ステップS17)。
その後、コマンドデコーダ回路7は、後段回路からの"コマンドアクノレッジ"信号にフリップフロップデータアクノレッジ用メタ・ステーブル対策回路6でメタ・ステーブル対策を施した信号を受けて、"コマンドイネーブル"信号のアサートを止め、次のコマンドが入力されるのを待つ"(ステップS18)。
以上説明したように、本発明の各実施例によれば、従来のような遅延素子等を用いた遅延制御の必要がないため、実装するLSIが変わる度にデバイス特性に依存した遅延設計を行う必要が無い。そのため、ディジタルLSI用の論理設計で容易にD/S encoding方式(DS-Link方式)を実装したLSIを設計可能となり設計期間の短縮が図られる。また、遅延制御専用LSIを用いる必要が無いため、システムの費用削減効果もある。
以上、本発明の実施例について説明したが、上記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々の変形が可能である。
本発明は、データ自身の変化とストローブ信号の変化をラッチのクロックに用いるD/S encoding方式(DS-Link方式)等のシリアルデータ伝送方式において、最終データ受信後にシリアルデータ転送が発生しない場合でも、最終データを受信側でコマンドとして確実に受け取る必要がある場合に適用できる。
本発明の実施例1に係る全体構成を示すブロック図である。 本発明の実施例1に係る動作を示すフローチャートである。 本発明の実施例2に係る全体構成を示すブロック図である。 本発明の実施例2に係る動作を示すフローチャートである。
符号の説明
1 クロック生成回路
2 クロックイネーブル生成回路
3 フリップフロップ有効フラグ生成回路
4 データ用ラッチフリップフロップアレイ
5 フリップフロップデータ有効フラグ用メタ・ステーブル対策回路
6 フリップフロップデータアクノレッジ用メタ・ステーブル対策回路
7 コマンドデコーダ回路
8 コマンドデータ
9 クロック発生回路
10 フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路

Claims (13)

  1. データとストローブ信号を別々な線路で伝送し、前記データ自身の変化と前記ストローブ信号の変化とをラッチのクロックに用い、前記データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方式回路において、
    所定のデータをフリップフロップでラッチ後、前記データをラッチし保持していることを示す信号と、ラッチ後のデータと、を対として前記後段回路に渡し、
    該後段回路から、前記データを受け取ったことを示す信号のアサートを受け取り、前記データをラッチして停止しているフリップフロップを再度動作させて新たなデータを受け取ることを特徴とするデータ/ストローブエンコーディング方式回路。
  2. データとストローブ信号を別々な線路で伝送し、前記データ自身の変化と前記ストローブ信号の変化とをラッチのクロックに用い、前記データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方式回路において、
    所定のデータと所定のストローブ信号に基づいてクロックを生成して出力し、前記データまたは前記ストローブ信号が変化した時には前記クロックを変化させるクロック生成回路と、
    前記データをラッチ有効とするイネーブル信号を生成して出力するクロックイネーブル生成回路と、
    前記クロック生成回路から出力されるクロックの変化を受けて、前記クロックイネーブル生成回路と同期して、どのフリップフロップに受け取るべきデータをラッチしているかを示すフリップフロップデータ有効フラグを生成し出力するフリップフロップ有効フラグ生成回路と、
    複数のフリップフロップで構成され、前記クロックイネーブル生成回路から出力されるイネーブル信号で選択されたフリップフロップで前記データをラッチし、フリップフロップ出力データとして出力するデータラッチ用フリップフロップアレイと、
    前記フリップフロップ有効フラグ生成回路から出力されるフリップフロップデータ有効フラグに対してメタ・ステーブル対策を施すフリップフロップデータ有効フラグ用メタ・ステーブル対策回路と、
    前記データラッチ用フリップフロップアレイから出力されたフリップフロップ出力データと、前記フリップフロップデータ有効フラグ用メタ・ステーブル対策回路でメタ・ステーブル対策を施されたフリップフロップデータ有効フラグとを受け取るコマンドデコーダ回路と、
    前記コマンドデコーダ回路から出力されるフリップフロップデータアクノレッジ信号に対してメタ・ステーブル対策を施すフリップフロップデータアクノレッジ用メタ・ステーブル対策回路と、を有し、
    前記コマンドデコーダ回路は、
    前記フリップフロップデータ有効フラグを参照しアサートされたビットに対して、前記データラッチ用フリップフロップアレイから受け取ったフリップフロップ出力データを前記後段回路のクロックでラッチし、
    各フリップフロップからのデータを受け取る度に、前記フリップフロップデータアクノレッジ信号を前記フリップフロップ有効フラグ生成回路に対してアサートし、
    前記フリップフロップ有効フラグ生成回路は、
    前記コマンドデコーダ回路から出力され、前記フリップフロップデータアクノレッジ用メタ・ステーブル対策回路でメタ・ステーブル対策を施されたフリップフロップデータアクノレッジ信号を受けて、どのフリップフロップが未読データを保持していないかを示す空フリップフロップ指示を前記クロックイネーブル生成回路に与え、
    前記クロックイネーブル生成回路は、
    前記フリップフロップ有効フラグ生成回路から前記空フリップフロップ指示信号を受けて、順番にイネーブル信号を生成し、新たなデータを受け付けない状態だった前記データラッチ用フリップフロップアレイのフリップフロップを再びデータ入力可能状態にすることを特徴とするデータ/ストローブエンコーディング方式回路。
  3. 前記コマンドデコーダ回路は、
    前記データラッチ用フリップフロップアレイから受け取った複数ビットデータから、デコードすべきデータビット量が揃った時点でコマンドデコードを行い、前記後段回路に対してコマンドデータを確定し、コマンドイネーブル信号をアサートし、
    前記後段回路からコマンドアクノレッジ信号のアサートを受けた場合に前記コマンドイネーブル信号のアサートを止めることを特徴とする請求項2記載のデータ/ストローブエンコーディング方式回路。
  4. 前記フリップフロップデータ有効フラグ用メタ・ステーブル対策回路及び前記フリップフロップデータアクノレッジ用メタ・ステーブル対策回路は、動作周波数等に応じた段数のフリップフロップで構成されることを特徴とする請求項2又は3記載のデータ/ストローブエンコーディング方式回路。
  5. 前記データラッチ用フリップフロップアレイのフリップフロップの数は、前記クロック生成回路で生成されたクロック及び前記後段回路のクロックの動作周波数により決定されることを特徴とする請求項2から4のいずれか1項に記載のデータ/ストローブエンコーディング方式回路。
  6. データとストローブ信号を別々な線路で伝送し、前記データ自身の変化と前記ストローブ信号の変化とをラッチのクロックに用い、前記データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方式回路において、
    前記後段回路のデータ転送を制御するステートマシンのステートが、初期状態およびリセット状態を示すステートであるエラーリセットステートに他のステートから遷移した場合に擬似クロックを前段回路に与えることにより、最終デコード結果を前記後段回路に渡すことを特徴とするデータ/ストローブエンコーディング方式回路。
  7. データとストローブ信号を別々な線路で伝送し、前記データ自身の変化と前記ストローブ信号の変化とをラッチのクロックに用い、前記データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方式回路において、
    所定のデータと所定のストローブ信号に基づいてクロックを生成して出力し、前記データまたは前記ストローブ信号が変化した時には前記クロックを変化させるクロック生成回路と、
    前記データをラッチ有効とするイネーブル信号を生成して出力するクロックイネーブル生成回路と、
    複数のフリップフロップで構成され、前記クロックイネーブル生成回路から出力されるイネーブル信号で選択されたフリップフロップで、コマンドを構成する連続した複数ビットデータをラッチし、フリップフロップ出力データとして出力するデータラッチ用フリップフロップアレイと、
    前記データラッチ用フリップフロップアレイから出力されたフリップフロップ出力データを受け取るコマンドデコーダ回路と、
    前記コマンドデコーダ回路から出力されるコマンドイネーブル信号に対してメタ・ステーブル対策を施すフリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路と、
    前記後段回路から出力されるフリップフロップデータアクノレッジ信号に対してメタ・ステーブル対策を施すフリップフロップデータアクノレッジ用メタ・ステーブル対策回路と、
    前記後段回路のデータ転送を制御するステートマシンのステートが、初期状態およびリセット状態を示すステートであるエラーリセットステートにある場合にアサートするステータス信号を監視し、アサートに変化した場合には1パルスを発生させ、前記ストローブ信号とXORすることで、擬似的にクロックパルスを発生させるクロック発生回路と、を有し、
    前記コマンドデコーダ回路は、
    前記データラッチ用フリップフロップアレイから出力されるフリップフロップ出力データを受け取り、かつ、前記クロック生成回路で生成された前記クロックに基づいて前記複数ビットデータの個数をカウントし、デコードすべきデータビット量が揃った時点で前記フリップフロップ出力データのコマンドデコードを行い、
    前記コマンドデコードの結果、最終コマンドではない場合は、次以降のクロックでデコード結果をラッチし、前記後段回路に対してコマンドデータを確定し、前記フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドイネーブル信号をアサートし、
    前記後段回路から出力されたコマンドアクノレッジ信号に対して前記フリップフロップデータアクノレッジ用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドアクノレッジ信号を受けて、前記コマンドイネーブル信号のアサートを止め、再び前記フリップフロップ出力データのコマンドデコードを行い、
    前記コマンドデコードの結果、最終コマンドである場合は、前記クロック発生回路により、前記後段回路のデータ転送を制御するステートマシンのステートが、初期状態およびリセット状態を示すステートであるエラーリセットステートにある場合にアサートするステータス信号を監視し、アサートに変化した場合にはリンクは切断したとみなし、前記クロック発生回路から1パルスを発生させ、前記ストローブ信号とXORすることで、擬似クロックを発生させ、
    前記擬似クロックにより、デコードした最終コマンドをラッチし、前記後段回路に対してコマンドデータを確定し、前記フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドイネーブル信号をアサートし、
    前記後段回路から出力されたコマンドアクノレッジ信号に対して前記フリップフロップデータアクノレッジ用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドアクノレッジ信号を受けて、前記コマンドイネーブル信号のアサートを止め、次のコマンドが入力されるのを待つことを特徴とするデータ/ストローブエンコーディング方式回路。
  8. 前記フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路及び前記フリップフロップデータアクノレッジ用メタ・ステーブル対策回路は、動作周波数等に応じた段数のフリップフロップで構成されることを特徴とする請求項7記載のデータ/ストローブエンコーディング方式回路。
  9. データとストローブ信号を別々な線路で伝送し、前記データ自身の変化と前記ストローブ信号の変化とをラッチのクロックに用い、前記データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方法において、
    所定のデータをフリップフロップでラッチ後、前記データをラッチし保持していることを示す信号と、ラッチ後のデータと、を対として前記後段回路に渡し、
    該後段回路から、前記データを受け取ったことを示す信号のアサートを受け取り、前記データをラッチして停止しているフリップフロップを再度動作させて新たなデータを受け取ることを特徴とするデータ/ストローブエンコーディング方法。
  10. データとストローブ信号を別々な線路で伝送し、前記データ自身の変化と前記ストローブ信号の変化とをラッチのクロックに用い、前記データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方法において、
    所定のデータと所定のストローブ信号に基づいてクロックを生成して出力し、前記データまたは前記ストローブ信号が変化した時には前記クロックを変化させるクロック生成ステップと、
    前記データをラッチ有効とするイネーブル信号を生成して出力するクロックイネーブル生成ステップと、
    前記クロック生成ステップで出力されるクロックの変化を受けて、前記クロックイネーブル生成ステップと同期して、どのフリップフロップに受け取るべきデータをラッチしているかを示すフリップフロップデータ有効フラグを生成し出力するフリップフロップ有効フラグ生成ステップと、
    前記クロックイネーブル生成ステップで出力されるイネーブル信号で選択されたフリップフロップで前記データをラッチし、フリップフロップ出力データとして出力するフリップフロップデータ出力ステップと、
    前記フリップフロップ有効フラグ生成ステップで出力されるフリップフロップデータ有効フラグに対してメタ・ステーブル対策を施すフリップフロップデータ有効フラグ用メタ・ステーブル対策ステップと、
    前記フリップフロップデータ有効フラグ用メタ・ステーブル対策ステップでメタ・ステーブル対策を施されたフリップフロップデータ有効フラグを参照しアサートされたビットに対して、前記フリップフロップデータ出力ステップから出力されたフリップフロップ出力データを前記後段回路のクロックでラッチするフリップフロップ出力データラッチステップと、
    各フリップフロップからのデータを受け取る度に、フリップフロップデータアクノレッジ信号を出力するフリップフロップデータアクノレッジ信号出力ステップと、
    前記フリップフロップデータアクノレッジ信号出力ステップで出力されるフリップフロップデータアクノレッジ信号に対してメタ・ステーブル対策を施すフリップフロップデータアクノレッジ用メタ・ステーブル対策ステップと、
    前記フリップフロップデータアクノレッジ用メタ・ステーブル対策ステップでメタ・ステーブル対策を施されたフリップフロップデータアクノレッジ信号を受けて、どのフリップフロップが未読データを保持していないかを示す空フリップフロップ指示を出力する空フリップフロップ指示出力ステップと、
    前記空フリップフロップ指示出力ステップで出力される空フリップフロップ指示信号を受けて、順番にイネーブル信号を生成し、新たなデータを受け付けない状態だったフリップフロップを再びデータ入力可能状態にする再データ入力可能状態ステップと、
    を実行することを特徴とするデータ/ストローブエンコーディング方法。
  11. 前記フリップフロップデータ出力ステップで受け取った複数ビットデータから、デコードすべきデータビット量が揃った時点でコマンドデコードを行い、前記後段回路に対してコマンドデータを確定し、コマンドイネーブル信号をアサートするコマンドイネーブル信号アサートステップと、
    前記後段回路からコマンドアクノレッジ信号のアサートを受けた場合に前記コマンドイネーブル信号のアサートを止める前記コマンドイネーブル信号アサート停止ステップと、
    をさらに実行することを特徴とする請求項10記載のデータ/ストローブエンコーディング方法。
  12. データとストローブ信号を別々な線路で伝送し、前記データ自身の変化と前記ストローブ信号の変化とをラッチのクロックに用い、前記データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方法において、
    前記後段回路のデータ転送を制御するステートマシンのステートが、初期状態およびリセット状態を示すステートであるエラーリセットステートに他のステートから遷移した場合に擬似クロックを前段回路に与えることにより、最終デコード結果を前記後段回路に渡すことを特徴とするデータ/ストローブエンコーディング方法。
  13. データとストローブ信号を別々な線路で伝送し、前記データ自身の変化と前記ストローブ信号の変化とをラッチのクロックに用い、前記データを別クロックで動作している後段回路に伝送するデータ/ストローブエンコーディング方法において、
    所定のデータと所定のストローブ信号に基づいてクロックを生成して出力し、前記データまたは前記ストローブ信号が変化した時には前記クロックを変化させるクロック生成ステップと、
    前記データをラッチ有効とするイネーブル信号を生成して出力するクロックイネーブル生成ステップと、
    前記クロックイネーブル生成ステップで出力されるイネーブル信号で選択されたフリップフロップで、コマンドを構成する連続した複数ビットデータをラッチし、フリップフロップ出力データとして出力するフリップフロップデータ出力ステップと、
    前記データラッチ用フリップフロップ出力ステップで出力されるフリップフロップ出力データを受け取り、かつ、前記クロック生成ステップで生成された前記クロックに基づいて前記複数ビットデータの個数をカウントし、デコードすべきデータビット量が揃った時点で前記フリップフロップ出力データのコマンドデコードを行うコマンドデコードステップと、を実行し、
    前記コマンドデコードの結果、最終コマンドではない場合は、次以降のクロックでデコード結果をラッチし、前記後段回路に対してコマンドデータを確定し、前記フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドイネーブル信号をアサートし、
    前記後段回路から出力されたコマンドアクノレッジ信号に対して前記フリップフロップデータアクノレッジ用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドアクノレッジ信号を受けて、前記コマンドイネーブル信号のアサートを止め、再び前記フリップフロップ出力データのコマンドデコードを行い、
    前記コマンドデコードの結果、最終コマンドである場合は、前記後段回路のデータ転送を制御するステートマシンのステートが、初期状態およびリセット状態を示すステートであるエラーリセットステートにある場合にアサートするステータス信号を監視し、アサートに変化した場合にはリンクは切断したとみなし、1パルスを発生させて前記ストローブ信号とXORすることで、擬似クロックを発生させ、
    前記擬似クロックにより、デコードした最終コマンドをラッチし、前記後段回路に対してコマンドデータを確定し、前記フリップフロップデータコマンドイネーブル用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドイネーブル信号をアサートし、
    前記後段回路から出力されたコマンドアクノレッジ信号に対して前記フリップフロップデータアクノレッジ用メタ・ステーブル対策回路でメタ・ステーブル対策を施したコマンドアクノレッジ信号を受けて、前記コマンドイネーブル信号のアサートを止め、次のコマンドが入力されるのを待つことを特徴とすることを特徴とするデータ/ストローブエンコーディング方法。
JP2006122238A 2006-04-03 2006-04-26 データ/ストローブエンコーディング方式回路およびデータ/ストローブエンコーディング方法 Expired - Fee Related JP4267000B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006122238A JP4267000B2 (ja) 2006-04-03 2006-04-26 データ/ストローブエンコーディング方式回路およびデータ/ストローブエンコーディング方法
EP07251403A EP1843505B1 (en) 2006-04-03 2007-03-30 Data/strobe encoding scheme circuit and data/strobe encoding method
EP08001798A EP1919120B1 (en) 2006-04-03 2007-03-30 Data/strobe encoding scheme circuit and data/strobe encoding method
US11/696,012 US8036283B2 (en) 2006-04-03 2007-04-03 Data/strobe encoding scheme circuit and data/strobe encoding method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006102400 2006-04-03
JP2006122238A JP4267000B2 (ja) 2006-04-03 2006-04-26 データ/ストローブエンコーディング方式回路およびデータ/ストローブエンコーディング方法

Publications (2)

Publication Number Publication Date
JP2007300151A true JP2007300151A (ja) 2007-11-15
JP4267000B2 JP4267000B2 (ja) 2009-05-27

Family

ID=38120343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006122238A Expired - Fee Related JP4267000B2 (ja) 2006-04-03 2006-04-26 データ/ストローブエンコーディング方式回路およびデータ/ストローブエンコーディング方法

Country Status (3)

Country Link
US (1) US8036283B2 (ja)
EP (2) EP1843505B1 (ja)
JP (1) JP4267000B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039349A (ja) * 2010-08-06 2012-02-23 Nec Engineering Ltd 宇宙機器の同期化システム及びこれに用いる宇宙機器

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4848324B2 (ja) * 2007-07-12 2011-12-28 三菱重工業株式会社 シリアルパラレル変換回路及び通信装置
RU186199U1 (ru) * 2018-05-17 2019-01-11 Акционерное общество "Российская корпорация ракетно-космического приборостроения и информационных систем" (АО "Российские космические системы") Программно-временное и маршрутизирующее устройство бортовой аппаратуры командно-измерительной системы
CN112291110B (zh) * 2020-09-29 2021-12-31 北京空间飞行器总体设计部 一种SpaceWire网络接口旁路检测装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4990907A (en) * 1987-08-19 1991-02-05 Hitachi, Ltd. Method and apparatus for data transfer
EP1306827B1 (en) * 2000-07-28 2012-11-21 Nichia Corporation Display and display drive circuit or display drive method
JP2004054350A (ja) * 2002-07-16 2004-02-19 Sony Corp クロック切り替え回路
DE602004017346D1 (de) * 2003-08-22 2008-12-04 4Links Ltd Kommunikationssystem mit eingebetteter synchronisation
US7088144B2 (en) * 2004-09-10 2006-08-08 Sun Microsystems, Inc. Conditional precharge design in staticized dynamic flip-flop with clock enable

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012039349A (ja) * 2010-08-06 2012-02-23 Nec Engineering Ltd 宇宙機器の同期化システム及びこれに用いる宇宙機器

Also Published As

Publication number Publication date
EP1843505B1 (en) 2009-11-11
EP1919120B1 (en) 2009-12-23
US20070258292A1 (en) 2007-11-08
EP1919120A1 (en) 2008-05-07
EP1843505A1 (en) 2007-10-10
JP4267000B2 (ja) 2009-05-27
US8036283B2 (en) 2011-10-11

Similar Documents

Publication Publication Date Title
EP3412016B1 (en) Scalable, high-efficiency, high-speed serialized interconnect
US7979608B2 (en) Lane to lane deskewing via non-data symbol processing for a serial point to point link
US7590882B2 (en) System, method and storage medium for bus calibration in a memory subsystem
US9166625B2 (en) Circuits, integrated circuits, and methods for interleaved parity computation
US20080147897A1 (en) Memory controller including a dual-mode memory interconnect
US7889578B2 (en) Single-strobe operation of memory devices
JP4267000B2 (ja) データ/ストローブエンコーディング方式回路およびデータ/ストローブエンコーディング方法
US20110051934A1 (en) Data receiving device, data receiving method and program
JP2006166460A5 (ja)
US8121150B1 (en) Method and apparatus for processing variable-length packets in a buffer memory for transmission
US7861140B2 (en) Memory system including asymmetric high-speed differential memory interconnect
US7224638B1 (en) Reliability clock domain crossing
TW200528992A (en) Buffer management via non-data symbol processing for a point to point link
JP2006229931A (ja) デイジーチェーンを形成するマルチデバイスシステムおよびその駆動方法
Fu et al. Exploiting parity computation latency for on-chip crosstalk reduction
US20210367908A1 (en) Wide Elastic Buffer
JP2000059238A (ja) ビタビデコーダの符号同期判定回路
WO2007040734A1 (en) Communicating client phase information in an io system
US20100034248A1 (en) Hardware initiated throughput (hitm) measurement inside an ocp system using ocp side band signals
JP6109090B2 (ja) シリアル通信装置
US20230087104A1 (en) Signal processing circuit and reception device
JP4514272B2 (ja) デジタルデータ処理回路
JP2009033553A (ja) 半導体装置
US20070073933A1 (en) Asynchronous interface with vectored interface controls
US9129666B1 (en) Robust commands for timing calibration or recalibration

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080513

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080710

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090127

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090217

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: 20120227

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees