(57)【要約】     【課題】消費電力が少ない、ＦＩＦＯメモリとしての機能を有する半導体集積回路を、提供する。    【解決手段】半導体集積回路１０を、２個のＦＩＦＯ（シフトレジスタ）と、ＦＩＦＯ内に一時記憶すべきデータを，２個のＦＩＦＯのぞれぞれに供給するためのセレクタ１２と、２個のＦＩＦＯの中の１個のＦＩＦＯのみに，そのＦＩＦＯを動作させるためのクロックを供給し、また，クロックを供給しているＦＩＦＯの全レジスタにデータが記憶されたときに、クロックを供給するＦＩＦＯを変更する回路（入力制御回路１５及び２個のアンドゲート１４）と、２個のＦＩＦＯ内に記憶されている各データを、各ＦＩＦＯへの記憶順通りに出力する機能を有する回路（マルチプレクサ１３及び出力制御部１６）とを備える回路としておく。    【選択図】  図１
2007102973.tif 000002
【特許請求の範囲】
【請求項１】
ＦＩＦＯメモリとしての機能を有する半導体集積回路であって、
Ｎ個のシフトレジスタと、
一時記憶すべきデータを，前記Ｎ個のシフトレジスタのぞれぞれに供給するためのデータ供給回路と、
前記Ｎ個のシフトレジスタの中の１個のシフトレジスタのみに，そのシフトレジスタを動作させるためのクロックを供給する回路であるとと共に、クロックを供給しているシフトレジスタの全レジスタにデータが記憶されたときに、クロックを供給するシフトレジスタを変更する回路であるクロック供給回路と、
前記Ｎ個のシフトレジスタ内に記憶されている各データを、各シフトレジスタへの記憶順通りに出力する機能を有するデータ出力回路と
を、備えることを特徴とする半導体集積回路。
【請求項２】
前記クロック供給回路が、
各シフトレジスタを構成している先頭側の任意数のレジスタにクロックを供給可能な回路であると共に、各シフトレジスタの先頭側の，そのシフトレジスタに記憶すべきデータ数と等しい数のレジスタにクロックを供給する回路である
ことを特徴とする半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＦＩＦＯメモリとしての機能を有する半導体集積回路に関する。
【背景技術】
【０００２】
コンピュータやプリンタ等に使用されているインタフェース制御用／メモリ制御用の半導体集積回路の中には、ＦＩＦＯメモリ（例えば、特許文献１参照。）としての機能を有するものが、存在している。
【０００３】
【特許文献１】特開２００４−１７８６７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の課題は、既存のものよりも，その動作時の消費電力が少ない、ＦＩＦＯメモリとしての機能を有する半導体集積回路を、提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明の、ＦＩＦＯメモリとしての機能を有する半導体集積回路は、Ｎ（≧２）個のシフトレジスタと、一時記憶すべきデータを，Ｎ個のシフトレジスタのぞれぞれに供給するためのデータ供給回路と、Ｎ個のシフトレジスタの中の１個のシフトレジスタのみに，そのシフトレジスタを動作させるためのクロックを供給する回路であるとと共に、クロックを供給しているシフトレジスタの全レジスタにデータが記憶されたときに、クロックを供給するシフトレジスタを変更する回路であるクロック供給回路と、Ｎ個のシフトレジスタ内に記憶されている各データを、各シフトレジスタへの記憶順通りに出力する機能を有するデータ出力回路とを備える。
【０００６】
このような構成を有する本発明の半導体集積回路は、従来の同機能の半導体集積回路（レジスタ／ＦＩＦＯの段数が等しい従来の半導体集積回路）に比して、その動作時の消費電力が少ないものとなる。何故ならば、従来の半導体集積回路が、シフトレジスタ（本発明のＮ個のシフトレジスタに相当するもの）を構成している全てのレジスタにクロックが供給される回路であるのに対し、本発明の半導体集積回路は、その動作時に、Ｎ個のシフトレジスタの中の１個のシフトレジスタにしかクロックが供給されない回路となっているためである。
【０００７】
なお、本発明の半導体集積回路のデータ供給回路は、データを，クロック供給回路によってクロックが供給されているシフトレジスタのみに供給する回路であっても良く、単に、データを分配してＮ個のシフトレジスタに供給する回路（配線）であっても良い。
【０００８】
本発明の半導体集積回路を実現するに際しては、クロック供給回路を、各シフトレジスタを構成している先頭側の任意数のレジスタにクロックを供給可能な回路であると共に、各シフトレジスタの先頭側の，そのシフトレジスタに記憶すべきデータ数と等しい数のレジスタにクロックを供給する回路としておくことが出来る。そして、クロック供給回路として、そのような回路を採用した半導体集積回路は、その動作時の消費電力がより少ない回路として機能することになる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【００１０】
《第１実施形態》
図１に示してあるように、本発明の第１実施形態に係る半導体集積回路１０は、セレクタ１１，第０ＦＩＦＯ１２０，第０ＦＩＦＯ１２１，マルチプレクサ１３，アンドゲート１４０，アンドゲート１４１，入力制御部１５及び出力制御部１６を備えた回路である。なお、本実施形態に係る半導体集積回路１０は、セレクタ１１が本発明のデータ供給回路に相当し、各ＦＩＦＯ１２が本発明のシフトレジスタに相当し、２個のアンドゲート１４と入力制御部１５とからなる回路が本発明のデータ供給回路に相当し、マルチプレクサ１３と出力制御部１６とからなる回路が本発明のデータ出力回路に相当するものとなっている。
【００１１】
この半導体集積回路１０が備える第０ＦＩＦＯ１２０（以下、ＦＩＦＯ０とも表記する）、第１ＦＩＦＯ１２１（以下、ＦＩＦＯ１とも表記する）は、いずれも、４段のシフトレジスタ（本実施形態では、１６ビットシフトレジスタ）である。セレクタ１１は、入力されたデータ（“DATA”）を，入力制御回路１５からの制御信号が示している方のＦＩＦＯ（ＦＩＦＯ０或いはＦＩＦＯ１）に供給する回路である。なお、セレクタ１１は、入力制御回路１５から，ハイレベルの制御信号が入力されているときに、データをＦＩＦＯ１に供給する状態をとる回路となっている。
【００１２】
アンドゲート１４０は、ＦＩＦＯ０を機能させるためのクロックであるGO_CLK1を、ＦＩＦＯ０（ＦＩＦＯ０を構成している各レジスタ）に供給する回路である。図から明らかなように、アンドゲート１４０は、入力制御部１５からハイレベルの信号が入力されている場合にのみ、GO_CLK1をＦＩＦＯ０に供給する（CLK1をGO_CLK1として出力する）回路となっている。
【００１３】
アンドゲート１４１は、ＦＩＦＯ１を機能させるためのクロックであるG1_CLK1を、ＦＩＦＯ１（ＦＩＦＯ１を構成している各レジスタ）に供給する回路である。アンドゲート１４１は、アンドゲート１４０と同様に、入力制御部１５からハイレベルの信号が入力されている場合にのみ、G1_CLK1をＦＩＦＯ１に供給する（CLK1をG1_CLK1として出力する）回路となっている。
【００１４】
マルチプレクサ１３は、出力制御部１６からの制御信号によって指定される，ＦＩＦＯ０／ＦＩＦＯ１内のデータ（ＦＩＦＯ０／ＦＩＦＯ１内の１個のレジスタが保持しているデータ）を出力する回路である。
【００１５】
入力制御部１５，出力制御部１６は、以下のような機能を有する回路である。
【００１６】
入力制御部１５は、DATA_ENABLEが入力される（DATA_ENABLEがハイレベルに変化する）と、アンドゲート１４０への制御信号をハイレベルに変化させると共に、CLK1のカウントを開始する。そして、入力制御部１５は、カウント結果が４となった際（ＦＩＦＯ０の各レジスタにデータが記憶された際）には、アンドゲート１４０への制御信号，アンドゲート１４１への制御信号、セレクタ１１への制御信号を、それぞれ、ローレベル（ＦＩＦＯ０へG0_CLK1が供給されないレベル），ハイレベル（ＦＩＦＯ１へG1_CLK1が供給されるレベル）、ハイレベル（データがＦＩＦＯ１に供給されるレベル）に変化させる。また、入力制御部１５は、ＦＩＦＯ０からのデータ出力が可能であることを出力制御部１６に通知するために、FIFO0_READYのレベルに変化させる。
【００１７】
この通知を受けた出力制御部１６は、ＦＩＦＯ０内の各データを，格納順に出力させるための制御（ＣＬＫ２に同期した制御）をマルチプレクサ１３に対して行い、ＦＩＦＯ０内の全データの出力が終了した際には、その旨を入力制御部１５に通知するために、FIFO0_ENDのレベルに変化させる。
【００１８】
また、上記したように各種制御信号のレベルを変化させた入力制御部１５は、CLK1のカウントを開始する。そして、入力制御部１５は、カウント結果が４となった際（ＦＩＦＯ１の各レジスタにデータが記憶された際）には、アンドゲート１４０への制御信号，アンドゲート１４１への制御信号、セレクタ１１への制御信号を、それぞれ、ハイレベル，ローレベル、ローレベルに変化させる。また、入力制御部１５は、ＦＩＦＯ１からのデータ出力が可能であることを出力制御部１６に通知するために、FIFO1_READYのレベルに変化させる。この通知を受けた出力制御部１６は、ＦＩＦＯ０からのデータ出力が可能であることが通知された場合と同様に、ＦＩＦＯ１内の各データを，格納順に出力させるための制御をマルチプレクサ１３に対して行い、ＦＩＦＯ１内の全データの出力が終了した際には、その旨を入力制御部１５に通知するためにFIFO0_ENDのレベルに変化させる。
【００１９】
入力制御部１５，出力制御部１６は、DATA_ENABLEが入力されている間は、上記のような動作を繰り返す回路となっている。なお、入力制御部１５は、DATA_ENABLEの入力が停止された（DATA_ENABLEがローレベルに変化した）際に、アンドゲート１４０への制御信号，アンドゲート１４１への制御信号，セレクタ１１への制御信号が、全てローレベルとなっている状態（DATA_ENABLEが入力されるのを待機している状態）に移行する回路となっている。
【００２０】
以上の説明から明らかなように、本実施形態に係る半導体集積回路１０は、８段のＦＩＦＯメモリとしての機能を有する回路であるにも拘わらず、その動作時（データの格納時）に、４個のレジスタだけ（いずれか一方のＦＩＦＯだけ）にクロックが供給される回路となっている。従って、この半導体集積回路１０を用いれば、８段のＦＩＦＯメモリとしての機能を有する従来の回路（その動作時に、８個のレジスタにクロックが供給される回路）を用いた場合よりも、消費電力が少ない装置を実現できることになる。
【００２１】
《第２実施形態》
図２に示してあるように、本発明の第２実施形態に係る半導体集積回路２０は、セレクタ２１，第０ＦＩＦＯ２２０，第０ＦＩＦＯ２２１，マルチプレクサ２３，アンドゲート２４００〜２４０３及び２４１０〜２４１３，入力制御部２５及び出力制御部２６を備えた回路である。
【００２２】
この半導体集積回路２０が備えるセレクタ２１，第０ＦＩＦＯ２２０（以下、ＦＩＦＯ０と表記する），第１ＦＩＦＯ２２１（以下、ＦＩＦＯ１と表記する），マルチプレクサ２３，出力制御部２６は、それぞれ、第１実施形態に係る半導体集積回路１０が備えるセレクタ１１，第０ＦＩＦＯ１２０，第１ＦＩＦＯ１２１，マルチプレクサ１３，出力制御部１６と同じ回路である。
【００２３】
アンドゲート２４ＸＹ（Ｘ＝０or１；Ｙ＝０〜３）は、ＦＩＦＯＸ内の特定のレジスタに、GXY_CLK1を供給するための回路である。図から明らかなように、アンドゲート２４ＸＹは、入力制御部１５からハイレベルの信号が入力されている場合にのみ、GXY_CLK1をＦＩＦＯＸ内の特定のレジスタに供給する（CLK1をGXY_CLK1として出力する）回路となっている。
【００２４】
入力制御部２５は、以下のような機能を有する回路である。
【００２５】
ＦＩＦＯ０／１へのデータの格納時、入力制御部２５には、DATA_ENABLEとDATA_SIZEとが入力される。ここで、DATA_SIZEとは、ＦＩＦＯ０／１へ一時記憶すべきデータの総数を示すデータ（信号）のことである。
【００２６】
DATA_ENABLE及びDATA_SIZEが入力されると、入力制御部２５は、DATA_SIZEを内部に記憶し、そのDATA_SIZEが４以上であった場合には、ＦＩＦＯ０と接続されている４個のアンドゲート２４００〜２４０３への制御信号をハイレベルに変化させる処理を行う。一方、DATA_SIZEが４未満であった場合、入力制御部２５は、ＦＩＦＯ０内の先頭側の，DATA_SIZEと等しい数のレジスタに接続されている各アンドゲート２４への制御信号をハイレベルに変化させる処理を行う。次いで、入力制御部２５は、CLK1をカウントする処理と、内部に記憶しているDATA_SIZEの値を，CLK1に同期した形で“１”ずつ減少させていく処理とを開始する。
【００２７】
そして、入力制御部１５は、内部に記憶しているDATA_SIZEが“０”ではない状態でCLK1のカウント結果が４となった場合には、ＦＩＦＯ０と接続されている４個のアンドゲート２４００〜２４０３への制御信号をローレベルに変化させる処理と、ＦＩＦＯ０からのデータ出力が可能であることを出力制御部１６に通知するための処理（FIFO0_READYのレベルに変化させる処理）とを行う。さらに、入力制御部は、内部に記憶しているDATA_SIZEが４以上であった場合には、ＦＩＦＯ１と接続されている４個のアンドゲート２４１０〜２４１３への制御信号をハイレベルに変化させ、DATA_SIZEが４未満であった場合には、ＦＩＦＯ１内の先頭側の，DATA_SIZEと等しい数のレジスタに接続されている各アンドゲート２４への制御信号をハイレベルに変化させる処理，セレクタ２１への制御信号をハイレベルに変化させる処理も、行う。
【００２８】
入力制御部２５は、DATA_SIZEが“０”ではない状態では、このような動作を繰り返す回路となっている。また、入力制御部２５は、CLK1のカウント結果が４となる前に，内部に記憶しているDATA_SIZEが“０”となった場合には、ハイレベルにしていた各アンドゲート２４への制御信号をローレベルに変化させる処理と、ＦＩＦＯ０或いはＦＩＦＯ１からのデータ出力が可能であることを出力制御部２６に通知するための処理（FIFO0_READY或いはFIFO1_READYのレベルに変化させる処理）とを行ってから、DATA_ENABLE等が入力されるのを待機している状態に移行する回路ともなっている。
【００２９】
以上の説明から明らかなように、第２実施形態に係る半導体集積回路２０は、８段のＦＩＦＯメモリとしての機能を有する回路であるにも拘わらず、その動作時（データの格納時）に、４個以下のレジスタだけにクロックが供給される回路となっている。従って、この半導体集積回路２０を用いれば、８段のＦＩＦＯメモリとしての機能を有する従来の回路（その動作時に、８個のレジスタにクロックが供給される回路）や半導体集積回路１０を用いた場合よりも、消費電力が少ない装置を実現できることになる。
【００３０】
《変形形態》
上記した半導体集積回路１０，２０は、各種の変形を行うことが出来る。例えば、半導体集積回路１０，２０は、４段のＦＩＦＯ（シフトレジスタ）を、２個、備えたものであったが、半導体集積回路１０，２０を、各ＦＩＦＯ（シフトレジスタ）の段数やＦＩＦＯの個数が，４や２ではない回路（Ｍ段のＦＩＦＯを、Ｎ個、備えた回路）に変形することが出来る。また、ＦＩＦＯは、クロックを供給しない限りデータを取り込まないので、ＦＩＦＯ０／１に、セレクタ１１，２１を介さずにデータが供給される回路に、半導体集積回路１０，２０を変形することも出来る。
【図面の簡単な説明】
【００３１】
【図１】第１実施形態に係る半導体集積回路の構成図。
【図２】第２実施形態に係る半導体集積回路の構成図。
【符号の説明】
【００３２】
１０，２０  半導体集積回路、  １１，２１  セレクタ、  １２，２２  ＦＩＦＯ、
１３，２３  マルチプレクサ、  １４，２４  アンドゲート、
１５，２５  入力制御部、  １６，２６  出力制御部
【図１】
2007102973.tif 000003
【図２】
2007102973.tif 000004