JPH03198282A - Fifo回路 - Google Patents
Fifo回路Info
- Publication number
- JPH03198282A JPH03198282A JP1335125A JP33512589A JPH03198282A JP H03198282 A JPH03198282 A JP H03198282A JP 1335125 A JP1335125 A JP 1335125A JP 33512589 A JP33512589 A JP 33512589A JP H03198282 A JPH03198282 A JP H03198282A
- Authority
- JP
- Japan
- Prior art keywords
- data
- signal
- write
- ram
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004904 shortening Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 12
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 101100328887 Caenorhabditis elegans col-34 gene Proteins 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Landscapes
- Dram (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は、テレビ、ビデオデツキ、パーソナルコンピ
ュータ、プリンタ等の各種電子機器に用いられるFIF
O回路に関する。
ュータ、プリンタ等の各種電子機器に用いられるFIF
O回路に関する。
FIFO回路は、メモリ(RAM)に最初に書き込んだ
データを最初に読み出すようにした、ファーストイン・
ファーストアウトメモリ回路であり、主にデータを送出
するクロックレートと受は取るクロックレートが異なる
2つの装置の間で使用される。
データを最初に読み出すようにした、ファーストイン・
ファーストアウトメモリ回路であり、主にデータを送出
するクロックレートと受は取るクロックレートが異なる
2つの装置の間で使用される。
例えば、コンピュータからラインプリンタへデータを送
る場合、コンピュータのデータ送出速度はプリンタがデ
ータを受は取る速度よりずっと速い。
る場合、コンピュータのデータ送出速度はプリンタがデ
ータを受は取る速度よりずっと速い。
そこで、コンピュータからデータをFIFO回路のメモ
リへ高速で吐出しておき、その後このメモリからそのデ
ータをプリンタへ低速で伝送することが行なわれている
。
リへ高速で吐出しておき、その後このメモリからそのデ
ータをプリンタへ低速で伝送することが行なわれている
。
ここで、そのFIFO回路について第8図に示す一例に
よって説明する。
よって説明する。
コノ第8図ニオイテ、RAM40は512 (深さ)×
9(幅)ビットのメモリ容量を持つスタティックRAM
(SRAM)であり、そのメモリ容量がこのFIFO
回路が持つメモリ容量となる。
9(幅)ビットのメモリ容量を持つスタティックRAM
(SRAM)であり、そのメモリ容量がこのFIFO
回路が持つメモリ容量となる。
ライトポインタ41はカウンタによって構成されており
、そのカウント値によってRAM40にデータを書き込
む際のアドレス信号を発生する。
、そのカウント値によってRAM40にデータを書き込
む際のアドレス信号を発生する。
リートポインタ42もカウンタによって構成されており
、そのカウント値によってRAM4Qがらデータを読み
出す際のアドレス信号を発生する。
、そのカウント値によってRAM4Qがらデータを読み
出す際のアドレス信号を発生する。
アウトプットバッファ43は、RAM40の出力データ
の増幅(ハイレベル、ローレベル、ハイインピーダンス
)を行なう。
の増幅(ハイレベル、ローレベル、ハイインピーダンス
)を行なう。
ライト/リードコントローラ44は、コントロール信号
及びフラグコントローラ45の状態に基づいて、このF
IF○回路全体を統括制御する。
及びフラグコントローラ45の状態に基づいて、このF
IF○回路全体を統括制御する。
なお、コントロール信号として、ライト信号(RAM4
0へのインプットデータDo −Ds (7)書き込み
タイミング信号)、リード信号(RAM40からのアウ
トプットデータQo =Qsの読み出しタイミング信号
)、リセット信号(FIFO回路の初期化信号)、及び
クロック信号等があり、これらの各信号は例えばこのF
IFO回路を組込んだ機器内のマイクロコンピュータか
ら送出される。ライト信号等は、機器外から直接又は間
接に入力される場合もある。
0へのインプットデータDo −Ds (7)書き込み
タイミング信号)、リード信号(RAM40からのアウ
トプットデータQo =Qsの読み出しタイミング信号
)、リセット信号(FIFO回路の初期化信号)、及び
クロック信号等があり、これらの各信号は例えばこのF
IFO回路を組込んだ機器内のマイクロコンピュータか
ら送出される。ライト信号等は、機器外から直接又は間
接に入力される場合もある。
フラグコントローラ45は、FIFO回路の状態を上述
のマイクロコンピュータ及びライト/リードコントロー
ラ44へ知らせるためのフラグ信号の出力制御等を司る
。
のマイクロコンピュータ及びライト/リードコントロー
ラ44へ知らせるためのフラグ信号の出力制御等を司る
。
なお、フラグ信号としては、RAM40にデータがない
旨を示すエンプティフラグ(EMPTY・FLAG)、
RAM40にデータを書き込むための空きエリアがない
旨を示すフルフラグ(FULL−FLAG)等がある。
旨を示すエンプティフラグ(EMPTY・FLAG)、
RAM40にデータを書き込むための空きエリアがない
旨を示すフルフラグ(FULL−FLAG)等がある。
次に、このFIFO回路の動作を説明する。
まず、ライト/リードコントローラ44がマイクロコン
ピュータからのリセット信号を入力するとFIFO回路
全体をリセット(初期化)し、それによってライトポイ
ンタ41及びリードポインタ42内の各カウント値(ア
ドレス)が一致する。
ピュータからのリセット信号を入力するとFIFO回路
全体をリセット(初期化)し、それによってライトポイ
ンタ41及びリードポインタ42内の各カウント値(ア
ドレス)が一致する。
このとき、フラグコントローラ45はその各ポインタ4
1.42からの各状態信号を入力することによって、エ
ンプティフラグ信号をローレベル(ローアクティブ)に
する。
1.42からの各状態信号を入力することによって、エ
ンプティフラグ信号をローレベル(ローアクティブ)に
する。
その後、ライト/リードコントローラ44は、ライト信
号を入力する(ライト信号がローレベルになる)と、ラ
イトポインタ41に所定の指示を与えてアドレス信号を
発生させた後、RAM40をアクセスしてそのアドレス
信号によって指定された番地(最初は先頭番地「O」)
にインプットデータDo−D8を書き込み、ライトポイ
ンタ41をインクリメント(+1)させる。
号を入力する(ライト信号がローレベルになる)と、ラ
イトポインタ41に所定の指示を与えてアドレス信号を
発生させた後、RAM40をアクセスしてそのアドレス
信号によって指定された番地(最初は先頭番地「O」)
にインプットデータDo−D8を書き込み、ライトポイ
ンタ41をインクリメント(+1)させる。
それによって、ライトポインタ41及びリードポインタ
42内の各カウント値が一致しなくなり。
42内の各カウント値が一致しなくなり。
フラグコントローラ45はエンプティ信号をハイレベル
に戻して、マイクロコンピュータにFIF○回路内にデ
ータが存在する旨を知らせる。
に戻して、マイクロコンピュータにFIF○回路内にデ
ータが存在する旨を知らせる。
以後、ライト信号を入力する度に上述の動作を繰り返す
。
。
次に、エンプティ信号がハイレベルの時に、ライト/リ
ードコントローラ44はマイクロコンピュータからのリ
ード信号を入力すると、リードポインタ42に所定の指
示を与えてアドレス信号を発生させた後、RAM40を
アクセスしてそのアドレス信号によって指定された番地
(最初は先頭番地「O」)からデータを読み出し、それ
をアウトプットバッファ43を通してアウトプットデー
タQO〜Q8として出力する。
ードコントローラ44はマイクロコンピュータからのリ
ード信号を入力すると、リードポインタ42に所定の指
示を与えてアドレス信号を発生させた後、RAM40を
アクセスしてそのアドレス信号によって指定された番地
(最初は先頭番地「O」)からデータを読み出し、それ
をアウトプットバッファ43を通してアウトプットデー
タQO〜Q8として出力する。
その後、リードポインタ42をインクリメント(+1)
させ、以後リード信号を入力する度に上述の動作を繰り
返す。
させ、以後リード信号を入力する度に上述の動作を繰り
返す。
もし、ライトポインタ41及びリードポインタ42内の
各カウント値が一致すると、フラグコントローラ45は
エンプティ信号を再びローレベルにして、マイクロコン
ピュータにFIFO回路内にデータがない旨を知らせる
。
各カウント値が一致すると、フラグコントローラ45は
エンプティ信号を再びローレベルにして、マイクロコン
ピュータにFIFO回路内にデータがない旨を知らせる
。
このような従来のFIFO回路では、書き込み時には第
9図に示すようなライトパルス幅Twp(書き込み条件
を持続させなければならない最少時間であり、使用する
RAMの動作が遅いほど大きくしなければならない)の
ライト信号を必要とし、読み出し時には第10図に示す
ようなリード信号がアクティブになってからのアクセス
タイムTAが必要であった。
9図に示すようなライトパルス幅Twp(書き込み条件
を持続させなければならない最少時間であり、使用する
RAMの動作が遅いほど大きくしなければならない)の
ライト信号を必要とし、読み出し時には第10図に示す
ようなリード信号がアクティブになってからのアクセス
タイムTAが必要であった。
そのため、使用するRAMの動作速度が遅ければそれだ
けライトパルスfpjiTWPあるいはアクセスタイム
TAを大きく設定する必要があり、必然的に処理効率の
低下を招く原因になっていた。
けライトパルスfpjiTWPあるいはアクセスタイム
TAを大きく設定する必要があり、必然的に処理効率の
低下を招く原因になっていた。
この発明は上記の点に鑑みてなされたものであり、RA
Mのアクセス時間を速くしなくても、高速で効率よくデ
ータの書き込み又は読み出しを行なえるようにすること
を目的とする。
Mのアクセス時間を速くしなくても、高速で効率よくデ
ータの書き込み又は読み出しを行なえるようにすること
を目的とする。
この発明は上記の目的を達成するため、上述のようなF
IFO回路において、そのRAMのデータ入力部に入力
データをラッチするインプットラッチを設けたものであ
る。
IFO回路において、そのRAMのデータ入力部に入力
データをラッチするインプットラッチを設けたものであ
る。
また、そのRAMのデータ出力部に、そのRAMの出力
データと上記入力データのいずれかを選択して出力する
データセレクタと、このデータセレクタの出力をラッチ
するアウトプットラッチとを設けたものである。
データと上記入力データのいずれかを選択して出力する
データセレクタと、このデータセレクタの出力をラッチ
するアウトプットラッチとを設けたものである。
上述のようにRAMのデータ入力部にインプットラッチ
を設けたFIFO回路によれば、ライト信号が入力され
ると、インプットラッチがその入力開始タイミングで入
力データをラッチし、ライト信号が入力されて所定時間
経過後にインプットラッチにラッチされた入力データを
RAMが書き込み、以後はライト信号が入力される毎に
その動作を繰り返し行なう。
を設けたFIFO回路によれば、ライト信号が入力され
ると、インプットラッチがその入力開始タイミングで入
力データをラッチし、ライト信号が入力されて所定時間
経過後にインプットラッチにラッチされた入力データを
RAMが書き込み、以後はライト信号が入力される毎に
その動作を繰り返し行なう。
したがって、RAMのアクセス時間を速くすることなく
、高速で効率のよい書き込みを行なえる。
、高速で効率のよい書き込みを行なえる。
また、上述のようにRAMのデータ出力部にデータセレ
クタとアウトプットラッチとを設けたFIFO回路によ
れば、RAM内にデータがない時には入力データをアウ
トプットラッチがラッチできるようにデータセレクタを
設定しておき、ライト信号が入力されると、アウトプッ
トラッチがその入力開始タイミングで入力データをラッ
チし、続いてRAMの出力データをアウトプットラッチ
に入力できるように設定変更して、次のライト信号が入
力されて所定時間経過後に次の入力データをRAMが書
き込み、以後はライト信号が入力される毎にその書き込
み動作を繰り返し行なう。
クタとアウトプットラッチとを設けたFIFO回路によ
れば、RAM内にデータがない時には入力データをアウ
トプットラッチがラッチできるようにデータセレクタを
設定しておき、ライト信号が入力されると、アウトプッ
トラッチがその入力開始タイミングで入力データをラッ
チし、続いてRAMの出力データをアウトプットラッチ
に入力できるように設定変更して、次のライト信号が入
力されて所定時間経過後に次の入力データをRAMが書
き込み、以後はライト信号が入力される毎にその書き込
み動作を繰り返し行なう。
その後、リード信号が入力されると、まずアウトプット
ラッチにラッチされている最初の入力データを出力した
後、RAMの先頭アドレスから2番目以降のデータを順
次アウトプットラッチにラッチして出力する。
ラッチにラッチされている最初の入力データを出力した
後、RAMの先頭アドレスから2番目以降のデータを順
次アウトプットラッチにラッチして出力する。
したがって、RAMのアクセス時間を速くすることなく
、高速で効率のよい読み出しを行なえる。
、高速で効率のよい読み出しを行なえる。
以下、この発明の実施例を添付図面に基づいて具体的に
説明する。
説明する。
第1図は、この発明の一実施例であるFIFO回路の構
成を示すブロック回路図である。
成を示すブロック回路図である。
このFIFO回路1は、前述した第8図に示した各部と
略同様な機能を有するライトポインタ2゜リードポイン
タ3.アウトプットバッファ4.ライト/リードコント
ローラ5.フラグコントローラ6、及びRAM7と、こ
の発明によって設けられたインプットラッチ8.データ
セレクタ9.及びアウトプットラッチ10とを備えてい
る。
略同様な機能を有するライトポインタ2゜リードポイン
タ3.アウトプットバッファ4.ライト/リードコント
ローラ5.フラグコントローラ6、及びRAM7と、こ
の発明によって設けられたインプットラッチ8.データ
セレクタ9.及びアウトプットラッチ10とを備えてい
る。
なお、このFIFO回路1が持つメモリ容量を512(
深さ)×9(輻)ビットとし、RAM7は511(深さ
)×9(幅)ビットのメモリ容量を持つスタティックR
AM (SRAM)を用いている。
深さ)×9(輻)ビットとし、RAM7は511(深さ
)×9(幅)ビットのメモリ容量を持つスタティックR
AM (SRAM)を用いている。
インプットラッチ8は、パラレル9ビツトのフリップフ
ロップ回路(以下rF/F回路」と略称する)から構成
されており、このFIFO回路を組込んだ機器内のマイ
クロコンピュータ(以下rCPUJと略称する)11を
通して送られてくるインプットデータDo−D8を一時
的にラッチしてRAM7へ出力する5 データセレクタ9は、RAM7の出力データ及びCPU
1lからのインプットデータDQ −D3をそれぞれ入
力して、ライト/リードコントローラ5からの指示に従
ってそのいずれか一方のデータを選択してアウトプット
ラッチ10へ出力する。
ロップ回路(以下rF/F回路」と略称する)から構成
されており、このFIFO回路を組込んだ機器内のマイ
クロコンピュータ(以下rCPUJと略称する)11を
通して送られてくるインプットデータDo−D8を一時
的にラッチしてRAM7へ出力する5 データセレクタ9は、RAM7の出力データ及びCPU
1lからのインプットデータDQ −D3をそれぞれ入
力して、ライト/リードコントローラ5からの指示に従
ってそのいずれか一方のデータを選択してアウトプット
ラッチ10へ出力する。
アウトプットラッチ10はパラレル9ビツトのF/F回
路から構成されており、このメモリ容量とRAM7のメ
モリ容量とを合わせて512X9ビツトのFIF○メモ
リを構成する。
路から構成されており、このメモリ容量とRAM7のメ
モリ容量とを合わせて512X9ビツトのFIF○メモ
リを構成する。
このアウトプットラッチ10は、データセレクタ9から
出力されるデータを一時的にラッチして、アウトプット
バッファ4を通してアウトプットデータQo−Qsとし
て外部へ出力する。
出力されるデータを一時的にラッチして、アウトプット
バッファ4を通してアウトプットデータQo−Qsとし
て外部へ出力する。
第2図は、第1図のライト/リードコントローラ5内の
ライト信号発生回路の構成例を示す回路図である。
ライト信号発生回路の構成例を示す回路図である。
F/F20は、端子Tからライト信号/WRITE(r
/Jは負論理を示す)をインバータ21で反転した信号
を入力し、その信号がハイレベルになると、そのアップ
エツジでフルフラグ信号/FULL−FLAGをラッチ
してそれを端子Qがら出力する。 また、リセット端子
Rに入力される信号がローレベルになると、そのダウン
エツジで内部をリセットする。
/Jは負論理を示す)をインバータ21で反転した信号
を入力し、その信号がハイレベルになると、そのアップ
エツジでフルフラグ信号/FULL−FLAGをラッチ
してそれを端子Qがら出力する。 また、リセット端子
Rに入力される信号がローレベルになると、そのダウン
エツジで内部をリセットする。
F/F22は、端子TからクロックパルスCLOCKを
入力し、その信号のアップエツジで端子りに入力するF
/F20のQ出力をラッチしてそれを端子Qから出力す
ると共に、それを反転した信号を端子/Qから出力する
。
入力し、その信号のアップエツジで端子りに入力するF
/F20のQ出力をラッチしてそれを端子Qから出力す
ると共に、それを反転した信号を端子/Qから出力する
。
また、リセット端子Rに入力されるリセット信号/RE
SETがローレベルになると、そのダウンエツジで内部
をリセットする。
SETがローレベルになると、そのダウンエツジで内部
をリセットする。
NORゲート23は、その各入力端子から入力するF/
F20あるいは22のQ出力がハイレベルの時にはロー
レベルの信号を、F/F20及び22の各Q出力がいず
れもローレベルの時にはハイレベルの信号をそれぞれ出
力する。
F20あるいは22のQ出力がハイレベルの時にはロー
レベルの信号を、F/F20及び22の各Q出力がいず
れもローレベルの時にはハイレベルの信号をそれぞれ出
力する。
なお、このNORゲート23から出力される信号が第1
図のRAM7へデータを書き込むために不可欠なライト
信号であり、それを第1図のCPU11から送出される
ライト信号/WRITEと区別するために/WRITE
’で表わす。
図のRAM7へデータを書き込むために不可欠なライト
信号であり、それを第1図のCPU11から送出される
ライト信号/WRITEと区別するために/WRITE
’で表わす。
負論理のORゲート24は、各入力端子から入力される
リセット信号/RESETあるいはF/F22の/Q出
力がローレベルの時に、その出力端子から出力する信号
をローレベルにして、F/F20をリセット状態にする
。
リセット信号/RESETあるいはF/F22の/Q出
力がローレベルの時に、その出力端子から出力する信号
をローレベルにして、F/F20をリセット状態にする
。
第3図は、第1図のライト/リードコントローラ5内の
リード信号発生回路の構成例を示す回路図である。
リード信号発生回路の構成例を示す回路図である。
F/F25は、端子Tからリード信号/READをイン
バータ26で反転した信号を入力し、その信号がハイレ
ベルになると、そのアップエツジでエンプティフラグ信
号/EMPTY −FLAGをラッチしてそれを端子Q
から出力する。
バータ26で反転した信号を入力し、その信号がハイレ
ベルになると、そのアップエツジでエンプティフラグ信
号/EMPTY −FLAGをラッチしてそれを端子Q
から出力する。
また、リセット端子Rに入力される信号がローレベルに
なると、そのダウンエツジで内部をリセットする。
なると、そのダウンエツジで内部をリセットする。
F/F27は、端子TからクロックパルスCL○CKを
入力し、その信号のアップエツジで端子りに入力するF
/F25のQ出力をラッチしてそれを端子Qから出力す
ると共に、それを反転した信号を端子/Qから出力する
。
入力し、その信号のアップエツジで端子りに入力するF
/F25のQ出力をラッチしてそれを端子Qから出力す
ると共に、それを反転した信号を端子/Qから出力する
。
また、リセット端子Rに入力される信号がローレベルに
なると、そのダウンエツジで内部をリセットする。
なると、そのダウンエツジで内部をリセットする。
NORゲート28は、その各入力端子から入力されるイ
ンバータ26の出力、F/F25のQ出力あるいはF/
F27のQ出力のいずれかがハイレベルの時にはローレ
ベルの信号を、インバータ26の出力、F/F25及び
27の各Q出力が全てローレベルの時にはハイレベルの
信号をそれぞれ出力する。
ンバータ26の出力、F/F25のQ出力あるいはF/
F27のQ出力のいずれかがハイレベルの時にはローレ
ベルの信号を、インバータ26の出力、F/F25及び
27の各Q出力が全てローレベルの時にはハイレベルの
信号をそれぞれ出力する。
なお、このNORゲート28から出力される信号が第1
図のRAM7からデータを読み出すためのリード信号で
あり、それをCPUIIから送出されるリード信号/R
EADと区別するために/READ ’で表わす。
図のRAM7からデータを読み出すためのリード信号で
あり、それをCPUIIから送出されるリード信号/R
EADと区別するために/READ ’で表わす。
負論理のORゲート29は、その各入力端子から入力さ
れるリセット信号/RESETあるいはF/F27の/
Q出力がローレベルの時に出方端子からローレベルの信
号を出力して、F/F25をリセット状態にする。
れるリセット信号/RESETあるいはF/F27の/
Q出力がローレベルの時に出方端子からローレベルの信
号を出力して、F/F25をリセット状態にする。
第4図は、第1図のインプットラッチ8の構成例を示す
回路図である。
回路図である。
このインプットラッチ8は9個のF / F 8 o〜
88から構成され、その各F/F8o〜88はそれぞれ
インプットデータDo−Daの各1ビツトデータを、C
PUIIからライト/リードコントローラ5を介して送
られてくるライト信号/WRITEを図示しないインバ
ータで反転したWRITEのアップエツジでラッチして
RAM7へ出力する。
88から構成され、その各F/F8o〜88はそれぞれ
インプットデータDo−Daの各1ビツトデータを、C
PUIIからライト/リードコントローラ5を介して送
られてくるライト信号/WRITEを図示しないインバ
ータで反転したWRITEのアップエツジでラッチして
RAM7へ出力する。
また、各F/F8o〜88はリセット信号/RESET
のダウンエツジでリセットする。
のダウンエツジでリセットする。
なお、第1図のアウトプットラッチ10も第4図のイン
プットラッチと略同様な構成であるので、その図示及び
説明を省略する。
プットラッチと略同様な構成であるので、その図示及び
説明を省略する。
次に、このように構成した実施例の作用について、第5
図以降を参照して具体的に説明する。
図以降を参照して具体的に説明する。
第5図は第1図のライト/リードコントローラ5の処理
動作を示すフローチャート、第6図及び第7図はそれぞ
れその書き込み動作及び読み出し動作を示すタイミング
チャートである。
動作を示すフローチャート、第6図及び第7図はそれぞ
れその書き込み動作及び読み出し動作を示すタイミング
チャートである。
第5図において、このルーチンはCPUI 1からのリ
セット信号/RESETがローレベルになるとスタート
し、まずステップ1で第1図に示したライト/リードコ
ントローラ5内の各部をリセット(初期化)した後、ス
テップ2でフラグコントローラ6内のエンプティフラグ
をONにし、さらにステップ3でCPUIIからのイン
プットデータDO〜D8を直接アウトプットラッチ10
にラッチできるようにデータセレクタ9のデータ入力部
を切り換える。
セット信号/RESETがローレベルになるとスタート
し、まずステップ1で第1図に示したライト/リードコ
ントローラ5内の各部をリセット(初期化)した後、ス
テップ2でフラグコントローラ6内のエンプティフラグ
をONにし、さらにステップ3でCPUIIからのイン
プットデータDO〜D8を直接アウトプットラッチ10
にラッチできるようにデータセレクタ9のデータ入力部
を切り換える。
次に、ステップ4でライト信号/WRITEののダウン
エツジを待ち、第2図のF/F20がそのダウンエツジ
を検出すると、ステップ5でこの時のフラグコントロー
ラB内のエンプティフラグをチエツクする。
エツジを待ち、第2図のF/F20がそのダウンエツジ
を検出すると、ステップ5でこの時のフラグコントロー
ラB内のエンプティフラグをチエツクする。
FIFO回路のメモリ(RAM7及びアウトプットラン
チ10)内には最初はデータが存在しないので、エンプ
ティフラグがON状態になっているからステップ6へ進
み、ライト信号/WRITEを図示しないインバータで
反転してアウトプットランチ10に入力して、アウトプ
ットラッチ10がそのアップエツジでcptNlからの
最初のインプットデータDATA1をラッチした後、ス
テップ7でエンプティフラグがON状態か否かをチエツ
クする。
チ10)内には最初はデータが存在しないので、エンプ
ティフラグがON状態になっているからステップ6へ進
み、ライト信号/WRITEを図示しないインバータで
反転してアウトプットランチ10に入力して、アウトプ
ットラッチ10がそのアップエツジでcptNlからの
最初のインプットデータDATA1をラッチした後、ス
テップ7でエンプティフラグがON状態か否かをチエツ
クする。
そして、この時はまだエンプティフラグがON状態なの
で、ステップ8でそれをOFFにし、ステップ9でRA
M7内のデータをアウトプットランチ10にラッチでき
るようにデータセレクタ9のデータ入力部を通常の状態
に復帰させた後ステップ10へ進み、最初はRAM7に
はデータが存在せず、当然ながらフラグコントローラ6
内のフルフラグはOFF状態を保持しているため、再び
ステップ4に戻ってライト信号/WRITEがダウンエ
ツジになるのを待つ。
で、ステップ8でそれをOFFにし、ステップ9でRA
M7内のデータをアウトプットランチ10にラッチでき
るようにデータセレクタ9のデータ入力部を通常の状態
に復帰させた後ステップ10へ進み、最初はRAM7に
はデータが存在せず、当然ながらフラグコントローラ6
内のフルフラグはOFF状態を保持しているため、再び
ステップ4に戻ってライト信号/WRITEがダウンエ
ツジになるのを待つ。
そして、ライト信号/WRITEがダウンエツジになっ
た時点で、今度はエンプティフラグがOFF状態なので
ステップ11へ進み、ライト信号/WRITEを図示し
ないインバータで反転してインプットラッチ8に入力し
て、そのインプットラッチ8がそのアップエツジでCP
UI 1からの第8図(つ)に示す次のインプットデー
タDATA2をラッチした後、ステップ12で同図(ケ
)に示すライト信号/WRITE’のアップエツジを待
つ。
た時点で、今度はエンプティフラグがOFF状態なので
ステップ11へ進み、ライト信号/WRITEを図示し
ないインバータで反転してインプットラッチ8に入力し
て、そのインプットラッチ8がそのアップエツジでCP
UI 1からの第8図(つ)に示す次のインプットデー
タDATA2をラッチした後、ステップ12で同図(ケ
)に示すライト信号/WRITE’のアップエツジを待
つ。
なおここで、第2図の各部の動作を第6図のタイミング
チャートによって説明する。
チャートによって説明する。
第6図(イ)に示すようにライト信号/WRITEがロ
ーレベルになると、それをインバータ21で反転して得
た同図(1)に示す信号がF/F20に入力されるため
、F/F20はそのアップエツジで同図(ア)に示すフ
ルフラグ信号/FULL−FLAG (この時はハイレ
ベル)をラッチして、それを端子Qから同図(オ)に示
すように出力する。
ーレベルになると、それをインバータ21で反転して得
た同図(1)に示す信号がF/F20に入力されるため
、F/F20はそのアップエツジで同図(ア)に示すフ
ルフラグ信号/FULL−FLAG (この時はハイレ
ベル)をラッチして、それを端子Qから同図(オ)に示
すように出力する。
また、F/F22は同図(力)に示すクロックパルスC
LOCKのアップエツジでF/F20のQ出力をラッチ
して、その端子Qがらは同図(キ)に示すようにハイレ
ベルの信号を、端子/Qがらは同図(り)に示すように
ローレベルの信号をそれぞれ出力する。
LOCKのアップエツジでF/F20のQ出力をラッチ
して、その端子Qがらは同図(キ)に示すようにハイレ
ベルの信号を、端子/Qがらは同図(り)に示すように
ローレベルの信号をそれぞれ出力する。
それによって、NORゲート2′5は出方信号であるラ
イト信号/WRITE′を同図(ケ)に示すようにロー
レベルにし、またORゲート24はローレベルの信号を
出力して(この時リセッ1−信号はハイレベルである)
、F/F20をリセッ1へしてその端子Qから出力さ
れる信号を同図(オ)に示すようにローレベルに変化さ
せる。
イト信号/WRITE′を同図(ケ)に示すようにロー
レベルにし、またORゲート24はローレベルの信号を
出力して(この時リセッ1−信号はハイレベルである)
、F/F20をリセッ1へしてその端子Qから出力さ
れる信号を同図(オ)に示すようにローレベルに変化さ
せる。
その後、F / F 22は、F/F 20からのロー
レベル信号を同図(力)に示すように1周期経過後のク
ロックパルスのアップエツジでラッチして。
レベル信号を同図(力)に示すように1周期経過後のク
ロックパルスのアップエツジでラッチして。
端子Qから出力される信号を同図(キ)に示すようにハ
イレベルからローレベルに変化させ、それに対して端子
/Qから出力される信号を同図(り)に示すようにロー
レベルからハイレベルに変化させる。
イレベルからローレベルに変化させ、それに対して端子
/Qから出力される信号を同図(り)に示すようにロー
レベルからハイレベルに変化させる。
それによって、NORゲート23はライト信号/WRI
TE’を同図(ケ)に示すようにハイレベルに戻す。
TE’を同図(ケ)に示すようにハイレベルに戻す。
なお、このライト信号/WRITE’のハイレベルを持
続する時間TwP′が、RAM7の書込動作に不可欠な
ライトパルスの幅を示しており、このライトパルス幅は
第6図(力)に示すクロックパルスCLOCKの周期T
の幅を異ならせることによって、所望の値に設定するこ
とができる。
続する時間TwP′が、RAM7の書込動作に不可欠な
ライトパルスの幅を示しており、このライトパルス幅は
第6図(力)に示すクロックパルスCLOCKの周期T
の幅を異ならせることによって、所望の値に設定するこ
とができる。
第5図のステップ12に戻り、第6図(ケ)に示したラ
イト信号/WRITE’のアップエツジでステップ13
へ進んで、第6図(つ)に示すインプットランチ8内の
データDATA2をライトポインタ2で指定されたRA
M7のn番地に書き込む(最初は先頭の「O」番地に書
き込む)。
イト信号/WRITE’のアップエツジでステップ13
へ進んで、第6図(つ)に示すインプットランチ8内の
データDATA2をライトポインタ2で指定されたRA
M7のn番地に書き込む(最初は先頭の「O」番地に書
き込む)。
そして、ステップ14でライトポインタ2をインクリメ
ント(n+1)L、次のステップ7においてエンプティ
フラグは○FF状態なので直ちにステップ10へ進み、
フルフラグがOFFならば再度ステップ4に戻って上述
の処理を繰り返す。
ント(n+1)L、次のステップ7においてエンプティ
フラグは○FF状態なので直ちにステップ10へ進み、
フルフラグがOFFならば再度ステップ4に戻って上述
の処理を繰り返す。
その後、第6図(つ)に示す最終データDATA512
がRAM7の510番地に格納されると、ステップ15
へ進んでリート信号/READのダウンエツジを待つ。
がRAM7の510番地に格納されると、ステップ15
へ進んでリート信号/READのダウンエツジを待つ。
そして、第3図のF/F25がリード信号/READの
ダウンエツジを検出すると、ステップ16でアウトプッ
トバッファ4を出力状態にした後、ステップ17で第7
図(ケ)に示すアウトプットランチ10内のデータDA
TA1をアウトグツ1〜バツフア4を通して外部へ出力
すると同時に、ステップ18でアウトプットバッファ4
をハイインピーダンス状態にしてアウトプットラッチ1
0からのデータの出力を禁止し、ステップ19でリート
信号/READ ’のアップエツジを待つ。
ダウンエツジを検出すると、ステップ16でアウトプッ
トバッファ4を出力状態にした後、ステップ17で第7
図(ケ)に示すアウトプットランチ10内のデータDA
TA1をアウトグツ1〜バツフア4を通して外部へ出力
すると同時に、ステップ18でアウトプットバッファ4
をハイインピーダンス状態にしてアウトプットラッチ1
0からのデータの出力を禁止し、ステップ19でリート
信号/READ ’のアップエツジを待つ。
なおここで、第3図の各部の動作を第7図のタイミング
チャートによって説明する。
チャートによって説明する。
第7図(イ)に示すようにリード信号/READがロー
レベルになると、それをインバータ26で反転して得た
同図(1)に示す信号がF/F25に入力されるため、
F/F25はそのアップエツジで同図(ア)に示すエン
プティフラグ信号/EMPTY−FLAG (この時は
ハイレベル)をラッチして、それを端子Qから同図(オ
)に示すように出力し、またインバータ26からハイレ
ベル信号が出力されることによって、NORゲート28
の出力端子から出力されるリード信号/READ′が同
図(コ)に示すようにローレベルに変化する。
レベルになると、それをインバータ26で反転して得た
同図(1)に示す信号がF/F25に入力されるため、
F/F25はそのアップエツジで同図(ア)に示すエン
プティフラグ信号/EMPTY−FLAG (この時は
ハイレベル)をラッチして、それを端子Qから同図(オ
)に示すように出力し、またインバータ26からハイレ
ベル信号が出力されることによって、NORゲート28
の出力端子から出力されるリード信号/READ′が同
図(コ)に示すようにローレベルに変化する。
F/F27は、同図(力)に示すクロックパルスCLO
CKのアップエツジでF/F25のQ出力をラッチして
、その端子Qからは同図(キ)に示すようにハイレベル
の信号を、端子/Qからは同図(り)に示すようにロー
レベルの信号をそれぞれ出力する。
CKのアップエツジでF/F25のQ出力をラッチして
、その端子Qからは同図(キ)に示すようにハイレベル
の信号を、端子/Qからは同図(り)に示すようにロー
レベルの信号をそれぞれ出力する。
それによって、ORゲート29はローレベルの信号を出
力して(この時リセット信号はハイレベルである)、F
/F25をリセットしてその端子Qから出力される信号
を同図(オ)に示すようにローレベルに変化させる。
力して(この時リセット信号はハイレベルである)、F
/F25をリセットしてその端子Qから出力される信号
を同図(オ)に示すようにローレベルに変化させる。
その後、F/F27は、F/F25からのローレベル信
号を同図(力)に示すように1周期経過後のクロックパ
ルスのアップエツジでラッチして。
号を同図(力)に示すように1周期経過後のクロックパ
ルスのアップエツジでラッチして。
端子Qから出力される信号を同図(キ)に示すようにハ
イレベルからローレベルに変化させ、端子/Qから出力
される信号を同図(り)に示すようにローレベルからハ
イレベルに変化させる。
イレベルからローレベルに変化させ、端子/Qから出力
される信号を同図(り)に示すようにローレベルからハ
イレベルに変化させる。
それによって、NORゲート28はリード信号/REA
D ′を同図(コ)に示すようにハイレベルに戻す。
D ′を同図(コ)に示すようにハイレベルに戻す。
なお、TAはリード信号/READ ′のダウンエツジ
から実際にデータの読み出しが始まるまでの時間であり
、それをアクセスタイムという。
から実際にデータの読み出しが始まるまでの時間であり
、それをアクセスタイムという。
第6図のステップ19に戻り、第7図(コ)に示したリ
ード信号/READ ’のアップエツジでステップ20
へ進んで、リードポインタ3で指定されたRAM7のn
番地に格納されているデータを読み出しく最初は先頭の
rQJ番地から読み出す)、ステップ21でリードポイ
ンタ3をインクリメント(n+1)した後ステップ22
へ進み、最初はフルフラグがON状態なので、ステップ
23でそれをOFFにした後ステップ24へ進む。
ード信号/READ ’のアップエツジでステップ20
へ進んで、リードポインタ3で指定されたRAM7のn
番地に格納されているデータを読み出しく最初は先頭の
rQJ番地から読み出す)、ステップ21でリードポイ
ンタ3をインクリメント(n+1)した後ステップ22
へ進み、最初はフルフラグがON状態なので、ステップ
23でそれをOFFにした後ステップ24へ進む。
そして、このステップ24においてエンプティフラグが
OFFならばステップ15に戻ってこの処理を繰り返す
。
OFFならばステップ15に戻ってこの処理を繰り返す
。
また、RAM7内のデータが全て読み出されるとエンプ
ティフラグがON状態になるので、再びステップ3に戻
って上述の処理を繰り返す。
ティフラグがON状態になるので、再びステップ3に戻
って上述の処理を繰り返す。
なお、インプットラッチ8の各F/F8o〜88をC−
MO8素子で構成した場合、第6図に示すようなライト
パルス幅Twp及びデータセットアツプタイムTDSが
20〜30nSec程度で充分になり、FIF○回路と
他の回路とのインタフェースが高速化できる。
MO8素子で構成した場合、第6図に示すようなライト
パルス幅Twp及びデータセットアツプタイムTDSが
20〜30nSec程度で充分になり、FIF○回路と
他の回路とのインタフェースが高速化できる。
以上説明したように、この発明によるFIF○回路によ
れば、RAMのデータ入力部に入力データをラッチする
インプットラッチを設けたので。
れば、RAMのデータ入力部に入力データをラッチする
インプットラッチを設けたので。
RAMのアクセス時間を速くすることなく、高速で効率
のよい書き込みが行なえる。
のよい書き込みが行なえる。
また、RAMの出力部に、そのRAMの出力データと入
力データのいずれかを選択して出力するデータセレクタ
と、このデータセレクタの出力をラッチするアウトプッ
トラッチとを設けたので、RAMのアクセス時間を速く
することなく、高速で効率のよい読み出しが行なえる。
力データのいずれかを選択して出力するデータセレクタ
と、このデータセレクタの出力をラッチするアウトプッ
トラッチとを設けたので、RAMのアクセス時間を速く
することなく、高速で効率のよい読み出しが行なえる。
さらに、RAMのデータ入力部及び出力部にそれぞれ上
述の各部を設けると、RAMのアクセス時間を速くする
ことなく、高速で効率のよい書き込みと読み出しが行な
えるので、より効果的となる。
述の各部を設けると、RAMのアクセス時間を速くする
ことなく、高速で効率のよい書き込みと読み出しが行な
えるので、より効果的となる。
第1図はこの発明の一実施例であるFIFO回路の構成
を示すブロック回路図。 第2図は第1図におけるライト/リードコントローラ内
のライト信号発生回路の構成例を示す回路図、 第3図は第1図におけるライト/リードコントローラ内
のリード信号発生回路の構成例を示す回路図。 第4図は第1図のインプットラッチの構成例を示す回路
図、 第5図は第1図のライト/リードコントローラの処理動
作を示すフロー図、 第6図はそのライト/リードコントローラの書き込み動
作を示すタイミング図、 第7図は同じくその読み出し動作を示すタイミング図、 第8図は従来のFIF○回路の構成例を示すブロック回
路図、 第9図はそのFIFO回路の書き込み動作の一部を示す
タイミング図、 第10図は同じくその読み出し動作の一部を示すタイミ
ング図である。 1・・・FIFO回路 2・・・ライトポインタ 3・・・リードポインタ 4・・・アウトプットバッファ 5・・・ライト/リードコントローラ 6・・・フラグコントローラ 7・・・スタティックRAM 8・・・インプットラッチ 9・・・データセレクタ 10・・アウトプットラッチ 11 °マイクロコンピュータ
を示すブロック回路図。 第2図は第1図におけるライト/リードコントローラ内
のライト信号発生回路の構成例を示す回路図、 第3図は第1図におけるライト/リードコントローラ内
のリード信号発生回路の構成例を示す回路図。 第4図は第1図のインプットラッチの構成例を示す回路
図、 第5図は第1図のライト/リードコントローラの処理動
作を示すフロー図、 第6図はそのライト/リードコントローラの書き込み動
作を示すタイミング図、 第7図は同じくその読み出し動作を示すタイミング図、 第8図は従来のFIF○回路の構成例を示すブロック回
路図、 第9図はそのFIFO回路の書き込み動作の一部を示す
タイミング図、 第10図は同じくその読み出し動作の一部を示すタイミ
ング図である。 1・・・FIFO回路 2・・・ライトポインタ 3・・・リードポインタ 4・・・アウトプットバッファ 5・・・ライト/リードコントローラ 6・・・フラグコントローラ 7・・・スタティックRAM 8・・・インプットラッチ 9・・・データセレクタ 10・・アウトプットラッチ 11 °マイクロコンピュータ
Claims (1)
- 【特許請求の範囲】 1 入力データをRAMの先頭アドレスから順次書き込
んだ後、該RAMの先頭アドレスから順次そのデータを
読み出して出力するFIFO回路において、 前記RAMのデータ入力部に入力データをラッチするイ
ンプットラッチを設けたことを特徴とするFIFO回路
。 2 入力データをRAMの先頭アドレスから順次書き込
んだ後、該RAMの先頭アドレスから順次そのデータを
読み出して出力するFIFO回路において、 前記RAMのデータ出力部に、該RAMの出力データと
前記入力データのいずれかを選択して出力するデータセ
レクタと、このデータセレクタの出力をラッチするアウ
トプットラッチとを設けたことを特徴とするFIFO回
路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1335125A JPH03198282A (ja) | 1989-12-26 | 1989-12-26 | Fifo回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1335125A JPH03198282A (ja) | 1989-12-26 | 1989-12-26 | Fifo回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH03198282A true JPH03198282A (ja) | 1991-08-29 |
Family
ID=18285053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1335125A Pending JPH03198282A (ja) | 1989-12-26 | 1989-12-26 | Fifo回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH03198282A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5489795A (en) * | 1992-08-11 | 1996-02-06 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit device having double well structure |
-
1989
- 1989-12-26 JP JP1335125A patent/JPH03198282A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5489795A (en) * | 1992-08-11 | 1996-02-06 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit device having double well structure |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2916045B2 (ja) | Fifoモジュール | |
JP2538067B2 (ja) | 条件書き込み手段を有するランダム・アクセス・メモリ回路 | |
JPS61156358A (ja) | バスコンバータ | |
JPH0511976A (ja) | データ処理装置 | |
JPH0612863A (ja) | デュアルポートdram | |
JP2006191567A (ja) | オンチップデータ伝送制御装置及びその制御方法 | |
KR100238869B1 (ko) | 버스트 모드 신호를 제공하기 위한 반도체 메모리 장치 | |
JPS607812B2 (ja) | デ−タバツフアリング装置 | |
JPH03198282A (ja) | Fifo回路 | |
JPH10254425A (ja) | タイミング調整回路 | |
US5555559A (en) | Microprocessor capable of ensuring flexible recovery time for I/O device by inserting idle states | |
JPH08249095A (ja) | データ転送システムのバス制御装置 | |
EP0463352B1 (en) | Microprocessor for use in in-circuit emulator having function of discriminating users space and in-circuit emulator space | |
JPH0721103A (ja) | データ転送装置 | |
US6339809B1 (en) | Memory unit and buffer access control circuit for updating an address when consecutively accessing upper and lower buffers | |
JP2006228207A (ja) | メモリの書込み方法と制御装置 | |
US5577005A (en) | Circuit for using chip information | |
US6567884B1 (en) | Endian-controlled counter for synchronous ports with bus matching | |
JPH064398A (ja) | 情報処理装置 | |
KR100428863B1 (ko) | 고속 비동기 전송 모드 물리계층 처리장치의 프로세서정합 장치 | |
KR890003236Y1 (ko) | 데이터 변환값의 라이트 및 리이드 회로 | |
JP2692469B2 (ja) | データ制御装置 | |
KR950006177Y1 (ko) | 비디오 메모리 액세스 제어회로 | |
JP3251265B2 (ja) | メモリ出力制御回路 | |
KR920005294B1 (ko) | 듀얼포트 메모리 소자의 칩인에이블신호 제어회로 |