(57)【要約】【課題】  複数の機能ブロックが１つのメモリにアクセス可能な構成を、配置配線の複雑さを軽減したＡＳＩＣとして実現したＦＩＦＯシステムを提供することを課題とする。【解決手段】  データを記憶する記憶部１５と、記憶部１５に対してデータの読み書きを行う第１機能ブロック部１１及び第２機能ブロック部１２と、第１機能ブロック部１１及び第２機能ブロック部１２からそれぞれ記憶部１５につながる通信線を、いずれか１つの機能ブロックのみと記憶部１５とがつながるように切り替える経路切替部１３と、機能ブロックが記憶部１５に対して行うデータの読み書きが先入れ先出しで行われるように制御するＦＩＦＯ制御部１４とを特定用途向け集積回路であるＦＩＦＯシステム１に備える。【選択図】  図１
2006236499.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する記憶手段と、
前記記憶手段に対してデータの読み書きを行う複数の機能ブロックと、
前記複数の機能ブロックから前記記憶手段につながる通信線を、いずれか１つの機能ブロックのみと前記記憶手段とがつながる接続に切り替える切替手段と、
前記機能ブロックが前記記憶手段に対して行うデータの読み書きを先入れ先出しで行わせる制御を行う制御手段と
を特定用途向け集積回路に備えるＦＩＦＯシステム。
【請求項２】
前記制御手段は、
前記記憶手段におけるまだ読み出されていないデータのうちで最も古く書き込まれたデータのアドレスを記憶する読出アドレス記憶手段と、
次にデータを書き込むアドレスを記憶する書込アドレス記憶手段と、
前記記憶手段からデータを読み出す指示を受信した場合に、前記読出アドレス記憶手段に記憶されているアドレスからデータを読み出す制御を行う読出制御手段と、
前記記憶手段にデータを書き込む指示を受信した場合に、前記書込アドレス記憶手段に記憶されているアドレスにデータを書き込む制御を行う書込制御手段と、
前記読出制御手段により前記記憶手段からデータを読み出す制御が行われた場合に、前記読出アドレス記憶手段に記憶されているアドレスを予め定められた分繰り上げる読出アドレス繰上手段と、
前記書込制御手段により前記記憶手段へデータを書き込む制御が行われた場合に、前記書込アドレス記憶手段に記憶されているアドレスを予め定められた分繰り上げる書込アドレス繰上手段と
を備える請求項１に記載のＦＩＦＯシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＳＩＣ（特定用途向け集積回路）内においてメモリをＦＩＦＯメモリとして用いるＦＩＦＯシステムに関する。
【背景技術】
【０００２】
従来、複数の機能ブロック等でメモリを共有する場合には、バスにより複数の機能ブロックとメモリとを接続し、セレクタやバスアービタによりメモリにアクセスする機能ブロックを選択し、アクセスが競合しないようにしていた。
【０００３】
例えば下記特許文献１には、バスアクセスの競合状態に応じて柔軟且つ最適なバス制御を実施して特定のバスマスタが長時間バスを占有する状況を回避する発明が記載されている。
【特許文献１】特開２００２−５５９４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の技術においては、メモリにアクセスする各機能ブロックには、アドレスバス及びデータバスが共に配線されており、配線本数が多く、ＡＳＩＣで実現するためには配置配線作業が複雑であると共に、半導体チップの面積も多く必要となるという問題点を有していた。
【０００５】
本発明は、上記問題点に鑑みて成されたもので、複数の機能ブロックが１つのメモリにアクセス可能な構成を、配置配線の複雑さを軽減したＡＳＩＣとして実現したＦＩＦＯシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に係るＦＩＦＯシステムは、データを記憶する記憶手段と、前記記憶手段に対してデータの読み書きを行う複数の機能ブロックと、前記複数の機能ブロックから前記記憶手段につながる通信線を、いずれか１つの機能ブロックのみと前記記憶手段とがつながる接続に切り替える切替手段と、前記機能ブロックが前記記憶手段に対して行うデータの先入れ先出しで行わせる制御を行う制御手段とを特定用途向け集積回路に備えるものである。
【０００７】
この構成によれば、複数の各機能ブロックからの記憶手段に対するアクセスは、切替手段により切り替えられた経路により記憶手段と接続された機能ブロックが、先入れ先出しで上記記憶手段にデータの書き込み又は読み出しを行うように制御手段により制御される。
【０００８】
請求項２に係るＦＩＦＯシステムは、請求項１に記載のＦＩＦＯシステムであって、前記制御手段は、前記記憶手段におけるまだ読み出されていないデータのうちで最も古く書き込まれたデータのアドレスを記憶する読出アドレス記憶手段と、次にデータを書き込むアドレスを記憶する書込アドレス記憶手段と、前記記憶手段からデータを読み出す指示を受信した場合に、前記読出アドレス記憶手段に記憶されているアドレスからデータを読み出す制御を行う読出制御手段と、前記記憶手段にデータを書き込む指示を受信した場合に、前記書込アドレス記憶手段に記憶されているアドレスにデータを書き込む制御を行う書込制御手段と、前記読出制御手段により前記記憶手段からデータを読み出す制御が行われた場合に、前記読出アドレス記憶手段に記憶されているアドレスを予め定められた分繰り上げる読出アドレス繰上手段と、前記書込制御手段により前記記憶手段へデータを書き込む制御が行われた場合に、前記書込アドレス記憶手段に記憶されているアドレスを予め定められた分繰り上げる書込アドレス繰上手段とを備えるものである。
【０００９】
この構成によれば、制御手段において、記憶手段にデータを書き込む指示を受信した場合には、書込制御手段は、書込アドレス記憶手段に記憶されている記憶手段のアドレスに対してデータの書き込みを行い、その後、書込アドレス繰上手段は、書込アドレス記憶手段に記憶されているアドレスを所定分繰り上げる。また、記憶手段からデータを読み出す指示を受信した場合には、読出制御手段は、読出アドレス記憶手段に記憶されている記憶手段のアドレスからデータの読み出しを行い、その後、読出アドレス繰上手段は、読出アドレス記憶手段に記憶されているアドレスを所定分繰り上げる。
【発明の効果】
【００１０】
請求項１又は２に記載の発明によれば、書込アドレス又は読出アドレスを機能ブロックから送信する必要がないので、機能ブロックにアドレスバスを接続する必要がなく、ＡＳＩＣ内の配線本数を軽減することができ、配置配線作業が容易になると共に、半導体チップの面積をより少なくできる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明に係る実施形態を図面に基づいて説明する。図１は、本発明の一実施形態に係るＦＩＦＯ（先入れ先出し）システムを備えるＡＳＩＣ（特定用途向け集積回路）の機能構成を示すブロック図である。ＡＳＩＣ１は、第１機能ブロック部１１、第２機能ブロック部１２、経路切替部１３、ＦＩＦＯ制御部１４、及び記憶部１５を備える。
【００１２】
第１機能ブロック部１１及び第２機能ブロック部１２は、それぞれ記憶部１５に対しリード又はライトを行うものである。第１機能ブロック部１１及び第２機能ブロック部１２は、それぞれ経路切替部１３と、アクセス要求線、要求受付通知線、ライト要求線、リード要求線、及びデータバス線等により接続されている。
【００１３】
経路切替部１３は、第１機能ブロック部１１からの各線と、第２機能ブロック部１２からの各線とのいずれか一方のみがＦＩＦＯ制御部１４に接続されるように、接続を切り替えるものである。経路切替部１３は、ＦＩＦＯ制御部１４と、ライト要求線、リード要求線、データバス線、及びリードライト完了通知線等により接続されている。
【００１４】
記憶部１５は、データを記憶するもので、例えばＳＲＡＭ（スタティックランダムアクセスメモリ）等により構成される。記憶部１５は、ＦＩＦＯ制御部１４と、ライト要求線、リード要求線、アドレス線、及びデータバス線等により接続されている。
【００１５】
ＦＩＦＯ制御部１４は、記憶部１５をＦＩＦＯとして使用するための制御を行うものである。ＦＩＦＯ制御部１４は、読出制御部１４１、読出アドレスカウンタ部１４２、書込制御部１４３、及び書込アドレスカウンタ部１４４を備える。
【００１６】
読出アドレスカウンタ部１４２は、記憶部１５の次に読み出すアドレスを保持し、そのアドレスを読出制御部１４１から指示を受けるごとに所定アドレス繰り上げるものである。読出アドレスカウンタ部１４２は、アドレスの繰り上げが上限まで達した場合には、アドレスを初期値（下限）に戻す。
【００１７】
書込アドレスカウンタ部１４４は、記憶部１５の次に書き込むアドレスを保持し、そのアドレスを書込制御部１４３から指示を受けるごとに所定アドレス繰り上げるものである。書込アドレスカウンタ部１４４は、アドレスの繰り上げが上限まで達した場合には、アドレスを初期値（下限）に戻す。
【００１８】
読出制御部１４１は、第１機能ブロック部１１又は第２機能ブロック部１２から読出指示（リード線がオンになったことによる）を受けた場合に、読出アドレスカウンタ部１４２からアドレスを読み出し、このアドレスが書込制御部１４３から受信した最新の書込アドレスと同じでなければ、アドレス線にこのアドレスを出力する。これにより、記憶部１５の上記アドレスのデータは、データバス線に出力される。読出制御部１４１は、読出アドレスカウンタ部１４２から読み出したアドレスが最新の書込アドレスと同じである場合には読み出しが書き込みを追い越すことになるので、エラー線をオンにする。これにより、読み出しが行えないことが読み出しを指示した機能ブロック部１１又は１２に伝えられる。読出制御部１４１は、アドレス線にアドレスを出力した場合には、読出アドレスカウンタ部１４２にアドレスの繰り上げ指示をする。また、読出制御部１４１は、読み出したアドレス、すなわちアドレス線に出力したアドレスを書込制御部１４３に送信する。これは、書き込みが読出を追い越さないように（まだ読み出されていない領域に書き込まないように）するためである。
【００１９】
書込制御部１４３は、第１機能ブロック部１１又は第２機能ブロック部１２から書込指示（ライト線がオンになったことによる）を受けた場合に、書込アドレスカウンタ部１４４からアドレスを読み出し、このアドレスが読出制御部１４１から受信した最新の読出アドレスと同じでなければ、アドレス線にこのアドレスを出力する。これにより、データバス線に既に出力されているデータは、記憶部１５の上記アドレスに書き込まれる。書込制御部１４３は、書込アドレスカウンタ部１４４から読み出したアドレスが最新の読出アドレスと同じである場合には書き込みが読み出しを追い越すことになるので、エラー線をオンにする。これにより、書き込みが行えないことを書き込みを指示した機能ブロック部１１又は１２に伝える。書込制御部１４３は、アドレス線にアドレスを出力した場合には、書込アドレスカウンタ部１４４にアドレスの繰り上げ指示をする。また、書込制御部１４３は、書き込んだアドレス、すなわちアドレス線に出力したアドレスを読出制御部１４１に送信する。これは、読み出しが書き込みを追い越さないように（まだ書き込まれていない領域から読み出さないように）するためである。
【００２０】
次に、メモリをＦＩＦＯメモリとして使用するための制御の処理の流れについて説明する。図２は、メモリをＦＩＦＯメモリとして使用するための制御の処理の流れを示すフローチャートである。
【００２１】
まず、機能ブロック部（第１機能ブロック部１１又は第２機能ブロック部１２）の処理の流れを説明する。本発明に係る第１機能ブロック部１１又は第２機能ブロック部１２の処理の流れは同一であるので、第１機能ブロック部１１を例に取り説明する。
【００２２】
第１機能ブロック部１１は、記憶部１５への書き込み又は記憶部１５からの読み出しを行う場合には、アクセス要求線をオンにすることにより、経路切替部１３に対しアクセス要求を送信する（ステップＳ１１）。そして、第１機能ブロック部１１は、要求受付通知線がオンになったことにより、経路切替部１３から要求受付通知を受信したか否かをチェックし（ステップＳ１２）、受信していない場合（ステップＳ１２でＮＯ）には要求受付通知の受信チェック（ステップＳ１２）を繰り返す。また、要求受付通知を受信した場合（ステップＳ１２でＹＥＳ）には、第１機能ブロック部１１が記憶部１５にアクセスを行うことができるということであるので、ステップＳ１３へ進む。
【００２３】
そして、第１機能ブロック部１１が記憶部１５に対して行うアクセスがライトである場合（ステップＳ１３でライト）には、第１機能ブロック部１１は、ライト要求線をオンにすると共にデータバス線にデータを出力することにより、ライト要求及びライトデータを記憶部１５に送信する（ステップＳ１４）。
【００２４】
ステップＳ１３において、第１機能ブロック部１１が記憶部１５に対して行うアクセスがリードである場合（ステップＳ１３でリード）には、第１機能ブロック部１１は、リード要求線をオンにすることにより、リード要求を記憶部１５に送信する。（ステップＳ１５）。そして、第１機能ブロック部１１は、データバスに出力されているデータを読み込むことにより、記憶部１５からデータを読み出す。（ステップＳ１６）。
【００２５】
次に、経路切替部１３の処理の流れを説明する。
【００２６】
経路切替部１３は、第１機能ブロック部１１又は第２機能ブロック部１２からアクセス要求を受信したか否かをチェックし（ステップＳ２１）、受信していない場合（ステップＳ２１でＮＯ）には、アクセス要求の受信チェック（ステップＳ２１）を繰り返す。ステップＳ２１においてアクセス要求を受信した場合（ステップＳ２１でＹＥＳ）には、ステップＳ２２へ進む。経路切替部１３は、ステップＳ２１の状態以外においてアクセス要求を受信した場合には、他の機能ブロック（例えば第２機能ブロック部１２）が記憶部１５にアクセス中であるということなので、その要求を受け付けない。
【００２７】
そして、経路切替部１３は、アクセス要求の要求元の機能ブロック（例えば第１機能ブロック部１１）からの配線（データバス線、リード要求線、ライト線要求等）が記憶部１５へ接続されるように配線経路を切り替える（ステップＳ２２）。これにより、第１機能ブロック部１１から出力された信号は、ダイレクトに記憶部１５に届くようになる。次に、経路切替部１３は、アクセス要求の要求元の機能ブロック（例えば第１機能ブロック部１１）に要求受付通知を送信する（ステップＳ２３）。
【００２８】
それから、経路切替部１３は、書込制御部１４３からライトの完了通知、又は読出制御部１４１からリードの完了通知を受信したか否かをチェックし（ステップＳ２４）、受信していない場合（ステップＳ２４でＮＯ）には、完了通知の受信チェックを繰り返す。ステップＳ２４において完了通知を受信した場合（ステップＳ２４でＹＥＳ）には、当該アクセスの処理を終了し、次のアクセスを受け付ける。
【００２９】
次に、書込制御部１４３の処理の流れを説明する。
【００３０】
書込制御部１４３は、ライト要求線がオンであるか否かによりライト要求を受信したか否かをチェックし（ステップＳ３１）、受信していない場合（ステップＳ３１でＮＯ）には、ライト要求の受信チェック（ステップＳ３１）を繰り返す。ステップＳ３１においてライト要求を受信した場合（ステップＳ３１でＹＥＳ）には、ステップＳ３２へ進む。
【００３１】
そして、書込制御部１４３は、書込アドレスカウンタ部１４４から書込アドレスを読み出す（ステップＳ３２）。次に、書込制御部１４３は、読み出した書込アドレスをアドレスバスに出力することにより、データバス上のデータを記憶部１５のそのアドレスに書き込ませる（ステップＳ３３）。次に、書込制御部１４３は、書込アドレスカウンタ部１４４にアドレスをインクリメントするよう指示し、これを受けて書込アドレスカウンタ部１４４は、書込アドレスをインクリメントする（ステップＳ３４）。それから、書込制御部１４３は、経路切替部１３にライトの完了通知を送信すると共に、読出制御部１４１に書込アドレスを送信する。（ステップＳ３５）。
【００３２】
次に、読出制御部１４１の処理の流れを説明する。
【００３３】
読出制御部１４１は、リード要求線がオンであるか否かによりリード要求を受信したか否かをチェックし（ステップＳ４１）、受信していない場合（ステップＳ４１でＮＯ）には、リード要求の受信チェック（ステップＳ４１）を繰り返す。ステップＳ４１においてリード要求を受信した場合（ステップＳ４１でＹＥＳ）には、ステップＳ４２へ進む。
【００３４】
そして、読出制御部１４１は、読出アドレスカウンタ部１４２から読出アドレスを読み出す（ステップＳ４２）。次に、読出制御部１４１は、読み出した読出アドレスをアドレスバスに出力することにより、記憶部１５のそのアドレスのデータをデータバスに出力させ、アクセス要求元の機能ブロック（例えば第１機能ブロック部１１）に読み取らせる（ステップＳ４３）。次に、読出制御部１４１は、読出アドレスカウンタ部１４２にアドレスをインクリメントするよう指示し、これを受けて読出アドレスカウンタ部１４２は、読出アドレスをインクリメントする（ステップＳ４４）。それから、読出制御部１４１は、経路切替部１３にリードの完了通知を送信すると共に、書込制御部１４３に読出アドレスを送信する（ステップＳ４５）。
【００３５】
このように本実施形態においては、記憶部１５（メモリ）をＦＩＦＯメモリとして用いることができるようにＦＩＦＯ制御部１４により制御を行ったので、機能ブロックから書込アドレス又は読出アドレスを指定する必要がないため、各機能ブロックにアドレスバス線を接続する必要がなくなり、ＡＳＩＣ内の配線本数を軽減することができ、配置配線作業が容易になると共に、半導体チップの面積をより少なくできる。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施形態におけるＦＩＦＯシステムの機能構成を示すブロック図である。
【図２】本発明の一実施形態におけるＦＩＦＯシステムの処理の流れを示すフローチャートである。
【符号の説明】
【００３７】
１  ＦＩＦＯシステム
１１  第１機能ブロック部（機能ブロック）
１２  第２機能ブロック部（機能ブロック）
１３  経路切替部（切替手段）
１４  ＦＩＦＯ制御部（制御手段）
１４１  読出制御部（読出制御手段）
１４２  読出アドレスカウンタ部（読出アドレス記憶手段、読出アドレス繰上手段）
１４３  書込制御部（書込制御手段）
１４４  書込アドレスカウンタ部（書込アドレス記憶手段、書込アドレス繰上手段）
１５  記憶部（記憶手段）
【図１】
2006236499.tif 000003
【図２】
2006236499.tif 000004