(57)【特許請求の範囲】
【請求項１】
複数チャネルで入力される非同期パケットデータを多重化して転送する非同期パケットデータ多重化回路において、
チャネルと１対１対応にメモリエリアを備え、１つのチャネル対応のメモリエリアへの入力データの書込みと、他のチャネル対応のメモリエリアからのデータの読出しを並行して行えるデュアルポートメモリ部と、
前記デュアルポートメモリに書き込まれた入力データの内で未だ読み出されていないデータ数をチャネル毎に把握し、最も多いデータ数のチャネルに対するリードCHイネーブルを出力するリードCH選択部と、
前記リードCHイネーブルにより指定される前記メモリエリアからデータを読み出すメモリ読出し制御部を有することを特徴とする非同期パケットデータ多重化回路。
【請求項２】
前記リードCH選択部は、
ライトイネーブルが有効なときにクロックをカウントし、前記デュアルポートメモリに対するメモリリードタイミングによりカウントダウンすることにより、カウント値が前記データ数を示すチャネルと１対１対応の入力データ数カウンタと、
前記各入力データ数カウンタのカウント値を比較し、カウント値の大きい順に順位をつけた順位信号を出力する比較部と、
前記順位信号によりデータ数が多いチャネルの順に前記リードCHイネーブルを前記メモリ読出し制御部へ出力し、パケットの最後のデータであることを示す前記メモリ読出し制御部からのデータエンド信号により前記リードCHイネーブルを解除するリードアドレスカウンタ部を有することを特徴とする請求項１記載の非同期パケットデータ多重化回路。
【請求項３】
前記ライトイネーブルの立下りタイミングによりカウントアップし、また前記データエンド信号によりカウントダウンすることにより、前記デュアルポートメモリ部に書き込まれたが未だ読み出されていないパケットの数を示すチャネルと１対１対応の入力パケット数カウンタを前記リードCH選択部に設け、
パケット数が０のチャネルについてはスキップされ、次にデータ数が多いチャネルに対する前記リードイネーブルを有効化することを特徴とする請求項２記載の非同期パケットデータ多重化回路。
【請求項４】
前記メモリ読出し制御部は、
前記リードCHイネーブルをデコードして前記デュアルポートメモリのメモリエリアを指定する上位リードアドレスを出力するデコード部と、
１つが前記リードCHイネーブルによって機能して内部クロックをカウントし下位メモリリードアドレスを生成すると共にメモリリード信号を出力するチャネルと１対１対応のリードアドレス生成部と、
１つが前記リードCHイネーブルによって機能して前記メモリリード信号をカウントすることによりリードデータのデータ数をカウントするリードデータカウンタ部と、
前記デュアルポートメモリから読み出されてくるデータとリードデータカウンタ部におけるカウント値から、入力されるパケットデータ内の予め定められた位置に含まれるデータ長を抽出することによりパケット長をラッチするパケット長ラッチ部と、
前記リードデータカウンタ部におけるカウント値と前記パケット長ラッチ部におけるパケット長データを比較し、それらの値が一致した時点で前記データエンド信号を出力するデータ長比較部と、
前記デコード部が出力する上位リードアドレス信号により認識したチャネルの前記下位リードアドレス信号および前記メモリリード信号を選択して前記デュアルポートメモリ部へ出力するリードアドレス選択部で構成することを特徴とする請求項２または請求項３記載の非同期パケットデータ多重化回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数チャネルで入力される非同期パケットデータを多重化して転送する非同期パケットデータ多重化回路に関する。
【背景技術】
【０００２】
従来、複数ライン入力の可変長の非同期パケットデータを多重化し、データの転送を行う場合、入力されるパケットデータのチャネル数と同数のメモリICを備えた回路を使用するか、１個のメモリICに入力されるパケットデータを時分割でメモリICに書き込み後、メモリICから書き込まれているパケットデータをパケット単位で周期的に読み出し多重化処理を行っていた。
【０００３】
図８は従来技術による４チャネルの非同期パケットデータ多重化処理を１個のメモリIC実現する非同期パケットデータ多重化回路の一例（例えば、特許文献１参照）を示すブロック図である。
【０００４】
リタイミング部20-1〜20-4で入力される各チャネルの非同期データを内部クロックでリタイミングし、入力されるデータのうち最大レートのデータを選択できるレートで、チャネルに対応する多重化書き込みCH選択信号を書込み制御部40から周期的に出力する。各チャネルのパケットデータの先頭から生成したライトレディ信号と選択信号のチャネルの一致を条件として、デュアルポートメモリ部50の当該チャネルのメモリエリアに書き込む。
【０００５】
読み出す際は、読出し制御部60から、書込み制御部40より与えられたメモリ書込みに関するステータス情報を考慮したリードCH選択信号を前述と同様に周期的に生成する。そして、各チャネルのリタイミングデータの最後尾の検出に基づき生成したリードレディ信号とリードCH選択信号のチャネルの一致を条件として、当該チャネル対応のメモリエリアから順次に読み出す。
【０００６】
【特許文献１】特開2002-94550号公報（第３頁−第４頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の非同期パケットデータ多重化回路では、一旦、デュアルポートメモリ部50に書き込まれているパケットデータをチャネル毎に周期的に読み出しを行っているため、同じチャネルのパケットデータの読出しの間隔が、読出し周期に依存することとなる。このため、入力されるパケットデータが可変長の場合、入力されるパケットデータのパケット発生間隔を制限する必要が生じる。
【０００８】
図９にタイミングチャートを示す。パケット発生間隔の制限とは、図９に示すように、リードCH選択信号が全てのチャネルを読み出す時間をT1としたとき、T1の時間内にパケット長に拘わらず１個のチャネルで２パケット以上の入力があると、データを格納しているデュアルポートメモリエリアは２パケット分なので、格納されたパケットデータを読み出す前に次のパケットデータがメモリエリアを上書きしてしまうことである。従って、入力されるパケットデータは、T1間に１パケット以上のパケットデータを発生してはならないという制約が発生するのである。
【０００９】
そこで、本発明の目的は、複数のチャネルで入力されるパケット発生間隔に制限を持たない可変長非同期パケットデータを多重化し１ラインで出力する機能を小規模な回路で実現可能な非同期パケットデータ多重化回路を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の非同期パケットデータ多重化回路は、複数チャネルで入力される非同期パケットデータを多重化して転送する非同期パケットデータ多重化回路において、チャネルと１対１対応にメモリエリアを備え、１つのチャネル対応のメモリエリアへの入力データの書込みと、他のチャネル対応のメモリエリアからのデータの読出しを並行して行えるデュアルポートメモリ部（図１の50）と、デュアルポートメモリに書き込まれた入力データの内で未だ読み出されていないデータ数をチャネル毎に把握し、最も多いデータ数のチャネルに対するリードCHイネーブルを出力するリードCH選択部（図１の80）と、リードCHイネーブルにより指定されるメモリエリアからデータを読み出すメモリ読出し制御部（図１の60）を有することを特徴とする。
【００１１】
より具体的には、リードCH選択部（図１の80）は、ライトイネーブルが有効なときにクロックをカウントし、デュアルポートメモリに対するメモリリードタイミングによりカウントダウンすることにより、カウント値がデータ数を示すチャネルと１対１対応の入力データ数カウンタ（図４の81）と、各入力データ数カウンタのカウント値を比較し、カウント値の大きい順に順位をつけた順位信号を出力する比較部（図４の83）と、順位信号によりデータ数が多いチャネルの順にリードCHイネーブルをメモリ読出し制御部へ出力し、パケットの最後のデータであることを示すメモリ読出し制御部からのデータエンド信号によりリードCHイネーブルを解除するリードアドレスカウンタ部を有することを特徴とする。
【００１２】
更に、ライトイネーブルの立下りタイミングによりカウントアップし、またデータエンド信号によりカウントダウンすることにより、デュアルポートメモリ部に書き込まれたが未だ読み出されていないパケットの数を示すチャネルと１対１対応の入力パケット数カウンタをリードCH選択部（図１の80）に設け、パケット数が０のチャネルについてはスキップされ、次にデータ数が多いチャネルに対する前記リードイネーブルを有効化するようにしてもよい。
【００１３】
また、メモリ読出し制御部（図１の60）は、リードCHイネーブルをデコードしてデュアルポートメモリのメモリエリアを指定する上位リードアドレスを出力するデコード部（図３の61）と、１つがリードCHイネーブルによって機能して内部クロックをカウントし下位メモリリードアドレスを生成すると共にメモリリード信号を出力するチャネルと１対１対応のリードアドレス生成部（図３の63）と、１つがリードCHイネーブルによって機能してメモリリード信号をカウントすることによりリードデータのデータ数をカウントするリードデータカウンタ部（図３の64）と、デュアルポートメモリから読み出されてくるデータとリードデータカウンタ部におけるカウント値から、入力されるパケットデータ内の予め定められた位置に含まれるデータ長を抽出することによりパケット長をラッチするパケット長ラッチ部（図３の65）と、リードデータカウンタ部におけるカウント値とパケット長ラッチ部におけるパケット長データを比較し、それらの値が一致した時点でデータエンド信号を出力するデータ長比較部（図３の66）と、デコード部が出力する上位リードアドレス信号により認識したチャネルの下位リードアドレス信号およびメモリリード信号を選択してデュアルポートメモリ部へ出力するリードアドレス選択部（図３の62）で構成することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、複数の非同期パケットデータを多重化する機能を入力チャネル数によらず、１個のメモリと制御回路で実現することで部品点数が少なくなる上、従来のように読出しチャネルをサイクリックに切り替えるのではなく、パケットデータの入力があったチャネルから、かつデュアルポートメモリ部における滞留データ数の多い順番に切替えて読み出していくようにしたので、入力される非同期パケット長が可変長であっても、パケット発生間隔に制限を持たせずに処理できるという効果を得ることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について図面を参照しながら説明する。
【実施例】
【００１６】
[構成の説明]
図１は、本発明の非同期パケットデータ多重化回路の一実施例を示すブロック図である。この非同期パケットデータ多重化回路は、４つのチャネルに非同期で入力してくる可変長のパケットデータPD1〜PD4を多重化し多重化データ信号MXDとして転送出力する回路であって、内部クロック発生部10，チャネル対応の４つのリタイミング部20-1〜20-4，マルチプレクサ部30，書込み制御部40，デュアルポートメモリ部50，メモリ読出し制御部60，多重化信号生成部70およびリードCH選択部80で構成されている。
【００１７】
内部クロック発生部10は内部クロックICKを発生して本非同期パケットデータ多重化回
路の各所へ供給する。リタイミング部20は、パケットデータPD1〜PD4を構成する入力デー
タ，入力イネーブルおよび入力クロックを内部クロックICKでリタイミングし内部クロッ
クICKに同期した入力データID1〜ID4をマルチプレクサ部30、内部クロックICKに同期した
ライトイネーブルWN1〜WN4および内部クロックICKに同期したクロックCK1〜CK4をマルチプレクサ部30と書込み制御部40とリードCH選択部80へそれぞれ出力する。なお、PD1〜PD4
等はPDと代表表記することがある。
【００１８】
書込み制御部40は、内部クロックICKによりライトチャネル選択信号SELを一定周期で生成してマルチプレクサ部30へ供給する。ライトCH選択信号SELは、入力データID1〜ID4の内で最もレート（rate）が速い入力データIDの遷移時点の間で全チャネルを選択できるレートでなければならない。
【００１９】
また、書込み制御部40は、ライトチャネル選択信号SELをデコードして上位ライトアドレスWAD1、ライトチャネル選択信号SELとライトイネーブルWE1〜WE4とクロックCK1〜CK4とからメモリライト信号WRT、ライトチャネル選択信号SELとメモリライト信号WRTとから下位ライトアドレスWAD2をそれぞれ生成してデュアルポートメモリ部50へ出力する。
【００２０】
マルチプレクサ部30は、ライトCH選択信号SELが指定しているチャネルのライトイネーブルWEが“Hi”のときに、当該クロックCKに同期して当該入力データIDを多重化入力データMXIとしてデュアルポートメモリ部50へ出力する。
【００２１】
デュアルポートメモリ部50は、チャネルと１対１対応にメモリエリアを備え、１つのチャネル対応のメモリエリアに対する多重化入力データMXIの書込みと、他のチャネル対応のメモリエリアに対する多重化出力データMXOの読出しを並行して行える。書込みはライトアドレスWADに対してメモリライト信号WRTに応答して行なわれ、読出しはメモリ読出し制御部60から入力するリードアドレスRADに対してメモリリード信号RETに応答して行なわれる。読み出された多重化出力データMXOは多重化信号生成部70とメモリ読出し制御部60へ供給される。
【００２２】
メモリ読出し制御部60は、リードチャネル選択部80から入力するリードCHイネーブルRE1〜RE4により指定されるメモリエリアからデータを読み出す。そのために、メモリリード信号RETとリードアドレスRADをデュアルポートメモリ50と多重化信号生成部70へ出力する。また、デュアルポートメモリ50を読み出していることを示すメモリリードタイミングRT1〜RT4と、デュアルポートメモリ50から読み出された多重化出力データMXOからパケット長を認識し、読み出しているパケットの最後のデータまで読み出すと、パケットの最後のデータであることを示すデータエンド信号DE1〜DE4をリードCH選択部80へ出力する。
【００２３】
リードCH選択部80は、ライトイネーブルWE1〜WE4，クロックCK1〜CK4およびメモリリードタイミングRT1〜RT4とから、デュアルポートメモリ50に書き込まれた多重化入力データMXIの内で未だ読み出されていないデータ数をチャネル毎に把握し、最も多いデータ数のチャネルに対するリードCHイネーブルREを有効化してメモリ読出し制御部60と多重化信号生成部70へ出力する。このとき、ライトイネーブルWE1〜WE4とデータエンド信号DE1〜DE4とから、デュアルポートメモリ50に書き込まれた多重化入力データMXIのパケット数をチャネル毎に把握し、パケット数が０のチャネルについてはスキップされ、次にデータ数が多いチャネルに対するリードイネーブルREが有効化される。
【００２４】
多重化信号生成部70は、デュアルポートメモリ部50から読み出された多重化出力データMXO，リードCHイネーブル信号RE1〜RE4，メモリリード信号RETを内部クロックICKでリタイミングし、それぞれ多重化データ信号，多重化データイネーブル信号，多重化データクロック信号を生成し、入力される非同期パケットデータPD1〜PD4を多重化した多重化データ信号MXDを出力する。
【００２５】
次に、書込み制御部40，デュアルポートメモリ部50，メモリ読出し制御部60およびリードCH選択部80それぞれの詳細について図２〜図５により説明する。
【００２６】
図２は書込み制御部40の詳細ブロック図を示す。書込み制御部40は、ライトCH選択信号発生部41，チャネルと１対１対応のメモリライトカウンタ42-1〜42-4，マルチプレクサ部43，チャネルと１対１対応のライトレディレジスタ44-1〜44-4，メモリライト信号発生部45およびデコード部46から構成される。
【００２７】
ライトCH選択信号発生部41は、内部クロックICKによりライトCH選択信号SELを一定周期
で生成し、マルチプレクサ部30，メモリライトカウンタ42-1〜42-4，マルチプレクサ部43
，ライトレディレジスタ44-1〜44-4，メモリライト信号発生部45およびデコード部46へ出
力する。ライトCH選択信号SELは、入力データID1〜ID4の中で１番レートが速い入力データIDの4倍以上のレートの信号であり、入力データID1〜ID4の中で１番レートが速い入力データIDの遷移時点の間で全チャネルを選択できるレートとなっている。
【００２８】
ライトレディレジスタ44-1〜44-4の内でライトCH選択信号SELによって指定されるライトレディレジスタ44が機能し、ライトイネーブルWEが有効な時に、各チャネルのデータ遷移時点を示すクロックCKの立下がりで該当チャネルのライトレディ信号RDYを“Hi”にする。このライトレディ信号RDYは、ライトCH選択信号SELが該当チャネルを選択しメモリライト信号発生部45がメモリライト信号WRTを出力した時点で“Lo”にされる。メモリライト信号発生部45は、ライトCH選択信号SELが指定したチャネルのライトレディ信号RDYが“Hi”の時にメモリライト信号WRTを発生し、デュアルポートメモリ部50，メモリライトカウンタ42およびライトレディレジスタ44へ出力する。メモリライト信号WRTはライトレディレジスタ44の入力へ帰還して上述のライトレディ信号RDYの“Lo”への切替えのために使用される。
【００２９】
メモリライトカウンタ42-1〜42-4の内でライトCH選択信号SELによって指定されるメモリライトカウンタ42が機能し、メモリライト信号WRTをカウントすることにより１２ビットのライトアドレスWADを生成する。マルチプレクサ部43は、ライトCH選択信号SELが選択しているメモリライトカウンタ42からのライトアドレスWADを下位ライトアドレスWAD2としてデュアルポートメモリ部50へ出力する。デコード部46は、ライトCH選択信号SELをデコードし、デュアルポートメモリ50の書込みメモリエリアを指定する３ビットの上位ライトアドレスWAD1を出力する。
【００３０】
図５は、デュアルポートメモリ50のメモリエリアを示し、CH1，CH2，CH3，CH4に対して、それぞれデュアルポートメモリ50のアドレス0000h〜1FFFh、2000h〜3FFFh、4000h〜5FFFh、6000h〜7FFFhが割り当てられている。
【００３１】
図３はメモリ読出し制御部60の詳細ブロック図を示す。メモリ読出し制御部60は、デコード部61と、リードアドレス選択部62と、チャネルと１対１対応のリードアドレス生成部63-1〜63-4，リードデータカウンタ部64-1〜64-4，パケット長ラッチ部6565-1〜65-4およびデータ長比較部66-1〜66-4とで構成される。デコード部61は、リードCH選択部80から入力されるリードCHイネーブルRE1〜RE4をデコードして、デュアルポートメモリ50のメモリエリアを指定する３ビットの上位リードアドレスRAD1をデュアルポートメモリ50と多重化信号生成部70とリードアドレス選択部62へ出力する。
【００３２】
リードアドレス生成部63-1〜63-4，リードデータカウンタ部64-1〜64-4およびパケット長ラッチ部6565-1〜65-4は、それらの内の１つがリードCH選択部80から入力されるリードCHイネーブルRE1〜RE4によって機能する。リードアドレス生成部63は、内部クロックICKをカウントして１２ビットのリードアドレスRAD2を生成すると共に、メモリリード信号RETを出力する。
【００３３】
リードデータカウンタ部64は、メモリリード信号RETをカウントすることによりリードデータのデータ数をカウントする。このカウント値は、CHデータ長比較部66から入力されるデータエンド信号DEによりクリアされる。パケット長ラッチ部65は、デュアルポートメモリ50から読み出されてくる多重化出力データMXOとリードデータカウンタ部64からのデータ数を示すカウント値から、入力されるパケットデータ内の予め定められた位置に含まれるデータ長を抽出することによりパケット長をラッチする。ラッチされたパケット長はデータ長比較部66へ出力され、またデータエンド信号DEによりクリアされる。
【００３４】
データ長比較部66は、リードデータカウンタ部64から入力されるデータ数のカウント値と、パケット長ラッチ部65から入力されるパケット長データを比較し、それらの値が一致した時点、すなわちデュアルポートメモリ部50から読み出している多重化出力データMXOの最後をリードしたタイミングでデータエンド信号DEをリードCH選択部80，リードデータカウンタ部64およびパケットデータ長ラッチ部65へ出力する。
【００３５】
リードアドレス選択部62は、デコード部61が出力する上位リードアドレス信号RAD1から該当のチャネルを認識し、当該チャネルの下位リードアドレス信号RAD2およびメモリリード信号RETを選択してデュアルポートメモリ部50へ出力する。
【００３６】
図４はリードCH選択部80の詳細図を示す。リードCH選択部80は、チャネルと１対１対応の入力データ数カウンタ81-1〜81-4，チャネルと１対１対応の入力パケット数カウンタ82-1〜82-4，比較部83およびリードアドレスカウンタ部84から構成される。
【００３７】
入力データ数カウンタ81は、ライトイネーブルWEが有効なときにクロックCKをカウントし、メモリリードタイミングRTによりカウントダウンする。従って、入力データ数カウンタ81のカウント値は、デュアルポートメモリ部50に書き込まれたが未だ読み出されていないデータの数を示すこととなる。比較部83は、入力データ数カウンタ81-1〜81-4のカウント値を比較し、カウント値の大きい順に順位をつけ、すなわち本例では、0〜3を各チャネルに割り当てた信号をリードアドレスカウンタ部84に出力する。
【００３８】
入力パケット数カウンタ82は、イネーブルENの立下りタイミングによりカウントアップし、またデータエンド信号DEによりカウントダウンする。従って、入力パケット数カウンタ82は、デュアルポートメモリ部50に書き込まれたが未だ読み出されていないパケットの数を示すこととなる。
【００３９】
リードアドレスカウンタ部84は、比較部83から入力される順位信号により、最もデータ数が多いチャネルに対してリードCHイネーブルREをアクティブ(“Hi”)にして、多重化信号生成部70とメモリ読出し制御部60へ出力する。但し、入力パケット数カウンタ82が出力するパケット数が0の場合は、次順位のチャネルに対してリードCHイネーブルREをアクティブ(“Hi”)にする。また、アクティブとなったチャネルに対するリードCHイネーブルREは、データエンド信号DEにより解除(“Lo”）する。
【００４０】
[動作の説明]
次に、以上のように構成された本非同期パケットデータ多重化回路の動作について、デュアルポートメモリ部50への書込み動作（図６）と、デュアルポートメモリ部50からの読出し動作（図７）に分けてタイミングチャートを参照しながら説明する。
【００４１】
書込み動作
本非同期パケットデータ多重化回路に入力してくるパケットデータPD1〜PD4は各々非同期のパケットデータであり、入力データ，入力クロックおよび入力イネーブルで構成されている。入力されたパケットデータPD1〜PD4は、リタイミング部20-1〜20-4で、入力クロックと、内部クロック発生部10から出力される内部クロックICKを用いてリタイミングすることにより内部クロックICKに同期させる。リタイミングされた入力データIDはマルチプレクサ部30へ出力される。
【００４２】
図６はデュアルポートメモリ部50への書込み動作を示すタイミングチャートである。ライトCH選択信号SELは、内部クロックICKに同期してサイクリックにチャネル1〜4を指定する。このようなライトCH選択信号SELが書込み制御部40からマルチプレクサ部30に入力すると、ライトCH選択信号SELで指定された入力データIDがクロックCKの立下がりでマルチプレクサ部30に受け入れられ、多重化入力データMXIとしてデュアルポートメモリ部50へ供給される。
【００４３】
書込み制御部40では、ライトCH選択信号SELで指定されたチャネルのライトレディ信号R
DYをクロックCKの立下がりで“Hi”にし、メモリライト信号WRTを出力した時点で“Lo”
にする。メモリライト信号発生部45は、ライトCH選択信号SELが指定したチャネルのライ
トレディ信号RDYが“Hi”の時にメモリライト信号WRTを発生し、デュアルポートメモリ部
50へ供給する。また、書込み制御部40は上位ライトアドレスWAD1と下位ライトアドレスWA
D2をデュアルポートメモリ部50へ供給する。
【００４４】
デュアルポートメモリ部50では、上位ライトアドレスWAD1で指定されるメモリエリアの
内の下位ライトアドセルWAD2で指定されるアドレスに、メ多重化入力データMXIがメモリライト信号WRTにより書き込まれる。
【００４５】
１パケット分が書き込まれると、書込み制御部40においてライトCH選択信号SELが遷移するので、最後のデータを書き込みした次のアドレスでライトアドレスWADは停止する。そして、同一チャネルにおいて次に入力される多重化入力データMXIを前回書き込んだデータの最後のアドレスの次のアドレスから書き込みを行う。本処理は、チャネル1〜4まで時分割で行われ、それぞれのチャネル対応のメモリエリアに多重化入力データMXIが書き込まれていく。
【００４６】
読出し動作
このようにして書き込まれた各チャネルのパケットデータは、リードCH選択部80により選択されたチャネルに従い、メモリ読出し制御部60によりデュアルポートメモリ部50から読み出される。図７はデュアルポートメモリ部50からの読出し動作を示すタイミングチャートである。
【００４７】
デュアルポートメモリ部50からの読出しは、メモリ読出し制御部60からの上位リードアドレスRAD1で指定されるメモリエリアの内の下位リードアドセルRAD2で指定されるアドレスについてメモリリード信号RETにより行なわれる。ここで、上位リードアドレスRAD1は、メモリ読出し制御部60においてリードCHイネーブルREにより生成される。更に、リードCHイネーブルREは、リードCH選択部80においてイネーブルENの立下りで切り替わる入力データ数のカウント値によって決する。
【００４８】
したがって、図７に示すように、読出しチャネルは、イネーブルENの立下りで、入力データ数のカウント値によって、１→２→３→１→３→４→２→３→４→１→４→１→４→２と切り替わっている。３番目の読出しチャネル等、複数のライトイネーブルWEが同時に立下る場合には、データ長カウンタのカウント値が多い方のチャネルが優先的に読み出されることに留意されたい。
【００４９】
デュアルポートメモリ部50から読み出された多重化出力データMXO，リードCHイネーブル信号RE1〜RE4，メモリリード信号RETは、多重化信号生成部70において内部クロックICKでリタイミングされて、それぞれ多重化データ信号，多重化データイネーブル信号，多重化データクロック信号が生成され、入力される非同期パケットデータPD1〜PD4を多重化した多重化データ信号MXDとして出力される。
【００５０】
このように、読出しチャネルをサイクリックに切り替えるのではなく、パケットデータの入力があったチャネルから、かつデュアルポートメモリ部50における滞留データ数の多い順番に切替えて読み出していくようにしたので、入力される非同期パケットデータが可変長の場合であってもパケットデータの発生間隔に制限に制限を持たせずに処理することができる。
【００５１】
なお、本発明が上記実施例に限定されず、本発明の技術思想の範囲内において、各実施例は適宜変更され得ることは明らかである。
【図面の簡単な説明】
【００５２】
【図１】本発明の非同期パケットデータ多重化回路の一実施例を示すブロック図
【図２】図１における書込み制御部の詳細ブロック図
【図３】図１におけるメモリ読出し制御部の詳細ブロック図
【図４】図１におけるリードCH選択部の詳細ブロック図
【図５】図１におけるデュアルポートメモリ部のメモリエリアを示す図
【図６】図１の非同期パケットデータ多重化回路のメモリ書込みタイミングチャート
【図７】図１の非同期パケットデータ多重化回路のメモリ読出しタイミングチャート
【図８】従来の非同期パケットデータ多重化回路の一例を示すブロック図
【図９】図８の非同期パケットデータ多重化回路のメモリ読出しタイミングチャート
【符号の説明】
【００５３】
10            内部クロック発生部
20-1〜20-4    リタイミング部
30            マルチプレクサ部
40            書込み制御部
41            ライトCH選択信号発生部
42-1〜42-4    メモリライトカウンタ
43            マルチプレクサ部
44-1〜44-4    ライトレディレジスタ
45            メモリライト信号発生部
46，61        デコード部
50            デュアルポートメモリ部
60            メモリ読出し制御部
61            デコード部
62            リードアドレス選択部
63-1〜63-4    リードアドレス生成部
64-1〜64-4    リードデータカウント部
65-1〜65-4    パケット長ラッチ部
66-1〜66-4    データ長比較部
70            多重化信号生成部
80            リードCH選択部
81-1〜81-4    入力データ数カウンタ
82-1〜82-4    入力パケット数カウンタ
83            比較部
84            リードアドレスカウンタ部
【図１】
0004572176.tif 000002
【図２】
0004572176.tif 000003
【図３】
0004572176.tif 000004
【図４】
0004572176.tif 000005
【図５】
0004572176.tif 000006
【図６】
0004572176.tif 000007
【図７】
0004572176.tif 000008
【図８】
0004572176.tif 000009
【図９】
0004572176.tif 000010