JP3090330B2 - 出力信号発生装置及びその方法並びにfifoメモリ - Google Patents

出力信号発生装置及びその方法並びにfifoメモリ

Info

Publication number
JP3090330B2
JP3090330B2 JP02318162A JP31816290A JP3090330B2 JP 3090330 B2 JP3090330 B2 JP 3090330B2 JP 02318162 A JP02318162 A JP 02318162A JP 31816290 A JP31816290 A JP 31816290A JP 3090330 B2 JP3090330 B2 JP 3090330B2
Authority
JP
Japan
Prior art keywords
difference signal
signal
logic state
output
circuit
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
JP02318162A
Other languages
English (en)
Other versions
JPH03194786A (ja
Inventor
デイヴィッド・チャールズ・マックルアー
Original Assignee
エスジーエス―トムソン・マイクロエレクトロニクス・インコーポレイテッド
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
Priority claimed from US07/454,408 external-priority patent/US5121346A/en
Application filed by エスジーエス―トムソン・マイクロエレクトロニクス・インコーポレイテッド filed Critical エスジーエス―トムソン・マイクロエレクトロニクス・インコーポレイテッド
Publication of JPH03194786A publication Critical patent/JPH03194786A/ja
Application granted granted Critical
Publication of JP3090330B2 publication Critical patent/JP3090330B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • G06F7/026Magnitude comparison, i.e. determining the relative order of operands based on their numerical value, e.g. window comparator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/12Indexing scheme relating to groups G06F5/12 - G06F5/14
    • G06F2205/126Monitoring of intermediate fill level, i.e. with additional means for monitoring the fill level, e.g. half full flag, almost empty flag

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、ユーザがプログラム可能な状態フラグを
必要とするFIFOメモリに関し、特に非周期ポインタ間の
相対差を測定し、測定した差の大きさがプログラマブル
値より大きいか、等しいか或は小さいかを決定する方法
及び回路に関する。
〔従来の技術〕
ファーストイン・ファーストアウト(FIFO)メモリは
書込みクロックと同期したデータを受けて、読取りクロ
ックと同期したデータを出力し、読取りクロック及び書
込みクロックは互いに非同期である。FIFOメモリは複数
の直列に配列された蓄積セルを有し、これ等のセルは連
続的に書込まれ、そこから読み出される。用語“書込み
ポインタ”は蓄積セルが現在書き込まれていることを示
すのに使用され、用語“読取りポインタ”は蓄積セルが
現在そこから読み出されていることを示すのに使用され
る。
FIFOメモリがビットエラーを生じないで動作するため
に、各蓄積セルは交互に書込まれ、それから読み出され
る。すなわち蓄積セルは中間の読取り動作なしには連続
して2回書込まれず、蓄積セルは中間の書込み動作なし
には連続して2回読み出されない。この種のビットエラ
ーが発生するのを防ぐために、FIFOメモリは書込みポイ
ンタ及び読取りポインタが所定数のメモリセルで分離さ
れているかどうかを検出し、出力端子に状態フラグを発
生し、この状態フラグはメモリが一杯かまたは空かを示
す。定義により、データはそれが書込みされるまで読取
り出来ないので、書込みポインタは常に読取りポインタ
に先行する。
更に、データのパケット、例えば1バイトのデータは
しばしばグループとして転送しなければならないので、
時々、この例では、メモリが一杯から8ビットかまたは
空から8ビットであるから検出するほとんど一杯フラグ
(almost full flag)及びほとんど空フラグ(almost e
mpty flag)を供給するのが必要である。半分またはそ
れ以上のメモリが連続読取り動作なしに書込まれるかど
うかを示す半状態フラグがまた所望される。
FIFOメモリを制御する読取りクロック及び書込みクロ
ックは全体に非同期であるため、メモリの状態を適切に
検出することは非常に困難である。その非同期の特徴の
ため、FIFOメモリはクロックがスキューするようになり
且つ、異なる周波数で動作するような仲裁問題(arbitr
ation problem)を起こしがちである。
従来、多数のカウンタが一般に状態フラグを発生する
のに使用されて来た。各フラグに対して読取りクロック
のものと書込みクロックのものがあるこれ等のカウンタ
は、所望の状態フラグに応じて異なった値にプリセット
される。所定のフラグに対して、読取りカウンタ及び書
込みカウンタの出力は、代表的には排他的ORゲートを用
いて比較される。整合状態が検出されるならば、ワンシ
ョットパルスが発生されて、FIFOメモリが整合の前にほ
とんど空であったかどうかを示すラッチをトグルし、も
はやFIFOメモリはほとんど空でなく、逆にFIFOメモリが
ほとんど空状態でなかったならば、いまやFIFOメモリは
ほとんど空状態である。
例えば、読取りカウンタ及び書込みカウンタが最初に
8離れてリセットされたならば、カウンタの実際の整合
状態はカウントが、そのときに、8だけ異なることを表
す。これは、ほとんど空又はほとんど一杯フラグを発生
するのに使用される。不明確なフラグの定義を避けるた
めには、整合状態はフラグの状態を決めるのに十分でな
い。整合状態のみが使用されるならば、8のカウント差
はほとんど空及びほとんど空でないの両方を表す。所望
の定義では8以下をほとんど空であり、一方9以上はほ
とんど空でないといえる。この定義を設けるため、ワン
ショットパルスがクロックの種々の過渡期で発生され
る。整合状態と共にパルスの状態は、整合状態が丁度合
致しているか(ほとんど空)、整合状態が前のサイクル
に合致してか、現在のサイクルが書込みサイクル(ほと
んど空でないに向かう)であるかを検出できる。カウン
タの整合状態と、読取りクロック、書込みクロックから
発生されたワンショットパルスの状態の組合わせに遭遇
するとセットまたはリセットされるフリップフロップす
なわちラッチが一般に使用される。
一たん整合状態が合致して例えば空を表すと、有効な
書込みが終了するまで全て次の読取りがディセーブルさ
れるので、空及び一杯フラグを発生するのに少し容易と
なる。逆に、一たん一杯状態になると、有効な読取りが
終了するまで全て次の書込みがディセーブルされる点で
一杯フラグに対しても真実である。結果として、ユーザ
は整合状態(例えば、約半分一杯又は半分一杯以下)の
いずれかの例を横断せず、整合状態は空(又は一杯)の
状態を明確に明示し、一方非整合状態は明らかに空でな
い(又は一杯でない)ことを決める。結果として、ワン
ショットパルスは必要ない(出力信号をデグリッチする
可能性以外)そしてラッチした論理は必要ない。
〔発明が解決しようとする課題〕
一杯フラグ及び空フラグをほとんど一杯フラグ及び半
分一杯フラグと比較するのに異なるタイプの論理が必要
であることがわかる。多数の状態フラグを発生するため
に、異なった初期状態にリセットされる多数のカウンタ
が必要である。これは過大なレイアウト面積を必要と
し、読取り及び書込みクロックの負荷を増大し、多数の
カウンタの切換えのためにワンチップノイズ及びダイナ
ミック電流を増大する。重大な内部タイミングが維持で
きずそしてワンショットパルスが注意深く設計且つ整形
できないならば仲裁問題が起きる。この問題はカウンタ
の整合状態を横切って前後に横断するときに起き、これ
はフラグがセット又はリセット(ほとんど及び半分一杯
フラグ)される点である。フラグが不適当にセット又は
リセットされるならば、ラッチした回路の特性のため、
整合状態が再び合致するまで、それは回復しない。これ
は、悪い位置のフラグセットで一杯(又は空)状態を続
けることは必要でないので、受け入れられない。ある理
由で、フラグが1サイクルの間悪い状態になると、回路
の基本特性はそれを回復できないものとする。FIFOメモ
リを制御する読取り及び書込みクロックが全体に非同期
であるので、メモリの適切な状態検出は非常に難しい。
その非同期の特徴のため、クロックがスキューするよう
になり且つ異なる周波数で動作するような仲裁問題をFI
FOメモリは起こしがちである。従って、仲裁感度から解
放され、沢山のオーバヘッド回路なしに種々の状態フラ
グを容易に供給できる信頼性のある高速フラグ回路が必
要である。
種々のポインタ間の相対差の大きさは、使用されてい
る情報の状態について有効な情報を提供し、将来の動作
が最適な方法で如何に行われるかを提供する。或るシス
テムでは、この差閾が実施される動作に応じて進行して
変化することが必要であり、この場合、ユーザがプログ
ラム可能なフラグが望ましい。
〔課題を解決するための手段〕
この発明はユーザがプログラム可能なフラグの基準値
をもつフラグ回路を提供し、ポインタ間の相対差だけ越
えるかまたは等しいとき、フラグがセットされる。ポイ
ンタ間の相対差が基準値以下に減少すると、フラグはリ
セットされる。
プログラマブル値を有する状態フラグは同じ読取りク
ロック、書込みクロック及びポインタにより使用される
ようなリセット信号を使用する。クロック及びそれ等の
補数信号並びにリセット信号は読取り及び書込みカウン
タに入力される。カウンタはクロックの正方向端及び負
方向端の両方に基づいて読取り及び書込みNビット2進
カウントを生じる。或るFIFO用途のために、空及び殆ど
空フラグに対して、書込みカウントがクロックの負端か
ら発生され、読取りカウントがクロックの正端から発生
されることが必要である。逆に、一杯、半分一杯及びほ
とんど一杯フラグに対して、書込みカウントがクロック
の正端から発生され、読取りカウントがクロックの負端
から発生される。読取り及び書込みカウント信号が“N"
全減算器を含むNビット減算器に供給される。各差出力
対は大きさ比較器に供給される。同じ“N"番号の大きさ
比較器ビットが、減算器に対して使用されるように、使
用される。比較器は、それが通過トランジスタを使用
し、バッファされ、最下位ビットから最上位ビットまで
働く点で減算器ボローチェーンと同じ比較チェーンを有
する。比較チェーンは、減算器に対して使用されるのと
同じインバータバッファ構成を使用する。
比較器は2進プログラム値を減算器により発生された
差信号と比較する。差信号及びプログラム信号に対する
2進値が等しければ、前の比較ビットから比較チェーン
の値が通過する。差信号及びプログラム信号が異なる
と、プログラム値が通過する。最後に、最終ビット比較
チェーン出力はろ過されないフラグ出力を表す。多数の
大きさ比較器が並列に使用され、各々はそれ自身のプロ
グラムされた2進基準値を有し、フラグとして働く。
この発明の動作の特徴及び利点は、添付した図面と関
連して行う詳細な説明を読むことにより当業者には明ら
かとなろう。
〔実施例〕
簡略化のため、参照番号は対応する特徴を示すため図
面中で反復され、第9図に示すタイミング信号はこの発
明の好適実施例のタイミング関係をもっと明確に示すた
め一定の割合いで必ずしも描かれていない。
この発明の好適実施例による2つの非同期指示値とプ
ログラマブル値の間の相対差を比較する回路はFIFOメモ
リのフラグ発生回路内で実施され、2つのカウンタ、書
込みカウンタ、読出しカウンタ、減算器、増幅比較器、
デグリッチ回路及びプログラム選択デコーダを含む。フ
ラグ発生回路は書込みクロック信号及び読出しクロック
信号の数をカウントし、これ等の2つのカウント値を減
じて差信号を形成するように動作する。その後この差信
号は比較器で所定数と比較され、ろ過されないフラグ信
号はこの比較の結果を示す。デグリッチ回路は書込みク
ロックまたは読出しクロックのいずれかの適当な端部が
受信された時はいつでも出力信号をラッチし、受信した
書込みクロック又は読出しクロック信号の結果がカウン
タ、減算器及び比較器を通して伝送されるまで出力信号
を変化から保持するように働く。このブランキング時間
後、ろ過されないフラグ信号の出力はフラグ出力信号に
通過される。プログラム選択デコーダは2進プログラム
値をメタル−プログラマブルに対向するようにユーザー
プログラマブルとする。
図面において、第1図はFIFOメモリ10のブロック図を
示し、このFIFOメモリ10はFIFOメモリ10に対する状態フ
ラグを発生する回路12を含む。またFIFOメモリ10はFIFO
メモリ10の種々のブロックの間にインタフェース回路を
提供するためのシリアルメモリアレイ14及び論理回路16
を含む。
第1図に示すように、FIFOメモリ10はDATA IN端子1
8、DATA OUT端子20、WRITE CLOCK端子22、READ CLOCK端
子24及びRESET端子26を含む複数の外部端子を有する。F
IFOメモリ10はまた端子28上の一杯フラグ信号FF、端子3
0上の空フラグ信号EF、端子32上のほとんど一杯フラグ
信号AFF、端子34上ののほとんど空フラグ信号AEF、端子
36上の半分一杯フラグ信号HFFを含む複数の状態フラグ
信号を有する。
FIFOメモリ10は先ず端子26のRESET信号によりリセッ
トされて作動し、このRESET信号はシリアルメモリアレ
イ14の第1のメモリセルに読取りポインタ及び書込みポ
インタをリセットする。この点で端子30の空フラグ信号
FFはFIFOメモリ10が空であることを示し、また端子34の
ほとんど空フラグ信号AFFはFIFO10がほとんど空の状態
であることを示し、これはこの好適実施例ではそれ等の
最後の動作として書込まれた書込みポインタ及び読出し
ポインタ間に8個より少ないメモリセルが存在すること
を意味する。端子22の第1の書込みクロック信号の受信
後端子30の空フラグ信号FFは空のFIFOメモリ10を表示す
るのをやめるが、端子34のほとんど空フラグ信号のAFF
はほとんど空の状態を表示し続ける。読取りクロック信
号の数より8以上の書込みクロック信号が存在すると、
端子34のほとんど空フラグ信号AFFはほとんど空の状態
を表示するのをやめる。
FIFOメモリ10が半分一杯になると、端子36の半分一杯
フラグ信号AEFは半分一杯の状態を示し、読取りポイン
タ及び書込みポインタ間のメモリセルの数が最大メモリ
空間より少ない8以下となると、端子34のほとんど一杯
フラグ信号AFFはほとんど一杯の状態を示し、端子36の
半分一杯フラグ信号AEFは半分一杯の状態を表示し続け
る。メモリセルの全てがそれ等の最後の動作として書込
みされているような読取りポインタと同じセルを書込み
ポインタが指示しているとき、端子28の一杯フラグ信号
FFはFIFOメモリ10がデータで一杯であることを示し、端
子34のほとんど一杯フラグ信号AFFはまたほとんど一杯
の状態を示し、端子36の半分一杯フラグ信号はまた半分
一杯の状態を示す。
第2図はフラグ発生回路12を示す。フラグ発生回路12
は書込みカウンタブロック40及び読取りカウンタブロッ
ク42を含む。読取りカウンタブロック42はライン44にRC
として示す読取りクロック及びライン46にRCBとして示
す読取りクロックバー信号を受ける。読取りカウンタブ
ロック42はまたライン48にRRとして示すリセット信号を
受ける。同様に、書込みカウンタブロック42はライン50
にWCとして示す書込みクロック信号、ライン52にWCBと
して示す書込みクロックバー信号及びライン54にWRとし
て示す書込みリセット信号を受ける。
読取りカウンタブロック42及び書込みカウンタ40は共
に2組のQ出力を有し、第1組はクロックパルスの前縁
で変化するRQ及びWQであり、第2組はクロックパルスの
後縁で変化するRQN,WQNである。従って、第2図に示す
ように、書込みカウンタブロック40はクロックパルスの
前縁で変化する書込みカウンタ40の出力を含むWQバス56
を有する。このWQバス56は第1の減算器ブロック58への
入力である。書込みカウンタブロック40の第2の出力バ
スはWQNバス64であり、このWQNバス64は書込みクロック
の後縁で変化する書込みカウンタ40の出力を有する。WQ
Nバス64は第2の減算器ブロック62への入力である。同
様の方法で、読取りカウンタブロック42は第2の減算器
ブロック62への入力であるRQ出力バス60及び第1の減算
器ブロック58への入力であるRQN出力バス66を有する。
第1の減算器ブロック58はWQバス56の値からRQNバス6
6の値を減算し、差バス68に差出力を得る。差バス68は
ほとんど一杯比較器ブロック72及び一杯比較器ブロック
74への入力である。半分一杯比較器ブロック70は説明の
ため示すように、PHFとして示すプログラム値バス入力7
6を有する。同様に、ほとんど一杯比較器ブロック72はP
AFとして示すプログラム値バス入力78を有し、一杯比較
器ブロック74はPFとして示すプログラム値バス入力80を
有する。一実施例では、フラグプログラム値PHF,PAF及
びPFはFIFOメモリ10の集積回路の金属化層にエンコード
される。好適実施例では、フラグ値PHF,PAF及びPFはユ
ーサープログラマブルされ、電子後に後述のレジスタに
2進数として記憶される。
半分一杯比較器ブロック70の出力は、ラッチ回路84の
D入力端に接続されたラライン82に供給される。ラッチ
回路84の出力は端子36の半分一杯フラグ信号を形成す
る。ほとんど一杯比較器ブロック72の出力は他のラッチ
回路88のD入力端に接続されたライン86に供給され、ラ
ッチ回路88の出力は端子32のほとんど一杯フラグ信号を
形成する。一杯比較器ブロック74の出力はラッチ回路92
のD入力端に接続されたライン90に供給され、ラッチ回
路92の出力は端子28の一杯フラグ信号を形成する。
ラッチ回路84,88及び92のクロック入力端はライン93
を介してデグリッチ回路94の出力端に接続される。デグ
リッチ回路94は入力としてライン50の書込みクロック信
号WC、ライン46の読出しクロックバー信号RCB及び2つ
のリセット信号すなわちライン54の書込みリセット信号
WR、ライン48の読出しリセット信号RRを有する。
第2の減算器ブロック62はWQNバス64のカウント値か
らRQバス60のカウント値を減じ、差バス96に差信号を得
る。差バス96はほとんど空比較器ブロック98及び空比較
器ブロック100の入力端に接続される。ほとんど空比較
器ブロック98はプログラム値の第2の入力端を有し、こ
れは説明のため、PAEと付けたデータバス102として示さ
れている。同様に空比較器ブロック100はデータバス104
にPEとして示すプログラム値の第2の入力端子を有す
る。好適実施例では、プログラム値PAE及びPEはFIFOメ
モリ10の集積回路内のレジスタで2進数としてエンコー
ドされる。
ほとんど空比較器ブロック98の出力側はライン106を
介してラッチ回路108のD入力端に接続され、ラッチ回
路108の出力はインバータ109で反転され端子34にほとん
ど空フラグ信号AEFを形成する。空比較器ブロック100の
出力側はライン110を介してラッチ回路111のD入力端に
接続され、ラッチ回路111の出力はインバータ112で反転
され、端子30に空フラグ信号EFを形成する。ラッチ回路
108及び111のクロック入力端はライン113を介して第2
のデグリッチ回路114の出力端に共通接続される。この
デグリッチ回路114は入力としてライン44に読取りクロ
ック信号、ライン52に書込みクロックバー信号、及び2
つのリセット信号すなわちライン54に書込みリセット信
号、ライン48に読取りリセット信号を有する。
動作中、第2図に示すフラグ発生回路12は書込みカウ
ンタブロック40及び読取りカウンタブロック42を用い
て、これ等のカウンタがライン54及び48の各リセット命
令でリセットされた後書込みクロックパルス及び読取り
クロックパルスの数をカウントする。好ましい実施例で
は、FIFOメモリ10は11のデータビットを要求する2048の
記憶セルを有し、書込みポインタ又は読取りポインタの
位置を特定する。カウンタブロック40及び42、減算器ブ
ロック58及び62、比較器ブロック70,72,74,98及び100は
12ビット幅であり、この12ビットはFIFO空状態からFIFO
一杯状態を区別するのに使用される。通常の動作におい
て、書込みカウンタ40及び読取りカウンタ42は共に同時
にリセットされるが、当業者にはわかるように、書込み
カウンタ40又は読取りカウンタ42は、それがメモリセル
のいくつかに情報を再書込みするかまたはメモリセルの
いくつかから再読取りするのに所望されるときに個別に
リセットされる。
減算器ブロック58は出力端子36,32及び28夫々半分一
杯フラグ、ほとんど一杯フラグ及び一杯フラグの発生に
使用される。減算器ブロック58は書込みカウンタブロッ
ク40からWQバス56に12ビットのカウントデータを受け、
このカウントデータは書込みクロック信号の前縁で変化
し、また減算器ブロック58は読取りカウンタブロック42
から12ビットのカウントデータを受け、このカウントデ
ータは読取りクロック信号の後縁で変化する。これ等の
特定のクロック端縁は、好適実施例では、フラグ発生回
路が読取り及び書込み制御回路を組合わさって、同じメ
モリセルを同時に書込んだり、読取ったりしないように
することを確実にするのに使用される。減算器ブロック
58はバス66の読取りカウント値をバス56の書込みカウン
ト値から減算し、差バス68に差を生じる。半分一杯比較
器ブロック70、ほとんど一杯比較器ブロック72及び一杯
比較器ブロック74は差バス68のこの差を一組の所定数、
特にバス76の所定の半分一杯プログラム値、バス78の所
定のほとんど一杯プログラム値及びバス80の所定の一杯
プログラム値と比較する。比較器ブロック70,72及び74
は差バス68の数がバス76,78及び80のプログラム値より
少ないと、その出力が論理レベル1となる。
同様の方法で、減算器ブロック62は、読取りクロック
の前縁で変化するRQバス60上の12ビットのカウントデー
タを、書込みクロックの後縁で変化するWQNバス64上の1
2ビットのカウントデータから減算し、差バス96に差を
形成する。差バス96の数は、ほとんど空比較器ブロック
98でバス102のプログラム値PAEと比較され、空比較器ブ
ロック100でバス104のプログラム値PEと比較される。比
較器ブロック98及び100は比較器ブロック70,72及び74と
同じ方法で動作する。すなわち、各比較器ブロック98又
は100は差バス96の数がバス102及び104のプログラム値
より少ないと、その出力が論理レベル1となる。比較器
ブロック98及び100の出力はラッチ回路108及び111に夫
々通され、それから夫々インバータ109及び113を通って
端子34にほとんど空フラグ信号、端子30に空フラグ信号
を形成する。
好適な実施例では、プログラム値は以下の如くであ
る。
プログラム値バス プログラム値 PE 1 PAE 8 PHE 1025 PAF 2041 PF 2048 これ等のプログラム値で、出力端子28−36のフラグ信
号は次の論理レベルを有する。
デグリッチ回路94及び114は、以下に詳細に述べるよ
うに、誤った信号がこれ等出力に現れる時間の間中、比
較器ブロック70,72,74,98及び100の出力から端子28,30,
32,34及び36の出力フラグ信号を分離又は絶縁するよう
に働く、特に、デグリッチから94は書込みクロックパル
スの前縁又は読取りクロックパルスの後縁の検出でラッ
チ回路84,88及び92のクロック入力端にワンショットパ
ルスを供給する。ワンショットパルスの幅は書込みカウ
ンタブロック40及び読取りカウンタブロック42、減算器
ブロック42及び比較器ブロック70,72及び74による遅延
を補償するのに十分である。デグリッチ回路114は同じ
ような方法で、読取りクロックパルスの前縁又は書込み
クロックパルスの後縁の検出で、ラッチ回路108及び111
にワンショットパルスを供給するように働く。ラッチ回
路84,88,92,108及び111は、デグリッチ回路94及び114か
らの出力信号で、論理レベル0のデータを通過し、各デ
グリッチ回路からの出力信号が論理レベル1である時間
中、すなわちワンショットパルスが現れれるとき入力か
ら出力を絶縁する。
第3図は書込みカウンタブロック40及び読取りカウン
タブロック42の論理図である。カウンタブロック40及び
42は12段のカウンタであり、これは分析のため、6区分
に分割される。すなわち、第1区分120は3段からな
り、要素番号122,124,126及び128として示す第2、第
3、第4及び第5区分は同一で、各々2段からなり、最
後の区分130は単一の段からなる。カウンタブロック40
及び42の各段は、第3図に示すように、T型フリップフ
ロップ132を使用し、各段は当業者には容易にわかる方
法で相互接続される。カウンタブロック40及び42は段間
の結合のため2,3の入力NANDゲートのみを使用すればよ
い利点がある。
カウンタブロック40及び42で使用されるT型フリップ
フロップ132の論理図を第4図に示す。T型フリップフ
ロップ132のQ及びQN出力はT入力が論理レベル0なら
ばクロックパルスの受信でトグルし、T入力が論理レベ
ル1ならばトグルしない。都合の良いことに、Q出力は
クロックパルスの前縁でトグルし、これは好適実施例で
は、クロックすなわちC入力が立上がり、クロックバー
すなわちCB入力が立下がるときであり、一方QN出力はク
ロックパルスの後縁で変化し、これは好適実施例では、
C入力が立下がり、CB入力が立上るときである。第4図
に示すように、T入力は排他的NORゲート134のT型フリ
ップフロップのQ出力と組合わされる。排他的NORゲー
ト134の出力端はD型フリップフロップ135のD入力端に
接続され、D型フリップフロップ135は第1の伝送ゲー
ト136、これに続く2つの逆並列のインバータ138及び14
0、これに続く第2の伝送ゲート142、これに続く他の対
をなす逆並列のインバータ144及び146から成る。インバ
ータ144の出力はT型フリップフロップ132のQ出力を形
成する。排他的NORゲート134及びD型フリップフロップ
135は慣用の方法で動作し、当業者には周知である。D
型フリップフロップ135の出力端はラッチ段147に接続さ
れ、このラッチ段147は他の伝送ゲート148、これに続く
2つの逆並列のインバータ150及び152を含む。インバー
タ150からの出力はインバータ154で反転されてQN出力を
形成する。
第4図に示すように、クロック入力が論理レベル1
で、クロックバー入力が論理レベル0のとき、伝送ゲー
ト142が導通するので、Q出力はクロック信号の前縁で
変化する。しかしながら、対比して、クロック入力が論
理レベル0で、クロックバー入力が論理レベル1のと
き、伝送ゲート148が導通する。それ故QN出力はクロッ
ク信号の後縁で変化する。(リセット入力が論理レベル
1の時間中クロック入力が論理レベル1に立上り、クロ
ックバー入力が論理レベル0であるならば)ライン156
のリセット入力は、それが論理レベル1のとき、Q及び
QN出力を共に論理レベル0にさせる。
減算器ブロック58及び62の各段を形成する減算回路16
0の論理図を第5図に示す。減算回路160はRi入力をWi入
力から減算し、この結果をBi−1として示すボロー信号
入力と組合わせ、夫々真及び補数差出力Di及びDBiとボ
ロー出力信号を供給する。Ri及びWi入力は排他的ORゲー
ト162で組合わされ、その出力は伝送ゲート164を制御し
て、前段からのボロー入力Bi−1をボロー出力及び次段
へ通過させるか又は次段からのBi−1を絶縁する。高イ
ンピーダンス駆動回路166はRi入力及びWi入力の反転信
号を受けて伝送ゲート164が非導通のとき、Bi信号を駆
動し、伝送ゲート164が導通のとき、高インピーダンス
状態にあり、Bi−1がボロー出力Biに伝送され、高イン
ピーダンス駆動回路166の出力が高インピーダンス状態
になる。Ri入力及びWi入力が同じ論理レベルでないと
き、伝送ゲート164は非導通であり、高インピーダンス
駆動回路166の出力状態は、Ri入力が論理レベル1、Wi
入力が論理レベル0ならば、論理レベル1にあり、逆に
Wi入力が論理レベル1、Ri入力が論理レベル0ならば、
論理レベル0にある。排他的ORゲート162の出力は伝送
ゲート168及び170の一方を通過し、これらの伝送ゲート
168及び170はボロー入力Bi−1信号により制御されて、
真出力Di、補数出力DBIを形成する。
第6図は比較器ブロック70,72,74,98及び100の1段を
形成する比較回路172の論理図である。比較回路172は2
つの伝送ゲート174及び176から成る。2つのによりGi−
1又はPiの一方は2つの伝送ゲート174及び176の導通状
態に応じて出力Giに伝送される。伝送ゲート174及び176
の導通は比較回路172の真入力信号Xi及び補数入力信号X
Biにより制御される。Xi入力が論理レベル0で、XBi入
力が論理レベル1のとき、Gi−1入力はGi出力に通さ
れ、Pi入力はGi出力から絶縁される。逆に、Xi入力が論
理レベル1でXBi入力が論理レベル0のとき、Pi入力はG
i出力に通され、Gi−1入力はGi出力から絶縁される。
次に第7図では、減算器ブロック58及びほとんど一杯
比較器ブロック72の詳細を示す。減算器ブロック58は12
個の減算回路160より成る。各減算回路160はWQバス56の
対応するデータラインからのWi入力及びRQNデータバス6
6の対応するデータラインからのRi入力を有する。第7
図において、差の最下位ビットを発生する減算器回路16
0は要素番号180として図面の左側に示され、次の最下位
ビットは次の減算回路182により発生され、次の上位ビ
ットを発生する減算回路には順に要素番号184,190,192
及び194が付され、減算回路58の最上位ビットに対して
減算回路160があてられる。
ボローチェーンは第7図を水平に走り、減算回路180
のボロー入力端子は大地に接続され、ボロー出力端は減
算回路182のボロー入力端に接続される。減算回路182の
ボロー出力端はインバータ196の入力端に接続され、そ
の出力端は減算回路184のボロー入力端に接続される。
同様の方法で、インバータが1つ置きの減算回路160と
チェーンの次の減算回路160間のボローチェーンに接続
される。インバータ196はボロー入力が伝送ゲートのみ
を通して減算回路160のボロー出力に伝送されるので必
要であり、従って、インバータ196は減算器ブロック58
を通してボロー信号を増幅するのに必要である。
インバータ196の効果は、減算器ブロック58の2つの
減算回路160の1つ置きの組でボロー信号を反転させる
ことである。従って、第7図において、減算回路184,18
6,192及び194はボローチェーンを反転する。ボローチェ
ーンを反転する減算回路160は減算器ブロック58の負論
理部としてここでは参照する。他の減算回路160、例え
ば、第7図に示す、反転されたボローチェーンを持たな
い減算回路180,182,188及び190はここでは減算器ブロッ
ク58の正論理部として参照する。負論理部の効果は後述
する方法で補償される。
第2図を参照して上述したように、減算器ブロック58
の出力端は3つの比較器ブロック70,72及び74の入力端
に接続される。ほとんど一杯比較器ブロック72の論理図
を第7図に示す。比較器ブロック72は12個の比較回路17
2を含む。最下位ビットを比較する比較回路172を左側に
示し、第7図に要素200として示す。次に続く重みビッ
トのための比較回路172は比較回路202,204,206,208,21
0,212であり、比較回路214は比較ブロック72内で最上位
ビットを比較する。
比較回路200は、第7図にG−1として示す。そのGi
−1入力端を大地に接続する。GOとして示すそのGi出力
は、比較回路202のGi−1入力端に接続される。比較回
路202のG1として示すGi出力端はインバータ216の入力端
に接続され、その出力端は比較回路204のG1として示すG
i−1に接続される。同様の方法で、インバータ216が各
第2の比較回路172のGi出力端と比較器チェーンの次の
比較回路172のG−1入力端との間に接続され、1つ置
きの比較回路172及びその次の続く回路間の信号を増幅
し、反転する。比較回路172は増幅機能のない伝送ゲー
トのみで成るので、インバータ196同様インバータ216は
比較回路172間の信号を増幅する。
インバータ216の効果は2つの回路172の一つ置きの組
で比較ブロック72を通る比較信号Giを反転することであ
る。従って、第7図において、比較回路204,206,212及
び214は比較信号Giを反転する。Giの比較信号を反転す
る比較回路172はここでは比較器ブロック72の負論理部
として参照する。他の比較器回路172、例えば、第7図
に示す比較器回路200,208及び210は反転されたそれ等の
比較信号Giを持たず、ここでは比較器ブロック72の正論
理部として参照する。減算器ブロック58の負及び正論理
部のビット部は、比較器ブロック72の負及び正論理部の
ビット部に対応する。比較器ブロック72の負論理部の効
果は後述する方法で補償される。最後のインバータ218
は比較回路214のG11として示すGi出力端に接続され、ラ
イン86に出力信号を形成する。
第7図の底部には第7図の右側に最上位ビット、左側
に最下位ビットを有するほとんど一杯フラグ用プログラ
ム値のための個別のビットがある。ほとんど一杯比較器
ブロック72のプログラム値は2041であり、これは2進フ
ォーマットで、最上位ビット、第2及び第3下位ビット
が2進0Sであり、残りのビットが2進1Sであることを意
味する。個々に減算回路160及び個々の比較回路172間の
接続のためのアルゴリズムは、特定ビットのプログラム
値が2進0ならば、減算回路160からのDi出力端を比較
回路172のXi入力端に接続し、減算回路160からのDBi出
力端を比較回路172のXBi入力端に接続することであり、
プログラム値が2進1ならば、減算回路160のDi出力端
を比較回路172のXBi入力端に接続し、減算回路160のDBi
出力端を比較回路172のXi入力端に接続することであ
る。これ等の接続は、一実施例では、プログラム値のプ
ログラミングを助長するために金属層で有利に行われ
る。この発明の好適実施例では、接続は後述するよう
に、プログラム接続デコーダによってなされる。
Pi入力端を比較回路172に接続するアルゴリズムは、
プログラム値が論理レベル1で、比較回路172が比較器
ブロック72の正論理部にあるならばVCCをPi入力端に接
続し、プログラムに値が論理レベル0ならばPi入力端を
接地することである。比較回路172が比較器ブロック72
の負論理部にあるならば、2進1のプログラム値に対し
てPi入力端を大地に接続し、2進0のプログラム値に対
してPi入力端をVCCに接続する。この方法で、減算器ブ
ロック58及び比較器ブロック72の負論理部の効果は補償
される。
第7図に示すような比較器ブロック72及び減算器ブロ
ック58の動作はライン86にGOUT信号を開始することによ
り理解出来る。ライン86のGOUT信号は、ブロック値が減
算器プログラム58からの差より大きければ、論理レベル
1である。プログラム値が差以下であれば、ライン86の
GOUT信号は論理レベル0である。FIFOメモリ10のリセッ
トにすぐ続く場合を考える。この状態では、減算器ブロ
ック58の出力は論理レベル0である、すなわち減算回路
160のDi出力は論理レベル0で、DBi出力は論理レベル1
である。ライン86のGOUT信号から戻って働くと、比較器
はそのGi−1入力をそのGi出力に通すので、比較回路21
4の出力は比較回路214へのG10入力と同じである。前段
からのG10出力は比較回路212と同じ構成の比較器によっ
て供給される。比較器へのX10及びX10Bを供給する減算
回路160からの差入力は、ビット10に対するプログラム
値が論理レベル1なので、交換され(それによって減算
回路110からの出力を反転する)、第2の最上位ビット
に対する比較回路172からのG10出力は、プログラム値が
論理レベル1で、負論理部で働いている比較器が接地状
態にあるので、そのP10入力と同じである。従って、こ
の比較器の出力、G10は論理レベル0であり、比較回路2
14によりインバータ218の入力に通され、このインバー
タ218はライン86のGOUT信号が論理レベル1となるよう
に反転する。
ライン86のGOUT信号は、プログラム以下の減算器ブロ
ック58の全差出力に対して論理レベル1を保持する。こ
れ等の値の各に対して、比較回路202,204及び214より他
の少なくとも1つの比較回路172はそのPi入力をそのGi
出力に供給してライン86のGOUT信号を論理レベル1とす
る。
減算器ブロック58の差出力がプログラム値と等しいと
き、比較回路172の各々はそのXi及びVBi入力に、Gi−1
入力がGi出力に通過するような信号を有し、比較回路20
0のG−1入力端に結合した大地はインバータ216及び21
8の反転後比較器チェーンを通過してライン86に論理レ
ベル0の信号を生ずる。インバータ216プラスインバー
タ218の数は偶数をなし、従って、比較回路172の大地入
力はライン86に論理レベル0を形成する。
減算器ブロック58の差出力がプログラム値より1大き
いとき、比較回路202はG1出力にP1入力の大地入力を生
じ、比較回路200の状態は無視される。従って、ライン8
6のGOUT信号は論理レベル0になったままである。減算
器ブロック58の全ての他のより大きな差値出力に対し
て、比較回路202,204又は214のいずれもそのPi入力をそ
のGi出力に生じ、ライン86のGOUT信号は論理レベル0と
なる。
次に第8図では、デグリッチ回路94及びラッチ回路88
の論理図を示す。デグリッチ回路114及びラッチ回路84,
92,108,111は第8図に示すデグリッチ回路94及びラッチ
回路88と同じ回路である。ライン50のクロック信号WCは
ブランキング回路220の入力に供給される。ブランキン
グ回路220のライン50上のクロック入力は第1のインバ
ータ224の入力に供給され、その出力は第2のインバー
タ226の入力に供給される。
インバータ226の出力端は比較器ブロック228の第1の
比較回路172のG−1入力端に接続される。比較ブロッ
ク228は比較ブロック70,72,74,98及び100と同じ回路で
あり、比較回路172のXi入力端は接地され、XBi入力端は
VCC電源に接続される。比較器ブロック228の出力端はワ
ンショット230の入力端に接続され、その出力端は、交
差結合構成のNANDゲートにより形成されたRSフリップフ
ロップ232の1入力端に接続される。また、ライン50の
クロック入力端は、第2のワンショット234の入力端に
接続され、その出力端はライン235を介してRSフリップ
フロップ232の第2の入力端に接続される。RSフリップ
フロップ232の出力端はライン233を介してNORゲート236
の1入力端に接続され、その出力は、第2図に示すよう
に、ライン93にデグリッチ回路94の出力を形成する。ラ
イン93のこの出力はラッチ回路88のクロック入力端に供
給される。ラッチ回路88へのD入力は第8図に示すライ
ン86のGIN信号であり、これはまた第7図のライン86のG
OUT信号でもある。ライン48のリセット信号WRはnチャ
ンネルトランジスタ246のゲートに供給され、このトラ
ンジスタ246は書込みリセット動作中RSフリップフロッ
プ232のライン233にある出力を大地に引張るように働
く。
NORゲート236への第2入力は第2のブランキング回路
220′からの出力によって駆動される。ブランキング回
路220′はブランキング回路220と同じ回路であり、その
クロック入力端にライン46のRSB信号が供給され、その
リセット入力端にライン54のRR信号が供給される。
ラッチ回路88のクロック入力端はインバータ247の入
力端に接続されると共に伝送ゲート248のnチャンネル
ゲートに接続される。インバータ247の出力端は伝送ゲ
ート248のpチャンネルゲートに接続される。第8図に
おいて、ライン86のGIN信号であるラッチ回路88のD入
力は伝送ゲート248を通してインバータ250の入力端に通
され、その出力はライン32に、ほとんど一杯フラグ信号
AFFを形成する。他のインバータ252はその入力他のがイ
ンバータ250の出力端に接続され、その出力端がインバ
ータ250の入力端に接続され、ラッチ回路88のラッチ部
を形成する。簡略化のため、第2図及び第8図ではNOR
ゲート236の出力端からラッチ回路88のクロック入力端
へのライン93上の単一のクロック信号を示しているけれ
ども、好適実施例では、インバータ247はデクリッチ回
路94の一部であり、NORゲート236及びインバータ247の
出力から成る2つのクロックラインがラッチ回路88の各
々に接続されていることがわかる。
次に、第8図に示すデグリッチ回路94の動作を、第9
図を参照して説明する。FIFOメモリ10が読取りクロック
又は書込みクロックを受けていない時間中、NORゲート2
36の出力は論理レベル1であり、伝送ゲート248は導通
しており、ライン86のGIN信号はインバータ250を通して
端子32のAFF信号出力に通過する。ライン50の書込みク
ロック信号の前縁を受けて、ワンショット234はその出
力に第9図に示すライン235のパルスを生ずる。第9図
にまた示すように、ライン235のこの出力パルスはライ
ン233のRSフリップフロップ232の出力を論理レベル1に
セットする。ノード233のこの論理レベル1は伝送ゲー
ト248を非導通状態となし、それ故、ライン86のGIN信号
の任意の変化はインバータ250,252を無視し、伝送ゲー
ト248が再びイネーブルされるまで、AFF信号の前の状態
を保護する。ライン50の書込みクロック信号の前縁はイ
ンバータ224及び226を通過し、書込みカウンタブロック
40による遅延を補償する。
書込みカウンタブロック40による遅延を補償する必要
があるならば、インバータの付加的対はインバータ224
及び226を直列にすることがわかる。インバータ226から
の出力は比較器チェーン228を通して供給され、減算器
ブロック58、比較器ブロック70,72及び74による遅延を
整合する。都合良く、減算器ブロック58、比較器ブロッ
ク70,72及び74の両方を通して流れるデータは第7図の
左から右へ並行に移動し、それ故、遅延は累積的でな
く、むしろ連続的である。比較器ブロック228からの出
力の前縁はワンショット230を付勢し、ノード231のその
出力端にパルスを生じ、このパルスは第9図に示すよう
にRSフリップフロップ232をリセットする。RSフリップ
フロップ232がリセットされるときに、伝送ゲート248が
デグリッチ回路220′の動作により同時にディセーブル
されるならば、伝送ゲート248は再びイネーブルにされ
る。
ブランキング回路220′の動作は、ブランキング回路2
20に対している述べた動作と同じである。
また、第9図に示すように、ビットの1つ、例えばバ
ス56からのビット0は書込みカウンタブロック40からの
WQ出力である。第9図に示すように、バス56のデータビ
ットは書込みクロックパルスの前縁で変化する。反対
に、ビットの1つ、例えば読取りカウンタブロック42か
らのRQN出力にあるバス66のビット0は、第9図に示す
ように、読取りクロックバー信号の後縁で変化する。ワ
ンショット230′及び234′(同じくワンショット230及
び234)はその入力で読取りクロックバー信号の前縁で
ある立下り端縁パルスを無視し、従って、RSラッチ23
2′の状態は読取りクロックバー信号の後縁が検出され
るまで変化しない。読取りクロックバー信号の後縁のこ
の立上り端縁で、ワンショット234′はRSラッチ232′を
セットして伝送ゲート248を非導通させ、読取りクロッ
クバー信号の遅延した後縁はワンショット230′を付勢
してRSラッチ232′をリセットし、ブランキング回路220
が同時に伝送ゲート248を導通状態に保持しているとし
て伝送ゲート248を再び導通させる。ワンショット230′
からのライン231′上の出力、ワンショット234′からの
ライン235′上の出力及びRSラッチ232′からのライン23
3′上の出力をまた第9図に示す。
上述したフラグ発生回路12は2つの非同期クロック信
号間の時間遅延を表す出力信号を発生する。この表示は
2つの非同期ポインタ及びプリセット値間の相対差を比
較することにより生じる。この回路は同じ基本回路を使
用して複合状態フラグを発生させる。また、種々のフラ
グを供給するのに1組のカウンタのみが必要である。
減算器ブロック58及び62による伝送遅延と比較器ブロ
ック70,72,74,98及び100による伝送遅延を整合するこ
と、及び2つのブロックの直列動作に対比してこれ等の
ブロックを通した並列動作は、クロックサイクル時間を
高速にする。減算器ブロック58及び62のボローチェーン
に対する信号路は比較器ブロック70,72,74,98及び100に
対する信号路に整合されているので、伝送遅延が整合さ
れる。これ等の信号路は等数の伝送ゲート及びインバー
タから成る。
更に、フラグの発生がカウンタの現在の状態に基づく
連続信号に依存し、或る従来の回路で行われたような読
取りパルス又は書込みパルス後に2つのカウンタの状態
をサンプリングするような即事の事象でないので、上述
した回路によるフラグの発生は、大変動する仲裁プログ
ラムから解放される。プログラム値はメタル1またはメ
タル2で容易にプログラムされ、これ等のプログラム値
を容易に変形させる。
この発明は、2つの非同期ポインタ間の相対差を検出
する前記回路を使用させるが、2進プログラム値をメタ
ルプログラマブルに対比してユーザプログラマブルにさ
せるに付加回路が追加される。所定のフラグ値を検出す
るために、第5図、第6図及び第7図の減算回路及び比
較回路が使用される。前述したように、所定のプログラ
ムビットPiが論理レベル0に等しいとき、XiはDi(減算
器からの対応する差ビット)に結合し、Xi補数(XBi)
はDi補数(DBi)と関連する。プログラムビットPiが論
理レベル1のとき、Di及びDi補数(DBi)の結合はXi及
びXi補数(XBi)に関して切換えられる。負論理が使用
されるとき、Xi及びXi補数(XBi)の結合は影響され
ず、しかしプログラム値が反転される。
個々の減算回路160及び個々の比較回路172間の結合の
アルゴリズムは、特定のプログラムビットPiが2進0で
あるなら、減算回路160からのDi出力を比較回路172のXi
入力に結合し、減算回路160からのDBi出力を比較回路17
2のXBi入力に結合することであり、Piの2進値が2進1
であるならば、減算回路160のDi出力を比較回路172のXB
i入力に結合し、減算回路160のDBi出力を比較回路172の
Xi入力に結合することである。前記結合は、この発明の
好適実施例に従って、第10図に示すようなプログラム選
択デコーダ回路254により自動的になされる。
回路をユーザプログラマブルとするために、プログラ
ムPi,Xi真値及びXi補数(XBi)の結合は変更できなけれ
ばならない。第10図及び第11図において、プログラム選
択デコーダ回路254はプログラム値Piを受けるように接
続される。フラグプログラム値Piはレジスタ、例えば、
所望のフラグ2進値の各ビットに対応するDラッチL0,L
1,・・・L11に記憶される。1′番目のレジスタの出力
はPiである。Piはインバータ256で反転され、Niを得
る。Pi及びNiは転送ゲート258,260,262及び264を制御
し、これ等は選択的にDi及びDi補数(DBi)をXi真値及
びXi補数(XBi)に夫々通す。Piが論理レベル0のと
き、XiはDiに結合され、Xi補数(XBi)はDi補数(DBi)
に結合される。Piが論理レベル1のとき、XiはDi補数
(DBi)と結合され、Xi補数(XBi)はDiに結合される。
Piはまた、正論理値比較器プログラム入力に結合され
る。Niは負論理値比較器プログラム入力に結合される。
結果として、全ての要件が所定のプログラム値のフラグ
を適切に生ずるように合致される。
FIFOメモリの要求に良く適合しているけれども、この
発明は、2つのポインタ間の相対差の大きさの検出が必
要とされるその他の領域での使用に等しく良好に適合し
ている。一例はRISCマイクロプロセッサレジスタの窓で
ある。これ等のレジスタは局部的及び全体的変数を記憶
し、ポインタを窓の位置に表すのに使用する。これは外
部負荷の必要性をなくし、命令を記憶してレジスタから
のデータをレジスタに転送する。種々のポインタ間の相
対差の大きさは使用されている情報の状態について有益
な状態を提供し、如何に将来の動作が最適な方法で行わ
れるかを提供する。或るシステムでは、実施される動作
に応じて進行してこの差閾値が変化することが必要にな
るかもしれない。この場合、ユーザプログラマブルフラ
グが望ましい。
この発明は、或る特定の実施例を詳細に参照して部分
的に説明して来たけれども、斯る詳細は制限するという
よりむしろ教訓的なことを意図しているものと理解され
るべきである。ここに含まれる教示で開示しているよう
に、この発明の要旨を逸脱することなく、構造及び動作
のモードにおいて多くの変形をなし得ることが、当業者
にはわかるであろう。
【図面の簡単な説明】
第1図はこの発明によるフラグ発生回路を含むFIFOメモ
リのブロック図、第2図は第1図に示したFIFOメモリの
フラグ発生回路のブロック図、第3図は第2図に示した
カウンタブロックの論理図、第4図は第3図に示したT
型フリップフロップの論理図、第5図は第2図に示した
減算器ブロックの減算回路の論理図、第6図は第2図に
示した比較器ブロックの比較回路を示す回路図、第7図
は第2図に示す減算器ブロック及び比較器ブロック図、
第8図は第2図に示したデグリッチ回路及びラッチ回路
の論理図、第9図は第2図及び第8図で生じた或る信号
のタイミング図、第10図は2進フラグユーザプログラマ
ブルを行う比較器プログラム選択回路の回路図、第11図
は第7図の減算器/比較器に相互接続される第10図の比
較器プログラム選択回路を示す回路図である。 図において、10はFIFOメモリ、12は状態フラグ発生回
路、14はシリアルメモリアレイ、16は論理回路、40は書
込みカウンタブロック、42は読取りカウンタブロック、
58は第1の減算器ブロック、62は第2の減算器ブロッ
ク、70は半分一杯比較器ブロック、72はほとんど一杯比
較器ブロック、74は一杯比較器ブロック、94は第1のデ
グリッチ回路、98はほとんど空比較器ブロック、100は
空比較器ブロック、114は第2のデグリッチ回路であ
る。
フロントページの続き (56)参考文献 特開 昭64−29926(JP,A) 特開 平1−234928(JP,A) (58)調査した分野(Int.Cl.7,DB名) G11C 7/00 318 G06F 5/06 G06F 7/00 - 7/02 WPI(DIALOG)

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】所定の2進数に関連して第1のクロック信
    号及び第2のクロック信号間の差を表す出力信号を発生
    する装置において、 (a)上記第1のクロック信号の第1のクロックパルス
    の数をカウントする第1のカウンタ及び上記第2のクロ
    ック信号の第2のクロックパルスの数をカウントする第
    2カウンタ、 (b)上記第1のカウンタのカウント及び上記第2のカ
    ウンタのカウントの差に対応する真差信号及び補数差信
    号を発生し、上記真差信号及び補数差信号が各々等価及
    び非等価なクロックカウントに夫々対応する第1の論理
    状態及び第2の論理状態を有する減算回路、 (c)真差信号及び補数差信号入力端子を有し、上記真
    差信号及び補数差信号のうちの選択された1つの信号論
    理状態と上記所定の2進数の論理状態とを比較する比較
    回路、 (d)上記減算回路及び上記比較回路の間に設けられ、
    上記所定の2進数が第1の論理状態にあるとき、上記真
    差信号及び補数差信号を夫々上記比較回路の真差信号入
    力端子及び補数差信号入力端子に選択的に印加し、上記
    所定の2進数が第2の論理状態にあるとき、状態真差信
    号及び補数差信号を夫々上記比較回路の補数差信号入力
    端子及び真差信号入力端子に選択的に印加するプログラ
    ム選択回路、 (e)上記選択された差信号の論理状態が上記所定の2
    進数の論理状態と同じならば第1の論理状態の出力を発
    生し、上記選択された差信号の論理状態が上記所定の2
    進数の論理状態と同じでなければ第2の論理状態の出力
    を発生する出力回路、 を組み合わせて備えた出力信号発生装置。
  2. 【請求項2】上記プログラム選択回路は第1の伝送ゲー
    ト及び第2の伝送ゲートを備え、各伝送ゲートは上記所
    定の2進数の論理状態に対応した論理状態のプログラム
    ビットを受けるように結合された入力端子を有し、一方
    の伝送ゲートは真差信号及び補数差信号の一方が印加さ
    れる入力端子を有し、他方の伝送ゲートは上記真差信号
    及び補数差信号の他方が印加される入力端子を有し、上
    記伝送ゲートは上記比較回路の真差信号入力端子及び補
    数差信号入力端子に結合された夫々第1の伝送ゲート出
    力端子及び第2の伝送ゲート出力端子を有する請求項1
    記載の出力信号発生装置。
  3. 【請求項3】回路ブロックを含むFIFOメモリであって、
    該FIFOメモリの一杯又は空に関連した出力信号を発生す
    るものにおいて、上記回路ブロックは (a)上記FIFOメモリが受けた読取りクロックパルスの
    数をカウントする第1のカウンタ及び上記FIFOメモリが
    受けた書込みパルスの数をカウントする第2のカウン
    タ、 (b)上記第1のカウンタの読取りパルスのカウント及
    び上記第2のカウンタの書込みパルスのカウントの差に
    対応する真差信号及び補数差信号を発生し、上記真差信
    号及び補数差信号が各々等価及び非等価なパルスカウン
    トに夫々対応する第1の論理状態及び第2の論理状態を
    有する減算回路、 (c)真差信号及び補数差信号入力端子を有し、上記真
    差信号及び補数差信号のうちの選択された1つの信号論
    理状態と上記所定の2進数の論理状態とを比較する比較
    回路、 (d)上記減算回路及び上記比較回路の間に設けられ、
    上記所定の2進数の論理状態に従って、上記真差信号及
    ぴ補数差信号を上記比較回路の真差信号入力端子及び補
    数差信号入力端子へ夫々選択的に印加及び交差印加する
    プログラム選択回路、 (e)上記選択された差信号の論理状態が上記所定の2
    進数の論理状態と同じならば上記出力信号を第1の論理
    状態とする手段 を備えたFIFOメモリ。
  4. 【請求項4】上記プログラム選択回路は第1の伝送ゲー
    ト及び第2の伝送ゲートを備え、各伝送ゲートは上記所
    定の2進数の論理状態に対応した論理状態のプログラム
    ビットを受けるように結合された入力端子を有し、一方
    の伝送ゲートは上記真差信号及び補数差信号の一方が印
    加される入力端子を有し、他方の伝送ゲートは上記真差
    信号及び補数差信号の他方が印加される入力端子を有
    し、上記伝送ゲートは上記比較回路の真差信号入力端子
    及び補数差信号入力端子に結合された夫々真伝送ゲート
    出力端子及び補数伝送ゲート出力端子を有する請求項3
    記載のFIFOメモリ。
  5. 【請求項5】所定の2進数に関連して非同期の第1のク
    ロック信号及び第2のクロック信号間の差を表す出力信
    号を発生する方法において、 (a)第1のカウンタで上記第1のクロック信号の第1
    のクロックパルスの数及び第2のカウンタで上記第2の
    クロック信号の第2のクロックパルスの数をカウントす
    ること、 (b)上記第2のカウンタのカウントから上記第1のカ
    ウンタのカウントを減算して真差信号及び補数差信号を
    発生し、各差信号が夫々等価及び非等価なクロックカウ
    ントに対応する第1の論理状態及び第2の論理状態を有
    すること、 (c)工程(b)で発生された上記真差信号及び補数差
    信号のうちの選択された一方の信号の論理状態を上記所
    定の2進数の論理状態と比較すること、 (d)上記選択された差信号の論理状態が上記所定の2
    進数の論理状態と同じであれば上記出力信号を第1の論
    理状態となし、上記選択された差信号を論理状態が上記
    所定の2進数の論理状態と同じでなければ上記出力信号
    を第2の論理状態となすこと、 を含む出力信号発生方法。
JP02318162A 1989-12-21 1990-11-26 出力信号発生装置及びその方法並びにfifoメモリ Expired - Fee Related JP3090330B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US454,408 1989-12-21
US07/454,408 US5121346A (en) 1989-03-31 1989-12-21 Difference comparison between two asynchronous pointers and a programmable value

Publications (2)

Publication Number Publication Date
JPH03194786A JPH03194786A (ja) 1991-08-26
JP3090330B2 true JP3090330B2 (ja) 2000-09-18

Family

ID=23804492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02318162A Expired - Fee Related JP3090330B2 (ja) 1989-12-21 1990-11-26 出力信号発生装置及びその方法並びにfifoメモリ

Country Status (3)

Country Link
EP (1) EP0434381B1 (ja)
JP (1) JP3090330B2 (ja)
DE (1) DE69032198T2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206817A (en) * 1989-03-31 1993-04-27 Sgs-Thomson Microelectronics, Inc. Pipelined circuitry for allowing the comparison of the relative difference between two asynchronous pointers and a programmable value
IT1251031B (it) * 1991-07-31 1995-05-02 Sgs Thomson Microelectronics Buffer di memoria fifo ad accesso asincrono con flag di riempimento
GB9404377D0 (en) * 1994-03-07 1994-04-20 Texas Instruments Ltd Improvements in or relating to a comparator scheme
KR0155044B1 (ko) * 1995-11-03 1998-11-16 김광호 선입선출 메모리를 이용한 램데이타 전송장치 및 그 방법
US5729765A (en) * 1995-12-07 1998-03-17 Samsung Electronics Co., Ltd. Method and apparatus for determining the status of a shared resource

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3237159A (en) * 1961-12-07 1966-02-22 Martin Marietta Corp High speed comparator
NL7010586A (ja) * 1970-07-17 1972-01-19
JPS62261068A (ja) * 1986-05-07 1987-11-13 Kenwood Corp デイジタルメモリのトリガ方式

Also Published As

Publication number Publication date
DE69032198T2 (de) 1998-08-27
JPH03194786A (ja) 1991-08-26
EP0434381B1 (en) 1998-04-01
EP0434381A2 (en) 1991-06-26
EP0434381A3 (en) 1992-10-28
DE69032198D1 (de) 1998-05-07

Similar Documents

Publication Publication Date Title
US5502655A (en) Difference comparison between two asynchronous pointers and a programmable value
US4935719A (en) Comparator circuitry
US4974241A (en) Counter employing exclusive NOR gate and latches in combination
US4829475A (en) Method and apparatus for simultaneous address increment and memory write operations
US4873667A (en) FIFO buffer controller
US5206817A (en) Pipelined circuitry for allowing the comparison of the relative difference between two asynchronous pointers and a programmable value
GB1566309A (en) Error detection checking circuitry
JP3090330B2 (ja) 出力信号発生装置及びその方法並びにfifoメモリ
US5566343A (en) Serial data transfer apparatus for determining a reception time and a transmission time
US5355113A (en) Serialized difference flag circuit
US5122688A (en) Trinary check trit generator, latch, comparator and multiplexer
US5357236A (en) Parallelized difference flag logic
US6480912B1 (en) Method and apparatus for determining the number of empty memory locations in a FIFO memory device
KR100301653B1 (ko) 고속 엠티 플래그 발생기
JP3305975B2 (ja) アドレスカウンタ回路及び半導体メモリ装置
US7752506B1 (en) FIFO memory error circuit and method
JP2576715Y2 (ja) 特定用途向けicの出力バッファ故障検出回路
JPH02214348A (ja) アクセス異常検出装置
KR100268929B1 (ko) 어드레스 천이 검출회로
JP3012526B2 (ja) 制御信号保持回路
JPH0793994A (ja) 半導体メモリのテストモード用回路
JPH06188745A (ja) パリティチェック方式
JPH0216621A (ja) データ転送制御方式
JPH06266534A (ja) ハーフフラッグ出力回路
JPS6335038A (ja) 通信回線状態検出回路

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees