(57)【要約】【課題】検出セルを使ってリード・アフター・ライトのブロック機能を組み込むレジスタ・ファイル装置および方法により、高性能のレジスタ・ファイルに改良された読み込みアクセスのタイミングを提供する。【解決手段】レジスタ・ファイル・セルと同一で、レジスタ・ファイル・アレイ内に配置する一又は複数の検出セルを使って、検出セルを書き込みのたびに2つの値を変動するようにまたは書き込み後にある特定の値に変化するように、検出セルを構成し、アクティブ検出セルの状態変化の検出によって書き込みが完了した時点を検出することにより、レジスタ・ファイルにおけるレジスタの読み込み操作を制御する。状態変化の検出を使って、読み込みストローブの前縁を遅延させることができ、または次の読み込みストローブの生成を遅延させるアクセス制御ロジックで使うこともできる。このように、レジスタ・ファイルは、各アプリケーションに合わせて調整しなくてもよく、電圧およびクロック・スキューの変動に合わせたスケーラブルな設計を提供する。【選択図】図１
2008510241.tif 000002
【特許請求の範囲】
【請求項１】
レジスタ・ファイル回路のリード・アフター・ライトの遅延を減少する方法であって、
前記レジスタ・ファイル回路内のレジスタに一又は複数の値を書き込むことと、
前記書き込むことと同時に、前記レジスタ・ファイル回路内の少なくとも１つの専用検出セルで状態変化をトリガすることと、
前記書き込みの開始時、かつブロックすることが取り消されるまで、前記レジスタへの読み込みアクセスをブロックすることと、
前記トリガの結果、前記少なくとも１つの検出セルが状態を変化した時点を検出することと、
前記ブロックすることを取り消して、それにより前記レジスタが読み込めるようにすること、を含む前記方法。
【請求項２】
前記トリガすることが、前記少なくとも１つの検出セルの現在の状態の反対の状態に対応する値を前記少なくとも１つの検出セルに書き込むことを含む、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの検出セルがスキャン可能なレジスタ・ファイル・セルであり、前記方法が前記書き込みの前に前記現在の状態を前記スキャン可能なレジスタ・ファイル・セルのスキャン・ラッチに格納することをさらに含み、前記トリガすることが、前記書き込みに応答して、スキャン・ラッチの現在値の補数を前記少なくとも１つの検出セルに書き込むことを含む、請求項２に記載の方法。
【請求項４】
前記トリガすることが、所定の値を前記少なくとも１つの検出セルに書き込むことを含み、前記方法が前記書き込みの前に、前記少なくとも１つの検出セルを前記所定の値から前記少なくとも１つの検出セルの反対の値にリセットし、それによって前記書き込みに応答して、前記反対の値から前記所定の値まで前記状態変化を起こすことをさらに含む、請求項１から３のいずれか一に記載の方法。
【請求項５】
前記少なくとも１つの検出セルは、前記書き込みに応答して前記レジスタの他のあらゆるセルが値を変化させるよりも遅い時期に前記状態変化が起こるように配置されるセルで、前記取り消すことが前記検出することに応答して即座に行われる、請求項１から４のいずれか一に記載の方法。
【請求項６】
前記少なくとも１つの検出セルは、前記書き込みに応答して前記レジスタの別のセルが値を変化させる前の時点で前記状態変化が起こるように配置されるセルで、前記方法が前記検出の結果がもたらされるのを所定の時間遅延させることをさらに含み、取り消しを前記遅延の終了に応答して行う、請求項１から４のいずれか一に記載の方法。
【請求項７】
前記少なくとも１つの検出セルが、前記レジスタ・ファイル回路の各レジスタに１つずつ、複数の検出セルを含み、前記方法がさらに、前記書き込みに応答して前記レジスタに対応する特定の検出セルを選択することを含み、それによって前記トリガすることが前記特定の検出セルのみで前記状態変化をトリガする、請求項１から４のいずれか一に記載の方法。
【請求項８】
論理行および列として配列される、ビット値を格納する複数の記憶セルと、
前記複数の記憶セルの行への書き込みに応答して状態を変化するように構成される少なくとも１つの検出セルと、
前記少なくとも１つの検出セルの出力の状態が前記少なくとも１つの検出セルの状態変化を検出することによって変化するまで、前記行への読み込みアクセスを防ぐクロック・ステアリング・ロジックとを含む、レジスタ・ファイル・アレイ。
【請求項９】
前記少なくとも１つの検出セルの入力に連結される反転出力と、前記少なくとも１つの検出セルの出力に連結される入力とをもつ記憶レジスタをさらに含み、前記書き込みに応答して前記記憶レジスタの値を前記少なくとも１つの検出セルに書き込む制御ロジックをさらに含み、それによって前記行への書き込みアクセスのたびに、前記少なくとも１つの検出セル内に記憶された値が2つの状態を変動する、請求項８に記載のレジスタ・ファイル・アレイ。
【請求項１０】
前記少なくとも１つの検出セルがスキャン可能な記憶セルで、前記記憶レジスタが前記スキャン可能な記憶セルに対応するスキャン・ラッチである、請求項９に記載のレジスタ・ファイル・アレイ。
【請求項１１】
前記書き込みが開始する前に、前記少なくとも１つの検出セルを所定の状態に設定する制御ロジックをさらに含み、前記少なくとも１つの検出セルが前記書き込みに応答して前記所定の状態の値とは反対の別の状態になるように構成され、前記クロック・ステアリング・ロジックが、前記少なくとも１つの検出セルが別の状態になったことを検出することによって、前記状態変化を検出する、請求項８のレジスタ・ファイル・アレイ。
【請求項１２】
前記少なくとも１つの検出セルが前記論理行の数と等しい量の検出セルであり、前記少なくとも１つの検出セルに接続される書き込みストローブが対応する行の書き込みイネーブル入力であり、前記クロック・ステアリング・ロジックが、対応する検出セルが状態を変化するまで、前記対応する行への読み込みアクセスを防ぐ、請求項８に記載のレジスタ・ファイル・アレイ。
【請求項１３】
前記論理行および列が物理的な行および列に配列され、前記検出セルの各々が前記列の所定の１つに配置され、それによって前記状態変化のタイミングが前記行への前記書き込みの完了と所定の関係で起こる、請求項１２に記載のレジスタ・ファイル・アレイ。
【請求項１４】
前記論理行および列が物理的な行および列に配列され、前記検出セルの各々が前記対応する行の実質的に中央に配置され、それによって前記状態変化のタイミングが、前記行への前記書き込みによる前記記憶セルの状態変化の完了の中央時点に近い、請求項１３に記載のレジスタ・ファイル・アレイ。
【請求項１５】
前記少なくとも１つの検出セルの前記出力に連結される入力と前記クロック・ステアリング・ロジックに連結される出力とをもつ、所定の遅延を提供する遅延回路をさらに有し、それによって前記クロック・ステアリング・ロジックが、前記状態変化が起こりかつ前記所定の遅延が終了した後でのみ読み込みアクセスの防止を停止する、請求項１４に記載のレジスタ・ファイル・アレイ。
【請求項１６】
前記少なくとも１つの検出セルが単一の検出セルである、請求項８に記載のレジスタ・ファイル・アレイ。
【請求項１７】
前記少なくとも１つの検出セルの前記出力に連結される入力と前記クロック・ステアリング・ロジックに連結される出力とをもつ、所定の遅延を提供する遅延回路をさらに含み、それによって前記クロック・ステアリング・ロジックが、前記状態変化が起こりかつ前記所定の遅延が終了した後でのみ読み込みアクセスの防止を停止する、請求項１６に記載のレジスタ・ファイル・アレイ。
【請求項１８】
前記論理行および列が物理的な行および列であり、前記少なくとも１つの検出セルが前記物理的な行および列の実質的に中央に配置され、それによって前記状態変化のタイミングが前記レジスタ・ファイルへの書き込みの完了の中央時点に近く、前記所定の遅延が、前記書き込みが前記複数の記憶セル内の影響を受けるセルの状態変化を完了する程に、前記防止の前記停止を遅延するのに十分である、請求項１７に記載のレジスタ・ファイル・アレイ。
【請求項１９】
前記論理行および列が物理的な行および列であり、前記少なくとも１つの検出セルが前記物理的な行および列の末端に配置される検出セルであり、それによって前記状態変化のタイミングが、いずれかの行への書き込みによる前記記憶セルの状態変化の完了後に起こる、請求項１６に記載のレジスタ・ファイル・アレイ。
【請求項２０】
前記クロック・ステアリング・ロジックが前記レジスタ・ファイル・アレイのアクセス制御ロジックに組み込まれて、前記状態変化が起こったことの標識を前記検出セルから受け取るまで、前記行への読み込みストローブの生成をブロックする、請求項８に記載のレジスタ・ファイル・アレイ。
【請求項２１】
前記標識が前記アクセス制御ロジックのアドレス・ユニットに供給され、前記アドレス・ユニットが、前記行のアドレスと前記読み込みアクセスに対応する次の行のアドレスを比較するアドレス・コンパレータを内蔵し、前記アクセス制御ロジックが、前記次の行の前記アドレスが前記行の前記アドレスと等しくなった場合に限り、前記読み込みストローブの生成を遅延する、請求項２０に記載のレジスタ・ファイル・アレイ。
【請求項２２】
論理行および列として配列される、ビット値を格納する複数の記憶セルと、
前記複数の記憶セルの行への書き込みに応答して状態が変化するように構成された少なくとも１つの検出セルであって、前記少なくとも１つの検出セルがスキャン・ラッチと検出記憶セルとを含むスキャン可能な記憶セルで、前記スキャン・ラッチの反転出力が前記検出記憶セルの入力に連結されるとともに、前記スキャン・ラッチの入力が前記検出記憶セルの出力に連結され、前記スキャン・ラッチのスキャン・クロック入力がレジスタ・ファイル・アレイの書き込みストローブに連結されて、前記書き込みストローブのデアサート状態に反応し、それによって前記少なくとも１つの検出セルの状態が書き込みと書き込みの間に格納される、前記少なくとも１つの検出セルと、
前記少なくとも１つの検出セルの出力の状態が前記少なくとも１つの検出セルの状態変化を検出することによって変化するまで、前記行への読み込みアクセスを防ぐクロック・ステアリング・ロジックであって、前記クロック・ステアリング・ロジックが前記スキャン・ラッチの検出出力および前記検出記憶セルの前記出力に連結され、前記スキャン・ラッチの前記検出出力および前記検出記憶セルの前記出力が異なる論理値になるまで、前記読み込みアクセスの防止を維持する、前記クロック・ステアリング・ロジックとを含む、前記レジスタ・ファイル・アレイ。
【請求項２３】
レジスタ・ファイル回路のリード・アフター・ライトの遅延を減少する方法であって、
前記レジスタ・ファイル回路内のレジスタに一又は複数の値を書き込むステップと、
前記書き込みステップに応答して、前記レジスタ・ファイル回路内の少なくとも１つの専用検出セルの状態変化をトリガするステップと、
前記書き込みステップの開始時に、かつブロックが取り消されるまで、前記レジスタへの読み込みアクセスをブロックするステップと、
前記少なくとも１つの検出セルが前記トリガするステップの結果として状態を変化した時点を検出するステップと、
前記ブロックステップを取り消して、それによって前記レジスタが読み込める、取り消すステップとを有する、方法。
【発明の詳細な説明】
【関連出願の参照】
【０００１】
本出願は、同じ発明者によって本出願と同時に出願され、同じ譲受人に譲渡された、同時係属の米国特許出願番号第１０／９２２，２７１号「制御信号の終了と論理評価との間のインターバルを合図する動的・静的論理制御素子（DYNAMIC-STATIC LOGICAL CONTROL ELEMENT FOR SIGNALING AN INTERVALBETWEEN THE END OF A CONTROL SIGNAL AND A LOGICAL EVALUATION）」に関連する。上記参照される出願の明細書は、参照によりこれに組み込まれる。
【技術分野】
【０００２】
本発明は、一般的にレジスタ・ファイル・アクセス制御回路に関し、さらに具体的には、自動的なリード・アフター・ライトのブロック機能を備えるレジスタ・ファイルに関する。
【背景技術】
【０００３】
レジスタ・ファイルは、デジタル回路、特にアクセス・レイテンシが低く、極めて少量のデータへの高速アクセスが要求される処理システムのコンポーネントで一般に使われるビルディング・ブロックである。レジスタ・ファイルの使用例は、プロセッサのレジスタ・アレイ、キャッシュ・メモリーのキャッシュ・ディレクトリがある。
【０００４】
スタティック・ランダム・アクセス・メモリー（ＳＲＡＭ）のセルとは対照的に、レジスタ・ファイルのセルは同じクロック・サイクル内で書き込まれた後に、読み込まれることが多い。レジスタ・ファイルがマシンの状態情報を格納しているプロセッサのコア・エレメントの場合、レジスタ・ファイルはほぼ必ず同じクロック・サイクルで書き込まれた直後に読み込まれる。当該レジスタ・ファイルはプロセッサの速度を決定するクリティカル・パスにあり、そのため、書き込みから読み込みの遅延は、クロック・スキューの変動、電圧変動、および誤ったデータまたは不安定なデータの読み込みの原因となりうる他の要因の中でできるだけ最高の性能を提供するように微調整される。
【特許文献１】米国特許出願第１０／９２２，２７１号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
レジスタ・ファイルのリード・アフター・ライトのタイミングに典型的な設計マージンは、書き込みサイクルが完了するまで待つことによって、クロック・サイクル時間の最大３０％までを無駄にしているであろう。しかし、当該マージンは前述した操作変数の典型的な範囲内でも、レジスタ・ファイルのセルおよび制御ロジックを実装するのに使う現在の回路にも必要である。
【０００６】
そのため、リード・アフター・ライトのマージンをさらに小さくして、レジスタ・ファイルの性能と、値および状態情報の格納にレジスタ・ファイルを使うプロセッサの性能を改善するのが望まれるであろう。
【課題を解決するための手段】
【０００７】
本発明の側面は、所望のレジスタ・ファイルの性能とプロセッサの性能を達成できるレジスタ・ファイル装置およびレジスタ・ファイル装置を動作させる方法を含む。レジスタ・ファイル内の一又は複数のセルを、書き込みサイクルの終了となった時点を判定するための検出メカニズムとして使用するのにあてる。１つのセルをアレイ全体に使ってもよく、１つのセルをレジスタ・ファイルのアレイの各行に割り当ててもよく、または複数のセルを行のグループに割り当ててもよい。
【０００８】
検出セルは、セルの値が各書き込み操作時に2つの状態を変動するように接続でき、アクティブ検出セルの値を使って、レジスタ・ファイルの行の読み込みをアクティブ検出セルが状態を変えるまでブロックする制御ロジックに使う。代わりの方法として、検出セルを第１状態が書き込みサイクルの開始前に設定されるように構成でき、さらに検出セルは書き込みによって反対の状態に対応する値で書き込まれる。
【０００９】
検出セルの状態変化の標識を使って、次の読み込みストローブの前縁を、書き込みによって影響を受ける記憶セルまで切り詰めることができ、またはアクセス制御ロジック内で使って、影響を受けるセルに読み込みを生じさせる読み込みストローブの生成を遅らせてもよい。
【００１０】
発明のある側面は、レジスタ・ファイル回路のリード・アフター・ライトの遅延を減少させる方法を提供する。この方法は、一又は複数の値を前記レジスタ・ファイル回路内のレジスタに書き込むことと、前記書き込むことと実質的に同時に、前記レジスタ・ファイル回路内の少なくとも１つの専用検出セルの状態変化をトリガすることと、前記書き込みの開始時、かつブロックすることが取り消されるまで、前記レジスタへの読み込みアクセスをブロックすることと、前記トリガの結果、前記少なくとも１つの検出セルが状態を変えた時点を検出することと、前記ブロックすることを取り消して、それにより前記レジスタが読み込めるようにすることとを含む。
【００１１】
発明の別の側面はレジスタ・ファイル・アレイを提供し、前記レジスタ・ファイル・アレイは、ビット値を格納し、論理行および列として配列される複数の記憶セルと、前記複数の記憶セルの行への書き込みに応答して、状態を変えるように構成される少なくとも１つの検出セルと、前記少なくとも１つの検出セルの状態変化を検出することによって、前記少なくとも１つの検出セルの出力状態が変るまで、前記行への読み込みアクセスを防ぐクロック・ステアリング・ロジックとを含む。
【００１２】
発明の別の側面はレジスタ・ファイル・アレイを提供し、前記レジスタ・ファイル・アレイは、
論理行および列として配列される、ビット値を格納する複数の記憶セルと、
前記複数の記憶セルの行への書き込みに応答して状態が変化するように構成された少なくとも１つの検出セルであって、前記少なくとも１つの検出セルがスキャン・ラッチと検出記憶セルとを含むスキャン可能な記憶セルで、前記スキャン・ラッチの反転出力が前記検出記憶セルの入力に連結されるとともに、前記スキャン・ラッチの入力が前記検出記憶セルの出力に連結され、前記スキャン・ラッチのスキャン・クロック入力がレジスタ・ファイル・アレイの書き込みストローブに連結されて、前記書き込みストローブのデアサート状態（ｄｅ−ａｓｓｅｒｔｅｄ  ｓｔａｔｅ）に反応し、それによって前記少なくとも１つの検出セルの状態が書き込みと書き込みの間に格納される、前記少なくとも１つの検出セルと、
前記少なくとも１つの検出セルの出力の状態が前記少なくとも１つの検出セルの状態変化を検出することによって変化するまで、前記行への読み込みアクセスを防ぐクロック・ステアリング・ロジックであって、前記クロック・ステアリング・ロジックが前記スキャン・ラッチの検出出力および前記検出記憶セルの前記出力に連結され、前記スキャン・ラッチの前記検出出力および前記検出記憶セルの前記出力が異なる論理値になるまで、前記読み込みアクセスの防止を維持する、前記クロック・ステアリング・ロジックとを含む。
【００１３】
本発明の前述並びにその他の特徴および利点は、添付の図面に図示される、本発明の好適な実施例の以下の説明から明らかになるであろう。
【発明を実施するための最良の形態】
【００１４】
本発明の一実施例を例として、添付の図面を参照しながら、以下さらに詳しく説明する。
【００１５】
ここで図面、特に図１を参照すると、本発明による方法および装置を実施するレジスタ・ファイル回路のブロック図が図示されている。
【００１６】
記憶セル１２のアレイは、図を横切って一直線に並べた行のワードに記憶域を提供する。ワードの各ビットは図を上下に走る列をなす。記憶セル１２の物理的なレイアウトは一般的に図示したレイアウトによく似ているが、異なることもあり、例えば行は２つ以上の単位に区分してもよく、その場合行の一部のレイアウトは図のその部分に似ていてもよいが、レジスタ・ファイルの全体のレイアウトは分割されるであろう。記憶セル１２は、個々の記憶セル１２を制御するストローブ信号を提供する制御ロジック１２に連結されて、レジスタ・ファイル内でレジスタ（行）への読み込みおよび書き込み機能を行う。行および列はある特定のレジスタ・ファイルの設計において入れ替えができ、本明細書および請求項では「行」という用語を、いかなるビット幅でもよい個々の記憶「ワード」に対応する記憶セルのグループを指すために使っていることは了解されるべきである。制御ロジック１０は、記憶セル１２および検出セル１４と特殊機能／スキャン・クロックの関係を作ることによって、レジスタ・ファイル回路の能力をテストするスキャン・ロジック１６に連結してもよい。データ入出力バッファ／ラッチ１８は、記憶セル１２からのデータの入出力に備える。
【００１７】
図１に開示されるレジスタ・ファイルに特異なのは、一又は複数の検出セル１４（および検出セル１４Ａと１４Ｚ、もしくは検出セル１４または検出セル１４Ａと１４Ｚ）を追加している点である。検出セルを使って、所定の書き込み操作に関わる記憶セル１２のすべてが、記憶セル１２に書き込まれるデータで導かれる状態になった時点を示す信号を提供する。クロック・スキュー、電源電圧、温度変動、およびプロセス変動などの操作上の変動について、書き込みストローブと記憶セル１２のデータの実際の変化との間の遅延が、検出セル１４（および１４Ａと１４Ｚ、もしくは検出セル１４または１４Ａと１４Ｚ）に状態変化を起こす遅延に合うように、記憶セル１２に合った特性を備えるセルを使うことによって、検出を行う。
【００１８】
本発明の実施例により検出セルの数と位置は変えることができる。検出セル１４は、１つの検出セルが各行ごとに含まれて、各行の末端に配置される物理的かつ論理的な配列を表す。「行」という用語に対して使われる「末端」という用語は、クロック（ストローブ）分配ネットワークに対して遠位端を指すことは了解されるべきである。すなわち、行の末端セルが最後にストローブの切り換えを受け取る。検出セル１４を使用することによって、各行に、その行への書き込みがその行に配置されるあらゆる記憶セルの完全な状態変化をさせることになった時点を示すことのできる信号を供給する。代わりの方法として、検出セルの列を行の末端から離れた別の位置に配置してもよく、この方法は、検出セルの状態変化の遅延を読み込みのブロック遅延に合わせて調整するときに特に便利である。１行おきに１つの検出セル１４を設けるなど、他にも複数の検出セルの配列が可能である。
【００１９】
代わりの方法として、1つの検出セル１４Ａまたは１４Ｚを採用して、書き込みの完了を示す信号を供給してもよい。（または分割アレイの場合、アレイの各部分に1つのセルを使用することになろう）。検出セル１４Ｚは、アレイの最後の行の末端に対応する1つのセルの位置を示す。ここで「最後」とは上記の「末端」と同様に定義され、列と行の両方のクロック分配の遠位端にあるセルを示す。そのため、検出セル１４Ｚは、書き込みに関わる他のすべてのセルがその状態変化を完了したことを示す標識を提供する。状態変化が起こったことを確かにするために、制御ロジック１０が、書き込み後の読み込みを可能にさせる前に、信頼マージンを与える程度の遅延を提供する。加えて、検出セル１４Ａなど他の位置にある検出セルは書き込み完了信号に遅延を追加しなければならない位置にして、他のセルの状態変化が検出セル１４Ａの状態変化よりも後に起こると予想されることを補償する。
【００２０】
一般的に、本発明は、書き込みストローブサイクルの終了よりも早く起こる読み込みが、確実に記憶セル２３のデータが安定するまでブロックできるかまたは引き起こせないように、書き込み完了標識を提供する一又は複数の検出セルを含むレジスタ・ファイル回路を目的とする。検出セル（１４、１４Ｚ）はいずれかが当該標識を直接提供できて、制御回路１０が信頼マージンに必要な追加の遅延だけを含む。または、検出セル１４Ａなどの検出セルは早期の標識を提供でき、遅延の追加は制御ロジックによって、もしくは信頼マージンが得られるように標識を制御ロジックに分配することによって行われる。前述の操作の利点は、読み取りストローブのタイミングおよびスキューを書き込みが完了したと分かるように制御しなくてもよいことであり、先行技術では読み込みストローブを書き込みストローブがデアサートされるまで遅延させることによって通例制御を行っていた。あるダイナミック回路設計では、書き込みストローブが始まった後に固定マージンを追加して、次の読み込みを可能にするために使われていた。
【００２１】
本発明の技術を適用する成果は、レジスタ・ファイル回路の処理能力の点で性能が高まることである。さらに、回路は操作頻度の増加を可能にしながら、操作パラメータ全般で遅延のスケーリングを改善するとともに、前述のマージンを広範に評価しなくてもよい設計を達成する。別の成果により、書き込みサイクルによる状態変化が完了するまで、同じ行への読み込みストローブをまったく生成しないような、非同期の読み込み操作が得られる。
【００２２】
ここで図２を参照すると、図１の制御ロジック１０の回路内で使用できる例示的な制御ロジック１０Ａに接続される検出セル２４Ａの例である。検出セル２４Ａは、伝送ゲートＴＧ１およびＴＧ２（または１つのパス・トランジスタを使ったパス・ゲート）からバッファＢ１の入力側に記憶域を備えるバッファＢ１までを連結する２つの入力をもつ記憶セルの変形例である。一方の伝送ゲートＴＧ１の入力が論理ハイ値に接続され、（ＴＧ２の）他方の入力が論理ロー値に接続される。Ｗｒｉｔｅ  Ｒｏｗがアクティブになるとき（論理ハイ）、記憶セル２４Ａは以前は伝送ゲートＴＧ２のアクティブ・ローのイネーブル入力をＷｒｉｔｅ  Ｒｏｗ信号に接続しているために論理ロー状態にあったが、Ｗｒｉｔｅ  Ｒｏｗがアサートされ、検出セル２４Ａの状態変化に対する固有クロック遅延が経過した後でのみ、論理ハイ状態に切り換わる。検出セル２４Ａの論理ハイ状態は、Ｗｒｉｔｅ  Ｒｏｗ信号のアサート時点で伝送ゲートＴＧ１の起動により設定される。
【００２３】
検出セル２４Ａの出力は任意の遅延回路Ｄ２から制御ロジック１０Ａに供給されるが、任意の遅延回路Ｄ２は、前述したように、検出セル２４Ａの位置を補償するために調整でき、また制御ロジック１０へのパス遅延および制御ロジック１０Ａの内部遅延と合わせて、所望の信頼マージンも提供できる。制御ロジック１０Ａ内で、論理ＡＮＤゲート２７は行読み込みストローブ信号のＲｏｗ  Ｒｅａｄ  Ｓｔｂを認定して、記憶セルの読み込み入力に供給されるＲｅａｄ  Ｒｏｗ信号を生成するので、検出セル２４Ａから書き込み状態変化が起こったと標識がある前に、行の記憶セル１２への読み込みはアサートできないようになっている。スタティックとダイナミックの組み合わせ機能をもつ論理回路によって、ＡＮＤゲート２７の入力にＷｒｉｔｅ  Ｃｏｍｐ信号が供給される。ダイナミックＡＮＤゲート内に組み込まれるスタティック機能をもつ特別な回路を以下、図７および関連の説明で詳細に例示する。インバータＩ１で表されるダイナミック・ドミノ回路の加算ノードがスタティック論理ＮＡＮＤゲート２９の入力に接続される。インバータＩ１のプリチャージ入力はＷｒｉｔｅ  Ｒｏｗ信号に接続されるので、行への書き込みを開始する前は、インバータＩ１の出力は論理ハイ状態である。そのため、Ｗｒｉｔｅ  Ｒｏｗ信号がアサートされるとき、論理ＮＡＮＤゲート２９の両入力は論理ハイ値となって、検出セル２４Ａの状態変化に対する固有クロック遅延が経過して、さらに遅延回路Ｄ２による追加の遅延が経過するまで、Ｒｏｗ  Ｒｅａｄ  Ｓｔｂ信号をＡＮＤゲート２７を介してディスエーブルにする。
【００２４】
検出セル２４Ａの状態変化に対する固有クロック遅延が経過して、さらに遅延回路Ｄ２による追加の遅延が経過したとき、インバータＩ１は、ＮＡＮＤゲート２９の入力で論理ロー値を供給しながら評価する。そして、ＮＡＮＤゲート２９の出力が論理ハイ状態になり、ＡＮＤゲート２７を介してＲｏｗ  Ｒｅａｄ  Ｓｔｂ信号がイネーブルになる。インバータＩ１は、Ｗｒｉｔｅ  Ｒｏｗ信号がデアサートされるまで、ＮＡＮＤゲート２９の入力で論理ロー値を供給し続ける。Ｗｒｉｔｅ  Ｒｏｗがデアサートされたら、インバータＩ１は次の評価のためにプリチャージされるが、Ｗｒｉｔｅ  Ｒｏｗ信号とＮＡＮＤゲート２９の接続が、ＮＡＮＤゲート２９の出力が次の行への書き込みが始まるまでＲｏｗ  Ｒｅａｄ  Ｓｔｂ信号をイネーブルし続けることを確保し、それによって、Ｗｒｉｔｅ  Ｒｏｗ信号のデアサートによりＲｅａｄ  Ｒｏｗサイクルが切り詰められるのを防ぐ。
【００２５】
図ではゲート機能が（図１の制御ロジック１０の一部として）個別の制御ロジック１０Ａに存在するように示しているが、ゲート機能の物理的な位置は各行のセルにローカルに設けるか、または行に１つのゲートを配置して設けて、検出セル１４の出力を行のラインに沿って分配できることは了解されるべきである。
【００２６】
ここで図３を参照すると、スキャン可能なアーキテクチャをもつレジスタ・ファイル回路で特に有利な別の検出セル回路および対応する制御ロジック１０Ｂが示されている。図示される回路では、検出セル２４Ｂは、通常スキャンテストのために検出セル２４Ｂの値を格納するために使われる記憶レジスタすなわちスキャン・ラッチ２２に接続される。ただし、検出セル２４Ｂに取り付けられるスキャン・ラッチ２２は、機能（操作）モードにあるとき別の目的に使われる。Ｗｒｉｔｅ  Ｒｏｗ信号は検出セル２４Ｂ（これは標準記憶セル）のイネーブル入力に接続されて、インバータＩ２を介してスキャン・ラッチ２２に反転した形が供給される。スキャン・ラッチ２２の反転出力が記憶セル２４Ｂの書き込みデータ入力に供給されるので、検出セル２４Ｂに格納される論理値は各書き込みストローブで2つの状態を変動する。スキャン・ラッチ２２の値は、Ｗｒｉｔｅ  Ｒｏｗ信号がデアサートされるまで更新されないため、当初スキャン・ラッチ２２と記憶セル２４Ｂの値は同じであり、Ｗｒｉｔｅ  Ｒｏｗ信号がアサートされて、検出セル２４Ｂの状態変化に対する固有クロック遅延が経過するまで同じ状態が続く。
【００２７】
制御ロジック１０Ｂは、検出セル２４Ｂとスキャン・ラッチ２２の出力が異なる時点を検出して、検出セル２４Ｂの出力の変化を遅延させる遅延回路Ｄ２によって任意で遅延される図２の回路に前述した標識を供給し、それによってダイナミックＸＮＯＲゲート２５およびスタティックＮＡＮＤゲート２９を介して書き込み完了（ＷｒｉｔｅＣｏｍｐ）信号を供給する。スタティックＮＡＮＤ機能を組み込んだダイナミックＸＮＯＲ回路を、以下の図６および関連の説明に詳しく示す。
【００２８】
ダイナミックＸＮＯＲゲート２５のプリセット入力はＷｒｉｔｅ  Ｒｏｗ信号に接続されるので、ＸＮＯＲゲート２５の出力は、Ｗｒｉｔｅ  Ｒｏｗ信号がアサートされた後、および検出セル２４Ｂの任意遅延出力が書き込みサイクルのために状態が変わる前を除き、プリチャージ状態のままである。Ｗｒｉｔｅ  Ｒｏｗ信号がアサートされると、ＮＡＮＤゲート２９の両入力が論理ハイ値になり、この時点でＸＮＯＲゲート２５の入力が等しくなってＸＮＯＲゲート２５が評価するのを防ぐ。さらにＮＡＮＤゲート２９の出力は論理ローのレベルになり、書き込みサイクルによる状態変化が起こる前に届いたあらゆるＲｏｗ  Ｒｅａｄ  Ｓｔｂのアサートをブロックする。検出セル２４Ｂの状態変化に対する固有クロック遅延が経過し、さらに遅延回路Ｄ２による追加の遅延が経過したら、ダイナミックＸＮＯＲゲート２５は、ＸＮＯＲゲート２５に接続されるＮＡＮＤゲート２９の入力で論理ロー値を供給しながら評価する。そして、ＮＡＮＤゲート２９の出力は論理ハイ状態になり、ＡＮＤゲート２７を介してＲｏｗ  Ｒｅａｄ  Ｓｔｂ信号をイネーブルする。ダイナミックＸＮＯＲゲート２５は、Ｗｒｉｔｅ  Ｒｏｗ信号がデアサートされてＸＮＯＲゲート２５がプリチャージされるまで、ＮＡＮＤゲート２９の入力で論理ロー値を供給し続ける。Ｗｒｉｔｅ  Ｒｏｗ信号がＮＡＮＤゲート２９の他方の入力に供給されるので、ＮＡＮＤゲート２９の出力は、次の行への書き込みサイクルまで保持され続け、それによってスキャン・ラッチ２２の出力が状態を変えたときＷｒｉｔｅ  Ｒｏｗ信号のデアサートによってＲｅａｄ  Ｒｏｗサイクルが切り詰められるのを防ぐ。
【００２９】
ここで図４を参照すると、図１のレジスタ・ファイル回路内での図３の回路の操作を表すタイミング図が図示されている。図２の回路の場合、各サイクルの操作が図４に示す第１サイクル（左側）と同様なのは、図２の検出セルの初期値はサイクル間で変動しないためである。ＷｒｉｔｅＲｏｗ信号を受け取る時点およびそれ以前に、検出セルの出力（ＤｅｔＳｔｏｒａｇｅＣｅｌｌ）はスキャン・ラッチの出力（ＤｅＳｃａｎＬａｔｃｈ）と一致し、ＷｒｉｔｅＣｏｍｐ信号は低い。検出セル２４Ｂの状態変化に対する固有クロック遅延が経過したら、ＤｅｔＳｔｏｒａｇｅＣｅｌｌはＤｅＳｃａｎＬａｔｃｈのものと反対の値となり（スキャン・ラッチ２２の反転出力が検出セル２４Ｂの入力に接続されているため）、ＸＮＯＲゲート２５は論理ハイ値に切り換わり、行読み取りストローブＲｏｗＲｅａｄを認定するＷｒｉｔｅＣｏｍｐ信号を供給し、行読み取りストローブを記憶セル１２に投入するＲｅａｄＲｏｗ信号を供給する。このように図４から分かるように、ＲｅａｄＲｏｗ信号は、遅延が経過するまで、ＲｏｗＲｅａｄ信号から切り詰められる（ｔｒｕｎｃａｔｅｄ）。また、調整した遅延に追加されるセルの遅延（すなわち、状態変化に対する固有検出セル書き込みストローブの遅延）の提供も図に示されているが、この遅延には信頼マージンと、書き込み操作で切り換わる最後のセルだと確約されない検出セルについて調整が必要なあらゆる遅延を含む。
【００３０】
ここで図５を参照すると、図１のレジスタ・ファイル回路内で採用できる代替制御ロジック１０Ｃの形で、代替ブロック・メカニズムが図示されている。制御ロジック１０Ｃはアドレス・ユニット４４でＷｒｉｔｅ  Ｃｏｍｐ信号を受け取るが、アドレス・ユニット４４は、アドレス・コンパレータを内蔵し、次の読み込みアドレスを前の書き込みアドレスと比較して、検出セル１４が前の書き込みによる状態変化が起こったことを検出するまで、行への読み込みアクセスをブロックする必要があるかどうかを判定する。ブロックする必要がなければ、ＷｒｉｔｅＣｏｍｐ標識を受け取るまで、Ｒｏｗ  Ｒｅａｄ  Ｓｔｂ信号の生成を延期する。その時点で、ストローブ・ジェネレータ／ライン・バッファ４２が適切な読み込みストローブを提供する。
【００３１】
ここで図６を参照すると、図３の制御ロジック１０Ｂを実装するのに使える特別な回路が示されている。図示される回路は、ＮＡＮＤ機能を提供するために標準的なダイナミックＸＯＲゲートにほんの少数のデバイスを追加すればいいだけという利点があり、そのためダイナミックＸＮＯＲ２５およびＮＡＮＤ２９の組み合わせを実装する。第１ツリーを形成するトランジスタＮ６０およびＮ６１と第２ツリーを形成するトランジスタＮ６２およびＮ６３の２つのＮデバイス・ツリーによって、内部加算ノードＮｏｄｅ０で論理排他的ＮＯＲ機能が提供される。トランジスタＮ６１およびＮ６３のゲートはそれぞれ、スキャン・ラッチ２２の出力（Ｓｃａｎ  Ｌａｔｃｈ  Ｏｕｔ）とインバータＩ６１により供給される補数によって駆動される。同様に、トランジスタＮ６０およびＮ６２は、検出セル２４Ｂの出力（Ｄｅｔ  Ｃｅｌｌ  Ｏｕｔ）とインバータＩ６０により供給される補数によって駆動される。結果として得られる機能はＮｏｄｅ０でのダイナミックな排他的ＮＯＲであり、プリチャージトランジスタＰ６０とフット・トランジスタＮ６４がダイナミック回路機能を完了する。ハーフ・ラッチＨＬ６０が、評価を行う前後両方で、プリチャージ信号がなくても内部ノードＮｏｄｅ０の状態が維持されるように設けられる。出力フット・トランジスタＮ６５および出力プルアップ・トランジスタＰ６１の存在がなければ、インバータＩ６２は内部ノード信号Ｎｏｄｅ０を変えて、出力Ｗｒｉｔｅ  Ｃｏｍｐｌで従来の排他的ＯＲ機能となるものを提供するであろう。／Ｐｒｅｃｈａｒｇｅ入力（この場合、Ｗｒｉｔｅ  Ｒｏｗ）信号が論理ロー状態である場合（書き込みストローブが存在しない間）、フット・トランジスタＮ６５の電源を切って、インバータＩ６２をディスエーブルにすることによって排他的ＯＲの動作をディスエーブルにする。また、トランジスタＰ６１の電源を入れると、回路の出力が強制的に論理ハイ値にされる一方、／Ｐｒｅｃｈａｒｇｅ入力がアクティブになる（このため、インバータＩ６２からプルアップされた出力の短絡を防ぐために、トランジスタＮ６５が必要になる）。前述の回路の操作は、代表的なダイナミック論理ゲートでは、プリチャージ状態からの出力の状態変化が内部加算ノードの評価された状態を反映する点で直感的な感覚とは異なるであろう。しかし、図示される回路では、出力の状態変化は／Ｐｒｅｃｈａｒｇｅ信号のデアサートの時点でなされ、回路が評価されるまでそのままである。このため、図示する回路は、行書き込みの開始から固有の検出セルの遅延の終了による制御ロジックの入力での変化までの時間を示す信号を生成するのが望ましい本発明の操作に特に適する。
【００３２】
ここで図７を参照すると、図２の制御ロジック１０Ａを実装するのに使える特別な回路が示されている。図示される回路は図６の回路を簡素化したものであり、そのため違いのみを説明する。図示される回路は、図２の回路のダイナミック・インバータＩ１とＮＡＮＤゲート２９を組み合わせた操作を提供する。Ｗｒｉｔｅ  Ｃｏｍｐ１信号をＰｒｅｃｈａｒｇｅ信号として使われるＷｒｉｔｅ  Ｒｏｗ信号とともに生成するための状態変化を提供するのに必要なのは検出セルの出力（Ｄｅｔ  Ｃｅｌｌ  Ｏｕｔ）だけなので、評価ツリーにはトランジスタＮ６２だけが必要で、内部加算ノードは検出セルの出力のダイナミックな論理反転を表す（すなわち、加算ノードは、回路がプリチャージ状態になく、検出セルの出力が論理ハイ状態になっている場合に限り、論理ロー値である）。回路の残りは図６の回路で説明したように動作し、論理ＮＡＮＤ機能は、ＮＡＮＤの入力の１つが／Ｐｒｅｃｈａｒｇｅ信号である内部加算ノードの状態に置かれる。／Ｐｒｅｃｈａｒｇｅ信号がデアサートされたら、内部加算ノードのプリチャージ状態が図示される回路の出力を論理ロー状態に切り換えさせる（プリチャージサイクル中にトランジスタＰ６１によって維持された後）。検出セルの出力が論理ハイ状態に切り換えられたら、図示される回路の出力は論理ハイ状態に戻る。
【００３３】
本発明をその好適な実施例を参照して具体的に示し説明してきたが、当業者には本発明の趣旨および範囲を逸脱することなく、それに形態および詳細における前述並びにその他の変更が行えることは理解されるであろう。
【図面の簡単な説明】
【００３４】
【図１】本発明の一実施例によるレジスタ・ファイルのブロック図である。
【図２】図１のレジスタ・ファイルで使用できる検出セルと対応する制御ロジックのブロック図である。
【図３】図１のレジスタ・ファイルで使用できる別の検出セルと対応する制御ロジックのブロック図である。
【図４】図１のレジスタ・ファイル内の信号の関係を表すタイミング図である。
【図５】本発明の代替実施例による、図１のレジスタ・ファイル内の制御ロジックを表すブロック図である。
【図６】図３の回路で使用できるダイナミック制御ロジックの詳細を表す概略図である。
【図７】図２の回路で使用できるダイナミック制御ロジックの詳細を表す概略図である。
【図１】
2008510241.tif 000003
【図２】
2008510241.tif 000004
【図３】
2008510241.tif 000005
【図４】
2008510241.tif 000006
【図５】
2008510241.tif 000007
【図６】
2008510241.tif 000008
【図７】
2008510241.tif 000009
【国際調査報告】
2008510241.tif 000010
2008510241.tif 000011