(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-28
(54)【発明の名称】マルチチャネルデータソースのための非プライオリティアービトレーションを有するイベントドリブン読み出しシステム
(51)【国際特許分類】
G06F 13/36 20060101AFI20240321BHJP
【FI】
G06F13/36 310D
G06F13/36 520Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023562991
(86)(22)【出願日】2022-03-31
(85)【翻訳文提出日】2023-12-06
(86)【国際出願番号】 US2022022707
(87)【国際公開番号】W WO2022221068
(87)【国際公開日】2022-10-20
(32)【優先日】2021-09-15
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-04-16
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】501050830
【氏名又は名称】ブルックヘヴン サイエンス アソシエイツ リミテッド ライアビリティ カンパニー
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ゴーニ,ドミニク・スタニスラフ
(72)【発明者】
【氏名】デプタッチ,グジェゴジ・ダブリュ
(72)【発明者】
【氏名】ミリーアーラ,サンディープ
(57)【要約】
イベントドリブン読み出しマネジメントシステムは、複数のチャネルの非プライオリティアクセスアービトレーションを含む。システムは、アービトレーションツリー回路、応答回路、インチャネルロジック回路および出力ペリフェリー回路を含む。アービトレーションツリー回路は、複数のチャネルのうちの少なくとも1つによって提供される読み出しアクセスリクエストに基づいて、複数のチャネルのうちのいずれに、複数のチャネルによって共有された共通の信号伝達リソースへのアクセスを許可するかを決定する。アービトレーションツリー回路は、クロック信号の単一のエッジに応答して前の読み出しトランザクションを終了させかつ後続の読み出しトランザクションを開始する。インチャネルロジック回路は、アクノリッジトークンを受信することに応答して前の読み出しトランザクションを終了させかつ後続の読み出しトランザクションを開始する。出力ペリフェリー回路は、複数のチャネルから受信された情報を、共通の信号伝達リソースにおける出力フォーマットに変換する。
【特許請求の範囲】
【請求項1】
複数のチャネルの非プライオリティアクセスアービトレーションを有するイベントドリブン読み出しマネジメントシステムであって、前記システムは、
アービトレーションツリー回路を含み、前記アービトレーションツリー回路は、前記複数のチャネルのいずれに、前記複数のチャネルによって共有された共通の信号伝達リソースへのアクセスを許可するかを決定し、前記決定は、前記複数のチャネルのうちの少なくとも1つによって提供される読み出しアクセスリクエストに基づき、前記アービトレーションツリー回路は、前記決定から複数の読み出しアクセスリクエストの同時発生を排除し、前記読み出しアクセスリクエストは、前記アービトレーションツリー回路によって受信され、かつ前記アービトレーションツリー回路によって前記共通の信号伝達リソースへのアクセスが許可されるまで前記アービトレーションツリー回路に記憶されており、前記アービトレーションツリー回路は、クロック信号の単一のエッジに応答して、前の読み出しトランザクションを終了させかつ後続の読み出しトランザクションを開始し、
応答回路を含み、前記応答回路は、前記アービトレーションツリー回路に動作可能に結合されており、前記クロック信号の状態は、アクノリッジトークンを表し、前記アクノリッジトークンは、前記アービトレーションツリー回路へ提供され、前記アービトレーションツリー回路は、前記共通の信号伝達リソースへのアクセスを許可するために前記アクノリッジトークンを使用し、
インチャネルロジック回路を含み、前記インチャネルロジック回路は、前記アービトレーションツリー回路に動作可能に結合されており、前記インチャネルロジック回路は、前記読み出しアクセスリクエストを生成しかつ前記アクノリッジトークンを受信し、前記インチャネルロジック回路は、前記アクノリッジトークンを受信することに応答して、前記前の読み出しトランザクションを終了させかつ前記後続の読み出しトランザクションを開始し、
出力ペリフェリー回路を含み、前記出力ペリフェリー回路は、前記複数のチャネルから受信された情報を前記共通の信号伝達リソースにおける出力フォーマットに変換する、システム。
【請求項2】
前記共通の信号伝達リソースは、アナログ信号伝達ラインおよびデジタル信号伝達ラインのうちの少なくとも一方を含む、請求項1に記載のシステム。
【請求項3】
前記読み出しアクセスリクエストは、イベントに応答して生成され、前記イベントは、伝達可能なデータを生成するための前記複数のチャネルのうちの少なくとも1つのアクティブ化を含む、請求項1に記載のシステム。
【請求項4】
前記読み出しトランザクションは、複数の読み出しフェーズを含み、前記複数の読み出しフェーズのうちの少なくとも1つは、前記複数のチャネルのうちの1つから前記共通の信号伝達リソースへの情報の少なくとも一部の伝達を生じる、請求項1に記載のシステム。
【請求項5】
前記クロック信号に関連したデューティサイクルは、前記読み出しアクセスリクエストに関連した受け入れ時間を規定しかつ前記共通の信号伝達リソースに関連したセトリング時間を保証するために選択可能である、請求項1に記載のシステム。
【請求項6】
前記決定は、さらに、前記読み出しトランザクションに関連した複数の読み出しフェーズによって、前記アービトレーションツリー回路に記憶された読み出しアクセスリクエスト、受信された読み出しアクセスリクエスト、および前記アービトレーションツリー回路に対する前記複数のチャネルの相対位置のうちの少なくとも1つから独立して、前記複数のチャネルのうちのどのチャネルが前記共通の信号伝達リソースへのアクセスを許可されるかを決定することを含む、請求項1に記載のシステム。
【請求項7】
前記クロック信号に関連したエッジの量は、1つのチャネルからの前記読み出しトランザクションに関連した読み出しフェーズの量に等しい、請求項1に記載のシステム。
【請求項8】
前記アービトレーションツリー回路は、前記複数のチャネルと非同期で動作する、請求項1に記載のシステム。
【請求項9】
前記アービトレーションツリー回路は、前記出力ペリフェリー回路と同期的に動作する、請求項1に記載のシステム。
【請求項10】
前記アービトレーションツリー回路は、前記インチャネルロジック回路と同期的に動作し、前記インチャネルロジック回路は、前記読み出しアクセスリクエストを生成する際に非同期で動作し、前記アクノリッジトークンの持続時間は、前記複数のチャネルのうちの少なくとも1つからデータを出力するために前記読み出しアクセスリクエストに関連した受け入れ時間窓を規定する、請求項1に記載のシステム。
【請求項11】
前記アクノリッジトークン信号のデューティサイクルは、前記共通の信号伝達リソースへのアクセスを許可した後にデータセトリング時間を提供するように選択可能である、請求項1に記載のシステム。
【請求項12】
前記複数のチャネルは、前記共通の信号伝達リソースへ情報を提供し、これにより、同時にリクエストするチャネルに関連した送信順序は、前記アービトレーションツリー回路内の前記同時にリクエストするチャネルに関連した位置から独立している、請求項1に記載のシステム。
【請求項13】
前記クロック信号は、第1の状態および第2の状態を含み、前記第1の状態は、アクティブであると定義されかつ新たな読み出しアクセスリクエストが受け入れられることを可能にするアクノリッジトークンを含み、前記第2の状態は、新たな読み出しアクセスリクエストの受け入れを無効化し、前記アクノリッジトークンが新たなチャネルへルーティングされる場合に前記新たな読み出しアクセスリクエストの受け入れに応答して前記共通の信号伝達リソースへのアクセスが許可された後に不十分なデータセトリング時間でデータ送信を開始することを回避する、請求項1に記載のシステム。
【請求項14】
前記アービトレーションツリーによって処理される前記読み出しアクセスリクエストは、前記アービトレーションツリーにおける少なくとも1つのより低いステージに関連した読み出しアクセスリクエストの論理和を含む、請求項1に記載のシステム。
【請求項15】
前記アービトレーションツリーによって処理された前記読み出しアクセスリクエストは、読み出しアクセスリクエスト間のアービトレーションからの結果信号の論理和を含む、請求項1に記載のシステム。
【請求項16】
前記アービトレーションツリーによって処理される前記読み出しアクセスリクエストは、アービトレーションセルに進入する、読み出しアクセスリクエスト間のアービトレーションの結果と、前記アービトレーションセルにおいてアクノリッジトークンを含む前記クロック信号との間のアービトレーションからの結果信号の論理和を含む、請求項1に記載のシステム。
【請求項17】
前記アービトレーションツリーによって処理される前記読み出しアクセスリクエストは、アービトレーションセルに進入する、読み出しアクセスリクエストと、前記アービトレーションセルにおいてアクノリッジトークンを含む前記クロック信号との間のアービトレーションからの結果信号の論理和を含む、請求項1に記載のシステム。
【請求項18】
イベントドリブン読み出しマネジメントシステムを使用する複数のチャネルの非プライオリティアービトレーションの方法であって、前記方法は、
アービトレーションツリー回路を使用して、前記複数のチャネルのうちのいずれに、前記複数のチャネルによって共有される共通の信号伝達リソースへのアクセスを許可するかを決定するステップを含み、前記決定は、前記複数のチャネルのうちの少なくとも1つによって提供される読み出しアクセスリクエストに基づき、
前記方法は、
前記アービトレーションツリー回路を使用して、前記決定から複数の読み出しアクセスリクエストの同時発生を排除するステップを含み、
前記方法は、
前記アービトレーションツリー回路によって前記共通の信号伝達リソースへのアクセスが許可されるまで、前記アービトレーションツリー回路において前記読み出しアクセスリクエストを受信および記憶するステップを含み、
前記方法は、
前記アービトレーションツリー回路を使用して、クロック信号の単一のエッジに応答して前の読み出しトランザクションを終了させかつ後続の読み出しトランザクションを開始するステップを含み、
前記方法は、
前記アービトレーションツリー回路へアクノリッジトークンを提供するステップを含み、前記アービトレーションツリー回路は、前記共通の信号伝達リソースへのアクセスを許可するために前記アクノリッジトークンを使用し、前記クロック信号の状態は、前記アクノリッジトークンを表し、
前記方法は、
インチャネルロジック回路を使用して、前記読み出しアクセスリクエストを生成しかつ前記アクノリッジトークンを受信するステップを含み、前記インチャネルロジック回路は、前記アービトレーションツリー回路に動作可能に結合されており、
前記方法は、
前記インチャネルロジック回路を使用して、前記アクノリッジトークンを受信することに応答して前記前の読み出しトランザクションを終了させかつ前記後続の読み出しトランザクションを開始するステップを含み、
前記方法は、
出力ペリフェリー回路を使用して、前記複数のチャネルから受信された情報を前記共通の信号伝達リソースにおける出力フォーマットに変換するステップを含む、方法。
【請求項19】
処理装置によって実行されたときに動作を実行する命令を含むコンピュータ可読媒体であって、前記動作は、
アービトレーションツリー回路を使用して、前記複数のチャネルのうちのいずれに、前記複数のチャネルによって共有される共通の信号伝達リソースへのアクセスを許可するかを決定するステップを含み、前記決定は、前記複数のチャネルのうちの少なくとも1つによって提供される読み出しアクセスリクエストに基づき、
前記動作は、
前記アービトレーションツリー回路を使用して、前記決定から複数の読み出しアクセスリクエストの同時発生を排除するステップを含み、
前記動作は、
前記アービトレーションツリー回路によって前記共通の信号伝達リソースへのアクセスが許可されるまで、前記アービトレーションツリー回路において前記読み出しアクセスリクエストを受信および記憶するステップを含み、
前記動作は、
前記アービトレーションツリー回路を使用して、クロック信号の単一のエッジに応答して前の読み出しトランザクションを終了させかつ後続の読み出しトランザクションを開始するステップを含み、
前記動作は、
前記アービトレーションツリー回路へアクノリッジトークンを提供するステップを含み、前記アービトレーションツリー回路は、前記共通の信号伝達リソースへのアクセスを許可するために前記アクノリッジトークンを使用し、前記クロック信号の状態は、前記アクノリッジトークンを表し、
前記動作は、
インチャネルロジック回路を使用して、前記読み出しアクセスリクエストを生成しかつ前記アクノリッジトークンを受信するステップを含み、前記インチャネルロジック回路は、前記アービトレーションツリー回路に動作可能に結合されており、
前記動作は、
前記インチャネルロジック回路を使用して、前記アクノリッジトークンを受信することに応答して前記前の読み出しトランザクションを終了させかつ前記後続の読み出しトランザクションを開始するステップを含み、
前記動作は、
出力ペリフェリー回路を使用して、前記複数のチャネルから受信された情報を前記共通の信号伝達リソースにおける出力フォーマットに変換するステップを含む、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
政府ライセンスの権利に関する声明
本発明は、米国エネルギー省によって授与された契約番号DE-SC0012704の下での政府支援によってなされた。本発明は、米国航空宇宙局によって授与されたNASA grant NNX16AC42Gの下での政府支援によってなされた。米国政府は、本発明において所定の権利を有し得る。
【0002】
関連出願の相互参照
本願は、2021年4月16日に出願された米国仮出願第63/175,625号および2021年9月15日に出願された米国仮出願第63/244,692号の利益およびそれらに対する優先権を主張する国際出願であり、それらの開示は、参照によりその全体が本明細書に組み込まれる。
【背景技術】
【0003】
背景
開示された実施形態は、一般に、マルチチャネルデータソースのための非プライオリティアービトレーションを有するイベントドリブン読み出しシステムに関する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
概要
開示された実施形態は、複数のチャネルの非プライオリティアクセスアービトレーションを含むイベントドリブン読み出しマネジメントシステムに関する。システムは、アービトレーションツリー回路、応答回路、インチャネルロジック回路、および出力周辺回路を含む。アービトレーションツリー回路は、複数のチャネルのうちの少なくとも1つによって提供される読み出しアクセスリクエストに基づいて、複数のチャネルのうちのいずれに、複数のチャネルによって共有される共通の信号伝達リソースへのアクセスを許可するかを決定する。アービトレーションツリー回路は、決定からの複数の読み出しアクセスリクエストの同時発生を排除し、アービトレーションツリー回路によって共通の信号伝達リソースへアクセスが許可されるまで、読み出しアクセスリクエストはアービトレーションツリー回路に記憶される。アービトレーションツリー回路は、クロック信号の単一のエッジに応答して前の読み出しトランザクションを終了しかつ後続の読み出しトランザクションを開始する。応答回路は、アービトレーションツリー回路に動作可能に接続されており、クロック信号の状態はアクノリッジトークンを表す。アクノリッジトークンは、アービトレーションツリー回路に提供され、アービトレーションツリー回路は、共通の信号伝達リソースへのアクセスを許可するためにアクノリッジトークンを使用する。インチャネルロジック回路は、アービトレーションツリー回路に動作可能に結合されており、読み出しアクセスリクエストを生成し、アクノリッジトークンを受け取る。インチャネルロジック回路は、アクノリッジトークンを受け取ることに応答して、前の読み出しトランザクションを終了し、後続の読み出しトランザクションを開始する。出力周辺回路は、複数のチャネルから受け取られた情報を共通の信号伝達リソースにおける出力フォーマットに変換する。
【0005】
共通の信号伝達リソースは、アナログ信号伝達ラインおよびデジタル信号伝達ラインのうちの少なくとも一方を含んでよく、読み出しアクセスリクエストは、イベントに応答して生成されてよく、イベントは、伝達可能なデータを生成するために複数のチャネルのうちの少なくとも1つのアクティブ化を含んでよい。読み出しトランザクションは、複数の読み出しフェーズを含んでよく、複数の読み出しフェーズのうちの少なくとも1つは、複数のチャネルのうちの1つから共通の信号伝達リソースへの情報の少なくとも一部の伝達を生じてよい。クロック信号に関連したデューティサイクルは、共通の信号伝達リソースに関連してセトリングタイムを最大化するように選択可能であってよく、決定は、読み出しトランザクションに関連した複数の読み出しフェーズのいずれが、アービトレーションツリー回路に記憶された読み出しアクセスリクエスト、受け取られた読み出しアクセスリクエスト、およびアービトレーションツリー回路に関する複数のチャネルの相対位置のうちの少なくとも1つから独立して、複数のチャネルに割り当てられるかを決定することを含んでよい。クロック信号に関連したエッジの量は、読み出しトランザクションに関連した読み出しフェーズの量と等しくてよく、アービトレーションツリー回路は、複数のチャネルと非同期で動作してよい。アービトレーションツリー回路は、出力周辺回路と同期して動作してよく、インチャネルロジック回路と同期して動作してよく、インチャネルロジック回路は、アクノリッジトークンの持続時間が、読み出しアクセスリクエストに関連したアクセプタンスタイムウィンドウを規定するように、アクノリッジトークンを使用して読み出しアクセスリクエストを生成する際に非同期で動作してよい。
【0006】
アクノリッジトークン信号のデューティサイクルは、最小読み出しフェーズ時間を延長させるように選択可能であってよい。複数のチャネルは、同時にリクエストするチャネルに関連した送信順序が、同時にリクエストするチャネルに関連したアービトレーションツリー位置から独立しているように、共通の信号伝達リソースへ情報を提供してよい。アービトレーションセルが、読み出しリクエストの間のみならず、読み出しリクエストとアクノリッジラインの状態との間においてもアービトレーションを実行している場合、アービトレーションツリーの各々のステージにおける読み出しリクエスト出力は、アービトレーションツリーにおいてより下のステージからのリクエスト信号の論理和、または単一のアービトレーションセルのリクエストまたは内部信号の間のアービトレーションからの結果信号の論理和を表していてよい。したがって、読み出しが終了したときに依然としてアクティブな読み出しアクセスリクエストが存在するとしても、アクノリッジトークンはブロックされることを防止される。
【0007】
開示された実施形態はさらに、イベントドリブン読み出しマネジメントシステムを使用する複数のチャネルの非プライオリティアービトレーションの方法に関する。方法は、アービトレーションツリー回路を使用して、複数のチャネルのうちのいずれに、複数のチャネルによって共有される共通の信号伝達リソースへのアクセスを許可するかを決定するステップを含み、決定は、複数のチャネルのうちの少なくとも1つによって提供される読み出しアクセスリクエストに基づき、方法は、アービトレーションツリー回路を使用して、決定から複数の読み出しアクセスリクエストの同時発生を排除するステップを含み、方法は、アービトレーションツリー回路によって共通の信号伝達リソースへのアクセスが許可されるまで、アービトレーションツリー回路において読み出しアクセスリクエストを記憶するステップを含み、方法は、アービトレーションツリー回路を使用して、クロック信号の単一のエッジに応答して前の読み出しトランザクションを終了させかつ後続の読み出しトランザクションを開始するステップを含み、方法は、アービトレーションツリー回路へアクノリッジトークンを提供するステップを含み、アービトレーションツリー回路は、共通の信号伝達リソースへのアクセスを許可するためにアクノリッジトークンを使用し、クロック信号の状態は、アクノリッジトークンを表し、方法は、インチャネルロジック回路を使用して、読み出しアクセスリクエストを生成しかつアクノリッジトークンを受信するステップを含み、インチャネルロジック回路は、アービトレーションツリー回路に動作可能に結合されており、方法は、インチャネルロジック回路を使用して、アクノリッジトークンを受信することに応答して前の読み出しトランザクションを終了させかつ後続の読み出しトランザクションを開始するステップを含み、方法は、出力ペリフェリー回路を使用して、複数のチャネルから受信された情報を共通の信号伝達リソースにおける出力フォーマットに変換するステップを含む。
【0008】
開示された実施形態は、さらに、処理装置によって実行されたときに動作を実行する命令を含むコンピュータ可読媒体であって、動作は、アービトレーションツリー回路を使用して、複数のチャネルのうちのいずれに、複数のチャネルによって共有される共通の信号伝達リソースへのアクセスを許可するかを決定するステップを含み、決定は、複数のチャネルのうちの少なくとも1つによって提供される読み出しアクセスリクエストに基づき、動作は、アービトレーションツリー回路を使用して、決定から複数の読み出しアクセスリクエストの同時発生を排除するステップを含み、動作は、アービトレーションツリー回路によって共通の信号伝達リソースへのアクセスが許可されるまで、アービトレーションツリー回路において読み出しアクセスリクエストを記憶するステップを含み、動作は、アービトレーションツリー回路を使用して、クロック信号の単一のエッジに応答して前の読み出しトランザクションを終了させかつ後続の読み出しトランザクションを開始するステップを含み、動作は、アービトレーションツリー回路へアクノリッジトークンを提供するステップを含み、アービトレーションツリー回路は、共通の信号伝達リソースへのアクセスを許可するためにアクノリッジトークンを使用し、クロック信号の状態は、アクノリッジトークンを表し、動作は、インチャネルロジック回路を使用して、読み出しアクセスリクエストを生成しかつアクノリッジトークンを受信するステップを含み、インチャネルロジック回路は、アービトレーションツリー回路に動作可能に結合されており、動作は、インチャネルロジック回路を使用して、アクノリッジトークンを受信することに応答して前の読み出しトランザクションを終了させかつ後続の読み出しトランザクションを開始するステップを含み、動作は、出力ペリフェリー回路を使用して、複数のチャネルから受信された情報を共通の信号伝達リソースにおける出力フォーマットに変換するステップを含む、コンピュータ可読媒体に関する。
【課題を解決するための手段】
【0009】
その他の実施形態は、添付の図面に関連して検討される以下の詳細な説明から明らかになるであろう。しかしながら、図面は、実施形態のうちのいずれかの制限の定義としてではなく、例示としてのみ設計されていることを理解されたい。
【0010】
以下の図面は、制限なく、例としてのみ提供されており、同じ参照番号(使用されている場合)は、複数の図面を通じて、対応する要素を示している。
【図面の簡単な説明】
【0011】
【
図1】共通の出力帯域幅は、同時チャネルサブミッションの間、チャネルの合計帯域幅よりも著しく小さい、非同期で読出しをリクエストするデータの複数のソースを有する読み出しリソースマネジメントシステムを示す図である。
【
図2A】データ-プッシュアーキテクチャのブロック図である。
【
図2B】二次元データ-プッシュアーキテクチャのブロック図である。
【
図3】トークンリングアーキテクチャのブロック図である。
【
図4A】アドレス-エンコーダおよびリセット-デコーダアーキテクチャを有する読み出しシステムのブロック図である。
【
図4B】アドレス-エンコーダおよびリセット-デコーダアーキテクチャおよび追加的なデータバスを有する読み出しシステムのブロック図である。
【
図5】アドレスイベント表現アーキテクチャに基づく通信を示すブロック図である。
【
図6】読み出しマネジメントシステムの実施形態のブロック図である。
【
図7】非同期読み出しリクエスタの第1の実施形態のブロック図である。
【
図8】読み出しリクエスタの第2の実施形態の概略図である。
【
図9A】異なるロジック状態を有する読み出しリクエスタの第3の実施形態の概略図である。
【
図9B】チャネル読み出しフェーズのアクティビティを示す追加的な信号を有する読み出しリクエスタの第3の実施形態の概略図である。
【
図10A】読み出しリクエスタの第4の実施形態の概略図である。
【
図10B】読み出しリクエスタの第5の実施形態の概略図である。
【
図11】読み出しリクエスタ波形を示すタイミング図である。
【
図12】同期読み出しリクエスタの実施形態のブロック図である。
【
図13】
図12に示された同期読み出しリクエスタの実施形態の概略図である。
【
図14A】アービトレーションセルの実施形態のブロック図である。
【
図14B】本明細書では「アービトレーションセルタイプ0」と呼ばれる、タイプ0の
図14Aに示されたアービトレーションセルの実施形態のブロック図である。
【
図14C】本明細書において「アービトレーションセルタイプI」と呼ばれるアービトレーションセルの実施形態のブロック図である。
【
図14D】本明細書において「アービトレーションセルタイプII」と呼ばれるアービトレーションセルの実施形態のブロック図である。
【
図14E】本明細書において「アービトレーションセルタイプIII」と呼ばれるアービトレーションセルの実施形態のブロック図である。
【
図15】アドレスエンコーダの実施形態のブロック図である。
【
図16A】アービトレーションセルのタイプおよびアドレスエンコーダの包含に依存するアービトレーションセルを表すシンボルを示す図である。
【
図16B】アービトレーションセルのタイプおよびアドレスエンコーダの包含に依存するアービトレーションセルを表すシンボルを示す図である。
【
図16C】アービトレーションセルのタイプおよびアドレスエンコーダの包含に依存するアービトレーションセルを表すシンボルを示す図である。
【
図16D】アービトレーションセルのタイプおよびアドレスエンコーダの包含に依存するアービトレーションセルを表すシンボルを示す図である。
【
図17A】PタイプステージおよびNタイプステージアービトレーションセルの交互の構成のブロック図である。
【
図17B】PタイプステージおよびNタイプステージアービトレーションセルの交互の構成のブロック図である。
【
図18】アドレスエンコーダを有するアービトレーションツリーの実施形態のブロック図である。
【
図19B】アービタタイプIの実施形態を示す図である。
【
図19C】アービタタイプIIの実施形態を示す図である。
【
図19D】ブロッケージを受け得るアービタタイプIIIの実施形態を示す図である。
【
図19E】ブロッケージに対して免疫があるアービタタイプIIIの実施形態を示す図である。
【
図20A】NANDゲートおよびその真理値表を有するSRラッチを示す図である。
【
図20B】NANDゲートおよびその真理値表を有するSRラッチを示す図である。
【
図21A】NORゲートおよび真理値表を有するSRラッチを示す図である。
【
図21B】NORゲートおよび真理値表を有するSRラッチを示す図である。
【
図22A】インバータおよびバッファを使用して実行される準安定フィルタを示す図である。
【
図22B】インバータおよびバッファを使用して実行される準安定フィルタを示す図である。
【
図22C】インバータおよびバッファを使用して実行される準安定フィルタを示す図である。
【
図22D】インバータおよびバッファを使用して実行される準安定フィルタを示す図である。
【
図23A】複数の入力NORおよびNANDゲートを使用して実行される準安定フィルタを示す図である。
【
図23B】複数の入力NORおよびNANDゲートを使用して実行される準安定フィルタを示す図である。
【
図23C】ヒステリシスを有するインバータを使用して実行される準安定フィルタを示す図である。
【
図23D】ヒステリシスを有するインバータを使用して実行される準安定フィルタを示す図である。
【
図23E】フィードバックを有するインバータを使用して実行される準安定フィルタを示す図である。
【
図23F】フィードバックを有するインバータを使用して実行される準安定フィルタを示す図である。
【
図24A】整流子および真理値表の実施形態を示す図である。
【
図24B】整流子および真理値表の実施形態を示す図である。
【
図24C】整流子および真理値表の実施形態を示す図である。
【
図24D】整流子および真理値表の実施形態を示す図である。
【
図24E】整流子および真理値表の実施形態を示す図である。
【
図24F】整流子および真理値表の実施形態を示す図である。
【
図25A】トライステートバッファを使用して実行されるアドレスエンコーダの実施形態を示す図である。
【
図25B】トライステートバッファを使用して実行されるアドレスエンコーダの実施形態を示す図である。
【
図26A】トライステートインバータを使用して実行されるアドレスエンコーダの実施形態を示す図である。
【
図26B】トライステートインバータを使用して実行されるアドレスエンコーダの実施形態を示す図である。
【
図27】出力リクエスト状態に基づくアクノリッジの非同期生成を有する応答回路の実施形態を示す図である。
【
図29】出力ペリフェリーの実施形態を示す図である。
【
図30】シリアライザの第1の実施形態を示す図である。
【
図31】
図30に示されたシリアライザの第1の実施形態の動作を示す波形のタイミング図である。
【
図32】プルアップ/プルダウンネットワークがデータ信号において使用されず、セトリングタイムが最大化されている、シリアライザの第2の実施形態を示す図である。
【
図33】
図32に示されたシリアライザの第2の実施形態の動作を示す波形のタイミング図である。
【
図34】グループ化されたチャネルおよび空間的に分散させられたアービトレーションツリーを含む実施形態を示す図である。
【
図35】独立したデータバスおよびアービトレーションツリーを含むグループ化されたチャネルを含む実施形態を示す図である。
【
図36】データバス上の追加的なバッファリングステージを含む実施形態を示す図である。
【
図37】本明細書に開示された1つまたは複数の実施形態による方法を実行するコンピューティングシステムの形式の例示的なマシンの少なくとも一部のブロック図である。
【発明を実施するための形態】
【0012】
図面における要素は、簡略さおよび明瞭さのために示されていることを理解されたい。商業的に実行可能な実施形態において有用または必要である一般的であるが十分に理解されている要素は、示された実施形態をより妨げられることなく見やすくするために示されていない。
【0013】
詳細な説明
データを収集または送信するデータ読み出しおよびコンピュータネットワークシステムは、リンクに関連した利用可能な帯域幅の最適な利用を図る。データ送信の1つのカテゴリは、データストリーミングレートを保証するように永久的に構成されたリンクを含み、これは、データが伝達されていないときでもリンクを確保することの代償として、レイテンシおよびデータ損失の実質的な減少につながる。別のカテゴリは、データのソースからの送信リクエストを受信すると構成されるリンクを含みまたはデータのソースは、チャネル占有率をプローブし、かつ別の同時発生するソースによってリンクが使用されていないことを確認した後、リンクの帯域幅を占めるかどうかを決定する。後者は、有限チャネル伝播速度によるデータリンクに関連したアイドル状態の誤検出のリスクがある。これは、2つ以上の離れたソースが、チャネルが空であることを検出した後に送信を開始するときに生じる場合がある。しかしながら、他のチャネルからの送信は、ビジー状態のこれらの離れたソースによる検出を許容するために、依然として、離れたソースに達しない場合がある。送信されたデータを損失することなくこのような状況に対処するために、IEEE 802.3に従って10BASE5および10BASE2イーサネット(登録商標)規格において使用されているもののような、衝突検出機構がネットワークシステムに組み込まれている。スイッチまたはデータ集線装置への送信のリクエストを送信しかつアクセスアクノリッジメントを受信するようにソースに命令することによって送信媒体アクセスの問題を解決することは、ハンドシェイキングプロトコルを利用する。このようなプロトコルの実行は、レイテンシを生じ、したがって、読み出しシステムにおける非効率を生じる。データのソースへのプライベートリンクを設定することまたはハンドシェイキングプロトコルを確立することは、コストが高く、しばしば、帯域幅の最適ではない割り当て、追加的なハードウェアおよび増大したレイテンシを必要とする。
【0014】
空間的に分散されたソースから効率的にデータをどのように収集するかを解決することは、インフィールド展開されたセンサに関連した分散型グリッド、ネットワーク上のコンピュータ、内容参照可能メモリにおけるセル、ニューロモルフィックチップにおけるチャネル、または一次(線)または二次(ピクセル化された)放射検出器における要素に関するかどうかにかかわらず同様の困難を生じる。これらの設備または機器は、一般的に、データの2つ以上のソースによって同時にデータを報告するという共通の特徴を共有しており、これは、受信機に関連したクロッキングに関して非同期であると見なされる場合がある。データ集中を使用してデータのソースを同期化することは、共通のタイムベースを分配することによって可能であるが、この目標を達成することは、より大きなコストがかかる。クロック信号を分配するための追加的なリンクは、より大きな電力損失を生じる。特に、連続するデータ送信イベント間にアイドル時間が存在するため、疎データがどのように送信されるかにかかわらず、クロックは広く分配される。
【0015】
図1に示されているように、複数のソースまたはチャネル11から生じる疎データを収集するための効率的な読み出しシステム10が開示されており、チャネル11は非同期で動作する。各々のチャネル11は、同時に送信するチャネル11の順序がそれらの地理的位置とは独立しているように、中央データ取得システム13にデータを最適に提供する。プロトコルおよびハードウェアアーキテクチャは、特定用途向け集積回路(ASIC)のために展開されており、ASICは、例えば、一次元または二次元マルチチャネル放射センサを読み出すために使用され、これらのセンサは、例えば、マイクロストリップまたはピクセル化された放射センサを使用して実行されている。
【0016】
読み出しシステム10は、トークンパッシングスキームに代わるスキームを提供するが、読み出しチャネルの決定性順序、およびトークンパッシング経路の始点または終点におけるチャネルの位置に応じてこれらのチャネルにアクセスする際の多様な遅延など、そのスキームの欠点を示さない。読み出しシステム10は、衝突が生じないこと、およびデータを送信するためにタイムスロットの割り当てに不足しているチャネルがないことを保証する。すなわち、読み出しリソースへのアクセスがチャネルのうちの1つまたは複数に不当にまたは絶え間なく拒否されるという状況は存在しない。この読み出しシステム10の特性は、データリンクの共通の出力帯域幅12が、同時に送信するとき、全てのチャネル11の合計データ帯域幅よりも著しく小さいということである。
【0017】
一般的に、読み出しリソースマネジメントアーキテクチャは、以下のカテゴリに分類される。
【0018】
(1)データ-プッシュアーキテクチャ(DPA)は、外部トリガを受信することなくチャネルからの有効なデータの読み出しサイクルを開始するデータドリブンアーキテクチャである。DPAは、特に、
図2Aに示されているものなどの単純なマルチチャネル用途に見られることができる。DPAは、非同期データを受信し、到着時間を記録し、共通のバスにおいてデータを順序付ける。これらの動作は以下のように行われる:粒子の堆積などのイベントの後、イベントが起こったチャネルに対応するヒットラインに、高ロジック状態が設定される。次いで、この情報は、記憶のためにバッファ19へ送信される。バッファ19は、チャネルリセット(crst)信号を生成し、この信号は、チャネル内のアナログ回路をリセットし、これにより、アナログ回路は、新たなイベントを検出するための準備状態になる。バッファ19からの情報は、システムクロックによってFIFO20にストローブされ、後続の動作は、その後、線28によって表されているように同期的であるのに対し、非同期データ線は、線30によって表されている。イベントのタイムスタンプとして解釈されるカウンタ18の値は、自己のFIFO21内へ同時にストローブされる。FIFO20,21は、データを損失する可能性を減じながら、チャネルが前のイベントを処理しているためにチャネルが新たなイベントを検出しないむだ時間を減じる。FIFO21からの最も古い情報は、レジスタ23に提供される。このデータは、現在の処理されたイベントと呼ばれ、これらのイベントが同じタイムスタンプで起こる場合、複数のイベントに関する情報を含むことができる。複数のイベントを取り扱うために、プライオリティエンコーダ、デコーダ、およびレジスタ23におけるシングルビットリセットファンクションが使用される。これらのファンクションのうちの第1のものは、ロジックベクタにおいてアクティブビットを見つけ、アクティブビットをレジスタ23に記憶し、最も有意なアクティブビットのポジションをバイナリ値に変換する。次いで、この値は、追加的なレジスタ(図示せず)にラッチされる。そのレジスタから、値は、バスコントロール27によって、タイムスタンプと共に、出力ペリフェリー25へ送信される。そこから、値は、外部システムへ送信される。レジスタ23からの出力もone hotコードにデコードされ、このone hotコードは、1つのポジションにおけるアクティブビットを有するバイナリベクタである。アドレスのこのような表現は、次のヒットアドレスをエンコードおよび送信することができるようにレジスタ23におけるビットをクリアするために使用される。もはやアクティブビットが存在しないならば、後続のデータがFIFO21から取得される。システムクロック17との同期化は、バッファレジスタ19またはFIFO20,21内で行われる。DPAは、準安定状態を生じる可能性があり、その結果、システムクロック17のエッジの近くで変化するチャネルからの非同期データによる無効なロジックレベルを生じる。これは、無効なタイムスタンプ割り当ておよび/またはデータ損失を生じる可能性がある。
図2Bは、読み出し制御および行ロジックブロック31へデータを提供する二次元入力アレイを有するDPAの実行を示す。DPAの実用的な利点は、チャネルへのクロックの持続的な分配を必要としないことである。しかしながら、DPAは、以下の欠点を有する場合がある:
(a)バッファ、FIFOおよびレジスタなどのパイプラインステージが、データを出力する際に遅延を生じる;
(b)非同期ヒット信号を使用して同期読み出しをトリガしかつ同期データ(例えば、タイムスタンプ)をラッチすることによって生じる準安定状態;
(c)有効なヒット信号を有するチャネルが、列が選択された後に見つけられるので、読み出しは、二次元アレイのために完全にデータドリブンではない;
(d)複数のイベントが生じると、イベントは、他のセルよりも幾つかのセルを優先する固定されたプライオリティを使用して処理される。
【0019】
(2)
図3に示されているように、トークンリングアーキテクチャ(TRA)37は、読み出しポーリングアーキテクチャである。トークンは、チャネルのチェーン内へ噴射され、有効なデータを含むセルに達するまで1つのセルから別のセルへ移動させられる。有効なデータを有するセルは、データを出力するための十分な量の時間にわたってトークンを保持する。このセルの読み出しが完了した後、セルは、
図3に示されているように、さらに伝播するためにトークンを解放する。信号36は、トークンが、有効なデータ38を有するセルを見つけるまでのトークンの経路を示す。次いで、読み出しが開始され、有効なデータ41を有する別のセルは、次のサイクルを待つ。トークンが、トークンロジック39において始まるならば、トークンのソースから離れて位置するチャネルは、高イベント強度の時間の間、トークンの不足を生じる場合がある。代替的に、トークンが、そのチャネルの読み出し後にチャネルから移動させられると、追加的なストロービングが、リングにおける全てのチャネルへ伝達される。したがって、チェーンの長さが重要である。なぜならば、この長さは、トークンがその送信先に達するために時間を必要とするため、どれだけ多くの合計読み出し時間スロットがデータセトリングのために利用可能であるかを決定するからである。この移動時間は、短いまたは長い可能性がある。チェーンが長すぎる場合、タイミング誤りのリスクが存在する。連続するセルへのトークンの前進をストローブする追加的なクロックは、チャネル全体に分配されることができる。しかしながら、追加的なクロックの存在は、電力消費を増大する。加えて、チェーンにおける最も遠いセルへのトークンの移動時間をカバーするための時間の割り当ておよびデータのためのセトリング時間は、このトークンパッシング読み出しアーキテクチャにおけるリンク帯域幅の準最適使用を生じる。
【0020】
(3)アドレス-エンコーダおよびリセット-デコーダ(AERD)42は、
図4Aに示されているデータドリブン読み出しアーキテクチャの一形式である。読み出されるデータをどのチャネルが含んでいるかをレポートし、レポートするための次のチャネルへ切り替えることは、アービトレーションツリー44を使用して達成される。アービトレーションツリー44は、実質的に同一のファンクションを有するブロックのカスケードを使用して実行される。カスケード化は、アービトレートされるチャネルの量を拡張するために使用される。アービトレーションツリー44への2つのタイプの入力が存在する。第1のタイプの入力は、チャネルまたは空きチャネルに存在するデータを示すチャネルSTATE信号48を含む。第2のタイプの入力は、送信先チャネルに達したときにRESET50信号としてデコードされるデータ取得サイドにおけるSELECT信号56を含む。アービトレーションツリー44は、VALID出力信号46が取得されるまでSTATE信号48の伝播中にレポートすることが許容されたチャネルのアドレスをエンコードする。アービトレーションツリー44は、反対方向において、すなわち、取得サイドからチャネルサイドへ、SELECT信号56の伝播中にRESET50信号を受信するチャネルもデコードする。SELECT信号56は、VALID信号46がアクティブであるならば、クロック信号を使用して同期的に生成される。アービトレーションツリー44の各々のブロックにおけるプライオリティエンコーダおよびリセットデコーダは、エンコードされたアドレスを有するチャネルを選択し、複数のチャネル占有の同時通知およびそれらのレポート準備の場合にリセット信号がどのチャネルへ送信されるかを選択するために使用される。SELECT信号56がチャネルに達し、RESET50信号がその状態を変化させるとき、読み出しが開始される。RESET50信号がその初期状態に戻った後、チャネルとの通信は終了される。次いで、STATEフラグはクリアされ、アドレスは、アドレスバス54においてもはや利用可能ではない。このダブルエッジスキームにより、次のチャネルへの切り替え前のむだ時間が可能であり、これは、バスを駆動するための利用可能時間を減じる。AERDセルにおけるタイミングは、SELECT信号の同じエッジにおける2つ以上のRESET入力における望ましくないグリッチ、ひいてはデータ損失を生じる場合がある。
【0021】
標準的なデータドリブンAERD実施形態において、より低いプライオリティのチャネルが読み出しを実行している間により高いプライオリティのチャネルが読み出しをリクエストすると、データの破損が生じる場合がある。この場合、チャネルを横断して分配される追加的なストローブ信号が、読み出しが開始する前に全てのチャネルにおいて状態をラッチするために使用される。しかしながら、この特徴を実行する際、アーキテクチャは、イベントドリブンではなく同期的になる。
【0022】
AERDシステムに余分なインチャネルロジック45を追加することは、
図4Bに示されているようにチャネルから追加的なデータを読み出す能力を提供する。このロジック45は、RESET信号における変化に応答してデータバスを駆動する。RESET信号が初期状態に戻った後、チャネルにおけるバッファが無効化される。実際には、データバスにおけるデータは、アドレスバスにおけるアドレスと同時に利用可能である。
【0023】
(4)アドレスイベント表現(AER)60は、
図5に示されている非同期アービトレーションツリー60に基づくデータドリブンアーキテクチャである。このアーキテクチャは、主に、データリンクにおいて出現するそのアドレスとして表現されるセルアクティビティに集中する。チャネル内の各々のイベントは、リクエストを生成する。このリクエストに応答して、アクノリッジが生成され、リクエストするセルのアドレスが送信される。AERの顕著な特徴のうちの1つは、チャネルまたはそのアドレスからのデータの出力を有効化するアクノリッジが、リクエストに基づいて自動的に生成されるということである。通信をリクエストするチャネルの数にかかわらず、リンクにおける衝突を回避するために任意の与えられた時間においてこれらのチャネルのうちの1つのみがアクティブである。外部システムとの通信は、クロックによって同期化されておらず、ハンドシェイキングインターフェースを必要とする。これらの特徴は、AERを特定用途のみに適したものにし、よりユニバーサルな取得システムの使用を制限する。
【0024】
本明細書に開示された読み出しシステムの実施形態は、一次元構造、二次元構造および/または任意の他の形式で配置されることができる複数のデータソースからのデータの効率的な送信のために適応されている。これらの実施形態は、ストリップおよびピクセル放射検出器の統合された読み出しに、ならびにニューロモルフィックまたはその他のイベントドリブン処理回路を構築するために有利である改良および特徴を有している。これらの実施形態は、さらに、アクティブなチャネルアドレスにとどまらず追加的なデータを送信し、共通のデータバスへアクセスするチャネルの衝突を防止する信頼できる機構を提供することを可能にする。同期データ取得システムへのインターフェースも提供される。読み出しシステム70の実施形態のブロック図が、
図6に示されている。読み出しシステム70は、チャネル内に異なるユニットを有する様々な用途において使用することができる。これらの機能的ユニットへのユニバーサルインターフェースは、入力データの異なるソースおよびタイプに適応するために提供されている。ユニバーサルインターフェースは、以下の信号を含む。
【0025】
(1)ain72は、チャネルのアナログユニットからの処理の結果を含む、インチャネルロジック76への1つまたは複数の接続の形式のアナログ入力を表す。
【0026】
(2)din74は、チャネルのデジタルユニットからの処理の結果を含む、信号入力を有するインチャネルロジック76への1つまたは複数の接続の形式のデジタルデータ入力を表す。
【0027】
(3)cfg78は、インチャネルロジック76の動作モードを指定する1つまたは複数の接続の形式の構成入力を表す。
【0028】
(4)rdy80は、準備フラグであり、準備フラグは、チャネルユニットがデータの処理を終了した後に設定され、その後、読み出しリクエストがチャネルから送信される。
【0029】
クロック(clk)82の外部ソースは、取得システムまたはオンチップクロックリソースから始まっている。出力信号は、デジタル(dout)84およびアナログ(aout)100を含む。
【0030】
読み出しシステム70の機能的ブロックは、以下を含む。
(1)インチャネル読み出しロジック76は、全てのチャネルに存在する。インチャネルロジック76の主要な機能は、チャネルからのデータが読み出しを要求するとき(例えば、インチャネル処理の後にデータが準備されているとき)信号を送るリクエストを発出することである。読み出しは、読み出しチャネルのアドレス識別子、信号の到着時間、信号の振幅、および/または任意の他の処理結果など、チャネルによって生成される任意のタイプの個々のもしくは組み合わされたアナログまたはデジタル情報を含むことができる。読み出しをリクエストすることは、req信号86をアクティブ化することによって達成される。読み出しリクエストが発せられた後、インチャネルロジック76は、アクノリッジトークンを待ち、その到着は、データバス88の使用が許可されたことを示す。アクノリッジトークンは、ackライン90における変化としてインチャネルロジック76によって検出可能である。
【0031】
(2)アービトレーションツリー92は、どのチャネルにアクノリッジトークンが方向付けられるかを決定する。インチャネルロジック76へのインターフェースは、ツリーの底部に配置されている。ツリーの上部において、全てのチャネルリクエストの論理和であるrqo信号が利用可能である。アクノリッジ入力ackiも、ツリーの上部に配置されている。アービトレーションツリー92の決定は、新たな読み出しリクエストおよびこれらのリクエストが既に到着した順序に関する記憶された情報に基づいてなされる。システム内のチャネルの量およびそれらのグループ化に応じて、アービトレーションツリー92は、複数のステージを含んでよく、各々のステージは、複数の2入力(読み出しリクエストのための)アービトレーションセルから構成されていてよい。各々のアービトレーションセルは、その入力およびリクエストの起源に関する情報をモニタする。後続のリクエストは、前のリクエストが取り下げられるまで待機する。
【0032】
(3)応答回路94は、acki信号を生成し、読み出しをリクエストするチャネルへの分配のためにこれらのアクノリッジをアービトレーションツリー92に供給する。主題のアーキテクチャにおいて、アクノリッジは、ラインにおけるロジック状態が、リセット後の状態であるデフォルト状態からアクティブ状態へ変化することを示す。デフォルト状態は、入力クロックclkのデューティサイクルに依存する固定されたライフタイムを有するトークンとして考慮することができる。チャネルにトークンが配信されると、アクションがトリガされる。しかしながら、トークンマネジメントは、トークンリングアーキテクチャにおけるものとは異なる。TRAにおいて、トークンは、第1のリクエストチャネルを見つけるというタスクを有するチャネルチェーン内へ注入される。しかしながら、主題のアーキテクチャにおいて、チャネルへのパスがアービトレーションツリー92によって設定されるまで、トークンは、アービトレーションツリー92の上部において待機する。次いで、トークンは、選択されたチャネルへ分配されるか、またはそのライフタイムの間にパスが利用可能でないならば、トークンは失効する。
【0033】
(4)出力ペリフェリー96は、データバスおよびアドレスバスからの入力データを、外部取得システムと通信するためのチップインターフェースおよび制御ブロックによって使用される適切な出力フォーマットに変換する同期ブロックである。フィーマットは、ビットの連続的な流れを含むことができる。データおよびアドレスバスは、別々であることができるまたは1つのバスとして構成することができ、この1つのバスにデータおよび/またはアドレスを多重化することができる。
【0034】
(5)データバス88は、プルアップ-プルダウンネットワークを使用して、デフォルトでアイドル状態において駆動されるチャネルのデジタルライン全体で共有される。これらのラインは、チャネルから出力ペリフェリー96へのデータ送信のために使用される。選択されたチャネルからの読み出しが始まった後、チャネル内のトライステートバッファは、プルアップ/プルダウンネットワークによって設定されたデータバスアイドル状態をトライステートバッファからのデータでオーバーライドする。
【0035】
(6)アナログバス100は、チャネルライン全体で共有されている。アナログバス100は、チャネルからアナログ処理ブロック(図示せず)へのアナログ値送信のために使用される。
【0036】
(7)アドレスバス98は、アービトレーションツリー92内のトライステートバッファを使用してチャネルデジタルライン全体で共有されており、アービトレーションツリー92において、確立されたアクノリッジパスを有するチャネルのアドレスが生成される。代替的に、現在の読み出しチャネルのアドレスが形成され、読み出しのために選択されたチャネルから直接にデータバスにおいて送信される。アドレスバスが選択的であることに留意されたい。
【0037】
(8)プルダウン/プルアップネットワーク102は、読み出しの間にデータバスを駆動するトライステートバッファのうちいずれも、例えば、読み出しリクエストがいずれのチャネルによっても発せられていないことによりアクティブでないとき、またはリクエストするチャネルがアクノリッジトークンを待機しているとき、データバス88においてデフォルト値を設定するために使用される。ネットワーク102は、バスラインとパワーラインのうちの1つとの間に接続されたデジタルバッファまたはレジスタを使用して実行されている。いずれの場合においても、チャネル内に配置されたバッファは、ネットワーク102によって設定された論理状態をオーバーライドするように設計されている。このロジック状態をオーバーライドするために、より大きな駆動強度を有するバッファが使用される。
【0038】
読み出しシステム70は、以下のスキームに従って動作する。
(1)チャネルは、独立して動作し、概して、同期化されない。チャネルのうちのいずれかが、共有されたリソースの使用を要求すると、当該チャネルは、その準備信号をアクティブ化する。インチャネルロジック内の読み出しリクエストフラグは、その結果、アクティブ化される。この動作は、完全に非同期であることができ、これは、読み出しリクエストフラグが、クロックにかかわらず任意の瞬間にアクティブに設定されることができることを意味する。
【0039】
(2)リクエストは、アービトレーションツリー92内の複数のステージを通って、rqo出力110までアービトレーションツリー92を伝播させられる。このプロセスの間、アクノリッジ信号を方向付けるためのパスは、各々のアービトレーションセル内のロジックによって確立される。2つの読み出しリクエストが同じアービトレーションセルに到達すると、アクノリッジ信号のためのパスは、読み出しリクエストのうちの1つのみのために確立され、この決定は、読み出しリクエスト到着の順序に基づく。このアクションは、アービトレーションプロセスと呼ばれ、アービトレーションセルにおける「Seitzアービタ」と呼ばれるセルを含むロジックブロックによって実行される。実質的に同時の読み出しリクエスト信号の結果、この順序を決定することが困難であるならば、アービトレーション決定は、無期限に遅延する可能性がある。アービトレーションが完了した後、読み出しリクエストは、次のステージへ伝播される。
【0040】
(3)アービトレーションプロセスにおいて生じたリクエスト104のソースに関する情報は、アービトレーションツリー92から得られ、使用されているならば、アドレスバス98において読み出すために利用可能である。アドレスバスを有さない変形例において、アドレスは、チャネル内で生成され、データバスにおいて移動させられてよい。
【0041】
(4)その間、アービトレーションプロセスから独立して機能する応答回路は、クロック信号clk82に基づいてアクノリッジトークンを生成する。トークンは、アービトレーションツリー92のアクノリッジ入力において同期的に利用可能であり、固定された持続時間を有する。トークン間の時間は、データバスを駆動しかつデータを出力ペリフェリー96へ送信するためのチャネルにおけるバッファのための最小保証時間を表す。
【0042】
(5)読み出しリクエストがアービトレーションツリー92の上部に到達するや否や、アクノリッジパスは完了し、トークンは、利用可能であるならば、リクエスタへ再び分配される。トークンが利用可能でないならば、アービトレーションツリー92は、新たなトークンの生成を待つ。
【0043】
(6)トークンが再びセルに到達したとき、読み出しプロセスが開始する。全てのトークンは、アービトレーションツリー92の上部において同じ初期持続時間を有するが、チャネルからの単一の読み出しの持続時間は変化することができる。これは、トークンがどのように生成されるか、およびバスへのアクセスを終了する1つのチャネルから、バスへのアクセスを取得する別のチャネルへトークンがどのように移動させられるかによって生じる。この時間は、実際のトークンが生成される前にトークンのためのパスが既に確立されているときに最大化され、読み出しリクエストが遅れて来るときに最小化される。後者の場合、アービトレーションツリー92を通る読み出しリクエストの伝播およびアクノリッジパスの設定は、基本的に、関連するトークンの期限切れと競合する。しかしながら、セル読み出しロジックは、アクノリッジラインにおける論理レベルよりもイベント(例えば、トークンの到着)に対して敏感であり、したがって、トークンの持続時間を変化させることは問題ではない。
【0044】
(7)インチャネルロジック76は、1つの読み出しリクエストに応答して少なくとも1つの読み出しサイクルを取り扱うように構成されていてよい。このプロセスは、全体の読み出しを連続する読み出しフェーズに分割するので、「読み出しフェーズ」と呼ばれる。各々の読み出しフェーズにおいて、異なるデータをデータバスにおいて駆動することができる。これにより、バスの幅が減じられるまたはバスを再構成してチャネルからの異なるデータセットを読み出すことができる。後者は、構成(cfg)ビットを使用して選択された様々な構成によって達成される。構成は、動作中に動的に選択可能である。
【0045】
(8)インチャネルロジック76内の読み出し信号(rdo)は、どの読み出しフェーズがアクティブであるかを区別するために使用される単一ビットまたはマルチビットロジックベクタであってよい。one-hotエンコーディングがこの目的のために使用され、これは、一度にrdoロジックベクタの1ビットのみがアクティブであることを意味する。リクエストが発出された後、第1のトークンの到着時にrdoの第1のビットが設定される。次いで、このビットは、トライステートバッファのバンクおよび/または送信ゲートバンクを有効化するために使用される。ゲートのバンクを使用する代わりに、前にアクティブ化されたゲートへ送信されるデータ間で選択するために、マルチプレクサを追加することができる。データの次のセットは、次のrdoビットセットと共に送信される。このように、各々の読み出しフェーズの間、異なるデータをチャネルから送信することができる。
【0046】
(9)この時間の間、読み出しリクエストは保持されるので、最後の読み出しフェーズが終了するまで、チャネルへのアクノリッジパスは切り離されない。その結果、各々の新たに生成されたトークンは、即座にさらに同じチャネルへ共有される。各々のトークンが到着した後、新たな読み出しフェーズが開始される。最後のフェーズが処理された後、後続のトークンは、インチャネルロジックのためのリセット手順を開始し、リクエストフラグはクリアされる。このプロセスは、アクノリッジのためのパスを切断する。
【0047】
(10)他のチャネルからの保留中のリクエストが存在する場合、全ての必要なアービトレーションが実行されるや否や新たなパスが確立される。チャネルのインチャネルロジック76をリセットするために前に使用されたトークンは、当該トークンが依然として有効であるならば、再利用され、新たなチャネルへ送信されることができる。この特徴は、異なるチャネルからの読み出しの間の浪費時間を有利に防止する。
【0048】
(11)プルアップ/プルダウントランジスタネットワーク102は、チャネルのいずれにおいてもアクティブな読み出しが存在しないとき、選択されたデフォルト値へデータバス88および/またはアドレスバス98を駆動するために使用される。このデフォルトデータパターンを選択するための好ましい技術は、いかなる可能な実際のデータとも異なるデフォルトパターンを形成することである。加えて、デフォルトパターンは、データがさらにシリアルに、DCバランシングエンコーディングなしで送信される場合には、直流(DC)バランスを既に提供している必要がある。
【0049】
(12)データバス88またはアドレスバス98におけるデータのソースにかかわらず、データは、クロック信号clk82によって出力ペリフェリー96内にラッチされる。データのラッチングは、データ取得システムと読み出しを同期化させる。データは、各々の新たなトークンの生成前にまたはデータが安定している限りラッチされ、これにより、各々のトークンのためのラッチされたデータの新たなセットを生じる。データは、シリアルに送信することができる。シリアライゼーションクロックは、シリアライゼーションクロックを適切に分割することによって読み出しトークンを生成するために使用される。
【0050】
(13)分割比は、一回でデータバス88およびアドレスバス98上の出力ペリフェリー96において取得されるビットの量数およびシリアライゼーション速度に一致するための出力シリアルリンクの量から導き出される。
【0051】
(14)アナログ値は、チャネルによって提供されるならば、アナログ出力ペリフェリー(例えば、アナログ-デジタル変換のための)においてさらなる処理のためにサンプリングされるまたはラッチされたデジタルデータと並列の外部処理システムへ送信されるための準備としてバッファされる。
【0052】
上記の記載に基づいて、開示されたシステムの特徴は、以下を含む。
(1)DPAと比較して、データを破壊する可能性がある準安定状態発生のリスクが全くまたは実質的に存在しない。DPAにおいて行われるようにシステムクロックを使用して非同期データをラッチするのではなく、アービトレーションツリー92の形式でクロックグレーティング構造が有効に存在する。これは、実行されているアクションの順序によりデータが既に安定している場合にラッチングが実行されることを保証する。
【0053】
(2)パイプラインステージによって生じる遅延は全くまたは実質的に存在しない。チャネルに記憶されたデータは、共有されたデータバスの使用が許可された後、出力ペリフェリーへの直接パスを有する。アービトレーションプロセスは完全に非同期でもあり、これにより、ステージからステージへ流れる信号は、追加のバッファリングを必要とせず、アービトレーションツリー92の構築は、ツリー92の上部から各々のチャネルへの、ゲートの量としてカウントされる距離が同じであることを保証する。
【0054】
(3)チャネルにおける分配されたクロックを使用して直接的な同期化は実行されず、これは、スペースおよび電力を節約する。同期化は、データのための時間窓を生じるために同期して生成される、固定されたトークン持続時間に基づく。前のトークンの失効と後続のトークンの生成との間の時間は、チャネルからのデータをフェッチするための十分な持続時間を保証するために使用される。この時間の間、データセトリング時間が保証され、データは、次のトークンが生成されようとするときに安全にラッチされる。
【0055】
(4)ポーリングは存在せず、読み出しリクエストは、チャネルにおけるイベントのレジストレーションによってトリガされ、これにより、システムをイベントドリブンにしている。
【0056】
(5)チャネルによってアクノリッジトークンを受信する遅延時間における変化は、アービトレーションツリー92のバイナリツリートポロジーにより最小化される。
【0057】
(6)少なくとも1つのチャネルが読み出しをリクエストしているがデフォルトデータが送信されるときの、タイムスロットを逃すリスクは排除される。なぜならば、トークンは、ツリー92の上部において、伝播されるリクエストを待つことができるからである。リクエストの送信がアクティブトークンに対して遅すぎるので、セルによって見られるアクノリッジトークンが短すぎて読み出しをトリガすることができないという稀な状況が存在する。しかしながら、このような状況はシステムの動作を妨害しない。チャネルは、次の利用可能なトークンを待ち、デフォルトデータを取得システムに送信することによって同期化は維持される。
【0058】
(7)到来する新たな読み出しリクエストとアクティブチャネル読み出しとの間の競合は、どちらのリクエストが最初であったかを決定しかつこの情報を記憶するアービトレーションツリー92により排除される。これは、アービトレーションのためにメモリブロックが割り当てられないAERDアーキテクチャと比較して、実質的により有利である。
【0059】
(8)リクエストは各々のアービトレーションツリー92までの到着時間によって順序付けられるため優先順位付けは存在せず、リクエストが満たされたときにだけ、次のリクエストがアクノリッジパスを再ルーティングする。
【0060】
(9)確立されると、対応するリクエストがクリアされるまでアクノリッジパスは持続する。この特徴は、新たなトークンの持続的な生成に関連して、読み出しフェージング回路を容易にする。なぜならば、1つだけのリクエストに応答して複数のトークンをチャネルへ供給することができるからである。
【0061】
(10)トークンの生成は取得クロックと厳密に接続されているので、追加的な同期化の必要性は存在せず、したがって、システムは、例えば外部システムによって提供される単一のクロック信号に基づいて動作することができる。このクロックの全ての期間は、送信のために使用される。
【0062】
読み出しサイクルは、実行されている動作に続いて、準備信号80が設定されるセルにおいて開始する。準備信号80は、アクティブ化され、結果として生じるデータ(デジタル74および/またはアナログ72)と一緒にインチャネルロジック76へ供給される。チャネルからのデータが出力ペリフェリーにおいてラッチされると、読み出しサイクルは完了する。インチャネルロジック76における主要なブロックは、
図7により詳細に示されている読み出しリクエスタ112である。
【0063】
準備(rdy)信号は制御装置をトリガし、次いで、制御装置は読み出しリクエスト86を発出する。このリクエストは、完了(dne)122信号がもはやアクティブでなくなるまで保持される。この特徴は、複数のアクノリッジトークンが1つずつ読み出しリクエスタへ分配されることを可能にする。同時に、アクティブ(act)116フラグが設定され、その結果、読み出しフェーザ118は初期状態からアーム状態へ移行する。この新たな状態において、読み出しフェーザ118は、ackライン90における変化に感応する。制御装置は、構成(cfg)ビットのうちの1つを使用することによって無効化することもできる。この場合、リクエストは発出されず、これは、チャネルからの読み出しを有効にブロックする。トークンがチャネルに到着すると、読み出しフェーザ118によってビットのうちの1つを読み出し(rdo)ベクタ108において設定することによって、第1の読み出しフェーズが開始される。読み出しリクエスタ112に到着する各々の新たなトークンは、構成によって設定されている位置に達するまでrdoロジックベクタ108のアクティブビットの位置を1つだけシフトさせることができる。次いで、終了フラグ120が設定され、完了インジケータブロックがアームされる。読み出しリクエスタ112は、完了(done)信号122をトリガするためにもう1つのトークンを待ち、この信号は、次いで、制御装置114へフィードバックされ、req信号86およびact信号116が非アクティブ化される。リセットがクリアされた後、チャネルへのアクノリッジパスが切断される。読み出しフェーザ118は、リセットされるアクト信号116に応答して初期状態に入り、この状態において、読み出しベクタ108におけるアクティブビットは存在しない。
【0064】
一般的に、トークンの受信からアクノリッジパスの切断までのプロセスは、トークン持続時間よりも大幅に短く、したがって、プロセスが終了したとき、トークンは依然としてアクティブであり、別のセルへ再分配されることができる。これにより、トークンの存続時間に2つの動作を行うことができ、そのうちいずれも、同時動作によって悪影響を受けない。
【0065】
したがって、読み出しリクエスタ112へのアクティブなトークンの分配に続く読み出しリクエスタ112によって実行される2つの機能は、以下を含む。
【0066】
(1)読み出しフェーズ開始において、到着するトークンは、新たなトークンが出現するまで持続する新たな読み出しフェーズを開始する。
【0067】
(2)リセット開始において、新たな読み出しは開始されない。リセット動作は、依然として有効なトークンを、存在するならば別の要求するチャネルへ再分配するために可能な限り多くの時間を許容するように即座に実行される。
【0068】
読み出しリクエスタ124の実施形態が
図8に示されており、この場合、追加のrst信号91がグローバルリセット信号として使用される。アクティブリクエストは、req信号86における高ロジック状態によって示されている。トークンは、ack90のロジック状態が低いときにアクティブであり、rdo信号108のビットは、そのビットが低いときにアクティブである。幾つかの用途は、異なるアクティブロジック状態を使用するので、読み出しリクエスタの代替的な実施形態126は、
図9に示されているように実行される。この場合、rqo、ackおよびrdo信号のためのアクティブロジック状態は、それぞれ低い、高い、高いである。
【0069】
読み出しフェーズの最大量は、読み出しフェーザ118内のチェーンにおけるフリップフロップの量を増減させることによって調整される。したがって、
図9Aに示されたフリップフロップ130およびゲート132の量は、
図10Aおよび
図10Bに示されているように増減させることができる。動作のモードは、以下の仮定に基づいて
図11に示されている例示的な波形を使用して示されている:
(1)acki、ack、reqおよびrdoは、それらのロジックレベルが高いときにアクティブである。
【0070】
(2)dneは、そのロジックレベルが低いときにアクティブである。
(3)最大で2つの読み出しフェーズが存在し、構成ビットcgflは、2つのフェーズのうちの1つを選択するために使用される。
【0071】
(4)2つのチャネルが観察される。
図11に示された波形に基づいて、以下の特徴が示される:
(1)チャネルロジックにおけるアクションは、アクティブトークンがチャネルに到達したときにトリガされる。アービトレーションツリーの上部におけるアクティブトークンは、ackiラインにおけるロジック状態のうちの1つによって表されている。示された例において、アクティブトークンは、高い状態である。チャネルにおけるトークンの到着は、チャネルのack入力における状態変化によって表されており、このイベントは、矢印131によって
図11に示された一連の矢印1-1A-1B、2-2A-2B、3-3A-3B、3-3D-3E、4-4A-4Bによって示されたインチャネルロジックにおけるアクションをトリガする。
【0072】
(2)ackiデューティサイクル、フリップフロップ遅延およびアービトレーションツリー伝播時間に基づいて、最小読み出しフェーズ時間が決定される。
【0073】
(3)リセット状態の後、アクティブトークンは、矢印131によって
図11に示された一連の矢印3-3A-3B-3C-3D-3Eによって示されているように別のチャネルへ再分配される。
【0074】
開示された実施形態のうちの1つまたは複数において、acki信号のデューティサイクルは、読み出しフェーズ時間を最大限に延長させるように選択可能である。その結果、すぐ上の特徴(3)に基づく再分配は、データバスにおける衝突のリスクなしに生じる。従来のアーキテクチャは、アクノリッジ信号の2つのエッジがアービトレーションツリーへ提供されることを要求する。例えば、チャネルは、アクノリッジ信号の立ち下がりエッジにおいて選択され、立ち上がりエッジにおいて無効化される。読み出しシステムのこのような挙動は、前もって、アクノリッジ信号の高い状態の持続時間によってデータバスにおけるデータのセトリング時間を制限する場合がある。これらの実行は、アクノリッジ信号の最小デューティサイクル、ひいては高いロジック状態と低いロジック状態との比にさらなる制限も課す。なぜならば、高い状態の持続時間は、追加の機能を実行するために十分に長いことが要求されるからである。
【0075】
読み出しリクエスタブロックから、追加のrda(いずれかの読み出し)信号は、
図9Bに示されているように、読み出しフェーザにおける第1のフリップフロップからの出力として導出される。rda信号135,133は、どの読み出しフェーズが現在アクティブであるかにかかわらずチャネルからの読み出しが生じていることのインジケータとして使用される。rda信号は、追加のロジック構造を追加する必要なしに、実質的に全ての読み出し信号の論理和である。
【0076】
開示された実施形態の利点は、さらに、clk信号132が追加されている
図12および
図13に示された分配されたクロック130を有する同期的読み出しリクエスタによって示されている。clk信号132は、アービトレーションツリーの上部からのacki信号と同じソースを有するが、これらの実施形態において、チャネルへ直接に分配され、これにより、アービトレーションツリーを省略している。この実施形態130において、アクノリッジ信号は、2つの機能を有さず、これは、リセットが、トークンによって開始されるのではなく、むしろclk信号132はリセットフェーズを開始するために使用されることを意味する。加えて、リクエスト信号134は、clk信号132のエッジに設定される。これらの修正は、アービトレーションツリーの上部におけるrdo信号136をacki信号に関して同期させる。したがって、空データと有効データとの区別は、プルアップ/プルダウンネットワークを使用することによってではなく、rdo信号136に基づいて行うことができる。しかしながら、クロック分配は実行される必要があり、これは、ルーティングプロセスに複雑さを追加し、より大きな電力消費を生じる。既定のタイミング関係を有する信号ではなく、clk信号132をトリガとして使用することも、準安定性を生じる可能性がある。この実施形態130は、同期化がインチャネルロジックレベルにおいて行われるため、イベントドリブンパラダイムからの逸脱を表すが、上述の非同期読み出しリクエスタの場合には当てはまらない。
【0077】
読み出しリクエスタに加え、インチャネルロジックは、マルチプレクサに関連して使用される送信ゲートおよび/またはトライステートバッファを含む。その結果、データバスを駆動するためにデータを選択するための2つの技術は、以下のとおりである:
(1)トライステートバッファ/送信ゲートの複数のバンクを使用し、その各々のバンクは、データおよび/またはアナログバスに接続されており、与えられた時点においてバンクのうち1つのみがアクティブであるかまたはいずれのバンクもアクティブではなく、アクティブ化は、rdo136ベクタビットを使用して実行される。
【0078】
(2)トライステートバッファ/送信ゲートの1つのバンクおよびマルチプレクサを使用し、マルチプレクサは、セルからの入力データと、与えられた時点に送信されるデータを選択するバッファとの間のrdoベクタ136によって制御される。
【0079】
リクエスト信号134がアクティブ化された後、関連するリクエストがアービトレーションツリーに提供され、それに続いて、アービトレーションプロセスが生じる。これにより、トークンがチャネルへ分配される。アービトレーションツリーは、
図14Aに示されているように、アービトレーションセルと呼ばれるブロックを使用して実行される。具体的には、本明細書では
図14Bにおいて「アービトレーションセルタイプ0」と呼ばれる単純なアービトレーションセルは、(読み出し)リクエスト信号152を受信すると、リクエスト信号のうちの1つを選択し、受け入れられたリクエストが来た方向においてアービトレーションツリーのさらに下流である、アービトレーションツリーにおける上のセルからこのセルに到達するアクノリッジ信号160をルート付けする。ルーティングは、アクノリッジ信号を基本的にゲーティングすること(すなわち、アクノリッジゲーティング)によって実行される。これは、ツリーの上部から、リクエストするチャネルが配置されているツリーの底部へのアクノリッジトークンのための連続的なパスを生じる。アクノリッジゲーティングは、本明細書では整流子158と呼ばれるロジックブロックにおいて実行され、アービトレーションセル150内で生成される許可信号154(例えば、gnt0、gnt1)を使用して実行される。これらの許可信号は、アービタ156によって生成される。
【0080】
アービトレーションセル150は、以下のように2つのブロックを含む。
(1)Seitzアービタ156は、req(リクエスト)信号152のいずれが最初に到着したかを決定し、相互に排他的である対応するgnt(許可)信号154をアクティブ化する。すなわち、gnt(許可)信号154のうちの1つのみが、どの時点でもアクティブである。
【0081】
(2)整流子158は、アクティブgnt信号154に対応する出力ack(アクノリッジ)信号162にacki(アクノリッジ)信号160を方向付けることによってアクノリッジトークンのためのパスを確立する。整流子158は、また、gnt信号154のいずれかがアクティブであるかどうかを示し、そうであるならば、rqo(リクエスト出力)信号162をアクティブ化することによって次のアービトレーションステージへリクエストを送信する。各々のアービトレーションセル150に対して、アクノリッジパスが確立されたセルのアドレスを取得するために、
図15に示されているようなアドレスエンコーダ170を加えることができる。
【0082】
複数のアービトレーションセルを含む複数のステージに分割されたアービトレーションツリーの構造により、各々のステージは、アドレスの1ビットを提供することができ、このビットは、ステージにおけるセルのうちの1つによって提供される。この要求を満たすために、adr信号171は、トライステートバッファを使用してアドレスバスの1つのラインを駆動する。gnt信号のうちのいずれかがアクティブであるとき、adr出力は有効化され、駆動される値は、どのgnt信号がアクティブであるかに依存する。gnt信号のいずれもアクティブでないとき、adr出力は、高インピーダンス状態にある。
【0083】
アクティブまたは非アクティブであると考えられるロジック状態は、物理的実行に依存する。実行中に使用されるトランジスタの量を最小限にするために、
図16A~
図16Dに示されているように、ロジック極性が異なる2つのタイプのブロック、P-タイプ180、182およびN-タイプ184、186が使用される。ブロック182、186は、アドレスエンコーダを含み、ブロック180、184は、アドレスエンコーダを含まない。任意のポートにおける〇印は、対応する信号が、そのロジック状態が低いときにアクティブであると考えられることを示している。
【0084】
アービトレーションツリーは、M=[log
2N]ステージを含む構造として構成されており、ここで、Nは、読み出されるセルの量を表す。各々のステージは、n(m)=n(m+1)×2アービトレーションセルを含み、m∈[1,MM]およびn(m)=1である。トランジスタの量は、
図17Aおよび
図17Bに示されているようにアービトレーションセルの交互のタイプを使用するステージを構成することによって最小限にされる。セルタイプに基づき、2つのタイプのステージ、P-タイプ200、206およびN-タイプ202、204が使用される。ステージ200、202、204、206の間の接続も、
図17Aおよび
図17Bに示されている。交互のステージタイプを使用する1つの利点は、ステージ間に追加のロジックが必要とされないことである。さらに、いずれのステージタイプが最初に使用されるかは問題ではなく、ステージタイプの選択は、システムにおける他の信号のロジック状態に基づいて行うことができる。アドレスエンコーダが使用される場合、アービトレーションツリー210は、
図18に示されているように構成される。
【0085】
アービトレーションセルは、2つの(読み出し)リクエスト信号のうちのどちらが選択されることになるかを決定するアービタを含む。アービタは、出力へルーティングするために2つの(読み出し)リクエスト信号のいずれが選択されるかの優先度を有さないが、2つの読み出しリクエスト信号のうちの1つのみが選択される。この選択は、到着時間の関数であり、すなわち、受信される最初のリクエスト信号が優位にあり、したがって、選択される。選択されたリクエスト信号から別のリクエスト信号への切り替えは、その間は選択されたリクエスト信号がアクティブである時間の長さ全体にわたって許可されない。2つのリクエスト信号が同時に到着したとき、リクエスト信号のうちの1つが選択される。この選択は、ランダムであり、アービタの出力においてあいまいな中間ステップを生じない。1つのリクエスト信号の選択からの移行は、両信号が選択される場合、または選択されるリクエスト信号間の往復切り替えが排除される場合のいかなる時間も含まない。
【0086】
選択されたリクエスト信号は、対応する許可信号154を生成し、許可信号154は、次いで、アクノリッジ信号のルーティングをゲートする。アクノリッジパスをブロックすると、読み出しリクエスト信号を発出するチャネルへアクティビティは送信されない。反対に、このパスのブロックを解除すると、アクノリッジパスに沿ってアクノリッジトークンを送信し、共通のデータバスにおけるチャネルによるデータの送信を開始および停止するためにチャネルをアクティブ化または非アクティブ化することが可能になる。トークンは、割り当てられた満了時間と共にアクノリッジパスにおいてアクティブ状態である。この満了時間の後、アクノリッジ信号は、その状態を再び非アクティブに変化させる。この機能は、アクノリッジ信号を生成するためにデジタルクロックを使用することによって達成される。このクロックは、与えられた周波数で反復する、交替するロジック状態、つまり高および低を含む。高および低状態の持続時間の比は、デューティサイクルと呼ばれる。デジタルクロックのロジック状態は、トークンの活動に関連していることができ、この関連は、アービトレーションツリーを構築するために使用されるブロックおよびそれらの極性に依存する。デューティサイクルおよびこのデジタルクロック信号の周波数は、広い範囲または許容範囲にわたって選択可能またはプログラム可能である。
【0087】
図14Bに示された単純なアービトレーションセル150は、アクノリッジ信号の現在のレベルにかかわらず、任意の時点でリクエスト信号を受け入れることができる単一のSeitzアービタ156を利用する。読み出しに切り替えると、現在の読み出しの後すぐに新たなチャネルが生じる。例えば、2つのリクエスト信号が同時にアクティブ化される場合に、Seitzアービタ156は、第1のリクエスト信号が非アクティブ化された後、第1のチャネルの読み出しの完了に対応して、第2のチャネルへ切り替わる。このような状況において、Seitzアービタ156の1つの出力のアクティブ状態は非アクティブ化され、第2の出力はアクティブ化される。しかしながら、記載されたプロセス全体の間、アービトレーションセルからのリクエスト出力がアクティブに維持される場合にのみ、このような滑らかな移行が可能である。そうでない場合には、アービトレーションツリーにおいてより高いところに位置するセルが、リクエスト出力ラインにおける変化、短い変化でさえも識別し、この変化をアクティブリクエストではないと解釈するという望ましくない状況が生じ得る。その結果、アクノリッジメントパスが切断される。これらの状況下で、アクノリッジラインにおける短い現象が生じる場合があり、この現象は、第2のチャネルに到達し、アクノリッジラインが再び非アクティブ状態へ変化するとしても読み出しをトリガする。したがって、
図14Bに示されたアービトレーションセルは、幾つかの用途には適していない。
【0088】
アービトレーションセルから出たリクエスト信号は、到来するリクエスト信号の論理和として整流子158ロジックブロックにおいて生成される(すなわち、入力リクエスト信号のうちの少なくとも1つがアクティブであるときにアクティブ化される)。この和に対する入力は、
図14Cに示されているようなアービタの許可出力から、
図14Dに示されているようなアービトレーションセルへの入力から直接に取得されることができるか、または
図14Eに示されているようにアービタ内の追加的なロジックによって生成されることができる。
図14Cおよび
図14Eに示されているアポストロフィ文字は、異なる整流子およびアービタ実施形態を混合することがアービトレーションセルの機能を変化させる場合があることを示している。したがって、整流子およびアービタの両方は、一般的に、マッチしたペアとして構成されている。
【0089】
アービトレーションセルのコアは、Seitzアービタ220を含み、その実施形態は
図19Aに示されている。Seitzアービタ220は、SRラッチ222および準安定性フィルタ224を含む。SRラッチ222は、状態情報を記憶する双安定マルチバイブレータである。SRラッチ222は、2つの入力(SおよびR)ならびに2つの出力(Qおよび~Q)を含む。動作モードは、以下のとおりである。
【0090】
(1)アイドル状態において、入力SおよびRは非アクティブであり、その結果、両出力Qおよび~Qも非アクティブである。幾つかの研究はこの状態を禁じられた状態であると呼ぶが、これは、~QがQの打ち消されたバージョンである標準ロジック回路に当てはまる。しかしながら、これは、主題のアービタには当てはまらない。
【0091】
(2)アイドル状態の間に、Sがアクティブになると、セット動作が生じ、これは、アクティブ状態へのQ出力の移行を生じる。
【0092】
(3)アイドル状態の間に、Rがアクティブになると、リセット動作が生じ、これは、アクティブ状態への~Q出力の移行を生じる。
【0093】
(4)ホールド状態において、両入力はアクティブであるが、一方の出力のみがアクティブである。アクティブ出力は、直近のセット/リセット動作に関連する。
【0094】
異なるタイプのSRラッチ222は、アイドル状態における入力および出力のロジック状態に応じて実行されてよい。これらのタイプの2つは、入力への相互接続された出力を有する2つのゲートを使用して実行することができる。例えば、
図20Aおよび
図20Bは、NANDゲートを使用するSRラッチの実施形態230およびその対応する真理値表を示しており、この場合、アイドル状態の間、入力は低く、出力は高い。
図21Aおよび
図21Bは、NORゲートを使用するSRラッチの実施形態240およびその対応する真理値表を示しており、この場合、アイドル状態の間、入力は高く、出力は低い。
【0095】
アービタにおけるSRラッチの入力信号は非同期であるので、両入力が同時にまたはほとんど同時にアクティブ状態に移行するという状況が生じる可能性がある。この状況は、競合条件を生じ、SRラッチは、この条件を解消しなければならず、このアービトレーションプロセスの結果を表すアクティブ出力を有するホールド状態に切り替わらなければならない。SRラッチの開示されている実施形態はこのプロセスを実行するが、不定の量の時間を費やす可能性があり、その間に、両出力は、高ロジック状態でも低ロジック状態でもない準安定状態にある。物理的に、このプロセスは、ロジック供給電圧とグランドとの間の電圧レベルとして明らかにされる。回路における準安定性は、動作におけるエラーにつながる可能性がある。準安定性は、また、他のロジックブロックへ伝播するかまたは誤って有効ロジック状態に変換される可能性がある。アービトレーションツリーにおいて、後者の可能性は、両出力がアクティブ状態にある場合に相互の排他性要求を破り、データバスにおける衝突を生じ得るため、望ましくない。この理由から、SRラッチ222の後の準安定性フィルタが実行される。この準安定性フィルタ224は、準安定性を他のブロックへ伝播させず、アービトレーションプロセスが終了するまでSeitzアービタ220の出力を非アクティブ状態にとどまらせる。
【0096】
準安定フィルタ224の実行は、NANDおよびNOR SRラッチ構成では異なるが、両構成は、同じ量のトランジスタを使用することができる。準安定フィルタの対の実施形態は、以下のとおりである。
【0097】
(1)標準的なフィルタ250、252、254、256の実施形態は、
図22A~
図22Eにおけるゲートおよびトランジスタレベルに示されており、2つの相互接続された(入力と電力ラインのうちの1つとの間で)インバータおよび出力におけるバッファを使用して実行されている。アイドル状態の間、両出力は、相互接続の存在にかかわらず、非アクティブ状態に対応する電力ラインに自由に接続されている。入力のうちの1つが変化すると(SRラッチ出力が、準安定フィルタのための入力である)、第2の入力が、アクティブ状態のための供給電圧として使用される。両入力が変化すると、最大出力電圧は、準安定電圧よりも高くなることはできず、駆動トランジスタを完全に開放させることができない準安定電圧レベルを有する別の入力によって減衰させられる。その結果、両フィルタ出力電圧レベルは、最大準安定電圧よりも低く、これらのレベルは、入力が準安定状態から2つの最終的な反対の状態へ移行するまで、連続するバッファによって非アクティブとして持続的に取り扱われる。
【0098】
(2)
図23Aおよび
図23Bに示されたフィルタ260、262の実施形態は、全ての入力が互いに接続されているときに、移行しきい値が供給ラインのうちの1つの値に向かってシフトさせられるインバータとして有効に見なされることができるマルチ入力NOR/NANDを使用して実行される標準ロジックセルに基づく。シフトは、出力において異なる状態のためのゲートを実行するトランジスタの駆動強度の違いによって生じる。すぐ上に記載された標準フィルタとは対照的に、減衰要素は存在せず、相互排除の確実性は、最大準安定電圧レベルが、スキューインバータのトグルレベルよりも低くとどまることをチェックすることによって得られる。この実施形態の利点は、配置およびルートツールを有する標準セルライブラリを使用して自動的に実行できるということである。
【0099】
(3)
図23Cおよび
図23Dに示されたフィルタの実施形態は、移行特性においてヒステリシスを有するインバータに基づく。これらの実施形態は、インバータの移行しきい値をシフトさせることを含むマルチ入力ゲートに基づくものと同様の作動原理に従う。しかしながら、トランジスタ駆動強度において動作するのではなく、これらの実施形態は、出力から入力へのポジティブなフィードバックを取り入れ、したがって、公称移行よりも高い追加の電圧が、出力にその状態を変化させるために使用される必要がある。SRラッチ出力において非アクティブからアクティブ状態へ移行するときにのみ準安定状態のリスクが存在するので、フィードバックを両方向へ切り替える必要はない。この第2のフィードバックは、ヒステリシスループをより広くし、望ましくない。なぜならば、これは、入力における変動の結果として両フィルタ出力がアクティブ状態になる可能性を高めるからである。その結果、一方向でのみアクティブフィードバックを有する
図23Eおよび
図23Fに示された実施形態を使用することができる。
【0100】
上記に記載されたフィルタは、反転機能を含むので、出力アクティブ状態は反転される。異なるタイプのアービトレーションセルにおけるアービトレーションセルロジック極性に基づいて、Pタイプ準安定性フィルタを有するNAND SRラッチは、アービトレーションセルタイプP250、252、260を実行するために使用され、Nタイプ準安定性フィルタ254、256、262を有するNOR SRラッチは、アービトレーションセルタイプNを実行するために使用される。
【0101】
整流子は、アービトレーションセルを実行するために使用される次のブロックである。整流子の機能は、Seitzアービタ出力におけるアクティビティに関する情報を1つの信号に統合し、この信号は、信号の論理和を生成することに等しく、次いで、次のアービトレーションステージへ提供される。Seitzアービタからの信号に基づいて、整流子は、acki信号のためのロジックパスも生成する。このパスが生成された後、整流子入力に基づくacki信号の状態は、アクティブアービタ出力に対応するack出力のうちの1つへ伝達される。両アービタ出力が非アクティブであるならば、acki信号の状態は伝達されない。対応する真理値表を有する整流子270、280の2つの相補的な実施形態が、
図24A~
図24Dに示されている。これらの実施形態は、同じ量のトランジスタを使用し、それぞれアービトレーションセルタイプPおよびNにおいて使用される。両gnt信号が同時にアクティブであるべきではないので、対応する真理値表における状態272、282は、出現すべきではない禁じられた状態である。
【0102】
図14Cに示されたアービトレーションセルタイプIにおいて、論理和は、アービタセルが2つの入力間の選択をトグルするときおよびアクノリッジが1つのセル出力から別のセル出力へリレーされるべきであると予想されるときに生じる短時間の現象に対して敏感ではない。このリレーは、その間に1つの状態から別の状態へ移行しながらSeitzアービタの両出力がアクティブではない短い瞬間の結果、正しく生じない場合がある。これは、アービトレーションセルタイプ0のために説明した問題である。
【0103】
したがって、Seitzアービタセルの入力から得られた論理和への入力は、この短時間現象を有するべきではない。アクノリッジ信号のゲーティング(すなわち、アクノリッジゲーティング)およびリクエスト信号の論理和は、アービトレーションツリーの与えられたレベルにおけるアービトレーションセルにおける信号の所望のアクティブロジック極性に応じて、NANDおよび/またはNORゲートを含むロジック回路を使用して実行されてよい。アクティブロジック極性は、信号のデジタル値に対応する電圧レベルを決定し、異なる信号に異なることができる。ロジック極性は、論理設計を単純化するために、アービトレーションツリーの1つのステージからアービトレーションツリーの別のステージへトグルされることができるか、または論理設計を維持することができ、これは、より多くのロジックゲートを必要とする場合がある。
【0104】
Seitzアービタおよび整流子の2つの実施形態は、PタイプおよびNタイプを含む。これらの実施形態は、概して、信号の正および負の両方のアクティブ極性と共に最適に働くように実行される。理解および表示を容易にするために、本明細書に開示されている実施形態は、これらの特徴の極性に関して指定されていない、アービタ、Seitzアービタ、整流子、アービトレーションセル、ORブロック、および/またはANDブロックという用語を使用する。しかしながら、Pタイプおよび/またはNタイプとしてのこれらの特徴の実際の実行は、ド・モルガンの法則を考慮して本明細書に記載されているように当業者によって理解されるであろう。
【0105】
アービトレーションセルタイプ0は、アービトレーションツリーに沿って送信されるアクノリッジ信号がアクティブである時間の間に新たな読み出しリクエスト信号が到着しない読み出しシステムにおいて使用することができる。この条件が満たされない場合、アービトレーションセルにおいて1つのSeitzアービタを使用することは、正確なアービトレーションのために不十分である。アクティブなアクノリッジトークンは、アービトレーションツリーに沿って伝播し、この伝播ルートにおける全てのアービトレーションセルを通ってゲートされ、データの出力をリクエストしたチャネルに到達し、リクエストするチャネルからのデータ通信の開始または停止のいずれかを生じさせるトークンであると定義される。アクノリッジトークンのゲーティングが生じるたびに、アービトレーションツリーにおけるアービトレーションセル、ひいてはルートの最後におけるチャネルは、移行またはエッジに遭遇する。移行は、基本的に、データ出力の開始、1つの読み出しフェーズから別の読み出しフェーズへの移動、データ出力の終了など、データ送信に関するチャネルにおけるアクションを生じさせる。
【0106】
アクノリッジ信号の非アクティブ状態の間に全ての読み出しリクエスト信号が到着するまたは蓄積されることを保証することが可能であるならば、読み出しシステムは、アービトレーションツリーの全てのレベルにおける読み出しマネジメントのためにアービトレーションセルタイプ0を使用することができる。しかしながら、この条件を保証することができない場合、単純なアービトレーションセルタイプ0は、アービトレーションツリーの上部レベルにおいて使用することができる。なぜならば、アービトレーションセルタイプ0は、その出力リクエストをさらに伝播するのではなく、アービトレーションツリーの上部レベルよりも下に位置付けられたアービトレーションセルは、異ならなければならないからである。これらのより低いレベルのアービトレーションセルは、2つのリクエスト信号のうちのいずれをサービスすることができるかを決定すべきのみならず、このアービトレーションにおけるアクノリッジ信号のアクティブレベルの間に到着する新たな読み出しリクエスト信号も含むべきである。後者の目標は、読み出しリクエスト信号とアクノリッジ信号との間のアービトレーティングの必要性を生じる。これは、いかなるシステムクロックもチャネルへ分配することなく動作させられるアービトレーションを有する読み出し制御システムの一般的概念につながる。チャネルは、読み出しリクエストを非同期に送信してよく、起こりうる衝突はすべて、いつ読み出しリクエストが送信されたかにかかわらずアービトレーションツリーレベルにおいて解決される。
【0107】
さらに、好ましい実施形態において、利用され得るより完全なアービトレーションのための2つのオプションが存在する。第1のオプションは、
図19Bに示されたアービタタイプIおよび
図24Eに示された整流子タイプ0を使用し、これは、アービタタイプIと互換性のある整流子タイプ0の論理的に均等な実施形態である。一緒に、これらの機能は、アービトレーションセルタイプIを形成する。アービタタイプIはまず、結果を内部で維持する2つのリクエスト信号の間でアービトレートし、勝るリクエスト信号は、アクノリッジ信号でアービトレートされる。
【0108】
第2のオプションは、
図19Cに示されたアービタタイプIIを有するアービトレーションセルタイプIIとして、または
図19Dおよび
図19Eに示されたアービタタイプIIIを有するアービトレーションセルタイプIIIとして実行される。両タイプは、
図24に示された同じ整流子タイプIIを利用し、これは、アービタタイプIIIと互換性のある整流子タイプIIの論理的に均等な実施形態である。これらのアービタ、すなわち、タイプIIおよびIIIは、アービタタイプIに対して動作を反転させ、これにより、まずアクノリッジ信号との各々の個々のリクエスト信号のアービトレーションを実現し、続いて、これらの2つのアービトレーションの結果をアービトレートし、その結果、アービトレーションツリーに沿ったアクノリッジ信号のさらなる妨げられない伝播を可能にするゲーティング信号を生じる。両ソリューションは、同じ量の電子部品を使用し、またはバッファを追加し、むだ時間なしに、蓄積された読み出しリクエスト信号のイベントにおける読み出しを効果的に可能にする。バッファは、追加の容量負荷をハンドルするためにまたは所望のアクティブ論理レベルを提供するために追加されてよいが、バッファは、一般的に、選択的な要素であると考えられてよく、タイミングエンクロージャを使用したデジタル実行の標準的な手順において追加されてよい。
【0109】
アービトレーションセルタイプIIは、チャネル間でアービトレートする際のエラーにつながる可能性があるいかなる問題も生じない。しかしながら、アービトレーションセルタイプIIは、読み出しの間にむだ時間を生じる場合があり、これは、スキップされたアクノリッジ時間スロットとして測定することができる。この状況は、アービトレーションセルのうちの1つ、結果的にはアービトレーションツリー全体が、伝達される新たなデータを受け入れることができるのではなく、現在のトークンが満了するまでブロックされるときに生じる可能性がある。この状況は、また、同じセルに送信されたより早いリクエストにより受信されたセルに存在するアクノリッジトークンが存在する間に同時に送信された第2のリクエストが存在するときに生じる。このようなブロッケージは、リクエスト出力がアクノリッジ入力によってなんらゲートされていないために生じ、したがって、アクノリッジ入力は、アービトレーションプロセス全体がアービタ内で行われることができない場合でさえもアクティブ化されることができる。すなわち、トークンは、ツリーの先行するステージからのリクエストが依然として存在することを次のステージが通知されるので、アービトレーションセルにとどまるが、そのトークンは、使用されるまたは1つのアクノリッジ出力から第2のアクノリッジ出力へ再方向付けされることができない。なぜならば、第2のアクノリッジ出力へのパスを確立することができず、その結果、アクティブ許可信号が存在しないからである。同じブロッキング現象は、
図19Dに示されたアービタタイプIIIの実施形態に基づくアービトレーションセルタイプIIIにおいて観察される。
【0110】
アービトレーションセルタイプIIIにおけるアービトレーションツリーブロッケージの問題は、アービトレーションの第1のプロセスの後に信号の論理和としてリクエスト出力を生成し、これにより、いわゆる「フェリードリクエスト」(freq0,freq1)を使用することによって解決され、この場合、フェリードリクエストのうちの少なくとも1つがアクティブである場合、リクエスト出力はアクティブである。この技術を使用することによって、トークンは、アービトレーションセルにおいてブロックされず、トークンがアービトレーションセルにおいて依然としてアクティブであった間にリクエストが送信されたとしても、アービトレーションセルから取り出すことができる。これは、トークンが満了するのを待つことなくトークンが他のリクエストするチャネルへ移動させられることを可能にする。上記の技術を実行するアービタタイプIIIの実施形態が、
図19Eに示されている。
【0111】
アービトレーションセルの2つのバージョン、すなわち、タイプI対タイプIIまたはIIIの相違は、1つのチャネルにサービスすることから別のチャネルにサービスすることに切り替えるときに、アービトレーションツリーのどれほどの高さにおいてアクノリッジパスのアービトレーションツリー切断が伝播するかを明示する。これは、一般化されたアービトレーションセルのタイプIバージョンを有する読み出しツリーの動作が、一般化されたアービトレーションセルのタイプIIまたはIIIバージョンを有する読み出しツリーの動作と比較されたときに、チャネルから読み出す異なる順序を生じる。タイプIアービトレーションツリーを有する読み出しツリーの場合、アクノリッジパスの切断は、それらの読み出しリクエスト信号をアービトレーションセルへ送信する2つの隣接するチャネルが読み出される場合にも、上部セルまで生じる(すなわち、ドミノ効果)。アービトレーションセルのタイプII/IIIを有する読み出しツリーの場合、アクノリッジパスは、アービトレーションツリーの次のレベルまでしか切断されず、2つの読み出しリクエスト信号のうちの1つはアクティブである。同じアービトレーションセルにおける2つの読み出しリクエスト信号の場合、タイプII/III回路の場合に生じるアクノリッジパスの切断は生じない。
【0112】
したがって、ブロッキング現象およびブロッキング現象を解決する方法は、
図19Eに示されたアービタの実施形態を含むアービトレーションセルタイプIIIを、アクノリッジパスがアービトレーションツリーの最も近いレベルからのみ切断されるべきであるときの好ましいアービトレーション方法にする。
【0113】
アービトレーションセルを実行するために使用される別の要素は、アドレスエンコーダである。アドレスエンコーダは、異なるアービトレーションセルタイプにおいて使用するための
図25Aおよび
図25Bに示された2つの相補的な実施形態290、294において実行される。代替的に、トライステートバッファではなく、トライステートインバータを有する実施形態298、304を、
図26Aおよび
図26Bに示されているように使用することができる。
【0114】
Seitzアービタに有利なAERDおよびAERアーキテクチャに見られるプライオリティエンコーダの放棄は、読み出しシステムにおいて有利である。なぜならば、そうすることは、アクノリッジのアービトレーションおよび分配の間のグリッチを排除しながら非同期メモリ要素を導入するからである。非同期であり、かつリクエストに基づいてアクノリッジトークンを生成するSeitzアービタを使用する実施形態は、
図27に示されたもののような、応答回路308を使用する開示された実施形態に従って実行される。しかしながら、この実施形態308は、複数の読み出しフェーズを提供するまたはリクエストリセットを開始するためにインチャネルロジックによって使用することができる複数のトークンを生成することはできない。これらの理由から、
図28に示された応答回路312の実施形態が使用される。この実施形態312において、トークンは、外部取得システムによって直接提供されるまたはオンチップクロックマネジメント回路を使用して外部取得システムから引き出されるクロックに基づいて生成される。トークンの送り込みに関する決定は、リクエストに基づいてなされるのではなく、トークンは、時間窓が同期的に期限切れになるときに生成されるので、読み出しのための時間フレームも正確に定義される。
【0115】
図29は、システムシリアライザ314およびクロックディバイダ316含む出力ペリフェリーブロック313の実施形態を示す。外部クロック318は、クロックディバイダ316へ供給され、Mのファクタによって分割される。元のクロック318および分割されたクロック320は、それぞれ速いクロック(fclk)320および遅いクロック(sclk)318としてシリアライザ314へ供給される。遅いクロック318は、並列のオンチップデータバス322および/またはアナログバス324(pin)をラッチするために使用され、速いクロック320は、シリアル出力(sout)を使用して当該データを直列に伝達するために使用される。遅いクロック318は、トークンのソースとして応答回路にも供給される。この関係(すなわち、データをラッチしかつインチャネル読み出しをアクティブ化/非アクティブ化するために同じソースクロックを使用する)は、読み出しプロセスを同期化し、潜在的な準安定性問題を排除する。存在するかつ/または使用されるシリアル出力ラインの量は、制限されておらず、より多くのデータを同時に送信するために、追加的なシリアル出力ラインを並列に使用することができる。一般的に、チャネルからの読み出しサイクルの間にシリアライザにおいてラッチされるビットの量は、シリアライゼーションファクタおよび出力量の積に等しい。
【0116】
シリアライザ340の実施形態が
図30に示されており、この場合、リングカウンタブロック342およびデータFFブロック344におけるフリップフロップの量、およびトライステートバッファブロック346におけるバッファは、データラインの量に依存する。一般的に、これらの数の両方は、データの直並列伝送などの、追加的な機能が実行されない限り等しい。クロック同期化ブロック348は、速いクロック320および遅いクロック318のエッジを同期させ、シリアライゼーションプロセスを開始する。ソース選択ブロックは、リセットの後に同期化パターンを外部取得システムへ送信するために使用される。この動作は、出力ビットストリームにおいてデータフレームの第1のビットを定義するために使用される。リングカウンタ342は、送信されるビットの実際の位置を記憶する。この位置は、与えられた時点での1つのアクティブビットを有するベクタとして記憶される。リングカウンタ342は、リングカウンタ342に含まれたフリップフロップのセット(S)/リセット(R)ピンを使用して初期化される。データFFブロック344は、データバス322からの値をラッチするために使用されるフリップフロップのセットを含む。トライステートバッファ346は、リングカウンタ342によってポイントされる位置に対応するビット値を使用してシリアル出力ラインを駆動する。
【0117】
図31に示されている波形は、シリアライザによって実行される動作を示す。これらの波形は、リセットに続くシリアライザ動作サイクル(rstラインにおける低いレベル)および個々の信号の間の原因-結果依存を示す。din
*バスに現れるデータは、例としてのみ提供されており、実際には、チャネルのアクティビティに依存する。「synch-SYNCH」値の出力は、synch_data信号325のアクティブ状態によって強制される。データバス322からのデータは、トークン失効および読み出しフェーズがトリガされる前の最後の瞬間に対応する遅いクロック318の立ち下がりエッジと、読み出しフェーズまたはチャネルとの通信の終了および必要であれば新たな読み出しフェーズの開始に対応する次の立ち上がりエッジとの間にラッチされる。異なるトリガソースを使用する、フリップフロップのセットの最後に配置された、フリップフロップの追加の量は、選択されたバッファが有効化されるときにデータが安定していることを保証するために使用されてよい。
【0118】
実行される任意のチャネルからのアクティブな読み出しが存在しないとき、データバスの状態は、プルアップ/プルダウンネットワークによって設定される。その結果、「デフォルト」または「空」状態と呼ばれるこの状態は、シリアライザにおいてラッチされる。
【0119】
読み出しの間のデータバスのデフォルト状態をオーバーライドするために必要とされる電力を節約するために、別の代替的なアプローチが導入される。データバスに含まれた全てのラインにおいてプルアップ/プルダウンネットワークを使用するのではなく、
図32の修正された実施形態350に示されているように、追加の信号352およびマルチプレクサ354が追加される。この追加の信号352は、チャネルからの読み出しが実行されていることを示すために使用される。追加の信号352におけるプルアップレジスタ(図示せず)が使用され、高い状態は、対応するチャネル内のバッファによる読み出しの間にオーバーライドされる。この追加の信号152の状態に基づき、マルチプレクサ354は、処理されるデータのソースを選択する。これは、空データを表す固定値、またはそこから読み出しが実行されているチャネルのうちの1つの内部のバッファによって駆動されるデータバスにおけるデータのいずれかであることができる。
【0120】
実施形態350と実施形態340との間に1つの追加の相違が存在する。実施形態340において、データバスにおけるデータセトリング時間は、データラッチングが、遅いクロックの立ち上がりエッジよりも、少なくとも1つの速いクロックサイクルだけ前に実行され、遅いクロックが、アクノリッジトークンを生成を担当するため、最大化されていない。対照的に、実施形態350では、遅いクロックの立ち上がりエッジがデータを直接ラッチしているので、セトリング時間が最大化されている。その結果、リングカウンタ342のための、リセットおよびセット入力を含む異なる初期化パターンが、ビットが正しい順序で、すなわち、最下位ビットから最上位ビットへ送信されることを保証するために使用される。一般的に、ラッチングは、当該データが変更されていないならば、遅いクロックエッジの後にも生じ得る。
【0121】
図33に示されている波形は、実施形態350におけるシリアライザの動作を示す。追加のセレクタdin[n]352の波形は、例えば、チャネルのアクティビティに依存する。信号din[n]154に対応するアービトレーションツリーからのrqo信号の波形も示されている。
【0122】
チップまたはシステムにおいて、アービトレーションツリーは、例えば、列またはより小さな配列にグループ化されることができるチャネル構成に従って空間的に分配されている。このような実施形態400は、
図34に示されている。データをチップの外側へ伝達するために使用される1つまたは複数の出力は、シリアライゼーションファクタ、データバス幅、および/または読み出しフェーズの量に応じて使用される。読み出しフェーズの量は動的に再構成されてよいので、幾つかの出力は物理的に存在することができるが、一定の構成において未使用のままである。例えば、複数の読み出しフェーズを有する単一出力モードまたは複数の出力を有する単一フェーズモード読み出しは、実行および構成されることができる。
【0123】
より大きな量のチャネルを含むチップおよび/またはシステムを管理することは、追加的な検討を要する場合がある。共有されたラインに接続されたバッファは、当該供給されたラインに余分なキャパシタンスを追加する。このキャパシタンスは、主に、バッファ出力キャパシタンスの形式で追加されるが、追加のワイヤ接続のキャパシタンスも含む。全体的なキャパシタンスが大きすぎる場合、データは、データバスにおいて必要とされる時間で完全に落ち着くことができない場合があり、これは、タイミング違反およびデータ破損を生じる場合がある。チャネルにおけるバッファ強度を高めることは、1つの解決手段である可能性があるが、これは、追加的なエリアおよび電力を消費するのみならず、より大きな出力キャパシタンスを有するより大きなバッファなどの制限を生じる。別のアプローチは、各々が専用のデータバスを有するグループにチャネルを分割することを含む。しかしながら、これは、より大きなルーティングエリアを消費し、したがって、より狭いバスを有するシステムに適している場合がある。この技術の別の利点は、より高いデータレートである。なぜならば、各々のデータバスを独立したリンクとして扱うことができ、これにより、同じタイムインターバルの間に複数のチャネルを並列で読み出すことができるからである。この場合、システム全体は、複数の出力(すなわち、各々のグループのために1つまたは複数)、または時分割多重を有する高速出力を有することができる。このような実施形態402は、
図35に示されている。
【0124】
一般的に、両技術の組合せは、グループ階層を生成することによってシステムにおいて実行することができる。下流のグループは、1つのデータバスを共有することができ、異なるグループが固有の専用のデータバスを有する、より高い上流グループにおいて束ねられることができる。各々のグループにおいてバッファリングの追加ステージを導入することも実質的に有利である可能性がある。これらのバッファは、好ましくは、より低い階層のプライオリティに関連したバッファ有効化信号の論理和によってアクティブ化されるトライステートバッファである。このような実施形態404は、
図36に示されている。
【0125】
開示された実施形態は、明確に定義されているが柔軟なアーキテクチャを含む。読み出しフェーズの間に伝達されるデータタイプに制限はない。開示された実施形態を使用する最も有用な技術のうちの1つは、センサにおける粒子ヒットおよびその関連する電荷共有効果など、共有されたイベントに関する隣接するセルから情報を送信することである。
【0126】
本明細書に開示された実施形態は、意図された開示の範囲内にとどまりながらMOSFETまたはバイポーラトランジスタを使用して実行されてよいことに留意すべきである。
【0127】
本明細書に開示された1つまたは複数の実施形態、またはその一部は、コンピュータまたはワークステーションにおいて動作するソフトウェアを利用する場合がある。例としてのみ、制限なく、
図37は、コンピューティングシステム900の形式のマシンの実施形態のブロック図であり、コンピューティングシステム900内には命令902のセットが存在し、命令902のセットは、実行されると、マシンに、本発明の実施形態による方法のうちのいずれか1つまたは複数を実行させる。1つまたは複数の実施形態において、マシンは、独立型デバイスとして動作する。1つまたは複数の他の実施形態において、マシンは、(例えば、ネットワーク922を介して)他のマシンに接続されている。ネットワーク化された実行において、マシンは、サーバまたはサーバ-クライアントユーザネットワーク環境におけるクライアントユーザマシンの能力において動作する。本発明の実施形態によって想定されているようなマシンの例示的な実行は、これらに限定されないが、サーバコンピュータ、クライアントユーザコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、携帯情報端末(PDA)、携帯電話、モバイルデバイス、パームトップコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、通信デバイス、パーソナルトラステッドデバイス、ウェブアプライアンス、ネットワークルータ、スイッチもしくはブリッジ、または当該マシンによって取られるアクションを指定する命令のセット(シーケンシャルまたはその他)を実行することができる任意のマシンを含む。
【0128】
コンピューティングシステム900は、バス910を介して互いに通信する、処理デバイス904(例えば、中央処理装置(CPU)、グラフィックス処理ユニット(GPU)、または両方)、プログラムメモリデバイス906およびデータメモリデバイス908を含む。コンピューティングシステム900は、さらに、ディスプレイデバイス912(例えば、液晶ディスプレイ(LCD)、フラットパネル、ソリッドステートディスプレイ、または陰極線管(CRT))を含む。コンピューティングシステム900は、バス910を介して、互いにかつ/または他の機能ブロックと動作可能に結合された、入力デバイス914(例えば、キーボード)、カーソル制御デバイス916(例えば、マウス)、ディスクドライブユニット918、信号生成デバイス920(例えば、スピーカまたはリモートコントロール)、およびネットワークインターフェースデバイス924を含む。
【0129】
ディスクドライブユニット918は、機械可読媒体926を含み、この機械可読媒体926には、本明細書に示された方法を含む、本明細書における方法または機能のうちのいずれか1つまたは複数を具体化する命令902(例えば、ソフトウェア)の1つまたは複数のセットが記憶されている。命令902は、また、完全にまたは少なくとも部分的に、コンピューティングシステム900によるその実行の間、プログラムメモリデバイス906、データメモリデバイス908、および/または処理デバイス904内に存在してよい。プログラムメモリデバイス906および処理デバイス904も機械可読媒体を構成する。これらに限定されないが、ASIC、プログラマブルロジックアレイ、およびその他のハードウェアデバイスなどの専用ハードウェア実行は、同様に、本明細書に記載された方法を実行するように構成することができる。様々な実施形態の装置およびシステムを含む用途は、広く、様々な電子およびコンピュータシステムを含む。幾つかの実施形態は、モジュールの間でおよびモジュールを通って通信される関連する制御およびデータ信号を有する2つ以上の特定の相互接続されたハードウェアモジュールまたはデバイスにおいて、またはASICの部分として、機能を実行する。したがって、例示的なシステムは、ソフトウェア、ファームウェア、および/またはハードウェア実行に適用可能である。
【0130】
本明細書において使用されている「処理デバイス」という用語は、例えば、CPU(中央処理装置)および/またはその他の形式の処理回路を含むものなど、任意のプロセッサを含むことが意図されている。さらに、「処理デバイス」という用語は、2つ以上の個々のプロセッサを意味する場合がある。「メモリ」という用語は、例えば、RAM(ランダムアクセスメモリ)、ROM(読み出し専用メモリ)、固定メモリデバイス(例えば、ハードドライブ)、リムーバブルメモリデバイス(例えば、ディスケット)、フラッシュメモリ等、プロセッサまたはCPUに関連したメモリを含むことが意図されている。加えて、ディスプレイデバイス912、入力デバイス914、カーソル制御デバイス916、信号生成デバイス920等は、集合的に「入出力インターフェース」と呼ぶことができ、処理デバイス904へデータを入力するための1つまたは複数のメカニズム、および処理デバイスに関連した結果を提供するための1つまたは複数のメカニズムを含むことが意図されている。入出力またはI/Oデバイス(これらに限定されないが、キーボード(例えば、英数字入力デバイス914)、ディスプレイデバイス912等を含む)は、直接に(バス910を介してなど)または介在する入出力制御装置(明瞭にするために省略されている)を介してシステムに結合することができる。
【0131】
1つまたは複数の実施形態の集積回路実行において、複数の同一のダイは、一般的に、半導体ウェハの表面に反復されたパターンで製造される。各々のこのようなダイは、本明細書に記載されたデバイスを含んでよく、その他の構造および/または回路を含んでよい。個々のダイは、ウェハから切断またはダイシングされ、次いで、集積回路としてパッケージングされる。当業者は、集積回路を製造するためにどのようにウェハをダイシングしかつダイをパッケージングするかを知っている。添付の図面に示された例示的な回路または方法のいずれか、またはその部分は、集積回路の一部であってよい。そのように製造された集積回路は、本発明の一部と考えられる。
【0132】
様々な実施形態によれば、本明細書に記載された方法、機能またはロジックは、コンピュータプロセッサ上で動作する1つまたは複数のソフトウェアプログラムとして実行されている。これらに限定されないが、特定用途向け集積回路、プログラマブルロジックアレイおよびその他のハードウェアデバイスを含む専用ハードウェア実行は、同様に、本明細書に記載された方法を実行するために構成することができる。さらに、これらに限定されないが、分散処理または構成要素/オブジェクト分散処理、並列処理、または仮想マシン処理を含む代替的なソフトウェア実行も、本明細書に記載された方法、機能またはロジックを実行するように構成することができる。
【0133】
実施形態は、命令902を含む機械可読媒体もしくはコンピュータ可読媒体、またはネットワーク環境922に接続されたデバイスが音声、ビデオまたはデータを送受信することができるように伝播された信号からの命令902を受信および実行するものを企図し、命令902を使用してネットワーク922上で通信する。命令902は、さらに、ネットワークインターフェースデバイス924を介してネットワーク922上で送受信される。機械可読媒体は、本明細書におけるシステムおよび方法の例示的な実施形態においてデータとマシンまたはコンピュータとの間の機能的関係を提供する際に有用なデータを記憶するためのデータ構造も含む。
【0134】
機械可読媒体902は、例示的な実施形態において、単一の媒体であるように示されているが、「機械可読媒体」という用語は、命令の1つまたは複数のセットを記憶する単一の媒体または複数の媒体(例えば、集中データベースまたは分散データベース、および/または関連するキャッシュおよびサーバ)を含むと解釈されるべきである。「機械可読媒体」という用語はまた、マシンによって実行するための命令のセットを記憶、エンコード、または保持することができかつマシンに実施形態の方法のうちのいずれか1つまたは複数を実行させる任意の媒体を含むと解釈される。「機械可読媒体」という用語は、したがって、これらに限定されないが、ソリッドステートメモリ(例えば、ソリッドステートドライブ(SSD)、フラッシュメモリ等)、読み出し専用メモリ(ROM)、またはその他の不揮発性メモリ、ランダムアクセスメモリ(RAM)、またはその他の書き換え可能(揮発性)メモリ、ディスクもしくはテープなどの磁気光学もしくは光学媒体を含むと解釈され、ならびに/あるいは電子メールもしくはその他の自己完結型情報アーカイブまたはアーカイブのセットへのデジタルファイルアタッチメントは、有形的記憶媒体と同等の分散媒体と考えられる。したがって、実施形態は、本明細書に列挙されているように、本明細書におけるソフトウェア実行がそこに記憶されている当該技術分野において承認されている均等物および後継媒体を含む、有形的機械可読媒体または有形的分散媒体のうちのいずれか1つまたは複数を含むと考えられる。
【0135】
本明細書における方法、機能および/またはロジックを実行するソフトウェアは、選択的に、有形的記憶媒体、例えば、ディスクまたはテープなどの磁気媒体、ディスクなどの磁気光学または光学媒体、または1つまたは複数の読み出し専用(不揮発性)メモリ、ランダムアクセスメモリまたはその他の書き換え可能(揮発性メモリ)を格納するメモリ自動車またはその他のパッケージなどのソリッドステート媒体に記憶されていることにも留意すべきである。電子メールまたはその他の自己完結型情報アーカイブまたはアーカイブのセットへのデジタルファイルアタッチメントは、有形的記憶媒体と同等の分散媒体であると考えられる。したがって、開示は、本明細書におけるソフトウェア実行が記憶された、本明細書に列挙された有形的記憶媒体または分散媒体およびその他の均等物および後継媒体を含むと考えられる。
【0136】
明細書は、特定の規格およびプロトコルを参照した実施形態において実行される構成要素および機能を記載しているが、実施形態は、このような規格およびプロトコルに限定されない。
【0137】
本明細書に記載された実施形態の例示は、様々な実施形態の構造の一般的な理解を提供することが意図されており、それらは、本明細書に記載された構造を利用し得る装置およびシステムの全ての要素および特徴の完全な記述として機能することは意図されていない。上記の記述を検討することにより、多くのその他の実施形態が当業者に明らかになるであろう。その他の実施形態が利用されかつそこから導き出され、これにより、本開示の範囲から逸脱することなく、構造的および論理的代用および変更がなされる。図面はまた、単に表現的であり、縮尺どおりではない。その特定の比率は誇張されている一方、その他は減じられている。したがって、明細書および図面は、制限的な意味ではなく例示的な意味で見なされるべきである。
【0138】
このような実施形態は、単に便宜的に、2つ以上が実際には示されているとしても本願の範囲をいずれか1つの実施形態または発明的概念に自発的に限定することを意図せずに、「実施形態」という用語によって個別にかつ/または集合的に本明細書において言及されている。したがって、特定の実施形態が本明細書において例示および記載されているが、同じ目的を達成するために計算された任意の構成が、示された特定の実施形態に置き換えられることを理解されたい。本開示は、様々な実施形態の任意のおよび全ての適応または変形を網羅することが意図されている。上記の実施形態の組合せ、および本明細書に具体的に記載されていないその他の実施形態は、上記の記載を検討することによって当業者に明らかになるであろう。
【0139】
実施形態の前述の記載において、開示を合理化する目的で様々な特徴が単一の実施形態においてグループ化されている。開示のこの方法は、特許請求の範囲に記載の実施形態が、各々の請求項に明示的に列挙されているよりも多くの特徴を有することを反映するものと解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、発明的主題は、単一の実施形態の全ての特徴に存在するわけではない。したがって、以下の特許請求の範囲は、これにより、詳細な説明に組み込まれ、各々の請求項は、別々の例示的な実施形態として独立している。
【0140】
要約書は、読者が技術的開示の性質を迅速に解明することを可能にする要約書を要求する連邦規則法典第37巻セクション1.72(b)に従うように提供されている。要約書は、請求項の範囲または意味を解釈または限定するために使用されないことを理解した上で提出される。加えて、前述の詳細な説明において、開示を合理化する目的で様々な特徴が単一の実施形態にまとめてグループ化されていることが分かる。この開示方法は、特許請求の範囲に記載された実施形態が、各々の請求項に明示的に列挙されているよりも多くの特徴を必要とするという意図を判定したものと解釈されるべきではない。むしろ、以下の特許請求の範囲が反映しているように、発明の主題は、単一の実施形態の全ての特徴に存在するわけではない。したがって、以下の特許請求の範囲は、これにより、詳細な説明に組み込まれ、各々の請求項は、別々に特許請求される主題として独立している。
【0141】
特定の例示的な実施形態が記載されているが、本明細書に記載された発明の主題のより広い範囲から逸脱することなくこれらの実施形態に様々な修正および変更が加えられることが明らかになるであろう。したがって、明細書および図面は、限定的な意味ではなく例示的な意味で見なされるべきである。本明細書の一部を構成する添付の図面は、限定ではなく、例示として、主題が実施された特定の実施形態を示している。示された実施形態は、本明細書における教示を当業者が実施することを可能にするように十分に詳細に記載されている。その他の実施形態が利用されかつそこから導き出され、これにより、本開示の範囲から逸脱することなく構造的および論理的代用および変更がなされる。したがって、この詳細な説明は、制限する意味で解釈されるべきではなく、様々な実施形態の範囲は、このような特許請求の範囲が権利を与えられる均等物の完全な範囲と共に、添付の特許請求の範囲によってのみ規定される。
【0142】
本明細書において提供された教示を前提として、当業者は、開示された実施形態の技術のその他の実行および適用を考えることができる。例示的な実施形態は本明細書において添付の図面を参照して記載されているが、これらの実施形態は、開示された実施形態に限定されず、添付の請求項の範囲から逸脱することなく当業者によってこれらの実施形態に様々なその他の変更および修正がなされることが理解されるべきである。
【手続補正書】
【提出日】2023-12-14
【手続補正1】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【手続補正2】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【手続補正3】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【国際調査報告】