JP2005044334A - 非同期制御回路と半導体集積回路装置 - Google Patents
非同期制御回路と半導体集積回路装置 Download PDFInfo
- Publication number
- JP2005044334A JP2005044334A JP2004131238A JP2004131238A JP2005044334A JP 2005044334 A JP2005044334 A JP 2005044334A JP 2004131238 A JP2004131238 A JP 2004131238A JP 2004131238 A JP2004131238 A JP 2004131238A JP 2005044334 A JP2005044334 A JP 2005044334A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- signal
- output
- flip
- input
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1075—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Static Random-Access Memory (AREA)
- Memory System (AREA)
Abstract
【課題】 非同期動作が可能でポート数に制約のない非同期制御回路と半導体集積回路装置を提供する。
【解決手段】 非同期制御回路において、互いに非同期で発生される複数のアクセス要求信号と上記複数のアクセス要求信号のそれぞれに対応した複数の入力信号とを受けて少なくとも1つのアクセス要求に対応して起動され、その起動状態で1ないし複数のアクセス要求の中から1つのアクセス要求を選択し、それに対応した入力信号を受け付けて、メモリに対して当該入力信号を伝え、当該入力信号に対応した動作終了後に未実行のアクセス要求に対応した入力信号の受け付けを行って上記メモリ回路をアクセスする。
【選択図】 図6
【解決手段】 非同期制御回路において、互いに非同期で発生される複数のアクセス要求信号と上記複数のアクセス要求信号のそれぞれに対応した複数の入力信号とを受けて少なくとも1つのアクセス要求に対応して起動され、その起動状態で1ないし複数のアクセス要求の中から1つのアクセス要求を選択し、それに対応した入力信号を受け付けて、メモリに対して当該入力信号を伝え、当該入力信号に対応した動作終了後に未実行のアクセス要求に対応した入力信号の受け付けを行って上記メモリ回路をアクセスする。
【選択図】 図6
Description
本発明は、非同期制御回路と半導体集積回路装置に関し、例えば1ポートのメモリ回路を複数のポートから非同期でアクセスする回路制御技術に利用して有効な技術に関するものである。
マルチポートSRAM(スタティック型ランダム・アクセス・メモリ)は、メモリセルにポート数分のアクセストランジスタ及びワード線やビット線が必要とされるため、1ポートSRAMに比べて面積が非常に大きくなる。そこで、1ポートSRAMコアにN回アクセスすることによりNポートメモリの機能を擬似的に実現する同期型疑似マルチポートSRAMが特開2000−57775公報により提案され、2つのポート毎に別クロックを用い、そのクロック間のタイミングを任意とした非同期型デュアルポートSRAMが特開2000−30460公報より提案されている。
特開2000−57775
特開2000−30460
上記のようにマルチポートSRAMは、メモリセルルにポート数分のアクセストランジスタが必要とされるため、1ポートSRAMに比べて面積が非常に大きくなる。加えてその設計工数は全く別のメモリコアを設計する時とほとんど変わらない。これに対して、特許文献1の同期型疑似マルチポートSRAMでは、ポート間に共通のクロックを用いるものであるため、例えばポート毎に異なる周波数のクロックでメモリアクセスを行うようなポート間非同期動作を実現することができない。上記特許文献2の非同期型デュアルポートSRAMでは、2つのポートのうちいずれか早くメモリアクセスの要求があったポートを選別するために位相比較回路を用いているためにポート数が2つに限定されてしまい、3ポートや4ポートなどの非同期動作を実現することができない。
この発明の目的は、非同期動作が可能でポート数に制約のない非同期制御回路と、それを搭載した半導体集積回路装置を提供することにある。この発明の他の目的は、使い勝手がよく、柔軟に信号処理システムに組み込むことが可能な非同期制御回路を提供することにある。この発明の更に他の目的は、高速化を図りつつ、メタステーブル状態の無い論理出力を形成することができる同期化回路を備えた半導体集積回路装置を提供することにある。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。すなわち、非同期制御回路として、互いに非同期で発生される複数のアクセス要求信号と上記複数のアクセス要求信号のそれぞれに対応した複数の入力信号とを受けて少なくとも1つのアクセス要求に対応して起動し、その起動状態で1ないし複数のアクセス要求の中から1つのアクセス要求を選択し、それに対応した入力信号を受け付けて、所定の回路動作を実行する回路機能ブロックに対して当該入力信号を伝え、当該入力信号に対応した動作終了後に未実行のアクセス要求に対応した入力信号の受け付けを行う。
半導体集積回路装置に非同期制御回路とメモリ回路とを設け、上記非同期制御回路は、互いに非同期で発生される複数のアクセス要求信号と上記複数のアクセス要求信号のそれぞれに対応した複数の入力信号とを受けて少なくとも1つのアクセス要求に対応して起動し、その起動状態で1ないし複数のアクセス要求の中から1つのアクセス要求を選択し、それに対応した入力信号を受け付けて、上記メモリ回路に対して当該入力信号を伝え、当該入力信号に対応した動作終了後に未実行のアクセス要求に対応した入力信号の受け付けを行う。
半導体集積回路装置に形成される同期化回路として、非同期入力信号とクロック信号とを受ける第1ラッチ回路の一対の出力信号に、メタステーブル状態でオフセット電圧を持つように設定し、上記クロック信号の遅延信号で動作する増幅回路で上記記出力信号のオフセット電圧を増幅し、上記クロック信号に同期化された出力信号を得る。
小面積でポート数に制約が無い非同期制御動作を実現できチップ性能を向上させることができる。既存の1ポートSRAM等の設計データをそのまま利用でき設計工数の低減を図ることができる。高速動作が可能でメタステーブル状態の無い論理出力信号を形成することができる。
図1には、この発明に係る非同期型疑似マルチポートメモリの一実施例の概念図が示されている。この実施例の非同期型疑似マルチポートメモリは、非同期制御回路と1ポートSARAMとを組み合わせて、等価的にNポートSRAMを実現するものである。上記非同期制御回路は、クロックCK1〜CKnと、それぞれのクロックCK1〜CKnに対応して入力されるアドレス信号A1(0:i)〜An(0:i)及びデータ信号D1(0:j)〜Dn(0:j)を受け、1ポートSRAMとの間でハンドシェイクプロトコルによって信号のやり取りを行うことにより、等価的にNポートSRAMを実現する。
ここで、アドレス信号の(0:i)は、0〜iからなるi+1ビットであることを示し、データ信号の(0:j)は、0〜jからなるj+1ビットであることを示している。上記クロックCK1ないしCKnは、メモリ回路側からみると、アクセス要求信号であり、例えば、チップセレクト信号CSやチップイネーブル信号CEも実質的には上記クロックCKと回路機能的には同じと見做される。
この実施例では、クロックCK1〜CKnは、それぞれが非同期で発生される。つまり、互いに異なる周波数や位相のタイミング信号であり、ポート数1ないしnは、3以上の複数を想定しており、3以上のクロックCKがほぼ同時に入力され、あるいはそれらの位相が微小に異なり、非同期制御回路内での回路素子のバラツキや信号伝播遅延時間の変動等に対しても誤動作しないようハザードフリーにする必要がある。このため、前記特許文献2に示されているような位相比較回路を利用することができず、上記のようなハザードフリーの要求を満足する新規な非同期制御回路の開発が必要となるものである。
図2には、図1の非同期制御回路に要求されるクロック競合関係を説明するためのタイミング図が示されている。図2(a)の例は、CK発生の抑止を必要とする例である。先に発生したクロックCK1によりメモリアクセスが開始され、かかるCK1に対応したメモリアクセスが終了する前にクロックCK2が入力されると、本来はクロックCK1でのメモリアクセス終了後までクロックCK2のメモリアクセスを待たせることが必要であるが、回路遅延の存在等によりクロックCK1とCK2が微妙なタイミング差で発生してRAMのクロック端子RAM−CKにダブルクロックが発生してしまうという問題である。このようなダブルクロックは、後のクロックCK2によるメモリアクセスが無視されてしまう。
図2(b)の例は、クリティカルレースの回避を必要とする例である。クロックCK1とCK2とがほぼ同時に入力されたとき、先に入力されたクロックCK1のメモリアクセス終了後に、クロックCK2のメモリアクセス要求が実行されるべきであるが、クロックCK1とCK2の微妙なタイミング差により後に実行させるべきクロックCK2によるアクセス要求が消失してしまう。
図3には、この発明に係る非同期型疑似マルチポートメモリの一実施例の基本的なブロック図が示されている。この実施例の非同期型疑似マルチポートメモリは、非同期制御回路と入力ラッチ&セレクタと、出力ラッチ及び1ポートSRAMとから構成される。上記入力ラッチ&セレクタと出力ラッチは、上記非同期制御回路に含まれるようにしてもよい。このように入力ラッチ&セレクタと出力ラッチを非同期制御回路に含ませる構成は、図1の非同期制御回路に対応するものである。
上記非同期制御回路は、クロックCK1〜CKnを受けて1ポートSRAMに対してはメモリアクセスの実行要求を送出し、入力ラッチ&セレクタと出力セレクタに対しては上記実行要求に対応したポートを選択するような制御信号を供給して、セレクタにより選択された1つのアドレス信号A(0:i)とデータD(0:j)を1ポートSRAMに供給する。1ポートSRAMは、上記実行要求を受けて上記アドレス信号A(0:i)によりメモリセルを選択し、書き込み動作なら上記入力ラッチに保持されたデータD(0:j)をメモリセルに書き込み、読み出しならば選択されたメモリセルの読み出しデータQ(0:j)を上記出力ラッチに出力し、当該メモリアクセス終了に対応した実行完了を非同期制御回路に伝える。このように非同期制御回路と1ポートSRAMとの間では、メモリアクセスの実行要求と、それに対応したメモリアクセスの実行完了とからなるハンドシェイクプロトコルにより結合されている。
非同期制御回路は、2ポート以上の同時入力を含むクロック入力を受け付け、入力ラッチはそれに対応したアドレスやデータといった入力信号を保持する。上記非同期制御回路では、上記複数のクロック入力があると、その中から1つのクロックを選択し、このクロックに対応して上記セレクタを制御して入力ラッチに保持されているアドレスやデータA(0:i)とデータD(0:j)を上記1ポートSRAMに供給する。
図4には、この発明に係る非同期型疑似マルチポートメモリの動作を説明するための簡易タイミング図が示されている。クロックCK1とCK2とがほぼ同時に入力されると、クロックCK1に対応した入力ラッチA1には、アドレス信号Anが保持され、クロックCK2に対応した入力ラッチA2には、アドレス信号Amが保持される。図示しないが、書き込み動作のときにはクロックCK1に対応した入力ラッチD1には書き込みデータDnが保持され、クロックCK2に対応した入力ラッチD2には書き込みデータDmが保持される。
ほぼ同時に2つのクロックCK1とCK2とが入力されたときには、クロックCK1とCK2の位相差を厳密に判定するのではなく、予め決められた優先順位に従ってクロックCK1が選択されて、1ポートSRAMのクロック端子SRAM−CKには実行要求としてのクロックが供給される。上記非同期制御回路により上記クロックCK1に対応した入力ラッチのポート1が選択されて、上記入力ラッチA1に保持されたアドレス信号Anが1ポートSRAMのアドレス端子Aに与えられ、メモリセルの選択動作が行われる。上記アドレス信号Anの読み出し動作が指示されたなら、1ポートSRAMは上記アドレス信号Anに対応したメモリセルを選択して読み出し信号Qnを出力ラッチに出力する。このような出力ラッチへのデータQnの出力動作が終了すると、上記実行要求に対応した実行完了(Done)を非同期制御回路に送り返す。
非同期制御回路は、未実行のクロックCK2の存在により、それに対応した実行要求を1ポートSRAMのクロック端子SRAM−CKに供給するとともに、かかるクロックCK2に対応した入力ラッチのポート2を選択して、上記入力ラッチA2に保持されたアドレス信号Amを1ポートSRAMのアドレス端子Aに供給する。1ポートSRAMでは、上記アドレス信号Amに対応したメモリセルの選択動作が行われる。上記アドレス信号Amの読み出し動作が指示されたなら、1ポートSRAMは上記アドレス信号Amに対応したメモリセルを選択して読み出し信号Qmを出力ラッチに出力する。このような出力ラッチへのデータQmの出力動作が終了すると、上記実行要求に対応した実行完了(Done)を非同期制御回路に送り返す。
図5には、この発明に係る非同期型疑似マルチポートメモリの他の一実施例の基本的なブロック図が示されている。この実施例の非同期型疑似マルチポートメモリは、図3の実施例の変形例であり、サイクル時間レプリカ回路が新たに設けられる。このサイクル時間レプリカ回路は、1ポートSRAMに対するメモリアクセスの実行要求を受けて、メモリサイクルに対応した遅延時間の経過後に実行完了信号を生成して、上記非同期制御回路に送り返す。このように非同期制御回路は、上記サイクルレプリカ回路との間でハンドシェイクプロトコルを行うこととなるので、非同期制御回路と1ポートSRAMとの間では疑似ハンドシェイクプロトコルとなる。
このような疑似ハンドシェイクプロトコルの採用によって、1ポートSRAMにおいては、前記図3の実施例のようなハンドシェイクプロトコルのための実行完了信号を生成する機能を設けることが必要なく、一般的な1ポートSRAMを用いることができる。つまり、非同期制御回路と1ポートSRAMとを1つの半導体集積回路装置で構成する場合には、上記1ポートSRAMの部分は、既存の1ポートSRAMの設計データをそのまま流用することができる。これにより、非同期制御回路の部分だけを要求されるポート数に対応して設計すればよく、非同期型疑似マルチポートメモリの開発時間の短縮化を図ることができる。
図6には、この発明に係る非同期制御回路の一実施例の回路図が示されている。この実施例は、デュアルポート(2ポート)のハザートフリー非同期制御回路に向けられており、3種のレジスタ(フリップフロップ回路)と2種の組み合わせ論理回路(イベント発生回路、プライオリティエンコーダ)から構成される。入力部に設けられたレジスタはSR(セット/リセット)−フリップフロップ回路FF1A,FF1Bで構成され、2つのポートAとBからの対応するクロックCKA及びCKBによりセットされる。
上記フリップフロップ回路FF1A,FF1Bの出力信号AとBは、イベント発生回路を構成する組み合わせ論理回路に伝えられる。上記イベント発生回路は、上記フリップフロップ回路FF1A,FF1Bの出力信号AとBの論理和信号(A+B)を形成するものであり、特に制限されないが、ナンド(NAND)ゲート回路G1とG2及びG3から構成される。このイベント発生回路は、イベントの受け付けを行うレジスタに伝えられるとともに、クロックCKとして1ポートSRAMに伝えられる。上記レジスタは、SR(セット/リセット)−フリップフロップ回路FF3で構成される。
上記イベント発生回路を構成するナンドゲート回路G1とG2の一方の入力には、フリップフロップ回路FF1A,FF1Bの出力信号AとBがそれぞれ供給され、他方の入力には上記イベントの受け付けを行うフリップフロップ回路FF3の反転出力信号が供給される。つまり、フリップフロップ回路FF3がセットされると、上記ナンドゲート回路G1とG2に供給されるゲート制御信号がロウレベルとなり、入力の受け付けが停止されられる。
この実施例では、ポートAはポートBに対して優先順位が高くされる。つまり、レジスタを構成するフリップフロップ回路FF2のクロック端子ckには上記イベント発生回路の出力信号が伝えられ、データ端子dには、上記ポートAに対応したフリップフロップ回路FF1Aの出力信号Aを受けるゲート回路G1により反転された出力信号が伝えられる。これにより、イベントが発生した時点でゲート回路G1を通したフリップフロップ回路FF1Aのセット/リセットを判定し、フリップフロップ回路FF1Aがセット状態ならポートAが選択され、フリップフロップ回路FF1Aがリセット状態ならポートBが選択される。つまり、ポートBはポートAからクロックCKAが入力されないときだけ選択される。
上記フリップフロップ回路FF2の出力信号Pとその反転信号とは、プライオリティエンコーダを構成するナンドゲート回路G4とG5の一方の入力に供給される。このゲート回路G4とG5の他方の入力には、上記イベントの受け付けを行うレジスタであるフリップフロップ回路FF3の出力信号Eが供給される。上記フリップフロップ回路FF2の出力信号Pは、ポート選択信号CPとして図示しない入力ラッチのセレクタに伝えられる。例えば、図4に示した制御信号とは逆に、ポート選択信号CPがロウレベルならポートAが選択され、ポート選択信号CPがハイレベルならポートBが選択される。
上記ゲート回路G4の出力信号は、インバータ回路IV1により反転されて、上記フリップフロップ回路FF1Bのリセット端子Rに入力され、上記ゲート回路G5の出力信号は、インバータ回路IV2によって反転されて、上記フリップフロップ回路FF1Aのリセット端子Rに入力される。上記のようにフリップフロップ回路FF2の出力信号Pがロウレベルのときには、ポートAが選択されるので、その受け付け完了を示し上記ゲート回路G5の出力信号により、それに対応したフリップフロップ回路FF1Aをリセットして、次の受け付けを可能にする。また、フリップフロップ回路FF2の出力信号Pがハイレベルのときには、ポートBが選択されるので、その受け付け完了を示し上記ゲート回路G4の出力信号により、それに対応したフリップフロップ回路FF1Bをリセットして、次の受け付けを可能にする。
この実施例では、タイミング保証Aとして、上記フリップフロップ回路FF2のクロック端子CKには、遅延回路DL1を通してイベント発生回路の出力信号が伝えられる。これは、次に説明するが、ゲート回路G1の出力信号をイベント発生出力により確実に取り込むようにするタイミング保証を行うものである。また、タイミング保証Bとして、上記フリップフロップ回路FF3の出力信号Eが遅延回路DL2により遅延されて、上記ゲート回路G4、G5のゲート制御信号として伝えられる。これは、次に説明するが、フリップフロップ回路FF2の状態を正しく判定するためのものである。
図7には、この発明に係る非同期制御回路の動作の一例を説明するための状態遷移図が示されている。同図においてABPEに対応した4ビット情報は、図6の実施例回路における各レジスタ、つまりフリップフロップ回路FF1Aの出力信号A、FF1Bの出力信号B、FF2の出力信号P及びFF3の出力信号Eに対応している。ABPE=0000の初期状態で、Bポートへのアクセス要求に対応したクロックCKBの立ち上がりにより、状態ABPE=0100に変化する。この状態0100によりイベント発生回路は、フリップフロップ回路FF2とFF3の状態を上記ポートへのアクセスに対応して変化させる。
同図には、上記Bポートへのアクセス要求の途中に、それより優先順位の高いポートAへのアクセス要求が発生してクロックCKAがハイレベルに変化したときに、タイミング保証Aは、優先順位の高いポートAが無視されて0101となる誤動作を防止する。つまり、フリップフロップ回路FF2のクロック端子CKに伝えられるイベント信号は、遅延回路DL1により遅延されて、フリップフロップ回路FF1Aへのセット状態が正しく反映される。
また、ポートBへの要求がフリップフロップ回路FF2により受け付けられ、その後にポートAへの要求によってABPE=1111の状態から、プライオリィイエンコーダにより実行待ちのポートAがリセットされて状態0111にされてしまうという誤動作を防止するものである。つまり、上記フリップフロップ回路FF2により受け付けされたポートが正しくプライオリィイエンコーダの出力に反映されるよう、フリップフロップ回路FF3の出力信号Eが遅延回路DL2により遅延されて、タイミング保証Bが行われることにより、上記フリップフロップ回路FF2により受け付けされた最新情報が正しくプライオリィイエンコーダの出力に反映される。
上記遅延回路DL1やDL2は、インバータ回路のような遅延回路を用いるものの他、その伝達経路に設けられるゲート回路G3〜G5それ自体、あるいはそれらを接続する配線長やかかる配線の寄生容量を考慮して上記信号伝達経路の信号遅延が、それと競合関係にある信号遅延との関係で上記のような遅延時間を持つようにするものであれば何であってもよい。
図8には、この発明に係る非同期制御回路の動作の一例を説明するための状態遷移図が示されている。同図は、前記図6の実施例回路に対応しており、ABPEに対応した4ビット情報は、図7の実施例と同様に図6の各レジスタ、つまりフリップフロップ回路FF1Aの出力信号A、FF1Bの出力信号B、FF2の出力信号P及びFF3の出力信号Eに対応している。
同図において、黒背景の白抜き文字で、かつ下線を付した状態は、安定状態を示している。黒背景の白抜き文字で、かつ下線が無いものは準安定状態を示している。この準安定状態は、選択されたポートへのメモリアクセス等の動作中であり、かかるメモリアクセスの完了信号Doneにより遷移が発生する。太線による矢印はレーシングを伴う遷移を示している。
例えば、ABPE=0000の初期状態からポートAへのクロックCKAが入力されると1000のように、ポートA,Bの両方に対して同時にクロックCKAとCKBが入力されると1100、ポートBへのクロックCKBが入力されると0100のようにそれぞれ変化する。最も単純な動作は、次の通りである。ポートAへのクロックCKAが入力されてそれが選択され、1ポートSRAMにメモリアクセスが行われ、それの動作が完了するまで他ポートBから何もアクセス要求がないときには、細線の矢印に沿って状態1000→1001→0001→Done→0000に戻る。ポートBへのクロックCKBが入力されてそれが選択され、1ポートSRAMにメモリアクセスが行われ、それの動作が完了するまで他ポートAから何もアクセス要求がないときには、細線の矢印に沿って状態0100→0110→0111→0011→Done→0010で安定する。
このように、安定状態は0000と0010の2通りがあり、フリップフロップ回路FF2がセットされた状態で、ポートAからアクセスによりフリップフロップ回路FF2の出力Pが1→0になるまでの間に、フリップフロップ回路FF3の出力Eがハイレベルになると、前記のようにプライオリィイエンコーダによりポートBが選択されたと誤判定して、ポートBに対応したフリップフロップ回路FF1Bをリセットさせてしまう。このとき、Bポートからアクセス要求あると、それが無効にされてしまうという誤動作が生じるが、前記のようなタイミング保証Bによって、そのような問題が生じない。
この実施例では、上記準安定状態や遷移状態のときにクロックCKA又はCKBが変化したときにも、同図のように状態遷移が生じて、最終的には0000又は0010の2つの状態に安定し、正しく決められた優先順位に従ってポートの選択動作が実施される。この実施例では、最終的にはフリップフロップ回路FF3の出力信号によりフリップフロップ回路FF2の状態が判定され、その状態に応じて優先順位の高いポートが選択されるので、ポート数に無関係に正しく1つのポートを選択することができる。
上記のようにポートレジスタ(FF2)に取り込まれた情報から、プライオリティエンコ―ダにより実行ポートが決定され、実行ポートに対応したリクエスト受け付けレジスタFF1がリセットされる。1ポートSRAMコアの実行完了時にはDone 信号がアサートされ、フリップフロップ回路FF3がリセットされることにより、イベント発生回路のゲートG1,G2のゲートが開いて未実行のリクエスト要求が残っていれば、その次要求が引き続き実行に移される。
この実施例のハザードフリー非同期制御回路は、複数からなるクロックCKの入力を受けてその中からアクセス要求のある1つを選択し、1ポートSRAMに実行要求と対応するポートの実行アドレスおよびデータを出力する。SRAMコアは実行が終った時に非制御回路に完了信号を出し、非制御回路は対応するポートの出力ラッチにデータを保持し、次の実行待ちのアドレスおよびデータを要求信号と共に再び出力する。即ち、非制御回路とSRAMコアは1種のハンドシェイク通信を行っている。
ただし、このようなSRAMコアのメモリ動作が終った時に非制御回路に完了信号を出力する方式では、SRAMコアに実行可能状態となつた事を検出し、非制御回路に報告する機構が必要となり、既存のSRAMコアをそのまま流用することができない。従って前記図5の実施例のように、SRAMコアのサイクル時間を模擬するレプリカ回路を追加し、非制御回路間で非同期通信を行うことにより、擬似的にハンドシェイク通信を実現している。1ポートSRAMと同等な面積でマルチポートSRAMを実現できるため、面積低減が可能となり、図5の実施例では、1ポートSRAM部分をそのまま再利用できるから設計工数低減も図られる。
図9には、この発明に係る非同期制御回路の他の一実施例の回路図が示されている。この実施例は、4ポートのハザートフリー非同期制御回路に向けられており、入力部に設けられたレジスタは、4つのポートA,B,C,Dに対応して設けられるSR−フリップフロップ回路FF1A,FF1B,FF1C及びFF1Dで構成され、対応するクロックCKA,CKB,CKC及びCKDによりセットされる。
上記フリップフロップ回路FF1A,FF1B,FF1C,FF1Dの出力信号A,B,C,Dは、イベント発生回路を構成するゲート回路G11〜G17からなる組み合わせ論理回路に伝えられる。上記イベント発生回路は、上記フリップフロップ回路FF1A,FF1B,FF1C,FF1Dの出力信号A,B,C,Dの反転された論理和信号(A+B+C+D)を形成する。このイベント発生回路の出力信号は、イベントの受け付けを行うレジスタであるフリップフロップ回路FF3とポートレジスタであるフリップフロップ回路FF2A,FF2B及びFF2Cに伝えられるとともに、出力インバータ回路IV11により反転されて1ポートSRAMにクロックCKとして伝えられる。
上記イベント発生回路を構成するナンドゲート回路G11〜G14の一方の入力には、フリップフロップ回路FF1A,FF1B,FF1C,FF1Dの出力信号A,B,C,Dがそれぞれ供給され、他方の入力には上記イベントの受け付けを行うフリップフロップ回路FF3の反転出力信号が供給される。つまり、フリップフロップ回路FF3がセットされると、上記ナンドゲート回路G11,G12,G13及びG14に供給されるゲート制御信号がロウレベルとなり、入力の受け付けが停止されられる。
この実施例では、ポートA、ポートB、ポートC、ポートDの順番に優先順位が高くされる。つまり、ポートレジスタを構成するフリップフロップ回路FF2A,FF2B,FF2Cのクロック端子ckには上記イベント発生回路の出力信号が伝えられる。上記フリップフロップ回路FF2Aのデータ端子dには、上記ポートAに対応したフリップフロップ回路FF1Aの出力信号Aを受けるゲート回路G11により反転された出力信号が伝えられる。上記フリップフロップ回路FF2Bのデータ端子dには、上記ポートBに対応したフリップフロップ回路FF1Bの出力信号Bを受けるゲート回路G12により反転された出力信号が伝えられる。上記ポートCに対応したフリップフロップ回路FF1Cの出力信号Cを受けるゲート回路G13により反転された出力信号が伝えられる。
イベントが発生した時点でゲート回路G11〜G13を通したフリップフロップ回路FF1A〜FF1Cのセット/リセットを判定し、フリップフロップ回路FF1Aがセット状態ならポートAが選択され、上記フリップフロップ回路FF1Aがリセット状態でフリップフロップ回路FF1Bがセット状態ならポートBが選択され、上記フリップフロップ回路FF1AとFF1Bがリセット状態でフリップフロップ回路FF1Cがリセット状態ならポートCが選択され、上記フリップフロップ回路FF1A,FF1B及びFF1Cがリセット状態ならポートDが選択される。つまり、イベントが発生したにも関わらず、上記3つのフリップフロップ回路FF1A,FF1B及びFF1Cがリセット状態であるということは、フリップフロップ回路FF1Dがセット状態であると判定するものである。
上記のような優先順位に従ったポートの選択を行うために、上記フリップフロップ回路FF2A〜FF2Cの出力信号qと、その反転信号がプライオリティエンコーダを構成するゲート回路G21〜G24に伝えられる。これらのゲート回路G21〜G24のうち、優先順位に従って1つの出力信号がロウレベルの選択状態にされる。これらのゲート回路G21〜G24の出力信号は上記イベント受け付けレジスタであるフリップフロップ回路FF3の出力信号によりゲートが制御されるゲート回路G25〜G28を通して、それぞれに対応する上記フリップフロップ回路FF1A〜FF1Dのリセット端子に伝えられる。これにより、入力部のフリップフロップ回路FF1A〜FF1Dのうち、前記図6の実施例と同様に選択されたポートに対応したものがリセットされる。
上記ゲート回路G21ないしG24は、出力用のインバータ回路IV12〜IV15を通し出力される。つまり、上記優先順位に対応して4つのゲート回路G21〜G24のうち1つの出力信号がロウレベルとなり、それが上記インバータ回路IV12〜IV15の対応したものにより反転されて出力される。これにより、ポート選択信号CPA〜CPDのうちハイレベルにされたものが図示しない入力ラッチのセレクタを選択することとなる。この実施例では、前記図6に示したようなタイミング保証A及びタイミング保証Bのための遅延回路は省略されているが、回路の動作条件に応じて適宜にもうければよい。この場合、タイミング保証Aは、イベント発生回路の論理和出力を形成するゲート回路G15、G16,G17での信号遅延を利用することにより実現することもできる。
図10には、この発明に係る非同期型疑似4ポートSRAMの一実施例の全体ブロック図が示されている。同図の各回路ブロックは、公知の半導体集積回路の製造技術によって、単結晶シリコンのような1個の半導体基板上において形成される。この実施例の非同期型疑似4ポートSRAMは、1ポートSRAMと非同期制御回路とが組み合わされて構成される。また、入力回路としてはそれぞれがポート数に対応して設けられる制御信号入力用(we1〜we4)、書き込みデータ用(d1〜d4)及びアドレス用(a1〜a4)の各入力ラッチとセレクタ及び出力回路としてポート数に対応したデータ出力用(q1〜q4)の出力ラッチとが設けられる。
出力ラッチは、同図に拡大図として例示的に示されているように、ナンドゲート回路G31〜G34から構成されるイネーブル端子Eが設けられたセット/リセット−フリップフロップ回路から構成される。イネーブル端子Eには、選択された制御信号weとポート選択信号cp1〜cp4の論理信号が伝えられ、選択されたポートが読み出し動作のとき、それに対応した出力ラッチが有効とされて、センスアンプの出力信号が取り込まれる。
1ポートSRAMは、特に制限されないが、1Kワード×72ビット構成の同期SRAMから構成される。それ故、メモリアレイは、デコーダにより72個のメモリセルが選択され、選択されたメモリセルの記憶情報は、センスアンプにより増幅されて72ビットの単位で、選択されたポートに対応した出力ラッチに出力される。書き込みドライバは、上記書き込みデータを受けて、選択されたポートに対応したデータがメモリアレイに書き込まれる。
この発明に係る非同期制御回路は、4つのポートから非同期で入力されるクロックck1〜ck4を受け、同時に複数のポートからクロックが供給されたときには優先順位に従って1つのポートを選択して同期SRAMにクロックck、制御信号we及びアドレスaを供給する。書き込み動作なら書き込みデータdも取り込まれる。読み出し動作なら上記アドレスaにより選択されたメモリセルからの読み出し信号がデータ出力qとして出力される。非同期制御回路は、上記同期SRAMに対応したサイクル時間レプリカ回路により形成された同期SRAMの動作完了信号doneを受け、未実行のポートからのアクセスを引き続いて順次に実行する。
図11には、この発明に係る非同期型疑似4ポートSRAMの一実施例のチップブロック図が示されている。この実施例では、データ入力とデータ出力とが共通のデータ端子/io1〜/io4を用いて行われる。これに対応して、出力イーブル端子/oe1〜/oe4が設けられ、3状態出力機能を持つ出力バッファの動作制御信号とされる。出力イネーブル信号/oe1ないし/oe4がロウレベルのイーブルにされた出力バッファ回路の動作が有効とされて、対応する外部端子/io1〜/io4からデータが出力される。
ブラックボックスで示した内部回路は、前記非同期制御回路、サイクル時間レプリカ回路や入力ラッチ、セレクタ及び1ポートの同期SRAMと出力ラッチとから構成される。外部端子/io1〜/io4から入力された書き込みデータは、書き込みデータ入力d1〜d4として上記ブラックボックスに設けられた入力ラッチに入力される。アドレス信号a1〜a4は、アドレス入力バッファを通して対応する入力ラッチに入力される。リードライト制御信号/rw1〜/rw4は、制御入力バッファを通して対応する入力ラッチに入力される。クロック端子ck1ないしck4に対応してクロックイネーブル端子/ce1ないし/ce4が設けられ、入力バッファを兼ねたゲート回路によりこれらの論理積が採られてブラックボックス内の非同期制御回路に伝えられるクロック信号ck1〜ck4が生成される。
図12には、この発明に係る非同期型疑似4ポートSRAMの一実施例のピン配置図が示されている。この実施例の非同期型疑似4ポートSRAMは、BGA(Ball Grid Array) パッケージに搭載される。図11に示したようなチップが搭載される部分の中央部を除いて、半田ボール等からなる外部端子がグリッド状に配置され、上記4つのポートに対応したアドレス端子a1〜a4、データ端子IO1〜IO4、クロックイネーブル端子/ce1〜ce4、出力イネーブル端子/oe1〜/oe4、リードライト制御端子/rw1〜/rw4、クロック端子ck1〜ck4、及び複数が分散されて設けられた電源端子vddと接地端子gndが同図のように割り当てられる。
図13には、図12に示したBGAパッケージの裏面図が示されている。図12のピン配置図に対応して、半田ボール等からなる外部端子がグリッド状に配置されている様子が示されている。この実施例では、図12において空き端子にも半田ボールが設けられる。
図14には、この発明に係る非同期型疑似4ポートSRAMの他の一実施例のチップブロック図が示されている。この実施例では、4つのポートうち2つのポートがランダム入出力用とされ、2つのポートがシリアル入出力用とされる。ランダム入出力用には、クロックck1とck2に対応した2つのポートが用いられる。これに対して、クロックck3とck4に対応した2つのポートがシリアル入出力用とされる。シリアル入出力のためにアドレスカウンタ1と2が設けられ、クロックck3とck4により上記アドレスカウンタ1と2のアドレス歩進動作が実行され、かかるアドレスカウンタ1と2により形成されたアドレス信号がアドレスa3とa4として対応するポートの入力ラッチに取り込まれる。
上記ポート1と2及び上記アドレスカウンタによりアドレス信a3とa4を生成する部分を除いた部分は、前記図11の実施例と同じ構成とされる。上記ポート3と4は、クロックイネーブル/ce3と/ce4を有効として、クロックck3とck4を入力するだけで、それぞれアドレスが+1されて書き込み又は読み出しが実施される。これにより、連続したアドレスでのメモリセルの選択動作が行われるので、データのシリアル入力とシリアル出力とが可能になるものである。
ポート1〜3の3つのポートをランダム入出力用とし、残り1つのポート4をシリアル入出力用としてもよい。3つのポートを用いてメモリアレイにランダムにデータの書き換えを行い、1つのポートから順次にそれを出力させることができる。例えば、上記3つのポートを用いて画像や文字を更新し、表示装置の動作に合わせて上記1つのシリアルポートから定期的に表示データを出力させることができる。この場合、表示動作が画像や文字の更新に対して遅いときには上記シリアル用のポートの優先順位を最下位とすればよいし、表示動作を優先させるときには、上記シリアル用のポートの優先順位を最上位とすればよい。
図15には、この発明に係る非同期型疑似マルチポートメモリの更に他の一実施例の基本的なブロック図が示されている。この実施例の非同期型疑似マルチポートメモリは、図5の実施例の変形例であり、非同期制御回路から非同期通信用インターフェイスを実現する制御信号DReady1 〜DReadyn が設けられる。この制御信号DReady1 〜DReadyn は、実行ポートの処理終了信号であり、ユーザー論理とマクロセルとの非同期通信を可能とするものである。
上記制御信号DReady1 〜DReadyn は、非同期型疑似マルチポートメモリをアクセスするマイクロプロセッサや上記ユーザー論理等は、例えば上記信号DReady1 を受けて次アクセスが許可されるようにしてもよい。1ないしnポートに対して均等にメモリアクセスの機会を割り当てる場合には、未実行の最下位順位
のメモリアクセスの終了を待って上記信号DReady1 〜DReadyn が非同期制御回路からマイクロプロセッサやユーザー論理に返される。あるいは、上記制御信号DReady1 によって有効なデータが出力ラッチにあることを上記マイクロプロセッサやユーザー論理等に知らせるようにするものとしてもよい。上記nポートに対して均等にメモリアクセスの機会を割り当てる構成は、メモリアクセスを行うマイクロプロセッサやユーザー論理等において、メモリアクセスの要求をメモリサイクルのn倍の周期により行うようにすることでも実現できる。
のメモリアクセスの終了を待って上記信号DReady1 〜DReadyn が非同期制御回路からマイクロプロセッサやユーザー論理に返される。あるいは、上記制御信号DReady1 によって有効なデータが出力ラッチにあることを上記マイクロプロセッサやユーザー論理等に知らせるようにするものとしてもよい。上記nポートに対して均等にメモリアクセスの機会を割り当てる構成は、メモリアクセスを行うマイクロプロセッサやユーザー論理等において、メモリアクセスの要求をメモリサイクルのn倍の周期により行うようにすることでも実現できる。
図16には、この発明に係る非同期型疑似マルチポートメモリを用いた信号処理システムの一実施例の概略ブロック図が示されている。図16(a)の構成は、2ポートSRAMに前記非同期制御回路が組み込まれる。マイクロプロセッサCPU1は、2つのポートのうち1つのポートを占有してメモリアクセスを行う。これに対して、残り1つのポートは、非同期制御回路を介して2つのマイクロプロセッサCP2とCP3が非同期でメモリアクセスを行うようにするものである。この構成により、2ポートSRAMを用いつつ、等価的に3ポートSRAMを実現できる。この発明に係る非同期制御回路は、1ポートSRAMとの組み合わせに限定されるものではなく、1を含むNポートのSRAMに非同期制御回路を組み込んで、Mポート(M>N)の非同期SRAMを実現することができるものである。この信号処理システムでは、互いにシステムクロックの異なるCPU1〜CPU間でデータの授受を行うようにすることができる。
図16(b)では、非同期制御回路と演算器とを組み合わせて2つのマイクロプロセッサCP1とCP2により演算器を共用することができる。例えば、演算器としては除算器のように使用頻度が比較的少なく、演算結果が得られるまで多数のサイクル数を有するものに有益である。CPU1又はCPU2は、互いに非同期で乗算命令を共用された演算器に送り、他の信号処理を行いながら演算結果が出たときにそれを取り出すことができるのでシステム構成が簡単で効率のよい信号処理が可能となる。このように非同期制御回路により制御される回路は、メモリ回路の他、信号入力とそれに対応した信号出力を行うものであれば何であってもよい。
図17には、この発明に係る非同期制御回路に用いられるフリップフロップ回路の一実施例のブロック図が示されている。前記図6及び図9において、フリップフロップ回路FF2やFF2A〜FF2Cとして一般的なフリップフロップ回路を用いた場合には、メタステーブル状態(準安定状態)が発生する。つまり、フリップフロップ回路のように帰還ループを持って2つの安定状態を有する回路では、2つの安定状態の他にメタステーブル状態又は準安定状態と呼ばれる中間レベルにおいて一定の確率で安定することが知られている。このメタステーブル状態又は準安定状態は、通常ノイズや電源変動等により最終的には上記2つのいずれかの状態に安定するという一時的なものである。しかしながら、上記メタステーブル状態では中間レベルを出力してしまうので、前記図6の回路では、ゲート回路G4とG5の持つ論理しきい値電圧との関係で、ハイレベル/ロウレベルの相補関係であるはずのフリップフロップ回路FF2の出力信号が共に同じハイレベル又はロウレベルの入力信号と判定されてしまうような誤動作が発生する。このことは、図9のゲート回路G21〜G24においても同様である。
そこで、この実施例では、前記図6又は図9のフリップフロップ回路FF2、FF2A〜FF2Cとしてメタステーブル状態を回避した同期化回路を用いるようにするものである。つまり、フリップフロップ回路20と21を用い、前記図6のイメンド発生回路からの非同期信号を前段のフリップフロップ回路20のデータ端子Dに供給し、クロック端子には遅延回路DLを通したクロック信号を供給する。そして、後段のフリップフロップ回路21のデータ端子Dには、前段のフリップフロップ回路20の出力信号Qを入力し、クロック端子には遅延回路DLにより遅延させたクロック信号を供給する。この2段同期化回路では、前記のようにメタステーブル状態が通常ノイズや電源変動等により上記2つのいずれかの状態に安定するという特徴を利用したものであり、そのために遅延回路DLは上記2つのいずれかの状態に安定するのに要する時間だけ遅らせた時間に設定される。このような2段同期化回路20,21を用いることにより、前記疑似マルチポートメモリでの誤動作を防止することができる。
図18には、この発明に係る同期化回路の一実施例のブロック図が示されている。図17の同期化回路では、メタステーブル状態が通常ノイズや電源変動等により上記2つのいずれかの状態に安定することを利用するものであり、そのために比較的長い遅延時間で後段側のフリップフロップ回路21を動作させることが必要となる。このため、上記遅延時間だけ非同期信号の取り込みが遅れてしまい、マルチポートメモリに適用した場合にはメモリアクセス時間が長くなってしまう。そこで、この実施例では、非同期信号を高速に取り込むよう工夫されたものである。
非同期入力信号は、1段目としてのラッチ(又はフリップフロップ)回路10のデータ端子Dに入力される。クロックは、クロック端子CLKに供給される。このようなラッチ回路10においては、前記のようにある確率によってメタステーブル状態が発生する。ただし、このラッチ回路10においては、メタステーブル状態においては、非反転出力Qと反転出力/Qから出力される出力信号に意図的に一定のオフセット電圧Voffを持つように設定されている。そして、上記ラッチ回路10の一対の出力端子Qと/Qは、増幅回路20の一対の入力端子に供給されて増幅される。この増幅動作は、特に制限されないが、上記クロックが遅延回路30によって遅延させられたタイミング信号によって増幅動作を開始するようにされる。
図19には、この発明に係る同期化回路の一実施例の回路図が示されている。この実施例の同期化回路は2段のラッチ回路と出力ラッチ回路で構成され、1段目のラッチ回路は差動出力となっており、また2段目ラッチ回路は差動入力となっている。1段目のラッチ回路の差動出力と2段目のラッチ回路の差動入力は、2段目のラッチ回路と同一タイミングで制御されるPチャネルMOSFETMP5,MP6で接続されている。また、2段目のラッチ回路は出力データを保持するための出力ラッチ回路に接続されている。
1段目のラッチ回路は入力と出力が交差接続された2個のCMOSインバータ回路が用いられる。一方のCMOSインバータ回路は、NチャネルMOSFETMN1とPチャネルMOSFETMP1で構成される。他方のCMOSインバータ回路は、NチャネルMOSFETMN2とPチャネルMOSFETMP2で構成される。上記PチャネルMOSFETMP1とMP2のソースは、電源電圧vddが供給される。NチャネルMOSFETMN1とMN2のソースと回路の接地電位との間には、NチャネルMOSFETMN4が設けられる。そして、上記入力と出力とが交差接続された一対の入出力ノードと電源電圧vddとの間には、プリチャージ又はプルアップ用のPチャネルMOSFETMP3とMP4が設けられている。上記一方のCMOSインバータ回路を構成するNチャネルMOSFETMN1には、入力信号を受けるNチャネルMOSFETMN3が並列形態に設けられる。このMOSFETMN3のゲートには、ノアゲート回路NORを通して非同期入力信号Dとクロック信号CLKが供給される。そして、NチャネルMOSFETMN4及び上記PチャネルMOSFETMP3とMP4のゲートには、クロック信号CLKが供給されている。
クロック信号CLKがロウレベルの場合は、PチャネルMOSFETMP3、MP4により上記ラッチ形態の2つのCMOSインバータ回路の交差接続された入力と出力は、電源電圧vddのようなハイレベルにチャージアップ又はプルアップされる。この実施例では、メタステーブル状態で一対の出力信号にオフセット電圧Voffを持たせるように上記一方のCMOSインバータ回路のNチャネルMOSFETMN1は、他方のCMOSインバータ回路のNチャネルMOSFETNM2に比べて1/10程度の小さなサイズ(小さなコンダクタンス)にされている。
非同期入力信号Dがハイレベルの場合は、ノアゲート回路NORの出力信号がロウレベルとなっており、NチャネルMOSFETMN3はオフ状態になっている。クロック信号CLKがロウレベルからハイレベルに変化すると、上記PチャネルMOSFETMP3とMP4がオフ状態となり、上記NチャネルMOSFETMN4がオン状態になり、NチャネルMOSFETMN2のドレイン電圧の変化はNチャネルMOSFETMN1に比べて速いため、NチャネルMOSFETMN1はオフ状態、NチャネルMOSFETMN2はオン状態になり、上記ロウレベルの非同期入力信号に対応したデータを保持することができる。
非同期入力信号Dがロウレベルの場合は、ノアゲート回路NORの出力信号がハイレベルとなっており、NチャネルMOSFETMN3がオン状態となっている。このため、クロック信号CLKがロウレベルからハイレベルに変化して、上記PチャネルMOSFETMP3とMP4がオフ状態となり、上記NチャネルMOSFETMN4がオン状態になると、上記NチャネルMOSFETMN3のオン状態に対応してNチャネルMOSFETMN2がオフ状態、NチャネルMOSFETMN1がオン状態となり、上記とは逆のデータを保持することができる。この保持状態では、上記ノアゲート回路NORの出力信号のロウレベルによってNチャネルMOSFETMN3はオフ状態にされて、上記NチャネルMOSFETMN1とMN2のオン/オフに対応したデータ保持が行われる。
クロック信号CLKに対して非同期信号Dがほぼ同時に入力された場合は、NチャネルMOSFETMN1とMN2に流れる電流が釣り合い、暫くの間、メタステーブル状態(準安定状態)になる可能性がある。このようなメタステーブル状態(準安定状態)は、クロックCLKの周波数と非同期入力信号を発生する回路の周波数が異なる場合に、ある一定の頻度で発生することが予想される。この実施例では、上記準安定状態が発生した場合には、NチャネルMOSFETMN1のサイズがNチャネルMOSFETMN2に比べて小さいため、両MOSFETに同じ電流を流すためには、必ずNチャネルMOSFETMN1のゲート電圧は、NチャネルMOSFETMN2のゲート電圧より高い電圧になるものである。このことは、ラッチ回路の非反転出力信号(Q)と反転出力信号(/Q)からなる出力信号には一定のオフセット電圧Voffを持つことを意味する。このようにして、1段目のラッチ回路においては、メタステーブル状態が発生しても、非反転出力(ポジ)信号と反転出力(ネガ)信号の出力信号間ではNチャネルMOSFETMN1とMN2のサイズの比に対応した電位差が発生させられる。
2段目のラッチ回路は、上記オフセット電圧Voffをセンスするための増幅回路であり、特に制限されないが、高感度で低消費電力とするためにラッチ回路が利用される。このラッチ回路は、NチャネルMOSFETMN5とPチャネルMOSFETMP7で構成される一方のCMOSインバータ回路と、NチャネルMOSFETMN6とPチャネルMOSFETMP8で構成される他方のCMOSインバータ回路の入力と出力とが交差接続されて構成される。上記PチャネルMOSFETMP7とMP8のソースは、電源電圧vddが供給される。NチャネルMOSFETMN5とMN6のソースと回路の接地電位との間には、NチャネルMOSFETMN7が設けられる。上記ラッチ回路の一対の入力端子には、上記1段目のラッチ回路の一対の出力端子とPチャネルMOSFETMP5とMP6により接続されている。そして、上記PチャネルMOSFETMP5とMP6及びNチャネルMOSFETMN7ゲートには、ディレイ回路DLYで遅延させられた信号DCLKが供給される。このようなラッチ回路を利用しているので、上記オフセット電圧Voffを取り込むためにクロック信号CLKをディレイ回路DLYで遅延させた信号DCLKで動作させられる。
つまり、遅延時間だけ遅れて信号DCLKがロウレベルからハイレベルに変化すると、PチャネルMOSFETMP5とMP6のオフ状態になり、仮にメタステーブル状態が発生した場合でも前記オフセット電圧Voffが2段目のラッチ回路の入力に取り込まれている。上記信号DCLKのハイレベルによりNチャネルMOSFETMN7がオン状態になる。2段目のラッチ回路のNチャネルMOSFETMN5とMN6は同じ大きさ、PチャネルMOSFETMP7とMP8も同じ大きさのMOSFETにしている。つまり、入力オフセットはプロセセスバラツキに対応した小さいものに設計してある。この2段目のラッチ回路は、例えばダイナミック型メモリのセンスアンプと同様にノードN1とN2の電位差を増幅するように動作する。
実際の回路では、前記のチップ内のプロセスばらつきで、この2段目のラッチ回路の入力電圧にオフセットばらつきが存在する。しかし、1段目のラッチ回路でメタステーブル状態が発生したときの出力電位差であるオフセット電圧Voffは、2段目ラッチ回路の入力オフセット電圧ばらつきより大きくなるように設計されているので、1段目のラッチ回路でメタステーブル状態(準安定状態)が発生した場合でも、2段目のラッチ回路で上記オフセット電圧Voffを増幅して安定出力状態に対応した一方の論理レベルに確定させることができる。上記遅延回路DLYの遅延時間は、1段目のラッチ回路でのメタステーブル状態でのオフセット電圧Voffを第2ラッチ回路に取り込むに必要な極く短い時間でよいので、言い換えるならば、前記図17の同期化回路のようにメタステーブル状態が解消されるであろう時間まで待たなくてよいので、前記図17の同期化回路のような遅延時間の大幅な増加を無くす事が可能である。
上記第1段目及び第2段目のラッチ回路は、クロックCLKに対応して動作/非動作(プリチャージ又はリセット期間)を有する。このため、非動作期間において、その直前に取り込んだ非同期信号(メタステーブル状態を含む)を保持するために、出力ラッチ回路が設けられる。出力ラッチ回路は、上記2段目のラッチ回路の一対のノードN1とN2の信号は、インバータ回路INV1とINV2に入力される。このインバータ回路INV1とINV2の出力信号は、一方においてNチャネルMOSFETMN8とMN9のゲートに伝えられる。上記インバータ回路INV1とINV2の出力信号は、他方においてインバータ回路INV4とINV3に交差的に入力されて、反転出力信号がPチャネルMOSFETMP9とMP10のゲートに伝えられる。上記NチャネルMOSFETMN8とMP9及び上記NチャネルMOSFETMN9とMP10は、電源電圧vddと回路の接地電位vssとの間にそれぞれ直列接続されてトライステート出力回路を構成する。上記MOSFETMN8とMP9の共通接続されたドレイン出力信号と、上記MOSFETMN9とMP10の共通接続されたドレイン出力信号とは、インバータ回路INV5とINV6の入力と出力とが交差接続されてなるラッチ回路に伝えられる。このラッチ回路の一方の出力信号は、インバータ回路INV7を通して同期化信号を得る出力端子Qに伝えられる。
クロック信号CLKがロウレベルのプリチャージ(リセット)期間では、前記ノードN1とN2が共にハイレベルにプリチャージされる。それ故、インバータ回路INV1とINV2の出力信号が共にロウレベルにされるので、上記トライステート出力回路を構成するNチャネルMOSFETMN8とMN9はオフ状態にされる。また、インバータ回路INV3とINV4の出力信号は共にハイレベルにされので、上記トライステート出力回路を構成するPチャネルMOSFETMN9とMN10はオフ状態にされる。したがって、上記クロック信号CLKがロウレベルのときには、これら2つのトライステート出力回路は、共に出力がハイインピーダンス状態にされるので、上記インバータ回路INV5とINV6からなるラッチ回路は、上記プリチャージ以前の状態を保持して出力させる。
クロック信号CLKがハイレベルにされると、非同期信号Dに対応して上記1段目及び2段目のラッチ回路ではノードN1とN2を2値レベルに確定させる。例えば、ノードN1がハイレベルで、ノードN2がロウレベルならPチャネルMOSFETMP9とNチャネルMOSFETMN9がオン状態となり、PチャネルMOSFETMP10とNチャネルMOSFETMN8がオフ状態となって、MOSFETMP9とMN8からなる出力回路からはハイレベルが、MOSFETMP10とMN9からなる出力回路からはロウレベルが出力されるので、インバータ回路INV5とINV6からなるラッチ回路にはそれに対応した信号を取り込んで、出力端子Qからロウレベルを出力させる。逆に、ノードN1がロウレベルで、ノードN2がハイレベルなら上記とは出力端子Qからはハイレベルが出力される。
図20には、図19の同期化回路のメタステーブル状態での動作を説明するための波形図が示されている。クロック信号CLKの立ち上がりに対して非同期信号Dがほぼ同時に入力され、例えば、ロウレベルからハイレベルのようなレベル遷移状態であることによってNチャネルMOSFETMN1とMN2に流れる電流が釣り合ってメタステーブル状態となっても、オフセット電圧Voffが発生されるように回路設計が行われているので、それが2段目のラッチ回路ノードN1とN2に伝えられる。クロック信号CLKの遅延信号DCLKのハイレベルにより、2段目のラッチ回路が増幅動作を開始して上記オフセット電圧Voffに対応してノードN2を論理ハイレベルに、ノードN1を論理ロウレベルに確定させる。したがって、出力ラッチ回路がロウレベルの出力信号を保持していた状態なら、上記遅延信号DCLKに対応して出力端子Qがロウレベルからハイレベルに変化して、同期化された出力信号を得ることができる。なお、このようなメタステーブル状態の無い論理出力信号(Q)は、必ずしも正しい論理レベルであるとは限らない。つまり、この実施例の同期化回路は、メタステーブル状態の無い論理出力信号を形成することに意味があり、前記のような論理的な誤動作を防止する上で有益なものである。
図21には、この発明に係る同期化回路を使用した非同期マルチポートメモリの他の一実施例のブロック図が示されている。アドレス入力1、データ入力1、制御入力1はクロック1に同期しており、アドレス入力2、データ入力2、制御入力2はクロック2に同期している。クロック1またはクロック2が入力されると、どちらのクロックが入力されたかを同期化回路8によって確定し、その信号を元にセレクタ12〜14とフリップフロップ16、17を動作させるクロック信号をポート選択制御回路11が生成する。ポート選択制御回路11の詳細は、前記図6に示した回路と同一である。
同期化回路8として、通常のフリップフロップ回路を使用した場合は、フリップフロップ回路に前記のようなメタステーブル状態(準安定状態)が発生した場合には論理回路に矛盾が発生して前記のような誤動作が発生する。そこで、前記図17のように2段のフリップフロップ回路を用い、メタステーブル状態が解消するまで待つようにすると遅延時間が増加してしまう。前記図19図に示したような同期化回路を使った場合は、図17の2段構成のラッチ回路を用いた同期化回路に比べてタイミングマージンを小さくすることが可能となり、高速な非同期擬似マルチポートメモリを実現することができる。このため、高速メモリにおいても、回路を2重化したマルチポートメモリと比べて高集積な擬似マルチポートメモリを実現することができ、半導体メモリの低コスト化が可能となる。
図22には、この発明の他の一実施例のブロック図が示されている。この実施例では、非同期入力信号とシステムクロックは、前記図18又は図19に示したような同期化回路40に入力される。そして、出力信号Qは、組合せ論理回路41に供給され、その出力信号が上記システムクロックで動作するフリップフロップ回路42に取り込まれる。論理信号処理回路の基本構成はフリップフロップFF−論理段−フリップフロップFFを単位とする組み合わせで構成され、上記フリップフロップFFに対してクロックパルスが供給される。論理段の入力側に設けられたフリップフロップFFに保持された信号は、クロックパルスに同期してかかる論理段に入力される。論理段では、入力信号に対応して論理処理を行ない、出力側に設けられたフリップフロップFFの入力端子に伝える。出力側のフリップフロップFFは、次のクロックパルスに同期して上記論理段での出力信号を取り込み保持する。このようにして、クロックパルスに同期した論理シーケンスが実行される。この実施例の同期化回路を非同期入力信号の取り込みに用いると、非同期入力に対して、前記図17のような同期化回路を用いた場合のように1クロック分の遅延なく信号処理を直ちに行うようにすることができる。この場合、遅延回路DLYでの遅延時間分だけ組合せ論理回路41に伝えられる入力信号が若干遅くなるので、その分を補うように論理段での信号遅延が短くなるように設計すればよい。
以上本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、前記のイベント発生回路やプライオリティエンコーダの具体的構成は、前記のような機能を実現するものであれば何であってもよい。nポートに対して均等にメモリアクセスの機会を割り当てる必要はない。例えば、優先順位の高いマイクロプロセッサやユーザー論理等からメモリアクセスが常に行われ、優先順位の低いマイクロプロセッサやユーザー論理等は、空き状態のときにのみアクセスが許されるようにするものであってもよい。メモリアクセスを行う装置としては、上記マイクロプロセッサやユーザー論理の他、表示動作を行う制御装置や直接メモリアクセス制御装置等何であってもよい。
前記図19の実施例回路において、1段目のラッチ回路は、PチャネルMOSFET側に前記のようなオフセット出力電圧Voffを発生させるようなサイズ比を持たせ、入力信号をPチャネルMOSFETで受けるようにしてもよい。この場合のプリチャージレベルは、回路の接地電位のようなロウレベルにされる。したがって、出力信号を2段目のラッチ回路に伝えるスイッチMOSFETは、NチャネルMOSFETが用いられる。また、このスイッチMOSFETとしては、PチャネルMOSFETとNチャネルMOSFETとを並列接続したCMOSスイッチを用いるものであってもよい。2段目のラッチ回路は、単に増幅回路で構成してもよい。例えば、クロック信号CLKのハイレベルで動作状態にされる差動増幅回路を利用することもできる。このような差動回路を用いた場合には、上記遅延回路DLYを省略することができる。上記のような差動回路を用いた場合には、出力信号を電源電圧vdd対応したハイレベルと回路の接地電位に対応したロウレベルに変換する出力回路が設けられる。この発明は、非同期制御回路とそれを用いた非同期マルチポートメモリ等の半導体集積回路装置に広く利用できる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記のとおりである。非同期制御回路として、互いに非同期で発生される複数のアクセス要求信号と上記複数のアクセス要求信号のそれぞれに対応した複数の入力信号とを受けて少なくとも1つのアクセス要求に対応して起動し、その起動状態で1ないし複数のアクセス要求の中から1つのアクセス要求を選択し、それに対応した入力信号を受け付けて、所定の回路動作を実行する回路機能ブロックに対して当該入力信号を伝え、当該入力信号に対応した動作終了後に未実行のアクセス要求に対応した入力信号の受け付けを行うことにより、非同期動作を実現しつつポート数に制約のなくすることができる。
半導体集積回路装置に非同期制御回路とメモリ回路とを設け、上記非同期制御回路は、互いに非同期で発生される複数のアクセス要求信号と上記複数のアクセス要求信号のそれぞれに対応した複数の入力信号とを受けて少なくとも1つのアクセス要求に対応して起動し、その起動状態で1ないし複数のアクセス要求の中から1つのアクセス要求を選択し、それに対応した入力信号を受け付けて、所定の回路動作を実行する回路機能ブロックに対して当該入力信号を伝え、当該入力信号に対応した動作終了後に未実行のアクセス要求に対応した入力信号の受け付けを行って上記メモリ回路をアクセスすることにより、小面積の非同期動作でポート数に制約のない多ポートメモリを実現できる。
FF1A〜FF1D…フリップフロップ回路(入力部)、FF2,FF2A〜FF2C…フリップフロップ回路(ポートレジスタ)、FF3…フリップフロップ回路、G1〜G34…ゲート回路、IV1〜IV15…インバータ回路、DL1,DL2…遅延回路、CPU1〜CPU3…マイクロプロセッサ(ユーザー論理)、
1〜6、8…同期化回路、9…ゲート回路、11…ポート選択制御回路、16、17、20〜21、42…フリップフロップ、12〜14:セレクタ、15…クロック同期形メモリ、10…1段目のラッチ回路、20…増幅回路、30…遅延回路、MN1〜MN9…NチャネルMOSFET、MP1〜MP10…PチャネルMOSFET、NOR…ノアゲート回路、DLY…遅延回路、INV1〜INV7…インバータ回路。
1〜6、8…同期化回路、9…ゲート回路、11…ポート選択制御回路、16、17、20〜21、42…フリップフロップ、12〜14:セレクタ、15…クロック同期形メモリ、10…1段目のラッチ回路、20…増幅回路、30…遅延回路、MN1〜MN9…NチャネルMOSFET、MP1〜MP10…PチャネルMOSFET、NOR…ノアゲート回路、DLY…遅延回路、INV1〜INV7…インバータ回路。
Claims (27)
- 複数のアクセス要求信号と上記複数のアクセス要求信号のそれぞれに対応した複数の入力信号とを受け、上記複数のアクセス要求信号のうち少なくとも1つのアクセス要求に対応して起動され、その起動状態での1ないし複数のアクセス要求に対して所定の1つのアクセス要求に対応した上記入力信号の受け付けを行い、所定の回路動作を実行する回路機能ブロックに当該入力信号を伝え、当該入力信号に対応した動作終了後に未実行のアクセス要求に対応した上記入力信号の受け付けを行うことを特徴とする非同期制御回路。
- 請求項1において、
上記複数のアクセス要求信号は、それぞれが非同期で発生されるクロック信号又はタイミング信号であることを特徴とする非同期制御回路。 - 請求項2において、
上記起動状態での複数のアクセス要求のうち予め決められた優先順位の高い1つのアクセス要求を選択する優先順位設定回路を備えてなることを特徴とする非同期制御回路。 - 請求項3において、
上記非同期制御回路は、複数からなる第1フリップフロップ回路と論理和回路及び第3フリップフロップ回路とを備え、
上記複数のアクセス要求信号は、それに対応した上記複数からなる第1フリップフロップ回路にセット入力信号としてそれぞれ供給され、
上記第1フリップフロップ回路の出力信号は、上記論理和回路と優先順位設定回路とに伝えられ、
上記論理和回路の出力信号は、上記第3フリップフロップ回路に伝えられ、
上記第3フリップフロップ回路は、上記論理和回路の出力信号によりセットされ、そのセット出力信号により上記優先順位設定回路の出力を有効とするとともに、上記第1フリップフロップ回路の出力信号の上記論理和回路への伝達を停止させ、
上記優先順位設定回路は、1つのアクセス要求を選択してそれに対応した上記第1フリップフロップ回路をリセットするとともに上記入力信号を上記回路機能ブロックに伝え、 上記第3フリップフロップ回路は、上記回路機能ブロックの動作終了タイミングに対応してリセットされることを特徴とする非同期制御回路。 - 請求項4において、
上記優先順位設定回路は、最下位の優先順位を除く上記第1フリップフロップ回路の出力信号を受ける第2フリップフロップ回路を備え、
上記第2フリップフロップ回路は、上記論理和回路の出力信号により上記第1フリップフロップ回路の出力信号を取り込み、
上記第2フリップフロップ回路の出力信号は、それより下位の優先順位のアクセス要求の非選択に用いられることを特徴とする非同期制御回路。 - 非同期制御回路と、
メモリ回路とを備え、
上記非同期制御回路は、複数のアクセス要求信号と上記複数のアクセス要求信号のそれぞれに対応した複数の入力信号とを受け、上記複数のアクセス要求信号のうち少なくとも1つのアクセス要求に対応して起動され、その起動状態での1ないし複数のアクセス要求に対して所定の1つのアクセス要求に対応した入力信号の受け付けを行って上記メモリ回路に当該入力信号を伝え、当該入力信号に対応したメモリ回路の動作終了後に未実行のアクセス要求に対応した入力信号の受け付けを行い、
上記メモリ回路は、上記非同期制御回路を介してアクセスされることを特徴とする半導体集積回路装置。 - 請求項6において、
上記複数のアクセス要求信号に対応した複数の入力ラッチと、出力ラッチとを更に備え、
上記受け付けられたアクセス要求に対応した入力信号は、上記入力ラッチに取り込まれたものがメモリ回路に伝えられ、
上記アクセス要求に対応した読み出し信号は、上記出力ラッチ回路に取り込まれるものであることを特徴とする半導体集積回路装置。 - 請求項7において、
上記複数のアクセス要求信号は、それぞれが非同期で発生されるクロック信号又はタイミング信号であることを特徴とする半導体集積回路装置。 - 請求項8において、
上記非同期制御回路は、起動状態での複数のアクセス要求のうち予め決められた優先順位の高い1つのアクセス要求を選択する優先順位設定回路を備えてなることを特徴とする半導体集積回路装置。 - 請求項9において、
上記非同期制御回路は、複数からなる第1フリップフロップ回路と論理和回路及び第3フリップフロップ回路とを備え、
上記複数のアクセス要求信号は、それに対応した上記複数からなる第1フリップフロップ回路にセット入力信号としてそれぞれ供給され、
上記第1フリップフロップ回路の出力信号は、上記論理和回路と優先順位設定回路とに伝えられ、
上記論理和回路の出力信号は、上記第3フリップフロップ回路に伝えられ、
上記第3フリップフロップ回路は、上記論理和回路の出力信号によりセットされ、そのセット出力信号により上記優先順位設定回路の出力を有効とするとともに、上記第1フリップフロップ回路の出力信号の上記論理和回路への伝達を停止させ、
上記優先順位設定回路は、1つのアクセス要求を選択してそれに対応した上記第1フリップフロップ回路をリセットするとともに上記入力信号を上記メモリ回路に伝え、
上記第3フリップフロップ回路は、上記メモリ回路の動作終了タイミングに対応してリセットされることを特徴とする半導体集積回路装置。 - 請求項10において、
上記優先順位設定回路は、最下位の優先順位を除く上記第1フリップフロップ回路の出力信号を受ける第2フリップフロップ回路を備え、
上記第2フリップフロップ回路は、上記論理和回路の出力信号により上記第1フリップフロップ回路の出力信号を取り込み、
上記第2フリップフロップ回路の出力信号は、それより下位の優先順位のアクセス要求の非選択に用いられることを特徴とする半導体集積回路装置。 - 請求項10において、
上記非同期制御回路は、上記メモリ回路のサイクル時間レプリカ回路を備え、 上記サイクル時間レプリカ回路は、上記論理和回路の出力信号を受け、設定された上記メモリ回路のサイクル時間の経過後に上記第3フリップフロップ回路のリセット信号を形成することを特徴とする半導体集積回路装置。 - 請求項6ないし12のいずれかにおいて、
上記メモリ回路は、1ポートのスタティック型RAMであることを特徴とする半導体集積回路装置。 - 請求項13において、
上記複数のアクセス要求信号は、3以上であり、それぞれの周波数が異なるものであることを特徴とする半導体集積回路装置。 - 請求項14において、
上記非同期制御回路により選択されたアクセス要求信号に応答して、上記メモリ回路に伝えられるアドレス信号を生成するアドレス発生回路を備えてなることを特徴とする半導体集積回路装置。 - 請求項5において、
上記第2フリップフロップ回路又は第3フリップフロップ回路は、メタステーブル状態でオフセット電圧を持つ一対の出力信号を形成する第1ラッチ回路と、上記出力信号のオフセット電圧を増幅する増幅回路とを含むことを特徴とする非同期制御回路。 - 請求項11において、
上記第2フリップフロップ回路又は第3フリップフロップ回路は、メタステーブル状態の無い論理出力を形成するものであることを特徴とする半導体集積回路装置。 - 請求項17において、
上記第2フリップフロップ回路又は第3フリップフロップ回路は、メタステーブル状態でオフセット電圧を持つ一対の出力信号を形成する第1ラッチ回路と、上記出力信号のオフセット電圧を増幅する増幅回路とを含むことを特徴とする半導体集積回路装置。 - 請求項18において、
上記増幅回路は、上記第1ラッチ回路の一対の出力信号を受ける差動形態の一対の入力端子を持ち、上記第1ラッチ回路の動作タイミング信号の遅延信号によって動作する第2ラッチ回路を含んでなることを特徴とする半導体集積回路装置。 - 請求項18において、
上記第1ラッチ回路は、
第1NチャネルMOSFET及び第1PチャネルMOSFETからなる第1CMOSインバータ回路と、
第2NチャネルMOSFET及び第2PチャネルMOSFETからなる第2CMOSインバータ回路と、
上記第1NチャネルMOSFETと並列形態に接続され、ゲートに非同期入力信号とクロック信号との論理信号が入力される第3NチャネルMOSFETと、
上記第1及び第2NチャネルMOSFETのソースに回路の接地電位を供給する第4NチャネルMOSFETと、
プリチャージMOSFETと、
上記論理信号を形成するゲート回路とを備え、
上記第1CMOSインバータ回路と第2CMOSインバータ回路の入力と出力とは交差接続されて一対の出力端子に結合され、
上記プリチャージMOSFETは、上記一対の出力端子と電源電圧との間に設けられ、クロック信号が一方のレベルにあるときにオン状態となって上記出力端子を電源電圧にプリチャージし、
上記第4NチャネルMOSFETは、上記クロック信号が上記一方のときにはオフ状態で他方のレベルにあるときにオン状態となり、
上記ゲート回路は、上記クロック信号が一方のレベルにあるときに非同期入力信号に対応した信号を伝え、他方のレベルにあるときには上記第3MOSFETをオフ状態にさせる論理信号を出力し、
上記第1NチャネルMOSFETは、上記第2NチャネルMOSFETに比べて前記オフセット電圧に対応してコンダクタンスが小さく形成されてなることを特徴とする半導体集積回路装置。 - 請求項19において、
上記第2ラッチ回路は、
第3CMOSインバータ回路と、
第4CMOSインバータ回路と、
上記第3及び第4CMOSインバータ回路を構成するNチャネルMOSFETのソースに回路の接地電位を供給する第5NチャネルMOSFETと、
上記第1ラッチ回路からの一対の出力信号を取り込むスイッチMOSFETとを備え、
上記第1CMOSインバータ回路と第2CMOSインバータ回路の入力と出力とが交差接続されて一対の入出力端子を持ち、
上記スイッチMOSFETは、上記遅延信号が一方のレベルにあるときにオン状態となって上記第1ラッチ回路の一対の出力端子と第2ラッチ回路の一対の入出力端子とを接続し、
上記第5NチャネルMOSFETは、上記遅延信号によって上記第1ラッチ回路の出力信号よりも遅れてオン状態となることを特徴とする半導体集積回路装置。 - 請求項21において、
第3ラッチ回路を更に備え、
上記第3ラッチ回路は、上記クロック信号が一方のレベルにあるとき、上記第2ラッチ回路の一対の出力信号を保持するものであることを特徴とする半導体集積回路装置。 - 非同期入力信号とクロック信号とを受け、メタステーブル状態でオフセット電圧を持つ一対の出力信号を形成する第1ラッチ回路と、
上記出力信号のオフセット電圧を増幅する増幅回路とを含み、
上記増幅回路を通して上記クロック信号に同期化された出力信号を得る同期化回路を備えてなることを特徴とする半導体集積回路装置。 - 請求項23において、
上記第1ラッチ回路は、
第1NチャネルMOSFET及び第1PチャネルMOSFETからなる第1CMOSインバータ回路と、
第2NチャネルMOSFET及び第2PチャネルMOSFETからなる第2CMOSインバータ回路と、
上記第1NチャネルMOSFETと並列形態に接続され、ゲートに非同期入力信号とクロック信号との論理信号が入力される第3NチャネルMOSFETと、
上記第1及び第2NチャネルMOSFETのソースに回路の接地電位を供給する第4NチャネルMOSFETと、
プリチャージMOSFETと、
上記論理信号を形成するゲート回路とを備え、
上記第1CMOSインバータ回路と第2CMOSインバータ回路の入力と出力とは交差接続されて一対の出力端子に結合され、
上記プリチャージMOSFETは、上記一対の出力端子と電源電圧との間に設けられ、クロック信号が一方のレベルにあるときにオン状態となって上記出力端子を電源電圧にプリチャージし、
上記第4NチャネルMOSFETは、上記クロック信号が上記一方のときにはオフ状態で他方のレベルにあるときにオン状態となり、
上記ゲート回路は、上記クロック信号が一方のレベルにあるときに非同期入力信号に対応した信号を伝え、他方のレベルにあるときには上記第3MOSFETをオフ状態にさせる論理信号を出力し、
上記第1NチャネルMOSFETは、上記第2NチャネルMOSFETに比べて前記オフセット電圧に対応してコンダクタンスが小さく形成されてなることを特徴とする半導体集積回路装置。 - 請求項23において、
上記増幅回路は、上記第1ラッチ回路の一対の出力信号を受ける差動形態の一対の入力端子を持ち、上記第1ラッチ回路の動作タイミング信号の遅延信号によって動作する第2ラッチ回路を含んでなることを特徴とする半導体集積回路装置。 - 請求項25において、
上記第2ラッチ回路は、
第3CMOSインバータ回路と、
第4CMOSインバータ回路と、
上記第3及び第4CMOSインバータ回路を構成するNチャネルMOSFETのソースに回路の接地電位を供給する第5NチャネルMOSFETと、
上記第1ラッチ回路からの一対の出力信号を取り込むスイッチMOSFETとを備え、
上記第1CMOSインバータ回路と第2CMOSインバータ回路の入力と出力とが交差接続されて一対の入出力端子を持ち、
上記スイッチMOSFETは、上記クロック信号の遅延信号が一方のレベルにあるときにオン状態となって上記第1ラッチ回路の一対の出力端子と第2ラッチ回路の一対の入出力端子とを接続し、
上記第5NチャネルMOSFETは、上記遅延信号によって第1ラッチ回路の出力信号よりも遅れてオン状態となるものであることを特徴とする半導体集積回路装置。 - 請求項26において、
上記第2ラッチ回路の一対の入出力端子の信号をそれぞれ受ける第5、第6インバータ回路と、
上記第5、第6インバータ回路の出力信号をそれぞれ受ける第7,第8インバータ回路と、
上記第5インバータ回路の出力信号がゲートに供給されたNチャネルMOSFETと上記第8インバータ回路の出力信号がゲートに供給されたPチャネルMOSFETとからなる第1トライステート出力回路と、
上記第6インバータ回路の出力信号がゲートに供給されたNチャネルMOSFETと上記第7インバータ回路の出力信号がゲートに供給されたPチャネルMOSFETとからなる第2トライスート出力回路と、
上記第1出力回路と第2出力回路の出力端子に一対の入出力端子が接続された第3ラッチ回路とを更に備えてなることを特徴とする半導体集積回路装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004131238A JP2005044334A (ja) | 2003-07-09 | 2004-04-27 | 非同期制御回路と半導体集積回路装置 |
US10/885,018 US20050007170A1 (en) | 2003-07-09 | 2004-07-07 | Asynchronous control circuit and semiconductor integrated circuit device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003272549 | 2003-07-09 | ||
JP2004131238A JP2005044334A (ja) | 2003-07-09 | 2004-04-27 | 非同期制御回路と半導体集積回路装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005044334A true JP2005044334A (ja) | 2005-02-17 |
Family
ID=33566825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004131238A Pending JP2005044334A (ja) | 2003-07-09 | 2004-04-27 | 非同期制御回路と半導体集積回路装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050007170A1 (ja) |
JP (1) | JP2005044334A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010044821A (ja) * | 2008-08-11 | 2010-02-25 | Hitachi Ulsi Systems Co Ltd | 半導体装置とメモリマクロ |
JP2010135025A (ja) * | 2008-12-05 | 2010-06-17 | Hitachi Ulsi Systems Co Ltd | 半導体装置とメモリマクロ |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7319632B2 (en) * | 2005-11-17 | 2008-01-15 | Qualcomm Incorporated | Pseudo-dual port memory having a clock for each port |
JP4345770B2 (ja) * | 2006-04-11 | 2009-10-14 | エルピーダメモリ株式会社 | ラッチ回路、及びこれを備えた半導体装置 |
KR100753127B1 (ko) * | 2006-04-12 | 2007-08-30 | 주식회사 하이닉스반도체 | 시리얼 입/출력 인터페이스를 가진 멀티-포트 메모리 소자 |
US7940100B2 (en) * | 2007-09-24 | 2011-05-10 | Qualcomm, Incorporated | Delay circuits matching delays of synchronous circuits |
US7760562B2 (en) * | 2008-03-13 | 2010-07-20 | Qualcomm Incorporated | Address multiplexing in pseudo-dual port memory |
US9548735B1 (en) * | 2012-12-19 | 2017-01-17 | Maxim Intergrated Products, Inc. | System and method for adaptive power management |
US10649031B2 (en) * | 2018-01-18 | 2020-05-12 | International Business Machines Corporation | Hardware assisted high speed serial transceiver testing |
US20230005513A1 (en) * | 2021-07-02 | 2023-01-05 | Sonic Star Global Limited | Interface transformer and multiport storage device |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5122694A (en) * | 1990-12-26 | 1992-06-16 | Tektronix, Inc. | Method and electrical circuit for eliminating time jitter caused by metastable conditions in asynchronous logic circuits |
JP4018159B2 (ja) * | 1993-06-28 | 2007-12-05 | 株式会社ルネサステクノロジ | 半導体集積回路 |
JP3591657B2 (ja) * | 1993-10-13 | 2004-11-24 | 株式会社アドバンテスト | 半導体ic試験装置 |
US6078527A (en) * | 1997-07-29 | 2000-06-20 | Motorola, Inc. | Pipelined dual port integrated circuit memory |
JP3871813B2 (ja) * | 1998-08-10 | 2007-01-24 | 株式会社ルネサステクノロジ | マルチポートメモリ、データプロセッサ及びデータ処理システム |
US6453425B1 (en) * | 1999-11-23 | 2002-09-17 | Lsi Logic Corporation | Method and apparatus for switching clocks presented to synchronous SRAMs |
US6771099B2 (en) * | 2000-08-14 | 2004-08-03 | Jose Alberto Cavazos | Synchronizer with zero metastability |
-
2004
- 2004-04-27 JP JP2004131238A patent/JP2005044334A/ja active Pending
- 2004-07-07 US US10/885,018 patent/US20050007170A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010044821A (ja) * | 2008-08-11 | 2010-02-25 | Hitachi Ulsi Systems Co Ltd | 半導体装置とメモリマクロ |
JP2010135025A (ja) * | 2008-12-05 | 2010-06-17 | Hitachi Ulsi Systems Co Ltd | 半導体装置とメモリマクロ |
Also Published As
Publication number | Publication date |
---|---|
US20050007170A1 (en) | 2005-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7061823B2 (en) | Limited output address register technique providing selectively variable write latency in DDR2 (double data rate two) integrated circuit memory devices | |
JPH09198875A (ja) | 同期型半導体記憶装置 | |
US10453520B2 (en) | Multi-port memory and semiconductor device | |
JP4282408B2 (ja) | 半導体記憶装置 | |
KR102386753B1 (ko) | 공통 클럭을 사용하는 플립플롭을 포함하는 전자 회로 | |
JP2888201B2 (ja) | 半導体メモリ集積回路 | |
JP2005044334A (ja) | 非同期制御回路と半導体集積回路装置 | |
US20070070677A1 (en) | Internal signal generator for use in semiconductor memory device | |
JP2000036192A (ja) | 半導体集積回路 | |
KR100963385B1 (ko) | 이중-경로, 멀티 모드 순차 저장 엘리먼트 | |
US6353574B1 (en) | Semiconductor memory device having pipe register operating at high speed | |
JPS6244284B2 (ja) | ||
US20120236675A1 (en) | Methods and Apparatus for Memory Word Line Driver | |
KR0154741B1 (ko) | 듀얼포트 메모리 장치 및 듀얼포트 메모리 장치의 시리얼데이타 출력방법 | |
KR20020072184A (ko) | 반도체 장치 | |
KR0140454B1 (ko) | 버스트 억세스에서 고속으로 어드레스를 증가시키기 위한 반도체 메모리 디바이스 | |
JP2848314B2 (ja) | 半導体記憶装置 | |
US20070052466A1 (en) | Flip-flop with improved operating speed | |
US6885589B2 (en) | Synchronous up/down address generator for burst mode read | |
JPH0982085A (ja) | 半導体記憶装置 | |
US6353575B2 (en) | Echo clock generating circuit of semiconductor memory device and method thereof | |
US6603817B1 (en) | Buffer circuit capable of correctly transferring small amplitude signal in synchronization with high speed clock signal | |
JP3305975B2 (ja) | アドレスカウンタ回路及び半導体メモリ装置 | |
KR100596839B1 (ko) | 카스 레이턴시를 확장시킨 싱크로너스 디램 | |
JP2965002B2 (ja) | 半導体記憶装置 |