(57)【要約】【課題】本発明の目的は、試験時において同時動作可能なメモリマクロ数を電源電圧変動に配慮して変更することができる半導体装置を提供することである。【解決手段】制御回路からの命令によりデータを記憶する複数のメモリマクロを有する半導体装置は、該複数のメモリマクロの動作試験をそれぞれ行う複数の試験回路と、該複数のメモリマクロのうち離散したメモリマクロに対応した該試験回路の動作を有効にする制御部とを有する。【選択図】図１
2009283108.tif 000002
【特許請求の範囲】
【請求項１】
制御回路からの命令によりデータを記憶する複数のメモリマクロを有する半導体装置であって、
該複数のメモリマクロの動作試験をそれぞれ行う複数の試験回路と、
該複数のメモリマクロのうち離散したメモリマクロに対応した該試験回路の動作を有効にする制御部と
を有することを特徴とする半導体装置。
【請求項２】
該制御部は、
該複数のメモリマクロのうち離散したメモリマクロに対応した該試験回路を選択する選択信号を出力するモード制御部と、
該選択信号に応じて選択した該試験回路の動作を有効にする選択回路と
を有することを特徴とする請求項１に記載の半導体装置。
【請求項３】
該モード制御部は該メモリマクロが該制御回路からのデータを受信可能な通常モードと該メモリマクロが該試験回路からのデータを受信可能な試験モードとを切り替える切り替え信号および動作させる該試験回路を指定する指定信号を出力する選択制御部と、該試験モードの該切り替え信号を受信した場合に該指定信号に応じて選択した該試験回路の動作を有効にする該選択信号を出力する選択部とを有することを特徴とする、請求項２に記載の半導体装置。
【請求項４】
２つ以上の該メモリマクロと該試験回路とを有する複数のメモリマクロ群をさらに有し、
該モード制御部は離散した該メモリマクロ群に対応した該試験回路を選択する選択信号を出力することを特徴とする、請求項２に記載の半導体装置。
【請求項５】
該モード制御部は１以上の第一選択信号を出力する第一選択部と１以上の第二選択信号を出力する第二選択部とを有し、該選択回路は該第一選択信号と該第二選択信号との論理積に応じて該離散したメモリマクロへの該クロックの入力を有効にすることを特徴とする請求項２に記載の半導体装置。
【請求項６】
該第一選択部は２のべき乗数の該第一選択信号を出力し、
該第二選択部は２のべき乗数の該第二選択信号を出力する
ことを特徴とする請求項５に記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリのテストを行う試験回路を有する半導体装置に関するものである。
【背景技術】
【０００２】
高速動作を実現するため、半導体装置はそのチップ内に複数のメモリマクロを有している。微細化技術の進歩や半導体装置の高機能化に伴い、半導体装置に実装されるメモリマクロの数は増加している。ここでメモリマクロとは、半導体設計時においてブラックボックス化されたメモリの機能ブロック単位である。
【０００３】
半導体装置に実装されたメモリマクロは、メモリテストにより出荷前に動作確認試験が行われる。メモリマクロを複数試験すると試験時間による試験コストが増大する。
【０００４】
試験時間の短縮のため、一定数のメモリマクロを１つの群とするメモリマクロ群を形成し、メモリマクロ群単位でメモリマクロの同時動作試験を行う。それぞれのメモリマクロは試験回路を有しており、クロックを試験回路に供給することによりメモリマクロ群の試験を行うことができる。メモリマクロが動作すると、その消費電力は時間的に変化するため、半導体装置に供給される電源電圧は時間的に変動する。電源電圧の変動は誤った試験結果を導くことがある。
【０００５】
メモリ内部のメモリセルを任意に選択する技術は特許文献１および２に述べられている。
【特許文献１】特許第２７１２１２４号公報
【特許文献２】特開２０００−４９３０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、複数のメモリマクロを同時に動作させる同時動作試験時において電源電圧変動が小さくなるようにメモリマクロを選択する試験回路を備えた半導体装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上述した目的を達成するために以下の構成を採用する。
【０００８】
制御回路からの命令によりデータを記憶する複数のメモリマクロを有する半導体装置は該複数のメモリマクロの動作試験をそれぞれ行う複数の試験回路と、該複数のメモリマクロのうち離散したメモリマクロに対応した該試験回路の動作を有効にする制御部とを有する。
【発明の効果】
【０００９】
本発明によれば、半導体装置内のメモリマクロの動作試験時において電源電圧変動は小さくなり、試験結果の誤りをなくすことができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態について説明する。
［半導体装置］
図１はメモリの動作試験を行うための試験回路を有する半導体装置３０のブロック図である。半導体装置３０はクロック１２２を受けて動作し、モード制御部１０２、選択回路１００、メモリ部５１、制御回路１０６、セレクタ１３０を有する。
【００１１】
モード制御部１０２は制御信号１２０を受け、通常モードまたは試験モードに対応した論理を有する切り替え信号２７０を選択回路１００に出力する。また、モード制御部１０２は選択回路１００を制御する選択信号１２４を出力する。通常モードとは、制御回路１０６からの信号５３、例えばアドレス指定、読み出し命令、または書き込み命令を受けて、メモリ部５１が動作するモードである。試験モードとは、クロック１２２に応じ、メモリ部５１内の試験回路によってメモリ部５１がセルフ試験を行うモードである。メモリ部５１が行う試験モードは信号１２１により活性化する。以下、通常モードについて詳細に説明する。
【００１２】
メモリ部５１は外部からの要求に応じてデータを記憶し、または記憶したデータを出力する。メモリ部５１は複数のメモリマクロで構成される。メモリマクロは例えばＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）である。メモリ部は切り替え信号２７０の論理が通常モードに対応している場合は制御回路１０６からの信号５３を有効とし、試験モードに対応している場合は試験回路からの信号を有効とする。
【００１３】
制御回路１０６はクロック１２２に同期して動作する。制御回路１０６はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）とメモリコントローラ５２とを有する。
【００１４】
メモリコントローラ５２はＣＰＵの要求に応じて、メモリ部５１に対し信号５３によりアドレス指定、読み出し命令、書き込み命令等を行う。また、メモリコントローラ５２はメモリ部へのデータ５４の書き込み、またはメモリ部からのデータ５４の読み出しを行う。
選択回路１００は切り替え信号２７０の論理が通常モードに対応している時には、メモリ部５１のすべてのメモリマクロへのクロック１２２の入力を有効にする。また、選択回路１００は切り替え信号２７０の論理が試験モードに対応している時には、メモリ部５１の一部のメモリマクロへのクロック１２２の入力を有効にし、それ以外のメモリマクロへのクロック１２２の入力を無効にする。
【００１５】
セレクタ１３０は試験モードにおいてメモリ部５１内のメモリマクロそれぞれからパラレルに出力される試験結果をシリアル化し、信号１２３として出力する。セレクタ１３０は通常モード時にはメモリマクロから出力される試験結果を非選択とし、制御回路１０６等からの出力を選択するように動作しても良い。セレクタ１３０における通常モードと試験モードとの切り替えは切り替え信号２７０により行う。試験モードについての詳細は後述する。
［第一の実施例］
図２は本実施の形態における半導体装置１０のブロック図である。半導体装置１０は半導体装置３０のメモリ部の詳細を示したものである。半導体装置１０はメモリマクロ群１１０（ｎ）、制御部１５０、制御回路１０６、セレクタ１３０を有する。制御部１５０は選択制御部１０２ａ、選択部１０２ｂ、ＡＮＤ回路１１４（ｎ）を有する。ここでｎは１から１６までの自然数である。なお図２において制御部１５０は一部のＡＮＤ回路１１４（ｎ）を有しているが、制御部１５０はすべてのＡＮＤ回路１１４（ｎ）を有するものとする。ＡＮＤ回路１１４（ｎ）は選択回路１００として動作する。モード制御部１０２は選択制御部１０２ａおよび選択部１０２ｂを有する。
【００１６】
制御信号１２０の論理が通常モードを示すとき、選択制御部１０２ａは“１”の論理を有する切り替え信号２７０を出力する。また、制御信号１２０の論理が試験モードを示すとき、選択制御部１０２ａは“０”の論理を有する切り替え信号２７０を出力する。
【００１７】
選択部１０２ｂは切り替え信号２７０の論理が“１”の場合、出力する選択信号ＳＡ１からＳＡ８の論理すべてを“１”とする。これによりすべてのメモリマクロ群１１０（ｎ）へのクロック１２２の入力が有効となる。切り替え信号２７０の論理が“０”の場合、制御信号２４０によって選択された選択信号ＳＡ１からＳＡ８の論理のみが“１”となる。これにより、試験モードにおいて一部のメモリマクロ群のみへのクロック１２２の入力が有効となる。
【００１８】
メモリマクロ群１１０（ｎ）は４つのメモリマクロ１１２（ｍ）を有する。ここでｍは１から６４までの自然数である。例えばメモリマクロ群１１０（１）は、４つのメモリマクロ１１２（１）、１１２（２）、１１２（３）、１１２（４）を有する。また、それぞれのメモリマクロ１１２（ｍ）には試験回路１１３（ｍ）が接続されている。試験回路１１３（ｍ）は信号１２１に基づいて活性化し、それぞれのメモリマクロ１１２（ｍ）をクロック１２２に同期して動作試験する。
【００１９】
通常モードにおいて、制御回路１０６から出力されたアドレス指定等はメモリマクロ１１２（ｍ）に入力される。一方、試験モードにおいて、制御回路１０６から出力されたアドレス指定等の信号は試験回路１１３（ｍ）が活性化したときに内蔵されたセレクタ等より排除される。試験モードでは、信号１２１により活性化した試験回路１１３（ｍ）が出力したデータおよびアドレスに従い、試験回路１１３（ｍ）が動作試験に必要なアドレス指定、データの書き込みまたは読み出し等をメモリマクロ１１２（ｍ）に対して行う。メモリマクロの試験回路１１３（ｍ）は一般にメモリＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）回路と呼ばれる。本実施例において試験回路１１３（ｍ）はメモリマクロごとに設けられているが、メモリマクロ群ごとに設けても良い。
【００２０】
３入力のＡＮＤ回路１１４（ｎ）は選択部１０２ｂから出力される選択信号に応じてそれぞれのメモリマクロ群１１０（ｎ）へのクロック入力を許可する。ＡＮＤ回路１１４（ｎ）の２つの入力信号は選択部１０２ｂから出力される選択信号ＳＡ１からＳＡ８のいずれかである。ＡＮＤ回路１１４（ｎ）の残りの１つの入力信号はメモリマクロ群１１０（ｎ）を動作させるためのクロック１２２である。選択信号ＳＡ１からＳＡ８の組み合わせにより、メモリマクロ群１１０（ｎ）の一つを選択することができる。選択信号ＳＡ１からＳＡ８の論理の組み合わせにより、２以上のメモリマクロ群１１０（ｎ）を選択することもできる。また、メモリマクロ１１２（ｍ）は実動作をしていなくてもクロック１２２を入力するだけで待機動作する。選択しないメモリマクロ群へのクロック供給を止めることにより、試験対象外のメモリマクロ群が待機動作することによる電源電圧変動の発生を抑えることができる。
【００２１】
各メモリマクロ群１１０（ｎ）に設けられたＡＮＤ回路１１４（ｎ）は選択信号ＳＡ１からＳＡ８を受け、２つの選択信号の論理がいずれも“１”だった場合にはクロック１２２の入力を許可する。クロック１２２の入力を許可したＡＮＤ回路１１４（ｎ）に接続されたメモリマクロ群１１０（ｎ）に属する各メモリマクロ１１２（ｍ）は、試験モードにおける同時動作試験の対象となる。試験回路１１３（ｍ）はクロック１２２に同期してメモリマクロ１１２（ｍ）の動作試験を行う。
【００２２】
メモリマクロ群１１０（ｎ）が動作することによりメモリマクロ群付近の電源電圧は変動する。同時動作するメモリマクロ群１１０（ｎ）の実装位置が１箇所に集中していると、半導体装置１０に発生する電源電圧変動が大きくなり、誤動作の原因となる。そこで、選択信号ＳＡ１からＳＡ８により同時動作するメモリマクロ群１１０（ｎ）が隣接しないよう、ＡＮＤ回路１１４（ｎ）に入力される選択信号の組み合わせを決定する。これにより、試験回路を再設計することなくメモリマクロを離散的に同時動作させることができる。この結果、半導体装置内のメモリマクロの動作試験時において電源電圧変動は小さくなり、試験結果の誤りをなくすことができる。また複数のメモリマクロを１つのメモリマクロ群として扱うことにより、メモリマクロが複数ある場合の同時動作試験の効率を向上させることが出来る。
［第一の選択回路］
図３は半導体装置上に配置されたＡＮＤ回路１１４（ｎ）に選択信号を出力する選択部１０２ｂの回路図である。選択部１０２ｂは、選択信号ＳＡ１からＳＡ４のうち１以上の選択信号の論理を“１”とする選択部２８０と、複数の選択信号ＳＡ５からＳＡ８のうち１の選択信号の論理を“１”とする選択部２８１とを有する。
【００２３】
選択部２８１はレジスタ２０８、２１０、ＡＮＤ回路２２５、２２６、２２７，２２８、ＯＲ回路２３５、２３６、２３７、２３８を有する。レジスタ２０８から出力される信号Ａ３はＡＮＤ回路２２６、２２８に入力される。レジスタ２０８から出力される信号ＸＡ３は信号Ａ３の論理反転信号であり、ＡＮＤ回路２２５、２２７に入力される。レジスタ２１０から出力される信号Ａ４はＡＮＤ回路２２７、２２８のもう一方の入力となる。レジスタ２１０から出力される信号ＸＡ４は信号Ａ４の反転信号であり、ＡＮＤ回路２２５、２２６のもう一方の入力となる。
【００２４】
ＯＲ回路２３５、２３６、２３７、２３８はそれぞれＡＮＤ回路２２５，２２６，２２７，２２８の出力を一方の入力とし、切り替え信号２７０を他方の入力とする。信号Ａ３、ＸＡ３、Ａ４、ＸＡ４の論理の組み合わせによって、ＡＮＤ回路２２５から２２８までのうちの一つが論理“１”の信号を出力する。この結果、切り替え信号２７０が“０”の場合、選択信号ＳＡ５、ＳＡ６、ＳＡ７、ＳＡ８のうちいずれか１つの論理が“１”となる。
【００２５】
選択部２８０はＡＮＤ回路２２１、２２２、２２３、２２４およびＯＲ回路２３１、２３２、２３３、２３４を有し、さらに４つのＯＲ回路２１２、２１４、２１６、２１８と２つのレジスタ２０４、２０６を有する。レジスタ２０４から出力される信号Ａ１はＯＲ回路２１２の一方の入力となる。レジスタ２０４から出力される信号ＸＡ１は信号Ａ１の論理反転信号であり、ＯＲ回路２１４の一方の入力となる。レジスタ２００から出力される信号Ｇ１はＯＲ回路２１２および２１４の他方の入力となる。よって、信号Ｇ１の論理が“０”の場合、信号２５１および２５２は信号Ａ１およびＸＡ１と同じ論理となる。また、信号Ｇ１の論理が“１”の場合、信号２５１および２５２の論理は共に“１”となる。
レジスタ２０６から出力される信号Ａ２はＯＲ回路２１６の一方の入力となる。レジスタ２０６から出力される信号ＸＡ２は信号Ａ２の論理反転信号であり、ＯＲ回路２１８の一方の入力となる。レジスタ２０２から出力される信号Ｇ２はＯＲ回路２１６および２１８の他方の入力となる。よって、信号Ｇ２の論理が“０”の場合、信号２５３および２５４は信号Ａ２およびＸＡ２と同じ論理となる。また、信号Ｇ２の論理が“１”の場合、信号２５３および２５４の論理は共に“１”となる。
【００２６】
レジスタ２００および２０２の出力信号とレジスタ２０４および２０６の出力信号との論理の組み合わせにより、ＡＮＤ回路２２１、２２２、２２３、２２４のうち１つ、２つ、または４つの出力論理を“１”にすることができる。ＯＲ回路２３１、２３２、２３３、２３４はそれぞれＡＮＤ回路２２１，２２２，２２３，２２４の出力を一方の入力とし、切り替え信号２７０を他方の入力とする。よって切り替え信号２７０が“０”の場合、選択信号ＳＡ１、ＳＡ２、ＳＡ３、ＳＡ４のうち１つ、２つまたは４つの出力論理が“１”となる。
【００２７】
図４はレジスタの出力信号と選択信号との関係を表す真理値表である。図４Ａは選択部２８１におけるレジスタと選択信号との関係を表す真理値表であり、図４Ｂは選択部２８０におけるレジスタと選択信号との関係を表す真理値表である。
【００２８】
図４Ａはレジスタ２０８、２１０の出力信号Ａ３、Ａ４と、選択信号ＳＡ５からＳＡ８との関係を表した真理値表である。それぞれのレジスタにおいて一方の出力信号Ａ３、Ａ４の論理は他方の出力信号ＸＡ３、ＸＡ４の論理を反転したものであるので、真理値表への記載を省略している。２つのレジスタの出力論理の組み合わせは４通りであり、それぞれの組み合わせに対して選択信号ＳＡ５からＳＡ８のいずれか１つが“１”となっている。
【００２９】
図４Ｂはレジスタ２００、２０２、２０４、２０６の出力信号Ｇ１、Ｇ２、Ａ１、Ａ２と選択信号Ｓ１からＳ４との関係を表した真理値表である。レジスタ２０４、２０６において一方の出力信号Ａ１、Ａ２の論理は他方の出力信号ＸＡ１、ＸＡ２の論理を反転したものであるので、真理値表への記載を省略している。
【００３０】
制御信号２４０によりレジスタ２００、２０２の出力信号Ｇ１、Ｇ２の論理をいずれも“０”とした場合、レジスタ２０４、２０６の組み合わせにより選択信号ＳＡ１からＳＡ４のいずれか１つが“１”となる。制御信号２４０によりレジスタ２００、２０２の出力信号Ｇ１、Ｇ２のいずれか一方の論理を“１”とした場合、レジスタ２０４、２０６の組み合わせにより選択信号ＳＡ１からＳＡ４のいずれか２つが“１”となる。制御信号２４０によりレジスタ２００、２０２の出力信号Ｇ１、Ｇ２の論理をいずれも“１”とした場合、レジスタ２０４、２０６の組み合わせにかかわず、選択信号ＳＡ１からＳＡ４のすべてが“１”となる。
【００３１】
図２の半導体装置１０において、それぞれのメモリマクロ群１１０（ｎ）の駆動選択をするＡＮＤ回路１１４（ｎ）は、一方の入力が選択信号ＳＡ１からＳＡ４のいずれかであり、もう一方が選択信号ＳＡ５からＳＡ８のいずれかである。したがって、クロック１２２の入力が有効となるメモリマクロ群１１０（ｎ）の数は選択信号ＳＡ５からＳＡ８によって決まる。また、クロック１２２の入力が有効となるメモリマクロ群１１０（ｎ）の場所は選択信号ＳＡ１からＳＡ４によって決まる。よって、同時動作するメモリマクロ群１１０（ｎ）の位置は一意的に決まる。同時動作するメモリマクロ群１１０（ｎ）の数は１つ、２つ、４つとなり、２のべき乗で変化させることができる。これにより、試験回路を再設計することなく電源変動を考慮した最適なメモリマクロ数を同時動作させることができる。同時動作可能なメモリマクロ群の個数が２のべき乗個となるため、動作試験の効率化を考慮するとメモリマクロ群の最大個数は２のべき乗にしておくことが望ましい。なお、ここではクロック１２２を供給するメモリマクロ群１１０（ｎ）を切り替えることにより同時動作するメモリマクロ数を切り替えているが、選択部１００によってメモリマクロ群１１０（ｎ）への電源供給を選択的に切り替えることによっても同様の効果を得ることが出来る。
【００３２】
クロック１２２の入力が有効となるメモリマクロ群１１０（ｎ）の位置を離散的に配置しておくことにより、試験回路を再設計することなく、電源変動を考慮した最適なメモリマクロ数を離散的に同時動作させることができる。ここで、離散的な配置とは、クロック１２２の入力が有効となるメモリマクロ群１１０（ｎ）が互いに隣接していない配置をいう。電源変動の原因となる同時動作するメモリマクロ群１１０（ｎ）をこのように配置することにより、同時動作による電源変動量が１箇所に集中し半導体装置が正常動作するための許容値を超えるのを防ぐことが出来る。
【００３３】
一方、一部の同時動作するメモリマクロ群１１０（ｎ）が隣接しているが、それ以外のメモリマクロ群１１０（ｎ）は互いに隣接していない配置も一定条件下で離散的な配置ということが出来る。この場合、一部の互いに隣接しているメモリマクロ群１１０（ｎ）による電源変動量が上記許容値を超えないことが必要となる。このような配置により半導体装置全体として電源変動量が許容値を超えるのを防ぐことが出来る。また、一部の隣接を許容することによりメモリマクロ群１１０（ｎ）の配置の自由度を向上させることが出来る。さらにメモリマクロ群１１０（ｎ）の配置の自由度を向上させることによって、メモリマクロ群１１０（ｎ）に電源を供給する電源線の配線条件の自由度も向上させることが出来る。
【００３４】
選択信号をＳＡ１からＳＡ４とＳＡ５からＳＡ８とのグループに分け、２つのグループの選択信号の組み合わせでメモリマクロ群１１０（ｎ）を選択することにより、選択信号を出力する選択部１０２ｂの回路規模を小さくすることができる。選択部１０２ｂの選択信号を設定する制御信号２４０も簡略化できるので、選択制御部１０２ａの回路規模も小さくすることができる。
【００３５】
図５は半導体装置１０において、いずれか１つのメモリマクロ群１１０（ｎ）へのクロック１２２の入力を有効とした場合のメモリマクロ群の物理配置図である。メモリ４００（ｎ）は半導体装置１０に実装されたメモリマクロ群１１０（ｎ）の配置を表現したものであり、メモリマクロ群１１０（ｎ）はマトリクス状に並べられている。なお、メモリマクロ群それぞれは正方形で表現している。ここでｎは１から１６までの自然数である。例えばメモリ４００（１）において、黒く塗りつぶされたメモリマクロ群１１０（１）は、クロック１２２の入力を有効としたメモリマクロ群を表している。
【００３６】
メモリ４００（ｎ）の上部に記載された文字列は、メモリマクロ群１１０（ｎ）へのクロック１２２の入力を有効とするために論理“１”となっている選択信号を表す。選択部２８０の選択信号のうちいずれか１つを論理“１”で出力し、選択部２８１の選択信号のうちいずれかひとつを論理“１”で出力することにより、メモリ４００（ｎ）のいずれか１つのメモリマクロ群１１０（ｎ）へのクロック１２２の入力を有効とすることができる。例えばメモリ４００（１）の上部に記載された文字列ＳＡ１、ＳＡ５は、メモリマクロ群１１０（１）へのクロック１２２の入力を有効とするために、選択回路１００から選択信号ＳＡ１、ＳＡ５が論理“１”で出力されていることを表している。
【００３７】
図６は半導体装置１０において、いずれか２つのメモリマクロ群１１０（ｎ）へのクロック１２２の入力を有効とした場合のメモリマクロ群１１０（ｎ）の物理配置図である。メモリ５００（ａ）は半導体装置１０に実装されたメモリマクロ群１１０（ｎ）の配置を簡易的に表現したものであり、メモリマクロ群１１０（ｎ）はマトリクス状に並べられている。なお、メモリマクロ群それぞれは正方形で表現している。ここでａは１から８までの自然数である。例えばメモリ５００（１）において、黒く塗りつぶされたメモリマクロ群１１０（１）および１１０（９）はクロック１２２の入力を有効としたメモリマクロ群を表している。
【００３８】
メモリ５００（ａ）の上部に記載された文字列は、メモリマクロ群１１０（ｎ）へのクロック１２２の入力を有効とするために論理“１”となっている選択信号を表す。例えばメモリ５００（１）の上部に記載された文字列ＳＡ１、ＳＡ２、ＳＡ５は、メモリマクロ群１１０（１）、１１０（９）へのクロック１２２の入力を有効とするために、選択回路１００から選択信号ＳＡ１、ＳＡ２、ＳＡ５が論理“１”で出力されていることを表している。選択部２８０の選択信号のうちいずれか２つを論理“１”で出力し、選択部２８１の選択信号のうちいずれかひとつを論理“１”で出力することにより、メモリ５００（ａ）のうち２つの任意のメモリマクロ群１１０（ｎ）へのクロック１２２の入力を有効とすることができる。また、選択信号によりクロック１２２の入力が有効となる２つのメモリマクロ群１１０（ｎ）の実装位置を互いに隣接しないように離散して配置することにより、電源変動を考慮したメモリマクロの同時動作が可能となる。なお、ここで離散した配置とは、図中において一つおきにメモリマクロ群１１０（ｎ）を活性化させる配置をいう。
【００３９】
図７は半導体装置１０において、いずれか４つのメモリマクロ群１１０（ｎ）へのクロック１２２の入力を有効とした場合のメモリマクロ群１１０（ｎ）の物理配置図である。メモリ６００（ｂ）は半導体装置１０に実装されたメモリマクロ群１１０（ｎ）の配置を表現したものであり、メモリマクロ群１１０（ｎ）はマトリクス状に並べられている。なお、メモリマクロ群それぞれは正方形で表現している。ここでｂは１から４までの自然数である。黒く塗りつぶされたメモリマクロ群１１０（１）、１１０（６）、１１０（９）、１１０（１４）は、クロック１２２の入力を有効としたメモリマクロ群を表している。
【００４０】
メモリ６００（ｂ）の上部に記載された文字列は、メモリマクロ群１１０（ｎ）へのクロック１２２の入力を有効とするために論理“１”となっている選択信号を表す。例えばメモリ６００（１）の上部に記載された文字列ＳＡ１、ＳＡ２、ＳＡ３、ＳＡ４、ＳＡ５は、メモリマクロ群１１０（１）、１１０（６）、１１０（９）、１１０（１４）へのクロック１２２の入力を有効とするために、選択部１０２ｂから選択信号ＳＡ１、ＳＡ２、ＳＡ３、ＳＡ４、ＳＡ５が論理“１”で出力されていることを表している。選択部２８０の選択信号のすべてを論理“１”で出力し、選択部２８１の選択信号のうちいずれかひとつを論理“１”で出力することにより、メモリ６００（ｂ）のうち互いに隣接しないように離散して配置された４つのメモリマクロ群１１０（ｎ）へのクロック１２２の入力を有効とすることができる。なお、ここで離散した配置とは、活性化するメモリマクロ群１１０（ｎ）が例えば市松模様状となっている配置をいう。
［第二の実施例］
図８は本実施の形態における半導体装置２０のブロック図である。半導体装置２０は、メモリマクロ群７１０（ｋ）、制御部１５２、制御回路１０６、セレクタ１３０を有する。制御部１５２は選択制御部１０２ｃ、選択部１０２ｄ、ＡＮＤ回路７１４（ｋ）を有する。ここでｋは１から１２までの自然数である。なお図８において制御部１５２は一部のＡＮＤ回路７１４（ｋ）を有しているが、制御部１５２はすべてのＡＮＤ回路７１４（ｋ）を有するものとする。ＡＮＤ回路７１４（ｋ）は選択回路１００として動作する。モード制御部１０２は選択制御部１０２ｃおよび選択部１０２ｄを有する。
【００４１】
半導体装置２０は半導体装置１０と同じ数のメモリマクロを有しているが、１つのメモリマクロ群が有するメモリマクロの数が異なる。メモリマクロの同時動作はメモリマクロ群単位で決定される。半導体装置１０において１つのメモリマクロ群が有するメモリマクロの数が４つなのに対し、半導体装置２０において１つのメモリマクロ群が有するメモリマクロの数は２つである。１つのメモリマクロ群が有するメモリマクロ数が少ないほど、電源電圧変動を考慮した同時動作するメモリマクロ数の設定が可能になる。また、複数のメモリマクロ群へのクロック１２２の入力を有効とした場合に、隣接した位置で動作するメモリマクロ数も少なくなり、メモリマクロによる電源電圧変動をより分散させることができる。
【００４２】
制御信号１２０の論理が通常モードを示すとき、選択制御部１０２ｃは“１”の論理を有する切り替え信号２７０を出力する。また、制御信号１２０の論理が試験モードを示すとき、選択制御部１０２ｃは“０”の論理を有する切り替え信号２７０を出力する。
【００４３】
選択部１０２ｄは切り替え信号２７０の論理が“１”の場合、出力するすべての選択信号ＳＢ１からＳＢ１２の論理を“１”とする。これによりすべてのメモリマクロ群７１０（ｋ）へのクロック１２２の入力が有効となる。切り替え信号２７０の論理が“０”の場合、制御信号２４０によって選択された選択信号ＳＢ１からＳＢ１２のいずれかの論理が“１”となる。これにより、一部のメモリマクロ群へのクロック１２２の入力のみが有効となる。
【００４４】
メモリマクロ群７１０（ｋ）は２つのメモリマクロ７１２（ｓ）を有する。ここでｓは１から６４までの自然数である。例えばメモリマクロ群７１０（１）はメモリマクロ７１２（１）、７１２（２）を有する。また、それぞれのメモリマクロ７１２（ｓ）には試験回路７１３（ｓ）が接続されている。試験回路７１３（ｓ）は信号１２１に基づいて活性化し、それぞれのメモリマクロ７１２（ｍ）をクロック１２２に同期して動作試験する。
【００４５】
３入力のＡＮＤ回路７１４（ｋ）はメモリマクロ群７１０（ｋ）それぞれに対応する。ＡＮＤ回路７１４（ｋ）の２つの入力信号は選択部１０２ｂから出力される選択信号ＳＢ１からＳＢ１２のいずれかである。ＡＮＤ回路７１４（ｋ）の残りの１つの入力信号はメモリマクロ群７１０（ｋ）を動作させるためのクロック信号１２２である。選択信号ＳＢ１からＳＢ１２の組み合わせにより、メモリマクロ群７１０（ｋ）の一つを選択することができる。選択信号ＳＢ１からＳＢ１２の組み合わせにより、２以上のメモリマクロ群７１０（ｋ）を選択することもできる。
【００４６】
各メモリマクロ群７１０（ｋ）に設けられたＡＮＤ回路７１４（ｋ）は選択信号ＳＢ１からＳＢ１２を受け、２つの選択信号の論理がいずれも“１”だった場合にはクロック１２２の入力を許可される。クロックの入力が許可されたＡＮＤ回路７１４（ｋ）に接続されたメモリマクロ群７１０（ｋ）の各メモリマクロ７１２（ｓ）は、試験モードにおける動作試験の対象となる。
【００４７】
メモリマクロ群７１０（ｋ）が動作することによりメモリマクロ群付近の電源電圧は変動する。同時動作するメモリマクロ群７１０（ｋ）の実装位置が１箇所に集中していると、半導体装置２０に発生する電源電圧変動値が大きくなり、誤動作の原因となる。そこで、選択信号ＳＢ１からＳＢ１２により同時動作するメモリマクロ群７１０（ｋ）が隣接しないよう、ＡＮＤ回路７１４（ｋ）に入力される選択信号の組み合わせ方を決定する。これにより、試験回路を再設計することなくメモリマクロを離散的に同時動作させることができる。この結果、半導体装置内のメモリマクロの動作試験時において電源電圧変動は小さくなり、試験結果の誤りをなくすことができる。
【００４８】
また、半導体装置１０におけるメモリマクロ群１１０（ｎ）はメモリマクロ１１２（ｍ）を４つ有するのに対し、半導体装置２０におけるメモリマクロ群７１０（ｋ）はメモリマクロ７１２（ｓ）を２つ有する。また、メモリマクロ群の数は半導体装置２０の方が多い。よって、半導体装置２０は半導体装置１０よりも同時動作するメモリマクロが集中するのを避けることができ、より電源電圧変動を考慮した最適なメモリマクロ数の同時動作が可能となる。
［第二の選択回路］
図９は半導体装置上に配置されたＡＮＤ回路７１４（ｋ）に選択信号を出力する選択部１０２ｄの回路図である。選択部１０２ｄは、複数の選択信号のうち１以上の選択信号の論理を“１”にする選択部８８０と、複数の選択信号のうち１以上の選択信号の論理を“１”にする選択部８８１とを有する。選択部８８０と選択部２８０は回路構成およびその回路動作が同じであるので、その説明を省略する。
【００４９】
選択部８８１はレジスタ８０４、８０６、８０８、８１０、８１５、ＡＮＤ回路８２１から８２８、ＯＲ回路８３１から８３８、ＯＲ回路８１１から８１４を有する。レジスタ８１５の信号Ａ５はＡＮＤ回路８２５から８２８に入力される。信号ＸＡ５は信号Ａ５の論理反転信号であり、ＡＮＤ回路８２１から８２４に入力される。したがって、レジスタ８１５の出力論理により、ＡＮＤ回路８２１から８２４、８２５から８２８のいずれか一方の出力が有効となる。
【００５０】
ＯＲ回路８１１の出力８５１はＡＮＤ回路８２２、８２４、８２６、８２８の入力となる。ＯＲ回路８１２の出力８５２はＡＮＤ回路８２１、８２３、８２５、８２７の入力となる。ＯＲ回路８１３の出力８５３はＡＮＤ回路８２３、８２４、８２７、８２８の入力となる。ＯＲ回路８１４の出力８５４はＡＮＤ回路８２１、８２２、８２５、８２６の入力となる。
レジスタ８０８から出力される信号Ａ３はＯＲ回路８１１の一方の入力となる。レジスタ８０８から出力される信号ＸＡ３は信号Ａ３の論理反転信号であり、ＯＲ回路８１２の一方の入力となる。レジスタ８０４から出力される信号Ｇ３はＯＲ回路８１１および８１２の他方の入力となる。よって、信号Ｇ３の論理が“０”の場合、信号８５１および８５２は信号Ａ３およびＸＡ３と同じ論理となる。また、信号Ｇ３の論理が“１”の場合、信号８５１および８５２の論理は共に“１”となる。
レジスタ８１０から出力される信号Ａ４はＯＲ回路８１３の一方の入力となる。レジスタ８１０から出力される信号ＸＡ４は信号Ａ４の論理反転信号であり、ＯＲ回路８１４の一方の入力となる。レジスタ８０６から出力される信号Ｇ４はＯＲ回路８１３および８１４の他方の入力となる。よって、信号Ｇ４の論理が“０”の場合、信号８５３および８５４は信号Ａ４およびＸＡ４と同じ論理となる。また、信号Ｇ４の論理が“１”の場合、信号８５３および８５４の論理は共に“１”となる。
【００５１】
レジスタ８１５は信号Ａ５をＡＮＤ回路８２１から８２４に出力する。またレジスタ８１５は信号ＸＡ５をＡＮＤ回路８２５から８２８に出力する。ＯＲ回路８３１から８３８はそれぞれＡＮＤ回路８２１から８２８の出力を一方の入力としている。またＯＲ回路８３１から８３８はそれぞれ切り替え信号２７０を他方の入力としている。よって切り替え信号２７０の論理が“０”でありレジスタ８１５の出力信号Ａ５の論理が“１”の場合、選択信号ＳＢ９からＳＢ１２のうち１つ、２つ、または４つの出力論理が“１”となる。一方、切り替え信号２７０の論理が“０”でありレジスタ８１５の出力信号ＸＡ５の論理が“１”の場合、選択信号ＳＢ５からＳＢ８のうち１つ、２つ、または４つの出力論理が“１”となる。
【００５２】
図１０はレジスタの出力信号と選択信号との関係を表す真理値表である。図１０Ａは選択部８８１におけるレジスタと選択信号との関係を表す真理値表であり、図１０Ｂは選択部８８０におけるレジスタと選択信号との関係を表す真理値表である。
【００５３】
図１０Ａはレジスタ８０４、８０６、８０８、８１０、８１５の出力信号Ｇ３、Ｇ４、Ａ３、Ａ４、Ａ５と、選択信号ＳＢ５からＳＢ１２との関係を表した真理値表である。レジスタ８０８、８１０、８１５において一方の出力信号Ａ３、Ａ４、Ａ５の論理は他方の出力信号ＸＡ３、ＸＡ４、ＸＡ５の論理を反転したものであるので、真理値表への記載を省略している。５つのレジスタの出力信号のうちＡ５の論理によって選択信号ＳＢ５からＳＢ８、ＳＢ９からＳＢ１２のいずれか一方が有効になる。また、レジスタ８０４の出力信号Ｇ３とレジスタ８０６の出力信号Ｇ４との論理の組み合わせにより、有効となった選択信号のグループの中で１つ、２つ、または４つの出力論理が“１”となる。さらに、レジスタ８０８の出力信号Ａ３とレジスタ８１０の出力信号Ａ４との論理の組み合わせにより、出力論理が“１”となる選択信号が決定する。
【００５４】
図１０Ｂは選択部８８０の真理値表であるが、選択部８８０の回路構成および回路動作は選択部２８０と同一である。よって図１０Ｂは図４Ａと同一となるのでその説明を省略する。
【００５５】
図８の半導体装置２０において、それぞれのメモリマクロ群７１０（ｋ）の駆動選択をするＡＮＤ回路７１４（ｋ）は、一方の入力が選択信号ＳＢ１からＳＢ４のいずれかであり、もう一方が選択信号ＳＢ５からＳＢ１２のいずれかである。さらにＡＮＤ回路７１４（ｋ）にはクロック１２２が入力されている。したがって、クロック１２２の入力が有効となるメモリマクロ群７１０（ｋ）の数は選択信号ＳＢ１からＳＢ４の論理“１”の出力数と、選択信号ＳＢ５からＳＢ１２の論理“１”の出力数との論理積により決まる。よって、同時動作するメモリマクロ群７１０（ｋ）の位置は一意的に決まる。同時動作するメモリマクロ群７１０（ｋ）の数は１個、２個、４個、８個、１６個となり、２のべき乗で変化させることができる。よって、試験回路を再設計することなく電源変動を考慮した最適なメモリマクロ数を同時動作させることができる。また、同時動作するメモリマクロ群の数は２のべき乗で変化するので、試験モード時の試験効率を考慮するとメモリマクロ群の最大個数は２のべき乗にしておくことが望ましい。
また、クロック１２２の入力を有効にするメモリマクロ群７１０（ｋ）の位置は互いに隣接しないように離散して配置されているため、複数のメモリマクロ群が同時動作した場合の半導体装置２０の電源電圧変動を小さく抑えることができる。ここで、離散した配置とは、活性化するメモリマクロ群７１０（ｋ）が例えば市松模様状となっている配置をいう。さらに、選択信号をＳＢ１からＳＢ４とＳＢ５からＳＢ１２とのグループに分け、２つのグループの選択信号の組み合わせでメモリマクロ群７１０（ｋ）を選択することにより、選択信号を出力する選択部１０２ｄの回路規模を小さくすることができる。選択部１０２ｄの選択信号を設定する制御信号２４０も簡略化できるので、選択制御部１０２ｃの回路規模も小さくすることができる。
【００５６】
メモリマクロ群７１０（６）のＡＮＤ回路７１４（６）の入力に着目すると、隣接するメモリマクロ群７１０（２）、７１０（５）、７１０（７）のＡＮＤ回路７１４（２）、７１４（５）、７１４（７）の一方の入力はＳＢ１で共通である。これに対しＡＮＤ回路７１４（２）、７１４（５）、７１４（７）の他方の入力ＳＢ１０、ＳＢ９、ＳＢ１１はＡＮＤ回路７１４（６）の他方の入力ＳＢ６と同時に“１”とならない。またメモリマクロ群７１０（１０）のＡＮＤ回路７１４（１０）の一方の入力ＳＢ１０はＡＮＤ回路７１４（６）の一方の入力ＳＢ６と同時に“１”とならない。他のＡＮＤ回路７１４（ｋ）の入力信号も同様に設定する。
この結果、例えばレジスタ２００、２０２、８０４、８０６、２０４、２０６、８０８、８１０、８１５の出力信号Ｇ１からＧ４およびＡ１からＡ５の論理をすべて“１”とした場合、選択信号ＳＢ１からＳＢ４およびＳＢ９からＳＢ１２の論理が“１”となり、互いに隣接しないように離散して配置された１６個のメモリマクロ群へのクロック１２２の入力が有効になる。よって、試験回路を再設計することなく、電源変動を考慮した最適なメモリマクロ数を離散的に同時動作させることができる。
【図面の簡単な説明】
【００５７】
【図１】半導体装置のブロック図
【図２】半導体装置のブロック図
【図３】選択部の回路図
【図４】選択部の真理値表
【図５】動作試験するメモリマクロ群の配置図
【図６】動作試験するメモリマクロ群の配置図
【図７】動作試験するメモリマクロ群の配置図
【図８】半導体装置のブロック図
【図９】選択部の回路図
【図１０】選択部の真理値表
【符号の説明】
【００５８】
１０、２０、３０     半導体装置
５１                 メモリ部
５２                 メモリコントローラ
１００               選択回路
１０２ａ             選択制御部
１０２ｃ             選択制御部
１０２ｂ             選択部
１０２ｄ             選択部
１０２               モード制御部
１０６               制御回路
１１０（ｎ）         メモリマクロ群
１１２（ｎ）         メモリマクロ
１１３（ｎ）         試験回路
１１４（ｎ）         ＡＮＤ回路
１３０               セレクタ
１５０、１５２              制御部
２４０               制御信号
２７０               切り替え信号
２８０、２８１              選択部
７１０（ｋ）         メモリマクロ群
７１２（ｋ）         メモリマクロ
７１３（ｋ）         試験回路
７１４（ｋ）         ＡＮＤ回路
８８０、８８１              選択部
ＳＡ１〜ＳＡ８              選択信号
ＳＢ１〜ＳＢ１２     選択信号
【図１】
2009283108.tif 000003
【図２】
2009283108.tif 000004
【図３】
2009283108.tif 000005
【図４】
2009283108.tif 000006
【図５】
2009283108.tif 000007
【図６】
2009283108.tif 000008
【図７】
2009283108.tif 000009
【図８】
2009283108.tif 000010
【図９】
2009283108.tif 000011
【図１０】
2009283108.tif 000012