(57)【特許請求の範囲】
【請求項１】
順序整合データと非順序整合データとの２種類からなるデータのうち、順序整合データが入力された場合、順序整合データを識別する識別情報を生成するデータ解析部と、
互いに異なる順序整合データが割り振られる第１及び第２のＦＩＦＯ回路と、
入力されたデータが順序整合データである場合、前記識別情報に基づいて、当該順序整合データが、当該順序整合データよりも前に入力された非順序整合データよりも後に出力され、当該順序整合データよりも後に入力された非順序整合データよりも前に出力されるように前記第１及び第２のＦＩＦＯ回路を制御する制御部と、
を備える出力制御回路。
【請求項２】
前記データ解析部は、前記識別情報として、前記順序整合データの最初と最後のデータを示す順序整合信号を前記制御部に出力し、
前記制御部は、前記順序整合信号に基づいて、順序整合データの出力を制御する、
請求項１に記載の出力制御回路。
【請求項３】
前記制御部は、前記順序整合信号に基づいて、順序整合データと非順序整合データとの識別が可能な順序管理番号を生成して、前記順序管理番号を前記第１及び第２のＦＩＦＯ回路が取得したデータに関連付けることにより、順序整合データの出力を制御する、
請求項２に記載の出力制御回路。
【請求項４】
前記順序管理番号は、前記順序整合信号に基づいてカウント・アップされる、
請求項３に記載の出力制御回路。
【請求項５】
前記制御部は、外部からのデータ出力要求を取得した場合、前記順序管理番号同士の値の大小を比較して、前記順序管理番号の値が小さいデータを先に出力するように制御する、
請求項４に記載の出力制御回路。
【請求項６】
前記制御部は、前記第１及び第２のＦＩＦＯ回路のそれぞれが次に出力するデータの種類が異なり、前記順序管理番号は同一である場合、直前に出力されたデータと同一種類のデータを出力するように制御する、
請求項５に記載の出力制御回路。
【請求項７】
入力されたデータが順序整合データか非順序整合データかを検出する第１のステップと、
入力されたデータが順序整合データである場合、順序整合データを識別する識別情報を生成し、互いに異なる順序整合データを第１及び第２のＦＩＦＯ回路に割り振る第２のステップと、
前記識別情報に基づいて、当該順序整合データが、当該順序整合データよりも前に入力された非順序整合データよりも後に出力され、当該順序整合データよりも後に入力された非順序整合データよりも前に出力されるように前記第１及び第２のＦＩＦＯ回路を制御する第３のステップと、
を備える出力制御回路の制御方法。
【請求項８】
入力されたデータが順序整合データか非順序整合データかを検出する第１の処理と、
入力されたデータが順序整合データである場合、順序整合データを識別する識別情報を生成し、互いに異なる順序整合データを第１及び第２のＦＩＦＯ回路に割り振る第２の処理と、
前記識別情報に基づいて、当該順序整合データが、当該順序整合データよりも前に入力された非順序整合データよりも後に出力され、当該順序整合データよりも後に入力された非順序整合データよりも前に出力されるように前記第１及び第２のＦＩＦＯ回路を制御する第３の処理と、
を出力制御回路に実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は出力制御回路、出力制御回路の制御方法及びその制御プログラムに関する。
【背景技術】
【０００２】
入力されたデータを入力された順番に出力する、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ，  Ｆｉｒｓｔ  Ｏｕｔ）回路については、様々な技術が提案されている。例えば、特許文献１では、小さい回路規模において、複数系統のデータに対して適切にＦＩＦＯ機能を提供できるデータ記憶装置の技術が開示されている。特許文献２では、複数のＦＩＦＯ回路においてデータ処理の順序を指定したい場合、同期コマンドを特定のＦＩＦＯ回路に送出することで、処理順序指定動作を実現する技術が開示されている。
【０００３】
また、特許文献３では、要求ＦＩＦＯ回路と応答ＦＩＦＯ回路間において発生するデッドロックの可能性を検出し、回避する技術が開示されている。特許文献４では、ＦＩＦＯデータ経路をインタロックする技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２０９８１１号公報
【特許文献２】特開平０６−１６２２０６号公報
【特許文献３】特開平０８−２４９２９５号公報
【特許文献４】特開平１１−００３２０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１〜４では、データが入力されて出力される場合、そのデータの前に入力された他のデータよりも後に出力され、そのデータの後に入力された他のデータよりも前に出力される必要がある所定のデータ（以下、順序整合データとする）を、複数のＦＩＦＯ回路を用いて処理する技術は開示されていない。
【０００６】
本発明は、このような問題点を解決するためになされたものであり、順序整合データを複数のＦＩＦＯ回路で処理することができる出力制御回路、出力制御回路の制御方法及びその制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明にかかる出力制御回路は、順序整合データと非順序整合データとの２種類からなるデータのうち、順序整合データが入力された場合、順序整合データを識別する識別情報を生成するデータ解析部と、互いに異なる順序整合データが割り振られる第１及び第２のＦＩＦＯ回路と、入力されたデータが順序整合データである場合、前記識別情報に基づいて、当該順序整合データが、当該順序整合データよりも前に入力された非順序整合データよりも後に出力され、当該順序整合データよりも後に入力された非順序整合データよりも前に出力されるように前記第１及び第２のＦＩＦＯ回路を制御する制御部を備える。
【０００８】
本発明にかかる出力制御回路の制御方法は、入力されたデータが順序整合データか非順序整合データかを検出する第１のステップと、入力されたデータが順序整合データである場合、順序整合データを識別する識別情報を生成し、互いに異なる順序整合データを第１及び第２のＦＩＦＯ回路に割り振る第２のステップと、前記識別情報に基づいて、当該順序整合データが、当該順序整合データよりも前に入力された非順序整合データよりも後に出力され、当該順序整合データよりも後に入力された非順序整合データよりも前に出力されるように前記第１及び第２のＦＩＦＯ回路を制御する第３のステップを備える。
【０００９】
また、本発明にかかる出力制御回路の制御プログラムは、入力されたデータが順序整合データか非順序整合データかを検出する第１の処理と、入力されたデータが順序整合データである場合、順序整合データを識別する識別情報を生成し、互いに異なる順序整合データを第１及び第２のＦＩＦＯ回路に割り振る第２の処理と、前記識別情報に基づいて、当該順序整合データが、当該順序整合データよりも前に入力された非順序整合データよりも後に出力され、当該順序整合データよりも後に入力された非順序整合データよりも前に出力されるように前記第１及び第２のＦＩＦＯ回路を制御する第３の処理を出力制御回路に実行させる。
【発明の効果】
【００１０】
本発明により、順序整合データを、複数のＦＩＦＯ回路で処理することができる出力制御回路、出力制御回路の制御方法及びその制御プログラムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１にかかる、出力制御回路の全体構成例を示すブロック図である。
【図２】実施の形態１にかかる、順序整合データ及び非順序整合データの出力制御例を示す図である。
【図３】実施の形態２にかかる、出力制御回路の全体構成例を示すブロック図である。
【図４】実施の形態２にかかる、ＦＩＦＯ回路制御部の全体構成例を示すブロック図である。
【図５】実施の形態２にかかる、ＦＩＦＯ出力順序制御部の全体構成例を示すブロック図である。
【図６】実施の形態２にかかる、データ入力時の各ＦＩＦＯ回路の第１の状態例を示す図である。
【図７】実施の形態２にかかる、データ入力時の各ＦＩＦＯ回路の第２の状態例を示す図である。
【図８】実施の形態２にかかる、データ入力時の各ＦＩＦＯ回路の第３の状態例を示す図である。
【図９】実施の形態２にかかる、データ入力時の各ＦＩＦＯ回路の第４の状態例を示す図である。
【図１０】実施の形態２にかかる、複数のＦＩＦＯ回路のデータ入力に係る動作タイミングの例を示す図である。
【図１１】実施の形態２にかかる、データ出力時の各ＦＩＦＯ回路の第１の状態例を示す図である。
【図１２】実施の形態２にかかる、データ出力時の各ＦＩＦＯ回路の第２の状態例を示す図である。
【図１３】実施の形態２にかかる、データ出力時の各ＦＩＦＯ回路の第３の状態例を示す図である。
【図１４】実施の形態２にかかる、データ出力時の各ＦＩＦＯ回路の第４の状態例を示す図である。
【図１５】実施の形態２にかかる、データ出力時の各ＦＩＦＯ回路の第５の状態例を示す図である。
【図１６】実施の形態２にかかる、データ出力時の各ＦＩＦＯ回路の第６の状態例を示す図である。
【図１７】実施の形態２にかかる、ＦＩＦＯ回路Ａのデータ出力に係る動作タイミングの例を示す図である。
【図１８】実施の形態２にかかる、ＦＩＦＯ回路Ｂのデータ出力に係る動作タイミングの例を示す図である。
【図１９】実施の形態３にかかる、出力制御回路の全体構成例を示すブロック図である。
【発明を実施するための形態】
【００１２】
実施の形態１
以下、図面を参照して本発明の実施の形態１について説明する。図１は、出力制御回路１００の全体構成例を示すブロック図である。出力制御回路１００は、データ解析部１０１、ＦＩＦＯ回路１０２（第１のＦＩＦＯ回路）、ＦＩＦＯ回路１０３（第２のＦＩＦＯ回路）、制御部１０４を備える。出力制御回路１００は、データの取得及び出力が可能であるほか、ＦＩＦＯ回路１０２、１０３によって、入力データを保存することが可能である。
【００１３】
出力制御回路１００は、コンピュータに搭載され、コンピュータ内の他の回路からデータを取得する。出力制御回路１００は取得したデータを一時的に保存した後、適切な順序でコンピュータ内の他の回路に出力する。
【００１４】
データ解析部１０１は、出力制御回路１００への入力データが、前述の順序整合データであるか否かを検出する。入力データが順序整合データである場合は、データ解析部１０１は制御部１０４に、入力データが順序整合データであることを示す識別情報を出力する。この識別情報は、入力データにおいて、どのデータからどのデータまでが順序整合データであるかが、識別可能な情報であればよい。例えば、順序整合データの最初のデータと最後のデータが入力された場合のみ、データ解析部１０１は制御部１０４に識別情報を出力するようにしてもよい。あるいは、順序整合データ中の全てのデータにおいて、データ解析部１０１は制御部１０４に識別情報を出力してもよい。なお、データ解析部１０１は、具体的にはＣＰＵ等のプロセッサを備える。
【００１５】
複数データからなる前述の「順序整合データ」は、出力制御回路１００がデータを出力する場合、順序整合データ同士であれば、入力順に出力される必要はない。しかし、データ出力の場合、順序整合データと非順序整合データとの混合が起きることは許されない。このデータ入力及び出力の場合の、順序整合データと非順序整合データの処理に関しては後述する。なお、順序整合データは、例えばシステムを設定するためのデータであり、システムの設定前に入力されるデータが、設定後に入力されるデータよりも前の順序で出力される必要があるようなデータである。
【００１６】
ＦＩＦＯ回路１０２、１０３は、出力制御回路１００への入力データを取得し、それぞれは取得した入力データを入力順に出力する。制御部１０４の制御により、ＦＩＦＯ回路１０２、１０３には互いに異なる順序整合データが割り振られる。なお、ＦＩＦＯ回路１０２、１０３は、具体的にはＲＡＭ等のメモリを備える。
【００１７】
制御部１０４は、ＦＩＦＯ回路１０２、１０３のデータ入力及び出力を制御する。ＦＩＦＯ回路１０２、１０３のデータ入力については、前述の通り、ＦＩＦＯ回路１０２、１０３には互いに異なる順序整合データが割り振られるように、制御部１０４は制御情報をＦＩＦＯ回路１０２、１０３に出力する。また、ＦＩＦＯ回路１０２、１０３のデータ出力については、所定のタイミングでＦＩＦＯ回路１０２、１０３が入力データを出力するように、制御部１０４は制御情報をＦＩＦＯ回路１０２、１０３に出力する。なお、制御部１０４は、具体的にはＣＰＵ等のプロセッサを備える。
【００１８】
図２を用いて、入力データを出力する場合の、順序整合データと非順序整合データの出力制御例に関して説明する。図２での「入力データ」の図において、データＡ〜Ｅから構成されるデータは、順序整合データである。データ１〜４、５〜８から構成されるデータは、非順序整合データである。また、データ１〜４は順序整合データの前に入力された第１の非順序整合データであり、データ５〜８は順序整合データの後に入力された第２の非順序整合データである。データＡ〜Ｅ、１〜８は、順序整合データ及び非順序整合データの１単位のデータを示している。データ１〜８の非順序整合データは、入力時と同じ順序で出力される必要はない。なお、図２のデータ入力及び出力を示す図においては、左のデータほど、先に入力または出力されることを示している。
【００１９】
図２の入力時においては、第１の非順序整合データが先に出力制御回路１００に入力される。次に、順序整合データが入力され、その後に第２の非順序整合データが入力される。データ入力がこの順序である場合、出力制御回路１００は例えば「データ出力順序１」に示された順序で、入力データを出力することができる。「データ出力順序１」に示された順序では、順序整合データは、データＡ〜Ｅにおける順序は入力時と異なっているものの、非順序整合データとの混合は起こらずに、データＡ〜Ｅがひと固まりとして出力されるからである。つまり、順序整合データは、順序整合データよりも前に入力された第１の非順序整合データよりも後に出力され、順序整合データよりも後に入力された第２の非順序整合データよりも前に出力される。
【００２０】
しかし、出力制御回路１００は「データ出力順序２」に示された順序で、入力データを出力することはできない。「データ出力順序２」に示された順序では、順序整合データであるデータＡ〜Ｅは、Ａ〜Ｅのひと固まりではなく、非順序整合データ（図２の例ではデータ２及び６）と混合して出力されるからである。つまり、順序整合データは、順序整合データよりも前に入力された第１の非順序整合データよりも後に出力され、順序整合データよりも後に入力された第２の非順序整合データよりも前に出力されるようにはなっていない。
【００２１】
以上のように、出力制御回路１００がデータを出力する場合、順序整合データ内におけるデータの順番の入れ替えは起こっていてもよいが、順序整合データと非順序整合データとの混合が起きることは許されない。なお、順序整合データは、この性質を満たすデータであれば、いかなる種類のデータでもよい。
【００２２】
なお、ＦＩＦＯ回路１０２、１０３には、前述の通り、制御部１０４の制御により異なる順序整合データが入力される。例えば図２においては、ＦＩＦＯ回路１０２にはデータＡ、Ｃ、Ｅが入力され、ＦＩＦＯ回路１０３にはデータＢ、Ｄが入力される。非順序整合データであるデータ１〜８も、ＦＩＦＯ回路１０２、１０３には異なるデータが入力される。
【００２３】
また、データ解析部１０１は、図２での「入力データ」において、データＡ〜Ｅが順序整合データであることを示す識別情報を、制御部１０４に出力する。例えば、データ解析部１０１はデータＡ、Ｅを取得した場合、制御部１０４に識別情報を出力することで、データＡ〜Ｅが順序整合データであることを制御部１０４に伝達する。つまり、この識別情報は、順序整合データの最初と最後のデータを示している。あるいは、データ解析部１０１はデータＡ〜Ｅのそれぞれを取得した場合、制御部１０４に識別情報を出力することで、データＡ〜Ｅが順序整合データであることを制御部１０４に伝達してもよい。
【００２４】
以下、出力制御回路１００への入力データが順序整合データである場合の、出力制御回路１００の処理について説明する。まず、データ解析部１０１は、出力制御回路１００への入力データが、順序整合データであるか否かを検出する。これを第１のステップとする。入力データが順序整合データである場合、データ解析部１０１は順序整合データを識別する識別情報を生成し、制御部１０４に出力する。また、制御部１０４は、互いに異なる順序整合データをＦＩＦＯ回路１０２、１０３に割り振る。これを第２のステップとする。制御部１０４は、ＦＩＦＯ回路１０２、１０３が順序整合データを出力する場合、前記識別情報に基づいて以下のように制御する。即ち、前記識別情報に基づいて、ＦＩＦＯ回路１０２、１０３が併せて出力する順序整合データが、順序整合データよりも前に入力された第１の非順序整合データよりも後に出力され、順序整合データよりも後に入力された第２の非順序整合データよりも前に出力されるように制御する。これを第３のステップとする。
【００２５】
以上の構成により、順序整合データを、複数のＦＩＦＯ回路で処理することが可能な出力制御回路、出力制御回路の制御方法及びその制御プログラムを提供することができる。
【００２６】
実施の形態２
以下、図面を参照して本発明の実施の形態２について説明する。なお、実施の形態１と同様の説明については、適宜省略する。まず、図３のブロック図を用いて、本実施の形態における出力制御回路２００の全体構成例を説明する。出力制御回路２００は、データ解析部２０１、ＦＩＦＯ回路Ａ２０２、ＦＩＦＯ回路Ｂ２０３、ＦＩＦＯ回路制御部２１０を備える。図３のデータ解析部２０１、ＦＩＦＯ回路Ａ２０２、ＦＩＦＯ回路Ｂ２０３、ＦＩＦＯ回路制御部２１０は、実施の形態１におけるデータ解析部１０１、ＦＩＦＯ回路１０２、ＦＩＦＯ回路１０３、制御部１０４に相当する。また、ＦＩＦＯ回路Ａ２０２、ＦＩＦＯ回路Ｂ２０３は並列に接続される。
【００２７】
出力制御回路２００は、外部からのデータの取得及びデータの出力が可能であるほか、ＦＩＦＯ回路Ａ２０２、Ｂ２０３によって、入力データを保存することが可能である。
【００２８】
データ解析部２０１は、外部からの出力制御回路２００への入力データＲＤを取得した場合、当該入力データＲＤをＦＩＦＯ回路Ａ２０２、Ｂ２０３のいずれにより処理するかを決定し、決定内容を選択信号としてＦＩＦＯ回路制御部２１０に出力する。ＦＩＦＯ回路Ａ２０２にデータを入力すると決定した場合、その情報を示す選択信号Ｓ＿Ａを有効にして、ＦＩＦＯ回路制御部２１０に出力する。ＦＩＦＯ回路Ｂ２０３にデータを入力すると決定した場合、その情報を示す選択信号Ｓ＿Ｂを有効にして、ＦＩＦＯ回路制御部２１０に出力する。なお、データ解析部２０１におけるＦＩＦＯ回路の決定については、データが来る毎に入力先のＦＩＦＯ回路を交替して決めてもよいし、各ＦＩＦＯ回路の処理速度等に応じて決めてもよい。
【００２９】
データ解析部２０１は、入力データＲＤを取得した場合、選択信号Ｓ＿Ａか選択信号Ｓ＿Ｂのいずれかを出力する。換言すると、同時に選択信号Ｓ＿Ａ及び選択信号Ｓ＿Ｂの両方が出力されること、又は、両方が同時に出力されない、ということはない。これは、同じ入力データＲＤをＦＩＦＯ回路Ａ２０２、Ｂ２０３が両方で処理すること、又はＦＩＦＯ回路Ａ２０２、Ｂ２０３のどちらも処理しない入力データＲＤが発生することを防ぐためである。
【００３０】
また、データ解析部２０１は、入力データＲＤを解析し、入力データＲＤが順序整合データであるか否かを検出する。入力データＲＤが順序整合データである場合、データ解析部２０１はＦＩＦＯ回路制御部２１０に、入力データＲＤが順序整合データであることを示す順序整合信号ＯＥを有効にして出力する。この順序整合信号ＯＥは、実施の形態１の識別情報に相当する。順序整合信号ＯＥは、順序整合データの最初のデータと、最後のデータが入力された場合、ＦＩＦＯ回路制御部２１０に出力される。順序整合信号ＯＥを取得することで、ＦＩＦＯ回路制御部２１０は、入力データＲＤにおいてどのデータからどのデータまでが順序整合データであるかを識別することができる。順序整合データの説明については、実施の形態１と同様であるため、説明を省略する。
【００３１】
ここでデータ解析部２０１は、入力データＲＤが順序整合データであることを検知した際、ＦＩＦＯ回路Ａ２０２、Ｂ２０３に、互いに異なる順序整合データが割り振られるように制御する。例えば、データ解析部２０１は、順序整合データを交互にＦＩＦＯ回路Ａ２０２、Ｂ２０３に割り振るため、選択信号Ｓ＿Ａ、Ｓ＿Ｂを、順序整合データを受信する毎に交互に出力してもよい。また、ＦＩＦＯ回路Ａ２０２、Ｂ２０３の処理速度等に応じて、順序整合データを割り振ってもよい。ただし、データ解析部２０１は、順序整合データがＦＩＦＯ回路Ａ２０２、Ｂ２０３の片方のみに割り振られるように制御することは許されない。
【００３２】
ＦＩＦＯ回路Ａ２０２は、外部からの入力データＲＤを取得し、取得したデータを入力順に出力する。また、ＦＩＦＯ回路Ａ２０２はＦＩＦＯ回路制御部２１０が出力した入力有効信号ＷＥ＿Ａ、入力アドレス信号ＷＰ＿Ａ、出力アドレス信号ＲＰ＿Ａを取得する。
【００３３】
入力有効信号ＷＥ＿Ａは、入力データＲＤがＦＩＦＯ回路Ａ２０２において入力及び出力の処理がされるデータであることをＦＩＦＯ回路制御部２１０が決定した場合、ＦＩＦＯ回路制御部２１０がＦＩＦＯ回路Ａ２０２に対して出力する信号である。ＦＩＦＯ回路Ａ２０２は、入力データＲＤを入力有効信号ＷＥ＿Ａと同時に取得した場合のみ、入力データＲＤが有効であると判定し、内部のアドレスへ入力データＲＤを入力する。一方、入力データＲＤを取得したが入力有効信号ＷＥ＿Ａを取得しない場合、ＦＩＦＯ回路Ａ２０２はその入力データＲＤは有効でないとみなし、ＦＩＦＯ回路Ａ２０２内部のアドレスへは入力しない。
【００３４】
入力アドレス信号ＷＰ＿Ａは、ＦＩＦＯ回路制御部２１０が入力有効信号ＷＥ＿Ａと同時にＦＩＦＯ回路Ａ２０２に出力する信号であり、ＦＩＦＯ回路Ａ２０２内部において入力データＲＤを保存するアドレスの情報が含まれている。ＦＩＦＯ回路Ａ２０２は入力アドレス信号ＷＰ＿Ａに基づき、入力データＲＤを所定のアドレスに入力する。
【００３５】
出力アドレス信号ＲＰ＿Ａは、ＦＩＦＯ回路制御部２１０がＦＩＦＯ回路Ａ２０２の出力順序を制御する信号であり、ＦＩＦＯ回路Ａ２０２の特定のアドレスに入力されるデータを出力する命令である。ＦＩＦＯ回路Ａ２０２は出力アドレス信号ＲＰ＿Ａに示されたアドレスに入力されているデータを、出力データとして外部に出力する。図２では、ＦＩＦＯ回路Ａ２０２が出力するデータの信号は出力データＴＤ＿Ａとして表記される。
【００３６】
ＦＩＦＯ回路Ｂ２０３は、外部からの入力データＲＤを取得し、取得したデータを入力順に出力する。また、ＦＩＦＯ回路Ｂ２０３はＦＩＦＯ回路制御部２１０が出力した入力有効信号ＷＥ＿Ｂ、入力アドレス信号ＷＰ＿Ｂ、出力アドレス信号ＲＰ＿Ｂを取得する。この入力有効信号ＷＥ＿Ｂ、入力アドレス信号ＷＰ＿Ｂ、出力アドレス信号ＲＰ＿Ｂについての説明、各信号を取得した場合のＦＩＦＯ回路Ｂ２０３の処理については、前述のＦＩＦＯ回路Ａ２０２における入力有効信号ＷＥ＿Ａ、入力アドレス信号ＷＰ＿Ａ、出力アドレス信号ＲＰ＿Ａについての説明と同様であるため、説明を省略する。出力データＴＤ＿Ｂについても、前述のＦＩＦＯ回路Ａ２０２における出力データＴＤ＿Ａと同様であるため、説明を省略する。
【００３７】
ＦＩＦＯ回路制御部２１０は、データ解析部２０１が出力する順序整合信号ＯＥ、選択信号Ｓ＿Ａ、選択信号Ｓ＿Ｂ及び外部からの入力データ有効信号ＲＶに基づき、ＦＩＦＯ回路Ａ２０２、Ｂ２０３のデータ入力順序を制御する。入力データ有効信号ＲＶは、出力制御回路２００への入力データＲＤが有効なものである場合、外部から出力される。ＦＩＦＯ回路制御部２１０は、入力データＲＤを入力データ有効信号ＲＶと同時に取得した場合のみ、入力データＲＤを有効と判定し、ＦＩＦＯ回路Ａ２０２又はＦＩＦＯ回路Ｂ２０３により処理させる。
【００３８】
例えば、ＦＩＦＯ回路制御部２１０が入力データ有効信号ＲＶを取得し、かつ選択信号Ｓ＿Ａを取得した場合、ＦＩＦＯ回路Ａ２０２に対して、入力有効信号ＷＥ＿Ａ及び入力アドレス信号ＷＰ＿Ａを出力する。ＦＩＦＯ回路Ａ２０２は、取得した入力有効信号ＷＥ＿Ａ及び入力アドレス信号ＷＰ＿Ａに応じて、入力データＲＤを前述の通り処理する。一方、ＦＩＦＯ回路制御部２１０が入力データ有効信号ＲＶを取得し、かつ選択信号Ｓ＿Ｂを取得した場合、ＦＩＦＯ回路Ｂ２０３に対して、入力有効信号ＷＥ＿Ｂ及び入力アドレス信号ＷＰ＿Ｂを出力する。ＦＩＦＯ回路Ｂ２０３は、取得した入力有効信号ＷＥ＿Ｂ及び入力アドレス信号ＷＰ＿Ｂに応じて、入力データＲＤを前述通り処理する。
【００３９】
ＦＩＦＯ回路制御部２１０は、入力データＲＤを取得したが、同時に入力データ有効信号ＲＶを取得していない場合、取得した入力データＲＤは有効でないとみなす。その場合、ＦＩＦＯ回路制御部２１０は、入力データＲＤのＦＩＦＯ回路Ａ２０２又はＦＩＦＯ回路Ｂ２０３による処理をさせない。
【００４０】
また、ＦＩＦＯ回路制御部２１０は、外部から出力される出力要求信号ＴＲ＿Ａ、出力要求信号ＴＲ＿Ｂに基づき、ＦＩＦＯ回路Ａ２０２、Ｂ２０３のデータ出力順序を制御する。出力要求信号ＴＲ＿Ａは、外部からの要求信号であり、ＦＩＦＯ回路Ａ２０２が外部に対してデータを出力するように要求するものである。出力要求信号ＴＲ＿Ｂも同様である。ＦＩＦＯ回路制御部２１０は、出力要求信号ＴＲ＿Ａを取得した場合、ＦＩＦＯ回路Ａ２０２が外部に対してデータ出力が可能と判定すると、外部に対して出力要求受理通知ＴＡ＿Ａを出力する。また、同時にＦＩＦＯ回路Ａ２０２に対し、出力アドレス信号ＲＰ＿Ａを出力する。ＦＩＦＯ回路Ａ２０２は、出力アドレス信号ＲＰ＿Ａに示された、ＦＩＦＯ回路Ａ２０２内部のアドレスに入力されたデータを、出力データＴＤ＿Ａとして外部に出力する。ＦＩＦＯ回路制御部２１０は、出力要求信号ＴＲ＿Ｂを取得した場合、ＦＩＦＯ回路Ｂ２０３が外部へのデータ出力が可能と判定した場合も、同様のように処理する。ＦＩＦＯ回路制御部２１０は、順序整合信号ＯＥに基づき、以上のように判定をする。
【００４１】
なお、ＦＩＦＯ回路制御部２１０は、ＦＩＦＯ回路Ａ２０２、Ｂ２０３において入力可能なアドレスがある場合、データ受付可能信号ＲＲを外部に出力する。外部では、データ受付可能信号ＲＲに応じて、入力データＲＤを出力制御回路２００に出力する。
【００４２】
ＦＩＦＯ回路制御部２１０の内部の詳細について、図４及び図５を参照して説明する。図４は、ＦＩＦＯ回路制御部２１０の全体構成例を示すブロック図である。ＦＩＦＯ回路制御部２１０は、ＦＩＦＯアドレス制御部２１１とＦＩＦＯ出力順序制御部２２０で構成される。
【００４３】
ＦＩＦＯアドレス制御部２１１は、ＦＩＦＯ回路Ａ２０２、Ｂ２０３のアドレスを制御する。例えば、ＦＩＦＯアドレス制御部２１１は、ＦＩＦＯ出力順序制御部２２０が出力する入力有効信号ＷＥ＿Ａを取得した場合、ＦＩＦＯ回路Ａ２０２のデータ入力が可能なアドレスを判定する。ＦＩＦＯアドレス制御部２１１は、そのアドレス情報を示す信号を入力アドレス信号ＷＰ＿Ａとして生成し、ＦＩＦＯ出力順序制御部２２０及びＦＩＦＯ回路Ａに出力する。ＦＩＦＯ出力順序制御部２２０が出力する入力有効信号ＷＥ＿Ｂを取得した場合も、ＦＩＦＯアドレス制御部２１１は同様にして、ＦＩＦＯ回路Ｂ２０３内部においてデータ入力が可能なアドレスを示す信号を、入力アドレス信号ＷＰ＿Ｂとして生成し、ＦＩＦＯ出力順序制御部２２０及びＦＩＦＯ回路Ｂに出力する。
【００４４】
また、ＦＩＦＯアドレス制御部２１１は、ＦＩＦＯ出力順序制御部２２０が出力する出力有効信号ＲＥ＿Ａを取得した場合、ＦＩＦＯ回路Ａ２０２のデータ出力が可能なアドレスを判定する。ＦＩＦＯアドレス制御部２１１は、そのアドレス情報を示す信号を出力アドレス信号ＲＰ＿Ａとして生成し、ＦＩＦＯ出力順序制御部２２０及びＦＩＦＯ回路Ａに出力する。ＦＩＦＯ出力順序制御部２２０が出力する出力有効信号ＲＥ＿Ｂを取得した場合も、ＦＩＦＯアドレス制御部２１１は同様にして、ＦＩＦＯ回路Ｂ２０３内部においてデータ出力が可能なアドレスを示す信号を、出力アドレス信号ＲＰ＿Ｂとして生成し、ＦＩＦＯ出力順序制御部２２０及びＦＩＦＯ回路Ｂに出力する。
【００４５】
さらに、ＦＩＦＯアドレス制御部２１１は、ＦＩＦＯ回路Ａ２０２内部のアドレスにデータが入力されている場合、その情報を状態信号Ｅ＿ＡとしてＦＩＦＯ出力順序制御部２２０に出力する。ＦＩＦＯ回路Ｂ２０３についても、同様の情報を状態信号Ｅ＿ＢとしてＦＩＦＯ出力順序制御部２２０に出力する。また、ＦＩＦＯ回路Ａ２０２、Ｂ２０３が共に入力可能な場合（ＦＩＦＯ回路Ａ２０２内部のアドレス及びＦＩＦＯ回路Ｂ２０３内部のアドレスに、データが入力されていないアドレスがある場合）、データ受付可能信号ＲＲを外部に通知する。
【００４６】
図４において、ＦＩＦＯ出力順序制御部２２０は、入力アドレス信号ＷＰ＿Ａ、入力アドレス信号ＷＰ＿Ｂ、出力アドレス信号ＲＰ＿Ａ、出力アドレス信号ＲＰ＿Ｂに基づいて、ＦＩＦＯ回路Ａ２０２、Ｂ２０３のデータの入力及び出力を管理する。これにより、ＦＩＦＯ回路Ａ２０２、Ｂ２０３は入力データＲＤ中の順序整合データが非順序整合データと混合しないように出力することができる。
【００４７】
例えば、ＦＩＦＯ出力順序制御部２２０は、外部から入力データ有効信号ＲＶ、データ解析部２０１から選択信号Ｓ＿Ａを同時に取得し、ＦＩＦＯ回路Ａ２０２において入力可能なアドレスがあると判定した場合、入力有効信号ＷＥ＿ＡをＦＩＦＯアドレス制御部２１１及びＦＩＦＯ回路Ａ２０２に出力する。同様に、外部から入力データ有効信号ＲＶ、データ解析部２０１から選択信号Ｓ＿Ｂを同時に取得し、ＦＩＦＯ回路Ｂ２０３において入力可能なアドレスがあると判定した場合、入力有効信号ＷＥ＿ＢをＦＩＦＯアドレス制御部２１１及びＦＩＦＯ回路Ｂ２０３に出力する。
【００４８】
また、ＦＩＦＯ出力順序制御部２２０は、外部から出力される出力要求信号ＴＲ＿Ａ、出力要求信号ＴＲ＿Ｂに基づき、ＦＩＦＯ回路Ａ２０２、Ｂ２０３のデータ出力順序を制御する。ＦＩＦＯ出力順序制御部２２０は、ＦＩＦＯ回路Ａ２０２が外部に対してデータ出力が可能と判定すると、外部に対して出力要求受理通知ＴＡ＿Ａを、ＦＩＦＯアドレス制御部２１１に対して出力有効信号ＲＥ＿Ａを出力する。ＦＩＦＯ回路Ｂ２０３についても同様である。この場合、ＦＩＦＯ出力順序制御部２２０は、ＦＩＦＯ回路Ａ２０２若しくはＦＩＦＯ回路Ｂ２０３が外部に対してデータ出力が可能であるか否かを、状態信号Ｅ＿Ａ、状態信号Ｅ＿Ｂ、順序整合信号ＯＥを用いて、判定する。
【００４９】
なお、ＦＩＦＯ出力順序制御部２２０は、ＦＩＦＯ回路Ａ２０２、Ｂ２０３のどのアドレスにデータが入力され、どのアドレスに入力されていないかの情報を、入力アドレス信号ＷＰ＿Ａ、入力アドレス信号ＷＰ＿Ｂ、出力アドレス信号ＲＰ＿Ａ、出力アドレス信号ＲＰ＿Ｂによって更新し、保持している。また、順序整合信号ＯＥをデータ解析部２０１から取得した場合、ＦＩＦＯ回路Ａ２０２、Ｂ２０３に入力されたデータが、順序整合データの最初のデータ又は最後のデータであると判定して、順序整合信号ＯＥをデータ情報としてＦＩＦＯ出力順序制御部２２０内部に記憶する。
【００５０】
次に図５を参照して、ＦＩＦＯ出力順序制御部２２０の内部の詳細について説明する。図５は、ＦＩＦＯ出力制御回路２００の全体構成例を示すブロック図である。ＦＩＦＯ出力順序制御部２２０は、順序管理番号生成部２２１、ＦＩＦＯ回路Ａデータ情報管理部２２２、ＦＩＦＯ回路Ｂデータ情報管理部２２３、ＦＩＦＯデータ制御管理部２２４から構成される。
【００５１】
順序管理番号生成部２２１は、入力データ有効信号ＲＶ及び順序整合信号ＯＥに基づき、ＦＩＦＯ回路Ａ２０２、Ｂ２０３の管理に共通する順序管理番号を生成する。順序管理番号生成部２２１は、順序管理番号の情報を、順序管理信号ＲＯ＿ＮとしてＦＩＦＯ回路Ａデータ情報管理部２２２及びＦＩＦＯ回路Ｂデータ情報管理部２２３に出力する。
【００５２】
ここで、順序管理番号はカウンタにより制御され、入力データ有効信号ＲＶが有効な順序整合信号ＯＥを順序管理番号生成部２２１が取得した場合、次のクロックでカウント・アップされる。
【００５３】
例えば、入力データＲＤが非順序整合データである初期状態では、順序管理番号は「０」と設定される。１回目の順序整合信号ＯＥが出力された場合（入力データＲＤが順序整合データになった場合）、順序管理番号はカウント・アップされ、「１」となる。その後、２回目の順序整合信号ＯＥが出力された場合（入力データＲＤが非順序整合データになった場合）、順序管理番号はカウント・アップされ、「２」となる。以上のように、順序管理番号はカウント・アップがなされる。
【００５４】
ＦＩＦＯ回路Ａデータ情報管理部２２２は、順序整合信号ＯＥ、順序管理信号ＲＯ＿Ｎ、出力有効信号ＲＥ＿Ａ、入力有効信号ＷＥ＿Ａ、入力アドレス信号ＷＰ＿Ａ、出力アドレス信号ＲＰ＿Ａを取得し、ＦＩＦＯ回路Ａ２０２のデータの入力及び出力を管理する。つまり、ＦＩＦＯ回路Ａ２０２のどのアドレスにデータが入力され、どのアドレスに入力されていないかの情報を、ＦＩＦＯ回路Ａデータ情報管理部２２２は前述の信号によって更新し、保持する。
【００５５】
ＦＩＦＯ回路Ａデータ情報管理部２２２は、内部に、ＦＩＦＯ回路Ａ２０２の各アドレスに対応したアドレスを保持している。ＦＩＦＯ回路Ａデータ情報管理部２２２は、入力有効信号ＷＥ＿Ａを取得した場合、同時に取得した入力アドレス信号ＷＰ＿Ａに基づき、ＦＩＦＯ回路Ａ２０２内部でデータが入力されるアドレスに対応した、ＦＩＦＯ回路Ａデータ情報管理部２２２内部のアドレスに、順序管理番号生成部２２１で生成された順序管理番号を入力する。この順序管理番号は、順序管理番号生成部２２１が順序管理信号ＲＯ＿Ｎとして出力する情報である。なお、ＦＩＦＯ回路Ａデータ情報管理部２２２が入力有効信号ＷＥ＿Ａ、入力アドレス信号ＷＰ＿Ａと同時に順序整合信号ＯＥを取得した場合は、順序整合信号ＯＥに係るデータ情報（以下、順序整合情報という）も、ＦＩＦＯ回路Ａデータ情報管理部２２２内部のアドレスに入力する。以上により、ＦＩＦＯ回路Ａデータ情報管理部２２２は、順序管理番号及び順序整合情報を、ＦＩＦＯ回路Ａ２０２の入力データＲＤに関連付けて記憶する。
【００５６】
また、ＦＩＦＯ回路Ａデータ情報管理部２２２は、出力有効信号ＲＥ＿Ａを取得した場合、同時に取得した出力アドレス信号ＲＰ＿Ａに基づき、ＦＩＦＯ回路Ａ２０２内部でデータが出力されるアドレスに対応する、ＦＩＦＯ回路Ａデータ情報管理部２２２内部のアドレスを参照する。ＦＩＦＯ回路Ａデータ情報管理部２２２は、参照したアドレスにある順序管理番号の情報を、出力順序管理信号ＴＯＮ＿ＡとしてＦＩＦＯデータ制御管理部２２４に出力する。また、参照したアドレスに前述の順序整合情報がある場合は、その情報を出力順序整合信号ＴＯ＿ＡとしてＦＩＦＯデータ制御管理部２２４に出力する。
【００５７】
ＦＩＦＯ回路Ｂデータ情報管理部２２３は、ＦＩＦＯ回路Ｂ２０３のデータの入力及び出力の管理についてＦＩＦＯ回路Ａデータ情報管理部２２２と同様に処理するため、説明は省略する。
【００５８】
ＦＩＦＯデータ制御管理部２２４は、ＦＩＦＯ回路Ａ２０２、Ｂ２０３を管理する信号を生成する。ＦＩＦＯデータ制御管理部２２４は、入力データ有効信号ＲＶ及び選択信号Ｓ＿Ａより、ＦＩＦＯ回路Ａ２０２の入力を制御する入力有効信号ＷＥ＿Ａを生成する。入力有効信号ＷＥ＿Ａは、ＦＩＦＯ回路Ａデータ情報管理部２２２、ＦＩＦＯアドレス制御部２１１、ＦＩＦＯ回路Ａ２０２に出力される。ＦＩＦＯデータ制御管理部２２４は同様に、入力データ有効信号ＲＶ及び選択信号Ｓ＿Ｂより、ＦＩＦＯ回路Ｂ２０３の入力を制御する入力有効信号ＷＥ＿Ｂを生成する。入力有効信号ＷＥ＿Ｂは、ＦＩＦＯ回路Ｂデータ情報管理部２２３、ＦＩＦＯアドレス制御部２１１、ＦＩＦＯ回路Ｂ２０３に出力される。
【００５９】
次に、ＦＩＦＯデータ制御管理部２２４が、ＦＩＦＯ回路Ａ２０２又はＢ２０３の出力を管理する方法について述べる。ＦＩＦＯデータ制御管理部２２４は、外部からの出力要求信号ＴＲ＿Ａを取得した場合、ＦＩＦＯ回路Ａ２０２の出力が可能か否かを判定する。ＦＩＦＯ回路Ａ２０２の出力が可能と判定した場合、ＦＩＦＯデータ制御管理部２２４は出力有効信号ＲＥ＿Ａ及び出力要求受理通知ＴＡ＿Ａを出力する。ＦＩＦＯ回路Ａ２０２の出力が可能ではないと判定した場合、ＦＩＦＯデータ制御管理部２２４は出力有効信号ＲＥ＿Ａ及び出力要求受理通知ＴＡ＿Ａを出力しない。
【００６０】
ここで、前述の「ＦＩＦＯ回路Ａ２０２の出力が可能であるか否かの判定」について説明する。ＦＩＦＯデータ制御管理部２２４は、ＦＩＦＯ回路Ａ２０２、Ｂ２０３の出力順序を制御するための出力可能管理番号を生成する。ＦＩＦＯデータ制御管理部２２４は、出力順序整合信号ＴＯ＿Ａ又は出力順序整合信号ＴＯ＿Ｂを取得した場合、出力可能管理番号を、出力順序整合信号ＴＯ＿Ａ又は出力順序整合信号ＴＯ＿Ｂの出力が止まった際のクロックでカウント・アップする。
【００６１】
ＦＩＦＯデータ制御管理部２２４は、ＦＩＦＯ回路Ａ２０２が出力可能か否かの判定において、状態信号Ｅ＿Ａが出力されるか否か（ＦＩＦＯ回路Ａ２０２において、データが入力されているか否か）を判定する。状態信号Ｅ＿Ａが出力される（ＦＩＦＯ回路Ａ２０２においてデータが入力されている）場合、ＦＩＦＯデータ制御管理部２２４は出力順序管理信号ＴＯＮ＿Ａ中の情報である順序管理番号（以降、出力順序管理番号Ａと表記する。Ｂについても同様）と、出力可能管理番号との大小を比較する。出力順序管理番号Ａの値が出力可能管理番号の値以下であれば、ＦＩＦＯデータ制御管理部２２４は、ＦＩＦＯ回路Ａ２０２が出力可能と判定する。なお、状態信号Ｅ＿Ａの出力の有無の判定、出力順序管理番号Ａと出力可能管理番号との大小判定については、どちらを先に処理してもよい。
【００６２】
ＦＩＦＯデータ制御管理部２２４は、外部からの出力要求信号ＴＲ＿Ｂを取得した場合、同様にＦＩＦＯ回路Ｂ２０３が出力可能か否かを判定する。ＦＩＦＯ回路Ｂ２０３が出力可能と判定した場合、ＦＩＦＯデータ制御管理部２２４は出力有効信号ＲＥ＿Ｂ及び出力要求受理通知ＴＡ＿Ｂを出力する。「ＦＩＦＯ回路Ｂ２０３が出力可能か否かの判定」の詳細については、前述と同様なので、説明を省略する。
【００６３】
いま、外部からの出力要求について、出力要求信号ＴＲ＿Ａ及び出力要求信号ＴＲ＿Ｂが同時に出力され、状態信号Ｅ＿Ａ、状態信号Ｅ＿Ｂが両方とも出力される（ＦＩＦＯ回路Ａ２０２、Ｂ２０３のどちらもデータ出力が可能）とする。この場合、出力順序管理番号Ａ及び出力順序管理番号Ｂのどちらの値も出力可能管理番号の値以下であり、出力順序管理番号Ａの値と出力順序管理番号Ｂの値が異なる場合が想定される。その場合、ＦＩＦＯデータ制御管理部２２４は、小さい出力順序管理番号の値のＦＩＦＯ回路のみが出力可能とする。つまり、出力順序管理番号Ａの値が出力順序管理番号Ｂの値より小さければ、ＦＩＦＯデータ制御管理部２２４はＦＩＦＯ回路Ａ２０２のみが出力可能とする。出力順序管理番号Ｂの値が出力順序管理番号Ａの値より小さければ、ＦＩＦＯデータ制御管理部２２４はＦＩＦＯ回路Ｂ２０３のみが出力可能とする。
【００６４】
また、出力要求信号ＴＲ＿Ａ及び出力要求信号ＴＲ＿Ｂ、状態信号Ｅ＿Ａ及び状態信号Ｅ＿Ｂが出力され、出力順序管理番号Ａ及び出力順序管理番号Ｂの値が出力可能管理番号の値と同じで、出力順序整合信号ＴＯ＿Ａ又は出力順序整合信号ＴＯ＿Ｂのどちらかが出力される場合も想定される。その場合、ＦＩＦＯデータ制御管理部２２４は、出力順序整合信号が出力されないＦＩＦＯ回路のデータを先に出力するように制御する。つまり、出力順序整合信号ＴＯ＿Ａが出力される場合、ＦＩＦＯデータ制御管理部２２４はＦＩＦＯ回路Ｂ２０３のデータを先に出力させる。出力順序整合信号ＴＯ＿Ｂが出力される場合、ＦＩＦＯデータ制御管理部２２４はＦＩＦＯ回路Ａ２０２のデータを先に出力させる。換言すれば、ＦＩＦＯ回路同士の順序管理番号が同一であって、一方のＦＩＦＯ回路が次に出力するデータが順序整合データであり、他方のＦＩＦＯ回路が非順序整合データである場合、ＦＩＦＯデータ制御管理部２２４は、直前に出力されたものと同一種類の入力データを出力するように制御する。
【００６５】
なお、出力要求信号ＴＲ＿Ａ及び出力要求信号ＴＲ＿Ｂ、状態信号Ｅ＿Ａ及び状態信号Ｅ＿Ｂが出力され、出力順序管理番号Ａ及び出力順序管理番号Ｂの値が出力可能管理番号の値と同じで、出力順序整合信号ＴＯ＿Ａ又は出力順序整合信号ＴＯ＿Ｂのいずれも出力されていない場合が想定される。その場合、ＦＩＦＯ回路Ａ２０２のデータ出力と、ＦＩＦＯ回路Ｂ２０３のデータ出力の先後は任意であり、どちらが先でもよい。また、ＦＩＦＯ回路Ａ２０２のデータ出力と、ＦＩＦＯ回路Ｂ２０３のデータ出力とは同時に行われてもよい。以上、出力制御回路２００の各部の制御について説明を行った。
【００６６】
次に、図６〜９を用いて、出力制御回路２００においてデータ入力があった場合の、ＦＩＦＯ回路Ａ２０２、Ｂ２０３の具体的な動作を説明する。図６〜９は、時刻ｔ０〜ｔ４において、ＦＩＦＯ回路Ａ２０２、Ｂ２０３の具体的な状態例を示した図である。時刻ｔ０は初期時刻である。
【００６７】
図６において、「ＦＩＦＯ回路Ａ」と記載された図は、ＦＩＦＯ回路Ａ２０２の状態を示す。図中の括弧つきの番号（０）〜（４）は、ＦＩＦＯ回路Ａ２０２のアドレス番号であり、括弧がつかない番号は、ＦＩＦＯ回路Ａデータ情報管理部２２２内部のアドレスに入力された順序管理番号である。また、図６の下図で「ＦＩＦＯ回路Ａ」と記載された図中のドットパターンは、ＦＩＦＯ回路Ａ２０２のアドレス（０）に、データが入力されることを示している。ドットパターンの密度が低いデータは、非順序整合データであり、ドットパターンの密度が高いデータは、順序整合データであることを示す。以上の説明は、「ＦＩＦＯ回路Ｂ」と記された図についても同様である。また、図６における矢印は時刻の経過を示す矢印であり、時刻ｔ０からｔ１に時刻が経過したことを示す。図７〜９、図１１〜１６についても、同様に表記する。
【００６８】
以下、ＦＩＦＯ回路Ａ２０２、Ｂ２０３の具体的な状態を説明する。図６は、時刻ｔ０から時刻が経過して時刻ｔ１になった場合の、各ＦＩＦＯ回路の状態である。時刻ｔ０では、ＦＩＦＯ回路Ａ２０２、Ｂ２０３へのデータ入力はない。時刻ｔ０〜ｔ１において、ＦＩＦＯ回路Ａ２０２、Ｂ２０３のアドレス（０）に、データが入力される。ここで、入力されるデータは非順序整合データである。
【００６９】
次に、図７を参照する。図７は、時刻ｔ１から時刻が経過して時刻ｔ２になり、順序整合データの最初のデータがＦＩＦＯ回路Ａ２０２のアドレス（１）に入力された場合の、各ＦＩＦＯ回路の状態である。時刻ｔ１〜ｔ２において、順序整合データの最初のデータが入力されたＦＩＦＯ回路Ａ２０２のアドレス（１）に対応する、ＦＩＦＯ回路Ａデータ情報管理部２２２内部のアドレスには順序整合信号ＯＥが入力される。入力の詳細については前述の通りである。
【００７０】
次に、図８を参照する。図８は、時刻ｔ２から時刻が経過して時刻ｔ３になった場合の、各ＦＩＦＯ回路の状態である。具体的には、図８は、順序整合データの先頭のデータがＦＩＦＯ回路Ａ２０２に入力された後、後続の順序整合データに含まれるデータがＦＩＦＯ回路Ａ２０２のアドレス（２）、ＦＩＦＯ回路Ｂ２０３のアドレス（１）に入力された状態を示す。ここで、後続の順序整合データに含まれるデータに対応する順序管理番号は、「１」となっている。これは、順序整合信号ＯＥを順序管理番号生成部２２１が取得した後、次のクロックで順序管理番号生成部２２１が順序管理番号をカウント・アップするためである。
【００７１】
次に、図９を参照する。図９は、時刻ｔ３から時刻が経過して時刻ｔ４になった場合の、各ＦＩＦＯ回路の状態である。具体的には、図９は、順序整合データの最後のデータがＦＩＦＯ回路Ｂ２０３のアドレス（２）に入力された後、非順序整合データが、ＦＩＦＯ回路Ａ２０２のアドレス（３）、ＦＩＦＯ回路Ｂ２０３のアドレス（３）、（４）に入力された状態を示す。
【００７２】
ここで、順序整合データの最後のデータが入力されたＦＩＦＯ回路Ｂ２０３のアドレス（２）に対応する、ＦＩＦＯ回路Ｂデータ情報管理部２２３内部のアドレスには順序整合信号ＯＥが入力される。また、非順序整合データに対応する順序管理番号は、順序管理番号生成部２２１によって順序管理番号のカウント・アップが行われ、「２」となる。
【００７３】
図１０を参照して、図６〜９における、ＦＩＦＯ回路Ａ２０２、Ｂ２０３のデータ入力に係る動作タイミングの例を示す。図１０は、入力データ有効信号ＲＶ、入力有効信号ＷＥ＿Ａ、入力有効信号ＷＥ＿Ｂ及び順序整合信号ＯＥの出力タイミングを示している。また図１０では、各信号に伴う、各ＦＩＦＯ回路の入力アドレス番号及び順序管理番号の更新も示される。ＦＩＦＯ回路Ａ２０２の入力アドレス番号とは、入力アドレス信号ＷＰ＿Ａに含まれる情報である、ＦＩＦＯ回路Ａ２０２が入力可能なアドレスの番号のことをいう。（以降、入力アドレス番号Ａと表記する。ＦＩＦＯ回路Ｂ２０３の入力アドレス番号についても同様である。）入力アドレス番号Ａ、Ｂ及び順序管理番号は、図１０において入力アドレス信号ＷＰ＿Ａ、入力アドレス信号ＷＰ＿Ｂ及び順序管理信号ＲＯ＿Ｎの各番号で示される。また図１０は、時刻ｔ０〜ｔ４の時刻情報も示す。
【００７４】
以下、図１０の各時刻においての動作タイミングについて説明する。図１０の時刻ｔ０（初期時刻）においては、出力制御回路２００は入力データ有効信号ＲＶを取得していない。そのため、ＦＩＦＯ回路Ａ２０２、Ｂ２０３への入力データはない。また、順序管理番号は初期状態の「０」である。
【００７５】
図１０の時刻ｔ０〜ｔ１（図６で示した状態）においては、出力制御回路２００は入力データ有効信号ＲＶを、クロックの２周期分取得する。つまり、出力制御回路２００は入力データＲＤを合計して２単位取得する。図１０では、時刻ｔ０〜ｔ１における２単位の入力データＲＤのうち、ＦＩＦＯ回路Ａ２０２、Ｂ２０３に処理されるデータはそれぞれ１単位である。これは、時刻ｔ０〜ｔ１において、入力データ有効信号ＲＶに対応したタイミングで、入力有効信号ＷＥ＿Ａ及び入力有効信号ＷＥ＿Ｂが１周期ずつ出力されることから示される。入力有効信号ＷＥ＿Ａ及び入力有効信号ＷＥ＿Ｂは、データ解析部２０１の選択信号Ｓ＿Ａ、Ｓ＿Ｂに基づき、ＦＩＦＯデータ制御管理部２２４から出力される。
【００７６】
ＦＩＦＯ回路Ａ２０２、Ｂ２０３は、入力有効信号ＷＥ＿Ａ、ＷＥ＿Ｂに応じて、１単位のデータを、それぞれアドレス（０）に入力する。また、入力されたデータに対応する順序管理番号「０」は、ＦＩＦＯ回路Ａ２０２、Ｂ２０３のアドレス（０）に対応する、ＦＩＦＯ回路Ａデータ情報管理部２２２及びＦＩＦＯ回路Ｂデータ情報管理部２２３のアドレスに記憶される。以上が、時刻ｔ０〜ｔ１におけるＦＩＦＯ回路Ａ２０２、Ｂ２０３の状態である。
【００７７】
図１０の時刻ｔ１〜ｔ２（図７で示した状態）においては、出力制御回路２００は入力データＲＤを合計して１単位取得している。出力制御回路２００が入力データＲＤを取得した場合、データ解析部２０１は順序整合信号ＯＥを同時に出力する。つまり、時刻ｔ１〜ｔ２での入力データＲＤは、順序整合データにおける最初の単位データである。この入力データＲＤの取得の場合、データ解析部２０１から選択信号Ｓ＿Ａが出力され、選択信号Ｓ＿Ａを取得したＦＩＦＯデータ制御管理部２２４が入力有効信号ＷＥ＿Ａを出力することで、入力データＲＤはＦＩＦＯ回路Ａ２０２のアドレス（１）に入力される。また、順序整合信号ＯＥを取得したことにより、順序管理番号生成部２２１は次のクロック以降で、順序管理番号をカウント・アップし、「１」とする。なお、ＦＩＦＯ回路Ａ２０２のアドレス（１）に対応するＦＩＦＯ回路Ａデータ情報管理部２２２のアドレスには、順序管理番号「０」が記憶される。（順序整合データにおける最初の単位データを取得した時点では、順序管理番号のカウント・アップはなされていない。）以上が、時刻ｔ１〜ｔ２におけるＦＩＦＯ回路Ａ２０２、Ｂ２０３の状態である。
【００７８】
図１０の時刻ｔ２〜ｔ３（図８で示した状態）においては、出力制御回路２００は入力データＲＤを合計して２単位取得する。前述の時刻ｔ０〜ｔ１の場合と同様の処理によって、時刻ｔ２〜ｔ３に出力制御回路２００が取得した入力データＲＤは１単位ずつ、ＦＩＦＯ回路Ａ２０２のアドレス（２）及びＦＩＦＯ回路Ｂ２０３のアドレス（１）に入力される。なお、この入力データＲＤに対応する順序管理番号は「１」であり、前述と同様にＦＩＦＯ回路Ａデータ情報管理部２２２及びＦＩＦＯ回路Ｂデータ情報管理部２２３のアドレスに記憶される。以上が、時刻ｔ２〜ｔ３におけるＦＩＦＯ回路Ａ２０２、Ｂ２０３の状態である。
【００７９】
図１０の時刻ｔ３〜ｔ４（図９で示した状態）においては、出力制御回路２００は入力データＲＤを合計して３単位取得している。時刻ｔ３〜ｔ４で、出力制御回路２００が入力データＲＤの最初のデータを取得したとき、データ解析部２０１は順序整合信号ＯＥを同時に出力する。つまり、時刻ｔ３〜ｔ４での最初の入力データＲＤは、順序整合データの最後の単位データである。ここで順序整合信号ＯＥを取得したことにより、順序管理番号生成部２２１は次のクロック以降で、順序管理番号をカウント・アップし、「２」とする。時刻ｔ３〜ｔ４における入力データＲＤは、前述と同様の処理によって、ＦＩＦＯ回路Ｂ２０３のアドレス（２）、（３）、（４）に入力される。順序管理番号も同様に、ＦＩＦＯ回路Ｂデータ情報管理部２２３のアドレスに記憶される。以上が、時刻ｔ３〜ｔ４におけるＦＩＦＯ回路Ａ２０２、Ｂ２０３の状態である。
【００８０】
次に、時刻ｔ４以降において、出力制御回路２００のデータ出力があった場合の、ＦＩＦＯ回路Ａ２０２、Ｂ２０３の具体的な状態を説明する。図１１〜１６は、時刻ｔ４〜ｔ１０において、ＦＩＦＯ回路Ａ２０２、Ｂ２０３の具体的な状態例を示した図である。
【００８１】
まず、図１１を参照する。図１１は、時刻ｔ４から時刻が経過して時刻ｔ５になった場合の、各ＦＩＦＯ回路の状態である。具体的には、図１１は、時刻ｔ４〜ｔ５において、ＦＩＦＯ回路Ａ２０２のアドレス（０）に入力されたデータが、出力された状態を示す。なお、時刻ｔ４〜ｔ５で出力されたデータは、順序管理番号が０であり、順序整合信号ＯＥが入力されていないことから、非順序整合データである。
【００８２】
時刻ｔ４〜ｔ５におけるＦＩＦＯ回路Ａ２０２の出力処理は、外部からの出力要求信号ＴＲ＿Ａを取得したＦＩＦＯデータ制御管理部２２４が、状態信号Ｅ＿Ａに基づき出力有効信号ＲＥ＿ＡをＦＩＦＯ回路Ａ２０２に出力することによりなされる。なお、ＦＩＦＯ回路Ａ２０２が出力するデータのアドレスの特定は次のようになされる。出力有効信号ＲＥ＿Ａを取得したＦＩＦＯアドレス制御部２１１は、ＦＩＦＯ回路Ａ２０２の出力するデータが入力されたアドレス情報（この場合はアドレス（０））を、出力アドレス信号ＲＰ＿ＡとしてＦＩＦＯ回路Ａ２０２に出力する。ＦＩＦＯ回路Ａ２０２は、その出力アドレス信号ＲＰ＿Ａに対応するアドレスに入力されたデータを出力する。
【００８３】
次に、図１２を参照する。図１２は、時刻ｔ５から時刻が経過して時刻ｔ６になった場合の、各ＦＩＦＯ回路の状態である。具体的には、図１２は、時刻ｔ５〜ｔ６において、ＦＩＦＯ回路Ｂ２０３のアドレス（０）に入力されていたデータが、出力された状態を示す。この出力されたデータも、時刻ｔ４〜ｔ５で出力されたデータと同様、非順序整合データである。
【００８４】
時刻ｔ５において、ＦＩＦＯ回路Ａ２０２が次に出力するデータはアドレス（１）のデータであり、ＦＩＦＯ回路Ｂ２０３が次に出力するデータはアドレス（０）のデータである。ＦＩＦＯ回路Ａ２０２のアドレス（１）のデータと、ＦＩＦＯ回路Ｂ２０３のアドレス（０）のデータの順序管理番号は同じ「０」であるが、ＦＩＦＯ回路Ａ２０２のアドレス（１）のデータには順序整合信号ＯＥが入力されている。つまり、ＦＩＦＯ回路Ａ２０２のアドレス（１）のデータは、順序整合データの最初の単位データである。この場合、ＦＩＦＯデータ制御管理部２２４は、出力順序整合信号が出力されていないＦＩＦＯ回路、つまりＦＩＦＯ回路Ｂ２０３のデータを先に出力するように制御する。図１２においては、以上の制御により、ＦＩＦＯ回路Ｂ２０３のアドレス（０）に入力されていたデータが出力される。
【００８５】
次に、図１３を参照する。図１３は、時刻ｔ６から時刻が経過して時刻ｔ７になった場合の、各ＦＩＦＯ回路の状態である。具体的には、図１３は、時刻ｔ６〜ｔ７において、ＦＩＦＯ回路Ａ２０２のアドレス（１）に入力されていたデータが、出力された状態を示す。この出力されたデータは、順序整合データである。
【００８６】
時刻ｔ６において、ＦＩＦＯ回路Ａ２０２が次に出力するデータはアドレス（１）のデータであり、ＦＩＦＯ回路Ｂ２０３が次に出力するデータはアドレス（１）のデータである。ＦＩＦＯ回路Ａ２０２のアドレス（１）のデータの順序管理番号は「０」であり、ＦＩＦＯ回路Ｂ２０３のアドレス（０）のデータの順序管理番号は「１」である。この場合、ＦＩＦＯデータ制御管理部２２４は、小さい出力順序管理番号の値のＦＩＦＯ回路、つまりＦＩＦＯ回路Ａ２０２のみのデータの出力を可能とする。図１３においては、以上の制御により、ＦＩＦＯ回路Ａ２０２のアドレス（１）に入力されていたデータが出力される。
【００８７】
次に、図１４を参照する。図１４は、時刻ｔ７から時刻が経過して時刻ｔ８になった場合の、各ＦＩＦＯ回路の状態である。具体的には、図１４は、時刻ｔ７〜ｔ８において、ＦＩＦＯ回路Ａ２０２のアドレス（２）及びＦＩＦＯ回路Ｂ２０３のアドレス（１）に入力されていたデータが、出力された状態を示す。この出力されたデータは、いずれも順序整合データである。
【００８８】
時刻ｔ７において、ＦＩＦＯ回路Ａ２０２が次に出力するデータはアドレス（２）のデータであり、ＦＩＦＯ回路Ｂ２０３が次に出力するデータはアドレス（１）のデータである。この場合、いずれのデータも出力順序管理番号は「１」であり、出力順序整合信号は出力されていない。以上の場合、ＦＩＦＯデータ制御管理部２２４は、出力要求信号ＴＲ＿Ａ及び出力要求信号ＴＲ＿Ｂ、状態信号Ｅ＿Ａ及び状態信号Ｅ＿Ｂの出力の有無に応じて、どちらのデータを先に出力するかを決定する。図１４においては、以上の制御により、ＦＩＦＯ回路Ａ２０２のアドレス（２）及びＦＩＦＯ回路Ｂ２０３のアドレス（１）に入力されていたデータが出力される。
【００８９】
次に、図１５を参照する。図１５は、時刻ｔ８から時刻が経過して時刻ｔ９になった場合の、各ＦＩＦＯ回路の状態を示す。具体的には、図１５は、時刻ｔ８〜ｔ９において、ＦＩＦＯ回路Ｂ２０３のアドレス（２）に入力されていたデータが、出力された状態を示す。この出力されたデータは、順序整合データの最後の単位データである。
【００９０】
時刻ｔ８〜ｔ９において、ＦＩＦＯデータ制御管理部２２４は、時刻ｔ６〜ｔ７の場合と同様、小さい出力順序管理番号の値のＦＩＦＯ回路のみ、データ出力を可能としている。つまり、時刻ｔ８〜ｔ９においては、ＦＩＦＯデータ制御管理部２２４の制御により、ＦＩＦＯ回路Ｂ２０３のアドレス（２）のデータのみが出力される。
【００９１】
次に、図１６を参照する。図１６は、時刻ｔ９から時刻が経過して時刻ｔ１０になった場合の、各ＦＩＦＯ回路の状態である。具体的には、図１６は、時刻ｔ９〜ｔ１０において、ＦＩＦＯ回路Ａ２０２のアドレス（３）に入力されていたデータが、出力された状態を示す。この出力されたデータは、非順序整合データである。
【００９２】
時刻ｔ９〜ｔ１０においては、ＦＩＦＯデータ制御管理部２２４は時刻ｔ７〜ｔ８の場合と同様に、出力要求信号ＴＲ＿Ａ及び出力要求信号ＴＲ＿Ｂ、状態信号Ｅ＿Ａ及び状態信号Ｅ＿Ｂの出力の有無に応じて、どちらのデータを先に出力するかを判定する。図１６においては、状態信号Ｅ＿Ａ及び状態信号Ｅ＿Ｂは出力されており（ＦＩＦＯ回路Ａ２０２とＦＩＦＯ回路Ｂ２０３のどちらもデータの出力が可能であるため）、ＦＩＦＯデータ制御管理部２２４は時刻ｔ７〜ｔ８間に出力要求信号ＴＲ＿Ａのみを取得したことに応じて、ＦＩＦＯ回路Ａ２０２のアドレス（３）に入力されたデータを出力している。
【００９３】
なお、時刻ｔ１０以降においては、ＦＩＦＯ回路Ａ２０２への入力データはないため、状態信号Ｅ＿Ａは出力されない。そのため、ＦＩＦＯデータ制御管理部２２４は出力要求信号ＴＲ＿Ｂを取得した場合、適宜ＦＩＦＯ回路Ｂ２０３のデータの出力順序を制御する。
【００９４】
図１１〜１６における、ＦＩＦＯ回路Ａ２０２、Ｂ２０３のデータ入力に係る動作タイミングの例を、図１７、図１８で示す。図１７は、出力要求信号ＴＲ＿Ａ、出力有効信号ＲＥ＿Ａ（出力要求受理通知ＴＡ＿Ａ）、出力順序整合信号ＴＯ＿Ａ、出力順序整合信号ＴＯ＿Ｂの出力タイミング及び各信号に伴う出力アドレス番号Ａ、出力管理番号Ａ及び出力可能管理番号ＴＣの更新を示している。出力アドレス番号Ａとは、出力アドレス信号ＲＰ＿Ａに含まれる情報である、ＦＩＦＯ回路Ａ２０２が出力可能なアドレスの番号のことをいう。出力管理番号Ａとは、出力順序管理信号ＴＯＮ＿Ａに含まれる情報である、ＦＩＦＯ回路Ａ２０２が出力可能なアドレスの順序管理番号のことをいう。出力アドレス番号Ａ、出力管理番号Ａ及び出力可能管理番号ＴＣは、図１７において出力アドレス信号ＲＰ＿Ａ、出力順序管理信号ＴＯＮ＿Ａ及びＴＣの各番号で示される。また、図１７、図１８は時刻ｔ４〜ｔ１０の時刻情報も示している。
【００９５】
図１８は、出力要求信号ＴＲ＿Ｂ、出力有効信号ＲＥ＿Ｂ（出力要求受理通知ＴＡ＿Ｂ）、出力順序整合信号ＴＯ＿Ａ、出力順序整合信号ＴＯ＿Ｂの出力タイミング及び各信号に伴う出力アドレス番号Ｂ、出力管理番号Ｂ及び出力可能管理番号ＴＣの更新を示している。出力アドレス番号Ｂ、出力管理番号Ｂは出力アドレス番号Ａ、出力管理番号Ａと同様の番号であり、説明を省略する。
【００９６】
図１７、１８の時刻ｔ４〜ｔ５（図１１で示した状態）において、ＦＩＦＯデータ制御管理部２２４に対する出力要求は、出力要求信号ＴＲ＿Ａのみが出力される。ＦＩＦＯデータ制御管理部２２４はそれに基づき、出力有効信号ＲＥ＿ＡをＦＩＦＯ回路Ａ２０２、ＦＩＦＯ回路Ａデータ情報管理部２２２に出力するとともに、出力要求受理通知ＴＡ＿Ａを外部に出力する。出力有効信号ＲＥ＿Ａを取得したＦＩＦＯ回路Ａデータ情報管理部２２２は、出力させるデータがあるＦＩＦＯ回路Ａ２０２のアドレス（０）を出力アドレス番号Ａとする。ＦＩＦＯ回路Ａデータ情報管理部２２２は、出力アドレス番号Ａを含む情報を出力アドレス信号ＲＰ＿ＡとしてＦＩＦＯ回路Ａ２０２に出力する。以上の処理により、ＦＩＦＯ回路Ａ２０２はアドレス（０）に入力されたデータを出力する。また、ＦＩＦＯ回路Ａデータ情報管理部２２２は、出力有効信号ＲＥ＿Ａ及び出力アドレス信号ＲＰ＿Ａに基づいて、ＦＩＦＯ回路Ａ２０２のデータ情報を更新する。以上が、時刻ｔ４〜ｔ５におけるＦＩＦＯ回路Ａ２０２、Ｂ２０３の状態である。
【００９７】
図１７、１８の時刻ｔ５〜ｔ６（図１２で示した状態）において、ＦＩＦＯデータ制御管理部２２４に対する出力要求は、出力要求信号ＴＲ＿Ａ及び出力要求信号ＴＲ＿Ｂが外部から出力される。ＦＩＦＯデータ制御管理部２２４はそれに基づき、ＦＩＦＯ回路Ａ２０２のアドレス（１）に入力されたデータと、ＦＩＦＯ回路Ｂ２０３のアドレス（０）に入力されたデータと、どちらのデータを先に出力するかを判定する。
【００９８】
ここで、ＦＩＦＯ回路Ａ２０２のアドレス（１）のデータと、ＦＩＦＯ回路Ｂ２０３のアドレス（０）のデータの出力管理番号（順序管理番号）は同じ「０」であるが、ＦＩＦＯ回路Ａ２０２のアドレス（１）のデータには順序整合信号ＯＥが入力されている。つまり、出力順序整合信号ＴＯ＿Ａが、ＦＩＦＯ回路Ａデータ情報管理部２２２から出力されている。この場合、ＦＩＦＯデータ制御管理部２２４は、出力順序整合信号が出力されていない方、つまりＦＩＦＯ回路Ｂ２０３のデータを先に出力するように制御する。図１２においては、以上の制御により、ＦＩＦＯ回路Ｂ２０３のアドレス（０）に入力されていたデータが出力される。また、ＦＩＦＯ回路Ｂデータ情報管理部２２３は、出力有効信号ＲＥ＿Ｂ及び出力アドレス信号ＲＰ＿Ｂに基づいて、ＦＩＦＯ回路Ｂ２０３のデータ情報を更新する。以降においても、ＦＩＦＯ回路Ａデータ情報管理部２２２及びＦＩＦＯ回路Ｂデータ情報管理部２２３は同様にデータ情報を更新する。（以降での更新処理の記載については省略する。）以上が、時刻ｔ５〜ｔ６におけるＦＩＦＯ回路Ａ２０２、Ｂ２０３の状態である。
【００９９】
図１７、１８の時刻ｔ６〜ｔ７（図１３で示した状態）において、ＦＩＦＯデータ制御管理部２２４に対する出力要求は、出力要求信号ＴＲ＿Ａ及び出力要求信号ＴＲ＿Ｂが外部から出力される。ＦＩＦＯデータ制御管理部２２４はそれに基づき、ＦＩＦＯ回路Ａ２０２のアドレス（１）に入力されたデータと、ＦＩＦＯ回路Ｂ２０３のアドレス（１）に入力されたデータと、どちらのデータを先に出力するかを判定する。
【０１００】
ここで、ＦＩＦＯ回路Ａ２０２のアドレス（１）のデータの出力管理番号Ａは「０」であり、ＦＩＦＯ回路Ｂ２０３のアドレス（１）のデータの出力管理番号Ｂは「１」である。この場合の出力可能管理番号ＴＣは「０」であり、ＦＩＦＯデータ制御管理部２２４は、出力管理番号が出力可能管理番号ＴＣ以下であるＦＩＦＯ回路Ａ２０２のデータが出力可能と判定する。（あるいは、ＦＩＦＯデータ制御管理部２２４は、出力管理番号Ａと出力管理番号Ｂを比較して、小さい値の方に対応するＦＩＦＯ回路を出力可能と判定する、といってもよい。なぜなら、出力管理番号Ａと出力管理番号Ｂの値が異なる場合、出力可能管理番号ＴＣは、小さい方の出力管理番号の値と同じ値になるからである。）ここから、ＦＩＦＯデータ制御管理部２２４は、出力管理番号が小さい方、つまりＦＩＦＯ回路Ａ２０２のデータを先に出力するように制御する。図１２においては、以上の制御により、ＦＩＦＯ回路Ａ２０２のアドレス（１）に入力されているデータが出力される。また、ＦＩＦＯ回路Ａ２０２アドレス（２）に入力されているデータには順序整合信号が入力されていないため、ＦＩＦＯ回路Ａデータ情報管理部２２２は次のクロック以降で、出力順序整合信号ＴＯ＿Ａの出力を行わない。そのため、次のクロックで、ＦＩＦＯデータ制御管理部２２４は、出力可能管理番号ＴＣを「０」から「１」にカウント・アップする。以上が、時刻ｔ６〜ｔ７におけるＦＩＦＯ回路Ａ２０２、Ｂ２０３の状態である。
【０１０１】
図１７、１８の時刻ｔ７〜ｔ８（図１４で示した状態）において、ＦＩＦＯデータ制御管理部２２４に対する出力要求は、出力要求信号ＴＲ＿Ａ及び出力要求信号ＴＲ＿Ｂが外部から出力される。ＦＩＦＯデータ制御管理部２２４はそれに基づき、ＦＩＦＯ回路Ａ２０２のアドレス（２）に入力されたデータと、ＦＩＦＯ回路Ｂ２０３のアドレス（１）に入力されたデータの両方を出力するように制御する。なお、この場合、出力管理番号Ａ、Ｂともに出力可能番号と同じ「１」の値であることから、ＦＩＦＯデータ制御管理部２２４は、ＦＩＦＯ回路Ａ２０２、Ｂ２０３の両方のデータとも出力可能と判定している。（出力可能管理番号ＴＣは「１」であり、出力管理番号Ａ、Ｂの値はともに、出力可能管理番号ＴＣ以下の値である。）以上が、時刻ｔ７〜ｔ８におけるＦＩＦＯ回路Ａ２０２、Ｂ２０３の状態である。
【０１０２】
図１７、１８の時刻ｔ８〜ｔ９（図１５で示した状態）において、ＦＩＦＯデータ制御管理部２２４に対する出力要求は、出力要求信号ＴＲ＿Ａ及び出力要求信号ＴＲ＿Ｂが外部から出力される。ＦＩＦＯデータ制御管理部２２４はそれに基づき、出力管理番号Ａが「２」、出力管理番号Ｂが「１」、出力可能管理番号ＴＣが「１」であることから、ＦＩＦＯ回路Ｂ２０３のアドレス（２）のデータが出力可能と判定する。判定の詳細は前述の通りである。ＦＩＦＯデータ制御管理部２２４は、ＦＩＦＯ回路Ｂ２０３のアドレス（２）に入力されたデータを出力するように制御する。また次のクロックで、ＦＩＦＯデータ制御管理部２２４は、前述と同様に、出力可能管理番号ＴＣを「１」から「２」にカウント・アップする。以上が、時刻ｔ８〜ｔ９におけるＦＩＦＯ回路Ａ２０２、Ｂ２０３の状態である。
【０１０３】
図１７、１８の時刻ｔ９〜ｔ１０（図１６で示した状態）において、ＦＩＦＯデータ制御管理部２２４に対する出力要求は、出力要求信号ＴＲ＿Ａのみが外部から出力される。ＦＩＦＯデータ制御管理部２２４はそれに基づき、ＦＩＦＯ回路Ａ２０２のアドレス（３）に入力されたデータを出力するように制御する。以上が、時刻ｔ９〜ｔ１０におけるＦＩＦＯ回路Ａ２０２、Ｂ２０３の状態である。
【０１０４】
まとめると、本実施の形態の出力制御回路２００において、データ解析部２０１は、入力データＲＤが順序整合データか否かを判定する。入力データＲＤが非順序整合データである場合、並列に接続されたＦＩＦＯ回路Ａ２０２、Ｂ２０３は、それぞれ独立して入力データＲＤを出力する。しかし、入力データＲＤが順序整合データである場合、順序管理番号生成部２２１はデータ解析部２０１が出力する順序整合信号ＯＥに基づき、ＦＩＦＯ回路Ａ２０２、Ｂ２０３間のデータ入力の順序を示す管理番号を、順序管理番号として生成して、ＦＩＦＯ回路Ａデータ情報管理部２２２及びＦＩＦＯ回路Ｂデータ情報管理部２２３に出力する。この順序管理番号によるＦＩＦＯデータ制御管理部２２４の制御により、出力制御回路２００はＦＩＦＯ回路Ａ２０２、Ｂ２０３が出力するデータ間に順序関係性を持たせて、出力順の整合を行っている。
【０１０５】
また、順序整合データの出力が完了した場合、ＦＩＦＯデータ制御管理部２２４は、データ出力に関して選択信号のみに基づいた制御を行い、順序整合信号ＯＥ及び順序管理番号に基づいた制御は行わない。つまり、ＦＩＦＯ回路Ａ２０２、Ｂ２０３は、両回路間に跨ったデータの入力順に基づいてデータを出力しない。両回路は独立して、各々の回路に入力されたデータの入力順に従った入力データＲＤの出力ができる。
【０１０６】
一般に、複数のＦＩＦＯ回路を備えた出力制御回路は、データの出力時に、データ内容等により異なるＦＩＦＯ回路を用いて出力をするような制御が可能であるため、効率的なデータ出力ができる。しかし、入力データが、システムの設定に用いる順序整合データである場合、システムの設定前に出力するデータは、システムの設定後に出力するデータの前に出力される必要がある。その場合、複数のＦＩＦＯ回路でデータを出力する場合は、複数のＦＩＦＯ回路間に跨ったデータの入力順に、データを出力する必要がある。このような、複数ＦＩＦＯ回路間のデータの入力順に合わせて、出力順序を制御する出力制御回路は存在しなかった。
【０１０７】
本実施の形態により、順序整合データを、複数のＦＩＦＯ回路で処理できる出力制御回路を提供することができる。本実施の形態の出力制御回路２００による第一の効果は、順序整合データを複数のＦＩＦＯ回路で処理を行えるため、順序整合データの出力効率が向上することである。第二の効果は、通常は独立に動作している複数のＦＩＦＯ回路が、順序整合データを取得した場合、複数のＦＩＦＯ間に関連付けられたデータ出力制御を行えることである。第三の効果は、ＦＩＦＯ回路制御部において、ＦＩＦＯ回路を全て制御することが可能なため、複数のＦＩＦＯ回路がそれぞれ制御部を備える構成の出力制御回路に比べて、物理的な回路量が削減できることである。これにより、例えば、出力制御回路２００を備えるコンピュータ等において、バッファ回路の削減ができる可能性がある。
【０１０８】
実施の形態３
以下、図面を参照して本発明の実施の形態３について説明する。図１９は、４個のＦＩＦＯ回路を並列に接続した場合の、出力制御回路３００の全体構成例を示すブロック図である。出力制御回路３００は、データ解析部３０１、ＦＩＦＯ回路Ａ３０２、ＦＩＦＯ回路Ｂ３０３、ＦＩＦＯ回路Ｃ３０４、ＦＩＦＯ回路Ｄ３０５を備える。
【０１０９】
ＦＩＦＯ回路Ａ３０２〜Ｄ３０５は、入力データＲＤが非順序整合データである場合、独立に通常のＦＩＦＯ回路の動作をする。入力データＲＤが順序整合データである場合、データ解析部３０１はＦＩＦＯ回路制御部３０６に順序整合信号ＯＥを出力する。ＦＩＦＯ回路制御部３０６は取得した順序整合信号ＯＥに基づいて順序管理番号を作成することで、ＦＩＦＯ回路Ａ３０２〜Ｄ３０５の出力順序を制御する。具体的には、ＦＩＦＯ回路Ａ３０２〜Ｄ３０５が併せて出力する順序整合データが、当該順序整合データよりも前に入力された非順序整合データより後に出力され、当該順序整合データよりも後に入力された非順序整合データより前に出力されるような制御である。詳細な出力制御回路３００の処理の説明は、実施の形態２と同様なので、説明を省略する。
【０１１０】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態２において、順序管理番号は順序整合信号ＯＥに基づいてカウント・アップするのでなく、カウント・ダウンするようにしてもよい。データ解析部２０１は、ＦＩＦＯ回路制御部２１０中に含めてもよい。
【０１１１】
ＦＩＦＯデータ制御管理部２２４は、順序整合信号を取得した場合、次のクロックで順序管理番号をカウント・アップした。しかし、ＦＩＦＯデータ制御管理部２２４は、順序整合信号ＯＥを取得したときのクロックで、順序管理番号をカウント・アップしてもよい。あるいは、順序整合データ、非順序整合データ中の全てのデータにおいて同一の順序管理番号が関連付けられるように、順序管理番号をカウント・アップしてもよい。
【符号の説明】
【０１１２】
１００  出力制御回路
１０１  データ解析部
１０２  ＦＩＦＯ回路
１０３  ＦＩＦＯ回路
１０４  制御部
２００  出力制御回路
２０１  データ解析部
２０２  ＦＩＦＯ回路Ａ
２０３  ＦＩＦＯ回路Ｂ
２１０  回路制御部
２１１  ＦＩＦＯアドレス制御部
２２０  ＦＩＦＯ出力順序制御部
２２１  順序管理番号生成部
２２２  ＦＩＦＯ回路Ａデータ情報管理部
２２３  ＦＩＦＯ回路Ｂデータ情報管理部
２２４  ＦＩＦＯデータ制御管理部
３００  出力制御回路
３０１  データ解析部
３０２  ＦＩＦＯ回路Ａ
３０３  ＦＩＦＯ回路Ｂ
３０４  ＦＩＦＯ回路Ｃ
３０５  ＦＩＦＯ回路Ｄ
３０６  ＦＩＦＯ回路制御部
【図１】
0005246810.tif 000002
【図２】
0005246810.tif 000003
【図３】
0005246810.tif 000004
【図４】
0005246810.tif 000005
【図５】
0005246810.tif 000006
【図６】
0005246810.tif 000007
【図７】
0005246810.tif 000008
【図８】
0005246810.tif 000009
【図９】
0005246810.tif 000010
【図１０】
0005246810.tif 000011
【図１１】
0005246810.tif 000012
【図１２】
0005246810.tif 000013
【図１３】
0005246810.tif 000014
【図１４】
0005246810.tif 000015
【図１５】
0005246810.tif 000016
【図１６】
0005246810.tif 000017
【図１７】
0005246810.tif 000018
【図１８】
0005246810.tif 000019
【図１９】
0005246810.tif 000020