説明

擬似同期時分割多重化

ロジックデータを擬似同期的に多重化する方法及び装置を説明する。データ項目を設計クロックに対して非同期的に送信するマルチプレクサロジックの表現が生成される。データ項目は、第1の集積回路から第2の集積回路に送信クロックの制御下で送信することができる。データを非同期的に送信するためにマルチプレクサロジックに結合したカウンタロジックの表現を生成することができる。更に、カウンタロジックを繰返しリセットする構成に向けてリセットロジックの表現を生成することができる。データ項目を駆動する設計クロックの設計クロックサイクルに対して同期化信号を生成することができる。同期化信号は、設計クロックとは非同期の送信クロックによって送信することができる。データ項目は、送信クロックのクロックサイクルと設計クロックのクロックサイクルとに基づいて判断される複数の送信スロットを通じて送信することができる。ロジックデータを送信するための送信スロットにおける合計時間は、設計クロックのクロックサイクルよりも短いとすることができる。設計クロックのクロックサイクル内の1つ又はそれよりも多くの送信スロットは、設計クロックに従ってデータ項目を送信する新しいサイクルを示す同期化データを送信するのに使用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル回路に関し、より具体的には、デジタル信号の「時分割多重化(TDM)」を使用するデジタル回路の設計に関する。
【背景技術】
【0002】
デジタル信号を送信するための時間領域多重化方式の利点の1つは、複数のデジタル信号又はチャンネル信号を単一の送信チャンネルを共有して送信することができることである。例えば、TDMは、ASIC(特定用途向け集積回路)及びFPGA(フィールドプログラマブルゲートアレイ)設計において他のチップへの通信のために使用されるピン数を低減するために一般的に適用される。チップ密度が増大しているので、ピン数は追いつかなくなってきており、TDMベースの通信をより魅力的なものにしている。ASICでは、ASIC設計のパーティションをFPGA上にマップすることによってプロトタイプを構築することができる。ASICモジュールは、単一のチップ上で接続されるように設計されたので、多くの場合にこれらのモジュールは、ICパッケージ内で利用可能なものの5〜10倍のモジュール間接続を有する。チップ間の接続が設計クロックサイクル毎に多数回共有されている場合には、送信性能がシステムの速度を制限することになる。こうしてTDM送信速度の改善は高い価値を有する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第7,007,254号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般的に、TDMは、同期又は非同期のいずれかである。同期TDMは、送信される信号にクロックサイクル毎に単一の時間スロットを割り当てることができ、利用可能な時間の効率的な使用を可能にするので、高性能のものとすることができる。しかし、複数のICの間で正確なクロック同期化を維持することは高価であると共に困難である可能性があり、チップ間接続に係わる各クロックに関連する高周波数クロックの創出及び配分を必要とする。チップ間で正確な同期化を維持するのに失敗すると、送信速度が制限される。待ち時間が重要ではない場合には、同期化問題を解消するのにFIFO(先入れ先出し)においてソース同期送信及びバッファ方式の用法を使用することができる。しかし、ASICプロトタイプ構成のような多くの用途では、待ち時間は厳しい制約条件を有し、FIFOを使用することができない。
【0005】
非同期TDMは、ユーザクロックに同期化されない高周波数送信クロックを使用する。代わりに、データは、例えば、Drazen Borkovic及びKenneth S.McElvainに付与された「時分割多重化を使用するデジタル回路の設計及び分析の方法及び装置(Methods and Apparatus for the Design and Analysis of Digital Circuits with Time Division Multiplexing)」という名称の米国特許第7,007,254号明細書に説明されているように設計クロックサイクル毎に複数回サンプリングされて送信される。非同期方式の長所は、単一のTDMクロックを緩い同期化制約条件下で配分することができ、いずれにしても送信スロットが設計クロックに同期化されないので、判断すべき複雑なスロット割り当てが存在しない点である。そのような方式では、所定の設計信号の連続するサンプルの間の時間は、チップ間のリターデーションの一部になる。多くの異なる信号が同じチャンネルを共有する高いTDM比では、この過サンプリング遅延が非常に大きくなる可能性があり、これはこの方式の主な欠点である。
【0006】
従って、従来のTDM方式は、ASICプロトタイプのような重度に相互接続した多デバイスシステムにおいて性能要件及びリソース要件を満たし損ねており、改善の必要がある。
【課題を解決するための手段】
【0007】
ここで擬似同期時分割多重化を用いてデジタル回路を設計する方法及び装置を説明する。本発明の一部の実施形態をこの節で要約する。
【0008】
本発明の少なくとも1つの実施形態では、データ項目送信スロットの数を送信クロックの周期と設計クロックの周期とから判断することができる。データ項目は多値符号であり、特殊な場合はブール値である。データ項目に対する送信スロットの数は、データ項目スロットにおける合計時間が設計クロックの周期よりも短いようなスロット数として判断することができる。スロットの殆どは、データ項目値を送信するのに使用することができ、一部のスロットは、同期化情報に向けて使用することができる。
【0009】
本発明の一態様では、送信スロット数よりも大きい範囲を有するスロットカウンタの表現を生成することができる。カウンタは、送信されるデータを生成する設計クロックのエッジによってリセットすることができる。カウンタ値は、番号が振られた各スロットに関連付けられたデータ項目を選択して送信する入力選択ロジックを制御するのに使用することができる。
【0010】
本発明の別の態様では、受信チップ内にスロットカウンタの表現が生成される。受信側カウンタの値は、データ値のストリームを分配及び/又は逆多重化するのに使用することができる。
【0011】
本発明の更に別の態様では、送信カウンタのカウント値が送信スロット数を超えることによって判断することができる全てのデータ項目の送信完了の後に、入力選択ロジックは、「0」値を選択及び/又は送信することができる。カウンタが0にリセットされると、入力選択ロジックは、値「1」を選択し、及び/又はそれをスロット0又はスロット1のような特定の番号が振られたスロット内で送信することができる。受信チップ又は回路内には、受信カウンタに対するリセット生成回路を生成することができる。受信カウンタが、識別された全てのスロット番号を通じてカウントし終わった後に、受信リセット生成回路は、「1」という値を有する送信スロット番号を識別する入力データストリーム内での「0」から「1」への遷移を待つことができ、識別されたスロット番号に適合するようにカウンタをリセットすることができる。この機構は、TDMクロックが設計クロックよりも十分に速いものである限り、クロック周波数の変化にも関わらず、送信回路と受信回路の間でスロット番号に関する一致を維持することができる。この機構の結果は、設計クロックと送信クロックとを同期させることなく、番号が振られたデータ項目送信スロットの位置を設計クロックエッジに対して大まかに同期させることである。このクロック同期化を伴わないスロット同期化が、本出願人が本方法を擬似同期TDMと呼ぶ理由である。
【0012】
本発明の更に別の態様では、複数の並列TDMチャンネルは、リセット生成回路及びカウンタを含む同期化要素の一部又は全てを共有することができる。この場合、並列チャンネルの群の単一の構成要素しか同期化データを送信する必要がないことになり、データ項目を送信するためにいくつかの更に別の送信スロットが解放される。
【0013】
本発明の更に別の態様では、設計クロックに対して非同期的にデータ項目を送信するマルチプレクサロジックの表現を生成することができる。データ項目は、第1の集積回路から第2の集積回路に送信クロックの制御下で送信することができる。設計クロックのクロックサイクル内の一連の時間スロット内でデータ項目を送信するために、選択ロジックと結合するカウンタロジックの表現を生成することができる。更に、カウンタロジックを繰返しリセットする構成に向けてリセットロジックの表現を生成することができる。
【0014】
本発明の更に別の態様では、設計クロックに対して非同期的にデータを受信する逆多重化ロジックの表現を生成することができる。データは、第1の集積回路から第2の集積回路に送信クロックの制御下で受信することができる。データを非同期的に受信するために、抽出ロジックの表現に結合されたカウンタロジックの表現を生成することができる。更に、カウンタロジックを繰返しリセットする構成においてリセットロジックの表現を生成することができる。
【0015】
本発明の別の態様では、ロジックデバイスを駆動する設計クロックの設計クロックサイクルに対して同期化信号を生成することができる。同期化信号は、設計クロックとは非同期の送信クロックによって送信することができる。その後に、ロジックデバイスからのデータ項目を送信クロックによってクロック制御される多重化方式によって設計クロックのクロックサイクル内で送信することができる。
【0016】
本発明の更に別の態様では、送信クロックに従ってロジックデバイスの入力ポートから受信される同期化信号を検出することができる。同期化信号の検出に続いて、送信クロックによってクロック制御される入力ポートからの1つ又はそれよりも多くの信号を逆多重化することができる。逆多重化された信号は、送信クロックとは非同期のロジックデバイスを駆動する設計クロックのクロックサイクル内でバッファに入ることができる。
【0017】
本発明の更に別の態様では、デジタル回路は、複数の信号をチップの通信ポート上で通信するために、設計ロジックと、同期化ロジックと、多重化ロジックとを含むことができる。設計ロジックは、設計クロックによってクロック制御される信号を生成することができる。設計クロックと送信クロックとによって駆動される同期化ロジックは、設計クロックとは非同期の送信クロックに基づいて時間スロットをほぼ整合させる同期化信号を生成することができる。設計ロジック及び同期化ロジックに結合した多重化ロジックは、同期化信号と複数の信号とを通信ポート上で送信クロックに従って送信することができる。
【0018】
本発明の更に別の態様では、各送信スロットの設計クロックエッジに対して可能な限り早期のサンプリング時間が計算される。この計算は、送信カウンタの可能な限り早期のリセットを考慮することができる。受信設計クロックエッジに対して可能な限り最新の配信時間を同様に計算することができる。この計算は、送信カウンタの可能な限り最新のリセットの時間を考慮することができる。次に、設計信号は、計算されたサンプリング時間と配信時間とによって示唆されるタイミング分析要件を満たすようにスロットに割り当てることができる。
【0019】
本発明は、方法と、これらの方法を実行するデータ処理システム及びデータ処理システムによって実行された時にシステムにこれらの方法を実行させるコンピュータ可読媒体を含むこれらの方法を実行する装置とを含む。
【0020】
本発明の他の特徴は、添付図面及び以下に続く詳細説明から明らかであろう。
【0021】
本発明を類似の参照符号が類似の要素を示す添付図面の図内に限定ではなく一例として例示する。
【図面の簡単な説明】
【0022】
【図1】本発明の一実施形態による擬似同期TDMを含む多チップデジタル設計の図である。
【図2】本発明の一実施形態による擬似同期時分割マルチプレクサを含む例示的デジタル回路の図である。
【図3】本発明の一実施形態による時分割多重化における非同期クロック間の擬似同期の一例を示すタイミング図である。
【図4】本発明の一実施形態による同期化信号を送信する擬似同期TDMマルチプレクサを含む多チップデジタル設計の図である。
【図5】本発明の一実施形態による非同期クロックに基づいて擬似同期的にデータを多重化する制御技術の実施形態を示す流れ図である。
【図6】本発明の一実施形態による非同期クロックに基づいて擬似同期的にデータを逆多重化する制御技術の実施形態を示す流れ図である。
【図7】本発明の一実施形態による擬似同期的に通信される複数チップ間設計を作成する処理を示す流れ図である。
【図8】本発明の一実施形態による設計に関するタイミング分析を実施する処理を示す流れ図である。
【図9】本発明の一実施形態に対して使用することができるデータ処理システムの例を示す図である。
【発明を実施するための形態】
【0023】
以下の説明及び図面は本発明を示すものであり、本発明を限定するものと解釈すべきではない。本発明の完全な理解をもたらすために、多くの特定の詳細内容を説明する。しかし、ある一定の事例では、本発明の説明を不明瞭にすることを避けるために、公知又は従来の詳細内容に対しては説明しない。
【0024】
本発明の方法のうちの多くのものは、従来の汎用コンピュータシステムのようなデジタル処理システムを用いて実施することができる。1つの機能のみを実施するように設計又はプログラムされた専用コンピュータも同じく使用することができる。
【0025】
本明細書における「一実施形態」又は「実施形態」への参照は、この実施形態に関連して説明する特定の特徴、構造、又は特性を本発明の少なくとも1つの実施形態内に含めることができることを意味する。本明細書内の様々な箇所における「一実施形態」という表現の出現は、必ずしも全てが同じ実施形態を指しているわけではない。
【0026】
以下に続く図に示す処理は、ハードウエア(例えば、回路、専用ロジック等)、ソフトウエア(汎用コンピュータシステム又は専用マシン上などで実行されるもの等)、又はこれらの両方の組合せを含む処理ロジックによって実施される。下記では処理をいくつかの連続する演算に関して説明するが、説明する演算のうちの一部のものは、異なる順序に実施することができることを理解すべきである。更に、一部の演算は、連続ではなく並列に実施することができる。
【0027】
本発明の少なくとも1つの実施形態は、ソース設計クロックのクロックサイクル(又はユーザクロックサイクル)の範囲にわたって変化するインデックス付き時間スロットの位置を含む擬似同期時分割マルチプレクサシステムによってデジタル信号を送信することを探求するものである。ソース設計クロックのエッジを用いて、時間スロット0(エッジに関連付けられたクロックサイクル内の最初の時間スロット)は、クロックエッジの近くにくるように周期的に位置決めするようにリセットすることができる。ソース設計クロックは、送信中の信号から設計におけるフリップ・フロップまで移動して戻すことによって識別することができる。設計クロックエッジに対する時間スロット0又は他の時間スロットの位置決めは、同期TDMベースの信号送信等におけるもののようなタイミング分析に基づくことができる。各信号(又はロジックデータ)は、1つの時間スロットしか消費せずに送信することができる。その結果、帯域幅が拡幅し、実質的な遅延は、非同期TDM実施と比較して劇的に低下する。
【0028】
例えば、1GHzの送信速度において、20nmがマルチプレクサ及びデマルチプレクサの遅延にチップ間相互接続部の遅延を加えたものを表す場合に、64対1の多重化比は、非同期TDM方式では84ns(又は64ns+20ns)の実質的な遅延をもたらすことになり、システム周波数を約10MHzに制限する。それと比較して、対応する擬似同期TDM方式は、約28ns(又は8ns+20ns)の実質的な遅延を有することになり、25MHzを超えるシステム速度をもたらす。
【0029】
図1は、本発明の一実施形態による擬似同期TDMを含む多チップデジタル設計を示している。マルチプレクサは、1つの送信リソースを共有するように複数の信号を単一の信号ストリーム内に組み合わせることができる。一般的に、デジタル設計は、送信機チップ101及び受信機チップ115のような複数のチップにわたって配分された設計モジュールを含むことができる。一実施形態では、チップ101及び/又は115は、デジタル設計のエミュレーションを可能にするFPGAデバイスのようなプログラマブルロジックデバイスとすることができる。チップ相互接続部117は、チップ間の物理的な配線とすることができる。一部の実施形態では、チップ相互接続部117は、光学接続又は無線接続に基づくとすることができる。通常、設計モジュール間をチップ、例えば、チップ101及び115にわたって通過するデータ信号は、同じ物理的接続部を異なる時間スロットを通じたことで共有することができる。
【0030】
送信機チップ101内では、設計モジュールを相互接続部111のような相互接続部によって結合された1つ又はそれよりも多くのブロック105、107に構成することができる。一実施形態では、設計クロック109が、送信機チップ101内の複数のロジックブロック105、107を駆動する。設計クロック109は、計算を実行する受信機チップ115を含む複数のチップを駆動するクロックソースに基づくとすることができる。
【0031】
一実施形態では、送信機チップ101は、TDM IO111のようなIOロジックを駆動する送信クロックに従ってロジックデータを105及び107のようなチップ内の設計ブロックから受信機チップ115のような外部チップに送信する。送信クロック113は、チップ相互接続部117を通じて送信機チップ101からロジックデータを受信する受信機チップ115の対応するIOポートを駆動することができる。一実施形態では、ソースチップ、例えば、送信機チップ101とターゲットチップ、例えば、受信機チップ115との間のロジックデータに対する送信クロックは同期するか又は単一のクロックソースに基づいている。別の実施形態では、各チップ上の送信クロックは、他のチップ上の送信クロックに対して制御されず、受信機チップ内の受信ロジックは、データと共に送信されるソース同期クロックによってクロック制御される。
【0032】
TDM IO111は、ロジックデータを送信機チップ101から受信機チップ115の対応するTDM IO119に擬似同期TDM方式で送信することができる。TDM IO119は、受信された単一の信号ストリームから複数の信号を抽出する擬似同期TDMデマルチプレクサを含むことができる。一実施形態では、TDM IO111は、送信クロック103と設計クロック109の両方と結合され、設計クロック109の各クロックサイクルを送信クロック103の複数のクロックサイクル又は時間スロットと別々に同期させるTDM方式に基づいてロジックデータを送信する。一実施形態では、論理演算を駆動する設計クロック109とチップ間のデータ送信を駆動する送信クロック103とは非同期のものである(例えば、互いの間で既知の位相関係又は特定の周波数関係を持たない)。
【0033】
図2は、本発明の一実施形態による擬似同期時分割マルチプレクサを含む例示的なデジタル回路を示している。例示的回路200は、図1の送信機チップ101のようなチップ内に実施することができる。図1のTDM IO111のようなIOロジックは、リセット発生器ロジック211、スロットカウンタロジック213、及び/又はマルチプレクサ215を含むことができる。ロジックデータ217は、図1のロジック105及び/又はロジック107のようなユーザロジック209からの出力データとすることができる。一実施形態では、複数のロジックデータ項目217は、別々のチップにわたる図1の相互接続部117のような相互接続配線219を共有する擬似同期TDM方式でマルチプレクサ215を通じて別のチップに送信される。
【0034】
例示的回路200は、クロックdesign_clk203及びクロックtdm_clk201のような複数の非同期クロックによって駆動することができる。ユーザロジック209は、例えば、クロックdesign_clk203によってクロック制御される複数のバイナリ値を含むロジックデータ217を生成する論理演算又は計算を実行することができる。クロックdesign_clk203は、例えば、図1の設計クロック109に従って生成することができる。シーケンス要素205、207は、クロック信号をパイプライン処理してユーザロジック209を駆動するためのレジスタ、フリップ・フロップ、又はメモリ要素とすることができる。一実施形態では、チップにわたるデジタルデータ送信を駆動するために、例えば、図1の送信クロック103に従ってクロックtdm_clk201を生成することができる。一般的に、クロックtdm_clk201は、クロックdesign_clk203よりも高い周波数のものになる。
【0035】
一実施形態では、スロットカウンタ213は、マルチプレクサ215が、クロックtdm_clk201のような送信クロックに従う時間スロットを通じて送信されるロジックデータ217を選択するためのカウント値を生成する。スロットカウンタ213は、送信に向けてロジックデータ217の選択順序を制御することができる。一般的に、マルチプレクサ215における時間スロットは、クロックtdm_clk201のクロックサイクルに対応する。一実施形態では、マルチプレクサ215は、クロックdesign_clk203のクロックサイクル内の各ロジックデータ217に対して別々の時間スロットを与える。その結果、クロックdesign_clk203の各クロックに対してユーザロジック209から生成されるロジックデータ217の全ての値は、クロックdesign_clk203の対応するクロックサイクル中に相互接続部219にわたって送信される。
【0036】
クロックdesign_clk203の各クロックサイクルに対して、非同期のクロックdesign_clk203とクロックtdm_clk201とを整合させる同期化信号(又は同期化データ)を生成することができる。一実施形態では、マルチプレクサ215は、スロットカウンタ213からのある一定のカウント値に従って同期化信号を生成するように構成される。例えば、スロットカウンタ213は、マルチプレクサ215が信号値を選択して同期化信号を生成するための飽和カウント値と初期カウント値とを含むことができる。
【0037】
飽和カウント値は、カウンタにおいて構成される最大カウント値とすることができる。カウンタは、関連付けられた駆動クロックからその飽和カウント値(又はカウンタ範囲)までカウントした時に飽和する。飽和したカウンタは、駆動クロックに応じて付加的なカウントを実行することができる。一般的に、カウンタは、リセットされると、その駆動クロックの次のクロックサイクルにおいて初期カウント値、例えば、0に設定される。カウンタは、リセット信号を受信した時にリセットすることができる。
【0038】
一実施形態では、同期化信号は、スロットカウンタ213の初期カウント値とリセットカウント値とに従ってマルチプレクサ215が選択する信号値に基づいている。リセット発生器211は、スロットカウンタ213に対するリセット信号を生成することができる。スロットカウンタ213が初期カウント値と飽和カウント値との間でカウントを行う時に、マルチプレクサ215は送信に向けてロジックデータ217を選択することができる。一実施形態では、スロットカウンタ213が飽和すると、マルチプレクサ215は、構成された初期同期化信号値、例えば、論理ロウ又は0を出力することができる。
【0039】
リセット発生器211からのリセット信号の受信を受けて、スロットカウンタは、クロックtdm_clk201の次のクロックサイクルに対するその初期カウント値(リセット)までカウントを行う。一実施形態では、マルチプレクサ215は、スロットカウンタ213が、クロックtdm_clk201に従って初期カウント値からカウントを行うのに基づいて構成されたその後の同期化信号値を出力する。例えば、クロックtdm_clk201によって送信される同期化信号は、単一の論理ハイ、及び/又は明確に認識することができる論理ロウから論理ハイへの遷移を含むことができる。
【0040】
一実施形態により、リセット発生器211は、リセット信号をdesign_clk203のエッジから導出する。例えば、リセット発生器211は、クロックdesign_clk203の各クロックサイクルのエッジにおいてスロットカウンタ213をリセットする信号を生成することができる。使用されるエッジは、送信されるデータを生成するクロックエッジに基づくことができる。一般的に、クロックdesign_clk203のクロックサイクル内でクロックtdm_clk201に従う時間スロットの数は、マルチプレクサ215を通じてロジックデータ217を送信するのに必要とされる時間スロット数よりも多い。余分な時間スロットは、デジタル回路200が同期化信号を受け入れるために割り当てることができる。
【0041】
ある一定の実施形態では、複数の相互接続部は、図2のリセット発生器211及び/又はスロットカウンタ213のようなデータ送信を同期化させるための同じロジックブロックを共有しながらデータを並列送信することができる。各相互接続部は、データを送信するためのチャンネルに関連付けることができる。例えば、設計クロック203におけるデータを並列送信するために、相互接続部219におけるチャンネルを含む複数のチャンネルは、スロットカウンタ213及びリセット発生器211のような同期化ロジックブロックを共有することができる。その結果、余分な同期化ロジックブロックの経費負担なしに並列チャンネルを通じて付加的なデータスロットを提供することができる。一部の実施形態では、並列チャンネルは、並列チャンネルのうちの特定の1つを通じて送信される同期化信号を共有する。同期化信号を送信する必要がないチャンネルは、特定のチャンネルが、例えば、同じ送信スロット中に共有同期化信号を送信する間にデータを同時に送信することができる。
【0042】
図3は、本発明の一実施形態による時分割多重化における非同期クロック間の擬似同期化の一例を示すタイミング図である。例えば、設計クロック301は、図2のdesign_clk203のようなチップ内のユーザロジックを駆動する設計クロックのクロックサイクルを含むことができる。スロットシーケンス305、307は、設計クロック301とは異なって整合された図2のtdm_clk201のような送信クロックによって駆動される図2のマルチプレクサ215のような擬似同期TDMマルチプレクサによる時間スロットの2つの例示的な割り当てを示すことができる。時間スロット又は送信スロットは、送信クロックのクロックサイクルのエッジ(例えば、立ち上がりエッジ及び/又は立ち下がりエッジ)に対応することができる。時間スロットは、送信クロックの完全なクロックサイクルを含まなくてもよい。
【0043】
一実施形態では、スロットシーケンス307は、ロジックデータ315を送信するための8つの時間スロットslot_0...slot_7及び同期化信号313のための2つのスロットであるsyncスロット317、319を含む。時間スロットslot_0をラベル「0」で表し、時間スロットslot_1をラベル「1」で表すことができ、以降同様に続く。2つの設計クロックサイクル(又は周期)は、共通ラベル付き時間スロット、例えば、「0」と名付けられた時間スロット、「1」と名付けられた時間スロットなどを含むことができる。スロットシーケンス307は、8対1マルチプレクサに対応することができる。同期化信号は、論理ロウ、例えば、syncスロット317から論理1、例えば、syncスロット319への遷移のパターンを含むことができる。一実施形態では、同期化信号の受信ポートは、同期化信号を受信するのに続いて、次の時間スロットであるスロット321をロジックデータを送信するのに割り当てられた最初のスロットとして識別する(例えば、固有の信号パターンの認識に基づいて)。同期化信号(又はデータ)は、設計クロックのクロックサイクルに位置決めされた時間スロット(又は送信スロット)の位置を示すことができる。従って、同期化信号を生成する同期化ロジックは、どのラベルを各時間スロットに割り当てるかを選択又は判断することができる。時間スロットのタイミングは、送信クロックのクロックサイクル(又は周期)のクロックエッジに対して判断することができる。ある一定の実施形態では、複数のデータを同時に送信するために、例えば、複数の電圧レベル及び/又は異なる周波数の光を用いて複数の時間スロットを時間的に重なるように位置決めすることができる。
【0044】
ある一定の実施形態では、各ラベル付き時間スロットは、そのラベル付き時間スロットに関連付けられた設計クロックのクロックサイクルのエッジからのオフセット(又は時間差)を伴って位置決めされる。例えば、slot_0 312は、設計クロック301のエッジ303に対するオフセット325に関連付けることができる。共通ラベル付き時間スロットに関連付けられるオフセットは、設計クロックサイクル毎に変化することができる。異なる設計クロックサイクル中の共通ラベル付き時間スロットにおけるオフセットの変動は、所定の限度内、例えば、時間スロットに対応する送信クロックの1つ又は2つの送信クロックサイクル内に維持することができる。
【0045】
一実施形態では、スロットシーケンス307に対応するカウンタ、例えば、図2のスロットカウンタ213は値9で飽和する。その結果、カウンタの飽和カウント値に対応する0という同期化信号値(論理ロウ)が、次の時間スロット、例えば、syncスロット317において、関連付けられた擬似同期TDMマルチプレクサ、例えば、図2のマルチプレクサ215から強制される。一実施形態では、時間インスタンス303において、設計クロック301の立ち上がりエッジが、例えば、図2のリセット発生器211を通じてリセット信号をトリガし、カウンタをリセットする。その後に、カウンタを駆動する送信クロック、例えば、図2のtdm_clk201に従う時間インスタンス311において、マルチプレクサは、syncスロット319に対するカウンタの初期カウント値に対応する1とう同期化値(論理ハイ)を生成する。すなわち、設計クロック301のクロックサイクルは、同期化信号313を通じてスロットシーケンス307に対応する送信クロックで較正される。ロジックデータ315は、時間スロット321で始めて0から7までインデックス付けされたその後の時間スロット内に多重化される。値0を有するsyncスロットの数は、設計クロックサイクル毎に異なるとすることができる。
【0046】
図4は、本発明の一実施形態による同期化信号を送信する擬似同期TDMマルチプレクサを含む多チップ設計を示している。例えば、例示的デジタル設計400は、図1の送信機チップ101及び/又は受信機チップ115内に含めることができる。一実施形態では、クロックdesign_clk403によって駆動されるソースロジックブロック413からのロジックデータ419は、クロックdesign_clk403とは非同期の送信クロックtdm_clk405によってチップ相互接続部にわたって送信される。相互接続部117は、送信クロックtdm_clk405によって駆動される送信機ロジックに結合することができる。ロジックデータ419は、例えば、図3のタイミング図300に例示しているように、クロックtdm_clk405と整合された(例えば、擬似同期的に)クロックdesign_clk403の1つのクロックサイクル内で送信することができる。クロックdesign_clk403及びクロックtdm_clk405は、それぞれ図1の設計クロック109及び送信クロック103に対応する。
【0047】
一実施形態では、同期化ロジック411がマルチプレクサ415と結合されて、受信機チップ115において同期化信号を生成するための同期化信号値を供給する。同期化ロジック411は、例えば、送信側カウンタ409からのカウント値に従ってマルチプレクサが選択することができる同期化信号値を用いて構成されるストレージ要素を含むことができる。一実施形態では、クロックtdm_clk405によってクロック制御される送信側カウンタ409は、マルチプレクサ415が、クロックtdm_clk405に従って割り当てられた次の時間スロットにおいてsyncロジック411からの最初の同期化値を選択するように値Nにおいて飽和する。クロックdesign_clk403のクロックサイクルは、送信側カウンタ409をリセット状態に設定するリセット発生器407をトリガすることができる。一実施形態では、クロックサイクルの立ち上がりエッジは、送信側カウンタ409をリセットするリセット信号を生成するようにリセット発生器407をトリガする。その後に、クロックtdm_clk405の次のクロックサイクルにおいて、送信側カウンタは、マルチプレクサ415が、対応する時間スロットにおいてsyncロジック411からの第2の同期化値を選択するように初期カウント値にリセットされる。受信機チップ115に向けてロジックデータ419を送信するための時間スロットを整合させるために、第1の同期化値及び第2の同期化値を含む同期化信号を受信機チップ115に送信することができる。
【0048】
一実施形態では、受信機チップ115は、送信機チップ101から擬似同期方式で送信されたロジックデータ及び同期化信号を受信するデマルチプレクサを含む。受信機チップ115は、固定ロジックデバイス又はFPGAデバイスのようなプログラマブルロジックデバイスとすることができる。クロックr_tdm_clk423のような送信クロックに従って一連の時間スロットにわたって収集されたロジックデータ419は、ロジックデータ433に逆多重化し、ターゲットロジックブロック435にラッチ(又はバッファ方式)することができる。一実施形態では、クロックr_design_clk439は、計算を実行するようにターゲットロジックブロック435を駆動する。受信機チップ115のクロックr_design_clk439と送信機チップのクロックdesign_clk403とは非同期とすることができる。一部の実施形態では、クロックr_design_clk439とクロックdesign_clk403とは共通の周波数のものである。
【0049】
受信機チップ115は、デマルチプレクサ431に結合した受信側カウンタ425及びsync検出(又は同期化)ロジック429を含み、受信ロジックデータにおける時間スロットをターゲットロジックブロック435に割り当てるなどで受信側カウンタ425のカウンタ値を時間スロット(又は送信スロット)と整合させる。例えば、sync検出ロジック429は、送信機チップ101から送信された同期化信号を認識することができ、ロジックデータ433に割り当てられる時間スロットのシーケンスの開始点を示す。相互接続部117を通じて受信された多重化ロジックデータは、受信カウンタ425によってカウントされたカウント値に従ってデマルチプレクサ431によって逆多重化することができる。一実施形態では、受信側カウンタは、送信側カウンタ409と共通の飽和カウント値を共有するように構成される。受信側カウンタ425が飽和すると、送信機チップ101から送信された同期化信号は、デマルチプレクサ431を通じてsync検出ロジック429にsync信号437として転送することができる。
【0050】
sync検出ロジック429は、デマルチプレクサ431を通じて受信された同期化信号の検出を受けて、受信側カウンタをリセットするリセット信号427を送信することができる。一実施形態では、受信側カウンタ425がリセットされた時点の直後に続く次の時間スロットは、逆多重化ロジックデータのための時間スロットシーケンスを開始する。受信側カウンタは、デマルチプレクサ431におけるクロックr_tdm_clk423によってカウントすることができる。一実施形態では、クロックr_tdm_clk423とクロックtdm_clk405とは、チップ相互接続部117を駆動する送信クロックと同じクロックソースを共有する。sync検出ロジック429は、論理ロウから論理ハイへの信号レベル変化のような同期化パターンを受信された同期化信号から認識することができる。sync検出ロジック429と、それに対応するsyncロジック411とは、共通の同期化パターンで構成することができる。一部の実施形態では、受信側カウンタ425と送信側カウンタ409とは、送信機チップ101から送信されるロジックデータが論理ロウ(0)のような一定の既知の値のものであるトレーニング期間中に整合される。
【0051】
図5は、本発明の一実施形態による非同期クロックに基づいてデータを擬似同期的に多重化する制御技術の実施形態を示す流れ図である。例えば、制御フロー500は、図1に示しているデジタル設計100によって実施することができる。一実施形態では、ブロック501において、制御フロー500のロジックは、ロジックデバイスを駆動する図1の設計クロック109のような設計クロックのクロックサイクル毎に同期化信号を生成する。ロジックデバイスからの複数のロジックデータは、図1のチップ115のような別のロジックデバイスと結合するための図1の相互接続部117のような物理的な接続部を共有することができる。各ロジックデータは、関連付けられた設計クロックのクロックサイクル毎に物理的接続部を通過することができる。
【0052】
一実施形態では、制御フロー500のロジックは、カウンタロジックによってカウントされるカウンタに従うなどで状態機械の状態に基づいて同期化信号を生成することができる。制御フロー500のロジックは、設計クロックのエッジ(立ち上がりエッジ等)に従って同期化信号を生成するための状態を判断することができる。すなわち、同期化信号は、設計クロックの各クロックと整合するように生成される。同期化信号は、例えば、設計クロックのクロック周期(又はサイクル)に対応する周期内で明確に識別することができる所定のパターンを含むことができる。
【0053】
一実施形態により、ブロック503において、制御フロー500のロジックは、物理的相互接続部を通じて送信クロックに従って同期化信号を送信する。送信クロックと設計クロックは、図3のクロック309と303のように非同期のものとすることができる(例えば、既知の位相関係又は周波数関係なしに)。設計クロックの各クロックサイクルは、送信クロックの所定数のクロックサイクルを含むのに十分に長いとすることができる(例えば、同期化信号の長さ及び設計クロックの各クロックサイクルにおいて送信されるロジックデータの数に基づいて)。一実施形態では、制御フロー500のロジックは、送信クロックの各クロックに従ってカウンタをカウントして状態機械の状態を識別し、同期化信号を生成する。
【0054】
ブロック505では、制御フロー500のロジックは、ロジックデバイスからのロジックデータを多重化して送信クロックに従ってターゲットデバイスにデータ信号を送信することができる。制御フロー500のロジックは、同期化信号を送信するのに続いて、例えば、同期化信号を送信する送信クロックの次のクロックから開始して、又は他のタイミング関係に基づいてデータ信号の送信を実施することができる。一実施形態では、制御フロー500のロジックは、状態機械を更新して、設計クロックのクロックサイクル中に全てのデータ値を送信し終わる時点を判断する。制御フロー500のロジックは、設計クロックのクロックサイクル中に全てのデータ値を送信し終わった時点に続いて同期化信号を開始することができる。
【0055】
図6は、本発明の一実施形態による非同期クロックに基づいて擬似同期的にデータを逆多重化する制御技術の実施形態を示す流れ図である。例えば、制御フロー600は、図1に示しているデジタル設計100によって実施することができる。一実施形態では、ブロック601において、制御フロー600のロジックは、図1の受信機チップ115のようなロジックデバイスの入力ポートへの送信クロックによってクロック制御された同期化信号を検出する。同期化ロジックを受信するロジックデバイスは、送信クロックとは非同期の設計クロックによってクロック制御することができる。各ロジックデータは、関連付けられた設計クロックのクロックサイクル毎に物理接続部を通過することができる。
【0056】
制御フロー600のロジックは、設計クロックの各クロックサイクル中に同期化信号を検出し始める時点を図4のカウンタロジック425によってカウントされるカウンタに従うなどで状態機械の状態に基づいて判断することができる。状態機械は、同期化信号をクロック制御する送信クロックによって駆動することができる。一実施形態では、同期化信号の検出は、カウンタが、設計クロックのクロックサイクル中に所定数のロジックデータを受信し終わったことを示す時点で開始することができる。一実施形態では、制御フロー600のロジックは、受信された信号の遷移パターンに従って同期化信号を識別する。論理1から論理0へのような特定の遷移は、設計クロックのクロックサイクル中の同期化信号の終端を示すことができる。
【0057】
一実施形態では、同期化信号の検出に続くブロック603において、制御フロー600のロジックは、受信されたデータ信号を別々のバッファに格納し、設計クロックによってクロック制御されるロジックデバイスの入力ポートを通じて送信されたロジックデータを逆多重化する。制御フロー600のロジックは、ロジックデータ値の送信を駆動する送信クロックに従って受信されて入力ポートに通過するロジックデータ値の数をカウントすることができる。一実施形態では、制御フロー600のロジックは、送信クロックに従って受信されたロジックデータ値の数をカウントし始める(例えば、送信クロックのクロックサイクルの数をカウントする)。制御フロー600のロジックは、所定数のロジックデータ値を受信し終わった後に同期化信号を待つことができる。一実施形態では、制御フロー600のロジックは、送信クロックとは非同期の設計クロックの各クロックに対して、同期化信号を検出する段階及び所定数のロジックデータを逆多重化する段階を繰り返す。
【0058】
図7は、本発明の一実施形態による擬似同期的に通信される複数チップ間設計を作成する処理を示す流れ図である。例示的処理700は、ハードウエア(回路、専用ロジック等)、ソフトウエア(専用マシン上で実行されるもの等)、又はこれらの両方の組合せを含むことができる処理ロジックによって実施することができる。例えば、ソフトウエアツールは、処理700に従って擬似同期的に通信される複数チップ間設計を自動的に実施するように構成することができる。一実施形態では、ブロック701において、処理700の処理ロジックは、設計を駆動する設計クロックのエッジによって設計のデータ項目(又は信号)をグループ分けする。処理700の処理ロジックは、送信中のデータ項目からの設計を設計のフリップ・フロップまで移動することによって設計クロックのエッジを識別することができる。設計クロックの各エッジ又はクロックエッジは、設計クロックのクロックサイクルに対応することができる。一実施形態では、設計は、HDL(ハードウエア記述言語)記述に基づくとすることができる。ある一定のクロックエッジに対応する同じ群の全てのデータ項目は、そのクロックエッジのクロックサイクル内に到着することができる。一実施形態では、ブロック703において、処理700の処理ロジックは、データ信号/値をチャンネル/スロットに割り当てる上でのタイミング要件を生成するタイミング分析を実施することができる。処理700の処理ロジックは、同じ群の各信号を送信するための到着時間をこの群に対応するクロックサイクルに対するクロックエッジに対して計算することができる。
【0059】
一実施形態では、ブロック705において、処理700の処理ロジックは、各設計クロックに対して、このクロックによって擬似同期方式で駆動される信号(又はロジックデータ)を多重化する回路を挿入する。設計クロックのクロックサイクルに対する期間は、図3の設計クロック301に対するスロットシーケンス305におけるもののような1つ又はそれよりも多くの時間スロット(又はチャンネル)を含むことができる。設計クロックとは非同期である送信クロックは、送信クロックのクロックサイクルに基づいて時間スロットを割り当てることができる。回路は、設計クロックの各クロックサイクル内のスロット数に従ってデータ項目群に対応するロジックデータを多重化することができる。同じ群の各データ項目に対して、ブロック707において、処理700の処理ロジックは、タイミング分析から生成されるタイミング制約条件を満たすことに従ってクロックサイクル内に別々の時間スロットを割り当てることができる。例えば、データ項目又は信号値に対する時間スロット(又は送信スロット)は、データ値の計算された到着時間に基づいて割り当てることができる。一実施形態では、時間スロットの割り当ては、ロジックデータを対応するデータ項目に対してサンプリングすることができた最も早期の時間に基づいている。
【0060】
ブロック709では、処理700の処理ロジックは、擬似同期時間領域マルチプレクサ回路を含むネットリストを生成するなどで設計の実施を作成することができる。一実施形態では、処理700の処理ロジックは、設計実施(例えば、メモリに格納されたネットリスト)をPLD(プログラマブルロジックデバイス)又はFPGAのような1つ又はそれよりも多くのハードウエアデバイス内にロード(又はインストール)して設計を構成する。処理700の処理ロジックは、構成されたプログラマブルデバイスに従って複数のチップにわたるロジックデータを擬似同期多重化する段階を含む設計をエミュレート(プロトタイプ作成)することができる。ある一定の実施形態では、処理700の処理ロジックは、特定用途向け集積回路(ASIC)に基づくとすることができる。
【0061】
図8は、本発明の一実施形態による設計に関するタイミング分析を実施する処理を示す流れ図である。例示的処理800は、ハードウエア(回路、専用ロジック等)、ソフトウエア(専用マシン上で実行されるもの等)、又はこれらの両方の組合せを含むことができる処理ロジックによって実施することができる。例えば、例示的処理800は、図7のブロック703に含まれるタイミング分析作動を実施することができる。一実施形態では、ブロック801において、処理800の処理ロジックは、図3の設計クロック310のような設計クロックの周期(又はサイクル)内の時間スロット内でデータ値(又は論理信号)を送信するのに最も早期の時間スロット(又は送信スロット)を識別する。処理800の処理ロジックは、各送信スロットにおいて可能な限り早期のサンプリング時間を設計クロックエッジに対して計算することができる。例えば、処理800の処理ロジックは、図2のスロットカウンタ213のようなデータを送信するための同期化ロジックに関連付けられた送信カウンタの可能な限り早期のリセットを考慮することができる。
【0062】
ブロック803では、処理800の処理ロジックは、設計クロックの周期内でデータを送信するための可能な限り最新の時間スロットを識別することができる。一実施形態では、処理800の処理ロジックは、可能な限り最新の配信時間を受信する設計クロックのエッジに対して計算する。処理800の処理ロジックは、データを送信するための同期化ロジックに関連付けられた送信カウンタの可能な限り最新のリセット時間を考慮することができる。その後のブロック805において、処理800の処理ロジックは、データに対して識別された最も早期の時間スロットと最新の時間スロットとに基づいてタイミング要件を生成することができる。タイミング要件は、データに対する最も早期のサンプリング時間と最新の配信時間とを含むことができる。
【0063】
図9は、本発明の一実施形態おいて使用することができるデータ処理システムの例を示している。図9は、コンピュータシステムの様々な構成要素を示しているが、そのような詳細内容は本発明に密接な関係を持たないので、構成要素を相互接続するいずれかも特定のアーキテクチャ又は方式を代表するように考えられているものではないことに注意されたい。本発明においてより少ない構成要素又は時により多くの構成要素を有するネットワークコンピュータ及び他のデータ処理システムを使用することができることも認められるであろう。図9のコンピュータシステムは、例えば、「アップルマッキントッシュ」コンピュータとすることができる。
【0064】
図9に示しているように、データ処理システムの形態にあるコンピュータシステム901は、マイクロプロセッサ903、ROM907、揮発性RAM905、及び不揮発性メモリ906に結合されたバス902を含む。Motorola、Inc.又はIBMからのG3又はG4のマイクロプロセッサとすることができるマイクロプロセッサ903は、図9の例に示しているようにキャッシュメモリ904に結合される。バス902は、これらの様々な構成要素を互いに相互接続し、これらの構成要素903、907、905、及び906を表示コントローラ及び表示デバイス908、並びにマウス、キーボード、モデム、ネットワークインタフェース、プリンタ、スキャナ、ビデオカメラ、及び当業技術で公知の他のデバイスとすることができる入力/出力(I/O)デバイスのような周辺デバイスにも相互接続する。一般的に、入力/出力デバイス910は、入力/出力コントローラ909を通じてシステムに結合される。一般的に、揮発性RAM905は、メモリ内のデータをリフレッシュ又は維持するために絶えず電力を必要とするダイナミックRAM(DRAM)として具現化される。一般的に、不揮発性メモリ906は、システムから電力が取り除かれた後でもデータを維持する磁気ハードドライブ、光磁気ドライブ、光ドライブ、又はDVD RAM、又は他の種類のメモリシステムである。また、一般的に、不揮発性メモリは、ランダムアクセスメモリであるが、これを必要としない。図1は、不揮発性メモリが、データ処理システム内の残りの構成要素に直接結合されたローカルデバイスであることを示しているが、本発明は、モデム又は「イーサネット(登録商標)」インタフェースのようなネットワークインタフェースを通じてデータ処理システムに結合されたネットワークストレージデバイスのようなシステムからリモートの不揮発性メモリを利用することができることは認められるであろう。バス902は、当業技術で公知の様々なブリッジ、コントローラ、及び/又はアダプタを通じて互いに接続した1つ又はそれよりも多くのバスを含むことができる。一実施形態では、I/Oコントローラ909は、USB周辺機器を制御するためのUSB(ユニバーサルシリアルバス)アダプタ及び/又はIEEE−1394周辺機器を制御するためのIEEE−1394バスアダプタを含む。
【0065】
本明細書から本発明の態様を少なくとも部分的にソフトウエアに具現化することができることは明らかであろう。すなわち、本発明の技術は、コンピュータシステム又は他のデータ処理システムにおいて、マイクロプロセッサのようなシステムのプロセッサが、ROM907、揮発性RAM905、不揮発性メモリ906、又はリモートストレージデバイスのようなメモリ内に含まれる命令シーケンスを実行するのに応答して実施することができる。様々な実施形態では、ハードウエア回路は、本発明を実施するのにソフトウエア命令との組合せで使用することができる。すなわち、本発明の技術は、ハードウエア回路とソフトウエアのいかなる特定の組合せにもデータ処理システムによって実行される命令に対するいかなる特定のソースにも限定されない。更に、説明を簡略化するために、本明細書を通して様々な機能及び作動をソフトウエアコードによって実行されるか又は引き起こされるものとして説明した。しかし、当業者は、そのような表現が意味することは、マイクロプロセッサ903のようなプロセッサによるコードの実行からこれらの機能がもたらされるということであると認識するであろう。
【0066】
データ処理システムによって実行された時にシステムに本発明の様々な方法を実行させるソフトウエア及びデータを格納するのに、機械読み取り可能な記録媒体を使用することができる。この実行可能ソフトウエア及びデータは、例えば、図9に示しているROM907、揮発性RAM905、又は不揮発性メモリ906を含む様々な位置に格納することができる。これらのソフトウエア及び/又はデータの一部分は、これらのストレージデバイスのうちのいずれかに格納することができる。
【0067】
すなわち、機械読み取り可能な記録媒体は、マシン(例えば、コンピュータ、ネットワークデバイス、携帯情報端末、製造ツール、1組の1つ又はそれよりも多くのプロセッサを有するいずれかのデバイス等)によってアクセス可能な形式の情報を格納するいずれかの機構を含む。例えば、機械読み取り可能媒体は、記録可能/記録不能媒体(例えば、読取専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスクストレージ媒体、光ストレージ媒体、フラッシュメモリデバイス等)を含む。
【0068】
以上の明細書では、本発明をその特定の例示的な実施形態を参照して説明した。以下に続く特許請求の範囲に示す本発明の広義の精神及び範囲から逸脱することなく、本発明に様々な修正を加えることができることは明らかであろう。本明細書及び図面は、相応に限定的な意味ではなく例示的な意味で捉えるものとする。
【符号の説明】
【0069】
101 送信機チップ
103、113 送信クロック
105、107 構成可能ロジック
109 設計クロック
115 受信機チップ

【特許請求の範囲】
【請求項1】
データ処理システムによって実行された時に該データ処理システムに電子システムを設計する方法を実行させる実行可能コンピュータプログラム命令を収容するコンピュータ読み取り可能な記録媒体であって、
前記方法が、
データ項目を送信クロックの制御下である一定の数の送信スロット内で設計クロックに対して非同期的に第1の回路から第2の回路に送信するマルチプレクサロジックの表現を生成する段階と、
前記設計クロックの設計サイクル内で非同期的に送信される前記データ項目を選択するために前記マルチプレクサロジックの前記表現に結合されたカウンタロジックの表現を生成する段階と、
前記カウンタロジックを繰返しリセットするように構成されたリセットロジックの表現を生成する段階と、
を含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項2】
前記カウンタロジックの繰返しリセットは、前記設計クロックのエッジから導出されることを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
【請求項3】
前記方法は、
前記設計クロックの周期内に前記データ項目を送信するための送信スロットの数を判断する段階であって、各送信スロットが、前記送信クロックのエッジから導出された期間に対応する前記判断する段階、
を更に含む、
ことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
【請求項4】
前記マルチプレクサロジックは、前記送信スロットの位置を示す同期化データを前記第2の回路に送信するように構成されることを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
【請求項5】
前記同期化データは、前記ロジックデータを送信するための前記数の送信スロットに続いて1つ又はそれよりも多くの送信スロット内で送信されることを特徴とする請求項4に記載のコンピュータ読み取り可能な記録媒体。
【請求項6】
前記方法は、
前記同期化データを生成するように構成された同期化ロジックの表現を生成する段階、
を更に含む、
ことを特徴とする請求項4に記載のコンピュータ読み取り可能な記録媒体。
【請求項7】
前記カウンタロジックは、複数の状態を含み、
前記マルチプレクサロジックは、前記複数の状態のうちの1つに基づいて、送信スロット内で送信される前記データ項目及び同期化データのうちの1つを選択する、
ことを特徴とする請求項4に記載のコンピュータ読み取り可能な記録媒体。
【請求項8】
前記マルチプレクサロジックは、前記カウンタロジックが前記設計クロックによって駆動される状態を変更した時に前記同期化データを送信することを特徴とする請求項7に記載のコンピュータ読み取り可能な記録媒体。
【請求項9】
前記マルチプレクサロジックは、前記設計クロックに対して非同期的に前記データ項目を送信するチャンネルに関連付けられ、
前記方法は、
複数のデータ項目を前記設計クロックに対して非同期的に並列に送信する複数のチャンネルの表現を生成する段階であって、該複数のチャンネルが、前記チャンネルを含み、該複数のデータ項目が、前記データ項目を含む前記生成する段階、
を更に含む、
ことを特徴とする請求項4に記載のコンピュータ読み取り可能な記録媒体。
【請求項10】
前記チャンネルは、前記カウンタロジック及び前記リセットロジックに関連付けられ、
前記複数のチャンネルは、前記カウンタロジック及び前記リセットロジックを共有する、
ことを特徴とする請求項9に記載のコンピュータ読み取り可能な記録媒体。
【請求項11】
前記チャンネルは、前記同期化データを送信し、
前記複数のチャンネルのうちの少なくとも1つは、前記チャンネルが前記同期化データを送信する間に同時に前記複数のデータ項目のうちの1つを送信する、
ことを特徴とする請求項10に記載のコンピュータ読み取り可能な記録媒体。
【請求項12】
前記第1の回路は、該第1の回路から外部に通信される複数のデータ項目を含み、
前記方法は、
前記複数のデータ項目に対してタイミング分析を実行する段階と、
前記複数のデータ項目を1つ又はそれよりも多くのデータ項目群にグループ分けする段階であって、該データ項目が、該データ項目群のうちの1つに属する前記グループ分けする段階と、
を更に含む、
ことを特徴とする請求項1に記載のコンピュータ読み取り可能な記録媒体。
【請求項13】
前記タイミング分析は、
前記複数のデータ項目の各々を送信するために前記設計クロック周期内の可能な限り早期の時間スロットを識別すること、
前記データ項目を送信するために前記設計クロック周期内の可能な限り最新の時間スロットを識別すること、及び
前記識別された可能な限り早期かつ最新の送信スロットに基づいて前記複数のデータ項目に対するタイミング要件を生成すること、
を含む、
ことを特徴とする請求項12に記載のコンピュータ読み取り可能な記録媒体。
【請求項14】
前記方法は、
前記タイミング要件に従って前記データ項目の各信号を前記数の送信スロットのうちの1つに割り当てる段階、
を更に含む、
ことを特徴とする請求項13に記載のコンピュータ読み取り可能な記録媒体。
【請求項15】
前記方法は、
前記同期化データを初期化するために少なくとも1つの設計クロック周期に対して単一の初期値を前記データ項目に割り当てる段階、
を更に含む、
ことを特徴とする請求項12に記載のコンピュータ読み取り可能な記録媒体。
【請求項16】
データ処理システムによって実行された時に該データ処理システムに電子システムを設計する方法を実行させる実行可能コンピュータプログラム命令を収容するコンピュータ読み取り可能な記録媒体であって、
前記方法が、
データ項目を送信クロックの制御下である一定の数の送信スロット内で設計クロックに対して非同期的に第1の回路から第2の回路に受信するデマルチプレクサロジックの表現を生成する段階と、
前記設計クロックの設計クロック周期内で非同期的に前記データ項目を受信する前記デマルチプレクサロジックの前記表現に結合されたカウンタロジックの表現を生成する段階と、
前記カウンタを前記送信スロットと同期させるように構成された同期化ロジックの表現を生成する段階と、
を含む、
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項17】
前記同期化ロジックは、前記第1の回路から受信される同期化データを検出し、かつ
前記同期化ロジックは、前記カウンタの値を前記送信スロットと整合させる、
ことを特徴とする請求項16に記載のコンピュータ読み取り可能な記録媒体。
【請求項18】
前記カウンタロジックは、複数の状態を含み、かつ
前記カウンタロジックは、前記データ項目を受信した時に、前記送信クロックによって駆動される前記複数の状態の間で遷移する、
ことを特徴とする請求項17に記載のコンピュータ読み取り可能な記録媒体。
【請求項19】
前記複数の状態は、飽和状態とリセット状態を含み、
前記カウンタロジックは、前記データ項目を受信した後に前記送信クロックによって前記飽和状態に遷移し、
前記リセットロジックは、前記カウンタロジックを前記飽和状態から前記リセット状態にリセットする、
ことを特徴とする請求項18に記載のコンピュータ読み取り可能な記録媒体。
【請求項20】
デジタル処理システム上で実行された時に該デジタル処理システムをしてロジックデバイスを、
前記ロジックデバイスを駆動する設計クロックの設計クロックサイクルのための同期化信号を生成し、
前記設計クロックとは非同期の送信クロックによって前記同期化信号を送信し、かつ
前記設計クロックサイクル内で前記送信クロックによってクロック制御される多重化方式によって前記ロジックデバイスからデータ信号を送信する、
ように構成させる複数の実行可能命令を収容する機械読み取り可能な記録媒体。
【請求項21】
通信ポート上で複数のデータ項目を通信するためのチップ上のデジタル回路であって、
設計クロックによってクロック制御される複数のデータ項目を生成する設計ロジックと、
前記設計クロックと送信クロックとによって駆動されて同期化信号を生成する同期化ロジックであって、該設計クロックが、該送信クロックと非同期である前記同期化ロジックと、
前記送信クロックに従って前記通信ポート上で前記同期化信号と前記複数のデータ項目とを送信するために前記設計ロジックと前記同期化ロジックとに結合された多重化ロジックと、
を含むことを特徴とするデジタル回路。
【請求項22】
前記同期化ロジックは、前記送信クロックによってクロック制御されるカウンタロジックを含むことを特徴とする請求項21に記載のデジタル回路。
【請求項23】
前記同期化ロジックは、前記カウンタロジックをリセットするリセット信号を生成するためにユーザクロックによってクロック制御されるリセットロジックを含むことを特徴とする請求項22に記載のデジタル回路。
【請求項24】
前記同期化信号は、前記カウンタロジックが飽和した時に生成されることを特徴とする請求項23に記載のデジタル回路。
【請求項25】
前記同期化信号は、前記送信クロックのクロックサイクル内で前記リセット信号と整合される遷移パターンを含むことを特徴とする請求項24に記載のデジタル回路。
【請求項26】
設計クロックの各サイクル内の複数の送信スロットを通じた送信に向けて複数の信号をクロック制御する設計クロックであって、各信号が、1つの送信スロット内で送信される前記設計クロックと、
各送信スロットが前記設計クロックのクロックエッジからのオフセットを有する前記複数の送信スロットを作成し、該設計クロックとは非同期である送信クロックと、
前記複数の送信スロットをラベル付けするために前記設計クロックと前記送信クロックに結合された同期化ロジックと、
を含み、
前記設計クロックの異なるサイクルの共通ラベルを有する送信スロットに対するオフセットの変動が、限度が定められた不確実性の範囲内に維持される、
ことを特徴とする電子システム。
【請求項27】
前記送信スロットのラベルに基づいて該送信スロット内で送信される前記信号を選択する選択ロジック、
を更に含むことを特徴とする請求項26に記載の電子システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2012−533830(P2012−533830A)
【公表日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2012−521679(P2012−521679)
【出願日】平成22年7月14日(2010.7.14)
【国際出願番号】PCT/US2010/042012
【国際公開番号】WO2011/011245
【国際公開日】平成23年1月27日(2011.1.27)
【出願人】(597035274)シノプシス, インコーポレイテッド (33)
【氏名又は名称原語表記】SYN0PSYS, INC.
【Fターム(参考)】