(57)【要約】【課題】本発明は予想外の動作を行った際に確認対象の内部状況を容易に再現して、内部動作を容易に把握することのできる半導体集積回路を提供する。【解決手段】半導体集積回路１は、内部に有する複数のレジスタ１１５〜１１８、レジスタ１２０Ａ〜１２３Ａ及びレジスタ１２９〜１３２のうち、レジスタ１２０Ａ〜１２３Ａと並列にロード値保持レジスタ１２０Ｂ〜１２３Ｂを配設し、ロード値保持レジスタ１２０Ｂ〜１２３Ｂの後段に、ロード値保持レジスタ１２０Ｂ〜１２３Ｂの出力とレジスタ１２０Ａ〜１２３Ａの出力の一方を選択して出力するセレクタセレクタ１２４〜１２７を配設して、ロード値保持レジスタ１２０Ｂ〜１２３Ｂへのデータとセレクタ１２４〜１２７の選択動作を制御して、内部のレジスタ１１５〜１１８、レジスタ１２０Ａ〜１２３Ａ及びレジスタ１２９〜１３２の状態を任意に設定可能としている。【選択図】　　　　　図１
2004087919.tif 000002
【特許請求の範囲】
【請求項１】
複数のレジスタを有し各種データ処理を行う半導体集積回路において、前記レジスタのうち所定のレジスタと並列に配設され、外部からロードされるデータを保持するロード値保持レジスタと、前記ロード値保持レジスタの後段に配設され前記ロード値保持レジスタの出力と当該ロード値保持レジスタに並列に配設されている前記レジスタの出力の一方を選択して出力するセレクタと、を備え、前記ロード値保持レジスタへのデータと前記セレクタの選択動作を制御して、内部のレジスタの状態を任意に設定可能であることを特徴とする半導体集積回路。
【請求項２】
前記ロード値保持レジスタは、複数のシフトレジスタで構成され、外部から供給されるデータを順次シフトして保持することを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記ロード値保持レジスタは、シフトレジスタが複数個ずつグループとして構成され、当該各グループ毎に外部から供給されるデータを当該グループ内で順次シフトして保持することを特徴とする請求項１記載の半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路に関し、詳細には、予想外の動作を行った際に、確認対象の内部状況を容易に再現して、内部動作を容易に把握することのできる半導体集積回路に関する。
【０００２】
【従来の技術】
従来、半導体集積回路の開発においては、シミュレーションにより、半導体集積回路に様々な入力を与え、半導体集積回路からの出力信号と出力期待値との比較を行なって、期待通りの動作をすることを検証した上で、実際のデバイスを製作している。
【０００３】
このシミュレーションの過程で、期待値通りの出力が得られない場合には、シミュレーションを繰り返し行って、半導体集積回路内部の動作を参考にしながら、解析を行っている。
【０００４】
ところが、実デバイスにおいて、予想外の動作が発生した場合には、シミュレーションの場合のように簡単には進まない。この原因は、半導体集積回路内部の動作を把握することが困難であるためである。
【０００５】
そこで、従来、メモリに格納された内部状態遷移情報に基づいて、内部状態遷移を検出する状態遷移検出手段と、この状態遷移検出手段の検出結果に基づいて状態検出判定を行って判定結果を出力する状態検出判定手段とを具備する大型集積回路が提案されている（特開２００１―１９５２７８）。
【０００６】
この従来技術は、半導体集積回路内部に、内部状態解析部を搭載し、内部状態解析部内部に設けられた検出回路が、メモリに格納された内部状態遷移情報に基づいて状態検出判定を行って判定結果を出力している。
【０００７】
【発明が解決しようとする課題】
しかしながら、このような公報記載の従来技術にあっては、半導体集積回路内部に、専用の内部状態解析部を搭載する必要があり、コストが高くなるとともに、回路構成も複雑になるという問題があった。
【０００８】
また、半導体集積回路の分野では、効率的な原因の解析を、シミュレータを使用して内部動作を確認したいという希望があるが、従来技術では、シミュレータを使用した原因の解析を行うことができない。
【０００９】
さらに、シミュレーションにおいて、内部レジスタを特定の処理を実行した後、または、特定の処理を実行する前の状態にさせたい場合に、従来技術では、当該時点に至るまでのシーケンスを判明することができないため、確認対象の内部状態を再現することができないという問題があった。
【００１０】
そこで、請求項１記載の発明は、内部に有する複数のレジスタのうち所定のレジスタと並列に、外部からロードされるデータを保持するロード値保持レジスタを配設し、当該ロード値保持レジスタの後段に、当該ロード値保持レジスタの出力と当該ロード値保持レジスタに並列に配設されているレジスタの出力の一方を選択して出力するセレクタを配設して、当該ロード値保持レジスタへのデータとセレクタの選択動作を制御して、内部のレジスタの状態を任意に設定可能とすることにより、半導体集積回路の内部レジスタに対して、例えば、特定の処理を実行した後、または、特定の処理を実行する前の状態にさせて、当該特定処理の時点に至るまでのシーケンスを判明できるようにし、予想外の動作が発生しても、確認対象の内部状態を再現して、内部動作を容易に把握することのできる半導体集積回路を提供することを目的としている。
【００１１】
請求項２記載の発明は、ロード値保持レジスタを、複数のシフトレジスタで構成され、外部から供給されるデータを順次シフトして保持するものとすることにより、半導体集積回路内にロード値保持レジスタを組み込むことによる影響を抑制するとともに、内部動作を容易に把握することのできる半導体集積回路を提供することを目的としている。
【００１２】
請求項３記載の発明は、ロード値保持レジスタを、シフトレジスタが複数個ずつグループとして構成され、当該各グループ毎に外部から供給されるデータを当該グループ内で順次シフトして保持するものとすることにより、外部データをロードする時間を短縮し、速やかに確認対象の内部状態を再現して、速やかに内部動作を容易に把握することのできる半導体集積回路を提供することを目的としている。
【００１３】
【課題を解決するための手段】
請求項１記載の発明の半導体集積回路は、複数のレジスタを有し各種データ処理を行う半導体集積回路において、前記レジスタのうち所定のレジスタと並列に配設され、外部からロードされるデータを保持するロード値保持レジスタと、前記ロード値保持レジスタの後段に配設され前記ロード値保持レジスタの出力と当該ロード値保持レジスタに並列に配設されている前記レジスタの出力の一方を選択して出力するセレクタと、を備え、前記ロード値保持レジスタへのデータと前記セレクタの選択動作を制御して、内部のレジスタの状態を任意に設定可能であることにより、上記目的を達成している。
【００１４】
上記構成によれば、内部に有する複数のレジスタのうち所定のレジスタと並列に、外部からロードされるデータを保持するロード値保持レジスタを配設し、当該ロード値保持レジスタの後段に、当該ロード値保持レジスタの出力と当該ロード値保持レジスタに並列に配設されているレジスタの出力の一方を選択して出力するセレクタを配設して、当該ロード値保持レジスタへのデータとセレクタの選択動作を制御して、内部のレジスタの状態を任意に設定可能としているので、半導体集積回路の内部レジスタに対して、例えば、特定の処理を実行した後、または、特定の処理を実行する前の状態にさせて、当該特定処理の時点に至るまでのシーケンスを判明することができ、予想外の動作が発生しても、確認対象の内部状態を再現して、内部動作を容易に把握することができる。
【００１５】
この場合、例えば、請求項２に記載するように、前記ロード値保持レジスタは、複数のシフトレジスタで構成され、外部から供給されるデータを順次シフトして保持するものであってもよい。
【００１６】
上記構成によれば、ロード値保持レジスタを、複数のシフトレジスタで構成され、外部から供給されるデータを順次シフトして保持するものとしているので、半導体集積回路内にロード値保持レジスタを組み込むことによる影響を抑制することができるとともに、内部動作を容易に把握することができる。
【００１７】
また、例えば、請求項３に記載するように、前記ロード値保持レジスタは、シフトレジスタが複数個ずつグループとして構成され、当該各グループ毎に外部から供給されるデータを当該グループ内で順次シフトして保持するものであってもよい。
【００１８】
上記構成によれば、ロード値保持レジスタを、シフトレジスタが複数個ずつグループとして構成され、当該各グループ毎に外部から供給されるデータを当該グループ内で順次シフトして保持するものとしているので、外部データをロードする時間を短縮することができ、速やかに確認対象の内部状態を再現して、速やかに内部動作を容易に把握することができる。
【００１９】
【発明の実施の形態】
以下、本発明の好適な実施の形態を添付図面に基づいて詳細に説明する。なお、以下に述べる実施の形態は、本発明の好適な実施の形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【００２０】
図１及び図２は、本発明の半導体集積回路の一実施の形態を示す図であり、図１は、本発明の半導体集積回路の一実施の形態を適用した半導体集積回路１の要部回路ブロック図である。
【００２１】
図１において、半導体集積回路１は、各種端子１０１、１０２、１０３、１０４、１０５、１０６、１０７、入力バッファ１０８Ａ、１０８Ｂ、１０９、１１０、１１１、１１２、１１３、１１４、レジスタ１１５、１１６、１１７、１１８、組み合わせ回路１１９、レジスタ１２０Ａ、１２１Ａ、１２２Ａ、１２３Ａ、ロード値保持レジスタ１２０Ｂ、１２１Ｂ、１２２Ｂ、１２３Ｂ、セレクタ１２４、１２５、１２６、１２７、組み合わせ回路１２８、レジスタ１２９、１３０、１３１、１３２、出力バッファ１３３、１３４及び出力端子１３５、１３６等を備えている。
【００２２】
入力端子１０１は、双方向データ信号Ａ１のための双方向端子であり、入力端子１０２は、入力信号Ａ２のための入力端子である。入力端子１０３は、入力信号Ａ３のための入力端子であり、入力端子１０４は、入力信号Ａ４のための入力端子である。さらに、入力端子１０５は、ロード信号ＬＤのための入力端子であり、入力端子１０６は、クロックＣＬＫ入力のための入力端子である。入力端子１０７は、ロードクロックＬＤＣＬＫ入力のための入力端子である。
【００２３】
各信号の入力端子１０１〜１０４には、バッファ１０８Ｂ、１０９〜１１１を介して初段のレジスタ１１５〜１１８が接続されており、各入力端子１０１〜１０４に半導体集積回路１の外部から入力された信号Ａ１〜Ａ４は、バッファ１０８Ｂ、１０９〜１１１を介してレジスタ１１５〜１１８に保持される。
【００２４】
すなわち、半導体集積回路１は、外部から入力される信号Ａ１〜Ａ４を、まず、レジスタ１１５〜１１８で受け取り、このレジスタ１１５〜１１８の出力を使用して内部動作を行わせることで、半導体集積回路１の外部から入力される信号Ａ１〜Ａ４のクロックＣＬＫに対するタイミング制約を緩和している。
【００２５】
組み合わせ回路１１９は、初段のレジスタ１１５〜１１８の出力等からの信号を入力として、論理演算を行い、後段のレジスタ１２０Ａ〜１２３Ａとロード値保持レジスタ１２０Ｂ〜１２３Ｂのうち、レジスタ１２０Ａ〜１２３Ａにデータを出力する。
【００２６】
この後段のレジスタ１２０Ａ〜１２３Ａのクロック入力端子には、入力端子１０６に入力されるシステムクロックＣＬＫが入力バッファ１１３を介して入力され、レジスタ１２０Ａ〜１２３Ａは、このクロックＣＬＫの立ち上がりエッジ毎にそれぞれ組み合わせ回路１１９からのデータを取り込む。
【００２７】
このレジスタ１２０Ａ、１２１Ａ、１２２Ａ、１２３Ａに並列に、ロード値保持用のレジスタ１２０Ｂ、１２１Ｂ、１２２Ｂ、１２３Ｂが設けられており、ロード値保持レジスタ１２０Ｂ〜１２３Ｂは、ロードクロックＬＤＣＬＫをクロック信号として使用して、ロード値保持レジスタ１２０Ｂとロード値保持レジスタ１２１Ｂ、ロード値保持レジスタ１２２Ｂとロード値保持レジスタ１２３Ｂをグループとする組み合わせで、シフトレジスタ構成となっている。ロード値保持レジスタ１２０Ｂとロード値保持レジスタ１２１Ｂの組のシフトレジスタには、信号Ａ２の入力端子１０２からバッファ１０９を介してシフトデータが入力され、ロード値保持レジスタ１２０Ｂとロード値保持レジスタ１２１Ｂは、この入力データを順次シフトして保持する。ロード値保持レジスタ１２２Ｂとロード値保持レジスタ１２３Ｂの組のシフトレジスタには、信号Ａ３の入力端子１０３からバッファ１１０を介してシフトデータが入力され、ロード値保持レジスタ１２２Ｂとロード値保持レジスタ１２３Ｂは、この入力データを順次シフトして保持する。
【００２８】
上記レジスタ１２０Ａ、１２０Ｂ、１２１Ａ、１２１Ｂ、１２２Ａ、１２２Ｂ、１２３Ａ、１２３Ｂの後段には、セレクタ１２４〜１２７が配設されており、セレクタ１２４〜１２７には、それぞれレジスタ１２０Ａとロード値保持レジスタ１２０Ｂ、レジスタ１２１Ａとロード値保持レジスタ１２１Ｂ、レジスタ１２２Ａとロード値保持レジスタ１２２Ｂ及びレジスタ１２３Ａとロード値保持レジスタ１２３Ｂから信号が入力され、また、入力端子１０５からロード信号ＬＤがバッファ１１２を介して入力される。セレクタ１２４〜１２７は、ロード信号ＬＤの入力信号状態により、レジスタ１２０Ａとロード値保持レジスタ１２０Ｂ、レジスタ１２１Ａとロード値保持レジスタ１２１Ｂ、レジスタ１２２Ａとロード値保持レジスタ１２２Ｂ及びレジスタ１２３Ａとロード値保持レジスタ１２３Ｂからの信号の一方を選択して組み合わせ回路１２８に出力する。
【００２９】
組み合わせ回路１２８は、セレクタ１２４〜１２７からの信号に論理演算を行って、後段のレジスタ１２９〜１３２に出力する。
【００３０】
レジスタ１２９〜１３２には、それぞれ組み合わせ回路１２８からの出力が入力され、また、入力端子１０５からロード信号ＬＤがバッファ１１２を介して入力される。レジスタ１２９は、その出力端子がバッファ１０８Ａを介して入力端子１０１に接続されており、レジスタ１２９の出力は、Ａ１信号の入力端子の出力信号となる。レジスタ１３０は、その出力端子がバッファ１０８Ａのイネーブル端子に接続されており、レジスタ１３０のレジスタ出力は、バッファ１０８Ａを介して、Ａ１信号の入力端子１０１の出力信号のアウトプット・イネーブル信号となる。
【００３１】
レジスタ１３１の出力端子は、出力バッファ１３３を介して出力端子１３５に接続されており、レジスタ１３１の出力は、半導体集積回路１の外部への出力信号として出力される。
【００３２】
レジスタ１３２も同様に、その出力端子が、出力バッファ１３４を介して出力端子１３６に接続されており、レジスタ１３２の出力は、半導体集積回路１の外部への出力信号として出力される。
【００３３】
次に、本実施の形態の作用を説明する。本実施の形態の半導体集積回路１は、半導体集積回路１の内部のレジスタ１１５〜１１８、レジスタ１２０Ａ、１２０Ｂ、１２１Ａ、１２１Ｂ、１２２Ａ、１２２Ｂ、１２３Ａ、１２３Ｂ及びレジスタ１２９〜１３２の内容を容易に設定することができる。
【００３４】
例えば、以下、レジスタ１２０Ａ、１２０Ｂ、１２１Ａ、１２１Ｂ、１２２Ａ、１２２Ｂ、１２３Ａ、１２３Ｂについて、図２に基づいて説明する。
【００３５】
図２において、ＣＬＫは、上記システムクロックであり、ロード値保持レジスタ１２０Ｂ〜１２３Ｂ以外のレジスタ１１５〜１１８、レジスタ１２０Ａ〜１２３Ａ及びレジスタ１２９〜１３２は、このシステムクロックＣＬＫを基準に動作している。また、ＬＤＣＬＫは、ロード値保持レジスタ１２０Ｂ〜１２３Ｂに供給されているロードクロックで、ロード値保持レジスタ１２０Ｂ〜１２３Ｂは、ロードクロックＬＤＣＬＫの立ち上がりエッジ毎に、組み合わせ回路１１９からのデータを獲得して、データをロードする。
【００３６】
半導体集積回路１では、まず、図２に示すように、ロードクロックＬＤＣＬＫの立ち上がりエッジの前に、信号Ａ２、Ａ３の入力端子１０２、１０３に、ロード値保持レジスタ１２０Ｂ〜１２３Ｂにロードさせたいデータ、例えば、データＳ００、Ｓ１０を確定させる。その後、ロードクロックＬＤＣＬＫの立ち上がりエッジが発生し、半導体集積回路１は、ロード値保持レジスタ１２１Ｂ、１２３Ｂに、信号Ａ２、Ａ３の入力端子１０２、１０３に与えられていた信号状態Ｓ００、Ｓ１０を獲得する。
【００３７】
次に、ロードクロックＬＤＣＬＫの２回目の立ち上がりエッジの前に、信号Ａ２、Ａ３の入力端子にロード値保持レジスタ１２０Ｂ〜１２３Ｂにロードさせたいデータ、例えば、データＳ０１、Ｓ１１を確定させる。その後、ロードクロックＬＤＣＬＫの立ち上がりエッジが発生し、半導体集積回路１は、ロード値保持レジスタ１２１Ｂ、１２３Ｂが信号Ａ２、Ａ３の入力端子１０２、１０３に与えられていた信号状態Ｓ０１、Ｓ１１を獲得する。また、半導体集積回路１は、ロード値保持レジスタ１２０Ｂに、ロード値保持レジスタ１２１Ｂの獲得していたデータ内容Ｓ００がシフトし、ロード値保持レジスタ１２２Ｂに、ロード値保持レジスタ１２３Ｂの獲得していたデータ内容Ｓ１０がシフトする。
【００３８】
したがって、ロード値保持レジスタ１２０Ｂ、１２１Ｂ、１２２Ｂ、１２３Ｂに所望の値が設定される。
【００３９】
また、半導体集積回路１は、最初の状態では、セレクタ１２４〜１２７に供給しているロード信号ＬＤの状態がＨレベルであるので、セレクタ１２４〜１２７は、ロード値保持レジスタ１２０Ｂ〜１２３Ｂの出力側を選択出力する。その後、ロード信号ＬＤをＬレベルとすることで、セレクタ１２４〜１２７は、本来の内部レジスタであるレジスタ１２０Ａ、１２１Ａ、１２２Ａ、１２３Ａの出力に切り換える。
【００４０】
したがって、半導体集積回路１の内部レジスタ１１５〜１１８、レジスタ１２０Ａ〜１２３Ａ、ロード値保持レジスタ１２０Ｂ〜１２３Ｂ及びレジスタ１２９〜１３２の状態を半導体集積回路１の外部から自由に設定して動作させたように、動作させることができる。
【００４１】
このように、本実施の形態の半導体集積回路１は、内部に有する複数のレジスタ１１５〜１１８、レジスタ１２０Ａ〜１２３Ａ及びレジスタ１２９〜１３２のうち、レジスタ１２０Ａ〜１２３Ａと並列に、外部からロードされるデータを保持するロード値保持レジスタ１２０Ｂ〜１２３Ｂを配設し、ロード値保持レジスタ１２０Ｂ〜１２３Ｂの後段に、ロード値保持レジスタ１２０Ｂ〜１２３Ｂの出力とロード値保持レジスタ１２０Ｂ〜１２３Ｂに並列に配設されているレジスタ１２０Ａ〜１２３Ａの出力の一方を選択して出力するセレクタセレクタ１２４〜１２７を配設して、ロード値保持レジスタ１２０Ｂ〜１２３Ｂへのデータとセレクタ１２４〜１２７の選択動作を制御して、内部のレジスタ１１５〜１１８、レジスタ１２０Ａ〜１２３Ａ及びレジスタ１２９〜１３２の状態を任意に設定可能としている。
【００４２】
したがって、半導体集積回路１の内部レジスタレジスタ１１５〜１１８、レジスタ１２０Ａ〜１２３Ａ及びレジスタ１２９〜１３２に対して、例えば、特定の処理を実行した後、または、特定の処理を実行する前の状態にさせて、当該特定処理の時点に至るまでのシーケンスを判明することができ、予想外の動作が発生しても、確認対象の内部状態を再現して、内部動作を容易に把握することができる。
【００４３】
また、本実施の形態の半導体集積回路１は、ロード値保持レジスタ１２０Ｂ〜１２３Ｂを、複数のシフトレジスタで構成され、外部から供給されるデータを順次シフトして保持するものとしている。
【００４４】
したがって、半導体集積回路１内にロード値保持レジスタ１２０Ｂ〜１２３Ｂを組み込むことによる影響を抑制することができるとともに、内部動作を容易に把握することができる。
【００４５】
さらに、本実施の形態の半導体集積回路１は、ロード値保持レジスタ１２０Ｂ〜１２３Ｂを、シフトレジスタが複数個ずつグループとして構成され、当該各グループ毎に外部から供給されるデータを当該グループ内で順次シフトして保持するものとしている。例えば、ロード値保持レジスタ１２０Ｂとロード値保持レジスタ１２１Ｂをグループとし、ロード値保持レジスタ１２２Ｂとロード値保持レジスタ１２３Ｂをグループとしている。
【００４６】
したがって、外部データをロードする時間を短縮することができ、速やかに確認対象の内部状態を再現して、速やかに内部動作を容易に把握することができる。
【００４７】
以上、本発明者によってなされた発明を好適な実施の形態に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００４８】
【発明の効果】
請求項１記載の発明の半導体集積回路によれば、内部に有する複数のレジスタのうち所定のレジスタと並列に、外部からロードされるデータを保持するロード値保持レジスタを配設し、当該ロード値保持レジスタの後段に、当該ロード値保持レジスタの出力と当該ロード値保持レジスタに並列に配設されているレジスタの出力の一方を選択して出力するセレクタを配設して、当該ロード値保持レジスタへのデータとセレクタの選択動作を制御して、内部のレジスタの状態を任意に設定可能としているので、半導体集積回路の内部レジスタに対して、例えば、特定の処理を実行した後、または、特定の処理を実行する前の状態にさせて、当該特定処理の時点に至るまでのシーケンスを判明することができ、予想外の動作が発生しても、確認対象の内部状態を再現して、内部動作を容易に把握することができる。
【００４９】
請求項２記載の発明の半導体集積回路によれば、ロード値保持レジスタを、複数のシフトレジスタで構成され、外部から供給されるデータを順次シフトして保持するものとしているので、半導体集積回路内にロード値保持レジスタを組み込むことによる影響を抑制することができるとともに、内部動作を容易に把握することができる。
【００５０】
請求項３記載の発明の半導体集積回路によれば、ロード値保持レジスタを、シフトレジスタが複数個ずつグループとして構成され、当該各グループ毎に外部から供給されるデータを当該グループ内で順次シフトして保持するものとしているので、外部データをロードする時間を短縮することができ、速やかに確認対象の内部状態を再現して、速やかに内部動作を容易に把握することができる。
【図面の簡単な説明】
【図１】本発明の半導体集積回路の一実施の形態を適用した半導体集積回路の要部回路構成図。
【図２】図１の半導体集積回路のロード値保持レジスタの周辺のタイミングチャート。
【符号の説明】
１　半導体集積回路
１０１〜１０７　入力端子
１０８Ａ、１０８Ｂ、１０９〜１１４　入力バッファ
１１５〜１１８　レジスタ
１１９　組み合わせ回路
１２０Ａ〜１２３Ａ　レジスタ
１２０Ｂ〜１２３Ｂ　ロード値保持レジスタ
１２４〜１２７　セレクタ
１２８　組み合わせ回路
１２９〜１３２　レジスタ
１３３、１３４　出力バッファ
１３５、１３６　出力端子
【図１】
2004087919.tif 000003
【図２】
2004087919.tif 000004