(57)【要約】【課題】第1の電圧ドメインのデータ入力で入力データを受け入れ、第2の電圧ドメインでデータを出力する、非同期先入れ先出し(FIFO)バッファなどのデータ記憶デバイスを提供すること【解決手段】一実施形態によれば、装置はデータ記憶デバイスを含む。データ記憶デバイスに記憶されるべきデータは、データ記憶デバイス内に記憶される前に、第1の電圧ドメインから第2の電圧ドメインにレベルシフトされる。データ記憶デバイスは、第2の電圧ドメインによって電力供給される。装置は、第2の電圧ドメインによって電力供給され、データ記憶デバイスによって出力されたデータに応答する回路をさらに含む。【選択図】図１
2015232918.tif 000002
【特許請求の範囲】
【請求項１】
第1のクロックドメイン中のデータ記憶デバイスであって、データ記憶デバイスに記憶されるべきデータが、データ記憶デバイス内に記憶される前に、第1の電圧ドメインから第2の電圧ドメインにレベルシフトされ、データ記憶デバイスが前記第2の電圧ドメインによって電力供給される、データ記憶デバイスと、
前記第2の電圧ドメインによって電力供給される、第2のクロックドメイン中の回路であって、前記データ記憶デバイスによって出力されたデータに応答する回路と、
前記第1の電圧ドメインによって電力供給されるアドレス回路であって、前記データ記憶デバイスが前記アドレス回路の出力に応答し、前記アドレス回路はカウンタを備える、書込みカウンタと
を備える装置。
【請求項２】
前記データ記憶デバイスが、単一のデータ入力と、ビットレーンごとの複数のデータ出力とを有し、前記アドレス回路は書込みアドレス回路を備える、請求項1に記載の装置。
【請求項３】
前記単一のデータ入力に結合された第1のレベルシフタをさらに備え、前記第1のレベルシフタが、記憶されるべき前記データを前記第1の電圧ドメインに関連付けられた第1の電圧レベルから前記第2の電圧ドメインに関連付けられた第2の電圧レベルにレベルシフトするように構成される、請求項2に記載の装置。
【請求項４】
前記データ記憶デバイスで読取り動作および書込み動作を制御する制御論理部であって、クロック信号、書込みイネーブル信号、および書込みアドレス信号に応答する制御論理部と、
クロック入力をレベルシフトして、前記クロック信号を生成するように構成された第2のレベルシフタと、
書込みイネーブル入力をレベルシフトして、前記書込みイネーブル信号を生成するように構成された第3のレベルシフタと、
書込みアドレス入力をレベルシフトして、前記書込みアドレス信号を生成するように構成された第4のレベルシフタと
をさらに備える、請求項3に記載の装置。
【請求項５】
前記単一のデータ入力および前記複数のデータ出力がクロックドメインクロッシングによって分離される、請求項2に記載の装置。
【請求項６】
前記データ記憶デバイスが、非同期先入れ先出し(FIFO)バッファを含み前記カウンタはカウンタ値を記憶し、前記カウンタ値は前記非同期FIFOバッファの次の記憶ロケーションを指す、請求項1に記載の装置。
【請求項７】
前記非同期FIFOバッファが、複数のラッチ素子を含む、請求項6に記載の装置。
【請求項８】
前記非同期FIFOバッファが、前記第2の電圧ドメインに関連付けられた電圧レベルを有する出力を提供する、請求項7に記載の装置。
【請求項９】
データ記憶デバイスへのデータ入力信号を第1の電圧ドメインに関連付けられた第1の電圧レベルから第2の電圧ドメインに関連付けられた第2の電圧レベルにレベルシフトするステップであって、前記データ記憶デバイスが前記第2の電圧ドメインによって電力供給される、前記レベルシフトするステップであって、前記データ記憶デバイスが、前記第1の電圧ドメイン内にあるアドレス回路の出力に応答し、前記アドレス回路はカウンタを備えるステップと、
前記データ記憶デバイスの出力を前記第2の電圧ドメインによって電力供給される回路に送るステップであって、前記データ記憶デバイスが第1のクロックドメインにあり、前記回路が第2のクロックドメインにある、前記送るステップと
を含む方法。
【請求項１０】
前記データ入力信号に対応するデータを前記データ記憶デバイスで記憶するステップをさらに含む、請求項9に記載の方法。
【請求項１１】
前記データを記憶したことに応答して、前記アドレス回路の書込みポインタを更新するステップをさらに含む、請求項10に記載の方法。
【請求項１２】
前記データに対応する複数のデータ出力を前記データ記憶デバイスで生成するステップをさらに含む、請求項11に記載の方法。
【請求項１３】
前記データ入力信号が、クロックドメインクロッシングによって前記複数のデータ出力から分離される、請求項12に記載の方法。
【請求項１４】
前記複数のデータ出力を生成したことに応答して、読取りポインタを更新するステップをさらに含む、請求項13に記載の方法。
【請求項１５】
データを記憶するための手段であって、前記手段は第1のクロックドメイン中にあり、データ入力信号を受信するように構成された、手段と、
前記データ入力信号を第1の電圧ドメインに関連付けられた第1の電圧レベルから第2の電圧ドメインに関連付けられた第2の電圧レベルにレベルシフトするための手段であって、データを記憶するための前記手段が前記第2の電圧ドメインによって電力供給され、データを記憶するための前記手段が、前記第1の電圧ドメインによって電力供給される、アドレスを決定するための手段の出力に応答する、手段と、
を備える装置。
【請求項１６】
レベルシフトするための前記手段が、データを記憶するための前記手段の入力に結合されたレベルシフタを含む、請求項15に記載の装置。
【請求項１７】
レベルシフトするための前記手段の入力が前記第1の電圧ドメインに関連付けられ、レベルシフトするための前記手段の出力が前記第2の電圧ドメインに関連付けられる、請求項16に記載の装置。
【請求項１８】
第1の電圧源に関連付けられ、前記第1の電圧源によって電力供給される第1の回路要素を含む、第1の電圧ドメインと、
第2の電圧源に関連付けられ、前記第2の電圧源によって電力供給される第2の回路要素を含む、第2の電圧ドメインと、
前記第2の電圧ドメインによって電力供給されるデータ記憶デバイスと、
前記データ記憶デバイスの入力に結合されており、前記データ記憶デバイスで記憶されるべきデータを前記データ記憶デバイス内に記憶される前に前記第1の電圧ドメインから前記第2の電圧ドメインにレベルシフトするように構成されたレベルシフタと、
前記第1の電圧ドメインによって電力供給されるアドレス回路であって、前記データ記憶デバイスが前記アドレス回路の出力に応答し、前記アドレス回路はカウンタを備える、アドレス回路と、
を備えるデバイス。
【請求項１９】
電圧ドメインクロッシングが、前記第1の電圧ドメインと前記第2の電圧ドメインを分ける、請求項18に記載のデバイス。
【請求項２０】
前記データ記憶デバイスの入力が第1のクロックドメインに関連付けられ、前記データ記憶デバイスの出力が第2のクロックドメインに関連付けられ、クロックドメインクロッシングが前記第1のクロックドメインと前記第2のクロックドメインを分ける、請求項19に記載のデバイス。
【請求項２１】
前記データ記憶デバイスが、非同期先入れ先出し(FIFO)バッファを含み、前記非同期FIFOバッファが、クロック信号、書込みイネーブル信号、および書込みアドレス信号に応答する、請求項18に記載のデバイス。
【請求項２２】
前記カウンタは書込みカウンタであり、前記書込みカウンタは書込みカウンタ値を記憶し、前記書込みアドレス信号は、書き込まれるべき前記非同期FIFOバッファの次の記憶ロケーションを指し、前記書込みアドレス信号は前記書込みカウンタ値に基づいて生成される、請求項21に記載のデバイス。
【請求項２３】
前記書込みカウンタが、グレイカウンタまたはジョンソンカウンタである、請求項22に記載のデバイス。
【請求項２４】
前記第2の電圧ドメインで前記書込みカウンタ値を受け取る論理部をさらに含む、請求項22に記載のデバイス。
【請求項２５】
前記書込みカウンタ値を受け取る論理部が、前記第2の電圧ドメインによって電力供給される1対のラッチ素子を含む、請求項24に記載のデバイス。
【請求項２６】
読み取られるべき前記非同期FIFOバッファの次の記憶ロケーションを指す読取りカウンタ値を記憶するように構成された、前記第2の電圧ドメインによって電力供給される読取りカウンタをさらに備える、請求項25に記載のデバイス。
【請求項２７】
前記書込みカウンタ値を前記読取りカウンタ値と比較するように構成された第1の等価性チェック論理部をさらに備える、請求項26に記載のデバイス。
【請求項２８】
前記読取りカウンタが、グレイカウンタまたはジョンソンカウンタである、請求項27に記載のデバイス。
【請求項２９】
前記第1の電圧ドメインで前記読取りカウンタ値を受け取る論理部をさらに備える、請求項27に記載のデバイス。
【請求項３０】
前記読取りカウンタ値を受け取る論理部が、前記第1の電圧ドメインに配置された1対のラッチ素子を含む、請求項29に記載のデバイス。
【請求項３１】
前記書込みカウンタ値を前記読取りカウンタ値と比較するように構成された第2の等価性チェック論理部をさらに備える、請求項30に記載のデバイス。
【請求項３２】
FIFO深さ信号が、前記書込みカウンタ値および前記読取りカウンタ値に基づいて生成される、請求項29に記載のデバイス。
【請求項３３】
前記データ記憶デバイスに関連付けられた読取りアドレス回路をさらに備え、前記読取りアドレス回路は前記第2のクロックドメイン内にあり、前記第2の電圧ドメインによって電力供給される、請求項1に記載の装置。
【請求項３４】
入力 データ信号をレベルシフトしてレベルシフトされた入力データ信号を生成するように構成されたレベルシフタをさらに備え、前記アドレス回路は前記データ記憶デバイスに対する書込みアドレスを生成するように構成され、前記書込みアドレスは、前記レベルシフトされた入力データ信号が書込み動作中に書き込まれる第1のメモリロケーションに対応し、前記読取りアドレス回路は、前記データ記憶デバイスに対する読取りアドレスを生成するように構成され、前記読取りアドレスは、前記レベルシフトされた入力データ信号が読取り動作中に読み出される第2のメモリロケーションに対応する、請求項33に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般にデータ記憶および電圧ドメインクロッシングに関する。
【背景技術】
【０００２】
技術の進歩によって、コンピューティングデバイスはより小型にかつより高性能になっている。たとえば、現在では、小さく、軽量で、ユーザによって簡単に持ち運ばれる携帯型のワイヤレス電話、携帯情報端末(PDA)、およびページングデバイスなどのワイヤレスコンピューティングデバイスを含む、様々な携帯型のパーソナルコンピューティングデバイスが存在する。より具体的には、セルラー電話およびインターネットプロトコル(IP)電話などの携帯型のワイヤレス電話は、音声およびデータパケットを、ワイヤレスネットワークを介して通信することができる。さらに、多くのそのようなワイヤレス電話には、内部に他の種類のデバイスが組み込まれている。たとえば、ワイヤレス電話は、デジタルスチルカメラ、デジタルビデオカメラ、デジタルレコーダ、およびオーディオファイルプレーヤも含み得る。また、そのようなワイヤレス電話は、ウェブブラウザアプリケーションなど、インターネットにアクセスするために使用され得る実行可能命令を処理することができる。したがって、これらのワイヤレス電話は、高いコンピューティング能力を含み得る。
【０００３】
ワイヤレス電話および他のコンピューティングデバイスは、異なる電圧源によって電力供給される電子デバイスを含み得る。そのような電子デバイスは、電力消費を低減するために、異なる電圧源に関連付けられた電圧ドメインを分ける電圧ドメインクロッシングを含み得る。説明すると、電圧ドメインクロッシングは、遅延に敏感な回路要素に電力供給するために使用される高電圧源と、他の回路要素に電力供給するために使用される低電圧源とを分け得る。バッファなどの、データを記憶するメモリデバイスは、電圧ドメインクロッシングを介してデータを送信し得る。たとえば、メモリデバイスは、第1の電圧ドメイン内の単一の入力でデータを受け入れ、第2の電圧ドメインでデータの複数の出力を生成し得る。信号をある電圧ドメインから別の電圧ドメインにシフトするために、電圧ドメインクロッシングで複数のレベルシフタが使用され得る。さらに、単一のクロック信号を使用して電圧ドメインクロッシングを介してデータ信号を送ることは、クロックスキュー(たとえば、第1の電圧ドメインでのクロック信号と第2の電圧ドメインでのクロック信号との間の位相差)を引き起こし得るので、異なるクロックが異なる電圧ドメインに関連付けられ得る。したがって、クロックスキューを回避するために、レベルシフタはメモリの出力および電圧ドメインクロッシングに配置され得る。ただし、メモリデバイスの出力にレベルシフタを配置するには、通常、複数のレベルシフタ(たとえば、メモリの複数の出力の各々に対応するレベルシフタ)を必要とする。
【発明の概要】
【課題を解決するための手段】
【０００４】
第1の電圧ドメインのデータ入力で入力データを受け入れ、第2の電圧ドメインでデータを出力する、非同期先入れ先出し(FIFO)バッファなどのデータ記憶デバイスは、データ入力でレベルシフタを使用する。その結果、データ記憶デバイスで記憶されるべきデータは、そのデータをデータ記憶デバイス内に記憶する前に、レベルシフタによって第1の電圧ドメインのレベルから第2の電圧ドメインのレベルにレベルシフトされ得る。データ記憶デバイスの出力の代わりに、データ記憶デバイスの入力でレベルシフトすることにより、データ入力ごとの複数のデータ出力の各々に対応する複数のレベルシフタの代わりに、データ入力で単一のレベルシフタを使用し、それによってレベルシフタの数を低減することができる。データの読取りおよび書込みはデータ記憶デバイスで異なるクロック信号を使用して実行されるので、単一のクロック信号を使用して第1の電圧ドメインから第2の電圧ドメインにデータを送信することによって引き起こされ得るクロックスキューが回避され得る。
【０００５】
特定の実施形態では、装置はデータ記憶デバイスを含む。データ記憶デバイスに記憶されるべきデータは、データ記憶デバイス内に記憶される前に、第1の電圧ドメインから第2の電圧ドメインにレベルシフトされる。データ記憶デバイスは、第2の電圧ドメインによって電力供給される。装置は、第2の電圧ドメインによって電力供給され、データ記憶デバイスによって出力されたデータに応答する回路をさらに含む。
【０００６】
別の特定の実施形態では、方法は、データ記憶デバイスへのデータ入力信号を第1の電圧ドメインに関連付けられた第1の電圧レベルから第2の電圧ドメインに関連付けられた第2の電圧レベルにレベルシフトするステップを含む。データ記憶デバイスは、第2の電圧ドメインによって電力供給される。データ記憶デバイスの出力は、第2の電圧ドメインによって電力供給される回路に送られる。データ記憶デバイスは第1のクロックドメインにあり、回路は第2のクロックドメインにある。
【０００７】
別の特定の実施形態では、装置は、データを記憶するための手段を含む。装置は、データを記憶するための手段へのデータ入力信号を第1の電圧ドメインに関連付けられた第1の電圧レベルから第2の電圧ドメインに関連付けられた第2の電圧レベルにレベルシフトするための手段をさらに含む。データを記憶するための手段は、第2の電圧ドメインによって電力供給される。
【０００８】
別の特定の実施形態では、デバイスは、第1の電圧源に関連付けられた第1の電圧ドメインを含む。第1の電圧ドメインは、第1の電圧源によって電力供給される第1の回路要素を含む。デバイスは、第2の電圧源に関連付けられた第2の電圧ドメインをさらに含む。第2の電圧ドメインは、第2の電圧源によって電力供給される第2の回路要素を含む。デバイスは、第2の電圧ドメインによって電力供給されるデータ記憶デバイスと、データ記憶デバイスの入力に結合されたレベルシフタとをさらに含む。レベルシフタは、データ記憶デバイスで記憶されるべきデータを、データがデータ記憶デバイス内に記憶される前に、第1の電圧ドメインから第2の電圧ドメインにレベルシフトするように構成される。
【０００９】
本開示の他の態様、利点、および特徴は、以下のセクション、すなわち、図面の簡単な説明、発明を実施するための形態、および特許請求の範囲を含む、本出願全体の検討後に明らかになろう。
【図面の簡単な説明】
【００１０】
【図１】データ記憶デバイスへのデータ入力信号をレベルシフトする回路の特定の例示的な実施形態の図である。
【図２】データ記憶デバイスへのデータ入力信号をレベルシフトする回路の特定の例示的な実施形態の図である。
【図３】データ記憶デバイスの入力でデータ入力信号をレベルシフトする方法の特定の例示的な実施形態のフローチャートである。
【図４】データ記憶デバイスへのデータ入力信号をレベルシフトする回路を含む電子デバイスの図である。
【発明を実施するための形態】
【００１１】
図1を参照すると、データ記憶デバイスへのデータ入力信号をレベルシフトする回路の特定の例示的な実施形態が示され、全体的に100と表される。回路100は、第1の電圧ドメイン108と第2の電圧ドメイン112を分ける電圧ドメインクロッシング104を含む。
【００１２】
回路100は、第1のクロックドメイン120と第2のクロックドメイン124を分けるクロックドメインクロッシング116をさらに含む。クロックドメインクロッシング116は、データのダブルデータレート(DDR)転送に関連付けられ得る(たとえば、データは、第1のクロックドメイン120と第2のクロックドメイン124との間でクロックサイクルの立上りエッジと立下りエッジの両方で転送され得る)。
【００１３】
回路100は、データ記憶デバイス128をさらに含み得る。データ記憶デバイス128は、データ記憶デバイス128でデータを記憶するように構成された複数の記憶ロケーション(たとえば、ラッチ素子)を含み得る。たとえば、複数の記憶ロケーションは、第1のラッチ素子130、第2のラッチ素子134、第3のラッチ素子138、および第4のラッチ素子146を含み得る。
【００１４】
データ記憶デバイス128は、データ入力132および複数のデータ出力136を含み得る。データ記憶デバイス128は、ビットレーンごとの複数の出力(すなわち、データ入力132の各ビットレーンに対する複数の出力136)を含み得る。説明すると、データ記憶デバイス128が100ビット幅で8エントリの深さである場合、複数のデータ出力136は、800のデータ出力を含み得る。複数のデータ出力136はクロックドメインクロッシング116を横切る。
【００１５】
複数のデータ出力136は、出力論理142に結合され得る。出力論理142は、マルチプレクサ(MUX)を含み得る。出力論理142は、第2の電圧ドメイン112に関連付けられた電圧レベルを有する(出力データ144などの)出力を提供するように構成され得る。たとえば、出力論理142は、第2の電圧ドメイン112に関連付けられた電圧レベルでの出力データ144を、第2の電圧ドメイン112によって電力供給される回路122に提供するように構成され得る。回路122は、データ記憶デバイス128によって出力されたデータに応答する回路要素を含み得る。
【００１６】
レベルシフタ140は、データ記憶デバイス128に結合され得、データ入力132を介してデータをデータ記憶デバイス128に提供し得る。レベルシフタ140は、データ記憶デバイス128に記憶されるべきデータを第1の電圧ドメイン108に関連付けられた電圧レベルから第2の電圧ドメイン112に関連付けられた電圧レベルにレベルシフトするようにさらに構成され得る。説明すると、第1の電圧ドメイン108は、論理「1」ビットの「高」電圧レベルなどの論理値を表すために第1の電圧レベルを利用し得る。第2の電圧ドメインは、論理値を表すために異なる電圧レベルを(たとえば、論理「1」ビットを表すために異なる電圧レベルを)利用し得る。したがって、レベルシフタ140などのレベルシフタを使用して、第1の電圧ドメイン108と第2の電圧ドメイン112との間で送られるデータをレベルシフトすることが有益であり得る。レベルシフタは、トランジスタによって形成される論理ゲートなどの様々な方法で実装され得る。
【００１７】
回路100は、制御論理148を含み得る。制御論理148は、デマルチプレクサ(DMUX)を含み得る。制御論理148は、クロック信号152、書込みイネーブル信号156、書込みアドレス信号160、またはそれらの組合せに応答し得る。クロック信号152は、クロック入力154を介して制御論理148に提供され得る。さらに、書込みイネーブル信号156は、書込みイネーブル入力158によって制御論理148に提供され得、書込みアドレス信号160は書込みアドレス入力162によって制御論理148に提供され得る。図2を参照しながらさらに説明するように、制御論理148は、データ記憶デバイス128の読取り動作および書込み動作を制御し得る。たとえば、制御論理148は、書込みポインタおよび読取りポインタを使用して、データをデータ記憶デバイス128に書き込むための、またデータをデータ記憶デバイス128から読み取るための、データ記憶デバイス128内のアドレスを決定し得る。制御論理148は、データ記憶デバイス128が「フル」であり、データ記憶デバイス128が「フル」である間はデータをデータ記憶デバイス128に書き込むべきではないという判定にさらに応答し得る。図1はクロック入力154が書込みイネーブル入力158とは別個のものであることを示しているが、別の実施形態によれば、クロック信号152および書込みイネーブル信号156は単一のバスを介して制御論理148に提供される。
【００１８】
第2のレベルシフタ164はクロック入力154を受け入れるように結合され得、第3のレベルシフタ168は書込みイネーブル入力158を受け入れるように結合され得、第4のレベルシフタ170は書込みアドレス入力162を受け入れるように結合され得る。第2のレベルシフタ164は、クロック信号152を第1の電圧ドメイン108に関連付けられた電圧レベルから第2の電圧ドメイン112に関連付けられた電圧レベルにレベルシフトするように構成され得る。同様に、第3のレベルシフタ168は、書込みイネーブル信号156を第1の電圧ドメイン108に関連付けられた電圧レベルから第2の電圧ドメイン112に関連付けられた電圧レベルにレベルシフトするように構成され得る。第4のレベルシフタ170は、書込みアドレス信号160を第1の電圧ドメイン108に関連付けられた電圧レベルから第2の電圧ドメイン112に関連付けられた電圧レベルにレベルシフトするように構成され得る。
【００１９】
動作時、データ記憶デバイス128は、データ記憶デバイス128で記憶されるべきデータ144を受信し得る。データ144を記憶する前に、レベルシフタ140はデータ144をレベルシフトし得る。たとえば、レベルシフタ140は、データ144を第1の電圧ドメイン108に関連付けられた電圧レベルから第2の電圧ドメイン112に関連付けられた電圧レベルにレベルシフトし得る。
【００２０】
データ144を第2の電圧ドメイン112に関連付けられた電圧レベルにレベルシフトした後、レベルシフタ140はデータ入力132を介してデータ144をデータ記憶デバイス128に提供し得る。次いで、データ記憶デバイス128はデータ144を記憶し得、記憶されたデータは第2の電圧ドメイン112に送信され得る。特定の例示的な実施形態によれば、データ記憶デバイス128は、データを書き込み、読み取るために異なるクロックが使用される、非同期先入れ先出し(FIFO)バッファを含む。非同期FIFOバッファは、先入れ先出し方式に従って、データ144などのデータを出力し得る。
【００２１】
データ144を記憶した後、データ記憶デバイス128は複数のデータ出力136を介してデータ144を出力し得る。たとえば、データ記憶デバイス128は、制御論理148によって決定されたときにデータ144を出力し得る。出力論理142は、データ144を、第2の電圧ドメイン112によって電力供給される回路122などの、第2の電圧ドメイン112によって電力供給される回路要素にさらに提供し得る。
【００２２】
諒解されるように、複数のデータ出力136の代わりに、データ記憶デバイス128のデータ入力132でデータをレベルシフトすることにより、複数のデータ出力136の各々に対応する複数のレベルシフタの代わりに、データ入力132で単一のレベルシフタ140を使用し、それによってレベルシフタの数を低減することができる。たとえば、複数の出力136の各々がデータ入力132の各ビットレーンのデータビットを生成する場合、複数の出力136の各々でデータビットをレベルシフトする代わりに、データ入力132でデータビットをレベルシフトすることによって領域が節約される。さらに、データの読取りおよび書込みはデータ記憶デバイス128で異なるクロック信号を使用して実行されるので、単一のクロック信号を使用して第1の電圧ドメイン108から第2の電圧ドメイン112にデータを送信することによって引き起こされ得るクロックスキューが回避され得る。
【００２３】
図2を参照すると、データ記憶デバイスへのデータ入力信号をレベルシフトする回路の特定の例示的な実施形態が示され、全体的に200と表される。回路200は、図1の回路100のいくつかの要素を参照することによって説明され得る。たとえば、回路200は、図1の第1の電圧ドメイン108、第2の電圧ドメイン112、電圧ドメインクロッシング104、第1のクロックドメイン120、第2のクロックドメイン124、クロックドメインクロッシング116、データ記憶デバイス128、データ入力132、複数のデータ出力136、レベルシフタ140、出力論理142、制御論理148、クロック入力154、書込みイネーブル入力158、および書込みアドレス入力162、またはこれらの組合せを参照して説明され得る。
【００２４】
回路200は、第1のクロックドメイン120に関連付けられた第1の回路要素を含み得る。たとえば、第1の回路要素は、データ記憶デバイス128で実行される書込み動作に応答する書込みカウンタ203を含み得る。書込みカウンタ203は、グレイカウンタまたはジョンソンカウンタなどの、一度に1ビット変更することによって「カウントする」カウンタであってもよい。第1の回路要素は、第1の同期ラッチ素子219および第2の同期ラッチ素子221によって形成される第1の準安定性シンクロナイザ251などの、第1の組の同期ラッチ素子をさらに含み得る。第1の回路要素は、第1の等価性チェック論理223、第1のグレイ-バイナリ(GTB)回路229、および第2のGTB回路233をさらに含み得る。
【００２５】
回路200は、第2のクロックドメイン124に関連付けられた第2の回路要素をさらに含み得る。第2の回路要素は、読取りカウンタ215を含み得る。読取りカウンタ215は、グレイカウンタまたはジョンソンカウンタなどの、一度に1ビット変更することによって「カウントする」カウンタであってもよい。第2の回路要素は、第3の同期ラッチ素子207および第4の同期ラッチ素子209によって形成される第2の準安定性シンクロナイザ253などの、第2の組の同期ラッチ素子をさらに含み得る。第2の回路要素は、第2の等価性チェック論理211をさらに含み得る。
【００２６】
動作時、データ入力信号はレベルシフタ140で受信され得る。レベルシフタ140は、データ入力信号を第1の電圧ドメイン108に関連付けられた電圧レベルから第2の電圧ドメイン112に関連付けられた電圧レベルにレベルシフトし得る。レベルシフトされたデータ入力信号は、データ記憶デバイス128に書き込まれ得る。レベルシフトされたデータ入力信号を書き込んだことに応答して、書込みカウンタ203で記憶される書込みカウンタ値が増分され得る。たとえば、書込みカウンタ値は「000」から「001」に増分されて、データがデータ記憶デバイス128に書き込まれ、データ記憶デバイス128から読み取られるのに利用可能であることを示し得る。
【００２７】
書込みカウンタ値は、第1のクロックドメイン120から第2のクロックドメイン124に送られ得る。たとえば、書込みカウンタ値は、第3の同期ラッチ素子207に送られ得る。書込みカウンタ値は、新しいデータがデータ記憶デバイス128に書き込まれたことに応答して、または所定の間隔(たとえば、各クロックサイクル)で、第2のクロックドメイン124に送られ得る。
【００２８】
第2の準安定性シンクロナイザ253は書込みカウンタ値を受信し得、書込みカウンタ値を第2のクロックドメイン124に関連付けられたクロック信号と同期させ得る。書込みカウンタ値を同期させることは、第2のクロックドメイン124に関連付けられたクロック信号の2つのサイクルの間に実行され得る。
【００２９】
第2の等価性チェック論理211は、書込みカウンタ値を読取りカウンタ215で記憶された読取りカウンタ値と比較し得る。書込みカウンタ値が読取りカウンタ値とは異なる場合、データがデータ記憶デバイス128から読み取られるのに利用可能であるという判定が行われ得る。たとえば、書込みカウンタ値が「001」であり、読取りカウンタ値が「000」である場合、データがデータ記憶デバイス128に書き込まれたという判定が行われ得る。
【００３０】
有効な信号213は、書込みカウンタ値が読取りカウンタ値とは異なるときに生成され、データがデータ記憶デバイス128から読み取られるのに利用可能であることを示し得る。読み取られるデータのアドレスを示す読取りアドレス信号231は出力論理142に提供され、複数のデータ出力136からのデータを出力論理142によって出力させ得る。
【００３１】
データを出力したことに応答して、読取りカウンタ215が増分されて、データがデータ記憶デバイス128から読み取られたことを示し得る。たとえば、読取りカウンタ215の読取りカウンタ値は「000」から「001」に増分され得る。次いで、読取りカウンタ値は第1のクロックドメイン120に送信され得る。一般に、読取りカウンタ値は、データがデータ記憶デバイス128から読み取られたことに応答して、または所定の間隔(たとえば、各クロックサイクル)で、第1のクロックドメイン120に送られ得る。
【００３２】
第1の準安定性シンクロナイザ251は読取りカウンタ値を受信し得、第1のクロックドメイン120に関連付けられたクロック信号に従って読取りカウンタ値を同期させ得る。読取りカウンタ値を同期させることは、第1のクロックドメイン120に関連付けられたクロック信号の2つのサイクルの間に実行され得る。
【００３３】
第1の等価性チェック論理223は、読取りカウンタ値を書込みカウンタ値と比較して、データ記憶デバイス128が「フル」かどうか(たとえば、データ記憶デバイス128の記憶ロケーションがデータを書き込むのに利用可能かどうか)を判定し得る。たとえば、第1の等価性チェック論理223が、読取りカウンタ値および書込みカウンタ値が同じ記憶ロケーションを指していないと判定した場合、データ記憶デバイス128がフルではなく、記憶ロケーションがデータを記憶するのに利用可能であるという判定が行われ得る。読取りポインタが書込みポインタに「追い付いた」(たとえば、データ記憶デバイス128で記憶されたすべてのデータが読み取られた)ので、第1の等価性チェック論理223が、読取りカウンタ値および書込みカウンタ値はそれぞれ、同じ記憶ロケーションを指していると判定した場合、データ記憶デバイス128が空であるという判定が行われ得る。書込みポインタが読取りポインタに「追い付いた」(たとえば、データ記憶デバイス128におけるすべての記憶ロケーションがデータを記憶している)ので、第1の等価性チェック論理223が、読取りカウンタ値および書込みカウンタ値はそれぞれ、同じ記憶ロケーションを指していると判定した場合、データ記憶デバイス128がフルであるという判定が行われ得る。
【００３４】
FIFO深さ信号227は、書込みカウンタ値および読取りカウンタ値に基づいて生成され得る。FIFO深さ信号227は、データ記憶デバイス128の「深さ」(たとえば、利用可能な記憶)を示し得る。FIFO深さ信号227を生成するために、書込みカウンタ値は第1のGTB回路229によってグレイコード表現からバイナリ表現に変換され得る。同様に、読取りカウンタ値は第2のGTB回路233によってグレイコード表現からバイナリ表現に変換され得る。第1のGTB回路229からの出力および第2のGTB回路233からの出力は、FIFO深さ信号227を生成する論理演算ユニット230に入力される。
【００３５】
諒解されるように、複数のデータ出力136の代わりに、データ記憶デバイス128のデータ入力132でデータをレベルシフトすることにより、複数のデータ出力136の各々に対応する複数のレベルシフタの代わりに、データ入力132で単一のレベルシフタ140を使用し、レベルシフタの数を低減することができる。たとえば、複数の出力136の各々がデータ入力132の各ビットレーンのデータビットを生成する場合、複数の出力136の各々でデータビットをレベルシフトする代わりに、データ入力132でデータビットをレベルシフトすることによって領域が節約される。さらに、データの読取りおよび書込みはデータ記憶デバイス128で異なるクロック信号を使用して実行されるので、単一のクロック信号を使用して第1の電圧ドメイン108から第2の電圧ドメイン112にデータを送信することによって引き起こされ得るクロックスキューが回避され得る。
【００３６】
図3を参照すると、データ記憶デバイスの入力でデータ入力信号をレベルシフトする方法の特定の例示的な実施形態の流れ図が示され、全体的に300と表される。方法300は、電圧ドメインクロッシングを含む回路で実行され得る。たとえば、方法300は、図1の回路100、図2の回路200、またはこれらの組合せで実行され得る。
【００３７】
方法300は、データ記憶デバイスへのデータ入力信号を第1の電圧ドメインに関連付けられた第1の電圧レベルから第2の電圧ドメインに関連付けられた第2の電圧レベルにレベルシフトするステップを含み、310で、データ記憶デバイスは第2の電圧ドメインによって電力供給される。特定の例示的な実施形態では、データ記憶デバイスは、図1および図2のデータ記憶デバイス128である。さらに、第1の電圧ドメインは図1および図2の第1の電圧ドメイン108であってもよく、第2の電圧ドメインは図1および図2の第2の電圧ドメイン112であってもよい。
【００３８】
方法300は、320で、データ入力信号に対応するデータをデータ記憶デバイスで記憶するステップをさらに含み得る。特定の例示的な実施形態では、データ記憶デバイスは非同期先入れ先出し(FIFO)バッファを含み、データは先入れ先出し方式に従って記憶され、読み取られる。データを記憶することは、図1および図2の制御論理148などの制御論理によって制御され得る。
【００３９】
方法300は、330で、データを記憶したことに応答して、書込みポインタを更新するステップをさらに含み得る。書込みポインタは、図2の書込みカウンタ203の書込みカウンタ値であってもよい。
【００４０】
方法300は、340で、データに対応する複数のデータ出力をデータ記憶デバイスで生成するステップをさらに含み得る。たとえば、データは、図1および図2の複数のデータ出力136で生成され得る。複数のデータ出力を生成することは、図1および図2の出力論理142によって少なくとも部分的に制御され得る。
【００４１】
方法300は、350で、複数のデータ出力を生成したことに応答して、読取りポインタを更新するステップをさらに含み得る。たとえば、読取りポインタは、図2の読取りカウンタ215の読取りカウンタ値であってもよい。
【００４２】
図4を参照すると、データ記憶デバイスへのデータ入力信号をレベルシフトする回路を含む電子デバイスが示され、全体的に400と表される。電子デバイス400は、図1の回路100、図2の回路200、またはこれらの組合せの構成要素を含む。さらに、図3を参照しながら説明する方法300のすべてまたは一部は、電子デバイス400で実行され得る。
【００４３】
電子デバイス400は、処理ユニット410などの処理ユニットを含む。処理ユニット410は、第1の電圧ドメイン108などの第1の電圧ドメインと、第2の電圧ドメイン112などの第2の電圧ドメインを分ける電圧ドメインクロッシング104を含み得る。処理ユニット410は、第2の電圧ドメインによって電力供給されるデータ記憶デバイス128をさらに含み得る。レベルシフタ140は、データを、データ記憶デバイス128内に記憶される前に、第1の電圧ドメイン108から第2の電圧ドメイン112にレベルシフトし得る。
【００４４】
処理ユニット410は、メモリ432に結合され得る。メモリ432は、処理ユニット410によって実行可能な、命令433などのプロセッサ実行可能命令を記憶し得る。メモリ432は、処理ユニット410によって命令433のうちの1つまたは複数を実行した結果などのデータ435をさらに記憶し得る。データ435は、図1および図2のデータ144であってもよい。メモリ432は、非一時的(たとえば、有形)記憶媒体であってもよい。非一時的記憶媒体の例としては、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、および電気消去可能プログラマブル読取り専用メモリ(EEPROM)が挙げられる。
【００４５】
ディスプレイコントローラ426は、処理ユニット410およびディスプレイ428に結合され得る。コーダ/デコーダ(コーデック)434は、処理ユニット410に結合され得る。スピーカ436およびマイクロフォン438は、コーデック434に結合され得る。電子デバイス400は、処理ユニット410とワイヤレスアンテナ442とに結合されたワイヤレスコントローラ440をさらに含む。
【００４６】
特定の実施形態では、処理ユニット410、ディスプレイコントローラ426、メモリ432、コーデック434、およびワイヤレスコントローラ440は、システムインパッケージデバイスまたはシステムオンチップデバイス422に含まれる。特定の実施形態では、入力デバイス430および電源444は、システムオンチップデバイス422に結合される。さらに、特定の実施形態では、図4に示すように、ディスプレイ428、入力デバイス430、スピーカ436、マイクロフォン438、ワイヤレスアンテナ442、および電源444は、システムオンチップデバイス422の外部にある。ただし、ディスプレイ428、入力デバイス430、スピーカ436、マイクロフォン438、ワイヤレスアンテナ442、および電源444の各々は、インターフェースまたはコントローラなどの、システムオンチップデバイス422の構成要素に結合され得る。
【００４７】
電子デバイス400は、第1の電圧ドメイン108によって電力供給される第1の回路要素および第2の電圧ドメイン112によって電力供給される第2の回路要素を含み得る。処理ユニット410は、第1の電圧ドメイン108および第2の電圧ドメイン112を有する。処理ユニット410のいくつかの回路または構成要素は第1の電圧ドメイン108にあってもよく、処理ユニット410の他の構成要素または回路は第2の電圧ドメイン112にあってもよい。ディスプレイコントローラ426は第1の電圧ドメイン108によって電力供給され得、ワイヤレスコントローラ440は第2の電圧ドメイン112によって電力供給され得る。ワイヤレスコントローラ440は、データ記憶デバイス128によって出力されたデータ(たとえば、データ435)に応答し得る。処理ユニット410は、データ記憶デバイス128と、ワイヤレスコントローラ440への出力との間にクロックドメインクロッシング116を含む。第1の電圧ドメイン108および第2の電圧ドメイン112は処理ユニット410中に示されているが、電子デバイス400中の他の構成要素は第1の電圧ドメイン108、第2の電圧ドメイン112、または異なる電圧ドメインにあってもよい。
【００４８】
図1〜図4の開示された回路および方法に関連して、装置はデータを記憶するための手段(たとえば、図1、図2、および図4のデータ記憶デバイス128)を含む。装置は、データを記憶するための手段へのデータ入力信号を第1の電圧ドメイン(たとえば、図1、図2、および図4の第1の電圧ドメイン108)に関連付けられた第1の電圧レベルから第2の電圧ドメイン(たとえば、図1、図2、および図4の第2の電圧ドメイン112)に関連付けられた第2の電圧レベルにレベルシフトするための手段(たとえば、図1、図2、および図4のレベルシフタ140)をさらに含む。データを記憶するための手段は、第2の電圧ドメインによって電力供給され得る。図4は処理ユニット410中に含まれるレベルシフタ140を示しているが、レベルシフタ140は、複数の電圧ドメインを分離するために電圧ドメインクロッシングを利用する任意の電子構成要素に常駐し得ることを諒解されたい。
【００４９】
本明細書で開示された実施形態に関して説明した様々な例示的な論理ブロック、構成、モジュール、回路、およびステップは、電子ハードウェア、プロセッサ実行可能命令、または両方の組合せとして実装され得ることを、当業者はさらに諒解されよう。様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップについて、それらの機能に関して上記に概略的に説明してきた。そのような機能がハードウェアとして実装されるか、プロセッサ実行可能命令として実装されるかは、特定の用途およびシステム全体に課された設計制約により決まる。当業者は、説明した機能を特定の用途ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈すべきではない。
【００５０】
本明細書で開示された実施形態に関して説明した方法またはプロセスのステップは、直接ハードウェアで具体化されるか、プロセッサによって実行される命令で具体化されるか、またはその2つの組合せで具体化され得る。プロセッサ実行可能命令は、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、または当技術分野で知られている任意の他の形態の記憶媒体に常駐し得る。例示的な非一時的(たとえば、有形)記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であってもよい。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)に常駐し得る。ASICは、コンピューティングデバイスまたはユーザ端末に常駐し得る。代替として、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末に、個別の構成要素として常駐し得る。
【００５１】
開示された実施形態の上記の説明は、当業者が、開示された実施形態を作成または使用することができるように与えられる。これらの実施形態に対する様々な修正が、当業者には容易に明らかとなり、本明細書で定義される原理は、本開示の範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本開示は、本明細書に示す実施形態に限定されることは意図されず、以下の特許請求の範囲によって定義されるような、原理および新規の特徴と矛盾しない、可能な最大の範囲を認められるべきである。
【符号の説明】
【００５２】
100  回路
104  電圧ドメインクロッシング
108  第1の電圧ドメイン
112  第2の電圧ドメイン
116  クロックドメインクロッシング
120  第1のクロックドメイン
122  回路
124  第2のクロックドメイン
128  データ記憶デバイス
130  第1のラッチ素子
132  データ入力
134  第2のラッチ素子
136  複数のデータ出力
138  第3のラッチ素子
140  レベルシフタ
142  出力論理
144  データ
146  第4のラッチ素子
148  制御論理
152  クロック信号
154  クロック入力
156  書込みイネーブル信号
158  書込みイネーブル入力
160  書込みアドレス信号
162  書込みアドレス入力
164  レベルシフタ
168  レベルシフタ
170  レベルシフタ
200  回路
203  書込みカウンタ
207  第3の同期ラッチ素子
209  第4の同期ラッチ素子
211  第2の等価性チェック論理
213  有効な信号
215  読取りカウンタ
219  第1の同期ラッチ素子
221  第2の同期ラッチ素子
223  第1の等価性チェック論理
227  FIFO深さ信号
229  第1のグレイ-バイナリ(GTB)回路
230  論理演算ユニット
231  読取りアドレス信号
233  第2のGTB回路
251  準安定性シンクロナイザ
253  準安定性シンクロナイザ
300  方法
400  電子デバイス
410  処理ユニット
422  システムオンチップデバイス
426  ディスプレイコントローラ
428  ディスプレイ
430  入力デバイス
432  メモリ
433  命令
434  コーデック
435  データ
436  スピーカ
438  マイクロフォン
440  ワイヤレスコントローラ
442  ワイヤレスアンテナ
444  電源
【図１】
2015232918.tif 000003
【図２】
2015232918.tif 000004
【図３】
2015232918.tif 000005
【図４】
2015232918.tif 000006