JP2004362157A - Semiconductor device, address assignment method thereof, and control method of semiconductor device - Google Patents
Semiconductor device, address assignment method thereof, and control method of semiconductor device Download PDFInfo
- 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
Links
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
【課題】複数の機能マクロを同時に選択し、動作させることができる半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法を実現する。
【解決手段】本発明の半導体装置、そのアドレス割り付け方法、および半導体装置の制御方法は、主な構成が同じで、所定の入力信号に対して同じ出力信号を生成する複数の機能マクロと、それらに対応した複数の選択信号出力を備え、共通アドレスを受信した場合に、複数の選択信号出力のうち少なくとも2つを同時に活性化し、複数の機能マクロのうち少なくとも2つを同時に選択する選択手段を有することを特徴とし、共通アドレスにアクセスすることで、複数の機能マクロを並列に動作させ、半導体装置の処理時間を短縮することができる。
【選択図】 図1A semiconductor device capable of simultaneously selecting and operating a plurality of function macros, an address assignment method thereof, and a control method of the semiconductor device are realized.
A semiconductor device, an address assignment method thereof, and a control method of a semiconductor device according to the present invention have a plurality of function macros which have the same main configuration and generate the same output signal with respect to a predetermined input signal. And selecting means for simultaneously activating at least two of the plurality of selection signal outputs and simultaneously selecting at least two of the plurality of function macros when a common address is received. By accessing a common address, a plurality of function macros can be operated in parallel, and the processing time of the semiconductor device can be reduced.
[Selection diagram] Fig. 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[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a semiconductor device equipped with a plurality of function macros, an address assignment method thereof, and a control method of the semiconductor device.
[0002]
[Prior art]
In a conventional semiconductor device having a function macro, for example, an IP (Intellectual Property), it is necessary to execute a test of the function macro in a final test before shipment. For this, a method is used in which a system operation when the user actually uses the system is assumed, a test program for each function macro is created in accordance with the system operation, and these are sequentially executed.
[0003]
In recent years, since the entire system has become complicated and it is not practical to test all combinations, the degree of completion of the test program greatly affects the reliability of operation guarantee of the semiconductor device.
[0004]
Furthermore, with the rapid progress of miniaturization in semiconductor processes, SOC (System on Chip) has appeared and many functional macros have been mounted on one chip, so such test technology is becoming increasingly important. It has become.
[0005]
By the way, the test method as described above has a problem that a test time is increased in proportion to the number of mounted function macros because the test program is repeatedly executed by the number of function macros. Also, in the final test before shipment, the completeness of the test program that guarantees the operation of the entire system is very important, and simplifying the test routine introduced to screen past problem cases will provide sufficient assurance. It can be difficult. For this reason, the final test requires an enormous amount of test time in combination with the increase in the number of mounted macros due to the complexity of the system.
[0006]
Therefore, for a semiconductor device with simple input / output, a so-called multi-cavity test device for simultaneously testing a plurality of semiconductor devices is used, and a plurality of such devices are operated in parallel to increase the number of tests per unit time. The method has traditionally been adopted. However, in a semiconductor device having a large number of inputs and outputs such as an SOC, there is no test device capable of obtaining a large number of devices. Therefore, this method requires a huge capital investment including the installation area of the test device. .
[0007]
In order to cope with such a problem, there has been proposed a method of reducing a test time of a scan test. That is, Patent Document 1 describes a method of shortening a test time by branching a part of a scan path and performing input / output of scan data in that part in parallel.
[0008]
However, the scan test has an essential disadvantage that the operation of the function macro cannot be sufficiently guaranteed. The scan test is originally intended to verify partial circuit logic and to detect wiring connection failures, that is, open or shorted wiring, and is not suitable for screening of semiconductor devices in the final test as described above. It is. In particular, in order to guarantee the operation of the function macro, the scan test is not sufficient, and the operation test using the accumulated test routine is indispensable.
[0009]
In recent years, as described above, the system tends to be more complicated, and reducing the test time required for guaranteeing the operation in the final test is an important issue.
[0010]
[Patent Document 1]
JP-A-2002-196045
[0011]
[Problems to be solved by the invention]
As described above, conventionally, since the operation test of a plurality of function macros mounted by repeatedly and sequentially executing the test program is performed, there is a problem that an enormous test time is required for a final test before shipment.
[0012]
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and it is an object of the present invention to provide a semiconductor device capable of testing a plurality of function macros in a short time, an address assignment method thereof, and a semiconductor device control method. Aim.
[0013]
[Means for Solving the Problems]
According to one aspect of the present invention, a plurality of function macros having the same main configuration and generating the same output signal with respect to a predetermined input signal and the plurality of function macros when a predetermined address is received. There is provided a semiconductor device comprising a selecting means for simultaneously selecting at least two of the macros, wherein the same processing is executed in parallel in the selected function macro.
[0014]
According to one embodiment of the present invention, a semiconductor device having the same main configuration and including a plurality of function macros that generate the same output signal with respect to a predetermined input signal and a selection unit that selects the function macro Address allocation method, wherein the plurality of function macros are allocated to a predetermined common address so that the selection means simultaneously selects at least two of the plurality of function macros, and the common address is received. Accordingly, there is provided an address allocation method for a semiconductor device, wherein the same processing is executed in parallel in the selected function macro.
[0015]
Further, according to one aspect of the present invention, a semiconductor device having the same main configuration and including a plurality of function macros that generate the same output signal with respect to a predetermined input signal and a selection unit that selects the function macro An address setting step of supplying a predetermined common address to the selection unit such that the selection unit simultaneously selects at least two of the plurality of function macros, and the selected function An access step of reading data from a register specified by the common address of the macro or writing data to the register, so that the same processing is executed in parallel in the selected function macro A method for controlling a semiconductor device is provided.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of a semiconductor device, an address assignment method thereof, and a control method of a semiconductor device according to the present invention (hereinafter, referred to as “embodiments”) will be described with reference to the drawings.
[0017]
FIG. 1 is a circuit block diagram illustrating a semiconductor device according to an embodiment of the present invention. Here, mainly, a portion relating to a plurality of function macros having the same main configuration and a means for operating them at the same time is shown.
[0018]
The semiconductor device according to the embodiment of the present invention has a function macro A11 and a function macro B12 (hereinafter, referred to as “IP-A11” and “IP-B12”, respectively) having the same main configuration. These are collectively referred to as “IPs”), an address decoder 13 (hereinafter, referred to as “DEC 13”) for selecting IPs, and a multiplexer 14 (hereinafter, “
[0019]
The DEC 13 receives the
[0020]
The IP-A11 includes, in addition to the Sel-A21 from the DEC 13, the
[0021]
Further, the IP-A11 inputs and outputs serial data A29 to and from the outside of the semiconductor device via the pad A18.
[0022]
The IP-B 12 receives, in addition to the Sel-
[0023]
The IP-B12 inputs and outputs serial data B33 to and from the outside of the semiconductor device via the pad B19.
[0024]
The
[0025]
The
[0026]
The
[0027]
The system bus 17 includes a 32-bit address bus, a control bus including the
[0028]
For the 32-bit address, the upper 20 bits ([31:12]) are used as the
[0029]
WrD25 is data written to IPs, and RdD34 is data read from IPs. RW24 is a signal for controlling reading from IPs or writing to IPs. RW24 = "1" means reading, and RW24 = "0" means writing.
[0030]
That is, when RW24 = "1", data is read from the register specified by the
[0031]
Ack35 is a response signal of IPs indicating that a command can be received from the CPU. When "1", the IPs can receive the command, and when "0", the IPs indicate that the IPs are being processed. I have.
[0032]
Hereinafter, the control signal is positive logic unless otherwise specified.
[0033]
The
[0034]
The DEC 13 outputs Sel-A21 and Sel-B22 for selecting IPs according to the value of the
[0035]
If the
[0036]
The IP-A11 is a serial input / output module that inputs and outputs serial data A29 to and from the outside of the semiconductor device, and has a serial input / output terminal connected to a dedicated pad A18. Further, the IP-
[0037]
The data register is used to transfer data input and output as serial data A29 to and from the CPU. The command register is a register in which the CPU writes a processing command to be executed by the IP-
[0038]
Reading from these register groups is performed as follows. First, Ack-
[0039]
Similarly, writing to the register group is performed as follows. First, Ack-
[0040]
The macro ID holds an identification code for identifying IPs, and is read-only.
[0041]
The configuration and operation of the IP-B12 are the same as those of the IP-A11 except that the serial input / output terminal is connected to the dedicated pad B19 and the identification code held by the macro ID is different from the IP-A11. Is the same.
[0042]
According to the value of the
[0043]
That is, if the
[0044]
The
[0045]
The
[0046]
Next, a control method of the semiconductor device having the above-described configuration will be described. FIG. 2 is a flowchart showing a method for controlling the semiconductor device according to the embodiment of the present invention. Here, a control flow for connecting a CPU module to the system bus 17 to simultaneously operate IPs and efficiently perform an IPs operation test has been described.
[0047]
The control method of the semiconductor device according to the embodiment of the present invention includes a waiting
[0048]
In the
[0049]
In the
[0050]
The
[0051]
The IPs are set so that the register receives the data from the
[0052]
The
[0053]
Next, in
[0054]
Similarly, when performing reading, the CPU first sets the
[0055]
The
[0056]
If the comparison results are inconsistent, the
[0057]
In the
[0058]
That is, similarly to the access step, the
[0059]
In this case, an interrupt is generated by Err-A28 from IP-A11 and can be confirmed by checking the value of the flag register. This means that there is a problem in the design or a bug in the test routines, except when errors are generated correctly as designed. In such a case (“NG”), the CPU abnormally ends the test routine. However, when applied to a pre-shipment test of a semiconductor device whose development has been completed and has reached the mass production stage, that is, a so-called screening test, such “NG” is excluded except for a mismatch in the
[0060]
Further, in the
[0061]
If the above-described problem does not occur (“OK”), the CPU proceeds to the
[0062]
In the
[0063]
When an
[0064]
In this way, the CPU can simultaneously test the operation of a plurality of IPs.
[0065]
Next, an address assignment method for the semiconductor device having the above-described configuration will be described. FIG. 3 is an address map showing address assignment of the semiconductor device according to the embodiment of the present invention. Here, an address map of a portion related to IPs is mainly shown.
[0066]
In the address map of the semiconductor device according to the embodiment of the present invention, the register group of the IP-A11 is allocated to the
[0067]
To the dedicated address A, DR-A51 which is a data register of IP-A11 is allocated to
[0068]
Here, the reason why the
[0069]
For the dedicated address B, DR-B55 which is a data register of IP-B12 is allocated to
[0070]
To the common address, DR-M59 which is a data register of IPs is assigned to
[0071]
That is, when the CPU accesses the common address, as described above, the DEC 13 outputs “1” to both the Sel-A21 and the Sel-B22, and the IP-A11 and the IP-B12 are simultaneously selected. , Or read from both register groups simultaneously.
[0072]
Note that no macro ID is assigned to the
[0073]
An example of performing serial output using a semiconductor device having such an address map will be described.
[0074]
When serial output is performed using the IP-A11, the CPU first writes data to be serially output to the DR-A51 according to the processing cycle of the above-described control flow (FIG. 2). Next, a processing command for instructing serial output is written into the CMD-
[0075]
However, in the pre-shipment test at the stage of mass production after the development is completed, reading of the flag register for each processing cycle in the
[0076]
In this series of operations, the CPU outputs {C0000} to the
[0077]
Further, when a fatal error occurs during the execution of the processing in the IP-A11, the Err-A28 output from the IP-A11 interrupts the CPU as the Error37, so that the CPU may execute the error processing routine. it can.
[0078]
The case of performing serial output using the IP-B12 is the same as that of the IP-A11, except that the register group of the IP-B12 is accessed.
[0079]
Next, a case where IPs are operated simultaneously for an operation test will be described by taking a serial output as an example. First, the CPU writes data to be serially output to the DR-M59. Next, a processing command instructing a serial output is written into the CMD-M60, and the execution of the processing of the IPs is started at the same time.
[0080]
When the output of the serial data is completed, the CPU reads the Flag-M61, checks the execution status of the process, and confirms that the process has been performed as requested. In this series of operations, the CPU outputs {C000F} as the
[0081]
If the IPs are operating as designed, their output signals have exactly the same value, and Err-M36 is "0". Conversely, if any error occurs during the execution of the process in the IPs, the output signal of the IPs has a different value, and the Err-
[0082]
If the same error occurs in the IPs as designed, the Err-
[0083]
In this way, both IPs can be tested with one command execution. The important thing is that the program executed by the CPU can use the routine for the conventional IPs as it is, except for accessing a common address. In other words, the test routine for IPs accumulated in the past can be used with almost no change.
[0084]
According to the above embodiment, a plurality of IPs can be simultaneously selected and operated easily, so that the operation test time of the semiconductor device can be significantly reduced.
[0085]
Furthermore, since multiple access to IPs can be easily realized only by changing the
[0086]
In the above embodiment, the control signal has a positive logic, but the present invention is not limited to this. In the above-described embodiment, as an example, a method of performing an operation test by accessing a common address has been described. However, the present invention is not limited to this. For example, an initial value may be set to a plurality of IPs at the same time. It can also be applied to the case. In this case, if it is confirmed by the pre-shipment operation test that the IPs operate correctly, the comparison judgment of the output signal by the
[0087]
Furthermore, in the above-described embodiment, IPs are two serial input / output macros. However, the present invention is not limited to this. The main configuration is the same, and the same output signal is output for a predetermined input signal. The number and functions of the function macros to be generated are not limited.
[0088]
In this case, it goes without saying that the types and order of the register groups (hereinafter collectively referred to as “common registers”) allocated to the address space of the common address are different from those in the above-described embodiment. The present invention can be widely applied to a system LSI having a plurality of function macros and the like.
[0089]
Further, some of the IPs that are multiple-accessed may have additional functions, additional registers, and the like different from the others. In principle, the present invention can be applied to multiple access IPs provided that they have a common function and register.
[0090]
For example, registers unique to the function macro (hereinafter, referred to as “unique registers”) are not allocated to the address space of the common address as in the macro ID described above, and only registers common to the IPs operated simultaneously are used. May be assigned as a common register.
[0091]
Conversely, a unique register can also be assigned to the address space of the common address, and when the CPU accesses it, it can be set so that only the function macro operates.
[0092]
Further, it is not necessary that the multiple-accessed IPs all generate the same output signal for all combinations that can be input to the common register. In principle, the present invention can be applied to a subset of input signals that generate the same output signal, and can be set so that only those input signals are operated in parallel using a common address.
[0093]
Further, in the above-described embodiment, the number of common addresses is one. However, the present invention is not limited to this. IPs may be divided into a plurality of groups having similar functions and operations, and a common address may be provided for each group. . In this case, the DEC 13 simultaneously activates the selection signals for the IPs belonging to the group corresponding to each common address.
[0094]
What is important is that IPs belonging to a group accessed by one common address have the same type of register assigned to the same
[0095]
Further, in the above-described embodiment, the
[0096]
Furthermore, in the above-described embodiment, the
[0097]
Further, in the above-described embodiment, the Err-M36 which is the determination result of the
[0098]
In addition, a function equivalent to the above-described
[0099]
Further, in the above-described embodiment, the CPU is an internal module connected to the system bus 17, but the present invention is not limited to this. For example, the system bus 17 is pulled out of the semiconductor device, A general-purpose CPU or computer or the like is connected thereto, and similarly to the above-described CPU module, an operation test of IPs and initial value setting can be performed.
[0100]
【The invention's effect】
As described above, according to the present invention, it is easy to select a plurality of function macros at the same time and to execute the same processing in parallel on the selected function macros, so that the processing time of the semiconductor device is greatly reduced. be able to.
[Brief description of the drawings]
FIG. 1 is a circuit block diagram showing a semiconductor device according to an embodiment of the present invention.
FIG. 2 is a flowchart showing a control method of the semiconductor device according to the embodiment of the present invention.
FIG. 3 is an address map showing address assignment of the semiconductor device according to the embodiment of the present invention.
[Explanation of symbols]
11 Function macro A
12 Function macro B
13 Address decoder
14 Multiplexer
15 Comparator
16 Error signal multiplexer
17 System bus
18 Pad A
19 Pad B
20 Upper address
21 Selection signal A
22 Selection signal B
23 Lower address
24, 25 input signal
26, 27 output signal A
28 Error signal A
29 Serial data A
30, 31 output signal B
32 Error signal B
33 Serial data B
34, 35 output signal
36 Judgment signal
37 Error interrupt signal
41 Waiting step
42 Address setting step
43 Access Step
44 Processing decision step
45 End judgment step
46 Interrupt processing step
51, 55, 59 data registers
52, 56, 60 Command register
53, 57, 61 flag registers
54, 58 Macro ID
Claims (13)
予め定められたアドレスを受信した場合に、前記複数の機能マクロのうち少なくとも2つを同時に選択する選択手段を備え、
前記選択された機能マクロにおいて同一の処理が並列に実行されることを特徴とする半導体装置。A plurality of function macros having the same main configuration and generating the same output signal with respect to a predetermined input signal,
When receiving a predetermined address, comprising: selecting means for simultaneously selecting at least two of the plurality of function macros;
A semiconductor device wherein the same processing is executed in parallel in the selected function macro.
予め定められたアドレスを受信した場合に、前記複数の機能マクロのすべてを同時に選択することを特徴とする請求項1に記載の半導体装置。The selecting means,
2. The semiconductor device according to claim 1, wherein when a predetermined address is received, all of the plurality of function macros are selected at the same time.
処理が正常に終了しなかった場合にエラー信号を生成し出力する機能をさらに備え、
前記判定信号および前記複数の機能マクロからの前記エラー信号が入力され、受信したアドレスに従って、前記判定信号および前記エラー信号のうちいずれか1つを選択しエラー割込み信号として出力するエラー出力切替手段をさらに有することを特徴とする請求項3に記載の半導体装置。The function macro is
It further has a function to generate and output an error signal when the processing is not completed normally,
An error output switching unit that receives the determination signal and the error signal from the plurality of function macros, selects one of the determination signal and the error signal according to a received address, and outputs the selected signal as an error interrupt signal; The semiconductor device according to claim 3, further comprising:
前記機能マクロを選択する選択手段を備えた半導体装置のアドレス割り付け方法であって、
前記選択手段が前記複数の機能マクロのうち少なくとも2つを同時に選択するように、予め定められた共通アドレスに前記複数の機能マクロを割り付け、前記共通アドレスを受信することにより、前記選択された機能マクロにおいて同一の処理が並列に実行されるようにしたことを特徴とする半導体装置のアドレス割り付け方法。A plurality of function macros having the same main configuration and generating the same output signal with respect to a predetermined input signal,
An address assignment method for a semiconductor device, comprising a selection unit for selecting the function macro,
By assigning the plurality of function macros to a predetermined common address and receiving the common address so that the selecting means simultaneously selects at least two of the plurality of function macros, the selected function is selected. An address allocation method for a semiconductor device, wherein the same processing is executed in parallel in a macro.
前記機能マクロを選択する選択手段を備えた半導体装置の制御方法であって、
前記選択手段が前記複数の機能マクロのうち少なくとも2つを同時に選択するような予め定められた共通アドレスを前記選択手段に供給するアドレス設定ステップと、
前記選択された機能マクロの前記共通アドレスによって特定されるレジスタからのデータ読み出し、または、当該レジスタへのデータ書き込みを行うアクセスステップを有し、
前記選択された機能マクロにおいて同一の処理が並列に実行されるようにしたことを特徴とする半導体装置の制御方法。A plurality of function macros having the same main configuration and generating the same output signal with respect to a predetermined input signal,
A control method of a semiconductor device comprising a selection unit for selecting the function macro,
An address setting step of supplying a predetermined common address to the selection unit such that the selection unit simultaneously selects at least two of the plurality of function macros;
An access step of reading data from a register specified by the common address of the selected function macro, or writing data to the register,
A method of controlling a semiconductor device, wherein the same processing is executed in parallel in the selected function macro.
前記判定信号が不一致の場合には、実行中断を選択する処理判定ステップをさらに有することを特徴とする請求項10に記載の半導体装置の制御方法。A method for controlling a semiconductor device, further comprising: a comparison unit configured to receive the output signals generated by the plurality of function macros and generate a determination signal indicating a match or a mismatch between the output signals.
The method according to claim 10, further comprising a process determining step of selecting execution interruption when the determination signals do not match.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003158337A JP2004362157A (en) | 2003-06-03 | 2003-06-03 | Semiconductor device, address assignment method thereof, and control method of semiconductor device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003158337A JP2004362157A (en) | 2003-06-03 | 2003-06-03 | Semiconductor device, address assignment method thereof, and control method of semiconductor device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004362157A true JP2004362157A (en) | 2004-12-24 |
Family
ID=34051778
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003158337A Pending JP2004362157A (en) | 2003-06-03 | 2003-06-03 | Semiconductor device, address assignment method thereof, and control method of semiconductor device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004362157A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011527746A (en) * | 2008-07-11 | 2011-11-04 | 株式会社アドバンテスト | Test apparatus and semiconductor device |
| WO2014045500A1 (en) * | 2012-09-21 | 2014-03-27 | 三菱電機株式会社 | Lsi and method for producing lsi |
-
2003
- 2003-06-03 JP JP2003158337A patent/JP2004362157A/en active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011527746A (en) * | 2008-07-11 | 2011-11-04 | 株式会社アドバンテスト | Test apparatus and semiconductor device |
| WO2014045500A1 (en) * | 2012-09-21 | 2014-03-27 | 三菱電機株式会社 | Lsi and method for producing lsi |
| JP5835498B2 (en) * | 2012-09-21 | 2015-12-24 | 三菱電機株式会社 | LSI and LSI manufacturing method |
| US9424040B2 (en) | 2012-09-21 | 2016-08-23 | Mitsubishi Electric Corporation | LSI and LSI manufacturing method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100488232B1 (en) | A method for testing integrated memory using an integrated dma controller | |
| JP4215393B2 (en) | Integrated circuit repair method | |
| CN110515891B (en) | FPGA chip and configuration method thereof | |
| JP2001154875A (en) | Microcomputer debug architecture and method | |
| US20070067685A1 (en) | Testing apparatus and testing method | |
| CN109213638B (en) | Semiconductor device with a plurality of semiconductor chips | |
| JP2002323993A (en) | Single chip microcomputer, testing method therefor and test program | |
| CN109144808B (en) | Semiconductor device with a semiconductor device having a plurality of semiconductor chips | |
| JP2004362157A (en) | Semiconductor device, address assignment method thereof, and control method of semiconductor device | |
| US20010052114A1 (en) | Data processing apparatus | |
| CN100524537C (en) | Memory test circuit and method | |
| US7484147B2 (en) | Semiconductor integrated circuit | |
| WO2012172682A1 (en) | Arithmetic processing device and control method for arithmetic processing device | |
| JPH1040130A (en) | Microcomputer | |
| US7222202B2 (en) | Method for monitoring a set of semaphore registers using a limited-width test bus | |
| JP2004101203A (en) | Failure analysis system for logic lsi and failure analysis method | |
| JP2004079032A (en) | Semiconductor device test method and semiconductor device | |
| KR100289831B1 (en) | Rom data verification circuit | |
| CN113742198B (en) | Test method, test device, electronic equipment and storage medium | |
| JPH08161191A (en) | In-circuit emulator | |
| JPH01270684A (en) | Testing system of lsi | |
| CN121579283A (en) | Memory testing methods, apparatus, electronic devices and storage media | |
| JP2000181900A (en) | Single chip microcomputer | |
| KR20250110644A (en) | Test device, electronic device, and opertaing method of test device | |
| JP4688724B2 (en) | Functional block test circuit and integrated circuit device |
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 |