(57)【特許請求の範囲】
【請求項１】
メモリセルが行方向及び列方向に複数配列されたメモリセルアレイと、
前記行方向に配列された前記メモリセルを選択するローデコーダと、
前記列方向に配列された前記メモリセルを選択するカラムデコーダと、
選択されたメモリセルからデータを読み出すセンスアンプと、
前記メモリセルのデータの記憶・読み出しを行うための第１の複数の入出力端子と、
前記第１の複数の入出力端子の一部の端子に接続されると共に、記憶したデータを順次シフトする、直列に接続された第１の複数のレジスタと、
前記第１の複数の入出力端子の残りの端子に接続されると共に、記憶したデータを順次シフトする、直列に接続された第２の複数のレジスタと、
前記直列に接続された第１の複数のレジスタの一端に設けられた第１スキャン入力端子と、
前記直列に接続された第１の複数のレジスタの他端に設けられた第１スキャン出力端子と、
前記直列に接続された第２の複数のレジスタの一端に設けられた第２スキャン入力端子と、
前記直列に接続された第２の複数のレジスタの他端に設けられた第２スキャン出力端子と、
前記ローデコーダ、カラムデコーダ、及び前記第１、第２の複数のレジスタの動作を制御する動作制御回路とを具備し、
前記第１の複数のレジスタ及び前記第２の複数のレジスタは一辺の近傍領域上に配置され、前記第１スキャン入力端子及び前記第２スキャン出力端子は前記一辺の近傍領域の一端側に配置され、前記第１スキャン出力端子及び前記第２スキャン入力端子は前記一辺の近傍領域の他端側に配置されていることを特徴とする半導体集積回路。
【請求項２】
メモリセルが行方向及び列方向に複数配列されたメモリセルアレイと、
前記行方向に配列された前記メモリセルを選択するローデコーダと、
前記列方向に配列された前記メモリセルを選択するカラムデコーダと、
選択されたメモリセルからデータを読み出すセンスアンプと、
前記メモリセルのデータの記憶・読み出しを行うための第１の複数の入出力端子と、
前記第１の複数の入出力端子のそれぞれに接続されると共に、記憶したデータを順次シフトする、直列に接続された複数のレジスタと、
データを増幅する、直列に接続された複数のバッファと、
前記直列に接続された複数のレジスタの一端に設けられた第１スキャン入力端子と、
前記直列に接続された複数のレジスタの他端に設けられた第１スキャン出力端子と、
前記直列に接続された複数のバッファの一端に設けられた第２スキャン入力端子と、
前記直列に接続された複数のバッファの他端に設けられた第２スキャン出力端子と、
前記ローデコーダ、カラムデコーダ、及び前記複数のレジスタの動作を制御する動作制御回路とを具備し、
前記複数のレジスタ及び前記複数のバッファは一辺の近傍領域上に配置され、前記第１スキャン入力端子及び前記第２スキャン出力端子は前記一辺の近傍領域の一端側に配置され、前記第１スキャン出力端子及び前記第２スキャン入力端子は前記一辺の近傍領域の他端側に配置されていることを特徴とする半導体集積回路。
【請求項３】
前記第１スキャン出力端子と前記第２スキャン入力端子とは近傍に配置されており、前記第１スキャン出力端子と前記第２スキャン入力端子との間に形成された配線をさらに具備することを特徴とする請求項１または２に記載の半導体集積回路。
【請求項４】
前記動作制御回路は、第２の複数の入出力端子に接続された第３、第４の複数のレジスタと、第３スキャン入力端子と、この第３スキャン入力端子に前記第３の複数のレジスタを介して接続された第３スキャン出力端子と、第４スキャン入力端子と、この第４スキャン入力端子に前記第４の複数のレジスタを介して接続された第４スキャン出力端子とを有し、
前記第３スキャン入力端子は前記第１スキャン出力端子に接続され、前記第４スキャン出力端子は前記第２スキャン入力端子に接続されていることを特徴とする請求項１または２に記載の半導体集積回路。
【請求項５】
前記第３スキャン出力端子と前記第４スキャン入力端子とは近傍に配置されており、前記第３スキャン出力端子と前記第４スキャン入力端子との間に形成された配線をさらに具備することを特徴とする請求項４に記載の半導体集積回路。
【請求項６】
前記メモリセルアレイ、ローデコーダ、カラムデコーダ、センスアンプ、第１の複数の入出力端子、第１、第２の複数のレジスタ、第１スキャン入力端子、第１スキャン出力端子、第２スキャン入力端子、及び第２スキャン出力端子がメモリ回路を構成し、このメモリ回路に隣接して前記動作制御回路が配置されると共に、前記動作制御回路を挟んで前記メモリ回路と反対側には、前記メモリ回路が鏡反転された構成を持つメモリ回路が配置されていることを特徴とする請求項１に記載の半導体集積回路。
【請求項７】
前記メモリセルアレイ、ローデコーダ、カラムデコーダ、センスアンプ、第１の複数の入出力端子、複数のレジスタ、複数のバッファ、第１スキャン入力端子、第１スキャン出力端子、第２スキャン入力端子、及び第２スキャン出力端子がメモリ回路を構成し、このメモリ回路に隣接して前記動作制御回路が配置されると共に、前記動作制御回路を挟んで前記メモリ回路と反対側には、前記メモリ回路が鏡反転された構成を持つメモリ回路が配置されていることを特徴とする請求項２に記載の半導体集積回路。
【請求項８】
メモリセルが行方向及び列方向に複数配列されたメモリセルアレイと、
前記行方向に配列された前記メモリセルを選択するローデコーダと、
前記列方向に配列された前記メモリセルを選択するカラムデコーダと、
選択されたメモリセルからデータを読み出すセンスアンプと、
前記メモリセルのデータの記憶・読み出しを行うための第１の複数の入出力端子と、
前記第１の複数の入出力端子に接続されると共に、記憶したデータを順次シフトする、直列に接続された第１の複数のレジスタと、
データを増幅する、直列に接続された第１の複数のバッファと、
前記直列に接続された第１の複数のレジスタの一端に設けられた第１スキャン入力端子と、
前記直列に接続された第１の複数のレジスタの他端に設けられた第１スキャン出力端子と、
前記直列に接続された第１の複数のバッファの一端に設けられた第２スキャン入力端子と、
前記直列に接続された第１の複数のバッファの他端に設けられた第２スキャン出力端子と、
前記ローデコーダ、カラムデコーダの動作を制御すると共に、前記第１の複数のレジスタにおけるデータのシフト動作を制御するクロック信号を出力する動作制御回路と、
前記動作制御回路から出力される前記クロック信号を遅延して前記第１の複数のレジスタに供給する第２の複数のバッファとを具備し、
前記第１の複数のレジスタ及び前記第１の複数のバッファは一辺の近傍領域上に配置され、前記第１スキャン入力端子及び前記第２スキャン出力端子は前記一辺の近傍領域の一端側に配置され、前記第１スキャン出力端子及び前記第２スキャン入力端子は前記一辺の近傍領域の他端側に配置されていることを特徴とする半導体集積回路。
【請求項９】
前記動作制御回路は、第２の複数の入出力端子に接続された第２、第３の複数のレジスタと、第３スキャン入力端子と、この第３スキャン入力端子に前記第２の複数のレジスタを介して接続された第３スキャン出力端子と、第４スキャン入力端子と、この第４スキャン入力端子に前記第３の複数のレジスタを介して接続された第４スキャン出力端子とを有し、
前記第３スキャン入力端子は前記第１スキャン出力端子に接続され、前記第４スキャン出力端子は前記第２スキャン入力端子に接続されていることを特徴とする請求項８に記載の半導体集積回路。
【請求項１０】
前記メモリセルアレイ、ローデコーダ、カラムデコーダ、センスアンプ、第１の複数の入出力端子、第１の複数のレジスタ、第１の複数のバッファ、第２の複数のバッファ、第１スキャン入力端子、第１スキャン出力端子、第２スキャン入力端子、及び第２スキャン出力端子がメモリ回路を構成し、このメモリ回路に隣接して前記動作制御回路が配置されると共に、前記動作制御回路を挟んで前記メモリ回路と反対側には、前記メモリ回路が鏡反転された構成を持つメモリ回路が配置されていることを特徴とする請求項８に記載の半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、走査可能なラッチ手段を有する半導体集積回路に関するものである。
【０００２】
【従来の技術】
近年、複雑化する同期型半導体集積回路において、走査可能なラッチ手段（スキャンチェーン）を設け、一部の機能のみを切り離して前記ラッチ手段をテストできるようにすることにより、テスト時間を大幅に短縮する技術が主流となっている。前記走査可能なラッチ手段（スキャンチェーン）とは、複数のレジスタなどを一本あるいは複数本のチェーン状に接続し、前段のレジスタに記憶されたデータを後段のレジスタにシフト（スキャン）できるようにしたものである。
【０００３】
特に、メモリ回路とロジック回路とを搭載する混載メモリ等を形成するためのマクロセルにおいては、このマクロセルが多数の入出力端子を持つため、前述したようなスキャン機能を持つことが半導体集積回路（半導体チップ）全体の故障検出率を向上させるために必須となっている。
【０００４】
図１１は、従来のマクロセルにおけるスキャンの実現方法を示す概略図である。このマクロセル１０１は、混載メモリなどを形成するためのマクロセルである。図１１に示すように、マクロセル１０１は多数の入出力端子（以下、ＩＯ端子と記す）１０２を所持するため、これらＩＯ端子１０２は空間的広がりを持って配置されることになる。ＩＯ端子１０２には、入出力レジスタ（以下、ＩＯレジスタと記す）１０３が設けられており、これらＩＯレジスタ１０３は、マクロセルの外部から入力されるデータ（外部パス）をテストするためにスキャン機能を有し、直列に接続されている。
【０００５】
これらＩＯレジスタ１０３群の一端にはスキャン入力端子１０４が接続され、ＩＯレジスタ１０３群の他端にはスキャン出力端子１０５が接続されている。そして、スキャン入力端子１０４にはスキャンされるデータＳＩが入力され、スキャン出力端子１０５からはスキャンされたデータＳＯが出力される。なお、スキャンの実行には、図示していないが他に制御用入力信号とクロック信号を使用する。
【０００６】
図１２は、従来の混載メモリマクロの構成を示す図である。ここでは、混載メモリマクロにおけるスキャンの実現の１例を示す。
【０００７】
図１２に示すように、この混載メモリマクロ１１１は、図１１に示したマクロセル１０１、動作制御回路１１２、及びマクロセル１０１Ｂを有している。マクロセル１０１Ｂは、動作制御回路１１２を基準にマクロセル１０１を鏡反転したものである。混載メモリマクロでは、通常、メモリ容量を増やし、かつ動作制御回路１１２を共通に使用するために、動作制御回路１１２を挟んでマクロセル１０１とマクロセル１０１Ｂとが鏡反転の関係を持つように配置される。
【０００８】
前記マクロセル１０１、１０１Ｂには、それぞれ１２８個のＩＯレジスタ及び入出力端子が配置されている。マクロセル１０１の右端にはＩＯレジスタ群の右端に接続されたスキャン入力端子１０４が設けられ、マクロセル１０１の左端には前記ＩＯレジスタ群の左端に接続されたスキャン出力端子１０５が設けられている。
【０００９】
前記動作制御回路１１２には、コントロール信号ＣＮＴを入出力する入出力線があり、さらにコントロール信号ＣＮＴを記憶するレジスタが存在する。動作制御回路１１２の右端には、前記レジスタに接続されたスキャン入力端子１１３が設けられ、動作制御回路１１２の下端には前記レジスタに接続されたスキャン出力端子１１４が設けられている。
【００１０】
前記マクロセル１０１Ｂの左端にはＩＯレジスタ群の左端に接続されたスキャン入力端子１０４Ｂが設けられ、マクロセル１０１Ｂの右端には前記ＩＯレジスタ群の右端に接続されたスキャン出力端子１０５Ｂが設けられている。さらに、スキャン出力端子１１４とスキャン入力端子１０４Ｂとの間を配線１１５により接続する。
【００１１】
図１２に示すように構成されたメモリマクロ１１１では、右端のスキャン入力端子１０４にスキャンを行うデータＳＩを入力し、スキャン出力端子１０５ＢからスキャンされたデータＳＯを出力することにより、メモリマクロにおけるスキャン機能を実現できる。
【００１２】
【発明が解決しようとする課題】
しかしながら、スキャン出力端子１１４とスキャン入力端子１０４Ｂとの間に設けられる配線１１５は、１２８個のＩＯ端子を横切った長い配線になり、スキャン動作のパフォーマンスを劣化させるという問題がある。また、配線１１５はメモリマクロの外部に設けなければならず、スキャン動作の自動化に対する妨げになるという問題もある。
【００１３】
そこでこの発明は、前記問題を解決するためになされたものであり、様々な構成のメモリマクロにスキャン機能を設定したとき、外部に長い配線を設けることによるスキャン動作のパフォーマンス劣化を低減でき、またメモリマクロの外部に設ける配線を無くして、スキャン動作の自動化に対する障害を取り除くことができる半導体集積回路を提供することを目的とする。
【００１４】
【課題を解決するための手段】
この発明の一実施態様の半導体集積回路は、メモリセルが行方向及び列方向に複数配列されたメモリセルアレイと、前記行方向に配列された前記メモリセルを選択するローデコーダと、前記列方向に配列された前記メモリセルを選択するカラムデコーダと、選択されたメモリセルからデータを読み出すセンスアンプと、前記メモリセルのデータの記憶・読み出しを行うための第１の複数の入出力端子と、前記第１の複数の入出力端子の一部の端子に接続されると共に、記憶したデータを順次シフトする、直列に接続された第１の複数のレジスタと、前記第１の複数の入出力端子の残りの端子に接続されると共に、記憶したデータを順次シフトする、直列に接続された第２の複数のレジスタと、前記直列に接続された第１の複数のレジスタの一端に設けられた第１スキャン入力端子と、前記直列に接続された第１の複数のレジスタの他端に設けられた第１スキャン出力端子と、前記直列に接続された第２の複数のレジスタの一端に設けられた第２スキャン入力端子と、前記直列に接続された第２の複数のレジスタの他端に設けられた第２スキャン出力端子と、前記ローデコーダ、カラムデコーダ、及び前記第１、第２の複数のレジスタの動作を制御する動作制御回路とを具備し、前記第１の複数のレジスタ及び前記第２の複数のレジスタは一辺の近傍領域上に配置され、前記第１スキャン入力端子及び前記第２スキャン出力端子は前記一辺の近傍領域の一端側に配置され、前記第１スキャン出力端子及び前記第２スキャン入力端子は前記一辺の近傍領域の他端側に配置されていることを特徴とする。
【００１５】
【発明の実施の形態】
以下、図面を参照してこの発明の実施の形態について説明する。説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１６】
［第１の実施の形態］
まず、この発明の第１の実施の形態の半導体集積回路を構成するアレイブロックについて説明する。
【００１７】
図１は、第１の実施の形態のアレイブロックの構成を示す図である。
【００１８】
図１に示すように、アレイブロック１１内には、メモリセルアレイ１２、ローデコーダ１３、カラムデコーダ１４、センスアンプ１５、及び入出力制御回路１６が形成されている。
【００１９】
前記メモリセルアレイ１２には、データを記憶するメモリセルが行（ロー）方向及び列（カラム）方向にマトリクス状に配列されている。ローデコーダ１３は、外部から入力されたローアドレスに基づいて、ロー方向のメモリセルを選択するために前記メモリセルに接続されたワード線ＷＬを選択する。センスアンプ１５は、ローデコーダ１３に基づいて選択されたメモリセルから読み出した電圧を増幅する。カラムデコーダ１４は、外部から入力されたカラムアドレスに基づいて、カラム方向のメモリセルを選択するために前記メモリセルに接続されたビット線を選択し、ＤＱ線に接続する。入出力制御回路１６は、読み出しの場合、メモリセルに記憶されているデータを出力端子まで転送し、書き込みの場合、入力端子に入力されたデータをメモリセルに転送する。
【００２０】
前記入出力制御回路１６には、入出力レジスタ及びスキャンレジスタ（以下ＩＯレジスタと記す）１６Ａ、入出力端子（以下ＩＯ端子と記す）１６Ｂ、第１、第２のスキャン入力端子ＳＩＲ１、ＳＩＬ１、及び第１、第２のスキャン出力端子ＳＯＬ１、ＳＯＲ１が配置されている。
【００２１】
前記入出力制御回路１６の右端には、第１のスキャン入力端子ＳＩＲ１が配置され、入出力制御回路１６の左端には、第１のスキャン出力端子ＳＯＬ１が配置されている。そして、第１のスキャン入力端子ＳＩＲ１と第１のスキャン出力端子ＳＯＬ１との間には、直列に接続された複数のＩＯレジスタ１６Ａが配列されている。前記複数のＩＯレジスタ１６Ａは、それぞれ走査可能なラッチ手段を持っており、直列に接続されてスキャンチェーンを形成している。また、複数のＩＯレジスタ１６Ａには、それぞれＩＯ端子１６Ｂが接続されている。
【００２２】
また、前記入出力制御回路１６の左端には、第２のスキャン入力端子ＳＩＬ１が配置され、入出力制御回路１６の右端には、第２のスキャン出力端子ＳＯＲ１が配置されている。そして、第２のスキャン入力端子ＳＩＬ１と第２のスキャン出力端子ＳＯＲ１との間には、直列に接続された複数のＩＯレジスタ１６Ａが配列されている。前記複数のＩＯレジスタ１６Ａは、前述と同様にそれぞれ走査可能なラッチ手段を持っており、直列に接続されてスキャンチェーンを形成している。また、複数のＩＯレジスタ１６Ａには、それぞれＩＯ端子１６Ｂが接続されている。なお、第２のスキャン入力端子ＳＩＬ１は第１のスキャン出力端子ＳＯＬ１の近傍に配置され、第２のスキャン出力端子ＳＯＲ１は第１のスキャン入力端子ＳＩＲ１の近傍に配置される。
【００２３】
さらに、第１のスキャン出力端子ＳＯＬ１と第２のスキャン入力端子ＳＩＬ１との間には配線１７が接続されている。
【００２４】
このような構成を持つアレイブロック１１では、スキャン入力端子ＳＩＲ１に入力されたデータは直列に接続された複数のＩＯレジスタ１６Ａを順次走査され、スキャン出力端子ＳＯＬ１に転送される。スキャン出力端子ＳＯＬ１に転送された前記データは、配線１７を通ってスキャン入力端子ＳＩＬ１に入力される。さらに、スキャン入力端子ＳＩＬ１に入力された前記データは、直列に接続された複数のＩＯレジスタ１６Ａを順次走査され、スキャン出力端子ＳＯＲ１に転送される。
【００２５】
前述したように、アレイブロック１１の右端にスキャン入力端子ＳＩＲ１を配置し、この出力となるスキャン出力端子ＳＯＬ１をアレイブロック１１の左端に配置する。さらに、アレイブロック１１の左端にスキャン入力端子ＳＩＬ１を配置し、この出力となるスキャン出力端子ＳＯＲ１をアレイブロック１１の右端に配置する。そして、アレイブロック１１の左端に配置されたスキャン出力端子ＳＯＬ１とスキャン入力端子ＳＩＬ１とを配線１７により接続する。これにより、スキャン入力端子ＳＩＲ１とスキャン出力端子ＳＯＲ１との間にスキャンチェーンを形成することができ、スキャン入力端子ＳＩＲ１に入力されたデータを、スキャン出力端子ＳＯＲ１へスキャンすることができる。
【００２６】
ここで、前記配線１７は、互いに近傍に配置されたスキャン出力端子ＳＯＬ１とスキャン入力端子ＳＩＬ１との間を接続するものであるため、長い配線になることはない。したがって、スキャン入力端子ＳＩＲ１に入力されたデータをスキャン出力端子ＳＯＲ１へスキャンした場合でも、スキャン動作のパフォーマンス劣化を低減することができる。
【００２７】
また、読み出し時には、前記センスアンプ１５からの出力は、ＤＱ線を通ってＩＯレジスタ１６Ａに記憶され、さらにＩＯ端子１６Ｂから外部へ出力される。一方、書き込み時には、外部からＩＯ端子１６Ｂに入力されたデータはＩＯレジスタ１６Ａに記憶され、さらにＤＱ線を通って選択されたメモリセルに書き込まれる。
【００２８】
次に、前記アレイブロック１１に動作制御回路を設けたメモリマクロの構成について説明する。
【００２９】
図２は、前記第１の実施の形態の第１変形例のメモリマクロの構成を示す図である。
【００３０】
図２に示すように、メモリマクロは、図１に示した前記アレイブロック１１、及び動作制御回路２１を有している。アレイブロック１１内の構成は、図１に示した構成と同様であり、ここでは入力制御回路１６内のスキャン入力端子ＳＩＲ１、ＳＩＬ１、及びスキャン出力端子ＳＯＬ１、ＳＯＲ１のみを示している。アレイブロック１１の入力制御回路内には、１２８個のＩＯレジスタと、１２８個のＩＯ端子が配置されている。
【００３１】
すなわち、アレイブロック１１の入出力制御回路の右端には、スキャン入力端子ＳＩＲ１が配置され、入出力制御回路の左端には、スキャン出力端子ＳＯＬ１が配置されている。そして、スキャン入力端子ＳＩＲ１とスキャン出力端子ＳＯＬ１との間には、直列に接続された６４個のＩＯレジスタが配列されている。前記６４個のＩＯレジスタは、それぞれ走査可能なラッチ手段を持っており、スキャンチェーンを形成している。また、６４個のＩＯレジスタには、それぞれＩＯ端子が接続されている。
【００３２】
前記入出力制御回路の左端には、スキャン入力端子ＳＩＬ１が配置され、入出力制御回路の右端には、スキャン出力端子ＳＯＲ１が配置されている。そして、スキャン入力端子ＳＩＬ１とスキャン出力端子ＳＯＲ１との間には、直列に接続された６４個のＩＯレジスタが配列されている。前記６４個のＩＯレジスタは、それぞれ走査可能なラッチ手段を持っており、スキャンチェーンを形成している。また、６４個のＩＯレジスタには、それぞれＩＯ端子が接続されている。
【００３３】
また、前記動作制御回路２１の右端には、スキャン出力端子ＳＯＬ１に接続されたスキャン入力端子ＳＩＲ２が配置され、動作制御回路２１の左端には、スキャン出力端子ＳＯＬ２が配置されている。そして、スキャン入力端子ＳＩＲ２とスキャン出力端子ＳＯＬ２との間には、複数のＩＯレジスタが接続されている。前記複数のＩＯレジスタは走査可能なラッチ手段を持っており、スキャンチェーンを形成している。また、ＩＯレジスタには、それぞれＩＯ端子が接続されている。
【００３４】
前記動作制御回路２１の左端には、スキャン入力端子ＳＩＬ２が配置され、動作制御回路２１の右端には、スキャン入力端子ＳＩＬ１に接続されたスキャン出力端子ＳＯＲ２が配置されている。そして、スキャン入力端子ＳＩＬ２とスキャン出力端子ＳＯＲ２との間には、複数のＩＯレジスタが接続されている。前記複数のＩＯレジスタは、走査可能なラッチ手段を持っており、スキャンチェーンを形成している。また、ＩＯレジスタには、それぞれＩＯ端子が接続されている。このＩＯ端子には、コントロール信号ＣＮＴが入出力される。外部から入力されるコントロール信号ＣＮＴには、クロック信号やコマンド信号などがある。動作制御回路２１は、外部から入力されるクロック信号に基づいて内部で使用するクロック信号を生成する。また、コマンド信号に基づいて各種の動作信号を生成し、これら動作信号をローデコーダ１３、カラムデコーダ１４、及び入出力制御回路１６に出力する。すなわち、動作制御回路２１は、外部から入力されるクロック信号、及びコマンド信号に応じて、ローデコーダ１３、カラムデコーダ１４、及び入出力制御回路１６の動作を制御する。
【００３５】
さらに、スキャン出力端子ＳＯＬ２とスキャン入力端子ＳＩＬ２との間には、配線２２が接続されている。
【００３６】
このような構成を持つメモリマクロでは、スキャン入力端子ＳＩＲ１に入力されたデータは直列に接続された複数のＩＯレジスタを順次走査され、スキャン出力端子ＳＯＬ１に転送され、さらにスキャン入力端子ＳＩＲ２に転送される。スキャン入力端子ＳＩＲ２に転送された前記データは、複数のＩＯレジスタを走査され、スキャン出力端子ＳＯＬ２に転送される。
【００３７】
前記スキャン出力端子ＳＯＬ２に転送された前記データは、配線２２を通ってスキャン入力端子ＳＩＬ２に入力される。スキャン入力端子ＳＩＬ２に入力されたデータは、複数のＩＯレジスタを走査され、スキャン出力端子ＳＯＲ２に転送され、さらにスキャン入力端子ＳＩＬ１に転送される。スキャン入力端子ＳＩＬ１に入力された前記データは、直列に接続された複数のＩＯレジスタを順次走査され、スキャン出力端子ＳＯＲ１に転送される。
【００３８】
前述したように、前記アレイブロック１１及び動作制御回路２１の左端には、スキャン入力端子とスキャン出力端子が１つずつ設けられ、さらにこれらの右端にもスキャン入力端子とスキャン出力端子が１つずつ設けられる。そして、アレイブロック１１と動作制御回路２１を並べて配置したとき、スキャン出力端子ＳＯＬ１とスキャン入力端子ＳＩＲ２とが接続され、またスキャン出力端子ＳＯＲ２とスキャン入力端子ＳＩＬ１とが接続されるようになっている。これにより、アレイブロック１１と動作制御回路２１によりメモリマクロを構成した場合にも、左端にスキャン入力端子とスキャン出力端子が１つずつ設けられ、右端にもスキャン入力端子とスキャン出力端子が１つずつ設けられる。さらに、メモリマクロの左端のスキャン出力端子ＳＯＬ２とスキャン入力端子ＳＩＬ２とが配線２２により接続されている。
【００３９】
このような構成により、メモリマクロの右端のスキャン入力端子ＳＩＲ１にスキャンするデータＳＩを入力し、スキャン出力端子ＳＯＲ１からスキャンされたデータＳＯを出力することにより、メモリマクロとしてのスキャン機能を実現できる。
【００４０】
ここで、前記配線２２は、動作制御回路２１の左端の互いに近傍に配置されたスキャン出力端子ＳＯＬ２とスキャン入力端子ＳＩＬ２との間を接続するものであるため、長い配線になることはない。したがって、スキャン入力端子ＳＩＲ１に入力されたデータＳＩを、スキャン出力端子ＳＯＲ１へスキャンしてデータＳＯを出力した場合でも、スキャン動作のパフォーマンス劣化を抑制することができる。
【００４１】
次に、前記アレイブロック１１及び動作制御回路２１を有するメモリマクロに、アレイブロック１１Ｂを設けたメモリマクロの構成について説明する。動作制御回路２１を２つのアレイブロック１１、１１Ｂで共通に利用する場合、通常、動作制御回路２１を中心にして２つのアレイブロック１１とアレイブロック１１Ｂが鏡反転されたように配置される。
【００４２】
図３は、前記第１の実施の形態の第２変形例のメモリマクロの構成を示す図である。
【００４３】
図３に示すように、メモリマクロは、前記アレイブロック１１、動作制御回路２１、及びアレイブロック１１Ｂを有している。アレイブロック１１Ｂは、動作制御回路２１を対称軸としてアレイブロック１１を鏡反転したものである。アレイブロック１１及び動作制御回路２１の構成は、図２に示した構成と同様である。
【００４４】
前記アレイブロック１１Ｂ内の構成は、図１に示した構成を鏡反転したものであり、ここでは入力制御回路内のスキャン入力端子ＳＩＲ１Ｂ、ＳＩＬ１Ｂ、及びスキャン出力端子ＳＯＬ１Ｂ、ＳＯＲ１Ｂのみを示している。アレイブロック１１Ｂの入力制御回路内には、１２８個のＩＯレジスタと、１２８個のＩＯ端子が配置されている。
【００４５】
前記アレイブロック１１Ｂの入出力制御回路の右端には、スキャン出力端子ＳＯＬ２に接続されたスキャン入力端子ＳＩＲ１Ｂが配置され、入出力制御回路の左端には、スキャン出力端子ＳＯＬ１Ｂが配置されている。そして、スキャン入力端子ＳＩＲ１Ｂとスキャン出力端子ＳＯＬ１Ｂとの間には、直列に接続された６４個のＩＯレジスタが配列されている。前記６４個のＩＯレジスタは、それぞれ走査可能なラッチ手段を持っており、直列に接続されてスキャンチェーンを形成している。また、６４個のＩＯレジスタには、それぞれＩＯ端子が接続されている。
【００４６】
前記アレイブロック１１Ｂの左端には、スキャン入力端子ＳＩＬ１Ｂが配置され、アレイブロック１１Ｂの右端には、スキャン入力端子ＳＩＬ２に接続されたスキャン出力端子ＳＯＲ１Ｂが配置されている。そして、スキャン入力端子ＳＩＬ１Ｂとスキャン出力端子ＳＯＲ１Ｂとの間には、直列に接続された６４個のＩＯレジスタが配列されている。前記６４個のＩＯレジスタは、それぞれ走査可能なラッチ手段を持っており、直列に接続されてスキャンチェーンを形成している。また、６４個のＩＯレジスタには、それぞれＩＯ端子が接続されている。
【００４７】
さらに、スキャン出力端子ＳＯＬ１Ｂとスキャン入力端子ＳＩＬ１Ｂとの間には、配線２４が接続されている。
【００４８】
このような構成を持つメモリマクロでは、スキャン入力端子ＳＩＲ１に入力されたデータＳＩは直列に接続された複数のＩＯレジスタを順次走査され、スキャン出力端子ＳＯＬ１に転送され、さらにスキャン入力端子ＳＩＲ２に転送される。スキャン入力端子ＳＩＲ２に転送された前記データＳＩは、複数のＩＯレジスタを走査され、スキャン出力端子ＳＯＬ２に転送され、さらにスキャン入力端子ＳＩＲ１Ｂに転送される。さらに、前記データＳＩは、直列に接続された複数のＩＯレジスタを順次走査され、スキャン出力端子ＳＯＬ１Ｂに転送される。
【００４９】
前記スキャン出力端子ＳＯＬ１Ｂに転送された前記データＳＩは、配線２４を通ってスキャン入力端子ＳＩＬ１Ｂに入力される。さらに、前記データＳＩは、直列に接続された複数のＩＯレジスタを順次走査され、スキャン出力端子ＳＯＲ１Ｂに転送され、さらにスキャン入力端子ＳＩＬ２に転送される。スキャン入力端子ＳＩＬ２に入力された前記データＳＩは、複数のＩＯレジスタを走査され、スキャン出力端子ＳＯＲ２に転送され、さらにスキャン入力端子ＳＩＬ１に転送される。さらに、前記データＳＩは、直列に接続された複数のＩＯレジスタを順次走査され、スキャン出力端子ＳＯＲ１に転送され、データＳＯとして出力される。
【００５０】
前述したように、アレイブロック１１、動作制御回路２１、及びアレイブロック１１Ｂのそれぞれの左端にはスキャン入力端子とスキャン出力端子が１つずつ設けられ、さらにこれらの右端にもスキャン入力端子とスキャン出力端子が１つずつ設けられる。そして、アレイブロック１１、動作制御回路２１、及びアレイブロック１１Ｂを並べて配置したとき、スキャン出力端子ＳＯＬ１とスキャン入力端子ＳＩＲ２とが接続され、さらにスキャン出力端子ＳＯＬ２とスキャン入力端子ＳＩＲ１Ｂ、スキャン出力端子ＳＯＲ１Ｂとスキャン入力端子ＳＩＬ２、及びスキャン出力端子ＳＯＲ２とスキャン入力端子ＳＩＬ１とがそれぞれ接続されるようになっている。これにより、アレイブロック１１、動作制御回路２１、及びアレイブロック１１Ｂによってメモリマクロを構成した場合にも、左端にスキャン入力端子とスキャン出力端子を１つずつ設けることができ、右端にもスキャン入力端子とスキャン出力端子を１つずつ設けることができる。さらに、メモリマクロの左端のスキャン出力端子ＳＯＬ１Ｂとスキャン入力端子ＳＩＬ１Ｂとが配線２４により接続されている。
【００５１】
このような構成により、メモリマクロの右端のスキャン入力端子ＳＩＲ１にスキャンするデータＳＩを入力し、スキャン出力端子ＳＯＲ１からスキャンされたデータＳＯを出力することにより、メモリマクロとしてのスキャン機能を実現できる。
【００５２】
ここで、前記配線２４は、アレイブロック１１Ｂの左端の互いに近傍に配置されたスキャン出力端子ＳＯＬ１Ｂとスキャン入力端子ＳＩＬ１Ｂとの間を接続するものであるため、長い配線になることはない。したがって、スキャン入力端子ＳＩＲ１に入力されたデータＳＩを、スキャン出力端子ＳＯＲ１へスキャンしてデータＳＯを出力した場合でも、スキャン動作のパフォーマンス劣化を抑制することができる。
【００５３】
次に、図２に示したアレイブロック１１及び動作制御回路２１から構成されたメモリマクロを、並列に並べて配置した場合の構成について説明する。
【００５４】
図４は、前記第１の実施の形態の第３変形例のメモリマクロの構成を示す図である。
【００５５】
図４に示すように、前記アレイブロック１１及び動作制御回路２１を有するメモリマクロ３１と、このメモリマクロ３１を鏡反転したメモリマクロ３１Ｂが配置されている。
【００５６】
前記メモリマクロ３１の構成は、図２に示した構成と同様であり、ここではアレイブロック１１の入力制御回路内のスキャン入力端子ＳＩＲ１、ＳＩＬ１、及びスキャン出力端子ＳＯＬ１、ＳＯＲ１のみを示している。さらに、動作制御回路２１内には、スキャン入力端子ＳＩＲ２、ＳＩＬ２、及びスキャン出力端子ＳＯＬ２、ＳＯＲ２を示している。
【００５７】
また、メモリマクロ３１Ｂの構成は、図２に示した構成を鏡反転したものと同様であり、ここではアレイブロック１１の入力制御回路内のスキャン入力端子ＳＩＲ１Ｂ、ＳＩＬ１Ｂ、及びスキャン出力端子ＳＯＬ１Ｂ、ＳＯＲ１Ｂのみを示している。さらに、動作制御回路２１内には、スキャン入力端子ＳＩＲ２Ｂ、ＳＩＬ２Ｂ、及びスキャン出力端子ＳＯＬ２Ｂ、ＳＯＲ２Ｂを示している。
【００５８】
ここで、前記メモリマクロ３１の左端のスキャン出力端子ＳＯＬ２とメモリマクロ３１Ｂの右端のスキャン入力端子ＳＩＲ２Ｂとの間を配線３２により接続し、メモリマクロ３１Ｂの右端のスキャン出力端子ＳＯＲ２Ｂとメモリマクロ３１の左端のスキャン入力端子ＳＩＬ２との間を配線３３により接続する。さらに、メモリマクロ３１Ｂの左端のスキャン出力端子ＳＯＬ１Ｂとスキャン入力端子ＳＩＬ１Ｂとの間を配線３４により接続する。
【００５９】
そして、メモリマクロ３１の右端のスキャン入力端子ＳＩＲ１をスキャンする入力データＳＩの入力端子とし、メモリマクロ３１の右端のスキャン出力端子ＳＯＲ１をスキャンされた出力データＳＯの出力端子とする。
【００６０】
このような構成により、複数のメモリマクロが並列に配置された場合でも、それぞれ隣接するスキャン出力端子とスキャン入力端子を互いに接続することにより、容易にスキャンチェーンを構成することができる。また、このときスキャンチェーンが長くなることはなく、スキャン動作のパフォーマンス劣化を抑制することができる。
【００６１】
また、メモリマクロ３１、３１Ｂの右端及び左端に配置されたスキャン入出力端子ＳＩＲ１／ＳＯＬ２、ＳＯＲ１／ＳＩＬ２、ＳＩＲ２Ｂ／ＳＯＬ１Ｂ、ＳＯＲ２Ｂ／ＳＩＬ１Ｂを自動配線ツールに登録することにより、スキャンを実現するための前記配線３２、３３、３４を、自動配線機能により形成することもできる。このような自動配線機能を利用すれば、並べたメモリマクロ間内にロジックレジスタがある場合にも対応でき、より自由度の高い配線形成が可能となる
以上説明したようにこの第１の実施の形態及び変形例によれば、外部に長い配線を形成することによるスキャン動作のパフォーマンス劣化を低減でき、スキャン動作の自動化における障害を取り除くことができる。
【００６２】
［第２の実施の形態］
次に、この発明の第２の実施の形態の半導体集積回路を構成するアレイブロックについて説明する。この第２の実施の形態において前記第１の実施の形態と異なる点は、第２のスキャン入力端子ＳＩＬ１と第２のスキャン出力端子ＳＯＲ１との間に、複数のバッファが配列されている点であり、その他は前記第１の実施の形態と同様である。
【００６３】
図５は、第２の実施の形態のアレイブロックの構成を示す図である。
【００６４】
図５に示すように、アレイブロック４１内には、メモリセルアレイ１２、ローデコーダ１３、カラムデコーダ１４、センスアンプ１５、及び入出力制御回路４２が形成されている。
【００６５】
前記入出力制御回路４２には、ＩＯレジスタ４２Ａ、ＩＯ端子４２Ｂ、第１、第２のスキャン入力端子ＳＩＲ１、ＳＩＬ１、及び第１、第２のスキャン出力端子ＳＯＬ１、ＳＯＲ１が配置されている。
【００６６】
前記入出力制御回路４２の右端には、第１のスキャン入力端子ＳＩＲ１が配置され、入出力制御回路４２の左端には、第１のスキャン出力端子ＳＯＬ１が配置されている。そして、第１のスキャン入力端子ＳＩＲ１と第１のスキャン出力端子ＳＯＬ１との間には、直列に接続された複数のＩＯレジスタ４２Ａが配列されている。前記複数のＩＯレジスタ４２Ａは、それぞれ走査可能なラッチ手段を持っており、直列に接続されてスキャンチェーンを形成している。また、複数のＩＯレジスタ４２Ａには、それぞれＩＯ端子４２Ｂが接続されている。
【００６７】
また、前記入出力制御回路４２の左端には、第２のスキャン入力端子ＳＩＬ１が配置され、入出力制御回路４２の右端には、第２のスキャン出力端子ＳＯＲ１が配置されている。そして、第２のスキャン入力端子ＳＩＬ１と第２のスキャン出力端子ＳＯＲ１との間には、直列に接続された複数のバッファ４２Ｃが配列されている。なお、第２のスキャン入力端子ＳＩＬ１は第１のスキャン出力端子ＳＯＬ１の近傍に配置され、第２のスキャン出力端子ＳＯＲ１は第１のスキャン入力端子ＳＩＲ１の近傍に配置される。
【００６８】
さらに、第１のスキャン出力端子ＳＯＬ１と第２のスキャン入力端子ＳＩＬ１との間には配線４３が接続されている。
【００６９】
このような構成を持つアレイブロック４１では、スキャン入力端子ＳＩＲ１に入力されたデータは直列に接続された複数のＩＯレジスタ４２Ａを順次走査され、スキャン出力端子ＳＯＬ１に転送される。スキャン出力端子ＳＯＬ１に転送された前記データは、配線４３を通ってスキャン入力端子ＳＩＬ１に入力される。さらに、スキャン入力端子ＳＩＬ１に入力された前記データは、直列に接続されたバッファ４２Ｃを通って、スキャン出力端子ＳＯＲ１に転送される。
【００７０】
前述したように、アレイブロック４１の右端にスキャン入力端子ＳＩＲ１を配置し、この出力となるスキャン出力端子ＳＯＬ１をアレイブロック４１の左端に配置する。さらに、アレイブロック４１の左端にスキャン入力端子ＳＩＬ１を配置し、この出力となるスキャン出力端子ＳＯＲ１をアレイブロック４１の右端に配置する。そして、アレイブロック４１の左端に配置されたスキャン出力端子ＳＯＬ１とスキャン入力端子ＳＩＬ１とを配線４３により接続する。これにより、スキャン入力端子ＳＩＲ１とスキャン出力端子ＳＯＲ１との間にスキャンチェーンを形成することができ、スキャン入力端子ＳＩＲ１に入力されたデータを、スキャン出力端子ＳＯＲ１へスキャンすることができる。
【００７１】
ここで、前記配線４３は、互いに近傍に配置されたスキャン出力端子ＳＯＬ１とスキャン入力端子ＳＩＬ１との間を接続するものであるため、長い配線になることはない。したがって、スキャン入力端子ＳＩＲ１に入力されたデータをスキャン出力端子ＳＯＲ１へスキャンした場合でも、スキャン動作のパフォーマンス劣化を抑制することができる。
【００７２】
以上説明したようにこの第２の実施の形態によれば、外部に長い配線を形成することによるスキャン動作のパフォーマンス劣化を低減でき、スキャン動作の自動化における障害を取り除くことができる。
【００７３】
［第３の実施の形態］
次に、この発明の第３の実施の形態の半導体集積回路を構成するアレイブロックについて説明する。この第３の実施の形態において前記第１の実施の形態と異なる点は、アレイブロックの一端側近傍にスキャン入力端子とスキャン出力端子を設け、他端側近傍にはスキャン入力端子とスキャン出力端子を設けず、ＩＯレジスタ間を配線にて接続した点であり、その他は前記第１の実施の形態と同様である。
【００７４】
図６は、第３の実施の形態のアレイブロックの構成を示す図である。
【００７５】
図６に示すように、アレイブロック５１内には、メモリセルアレイ１２、ローデコーダ１３、カラムデコーダ１４、センスアンプ１５、及び入出力制御回路５２が形成されている。
【００７６】
前記入出力制御回路５２には、ＩＯレジスタ５２Ａ、ＩＯレジスタ５２Ｂ、ＩＯ端子５２Ｃ、スキャン入力端子ＳＩＬ１、及びスキャン出力端子ＳＯＬ１が配置されている。
【００７７】
前記入出力制御回路５２の左端には、スキャン入力端子ＳＩＬ１とスキャン出力端子ＳＯＬ１が配置されている。スキャン入力端子ＳＩＬ１には、直列に接続された複数のＩＯレジスタ５２Ａの一端が接続されている。これら複数のＩＯレジスタ５２Ａは、入出力制御回路５２の左端から右端に向かって配列されている。
【００７８】
また、複数のＩＯレジスタ５２Ｂは、直列に接続され、入出力制御回路５２の右端から左端に向かって配列されている。複数のＩＯレジスタ５２Ａの他端と複数のＩＯレジスタ５２Ｂの一端との間は接続され、複数のＩＯレジスタ５２Ｂの他端はスキャン出力端子ＳＯＬ１に接続されている。
【００７９】
前記複数のＩＯレジスタ５２Ａ、５２Ｂは、それぞれ走査可能なラッチ手段を持っており、スキャンチェーンを形成している。また、複数のＩＯレジスタ５２Ａ、５２Ｂには、それぞれＩＯ端子５２Ｃが接続されている。なお、スキャン入力端子ＳＩＬ１はスキャン出力端子ＳＯＬ１の近傍に配置される。
【００８０】
このような構成を持つアレイブロック５１では、スキャン入力端子ＳＩＬ１に入力されたデータは直列に接続された複数のＩＯレジスタ５２Ａ、５２Ｂを順次走査され、スキャン出力端子ＳＯＬ１に転送される。
【００８１】
前述したように、アレイブロック５１の左端にスキャン入力端子ＳＩＬ１を配置し、この出力となるスキャン出力端子ＳＯＬ１を同様にアレイブロック５１の左端に配置する。そして、スキャン入力端子ＳＩＬ１とスキャン出力端子ＳＯＬ１との間に、複数のＩＯレジスタ５２Ａ及び５２Ｂを直列に接続する。これにより、スキャン入力端子ＳＩＬ１とスキャン出力端子ＳＯＬ１との間にスキャンチェーンを形成することができ、スキャン入力端子ＳＩＬ１に入力されたデータを、スキャン出力端子ＳＯＬ１へスキャンすることができる。
【００８２】
このように、アレイブロックの片端近傍にスキャン入力端子とスキャン出力端子をそれぞれ１つずつ設けることにより、様々な構成のメモリマクロを作成した場合でも、外部に長い配線を形成することによって生じるスキャン動作のパフォーマンス劣化を抑制することができ、さらにメモリマクロの外部に設ける配線を無くして、スキャン動作の自動化に対する障害を取り除くことができる。
【００８３】
次に、前記アレイブロック５１に動作制御回路を設けたメモリマクロの構成について説明する。
【００８４】
図７は、前記第３の実施の形態の第１変形例のメモリマクロの構成を示す図である。
【００８５】
図７に示すように、メモリマクロは、図６に示した前記アレイブロック５１、及び動作制御回路６１を有している。アレイブロック５１内の構成は、図６に示した構成と同様であり、ここでは入力制御回路５２内のスキャン入力端子ＳＩＬ１、及びスキャン出力端子ＳＯＬ１のみを示している。アレイブロック５１の入力制御回路内には、１２８個のＩＯレジスタと、１２８個のＩＯ端子が配置されている。
【００８６】
すなわち、アレイブロック５１の入出力制御回路の左端には、スキャン入力端子ＳＩＬ１とスキャン出力端子ＳＯＬ１が配置されている。そして、スキャン入力端子ＳＩＬ１とスキャン出力端子ＳＯＬ１との間には、図６に示したように直列に接続された１２８個のＩＯレジスタが配列されている。前記１２８個のＩＯレジスタは、それぞれ走査可能なラッチ手段を持っており、スキャンチェーンを形成している。また、１２８個のＩＯレジスタには、それぞれＩＯ端子が接続されている。
【００８７】
また、前記動作制御回路６１の下端には、スキャン入力端子ＳＩＤ２が配置され、動作制御回路６１の右端には、前記スキャン入力端子ＳＩＤ２に接続されると共に、スキャン入力端子ＳＩＬ１に接続されたスキャン出力端子ＳＯＲ２が配置されている。
【００８８】
前記動作制御回路６１の右端には、スキャン出力端子ＳＯＬ１に接続されたスキャン入力端子ＳＩＲ２が配置され、動作制御回路６１の左端には、スキャン出力端子ＳＯＬ２が配置されている。そして、スキャン入力端子ＳＩＲ２とスキャン出力端子ＳＯＬ２との間には、複数のＩＯレジスタが接続されている。前記複数のＩＯレジスタは走査可能なラッチ手段を持っており、スキャンチェーンを形成している。また、ＩＯレジスタには、図示しないＩＯ端子が接続されている。このＩＯ端子はコントロール信号ＣＮＴを入出力する。
【００８９】
前記動作制御回路６１の左端には、スキャン入力端子ＳＩＬ２が配置され、動作制御回路６１の下端には、前記スキャン入力端子ＳＩＬ２に接続されたスキャン出力端子ＳＯＤ２が配置されている。スキャン出力端子ＳＯＤ２は、スキャン入力端子ＳＩＤ２の近傍に配置される。
【００９０】
なお、下端のスキャン入力端子ＳＩＤ２は、右端のスキャン出力端子ＳＯＲ２を下端に引き出すためのものであり、スキャン入力端子ＳＩＤ２とスキャン出力端子ＳＯＲ２は配線で接続されているだけである。同様に、下端のスキャン出力端子ＳＯＤ２は、左端のスキャン入力端子ＳＩＬ２を下端に引き出すためのものであり、スキャン出力端子ＳＯＤ２とスキャン入力端子ＳＩＬ２は配線で接続されているだけである。このため、動作制御回路６１内のＩＯレジスタは全てスキャン入力端子ＳＩＲ２とスキャン出力端子ＳＯＬ２との間に配置されている。
【００９１】
このような構成を持つメモリマクロでは、スキャン入力端子ＳＩＤ２に入力されたデータＳＩは、スキャン出力端子ＳＯＲ２に転送され、さらにスキャン入力端子ＳＩＬ１に転送される。スキャン入力端子ＳＩＬ１に入力された前記データＳＩは直列に接続された複数のＩＯレジスタを順次走査され、スキャン出力端子ＳＯＬ１に転送され、さらにスキャン入力端子ＳＩＲ２に転送される。さらに、前記データＳＩは、複数のＩＯレジスタを走査され、スキャン出力端子ＳＯＬ２に転送される。
【００９２】
前記メモリマクロでは、アレイブロック５１と動作制御回路６１を並べて配置したとき、スキャン出力端子ＳＯＲ２とスキャン入力端子ＳＩＬ１とが接続され、またスキャン出力端子ＳＯＬ１とスキャン入力端子ＳＩＲ２とが接続されるようになっている。
【００９３】
このような構成により、メモリマクロの下端のスキャン入力端子ＳＩＤ２にスキャンするデータＳＩを入力し、スキャン出力端子ＳＯＬ２からスキャンされたデータＳＯを出力することにより、メモリマクロとしてのスキャン機能を実現できる。このとき、このメモリマクロは１つのスキャンチェーンとして機能するので、外部に配線を接続する必要がない。これにより、設計上の制限が少なくなり、このメモリマクロの取り扱いが容易になると共に、スキャン動作のパフォーマンス劣化を抑制することができ、さらにメモリマクロの外部に設ける配線を無くして、スキャン動作の自動化に対する障害を取り除くことができる。
【００９４】
次に、前記アレイブロック５１及び動作制御回路６１を有するメモリマクロに、アレイブロック５１Ｂを設けたメモリマクロの構成について説明する。動作制御回路６１を２つのアレイブロック５１、５１Ｂで共通に利用する場合、通常、動作制御回路６１を中心にして２つのアレイブロック５１、５１Ｂが鏡反転されたように配置される。
【００９５】
図８は、前記第３の実施の形態の第２変形例のメモリマクロの構成を示す図である。
【００９６】
図８に示すように、メモリマクロは、前記アレイブロック５１、動作制御回路６１、及びアレイブロック５１Ｂを有している。アレイブロック５１Ｂは、動作制御回路６１を対称軸としてアレイブロック５１を鏡反転したものである。アレイブロック５１及び動作制御回路６１の構成は、図７に示した構成と同様である。
【００９７】
前記アレイブロック５１Ｂ内の構成は、図６に示した構成を鏡反転したものであり、ここでは入力制御回路内のスキャン入力端子ＳＩＲ１Ｂ、及びスキャン出力端子ＳＯＲ１Ｂのみを示している。アレイブロック５１Ｂの入力制御回路内には、１２８個のＩＯレジスタと、１２８個のＩＯ端子が配置されている。
【００９８】
前記アレイブロック５１Ｂの入出力制御回路の右端には、スキャン出力端子ＳＯＬ２に接続されたスキャン入力端子ＳＩＲ１Ｂが配置され、同様に右端にはスキャン入力端子ＳＩＬ２に接続されたスキャン出力端子ＳＯＲ１Ｂが配置されている。スキャン入力端子ＳＩＲ１Ｂとスキャン出力端子ＳＯＲ１Ｂとの間には、図６に示したように直列に接続された１２８個のＩＯレジスタが配列されている。前記１２８個のＩＯレジスタは、それぞれ走査可能なラッチ手段を持っており、スキャンチェーンを形成している。また、１２８個のＩＯレジスタには、それぞれＩＯ端子が接続されている。
【００９９】
このような構成を持つメモリマクロでは、スキャン入力端子ＳＩＤ２に入力されたデータＳＩは、スキャン出力端子ＳＯＲ２に転送され、さらにスキャン入力端子ＳＩＬ１に転送される。スキャン入力端子ＳＩＬ１に入力された前記データＳＩは直列に接続された複数のＩＯレジスタを順次走査され、スキャン出力端子ＳＯＬ１に転送され、さらにスキャン入力端子ＳＩＲ２に転送される。さらに、前記データＳＩは、複数のＩＯレジスタを走査され、スキャン出力端子ＳＯＬ２に転送され、さらにスキャン入力端子ＳＩＲ１Ｂに転送される。
【０１００】
前記スキャン入力端子ＳＩＲ１Ｂに転送された前記データＳＩは、直列に接続された複数のＩＯレジスタを順次走査され、スキャン出力端子ＳＯＲ１Ｂに転送され、さらにスキャン入力端子ＳＩＬ２に転送される。さらに、前記スキャン入力端子ＳＩＬ２に転送された前記データＳＩは、スキャン出力端子ＳＯＤ２に転送される。
【０１０１】
前記メモリマクロでは、アレイブロック５１、動作制御回路６１、及びアレイブロック５１Ｂを並べて配置したとき、スキャン出力端子ＳＯＲ２とスキャン入力端子ＳＩＬ１が接続され、さらにスキャン出力端子ＳＯＬ１とスキャン入力端子ＳＩＲ２、スキャン出力端子ＳＯＬ２とスキャン入力端子ＳＩＲ１Ｂ、及びスキャン出力端子ＳＯＲ１Ｂとスキャン入力端子ＳＩＬ２とがそれぞれ接続されるようになっている。
【０１０２】
このような構成により、メモリマクロの下端のスキャン入力端子ＳＩＤ２にスキャンするデータＳＩを入力し、メモリマクロの下端のスキャン出力端子ＳＯＤ２からスキャンされたデータＳＯを出力することにより、メモリマクロとしてのスキャン機能を実現できる。このとき、このメモリマクロは１つのスキャンチェーンとして機能するので、外部に配線を接続する必要がない。これにより、設計上の制限が少なくなり、このメモリマクロの取り扱いが容易になると共に、スキャン動作のパフォーマンス劣化を抑制することができ、メモリマクロの外部に設ける配線を無くして、スキャン動作の自動化に対する障害を取り除くことができる。
【０１０３】
以上説明したようにこの第３の実施の形態及び変形例によれば、外部に長い配線を形成することによるスキャン動作のパフォーマンス劣化を低減でき、スキャン動作の自動化における障害を取り除くことができる。
【０１０４】
［第４の実施の形態］
次に、この発明の第４の実施の形態の半導体集積回路を構成するメモリマクロについて説明する。この第４の実施の形態は、アレイブロック内のＩＯレジスタ間でホールド違反によるデータのスルーをなくすために、前段のＩＯレジスタに供給されるクロック信号を遅延させるバッファを設けたものであり、その他は第２の実施の形態のアレイブロックの構成と同様である。さらに、この第４の実施の形態では、動作制御回路を中心にして前述したアレイブロックが鏡反転されたように配置されている。
【０１０５】
図９は、第４の実施の形態のメモリマクロの構成を示す図である。
【０１０６】
図９に示すように、メモリマクロ７１は、アレイブロック７２、動作制御回路２１、及びアレイブロック７２Ｂを有している。アレイブロック７２Ｂは、動作制御回路２１を対称軸としてアレイブロック７２を鏡反転したものである。
【０１０７】
前記アレイブロック７２内の構成は、図１に示したアレイブロック１１において、入力制御回路１６を除き、メモリセルアレイ１２、ローデコーダ１３、カラムデコーダ１４、センスアンプ１５を有する構成は同様であるため、ここでは入力制御回路内の構成のみを示す。
【０１０８】
アレイブロック７２の入出力制御回路は、ＩＯ端子がそれぞれ接続された複数のＩＯレジスタ７３、複数のバッファ７５、７６、第１のスキャン入力端子ＳＩＲ３、第１のスキャン出力端子ＳＯＬ３、第２のスキャン入力端子ＳＩＬ３、及び第２のスキャン出力端子ＳＯＲ３を有している。
【０１０９】
前記アレイブロック７２の右端には、第１のスキャン入力端子ＳＩＲ３が配置され、アレイブロック７２の左端には、第１のスキャン出力端子ＳＯＬ３が配置されている。そして、第１のスキャン入力端子ＳＩＲ３と第１のスキャン出力端子ＳＯＬ３との間には、直列に接続された複数（例えば１２８個）のＩＯレジスタ７３が配列されている。前記複数のＩＯレジスタ７３は、それぞれ走査可能なラッチ手段を持っており、直列に接続されてスキャンチェーンを形成している。
【０１１０】
さらに、出力段側のＩＯレジスタ７３にはクロック信号SSCLKが入力され、入力段側のＩＯレジスタ７３にはバッファ７５を通ったクロック信号SSCLKが入力されている。クロック信号SSCLKは、動作制御回路２１から供給される。また、複数のＩＯレジスタ７３には、複数（例えば１２８個）のＩＯ端子が接続されている。
【０１１１】
また、前記アレイブロック７２の左端には、第２のスキャン入力端子ＳＩＬ３が配置され、アレイブロック７２の右端には、第２のスキャン出力端子ＳＯＲ３が配置されている。そして、第２のスキャン入力端子ＳＩＬ３と第２のスキャン出力端子ＳＯＲ３との間には、直列に接続された複数のバッファ７６が配列されている。なお、第２のスキャン入力端子ＳＩＬ３は第１のスキャン出力端子ＳＯＬ３の近傍に配置され、第２のスキャン出力端子ＳＯＲ３は第１のスキャン入力端子ＳＩＲ３の近傍に配置される。
【０１１２】
前記アレイブロック７２Ｂの構成は、前記アレイブロック７２を鏡反転したものであり、スキャン入力端子ＳＩＬ３Ｂとスキャン出力端子ＳＯＲ３Ｂとの間には、直列に接続された複数（例えば１２８個）のＩＯレジスタ７３Ｂが配列されている。前記複数のＩＯレジスタ７３Ｂは、それぞれ走査可能なラッチ手段を持っており、直列に接続されてスキャンチェーンを形成している。
【０１１３】
さらに、出力段側のＩＯレジスタ７３Ｂにはクロック信号SSCLKが入力され、入力段側のＩＯレジスタ７３Ｂにはバッファ７５Ｂを通ったクロック信号SSCLKが入力されている。クロック信号SSCLKは、動作制御回路２１から供給される。また、複数のＩＯレジスタ７３Ｂには、複数（１２８個）のＩＯ端子が接続されている。
【０１１４】
また、スキャン入力端子ＳＩＲ３Ｂとスキャン出力端子ＳＯＬ３Ｂとの間には、直列に接続された複数のバッファ７６Ｂが配列されている。なお、スキャン入力端子ＳＩＲ３Ｂはスキャン出力端子ＳＯＲ３Ｂの近傍に配置され、スキャン出力端子ＳＯＬ３Ｂはスキャン入力端子ＳＩＬ３Ｂの近傍に配置される。さらに、スキャン出力端子ＳＯＬ３Ｂとスキャン入力端子ＳＩＬ３Ｂとの間には、配線７７が接続されている。
【０１１５】
また、動作制御回路２１の構成は、図２に示した構成と同様である。
【０１１６】
前記メモリマクロ７１では、スキャン入力端子ＳＩＬ３からスキャン出力端子ＳＯＲ３へのパス、及びスキャン入力端子ＳＩＲ３Ｂからスキャン出力端子ＳＯＬ３Ｂへのパスには、ＩＯレジスタはなく、バッファ７６及びバッファ７６Ｂだけが存在している。さらに、スキャン入力端子ＳＩＲ３からスキャン出力端子ＳＯＬ３へのパス、及びスキャン入力端子ＳＩＬ３Ｂからスキャン出力端子ＳＯＲ３Ｂへのパスには、ＩＯレジスタ７３、及びＩＯレジスタ７３Ｂが存在する。
【０１１７】
前記クロック信号SSCLKは、スキャンシフト用のクロック信号であり、このクロック信号に応答してＩＯレジスタ７３、７３Ｂは記憶していたデータを後段のＩＯレジスタに出力する。
【０１１８】
このような構成を持つメモリマクロ７１では、スキャン入力端子ＳＩＲ３に入力されたデータＳＩは、直列に接続された複数のＩＯレジスタ７３を順次走査され、スキャン出力端子ＳＯＬ３に転送され、さらにスキャン入力端子ＳＩＲ２に転送される。このとき、後段（データを受け取る側）のＩＯレジスタ７３には遅延させていないクロック信号SSCLKを供給し、前段（データを転送する側）のＩＯレジスタ７３にはバッファ７５により遅延させたクロック信号SSCLKを供給する。これにより、後段のＩＯレジスタ７３に記憶されていたデータを、前段のＩＯレジスタ７３に記憶されていたデータより先に転送させる。こうしてホールド違反によるデータのスルーを防止する。
【０１１９】
前記スキャン入力端子ＳＩＲ２に転送された前記データＳＩは、複数のＩＯレジスタを走査され、スキャン出力端子ＳＯＬ２に転送され、さらにスキャン入力端子ＳＩＲ３Ｂに転送される。スキャン入力端子ＳＩＲ３Ｂに転送された前記データＳＩは直列に接続された複数のバッファ７６Ｂを通って、スキャン出力端子ＳＯＬ３Ｂに転送される。
【０１２０】
前記スキャン出力端子ＳＯＬ３Ｂに転送された前記データＳＩは、配線７７を通ってスキャン入力端子ＳＩＬ３Ｂに入力される。スキャン入力端子ＳＩＬ３Ｂに入力された前記データＳＩは、直列に接続された複数のＩＯレジスタ７３Ｂを順次走査され、スキャン出力端子ＳＯＲ３Ｂに転送され、さらにスキャン入力端子ＳＩＬ２に転送される。このとき、前述と同様に、後段のＩＯレジスタ７３Ｂには遅延させていないクロック信号SSCLKを供給し、前段のＩＯレジスタ７３Ｂにはバッファ７５Ｂにより遅延させたクロック信号SSCLKを供給する。これにより、後段のＩＯレジスタ７３Ｂに記憶されていたデータを、前段のＩＯレジスタ７３Ｂに記憶されていたデータより先に転送させる。こうしてホールド違反によるデータのスルーを防止する。
【０１２１】
前記スキャン入力端子ＳＩＬ２に入力された前記データＳＩは、複数のＩＯレジスタを走査され、スキャン出力端子ＳＯＲ２に転送され、さらにスキャン入力端子ＳＩＬ３に転送される。さらに、前記データＳＩは、直列に接続された複数のバッファ７６を通って、スキャン出力端子ＳＯＲ３に転送される。このようにして、メモリマクロ７１内をスキャンされたデータＳＯがスキャン出力端子ＳＯＲ３から出力される。
【０１２２】
前述したようにこの第４の実施の形態では、データシフト方向の後段のＩＯレジスタが前段のＩＯレジスタより先にクロック信号を受け取るため、後段のＩＯレジスタは、データを転送した後に、前段のＩＯレジスタから転送されるデータを受け取ることができる。これにより、ホールド違反によるデータのスルーをなくすことができる。この実施の形態は、ＩＯレジスタ群に対するシフトクロックの設計を容易にした例である。
【０１２３】
また、前述した各実施の形態では左端及び右端にスキャン入力端子とスキャン出力端子を設けたが、図１０に示すように、左端にスキャン入力端子ＳＩＬとスキャン出力端子ＳＯＬを設け、右端にスキャン入力端子ＳＩＲとスキャン出力端子ＳＯＲを、上端にスキャン入力端子ＳＩＵとスキャン出力端子ＳＯＵを、及び下端にスキャン入力端子ＳＩＤとスキャン出力端子ＳＯＤをそれぞれ設けるようにしてもよい。
【０１２４】
また、前述した各実施の形態はそれぞれ、単独で実施できるばかりでなく、適宜組み合わせて実施することも可能である。
【０１２５】
さらに、前述した各実施の形態には種々の段階の発明が含まれており、各実施の形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することも可能である。
【０１２６】
【発明の効果】
以上述べたようにこの発明によれば、様々な構成のメモリマクロにスキャン機能を設定したとき、外部に長い配線を設けることによるスキャン動作のパフォーマンス劣化を低減でき、またメモリマクロの外部に設ける配線を無くして、スキャン動作の自動化に対する障害を取り除くことができる半導体集積回路を提供することが可能である。
【図面の簡単な説明】
【図１】この発明の第１の実施の形態の半導体集積回路を構成するアレイブロックを示す図である。
【図２】前記第１の実施の形態の第１変形例の半導体集積回路を構成するメモリマクロを示す図である。
【図３】前記第１の実施の形態の第２変形例の半導体集積回路を構成するメモリマクロを示す図である。
【図４】前記第１の実施の形態の第３変形例の半導体集積回路を構成するメモリマクロを示す図である。
【図５】この発明の第２の実施の形態の半導体集積回路を構成するアレイブロックを示す図である。
【図６】この発明の第３の実施の形態の半導体集積回路を構成するアレイブロックを示す図である。
【図７】前記第３の実施の形態の第１変形例の半導体集積回路を構成するメモリマクロを示す図である。
【図８】前記第３の実施の形態の第２変形例の半導体集積回路を構成するメモリマクロを示す図である。
【図９】この発明の第４の実施の形態の半導体集積回路を構成するアレイブロックを示す図である。
【図１０】この発明の各実施の形態に適用できるスキャン入出力端子の設置場所を示す図である。に
【図１１】従来のアレイブロックにおけるスキャンの実現方法を示す概略図である。
【図１２】従来のメモリマクロの構成を示す図である。
【符号の説明】
１１…アレイブロック
１１Ｂ…アレイブロック
１２…メモリセルアレイ
１３…ローデコーダ
１４…カラムデコーダ
１５…センスアンプ
１６…入出力制御回路
１６Ａ…入出力レジスタ及びスキャンレジスタ（ＩＯレジスタ）
１６Ｂ…入出力端子（ＩＯ端子）
ＳＩＲ１…第１のスキャン入力端子
ＳＩＬ１…第２のスキャン入力端子
ＳＯＬ１…第１のスキャン出力端子
ＳＯＲ１…第２のスキャン出力端子
１７…配線
２１…動作制御回路
２２…配線
２４…配線
３１…メモリマクロ
３１Ｂ…メモリマクロ
３２、３３、３４…配線
【図１】
0003863400.tif 000002
【図２】
0003863400.tif 000003
【図３】
0003863400.tif 000004
【図４】
0003863400.tif 000005
【図５】
0003863400.tif 000006
【図６】
0003863400.tif 000007
【図７】
0003863400.tif 000008
【図８】
0003863400.tif 000009
【図９】
0003863400.tif 000010
【図１０】
0003863400.tif 000011
【図１１】
0003863400.tif 000012
【図１２】
0003863400.tif 000013