(57)【要約】  【課題】  消費電力が少なく、転送されるデータを漏れなく正確に取得できる半導体論理装置を提供することを目的とする。  【解決手段】  データ入力保持部２に入力されるデータは、カウンタ１３のカウント値に応じて指定されるアドレスに保持される。一方、データ出力部３より出力されるデータは、カウンタ２１のカウント値に応じて指定されるアドレスより読み出される。カウンタ１３は、データイネーブル信号の立ち上がりとともにリセット処理が施され、カウンタ２１はデータイネーブル信号が遅延回路４によって所定時間遅延された信号の立ち上がりとともにリセット処理が施される。遅延回路４によって遅延処理が施されるため、読出し指示が与えられる時点では、入力されたデータがすでに確定しており、これによってデータを正しく転送することが可能となる。  【選択図】      図２
2006319635.tif 000002
【特許請求の範囲】
【請求項１】
外部クロック信号に同期してデータの転送を行う半導体論理装置であって、
第１のクロック信号が入力されるとともに、外部から入力されるデータを前記第１のクロック信号に同期して一時的に所定のアドレスに保持するデータ入力保持部と、
入力される前記第１のクロック信号のクロック数に応じてカウントアップされる第１のカウンタと、
前記データ入力保持部にデータが入力されているか否かを示す信号であるデータイネーブル信号が入力されるとともに、所定のタイミングで前記第１のカウンタのカウント値をリセットする第１のカウンタ制御回路と、
第２のクロック信号が入力されるとともに、入力されるクロック数に応じてカウントアップされる第２のカウンタと、
前記第２のクロック信号が入力されるとともに、前記第１のカウンタ制御回路に入力される前記データイネーブル信号を所定時間遅延させる遅延回路と、
前記遅延回路によって遅延処理が施された前記データイネーブル信号が入力されるとともに、所定のタイミングで前記第２のカウンタのカウント値をリセットする第２のカウンタ制御回路と、
第１のクロック信号が入力されるとともに、前記データ入力保持部で保持されたデータを前記第２のクロック信号に同期して所定のアドレスより読み出して後段に出力するデータ出力部と、を備え、
前記データ入力保持部が、データが入力された時点で前記第１のカウンタが示すカウント値に応じて定まる一のアドレスに当該データを保持し、
前記データ出力部が、前記第２のカウンタが示すカウント値に応じて定まる一のアドレスからデータを読み出して後段に出力することを特徴とする半導体論理装置。
【請求項２】
前記第１のカウンタ制御回路が、入力される前記データイネーブル信号の立ち上がりに応じて前記第１のカウンタのカウント値をリセットし、
前記第２のカウンタ制御回路が、入力される遅延処理後の前記データイネーブル信号の立ち上がりに応じて前記第２のカウンタのカウント値をリセットすることを特徴とする請求項１に記載の半導体論理装置。
【請求項３】
前記第１のカウンタ制御回路が、入力される前記データイネーブル信号の立ち下がりに応じて前記第１のカウンタのカウント値をリセットし、
前記第２のカウンタ制御回路が、入力される遅延処理後の前記データイネーブル信号の立ち下がりに応じて前記第２のカウンタのカウント値をリセットすることを特徴とする請求項１に記載の半導体論理装置。
【請求項４】
前記データイネーブル信号がＬｏｗ状態である期間については、前記第１のクロック信号が入力されても前記第１のカウンタがカウントアップ動作を行わず、
遅延処理後の前記データイネーブル信号がＬｏｗ状態である期間については、前記第２のクロック信号が入力されても前記第２のカウンタがカウントアップ動作を行わないことを特徴とする請求項３に記載の半導体論理装置。
【請求項５】
前記データ入力保持部が、複数段からなるフリップフロップ回路と比較器とで構成されることを特徴とする請求項２〜請求項４のいずれかに記載の半導体論理装置。
【請求項６】
前記遅延回路が、１以上のフリップフロップ回路で構成されることを特徴とする請求項２〜請求項５のいずれかに記載の半導体論理装置。
【請求項７】
請求項１〜請求項６のいずれかに記載の半導体論理装置を備える電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体論理装置に関し、特に外部クロック信号に同期動作する論理回路を備えた半導体論理装置に関するものである。また本発明は、この半導体論理装置を備える電子機器に関するものである。
【背景技術】
【０００２】
外部クロック信号に同期してデータの転送を行う従来の半導体論理装置の構成を図４に示す。図４に示す半導体論理装置９００は、データが所定のタイミングで入力されるとともに当該データが一定期間保持されるデータ入力保持部９０１と、データ入力保持部９０１で保持されたデータを所定のタイミングで読み出して出力するデータ出力部９０２とで構成される。
【０００３】
また、データ入力保持部９０１にはデータを入力するタイミングを決定するクロック信号ＣＬ９１が入力され、データ出力部９０２にはデータを読み出して出力するタイミングを決定するクロック信号ＣＬ９２が入力される。
【０００４】
このクロック信号ＣＬ９１及びＣＬ９２は、同一周波数のクロック信号であり、これらのクロック信号の間には書き込みタイミングと読み出しタイミングの遅延を考慮した所定の位相差を設けるのが通常である。
【０００５】
図５は、図４に示す半導体論理装置９００においてデータの書込及び読み出しを行うタイミングを示すタイミングチャートである。
【０００６】
データ入力保持部９０１は、クロック信号ＣＬ９１が立ち上がる（ＬｏｗレベルからＨｉｇｈレベルに変化する）タイミングでデータ信号を取り込むとともに、一時的にこのデータを格納し、データ出力部９０２は、この後にクロック信号ＣＬ９２が立ち上がる（ＬｏｗレベルからＨｉｇｈレベルに変化する）タイミングで、データ入力保持部９０１に格納されたデータを読み出して出力する。
【０００７】
例えば、クロック信号ＣＬ９２が、図５に示すクロック信号ＣＬ９２−１のような構成である場合、ＣＬ９１の立ち上がりタイミングＴ９１−１の時点のデータ信号Ｄ９１がデータ入力保持部９０１に取り込まれ、この時刻Ｔ９１−１の次のクロック信号ＣＬ９２の立ち上がりタイミングＴ９２−１１の時点で、データ出力部９０２がデータ入力保持部９０１からデータ信号Ｄ９１を取り出して出力する。
【０００８】
以下、同様に、時刻Ｔ９１−２の時点でデータ信号Ｄ９２がデータ入力保持部９０１に取り込まれ、時刻Ｔ９２−１２の時点でデータ出力部９０２がデータ入力保持部９０１からデータ信号Ｄ９２を取り出して出力する。また、時刻Ｔ９１−３の時点でデータ信号Ｄ３がデータ入力保持部９０１に取り込まれ、時刻Ｔ９２−１３の時点でデータ出力部９０２がデータ入力保持部９０１からデータ信号Ｄ３を取り出して出力する。
【０００９】
しかしながら、クロック信号ＣＬ９１とＣＬ９２との間には、回路の引き回し等の基盤の設計状態あるいは温度条件などによって、信号間の位相差が変化する場合がある。
【００１０】
この場合、例えば、クロック信号ＣＬ９２が、図５に示すＣＬ９２−２のような信号であった場合、この信号の立ち上がりタイミングＴ９２−２１の時点におけるデータ入力保持部９０１が保持しているデータ信号はＤ９１かＤ９２かが確定せず、正しいデータ信号を取得できないという問題が発生する。
【００１１】
この問題を解決するために、データ出力部９０２に入力されるクロック信号ＣＬ９２の周波数をＣＬ９１の周波数の２倍にすることで、データが確定していないときにＣＬ９２の立ち上がりが発生した場合でも、次の立ち上がり信号によって正しく取得できる構成とした半導体論理回路が開示されている（例えば、特許文献１参照）
【特許文献１】特開平９−１４８９０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
特許文献１に記載のように、データ出力部９０２に入力されるクロック信号ＣＬ９２の周波数をＣＬ９１の周波数の２倍にした場合、すなわち例えばクロック信号ＣＬ９２が図５に示すクロック信号ＣＬ９２−３のような構成である場合について説明する。
【００１３】
クロック信号ＣＬ９２−３のように、データ信号がＤ９１かＤ９２かが確定していないような立ち上がりタイミングＴ９２−３２が存在する場合においても、次の立ち上がりタイミングＴ９２−３３ではデータ信号Ｄ９２が確定しているため、このタイミングでデータ出力部９０２がデータ入力保持部９０１からデータを読み出して出力することでデータ信号Ｄ９２を正しく出力することが可能である。
【００１４】
同様に、この次の立ち上がりタイミングＴ９２−３４ではデータ信号がＤ９２かＤ３かが確定していないけれども、この次の立ち上がりタイミングＴ９２−３５ではデータ信号Ｄ３が確定しているためデータ信号Ｄ３を正しく出力することが可能である。
【００１５】
このように、データ出力部９０２に入力されるクロック信号ＣＬ９２の周波数を、データ入力保持部９０１に入力されるクロック信号ＣＬ９１の周波数の２倍とすることで、クロック信号ＣＬ９２の立ち上がりタイミングが万一データ信号が確定していない状態であったとしても、その次の立ち上がりタイミングで確定したデータを取得することで、データの取得漏れを防止することが可能である。
【００１６】
しかしながら、この構成にする場合、クロック信号ＣＬ９２の周波数をクロック信号ＣＬ９１の周波数の２倍にする必要があるため、半導体論理装置の消費電力が上昇するという問題が発生する。このため、携帯電話機などのバッテリー駆動の電子機器にこのような半導体論理装置を備えると、短時間でバッテリーが消耗するという問題がある。
【００１７】
このような問題に鑑みて、本発明は、消費電力が少なく、転送されるデータを漏れなく正確に取得できる半導体論理装置を提供することを目的とする。また本発明は、この半導体論理装置を備える電子機器を提供することを別の目的とする。
【課題を解決するための手段】
【００１８】
上記目的を達成すべく、本発明の半導体論理装置は、外部クロック信号に同期してデータの転送を行う半導体論理装置であって、第１のクロック信号が入力されるとともに、外部から入力されるデータを前記第１のクロック信号に同期して一時的に所定のアドレスに保持するデータ入力保持部と、入力される前記第１のクロック信号のクロック数に応じてカウントアップされる第１のカウンタと、前記データ入力保持部にデータが入力されているか否かを示す信号であるデータイネーブル信号が入力されるとともに、所定のタイミングで前記第１のカウンタのカウント値をリセットする第１のカウンタ制御回路と、第２のクロック信号が入力されるとともに、入力されるクロック数に応じてカウントアップされる第２のカウンタと、前記第２のクロック信号が入力されるとともに、前記第１のカウンタ制御回路に入力される前記データイネーブル信号を所定時間遅延させる遅延回路と、前記遅延回路によって遅延処理が施された前記データイネーブル信号が入力されるとともに、所定のタイミングで前記第２のカウンタのカウント値をリセットする第２のカウンタ制御回路と、第１のクロック信号が入力されるとともに、前記データ入力保持部で保持されたデータを前記第２のクロック信号に同期して所定のアドレスより読み出して後段に出力するデータ出力部と、を備え、前記データ入力保持部が、データが入力された時点で前記第１のカウンタが示すカウント値に応じて定まる一のアドレスに当該データを保持し、前記データ出力部が、前記第２のカウンタが示すカウント値に応じて定まる一のアドレスからデータを読み出して後段に出力することを特徴とする。
【００１９】
このように構成されることで、半導体論理回路内に存在する回路遅延によって読出しタイミング用クロック信号である前記第２クロック信号と入力タイミング用クロック信号である前記第１クロック信号との間に位相差が発生し、前記第２クロック信号が入力される時点で入力されたデータが確定しないような状況下においても、遅延回路によって所定時間遅延された後に読出し指示が行われるため、データ入力保持部にデータが入力されてからこのデータが確定する（正しく保持される）までの時間を確保することが可能となる。すなわち、読出しタイミング用のクロック信号の周波数を上昇させることなく正しくデータを転送することが可能となる。
【００２０】
なお、前記第１のクロック信号と前記第２のクロック信号とが、同一のクロック発生源から発生されたクロック信号であるとしても構わない。
【００２１】
また、例えば、前記第１のカウンタ制御回路が、入力される前記データイネーブル信号の立ち上がりに応じて前記第１のカウンタのカウント値をリセットし、前記第２のカウンタ制御回路が、入力される遅延処理後の前記データイネーブル信号の立ち上がりに応じて前記第２のカウンタのカウント値をリセットする構成としても構わない。
【００２２】
また、例えば、前記第１のカウンタ制御回路が、入力される前記データイネーブル信号の立ち下がりに応じて前記第１のカウンタのカウント値をリセットし、前記第２のカウンタ制御回路が、入力される遅延処理後の前記データイネーブル信号の立ち下がりに応じて前記第２のカウンタのカウント値をリセットする構成としても構わない。このとき、前記データイネーブル信号がＬｏｗ状態である期間については、前記第１のカウンタのカウントアップ動作を行わず、同様に、遅延処理後の前記データイネーブル信号がＬｏｗ状態である期間については、前記第２のカウンタのカウントアップ動作を行わないものとしても構わない。
【００２３】
このように構成することで、データが入力されていない期間におけるカウンタの動作を停止させることができるため、さらに消費電力を低減することが可能となる。
【００２４】
また、例えば、前記データ入力保持部が、複数段からなるフリップフロップ回路と比較器とで構成されるものとしても構わない。このとき、フリップフロップ回路と比較器とによってラッチ回路が構成され、このラッチ回路によって入力されるデータが一時的に保持される。そして、複数段からなるラッチ回路のうち、どのラッチ回路にデータを入力、保持させるかについて、前記第１のカウンタのカウント値に応じて決定される構成である。
【００２５】
また、前記データ出力部が、前記複数段からなるフリップフロップ回路と比較器とで構成されるデータ入力保持部の各段それぞれに接続される複数のスイッチを備え、前記第２のカウンタのカウント値に応じてスイッチが開閉制御される構成であるものとしても構わない。このように構成されることで、前記第２のカウンタのカウント値によって読出し元アドレスが指定される。
【００２６】
また、例えば、前記遅延回路が、１以上のフリップフロップ回路で構成されるものとしても構わない。このとき、遅延回路を構成するフリップフロップ回路の段数によって、入力タイミングと読出しタイミングの時間差を調整することが可能となる。すなわち、フリップフロップ回路の段数を増加させることで、入力タイミングと出力タイミングとの遅延時間は増大させることが可能であり、逆に段数を減少させることで遅延時間は減少させることが可能である。このため、回路の設計状態に応じて遅延時間の調整を行うことが可能となる。
【発明の効果】
【００２７】
本発明の構成によれば、半導体論理回路内に存在する回路遅延によって読出しタイミング用クロック信号である第２クロック信号と入力タイミング用クロック信号である第１クロック信号との間に位相差が発生し、前記第２クロック信号が入力される時点で入力されたデータが確定しないような状況下においても、遅延回路によって所定時間遅延された後に読出し指示が行われるため、データ入力保持部にデータが入力されてからこのデータが確定する（正しく保持される）までの時間を確保することが可能となる。すなわち、読出しタイミング用のクロック信号の周波数を上昇させることなく正しくデータを転送することが可能となる。
【発明を実施するための最良の形態】
【００２８】
本発明の実施形態について、図面を参照して説明する。図１は、本発明の半導体論理装置の一実施形態を示している。
【００２９】
図１に示す半導体論理装置１は、データが所定のタイミングで入力されるとともに当該データが一定期間保持されるデータ入力保持部２と、データ入力保持部２で保持されたデータを所定のタイミングで読み出して出力するデータ出力部３とで構成される。
【００３０】
また、データ入力保持部２にはデータを入力するタイミングを決定するクロック信号ＣＬ１が入力され、データ出力部３にはデータを読み出して出力するタイミングを決定するクロック信号ＣＬ２が入力される。このクロック信号ＣＬ１とＣＬ２は同一周波数のクロック信号で構成され、それぞれが同一クロック発生源から発生されたクロック信号としても構わない。
【００３１】
なお、クロック信号ＣＬ１とＣＬ２が同一クロック発生源から発生されたクロック信号である場合であっても、これらの信号間には、回路の引き回し等の設計状態などによって位相差が発生する場合がある。この位相差は温度の影響も受けるため、同一回路においても一定の位相差で維持されるとは限らない。
【００３２】
また、データ入力保持部２には、データの先頭を示す信号であるデータイネーブル信号ＥＰが入力される。データイネーブル信号ＥＰがＬｏｗからＨｉｇｈになった後、最初に与えられるデータが一連のデータの先頭を表しており、以後一連のデータが途切れるまでの間、このデータイネーブル信号ＥＰはＨｉｇｈ状態を示す。
【００３３】
そして、一連のデータが終了すると、データイネーブル信号ＥＰはＨｉｇｈからＬｏｗに移行し、次の一連のデータが入力されるまでの間、Ｌｏｗ状態を維持し続ける。
【００３４】
すなわちデータ入力保持部２は、データイネーブル信号ＥＰがＬｏｗからＨｉｇｈに変化したことを確認すると、一連のデータが開始されることを認識する。そして、それ以後、データ入力保持部２に入力されるデータイネーブル信号ＥＰがＨｉｇｈを示している期間、入力される一連のデータを取り込み、データイネーブル信号ＥＰがＨｉｇｈからＬｏｗに変化したことを確認すると、一連のデータが終了することを認識する。そして、再びデータイネーブル信号ＥＰがＬｏｗからＨｉｇｈに変化するまでデータ入力を待機する。
【００３５】
また、半導体論理装置１は、データイネーブル信号ＥＰを遅延させる遅延回路４を備える。遅延回路４は、データイネーブル信号ＥＰが入力されると、所定の時間遅延させ、この遅延処理が施されたデータイネーブル信号がデータ出力部３に入力される。以下、遅延処理が施されたデータイネーブル信号をＥＰｄと称する。
【００３６】
データ出力部３は、この遅延処理が施されたデータイネーブル信号ＥＰｄがＬｏｗからＨｉｇｈに変化したことを確認すると、データ入力保持部２に保持されている一連のデータを順次出力させる処理を開始する。信号ＥＰｄは、遅延回路４によって所定の時間遅延処理が施されているため、この信号ＥＰｄがＬｏｗからＨｉｇｈに変化した時点では、すでに一連のデータのうちの先頭のデータはデータ入力保持部２に入力され、格納されている。
【００３７】
すなわち、遅延回路４は、データ入力保持部２に入力されるデータイネーブル信号ＥＰがＬｏｗからＨｉｇｈになった後に入力される先頭のデータを取り込んで保持するのに要する時間ｔ１以上の時間を遅延させる構成であるとして構わない。
【００３８】
そして、データ出力部３は、このデータイネーブル信号ＥＰｄがＨｉｇｈを示す間、順次データ入力保持部２からデータを読み出して出力する。そして、データイネーブル信号ＥＰｄがＨｉｇｈからＬｏｗに変化したことを確認すると、読み出すべき一連のデータが終了したことを認識し、データの出力を終える。そして、再びデータイネーブル信号ＥＰｄがＬｏｗからＨｉｇｈに変化するまでデータ読出処理およびデータ出力処理を待機する。
【００３９】
図１に示される半導体論理装置１の詳細な構成について図面を参照して説明する。図２は、図１に示される半導体論理装置１の一構成例である。
【００４０】
図２に示す半導体論理装置１は、比較器１１−１、１１−２、１１−３、・・・と、フリップフロップ１２−１、１２−２、１２−３、・・・と、カウンタ１３とで構成されるデータ入力保持部２と、スイッチ２２−１、２２−２、２２−３、・・・と、フリップフロップ２４と、カウンタ２１とで構成されるデータ出力部３と、フリップフロップで構成される遅延回路４とを備える。また、カウンタ１３のリセット制御を行うカウンタ制御回路１４と、カウンタ２１のリセット制御を行うカウンタ制御回路２３とを備える。
【００４１】
なお、比較器１１−１、１１−２、１１−３、・・・は複数段備える構成であるものとし、図面上では紙面の都合上３段のみを記載している。同様に、フリップフロップ１２−１、１２−２、１２−３、・・・およびスイッチ２２−１、２２−２、２２−３、・・・も紙面上３段のみを記載しているが、実際は比較器と同数段備えるものとする。以下では、これらの構成要素を一括して表す際には、それぞれ比較器１１、フリップフロップ１２、スイッチ２２と符号を付すものとする。
【００４２】
クロック信号ＣＬ１は、カウンタ１３および各フリップフロップ１２に入力される。カウンタ１３は、入力されるクロック信号に応じてカウントアップされる。なお、このカウンタ１３は、後述するようにカウンタ制御回路１４から与えられる信号によってリセット処理が施される。
【００４３】
カウンタ１３は、クロック信号ＣＬ１が入力されてカウント値がカウントアップされると、当該カウント値に該当する比較器１１に信号を入力する。そしてカウンタ１３によって指定された比較器１１にのみデータが入力され、この比較器１１に接続されるフリップフロップ１２に当該データが格納される。すなわち、カウンタ１３が示すカウント値は、データ入力保持部２に入力される各データを保持するアドレスを指定する機能を備える。
【００４４】
例えば、フリップフロップ１２−１がカウンタ１３のカウント値が０を示す時点でデータを格納すべきフリップフロップである場合（すなわち、カウンタ１３がカウント値０を示す時点で指定されるアドレスがフリップフロップ１２−１である場合）、カウンタ１３のカウント値が０になると、カウンタ１３から比較器１１−１に対して信号が送出されて比較器１１−１がＨｉｇｈ状態となる。
【００４５】
そして、外部よりデータが入力されると、このデータは各比較器１１に与えられる。このとき、比較器１１−１のみがＨｉｇｈ状態であるため、入力されるデータは比較器１１−１のみに入力され、後段のフリップフロップ１２−１に与えられる。
【００４６】
なお、比較器１１は、カウンタ１３からの信号によってＨｉｇｈ状態であるときのみ外部より入力されるデータを取得できる構成であり、Ｌｏｗ状態であるときはデータを取得しないものとする。また、データを取得しない場合は、後述するように後段のフリップフロップ１２で保持される値がそのままフリップフロップ１２に再度入力される構成である。
【００４７】
フリップフロップ１２−１は、比較器１１−１よりデータが与えられると、クロック信号ＣＬ１が入力されるまで当該データを保持する。そして、クロック信号ＣＬ１が与えられると、この保持されたデータを後段に出力する。具体的には、スイッチ２２−１および比較器１１−１にこのデータが与えられる。
【００４８】
後述するように、スイッチ２２−１は、カウンタ２１からの信号に応じて開閉制御される。スイッチ２２−１が閉状態にあるとき、フリップフロップ１２−１から出力されるデータはスイッチ２２−１の後段に送出されない。
【００４９】
一方、比較器１１−１に入力されたデータは、カウンタ１３からの信号によってＨｉｇｈ状態となるまでの間、外部より次のデータが入力されないため、フリップフロップ１２−１から与えられたデータが選択され、再びフリップフロップ１２−１に入力される。そして、クロック信号ＣＬ１が与えられると、再びこのデータが外部に送出され、再度比較器１１−１およびスイッチ２２−１に与えられる。
【００５０】
さらに、例えば、フリップフロップ１２−２がカウンタ１３のカウント値が１を示す時点でデータを格納すべきフリップフロップである場合（すなわち、カウンタ１３がカウント値１を示す時点で指定されるアドレスがフリップフロップ１２−２である場合）、クロック信号ＣＬ１が入力されてカウンタ１３が１にカウントアップされると、比較器１１−２のみがＨｉｇｈ状態となるため、入力されるデータは比較器１１−２のみに入力され、後段のフリップフロップ１２−２に与えられる。
【００５１】
このように、比較器１１−１とフリップフロップ１２−１とで、入力されるデータを保持するラッチ回路が構成される。同様に、他の比較器とフリップフロップによってもラッチ回路が構成される。
【００５２】
すなわち、カウンタ１３が示すカウント値に応じて、その時点で入力されるデータが格納されるフリップフロップ１２が選択される。
【００５３】
データイネーブル信号ＥＰは、一連のデータが与えられる期間Ｈｉｇｈ状態を示している。このデータイネーブル信号ＥＰは、カウンタ１３のリセット制御を行うカウンタ制御回路１４に入力される。
【００５４】
カウンタ制御回路１４は、例えばフリップフロップと論理ゲートで構成され、上述のようにデータイネーブル信号ＥＰに加えてクロック信号ＣＬ１が入力される。
【００５５】
カウンタ制御回路１４が備えるフリップフロップは、Ｈｉｇｈ状態のクロック信号ＣＬ１が入力されると、入力されるデータイネーブル信号ＥＰの値を後段に出力する。
【００５６】
データイネーブル信号ＥＰがＬｏｗ状態の間は、カウンタ制御回路１４からカウンタ１３に対して制御信号が送出されず、カウンタ１３のリセット処理が行われない。
【００５７】
一方、データイネーブル信号ＥＰがＬｏｗからＨｉｇｈに変化すると、カウンタ制御回路１４がカウンタ１３にリセット信号を一度だけ送出する。そして、データイネーブル信号ＥＰがＨｉｇｈ状態が維持されている間は、リセット信号は送出されない。
【００５８】
すなわち、カウンタ制御回路１４は、データイネーブル信号ＥＰがＬｏｗからＨｉｇｈに変化する時点でリセット信号を送出し、これによってカウンタ１３はリセット処理が施される。
【００５９】
また、カウンタ２１は、クロック信号ＣＬ２とカウンタ制御回路２３からのリセット信号が入力される構成である。そして、カウンタ制御回路２３には、カウンタ制御回路１４から送出されたデータイネーブル信号ＥＰを遅延回路４によって所定時間遅延させた信号ＥＰｄが入力される。
【００６０】
カウンタ制御回路２３は、カウンタ制御回路１４と同様、例えばフリップフロップと論理ゲートで構成され、上述のようにデータイネーブル信号ＥＰｄに加えてクロック信号ＣＬ２が入力される。
【００６１】
カウンタ制御回路２３が備えるフリップフロップは、Ｈｉｇｈ状態のクロック信号ＣＬ２が入力されると、入力されるデータイネーブル信号ＥＰｄの値を後段に出力する。
【００６２】
データイネーブル信号ＥＰｄがＬｏｗ状態の間は、カウンタ制御回路２３からカウンタ２１に対して制御信号が送出されず、カウンタ２１のリセット処理が行われない。
【００６３】
一方、データイネーブル信号ＥＰｄがＬｏｗからＨｉｇｈに変化すると、カウンタ制御回路２３がカウンタ２１にリセット信号を一度だけ送出する。そして、データイネーブル信号ＥＰｄがＨｉｇｈ状態が維持されている間は、リセット信号は送出されない。
【００６４】
すなわち、カウンタ制御回路２３は、データイネーブル信号ＥＰｄがＬｏｗからＨｉｇｈに変化する時点でリセット信号を送出し、これによってカウンタ２１はリセット処理が施される。
【００６５】
スイッチ２２は、カウンタ２１からの制御信号に基づいて開閉制御される。例えば、スイッチ２２−１がカウンタ２１のカウント値が０を示す時点で閉状態にすべきスイッチである場合（すなわち、カウンタ２１がカウント値０を示す時点で指定されるアドレスがフリップフロップ１２−１である場合）、カウンタ２１のカウント値が０になると、カウンタ２１からスイッチ２２−１に対して信号が送出されてスイッチ２２−１が閉状態となり、フリップフロップ１２−１が保持しているデータがスイッチ２２−１を介して後段のフリップフロップ２４に出力される。
【００６６】
さらに、例えば、スイッチ２２−２がカウンタ２１のカウント値が１を示す時点で閉状態にすべきスイッチである場合、次にカウンタ２１が１にカウントアップされると、スイッチ２２−２が閉状態となり、スイッチ２２−１が開状態となる。そして、フリップフロップ１２−２が保持しているデータがスイッチ２２−２を介して後段のフリップフロップ２４に出力される。
【００６７】
このように、スイッチ２２は、カウンタ２１のカウント値に応じて開閉制御が行われ、これによって、閉状態となったスイッチ２２を介して当該スイッチに接続されているフリップフロップ１２に保持されるデータが、後段のフリップフロップ２４に出力される構成である。
【００６８】
スイッチ２２の後段に備えられるフリップフロップ２４は、最終的なデータ出力を所定のタイミングで行うための出力用回路である。フリップフロップ２４にはクロック信号ＣＬ２が入力される構成であり、スイッチ２２を介して与えられたデータを保持した状態の元で、クロック信号ＣＬ２がＨｉｇｈ状態を示すと、この保持されたデータが外部に送出される。
【００６９】
次に、このように構成される半導体論理装置１の動作を、タイムチャートを参照して説明する。図３は、データ入力保持部２にデータが入力されてから、データ出力部３よりそのデータが出力されるまでの動作を示すタイムチャートである。
【００７０】
図３に示すデータ入力項目は、外部よりデータ入力保持部２に入力される一連のデータ列を時系列で表したものである。図３では、データＤ１−１、Ｄ１−２、Ｄ１−３の３データで第１のデータ列を構成しており、第１のデータ列が入力されてから所定時間経過後に、データＤ２−１、Ｄ２−２、Ｄ２−３、・・・で構成される第２のデータ列が入力されるものとする。
【００７１】
また、データイネーブル信号ＥＰは、データ入力保持部２にデータ列が入力されている間、Ｈｉｇｈ状態を示しており、データ列が入力されない間はＬｏｗ状態を示す。なお、後述するように、実際はデータイネーブル信号ＥＰがＬｏｗからＨｉｇｈに変化してから所定時間経過後にデータ列を構成する先頭のデータ（第１のデータ列でいえばデータＤ１−１に相当）が入力されるものとする。
【００７２】
クロック信号ＣＬ１は、所定の時間間隔でＨｉｇｈ状態とＬｏｗ状態を繰り返し示す信号である。そして、クロック信号ＣＬ２は、クロック信号ＣＬ１と同一周波数であり、位相が異なる信号であるとする。なお、図３では、本発明の効果を強調するために、クロック信号ＣＬ２の立ち上がり時点において、データ入力保持部２に入力されているデータが不確定であるようなクロック信号である場合を示している（上述した図５におけるクロック信号ＣＬ２−２に相当）。
【００７３】
データイネーブル信号ＥＰがＬｏｗからＨｉｇｈに変化すると、カウンタ制御回路１４がリセット信号をカウンタ１３に送出する。これによってカウンタ１３のカウント値が０になる。カウント値が０になると、比較器１１−１に信号が与えられて、比較器１１−１がＨｉｇｈ状態となる。
【００７４】
比較器１１−１がＨｉｇｈ状態の元でデータＤ１−１がデータ入力保持部２に与えられると、このデータが比較器１１−１を介してフリップフロップ１２−１に入力される。上述したように、このデータＤ１−１は、比較器１１−１とフリップフロップ１２−１とで構成されるラッチ回路によって保持される。
【００７５】
次にクロック信号ＣＬ１が入力されると、カウンタ１３が１にカウントアップされる。カウンタ１３のカウント値が１になると、比較器１１−２に信号が与えられて、比較器１１−２がＨｉｇｈ状態となる。
【００７６】
そして、同様に、この状態の元でデータＤ１−２がデータ入力保持部２に与えられると、このデータが比較器１１−２を介してフリップフロップ１２−２に入力され、このデータＤ１−２は比較器１１−２とフリップフロップ１２−２とで構成されるラッチ回路によって保持される。
【００７７】
以下同様に、データＤ１−３がフリップフロップ１２−３に入力される。図３では、第１のデータ列がＤ１−１、Ｄ１−２、Ｄ１−３によって構成されるとしたため、データＤ１−３の入力が終了すると、データイネーブル信号ＥＰがＨｉｇｈからＬｏｗに変化する。
【００７８】
また、データイネーブル信号ＥＰは、カウンタ制御回路１４に入力される。このとき、データイネーブル信号ＥＰがＬｏｗからＨｉｇｈに変化した後、最初のクロック信号ＣＬ１がカウンタ制御回路１４に入力されると、カウンタ１３にリセット信号が送出される。これによってカウンタ１３のカウント値が０になる。
【００７９】
カウンタ１３は、これ以後クロック信号ＣＬ１のパルスに応じてカウントアップされる。また、カウンタ１３が示すカウント値に応じて、各データが保持されるフリップフロップが変更される。例えば、データＤ１−１はカウンタ１３のカウント値０の時点で入力されるため、フリップフロップ１２−１に保持され、データＤ１−２１はカウンタ１３のカウント値１の時点で入力されるため、フリップフロップ１２−２に保持され、データＤ１−３はカウンタ１３のカウント値２の時点で入力されるため、フリップフロップ１２−３に保持される。
【００８０】
一方、データイネーブル信号ＥＰは、カウンタ制御回路１４から出力された後、遅延回路４に入力される。図２では遅延回路４が、クロック信号ＣＬ２が入力される２つのフリップフロップで構成されるものとしており、このときクロック信号ＣＬ２のパルス２個分の時間が遅延された後、後段のカウンタ制御回路２３に入力される（データイネーブル信号ＥＰｄを生成）。なお、遅延回路４は、図２に示すような２つのフリップフロップで構成されるものに限られず、データイネーブル信号ＥＰを所定のクロック数だけ遅延した信号を生成できる構成であればどのような構成であっても構わない。
【００８１】
このように生成されたデータイネーブル信号ＥＰｄは、カウンタ制御回路２３に入力される。このとき、データイネーブル信号ＥＰｄがＬｏｗからＨｉｇｈに変化した後、最初のクロック信号ＣＬ２がカウンタ制御回路２３に入力されると、カウンタ２１にリセット信号が送出される。これによってカウンタ２１のカウント値が０になる。
【００８２】
カウンタ２１は、これ以後クロック信号ＣＬ２のパルスに応じてカウントアップされる。また、カウンタ２１が示すカウント値に応じて、閉状態にするスイッチが変更される（すなわちデータ読み出し元のフリップフロップが変更される）。例えば、カウント値０の時点でスイッチ２２−１を閉状態とすることで、フリップフロップ１２−１に保持されたデータＤ１−１が後段に出力され、次にカウント値１にカウントアップされた時点でスイッチ２２−２を閉状態とすることで、フリップフロップ１２−２に保持されたデータＤ１−２が後段に出力され、次にカウント値２にカウントアップされた時点でスイッチ２２−３を閉状態とすることで、フリップフロップ１２−３に保持されたデータＤ１−３が後段に出力される。
【００８３】
このように読み出し制御用にカウンタ２１を設けるとともに、このカウンタ２１のリセット信号にデータイネーブル信号ＥＰを所定時間遅延させた信号ＥＰｄを利用することによって、一連のデータのうちの先頭のデータ（図３におけるデータＤ１−１）がデータ入力保持部２に入力されてからこのデータが確定する（正しく保持される）までの時間を確保することが可能となる。すなわち、カウンタ２１にリセット信号が入力される時点では、すでに先頭のデータＤ１−１はフリップフロップ１２−１に保持されている状態であるため、読み出し元アドレスとしてこのフリップフロップ１２−１を指定することによって、データＤ１−１を正しく取得することができる。
【００８４】
また、先頭のデータＤ１−１以後に引き続き与えられるその他のデータ（例えばＤ１−２、Ｄ１−３など）についても、データ入力保持部２に入力されてから、遅延回路４によって遅延処理が施される所定時間経過後に読み出し指示が与えられるため、同様に読み出し指示が行われる時点ではそれぞれのデータが確定した状態である（それぞれ所定のフリップフロップに既に保持された状態である）。従って、カウンタ２１からの指示によってそれぞれ該当するスイッチを閉状態に制御することで、これらのデータを正しく取得することが可能となる。
【００８５】
さらに、本発明の構成によれば、カウンタ１３に入力されるクロック信号ＣＬ１のカウント値に応じて保持すべきアドレス（フリップフロップ）が指定されるとともに、カウンタ２１に入力されるクロック信号ＣＬ２のカウント値に応じて読み出すべき読み出し元アドレス（フリップフロップ）が選択されるため、複雑なアドレス指定制御を行うことなく、一連のデータを先頭から正しい順序で読み出すことが可能である。
【００８６】
このため、例えば本発明の半導体論理回路１がデジタルカメラに搭載される場合、データ入力保持部２には撮像されたカメラデータが与えられる。このデータは通常色情報及び座標情報を含んでおり、読み出し順序を誤ると色ずれ等が発生する可能性がある。しかしながら、本発明の構成によれば、読み出し用カウンタ２１のカウント値によって読み出し元アドレスが指定されるため、データ入力保持部２に入力される順序に従ってデータ出力部３より出力することが可能である。
【００８７】
さらに、カウンタ１３はデータイネーブル信号ＥＰがＬｏｗからＨｉｇｈに変化した時点で一度リセット処理が施され、カウンタ２１はデータイネーブル信号ＥＰを所定時間遅延させた信号ＥＰｄがＬｏｗからＨｉｇｈに変化した時点で一度リセット処理が施される。このため、第１のデータ列が入力された後、第２のデータ列が入力される場合、この第２のデータ列の先頭のデータが入力される直前にデータイネーブル信号ＥＰがＬｏｗからＨｉｇｈに変化するためカウンタ１３がリセットされてカウント値が０となり、先頭のデータはカウント値０に対応したアドレスに正しく保持される。
【００８８】
また、第２のデータ列に対応したデータイネーブル信号ＥＰに遅延処理が施されて生成されたデータイネーブル信号ＥＰｄがＬｏｗからＨｉｇｈに変化した時点で、カウンタ２１がリセットされてカウント値が０となるため、カウント値０に対応したアドレスから第２のデータ列の先頭のデータは正しく読み出される。
【００８９】
すなわち、新しいデータ列が入力された場合においても、先頭のデータが入力される時点では入力用カウンタ１３がリセットされているため、先頭のデータから順次、カウント値に応じたアドレスに正しく格納される。また、この新しいデータ列にかかるデータを読み出す時点では、出力用カウンタ２１のカウント値がリセットされているため、先頭のデータから順次、カウント値に応じたアドレスを指定して読み出すことができる。
【００９０】
なお、上述では、データ入力用のカウンタ１３およびデータ出力用カウンタ２１は、ともにデータイネーブル信号ＥＰないしはＥＰｄの立ち上がりに応じてリセットされる構成としたが、立ち下がりに応じてリセットを行う構成としても良い。さらにこのとき、信号ＥＰおよびＥＰｄの次の立ち上がりを検出するまで、カウンタ１３およびカウンタ２１がカウントアップされない構成としても良い。
【００９１】
このように構成することによって、データイネーブル信号ＥＰがＬｏｗ状態である期間、すなわちデータが入力されていない期間についてはカウンタ１３の動作を停止させることができるため、さらに消費電力を低減することが可能となる。同様に、信号ＥＰｄがＬｏｗ状態である期間についてはカウンタ２１の動作を停止させることができるため消費電力を低減する効果を得ることができる。
【００９２】
本発明の構成によれば、半導体論理回路内に存在する回路遅延によって読出しタイミング用クロック信号と入力タイミング用クロック信号との間に位相差が発生し、読出しタイミング用クロック信号が入力される時点で入力されたデータが確定しないような状況下においても、読出しタイミング用クロック信号の周波数を上昇させることなく正しくデータを取得することが可能である。
【産業上の利用可能性】
【００９３】
本発明の半導体論理装置は、例えばカメラ機能を備えた携帯電話などに好適に利用され得る。
【図面の簡単な説明】
【００９４】
【図１】は、本発明の半導体論理装置の一実施形態を示すブロック図である。
【図２】は、図１に示される半導体論理装置の一構成例を示す詳細なブロック図である。
【図３】は、図１に示す半導体論理装置においてデータの書込及び読み出しを行うタイミングを示すタイミングチャートである。
【図４】は、外部クロック信号に同期してデータの転送を行う従来の半導体論理装置の構成を示す図である。
【図５】は、図４に示す半導体論理装置においてデータの書込及び読み出しを行うタイミングを示すタイミングチャートである。
【符号の説明】
【００９５】
１    半導体論理回路
２    データ入力保持部
３    データ出力部
４    遅延回路
１１    比較器
１２    フリップフロップ
１３    カウンタ
１４    カウンタ制御回路
２１    カウンタ
２２    スイッチ
２３    カウンタ制御回路
２４    フリップフロップ
ＣＬ１、ＣＬ２    クロック信号
ＥＰ、ＥＰｄ    データイネーブル信号
９００    半導体論理回路
９０１    データ入力保持部
９０２    データ出力部
【図１】
2006319635.tif 000003
【図２】
2006319635.tif 000004
【図３】
2006319635.tif 000005
【図４】
2006319635.tif 000006
【図５】
2006319635.tif 000007