(57)【特許請求の範囲】
【請求項１】
１回当たりの書き込みデータ数が予め決まっている装置から転送されるデータが書き込まれるキューバッファ制御装置において、
キューバッファに書き込まれるデータをカウントする第１のカウンタと、キューバッファから読み出されるデータをカウントする第２のカウンタと、
上記第１のカウンタのカウント値が規定値になったとき、転送終了信号を出力し、上記第２のカウンタのカウント値が規定値になったとき上記転送終了信号を解除する手段とを設け、
上記転送終了信号が出力されているか、キューバッファからデータフル信号が出力されているとき、書き込み装置側にデータフル信号を出力し、上記転送終了信号が出力されてない状態で、かつ、キューバッファからデータエンプティ信号が出力されているとき、読込み装置側にデータエンプティ信号を出力する
ことを特徴とするキューバッファ制御装置。
【請求項２】
少なくとも書き込みアクセスが一定期間ない場合に転送終了信号を発生するタイマ手段をもうけ、
上記タイマ手段が転送終了信号を出力したとき、データフル信号を書き込み側装置に出力するとともに、読み込み装置側に出力しているデータエンプティ信号を解除してデータを読み込ませる
ことを特徴とする請求項１に記載のキューバッファ制御装置。
【請求項３】
書き込みポインタと読み込みポインタとを備えたキューバッファ制御装置において、
上記書き込みポインタのカウント値から読み込みポインタのカウント値を引いた値が一定値より小さい場合に、読み込み装置側にデータエンプティ信号を出力し、上記書き込みポインタのカウント値から読み込みポインタのカウント値を引いた値が一定値より大きい場合に、書き込み側装置にデータフル信号を出力する比較手段と、
書き込みデータ数が所定の値になったとき、上記読み込み装置側に出力しているデータエンプティ信号を解除する手段を設けた
ことを特徴とするキューバッファ制御装置。
【請求項４】
書き込みポインタのカウント値から読み込みポインタのカウント値を引いた値が一定値より小さい場合に、データエンプティ信号を出力し、上記書き込みポインタのカウント値から読み込みポインタのカウント値を引いた値が一定値より大きい場合に、データフル信号を出力する手段と、
書き込みデータ数が所定の値になったとき、上記データエンプティ信号を解除する手段を備え、１回当たりの書き込みデータ数が予め決まっている装置から転送されるデータが書き込まれるキューバッファの制御装置であって、
キューバッファに書き込まれるデータをカウントする第１のカウンタと、キューバッファから読み出されるデータをカウントする第２のカウンタと、
上記第１のカウンタのカウント値が規定値になったとき、転送終了信号を出力し、上記第２のカウンタのカウント値が規定値になったとき上記転送終了信号を解除する手段とを設け、
上記キューバッファからデータフル信号が出力されているとき、書き込み装置側にデータフル信号を出力し、上記転送終了信号が出力されておらず、かつ、キューバッファからデータエンプティ信号が出力されているとき、読込み装置側にデータエンプティ信号を出力する
ことを特徴とするキューバッファ制御装置。
【請求項５】
書き込みポインタのカウント値から読み込みポインタのカウント値を引いた値が一定値より小さい場合にデータエンプティ信号を出力し、上記書き込みポインタのカウント値から読み込みポインタのカウント値を引いた値が一定値より大きい場合にデータフル信号を出力する手段と、
書き込みデータ数が所定の値になったとき、上記読み込み装置側に出力されているデータエンプティ信号を解除する手段を備え、１回当たりの書き込みデータ数が予め決まっている装置から転送されるデータが書き込まれるキューバッファ制御装置であって、
少なくとも書き込みアクセスが一定期間ない場合に出力を発生するタイマ手段を設け、  上記タイマ手段が出力を発生したとき、データフル信号を書き込み側装置に出力するとともに、読み込み装置側に出力しているデータエンプティ信号を解除してデータを読み込ませる
ことを特徴とするキューバッファ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は入出力バッファ等として使用されるキューバッファ（ＦＩＦＯ：First In First Out) 制御装置に関し、特に本発明は、データの書き込み、読み取りを安全かつ効率よく行うことができるとともに、回路規模を小さくすることができるキューバッファ制御装置に関するものである。
【０００２】
【従来の技術】
従来から、記憶回路と、その記憶回路への書き込みアドレスを定めるライトポイント・カウンタと、その記憶回路からの読み出しアドレスを定めるリードポイント・カウンタとを備えたキューバッファが知られている。上記キューバッファ（ＦＩＦＯ）はリード側とライト側にストレスを少なくしデータ転送を快適にすることができる。
【０００３】
図１７は上記したキューバッファの構成の一例を示す図である。同図において、ＷＲはライトクロック、ＲＤはリードクロック、ＤＩ０−７は書き込みデータ、ＤＯ０−７は読み出しデータである。なお、ＲＤ，ＥＭＰＴＹ等の上に付された横棒は否定を意味し、ローレベルがアクティブであることを示す。例えば、上に横棒が付されたＥＭＰＴＹはローレベルでエンプティ状態であることを示している。以下、各符号の上に横棒が付された記号を本文中では／ＲＤ，／ＥＭＰＴＹ等と記す。
【０００４】
図１７において、１０１はメモリ部、１０２はメモリ部１０１にデータを書き込む際のアドレスを示すライトポイント・カウンタである。ライトポイント・カウンタ１０２のカウント値は０〜Ｎの値を取り（ライトポイント・カウンタ１０２のカウント値を以下ＷＰＣという）、データの書き込みが完了すると、メモリ部１０１がデータフル状態でない場合、１インクリメントする。すなわち、ライトポイント・カウンタ１０２は常に次の書き込み位置を示している。
１０３はメモリ部１０１からデータを読み出す際のアドレスを示すリードポイント・カウンタである。リードポイント・カウンタ１０３のカウント値は０〜Ｎの値を取り（リードポイント・カウンタ１０３のカウント値を以下ＲＰＣという）、データの読み出しが完了すると、メモリ部１０１がエンプティ状態でない場合、１インクリメントする。すなわち、リードポイント・カウンタ１０３は常に次の読み出し位置を示している。
【０００５】
また、１０４は比較器であり、比較器１０４はライトポイント・カウンタ１０２のカウント値ＷＰＣとリードポイント・カウンタ１０３のカウント値ＲＰＣを比較し、／ＦＵＬＬ、／ＥＭＰＴＹ信号を出力する。
図１８は上記キューバッファのデータエンプティ動作を示す図である。同図において、／ＲＤはデータ読み込み時に入力されるリード・クロック、／ＥＭＰＴＹはメモリ部１０１がエンプティ状態であることを示すエンプティ信号である。ＲＰＣは前記したリードポイント・カウンタのカウント値、／ＷＲはデータライト時に入力されるライトクロック、ＷＰＣはライトポイント・カウンタのカウント値である。
【０００６】
同図に示すように、リードクロック／ＲＤが入力されてデータがメモリ部１０１からリードされる毎に、リードポイント・カウンタ１０３カウント値ＲＰＣは１ずつインクリメントしていき、Ｎ−５からＮまでインクリメントしたのち、０に戻り次いで１になる。
一方、ライトクロック／ＷＲが入力されデータがメモリ部１０１にライトされる毎に、ライトポイント・カウンタのカウント値ＷＰＣは１ずつインクリメントしていき、Ｎ−３からＮまでインクリメントしたのち、０に戻り１，２とインクリメントしていく。
【０００７】
ここで、リードクロック／ＲＤの立ち上がり（リード完了）でリードポイント・カウンタ１０３のカウント値ＲＰＣがＮになったとき、ライトポイント・カウンタ１０２のカウント値ＷＰＣがＮであると、リードポイント・カウンタ１０３とライトポイント・カウンタ１０２のカウント値が一致するので、前記図１７に示した比較器１０４が／ＥＭＰＴＹ信号を出力する（図１８のＡ点）。
以下同様に、リードクロック／ＲＤの立ち上がりでリードポイント・カウンタ１０３のカウント値ＲＰＣが０，１になったとき、ライトポイントカウンタ１０２のカウント値ＷＰＣが０，１であると、比較器１０４が／ＥＭＰＴＹ信号を出力する（図１８のＢ，Ｃ点）。
【０００８】
図１９は上記キューバッファのデータフル動作を示す図である。
同図に示すように、ライトクロック／ＷＲが入力されてデータがメモリ部１０３に書き込まれる毎に、ライトポイント・カウンタ１０２のカウント値ＷＰＣは１ずつインクリメントしていき、Ｎ−５からＮまでインクリメントしたのち、０に戻り次いで１になる。
一方、リードクロック／ＲＤが入力されデータがメモリ部１０１からリードされる毎に、リードポイント・カウンタ１０３のカウント値ＲＰＣは１ずつインクリメントしていき、Ｎ−３からＮまでインクリメントしたのち、０に戻り１，２とインクリメントしていく。
【０００９】
ここで、ライトクロック／ＷＲの立ち上がり（ライト完了）でライトポイント・カウンタ１０２のカウント値ＷＰＣがＮになったとき、リードポイント・カウンタ１０３のカウント値ＲＰＣがＮであると、前記図１７に示した比較器１０４が／ＦＵＬＬ信号を出力する（図１９のＤ点）。
以下同様に、ライトクロック／ＷＲの立ち上がりで、ライトポイント・カウンタ１０２のカウント値ＷＰＣとリードポイント・カウンタ１０３のカウント値ＲＰＣが一致すると、比較器１０４が／ＦＵＬＬ信号を出力する（図１９のＥ，Ｆ点）。
【００１０】
【発明が解決しようとする課題】
上記したように従来のキューバッファは、メモリ部１０１がフル状態になったとき、あるいはエンプティ状態になったとき、／ＦＵＬＬ信号もしくは／ＥＭＰＴＹ信号を出力するが、上記図１８，図１９において、ライトとリードが同時にアクセスされると、フル状態かエンプティ状態であるかを判断できない。
図２０は上記のようにフル状態かエンプティ状態であるかを判断できない場合を示す図である。
【００１１】
同図において、前記したように、／ＲＤはリード・クロック、／ＥＭＰＴＹはエンプティ信号である。ＲＰＣはリードポイント・カウンタのカウント値、／ＷＲはライトクロック、ＷＰＣはライトポイント・カウンタのカウント値である。同図に示すように、ライトクロック／ＷＲとリードクロック／ＲＤの位相が一致しており、リードポイント・カウンタ１０３のカウント値ＲＰＣがＮ→０になるとき、同時にライトポイント・カウンタ１０２のカウント値ＷＰＣが０→１になると（同図の点線位置）、エンプティ状態かフル状態かを判断することができず、同図の斜線を付した部分で正常動作を期待できなくなる。データフルの場合も上記と同様な問題が発生する。
【００１２】
上記状態が発生したときに対処するため、従来においては、上記状態が発生したときにキューバッファを停止させるか、あるいは、データフルなのかデータエンプティ状態なのか判断する手段を付加し、いずれの状態にあるかを判断していた。
本発明は上記した従来技術の問題点を解決するためになされたものであって、上記のように問題が発生するのを防止し、データの書き込み、読み取りを安全かつ効率よく行うことができ、また、回路規模を小さくすることができるキューバッファ制御装置を提供することである。
【００１３】
【課題を解決するための手段】
図１は本発明の原理図であり、同図（ａ）は本発明の請求項１，２の発明に対応し、（ｂ）は請求項３の発明に対応している。
図１（ａ）において、１はキューバッファ、２はキューバッファ１に書き込まれるデータをカウントし、カウント値が規定値になったとき出力を発生する第１のカウンタ、３はキューバッファ１から読み出されるデータ数をカウントし、カウント値が規定値になったとき出力を発生する第２のカウンタ、４は第１のカウンタ２が出力を発生したとき、転送完了を示すＰＥＮＤ信号を出力し、第２のカウンタ３が出力を発生したとき、上記転送完了信号を解除する例えばＲＳフリップフロップ等から構成される手段、５はキューバッファ１への書き込みクロック／ＷＲにより計時を開始し、所定時間後に出力を発生するタイマ、６はオアゲートである。
【００１４】
図１（ｂ）において、１ａはライトポインタ、１ｂはリードポインタ、１ｃは比較器であり、比較器１ｃはライトポインタ１ａのカウント値ＷＰＣとリードポインタ１ｂのカウント値ＲＰＣを比較し、その差が基準値Ｘより小さいか等しいときデータエンプティ信号ＸＥＭＰＴＹを出力し、上記差が基準値Ｙより大きいか等しいときデータフル信号／ＦＵＬＬを出力する比較器、１ｄは上記ライトポインタ１ａのカウント値により定まるアドレスに入力データＤ−ＩＮを記憶し、上記リードポインタ１ｂのカウント値により定まるアドレスからデータＤ−ＯＵＴが読み出されるメモリ部、８は転送完了信号ＰＥＮＤが解除されたとき、データエンプティ信号／ＥＭＰＴＹをアクティブとするオアゲートである。
【００１５】
図１において、本発明は次のようにして前記課題を解決する。
（１）１回当たりの書き込みデータ数が予め決まっている装置から転送されるデータが書き込まれるキューバッファの制御装置において、図１（ａ）に示すように、キューバッファに書き込まれるデータをカウントする第１のカウンタ２と、キューバッファから読み出されるデータをカウントする第２のカウンタ３と、上記第１のカウンタのカウント値が規定値になったとき、転送終了信号を出力し、上記第２のカウンタのカウント値が規定値になったとき上記転送終了信号を解除する手段４とを設ける。そして、上記転送終了信号に基づき、書き込み側および読み込み側装置にデータフル信号とデータエンプティ信号を出力する。
【００１６】
（２）１回当たりの書き込みデータ数が予め決まっている装置から転送されるデータが書き込まれるキューバッファ制御装置において、図１（ａ）に示すように、少なくとも書き込みアクセスが一定期間ない場合に転送終了信号を発生するタイマ手段５をもうけ、上記タイマ手段が転送終了信号を出力したとき、データフル信号を書き込み側装置に出力するとともに、読み込み装置側に出力しているデータエンプティ信号を解除してデータを読み込ませる。
【００１７】
（３）１回当たりの書き込みデータ数が予め決まっている装置から転送されるデータが書き込まれるキューバッファ制御装置において、キューバッファからデータフル信号が出力されたとき、書き込み側装置へデータフル信号を出力し、キューバッファからデータエンプティ信号が出力されるまで、上記データフル信号を保持する手段を設け、キューバッファがデータエンプティ状態になるまで、書き込み装置側からのデータの書き込みを停止させる。
【００１８】
（４）書き込みポインタと読み込みポインタとを備えたキューバッファ制御装置において、図１（ｂ）に示すように、上記書き込みポインタ１ａのカウント値から読み込みポインタ１ｂのカウント値を引いた値が一定値より小さい場合に、読み込み装置側にデータエンプティ信号を出力し、上記書き込みポインタのカウント値から読み込みポインタのカウント値を引いた値が一定値より大きい場合に、書き込み側装置にデータフル信号を出力する比較手段１ｃと、書き込みデータ数が所定の値になったとき、上記読み込み装置側に出力しているデータエンプティ信号を解除する手段７を設ける。
【００１９】
（５）上記（４）のキューバッファ制御装置において、キューバッファに書き込まれるデータをカウントする第１のカウンタ２と、キューバッファから読み出されるデータをカウントする第２のカウンタ３と、上記第１のカウンタ２のカウント値が規定値になったとき、転送終了信号を出力し、上記第２のカウンタ３のカウント値が規定値になったとき上記転送終了信号を解除する手段４とを設け、上記転送終了信号と上記データフル信号とデータエンプティ信号に基づき、書き込み側および読み込み側装置にデータフル信号とデータエンプティ信号を出力する。
【００２０】
（６）上記（４）のキューバッファ制御装置において、少なくとも書き込みアクセスが一定期間ない場合に出力を発生するタイマ手段５を設け、上記タイマ手段５が出力を発生したとき、データフル信号を書き込み側装置に出力するとともに、読み込み装置側に出力しているデータエンプティ信号を解除してデータを読み込ませる。
【００２１】
本発明の請求項１の発明は、上記（１）のように、第１のカウンタ２と第２のカウンタ３を設け、規定数のデータが書き込まれたとき、転送終了信号を出力し、規定数のデータが読み出されたとき上記転送終了信号を解除し、該転送終了信号に基づき、書き込み側および読み込み側装置にデータフル信号とデータエンプティ信号を出力するようにしたので、エンプティ状態かフル状態かを判断することができないといった前記従来例に示したような状態が発生するのを防止することができる。
【００２２】
本発明の請求項２の発明は、上記（２）のように構成したので、データの書き込みが中断したとき、キューバッファに残っているデータを読み出すことができる。
本発明の請求項３〜５の発明は、上記（４）〜（６）のように構成したので、ライトとリードの同時アクセス時においても、ライトポインタ１ａとリードポインタ１ｂが同じアドレスをアクセスすることがなく、前記した従来例のような状態が発生するのを防止することができる。また、請求項４，５の発明においては、上記請求項１〜２の発明と同様な効果を得ることができる。
【００２３】
【発明の実施の形態】
図２、図３は本発明の第１の実施例を示す図であり、図２はＦＩＦＯ部（Ａ部分）の構成を示し、図３は図２に示すＦＩＦＯ部（Ａ部分）の制御回路を示しており、本実施例は予めデータ転送数が定まっているデータをＦＩＦＯに書き込み／読み出す場合に好適な実施例を示している。
図２において、１１は前記図１７に示したＦＩＦＯ（キューバッファ）であり、ＦＩＦＯ１１は前記したようにライトポイント・カウンタとリードポイント・カウンタとメモリ部と比較器を備え、比較器でライトポイント・カウンタとリードポイント・カウンタのカウント値を比較し、データエンプティ信号ＸＥＭＰＴＹ、データフル信号ＸＦＵＬＬを出力する。なお、上記、ＥＭＰＴＹ，ＦＵＬＬの前に付された「Ｘ」はローレベルであるときアクティブであることを示している。
【００２４】
１２はアンドゲートであり、アンドゲート１２の否定入力端子には後述するＰＥＤＮ信号が入力され、また、他方の端子には、ＦＩＦＯが出力するＸＦＵＬＬが入力される。このため、アンドゲート１２の出力ＸＦＵＬＬは上記ＰＥＮＤ信号がローレベルでかつＸＦＵＬＬがハイレベルのときハイレベルとなる。すなわち、ＰＥＮＤ信号がハイレベルか上記ＸＦＵＬＬがローレベルのとき、ＸＦＵＬＬがローレベルとなりアクティブ（データフル状態を示す）となる。
１３はオアゲートであり、オアゲート１３の出力ＸＥＭＰＴＹは、ＰＥＮＤ信号がハイレベルか、ＦＩＦＯ１１が出力するＸＦＥＭＰＴＹＴがハイレベルのときハイレベルとなり、また、ＰＥＮＤ信号がローレベルで、かつＸＦＥＭＰＴＹＴがローレベルのときローレベルとなる。
また、ＸＷＲはライトクロック、ＤＩ−７：０は書き込みデータ、ＸＲＤはリードクロック、ＤＯ−７：０は読み出しデータである。
【００２５】
図３は上記図２のＡに示すＦＩＦＯの制御回路を示し、１４はライトデータ数カウンタであり、図示しないデータ転送装置から転送されるデータ数が規定値に達すると出力を発生する。１５はリードデータ数カウンタであり、読み出したデータ数が規定値に達すると出力を発生する。また、１６は上記ライトデータ数カウンタ１４、リードデータ数カウンタ１５によりセット／リセットされるＲＳフリップフロップである。
また、ＷＥＮＤはライトデータ数が上記規定値になったとき出力されるライトデータトランスファＥＮＤ信号（以下ＷＥＮＤ信号という）、ＲＥＮＤはリードデータ数が上記規定値になったとき出力されるリードデータトランスファＥＮＤ信号（以下ＲＥＮＤ信号という）、ＰＥＮＤは上記ＲＳフリップフロップ１６の出力信号であり、ＦＩＦＯ１１へのデータの転送が完了後、ＦＩＦＯ１１からデータの読み出しが終了するまで出力される。また、／ＷＲはライトクロック、／ＲＤはリードクロックである。
【００２６】
図２、図３において、本実施例のキューバッファは次のように動作する。
図示しない装置からライトクロック／ＷＲとともに、８ビットのデータＤＩ−７：０が転送されてくると、上記データは図２に示すＦＩＦＯ１１に書き込まれる。また、ライトデータ数カウンタＣＷＰは上記ライトクロック／ＷＲをカウントする。これにより、ＦＩＦＯ１１はエンプティ状態でなくなり、ＸＦＥＭＰＴＹ信号はハイレベルとなりＸＥＭＰＴＹ信号および／ＥＭＰＴＹ信号はハイレベルとなる。
そして、転送データ数が規定値になると、ライトデータ数カウンタＣＷＰはＷＥＮＤ信号を出力しＲＳフリップフロップ１６をセットする。これにより、ＲＳフリップフロップ１６はＰＥＮＤ信号をハイレベルとし、このＰＥＮＤ信号は図２のアンドゲート１２の否定入力端子に与えられる。上記ＰＥＮＤ信号がハイレベルとなると、アンドゲート１２が出力するＸＦＵＬＬ信号はローレベル（アクティブ）となる。このローレベルのＸＦＵＬＬ信号は／ＦＵＬＬ信号として図示しないデータ転送装置に送られる。
【００２７】
一方、上記のようにＦＩＦＯ１１にデータが書き込まれているとき、データ送出側の装置からリードクロック／ＲＤが入力されると、この信号はＸＲＤとして図２のＦＩＦＯ１１に与えられ、ＦＩＦＯからデータＤＯ−７：０が読み出される。また、リードクロック／ＲＤはリードデータ数カウンタ１５によりカウントされる。
そして、リードデータ数カウンタ１５のカウント値ＣＲＰが規定値になると、ＲＥＮＤ信号が出力され、ＲＳフリップフロップ１６をリセットする。
上記ＲＳフリップフロップ１６がリセットされると、ＰＥＮＤ信号はローレベルとなり、ＦＩＦＯ１１が出力するＸＦＦＵＬＬ信号がハイレベルの場合、ＡＮＤゲート１２の出力ＸＦＵＬＬはハイレベルとなり、／ＦＵＬＬ信号はハイレベル（データフルでない状態）となる。
【００２８】
また、ＰＥＮＤ信号がローレベルとなるので、このとき、ＸＦＥＭＰＴＹがローレベルであれば（データエンプティ状態を示す）、オアゲート１３が出力するＸＥＭＰＴＹ信号、すなわち／ＥＭＰＴＹ信号はローレベルとなる（エンプティ状態を示す）。
以上のようにしてデータの書き込み／読み出しが行われ、データフル状態でなくなると、再び図示しないデータ転送装置からデータの転送が行われ、上記処理を繰り返す。
【００２９】
また、上記データの読み出し中に、データの書き込みが中断し、データ読み出しのみが行われると、リードデータ数カウンタ１４が／ＲＤをカウントし、カウント値が規定値になると、ＲＥＮＤ信号が出力される。その結果、ＲＳフリップフロップ１６はリセットされ、ＰＥＮＤ信号はローレベルとなるので、ＸＦＥＭＰＴＹがローレベルであれば、上記と同様、オアゲート１３はローレベルの信号を出力し、データエンプティ状態であることを示す／ＥＭＰＴＹ信号が出力される。
以上のように、本実施例においては、ライトデータ数カウンタ１４とリードデータ数カウンタ１５を設け、規定数のデータが書き込まれたとき、／ＦＵＬＬ信号を出力し、また、規定数のデータが読み出されたとき、／ＥＭＰＴＹ信号を出力しているので、エンプティ状態かフル状態かを判断することができないといった前記従来例に示したような状態が発生するのを防止することができる。
【００３０】
図４は本発明の第２の実施例を示す図であり、本実施例は上記第１の実施例の図３の制御回路において、タイマ１７を付加し、ＦＩＦＯへのデータの転送が一時停止したとき、データフル信号を出力してその間にＦＩＦＯ中のデータを全て読み出し、ＦＩＦＯがエンプティ状態になったとき上記データフル信号を解除して、ＦＩＦＯへのデータの書き込みを行うように構成したものであり、その他は前記第１の実施例と同じである。
【００３１】
図４において、Ａは前記図２に示したＦＩＦＯ部である。また、１７はタイマであり、タイマ１７はＦＩＦＯ部が出力するＸＦＥＭＰＴＹ信号とライトクロック／ＷＲによりリセットされ、リセット後、所定時間上記リセット信号が入力されないとオーバフロー信号を出力する。このオーバフロー信号はオアゲート１８に与えられ、オアゲート１８はオーバフロー信号が入力されると、ＰＥＮＤ信号をハイレベルとする。これにより、ＦＩＦＯ部から出力されるＸＦＵＬＬ信号はローレベルとなり、データフル状態であることが出力される。
【００３２】
その他の動作は前記した図２、図３と同様であり、転送データ数が規定値になると、ライトデータ数カウンタＣＷＰはＷＥＮＤ信号を出力しＲＳフリップフロップ１６をセットする。これにより、ＸＦＵＬＬがローレベル（アクティブ）となる。
また、ＦＩＦＯ１１にデータが書き込まれているとき、データの読み出しが行われ、リードデータ数が規定値になると、ＲＥＮＤ信号が出力され、ＲＳフリップフロップ１６をリセットする。ＲＳフリップフロップ１６がリセットされると、ＸＦＥＭＰＴＹがローレベルであれば、／ＥＭＰＴＹ信号はローレベルとなる（エンプティ状態を示す）。
【００３３】
図５は本実施例におけるタイマ１７の動作を説明する図であり、／ＷＲはライト・クロック、ＷＰＣはＦＩＦＯ１１のライトポインタカウント値、／ＲＤはＦＩＦＯ１１のリード・クロック、ＲＰＣはリードポインタカウンタ値、ＥＭＰＴＹはエンプティ信号、ＦＵＬＬはデータフル信号である。
同図において、ライトクロック／ＷＲが入力されると前記図４に示したタイマ１７がリセットされ、タイマ１７の計時がスタートする。また、ライトポインタカウント値ＷＰＣは１カウントだけインクリメントする。
上記ライトクロック／ＷＲの入力後、所定時間ライトクロック／ＷＲが入力されないと（データの書き込みが行われないと）、上記タイマ１７はタイムアップし、これによりタイマ１７はオーバフロー信号を出力する。
上記オーバフロー信号はオアゲート１８に入力され、オアゲート１８はＰＥＮＤ信号を出力する。これにより、前記したように、ＦＩＦＯ部が出力するＸＦＵＬＬ信号および／ＦＵＬＬ信号はローレベルとなる。すなわち図５に示すようにデータフル信号が出力され、データの書き込みが抑制される。
【００３４】
ここで、リードクロック／ＲＤが入力されてデータの読み出しが行われると、図５に示すようにライトポイントカウンタ値ＲＰＣは０から１ずつインクリメントする。
そして、ＦＩＦＯ１１のデータが全て読み出され、ＦＩＦＯ１１からＸＦＥＭＰＴＹ信号が出力されると、タイマ１７はリセットされ、ＰＥＮＤ信号はローレベルとなる。その結果、ＸＦＵＬＬ信号はハイレベルとなり、データフル状態は解除され、また、ＸＥＭＰＴＹ信号はローレベルとなる。すなわち、図５に示すようにエンプティ信号が出力され、データの読み出しは停止する。
そして、再びＦＩＦＯ１１にデータが転送されると、上記タイマ１７はリセットされ、前記図２，図３で説明したように、ライトデータ数カウンタ１４のカウント値が規定値になるまでデータの書き込みが行われる（データの書き込みに中断がない場合）。
【００３５】
以上のように、本実施例においては、ライトデータ数カウンタ１４、リードデータ数カウンタ１５に加え、タイマ１７を設けているので、データの書き込みが中断したとき、フル状態信号を出力して、ＦＩＦＯ１１へのデータの書き込みを一時抑制し、その間に、ＦＩＦＯ１１がエンプティ状態になるまで、データの読み出しを行うことができる。
【００３６】
図６は本発明の第３の実施例を示す図であり、本実施例はライトがデータより非常に遅い場合に有効な実施例を示している。
図６において、Ａは前記図２に示したＦＩＦＯ部、１９はＲＳフリップフロップである。また、本実施例では、転送装置側から送られるデータの転送完了を示す信号ＰＥＮＤ（データ転送完了でハイレベルになり、次のデータ転送開始でローレベルとなる）をＦＩＦＯ部に入力し、ＰＥＮＤ信号がハイレベルになったとき、前記図２で説明したように、ＸＦＵＬＬ信号をローレベルとする。そして、この信号によりＲＳフリップフロップ１９をリセットし、／ＦＵＬＬ信号をローレベル、すなわちデータフル状態とする。
そして、リードクロック／ＲＤがＦＩＦＯ部に入力されてデータの読み出しが行われ、ＦＩＦＯ部がエンプティ状態になるとＸＥＭＰＴＹ信号がローレベルとなり、この信号により上記ＲＳフリップフロップ１９はセットされる。すなわち、／ＦＵＬＬ信号はハイレベルとなり、データフル状態が解除される。
【００３７】
図７は本実施例の動作を説明する図であり、同図において、／ＷＲはライト・クロック、ＷＰＣはＦＩＦＯ１１のライトポインタカウント値、／ＲＤはＦＩＦＯ１１のリード・クロック、ＲＰＣはリードポインタカウンタ値、／ＥＭＰＴＹはエンプティ信号、／ＦＵＬＬはデータフル信号である。
同図に示すように、ライトクロック／ＷＲによりデータが書き込まれ、データ転送装置側からＰＥＮＤ信号が送られてくるか、あるいは、ＦＩＦＯからＸＦＦＵＬＬ信号が出力されると、前記図２で説明したようにＸＦＵＬＬ信号がローレベルとなり、図７に示すようにデータフル状態となる。
このデータフル状態は、図７に示すように、リードクロック／ＲＤが入力されてデータのリードが行われ、データエンプティ状態になるまで継続し、この間、データの書き込みが抑制される。
【００３８】
そして、ＦＩＦＯからデータの読み出しにより、ＦＩＦＯがデータエンプティ状態になると、ＸＦＥＭＰＴＹ信号がローレベルとなり、上記ＲＳフリップフロップ１９をセットする。
その結果、図７に示すように、／ＦＵＬＬ信号はハイレベル、また、／ＥＭＰＴＹ信号はローレベルとなり、データフル状態が解除されるとともに、データエンプティ状態となる。
本実施例では、上記のようにＲＳフリップフロップ１９を設け、ＦＩＦＯが一旦フル状態になったとき、このフル状態をエンプティ状態になるまで保持させているので、データがＦＩＦＯに書き込まれたのち、ＦＩＦＯがエンプティ状態になるまで、データの書き込みを抑制することができる。
本実施例は、上記のようにフル状態をＦＩＦＯがエンプティ状態になるまで保持させているので、データの読み出し中はデータの書き込みができないが、データの読み出し速度に比してデータの書き込み速度が非常に遅い場合には、パーフォマンスに与える影響が少ない。
【００３９】
図８、図９は本発明の第４の実施例を示す図であり、図８はＦＩＦＯ部の構成を示し、図９は図８における比較器２３の構成を示している。
図８において、点線で囲まれる部分はＦＩＦＯ部であり、２１はライトクロックＸＷＲをカウントするライトポイントカウンタ、２２はリードクロックＸＲＤをカウントするリードポイントカウンタ、２３は比較器である。
比較器２３は図９に示すように、ライトポイント・カウンタ２１のカウント値ＷＰＣからリードポイント・カウンタ２２のカウント値ＲＰＣを減算する減算回路３１と、減算回路３１の出力が基準値Ｘより小さいか、あるいは、Ｘに等しいときにＸＥＭＰＴＹ信号をローレベルとするレスザン・イコール回路３２と、減算回路３１の出力が基準値Ｙより大きいか、あるいは、Ｙに等しいときにＸＦＵＬＬ信号をローレベルとするグレーターザン・イコール回路３３を備えている。
【００４０】
すなわち、上記比較器２３は、次の（１）式の条件を満足したときＸＥＭＰＴＹをローレベルとし、次の（２）式を満足するとき、ＸＦＵＬＬ信号をローレベルとする。
ＷＰＣ−ＲＰＣ≦Ｘ    （１）
ＷＰＣ−ＲＰＣ≧Ｙ    （２）
ここで、Ｘは０でない基準値、ＹはＷＰＣ，ＲＰＣの最大値以内の基準値である。
【００４１】
図８に戻り、２６は例えばＮビットのレジスタ等から構成されるメモリ部、２４，２５はデコーダであり、デコーダ２４によりライトポイント・カウンタ２１のカウント値をデコードして書き込みアドレスを出力する。データＤＩ７：０はメモリ部２６の上記デコーダ２４が出力するアドレスに書き込まれる。
また、デコーダ２５によりリードポイント・カウンタ２２のカウント値をデコードし、読み出しアドレスをセレクタ２７に出力する。セレクタ２７はメモリ部２６の上記アドレスからデータＤＯ７：０を読み出す。
２８はオアゲートであり、オアゲート２８は比較器２３が出力するＸＦＥＭＰＴＹ信号がローレベルとなり、かつ、図示しないデータ転送装置から送られてくるデータ転送完了を示す信号ＰＥＮＤがローレベルになったとき、ＸＥＭＰＴＹ信号をローレベルとする（データエンプティ状態を示す）。なお、上記ＰＥＮＤ信号は、データの転送が完了したときハイレベルとなり、次のデータの転送を開始するとローレベルとなる信号である。
【００４２】
次に図８に示す実施例の動作を説明する。
ライトクロックＸＷＲとともにデータＤＩ７：０が送られてくると、ライトポイント・カウンタ２１はライトクロックＸＷＲをカウントする。デコーダ２４はライトポイント・カウンタ２１のカウント値ＷＰＣをデコードして書き込みアドレスをメモリ部２６に出力し、データＤＩ７：０はメモリ部２６の上記アドレスに順次格納される。
一方、リードクロックＸＲＤが入力されると、リードポイント・カウンタ２２はリードクロックＸＲＤをカウントする。デコーダ２７はリードポイント・カウンタ２２のカウント値ＲＰＣをデコードして、読み出しアドレスを出力し、セレクタ２７はメモリ部２６の上記読み出しアドレスからデータＤ０７：０を順次読み出す。
【００４３】
また、比較器２３はライトポイント・カウンタ２１のカウント値ＷＰＣとリードポイント・カウンタ２２のカウント値ＲＰＣの差を求め、その差を基準値Ｘ，Ｙと比較する。
そして、前記（１）式を満足するとき、ＸＦＥＭＰＴＹ信号をローレベルとする。ＸＦＥＭＰＴＹ信号がローレベルとなり、かつ、ＰＥＮＤ信号がローレベルになると、ＸＥＭＰＴＹ信号はローレベルとなり、データエンプティ状態が出力される。
【００４４】
また、前記（２）式を満足するとき、ＸＦＬＵＵ信号をローレベルとし、データフル状態であることを出力する。これにより、図示しないデータ転送装置はデータ転送を停止する。
ここで、式（１）を満たすとき比較器２３がＸＦＥＭＰＴＹ信号を出力するが、このエンプティ信号でデータの読み出しを停止すると、メモリ部２６に前記した基準値Ｘに等しい数のデータが残ってしまう。
これを避けるため、図８に示すように、書き込み側から送られるデータの転送終了信号ＰＥＮＤをリード側に伝え、オアゲート２８によりＰＥＮＤ信号がローレベルになるまで、ＸＥＭＰＴＹを出力しないようにしている。これにより、読み出し側は、メモリ部２６に残っているデータを全て読み出すことができる。
【００４５】
図１０〜図１３は本実施例の動作を示すタイムチャートであり、図１０はリードクロックＲＤがない場合の動作、図１１はリードクロックＲＤが一回入力された場合の動作（ＦＵＬＬ前）、図１２はデータフル状態になったのち、ライト／リードが行われた場合の動作、図１３はライトとリードの同時アクセスがあった場合の動作を示しており、図１０〜図１３は、基準値Ｘ＝２，基準値Ｙ＝１２、ライトポイント・カウンタ２１、リードポイント・カウンタ２２のカウント値が１６の場合の動作を示している。
図１０〜図１３において、前記したように、／ＷＲはライトクロック、ＷＰＣはライトポイント・カウンタ２１のカウント値、／ＲＤはリードクロック、ＲＰＣはリードポイント・カウンタのカウント値、／ＥＭＰＴＹはエンプティ状態を示す信号、／ＦＵＬＬはデータフル状態を示す信号である。
【００４６】
図１０はライトクロックＲＤがない場合の動作を示すタイムチャートであり、同図に示すように、リードポイント・カウンタ２２のカウント値ＲＰＣおよびライトポイント・カウンタ２１のカウント値ＷＰＣが０のとき、データＤＩ７：０とともに、ライトクロック／ＷＲが入力されると、ライトポイント・カウンタ２１のカウント値ＷＰＣは０から１ずつインリクメントしていく。そして、ＷＰＣが３になるとき、前記（１）式ＷＰＣ−ＲＰＣ≦２を満足しなくなるので、比較器２３が出力するＸＦＥＭＰＴＹ信号はローレベルからハイレベルとなり、／ＥＭＰＴＹ信号もハイレベルとなり、エンプティ状態でなくなる。
さらにライトクロック／ＷＲが入力され、ライトポイント・カウンタ２１のカウント値ＷＰＣがＣ（＝１２）になるとき、前記（２）式ＷＰＣ−ＲＰＣ≧１２を満足するようになるので、比較器２３が出力するＸＦＵＬＬ信号がハイレベルからローレベルとなり、データフル状態であることが出力される。
【００４７】
図１１はライトクロックＲＤが一回入力された場合の動作を示すタイムチャートである。同図に示すように、リードポイント・カウンタ２２のカウント値ＲＰＣおよびライトポイント・カウンタ２１のカウント値ＷＰＣが０のとき、データＤＩ７：０とともに、ライトクロック／ＷＲが入力されると、ライトポイント・カウンタ２１のカウント値ＷＰＣは０から１ずつインリクメントしていく。そして、ＷＰＣが３になるとき、前記（１）式ＷＰＣ−ＲＰＣ≦２を満足しなくなるので、前記したように／ＥＭＰＴＹ信号がハイレベルとなり、エンプティ状態でなくなる。
そして、ライトクロックＷＲが６のとき、メモリ部２６からデータが読み出されるとともに、ライトクロック／ＲＤが入力されると、ライトポイント・カウンタＲＰＣの値は１となる。
さらに、ライトクロック／ＷＲが入力され、ライトポイント・カウンタ２１のカウント値ＷＰＣがＤ（＝１３）になるとき、前記（２）式ＷＰＣ−ＲＰＣ≧１２を満足するようになるので、比較器２３が出力するＸＦＵＬＬ信号がハイレベルからローレベルとなり、データフル状態であることが出力される。
【００４８】
図１２はデータフル状態になったのち、ライト／リードが行われた場合の動作を示す図である。
データの書き込みが行われ、／ＦＵＬＬがローレベルで（フル状態）、ライトポイント・カウンタ２１のカウント値ＷＰＣがＣ（＝１２）になっているとき、リードクロック／ＲＤが入力されデータの読み出しが行われると、リードポイント・カウンタＲＰＣは１ずつインクリメントしていく。
また、このときライトクロック／ＷＲが再び入力され、データの書き込みが行われると、ライトポイント・カウンタ２１のカウント値ＷＰＣは１ずつインクリメントし、Ｃ→Ｄ→Ｅ，…となる。
そして、リードポイント・カウンタ２１のカウント値ＲＰＣとライトポイント・カウンタ２１のカウント値ＷＰＣが前記式（２）式を満足するようになると、／ＦＵＬＬ信号がローレベルとなりデータフル状態になるが、引き続き直ぐにリードクロック／ＲＤが入力されるので、図１１に示すように、上記／ＦＵＬＬ信号は解除され、／ＦＵＬＬ信号がハイレベルとなる。
以上の動作を繰り返し、同図に示すようにライトクロックＷＲが入力される毎に／ＦＵＬＬ信号がローレベルになり、データフル状態となる。
【００４９】
図１３はライトとリードの同時アクセスがあった場合の動作を示しており、データの書き込みが行われ、ライトポイント・カウンタ２１のカウント値ＷＰＣをインクリメントし、リードポイント・カウンタ２１のカウント値ＲＰＣ（＝０）とライトポイント・カウンタ２１のカウント値ＷＰＣが前記式（１）式を満足しなくなると、／ＥＭＰＴＹ信号がハイレベルとなりデータエンプティ状態でなくなる。
この状態でライトクロック／ＷＲと同期したリードクロック／ＲＤが入力されると、リードクロック／ＲＤが立ち上がるとき、瞬間的に／ＥＭＰＴＹ信号がローレベルとなり、同図に示すようにハザードがでる。
しかしながら、本実施例の場合には上記同時アクセスにおいて、ライトポイント・カウンタ２１とリードポイントカウンタ２２のカウント値が異なっているため、前記従来例の図２０に示したような異常動作をすることはない。
本実施例においては、上記のように、比較器２３が前記（１）（２）式に基づきＸＦＵＬＬ信号、ＸＦＥＭＰＴＹ信号を出力するので、ライトポイントカウンタ２１とリードポイントカウンタ２２がメモリ２６の同じアドレスをアクセスすることがなく、前記した従来例のような異常動作をすることがない。
【００５０】
図１４，図１５は本発明の第５の実施例を示す図であり、本実施例は図１３に示したハザードが外部に出力されないようにした実施例を示している。
同図は、前記した基準値Ｘが２であり、また、基準値Ｙが最大カウント値より２少ない場合おけるハザードの抑制回路を示している。
図１４は本実施例のＦＩＦＯ部を示し、１１’は前記図８に示したＦＩＦＯ部である。また、図１５は上記ＦＩＦＯの制御回路を示し、４１はアンドゲート、４２はオアゲートである。
また、ＦＦ１〜ＦＦ４はフリップフロップである。
【００５１】
ＦＦ１，ＦＦ２はＰＥＮＤ信号、ＸＥＭＰＴＹ信号がハイレベルのとき、その出力がハイレベルにセットされ、また、ＸＦＵＬＬ信号がローレベルであると、ライトクロック／ＷＲによりＸＦＵＬＬ信号を取り込み、２クロックサイクル後ＦＦ１の出力がハイレベルからローレベルになる。すなわち、ＦＦ１，ＦＦ２はＸＦＵＬＬ信号を２クロックサイクル遅延させる。
ＦＦ３，ＦＦ４はＸＥＭＰＴＹ信号がローレベルのとき、その出力がローレベルにセットされ、また、ライトクロック／ＷＲによりハイレベルの信号を取り込み、２クロックサイクル後ＦＦ４の出力がローレベルからハイレベルになる。すなわち、ＦＦ３，ＦＦ４は／ＸＥＭＰＴＹ信号を２クロックサイクル遅延させる。
【００５２】
ＰＥＮＤ信号は、前記したようにデータ転送完了でハイレベルとなり、次のデータ転送が開始するとローレベルとなる。上記ＰＥＮＤ信号はアンドゲート４１の否定入力端に入力され、アンドゲート４１の他方の入力端には、上記ＦＦ１の出力が入力されるので、アンドゲート４１の出力／ＦＵＬＬはＰＥＮＤ信号がハイレベルか、あるいは、ＦＦ１の出力がローレベルのときローレベルとなる。
また、オアゲート４２には上記ＰＥＮＤ信号とＦＦ４の出力が入力されるので、オアゲート４２の出力／ＥＭＰＴＹはＰＥＮＤ信号がローレベルで、かつ、ＦＦ４の出力がローレベルのときローレベルとなる。
【００５３】
本実施例においては上記ＦＦ１〜ＦＦ４から構成される回路を前記図８に示した実施例のＦＩＦＯに付加したので、ＸＦＵＬＬがローレベルになってから２クロックサイクル後に／ＦＵＬＬをローレベルとすることができ、また、ＰＥＮＤ信号がローレベルのとき、ＸＥＭＰＴＹ信号がハイレベルになってから、２クロックサイクル後に／ＥＭＰＴＹ信号をハイレベルとすることができる。
このため、前記図１３に示したハザードが／ＦＵＬＬ信号、／ＥＭＰＴＹ信号として現れるのを防止することができる。
なお、本実施例においては、ＦＩＦＯ部として前記図８に示した構成のものを用いており、ＦＩＦＯ部が実際にフル状態、エンプティ状態になる前に／ＦＵＬＬ信号、／ＥＭＰＴＹ信号が出力されるため、上記のようにＦＦ１〜ＦＦ４により／ＦＵＬＬ信号、／ＥＭＰＴＹ信号が出力を遅延させても問題は生じない。
【００５４】
図１５は上記実施例の動作を説明する図であり、同図は、前記図１３に示したようにライトとリードの同時アクセスがあった場合の動作を示しており、前記した基準値Ｘは２、基準値Ｙは１０の場合を示している。
同図において、リードポインタ・カウンタのカウンタ値ＲＰＣが０のとき、ライトが行われ、ライトポイント・カウンタのカウント値ＷＰＣが２→３になると、前記（１）式の条件が満足されるため、ＦＩＦＯ部から出力されるＸＦＥＭＰＴＹ信号がローレベルからハイレベルとなる。
そして、次にリード動作が行われリードポインタ・カウンタのカウンタ値ＲＰＣが０，１，２となると、前記したようにＦＩＦＯ部から出力されるＸＦＥＭＰＴＹ信号にハザードがでる。
【００５５】
上記ＸＦＥＭＰＴＹ信号は図１５に示したＦＦ３，ＦＦ４に入力され、ＦＦ３，ＦＦ４により／ＷＲの２クロックサイクル遅延される。このため、図１６に示すように、／ＥＭＰＴＹ信号がハイレベルになるのが、／ＷＲの２クロックサイクル遅延し、ハザードが出力側に現れない。
ついで、ライト動作が行われ、ライトポイント・カウンタのカウント値ＷＰＣがＢ（１１）→Ｃ（１２）になるとき、前記（２）式の条件が満足されるため、ＦＩＦＯ部から出力されるＸＦＵＬＬ信号がハイレベルからローレベルとなる。
【００５６】
そして、次にリード動作が行われリードポインタ・カウンタのカウンタ値ＲＰＣが３，４となると、前記したようにＦＩＦＯ部から出力されるＸＦＵＬＬ信号にハザードがでる。
上記ＸＦＵＬＬ信号は図１５に示したＦＦ２，ＦＦ１に入力され、ＦＦ２，ＦＦ１により／ＷＲの２クロックサイクル遅延される。このため、図１６に示すように、／ＦＵＬＬ信号がローレベルになるのが、／ＷＲの２クロックサイクル遅延し、ハザードが出力側に現れない。
なお、上記第１〜第３の実施例においては、ＦＩＦＯとして図１７に示したもの使用する場合について説明したが、上記第１〜第３の実施例において、図８の第４の実施例に示したＦＩＦＯを用いてもよい。
【００５７】
【発明の効果】
以上説明したように本発明においては、データの書き込み、読み取りを安全かつ効率よく行うことができ、また、回路規模を小さくすることができる。
【図面の簡単な説明】
【図１】本発明の原理図である。
【図２】本発明の第１の実施例を示す図（ＦＩＦＯ部）である。
【図３】本発明の第１の実施例を示す図（制御回路）である。
【図４】本発明の第２の実施例を示す図である。
【図５】第２の実施例のタイマ１７の動作を説明するタイムチャートである。
【図６】本発明の第３の実施例を示す図である。
【図７】第３の実施例の動作を説明する図である。
【図８】本発明の第４の実施例を示す図（ＦＩＦＯ部）である。
【図９】本発明の第４の実施例を示す図（比較器）である。
【図１０】第４実施例の動作を説明する図（リードがない場合）である。
【図１１】第４実施例の動作を説明する図（リードが１回行われた場合）である。
【図１２】第４実施例の動作を説明する図（フル状態後）である。
【図１３】第４実施例の動作を説明する図（同時アクセス時）である。
【図１４】本発明の第５の実施例を示す図（ＦＩＦＯ部）である。
【図１５】本発明の第５の実施例を示す図（制御回路）である。
【図１６】本発明の第５の実施例の動作を説明する図である。
【図１７】キューバッファの構成を示す図である。
【図１８】図１７のキューバッファの動作を説明する図（エンプティ動作）である。
【図１９】図１７のキューバッファの動作を説明する図（フル動作）である。
【図２０】図１７のキューバッファの動作を説明する図（同時アクセス時）である。
【符号の説明】
１    キューバッファ
２    第１のカウンタ
３    第２のカウンタ
４    転送完了信号を出力する手段
５    タイマ手段
６    オアゲートである。
７    ＲＳフリップフロップ
８    オアゲート
１ａ  ライトポインタ
１ｂ  リードポインタ
１ｃ  比較器
１ｄ  メモリ部
１１  ＦＩＦＯ（キューバッファ）
１２  アンドゲート
１３  オアゲート
１４  ライトデータ数カウンタ
１５  リードデータ数カウンタ
１６  ＲＳフリップフロップ
１７  タイマ
１８  オアゲート
１９  ＲＳフリップフロップ
２１  ライトポイントカウンタ
２２  リードポイントカウンタ
２３  比較器
２６  メモリ部
２４  ２５はデコーダ
２７  セレクタ
２８  オアゲート
３１  減算回路
３２  レスザン・イコール回路
３３  グレータザン・イコール回路
【図１】
0003850065.tif 000002
【図２】
0003850065.tif 000003
【図３】
0003850065.tif 000004
【図４】
0003850065.tif 000005
【図５】
0003850065.tif 000006
【図６】
0003850065.tif 000007
【図７】
0003850065.tif 000008
【図８】
0003850065.tif 000009
【図９】
0003850065.tif 000010
【図１０】
0003850065.tif 000011
【図１１】
0003850065.tif 000012
【図１２】
0003850065.tif 000013
【図１３】
0003850065.tif 000014
【図１４】
0003850065.tif 000015
【図１５】
0003850065.tif 000016
【図１６】
0003850065.tif 000017
【図１７】
0003850065.tif 000018
【図１８】
0003850065.tif 000019
【図１９】
0003850065.tif 000020
【図２０】
0003850065.tif 000021