(57)【要約】【課題】ホールドマージンを容易の保証でき、冗長な遅延を発生することを防止でき、高速化、面積削減を図ることが可能な論理回路および同期型半導体記憶装置を提供する。【解決手段】論理ブロック１１−１〜１１−４と、論理ブロックのデータの入出力をシステムクロックに同期して行う複数のフリップフロップＦ／Ｆをアレイ化したフリップフロップアレイ１２−１〜１２−４と、幹線１３−１と複数の枝線１３−２１〜１３−２４を有し、幹線１３−１に伝搬されたシステムクロックＣＬＫを複数の枝線１３−２１〜１３−２４に分配するクロック配線１３とを有し、クロック配線１３の枝線１３−２１〜１３−２４の配置位置（枝線の直下）に対応してフリップフロップアレイ１２−１〜１２−４がそれぞれ配置され、フリップフロップブロックアレイ１２−１〜１２−４の配置領域以外に対応する論理ブロック１１−１〜１１−４が配置されている。【選択図】      図３
2006108438.tif 000002
【特許請求の範囲】
【請求項１】
複数の論理ブロックと、
上記論理ブロックのデータの入出力をシステムクロックに同期して行う複数のフリップフロップをアレイ化した複数のフリップフロップアレイと、
幹線と複数の枝線を有し、当該幹線に伝搬された上記システムクロックを上記複数の枝線に分配するクロック配線と、を有し、
上記クロック配線の枝線の配置位置に対応して上記フリップフロップアレイをそれぞれ配置し、
上記フリップフロップブロックアレイの配置領域以外に上記論理ブロックが配置されている
論理回路。
【請求項２】
異なる上記フリップフロップアレイ間において、フリップフロップアレイ上での近端、遠端のみに着目し、特性のばらつきを考慮して算出した最も速いファーストケースと最も遅いスローケースのタイミングのうち、データの送信側を近端のファーストケース、データの受信側をデータのスローケースとして当該関係でのデータ送信におけるホールドマージンが保証されている
請求項１記載の論理回路。
【請求項３】
同一の上記フリップフロップアレイにおいて、隣接するフリップフロップでのクロック遅延の最も遅いケースでデータ送信におけるホールドマージンが保証されている
請求項１記載の論理回路。
【請求項４】
同一の上記フリップフロップアレイにおいて、隣接するフリップフロップでのクロック遅延の最も遅いケースでデータ送信におけるホールドマージンが保証されている
請求項２記載の論理回路。
【請求項５】
メモリ部と、
上記メモリ部のアクセスをコントロールするコントロール部と、を有し、
上記コントロール部は、
複数の論理ブロックと、
上記論理ブロックのデータの入出力をシステムクロックに同期して行う複数のフリップフロップをアレイ化した複数のフリップフロップアレイと、
幹線と複数の枝線を有し、当該幹線に伝搬された上記システムクロックを上記複数の枝線に分配するクロック配線と、を有し、
上記クロック配線の枝線の配置位置に対応して上記フリップフロップアレイをそれぞれ配置し、
上記フリップフロップブロックアレイの配置領域以外に上記論理ブロックが配置されている
同期型半導体記憶装置。
【請求項６】
異なる上記フリップフロップアレイ間において、フリップフロップアレイ上での近端、遠端のみに着目し、特性のばらつきを考慮して算出した最も速いファーストケースと最も遅いスローケースのタイミングのうち、データの送信側を近端のファーストケース、データの受信側をデータのスローケースとして当該関係でのデータ送信におけるホールドマージンが保証されている
請求項５記載の同期型半導体記憶装置。
【請求項７】
同一の上記フリップフロップアレイにおいて、隣接するフリップフロップでのクロック遅延の最も遅いケースでデータ送信におけるホールドマージンが保証されている
請求項５記載の同期型半導体記憶装置。
【請求項８】
同一の上記フリップフロップアレイにおいて、隣接するフリップフロップでのクロック遅延の最も遅いケースでデータ送信におけるホールドマージンが保証されている
請求項６記載の同期型半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムクロックに同期してデータの入出力処理を行う論理回路、およびシクロナスＤＲＡＭ（ＳＤＲＡＭ）等の同期型半導体記憶装置に関するものである。
【背景技術】
【０００２】
外部から与えられるシステムクロックに同期してデータの入出力を行うことによりデータ転送速度を速くするようにした同期型記憶装置の一つにＳＤＲＡＭがある（たとえば特許文献１、２参照）。
【０００３】
ＳＤＲＡＭは、大きく分けて、複数のＤＲＡＭセルがアレイ状に配列されたメモリ部と、メモリ部のセルアクセスをコントロールするコントロール部とにより構成される。
コントロール部は、論理回路であって、複数の機能ブロックと、機能ブロックのデータの入出力をシステムクロックに同期して行う複数のフリップフロップを有する。
【０００４】
一般的に、ＳＤＲＡＭのコントロール部は、図１や図２に示すように、機能ブロックＬＢＬＫ毎にフリップフロップ（Ｆ／Ｆ）を近接配置するように構成される。
このような構成を有するコントロール部は、論理設計するにあたって、自動配置配線による設計手法や、一般的ではないが手設計による設計手法を採用することが可能である。
そして、設計にあたり、フリップフロップ（Ｆ／Ｆ）のホールドマージンを確保するように留意される。
【０００５】
従来、このホールドマージンは、下記のように設計保証していた。
【０００６】
自動配置配線を用いて設計する場合：
自動配置配線を用いて設計する場合、図１に示すように、ホールドマージンの基準を設定し、全てのフリップフロップＦ／Ｆがこの基準を満たすように配置、配線される。
【０００７】
手設計で設計する場合：
手設計で設計する場合、図２に示すように、回路は機能別にブロックとして構成するため、そこに必要な近接配置されるフリップフロップＦ／Ｆがある程度ランダムに配置されることになる。
【特許文献１】特開平９−２０４７７６号公報
【特許文献２】特開平１０−３４０２２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところが、自動配置配線を用いて設計する場合、図１に示すように、本来論理順や信号の伝播順序的にホールドエラーを起こす可能性が無くてもマージンの絶対値が設けた基準より小さければこの基準をクリアするために冗長な遅延などを発生させることになる。
換言すれば、図１に示すように、フリップフロップＦ／Ｆ間のデータ転送では、データの伝播方向がクロックＣＬＫの伝播方向と逆になる場合、基本的にホールド特性は保証されている。しかし、絶対値的な基準に基づいてタイミング解析を行うため、これをクリアするため、冗長に遅延（Delay）を発生させる。
また、ランダムに置かれたフリップフロップＦ／Ｆのタイミングは様々なばらつき(ツール精度、寄生RC抽出精度)を考慮するため、この基準も大きく取らざるを得ない。
したがって調整に必要な素子は多くなり、面積も増大する。
【０００９】
また、手設計で設計する場合、図２に示すように、回路は機能別にブロックとして構成するためそこに必要なフリップフロップＦ／Ｆがある程度ランダムに配置することになるが、ホールドマージンの検証は、自動配置配線と同じタイミング解析ツールによって行うこともあるものの、マニュアルで検証する場合、各々のある任意のフリップフロップＦ／Ｆ間のホールドを個別に調べていく必要が生じる。
換言すれば、フリップフロップＦ／Ｆの配置はランダムになるため、ホールドマージンの確認のためには、各フリップフロップＦ／ＦでのクロックＣＬＫタイミングを全て計算し、調整する必要がある。
論理回路の規模が大きいとこれを全て検証し、保証することは現実的ではない。
【００１０】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、ホールドマージンを容易の保証でき、冗長な遅延を発生することを防止でき、高速化、面積削減を図ることが可能な論理回路および同期型半導体記憶装置を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明の第１の観点は、複数の論理ブロックと、上記論理ブロックのデータの入出力をシステムクロックに同期して行う複数のフリップフロップをアレイ化した複数のフリップフロップアレイと、幹線と複数の枝線を有し、当該幹線に伝搬された上記システムクロックを上記複数の枝線に分配するクロック配線と、を有し、上記クロック配線の枝線の配置位置に対応して上記フリップフロップアレイをそれぞれ配置し、上記フリップフロップブロックアレイの配置領域以外に上記論理ブロックが配置されている。
【００１２】
本発明の第２の観点は、メモリ部と、上記メモリ部のアクセスをコントロールするコントロール部と、を有し、上記コントロール部は、複数の論理ブロックと、上記論理ブロックのデータの入出力をシステムクロックに同期して行う複数のフリップフロップをアレイ化した複数のフリップフロップアレイと、幹線と複数の枝線を有し、当該幹線に伝搬された上記システムクロックを上記複数の枝線に分配するクロック配線と、を有し、上記クロック配線の枝線の配置位置に対応して上記フリップフロップアレイをそれぞれ配置し、上記フリップフロップブロックアレイの配置領域以外に上記論理ブロックが配置されている。
【００１３】
好適には、異なる上記フリップフロップアレイ間において、フリップフロップアレイ上での近端、遠端のみに着目し、特性のばらつきを考慮して算出した最も速いファーストケースと最も遅いスローケースのタイミングのうち、データの送信側を近端のファーストケース、データの受信側をデータのスローケースとして当該関係でのデータ送信におけるホールドマージンが保証されている。
【００１４】
好適には、同一の上記フリップフロップアレイにおいて、隣接するフリップフロップでのクロック遅延の最も遅いケースでデータ送信におけるホールドマージンが保証されている。
【００１５】
本発明によれば、複数のフリップフロップが、いわゆるツリー状をなすクロック配線の直下（枝線）の配置位置に整然とアレイ配置される。
これにより、フリップフロップ間のホールドマージンがクリティカルとなる組み合わせを１つに限定できる状態となり、これを保証することで、任意のフリップフロップ間のホールドマージンをあえて検証することなく保証できる。
【発明の効果】
【００１６】
本発明によれば、回路内のホールドマージンを容易に保証できるようになる。
その結果、自動配置配線を用いた論理設計で行うタイミング解析を行う必要がないため、冗長なマージン設計を行う必要がなくなり、高速化が可能になる上、面積削減にもつながるという利点がある。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態を、図面に関連付けて説明する。
【００１８】
図３は、本発明に係る論理回路のレイアウトの一実施形態を示す図である。
【００１９】
本実施形態の論理回路１０は、図３に示すように、複数（本実施形態では４）の論理ブロック１１−１〜１１−４と、論理ブロックのデータの入出力をシステムクロックに同期して行う複数のフリップフロップＦ／Ｆをアレイ化した複数（本実施形態では４）のフリップフロップアレイ１２−１〜１２−４と、幹線１３−１と複数（本実施形態では４）の枝線１３−２１〜１３−２４を有し、幹線１３−１に伝搬されたシステムクロックＣＬＫを複数の枝線１３−２１〜１３−２４に分配するクロック配線１３と、を有している。
そして、本実施形態の論理回路１０においては、クロック配線１３の枝線１３−２１〜１３−２４の配置位置（枝線の直下）に対応してフリップフロップアレイ１２−１〜１２−４がそれぞれ配置され、フリップフロップブロックアレイ１２−１〜１２−４の配置領域以外に対応する論理ブロック１１−１〜１１−４が配置されている。
【００２０】
具体的には、クロック配線１３の枝線１３−２１の直下にフリップフロップアレイ１２−１が配置され、フリップフロップアレイ１２−１に対応する論理ブロック１１−１が図中の上部に近接配置されている。
クロック配線１３の枝線１３−２２の直下にフリップフロップアレイ１２−２が配置され、フリップフロップアレイ１２−２に対応する論理ブロック１１−２が図中の上部に近接配置されている。
クロック配線１３の枝線１３−２３の直下にフリップフロップアレイ１２−３が配置され、フリップフロップアレイ１２−３に対応する論理ブロック１１−３が図中の上部に近接配置されている。
クロック配線１３の枝線１３−２４の直下にフリップフロップアレイ１２−４が配置され、フリップフロップアレイ１２−４に対応する論理ブロック１１−４が図中の上部に近接配置されている。
【００２１】
本実施形態の論理回路１０においては、図４に示すように、フリップフロップアレイ１２−１〜１２−４の入るシステムクロックＣＬＫのタイミングは全てクロック配線１３のクロックツリー（CLK Tree）上同じタイミングなので、ホールドマージンを確認するためには、１つのフリップフロップアレイ上の遠端、近端のポイントだけを抑えればよい。
【００２２】
これに基づき、本実施形態の論理回路１０は、異なるフリップフロップアレイ間において、フリップフロップアレイ１２−１〜１２−４上での近端、遠端のみに着目し、特性のばらつきを考慮して算出した最も速いファーストケースと最も遅いスローケースのタイミングのうち、データの送信側を近端のファーストケース、データの受信側をデータのスローケースとしてこの関係でのデータ送信におけるホールドマージンが保証されている。
【００２３】
本実施形態の論理回路１０においては、図５に示すように、隣接する２つのフリップフロップＦ／Ｆ間でシステムクロックＣＬＫとデータが同一方向に伝播するケースのみ保証させれば、全てのフリップフロップＦ／Ｆの組み合わせでのホールドマージンを保証したことになる。
【００２４】
これに基づき、本実施形態の論理回路１０は、同一のフリップフロップアレイ１２−１〜１２−４において、隣接するフリップフロップＦ／Ｆでのクロック遅延の最も遅いケースでデータ送信におけるホールドマージンが保証されている。
【００２５】
以下、上記構成有する論理回路１０の設計手順について説明する。
【００２６】
クロック配線１３を幹線１３−１と枝線１３−２１〜１３−２４を有するようにクロックツリーを展開した後、フリップフロップＦＦをツリー直下、すなわち枝線１３−２１〜１３−２４の直下にアレイ配置する。
論理回路１２−１〜１２−４は、セットアップ期間を使って、このフリップフロップアレイの配置に影響を与えないエリアに置く。
以下、２点のホールド検証を行うことで、ブロック内の任意のフリップフロップＦ／Ｆ間のホールドマージンを保証したことになる。
【００２７】
１）異なるフリップフロップ（Ｆ／Ｆ）アレイ間でのホールドマージン検証：
まず、異なるフリップフロップ（Ｆ／Ｆ）アレイ間でのホールドマージン検証について、図６および図７に関連付けて説明する。
図６は、異なるフリップフロップアレイ間でのホールドマージン検証を説明するためのアレイ配置を示す図である。
図７は、異なるフリップフロップアレイ間でのホールドマージン検証を説明するためのタイミング図である。
図６の例では、２つのフリップフロップアレイブロックＢＬＫａ，ＢＬＫｂとして、送信側アレイブロックＢＬＫａから受信側アレイブロックＢＬＫｂにデータを転送する場合である。
図中のＲＣは配線抵抗Ｒと容量Ｃによる遅延成分を示す。
【００２８】
この場合、フリップフロップアレイ上での近端、遠端のみに着目し、ＲＣ、トランジスタＴｒのばらつきを考慮した、ファースト（Fast）／スロー（Slow） ケースでのタイミングを算出しておく。
データの送信側を近端のファーストケース、データの受信側をデータのスローケースとしてこの関係でのデータ送信におけるホールドマージンを保証するように設計することで任意のフリップフロップＦ／Ｆ間でのホールドマージンを保証できる。
【００２９】
具体的には、ＲＣばらつき、Ｔｒばらつきを考慮し、送信側のCLK  *は、Fastケース、受信側のCLK  *は、Slowケースで算出すると、図７に示すように、CLK  bn→ CLK af 間でのデータ転送が、ホールドマージン上のクリティカルケースとなる。
この１ケースのみ確認、保証すれば、図６における異なるフリップフロップアレイ間の任意のフリップフロップＦ／Ｆ間でのホールドマージンを保証したことになる。
【００３０】
２）同一のフリップフロップ（Ｆ／Ｆ）アレイ上でホールドマージン検証：
次に、同一のフリップフロップ（Ｆ／Ｆ）アレイ間でのホールドマージン検証について、図８および図９に関連付けて説明する。
図８は、同一のフリップフロップアレイ間でのホールドマージン検証を説明するためのアレイ配置を示す図である。
図９は、同一のフリップフロップアレイ間でのホールドマージン検証を説明するためのタイミング図である。
図中のＲＣは配線抵抗Ｒと容量Ｃによる遅延成分を示す。
【００３１】
この場合、隣接するフリップフロップＦ／Ｆでのクロック遅延の最も遅いケースでデータ送信のホールドマージンを保証すれば、任意のフリップフロップＦ／Ｆでのホールドマージンを保証できる。
【００３２】
具体的には、ＲＣばらつき、Ｔｒばらつきを考慮し、送信側のCLK  *は、Fastケース、受信側のCLK  *は、Slowケースで算出すると、図９に示すように、CLK  an→ CLK af 間でのデータ転送が、ホールドマージン上のクリティカルケースとなる。
この１ケースのみ確認、保証すれば、図８における同一のフリップフロップアレイ間の任意のフリップフロップＦ／Ｆ間でのホールドマージンを保証したことになる。
【００３３】
以上説明したように、本実施形態によれば、複数（本実施形態では４）の論理ブロック１１−１〜１１−４と、論理ブロックのデータの入出力をシステムクロックに同期して行う複数のフリップフロップＦ／Ｆをアレイ化した複数（本実施形態では４）のフリップフロップアレイ１２−１〜１２−４と、幹線１３−１と複数（本実施形態では４）の枝線１３−２１〜１３−２４を有し、幹線１３−１に伝搬されたシステムクロックＣＬＫを複数の枝線１３−２１〜１３−２４に分配するクロック配線１３と、を有し、クロック配線１３の枝線１３−２１〜１３−２４の配置位置（枝線の直下）に対応してフリップフロップアレイ１２−１〜１２−４がそれぞれ配置され、フリップフロップブロックアレイ１２−１〜１２−４の配置領域以外に対応する論理ブロック１１−１〜１１−４が配置されていることから、以下の効果を得ることができる。
【００３４】
たとえば手設計によってクロックツリーを構成し、ツリー直下にフリップフロップアレイを配置することによって、構成した回路内のホールドマージンを容易に保証できるようになる。
その結果、自動配置配線を用いた論理設計で行うタイミング解析を行う必要がないため、冗長なマージン設計を行う必要がなくなり、高速化が可能になる上、面積削減にもつながるという利点がある。
【００３５】
また、本実施形態の論理回路１０は、たとえば図１０に示すように、複数のＤＲＡＭセルがアレイ状に配列されたメモリ部２１と、メモリ部２１のセルアクセスをコントロールするコントロール部２２とにより構成されるＳＤＲＡＭのコントロール部２２に適用可能である。
コントロール部２２は、論理回路であって、複数の機能ブロックと、機能ブロックのデータの入出力をシステムクロックに同期して行う複数のフリップフロップを有する。
【００３６】
図１１は、図１０のコントロール部の実際のアレイ配置例を示す図である。
なお、図１１においては、理解を容易にするために、図３と同一構成および機能部分には同一符号を付している。
１つのフリップフロップアレイ１２枠内には、たとえば３０〜５０個のフリップフロップＦ／Ｆが配置されている。
【００３７】
このＳＤＲＡＭはツリークロックを用いるため、タイミング調整が容易になり、設計効率を高めることができる。
【図面の簡単な説明】
【００３８】
【図１】従来の論理回路を自動配置配線で設計する場合の構成および課題を説明するための図である。
【図２】従来の論理回路を手設計で設計する場合の構成および課題を説明するための図である。
【図３】本発明に係る論理回路のレイアウトの一実施形態を示す図である。
【図４】異なるフリップフロップアレイ間でのホールドマージン検証を説明するための図である。
【図５】同一のフリップフロップアレイ間でのホールドマージン検証を説明するための図である。
【図６】異なるフリップフロップアレイ間でのホールドマージン検証を説明するためのアレイ配置を示す図である。
【図７】異なるフリップフロップアレイ間でのホールドマージン検証を説明するためのタイミング図である。
【図８】同一のフリップフロップアレイ間でのホールドマージン検証を説明するためのアレイ配置を示す図である。
【図９】同一のフリップフロップアレイ間でのホールドマージン検証を説明するためのタイミング図である。
【図１０】本発明に係る論理回路が適用可能なＳＤＲＡＭの基本構成を示すブロック図である。
【図１１】図１０のコントロール部の実際のアレイ配置例を示す図である。
【符号の説明】
【００３９】
１０…論理回路、１１−１…１１−２…論理ブロック、１２−１〜１２−４…フリップフロップアレイ、１３…クロック配線、１３−１…幹線、１３−２１〜１３−２４…枝線、２０…ＳＤＲＡＭ、２１…メモリ部、２２…コントロール部。
【図１】
2006108438.tif 000003
【図２】
2006108438.tif 000004
【図３】
2006108438.tif 000005
【図４】
2006108438.tif 000006
【図５】
2006108438.tif 000007
【図６】
2006108438.tif 000008
【図７】
2006108438.tif 000009
【図８】
2006108438.tif 000010
【図９】
2006108438.tif 000011
【図１０】
2006108438.tif 000012
【図１１】
2006108438.tif 000013