JP4730051B2 - 半導体ディジタル回路、fifoバッファ回路及びそれらに用いるデータ受け渡し方法 - Google Patents

半導体ディジタル回路、fifoバッファ回路及びそれらに用いるデータ受け渡し方法 Download PDF

Info

Publication number
JP4730051B2
JP4730051B2 JP2005298267A JP2005298267A JP4730051B2 JP 4730051 B2 JP4730051 B2 JP 4730051B2 JP 2005298267 A JP2005298267 A JP 2005298267A JP 2005298267 A JP2005298267 A JP 2005298267A JP 4730051 B2 JP4730051 B2 JP 4730051B2
Authority
JP
Japan
Prior art keywords
circuit
output
flip
flop
entry
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.)
Expired - Fee Related
Application number
JP2005298267A
Other languages
English (en)
Other versions
JP2007108966A (ja
Inventor
一正 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2005298267A priority Critical patent/JP4730051B2/ja
Publication of JP2007108966A publication Critical patent/JP2007108966A/ja
Application granted granted Critical
Publication of JP4730051B2 publication Critical patent/JP4730051B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Description

本発明は半導体ディジタル回路、FIFOバッファ回路及びそれらに用いるデータ受け渡し方法に関し、特に異なる動作クロックの2つの回路領域間におけるデータの受け渡しを行うFIFO(First In First Out)バッファ回路に関する。
異なる動作クロック領域間においてデータの受け渡しを行う方法として、FIFOバッファ回路を用いることが一般的に行われている。このデータ受け渡し方法としては、例えば、2つの動作クロック領域をまたがるようにバッファを配置し、バッファの書込み側の制御回路が入力側領域に、バッファの読出し側の制御回路が出力側の領域に含まれるように配置する方法がある(例えば、特許文献1参照)。
バッファの中は双方のクロックでデータの転送が誤りなく行われるように、2段のD−FF(D−Flip Flop)回路を使った同期回路を用いてもう一方の領域にデータを転送する回路構成を取っている。
FIFOバッファ回路を制御する信号には、書込みイネーブル信号や読出しリクエスト信号の他、FIFOバッファ回路の中に一時的にデータを登録するエントリの数に限りがあるため、エントリが一杯になったことを示すフル(Full)信号や、エントリの中に有効なデータがないことを示すエンプティ(Empty)信号[逆にエントリにデータがあることを示すバリッド(Valid)信号を用いることもある]がある。
特に、内部状態を表すフル信号やエンプティ信号はその状態になったことをすぐに外の回路に伝えないと、エントリが一杯の状態で書込んだり、データがないのに読出したりする恐れがあり、データ転送中にデータ欠損や無効データ転送を行うことにつながる。上記の特許文献1に記載の技術では書込みや読出しを行うと、エントリの状態が次のクロックには外の回路に伝えられるような回路になっており、誤動作を防いでいる。
また、別のデータ受け渡し方法としては、完全にエントリが一杯になる前やデータが空になる前に、前もって状態を伝える手法をとる方法がある(例えば、非特許文献1参照)。この手法では、まだ1つデータが残っている段階で外側の回路に伝えるempty2という信号を用いている。
異なるクロック間で信号を同期させて伝えるには、D−FF回路を2段通す方法が安全でよく使われる手法であるが、信号を伝えるのが遅れてしまう欠点がある。それを補うために、上記の非特許文献1に記載の技術では、前もって状態信号を伝えているのである。但し、この信号だけではFIFOバッファ回路のエントリにデータが残ってしまうため、通常のエンプティ信号も必要である。
上述した回路以外にも、様々なFIFOバッファ回路が開発されており、異なる動作クロック領域間でのデータ受け渡しが一般的に行われている。
特開2004−295819号公報(図1、図2) "A Low−Latenty FIFO for Mixed−Clock Systems"[筆者:Tiberif Chelcea,Steven M.Nowick(Department of Computer Science,Columbia University),刊行物の題名:Proceedings of the IEEE Computer Society Workshop on VLSI 2000,発行年月日:2000年4月,説明ページ・行・図面p.123,右カラム,5行目から22行目,図9]
上述した従来のデータ受け渡し方法では、上記の特許文献1に記載の技術の場合、エントリ管理フラグ回路を使うと、1エントリの回路に対して同期をとるための4つのD−FF回路を含む6つのD−FF回路を必要とし、この回路がエントリの数だけFIFOバッファ回路の中に搭載されるものなので、ハードウェア量が増加し、回路オーバヘッドが大きくなる。そのため、従来のデータ受け渡し方法では、クロック間同期を確実に行うための回路オーバヘッドが大きくなるという問題がある。
また、従来のデータ受け渡し方法では、エントリ管理を非同期RS−FF(RS−Flip Flop)回路で作成した簡単なフラグ管理回路で処理した場合、この信号がいずれのクロックにも同期していないため、外部に状態を示す信号を出力するのに改めてクロック同期が必要となり、2段従属接続したD−FF回路を通すため、外部への通知が遅れてしまう。そのため、従来のデータ受け渡し方法では、回路オーバヘッドを削減しようとすると、内部状態を表す信号を外部回路に伝えるタイミングが遅れてしまうという問題がある。
そこで、本発明の目的は上記の問題点を解消し、エントリの管理を行う回路のハードウェアオーバヘッドを小さくし、外部へ伝える信号の伝達を速やかに行うことができる半導体ディジタル回路、FIFOバッファ回路及びそれらに用いるデータ受け渡し方法を提供することにある。
本発明による半導体ディジタル回路は、各々異なる動作クロックで動作する第1及び第2の回路領域間におけるデータの受け渡しを行う半導体ディジタル回路であって、
データを保持する複数のデータエントリレジスタと、前記複数のデータエントリレジスタ各々における有効なデータの有無を管理するエントリ管理フラグ回路と、前記データエントリレジスタのうちのデータを書込む先を指定する書込みエントリ管理回路と、前記データエントリレジスタのうちのデータを読出す先を指定する読出しエントリ管理回路と、前記読出しエントリ管理回路の指示によってデータエントリレジスタの内容の1つを選択して出力する出力選択器とを備え、
前記エントリ管理フラグ回路を、前記書込みエントリ管理回路からのエントリ書込み信号を入力としかつ前記第1の回路領域のクロックで動作する第1のDフリップフロップ回路と、前記読出しエントリ管理回路からのエントリ読出し信号を入力としかつ前記第2の回路領域のクロックで動作する第2のDフリップフロップ回路と、前記第1のDフリップフロップ回路の出力の立ち上がりエッジを検出してパルスを生成する第1のパルス発生器と、前記第2のDフリップフロップ回路の出力を入力としかつ前記第2のDフリップフロップ回路の立ち上がりエッジを検出してパルスを生成する第2のパルス発生器と、前記第1のパルス発生器の出力をセット入力としかつ前記第2のパルス発生器の出力をリセット入力とするとともに、正出力を有効信号出力としかつ反転出力を前記有効信号の反転出力とする非同期RSフリップフロップ回路とから構成している。
本発明によるFIFOバッファ回路は、第1のクロックで動作する回路領域から、第2のクロックで動作する回路領域へデータを転送するFIFO(First In First Out)バッファ回路であって、
Nビット(Nは正の整数)のデータを保持するM個(Mは正の整数)のデータエントリレジスタと、前記データエントリレジスタのうちのデータを書込む先を指定する書込みエントリ管理回路と、前記データエントリレジスタのうちのデータを読出す先を指定する読出しエントリ管理回路と、前記読出しエントリ管理回路の指示によって前記データエントリレジスタの内容の1つを選択して出力する出力選択器と、前記データエントリレジスタ各々における有効なデータの有無を管理するMエントリのエントリ管理フラグ回路と、前記エントリ管理フラグ回路各々の出力から前記データエントリレジスタが一杯になったことを示すフル信号を生成するフル生成回路と、前記エントリ管理フラグ回路各々の出力から前記データエントリレジスタの中に有効なデータがないことを示すエンプティ信号を生成するエンプティ生成回路とを備え、
前記データエントリレジスタと前記書込みエントリ管理回路と前記フル生成回路とを前記第1のクロックで動作させ、
前記読出しエントリ管理回路と前記出力選択器と前記エンプティ生成回路とを前記第2のクロックで動作させ、
前記エントリ管理フラグ回路を、前記書込みエントリ管理回路からのエントリ書込み信号を入力としかつ前記第1のクロックで動作する第1のDフリップフロップ回路と、前記読出しエントリ管理回路からのエントリ読出し信号を入力としかつ前記第2のクロックで動作する第2のDフリップフロップ回路と、前記第1のDフリップフロップ回路の出力を入力とする第1のパルス発生器と、前記第2のDフリップフロップ回路の出力を入力とする第2のパルス発生器と、前記第1のパルス発生器の出力をセット入力としかつ前記第2のパルス発生器の出力をリセット入力とするとともに、正出力を有効信号出力としかつ反転出力を前記有効信号の反転出力とする非同期RFフリップフロップ回路とから構成している。
本発明によるデータ受け渡し方法は、各々異なる動作クロックで動作する第1及び第2の回路領域間におけるデータの受け渡しを行う半導体ディジタル回路に用いるデータ受け渡し方法であって、
データを保持する複数のデータエントリレジスタ各々における有効なデータの有無をエントリ管理フラグ回路にて管理し、前記データエントリレジスタのうちのデータを書込む先を書込みエントリ管理回路にて指定し、前記データエントリレジスタのうちのデータを読出す先を読出しエントリ管理回路にて指定し、前記読出しエントリ管理回路の指示によってデータエントリレジスタの内容の1つを出力選択器で選択して出力するとともに、
前記エントリ管理フラグ回路を、前記書込みエントリ管理回路からのエントリ書込み信号を入力としかつ前記第1の回路領域のクロックで動作する第1のDフリップフロップ回路と、前記読出しエントリ管理回路からのエントリ読出し信号を入力としかつ前記第2の回路領域のクロックで動作する第2のDフリップフロップ回路と、前記第1のDフリップフロップ回路の出力の立ち上がりエッジを検出してパルスを生成する第1のパルス発生器と、前記第2のDフリップフロップ回路の出力を入力としかつ前記第2のDフリップフロップ回路の立ち上がりエッジを検出してパルスを生成する第2のパルス発生器と、前記第1のパルス発生器の出力をセット入力としかつ前記第2のパルス発生器の出力をリセット入力とするとともに、正出力を有効信号出力としかつ反転出力を前記有効信号の反転出力とする非同期RSフリップフロップ回路とから構成している。
本発明による他のデータ受け渡し方法は、第1のクロックで動作する回路領域から、第2のクロックで動作する回路領域へデータを転送するFIFO(First In First Out)バッファ回路に用いるデータ受け渡し方法であって、
Nビット(Nは正の整数)のデータを保持するM個(Mは正の整数)のデータエントリレジスタのうちのデータを書込む先を書込みエントリ管理回路にて指定し、前記データエントリレジスタのうちのデータを読出す先を読出しエントリ管理回路にて指定し、前記読出しエントリ管理回路の指示によって前記データエントリレジスタの内容の1つを出力選択器にて選択して出力し、前記データエントリレジスタ各々における有効なデータの有無をMエントリのエントリ管理フラグ回路にて管理し、前記エントリ管理フラグ回路各々の出力から前記データエントリレジスタが一杯になったことを示すフル信号をフル生成回路にて生成し、前記エントリ管理フラグ回路各々の出力から前記データエントリレジスタの中に有効なデータがないことを示すエンプティ信号をエンプティ生成回路にて生成するとともに、
前記データエントリレジスタと前記書込みエントリ管理回路と前記フル生成回路とを前記第1のクロックで動作させ、
前記読出しエントリ管理回路と前記出力選択器と前記エンプティ生成回路とを前記第2のクロックで動作させ、
前記エントリ管理フラグ回路を、前記書込みエントリ管理回路からのエントリ書込み信号を入力としかつ前記第1のクロックで動作する第1のDフリップフロップ回路と、前記読出しエントリ管理回路からのエントリ読出し信号を入力としかつ前記第2のクロックで動作する第2のDフリップフロップ回路と、前記第1のDフリップフロップ回路の出力を入力とする第1のパルス発生器と、前記第2のDフリップフロップ回路の出力を入力とする第2のパルス発生器と、前記第1のパルス発生器の出力をセット入力としかつ前記第2のパルス発生器の出力をリセット入力とするとともに、正出力を有効信号出力としかつ反転出力を前記有効信号の反転出力とする非同期RFフリップフロップ回路とから構成している。
すなわち、本発明の第1の半導体ディジタル回路は、異なる動作クロックの2つの回路領域間におけるデータの受け渡しを行うFIFO(First In First Out)バッファ回路において、エントリ管理フラグ回路が、書込みエントリ管理回路からのエントリ書込み信号を入力としかつ入力側領域のクロックで動作する第1のD−FF(D−Flip Flop:Dフリップフロップ)回路と、読出しエントリ管理回路からのエントリ読出し信号を入力としかつ出力側領域のクロックで動作する第2のD−FF回路と、第1のD−FF回路の出力の立ち上がりエッジを検出してパルスを生成する第1のパルス発生器(ジェネレータ)と、第2のD−FF回路の出力を入力としかつ第2のD−FF回路の立ち上がりエッジを検出してパルスを生成する第2のパルス発生器と、第1のパルス発生器の出力をセット入力とし、第2のパルス発生器の出力をリセット入力とし、正出力を有効信号出力とし、反転出力を有効信号の反転出力とする非同期RS−FF(RS−Flip Flop:RSフリップフロップ)回路とから構成することを特徴としている。
本発明の第2の半導体ディジタル回路は、上記の第1の半導体ディジタル回路のFIFOバッファ回路の構成において、フル生成回路が、すべてのエントリ管理フラグ回路の有効信号を入力とする第1のAND(論理積)回路と、第1のAND回路の出力を入力側領域のクロックに同期させるための1個のD−FF回路または複数個を従属接続したD−FF回路と、第1のAND回路の出力とD−FF回路の出力との論理和をとる第1のOR(論理和)回路とからなり、第1のOR回路の出力をフル信号出力とすることを特徴としている。
本発明の第3の半導体ディジタル回路は、上記の第1の半導体ディジタル回路のFIFOバッファ回路の構成において、FIFOバッファ回路は、上記の構成において、エンプティ生成回路が、すべてのエントリ管理フラグ回路の有効信号の反転を入力とする第2のAND回路と、第2のAND回路の出力を出力側領域のクロックに同期させるための1個のD−FF回路または複数個を従属接続したD−FF回路と、第2のAND回路の出力とD−FF回路の出力との論理和をとる第2のOR回路とからなり、第2のOR回路の出力をエンプティ信号出力とすることを特徴としている。
本発明の第4の半導体ディジタル回路は、上記の第1の半導体ディジタル回路のFIFOバッファ回路の構成において、フル生成回路が、すべてのエントリ管理フラグ回路の有効信号を入力とする第3のAND回路と、第3のAND回路の出力を入力側領域のクロックに同期させるための1個のD−FF回路または複数個を従属接続したD−FF回路と、第3のAND回路の出力が有効でかつD−FF回路の出力が無効であることを検出してセットし、入力側領域のクロックの立ち上がりエッジでリセットする第1の非同期RS−FF回路と、第3のAND回路の出力とD−FF回路の出力と第1の非同期RS−FF回路の出力との論理和をとる第3のOR回路とからなり、第3のOR回路の出力をフル信号出力とすることを特徴としている。
本発明の第5の半導体ディジタル回路は、上記の第1の半導体ディジタル回路のFIFOバッファ回路の構成において、エンプティ生成回路が、すべてのエントリ管理フラグ回路の有効信号の反転を入力とする第4のAND回路と、第4のAND回路の出力を出力側領域のクロックに同期させるための1個のD−FF回路または複数個を従属接続したD−FF回路と、第4のAND回路の出力が有効でかつD−FF回路の出力が無効であることを検出してセットし、出力側領域のクロックの立ち上がりエッジでリセットする第2の非同期RS−FF回路と、第4のAND回路の出力とD−FF回路の出力と第2の非同期RS−FF回路との出力の論理和をとる第4のOR回路とからなり、第4のOR回路の出力をエンプティ信号出力とすることを特徴としている。
本発明の半導体ディジタル回路では、エントリの管理を行うのが非同期RS−FF回路で、エントリ書込み信号によってセットされ、エントリ読出し信号によってリセットされる。エントリ書込み信号は入力側領域のクロックで同期している信号で、エントリ読出し信号は出力側領域クロックに同期している信号であるが、非同期RS−FF回路を用いることで、タイミングを考慮する必要なく、フラグの管理を行うことが可能となる。
また、本発明の半導体ディジタル回路では、パルスジェネレータで書込みイネーブル信号や読出しリクエスト信号がくる最初の瞬間に非同期RS−FF回路をセットまたはリセットするため、入力側領域のクロックと出力側領域クロックの周期の差に関係なく動作させることが可能である。
さらに、本発明の半導体ディジタル回路では、フル信号がすべてのエントリ管理フラグが有効になったことを検出して生成されるが、この状態は入力側領域のクロックに同期して起こり、解消されるのは出力側でデータを読出した時に発生するため、出力側領域のクロックに同期して起こる。フル信号は入力側領域の外部回路に伝える信号なので、フル信号が発生する時にはそのまま伝え、解消される時だけ同期化させる。フル信号の発生は過書込みを避けるために緊急を要し、解消は性能がやや犠牲になるものの緊急性は必ずしも必要でないが、この要件を満たした回路構成となる。
さらにまた、本発明の半導体ディジタル回路では、エンプティ信号の生成部も同様に、エンプティ信号が発生する時には緊急性を要するため、直接伝え、解消される時には同期化させて伝えることで、過読出しを防いでいる。
上記のように、本発明の半導体ディジタル回路では、エントリの管理を行う回路に使われるD−FF回路の数が2つで、その他には非同期のRS−FF回路が1つ、パルス発生器が2つで構成されるだけであるから、クロックの同期化に伴う回路オーバヘッドを小さくすることが可能となる。
また、本発明の半導体ディジタル回路では、同期をとるためのD−FF回路が各エントリ共通部分のフル信号生成回路やエンプティ信号生成回路の内にあり、1組ずつだけでから、クロックの同期化に伴う回路オーバヘッドを小さくすることが可能となる。
さらに、本発明の半導体ディジタル回路では、制御のために外部回路に伝えるフル信号やエンプティ信号が有効になる時だけ同期機構を通さないため、遅滞なく、外部回路にこれらの信号を伝えることが可能であるから、回路オーバヘッドが少ない回路ながら、内部状態を表す信号を外部に遅滞なく伝えることが可能となる。
本発明は、以下に述べるような構成及び動作とすることで、エントリの管理を行う回路のハードウェアオーバヘッドを小さくし、外部へ伝える信号の伝達を速やかに行うことができるという効果が得られる。
次に、本発明の実施の形態について図面を参照して説明する。図1は本発明の実施の形態による半導体ディジタル回路の構成を示すブロック図である。図1においては、本発明のFIFO(First In First Out)バッファ回路の構成を示している。
本発明の実施の形態によるFIFOバッファ回路は、書込みエントリ管理回路10と、複数のデータエントリレジスタ11a〜11dと、エントリ管理フラグ回路12a〜12dと、読出しエントリ管理回路13と、フル(Full)信号生成回路14と、エンプティ(Empty)生成回路15と、出力選択器16とから構成されている。
書込みエントリ管理回路10はデータを書込むエントリを管理し、読出しエントリ管理回路13はデータを読出すエントリを管理する。エントリ管理フラグ回路12a〜12dはそれぞれのデータエントリにおける有効データの有無を管理する。
フル信号生成回路14はエントリ管理フラグ回路12a〜12dからエントリが満杯であるかどうかを判別し、エンプティ生成回路15はエントリ管理フラグ回路12a〜12dから登録データがないことを判別し、出力選択器16はデータエントリレジスタ11a〜11dの出力の中から現在読出すべきデータを選択する。
これらのうち、書込みエントリ管理回路10、データエントリレジスタ11a〜11d、フル信号生成回路14は入力側領域1に置かれ、読出しエントリ管理回路13、エンプティ信号生成回路15、出力選択器16は出力側領域2に置かれている。エントリ管理フラグ回路12a〜12dは入力側領域1と出力側領域2との境界に配置され、クロック周波数の載せ替えが行われる。
図1に示す例では、4つのエントリを持つ場合を示したが、データエントリレジスタ11a〜11dやエントリ管理フラグ回路12a〜12d等の数を変えれば、エントリ数を変更することも容易に可能である。
図2は図1のエントリ管理フラグ回路12の構成例を示すブロック図である。図2において、エントリ管理フラグ回路12はD−FF(D−Flip Flop:Dフリップフロップ)回路71e,71fと、パルス発生器(Pls.:パルスジェネレータ)22b,22cと、RS−FF(RS−Flip Flop:RSフリップフロップ)回路23bとから構成され、RS−FF回路23bはNOR(否定論理和)回路51a,51bと、インバータ52b,52cとから構成されている。
エントリ書込み信号200は入力側領域クロック(CLKI)100で、エントリ読出し信号202は出力側領域クロック(CLKO)101でそれぞれD−FF回路71e,71fに保持され、出力を1クロック間有効にする。出力が有効になったことを受けてパルス発生器22b,22cはパルスを発生し、RS−FF回路23bのセット信号310とリセット信号311とのいずれかに与える。
RS−FF回路23bは2つのNOR回路51a,51bをループ状に接続し、それぞれの出力をインバータ52b,52cで反転して有効信号203(図1の有効信号203a〜203d)及びその反転信号204(図1の反転信号204a〜204d)として出力する構成になっている。図2の上半分の入力側領域1と、下半分の出力側領域2とは異なるクロック(入力側領域クロック100及び出力側領域クロック101)で動作するが、RS−FF回路23bは非同期なので、タイミングの問題がない。
これら図1及び図2を参照して本発明の実施の形態によるFIFOバッファ回路の動作について説明する。最初に、本発明の実施の形態によるFIFOバッファ回路全体の動作について説明する。尚、初期状態ではすべてのエントリに有効なデータがないものとする。また、書込みエントリ管理回路10は次に書込めるエントリとしてデータエントリレジスタ(#0)11aを指しているものとする。
書込むデータをデータ入力(Data In)103に与えて、書込みイネーブル信号(W Enable)102を入力側領域クロック100の1周期だけ有効にすると、書込みエントリ管理回路10はエントリ書込み信号200aを有効にする。これによって、データエントリレジスタ(#0)11aにデータ入力103の値が書込まれるとともに、エントリ管理フラグ回路(#0)12aのフラグをセットする。
データエントリレジスタ(#0)11aは登録したデータを出力201aに与えて、出力選択器16に供給する。また、エントリ管理フラグ回路(#0)12aは有効信号203aを出力し、その反転信号204aが無効となる。初期状態でエンプティ(Empty)信号106を有効にしていたエンプティ信号生成回路15は、反転信号204aが無効になったことを検出してエンプティ信号106を無効にする。この状態になると、出力側につながるロジック回路はデータの要求が可能となる。
出力側から読出しリクエスト信号(R Rquest)104を受けると、読出しエントリ管理回路13はエントリ管理フラグ回路(#0)12aにエントリ読出し信号202aを与える。また、読出しエントリ管理回路13は選択信号205を出力選択器16に与えて、データ出力(Data Out)105に出力させる。この一連の動作によって、一つのデータを二つの回路領域間で伝送させることができる。
次のデータを書込むための書込みイネーブル信号102がくると、データエントリレジスタ(#1)11bにデータ入力103の値が書込まれ、エントリ管理フラグ回路(#1)12bのフラグがセットされる。次々にデータを送込むと、そのデータはデータエントリレジスタ(#2)11c、データエントリレジスタ(#3)11d、データエントリレジスタ(#0)11aの順に書込まれ、エントリ管理フラグ回路(#2)12c、エントリ管理フラグ回路(#3)12d、エントリ管理フラグ回路(#0)12aのフラグがセットされる。
この間に読出しが行われなければ、すべての有効信号203が有効になるため、フル信号生成回路14はフル(Full)信号107を有効にする。データが1つ読出されてエントリに空きができると、フル信号107は無効になる。
図3及び図4は図2に示すエントリ管理フラグの動作を説明するタイミングチャートである。図3は入力側領域クロック100の周期が出力側領域クロック101の周期より短い場合の例を示している。
エントリ書込み信号200は時刻T1で有効になると、D−FF回路71eに保持されて、その出力信号314には1クロック周期のパルスが時刻T2に現れる。パルス発生器22bがこの信号の立ち上がりを検出してパルス信号310を生成すると、NOR回路51a、インバータ回路52bを通してエントリデータ有効信号203が立ち上がる。その一方で、エントリデータ有効信号の反転信号204が立ち下がる。
続いて、エントリ読出し信号202は時刻t1で有効になると、D−FF回路71fに保持され、次のクロックt2でその出力信号315に1クロック周期のパルスが現れる。パルス発生器22cはこの信号の立ち上がりを検出し、パルス信号311を発生すると、NOR回路51b、インバータ回路52cを通してエントリデータ有効信号の反転信号204が立ち下がり、エントリデータ有効信号203が立ち上がる。
NOR回路51a,51bはループを形成しており、インバータ回路52b,52cを含めて非同期RS−FF回路23bの動作をすることがわかる。エントリ書込み信号200やエントリ読出し信号202は書込みエントリ管理回路10や読出しエントリ管理回路13内のループになったイネーブル付きD−FF回路によって連続して有効にならないため、パルス発生器22b,22cに入力する信号314,315は必ず1クロック周期の長さのパルスとなる。また、RS−FF回路23bの入力信号がパルスになっているため、入力側領域クロック100の周期と出力側領域クロック101の周期とが大きく異なっていても、誤動作を起こさない。
仮に、図4に示すように、パルス発生器を用いず、D−FF回路の出力をそのまま非同期RS−FF回路に入力した場合を考える。信号315の周期t2のように、1クロック周期のパルスが直接入力されると、有効信号203は時刻T6で解除される。すぐに信号314の周期T7のパルスでセットすると、このパルスが立ち下がった後でも、周期t2は完了していないため、信号315のパルスは有効のままで、再度リセットされる。そこで、本発明の実施の形態では、入力をパルスにすることによって、上記のような現象を避けることができる。
図5は本発明の一実施例によるFIFOバッファ回路のデータエントリレジスタの構成例を示す図である。本発明の一実施例によるFIFOバッファ回路の構成は図1及び図2に示す本発明の実施の形態によるFIFOバッファ回路と同様の構成となっており、以下、本発明の一実施例についても図1及び図2を参照して説明する。
図5において、データエントリレジスタ11a,11b,11c,11dはイネーブル端子のついたD−FF回路70aをデータのビット数分並べて構成している。データ入力103はビット毎に各D−FF回路70aの入力に与えられ、エントリ書込み信号200を受けると、データがD−FF回路70aに書込まれる。書込まれたデータは次のクロックで出力201に現れる。書込みのタイミングは入力側領域クロック100で決まる。
図6は本発明の一実施例によるFIFOバッファ回路の書込みエントリ管理回路の構成例を示す図である。図6において、書込みエントリ管理回路10はエントリ数分のイネーブル付きD−FF回路70f〜70iと、AND(論理積)回路50e〜50hとから構成され、イネーブル付きD−FF回路70f〜70iはリング状に接続されている。
初期状態ではエントリ(#0)の書込みエントリ管理フラグ300aがセットされ、他の書込みエントリ管理フラグ300b,300c,300dはすべてリセットされている。この図6には書かれていないが、リセットの機構を使って初期状態をこの状態にする。
書込みイネーブル信号102を有効にすると、AND回路50e〜50hによって各エントリの管理フラグとの論理積が行われ、セット状態の管理フラグ及び論理積された1つのエントリ書込み信号200aのみが有効になるとともに、セットされた管理フラグは次のエントリ(#1)の書込みエントリ管理フラグ300bに移る。
書込みイネーブル信号102が有効になる度に、書込みエントリ管理フラグ300a〜300dは1つずつ移動する。それによって出力されるエントリ書込み信号(WE0〜WE3)200a〜200dも1つずつ移動する。
図7は本発明の一実施例によるFIFOバッファ回路の読出しエントリ管理回路の構成例を示す図である。図7において、読出しエントリ管理回路13はエントリ数分のイネーブル付きD−FF回路70b〜70eと、AND回路50a〜50dとから構成され、イネーブル付きD−FF回路70b〜70eはリング状に接続されている。
初期状態ではエントリ(#0)の読出しエントリ管理フラグ301aがセットされ、他の読出しエントリ管理フラグ301b〜301dはすべてリセットされている。この図7には書かれていないが,リセットの機構を使って初期状態をこの状態にする。
読出しリクエスト信号104を有効にすると、AND回路50a〜50dによって各エントリの管理フラグとの論理積が行われ、セット状態の管理フラグ及び論理積された1つのエントリ読出し信号202aのみが有効となるとともに、セットされた管理フラグは次のエントリ(#1)の読出しエントリ管理フラグ301bに移る。
読出しリクエスト信号104が有効となる度に、読出しエントリ管理フラグ301a〜301dは1つずつずれていく。また、出力選択器16への選択信号(SEL)205として管理フラグが出力される。
図8は本発明の一実施例によるFIFOバッファ回路のパルス発生器の構成例を示す図である。図8において、パルス発生器は、遅延素子25と、インバータ52eと、AND回路53iとから構成されている。
パルス発生器では、入力信号を遅延素子25で遅延させ、インバータ52eで反転させた後、AND回路53iで元の信号との論理積を行う。入力パルスは少し遅れた信号でマスクされるため、立ち上がりにあわせてパルスが発生する。
図9は本発明の一実施例によるFIFOバッファ回路のフル信号生成回路の構成例を示す図である。図9において、フル信号生成回路14は、AND回路53eと、D−FF回路71o,71pと、OR回路54cとから構成されている。
フル信号生成回路14では、各エントリの有効信号203a〜203dの論理積をAND回路53eで行う。すべてのエントリ管理フラグが有効になると、フル状態であり、これ以上エントリにデータを登録しないようにするため、フル信号生成回路14はすぐにフル信号107を発行する。
エントリ管理フラグがセットされるのはエントリにデータが登録された時で、入力側領域クロック100に同期して起こるイベントである。また、フル信号107も入力側領域1に対して返される信号であるため、このパスの信号はすべて入力側領域クロック100に対して遅延が決まる。よって、フル信号生成回路14では、同期のためのD−FF回路を通す必要がなく、すぐさま(1クロック内に)、フル信号107を発行することができる。
一方、エントリ管理フラグがリセットされるのは出力側領域2からの読出しリクエスト信号104によるため、2段のD−FF回路71o,71pを通して入力側領域クロック100に同期させてフル信号107を立ち下げる必要がある。OR回路54cによってAND回路53eの出力とD−FF回路71pの出力とが論理和されてフル信号107を生成する。
図10は本発明の一実施例によるFIFOバッファ回路のエンプティ信号生成回路の構成例を示す図である。図10において、エンプティ信号生成回路15は、図9に示すフル信号生成回路14と同じ構成で、AND回路53aと、D−FF回路71a,71bと、OR回路54aとから構成されている。
エンプティ信号生成回路15は、すべてのエントリ管理フラグがリセットされる(有効信号の反転信号204が立ち上がる)と、エンプティ状態であるため、すぐにエンプティ信号106を発行する。
エントリ管理フラグがリセットされるのはエントリからデータが読出された時で、出力側領域クロック101に同期して起こるイベントである。また、エンプティ信号106も出力側領域2に対して返される信号であるため、このパスの信号はすべて出力側領域クロック101に対して遅延が決まる。よって、エンプティ信号生成回路15では、同期のためのD−FF回路を通す必要がなく、すぐさま(1クロック内に)、エンプティ信号106を発行することができる。
一方、エントリ管理フラグがセットされるのは入力側領域1からの書込みイネーブル信号102によるため、2段のD−FF回路71a,71bを通して出力側領域クロック101に同期させてエンプティ信号106を立ち下げる必要がある。OR回路54aによってAND回路53aの出力とD−FF回路71bの出力とが論理和されてエンプティ信号106を生成する。
図11は本発明の一実施例によるFIFOバッファ回路の出力選択器の構成例を示す図である。図11において、出力選択器16は、選択器21と、D−FF回路20とから構成されている。
出力選択器16では、エントリ数分の入力を持つ選択器21に、読出しエントリ管理回路13からの選択信号205を制御信号として与えて、エントリ保持データ(Data0〜Data3)206a〜206dの中から1つのデータを選択する。選択されたデータ302はD−FF回路20によって保持されてデータ出力105から出力する。
図12及び図13は本発明の一実施例によるFIFOバッファ回路を図4〜図11に示す回路構成とした場合の動作例を示すタイミングチャートである。以下、これら図12及び図13を参照して本発明の一実施例によるFIFOバッファ回路の動作について説明する。
図12は入力側領域クロック100の周期が出力側領域クロック101の周期より長い場合の例であり、連続してデータ入力103からデータが入力される。時刻T0ではデータ#1が入力され、データエントリレジスタ#0に登録される。その結果データ出力201aにデータ#1が時刻T1で現れる。また、エントリ管理フラグがセットされ、有効信号203aが立ち上がる。
続いて、データ#2が時刻T1で入力され、データエントリレジスタ#1に登録され、時刻T2でデータ出力201bに現れるとともに、有効信号203bが立ち上がる。以下、データエントリ#2にデータ#3が、データエントリ#3にデータ#4がそれぞれ登録されていく。
最初の有効信号203aがセットされたのを受け、出力側領域クロックの2クロック後、時刻t3でエンプティ信号106が無効となると、出力側のロジック回路は読出しリクエスト信号104を発行する。これによって、読出しエントリ管理回路13はエントリ読出し信号202aを時刻t3に発行して有効信号203aを時刻t4で立ち下げる。同時に、データ#1が読出される。
エンプティ信号は無効の状態であるため、続けて読出しが可能で、データ#2が時刻t5で、データ#3が時刻t6でそれぞれ読出される。やがて時刻t8でデータ#5が読出されると、データの登録が間に合わず、エンプティ信号106が有効になり、読出しリクエスト信号104を下げて読出しを一時停止する。その間、書込み側では次々とデータが書込まれ、再び時刻t11でエンプティ信号106が無効になると、読出しを再開することができる。この場合、入力側領域クロック100の周期が長いため、この動作中はフル状態にはならない。
図13は入力側領域クロック100の周期が出力側領域クロック101の周期より短い場合の例である。時刻T0でデータ#1を書込むと、データエントリレジスタ#0に登録されて、時刻T1でデータ出力201aにデータ#1が現れる。同時に、エントリ管理フラグがセットされ、有効信号203aが立ち上がる。
出力側ではこの2クロック後の時刻t2にエンプティ信号104が無効となる。これを受けて出力側ロジック回路は読出しリクエスト信号104を発行すると、読出しエントリ管理回路13がエントリ読出し信号202aを発行し、エントリ管理フラグをリセットし、時刻t3でデータ#1が読出される。
入力側は連続してデータを書き込んでいるが、読出し側の速度が遅いため、時刻T5ではエントリが満杯になり、フル信号107が有効となり、これを受けて書込みイネーブル102を無効にする。エントリの空きは時刻t4でできるが、入力側領域では同期をとって2クロック後のT8でフル信号が無効となり、書込みが再開される。読み出し側は連続して読出せ、この動作中はエンプティ信号が有効とならない。
このように、本実施例では、エントリの管理を行う回路に使われるD−FF回路の数が2つで、その他には非同期のRS−FF回路が1つ、パルス発生器が2つで構成されるだけであるから、クロックの同期化に伴う回路オーバヘッドを小さくすることができる。
また、本実施例では、同期をとるためのD−FF回路が各エントリ共通部分のフル信号生成回路やエンプティ信号生成回路の内にあり、1組ずつだけでから、クロックの同期化に伴う回路オーバヘッドを小さくすることができる。
さらに、本実施例では、制御のために外部回路に伝えるフル信号やエンプティ信号が有効になる時だけ同期機構を通さないため、遅滞なく、外部回路にこれらの信号を伝えることが可能であるから、回路オーバヘッドが少ない回路ながら、内部状態を表す信号を外部に遅滞なく伝えることができる。
図14は本発明の他の実施例によるFIFOバッファ回路のフル信号生成回路の構成例を示す図である。図14において、フル信号生成回路は、AND回路53g,53hと、D−FF回路71q,71rと、パルス発生器22dと、インバータ52dと、RS−FF回路23cと、OR回路54dとから構成されている。
上記の図13に示すタイミングチャートを見てわかるように、例えば、時刻T4では1クロック内にいったんフル信号が生成されるものの、エントリ#0のデータが読出されるため、すぐに解消されている。ところが、この解消タイミングは出力側領域クロック101で同期して入力される読出しリクエスト信号によって作られるものであり、フル信号の立ち下がりタイミングと入力側領域クロックの立ち上がりエッジのタイミングとが短く、セットアップを満たせない場合が発生する。
そこで、本実施例では、一度、フル信号107が立ち上がる状態(入力側領域クロックで同期をとった後の信号351がローでAND回路53gの出力350がハイの状態)をインバータ52dとAND回路53hとで検出すると、RS−FF回路23cをセットし、そのクロックがフル状態を示す。RS−FF回路23cは入力側領域クロック100の立ち上がりで同期して毎クロックリセットされるため、次のクロックでは再びフル状態が評価される。
この機構によって、フル信号107のタイミングエラーを回避することができる。クロックの半周期でタイミングエラーを回避できるのならば、入力側領域クロック100の立ち下がりで同期させて、毎クロックリセットしてもよい。また、安全のために中間信号350,351,354の論理和をとっているが、RS−FF回路23cの出力354とD−FF回路71rの出力351との論理和だけでも同様な効果が得られる。さらに、RS−FF回路23cのセットを中間信号350で行ってもよい。
図15は本発明の他の実施例によるFIFOバッファ回路のエンプティ生成回路の構成例を示す図である。図15において、エンプティ生成回路は、AND回路53c,53dと、D−FF回路71c,71dと、パルス発生器22aと、インバータ52aと、RS−FF回路23aと、OR回路54bとから構成されている。
図12のタイミングチャートを見てわかるように、上記のフル信号107と同様に、例えば、時刻t6,t7等はいったんエンプティ信号106が生成された後、同じクロック内に解除されている。立ち下がりのタイミングは入力側のクロック100に同期しているため、タイミングエラーを発生する可能性がある。
これを回避するために、本実施例では、図15に示す回路のように、RS−FF回路23aを使って、一度、エンプティ信号106が生成されたクロック周期内はエンプティであり続けるようにしている。RS−FF回路23aは出力側領域クロック101の立ち上がりに同期して毎クロックリセットされるため、次のクロックでは再びエンプティ状態が評価される。
この機構によって、エンプティ信号106のタイミングエラーを回避することができる。クロックの半周期でタイミングエラーを回避できるのなら、入力側領域クロック100の立ち下がりで同期させて、毎クロックリセットしてもよい。また、安全のために中間信号340,341,344の論理和をとっているが、RS−FF回路23aの出力344とD−FF回路71dの出力341との論理和だけでも同様な効果が得られる。さらに、RS−FF回路23aのセットを中間信号340で行ってもよい。
図16は図14に示すフル信号生成回路の動作を説明するタイミングチャートである。図16において、時刻T1でエントリ#3のエントリ管理フラグ203dが有効になると、すべてのエントリ管理フラグが有効となり、AND回路53gの出力信号350が立ち上がる。その結果、フル信号107も有効になる。
その後、同じ時刻T1の周期内にエントリ#0のエントリ管理フラグ203aが無効になるため、AND回路53gの出力は立ち下がる。図9に示す回路ではこの時点でフル信号107も立ち下がるのだが、図14に示す回路ではAND回路53gの出力が立ち上がった時点で非同期のRS−FF回路23cがセットされるため、その出力信号354がハイの状態であり、フル信号107は立ち上がったままとなる。
RS−FF回路23cはクロックから生成されたパルス信号353によって毎クロックリセットされるので、時刻T2ではリセットされ、フル信号107も解除される。AND回路53gの出力信号350がハイになる時間を長くして、時刻T3,T4のように2クロック周期の間、RS−FF回路23cがセットされた状態であるとすると、それが解消された後に、今度はD−FF回路71q,71rが保持してきた信号によってフル信号107を生成することになり、時刻T3から時刻T5の3クロック周期の間、フル信号107が有効になる。
さらに、長い期間、AND回路53gの出力信号350がハイである場合、立ち上がりから2クロック後に同期用のD−FF回路71rの出力が立ち上がるため、RS−FF回路23cをセットする信号354は解除される。それに代わって、D−FF回路71rの出力によってフル信号107を有効にするため、時刻T7から時刻T10までの4周期の間、フル信号107が有効になる。
図17は図15に示すエンプティ信号生成回路の動作を説明するタイミングチャートである。図17において、時刻T1でエントリ#3のエントリ管理フラグの反転信号204dが有効になると、すべてのエントリ管理フラグの反転信号が有効となり、AND回路53cの出力信号340が立ち上がる。その結果、エンプティ信号106も有効になる。
その後、同じ時刻T1の周期内にエントリ#0のエントリ管理フラグの反転信号204aが無効になるため、AND回路53cの出力は立ち下がる。図10に示す回路ではこの時点でエンプティ信号106も立ち下がるのだが、図15に示す回路ではAND回路53cの出力が立ち上がった時点で、非同期のRS−FF回路23aがセットされるため、その出力信号344がハイの状態であり、エンプティ信号106は立ち上がったままとなる。
RS−FF回路23aはクロックから生成されたパルス信号343によって毎クロックリセットされるので、時刻T2ではリセットされ、エンプティ信号106も解除される。AND回路53cの出力信号340がハイになる時間が長くなると、時刻T3,T4のように2クロック周期の間、RS−FF回路23aがセットされた状態であるとすると、それが解消された後に、今度はD−FF回路71c,71dが保持してきた信号によってエンプティ信号106を生成することになり、時刻T3から時刻T5の3クロック周期の間、エンプティ信号106が有効になる。
さらに、長い期間、AND回路53cの出力信号340がハイである場合、立ち上がりから2クロック後に同期用のD−FF回路71dの出力が立ち上がるため、RS−FF回路23aをセットする信号344は解除される。それに代わって、D−FF回路71dの出力によってエンプティ信号106を有効にするため、時刻T7から時刻T10までの4周期の間、エンプティ信号106が有効になる。
本発明の実施の形態による半導体ディジタル回路の構成を示すブロック図である。 図1のエントリ管理フラグ回路の構成例を示すブロック図である。 図2に示すエントリ管理フラグの動作を説明するタイミングチャートである。 図2に示すエントリ管理フラグの動作を説明するタイミングチャートである。 本発明の一実施例によるFIFOバッファ回路のデータエントリレジスタの構成例を示す図である。 本発明の一実施例によるFIFOバッファ回路の書込みエントリ管理回路の構成例を示す図である。 本発明の一実施例によるFIFOバッファ回路の読出しエントリ管理回路の構成例を示す図である。 本発明の一実施例によるFIFOバッファ回路のパルス発生器の構成例を示す図である。 本発明の一実施例によるFIFOバッファ回路のフル信号生成回路の構成例を示す図である。 本発明の一実施例によるFIFOバッファ回路のエンプティ信号生成回路の構成例を示す図である。 本発明の一実施例によるFIFOバッファ回路の出力選択器の構成例を示す図である。 本発明の一実施例によるFIFOバッファ回路を図4〜図11に示す回路構成とした場合の動作例を示すタイミングチャートである。 本発明の一実施例によるFIFOバッファ回路を図4〜図11に示す回路構成とした場合の動作例を示すタイミングチャートである。 本発明の他の実施例によるFIFOバッファ回路のフル信号生成回路の構成例を示す図である。 本発明の他の実施例によるFIFOバッファ回路のエンプティ生成回路の構成例を示す図である。 図14に示すフル信号生成回路の動作を説明するタイミングチャートである。 図15に示すエンプティ信号生成回路の動作を説明するタイミングチャートである。
符号の説明
1 入力側領域
2 出力側領域
10 書込みエントリ管理回路
11a〜11d データエントリレジスタ
12a〜12d エントリ管理フラグ回路
13 読出しエントリ管理回路
14 フル信号生成回路
15 エンプティ信号生成回路
16 出力選択器
20 NビットD−FF回路
21 Nビット4入力選択器
22a〜22d パルス発生器
23a〜23c 非同期RS−FF回路
24 同期式RS−FF回路
25 遅延素子
50a〜50h,
53a〜53i AND回路
51a,51b NOR回路
52a〜52n インバータ回路
54a〜54d OR回路
70a〜70i イネーブル付きD−FF回路
71a〜71r D−FF回路
100 入力側領域クロック(CLKI)
101 出力側領域クロック(CLKO)
102 書込みイネーブル信号
103 データ入力
104 読出しリクエスト信号
105 データ出力
106 エンプティ信号
107 フル信号
200a〜200d エントリ書込み信号
201a〜201d エントリ保持データ
202a〜202d エントリ読出し信号
203a〜203d 有効信号
204a〜204d 反転信号
205 選択信号
206a〜206d エントリ保持データ
300a〜300d 書込みエントリ管理フラグ
301a〜301d 読出しエントリ管理フラグ
302 データ
310 セット信号
311 リセット信号
312,313 内部信号
314,315 出力信号
340〜344 中間データ
350〜354 中間データ

Claims (20)

  1. 各々異なる動作クロックで動作する第1及び第2の回路領域間におけるデータの受け渡しを行う半導体ディジタル回路であって、
    データを保持する複数のデータエントリレジスタと、前記複数のデータエントリレジスタ各々における有効なデータの有無を管理するエントリ管理フラグ回路と、前記データエントリレジスタのうちのデータを書込む先を指定する書込みエントリ管理回路と、前記データエントリレジスタのうちのデータを読出す先を指定する読出しエントリ管理回路と、前記読出しエントリ管理回路の指示によってデータエントリレジスタの内容の1つを選択して出力する出力選択器とを有し、
    前記エントリ管理フラグ回路を、前記書込みエントリ管理回路からのエントリ書込み信号を入力としかつ前記第1の回路領域のクロックで動作する第1のDフリップフロップ回路と、前記読出しエントリ管理回路からのエントリ読出し信号を入力としかつ前記第2の回路領域のクロックで動作する第2のDフリップフロップ回路と、前記第1のDフリップフロップ回路の出力の立ち上がりエッジを検出してパルスを生成する第1のパルス発生器と、前記第2のDフリップフロップ回路の出力を入力としかつ前記第2のDフリップフロップ回路の立ち上がりエッジを検出してパルスを生成する第2のパルス発生器と、前記第1のパルス発生器の出力をセット入力としかつ前記第2のパルス発生器の出力をリセット入力とするとともに、正出力を有効信号出力としかつ反転出力を前記有効信号の反転出力とする非同期RSフリップフロップ回路とから構成することを特徴とする半導体ディジタル回路。
  2. 前記エントリ管理フラグ回路のそれぞれの出力から前記データエントリレジスタが一杯になったことを示すフル信号を生成するフル生成回路が、すべてのエントリ管理フラグ回路の有効信号を入力とする第1の論理積回路と、前記第1の論理積回路の出力を前記第1の回路領域のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第1の論理積回路の出力と前記Dフリップフロップ回路の出力との論理和をとる第1の論理和回路とからなり、前記第1の論理和回路の出力を前記フル信号とすることを特徴とする請求項1記載の半導体ディジタル回路。
  3. 前記エントリ管理フラグ回路の出力から前記データエントリレジスタの中に有効なデータがないことを示すエンプティ信号を生成するエンプティ生成回路が、すべてのエントリ管理フラグ回路の有効信号の反転を入力とする第2の論理積回路と、前記第2の論理積回路の出力を前記第2の回路領域のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第2の論理積回路の出力と前記Dフリップフロップ回路の出力との論理和をとる第2の論理和回路とからなり、前記第2の論理和回路の出力を前記エンプティ信号とすることを特徴とする請求項1または請求項2記載の半導体ディジタル回路。
  4. 前記エントリ管理フラグ回路のそれぞれの出力から前記データエントリレジスタが一杯になったことを示すフル信号を生成するフル生成回路が、すべてのエントリ管理フラグ回路の有効信号を入力とする第1の論理積回路と、前記第1の論理積回路の出力を前記第1の回路領域のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第1の論理積回路の出力が有効でかつ前記Dフリップフロップ回路の出力が無効であることを検出してセットしかつ前記第1の回路領域のクロックの立ち上がりエッジでリセットする第1の非同期RSフリップフロップ回路と、前記第1の論理積回路の出力と前記Dフリップフロップ回路の出力と前記第1の非同期RSフリップフロップ回路の出力との論理和をとる第1の論理和回路とからなり、前記第1の論理和回路の出力を前記フル信号とすることを特徴とする請求項1記載の半導体ディジタル回路。
  5. 前記エントリ管理フラグ回路の出力から前記データエントリレジスタの中に有効なデータがないことを示すエンプティ信号を生成するエンプティ生成回路が、すべてのエントリ管理フラグ回路の有効信号の反転を入力とする第2の論理積回路と、前記第2の論理積回路の出力を前記第2の回路領域のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第2の論理積回路の出力が有効でかつ前記Dフリップフロップ回路の出力が無効であることを検出してセットするとともに、前記第2の回路領域のクロックの立ち上がりエッジでリセットする第2の非同期RSフリップフロップ回路と、前記第2の論理積回路の出力と前記Dフリップフロップ回路の出力と前記第2の非同期RSフリップフロップ回路の出力との論理和をとる第2の論理和回路とからなり、前記第2の論理和回路の出力を前記エンプティ信号とすることを特徴とする請求項1または請求項4記載の半導体ディジタル回路。
  6. 第1のクロックで動作する回路領域から、第2のクロックで動作する回路領域へデータを転送するFIFO(First In First Out)バッファ回路であって、
    Nビット(Nは正の整数)のデータを保持するM個(Mは正の整数)のデータエントリレジスタと、前記データエントリレジスタのうちのデータを書込む先を指定する書込みエントリ管理回路と、前記データエントリレジスタのうちのデータを読出す先を指定する読出しエントリ管理回路と、前記読出しエントリ管理回路の指示によって前記データエントリレジスタの内容の1つを選択して出力する出力選択器と、前記データエントリレジスタ各々における有効なデータの有無を管理するMエントリのエントリ管理フラグ回路と、前記エントリ管理フラグ回路各々の出力から前記データエントリレジスタが一杯になったことを示すフル信号を生成するフル生成回路と、前記エントリ管理フラグ回路各々の出力から前記データエントリレジスタの中に有効なデータがないことを示すエンプティ信号を生成するエンプティ生成回路とを有し、
    前記データエントリレジスタと前記書込みエントリ管理回路と前記フル生成回路とを前記第1のクロックで動作させ、
    前記読出しエントリ管理回路と前記出力選択器と前記エンプティ生成回路とを前記第2のクロックで動作させ、
    前記エントリ管理フラグ回路を、前記書込みエントリ管理回路からのエントリ書込み信号を入力としかつ前記第1のクロックで動作する第1のDフリップフロップ回路と、前記読出しエントリ管理回路からのエントリ読出し信号を入力としかつ前記第2のクロックで動作する第2のDフリップフロップ回路と、前記第1のDフリップフロップ回路の出力を入力とする第1のパルス発生器と、前記第2のDフリップフロップ回路の出力を入力とする第2のパルス発生器と、前記第1のパルス発生器の出力をセット入力としかつ前記第2のパルス発生器の出力をリセット入力とするとともに、正出力を有効信号出力としかつ反転出力を前記有効信号の反転出力とする非同期RFフリップフロップ回路とから構成することを特徴とするFIFOバッファ回路。
  7. 前記フル生成回路が、すべてのエントリ管理フラグ回路の有効信号を入力とする第1の論理積回路と、前記第1の論理積回路の出力を前記第1のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第1の論理積回路の出力と前記Dフリップフロップ回路の出力との論理和をとる第1の論理和回路とからなり、前記第1の論理和回路の出力を前記フル信号とすることを特徴とする請求項6記載のFIFOバッファ回路。
  8. 前記エンプティ生成回路が、すべてのエントリ管理フラグ回路の有効信号の反転を入力とする第2の論理積回路と、前記第2の論理積回路の出力を前記第2のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第2の論理積回路の出力と前記Dフリップフロップ回路の出力との論理和をとる第2の論理和回路とからなり、前記第2の論理和回路の出力を前記エンプティ信号とすることを特徴とする請求項6または請求項7記載のFIFOバッファ回路。
  9. 前記フル生成回路が、すべてのエントリ管理フラグ回路の有効信号を入力とする第1の論理積回路と、前記第1の論理積回路の出力を前記第1のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第1の論理積回路の出力が有効でかつ前記Dフリップフロップ回路の出力が無効であることを検出してセットし、前記第1のクロックの立ち上がりエッジでリセットする第1の非同期RSフリップフロップ回路と、前記第1の論理積回路の出力と前記Dフリップフロップ回路の出力と前記第1のRSフリップフロップ回路の出力との論理和をとる第1の論理和回路とからなり、前記第1の論理和回路の出力を前記フル信号とすることを特徴とする請求項6記載のFIFOバッファ回路。
  10. 前記エンプティ生成回路が、すべてのエントリ管理フラグ回路の有効信号の反転を入力とする第2の論理積回路と、前記第2の論理積回路の出力を前記第2のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第2の論理積回路の出力が有効でかつ前記Dフリップフロップ回路の出力が無効であることを検出してセットし、前記第2のクロックの立ち上がりエッジでリセットする第2の非同期RFフリップフロップ回路と、前記第2の論理積回路の出力と前記Dフリップフロップ回路の出力と前記第2のRSフリップフロップ回路の出力との論理和をとる第2の論理和回路とからなり、前記第2の論理和回路の出力を前記エンプティ信号とすることを特徴とする請求項6または請求項9記載のFIFOバッファ回路。
  11. 各々異なる動作クロックで動作する第1及び第2の回路領域間におけるデータの受け渡しを行う半導体ディジタル回路に用いるデータ受け渡し方法であって、
    データを保持する複数のデータエントリレジスタ各々における有効なデータの有無をエントリ管理フラグ回路にて管理し、前記データエントリレジスタのうちのデータを書込む先を書込みエントリ管理回路にて指定し、前記データエントリレジスタのうちのデータを読出す先を読出しエントリ管理回路にて指定し、前記読出しエントリ管理回路の指示によってデータエントリレジスタの内容の1つを出力選択器で選択して出力するとともに、
    前記エントリ管理フラグ回路を、前記書込みエントリ管理回路からのエントリ書込み信号を入力としかつ前記第1の回路領域のクロックで動作する第1のDフリップフロップ回路と、前記読出しエントリ管理回路からのエントリ読出し信号を入力としかつ前記第2の回路領域のクロックで動作する第2のDフリップフロップ回路と、前記第1のDフリップフロップ回路の出力の立ち上がりエッジを検出してパルスを生成する第1のパルス発生器と、前記第2のDフリップフロップ回路の出力を入力としかつ前記第2のDフリップフロップ回路の立ち上がりエッジを検出してパルスを生成する第2のパルス発生器と、前記第1のパルス発生器の出力をセット入力としかつ前記第2のパルス発生器の出力をリセット入力とするとともに、正出力を有効信号出力としかつ反転出力を前記有効信号の反転出力とする非同期RSフリップフロップ回路とから構成することを特徴とするデータ受け渡し方法。
  12. 前記エントリ管理フラグ回路のそれぞれの出力から前記データエントリレジスタが一杯になったことを示すフル信号を生成するフル生成回路を、すべてのエントリ管理フラグ回路の有効信号を入力とする第1の論理積回路と、前記第1の論理積回路の出力を前記第1の回路領域のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第1の論理積回路の出力と前記Dフリップフロップ回路の出力との論理和をとる第1の論理和回路とから構成し、前記第1の論理和回路の出力を前記フル信号とすることを特徴とする請求項11記載のデータ受け渡し方法。
  13. 前記エントリ管理フラグ回路の出力から前記データエントリレジスタの中に有効なデータがないことを示すエンプティ信号を生成するエンプティ生成回路を、すべてのエントリ管理フラグ回路の有効信号の反転を入力とする第2の論理積回路と、前記第2の論理積回路の出力を前記第2の回路領域のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第2の論理積回路の出力と前記Dフリップフロップ回路の出力との論理和をとる第2の論理和回路とから構成し、前記第2の論理和回路の出力を前記エンプティ信号とすることを特徴とする請求項11または請求項12記載のデータ受け渡し方法。
  14. 前記エントリ管理フラグ回路のそれぞれの出力から前記データエントリレジスタが一杯になったことを示すフル信号を生成するフル生成回路を、すべてのエントリ管理フラグ回路の有効信号を入力とする第1の論理積回路と、前記第1の論理積回路の出力を前記第1の回路領域のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第1の論理積回路の出力が有効でかつ前記Dフリップフロップ回路の出力が無効であることを検出してセットしかつ前記第1の回路領域のクロックの立ち上がりエッジでリセットする第1の非同期RSフリップフロップ回路と、前記第1の論理積回路の出力と前記Dフリップフロップ回路の出力と前記第1の非同期RSフリップフロップ回路の出力との論理和をとる第1の論理和回路とから構成し、前記第1の論理和回路の出力を前記フル信号とすることを特徴とする請求項11記載のデータ受け渡し方法。
  15. 前記エントリ管理フラグ回路の出力から前記データエントリレジスタの中に有効なデータがないことを示すエンプティ信号を生成するエンプティ生成回路を、すべてのエントリ管理フラグ回路の有効信号の反転を入力とする第2の論理積回路と、前記第2の論理積回路の出力を前記第2の回路領域のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第2の論理積回路の出力が有効でかつ前記Dフリップフロップ回路の出力が無効であることを検出してセットするとともに、前記第2の回路領域のクロックの立ち上がりエッジでリセットする第2の非同期RSフリップフロップ回路と、前記第2の論理積回路の出力と前記Dフリップフロップ回路の出力と前記第2の非同期RSフリップフロップ回路の出力との論理和をとる第2の論理和回路とから構成し、前記第2の論理和回路の出力を前記エンプティ信号とすることを特徴とする請求項11または請求項14記載のデータ受け渡し方法。
  16. 第1のクロックで動作する回路領域から、第2のクロックで動作する回路領域へデータを転送するFIFO(First In First Out)バッファ回路に用いるデータ受け渡し方法であって、
    Nビット(Nは正の整数)のデータを保持するM個(Mは正の整数)のデータエントリレジスタのうちのデータを書込む先を書込みエントリ管理回路にて指定し、前記データエントリレジスタのうちのデータを読出す先を読出しエントリ管理回路にて指定し、前記読出しエントリ管理回路の指示によって前記データエントリレジスタの内容の1つを出力選択器にて選択して出力し、前記データエントリレジスタ各々における有効なデータの有無をMエントリのエントリ管理フラグ回路にて管理し、前記エントリ管理フラグ回路各々の出力から前記データエントリレジスタが一杯になったことを示すフル信号をフル生成回路にて生成し、前記エントリ管理フラグ回路各々の出力から前記データエントリレジスタの中に有効なデータがないことを示すエンプティ信号をエンプティ生成回路にて生成するとともに、
    前記データエントリレジスタと前記書込みエントリ管理回路と前記フル生成回路とを前記第1のクロックで動作させ、
    前記読出しエントリ管理回路と前記出力選択器と前記エンプティ生成回路とを前記第2のクロックで動作させ、
    前記エントリ管理フラグ回路を、前記書込みエントリ管理回路からのエントリ書込み信号を入力としかつ前記第1のクロックで動作する第1のDフリップフロップ回路と、前記読出しエントリ管理回路からのエントリ読出し信号を入力としかつ前記第2のクロックで動作する第2のDフリップフロップ回路と、前記第1のDフリップフロップ回路の出力を入力とする第1のパルス発生器と、前記第2のDフリップフロップ回路の出力を入力とする第2のパルス発生器と、前記第1のパルス発生器の出力をセット入力としかつ前記第2のパルス発生器の出力をリセット入力とするとともに、正出力を有効信号出力としかつ反転出力を前記有効信号の反転出力とする非同期RFフリップフロップ回路とから構成することを特徴とするデータ受け渡し方法。
  17. 前記フル生成回路を、すべてのエントリ管理フラグ回路の有効信号を入力とする第1の論理積回路と、前記第1の論理積回路の出力を前記第1のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第1の論理積回路の出力と前記Dフリップフロップ回路の出力との論理和をとる第1の論理和回路とから構成し、前記第1の論理和回路の出力を前記フル信号とすることを特徴とする請求項16記載のデータ受け渡し方法。
  18. 前記エンプティ生成回路を、すべてのエントリ管理フラグ回路の有効信号の反転を入力とする第2の論理積回路と、前記第2の論理積回路の出力を前記第2のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第2の論理積回路の出力と前記Dフリップフロップ回路の出力との論理和をとる第2の論理和回路とから構成し、前記第2の論理和回路の出力を前記エンプティ信号とすることを特徴とする請求項16または請求項17記載のデータ受け渡し方法。
  19. 前記フル生成回路を、すべてのエントリ管理フラグ回路の有効信号を入力とする第1の論理積回路と、前記第1の論理積回路の出力を前記第1のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第1の論理積回路の出力が有効でかつ前記Dフリップフロップ回路の出力が無効であることを検出してセットし、前記第1のクロックの立ち上がりエッジでリセットする第1の非同期RSフリップフロップ回路と、前記第1の論理積回路の出力と前記Dフリップフロップ回路の出力と前記第1のRSフリップフロップ回路の出力との論理和をとる第1の論理和回路とから構成し、前記第1の論理和回路の出力を前記フル信号とすることを特徴とする請求項16記載のデータ受け渡し方法。
  20. 前記エンプティ生成回路を、すべてのエントリ管理フラグ回路の有効信号の反転を入力とする第2の論理積回路と、前記第2の論理積回路の出力を前記第2のクロックに同期させるための1個のDフリップフロップ回路及び複数個を従属接続したDフリップフロップ回路のうちのいずれかと、前記第2の論理積回路の出力が有効でかつ前記Dフリップフロップ回路の出力が無効であることを検出してセットし、前記第2のクロックの立ち上がりエッジでリセットする第2の非同期RFフリップフロップ回路と、前記第2の論理積回路の出力と前記Dフリップフロップ回路の出力と前記第2のRSフリップフロップ回路の出力との論理和をとる第2の論理和回路とから構成し、前記第2の論理和回路の出力を前記エンプティ信号とすることを特徴とする請求項16または請求項19記載のデータ受け渡し方法。
JP2005298267A 2005-10-13 2005-10-13 半導体ディジタル回路、fifoバッファ回路及びそれらに用いるデータ受け渡し方法 Expired - Fee Related JP4730051B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005298267A JP4730051B2 (ja) 2005-10-13 2005-10-13 半導体ディジタル回路、fifoバッファ回路及びそれらに用いるデータ受け渡し方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005298267A JP4730051B2 (ja) 2005-10-13 2005-10-13 半導体ディジタル回路、fifoバッファ回路及びそれらに用いるデータ受け渡し方法

Publications (2)

Publication Number Publication Date
JP2007108966A JP2007108966A (ja) 2007-04-26
JP4730051B2 true JP4730051B2 (ja) 2011-07-20

Family

ID=38034790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005298267A Expired - Fee Related JP4730051B2 (ja) 2005-10-13 2005-10-13 半導体ディジタル回路、fifoバッファ回路及びそれらに用いるデータ受け渡し方法

Country Status (1)

Country Link
JP (1) JP4730051B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05145430A (ja) * 1991-11-21 1993-06-11 Fujitsu Ltd データ速度変換回路
DE69423069T2 (de) * 1993-10-29 2000-08-24 Hyundai Electronics America, Milpitas System für Datentransfer
JPH11120757A (ja) * 1997-10-13 1999-04-30 Toyo Commun Equip Co Ltd Fifoレジスタ回路
JP3001544B1 (ja) * 1998-11-17 2000-01-24 日本電気アイシーマイコンシステム株式会社 パルス同期化回路
EP1124179B1 (en) * 2000-02-09 2007-10-17 Texas Instruments Incorporated An apparatus for signal synchronization between two clock domains
JP4389459B2 (ja) * 2003-03-28 2009-12-24 ソニー株式会社 データバッファ装置

Also Published As

Publication number Publication date
JP2007108966A (ja) 2007-04-26

Similar Documents

Publication Publication Date Title
US5448715A (en) Dual clock domain interface between CPU and memory bus
US10027433B2 (en) Multiple clock domains in NoC
Sjogren et al. Interfacing synchronous and asynchronous modules within a high-speed pipeline
US6308229B1 (en) System for facilitating interfacing between multiple non-synchronous systems utilizing an asynchronous FIFO that uses asynchronous logic
US7064690B2 (en) Sending and/or receiving serial data with bit timing and parallel data conversion
US20080005402A1 (en) Gals-based network-on-chip and data transfer method thereof
JP4858445B2 (ja) 半導体ディジタル回路、fifoバッファ回路及びデータ受け渡し方法
US7583106B2 (en) Clock circuitry
JP2011227919A (ja) 混合された非同期および同期システム用少待ち時間fifo回路
US6249875B1 (en) Interface circuit using plurality of synchronizers for synchronizing respective control signals over a multi-clock environment
JP2008178017A (ja) クロック同期システム及び半導体集積回路
JP3488224B2 (ja) 遷移信号制御装置とそれを用いたdmaコントローラ及び遷移信号制御プロセッサ
Chattopadhyay et al. GALDS: a complete framework for designing multiclock ASICs and SoCs
US6640277B1 (en) Input staging logic for latching source synchronous data
JP4730051B2 (ja) 半導体ディジタル回路、fifoバッファ回路及びそれらに用いるデータ受け渡し方法
JP2003157228A (ja) データ転送回路
WO2003038687A2 (en) Optimization of the design of a synchronous digital circuit
US7123674B2 (en) Reducing latency and power in asynchronous data transfers
Wasif et al. Energy efficient synchronous-asynchronous circuit-switched NoC
WO2009110588A1 (ja) データ転送装置及び方法並びに半導体回路
US5828872A (en) Implementation of high speed synchronous state machines with short setup and hold time signals
US6282149B1 (en) Circuit and method for synchronized data banking
JP2004326222A (ja) データ処理システム
JP2002141922A (ja) ループ型バスシステム
Kessels et al. Bridging clock domains by synchronizing the mice in the mousetrap

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110309

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110404

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees