(57)【要約】【課題】複数のフリップフロップで構成される多段バッファにて消費電力を削減できるようにする。【解決手段】クロック信号ＣＬＫを基に動作する複数段のバッファ１１からなる多段バッファ１０と、書き込み又は読み出しを行うバッファを選択するアドレスデコード回路３０、４０と、選択結果に応じてクロック信号を供給するクロック制御回路２０とを備え、選択された一段のバッファにのみクロック信号を供給し、他のバッファに対してはクロック信号の供給を停止するようにして、多段バッファの中の一段だけを動作させ、それ以外は停止させて消費電力を削減できるようにする。【選択図】図１
2007149201.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号を基に動作するバッファを複数段設けて構成される多段バッファと、
上記多段バッファの中から書き込み又は読み出しを行うバッファを一段選択する選択回路と、
上記選択回路で選択された一段のバッファにのみ上記クロック信号を供給するクロック制御回路とを備えることを特徴とする半導体装置。
【請求項２】
上記多段バッファの各段のバッファに対応して上記クロック制御回路がそれぞれ設けられ、各クロック制御回路は、上記選択回路から供給される信号に応じて上記クロック信号を出力するか否かを制御可能であることを特徴とする請求項１記載の半導体装置。
【請求項３】
上記多段バッファは、複数のフリップフロップで構成されたＦＩＦＯ（First In First Out）型バッファであることを特徴とする請求項１又は２記載の半導体装置。
【請求項４】
上記多段バッファに対して書き込むデータを一時記憶する記憶回路をさらに備え、
上記記憶回路に書き込みデータが記憶されるまでは、上記クロック制御回路による上記多段バッファへの上記クロック信号の供給を停止することを特徴とする請求項１〜３の何れか１項に記載の半導体装置。
【請求項５】
クロック信号を基に動作するバッファを複数段設けて構成される多段バッファを有する半導体装置の制御方法であって、
上記多段バッファの中から書き込み又は読み出しを行うバッファを一段選択する選択工程と、
上記選択工程での選択結果に応じて、上記多段バッファの各段のバッファに対する上記クロック信号の供給を制御するクロック制御工程とを有することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のフリップフロップで構成された多段バッファを有する半導体装置及びその制御方法に関する。
【背景技術】
【０００２】
図５は、従来のＦＩＦＯ（First In First Out：先入れ先出し）型バッファの構成を示す図である。
図５において、多段バッファ１１０は、ｍビット幅のバッファがｎ段分設けられ構成されている（ｍ及びｎは任意の自然数）。詳細には、多段バッファ１１０は、複数段のバッファ１１１−ｊ（ｊは１〜ｎの整数）で構成され、さらに各段のバッファ１１１−ｊは、複数のフリップフロップ１１２−ｉ（ｉは０〜（ｍ−１）の整数）で構成される。
【０００３】
各段のバッファ１１１−ｊには、クロック信号ＣＬＫ及びｍビット幅の入力データＩＤＴ［ｍ−１：０］が入力される。バッファ１１１−ｊの各フリップフロップ１１２−ｉは、供給されるクロック信号ＣＬＫにより動作し、対応する入力データＩＤＴ［ｉ］を記憶する。
【０００４】
ここで、入力データＩＤＴのバッファ１１１−ｊへの書き込みは、ライト側のアドレスデコード回路１２０からバッファ１１１−ｊに出力される制御信号により制御される。具体的には、ｎ段のバッファ１１１−ｊの中から一段のバッファが、アドレスデコード回路１２０からの制御信号に応じて選択され、それに入力データＩＤＴが書き込まれる。
【０００５】
アドレスデコード回路１２０は、入力データＩＤＴを書き込むバッファ１１１−ｊを特定するための書き込みアドレスを管理するものであり、書き込みアドレスをカウントするアドレスカウンタ機能を有する。アドレスデコード回路１２０は、アドレスＡＤＤが入力され、そのデコード結果に応じた制御信号をバッファ１１１−ｊに出力する。
【０００６】
リード側のアドレスデコード回路１３０は、ｍビット幅の出力データＯＤＴ［ｍ−１：０］として出力されるデータを読み出すバッファ１１１−ｊを特定するための読み出しアドレスを管理するものであり、読み出しアドレスをカウントするアドレスカウンタ機能を有する。アドレスデコード回路１３０は、アドレスＡＤＤのデコード結果に基づいて、ｎ段のバッファ１１１−ｊの中から一段のバッファを選択し、それから読み出されるデータを出力データＯＤＴとして出力する。
【０００７】
図６（Ａ）及び（Ｂ）は、従来のＦＩＦＯ型バッファの内部構成を示す図である。図６（Ａ）及び（Ｂ）においては、多段バッファ１１０を構成するｎ段のバッファ１１１−ｊにおける一段分のみを示している。すなわち、図６（Ａ）、（Ｂ）に示すバッファ１１１を並列にｎ段設けることで図５に示した多段バッファ１１０が構成される。
【０００８】
図６（Ａ）は、従来のＦＩＦＯ型バッファの内部構成の一例を示しており、バッファ１１１は、複数のフリップフロップ１１２−ｉ及びそれに対応して設けられたデータ選択回路１１３−ｉを有する。各フリップフロップ１１２−ｉは、クロック入力端子にクロック信号ＣＬＫが入力され、データ入力端子にデータ選択回路１１３−ｉの出力が入力される。また、各フリップフロップ１１２−ｉの出力は、出力データＤＴＯ［ｉ］として外部及びデータ選択回路１１３−ｉに出力される。
【０００９】
データ選択回路１１３−ｉは、入力データＤＴＩ［ｍ−１：０］において対応する１ビット分の入力データＤＴＩ［ｉ］と、対応するフリップフロップ１１２−ｉからの出力データＤＴＯ［ｉ］とが入力される。データ選択回路１１３−ｉは、アドレスＡＤＤのデコード結果に基づく制御信号ＡＤＥに応じて、入力されるデータＤＴＩ［ｉ］又はＤＴＯ［ｉ］の何れか一方を選択して出力する。
【００１０】
具体的には、アドレスＡＤＤをデコードした結果、入力データＤＴＩを書き込むバッファである場合（アドレスＡＤＤが有効である場合）には、データ選択回路１１３−ｉは、制御信号ＡＤＥに応じてデータＤＴＩ［ｉ］を選択し、フリップフロップ１１２−ｉに出力する。一方、そうでない場合には、データ選択回路１１３−ｉは、制御信号ＡＤＥに応じてデータＤＴＯ［ｉ］を選択し、フリップフロップ１１２−ｉに出力する。すなわち、アドレスＡＤＤのデコード結果に基づく制御信号ＡＤＥにより、入力データＤＴＩをフリップフロップ１１２−ｉに書き込むか否かの制御がなされる。
【００１１】
図６（Ｂ）は、従来のＦＩＦＯ型バッファの内部構成の他の例を示しており、バッファ１１１は、複数のフリップフロップ１１２−ｉを有する。各フリップフロップ１１２−ｉは、クロック入力端子にクロック信号ＣＬＫが入力され、データ入力端子に入力データＤＴＩ［ｉ］が入力され、制御端子にアドレスＡＤＤのデコード結果に基づく制御信号ＡＤＥが入力される。また、各フリップフロップ１１２−ｉの出力は、出力データＤＴＯ［ｉ］として出力される。
【００１２】
ここで、アドレスＡＤＤをデコードした結果、入力データＤＴＩを書き込むバッファである場合には、図６（Ｂ）に示したフリップフロップ１１２−ｉは、制御信号ＡＤＥに応じて入力データＤＴＩ［ｉ］を保持する。一方、そうでない場合には、フリップフロップ１１２−ｉは、既に保持しているデータを保持し続ける。このようにして、制御信号ＡＤＥに基づき、入力データＤＴＩをフリップフロップ１１２−ｉに書き込むか否かの制御がなされる。
【００１３】
上述したように、従来のＦＩＦＯ型バッファにおいては、アドレスＡＤＤのデコード結果に基づく制御信号ＡＤＥを、バッファ１１１−ｊへの入力データＤＴＩの書き込み制御信号として使用する。そして、アドレスＡＤＤのデコード結果に基づいて、あるバッファをアクティブ（有効）にする制御信号ＡＤＥを生成して供給することにより、アクティブとなるバッファ１１１−ｊに対して入力データＤＴＩが書き込まれる。
【００１４】
すなわち、従来のＦＩＦＯ型バッファは、アドレスＡＤＤ（そのデコード結果である制御信号ＡＤＥ）により入力データＤＴＩの書き込み制御が行われるが、この書き込み制御は、各バッファ１１１−ｊのフリップフロップ１１２−ｉに対して入力データＤＴＩ又はすでに保持しているデータの何れを入力するかの切り替えを行うものである。したがって、従来のＦＩＦＯ型バッファにおいて、多段バッファ１１０内のすべてのフリップフロップ１１２−ｉは常にクロック信号ＣＬＫが供給されて動作しており、多大な電力を浪費していた。
【００１５】
この問題を解決し、ＦＩＦＯ型バッファにおいて低消費電力化を図る１つの方法として、予め記憶データ量を設定しておき、そのデータ量に応じて必要なアドレスまでのバッファにクロック信号を供給する方法がある。しかし、この方法ではクロック信号を供給するバッファの数が設定される記憶データ量に応じて変化するため、データ量によっては多くのバッファへのクロック供給が必要となり、必ずしも低消費電力化を実現することができなかった。
【００１６】
また、特許文献１には、ＦＩＦＯ型バッファにおいて、複数のバッファを短時間で逐次アドレスする方法が記載されている。特許文献２には、映像信号の書き込み及び読み出しが行われるＦＩＦＯメモリにおいて、その動作を入力映像信号の有効画素数に応じて制御することが記載されている。特許文献３には、ＦＩＦＯ型バッファにおいて、格納されているデータ数を把握して確実な連続アクセスを保証することによりアクセス効率を高める方法が記載されている。
【００１７】
【特許文献１】特開昭６３−１１８８３４号公報
【特許文献２】特開平８−１５３３８７号公報
【特許文献３】特開２００３−２６３８８３号公報
【特許文献４】特開平７−３０５６７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本発明は、複数のフリップフロップで構成される多段バッファにて、記憶データ量などにかかわらず、消費電力を削減できるようにすることを目的とする。
【課題を解決するための手段】
【００１９】
本発明の半導体装置は、クロック信号を基に動作する多段バッファと、書き込み又は読み出しを行うバッファを選択する選択回路と、その選択結果に応じてクロック信号を供給するクロック制御回路とを備える。クロック制御回路は、選択回路にて多段バッファの中から選択された一段のバッファにのみクロック信号を供給する。
【発明の効果】
【００２０】
本発明によれば、多段バッファのうち、書き込み又は読み出しを行う一段のバッファにのみクロック信号を供給し、他のバッファに対してはクロック信号の供給を停止することにより、多段バッファの中の必要な一段だけを動作させ、それ以外は停止させることで消費電力を削減でき、低消費電力化を実現することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態を図面に基づいて説明する。
なお、以下の説明において、符号に付すｉ及びｊは添え字であり、添え字ｉは０〜（ｍ−１）の整数とし、添え字ｊは１〜ｎの整数とする。ｍ及びｎは任意の自然数である。
図１は、本発明の一実施形態による半導体装置の構成例を示す図である。図１には、本実施形態による半導体装置の一例として、ＦＩＦＯ（First In First Out：先入れ先出し）型バッファを示している。
【００２２】
本実施形態におけるＦＩＦＯ型バッファは、図１に示すように多段バッファ１０、クロック制御回路２０−ｊ、ライト（書き込み）側のアドレスデコード回路３０、及びリード（読み出し）側のアドレスデコード回路４０を有する。
【００２３】
多段バッファ１０は、供給されるクロック信号に基づいて動作するバッファ１１−ｊをｎ段設けて構成される。各バッファ１１−ｊは、ｍビット幅のバッファであり、それぞれｍ個のフリップフロップ１２−ｉで構成される。
【００２４】
各段のバッファ１１−ｊには、ｍビット幅の入力データＩＤＴ［ｍ−１：０］が供給されるとともに、クロック信号ＣＬＫがクロック制御回路２０−ｊを介して供給される。より詳細には、バッファ１１−ｊを構成するフリップフロップ１２−ｉにクロック制御回路２０−ｊを介してクロック信号ＣＬＫが供給され、そのクロック信号を基にフリップフロップ１２−ｉでのデータの入出力動作が行われる。
【００２５】
クロック制御回路２０−ｊは、各バッファ１１−ｊに対応して設けられており、対応するバッファ１１−ｊにクロック信号ＣＬＫを出力するか否かを制御する。クロック制御回路２０−ｊは、外部からのクロック信号ＣＬＫが供給されるとともに、アドレスデコード回路３０から出力される制御信号が供給され、バッファ１１−ｊに出力を供給する。
【００２６】
アドレスデコード回路３０は、入力データＩＤＴを書き込むバッファ１１−ｊを特定するための書き込みアドレスを管理するものであり、書き込みアドレスをカウントするアドレスカウンタ機能を有する。アドレスデコード回路３０は、アドレスＡＤＤが入力され、そのデコード結果に応じた制御信号をクロック制御回路２０−ｊに出力する。
【００２７】
アドレスデコード回路４０は、ｍビット幅の出力データＯＤＴ［ｍ−１：０］として出力されるデータを読み出すバッファ１１−ｊを特定するための読み出しアドレスを管理するものであり、読み出しアドレスをカウントするアドレスカウンタ機能を有する。アドレスデコード回路４０は、アドレスＡＤＤのデコード結果に基づいて一段のバッファ１１−ｊを選択して、それから読み出されるデータを出力データＯＤＴとして出力する。
【００２８】
図２は、本実施形態におけるＦＩＦＯ型バッファの多段バッファ１０の内部構成例を示す図である。図２においては一段分のバッファ１１を示しており、図２に示すバッファを並列にｎ段設けることで多段バッファ１０が構成される。また、図２には、一段分のバッファ１１に加え、当該バッファ１１に対応して設けられるクロック制御回路２０もあわせて示している。
【００２９】
バッファ１１は、ｍ個のフリップフロップ１２−ｉを有する。各フリップフロップ１２−ｉは、クロック制御回路２０から出力されたクロック信号ＣＫＩがクロック入力端子に入力され、入力データＤＴＩ［ｍ−１：０］のうち対応する１ビット分の入力データＤＴＩ［ｉ］がデータ入力端子に入力される。また、各フリップフロップ１２−ｉの出力は、出力データＤＴＯ［ｉ］として出力される。
【００３０】
ここで、クロック制御回路２０から出力されるクロック信号ＣＫＩは、アドレスデコード回路３０からアドレスＡＤＤのデコード結果に応じて出力される制御信号ＡＤＥにより制御されたクロック信号である。アドレスＡＤＤのデコード結果に応じた制御信号ＡＤＥにより当該バッファ１１が選択されている場合には、クロック制御回路２０よりクロック信号ＣＬＫがクロック信号ＣＫＩとして出力され、そうでない場合にはクロック信号ＣＫＩは出力されない（停止状態になる。）。
【００３１】
図３（Ａ）は、本実施形態におけるクロック制御回路の構成例を示す図である。図３（Ａ）に示すクロック制御回路２０Ａは、論理積演算（ＡＮＤ）回路６１により構成される。ＡＮＤ回路６１は、外部からのクロック信号ＣＬＫとアドレスデコード回路３０からの制御信号ＡＤＥとが入力され、その演算結果をバッファ１１（フリップフロップ１２−ｉ）にクロック信号ＣＫＩとして出力する。図３（Ａ）に示すようにクロック制御回路を構成した場合には、制御信号ＡＤＥは、クロック制御回路２０Ａが対応するバッファ１１が選択されるときにハイレベルとなり、そうでないときにロウレベルとなる。
【００３２】
図３（Ｂ）は、本実施形態におけるクロック制御回路の他の構成例を示す図である。図３（Ｂ）に示すクロック制御回路２０Ｂは、イネーブル端子（制御端子）を有するバッファ回路６２により構成される。バッファ回路６２は、外部からのクロック信号ＣＬＫが入力端子に入力されるとともにアドレスデコード回路３０からの制御信号ＡＤＥが制御端子に入力され、出力端子よりクロック信号ＣＫＩを出力する。
【００３３】
なお、図３（Ａ）及び（Ｂ）に示したクロック制御回路は一例であり、これに限定されるものではない。クロック制御回路は、アドレスＡＤＤのデコード結果（アドレスデコード回路３０からの制御信号ＡＤＥ）に応じて、対応するバッファに供給するクロック制御を行えれば良く、ロジック回路等を含む様々な回路構成が適用可能である。
【００３４】
次に、動作について説明する。
まず、アドレスデコード回路３０は、入力されるアドレスＡＤＤをデコードして、開始アドレスにより特定される、はじめに書き込むバッファ１１−ｊを一段選択する。アドレスデコード回路３０は、アドレスＡＤＤのデコード結果に応じて選択する（有効とする）バッファ１１−ｊに係る制御信号ＡＤＥを活性化し、非選択のバッファ１１−ｊに係る制御信号ＡＤＥを不活性化状態にする。
【００３５】
アドレスデコード回路３０から活性化された制御信号ＡＤＥが供給される、すなわち選択されたバッファ１１−ｊに対応するクロック制御回路２０−ｊは、クロック信号ＣＬＫをバッファ１１−ｊに出力する。一方、アドレスデコード回路３０から不活性化状態の制御信号ＡＤＥが供給される、すなわち非選択のバッファ１１−ｊに対応する各クロック制御回路２０−ｊは、バッファ１１−ｊに対するクロック信号ＣＬＫの出力を停止する。
【００３６】
これにより、入力データＩＤＴを書き込むバッファとして選択される一段のバッファ１１−ｊにのみ、より詳細にはそのバッファ内のｍ個のフリップフロップ１２−ｉにのみクロック信号ＣＬＫが供給され、他のバッファ１１−ｊへのクロック信号ＣＬＫの供給が停止される。したがって、多段バッファ１０を構成する複数のフリップフロップ１２−ｉのうち、選択された一段のバッファ１１−ｊ内のｍ個のフリップフロップ１２−ｉのみ動作し、他のすべてのフリップフロップ１２−ｉは動作を停止する。
【００３７】
そして、選択された一段のバッファ１１−ｊに対する入力データＩＤＴの書き込みが行われ、それが完了すると、アドレスデコード回路３０は、書き込みアドレスをインクリメントするなどして次に入力データＩＤＴを書き込むバッファ１１−ｊを一段選択する。アドレスデコード回路３０は、選択するバッファ１１−ｊに係る制御信号ＡＤＥを活性化し、非選択のバッファ１１−ｊに係る制御信号ＡＤＥを不活性化状態にする。
【００３８】
アドレスデコード回路３０からの制御信号ＡＤＥに応じて、選択されたバッファ１１−ｊに対応するクロック制御回路２０−ｊは、クロック信号ＣＬＫをバッファ１１−ｊに出力し、非選択のバッファ１１−ｊに対応する各クロック制御回路２０−ｊは、バッファ１１−ｊに対するクロック信号ＣＬＫの出力を停止する。
【００３９】
つまり、選択された一段のバッファ１１−ｊに対する入力データＩＤＴの書き込みが完了すると、そのバッファ１１−ｊへのクロック信号ＣＬＫの出力が停止され、代わりに次に選択された一段のバッファ１１−ｊに対してのみクロック信号ＣＬＫが出力される。
【００４０】
上述した動作を繰り返すことで、選択されたバッファ１１−ｊを一段のみ動作させ、かつそれ以外のバッファ１１−ｊを停止させるように、多段バッファ１０を構成する各バッファ１１−ｊへのクロック供給を制御して、入力データＩＤＴの書き込みを行う。なお、多段バッファ１０を構成する各バッファ１１−ｊからのデータの読み出しについても同様に、選択する一段のバッファ１１−ｊのみ動作させ、かつそれ以外のバッファ１１−ｊを停止させるように各バッファ１１−ｊへのクロック供給が制御される。
【００４１】
本実施形態によれば、多段バッファ１０を構成する各バッファ１１−ｊのうち、選択した一段のバッファ１１−ｊにのみクロック信号を供給して、他のバッファ１１−ｊに対してはクロック信号の供給を停止する。これにより、多段バッファ１０において必要な一段のバッファ１１−ｊ（ｍ個のフリップフロップ１２−ｉ）だけを動作させ、それ以外は停止させることで消費電力が削減でき、低消費電力化を実現することができる。
【００４２】
図１に示したようなｍビット幅のバッファをｎ段用いられて構成されたＦＩＦＯ型バッファにおいて、多段バッファ１０は、（ｍ×ｎ）個のフリップフロップで構成される。また、ライト側のアドレスデコード回路３０が有するアドレスカウンタ機能をフリップフロップを用いて実現するには、ｎ段分を表現するために（log2ｎ）個のフリップフロップが必要となる。同様に、リード側のアドレスデコード回路４０が有するアドレスカウンタ機能を実現するには（log2ｎ）個のフリップフロップが必要となる。したがって、ＦＩＦＯ型バッファを構成するために必要なフリップフロップの個数は、（（ｍ×ｎ）＋（log2ｎ）×２）となる。
【００４３】
ここで、従来のＦＩＦＯ型バッファにおいては、ＦＩＦＯ型バッファを構成するフリップフロップのすべてにクロック信号が供給されている。そのため、データの書き込み時や読み出し時にクロック信号が供給されて動作するフリップフロップの数は、（（ｍ×ｎ）＋（log2ｎ）×２）個となる。
【００４４】
一方、本実施形態におけるＦＩＦＯ型バッファでは、多段バッファ１０の選択された一段のバッファにのみクロック信号を供給し、それ以外のバッファへのクロック信号の供給を停止する。そのため、データの書き込み時や読み出し時にクロック信号が供給されて動作するフリップフロップの数は、バッファ一段のｍ個と、ライト側及びリード側のそれぞれのアドレスデコード回路でアドレスカウンタ機能を実現するための（（log2ｎ）×２）個とを合わせた（ｍ＋（log2ｎ）×２）となる。
【００４５】
したがって、データ幅がｍビットでバッファ段数がｎ段のＦＩＦＯ型バッファでは、本実施形態によれば、その消費電力は、（ｍ＋（log2ｎ）×２）／（（ｍ×ｎ）＋（log2ｎ）×２）となる。例えば、データ幅が３２ビットでバッファ段数が１２８段である場合には、（３２＋（log2１２８）×２）／（（３２×１２８）＋（log2１２８）×２）＝（４６／４１１０）≒（１／８９）となり、従来と比較して消費電力を（１／８９）に削減することができる。
【００４６】
図４は、本発明の実施形態による半導体装置の他の構成例を示す図であり、一例としてＦＩＦＯ型バッファを示している。なお、この図４において、図１に示した構成要素と同一の機能を有する構成要素には同一の符号を付し、重複する説明は省略する。
【００４７】
図４に示すＦＩＦＯ型バッファは、仮バッファ５０を設けて、この仮バッファ５０を介して入力データＩＤＴを多段バッファ１０の各バッファ１１−ｊに入力する点が図１に示したＦＩＦＯ型バッファとは異なる。すなわち、図４に示すＦＩＦＯ型バッファは、多段バッファ１０に対して書き込む入力データＩＤＴを仮バッファ５０に一時的に記憶した後、入力データＩＤＴＢとして多段バッファ１０に出力する。図４に示すＦＩＦＯ型バッファにおいても、図１に示したＦＩＦＯ型バッファと同様に消費電力を削減し低消費電力化を実現することができる。
【００４８】
また、ＦＩＦＯ型バッファに仮バッファ５０を設けて、仮バッファ５０にクロック信号を供給しておくことで、ＦＩＦＯ型バッファに対する書き込みアクセスがないときには、多段バッファ１０の全バッファ１１−ｊへのクロック供給を停止することができる。言い換えれば、仮バッファ５０に入力データＩＤＴが記憶されるまでは全バッファ１１−ｊへのクロック供給を停止することが可能である。そして、アドレスＡＤＤが入力されることでアドレスデコード回路３０から出力される制御信号ＣＴＬに応じて仮バッファ５０より入力データＩＤＴが出力されるまでにアドレスＡＤＤのデコード結果に応じたバッファ１１−ｊにクロック信号を供給する。これにより、アドレスＡＤＤにより開始アドレスが特定されていなくともそれが入力されるまで入力データＩＤＴを保持することができ、開始アドレスが不明な場合でも入力データＩＤＴを取りこぼしてしまうことを防止することが可能となる。
【００４９】
なお、上述した実施形態では、ＦＩＦＯ型バッファを一例として示しているが、本発明はこれに限定されるものではない。ＦＩＦＯやＦＩＬＯ（First In Last Out：先入れ後出し）など、バッファを複数段設けた多段バッファ構成を有し、かつ書き込み又は読み出しを行うバッファを一段毎に制御するような任意の装置に適用可能である。
【００５０】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【００５１】
（付記１）クロック信号を基に動作するバッファを複数段設けて構成される多段バッファと、
上記多段バッファの中から書き込み又は読み出しを行うバッファを一段選択する選択回路と、
上記選択回路で選択された一段のバッファにのみ上記クロック信号を供給するクロック制御回路とを備えることを特徴とする半導体装置。
（付記２）上記多段バッファの各段のバッファに対応して上記クロック制御回路がそれぞれ設けられ、各クロック制御回路は、上記選択回路から供給される信号に応じて上記クロック信号を出力するか否かを制御可能であることを特徴とする付記１記載の半導体装置。
（付記３）上記クロック制御回路は、対応するバッファが選択されたか否かを示す上記選択回路からの信号と上記クロック信号が入力端に供給され、出力端が対応するバッファのクロック端子に接続されたロジック回路であることを特徴とする付記２記載の半導体装置。
（付記４）上記多段バッファは、複数のフリップフロップで構成されたＦＩＦＯ（First In First Out）型バッファであることを特徴とする付記１〜３の何れか１項に記載の半導体装置。
（付記５）上記多段バッファに対して書き込むデータを一時記憶する記憶回路をさらに備え、
上記記憶回路に書き込みデータが記憶されるまでは、上記クロック制御回路による上記多段バッファへの上記クロック信号の供給を停止することを特徴とする付記１〜４の何れか１項に記載の半導体装置。
（付記６）上記選択回路は、アドレス信号をデコードし、デコード結果に応じて書き込み又は読み出しを行うバッファを選択するアドレスデコード回路であることを特徴とする付記１〜５の何れか１項に記載の半導体装置。
（付記７）クロック信号を基に動作するバッファを複数段設けて構成される多段バッファを有する半導体装置の制御方法であって、
上記多段バッファの中から書き込み又は読み出しを行うバッファを一段選択する選択工程と、
上記選択工程での選択結果に応じて、上記多段バッファの各段のバッファに対する上記クロック信号の供給を制御するクロック制御工程とを有することを特徴とする制御方法。
（付記８）上記多段バッファに対して書き込むデータを記憶回路に一時記憶する記憶工程をさらに有し、
上記記憶工程にて上記記憶回路にデータが記憶されるまでは上記多段バッファに対する上記クロック信号の供給を停止し、上記記憶回路にデータを記憶した後、当該データを書き込むバッファにのみ上記クロック信号の供給を開始することを特徴とする付記７記載の制御方法。
【図面の簡単な説明】
【００５２】
【図１】本発明の一実施形態による半導体装置の構成例を示す図である。
【図２】本発明の実施形態における多段バッファの内部構成例を示す図である。
【図３】本発明の実施形態におけるクロック制御回路の一例を示す図である。
【図４】本発明の実施形態による半導体装置の他の構成例を示す図である。
【図５】従来のＦＩＦＯ型バッファの構成を示す図である。
【図６】従来のＦＩＦＯ型バッファの内部構成を示す図である。
【符号の説明】
【００５３】
１０  多段バッファ
２０  クロック制御回路
３０  アドレスデコード回路（ライト）
４０  アドレスデコード回路（リード）
５０  仮バッファ
ＣＬＫ  クロック信号
ＡＤＤ  アドレス信号
ＩＤＴ  入力データ
ＯＤＴ  出力データ
【図１】
2007149201.tif 000003
【図２】
2007149201.tif 000004
【図３】
2007149201.tif 000005
【図４】
2007149201.tif 000006
【図５】
2007149201.tif 000007
【図６】
2007149201.tif 000008