(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-10
(45)【発行日】2022-11-18
(54)【発明の名称】複数の電子コンポーネントからの、通信バスを通したホストデバイスへの情報の転送を制御するためのデバイスおよび方法
(51)【国際特許分類】
H04N 5/374 20110101AFI20221111BHJP
G06F 13/20 20060101ALI20221111BHJP
H04N 5/376 20110101ALI20221111BHJP
【FI】
H04N5/374
G06F13/20
H04N5/376
(21)【出願番号】P 2021508064
(86)(22)【出願日】2019-04-15
(86)【国際出願番号】 EP2019059706
(87)【国際公開番号】W WO2019206724
(87)【国際公開日】2019-10-31
【審査請求日】2021-04-13
(32)【優先日】2018-04-27
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】520417403
【氏名又は名称】イニベーション・アー・ゲー
(74)【代理人】
【識別番号】110001173
【氏名又は名称】弁理士法人川口國際特許事務所
(72)【発明者】
【氏名】リー,チュンハン
【審査官】鈴木 明
(56)【参考文献】
【文献】特開2017-085549(JP,A)
【文献】米国特許出願公開第2014/0125994(US,A1)
【文献】国際公開第2015/036592(WO,A1)
【文献】特開2015-015608(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/30-5/378
G06F 13/20-13/378
(57)【特許請求の範囲】
【請求項1】
複数の電子コンポーネント(3)からの、通信バス(4)を通したホストデバイスへの情報の転送を制御するためのデバイスであって、複数の電子コンポーネント(3)に接続された処理ブロック(5)のチェーン(1、2)を備え、処理ブロック(5)のそれぞれは、複数の電子コンポーネント(3)のうちの1つまたは複数の電子コンポーネント(3)のうちの電子コンポーネントのセットと関連付けられ、情報の転送の過程で、許可信号が処理ブロック(5)のチェーン(1、2)中を伝搬し、許可信号が、転送されるべき情報値を含む電子コンポーネント(3)のうちの1つまたは電子コンポーネント(3)のセットのうちの1つと関連付けられた処理ブロック(5)に遭遇したときに、通信バス(4)を通したホストデバイスへの情報値の転送を実行するように、処理ブロック(5)は構成され、処理ブロック(5)は、処理ブロック(5)のチェーン(1、2)内での許可信号の伝搬ステータスから独立
したクロック信号に従って
処理ブロック(5)の処理を調整するように構成さ
れ、
各処理ブロックが、許可信号が選択的に伝搬するためのサービスパスおよびスキップパスを備え、処理ブロックが、転送されるべき情報値を含む電子コンポーネントのうちの1つまたは電子コンポーネントのセットのうちの1つと関連付けられている場合に、許可信号がサービスパスを通って伝搬し、そうでなければスキップパスを通って伝搬する、デバイス。
【請求項2】
処理ブロック(5)が、ホストデバイスから受信したクロック信号に従って
処理ブロック(5)の処理を調整するように構成されることを特徴とする、請求項1に記載のデバイス。
【請求項3】
転送されるべき情報値を含む電子コンポーネントのうちの1つまたは電子コンポーネントのセットのうちの1つと関連付けられた処理ブロック中を、ホストデバイスから受信したクロック信号によって調整されて許可信号が伝搬されるように、処理ブロック(5)が構成されることを特徴とする、請求項1または2に記載のデバイス。
【請求項4】
クロック信号のクロックサイクル毎に、転送されるべき情報値を含む電子コンポーネントのうちの1つと関連付けられた最大1つの処理ブロック中を許可信号が伝搬されるように、処理ブロックが構成されることを特徴とする、請求項3に記載のデバイス。
【請求項5】
許可信号がスイッチングエッジ信号であることを特徴とする、請求項1から4のいずれか一項に記載のデバイス。
【請求項6】
各処理ブロックが、そのサービスパス内に、許可信号が伝搬可能なフリップフロップを備えることを特徴とする、請求項
1から5のいずれか一項に記載のデバイス。
【請求項7】
各処理ブロックが、そのサービスパス内に、直列に接続され、許可信号を検出するための基準値としてフリップフロップの出力値をとらえるように構成されたさらなるフリップフロップを備えることを特徴とする、請求項
6に記載のデバイス。
【請求項8】
処理ブロックのそれぞれが、相補型トランジスタの1つまたは複数の対を備えることを特徴とする、請求項1から
7のいずれか一項に記載のデバイス。
【請求項9】
相補型トランジスタの対のうちの少なくとも1つにおいて、トランジスタの一方がトランジスタの他方とは異なる閾値を有することを特徴とする、請求項
8に記載のデバイス。
【請求項10】
相補型トランジスタうちの前記少なくとも1つの対が、低閾値トランジスタおよび/または高閾値トランジスタを備えることを特徴とする、請求項
9に記載のデバイス。
【請求項11】
少なくとも1つの処理ブロックが、低スイッチング閾値を有する回路部と、高スイッチング閾値を有するさらなる回路部とを備えることを特徴とする、請求項1から
10のいずれか一項に記載のデバイス。
【請求項12】
それぞれが複数の電子コンポーネント(3)の電子コンポーネントの列と関連付けられた処理ブロックの第1のチェーン(1)と、それぞれが複数の電子コンポーネント(3)の電子コンポーネントの行と関連付けられた処理ブロックの第2のチェーン(2)とを特徴とし、許可信号が、電子コンポーネントの行と関連付けられた処理ブロックから電子コンポーネントの後続の行と関連付けられた処理ブロックへ、処理ブロックの第2のチェーン(2)中を伝搬され、電子コンポーネントの行毎に、許可信号が、電子コンポーネントの列と関連付けられた処理ブロックから電子コンポーネントの後続の列と関連付けられた処理ブロックへ、処理ブロックの第1のチェーン(1)中を伝搬されるように、処理ブロックの第1および第2のチェーンが構成される、請求項1から
11のいずれか一項に記載のデバイス。
【請求項13】
通信バス(4)を通したホストデバイスへの情報値の転送を実行することが、情報値を含む電子コンポーネントに通信バス(4)へのアクセスを許可し、情報値を含む電子コンポーネントの識別子をホストへ送信することによって行われることを特徴とする、請求項1から
12のいずれか一項に記載のデバイス。
【請求項14】
複数の電子コンポーネント(3)からの、通信バス(4)を通したホストデバイスへの情報の転送を制御するための方法であって、処理ブロック(5)のチェーン(1、2)において、処理ブロックのそれぞれは、複数の電子コンポーネントのうちの1つまたは複数の電子コンポーネント(3)のうちの電子コンポーネントのセットと関連付けられ、情報の転送の過程で、許可信号が処理ブロックのチェーン(1、2)中を伝搬し、許可信号が、転送されるべき情報値を含む電子コンポーネントのうちの1つまたは電子コンポーネントのセットのうちの1つと関連付けられた処理ブロックに遭遇したときに、情報値は通信バス(4)を通してホストデバイスへ転送され、処理ブロックの処理は、処理ブロック(5)のチェーン(1、2)内での許可信号の伝搬ステータスから独立
したクロック信号に従って調整さ
れ、
各処理ブロックが、許可信号が選択的に伝搬するためのサービスパスおよびスキップパスを備え、処理ブロックが、転送されるべき情報値を含む電子コンポーネントのうちの1つまたは電子コンポーネントのセットのうちの1つと関連付けられている場合に、許可信号がサービスパスを通って伝搬し、そうでなければスキップパスを通って伝搬する、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の電子コンポーネントからの、通信バスを通したホストデバイスへの情報の転送を制御するためのデバイスおよび方法に関する。
【背景技術】
【0002】
従来、共有通信バスの時分割多重化に依拠するいくつかのデバイスおよび方法が提案されてきた。その発想は、各電子コンポーネントがその情報をホストデバイスに転送するためにタイムスロット中に共有通信バスにアクセスできるようにすることである。この電子コンポーネントは、光学センサの画素に関連することがある。それは、センサからの生データを情報として含んでいる場合があり、または、この情報は電子コンポーネントに含まれる情報を得るために前処理されたものの場合もある。読出速度を改善するため、ホストへ送信すべき情報を実際に含む電子コンポーネントのみにアクセスを許すことが知られている。
【0003】
US5404556に説明される知られているシステムは、情報を持たない電子コンポーネントにバスアクセスをさせない時分割多重化共有通信バスを通して複数の電子コンポーネントから情報を読み出す。ただし、共有通信バスの前記時分割多重化は、受信ホストとの非同期ハンドシェイクプロトコルを通した二分決定木によってアービトレート(arbitrate)される。したがって、情報は非系統的なシーケンスで読み出される。そのようなシステムは、情報を有するすべての電子コンポーネントが所定時間内にサービスされることを確実とすることができない。バスアクセス時間を常に要求する故障電子コンポーネントは、共有通信バスに支障をきたす場合がある。さらに、そのようなシステムが同期受信ホストと通信しているとき、非同期ハンドシェイクプロトコルは同期化される必要があり、それがさらなる遅延を招来する。
【0004】
故障電子コンポーネントが存在する場合でも公正なバスアクセスを確実とするため、US7843503は、クロック多重化共有通信バスを通して複数の電子コンポーネントから情報を読み出し、また、情報を持たない電子コンポーネントをスキップするシステムを提案する。この多重化はクロック制御されることによって、情報は系統的に、およびシーケンシャルに読み出される。これにもかかわらず、同期受信ホストによって読出しが行われる場合、バス多重化クロックを受信ホストクロックと同期するためには追加の同期化ステップが必要とされる。この追加の同期化ステップは、通信バスの各多重化において追加のホストクロック周期を招来し、所与のホストクロック周波数における読出速度を大幅に遅くする。
【先行技術文献】
【特許文献】
【0005】
【文献】米国特許第5,404,556号明細書
【文献】米国特許第7,843,503号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の目的は、所与のホストクロック周波数において、より高い読出速度を有しながら、複数の電子コンポーネントからの、通信バスを通したホストデバイスへの情報の転送を制御するためのデバイスおよび方法を提案することである。
【課題を解決するための手段】
【0007】
この目的は、請求項1の特徴を有するデバイスを提供し、請求項15の特徴を有する方法を提供することにより、本発明によって達せられる。本発明のさらなる有利な実施形態は、下位請求項の主題である。
【0008】
本発明の一態様において、複数の電子コンポーネントからの、通信バスを通したホストデバイスへの情報の転送を制御するためのデバイスが提案される。本デバイスは、複数の電子コンポーネントに接続された処理ブロックのチェーンを備え、それによって処理ブロックのそれぞれは、複数の電子コンポーネントのうちの1つまたは複数の電子コンポーネントのうちの電子コンポーネントのセットと関連付けられる。情報の転送の過程で、許可信号が処理ブロックのチェーン中を伝搬し、許可信号が、転送されるべき情報値を含む電子コンポーネントのうちの1つまたは電子コンポーネントのセットのうちの1つと関連付けられた処理ブロックに遭遇したときに、通信バスを通したホストデバイスへの情報値の転送を実行するように、処理ブロックは構成される。さらに、処理ブロックは、処理ブロックのチェーン内での許可信号の伝搬ステータスから独立して生成されたクロック信号に従ってそれらの処理を調整するように構成される。
【0009】
対照的に、従来技術文献US7843503を見ると、バスアクセストークンが情報を含む電子コンポーネントで止まったかを示す信号j_readyによって多重化クロックが自己決定される。現在の電子コンポーネントから次の電子コンポーネントへのバスアクセストークンの伝搬時間はバスアクセストークンによってスキップされている電子コンポーネントの数に依存するため、信号j_ready、よって、バス多重化クロックは、固定されたおよび知られている時間間隔で切り換わらない。したがって、同期受信ホストと通信するためには、信号j_ready、よって、バス多重化クロックを受信ホストクロックと同期化するために追加の同期化ステップが必要とされる。そのような追加の同期化ステップは、通信バスの各多重化において追加のホストクロック周期を招来する場合があり、所与のホストクロック周波数における読出速度を大幅に遅くする場合がある。一例として、信号j_readyを同期化するために1つの追加のホストクロック周期が使用される場合に、最大可能読出速度は半分となり、すなわち、最大可能読出速度は、2つのホストクロック周期あたり1つの電子コンポーネントの読み出しである。
【0010】
本発明は、処理ブロックのチェーン内における許可信号の伝搬ステータスに依存しない独立クロック信号によって処理ブロックのチェーンがクロック制御され得るように、デバイスを設計するという発想に基づく。独立クロック信号を可能にすることによって、ホストデバイスを情報の読出しと同期化するために必要な同期化ステップは、実質的にデバイス側の処理ブロック内で既に行われている。したがってさらなる同期化ステップの必要性が取り除かれ得る。
【0011】
処理ブロックのチェーン内での許可信号の伝搬ステータスから独立してクロック信号が生成されることは、特に、いくつかの実施形態において、許可信号が処理ブロックのチェーンの末端に到達したかに、クロック信号が依然として依存する場合があることを意味する。ただし、許可信号が処理ブロックのチェーン内にあり、特にまだ処理ブロックのチェーンの末端から離れている間に、クロック信号は許可信号の伝搬ステータスから独立して生成される。換言すると、クロック信号は、許可信号が処理ブロックのチェーンに沿ったどこに存在するかに依存しない。特に、クロック信号は、処理ブロックのチェーンにおいて処理ブロックのいずれかで生成されたトリガ信号から抽出されない。
【0012】
そのような独立クロック信号は、特に、本発明によるデバイスから独立した、または少なくとも処理ブロックのチェーンから独立したクロックによって生成されてもよい。有利には、クロック信号は、ホストデバイスで生成される、および/またはホストデバイスから受信される。本実施形態において、電子コンポーネントとホストデバイスとの間の多重化通信は、ホストクロック制御される。それによって、多重化クロックは受信ホストデバイスによって決定される。よって、情報が系統的に、およびシーケンシャルに読み出されるだけでなく、デバイスと同期受信ホストデバイスとの間に追加の同期化ステップが必要とされない。
【0013】
好適には、クロック信号は規則的であり、すなわち不可避のランダムなゆらぎは別として、時間的に変化しない規則的なクロックサイクルを有する。
【0014】
有利な実施形態によれば、転送されるべき情報値を含む電子コンポーネントのうちの1つまたは電子コンポーネントのセットのうちの1つと関連付けられた処理ブロック中を、ホストデバイスから受信したクロック信号によって調整されて許可信号が伝搬されるように、処理ブロックが構成される。換言すると、クロック信号は、情報を有する電子コンポーネントと関連付けられた処理ブロック中の許可信号の伝搬を調整する。この場合、情報を有する電子コンポーネントと関連付けられていない処理ブロック中の許可信号の伝搬はクロック信号によって調整されない場合があり、自由に移動さえしていない場合がある。
【0015】
有利には、クロック信号のクロックサイクルまたはクロック周期毎に、転送されるべき情報値を含む電子コンポーネントのうちの1つと関連付けられた最大1つの処理ブロック中を許可信号が伝搬されるように、処理ブロックが構成される。この場合、クロック信号の各クロックサイクルは、1つの電子コンポーネントから正確に1つの情報値が読み出されることか、または全く読出しが行われないことのいずれかにつながる。後者の状況は、許可信号が、情報を有する電子コンポーネントと関連付けられた処理ブロックに到達する前に、情報値を有しない電子ブロックと関連付けられた非常に多くの処理ブロック中を許可信号が伝搬しなければならず、経過した時間が、少なくともあるクロックサイクルから次のクロックサイクルへの時間と等しくなるときに生じる場合がある。
【0016】
有利には、許可信号がスイッチングエッジ信号である。特に立ち上がりエッジ信号または立ち下がりエッジ信号の場合があり、すなわち信号を運ぶ出口の、低い値から高い値への切換えまたは高い値から低い値への切換えのいずれかである。そのようなスイッチングエッジ信号は2つの利点を有する:第1に、処理ブロックは許可信号が通過したか否かを登録することができる。これは、システムがクロックゲーティングを行う場合、許可信号が既に通過した処理ブロックのクロック制御を停止する上で有利な場合がある。第2に、各スイッチングエッジは起こり得るメタステーブル状態の源となる。許可信号がパルス信号の場合、それは、立ち下がりエッジの後の立ち上がりエッジから成る。この場合、メタステーブル状態が生じると、許可信号を正確に検出するように処理ブロックを設計することが(可能なら)非常に困難となる。したがって、許可信号をスイッチングエッジ信号として指定することが、許可信号のより確実な検出を可能にできる。
【0017】
いくつかの有利な実施形態によれば、各処理ブロックが、許可信号が選択的に伝搬できるサービスパスおよびスキップパスを備える。換言すると、各処理ブロックを通過するために、許可信号はその処理ブロックのスキップパスまたはサービスパスのいずれかを使用する。処理ブロックと関連付けられた電子コンポーネントまたは電子コンポーネントのセットのうちの1つが転送されるべき情報値を含むとき、許可信号はその処理ブロックのサービスパスを通って伝搬する。そうでなければ、その処理ブロックのスキップパスを通って伝搬する。
【0018】
有利には、スキップパスは、許可信号がサービスパスを通してよりも、例えば少なくとも10倍、50倍、100倍、500倍または1000倍速く伝搬するように設計される。一例として、クロック周波数が数十MHzから数百MHzの範囲である場合、サービスパスに沿って1つの処理ブロックを通る許可信号に対する伝搬遅延は数nsから数十nsとなる場合がある一方、スキップパスに沿って処理ブロックを通る許可信号に対する伝搬遅延は典型的には0.05nsから0.1nsの範囲である。
【0019】
好ましくは、各処理ブロックが、そのサービスパス内に、許可信号が伝搬可能なフリップフロップを備える。特に、サービスパスはDフリップフロップ(DFF)を含んでもよい。したがって、処理ブロックのチェーンはDFFのチェーンを備える。
【0020】
有利には、各処理ブロックは、そのサービスパス内に、直列に接続され、許可信号を検出するための基準値としてフリップフロップの出力値をとらえるように構成されたさらなるフリップフロップ、特にDフリップフロップを備えてもよい。それによって、さらなるフリップフロップ(以下の議論においてPastフリップフロップまたはPastDFFと呼ばれる)は、フリップフロップ(以下の議論において、Presentフリップフロップ、またはPresentDFFと呼ぶ)の出力における過去の値を保存する。それによって、特にスイッチングエッジ信号として許可信号を検出するために、Presentフリップフロップ(スイッチングエッジ検出器へのPresent入力)およびPastフリップフロップ(スイッチングエッジ検出器へのPast入力)の出力は、例えば1つの否定入力(negated input)を有するANDゲートを用いて、比較されることが可能である。そのようなセットアップは、以下において、スイッチングエッジ検出器、特に立ち上がりエッジ検出器または立ち下がりエッジ検出器として指定される。
【0021】
好適な実施形態において、処理ブロックのそれぞれは、相補型トランジスタの1つまたは複数の対を備える。処理ブロックは、特に、相補型金属酸化膜半導体(CMOS)技術において作製される。CMOS技術において、p型およびn型の酸化金属半導体電界効果トランジスタ(MOSFET)の相補対がロジック関数のために使用される。典型的な実施形態において、相補対における2つのトランジスタは対称の場合があり、特に同一またはほぼ同一の閾値電圧を有する場合がある。ほぼ同一とは、プロセス関連または適用関連の閾値の不一致が存在する場合があることを意味し得、例えば、n型トランジスタはp型トランジスタよりわずかに低い閾値を有する。CMOSにおける実現の場合、これは、通常、相補型対称金属酸化膜半導体(COS-MOS)と呼ばれる。
【0022】
本デバイスの改善された実施形態によれば、相補型トランジスタの対のうちの少なくとも1つにおいて、トランジスタの一方がトランジスタの他方とは異なる閾値すなわち閾値電圧を有する。特に、そのような非対称閾値トランジスタ対は、許可信号を検出するように設計された回路において利用されてもよい。そのような非対称閾値トランジスタ対は、各処理ブロックのスキップパスおよび/またはサービスパスに含まれてもよい。
【0023】
そのような非対称閾値トランジスタ対は、メタステーブル状態に起因するデバイス障害を防ぐために有利に利用され得る。そのようなメタステーブル状態障害は、例えば情報を含む電子素子と関連付けられた処理ブロックがスキップされたとき(欠落(omission)障害)、または例えばそれぞれが情報を含む電子素子と関連付けられた2つの処理ブロックが同時にサービスされたとき(衝突障害)に生じる場合がある。これらの起こり得る障害ステートが、以下において例示的実施形態と関連してさらに詳細に説明される。
【0024】
有利には、サービスパスがPresentフリップフロップ、Pastフリップフロップおよびスイッチング信号検出器を含むとき、欠落障害を避けるために、スイッチング信号検出器へのPresent入力はPastフリップフロップへの入力よりも低いスイッチング閾値を有してもよい。さらなる有利な実施形態において、サービスパスがPresentフリップフロップおよびPastフリップフロップを含むとき、衝突障害を防ぐために、Presentフリップフロップおよびスキップパスへの入力はPastフリップフロップへの入力よりも高いスイッチング閾値を有してもよい。
【0025】
なお、本明細書において、「スイッチング閾値」は、入力信号が回路によって登録され、したがって通過されることを可能とするために上回られる必要のある、相補型スイッチング素子対への入力の閾値を指す。有利には、このスイッチング閾値は無符号の絶対値である。立ち上がりエッジ許可信号に対してスイッチング閾値は論理「0」値(例えば0ボルト)から測定される一方、立ち下がりエッジ許可信号に対して「逆さまの」回路のスイッチング閾値は論理「1」(例えば1.2ボルト)から測定される必要がある。「逆さまの」回路の場合、「高スイッチング閾値」は、スイッチング信号が検出される信号値が0に近いことを意味する。対照的に、「閾値」または「電圧閾値」は、トランジスタ対における単一のトランジスタのアクティブ化電圧を指す。トランジスタにおいて、特にCMOSトランジスタ対の一部として、閾値または電圧閾値は、ソース端子とドレイン端子との間の伝導路を作るために必要される最小ゲート電圧VGまたはゲート-ソース電圧VGSを指す場合がある。
【0026】
上述したように、回路のスイッチング閾値は、入力信号が相補型スイッチング素子対および後続の回路出力の(on/off)ステートを変化させることを可能にするために横断される必要のある、相補型スイッチング素子対への入力の閾値を指す。
【0027】
許可信号が立ち上がりエッジ信号であるとき、処理ブロックにおける回路のスイッチング閾値は、論理ローまたはゼロ(0)レベルから測定される入力信号の閾値電圧を指し、この場合、元々0として回路によって受信された入力信号は、その入力信号が論理ハイまたは1値として回路によって検出されることを可能にするために、立ち上がる必要がある。この場合のより高いスイッチング閾値は、閾値電圧が0からさらに離れて1に近いことを意味し、その逆も同様に意味する。例えば、0Vを論理ローまたは0レベルとし、1.2Vを論理ハイまたは1レベルとする回路に対して、標準スイッチング閾値は約0.6Vとなる場合があり、高スイッチング閾値は約0.8~0.9Vとなる場合があり、低スイッチング閾値は約0.3~0.4Vとなる場合がある。標準スイッチング閾値と、高スイッチング閾値と、低スイッチング閾値との間のマージンが大きいほど、CMOS製造プロセス変動によって設計が損なわれることはあまりないとされてよい。
【0028】
許可信号が立ち下がりエッジ信号の場合、処理ブロックにおける回路のスイッチング閾値は、論理ローまたは1レベルから測定される入力信号の閾値電圧を指し、この場合、元々1として回路によって受信された入力信号は、その入力信号が0として回路によって検出されることを可能にするために、立ち下がる必要がある。この場合のより高スイッチング閾値は、閾値電圧が1からさらに離れて0に近いことを意味し、その逆も同様に意味する。例えば、0Vを論理ローまたは0レベルとし、1.2Vを論理ハイまたは1レベルとする回路に対して、標準スイッチング閾値は約0.6Vとなる場合があり、高スイッチング閾値は約0.3~0.4Vとなる場合があり、低スイッチング閾値は約0.8~0.9Vとなる場合がある。標準スイッチング閾値と、高スイッチング閾値と、低スイッチング閾値との間のマージンが大きいほど、CMOS製造プロセス変動によって設計が損なわれる可能性が低くなる。
【0029】
欠落障害および/または衝突障害を避けるために、少なくとも1つの処理ブロックは、低スイッチング閾値を有する回路部と、高スイッチング閾値を有するさらなる回路部とを備えてもよい。特に、処理ブロックが、フリップフロップ回路と、そのフリップフロップ回路の出力に直列に接続されたさらなるフリップフロップ回路とを有するサービスパスを含むとき、Presentフリップフロップ回路はPastフリップフロップ回路よりも高いスイッチング閾値を有すると有利である。さらに、処理ブロックがスイッチングエッジ検出器を備えるとき、Pastフリップフロップ回路の出力から生じるスイッチングエッジ検出器への入力(past入力)はフリップフロップ回路の出力から生じるスイッチングエッジ検出器への入力(present入力)とは異なるスイッチング閾値を有してもよい。
【0030】
特に、有利な実施形態において、処理ブロックがスイッチングエッジ検出器を備えるとき、スイッチングエッジ検出器へのpresent入力は、Pastフリップフロップ回路への入力よりも低いスイッチング閾値を有する必要があり、これは、やはり、Presentフリップフロップおよびスキップパスへの入力よりも小さなスイッチング閾値を有してもよい。エッジ検出器へのpast入力のスイッチング閾値は、エッジ検出器へのpresent入力に等しい、またはそれよりも高いまたは低いことが可能である。
【0031】
代替的または累積的に、処理ブロックがスキップパス回路およびサービスパス回路を有する場合、スキップパス回路への入力は、サービスパス回路への入力と同一のスイッチング閾値を好ましく有し得る。
【0032】
電子コンポーネントの複数のセットがデバイスによって読み出される実施形態において、電子コンポーネントは二次元アレイに配置されてもよい。この場合、それぞれが複数の電子コンポーネントのうちの電子コンポーネントの列と関連付けられた処理ブロックの第1のチェーンと、それぞれが複数の電子コンポーネントのうちの電子コンポーネントの行と関連付けられた処理ブロックの第2のチェーンとが提供されてもよい。この場合、許可信号が、電子コンポーネントの行と関連付けられた処理ブロックから電子コンポーネントの後続(直後)または連続した行と関連付けられた処理ブロックへ、処理ブロックの第2のチェーン中を伝搬し、電子コンポーネントの行毎に(または情報を含む電子コンポーネントの行毎に)、許可信号が、電子コンポーネントの列と関連付けられた処理ブロックから電子コンポーネントの後続(直後)または連続した列と関連付けられた処理ブロックへ、処理ブロックの第1のチェーン中を伝搬されるように、処理ブロックの第1および第2のチェーンが構成される。情報を有さない各行(共有req信号によって示される。以下参照)に対しては、処理ブロックの第2のチェーンを通って行くことなく全ての行がスキップされる。
【0033】
有利には、通信バスを通したホストデバイスへの情報値の転送を実行することは、情報値を含む電子コンポーネントに通信バスへのアクセスを許可し、情報値を含む電子コンポーネントの識別子をホストへ送信することによって行われる。電子コンポーネントが二次元アレイに配置される場合、電子コンポーネントの識別子は、特に、行識別子またはy識別子と、列識別子またはx識別子とを含んでもよい。識別子は、エンコーダ回路によって決定されてもよい。
【0034】
本発明のさらなる態様において、複数の電子コンポーネントからの、通信バスを通したホストデバイスへの情報の転送を制御するための方法が提供される。この方法は、それぞれが複数の電子コンポーネントのうちの1つまたは複数の電子コンポーネントのうちの電子コンポーネントのセットと関連付けられた処理ブロックのチェーンに対して行われる。本方法を行うことによって、情報の転送の過程で、許可信号が処理ブロックのチェーン中を伝搬し、許可信号が、転送されるべき情報値を含む電子コンポーネントのうちの1つまたは電子コンポーネントのセットのうちの1つと関連付けられた処理ブロックに遭遇したときに、情報値は通信バスを通してホストデバイスへ転送され、処理ブロックの処理は、ホストデバイスから受信したクロック信号に従って調整される。したがって、本デバイスに関して本明細書で説明されるあらゆる特徴は、本方法にも適用可能である。
【0035】
本発明の実施形態のいくつかの例が、添付の概略図面を参照して以下の記載において、より詳細に説明される。
【図面の簡単な説明】
【0036】
【
図1】複数の電子コンポーネントからの、通信バスを通したホストデバイスへの情報の転送を制御するためのデバイスのコンポーネントの概略図である。
【
図2】
図1に示されるシステムのタイミング図である。
【
図3】
図1のシステムにおいて採用される処理ブロックの抽象図である。
【
図4】一実施形態による
図3の処理ブロックの内部詳細を示す図である。
【
図5】起こり得るメタステーブル状況を論じるための、
図4による処理ブロックのチェーンの2つのセグメントを示す図である。
【
図6】
図5に関して論じられたメタステーブル状況を避けるための、代替の実施形態による
図3の処理ブロックの内部詳細を示す図である。
【
図7】さらなる代替の実施形態による
図3の処理ブロックの内部詳細を示す図である。
【
図8】クロックゲーティングを利用した一実施形態のための回路図である。
【発明を実施するための形態】
【0037】
以下に説明する本発明の実施形態において、情報が読み出される電子コンポーネントは(空間的または論理的に)二次元アレイに配置される。各電子コンポーネントは光学センサの画素を表すフォトダイオードでもよく、または処理された光学センサの画素を表す、信号プロセッサの記憶デバイス内の素子でもよい。各電子コンポーネントに含まれる情報値は、ビット、バイト、またはアナログ値などの他の情報でもよい。光学センサに関する場合、情報値は、対応する画素におけるセンサによる光学的な量の変化についてのインディケータでもよい。以下の実施形態は電子コンポーネントの二次元アレイに関するが、電子コンポーネントの一次元アレイから情報を読み出すために同様のアプローチが実施されてもよい。この場合、以下で説明されるような処理ブロックの2つのチェーンの代わりに、処理ブロックの1つのチェーンのみが必要とされる。
【0038】
図1は、各電子コンポーネントからの情報が時分割多重方式でホスト(不図示)へ送信されることを可能とする通信バス4に接続された電子コンポーネントの二次元(2D)アレイ3を示す図である。通信バス4は、また、ホストに列インディケータ(x_addr)を供給する列エンコーダ(以下:xエンコーダ)と、ホストに行インディケータ(y_addr)を供給する行エンコーダ(以下:yエンコーダ)とに接続される。x_addrおよびy_addrは、所与の時間においてその情報値をホストに送信するために通信バス4にアクセスした特定の電子コンポーネントを特定する。通信バス4を通してホストデバイスにx_addrおよびy_addrを提示するために、列エンコーダおよび行エンコーダの両方は、また、通信バス4を通してホストデバイスに接続されることが可能である。
【0039】
電子コンポーネントの2Dアレイ3の読出しを制御するために、それぞれがアレイ3の列と関連付けられた処理ブロックの第1のチェーン1と、それぞれがアレイ3の行と関連付けられた処理ブロックの第2のチェーン2とが提供される。それによって、第1のチェーン1はアレイ3の列間においてバスアクセス時間を多重化するように指定され、第2のチェーンはアレイ3の行間において多重化するように指定される。
【0040】
3つのバス、すなわちinfo、x_addr、およびy_addr、の組み合わせと見なされ得る通信バス4に加えて、信号線のあらゆるセットが、バスへと組み合わされることが可能である。特に、各行および/または各列に対する選択信号および要求信号は個別のバスへと組み合わされることが可能である。例えば、以下において、2Dアレイ3への処理ブロックの第1のチェーン1へつながる要求信号のXの信号線を備えるx_req(1:x)バスへの参照がなされる。
【0041】
アレイ3は、Y行×X列の電子コンポーネントを含む。任意の行j、j∈[1:Y]、に対して、行要求信号y_req(j)および行選択信号y_sel(j)はこの行のすべての電子コンポーネントによって共有される。行jにおいて情報を有する電子コンポーネントがある場合は、y_req(j)=1である。行jにおいて情報を有する電子コンポーネントがない場合、y_req(j)=0である。y_req(1:Y)バス、すなわち値y_req(1)からy_req(Y)まで運ぶYの信号線を有するバスは、ホストにより生成される信号y_sampleによって更新される。任意の列i、i∈[1:X]、に対して、列要求信号x_req(i)および列選択信号x_sel(i)はこの列のすべての電子コンポーネントによって共有される。x_req(1:X)バス、すなわち値x_req(1)からx_req(X)まで運ぶXの信号線を有するバスは、任意の時において最大1行によってアクセスされることしかできない。y_sel(j)=1の場合、行jにおける電子コンポーネントがx_req(1:X)バスにアクセスする。y_sel(j)=1の間に、電子コンポーネント(i,j)が情報を有する場合に、x_req(i)=1となる。x_req(1:X)バスは、信号x_sample(ホストにより生成される行クロック信号y_clkから導出される)によって更新される。
【0042】
処理ブロックの第1のチェーン1は、X+1個の処理ブロックを有し、この場合、最初のX処理ブロックはx_req(1:X)を受信する。末端処理ブロックは、1にハードワイヤードされた信号x_req(X+1)を有し、その結果末端セグメントはスキップされない。これはさらに下で説明される。同様に、処理ブロックの第2のチェーン2はY+1個の処理ブロックを有し、この場合、最初のY処理ブロックはy_req(1:Y)を受信し、末端処理ブロックは1にハードワイヤードされたy_req(Y+1)を有する。
【0043】
第1のチェーン1は列選択信号x_sel(1:X+1)を発生し、これらは、x_addrバスまたは通信バス4のx_addr部を通してどの列アドレスをホストへ送信するかを決定するために、xエンコーダを制御する列選択信号x_sel(1:X+1)を発生する。第2のチェーン2は行選択信号y_sel(1:Y+1)を発生し、これらは、y_addrバスまたは通信バス4のy_addr部を通してどの行アドレスをホストへ送信するかを決定するために、yエンコーダを制御する行選択信号y_sel(1:Y+1)を発生する。信号x_sel(1:X)およびy_sel(1:Y)はともに、2Dアレイ3におけるどの電子コンポーネントが、2Dアレイ3から読み出された情報を運ぶ共有infoバスまたは通信バス4の部分にアクセスできるかを決定する。例えば、x_sel(i)=1およびy_sel(j)=1の場合、xエンコーダはx_addrバスを通して列iアドレスを送信し、yエンコーダはy_addrバスを通して行jアドレスを送信し、電子コンポーネント(i,j)は、共有infoバスにアクセスして、その情報をホストに送信する。x_addrバスおよびinfoバスの両方は、ホストにより生成される列クロック信号x_clkによって更新される。y_addrバスは、ホストにより生成される行クロック信号y_clkによって更新される。x_addrバス、y_addrバス、およびinfoバスのそれぞれまたはすべてがアクセスされていないとき、それらはそれぞれ一意の空値(empty value)にリセットされることによって、ホストは空値と有効値とを区別できる。
【0044】
さらに、ホストデバイスによって列サンプル信号x_sampleおよび行サンプル信号y_sampleが生成され、2Dアレイ3からの読出しを制御する。要約すると、システム全体、したがって通信バス4を通した2Dアレイ3からの情報の読出しはホストからの信号x_clk、x_rst、y_clk、y_rst、y_sampleによって制御される。信号x_sampleはy_clkから導出され、現在の場合y_clkと同一である。
【0045】
図2は、
図1に図示したシステムのタイミング図である。2Dアレイ3の走査プロセスを始めるため、y_sampleパルスはy_req(1:Y)バスにその値を更新させる。行リセット信号y_rstが依然として1である間に、y_clkにおけるパルスは第2のチェーン2をリセットする。導出されたx_sampleも1パルスを有し、それがx_req(1:X)バスにその値を更新させる。この場合、第2のチェーン2は依然としてリセットであり、y_sel(1:Y)のいずれも1ではなく、これはいずれの行もx_req(1:X)バスにアクセスできないことを意味し、よってx_req(1:X)=0である。また、いずれの行もyエンコーダにアクセスできないため、y_addrバスはy_clkパルスに従ってその空値にリセットされ、この場合、y_addr=0である。
【0046】
行リセット信号y_rstが0に切り換わった後、第2のチェーン2は、第2のチェーン2の最初から第2のチェーン2を通して立ち上がりエッジ信号を伝搬することによって走査を開始する。行jがy_req(j)=1を有すると仮定する。立ち上がりエッジ信号が、セグメントj、これは2Dアレイ3の電子コンポーネントの行jの略であるが、すなわち行jと関連付けられた第2のチェーン2の処理ブロックによって検出されると、セグメントjは、行クロック信号y_clkによってクロック制御されて、行jの行選択信号を1に等しく設定する、すなわちy_sel(j)=1。これによって、yエンコーダにy_addrバスを通してホストへ行jのアドレスを送信させる。同時に、y_sel(j)=1が行jをx_req(1:X)バスにアクセスさせるため、x_req(1:X)バスはx_sample(y_clk)パルスに従って行jから値をとる。
【0047】
列リセット信号x_rstが依然として1である間に、列クロック信号x_clkにおけるパルスは第1のチェーン1をリセットする。これはさらに下で説明される。いずれの列もxエンコーダにアクセスできないため、x_addrバスは列クロック信号x_clkパルスに従ってその空値にリセットされる。この場合、x_addr=0である。
【0048】
ホストデバイスが、有効な、すなわち特に空でない行アドレスy_addr値を受信すると、ホストは列リセット信号x_rstを0に設定し、第1のチェーン1は、第1のチェーン1の最初から初めて第1のチェーン1を通して立ち上がりエッジ信号を伝搬することによって走査を始める。列iがx_req(i)=1を有すると仮定すると、立ち上がりエッジ信号がセグメントiによって検出されると、セグメントiはx_sel(i)=1を設定し(x_clkによってクロック制御される)、これは、xエンコーダに、x_clkパルスに従ってx_addrバスを通してホストへ列iのアドレスを送信させる。同時に、y_sel(j)=1およびx_sel(i)=1であるため、電子コンポーネント(i,j)は、infoバスにアクセスして、x_clkパルスに従ってホストデバイスへその情報を送信する。
【0049】
第1のチェーン1に沿って伝搬する立ち上がりエッジ信号が第1のチェーン1の末端に到達すると、番号X+1を有する最後の処理ブロックすなわち末端の処理ブロックはx_sel(X+1)=1を設定する(x_clkによってクロック制御される)。それによって、xエンコーダは、x_clkパルスに従って、x_addrバスを通してホストデバイスへ末端アドレスx_endを送信する。一方、x_sel(1:X)=0なので、2Dアレイ3からの電子コンポーネントはinfoバスにアクセスできず、x_clkパルスに従ってinfoバスはすべて0にリセットされる。ホストがx_endを受信すると、ホストはx_rst=1を設定し、続いて行クロックy_clkパルスを生成する。
【0050】
第2のチェーン2に沿って伝搬する立ち上がりエッジ信号が第2チェーン2の末端に到着すると、番号Y+1を有する末端処理ブロックはy_sel(Y+1)=1を設定する(y_clkによってクロック制御される)。それによって、yエンコーダは、y_clkパルスに従って、y_addrバスを通してホストデバイスへその末端アドレスy_endを送信する。ホストデバイスがy_endを受信すると、ホストデバイスはy_rst=1を設定し、これはシステムが一度電子コンポーネントの2Dアレイ3全体の走査を1度完了したこと、および読出されるべき情報を含んだ全電子コンポーネントが適切にサービスされたことをシグナルする。その後、上述した2D走査プロセスは最初から繰り返されることが可能である。
【0051】
図3は、処理ブロック、すなわち
図1のシステムにおいて採用される第1のチェーン1または第2のチェーン2のセグメントの抽象図である。それぞれのチェーン1、2に沿って伝搬するスイッチングエッジ信号は、「前」信号prevとして処理ブロックに入り、「次」信号nextとして出る。各処理ブロックは2Dアレイ3の電子コンポーネントの行または列から要求信号reqを受信し、その行または列へ選択信号selを送信する。各処理ブロックは、ホストデバイスによって生成された、すなわちホストにより生成された、リセットrstおよびクロックclkによって制御される。
【0052】
各処理ブロックは、スイッチングエッジ信号を伝搬するために2つのパスの選択肢を含む:対応する行/列が情報を有する場合(req=1)、すなわちその処理ブロックと関連付けられた2Dアレイ3の行/列における少なくとも1つの電子コンポーネントが読出されるべき情報を含むとき、立ち上がりエッジはクロック制御されたサービスパスを通って伝搬する。対照的に、対応する行/列が情報を持たない場合(req=0)、立ち上がりエッジはクロック制御されないスキップパスを通って伝搬する。
【0053】
図4は、特に許可信号としての立ち上がりエッジ信号を用いた処理ブロックの内部詳細を示す図である。各処理ブロックは、パス論理回路(
図4aに図示)と、リセット論理回路(
図4bに図示)と、スキップパス回路(
図4cに図示)と、サービスパス回路(
図4dに図示)とを備える。さらに、処理ブロックは、
図4eに示される立ち上がりエッジ検出器を備える。本明細書において、反転要求信号nreqは要求信号reqのから反転された信号であり、反転クロック信号nclkはクロック信号clkから反転された信号である。req=1およびnreq=0は、対応する行/列が情報を有することを意味し、反対にreq=0およびnreq=1は対応する行/列が情報を有さないことを意味する。パス論理回路は、これらの入力を変換し、そこから、サービスパス回路およびスキップパス回路を制御するための論理入力を生成する。
【0054】
スキップパス回路は、入力prevから来た立ち上がりエッジ信号がスキップパスを移動するときに処理ブロックの出力nextに到着するために通過する必要のある、第1の中継器51および第2の中継器52を備える。一方、サービスパスは、
図4dで「presentDFF」として指定される第1のフリップフロップ、すなわちDフリップフロップと、
図4dで「pastDFF」として指定される第2のフリップフロップとを備える。サービスパスを通って行く場合、立ち上がりエッジ信号が処理ブロックを通過するためには、一般に1クロックサイクルが必要であり、一方、スキップパスを通って行く場合、それが処理ブロックを通過するためにはそのようなサイクルの何分の1かが必要である。一例として、クロック信号が、クロックサイクルが10nsの持続時間を有するようなものである場合、処理ブロックのいずれも2Dアレイ3の情報保持行/列と関連付けられておらず、したがって立ち上がりエッジ信号がそれらのスキップパスのみを移動するとき、立ち上がりエッジ信号は1クロックサイクル内に約200の処理ブロックを通過することができる場合がある。
【0055】
処理ブロックがリセットされたあと、prev=0およびpresent=0である。回路は以下の通り機能する:
【0056】
●rst=0のとき:
○req=1およびnreq=0であれば、パス論理はskip0=0、nskip0=1、skip1=0、nskip1=1を設定する。これによってスキップパス中継器51、52の両方がディセーブルとなることから、信号prevはpresentDFFの入力に接続され、presentDFFの出力は信号nextに接続される。立ち上がりエッジ信号はクロック制御されたサービスパスを通って伝搬する:時間tにおいて立ち上がりエッジ信号がpresentDFFの出力に到着すると仮定すると、present=1およびpast=0となり、これによって立ち上がりエッジが検出され、その後時間t+1において、立ち上がりエッジ検出器は対応する行/列にサービスするためにsel=1を設定する。
〇req=0およびnreq=1であれば、パス論理はskip0=1、nskip0=0、skip1=1、nskip1=0を設定し、これによって両方のスキップパス中継器51、52がイネーブルとなることから、信号prevはpresentDFFの入力から切り離され、presentDFFの出力は信号nextから切り離される。立ち上がりエッジ信号はクロック制御されないスキップパスを通って伝搬する。
【0057】
●rst=1のとき、reqおよびnreqの値にかかわらず、パス論理はskip1=0、nskip1=1、skip0=1、nskip0=0を設定し、それによって第1のスキップパス中継器51がプルアップのみとなり、第2のスキップパス中継器52がプルダウンのみとなることから、信号prevはpresentDFFの入力に接続され、presentDFFの出力は信号nextから切り離される。一方、リセット論理はclr=1を設定して、prevを0にリセットする。clr=1の間、presentを0にリセットするために1クロック信号clk期間が必要である。
【0058】
立ち上がりエッジ信号がクロック制御されないスキップパスを伝搬しているとき、それはもはや走査クロック信号clkに従わなくなり、伝搬時間はスキップパスの長さに依存する。換言すると、スキップされ得る、情報を持たない連続した行/列がいくつ存在するかに依存する。立ち上がりエッジ信号が、1クロックサイクルまたは周期よりも長い間、立ち上がりエッジ信号がクロック制御されるサービスパスを選択する次の処理ブロックに到着するまで、クロック制御されないスキップパス上を伝搬している場合、立ち上がりエッジ信号が、処理ブロックのセットアップとホールドタイム制約を満たすという保証はない。よって、メタステーブル状態が起こる場合がある。
【0059】
メタステーブル状態の起点は、立ち上がりエッジ信号がクロック制御されないスキップパスからクロック制御されるサービスパスへ伝搬するとき、立ち上がりエッジ信号が処理ブロック、特にフリップフロップのセットアップまたはホールドタイム制約に違反するという事実から生じる。したがって、1クロック周期の後、メタステーブルのフリップフロップの入力はクリーン1になるため、すなわち立ち上がりエッジが通過したため、メタステーブル状態の起点は最大で1クロックclk周期の間のみ継続することができる。よって、起点から伝搬されたあらゆるメタステーブル状態は、クロック制御されたサービスパスにおける任意の後続のフリップフロップにおいて最大で1クロック周期のみ継続できると仮定すると安全である。
【0060】
図5は、2つの処理ブロックのサービスパス、および立ち上がりエッジ検出器を示す図で、そのサービスパスを許可信号が続けて移動する。これらは、
図5aに示す処理ブロックのチェーン1、2における処理ブロックmと、
図5bに示されるそのチェーン1、2における次の処理ブロックnである。処理ブロックmとnとの間には他の処理ブロックがないか、またはいくつか存在する場合があり、さらに許可信号がそれらのいくつかの処理ブロックのスキップパスを通ってのみ伝搬することを明確にするため、処理ブロックmとnとの間の接続は点線によって示される。上記の仮定に基づくと、メタステーブル状態を起因として処理ブロックのチェーン1、2が障害を有する道筋は2つある:
【0061】
1.欠落障害は、情報を有し、それゆえサービスされる必要がある行/列が、代わりにスキップされたときに起こる。この状況は以下の通り説明できる:時間tにおいて、立ち上がりエッジ信号は、処理ブロックmのpresentDFFにメタステーブル出力0<present(m)<1を発生させる。時間t+1において、処理ブロックmの立ち上がりエッジ検出器がsel(m)=0または0<sel(m)<1を発生して処理ブロックmのpastDFFがpast(m)=1を発生した場合、時間t+2において、sel(m)=0となる(t+1において、present(m)=1およびpast(m)=1であるから)。したがって、サービスされる必要がある対応する行/列が代わりにスキップされるか、もしくは不十分にのみサービスされる。このシナリオは以下のように要約して説明され、ここで例えばpast(m)は
図5に示される処理ブロック(m)のpastDFFの出力を記述する:
time=t: 0<present(m)<1,
past(m)=0,
sel(m)=0
time=t+1: present(m)=1,
past(m)=1,
sel(m)<1
time=t+2: present(m)=1,
past(m)=1,
sel(m)=0
【0062】
2.衝突障害は、複数の行/列が同時にサービスされたときに起こる。この状況は以下の通り説明され得る:時間tにおいて、立ち上がりエッジ信号は処理ブロックmのpresentDFFにメタステーブル出力0<present(m)<1を発生させる。時間t+1において、処理ブロックmのpastDFFがpast(m)=0を発生したが、次の処理ブロックnのpresentDFF(クロック制御されたサービスパス上の)がpresent(n)=1を発生した場合、時間t+2において、処理ブロックmおよびnの立ち上がりエッジ検出器はsel(m)=1およびsel(n)=1を設定することになる。その結果、2つの対応する行/列が同時にサービスされる。このシナリオは以下のように要約して説明され、ここで例えばpast(n)は
図5に示される処理ブロック(n)のpastDFFの出力を記述する:
time=t: 0<present(m)<t,
past(m)=0,
present(n)=0,
past(n)=0,
sel(m)=0,
sel(n)=0
time=t+1: present(m)=1,
past(m)=0,
present(n)=1,
past(n)=0,
sel(m)=0/1,
sel(n)=0
time=t+2: present(m)=1,
past(m)=1,
present(n)=1,
past(n)=1,
sel(m)=1,
sel(n)=1
【0063】
上記2つの障害を防ぐため、処理ブロックはスイッチング閾値ディスパリティ技術を用いて実現される:
【0064】
1.欠落障害を防ぐため、立ち上がりエッジ検出器へのpresent入力は、pastDFFへの入力よりも低いスイッチング閾値を有するように設計されてもよい。
図5を参照して上で説明された欠落障害シナリオに戻ると:時間tにおいて、立ち上がりエッジ信号は処理ブロックmのpresentDFFにメタステーブル出力0<present(m)<1を発生させる。時間t+1において、処理ブロックmの立ち上がりエッジ検出器がsel(m)=0または0<sel(m)<1を発生する場合、処理ブロックmのpastDFFは、そのより高いスイッチング閾値に起因してpast(m)=0を発生しなければならない。よって、時間t+2において、処理ブロックmの立ち上がりエッジ検出器はsel(m)=1を発生することになるが、これは対応する行/列がサービスされることを保証する。
【0065】
2.衝突障害を防ぐため、presentDFFおよびスキップパス中継器51、52への入力は、pastDFFへの入力より高いスイッチング閾値を有するように設計されてもよい。
図5を参照して上で説明された衝突障害シナリオに戻ると:時間tにおいて、立ち上がりエッジ信号は処理ブロックmのpresentDFFにメタステーブル出力0<present(m)<1を発生させる。時間t+1において、処理ブロックmのpastDFFがpast(m)=0を発生すると、次の処理ブロックnのpresentDFF(クロック制御されたサービスパス上)は、presentDFFおよびスキップパス中継器51、52のより高いスイッチング閾値に起因してpresent(n)=0を発生しなければならない。この場合、時間t+2において、処理ブロックmの立ち上がりエッジ検出器はsel(m)=1を設定するが、処理ブロックnの立ち上がりエッジ検出器はsel(n)=0を設定し、したがって一度に1つの行/列のみがサービスされる。
【0066】
上記2つの対策によって、チェーン1、2は、メタステーブル状態を経験したにもかかわらず機能することができる。メタステーブル状態が起きた場合、最悪の場合のシナリオは、立ち上がりエッジが、クロック制御されたサービスパス上の次の処理ブロックへ伝搬するために、1つの追加のクロックサイクルまたはクロック周期を必要とすることである。
【0067】
欠落障害に対する対策(立ち上がりエッジ検出器へのpresent入力がpastDFFへの入力よりも低いスイッチング閾値を有する)および衝突障害に対する対策(presentDFFおよびスキップパス中継器への入力がpastDFFへの入力よりも高いスイッチング閾値を有する)の両方を実施するため、スイッチング閾値は以下の通り調節されてもよい:
- 立ち上がりエッジ検出器へのpresent入力は低いスイッチング閾値を有する、
- pastDFFへの入力は中間のスイッチング閾値を有する、および
- presentDFFおよびスキップパス中継器への入力の両方は高スイッチング閾値を有する。
【0068】
このスイッチング閾値ディスパリティ技術を実現する1つの方法を
図6に示す。ここでは、名称「lvt」は、対応するトランジスタ(FET)が低い電圧閾値を有することを意味し、名称「hvt」は、それが高い電圧閾値を有することを意味する。ラベルがないトランジスタは標準(中間)閾値を有する。
【0069】
図6aは、変形されたスキップパス回路を示す図であり、スキップパス中継器51、52は高スイッチング閾値を有するように変形されている。この目的のため、第1の中継器51の2つの相補型FETは異なる電圧閾値を有し、上方(サプライ側)のFETは低い電圧閾値を有する一方、下方(接地側)FETは高い電圧閾値を有する。
【0070】
図6bは、presentDFFへの入力のための高スイッチング閾値をも達成するための、
図6aの変形されたスキップパス回路の中継器51、52と同様の入力中継器を有するpresentDFFを示す図である。
図6cは、pastDFFのための変形された回路を示す図であり、ここでは、pastDFFの入力に2つの中継器が追加されており、それらは、FET電圧閾値がミスマッチしていない。結果として、正規のスイッチング閾値となる。ここでは、
図6bの変形されたpresentDFF回路を通した場合と、
図6cの変形されたpastDFF回路を通した場合の立ち上がりエッジ信号に対する同一の伝搬遅延を達成するために、2つの中継器が好ましい。
図6bおよび6cに示される2つの回路は、
図4dに示されるものと置き換える変形された処理ブロックを得るために組み合わされることが必要である。
【0071】
最後に、
図6dは変形された立ち上がりエッジ検出器を示す図であり、入力について全体的な低スイッチング閾値を得るために、相補型FET対が電圧閾値において変形されたものである。
【0072】
上で説明されたスイッチング閾値ディスパリティ状態またはスイッチング閾値ディスパリティ技術を実現する他のオプションおよび技術がある。
図7aは、
図6bに示されるものの代わりにpresentDFFに対して使用可能な高スイッチング閾値C2MOS-DFFの実施形態を示す図であり、
図7bは、
図6cに示されるものの代わりにpastDFFに対して使用可能な中間スイッチング閾値C2MOS-DFFの実施形態を示す図である。
【0073】
さらに、処理ブロックにおける電力消費を削減するためにクロックゲーティングを利用可能である。そのような実施形態の一例を
図8に示され、ここでは、クロック信号clkおよび否定クロック信号nclkは、ホストデバイスによって生成されるMainクロック信号を、処理ブロック回路からの様々な信号と組み合わせることによって得られる。これらの信号は:
図4および
図5に関連して論じられたリセット信号rst、要求信号req、pastおよびpresent信号である。Mainクロック信号を要求信号と組み合わせることが、情報を含んでいる電子コンポーネントまたは電子コンポーネントのセットと関連付けられた処理ブロックのみがクロック制御されることを確実とする。Mainクロック信号をリセット信号と組み合わせると、情報を含んでいる電子コンポーネントと関連付けられているか否かに関わらず、すべての処理ブロックがリセットされることが可能になることを確実とする。Mainクロック信号をpresentおよびpast信号と組み合わせると、立ち上がりエッジ信号が通過したとき、処理ブロックがもはやクロック制御されないことを確実にする。この後者のオプションは、許可信号としてパルスの代わりにスイッチングエッジ信号を有するという独自の利点である。
【0074】
以上の説明は、許可信号として立ち上がりエッジ信号を用いて動作する、情報の転送を制御するためのデバイスの実施形態を示す。さらに上述したように、立ち下がりエッジ信号を代わりに使用されることが可能であり、すなわち、論理ローから論理ハイへの切換えの代わりに論理ハイから論理ローへの値の切換えも使用可能である。
図4から
図7に示される回路は、デバイスが、許可信号として立ち下がりエッジ信号を用いて動作するために、以下の方法で変形される必要がある:
図4bにおいて、ANDゲートの後のトランジスタは、そのソースが以前は論理ロー値または接地に接続されており、今度は代わりに論理ハイ値に接続される。さらに、そのトランジスタのゲート上の信号は、反転されたclr信号nclrである。
図4cにおいて、nskip0およびnskip1のための信号入力は入れ替えられるとともに、skip0およびskip1のための信号入力も入れ替わる。立ち上がりエッジ信号の場合とは対照的に、ここではrst=1のとき、prev、next、およびpresentは1にリセットされなければならない。最後に、
図4eの立ち上がりエッジ検出器は、past入力の代わりにANDゲートへのpresent入力を反転することによって、立ち下がりエッジ検出器に変形される。
【0075】
これらの変形により、欠落障害が起こるシナリオは以下の通り要約して説明される(
図5に関連して上で説明されたものと同様):
time=t: 0<present(m)<1,
past(m)=1,
sel(m)=0
time=t+1: present(m)=0,
past(m)=0,
sel(m)<1
time=t+2: present(m)=0,
past(m)=0,
sel(m)=0
【0076】
さらに、衝突障害が起こるシナリオは、以下の通り要約して説明される(
図5に関連して上で説明されたものと同様):
time=t: 0<present(m)<t,
past(m)=1,
present(n)=1,
past(n)=1,
sel(m)=0,
sel(n)=0
time=t+1: present(m)=0,
past(m)=1,
present(n)=0,
past(n)=1,
sel(m)=0/1,
sel(n)=0
time=t+2: present(m)=0,
past(m)=0,
present(n)=0,
past(n)=0,
sel(m)=1,
sel(n)=1
【0077】
立ち下がりエッジ許可信号を用いた処理ブロックにおけるスイッチング閾値ディスパリティの実施は、以下の変形を除いて、
図6に示されるものと同様とすることができる:
図6a、6bおよび6dにおいて、低電圧閾値を有するトランジスタ(FET)は、高電圧閾値を有するトランジスタに置き換えられ、その逆も行われる。換言すると、「lvt」および「hvt」というラベルは
図6a、6bおよび6dにおいて入れ替えられている。さらに、信号入力presentおよびpastも、
図6dにおける立ち下がりエッジ検出器を得るために入れ替えられなければならない。
【0078】
最後に、立ち下がりエッジ許可信号の状況において、DFFにおける直接的なスイッチング閾値ディスパリティの代替の実施は、
図7aにおいてすべての低電圧閾値トランジスタを高電圧閾値トランジスタと入れ替え、その逆も行うことによって、
図7における回路と同様に実現されることが可能である。
【符号の説明】
【0079】
1 処理ブロックの第1のチェーン
11 xエンコーダ
2 処理ブロックの第2のチェーン
21 yエンコーダ
3 電子コンポーネントの2Dアレイ
4 通信バス
5 処理ブロック
51 第1のスキップパス中継器
52 第2のスキップパス中継器