(57)【特許請求の範囲】
【請求項１】
第１制御信号により演算を行う第１演算処理部及び第１プログラムに基づいて前記第１制御信号を生成する第１命令制御部を有する演算処理回路と、第２制御信号により演算を行う第２演算処理部及び第２プログラムに基づいて前記第２制御信号を生成する第２命令制御部を有するソフトウェア開発支援回路とを具備し、
前記第１演算処理部は、第１アドレスを生成するアドレスジェネレータと、前記第１アドレスを保持するアドレスレジスタと、前記第１アドレスに基づいて演算データを出力するデータメモリと、前記演算データの演算を行う演算器と、前記演算器の出力信号を保持するデータレジスタとを有し、
前記第１命令制御部は、第２アドレスを生成するプログラムカウンタと、前記プログラムカウンタを制御するコントローラと、前記第２アドレスに基づいて命令データを出力するプログラムメモリと、前記命令データに基づいて前記第１制御信号を生成するインストラクションデコーダとを有し、
前記ソフトウェア開発支援回路は、前記第１制御信号による演算中に、少なくとも、前記プログラムカウンタのデータ、前記プログラムメモリから読み出されるデータ、前記アドレスレジスタのデータ、前記データメモリから読み出されるデータ、及び、前記データレジスタのデータを、それぞれ、リアルタイムで検出し、前記リアルタイムで検出された前記演算処理回路の内部状態を表すデータは、前記第２演算処理部において前記第２制御信号に基づく所定の手順又は条件に従って演算処理され、その演算結果に基づき、前記演算処理回路の不具合を検出することを特徴とする半導体集積回路。
【請求項２】
前記ソフトウェア開発支援回路は、前記演算結果に基づき、前記演算処理回路の動作を停止させるか否かを決定することを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記第２演算処理部は、前記演算処理回路の内部状態を表すデータの演算を行う演算器と、前記演算器の出力信号を保持するデータレジスタとを有することを特徴とする請求項１に記載の半導体集積回路。
【請求項４】
前記ソフトウェア開発支援回路は、前記演算処理回路の内部状態を表すデータを保持するレジスタと、前記データを選択的に前記第２演算処理部の前記演算器に与えるセレクタとを有することを特徴とする請求項３に記載の半導体集積回路。
【請求項５】
前記第２命令制御部は、第３アドレスを生成するプログラムカウンタと、前記プログラムカウンタを制御するコントローラと、前記第３アドレスに基づいて命令データを出力するプログラムメモリと、前記命令データに基づいて前記第２制御信号を生成するインストラクションデコーダとを有することを特徴とする請求項１に記載の半導体集積回路。
【請求項６】
前記ソフトウェア支援回路は、特定の命令とその命令による数値演算の結果とに基づいて前記演算処理回路の動作を停止させるか否かを決定することを特徴とする請求項１に記載の半導体集積回路。
【請求項７】
前記ソフトウェア支援回路は、異なる複数の命令とこれら命令による数値演算の結果とに基づいて、前記演算処理回路の動作を停止させるか否かを決定することを特徴とする請求項１に記載の半導体集積回路。
【請求項８】
前記演算処理回路と前記ソフトウェア開発支援回路は、１チップ内に形成されることを特徴とする請求項１に記載の半導体集積回路。
【請求項９】
前記演算処理回路は、デジタル信号処理装置又はそれを有する携帯情報機器に使用されることを特徴とする請求項１に記載の半導体集積回路。
【請求項１０】
請求項１乃至９のいずれか１項に記載の半導体集積回路を有するデジタル信号処理装置。
【請求項１１】
請求項１０に記載のデジタル信号処理装置を有する携帯情報機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＤＳＰ (Digital Signal Processor) やＲＩＳＣ (Reduced Instruction Set Computers) などの演算処理装置におけるソフトウェア開発支援に関する。
【０００２】
【従来の技術】
ＤＳＰやＲＩＳＣなどの数値演算処理を行う演算処理装置のソフトウェアは、演算処理装置の高速化や複雑化などに伴い、プログラムの規模の増大や複雑化などが顕著になってきている。
【０００３】
ここで、ソフトウェア開発は、ソフトウェアのコーディング、デバッグ（不具合の検出と修正）、検証という手順で進行する。プログラムの規模の増大や複雑化が進むなか、ソフトウェア開発に欠かせなくなるのが、ソフトウェア開発支援回路である。ソフトウェア開発支援回路とは、ソフトウェア（演算処理回路）の不具合を検出又は検証するための回路のことである。
【０００４】
一般に、ソフトウェア開発支援回路は、演算処理回路と共に、ウェハ内又はチップ内の所定の箇所に形成される。
【０００５】
図３は、従来の演算処理装置のソフトウェア開発支援回路を示している。
【０００６】
演算処理装置３１は、演算処理回路１１を有する。演算処理回路１１は、演算処理に関する動作を制御する命令制御部と、命令制御部からの制御信号に基づいて実際に演算を行う演算処理部とから構成される。
【０００７】
命令制御部は、コントローラ (Sequence Controller) １２、プログラムカウンタ１３、プログラムメモリ１４及びインストラクションデコーダ１５を有している。
【０００８】
コントローラ１２は、プログラムカウンタ１３の動作を制御する。プログラムメモリ１４には、演算処理のための所定のプログラムが記憶されている。プログラムカウンタ１３は、その所定のプログラムを実行するためのアドレスを生成する。インストラクションデコーダ１５は、プログラムメモリ１４から読み出されたデータをデコードし、制御信号を演算処理部に与える。
【０００９】
演算処理部は、アドレスジェネレータ１６、アドレスレジスタ１７、データメモリ１８、ＡＬＵ (Arithmetic Logic Unit) １９及びデータレジスタ２０を有している。
【００１０】
データメモリ１８には、演算処理に使用するデータが記憶されている。アドレスジェネレータ１６は、データメモリ１８に記憶されたデータを読み出すためのアドレスを生成する。アドレスレジスタ１７は、そのアドレスを一時的に保持する。ＡＬＵ１９は、データメモリ１８から読み出されたデータについて実際に所定の演算を行う。データレジスタ２０は、ＡＬＵ１９の演算結果を一時的に保持する。
【００１１】
このような演算処理回路１１に対する従来のソフトウェア開発支援回路は、特定データ (Break point) を生成するデータ生成部２１と、コンパレータ２２とから構成される。
【００１２】
ソフトウェア開発支援回路は、演算処理回路１１内のプログラムカウンタ１３及びデータレジスタ２０からそれぞれデータを取り出すことができるように構成されている。
【００１３】
コンパレータ２２は、ソフトウェア開発支援時、ブレイクポイントデータ (Break point data) を保持し、これをプログラムカウンタ１３のデータと比較する。そして、両者が一致したときに、コンパレータ２２は、演算処理回路１１内の命令制御部（コントローラ１２）に、割り込み処理を指示する。
【００１４】
演算処理回路１１内の命令制御部は、ソフトウェア開発支援回路からの指示に基づいて、割り込み処理を実行した後、特定条件の下で、演算処理装置の動作を停止させる。
【００１５】
このようにして、従来では、演算処理装置の内部状態の検証を行っている。
【００１６】
なお、演算処理回路１１を有する演算処理装置が１チップから構成される場合、ソフトウェア開発支援回路（本例では、データ生成部２１とコンパレータ２２）は、その１チップ内に形成してもよいし、また、その１チップ外に形成していもよい。
【００１７】
【発明が解決しようとする課題】
図３に示すような従来の演算処理装置のソフトウェア開発支援回路は、コンパレータ２２などの単純な構成を有する専用回路から構成される。しかし、従来のソフトウェア開発支援回路は、このような単純な構成のために、演算処理装置の内部状態を検出するときの条件が限定されてしまう。
【００１８】
即ち、例えば、特定の時間に発生する命令とデータを特定して、そのときの演算処理装置の内部状態を検出する（リアルタイムで各部の状態を検出する）、といった複雑な条件の下での検証を行うことができない。
【００１９】
本発明は、このような問題を解決するためになされたもので、その目的は、演算処理回路の動作を検証するに当たり、時刻、データ、命令制御状態などを特定して、演算処理装置の内部状態を検出すると共に、これら内部状態を数値データとして処理し、その結果に基づいて、演算処理装置の動作停止などの制御を行うソフトウェア開発支援回路を提案することにある。
【００２０】
【課題を解決するための手段】
本発明の半導体集積回路は、第１制御信号により演算を行う第１演算処理部及びプログラムに基づいて前記第１制御信号を生成する第１命令制御部を有する演算処理回路と、第２制御信号により演算を行う第２演算処理部及びプログラムに基づいて前記第２制御信号を生成する第２命令制御部を有するソフトウェア開発支援回路とを備える。
【００２１】
前記ソフトウェア開発支援回路は、前記演算処理回路の内部状態を数値データとして前記第２演算処理部に取り込み、かつ、前記第２演算処理部は、前記第２制御信号に基づく所定の手順又は条件に従って前記数値データを演算する。
【００２２】
前記内部状態は、制御信号、データ、演算結果及び演算フラグの状態を含んでいる。
【００２３】
前記ソフトウェア開発支援回路は、前記数値データの演算結果に基づいて、前記演算処理回路の動作を停止させるか否かを決定する。
【００２４】
前記第１演算処理部は、演算データを保持する保持回路と、前記演算データの演算を行う演算器とを備える。
【００２５】
前記第１演算処理部は、アドレスを生成するアドレスジェネレータと、前記アドレスを保持するアドレスレジスタと、前記アドレスに基づいて演算データを出力するデータメモリと、前記第１命令により前記演算データの演算を行う演算器と、前記演算器の出力信号を保持するデータレジスタとを備える。
【００２６】
前記数値データは、前記アドレスレジスタに保持されるデータ、前記データメモリから読み出される前記演算データ及び前記データレジスタに保持されるデータのうちの少なくとも１つを含んでいる。
【００２７】
前記第１演算処理部は、前記第１制御信号に基づく所定の手順又は条件に従って前記演算データを演算する。
【００２８】
前記第１命令制御部は、アドレスを生成するプログラムカウンタと、前記プログラムカウンタを制御するコントローラと、前記アドレスに基づいて命令データを出力するプログラムメモリと、前記命令データに基づいて前記第１制御信号を生成するインストラクションデコーダとを備える。
【００２９】
前記数値データは、前記プログラムカウンタのデータ及び前記プログラムメモリから読み出される前記命令データのうちの少なくとも１つを含んでいる。
【００３０】
前記第２演算処理部は、前記第２制御信号により前記数値データの演算を行う演算器と、前記演算器の出力信号を保持するデータレジスタとを備える。
【００３１】
本発明の半導体集積回路は、さらに、前記数値データを保持するレジスタと、前記数値データを選択的に前記演算器に与えるセレクタとを備える。
【００３２】
前記ソフトウェア開発支援回路は、前記データレジスタに保持されるデータに基づいて、前記演算処理回路の動作を停止させるか否かを決定する。
【００３３】
前記第２命令制御部は、アドレスを生成するプログラムカウンタと、前記プログラムカウンタを制御するコントローラと、前記アドレスに基づいて命令データを出力するプログラムメモリと、前記命令データに基づいて前記第２制御信号を生成するインストラクションデコーダとを備える。
【００３４】
前記ソフトウェア支援回路は、特定の時刻における前記演算処理回路の内部状態に基づいて、前記演算処理回路の動作を停止させるか否かを決定する。
【００３５】
前記ソフトウェア支援回路は、異なる複数の時刻における前記演算処理回路の内部状態に基づいて、前記演算処理回路の動作を停止させるか否かを決定する。
【００３６】
前記演算処理回路と前記ソフトウェア開発支援回路は、１チップ内に形成される。前記演算処理回路は、デジタル信号処理装置又はそれを有する携帯情報機器に使用される。
【００３７】
本発明のデジタル信号処理装置は、上述の半導体集積回路を含んでいる。本発明の携帯情報機器は、前記デジタル信号処理装置を含んでいる。
【００３８】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態に関わる半導体集積回路（ソフトウェア開発支援回路）について詳細に説明する。
【００３９】
本発明のソフトウェア開発支援回路は、演算処理装置の動作を検証するに当たり、時刻、データ、命令制御状態などを特定して、演算処理装置の内部状態をリアルタイムで検出すると共に、これら内部状態をソフトウェアにより数値データとして処理し、その結果に基づいて、演算処理装置の動作停止などの制御を行う点に特徴を有する。本発明のソフトウェア開発支援回路は、ウェハ内又はチップ内の所定箇所に形成される。
【００４０】
１．  第１実施の形態
図１は、本発明の第１実施の形態に関わる演算処理装置のソフトウェア開発支援回路を示している。
【００４１】
演算処理装置３１は、演算処理回路１１を有する。演算処理回路１１は、演算処理に関する動作を制御する命令制御部と、命令制御部からの制御信号に基づいて実際に演算を行う演算処理部とから構成される。
【００４２】
命令制御部は、コントローラ (Sequence Controller) １２、プログラムカウンタ１３、プログラムメモリ１４及びインストラクションデコーダ１５を有している。
【００４３】
コントローラ１２は、プログラムカウンタ１３の動作を制御する。プログラムメモリ１４には、演算処理のための所定のプログラムが記憶されている。プログラムカウンタ１３は、その所定のプログラムを実行するためのアドレスを生成する。インストラクションデコーダ１５は、プログラムメモリ１４から読み出されたデータをデコードし、制御信号を演算処理部に与える。
【００４４】
演算処理部は、アドレスジェネレータ１６、アドレスレジスタ１７、データメモリ１８、ＡＬＵ (Arithmetic Logic Unit) １９及びデータレジスタ２０を有している。
【００４５】
データメモリ１８には、演算処理に使用するデータが記憶されている。アドレスジェネレータ１６は、データメモリ１８に記憶されたデータを読み出すためのアドレスを生成する。アドレスレジスタ１７は、そのアドレスを一時的に保持する。ＡＬＵ１９は、データメモリ１８から読み出されたデータについて実際に所定の演算を行う。データレジスタ２０は、ＡＬＵ１９の演算結果を一時的に保持する。
【００４６】
このような演算処理回路１１に対する本発明のソフトウェア開発支援回路１０は、従来（図３）とは異なり、演算処理回路１１の内部状態を数値データとして取り込むと共に、ソフトウェア（プログラム）に基づいてその数値データを演算処理している。
【００４７】
ここで、内部状態とは、制御信号、データ、演算結果及び演算フラグの状態を含んでいるものとする。また、演算とは、加減乗除算の他、ビット操作や一致／不一致の判断などの処理も含むものとする。
【００４８】
本発明のソフトウェア開発支援回路１０は、数値データを演算処理するための制御信号を生成する命令制御部と、命令制御部からの制御信号に基づいて実際に演算処理を行う演算処理部とを有している。
【００４９】
ソフトウェア開発支援回路１０の命令制御部は、コントローラ (Sequence Controller) ２３、プログラムカウンタ２４、プログラムメモリ２５及びインストラクションデコーダ２６から構成される。
【００５０】
コントローラ２３は、プログラムカウンタ２４の動作を制御する。プログラムメモリ２５には、演算処理回路１１の内部状態を数値化した数値データを処理するための所定のプログラムが記憶されている。プログラムカウンタ２４は、その所定のプログラムを実行するためのアドレスを生成する。インストラクションデコーダ２６は、プログラムメモリ２５から読み出されたデータをデコードし、制御信号をソフトウェア開発支援回路１０の演算処理部に与える。
【００５１】
ソフトウェア開発支援回路１０の演算処理部は、ＡＬＵ (Arithmetic Logic Unit) ２７及びデータレジスタ２８から構成される。
【００５２】
ＡＬＵ２７は、演算処理回路１１の内部状態を数値化した数値データについて実際に所定の演算を行う。データレジスタ２８は、ＡＬＵ２７の演算結果を一時的に保持する。
【００５３】
レジスタ２９−１，２９−２，・・・２９−５は、リアルタイムに検出される演算処理回路１１の内部状態を数値化した数値データを一時的に保持する。
【００５４】
本例では、プログラムカウンタ１３のデータは、レジスタ２９−１に保持され、アドレスレジスタ１７のデータは、レジスタ２９−２に保持され、プログラムメモリ１４から読み出されるデータは、レジスタ２９−３に保持される。また、データメモリ１８から読み出されるデータは、レジスタ２９−４に保持され、データレジスタ２０のデータは、レジスタ２９−５に保持される。
【００５５】
セレクタ３０は、レジスタ２９−１，２９−２，・・・２９−５に保持されたデータのうちの１つを選択的にＡＬＵ２７に与える。
【００５６】
このようなソフトウェア開発支援回路１０では、第一に、レジスタ２９−１，２９−２，・・・２９−５を備えることにより、演算処理回路１１内の各部の状態、具体的には、プログラムカウンタ１３のデータ、プログラムメモリ１４から読み出されるデータ、アドレスレジスタ１７のデータ、データメモリ１８から読み出されるデータ、データレジスタ２０のデータを、それぞれ、リアルタイムで検出できようになっている。
【００５７】
また、第二に、リアルタイムで検出された演算処理回路１１の内部状態に関する数値データは、セレクタ３０により、選択的に、ＡＬＵ２７に入力される。ＡＬＵ２７は、予め設定された処理の手順、条件など、即ち、プログラムメモリ２５のプログラムに基づいて所定の演算処理を行う。
【００５８】
そして、ソフトウェア開発支援回路１０は、演算処理部で処理された結果が、特定の条件を満たしているとき、演算処理装置の動作を停止させるなどの所定の処理を実行する。
【００５９】
このように、本発明のソフトウェア開発支援回路１０は、演算処理回路１１と同様に、演算を行う演算処理部と、演算処理部における演算を制御する命令制御部とを有している。
【００６０】
そして、演算処理部は、演算処理回路１１における各部のデータ、即ち、命令データ（プログラムメモリ１４から読み出されるデータ）、制御信号などの内部状態を表す信号（プログラムカウンタ１３及びアドレスレジスタ１７のデータ）、数値演算に用いられるデータ（データメモリ１８から読み出されるデータ）、演算結果又は結果フラグ（データレジスタ２０のデータ）に関して、これらを数値データとして演算処理する。
【００６１】
また、その演算処理は、命令制御部のプログラムメモリ２５に記憶された処理の手順又は条件に従って行われる。
【００６２】
従って、本発明のソフトウェア開発支援回路１０によれば、例えば、特定の時刻（プログラムカウンタ１３のデータから検出できる）において、そのときのと命令（プログラムメモリ１４の出力データから検出できる）と、その命令による数値演算の結果（データレジスタ２０のデータから検出できる）とに基づいて、演算処理装置の動作を停止させるか否かを決定できる。
【００６３】
また、例えば、異なる複数の時刻（プログラムカウンタ１３のデータから検出できる）において、そのときのと命令（プログラムメモリ１４の出力データから検出できる）又はその命令による数値演算の結果（データレジスタ２０のデータから検出できる）を検出し、その検出結果に基づいて、演算処理装置の動作を停止させるか否かを決定することもできる。
【００６４】
２．  第２実施の形態
図２は、本発明の第２実施の形態に関わる演算処理装置のソフトウェア開発支援回路を示している。
【００６５】
第２実施の形態に関わるソフトウェア開発支援回路の特徴は、演算処理回路の内部状態（各部の状態）を数値データとして取り出すための複数のレジスタ及びセレクタに代えて、演算処理を行う複数のＡＬＵ及び演算処理の結果を保持する複数のデータレジスタを設けた点に特徴を有する。
【００６６】
演算処理装置３１は、演算処理回路１１を有する。演算処理回路１１は、演算処理に関する動作を制御する命令制御部と、命令制御部からの制御信号に基づいて実際に演算を行う演算処理部とから構成される。
【００６７】
命令制御部は、コントローラ (Sequence Controller) １２、プログラムカウンタ１３、プログラムメモリ１４及びインストラクションデコーダ１５を有している。
【００６８】
コントローラ１２は、プログラムカウンタ１３の動作を制御する。プログラムメモリ１４には、演算処理のための所定のプログラムが記憶されている。プログラムカウンタ１３は、その所定のプログラムを実行するためのアドレスを生成する。インストラクションデコーダ１５は、プログラムメモリ１４から読み出されたデータをデコードし、制御信号を演算処理部に与える。
【００６９】
演算処理部は、アドレスジェネレータ１６、アドレスレジスタ１７、データメモリ１８、ＡＬＵ (Arithmetic Logic Unit) １９及びデータレジスタ２０を有している。
【００７０】
データメモリ１８には、演算処理に使用するデータが記憶されている。アドレスジェネレータ１６は、データメモリ１８に記憶されたデータを読み出すためのアドレスを生成する。アドレスレジスタ１７は、そのアドレスを一時的に保持する。ＡＬＵ１９は、データメモリ１８から読み出されたデータについて実際に所定の演算を行う。データレジスタ２０は、ＡＬＵ１９の演算結果を一時的に保持する。
【００７１】
このような演算処理回路１１に対する本発明のソフトウェア開発支援回路１０は、ソフトウェアに基づいて数値データを処理するための制御信号を生成する命令制御部と、命令制御部からの制御信号に基づいて実際に演算を行う演算処理部とを有している。
【００７２】
ソフトウェア開発支援回路１０の命令制御部は、コントローラ (Sequence Controller) ２３、プログラムカウンタ２４、プログラムメモリ２５及びインストラクションデコーダ２６から構成される。
【００７３】
コントローラ２３は、プログラムカウンタ２４の動作を制御する。プログラムメモリ２５には、演算処理回路１１の内部状態を数値化した数値データを処理するための所定のプログラムが記憶されている。プログラムカウンタ２４は、その所定のプログラムを実行するためのアドレスを生成する。インストラクションデコーダ２６は、プログラムメモリ２５から読み出されたデータをデコードし、所定の命令をソフトウェア開発支援回路１０の演算処理部に与える。
【００７４】
ソフトウェア開発支援回路１０の演算処理部は、ＡＬＵ (Arithmetic Logic Unit) ２７−１，２７−２，・・・２７−５及びデータレジスタ２８−１，２８−２，・・・２８−５から構成される。
【００７５】
ＡＬＵ２７−１，２７−２，・・・２７−５は、演算処理回路１１の内部状態（各部の状態）を数値化した数値データについて実際に所定の演算を行う。データレジスタ２８−１，２８−２，・・・２８−５は、ＡＬＵ２７−１，２７−２，・・・２７−５の演算結果を一時的に保持する。
【００７６】
このようなソフトウェア開発支援回路１０においては、第一に、演算処理回路１１内の各部の状態、具体的には、プログラムカウンタ１３のデータ、プログラムメモリ１４から読み出されるデータ、アドレスレジスタ１７のデータ、データメモリ１８から読み出されるデータ、データレジスタ２０のデータを、それぞれ、リアルタイムで検出できようになっている。
【００７７】
また、第二に、リアルタイムで検出された演算処理回路１１の内部状態（各部の状態）に関する数値データは、ＡＬＵ２７−１，２７−２，・・・２７−５により演算処理される。ＡＬＵ２７−１，２７−２，・・・２７−５は、予め設定された処理の手順、条件など、即ち、プログラムメモリ２５のプログラムに従って所定の演算処理を行う。
【００７８】
そして、ソフトウェア開発支援回路１０は、演算処理部で処理された結果が、特定の条件を満たしているとき、演算処理装置の動作を停止させるなどの所定の処理を実行する。
【００７９】
このように、本発明のソフトウェア開発支援回路１０においては、演算処理回路１１と同様に、演算を行う演算処理部と、演算処理部における演算を制御する命令制御部とを有している。
【００８０】
そして、演算処理部は、演算処理回路１１における各部のデータ、即ち、命令データ（プログラムメモリ１４から読み出されるデータ）、制御信号などの内部状態を表す信号（プログラムカウンタ１３及びアドレスレジスタ１７のデータ）、数値演算に用いられるデータ（データメモリ１８から読み出されるデータ）、演算結果又は結果フラグ（データレジスタ２０のデータ）に関して、これらを数値データとして演算処理する。
【００８１】
また、その演算処理は、命令制御部のプログラムメモリ２５に記憶された処理の手順又は条件に従って行われる。
【００８２】
従って、本発明のソフトウェア開発支援回路１０によれば、例えば、特定の時刻（プログラムカウンタ１３のデータから検出できる）において、そのときの命令（プログラムメモリ１４の出力データから検出できる）と、その命令による数値演算の結果（データレジスタ２０のデータから検出できる）とに基づいて、演算処理装置の動作を停止させるか否かを決定できる。
【００８３】
また、例えば、異なる複数の時刻（プログラムカウンタ１３のデータから検出できる）において、そのときのと命令（プログラムメモリ１４の出力データから検出できる）又はその命令による数値演算の結果（データレジスタ２０のデータから検出できる）を検出し、その検出結果に基づいて、演算処理装置の動作を停止させるか否かを決定することもできる。
【００８４】
３．  その他
本発明のソフトウェア開発支援回路は、演算処理回路と共に１チップ内に形成してもよいし、演算処理回路が形成されるチップの外、具体的には、ウェハのダイシングライン内に形成していもよい。
【００８５】
本発明のソフトウェア開発支援回路は、例えば、携帯電話などの携帯情報機器に使用される演算処理装置に適用することができる。
【００８６】
【発明の効果】
以上、説明したように、本発明のソフトウェア開発支援回路によれば、演算処理回路の動作を検証するに当たり、時刻、データ、命令制御状態などを特定して、演算処理装置の内部状態を検出すると共に、これら内部状態を数値データとして処理し、その結果に基づいて、演算処理装置の動作停止などの制御を行うか否かを決定している。
【００８７】
従って、近年における複雑なソフトウェア（プログラム）を有する演算処置装置に対しても、ソフトウェア開発支援回路内におけるソフトウェアで、処理の手順や条件を設定することにより、容易に、ソフトウェアの検証を行うことができる。
【図面の簡単な説明】
【図１】本発明の第１実施の形態に関わるソフトウェア開発支援回路を示す図。
【図２】本発明の第２実施の形態に関わるソフトウェア開発支援回路を示す図。
【図３】従来のソフトウェア開発支援回路を示す図。
【符号の説明】
１０                                ：ソフトウェア開発支援回路、
１１                                ：演算処理回路、
１２，２３                          ：コントローラ、
１３，２４                          ：プログラムカウンタ、
１４，２５                          ：プログラムメモリ、
１５，２６                          ：インストラクションデコーダ、
１６                                ：アドレスジェネレータ、
１７                                ：アドレスレジスタ、
１８                                ：データメモリ、
１９，２７，２７−１，２７−２，・・・２７−５  ：ＡＬＵ、
２０，２８，２８−１，２８−２，・・・２８−５  ：データレジスタ、
２１                                ：データ生成回路、
２２                                ：コンパレータ、
２９−１，２９−２，・・・２９−５  ：レジスタ、
３０                                ：セレクタ、
３１                                ：演算処理装置。
【図１】
0004021670.tif 000002
【図２】
0004021670.tif 000003
【図３】
0004021670.tif 000004