(57)【特許請求の範囲】
【請求項１】
ＣＰＵと、データの保持に使用されるＲＡＭと、前記ＣＰＵによりアクセスされる周辺回路と、リード信号の伝送を行うリード信号線と、ライト信号の伝送を行うライト信号線を備える半導体装置において、
ＲＡＭ書き込みモード時、前記ＣＰＵと前記周辺回路との間で伝送されるデータを前記ＲＡＭに書き込ませるように前記ＲＡＭを制御するＲＡＭ制御回路を備え、
前記ＲＡＭ制御回路は、
前記リード信号及び前記ライト信号を入力し、前記リード信号又は前記ライト信号が活性論理値の場合には活性論理値、前記リード信号及び前記ライト信号が非活性論理値の場合には非活性論理値となる信号を出力する論理回路と、
前記ライト信号又は前記論理回路の出力信号を前記ＲＡＭのライト信号入力端子に供給するスイッチ回路と、
通常動作モード時には、前記ライト信号を前記ＲＡＭのライト信号入力端子に供給し、前記ＲＡＭ書き込みモード時には、前記論理回路の出力信号を前記ライト信号入力端子に供給するように前記スイッチ回路を制御するＲＡＭ書き込みモード設定回路を備えていることを特徴とする半導体装置。
【請求項２】
前記ＲＡＭ制御回路は、前記ＲＡＭ書き込みモード時に、前記ＣＰＵと前記周辺回路との間で伝送されるデータを前記ＲＡＭに書き込ませるように前記ＲＡＭを制御する場合に、前記ＲＡＭに対して連続するアドレスを供給するＲＡＭアドレス生成回路を備えていることを特徴とする請求項１記載の半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵ（central processing unit）と、データの保持に使用されるＲＡＭ（random access memory）と、ＣＰＵによりアクセスされる周辺回路とを備え、プログラム動作が可能な半導体装置に関する。
【０００２】
【従来の技術】
プログラム動作が可能な半導体装置について、これを基板に実装した状態でプログラムをデバッグする方法として、デバッグツールを使用する方法と、デバッグツールを使用しない方法とがある。
【０００３】
【発明が解決しようとする課題】
デバッグツールを使用する方法は、評価用端子を備えた半導体装置を基板に実装しなければならず、評価用のシステムの構成が実際の構成と異なってしまうという問題点があり、デバッグツールを使用しない方法においては、動作確認用のプログラムを追加しなければならないという問題点があった。
【０００４】
本発明は、かかる点に鑑み、プログラム動作が可能な半導体装置であって、評価用端子を設けなくとも、また、動作確認用のプログラムを追加しなくとも、プログラム動作の確認を行うことができるようにした半導体装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
本発明中、第１の発明（請求項１記載の半導体装置）は、ＣＰＵと、データの保持に使用されるＲＡＭと、ＣＰＵによりアクセスされる周辺回路とを備える半導体装置において、ＣＰＵと周辺回路との間で伝送されるデータをＲＡＭに書き込ませるようにＲＡＭを制御することができるＲＡＭ制御回路を備えているというものである。
【０００６】
本発明中、第１の発明によれば、ＣＰＵと周辺回路との間で伝送されるデータをＲＡＭに書き込み、その内容を読み出すことにより、プログラム動作を確認することができる。
【０００７】
本発明中、第２の発明（請求項２記載の半導体装置）は、第１の発明において、ＲＡＭ制御回路は、ＣＰＵと周辺回路との間で伝送されるデータをＲＡＭに書き込ませるようにＲＡＭを制御する場合に、ＲＡＭに対して連続するアドレスを供給するＲＡＭアドレス生成回路を備えているというものである。
【０００８】
【発明の実施の形態】
図１は本発明の一実施形態の要部を示すブロック図である。図１中、１０はＣＰＵ、１１はデータの保持に使用されるＲＡＭであり、ＲＡＭ１１において、ＡＤＤはアドレス入力端子、ＤＡＴＡはデータ入出力端子、ＲＤはリード信号入力端子、ＷＲはライト信号入力端子である。
【０００９】
また、１２、１３、１４は周辺回路であり、１２はアドレス信号をデジタル信号に変換するＡＤ変換器、１３は調歩同期方式によるシリアルデータ伝送を扱うインタフェース・コントローラであるＵＡＲＴ、１４はタイマである。
【００１０】
また、１５はアドレス信号の伝送を行うアドレスバス、１６はデータの伝送を行うデータバス、１７はリード信号の伝送を行うリード信号線、１８はライト信号の伝送を行うライト信号線である。
【００１１】
この例では、リード信号及びライト信号は、「１」を活性論理値、「０」を非活性論理値とされている。
【００１２】
また、１９はＲＡＭ１１の動作を制御するＲＡＭ制御回路であり、２０はＲＡＭ書き込みモード設定信号ＲＷＭを出力してＲＡＭ書き込みモードの設定を行うＲＡＭ書き込みモード設定回路である。
【００１３】
ＲＡＭ書き込みモード設定信号ＲＷＭは、ＲＡＭ書き込みモードを設定する場合には「１」とされ、ＲＡＭ書き込みモードを設定しない場合、即ち、通常動作モードに設定する場合には「０」とされる。
【００１４】
なお、ＲＡＭ書き込みモードの設定、非設定の選択は、所定の外部端子に対する所定の信号の印加、あるいは、所定のレジスタに対する所定値の書き込み等により行われる。
【００１５】
また、２１はリード信号線１７上のリード信号とライト信号線１８上のライト信号とをＯＲ処理するＯＲ回路、２２はＲＡＭ書み込みモード設定時にＲＡＭ１１にアドレス信号を供給するＲＡＭアドレス生成回路である。
【００１６】
このＲＡＭアドレス生成回路２２は、書き込みモード設定信号ＲＷＭ＝「１」にされると、活性状態となり、初期値を０１００Hとして、ＯＲ回路２１の出力が「１」となるごとに、即ち、リード信号又はライト信号が「１」となるごとに１づつインクリメントするアドレスを生成して、これをＲＡＭ１１に供給するように構成されている。
【００１７】
また、２３はリード信号線１７上のリード信号又は接地電圧、即ち、「０」をＲＡＭ１１のリード信号入力端子ＲＤに供給する、トランジスタ回路により構成された切り換えスイッチである。
【００１８】
この切り換えスイッチ２３は、ＲＡＭ書き込みモード設定信号ＲＷＭ＝「０」とされる場合には、リード信号線１７上のリード信号をＲＡＭ１１のリード信号入力端子ＲＤに供給し、ＲＡＭ書き込みモード設定信号ＲＷＭ＝「１」とされる場合には、「０」をＲＡＭ１１のリード信号入力端子ＲＤに供給するように構成されている。
【００１９】
また、２４はライト信号線１８上のライト信号又はＯＲ回路２１の出力をＲＡＭ１１のライト信号入力端子ＷＲに供給する、トランジスタ回路により構成された切り換えスイッチである。
【００２０】
この切り換えスイッチ２４は、ＲＡＭ書き込みモード設定信号ＲＷＭ＝「０」とされる場合には、ライト信号線１８上のライト信号をＲＡＭ１１のライト信号入力端子ＷＲに供給し、ＲＡＭ書き込みモード設定信号ＲＷＭ＝「１」とされる場合には、ＯＲ回路２１の出力をＲＡＭ１１のライト信号入力端子ＷＲに供給するように構成されている。
【００２１】
また、２５はアドレスバス１５上のアドレス又はＲＡＭアドレス生成回路２２から出力されるアドレスをＲＡＭ１１のアドレス入力端子ＡＤＤに供給する、トランジスタ回路により構成された切り換えスイッチである。
【００２２】
この切り換えスイッチ２５は、ＲＡＭ書き込みモード設定信号ＲＷＭ＝「０」とされる場合には、アドレスバス１５上のアドレス信号をＲＡＭ１１のアドレス入力端子ＡＤＤに供給し、ＲＡＭ書き込みモード設定信号ＲＷＭ＝「１」とされる場合には、ＲＡＭアドレス生成回路２２から出力されるアドレス信号をＲＡＭ１１のアドレス入力端子ＡＤＤに供給するように構成されている。
【００２３】
このように構成された本発明の一実施形態においては、ＲＡＭ書き込み設定信号ＲＷＭ＝「０」の場合、即ち、通常動作モードに設定される場合には、ＲＡＭ１１は、リード信号入力端子ＲＤにリード信号線１７上のリード信号が供給され、ライト信号入力端子ＷＲにライト信号線１８上のライト信号が供給され、アドレス入力端子ＡＤＤにアドレスバス上のアドレス信号が供給される。
【００２４】
この結果、ＲＡＭ１１は、リード信号＝「１」、ライト信号＝「０」とされる場合には、アドレスバス１５上のアドレス信号が指定するアドレスのデータをデータバス１６に出力し、リード信号＝「０」、ライト信号＝「１」とされる場合には、アドレスバス１５上のアドレス信号が指定するアドレスにデータバス１６上のデータを書き込むことになる。
【００２５】
これに対して、ＲＡＭ書き込み設定信号＝「１」の場合、即ち、ＲＡＭ書き込みモードに設定される場合には、ＲＡＭ１１は、リード信号入力端子ＲＤに「０」が供給され、ライト信号入力端子ＷＲにＯＲ回路２１の出力が供給され、アドレス入力端子ＡＤＤにＲＡＭアドレス生成回路２２から出力されるアドレス信号が供給される。
【００２６】
したがって、この場合、ＲＡＭ１１は、リード信号又はライト信号のいずれかが「１」になると、ＲＡＭアドレス生成回路２２が出力するアドレス信号が指定するアドレスにデータバス１６上のデータを書き込むことになる。
【００２７】
図２はＲＡＭ書き込みモードの第１使用例を説明するためのフローチャートであり、ＲＡＭ書き込みモードの第１使用例では、まず、ＲＡＭ書き込みモードに設定する（ステップＳ２−１）。
【００２８】
次に、ＡＤ変換器１２のフラグレジスタに０１H を書き込み、ＡＤ変換器１２によるＡＤ変換動作を開始させ（ステップＳ２−２）、ＡＤ変換器１２のフラグレジスタのリードを行う（ステップＳ２−３）。
【００２９】
以後、ＡＤ変換器１２のフラグレジスタに終了フラグ（８１H）が立つまで、ＡＤ変換器１２のフラグレジスタのリードを繰り返す（ステップＳ２−３、Ｓ２−４）。
【００３０】
そして、ＡＤ変換器１２のフラグレジスタに終了フラグ（８１H）が立った場合(ステップＳ２−４でＹＥＳの場合）には、タイマ１４のフラグレジスタに０２H を書き込み、タイマ動作をスタートさせ（ステップＳ２−５）、タイマ１４のフラグレジスタのリードを行う（ステップＳ２−６）。
【００３１】
以後、タイマ１４のフラグレジスタに終了フラグ（８２H）が立つまで、タイマ１４のフラグレジスタのリードを繰り返す（ステップＳ２−６、Ｓ２−７）。
【００３２】
このようにすると、ＣＰＵ１０によりＡＤ変換器１２のフラグレジスタの内容がリードされるごとに、このリードデータは、ＲＡＭ１１に書き込まれることになり、その内容は、例えば、図３Ａに示すようになる。
【００３３】
また、ＣＰＵ１０によりタイマ１４のフラグレジスタの内容がリードされるごとに、このリードデータは、ＲＡＭ１１に書き込まれることになり、その内容は、例えば、図３Ｂに示すようになる。
【００３４】
したがって、このようにする場合には、ＲＡＭ１１の内容を読み出すことにより実際の命令実行数を知ることができるので、クロックをトレースすることにより、実際の命令実行数とクロックサイクル数とから命令実行時間を確認することができ、仕様との比較を行うことができる。
【００３５】
図４はＲＡＭ書き込みモードの第２使用例を説明するためのフローチャートであり、ＲＡＭ書き込みモードの第２使用例では、まず、通常動作モードに設定して、チャネルＣＨ１についてＡＤ変換器１２にＡＤ変換を行わせ（ステップＳ４−１）、ＡＤ変換終了後、ＲＡＭ書き込みモードに設定して、ＣＰＵ１０にチャネルＣＨ１についてのＡＤ変換結果をリードさせる（ステップＳ４−２）。
【００３６】
次に、通常動作モードにして、チャネルＣＨ２についてＡＤ変換器１２にＡＤ変換を行わせ（ステップＳ４−３）、ＡＤ変換終了後、ＲＡＭ書き込みモードにして、ＣＰＵ１０にチャネルＣＨ２についてのＡＤ変換結果をリードさせる（ステップＳ４−４）。
【００３７】
次に、通常動作モードにして、チャネルＣＨ３についてＡＤ変換器１２にＡＤ変換を行わせ（ステップＳ４−５）、ＡＤ変換終了後、ＲＡＭ書き込みモードにして、ＣＰＵ１０にチャネルＣＨ３についてのＡＤ変換結果をリードさせる（ステップＳ４−６）。
【００３８】
このようにすると、ＣＰＵ１０がＡＤ変換結果をリードするごとに、そのリードデータがＲＡＭ１１に書き込まれることになり、その内容は、例えば、図５に示すようになる。
【００３９】
したがって、このようにする場合には、ＲＡＭ１１の内容を読み出すことにより、ＡＤ変換対象チャネルを変えながらＡＤ変換を行うモードにおけるＡＤ変換結果をテーブル化したデータ・テーブルを得ることができる。
【００４０】
図６はＲＡＭ書き込みモードの第３使用例を説明するためのフローチャートであり、ＲＡＭ書き込みモードの第３使用例では、まず、ＲＡＭ書き込みモードに設定し（ステップＳ６−１）、続いて、１バイト目のＵＡＲＴデータをＵＡＲＴ１３の送信バッファに設定する（ステップＳ６−２）。
【００４１】
次に、ＲＡＭ書き込みモードを解除して通常動作モードとし（ステップＳ６−３）、ＵＡＲＴ１３の送信バッファに設定した１バイト目のＵＡＲＴデータの送信を開始する（ステップＳ６−４）。
【００４２】
そして、送信バッファのデータがロードされた場合には、ＵＡＲＴデータ設定許可割り込みフラグがアクティブとなるようにしておき（ステップＳ６−５）、割込みフラグをクリアし（ステップＳ６−６）、割り込み処理に移った時、再び、ＲＡＭ書き込みモードを設定し（ステップＳ６−７）、ＵＡＲＴ３の送信バッファに２バイト目のＵＡＲＴデータを設定する（ステップＳ６−８）。
【００４３】
再び、ＲＡＭ書き込みモードを解除して通常動作モードとし（ステップＳ６−９）、割り込み処理を終了させ、８バイト目のＵＡＲＴデータの送信が終了するまで（ステップＳ６−１０でＹＥＳとなるまで）、ステップＳ６−４〜６−１０を繰り返す。
【００４４】
このようにすると、ＵＡＲＴ１３の送信バッファにＵＡＲＴデータが設定されるごとに、このＵＡＲＴデータがＲＡＭ１１に書き込まれることになり、ＲＡＭ１１の内容は、例えば、図７に示すようになる。
【００４５】
したがって、このようにする場合には、ＲＡＭ１１の内容を読み出すことにより、ＵＡＲＴ１３の送信バッファに設定されたデータと、受信データとの比較を行うことができ、更には、ＲＡＭ１１の内容をデータテーブルとして、次回送信時に活用したりすることが可能となる。
【００４６】
このように、本発明の一実施形態によれば、ＣＰＵ１０と、ＡＤ変換器１２、ＵＡＲＴ１３又はタイマ１４との間で伝送されるデータをＲＡＭ１１に書き込ませるようにＲＡＭ１１を制御することができるＲＡＭ制御回路１９を備えるとしたことにより、ＣＰＵ１０と、ＡＤ変換器１２、ＵＡＲＴ１３又はタイマ１４との間で伝送されるデータをＲＡＭ１１に書き込み、その内容を読み出すことによりプログラム動作の確認を行うことができるので、評価用端子を設ける必要がなく、動作確認用のプログラムを追加する必要もない。
【００４７】
なお、本発明の一実施形態においては、ＲＡＭアドレス生成回路２２は、１づつインクリメントするアドレスを生成するように構成した場合について説明したが、この代わりに、１づつディクリメントするアドレスを生成するように構成しても良い。
【００４８】
【発明の効果】
以上のように、本発明によれば、ＣＰＵと周辺回路との間で伝送されるデータをＲＡＭに書き込ませるようにＲＡＭを制御することができるＲＡＭ制御回路を備えるという構成を採用したことにより、ＣＰＵと周辺回路との間で伝送されるデータをＲＡＭに書き込み、その内容を読み出すことによりプログラム動作を確認することができるので、評価用端子を設ける必要がなく、動作確認用のプログラムを追加する必要もない。
【図面の簡単な説明】
【図１】本発明の一実施形態の要部を示す回路図である。
【図２】本発明の一実施形態におけるＲＡＭ書き込みモードの第１使用例を説明するためのフローチャートである。
【図３】本発明の一実施形態におけるＲＡＭ書き込みモードの第１使用例によりＲＡＭに書き込まれるデータを示す図である。
【図４】本発明の一実施形態におけるＲＡＭ書き込みモードの第２使用例を説明するためのフローチャートである。
【図５】本発明の一実施形態におけるＲＡＭ書き込みモードの第２使用例によりＲＡＭに書き込まれるデータを示す図である。
【図６】本発明の一実施形態におけるＲＡＭ書き込みモードの第３使用例を説明するためのフローチャートである。
【図７】本発明の一実施形態におけるＲＡＭ書き込みモードの第３使用例によりＲＡＭに書き込まれるデータを示す図である。
【符号の説明】
１７  リード信号線
１８  ライト信号線
【図１】
0003937505.tif 000002
【図２】
0003937505.tif 000003
【図３】
0003937505.tif 000004
【図４】
0003937505.tif 000005
【図５】
0003937505.tif 000006
【図６】
0003937505.tif 000007
【図７】
0003937505.tif 000008