JP2004362157A - 半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法 - Google Patents

半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法 Download PDF

Info

Publication number
JP2004362157A
JP2004362157A JP2003158337A JP2003158337A JP2004362157A JP 2004362157 A JP2004362157 A JP 2004362157A JP 2003158337 A JP2003158337 A JP 2003158337A JP 2003158337 A JP2003158337 A JP 2003158337A JP 2004362157 A JP2004362157 A JP 2004362157A
Authority
JP
Japan
Prior art keywords
address
output
semiconductor device
function
signal
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
Application number
JP2003158337A
Other languages
English (en)
Inventor
Yoshihiro Ichikawa
芳弘 市川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003158337A priority Critical patent/JP2004362157A/ja
Publication of JP2004362157A publication Critical patent/JP2004362157A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】複数の機能マクロを同時に選択し、動作させることができる半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法を実現する。
【解決手段】本発明の半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法は、主な構成が同じで、所定の入力信号に対して同じ出力信号を生成する複数の機能マクロと、それらに対応した複数の選択信号出力を備え、共通アドレスを受信した場合に、複数の選択信号出力のうち少なくとも2つを同時に活性化し、複数の機能マクロのうち少なくとも2つを同時に選択する選択手段を有することを特徴とし、共通アドレスにアクセスすることで、複数の機能マクロを並列に動作させ、半導体装置の処理時間を短縮することができる。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、複数の機能マクロを搭載する半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法に関する。
【0002】
【従来の技術】
機能マクロ、例えば、IP(Intellectual Property)を有する従来の半導体装置では、出荷前の最終テストで機能マクロのテストを実行する必要がある。これには、実際にユーザが使用する場合のシステム動作を想定し、これに則して各機能マクロのテストプログラムを作成し、これらを順次実行させる方法が用いられている。
【0003】
近年は、システム全体が複雑化し、すべての組合せをテストすることは現実的ではないため、このテストプログラムの完成度が半導体装置の動作保証の信頼性に大きく影響するようになっている。
【0004】
さらに、半導体プロセスにおける微細化の飛躍的な進展に伴ってSOC(System on Chip)が登場し、1チップに多数の機能マクロが搭載されるようになったため、このようなテスト技術はますます重要になっている。
【0005】
ところで、上述のようなテスト方法には、機能マクロの数だけテストプログラムを繰り返し実行するため、搭載する機能マクロの数に比例してテスト時間がかかる、という問題がある。また、出荷前の最終テストでは、システム全体の動作を保証するテストプログラムの完成度が非常に重要であり、過去の問題事例をスクリーニングする目的で導入したテストルーチンを簡素化すると、十分な保証が困難になる恐れがある。このため、システムの複雑化に伴う搭載マクロ数の増加とあいまって、最終テストは膨大なテスト時間を必要とするようになっている。
【0006】
このため、入出力が単純な半導体装置に対しては、複数の半導体装置を同時にテストするいわゆる多個取りのテスト装置を用い、これを複数台並列に稼働し、単位時間あたりのテスト数を増やす方法が従来から採用されていた。しかし、SOCなどの多数の入出力を持つ半導体装置では、多個取りのできるテスト装置がなく、したがって、テスト装置の設置面積も含めて、この方法には膨大な設備投資が必要となっている。
【0007】
このような問題に対応するために、スキャンテストのテスト時間を短縮する方法が提案されている。すなわち、スキャンパスの一部を枝分かれさせ、その部分でのスキャンデータの入出力を並列に行うことで、テスト時間の短縮を図る方法が特許文献1に記載されている。
【0008】
しかし、スキャンテストには機能マクロの動作保証を十分には行えないという本質的な欠点がある。スキャンテストはもともと部分回路ロジックの検証や配線の接続不良、つまり、配線のオープンやショートを検出することが目的であり、上述したような最終テストでの半導体装置のスクリーニングには向いていないテスト方法である。特に、機能マクロの動作を保証するためには、スキャンテストでは不十分で、蓄積されたテストルーチンによる動作テストが必須である。
【0009】
近年は上述したようにシステムがより複雑化する傾向にあり、この最終テストでの動作保証にかかるテスト時間の短縮が重要な課題となっている。
【0010】
【特許文献1】
特開2002−196045号公報
【0011】
【発明が解決しようとする課題】
上述のごとく、従来は、テストプログラムを繰り返し順次実行させて搭載している複数の機能マクロの動作テストを行うため、出荷前の最終テストで膨大なテスト時間を必要とするという問題があった。
【0012】
本発明は、上記問題点を解決するためになされたもので、複数の機能マクロのテストを短時間で行うことができる半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法を提供することを目的とする。
【0013】
【課題を解決するための手段】
本発明の一態様によれば、主な構成が同じで、所定の入力信号に対して同じ出力信号を生成する複数の機能マクロと、予め定められたアドレスを受信した場合に、前記複数の機能マクロのうち少なくとも2つを同時に選択する選択手段を備え、前記選択された機能マクロにおいて同一の処理が並列に実行されることを特徴とする半導体装置が提供される。
【0014】
また、本発明の一態様によれば、主な構成が同じで、所定の入力信号に対して同じ出力信号を生成する複数の機能マクロと、前記機能マクロを選択する選択手段を備えた半導体装置のアドレス割り付け方法であって、前記選択手段が前記複数の機能マクロのうち少なくとも2つを同時に選択するように、予め定められた共通アドレスに前記複数の機能マクロを割り付け、前記共通アドレスを受信することにより、前記選択された機能マクロにおいて同一の処理が並列に実行されるようにしたことを特徴とする半導体装置のアドレス割り付け方法が提供される。
【0015】
さらに、本発明の一態様によれば、主な構成が同じで、所定の入力信号に対して同じ出力信号を生成する複数の機能マクロと、前記機能マクロを選択する選択手段を備えた半導体装置の制御方法であって、前記選択手段が前記複数の機能マクロのうち少なくとも2つを同時に選択するような予め定められた共通アドレスを前記選択手段に供給するアドレス設定ステップと、前記選択された機能マクロの前記共通アドレスによって特定されるレジスタからのデータ読み出し、または、当該レジスタへのデータ書き込みを行うアクセスステップを有し、前記選択された機能マクロにおいて同一の処理が並列に実行されるようにしたことを特徴とする半導体装置の制御方法が提供される。
【0016】
【発明の実施の形態】
以下、図面を参照しながら本発明に係わる半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法の実施の形態(以下、「実施形態」という。)を説明する。
【0017】
図1は、本発明の実施形態に係わる半導体装置を示す回路ブロック図である。ここでは、主に、主な構成が同じ複数の機能マクロとそれらを同時に動作させる手段にかかわる部分を示した。
【0018】
本発明の実施形態に係わる半導体装置は、主な構成が同じ機能マクロA11および機能マクロB12(以下、それぞれ「IP−A11」、「IP−B12」という。さらに、IP−A11およびIP−B12をまとめて「IPs」という。)、IPsを選択するアドレスデコーダ13(以下、「DEC13」という。)、IPsからの出力信号を受信しいずれかを選択して出力するマルチプレクサ14(以下、「MUX14」という。)、IPsからの出力信号を受信しそれらを比較して一致または不一致を判定するコンパレータ15(以下、「CMP15」という。)、エラー割り込みを発生するエラー信号マルチプレクサ16(以下、「ErMX16」という。)、およびCPU(図には示していない。)を接続可能なシステムバス17を有している。
【0019】
DEC13は、システムバス17から上位アドレス20を受信し、IP−A11へ選択信号A21(以下、「Sel−A21」という。)を出力し、IP−B12へ選択信号B22(以下、「Sel−B22」という。)を出力する。
【0020】
IP−A11は、DEC13からのSel−A21の他に、システムバス17から入力信号である下位アドレス23、リードライト信号24(以下、「RW24」という。)、およびライトデータ25(以下、「WrD25」という。)を受信し、出力信号であるリードデータA26(以下、「RdD−A26」という。)と応答信号A27(以下、「Ack−A27」という。)、およびエラー出力であるエラー信号A28(以下、「Err−A28」という。)を出力する。
【0021】
また、IP−A11は、半導体装置の外部との間でパッドA18を介してシリアルデータA29を入出力する。
【0022】
IP−B12は、DEC13からのSel−B22の他に、システムバス17から入力信号である下位アドレス23、RW24、およびWrD25を受信し、出力信号であるリードデータB30(以下、「RdD−B30」という。)と応答信号B31(以下、「Ack−B31」という。)、およびエラー出力であるエラー信号B32(以下、「Err−B32」という。)を出力する。
【0023】
また、IP−B12は、半導体装置の外部との間でパッドB19を介してシリアルデータB33を入出力する。
【0024】
MUX14は、システムバス17からの上位アドレス20と、IP−A11の出力信号であるRdD−A26およびAck−A27と、IP−B12の出力信号であるRdD−B30およびAck−B31とを受信し、出力信号としてリードデータ34(以下、「RdD34」という。)と応答信号35(以下、「Ack35」という。)をシステムバス17へ出力する。
【0025】
CMP15は、IP−A11の出力信号であるRdD−A26およびAck−A27と、IP−B12の出力信号であるRdD−B30およびAck−B31とを受信し、その一致または不一致を示す判定信号36(以下、「Err−M36」という。)を出力する。
【0026】
ErMX16は、システムバス17からの上位アドレス20と、CMP15からのErr−M36と、IP−A11からのErr−A28と、IP−B12からのErr−B32とを受信し、CPUへの割り込みを発生させるエラー割込み信号37(以下、「Error37」という。)をシステムバス17へ出力する。
【0027】
システムバス17は、32bit幅のアドレスバス、RW24やAck35、Error37などを含むコントロールバス、およびRdD34とWrD25からなるデータバスを備え、CPUを接続してIPsを制御できるようになっている。
【0028】
32bitのアドレスは、上位20bit([31:12])を上位アドレス20として使用し、下位12bit([11:0])を下位アドレス23として使用する。後述するように、上位アドレス20はIPsを識別するために用いられ、下位アドレス23は各IPs内のアドレスとして用いられている。
【0029】
WrD25はIPsへ書き込まれるデータであり、RdD34はIPsから読み出されたデータである。RW24は、IPsからの読み出しまたはIPsへの書き込みを制御する信号であり、RW24=“1”で読み出しを意味し、RW24=“0“で書き込みを意味している。
【0030】
すなわち、RW24=“1”の時は、上位アドレス20で指定されたIPsに対して下位アドレス23で指定されたレジスタからデータが読み出され、システムクロックに同期してそのデータがRdD34に出力される。RW24=“0“の時は、上位アドレス20で指定されたIPsに対して下位アドレス23で指定されたレジスタへシステムクロックに同期してWrD25が書き込まれる。
【0031】
Ack35は、CPUからのコマンド受付が可能な状態を示すIPsの応答信号であり、“1”の時にIPsはコマンド受付が可能であり、“0”の時にIPsは処理中であることを示している。
【0032】
以下、特に断らない限り、制御信号は正論理とする。
【0033】
Error37は、IPsでの致命的な処理エラーなどか発生した時にこれをCPUへ知らせる割り込み信号である。
【0034】
DEC13は、システムバス17から受信した上位アドレス20の値に従って、IPsを選択するSel−A21およびSel−B22を出力する。すなわち、上位アドレス20が{C0000}であれば、Sel−A21に“1”、Sel−B22に“0“を出力し、IP−A11を選択する。(以下、アドレスの値は16進数を用いて{C0000}のように表わす。また、アドレスマップの詳細は後述する。)
【0035】
また、上位アドレス20が{C0001}であれば、Sel−A21に“0”、Sel−B22に“1”を出力し、IP−B12を選択する。さらに、上位アドレス20が{C000F}であれば、Sel−A21に“1”、Sel−B22に“1”を出力し、IP−A11およびIP−B12の両方を同時に選択する。
【0036】
IP−A11は、半導体装置外部との間でシリアルデータA29の入出力を行うシリアル入出力モジュールであり、シリアル入出力端子が専用のパッドA18に接続されている。また、IP−A11は、下位アドレス23で識別されるデータレジスタ、コマンドレジスタ、フラグレジスタ、およびマクロIDを持ち、これらのレジスタ群を介してCPUからデータおよび処理コマンドを受信し、また、コマンドの処理結果をCPUへ出力する。
【0037】
データレジスタは、シリアルデータA29として入出力するデータなどのCPUとの受渡しに使用される。また、コマンドレジスタは、IP−A11が実行する処理コマンドをCPUが書き込むレジスタであり、フラグレジスタは、その処理結果などを示すフラグビットの集まりである。
【0038】
これらレジスタ群からの読み出しは次のように行われる。まず、Ack−A27が調べられ、これが“1”であれば、下位アドレス23に従ってレジスタが選択される。次に、RW24に“1”が与えられ、システムクロックに同期してRdD−A26が出力される。
【0039】
同様にして、レジスタ群への書き込みは次のように行われる。まず、Ack−A27が調べられ、これが“1”であれば、下位アドレス23に従ってレジスタが選択される。次に、RW24に“0”が与えられ、システムクロックに同期して、選択されたレジスタにWrD25が書き込まれる。
【0040】
なお、マクロIDはIPsを識別するための識別コードを保持しており、読み出し専用となっている。
【0041】
IP−B12は、シリアル入出力端子が専用のパッドB19に接続されている点と、マクロIDが保持する識別コードがIP−A11とは異なることを除けば、その構成、動作はIP−A11と同じである。
【0042】
MUX14は、システムバス17から受信した上位アドレス20の値に従って、IP−A11の出力信号であるRdD−A26、Ack−A27と、IP−B12の出力信号であるRdD−B30、Ack−B31のいずれかの信号セットを選択し、出力信号RdD34およびAck35としてシステムバス17へ出力する。
【0043】
すなわち、上位アドレス20が{C0000}であれば、IP−A11の出力信号を選択し、上位アドレス20が{C0001}であれば、IP−B12の出力信号を選択して出力する。また、上位アドレス20が、{C000F}であれば、IP−A11の出力を選択して出力する。上述したように、IP−A11およびIP−B12は主な構成が同じで同じ動作をするので、両方が同時に選択された場合、処理エラーが発生しない限り、同じ入力信号に対しては出力信号も同じになる。
【0044】
CMP15は、IP−A11の出力信号であるRdD−A26、Ack−A27と、IP−B12の出力信号であるRdD−B30、Ack−B31をそれぞれ比較し、これらがすべて一致していれば、Err−M36に“0”を出力し、1つでも異なっていれば、CPUに対して割り込みを発生させるためにErr−M36に“1”を出力する。
【0045】
ErMX16は、システムバス17から受信した上位アドレス20の値に従って、Err−A28、Err−B32、およびErr−M36を論理演算してError37としてシステムバス17へ出力する。すなわち、上位アドレス20が{C0000}であれば、Err−A28を選択し、上位アドレス20が{C0001}であれば、Err−B32を選択して出力する。また、上位アドレス20が{C000F}であれば、Err−M36とErr−A28の論理和を出力する。
【0046】
次に、上述した構成を持つ半導体装置の制御方法について説明する。図2は、本発明の実施形態に係わる半導体装置の制御方法を示すフロー図である。ここでは、主に、システムバス17にCPUモジュールを接続してIPsを同時に動作させ、IPsの動作テストを効率良く行うための制御フローを示した。
【0047】
本発明の実施形態に係わる半導体装置の制御方法は、IPsの処理終了を待つ待機ステップ41、IPsを指定するアドレス設定ステップ42、レジスタのリードライトを行うアクセスステップ43、IPsでの処理状況を確認する処理判定ステップ44、終了判定ステップ45、および、割り込み処理ステップ46とから構成される。
【0048】
待機ステップ41では、CPUは、IPsがコマンド受付可能な状態になるまで待機する。すなわち、Ack35が“0”の間、IPsはビジー状態であり、CPUは定期的にAck35をモニターしながら待機する。そして、Ack35が“1”になりIPsがコマンド受付可能な状態になったら、CPUは次のアドレス設定ステップ42へ移行する。
【0049】
アドレス設定ステップ42では、CPUは、共通アドレスとして{C000F}(アドレスマップの詳細は後述する。)を上位アドレス20へ出力する。この共通アドレスにより、DEC13はIP−A11およびIP−B12の両方を選択し、MUX14はIP−A11の出力信号であるRdD−A26およびAck−A27を出力信号RdD34およびAck35としてシステムバス17へ出力するように設定される。
【0050】
また、ErMX16は、CMP15からのErr−M36とIP−A11からのErr−A28との論理和を割り込み信号Error37としてシステムバス17へ出力するように設定される。
【0051】
また、上位アドレス20と同時にCPUから出力される下位アドレス23により、IPsは、レジスタがWrD25からデータを受信し、RdD34へデータを出力するよう設定される。アドレスの出力が済むとCPUは次のアクセスステップ43へ移行する。
【0052】
アクセスステップ43は、アドレス設定ステップ42で指定されたレジスタに実際にアクセスするステップである。例えば、レジスタへ書き込みをする場合、CPUは、アドレス設定ステップ42でアクセスするレジスタのアドレス、データレジスタなら{000}を下位アドレス23に出力する。
【0053】
次に、アクセスステップ43でデータレジスタに書き込むべきデータをWrD25へ出力し、RW24を“0”にする。実際の書き込みはシステムクロックに同期して行われ、IP−A11およびIP−B12の両方のデータレジスタに同時に同じデータが書き込まれる。
【0054】
同様に、読み出しを行う場合、CPUは、アクセスステップ43でまずRW24を“1”にし、次のシステムクロックに同期してRdD34からデータを受信する。この時、MUX14にはアドレス設定ステップ42で共通アドレスが与えられているので、RdD34にはRdD−A26が出力されており、CPUはIP−A11のデータレジスタの値を読み取ることになるが、IPsは、エラーが発生しない限り、すべて同じ出力信号を出力しているので、問題はない。IPsへのアクセスが済むとCPUは次の処理判定ステップ44へ移行する。
【0055】
処理判定ステップ44は、アクセスステップ43で行ったIPsへのアクセスが設計どおりに正しく処理されたかを判定するステップである。すなわち、アクセスステップ43で読み出しが行われた場合、CMP15でIPsからの出力信号が比較され、その一致または不一致が判定される。
【0056】
比較結果が不一致である場合には、CMP15はErr−M36に“1”を出力し、ErMX16を介してCPUへ割り込み信号であるError37を送出する。これを受けてCPUは割り込み処理ステップ46へ移行する。
【0057】
また、処理判定ステップ44では、CPUは、IPsのフラグレジスタを読出し、それらの値が正しいことを確認する。具体的な方法は、フラグレジスタを指定する{008}を下位アドレス23に出力することを除けば、アクセスステップ43のデータ読み出しと同じである。
【0058】
つまり、アクセスステッブと同様に、CMP15は必要に応じてError37をCPUへ送出し、これを受けてCPUは割り込み処理ステップ46へ移行する。CMP15での比較結果が一致の場合でも、IPsでの処理が正しく行われないこともありうる。
【0059】
この場合は、IP−A11からのErr−A28によって割り込みがかけられ、フラグレジスタの値を調べることで確認できる。設計通りに正しくエラーを発生する場合を除けば、これは、設計に問題があるか、テストルーチンにバグがあることを意味している。このような場合(“NG”)、CPUはテストルーチンを異常終了させる。ただし、開発が終了し量産段階に至った半導体装置の出荷前テスト、いわゆるスクリーニングテストなどに適用する場合には、個別のIPsでの不具合によるCMP15での不一致を除き、このような“NG”が起こる可能性はほとんどないので、フラグレジスタを調べる部分は省略しても差し支えない。
【0060】
さらに、処理判定ステップ44では、各IPsで固有の出力、つまり、シリアルデータA29およびシリアルデータB33も判定される。すなわち、例えば、アクセスステップ43でシリアル出力の処理コマンドがコマンドレジスタに書き込まれた場合には、パッドA18およびパッドB19に接続された外部テスト装置により、シリアルデータA29およびシリアルデータB33の出力が設計どおりであるかが確認される。この結果が“NG”である場合は、CPUはテストルーチンを異常終了させる。
【0061】
上述したような不具合が発生しなければ(“OK”)、CPUは終了判定ステップ45へ移行する。
【0062】
終了判定ステップ45では、必要なテストがすべて終了した時(“Yes”)に、CPUはテストルーチンを正常終了する。まだテストが残っている場合(“No”)には、CPUは待機ステップ41へ移行し次の処理サイクルに入る。
【0063】
処理判定ステップ44でCMP15からのError37が発生すると、CPUは割り込み処理ステップ46へ移行する。ここでは、個別のIPsごとのアドレスを上位アドレス20へ出力し、各IPsのフラグレジスタを読み出し、どのIPsがエラーの原因となったかを調べ、その情報を外部に通知してテストルーチンを終了する。
【0064】
このようにして、CPUは、複数のIPsを同時に動作テストすることができる。
【0065】
次に、上述した構成を持つ半導体装置のアドレス割り付け方法について説明する。図3は、本発明の実施形態に係わる半導体装置のアドレス割り付けを示すアドレスマップである。ここでは、主に、IPsにかかわる部分のアドレスマップを示した。
【0066】
本発明の実施形態に係わる半導体装置のアドレスマップは、上位アドレス20={C0000}(以下、「専用アドレスA」という。)にIP−A11のレジスタ群が割り付けられ、上位アドレス20={C0001}(以下、「専用アドレスB」という。)にIP−B12のレジスタ群が割り付けられ、上位アドレス20={C000F}(以下、「共通アドレス」という。)にIP−A11およびIP−B12の両方のレジスタ群が多重に割り付けられている。
【0067】
専用アドレスAには、下位アドレス23={000}にIP−A11のデータレジスタであるDR−A51が割り付けられ、下位アドレス23={004}にIP−A11のコマンドレジスタであるCMD−A52が割り付けられ、下位アドレス23={008}にIP−A11のフラグレジスタであるFlag−A53が割り付けられ、下位アドレス23={FFC}にIP−A11のマクロIDであるID−A54が割り付けられている。
【0068】
ここで、下位アドレス23が4の倍数になっているのは、アドレスの割り付けがバイト単位であるのに対し、データバス幅が32ビット、つまり4バイトであることによる。
【0069】
専用アドレスBには、下位アドレス23={000}にIP−B12のデータレジスタであるDR−B55が割り付けられ、下位アドレス23={004}にIP−B12のコマンドレジスタであるCMD−B56が割り付けられ、下位アドレス23={008}にIP−B12のフラグレジスタであるFlag−B57が割り付けられ、下位アドレス23={FFC}にIP−B12のマクロIDであるID−B58が割り付けられている。
【0070】
共通アドレスには、下位アドレス23={000}にIPsのデータレジスタであるDR−M59が割り付けられ、下位アドレス23={004}にIPsのコマンドレジスタであるCMD−M60が割り付けられ、下位アドレス23={008}にIPsのフラグレジスタであるFlag−M61が割り付けられている。ここで、DR−M59はDR−A51およびDR−B55が多重に割り付けられていることを表わす仮想的なレジスタであり、CMD−M60、Flag−M61も同様である。
【0071】
すなわち、CPUが共通アドレスにアクセスした場合、上述したように、DEC13がSel−A21およびSel−B22の両方に“1”を出力し、IP−A11およびIP−B12が同時に選択されるため、両方のレジスタ群に同時に書き込み、または、両方のレジスタ群から同時に読み出しが行われる。
【0072】
なお、共通アドレスの下位アドレス23={FFC}にはマクロIDは割り付けられていない。これは、マクロIDがIPsを一意に識別する目的で使用されているためである。
【0073】
このようなアドレスマップを持つ半導体装置を用いてシリアル出力を行う一例を説明する。
【0074】
IP−A11を用いてシリアル出力を行う場合、CPUは上述した制御フロー(図2)の処理サイクルに従って、まず、シリアル出力するデータをDR−A51に書き込む。次に、シリアル出力を指示する処理コマンドをCMD−A52に書き込んでIP−A11の処理実行を起動し、待機ステップ41でその終了を待つ待機状態になる。
【0075】
ただし、開発が終了した量産段階での出荷前テストでは、図2の処理判定ステップ44における各処理サイクルごとのフラグレジスタの読み出しは行われない。シリアルデータA29の出力が終了したら、CPUは、Flag−A53を読み出して処理の実行状況を調べ、処理が要求どおりに行われたことを確認する。
【0076】
この一連の動作において、CPUはIP−A11のレジスタ群にアクセスするために上位アドレス20に{C0000}を出力しているので、MUX14およびErMX16はIP−A11からの出力信号を選択し、出力している。
【0077】
また、IP−A11での処理実行中に致命的なエラーが発生した場合は、IP−A11が出力するErr−A28がError37としてCPUに割り込みをかけるので、CPUはエラー処理ルーチンを実行することができる。
【0078】
IP−B12を用いてシリアル出力を行う場合も、IP−B12のレジスタ群にアクセスすることを除けば、IP−A11と同様である。
【0079】
次に動作テストのためにIPsを同時に動作させる場合を、シリアル出力を例に説明する。CPUは、まず、シリアル出力するデータをDR−M59に書き込む。次に、シリアル出力を指示する処理コマンドをCMD−M60に書き込んでIPsの処理実行を同時に起動し、その終了を待つ状態になる。
【0080】
シリアルデータの出力が終了したら、CPUは、Flag−M61を読み出して処理の実行状況を調べ、処理が要求どおりに行われたことを確認する。この一連の動作において、CPUは上位アドレス20として{C000F}を出力しているので、MUX14はIP−A11からの出力信号を選択出力し、ErMX16はCMP15からのErr−M36とIP−A11からのErr−A28との論理和を出力している。
【0081】
IPsが設計通りに動作していれば、それらの出力信号は全く同じ値となるので、Err−M36は“0”である。逆に、IPsでの処理実行中に何らかのエラーが発生した場合は、IPsの出力信号が異なった値となるので、Err−M36が“1”となり、Error37によってCPUに割り込みがかけられ、CPUはエラー処理ルーチンを実行することができる。
【0082】
また、IPsが設計通りに同じエラーを発生した場合には、IP−A11からのErr−A28が“1”となり、Error37によってCPUに割り込みがかけられる。
【0083】
このようにして、1回のコマンド実行で両方のIPsをテストすることができる。重要なことは、CPUが実行するプログラムは、共通アドレスにアクセスすることを除けば、従来のIPsに対するルーチンがそのまま使用できることである。つまり、過去に蓄積されたIPsのテストルーチンをほとんど変更せずに利用できるということである。
【0084】
上記実施形態によれば、複数のIPsを同時に選択し、動作させることが容易にできるので、半導体装置の動作テスト時間を大幅に短縮することができる。
【0085】
さらに、上位アドレス20の変更だけでIPsへの多重アクセスが容易に実現できるので、従来の蓄積されたテストルーチンをほとんどそのまま使用でき、テストプログラムの開発時間を大幅に削減することができるとともに、テストプログラムの信頼性、ひいては動作テストの信頼性をも損なうことがない。
【0086】
上述の実施形態では、制御信号は正論理であるとしたが、本発明はこれに限られるものではない。また、上述の実施形態では、一例として、共通アドレスにアクセスすることによって動作テストを行う方法を示したが、本発明はこれに限られるものではなく、例えば、複数のIPsに同時に初期値を設定する場合にも適用することができる。その場合、出荷前動作テストでIPsが正しく動作することが確認されていれば、CMP15による出力信号の比較判定は必ずしも必要ではない。
【0087】
さらに、上述の実施形態では、IPsは2つのシリアル入出力マクロであるとしたが、本発明はこれに限られるものではなく、主な構成が同じで所定の入力信号に対して同じ出力信号を生成する機能マクロであれば、その数や機能は限定されない。
【0088】
その場合、共通アドレスのアドレス空間に割り付けられるレジスタ群(以下、これらをまとめて「共通レジスタ」という。)の種類や順序が上述した実施形態と異なるものとなることはいうまでもない。本発明は、複数の機能マクロを有するシステムLSIなどに広く適用することができる。
【0089】
さらに、多重アクセスされるIPsの中に他とは異なる付加機能、付加レジスタなどを有するものがあってもよい。原理的には、多重アクセスされるIPsが、それらに共通する機能、レジスタを有していれば、その部分について本発明を適用することができる。
【0090】
例えば、その機能マクロに固有のレジスタ(以下、「固有レジスタ」という。)は、上述したマクロIDのように、共通アドレスのアドレス空間には割り付けないようにし、同時に動作させるIPsに共通するレジスタだけを共通レジスタとして割り付けるようにすれば良い。
【0091】
また、逆に、固有レジスタも共通アドレスのアドレス空間に割り付け、CPUがそこをアクセスした時は、その機能マクロだけが動作するように設定することもできる。
【0092】
さらに、共通レジスタへ入力可能なすべての組合せに対して、多重アクセスされるIPsがすべて同じ出力信号を生成する必要はない。原理的には、同じ出力信号を生成する入力信号のサブセットに対して本発明を適用し、それらの入力信号に対してだけ共通アドレスを用いた並列動作をさせるように設定することができる。
【0093】
さらに、上述の実施形態では、共通アドレスは1つとしたが、本発明はこれに限られるものではなく、IPsを機能、動作が類似の複数のグループに分け、それぞれに共通アドレスを設けることもできる。この場合、DEC13はそれぞれの共通アドレスに対応するグループに属するIPsへの選択信号を同時に活性化することになる。
【0094】
重要なことは、1つの共通アドレスでアクセスされるあるグループに属するIPsは、同じ種類のレジスタが同じ下位アドレス23に割り付けられているということである。さらに、このグループ分けは、排他的である必要はなく、1つのIPsが複数の共通アドレスでアクセスされるようにしてもよい。
【0095】
さらに、上述の実施形態では、上位アドレス20は20bitであるとしたが、本発明はこれに限られるものではなく、上位アドレス20と下位アドレス23のbit数は必要に応じて任意に設定してよい。
【0096】
さらに、上述の実施形態では、MUX14は、共通アドレスがアクセスされた場合、IP−A11の出力信号を選択するとしたが、本発明はこれに限られるものではなく、共通アドレスで多重にアクセスされるIPsのうちどのIPsの出力信号を選択してもよい。
【0097】
さらに、上述の実施形態では、CMP15の判定結果であるErr−M36は、ErMX16へ出力するとしたが、本発明はこれに限られるものではなく、出力バッファおよび出力パッドなどの外部出力手段を介して、半導体装置外部へ直接出力してもよい。この場合、半導体装置の良否判定はErr−M36に従って外部装置で行う。
【0098】
また、上述したCMP15と同等の機能をCPUのソフトウェアとして実装することも可能である。この場合、IPsの出力信号はそれぞれの専用アドレスを用いて順次読み出す必要があるが、ソフトウェアで比較することには、出力信号のうち特定のビットだけを比較するなど、必要に応じて柔軟に対応できるというメリットがある。
【0099】
さらに、上述の実施形態では、CPUは、システムバス17に接続された内部モジュールであるとしたが、本発明はこれに限られるものではなく、例えば、システムバス17を半導体装置の外部へ引き出し、そこへ汎用のCPUまたはコンピュータなどを接続し、上述のCPUモジュールと同様に、IPsの動作テストや初期値設定を行うことができる。
【0100】
【発明の効果】
以上説明したように本発明によれば、複数の機能マクロを同時に選択し、選択した機能マクロに同一の処理を並列に実行させることが容易にできるので、半導体装置の処理時間を大幅に短縮することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係わる半導体装置を示す回路ブロック図。
【図2】本発明の実施形態に係わる半導体装置の制御方法を示すフロー図。
【図3】本発明の実施形態に係わる半導体装置のアドレス割り付けを示すアドレスマップ。
【符号の説明】
11 機能マクロA
12 機能マクロB
13 アドレスデコーダ
14 マルチプレクサ
15 コンパレータ
16 エラー信号マルチプレクサ
17 システムバス
18 パッドA
19 パッドB
20 上位アドレス
21 選択信号A
22 選択信号B
23 下位アドレス
24、25 入力信号
26、27 出力信号A
28 エラー信号A
29 シリアルデータA
30、31 出力信号B
32 エラー信号B
33 シリアルデータB
34、35 出力信号
36 判定信号
37 エラー割込み信号
41 待機ステップ
42 アドレス設定ステップ
43 アクセスステップ
44 処理判定ステップ
45 終了判定ステップ
46 割り込み処理ステップ
51、55、59 データレジスタ
52、56、60 コマンドレジスタ
53、57、61 フラグレジスタ
54、58 マクロID

Claims (13)

  1. 主な構成が同じで、所定の入力信号に対して同じ出力信号を生成する複数の機能マクロと、
    予め定められたアドレスを受信した場合に、前記複数の機能マクロのうち少なくとも2つを同時に選択する選択手段を備え、
    前記選択された機能マクロにおいて同一の処理が並列に実行されることを特徴とする半導体装置。
  2. 前記選択手段は、
    予め定められたアドレスを受信した場合に、前記複数の機能マクロのすべてを同時に選択することを特徴とする請求項1に記載の半導体装置。
  3. 前記複数の機能マクロが生成した前記出力信号を受信し、これらの一致または不一致を示す判定信号を生成する比較手段をさらに有することを特徴とする請求項1に記載の半導体装置。
  4. 前記判定信号を外部に出力する出力手段をさらに有することを特徴とする請求項3に記載の半導体装置。
  5. 前記機能マクロは、
    処理が正常に終了しなかった場合にエラー信号を生成し出力する機能をさらに備え、
    前記判定信号および前記複数の機能マクロからの前記エラー信号が入力され、受信したアドレスに従って、前記判定信号および前記エラー信号のうちいずれか1つを選択しエラー割込み信号として出力するエラー出力切替手段をさらに有することを特徴とする請求項3に記載の半導体装置。
  6. 前記複数の機能マクロからの前記出力信号が入力され、受信したアドレスに従って前記出力信号のうち1つを選択して出力する出力切替手段と、前記選択手段へ前記アドレスを供給し、前記複数の機能マクロへ前記入力信号を供給し、前記出力切替手段へ前記アドレスを供給し、前記出力切替手段から前記選択された出力信号を受信し、前記機能マクロに処理を実行させるCPUを接続可能なシステムバスをさらに有することを特徴とする請求項1に記載の半導体装置。
  7. 前記複数の機能マクロからの前記出力信号が入力され、受信したアドレスに従って前記出力信号のうち1つを選択して出力する出力切替手段と、前記選択手段へ前記アドレスを供給し、前記複数の機能マクロへ前記入力信号を供給し、前記出力切替手段へ前記アドレスを供給し、前記出力切替手段から前記選択された前記出力信号を受信し、前記エラー出力切替手段へ前記アドレスを供給し、前記エラー出力切替手段から前記エラー割込み信号を受信し、前記機能マクロに処理を実行させるCPUを接続可能なシステムバスをさらに有することを特徴とする請求項5に記載の半導体装置。
  8. 主な構成が同じで、所定の入力信号に対して同じ出力信号を生成する複数の機能マクロと、
    前記機能マクロを選択する選択手段を備えた半導体装置のアドレス割り付け方法であって、
    前記選択手段が前記複数の機能マクロのうち少なくとも2つを同時に選択するように、予め定められた共通アドレスに前記複数の機能マクロを割り付け、前記共通アドレスを受信することにより、前記選択された機能マクロにおいて同一の処理が並列に実行されるようにしたことを特徴とする半導体装置のアドレス割り付け方法。
  9. 前記共通アドレスに、前記複数の機能マクロのすべてを割り付けることを特徴とする請求項8に記載の半導体装置のアドレス割り付け方法。
  10. 主な構成が同じで、所定の入力信号に対して同じ出力信号を生成する複数の機能マクロと、
    前記機能マクロを選択する選択手段を備えた半導体装置の制御方法であって、
    前記選択手段が前記複数の機能マクロのうち少なくとも2つを同時に選択するような予め定められた共通アドレスを前記選択手段に供給するアドレス設定ステップと、
    前記選択された機能マクロの前記共通アドレスによって特定されるレジスタからのデータ読み出し、または、当該レジスタへのデータ書き込みを行うアクセスステップを有し、
    前記選択された機能マクロにおいて同一の処理が並列に実行されるようにしたことを特徴とする半導体装置の制御方法。
  11. 前記共通アドレスは、前記複数の機能マクロをすべて選択するためのアドレスであることを特徴とする請求項10に記載の半導体装置の制御方法。
  12. 前記アクセスステップでの前記機能マクロの処理が終了した後、前記機能マクロからの前記出力信号を比較し、これらが不一致の場合には、実行中断を選択する処理判定ステップをさらに有することを特徴とする請求項10に記載の半導体装置の制御方法。
  13. 前記複数の機能マクロが生成した前記出力信号を受信し、これらの一致または不一致を示す判定信号を生成する比較手段をさらに備えた半導体装置の制御方法であって、
    前記判定信号が不一致の場合には、実行中断を選択する処理判定ステップをさらに有することを特徴とする請求項10に記載の半導体装置の制御方法。
JP2003158337A 2003-06-03 2003-06-03 半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法 Pending JP2004362157A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003158337A JP2004362157A (ja) 2003-06-03 2003-06-03 半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003158337A JP2004362157A (ja) 2003-06-03 2003-06-03 半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法

Publications (1)

Publication Number Publication Date
JP2004362157A true JP2004362157A (ja) 2004-12-24

Family

ID=34051778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003158337A Pending JP2004362157A (ja) 2003-06-03 2003-06-03 半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法

Country Status (1)

Country Link
JP (1) JP2004362157A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011527746A (ja) * 2008-07-11 2011-11-04 株式会社アドバンテスト 試験装置および半導体デバイス
WO2014045500A1 (ja) * 2012-09-21 2014-03-27 三菱電機株式会社 Lsi及びlsi製造方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011527746A (ja) * 2008-07-11 2011-11-04 株式会社アドバンテスト 試験装置および半導体デバイス
WO2014045500A1 (ja) * 2012-09-21 2014-03-27 三菱電機株式会社 Lsi及びlsi製造方法
JP5835498B2 (ja) * 2012-09-21 2015-12-24 三菱電機株式会社 Lsi及びlsi製造方法
US9424040B2 (en) 2012-09-21 2016-08-23 Mitsubishi Electric Corporation LSI and LSI manufacturing method

Similar Documents

Publication Publication Date Title
KR100488232B1 (ko) 집적 dma 제어기를 이용한 집적 메모리 테스트 방법
JP4215393B2 (ja) 集積回路の修復方法
CN110515891B (zh) 一种fpga芯片及其配置方法
JP2001154876A (ja) マイクロコンピュータデバッグアーキテクチャ及び方法
JP2001154875A (ja) マイクロコンピュータデバッグアーキテクチャ及び方法
US20070067685A1 (en) Testing apparatus and testing method
CN109213638B (zh) 半导体装置
KR20020082799A (ko) 동적 번인 테스트 기능을 갖는 단일칩 마이크로컴퓨터 및이를 위한 동적 번인 테스트 방법
JP2004362157A (ja) 半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法
US20010052114A1 (en) Data processing apparatus
CN100524537C (zh) 存储器测试电路和方法
US7484147B2 (en) Semiconductor integrated circuit
WO2012172682A1 (ja) 演算処理装置及び演算処理装置の制御方法
JPH1040130A (ja) マイクロコンピュータ
US7222202B2 (en) Method for monitoring a set of semaphore registers using a limited-width test bus
JP2004101203A (ja) ロジックlsiの不良解析システム及び不良解析方法
JP2004079032A (ja) 半導体装置のテスト方法及び半導体装置
KR100289831B1 (ko) 롬 데이터 확인용 회로
CN113742198B (zh) 测试方法、装置、电子设备及存储介质
JPH08161191A (ja) インサーキットエミュレータ
JPH01270684A (ja) Lsiテスト方式
CN121579283A (zh) 内存测试方法、装置、电子设备及存储介质
JP2000181900A (ja) シングルチップマイクロコンピュータ
KR20250110644A (ko) 테스트 장치, 전자 장치, 및 테스트 장치의 동작 방법
JP4688724B2 (ja) 機能ブロックのテスト回路及び集積回路装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050415

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050606