(57)【要約】【課題】半導体集積回路のリセットを行う機構に関して新たな機構を提供する。【解決手段】内部回路と、前記内部回路とホストコントローラとの間の通信インタフェースとして機能するインタフェース回路と、前記ホストコントローラからリセットコマンドを受信した場合に、前記内部回路および前記インタフェース回路をリセットするためのリセット信号を出力するリセット回路とを備えることを特徴とする半導体集積回路。【選択図】図１
2009025975.tif 000002
【特許請求の範囲】
【請求項１】
内部回路と、
前記内部回路とホストコントローラとの間の通信インタフェースとして機能するインタフェース回路と、
前記ホストコントローラからリセットコマンドを受信した場合に、前記内部回路および前記インタフェース回路をリセットするためのリセット信号を出力するリセット回路とを備えることを特徴とする半導体集積回路。
【請求項２】
更に、前記リセット信号と基板リセット信号とのＡＮＤ、ＮＡＮＤ、ＯＲ、又はＮＯＲをとり、前記リセット信号と前記基板リセット信号とが統合された統合リセット信号を出力するゲート回路を備えることを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記統合リセット信号が、前記内部回路および前記インタフェース回路に供給されることを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記リセット回路は、
前記ホストコントローラから受信したデータを格納するためのシフトレジスタと、
前記シフトレジスタの値を格納するためのバッファと、
前記バッファ内の値をデコードして得られた値が前記リセットコマンドである場合に、前記リセット信号を出力するデコーダと、
前記デコーダから出力された前記リセット信号をフィルタリングするフィルタとを備えることを特徴とする請求項１乃至３のいずれか１項に記載の半導体集積回路。
【請求項５】
前記フィルタは、
互いに直列接続されており、先頭のフリップフロップには前記デコーダから出力された前記リセット信号が入力され、後続の他のフリップフロップには前段のフリップフロップから出力された出力信号が入力される、複数のフリップフロップと、
前記複数のフリップフロップそれぞれから出力された複数の出力信号のＯＲ、ＮＯＲ、ＡＮＤ、又はＮＡＮＤをとる論理ゲートとを備え、
前記論理ゲートから出力された出力信号を、前記フィルタによりフィルタリングされた前記リセット信号として出力することを特徴とする請求項４に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路に関する。
【背景技術】
【０００２】
実装基板上では、ＩＣ同士がシリアルバスやパラレルバスで接続される。シリアルバスの具体例としては、ＩＩＣ（Inter-Integrated Circuit）バスやＳＰＩ（Serial Peripheral Interface）バスが挙げられる。ＩＩＣバスは、２線式のシリアルバスとして広く知られており、ＳＰＩバスは、３線式又は４線式のシリアルバスとして広く知られている。２線式のＩＩＣバスでは一般に、ＩＣ同士がクロック線、及びデータ線で接続される。３線式のＳＰＩバスでは一般に、ＩＣ同士がクロック線、データ入力線、及びデータ出力線で接続される。４線式のＳＰＩバスでは一般に、ＩＣ同士がクロック線、データ入力線、データ出力線、及びストローブ線（制御線）で接続される。
【０００３】
ところで、実装基板上のＩＣには、何らかの異常が生じる場合がある。この場合、当該ＩＣのハードリセット又はソフトリセットを行う必要がある。この場合のリセット方法としては、ハードリセットの方がソフトリセットよりも適していると考えられる。理由は、ソフトリセットは、何らかの通信異常が生じた場合に実施できなくなる可能性があるからである。しかし、ハードリセットにも欠点はある。実装基板上には一般にハードリセットが１つしかない、という欠点である。そのため、ハードリセット信号をアサートすると、リセットする必要のないＩＣまでリセットされてしまう。よって、従来とは異なる新たなハードリセットの機構が待望される。
【０００４】
なお、特許文献１には、親機が特殊な同期信号を出力し、子機が該同期信号をリセット信号として検出するようなシリアル通信装置が開示されている。また、特許文献２には、子局内のリセット回路から該子局内のメイン回路にリセット信号が出力されるような情報処理装置が開示されている。
【特許文献１】特開平６−２１９９９号公報
【特許文献２】特開平６−３３８９１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、半導体集積回路のリセットを行う機構に関して新たな機構を提供することを課題とする。
【課題を解決するための手段】
【０００６】
本発明の実施形態は例えば、内部回路と、前記内部回路とホストコントローラとの間の通信インタフェースとして機能するインタフェース回路と、前記ホストコントローラからリセットコマンドを受信した場合に、前記内部回路および前記インタフェース回路をリセットするためのリセット信号を出力するリセット回路とを備えることを特徴とする半導体集積回路である。
【発明の効果】
【０００７】
本発明は、半導体集積回路のリセットを行う機構に関して新たな機構を提供するものである。
【発明を実施するための最良の形態】
【０００８】
図１は、本実施例の半導体集積回路１０１の回路構成図である。図１には、半導体集積回路１０１と、更なる半導体集積回路（ホストコントローラ）２０１とが示されている。半導体集積回路１０１とホストコントローラ２０１は、図１のように、実装基板３０１上に実装されており、実装基板３０１上のバス４０１によって互いに接続されている。バス４０１は、シリアルバスでもパラレルバスでも構わない。バス４０１はここでは、４線式のシリアルバスであり、クロック線４０１Ａと、データ入力線４０１Ｂと、データ出力線４０１Ｃと、ストローブ線（制御線）４０１Ｄとを含んでいる。
【０００９】
半導体集積回路１０１は、内部回路１１１と、インタフェース回路１１２と、リセット回路１１３と、ゲート回路１１４とを備える。内部回路１１１は、半導体集積回路１０１の内部回路である。内部回路１１１は、記憶回路でも論理回路でもよい。インタフェース回路１１２は、内部回路１１１とホストコントローラ２０１との間の通信インタフェースとして機能する回路である。インタフェース回路１１２はここでは、バス４０１Ａ，Ｂ，Ｃ，Ｄに接続されており、４線式のシリアルバスの通信インタフェースとして機能する。リセット回路１１３は、ホストコントローラ２０１からリセットコマンドを受信した場合に、リセット信号ＲＳ１を出力する回路である。リセット信号ＲＳ１は、内部回路１１１及びインタフェース回路１１２をリセットするためのリセット信号である。リセット回路１１３はここでは、バス４０１Ａ，Ｂ，Ｄに接続されている。ゲート回路１１４は、リセット信号ＲＳ１と基板リセット信号ＲＳ２とのＡＮＤをとり、リセット信号ＲＳ１と基板リセット信号ＲＳ２とが統合された統合リセット信号ＲＳを出力するＡＮＤ回路である。基板リセット信号ＲＳ２は、実装基板３０１におけるリセット信号である。図１の半導体集積回路１０１では、当該統合リセット信号ＲＳが、内部回路１１１及びインタフェース１１２に供給される。
【００１０】
ここでは、リセット信号ＲＳ１及び基板リセット信号ＲＳ２は、負論理の信号となっている。そのため、ゲート回路１１４はＡＮＤ回路となっている。リセット信号ＲＳ１及び基板リセット信号ＲＳ２は、正論理の信号でもよい。その場合、ゲート回路１１４はＯＲ回路となる。ここでは、統合リセット信号ＲＳもまた、負論理の信号となっている。統合リセット信号ＲＳは、正論理の信号でもよい。その場合、ゲート回路１１４は、リセット信号ＲＳ１及び基板リセット信号ＲＳ２が負論理の信号であれば、ＮＡＮＤ回路となり、リセット信号ＲＳ１及び基板リセット信号ＲＳ２が正論理の信号であれば、ＮＯＲ回路となる。なお、図１では、ゲート回路１１４をリセット回路１１３の外部の回路としているが、ゲート回路１１４はリセット回路１１３の内部の回路としても構わない。
【００１１】
インタフェース回路１１２は、図１のように、シフトレジスタ１２１と、受信バッファ１２２とを具備する。シフトレジスタ１２１は、ホストコントローラ２０１から受信したデータを格納するためのシフトレジスタである。受信バッファ１２２は、シフトレジスタ１２１の値を格納するためのバッファである。
【００１２】
リセット回路１１３は、図１のように、本発明のシフトレジスタの具体例であるシフトレジスタ１３１と、本発明のバッファの具体例であるコマンドバッファ１３２と、本発明のデコーダの具体例であるコマンドデコーダ１３３と、本発明のフィルタの具体例であるフィルタ１３４とを具備する。シフトレジスタ１３１は、ホストコントローラ２０１から受信したデータを格納するためのシフトレジスタである。コマンドバッファ１３２は、シフトレジスタ１３１の値を格納するためのバッファである。コマンドデコーダ１３３は、コマンドバッファ１３２内の値をデコードして得られた値がリセットコマンドである場合に、リセット信号ＲＳ１を出力するデコーダである。フィルタ１３４は、コマンドデコーダ１３３から出力されたリセット信号ＲＳ１をフィルタリングするフィルタである。リセット回路１１３は、フィルタ１３４によってフィルタリングされたリセット信号ＲＳ１を出力する。リセット回路１１３は、コマンドデコーダ１３３から出力されたリセット信号ＲＳ１そのものを出力しても構わない。
【００１３】
図２は、フィルタ１３４の回路構成図である。図２のフィルタ１３４は、コマンドデコーダ１３３から出力されたリセット信号ＲＳ１をフィルタリングして、当該リセット信号ＲＳ１のノイズを低減するフィルタとなっている。図２のフィルタ１３４は、複数のフリップフロップ１４１と、論理ゲート１４２とを備えている。図２のフィルタ１３４はここでは、３つのフリップフロップ１４１Ａ，Ｂ，Ｃと、１つの論理ゲート１４２とを備えている。
【００１４】
フリップフロップ１４１Ａ，Ｂ，Ｃは、互いに直列接続されている。フリップフロップ１４１Ａが、１番目のフリップフロップに相当し、フリップフロップ１４１Ｂが、２番目のフリップフロップに相当し、フリップフロップ１４１Ｃが、３番目のフリップフロップに相当する。先頭のフリップフロップ１４１Ａには、コマンドデコーダ１３３から出力されたリセット信号ＲＳ１が入力される。後続の他のフリップフロップ１４１Ｂ，Ｃには、前段のフリップフロップから出力された出力信号が入力される。フリップフロップ１４１Ｂには、フリップフロップ１４１Ａから出力された出力信号ＳＡが入力される。フリップフロップ１４１Ｃには、フリップフロップ１４１Ｂから出力された出力信号ＳＢが入力される。フリップフロップ１４１Ｃからは、出力信号ＳＣが出力される。
【００１５】
論理ゲート１４２には、複数のフリップフロップ１４１Ａ，Ｂ，Ｃそれぞれから出力された複数の出力信号ＳＡ，ＳＢ，ＳＣが入力される。すなわち、論理ゲート１４２には、フリップフロップ１４１Ａの出力信号ＳＡと、フリップフロップ１４１Ｂの出力信号ＳＢと、フリップフロップ１４１Ｃの出力信号ＳＣとが入力される。論理ゲート１４２はここでは、ＯＲ回路である。そのため、論理ゲート１４２はここでは、出力信号ＳＡ，ＳＢ，ＳＣのＯＲをとり、出力信号ＳＡ，ＳＢ，ＳＣのＯＲに相当する出力信号Ｓを出力する。論理ゲート１４２は、ゲート回路１１４と同様の理由で、ＡＮＤ回路、ＮＯＲ回路、又はＮＡＮＤ回路でも構わない。その場合、論理ゲート１４２は、出力信号ＳＡ，ＳＢ，ＳＣのＡＮＤ、ＮＯＲ、又はＮＡＮＤをとり、出力信号ＳＡ，ＳＢ，ＳＣのＡＮＤ、ＮＯＲ、又はＮＡＮＤに相当する出力信号Ｓを出力する。
【００１６】
フィルタ１３４は、論理ゲート１４２から出力された出力信号Ｓを、フィルタ１３４によりフィルタリングされたリセット信号ＲＳ１として出力する。こうして、ノイズが低減されたリセット信号ＲＳ１が出力される。
【００１７】
なお、フィルタ１３４では、第１乃至第Ｎのフリップフロップ１４１が互いに直列接続されていてもよい。Ｎは２以上の整数である。この場合、先頭のフリップフロップ１４１には、コマンドデコーダ１３３から出力されたリセット信号ＲＳ１が入力される。後続の他のフリップフロップ１４１には、前段のフリップフロップ１４１から出力された出力信号が入力される。論理ゲート１４２には、Ｎ個のフリップフロップ１４１それぞれから出力されたＮ個の出力信号が入力される。論理ゲート１４２は、これらの出力信号のＯＲ、ＡＮＤ、ＮＯＲ、又はＮＡＮＤをとり、これらの出力信号のＯＲ、ＡＮＤ、ＮＯＲ、又はＮＡＮＤに相当する出力信号Ｓを出力する。
【００１８】
図３は、半導体集積回路１０１の動作例を表すタイミングチャートである。
【００１９】
まず、半導体集積回路１０１をリセットするためのリセットコマンドが、ホストコントローラ２０１から半導体集積回路１０１に送信されたと想定する。当該リセットコマンドはここでは、０ｘ０ｅ００００００であるとする。当該リセットコマンドは、バス４０１を介してホストコントローラ２０１から半導体集積回路１０１に転送される。バス４０１はここでは、３２ビットのシリアルバスであるとする。
【００２０】
リセット回路１１３は、データ入力線４０１Ｂから受信したデータを、シフトレジスタ１３１に格納する。シフトレジスタ１３１では、当該データが、クロック線４０１Ａから受信したクロック信号の立ち下がり毎にシフトして行く。当該データの先頭位置は、ストローブ線４０１Ｄから受信したストローブ信号で示される。図３Ａにはクロック信号の例が、図３Ｂにはストローブ信号の例が示されている。
【００２１】
リセット回路１１３には、カウンタ１３５が設けられている。カウンタ１３５は、クロック信号の立ち下がり毎にカウントアップして行く。図３Ｃには、カウンタ１３５のカウントアップの様子が示されている。カウンタ１３５のカウント数が３２になりストローブ信号がデアサートされると、シフトレジスタ１３１の値がコマンドバッファ１３２に格納される。
【００２２】
コマンドデコーダ１３３は、コマンドバッファ１３２内の値をデコードする。コマンドデコーダ１３３はそして、デコード値が０ｘ０ｅ００００００であるか否かを判断する。コマンドデコーダ１３３は、デコード値が０ｘ０ｅ００００００である場合には、リセット信号ＲＳ１を出力する。本実施例では、ストローブ信号のデアサート時にデータをコマンドバッファ１３２に格納することで、送信トランザクションが終了してからリセットがかかるようになっている。この様子は、図３Ｄ，Ｅ，Ｆに示されている。図３Ｆには、リセット信号ＲＳ１の例が示されている。
【００２３】
コマンドデコーダ１３３から出力されたリセット信号ＲＳ１は、フィルタ１３４によりフィルタリングされる。リセット回路１１３は、フィルタ１３４によってフィルタリングされたリセット信号ＲＳ１を出力する。ゲート回路１１４は、このリセット信号ＲＳ１と基板リセット信号ＲＳ２とを統合して、統合リセット信号ＲＳを出力する。この統合リセット信号ＲＳが、内部回路１１１及びインタフェース回路１１２に配られる。このような構成により、半導体集積回路１０１は、ホストコントローラ２０１により半導体集積回路１０１の異常が認識された場合に、自らにリセットをかける事ができる。半導体集積回路１０１は、統合リセット信号ＲＳがＯＮ（ロー）になった場合、すなわち、リセット信号ＲＳ１又は基板リセット信号ＲＳ２がＯＮ（ロー）になった場合に、リセットされる。
【００２４】
なお、バス４０１は例えば、クロック線とデータ入力線とデータ出力線とを含む３線式のシリアルバスでも構わない。その場合、カウンタ１３５の動作は、ストローブ信号以外の信号で制御される事になる。
【００２５】
以上のように、半導体集積回路１０１は、ホストコントローラ２０１からリセットコマンドを受信した場合に、半導体集積回路１０１をリセットするリセット回路１１３を具備している。よって、半導体集積回路１０１は、ホストコントローラ２０１によって半導体集積回路１０１の異常が認識された場合に、自らをハードリセットによりリセットする事ができる。また、リセット回路１１３は、内部回路１１１及びインタフェース回路１１２をリセットするためのリセット信号ＲＳ１を出力する事で、半導体集積回路１０１をリセットする事ができる。よって、上記のハードリセットによれば、内部回路１１１がリセットされると共に、バス４０１を利用するのに必要なインタフェース回路１１２がリセットされる。本実施例によれば、このような好適なハードリセットが実現される。
【００２６】
このように、本実施例によれば、半導体集積回路１０１に何らかの異常が生じた場合、半導体集積回路１０１をソフトリセットによらずハードリセットによりリセットする事ができる。よって、本実施例の半導体集積回路１０１は、通信エラー等のエラーに強い回路となる。また、本実施例では、リセット回路１１３がインタフェース回路１１２とは独立している。よって、本実施例では、インタフェース回路１１２がハングアップしても確実に、半導体集積回路１０１をリセットする事ができる。
【図面の簡単な説明】
【００２７】
【図１】本実施例の半導体集積回路の回路構成図である。
【図２】図１のフィルタの回路構成図である。
【図３】図１の半導体集積回路の動作例を表すタイミングチャートである。
【符号の説明】
【００２８】
１０１  半導体集積回路
１１１  内部回路
１１２  インタフェース回路
１１３  リセット回路
１１４  ゲート回路
１２１  シフトレジスタ
１２２  受信バッファ
１２３  カウンタ
１３１  シフトレジスタ
１３２  コマンドバッファ
１３３  コマンドデコーダ
１３４  フィルタ
１３５  カウンタ
１４１  フリップフロップ
１４２  論理ゲート
２０１  ホストコントローラ
３０１  実装基板
４０１  バス
【図１】
2009025975.tif 000003
【図２】
2009025975.tif 000004
【図３】
2009025975.tif 000005