(57)【要約】  出力信号にノイズが含まれることを抑制するとともに、入力信号に対する出力信号の応答速度が高く、高速動作に適した出力信号を出力することのできる半導体装置、及び情報処理装置を提供することを課題とする。  入力端子に入力される入力信号に遅延を与えて出力端子から出力する半導体装置において、前記入力端子に直列に接続され、前記入力端子から入力される入力信号に遅延を与える複数の遅延素子と、前記複数の遅延素子の出力側にそれぞれ接続され、前記複数の遅延素子のいずれかの出力信号を選択するための選択信号に基づき、前記複数の遅延素子のいずれかの出力信号を選択して前記出力端子に折り返す複数の選択部と、前記複数の選択部に対応して設けられ、前記選択部に入力する前記選択信号の切り替えを、信号の折り返し点になる前記選択部に入力する入力信号の信号レベルの切り替わりよりも遅らせる複数の遅延回路とを含む。
2012070152.tif 000002
【特許請求の範囲】
【請求項１】
入力端子に入力される入力信号に遅延を与えて出力端子から出力する半導体装置において、
前記入力端子に直列に接続され、前記入力端子から入力される入力信号に遅延を与える複数の遅延素子と、
前記複数の遅延素子の出力側にそれぞれ接続され、前記複数の遅延素子のいずれかの出力信号を選択するための選択信号に基づき、前記複数の遅延素子のいずれかの出力信号を選択して前記出力端子に折り返す複数の選択部と、
前記複数の選択部に対応して設けられ、前記選択部に入力する前記選択信号の切り替えを、信号の折り返し点になる前記選択部に入力する入力信号の信号レベルの切り替わりよりも遅らせる複数の遅延回路と
を含む半導体装置。
【請求項２】
前記複数の遅延回路は、それぞれ、
自己に対応する前記選択部の一方の入力と他方の入力との排他的論理和を演算する複数の排他的論理和演算回路と、
前記排他的論理和演算回路に対応して設けられ、前記排他的論理和演算回路の出力信号を入力クロックとして入力し、前記入力クロックに応じて前記選択部に出力するフリップフロップと
を有する、請求項１に記載の半導体装置。
【請求項３】
前記複数の遅延回路は、それぞれ、
自己に対応する前記選択部の一方の入力又は他方の入力を前記選択信号に基づいて選択して出力する第２の選択部と、
前記第２の選択部の出力信号を入力クロックとして入力し、前記入力クロックに応じて前記選択信号を前記選択部に出力するフリップフロップと
を有する、請求項１に記載の半導体装置。
【請求項４】
前記複数の遅延回路は、それぞれ、自己に対応する前記選択部の入力信号に基づく出力信号を入力クロックとして入力し、前記入力クロックに応じて前記選択信号を前記選択部に出力するフリップフロップである、請求項１に記載の半導体装置。
【請求項５】
演算処理装置と、
主記憶装置と、
請求項１に記載の半導体装置を有し、前記演算処理装置と前記主記憶装置との間でデータの転送を行うメモリコントローラと
を含む情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
半導体装置、及び情報処理装置に関する。
【背景技術】
【０００２】
従来より、入力信号に遅延を与えて出力することにより、信号の遅延時間を調整する信号遅延装置があった。信号遅延装置は、例えば、ＬＳＩ（Large Scale Integrated circuit：大規模集積回路）のような半導体装置によって実現されていた。【０００３】
信号遅延装置の出力信号にノイズが含まれると、出力信号を用いる機器に動作不良が生じる可能性がある。このため、例えば、複数の遅延回路と、複数の遅延回路の出力を選択する選択回路とを含み、選択回路の切り替えによるノイズが出力信号に含まれないようにするために、選択回路での選択を指示する選択信号を、複数の遅延回路の出力のうち最も長い遅延時間だけ遅延させる信号遅延装置があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０８−２７４６０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の信号遅延装置は、複数の遅延回路の出力のうち最も長い遅延時間だけ選択信号を遅延させるため、入力信号に与える遅延時間の長短にかかわらず、一律に最も長い遅延時間を待機する必要があった。【０００６】
このため、従来の信号遅延装置は、入力信号を入力してから、入力信号に遅延を与えた出力信号を出力するまでの応答速度が低下するという課題があった。【０００７】
また、入力信号に対する出力信号の応答速度が低いと、例えばシステムクロックのようなクロック信号として出力信号を用いる機器における高速での動作に不向きであるという課題があった。【０００８】
そこで、出力信号にノイズが含まれることを抑制するとともに、入力信号に対する出力信号の応答速度が高く、高速動作に適した出力信号を出力することのできる半導体装置、及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の実施の形態の半導体装置は、入力端子に入力される入力信号に遅延を与えて出力端子から出力する半導体装置において、前記入力端子に直列に接続され、前記入力端子から入力される入力信号に遅延を与える複数の遅延素子と、前記複数の遅延素子の出力側にそれぞれ接続され、前記複数の遅延素子のいずれかの出力信号を選択するための選択信号に基づき、前記複数の遅延素子のいずれかの出力信号を選択して前記出力端子に折り返す複数の選択部と、前記複数の選択部に対応して設けられ、前記選択部に入力する前記選択信号の切り替えを、信号の折り返し点になる前記選択部に入力する入力信号の信号レベルの切り替わりよりも遅らせる複数の遅延回路とを含む。
【発明の効果】
【００１０】
出力信号にノイズが含まれることを抑制するとともに、入力信号に対する出力信号の応答速度が高く、高速動作に適した出力信号を出力することのできる半導体装置、及び情報処理装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】比較例の半導体装置に含まれる信号遅延回路を示す回路図である。
【図２】比較例の半導体装置に含まれる信号遅延回路の動作を示すタイミングチャートである。
【図３】実施の形態１の半導体装置を含むサーバ５０を示す図である。
【図４】実施の形態１の半導体装置を含むサーバ５０を示すブロック図である。
【図５】実施の形態１の半導体装置に含まれる信号遅延回路内の可変遅延回路の一部を示す回路図である。
【図６Ａ】実施の形態１の半導体装置に含まれる信号遅延回路内の可変遅延回路のエレメントＥ０の動作を表すタイミングチャートである。
【図６Ｂ】実施の形態１の半導体装置に含まれる信号遅延回路内の可変遅延回路のエレメントＥ０の動作を表すタイミングチャートである。
【図７】実施の形態１の半導体装置に含まれる信号遅延回路１００を示す回路図である。
【図８】実施の形態１の半導体装置に含まれる信号遅延回路１００の動作を表すタイミングチャートである。
【図９】実施の形態２の半導体装置に含まれる信号遅延回路２００の可変遅延回路内のエレメントＥ０の回路構成を示す図である。
【図１０Ａ】実施の形態２の半導体装置に含まれる信号遅延回路２００の可変遅延回路のエレメントＥ０の動作を表すタイミングチャートである。
【図１０Ｂ】実施の形態２の半導体装置に含まれる信号遅延回路２００の可変遅延回路のエレメントＥ０の動作を表すタイミングチャートである。
【図１１】実施の形態２の半導体装置に含まれる信号遅延回路２００内の可変遅延回路を示す回路図である。
【図１２】実施の形態２の変形例の半導体装置に含まれる信号遅延回路２００の回路の一部を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の半導体装置、及び情報処理装置を適用した実施の形態について説明する。
【００１３】
実施の形態１及び２の半導体装置、及び情報処理装置について説明する前に、まず、図１及び図２を用いて、比較例の半導体装置に含まれる信号遅延回路について説明する。
【００１４】
図１は、比較例の半導体装置に含まれる信号遅延回路を示す回路図である。
【００１５】
図１に示す比較例の半導体装置に含まれる信号遅延回路は、可変遅延回路１０と選択信号制御部４０を含む。
【００１６】
可変遅延回路１０は、インバータ１１、１２、１３、セレクタ２１、２２、２３、及びインバータ３１、３２、３３を含む。
【００１７】
インバータ１１〜１３は、信号の折り返し点となるセレクタ２１〜２３に信号を伝搬するためのフォワード側のインバータであり、インバータ３１〜３３は、信号がセレクタ２１〜２３で折り返した後に信号を伝搬するリターン側のインバータである。
【００１８】
インバータ１１〜１３は、それぞれ、入力信号を反転して出力する否定回路である。
【００１９】
インバータ１１〜１３は、それぞれ、出力端子と入力端子が接続されることにより、直列に接続される遅延素子の一例である。インバータ１１の入力端子は、可変遅延回路１０の入力端子ＩＮに接続されており、インバータ１３の出力端子は、セレクタ２３の一方の入力端子に接続されるとともに、開放されている（ｏｐｅｎ）。
【００２０】
セレクタ２１〜２３は、それぞれ、インバータ１１〜１３に対応して設けられている。セレクタ２１〜２３は、２つの入力端子と選択信号入力端子Ｓとを有し、選択信号入力端子Ｓに入力される選択信号に応じて、いずれかの入力を選択して出力する選択部の一例である。
【００２１】
ここで、セレクタ２１、２２の選択信号入力端子Ｓには、選択信号制御部４０から"１"又は"０"の選択信号が入力される。また、セレクタ２３の選択信号入力端子Ｓには、信号レベルが"１"にクリップされた選択信号が入力される。セレクタ２３の選択信号入力端子Ｓには、例えば、電源電圧を抵抗器等で電圧変換することにより、選択信号の信号レベル"１"を表す所定電圧を生成して入力すればよい。
【００２２】
このため、セレクタ２１、２２は、選択信号制御部４０から入力される選択信号（"１"又は"０"）に応じていずれかの入力を選択して出力し、セレクタ２３は常にインバータ１３の出力を選択して出力する。
【００２３】
インバータ３１〜３３は、それぞれ、入力信号を反転して出力する否定回路であり、セレクタ２１〜２３に対応して設けられている。インバータ３１〜３３は、セレクタ２１〜２３と交互に直列に接続されており、それぞれ、セレクタ２１〜２３の各々の出力を反転して出力する。インバータ３１〜３３は、遅延素子の一例である。
【００２４】
セレクタ２３の一方の入力端子には、インバータ１３の出力端子が接続されている。セレクタ２３の他方の入力端子は接地されており、固定データとして"０"が入力される。
【００２５】
セレクタ２２の一方の入力端子には、インバータ１２の出力端子が接続され、他方の入力端子には、インバータ３３の出力端子が接続されている。
【００２６】
セレクタ２１の一方の入力端子には、インバータ１１の出力端子が接続され、他方の入力端子には、インバータ３２の出力端子が接続されている。
【００２７】
インバータ３１の入力端子には、セレクタ２１の出力端子が接続され、インバータ３１の出力端子は、可変遅延回路１０の出力端子ＯＵＴに接続されている。
【００２８】
可変遅延回路１０は、入力端子ＩＮに入力される信号をセレクタ２１〜２２のうちのどこで折り返すかにより、入力端子ＩＮに入力される信号の遅延量を調節して出力端子ＯＵＴから出力する。
【００２９】
このような比較例の半導体装置に含まれる信号遅延回路において、セレクタ２１、２２の選択信号入力端子Ｓに入力される選択信号を２ビットのコードであるdelay_code[1:0]として表す。delay_code[1:0]の各ビットは"０"又は"１"の値をとる。セレクタ２１、２２は、選択信号制御部４０から入力されるdelay_code[1:0]の値に応じて、いずれかの入力を選択して出力する。
【００３０】
なお、上述したように、可変遅延回路１０の入力端子ＩＮから見て一番奥にあるセレクタ２３の選択信号入力端子Ｓには、信号レベルが"１"にクリップされた選択信号が入力されるため、セレクタ２３は常にインバータ１３の出力を選択する。
【００３１】
比較例の半導体装置に含まれる信号遅延回路において、セレクタ２１、２２に入力される選択信号が、それぞれ、"０"、"０"である場合、セレクタ２１、２２は、それぞれ、インバータ３２、３３の出力を選択するため、可変遅延回路１０における信号の折り返し点はセレクタ２３になる。
【００３２】
セレクタ２１、２２に入力される選択信号が、それぞれ、"０"、"１"である場合、セレクタ２１はインバータ３２の出力を選択し、セレクタ２２はインバータ１２の出力を選択するため、信号の折り返し点はセレクタ２２になる。
【００３３】
なお、このとき、セレクタ２３はインバータ１３の出力を選択してインバータ３３に入力するが、インバータ３３の出力はセレクタ２２によって選択されないため、セレクタ２３は信号の折り返し点にはならない。
【００３４】
セレクタ２１、２２に入力される選択信号が、それぞれ、"１"、"０"である場合、セレクタ２１がインバータ１１の出力を選択するため、信号の折り返し点はセレクタ２１になる。
【００３５】
なお、このとき、セレクタ２３はインバータ１３の出力を選択してインバータ３３に入力し、インバータ３３の出力はセレクタ２２によって選択されるが、インバータ３２の出力はセレクタ２１によって選択されないため、セレクタ２３は信号の折り返し点にはならない。
【００３６】
ここで、図１に示すインバータ１１、セレクタ２１、及びインバータ３１をエレメントＥ０と称する。また、エレメントＥ０のセレクタ２１にインバータ１１から入力する信号を信号ａ、セレクタ２１にインバータ３２から入力する信号を信号ｂ、セレクタ２１の出力を信号ｃと称す。
【００３７】
同様に、図１に示すインバータ１２、セレクタ２２、及びインバータ３２をエレメントＥ１と称する。また、エレメントＥ１のセレクタ２２にインバータ１２から入力する信号を信号ａ、セレクタ２２にインバータ３３から入力する信号を信号ｂ、セレクタ２２の出力を信号ｃと称す。
【００３８】
また、図１に示すインバータ１３、セレクタ２３、及びインバータ３３をエレメントＥ２と称する。また、エレメントＥ２のセレクタ２３にインバータ１３から入力する信号を信号ａ、セレクタ２３に入力する接地電位の信号を信号ｂ、セレクタ２３の出力を信号ｃと称す。
【００３９】
次に、図２のタイミングチャートを用いて比較例の半導体装置に含まれる信号遅延回路の動作について説明する。
【００４０】
図２は、比較例の半導体装置に含まれる信号遅延回路の動作を示すタイミングチャートである。
【００４１】
ここでは、選択信号制御部４０からセレクタ２１、２２に入力される選択信号の値が"１"、"１"から"０"、"１"に変化する場合について説明する。
【００４２】
ここで、図２には、選択信号の値が"１"、"０"のdelay_code[1:0]を2'h1と示し、選択信号の値が"０"、"１"のdelay_code[1:0]を2'h2と示す。なお、delay_code[1:0]が2'h1になる前の斜線で表す部分は、delay_code[1:0]が定まっていないことを表す。
【００４３】
また、エレメントＥ０の信号ａ、ｂ、ｃを、信号Ｅ０．ａ、Ｅ０．ｂ、Ｅ０．ｃと記す。同様に、エレメントＥ１の信号ａ、ｂ、ｃを、信号Ｅ１．ａ、Ｅ１．ｂ、Ｅ１．ｃと記す。エレメントＥ２の信号ａ、ｂ、ｃを、信号Ｅ２．ａ、Ｅ２．ｂ、Ｅ２．ｃと記す。
【００４４】
なお、入力端子ＩＮに入力する入力信号をｉｎ、出力端子ＯＵＴから出力される出力信号をｏｕｔと記す。
【００４５】
時刻ｔ１でdelay_code[1:0]が2'h1になると、セレクタ２１が信号の折り返し点になるため、入力信号ｉｎを反映したＥ０．ａの立ち下がりは、矢印Ａで示すように、信号Ｅ０．ｃの立ち下がりに反映される。
【００４６】
また、このとき、入力信号ｉｎは、エレメントＥ１内ではインバータ１２に入力して信号Ｅ１．ａとして出力される。信号Ｅ１．ｃは、Ｅ１．ｂがセレクタ２２を経由して出力されたもので、インバータ３２を経由して信号Ｅ０．ｂとしてエレメントＥ０に入力される。
【００４７】
また、信号Ｅ１．ａは、エレメントＥ２内ではインバータ１３に入力して信号Ｅ２．ａとして出力され、セレクタ２３を経由して信号Ｅ２．ｃとして出力される。信号Ｅ２．ｃは、インバータ３３を経由して信号Ｅ１．ｂとしてエレメント１に入力される。
【００４８】
このため、信号Ｅ１．ａ、Ｅ２．ａ、Ｅ２．ｃ、Ｅ１．ｂ、Ｅ１．ｃ、Ｅ０．ｂは、図２に示すように、経由するインバータの数とセレクタの数とに応じた遅延量を含むことになる。
【００４９】
ここで、入力信号ｉｎが次の周期に入った直後の時刻ｔ２でdelay_code[1:0]が2'h2になると、信号の折り返し点はセレクタ２１からセレクタ２２に切り替えられる。このため、信号Ｅ１．ａの立ち上がりは、矢印Ｂで示すように、信号Ｅ１．ｃの立ち上がりに反映される。
【００５０】
信号Ｅ１．ｃの立ち上がりは、delay_code[1:0]の切り替えが無ければ破線で示すタイミングで現れるため、時刻ｔ２でdelay_code[1:0]が切り替えられた直後の信号Ｅ１．ｃは、実線で示すように周期が短縮される。
【００５１】
また、信号Ｅ１．ｃは、インバータ３２で信号レベルが反転されるとともに遅延が与えられて信号Ｅ０．ｂとして出力されるため、信号Ｅ０．ｂも信号Ｅ１．ｃと同様に周期が短縮される。なお、図２に破線で示す信号Ｅ０．ｂの立ち下がりは、比較のために、delay_code[1:0]の切り替えが無い場合の信号Ｅ０．ｂの立ち下がりのタイミングを示す。
【００５２】
ここで、delay_code[1:0]が2'h1から2'h2に切り替えられると、エレメントＥ０のセレクタ２１は、信号Ｅ０．ａを選択していた状態から信号Ｅ０．ｂを選択する状態に切り替わり、信号Ｅ０．ｂを反映した信号Ｅ０．ｃを出力するようになる。このため、時刻ｔ２の後における信号Ｅ０．ｂの立ち下がりは、矢印Ｃで示すように信号Ｅ０．ｃに反映される。
【００５３】
ところで、信号Ｅ０．ｃは、delay_code[1:0]が2'h1から2'h2に切り替えられて信号Ｅ０．ｂを反映するようになる前に、矢印Ｄで示すように信号Ｅ０．ａを反映して、時刻ｔ３で一度立ち下がっている。
【００５４】
このため、信号Ｅ０．ｃは、delay_code[1:0]が2'h1から2'h2に切り替えられることにより、時刻ｔ３で一度立ち下がった直後に信号レベルが"１"になり、時刻ｔ４で再び立ち下がることになる。
【００５５】
信号Ｅ０．ｃは出力信号ｏｕｔに反映されるため、出力信号ｏｕｔも信号Ｅ０．ｃと同様に、時刻ｔ３、ｔ４の前後で一度立ち上がった直後に再び立ち上がり、出力信号ｏｕｔにノイズが生じる。
【００５６】
このように出力信号ｏｕｔにノイズが含まれると、出力信号ｏｕｔをシステムクロックとして用いる機器の動作に異常が生じる場合があった。
【００５７】
上述のような出力信号ｏｕｔのノイズは、新たな信号の折り返し点になるセレクタに入力する信号の信号レベルの切り替わりが完了する前に、選択信号であるdelay_code[1:0]が切り替わることによって生じていた。
【００５８】
なお、ここでは、信号遅延回路の入出力端子ＩＮ、ＯＵＴから見て信号の折り返し点が奥側に切り替わる場合について説明したが、信号の折り返し点が入出力端子Ｉｎ、ＯＵＴから見て手前側に切り替わる場合にも、同様の状態が生じる可能性があった。
【００５９】
以上のように、比較例の半導体装置では、信号遅延回路の信号の折り返し点を切り替える場合に、出力信号ｏｕｔにノイズが含まれる場合があり、その結果、出力信号ｏｕｔをシステムクロックとして用いる機器の動作に異常が生じる可能性があるという問題がある。
【００６０】
このため、以下で説明する実施の形態１及び２では、上述の問題点を解決した半導体装置、及び情報処理装置を提供することを目的とする。以下、実施の形態１及び２の半導体装置、及び情報処理装置について説明する。
【００６１】
＜実施の形態１＞
以下、実施の形態１の半導体装置、及び情報処理装置について説明するにあたり、比較例の半導体装置と同一又は同等の構成要素には同一符号を付し、その説明を省略する。
【００６２】
図３は、実施の形態１の半導体装置を含むサーバ５０を示す図である。
【００６３】
図３に示すサーバ５０は、実施の形態１の半導体装置を含む情報処理装置の一例である。サーバ５０は、例えば、ＣＰＵ（Central Processing Unit：中央演算装置）及び主記憶装置等を含む。
【００６４】
図４は、実施の形態１の半導体装置を含むサーバ５０を示すブロック図である。
【００６５】
サーバ５０は、ＣＰＵ５１及び主記憶装置５２Ａ、５２Ｂを含む。ＣＰＵ５１と主記憶装置５２Ａ、５２Ｂは、それぞれ、バス５３Ａ、５３Ｂによって接続されている。
【００６６】
ＣＰＵ５１は、メモリコントローラ５４を含み、メモリコントローラ５４内のメモリＩ／Ｆ（Interface：インターフェイス）５４Ａを介して主記憶装置５２Ａ、５２Ｂとの間でデータの取得又は転送を行うとともに、取得したデータの処理を行う。
【００６７】
主記憶装置５２Ａ、５２Ｂは、例えば、複数のモジュール化されたＲＡＭ（Random Access Memory：ランダムアクセスメモリ）を含む。なお、図４には２つの主記憶装置５２Ａ、５２Ｂを示すが、主記憶装置は３つ以上あってもよい。
【００６８】
メモリコントローラ５４は、ＣＰＵ５１と主記憶装置５２Ａ、５２Ｂとの間でデータの転送を行う。メモリコントローラ５４は、主記憶装置５２Ａ、５２Ｂとの境界におけるデータ通信を実現するために、メモリＩ／Ｆ５４Ａを有する。
【００６９】
実施の形態１の半導体装置は、例えば、メモリＩ／Ｆ５４Ａ内に信号遅延回路を有するメモリコントローラ５４である。図４には、ＣＰＵ５１がメモリコントローラ５４を含む形態を示すが、メモリコントローラ５４はＣＰＵ５１の外部にあってもよい。また、実施の形態１の半導体装置は、メモリコントローラ５４を含むチップセットであってもよい。
【００７０】
ここで、信号遅延回路は、入力信号に遅延を与えた出力信号を出力する信号遅延装置の一例である。実施の形態１の半導体装置に含まれる信号遅延回路の出力信号は、例えば、メモリコントローラ５４が主記憶装置５２Ａ、５２Ｂとの間でデータ転送を行う際のシステムクロックとして用いられる。
【００７１】
次に、図５乃至図８を用いて、実施の形態１の半導体装置について説明する。
【００７２】
図５は、実施の形態１の半導体装置に含まれる信号遅延回路内の可変遅延回路の一部を示す回路図である。
【００７３】
図５に示す回路は、実施の形態１の半導体装置に含まれる信号遅延回路内の可変遅延回路のエレメントＥ０である。図５に示すエレメントＥ０は、図１に示す比較例の半導体装置に含まれる信号遅延回路内の可変遅延回路１０に含まれるエレメントＥ０に対応する部分である。
【００７４】
実施の形態１の半導体装置に含まれる信号遅延回路内の可変遅延回路１１０のエレメントＥ０は、インバータ１１、セレクタ２１、及びインバータ３１に加えて、遅延回路１２０Ａを含む。
【００７５】
遅延回路１２０Ａは、Ｅｘ−ＮＯＲ（排他的否定論理和）回路１２１Ａ、及びＦＦ（Flip Flop：フリップフロップ）１２２Ａを含む。
【００７６】
Ｅｘ−ＮＯＲ回路１２１Ａの一対の入力端子には、信号ａと信号ｂとがそれぞれ入力される。また、Ｅｘ−ＮＯＲ回路１２１Ａの出力端子はＦＦ１２２Ａのクロック入力端子に接続されている。
【００７７】
ＦＦ１２２Ａは、データ入力端子Ｄに選択信号制御回路４０が接続され、データ出力端子Ｑにセレクタ２１の選択信号入力端子Ｓが接続され、クロック入力端子にＥｘ−ＮＯＲ回路１２１Ａの出力端子が接続されている。
【００７８】
ＦＦ１２２Ａは、クロック入力端子にＥｘ−ＮＯＲ回路１２１Ａの出力の立ち上がりエッジが入力されると、データ入力端子Ｄに選択信号制御回路４０から入力される選択信号の値をデータ出力端子Ｑに反映する。
【００７９】
また、リセット端子ＲＳＴ（Reset）には、データ出力端子Ｑの値をリセットするリセットデータがリセット部６０から入力される。ＦＦ１２２Ａのデータ入力端子Ｄの値は、実施の形態１の半導体装置に含まれる信号遅延回路の電源投入後に、例えば"０"にリセットされる。
【００８０】
ここで、Ｅｘ−ＮＯＲ回路１２１Ａの出力を信号ｄ、ＦＦ１２２Ａのデータ出力端子Ｑから出力されてセレクタ２１の選択信号入力端子Ｓに入力される信号を信号ｅと表す。
【００８１】
次に、図６を用いて、実施の形態１の半導体装置に含まれる信号遅延回路内の可変遅延回路のエレメントＥ０の動作について説明する。
【００８２】
図６Ａ、図６Ｂは、実施の形態１の半導体装置に含まれる信号遅延回路内の可変遅延回路のエレメントＥ０の動作を表すタイミングチャートである。
【００８３】
図６Ａ、図６Ｂにはdelay_code、信号ａ、ｂ、ｃ、ｄ、ｅの信号レベルの遷移を示す。図６Ａ、図６Ｂにおいて、横軸は時間軸であり、右方向が正である。
【００８４】
図６Ａ、図６Ｂに示すタイミングチャートは、図５に示す１つのエレメントＥ０のタイミングチャートであるため、選択信号を１ビットのdelay_codeとして表す。delay_codeの値は"０"又は"１"である。
【００８５】
図６Ａは、delay_codeを"１"から"０"に切り替える際のタイミングチャートを示し、図６Ｂは、delay_codeを"０"から"１"に切り替える際のタイミングチャートを示す。
【００８６】
図６Ａ、図６Ｂにおいて、信号ｂは、信号ａが図示しない右方のエレメント（例えば、図１に示すＥ１、Ｅ２）を経て出力端子ＯＵＴ（図１参照）に向けてリターンしている信号であるため、信号ａよりも遅延している。
【００８７】
まず、図６Ａに示すように、delay_codeを"１"から"０"に切り替える際に、時刻０において、信号ｅはdelay_codeが反映されて"１"であるとする。
【００８８】
この場合、エレメントＥ０のセレクタ２１の選択信号入力端子Ｓには信号レベルが"１"の信号ｅが入力されるため、セレクタ２１は信号ａを選択して出力する。
【００８９】
このため、時刻０の後、信号ｅが"１"である間は、セレクタ２１の出力である信号ｃは、信号ａにセレクタ２１の遅延時間を与えた信号波形を有する。
【００９０】
また、Ｅｘ−ＮＯＲ回路１２１Ａは、信号ａと信号ｂの排他的否定論理和を出力するため、信号ａと信号ｂが同一の信号レベルである間は"１"を出力し、信号ａと信号ｂの信号レベルが異なる間は"０"を出力することになる。なお、これは、時刻ｔ１でdelay_codeが"０"に切り替わった後も同様である。
【００９１】
次に、時刻ｔ１でdelay_codeが"０"に切り替わるが、時刻ｔ１の後には時刻ｔ２まで信号ｄの立ち上がりが生じないため、セレクタ２１の選択信号入力端子Ｓに選択信号として入力される信号ｅの値は、時刻ｔ２に達するまでは更新されない。
【００９２】
時刻ｔ２の信号ｄの立ち上がりによって時刻ｔ３で信号ｅが"１"から"０"に更新されると、セレクタ２１は信号ｂを選択するので、セレクタ２１の出力を表す信号ｃは、時刻ｔ３以後は信号ｂにセレクタ２１の遅延時間を与えた信号波形となる。
【００９３】
以上より、delay_codeの切り替えによるノイズを含まない信号ｃが生成される。
【００９４】
次に、図６Ｂに示すように、delay_codeを"０"から"１"に切り替える際に、時刻０において、信号ｅはdelay_codeが反映されて"０"であるとする。
【００９５】
この場合、エレメントＥ０のセレクタ２１の選択信号入力端子Ｓには信号レベルが"０"の信号ｅが入力されるため、セレクタ２１は信号ｂを選択して出力する。
【００９６】
このため、時刻０の後、信号ｅが"０"である間は、セレクタ２１の出力である信号ｃは、信号ｂにセレクタ２１の遅延時間を与えた信号波形を有する。
【００９７】
また、Ｅｘ−ＮＯＲ回路１２１Ａは、信号ａと信号ｂの排他的否定論理和を出力するため、信号ａと信号ｂが同一の信号レベルである間は"１"を出力し、信号ａと信号ｂの信号レベルが異なる間は"０"を出力することになる。なお、これは、時刻ｔ１でdelay_codeが"１"に切り替わった後も同様である。
【００９８】
次に、時刻ｔ１でdelay_codeが"１"に切り替わるが、時刻ｔ１の後には時刻ｔ２まで信号ｄの立ち上がりが生じないため、セレクタ２１の選択信号入力端子Ｓに選択信号として入力される信号ｅの値は、時刻ｔ２に達するまでは更新されない。
【００９９】
時刻ｔ２の信号ｄの立ち上がりによって時刻ｔ３で信号ｅが"０"から"１"に更新されると、セレクタ２１は信号ａを選択するので、セレクタ２１の出力を表す信号ｃは、時刻ｔ３以後は信号ａにセレクタ２１の遅延時間を与えた信号波形となる。
【０１００】
次に、図７を用いて、実施の形態１の半導体装置に含まれる信号遅延回路内の可変遅延回路の回路について説明する。
【０１０１】
図７は、実施の形態１の半導体装置に含まれる信号遅延回路１００を示す回路図である。
【０１０２】
実施の形態１の半導体装置に含まれる信号遅延回路１００は、可変遅延回路１１０、選択信号制御部４０、及びリセット部６０を含む。
【０１０３】
実施の形態１の半導体装置に含まれる信号遅延回路１００の可変遅延回路１１０は、比較例の半導体装置の可変遅延回路１０（図１参照）のエレメントＥ０〜Ｅ２に、それぞれ、遅延回路１２０Ａ、１２０Ｂ、１２０Ｃを付け加えた回路構成を有する。このため、比較例の可変遅延回路１０と同一又は同等の構成要素には同一符号を付し、その説明を省略する。
【０１０４】
信号遅延回路１００を含む半導体装置は、半導体製造技術によって製造されるＬＳＩのような大規模集積回路で実現される。
【０１０５】
図７に示す信号遅延回路１００の可変遅延回路１１０のエレメントＥ０は、図５に示すエレメントＥ０と同一である。遅延回路１２０ＡのＥｘ−ＮＯＲ回路１２１Ａに入力される信号は、エレメントＥ０のインバータ１１の出力信号であり、他方の入力信号エレメントＥ１のインバータ３２の出力信号である。
【０１０６】
図７に示すエレメントＥ１は、比較例のエレメントＥ１に遅延回路１２０Ｂを付け加えた回路構成を有する。遅延回路１２０Ｂは、Ｅｘ−ＮＯＲ回路１２１Ｂ及びＦＦ１２２Ｂを含む。Ｅｘ−ＮＯＲ回路１２１Ｂの一方の入力信号はエレメントＥ１のインバータ１２の出力信号であり、他方の入力信号はエレメントＥ２のインバータ３３の出力信号である。
【０１０７】
Ｅｘ−ＮＯＲ回路１２１Ｂの出力端子は、ＦＦ１２２Ｂのクロック入力端子に接続されている。Ｅｘ−ＮＯＲ回路１２１Ｂは、信号ａと信号ｂの排他的否定論理和を出力するため、信号ａと信号ｂが同一の信号レベルである間は"１"を出力し、信号ａと信号ｂの信号レベルが異なる間は"０"を出力する。
【０１０８】
ＦＦ１２２Ｂのデータ入力端子Ｄは、選択信号制御部４０に接続されており、ＦＦ１２２Ｂのデータ出力端子Ｑは、セレクタ２２の選択信号入力端子Ｓに入力されており、ＦＦ１２２Ｂのクロック入力端子はＥｘ−ＮＯＲ回路１２１Ｂの出力端子に接続されている。
【０１０９】
ＦＦ１２２Ｂは、クロック入力端子にＥｘ−ＮＯＲ回路１２１Ｂの出力の立ち上がりが入力されると、選択信号制御部４０からデータ入力端子Ｄに入力される選択信号の値をデータ出力端子Ｑに反映する。
【０１１０】
また、リセット端子ＲＳＴ（Reset）には、データ出力端子Ｑの値をリセットするリセットデータがリセット部６０から入力される。ＦＦ１２２Ａのデータ入力端子Ｄの値は、信号遅延回路１００の電源投入後に、例えば"０"にリセットされる。
【０１１１】
図７に示すエレメントＥ２は、比較例のエレメントＥ２に遅延回路１２０Ｃを付け加えた回路構成を有する。遅延回路１２０Ｃは、Ｅｘ−ＮＯＲ回路１２１Ｃ及びＦＦ１２２Ｃを含む。Ｅｘ−ＮＯＲ回路１２１Ｃの一方の入力信号はエレメントＥ２のインバータ１３の出力信号であり、他方の入力信号は常に"０"の固定値である。
【０１１２】
Ｅｘ−ＮＯＲ回路１２１Ｃの出力端子は、ＦＦ１２２Ｃのクロック入力端子に接続されている。Ｅｘ−ＮＯＲ回路１２１Ｃは、信号ａと信号ｂの排他的否定論理和を出力するため、信号ａと信号ｂが同一の信号レベルである間は"１"を出力し、信号ａと信号ｂの信号レベルが異なる間は"０"を出力する。
【０１１３】
ＦＦ１２２Ｃのデータ入力端子Ｄには、信号レベルが"１"にクリップされた選択信号が入力されており、ＦＦ１２２Ｃのデータ出力端子Ｑは、セレクタ２３の選択信号入力端子Ｓに入力されており、ＦＦ１２２Ｃのクロック入力端子はＥｘ−ＮＯＲ回路１２１Ｃの出力端子に接続されている。
【０１１４】
ＦＦ１２２Ｃは、クロック入力端子にＥｘ−ＮＯＲ回路１２１Ｃの出力の立ち上がりが入力されると、信号レベルが"１"にクリップされた選択信号をデータ出力端子Ｑに反映する。
【０１１５】
また、リセット端子ＲＳＴ（Reset）には、データ出力端子Ｑの値をリセットするリセットデータがリセット部６０から入力される。ＦＦ１２２Ａのデータ入力端子Ｄの値は、信号遅延回路１００の電源投入後に、例えば"０"にリセットされる。
【０１１６】
なお、説明の便宜上、図７には３段のエレメントＥ０〜Ｅ２を示すが、エレメントの数はもっと多くてもよい。例えば、実施の形態１の半導体装置に含まれる信号遅延回路１００をサーバ５０（図３参照）のような情報処理装置のメモリＩ／Ｆ５４Ａ（図４参照）内で用いる場合には、エレメントの数は、例えば、６４段程度、あるいは１２８段程度、又はそれ以上であってもよい。
【０１１７】
次に、図８を用いて、図７に示す実施の形態１の半導体装置に含まれる信号遅延回路１００の動作について説明する。
【０１１８】
図８は、実施の形態１の半導体装置に含まれる信号遅延回路１００の動作を表すタイミングチャートである。
【０１１９】
図８には入力信号ｉｎ、delay_code[1:0]、エレメントＥ０〜Ｅ２内の信号ａ、ｂ、ｃ、ｄ、ｅ、及び出力信号ｏｕｔの信号レベルの遷移を示す。図８において、横軸は時間軸であり、右方向が正である。
【０１２０】
図８は、ＦＦ１２２Ａ及び１２２Ｂのデータ入力端子Ｄに入力するdelay_code[1:0]を、2'h1から2'h2に切り替える際のタイミングチャートを示す。
【０１２１】
2'h1のdelay_code[1:0]は、ＦＦ１２２Ａ及び１２２Ｂのデータ入力端子Ｄに、それぞれ"１"、"０"を入力するためのdelay_code[1:0]であり、2'h2のdelay_code[1:0]は、ＦＦ１２２Ａ及び１２２Ｂのデータ入力端子Ｄに、それぞれ"０"、"１"を入力するためのdelay_code[1:0]である。
【０１２２】
すなわち、図８に示すタイミングチャートは、信号の折り返し地点をエレメントＥ０内のセレクタ２１からエレメントＥ１内のセレクタ２２に切り替える際のタイミングチャートである。
【０１２３】
図８に示すように、入力信号ｉｎの１周期目から３周期目まではdelay_code[1:0]を2'h1に設定し、入力信号ｉｎが４周期目になるときにdelay_code[1:0]を2'h2に切り替える場合について説明する。なお、delay_code[1:0]の設定は、選択信号制御部４０（図７参照）によって行われる。
【０１２４】
ここで、入力信号ｉｎの最初の３周期にわたってdelay_code[1:0]を2'h1に設定し、４周期目でdelay_code[1:0]を2'h2に切り替えるのは、入力端子ＩＮから見て手前側のエレメントＥ０から奥側のエレメントＥ２に向けて入力信号ｉｎを段階的に伝搬させて、出力信号ｏｕｔに反映させてから信号の折り返し点を切り替えるためである。
【０１２５】
信号Ｅ０．ａ、Ｅ１．ａ、Ｅ２．ａは、入力信号ｉｎに、インバータ１１、１２、１３で反転させるとともに遅延を与えた波形を有する。
【０１２６】
信号Ｅ２．ｂは、固定値"０"に設定されるため、時間が経過しても"０"を保持する。
【０１２７】
信号Ｅ２．ｄは、Ｅｘ−ＮＯＲ回路１２１Ｃの出力であるため、信号Ｅ２．ａが"０"である間は"１"になり、信号Ｅ２．ａが"１"である間は"０"になる。
【０１２８】
信号Ｅ２．ｅは、信号Ｅ２．ｄの立ち上がりエッジで更新される。ＦＦ１２２Ｂのデータ入力端子Ｄには、信号レベルが"１"にクリップされた選択信号が入力されているため、更新される度に"１"に設定される。これは、セレクタ２３に常に信号ａを選択させるためである。
【０１２９】
なお、信号Ｅ２．ｅの初期値を斜線で示すのは、入力信号ｉｎが伝搬する前の状態で値が定まっていない状態を表す。これは、図８に示す信号Ｅ２．ｅ以下の信号において同様である。
【０１３０】
信号Ｅ２．ｃは、信号Ｅ２．ａにセレクタ２３の遅延時間が与えられた信号であるため、信号Ｅ２．ａの波形に遅延を与えた波形を有する。
【０１３１】
信号Ｅ１．ｂは、インバータ３３で信号Ｅ２．ｃの信号レベルが反転されるとともに遅延が与えられた信号である。
【０１３２】
信号Ｅ１．ｄは、信号Ｅ１．ａの値と信号Ｅ１．ｂの値との排他的否定論理和で与えられるため、信号Ｅ１．ａの値と信号Ｅ１．ｂの値とが同一であれば"１"になり、信号Ｅ１．ａの値と信号Ｅ１．ｂの値とが異なれば"０"になる。
【０１３３】
信号Ｅ１．ｅは、ＦＦ１２２Ｂのデータ出力端子Ｑから出力される信号であるため、信号Ｅ１．ｄの立ち上がりエッジでＦＦ１２２Ｂのデータ入力端子Ｄに入力される値を反映する。このため、delay_code[1:0]が2'h1である間は、信号Ｅ１．ｅの値は"０"になる。
【０１３４】
信号Ｅ１．ｃは、セレクタ２２の出力値を表す。信号の折り返し点がセレクタ２１である間は、セレクタ２２はインバータ３３の出力を選択するため、信号Ｅ１．ｃは、信号の折り返し点がセレクタ２１である間は、信号Ｅ１．ｂにセレクタ２２の遅延時間を与えた信号波形を有する。
【０１３５】
信号Ｅ０．ｂは、信号Ｅ１．ｃをインバータ３２で反転させるとともに遅延を与えた信号である。このため、信号Ｅ０．ｂは、信号Ｅ１．ｃを反転させるとともに遅延させた波形を有する。
【０１３６】
信号Ｅ０．ｄは、信号Ｅ０．ａと信号Ｅ０．ｂの排他的否定論理和で与えられる信号である。このため、信号Ｅ０．ｄは、信号Ｅ０．ａと信号Ｅ０．ｂの信号レベルが同一である間は、"１"になり、信号Ｅ０．ａと信号Ｅ０．ｂの信号レベルが異なる間は、"０"になる。
【０１３７】
信号Ｅ０．ｅは、ＦＦ１２２Ａのデータ出力端子Ｑから出力される信号であるため、信号Ｅ０．ｄの立ち上がりエッジでＦＦ１２２Ａのデータ入力端子Ｄに入力される値を反映する。このため、delay_code[1:0]が2'h1である間は、信号Ｅ０．ｅの値は"１"になる。
【０１３８】
信号Ｅ０．ｃは、セレクタ２１の出力値を表す。信号の折り返し点がセレクタ２１である間は、セレクタ２１はインバータ１１の出力を選択するため、信号Ｅ０．ｃは、信号の折り返し点がセレクタ２１である間は、信号Ｅ０．ａにセレクタ２１の遅延時間を与えた信号波形を有する。
【０１３９】
出力信号ｏｕｔは、信号Ｅ０．ｃをインバータ３１で反転するとともに遅延を与えた信号であるため、信号Ｅ０．ｃの波形を反転させて遅延させた波形を有する。
【０１４０】
以上のような実施の形態１の半導体装置に含まれる信号遅延回路１００において、入力信号ｉｎが４周期目に入る時刻ｔ１において、delay_code[1:0]が2'h1から2'h2に切り替わると、時刻ｔ２における信号Ｅ１．ｄの立ち上がりで信号Ｅ１．ｅが"１"に更新される。また、時刻ｔ３における信号Ｅ０．ｄの立ち上がりで信号Ｅ０．ｅが"０"に更新される。以上により、信号の折り返し点は、セレクタ２１からセレクタ２２に切り替えられる。
【０１４１】
信号の折り返し点がセレクタ２２に切り替わると、時刻ｔ４において、信号Ｅ１．ｃは、信号Ｅ１．ｂから信号Ｅ１．ａを反映するように切り替わる。
【０１４２】
具体的には、図８に矢印Ａで示すように、時刻ｔ４における信号Ｅ１．ａの立ち下がりは、時刻ｔ５で信号Ｅ１．ｃの立ち下がりに反映される。なお、時刻ｔ５以後に破線で示す信号Ｅ１．ｃの波形は、時刻ｔ１におけるdelay_code[1:0]の切り替えが無かった場合の波形である。
【０１４３】
時刻ｔ５における信号Ｅ１．ｃの立ち下がりは、信号Ｅ０．ｂに伝搬し、時刻ｔ６の信号Ｅ０．ｄの立ち上がりによって、時刻ｔ７において信号Ｅ０．ｅは再び"０"に更新される。
【０１４４】
また、信号Ｅ０．ｃは、信号Ｅ０．ｂにセレクタ２１の遅延時間を与えた波形で遷移し、出力信号ｏｕｔは、信号Ｅ０．ｃをインバータ３１で反転させるとともに遅延を与えた波形で遷移する。
【０１４５】
なお、時刻ｔ４以後において、破線で示す信号Ｅ１．ｃ、Ｅ０．ｂ、Ｅ０．ｄ、Ｅ０．ｃ、及び出力信号ｏｕｔの波形は、時刻ｔ１におけるdelay_code[1:0]の切り替えが無かった場合の波形である。
【０１４６】
以上のように、実施の形態１の半導体装置に含まれる信号遅延回路１００は、選択信号（delay_code[1:0]）の切り替えによるノイズが含まれない出力信号ｏｕｔを出力することができる。
【０１４７】
また、選択信号（delay_code[1:0]）を切り替える際には、新たに信号の折り返し点になるセレクタへの入力信号の切り替えを待ってから、セレクタの選択信号入力端子Ｓに切替後の選択信号を入力する。
【０１４８】
これは、図８に示す例では、時刻ｔ１で選択信号（delay_code[1:0]）が切り替えられた後において、新たに信号の折り返し点になるセレクタ２２に入力する信号Ｅ１．ａと信号Ｅ１．ｂの信号レベルの切り替わりを待ってから、時刻ｔ２でセレクタ２２の選択信号入力端子Ｓに入力する信号Ｅ１．ｅを切り替えていることに相当する。
【０１４９】
すなわち、これは、遅延回路１２０Ｂがセレクタ２２に入力する選択信号の切り替えを、信号の折り返し点になるセレクタ２２に入力する入力信号の信号レベルの切り替わりよりも遅らせていることを意味する。
【０１５０】
図７には、説明の便宜上、３段のエレメントＥ０〜Ｅ２を示すが、実施の形態１の半導体装置に含まれる信号遅延回路１００をメモリＩ／Ｆ５４Ａの内部で用いるような場合には、上述のように、エレメントの数は６４段程度、あるいは１２８段程度、又はそれ以上になる場合がある。
【０１５１】
このように、エレメントの段数が多い場合には、信号遅延回路１００の入出力端子ＩＮ、ＯＵＴから見て最も奥のエレメントで信号を折り返す場合に、入力端子ＩＮから入力する入力信号ｉｎに与えられる遅延時間は、最も手前のエレメントで折り返す場合の遅延時間に段数を乗じた遅延時間になる。すなわち、段数が６４段であれば、入出力端子ＩＮ、ＯＵＴから見て最も奥のエレメントにおける遅延時間は、最も手前のエレメントで折り返す場合の遅延時間は６４倍であり、１２８段ある場合は１２８倍になる。
【０１５２】
実施の形態１の半導体装置に含まれる信号遅延回路１００は、上述のように、遅延回路がセレクタに入力する選択信号の切り替えを、信号の折り返し点になるセレクタに入力する入力信号の信号レベルの切り替わりよりも遅らせる。これは、エレメントが何段あっても同様である。
【０１５３】
そして、このようにセレクタに入力する選択信号の切り替えを遅らせる時間は、信号の折り返し点になるセレクタが入出力端子ＩＮ、ＯＵＴから見て何段目のエレメントに含まれているか（エレメントの位置）で決まる。
【０１５４】
このため、実施の形態１の半導体装置に含まれる信号遅延回路１００によれば、入力端子ＩＮに入力する入力信号ｉｎに対して出力端子ＯＵＴから出力される出力信号ｏｕｔの応答は、信号の折り返し点になるエレメントの位置に応じて決まる。
【０１５５】
従って、実施の形態１によれば、入力信号に対する出力信号の応答速度が高く、高速動作に適した出力信号を出力することのできる半導体装置、及び情報処理装置を提供することができる。
【０１５６】
なお、以上では、遅延回路１２０Ａ〜１２０ＣがＥｘ−ＮＯＲ回路１２１Ａ〜１２１Ｃを含む形態について説明したが、Ｅｘ−ＮＯＲ回路１２１Ａ〜１２１Ｃの代わりに、例えばＥｘ−ＯＲ（排他的論理和）回路と否定回路（ＮＯＴ）を用いてもよい。
【０１５７】
また、以上では、実施の形態１の半導体装置に含まれる信号遅延回路１００について説明したが、信号遅延回路１００に、入力信号ｉｎと出力信号ｏｕｔとの位相を比較する機能を追加して、入力信号ｉｎと出力信号ｏｕｔとの位相差が所定の目標値になるように出力信号の位相差を制御することにより、ＤＬＬ(Delay Locked Loop)を構築することができる。すなわち、実施の形態１の半導体装置に含まれる信号遅延回路１００は、ＤＬＬの一部として用いることができる。
してもよい。
【０１５８】
＜実施の形態２＞
実施の形態２の半導体装置に含まれる信号遅延回路２００は、遅延回路の回路構成が実施の形態１と異なる。以下、実施の形態１の半導体装置に含まれる信号遅延回路１００と同一又は同等の構成要素には同一符号を付し、その説明を省略する。また、以下では、実施の形態１との相違点を中心に説明する。
【０１５９】
図９は、実施の形態２の半導体装置に含まれる信号遅延回路２００の可変遅延回路内のエレメントＥ０の回路構成を示す図である。
【０１６０】
図９に示す実施の形態２のエレメントＥ０の遅延回路２２０Ａは、実施の形態１のエレメントＥ０（図５参照）のＥｘ−ＮＯＲ回路１２１Ａをセレクタ２２１Ａに置き換えた回路構成を有する。遅延回路２２０Ａは、セレクタ２２１ＡとＦＦ２２２Ａとを含む。
【０１６１】
なお、図９には１つのエレメントＥ０を示すため、選択信号を１ビットのdelay_codeとして表す。delay_codeの値は"０"又は"１"である。
【０１６２】
セレクタ２２１Ａは、一方の入力端子がインバータ１１の出力端子に接続され、他方の入力端子に信号ｂを伝搬する信号線が入力され、選択信号入力端子Ｓは選択信号制御回路４０の出力端子に接続されている。
【０１６３】
すなわち、セレクタ２２１Ａの一方の入力端子には信号ａが入力し、他方の入力端子には信号ｂが入力し、選択信号入力端子Ｓには選択信号（delay_code）が入力する。
【０１６４】
図９に示すエレメントＥ０では、セレクタ２２１Ａの選択信号入力端子Ｓに入力するdelay_codeの値によってセレクタ２２１Ａが出力する信号ｄが変わる。
【０１６５】
セレクタ２２１Ａの選択信号入力端子Ｓに入力するdelay_codeの値が"１"のときは、セレクタ２２１Ａは信号ａを反映した信号ｄを出力する。セレクタ２２１Ａの選択信号入力端子Ｓに入力するdelay_codeの値が"０"のときは、セレクタ２２１Ａは信号ｂを反映した信号ｄを出力する。
【０１６６】
ＦＦ２２２Ａは遅延回路２２０Ａを構成するフリップフロップである。ＦＦ２２２Ａは、実施の形態１の半導体装置に含まれる信号遅延回路１００の可変遅延回路１１０に含まれるＦＦ１２２Ａと同様である。このため、ＦＦ２２２Ａについての説明は省略する。
【０１６７】
なお、図９に示す回路構成は、エレメントＥ１、Ｅ２においても同様である。
【０１６８】
次に、図１０Ａ及び図１０Ｂを用いて、実施の形態２の半導体装置に含まれる信号遅延回路２００の可変遅延回路のエレメントＥ０の動作について説明する。
【０１６９】
図１０Ａ、図１０Ｂは、実施の形態２の半導体装置に含まれる信号遅延回路２００の可変遅延回路のエレメントＥ０の動作を表すタイミングチャートである。
【０１７０】
図１０Ａ、図１０Ｂにはdelay_code、信号ａ、ｂ、ｃ、ｄ、ｅの信号レベルの遷移を示す。図１０Ａ、図１０Ｂにおいて、横軸は時間軸であり、右方向が正である。
【０１７１】
図１０Ａ、図１０Ｂに示すタイミングチャートは、図９に示す１つのエレメントＥ０のタイミングチャートであるため、選択信号を１ビットのdelay_codeとして表す。delay_codeの値は"０"又は"１"である。
【０１７２】
図１０Ａは、delay_codeを"１"から"０"に切り替える際のタイミングチャートを示し、図１０Ｂは、delay_codeを"０"から"１"に切り替える際のタイミングチャートを示す。
【０１７３】
図１０Ａ、図１０Ｂにおいて、信号ｂは、信号ａが図示しない右方のエレメントを経て出力端子ＯＵＴ（図１参照）に向けてリターンしている信号であるため、信号ａよりも遅延している。
【０１７４】
まず、図１０Ａに示すように、delay_codeを"１"から"０"に切り替える際に、時刻０において、信号ｅはdelay_codeが反映されて"１"であるとする。
【０１７５】
この場合、エレメントＥ０のセレクタ２１の選択信号入力端子Ｓには信号レベルが"１"の信号ｅが入力されるため、セレクタ２１は信号ａを選択して出力する。
【０１７６】
このため、時刻０の後、信号ｅが"１"である間は、セレクタ２１の出力である信号ｃは、信号ａにセレクタ２１の遅延時間を与えた信号波形を有する。
【０１７７】
また、セレクタ２２１Ａの選択信号入力端子Ｓにもdelay_codeが入力されるため、delay_codeが"１"である間は、セレクタ２２１Ａの出力である信号ｄは、信号ａにセレクタ２２１Ａの遅延時間を与えた信号波形を有する。
【０１７８】
ここでは、一例として、セレクタ２１とセレクタ２２１Ａとの遅延時間が等しいこととする。このため、delay_codeが"１"である間は、信号ｃと信号ｄは同一位相である。
【０１７９】
次に、時刻ｔ１でdelay_codeが"０"に切り替わると、時刻ｔ１以後において、セレクタ２２１Ａから出力される信号ｄは、信号ｂを反映した波形に切り替わる。このため、時刻ｔ１以後における信号ｄの最初の立ち上がりは、時刻ｔ２における信号ｂの立ち上がりを反映し、時刻ｔ３における立ち上がりとなる。
【０１８０】
また、時刻ｔ１でdelay_codeが"０"に切り替わると、ＦＦ２２２Ａのデータ入力端子Ｄに信号レベルが"０"のdelay_codeが入力することになる。
【０１８１】
信号ｄはＦＦ２２２Ａの入力クロック信号であるため、時刻ｔ３の立ち上がりを受けて、ＦＦ２２２Ａのデータ出力端子Ｑには、データ入力端子Ｄの値が反映され、信号ｅは時刻ｔ４で"０"に切り替わる。
【０１８２】
信号ｅが"０"に切り替わると、セレクタ２１は、信号ｂを選択するため、以後、信号ｃは、信号ｂにセレクタ２１の遅延時間を与えた信号波形になる。
【０１８３】
以上より、delay_codeの切り替えによるノイズを含まない信号ｃが生成される。
【０１８４】
次に、図１０Ｂに示すように、delay_codeを"０"から"１"に切り替える際に、時刻０において、信号ｅはdelay_codeが反映されて"０"であるとする。
【０１８５】
この場合、エレメントＥ０のセレクタ２１の選択信号入力端子Ｓには信号レベルが"０"の信号ｅが入力されるため、セレクタ２１は信号ｂを選択して出力する。
【０１８６】
このため、時刻０の後、信号ｅが"０"である間は、セレクタ２１の出力である信号ｃは、信号ｂにセレクタ２１の遅延時間を与えた信号波形を有する。
【０１８７】
また、セレクタ２２２Ａの選択信号入力端子Ｓにもdelay_codeが入力されるため、delay_codeが"０"である間は、セレクタ２２２Ａの出力である信号ｄは、信号ｂにセレクタ２２１Ａの遅延時間を与えた信号波形を有する。
【０１８８】
ここでは、一例として、セレクタ２１とセレクタ２２１Ａとの遅延時間が等しいこととする。このため、delay_codeが"０"である間は、信号ｃと信号ｄは同一位相である。
【０１８９】
次に、時刻ｔ１でdelay_codeが"１"に切り替わると、時刻ｔ１以後において、セレクタ２２１Ａから出力される信号ｄは、信号ａを反映した波形に切り替わる。このため、時刻ｔ１以後における信号ｄの最初の立ち上がりは、時刻ｔ２における信号ａの立ち上がりを反映し、時刻ｔ３における立ち上がりとなる。
【０１９０】
また、時刻ｔ１でdelay_codeが"１"に切り替わると、ＦＦ２２２Ａのデータ入力端子Ｄに信号レベルが"１"のdelay_codeが入力することになる。
【０１９１】
信号ｄはＦＦ２２２Ａの入力クロック信号であるため、時刻ｔ３の立ち上がりを受けて、ＦＦ２２２Ａのデータ出力端子Ｑには、データ入力端子Ｄの値が反映され、信号ｅは時刻ｔ４で"１"に切り替わる。
【０１９２】
信号ｅが"１"に切り替わると、セレクタ２１は、信号ａを選択するため、以後、信号ｃは、信号ａにセレクタ２１の遅延時間を与えた信号波形になる。
【０１９３】
以上より、delay_codeの切り替えによるノイズを含まない信号ｃが生成される。
【０１９４】
次に、図１１を用いて、実施の形態２の半導体装置に含まれる信号遅延回路２００の可変遅延回路について説明する。
【０１９５】
図１１は、実施の形態２の半導体装置に含まれる信号遅延回路２００内の可変遅延回路を示す回路図である。
【０１９６】
実施の形態２の半導体装置に含まれる信号遅延回路２００内の可変遅延回路２１０は、実施の形態１の半導体装置に含まれる信号遅延回路１００の可変遅延回路１１０（図７参照）の遅延回路１２０Ａ、１２０Ｂ、１２０Ｃを、遅延回路２２０Ａ、２２０Ｂ、２２０Ｃに置き換えた回路構成を有する。
【０１９７】
遅延回路２２０Ａは、図９に示したように、実施の形態１の遅延回路１２０ＡのＥｘ−ＮＯＲ回路１２１Ａをセレクタ２２１Ａに置き換えた回路構成を有する。
【０１９８】
同様に、遅延回路２２０Ｂ、２２０Ｃは、それぞれ、実施の形態１の遅延回路１２０Ｂ、１２０ＣのＥｘ−ＮＯＲ回路１２１Ｂ、１２１Ｃをセレクタ２２１Ｂ、２２１Ｃに置き換えた回路構成を有する。
【０１９９】
このため、実施の形態１の半導体装置に含まれる信号遅延回路１００の可変遅延回路１１０と同一又は同等の構成要素には同一符号を付し、その説明を省略する。
【０２００】
図１１に示す可変遅延回路２１０のエレメントＥ０は、図９に示すエレメントＥ０と同一である。遅延回路２２０Ａのセレクタ２２１Ａに入力される信号ｂは、エレメントＥ１のインバータ３２の出力信号である。
【０２０１】
図１１に示すエレメントＥ１は、実施の形態１のエレメントＥ１の遅延回路１２０ＢのＥｘ−ＮＯＲ回路１２１Ｂをセレクタ２２１Ｂに置き換えた回路構成を有する。なお、遅延回路２２０ＢのＦＦ２２２Ｂは、実施の形態１の遅延回路１２０ＢのＦＦ１２２Ｂと同様である。
【０２０２】
遅延回路２２０Ｂは、セレクタ２２１Ｂの選択信号入力端子Ｓに入力するdelay_codeの値によってセレクタ２２１Ｂが出力する信号ｄが変わる。
【０２０３】
セレクタ２２１Ｂの選択信号入力端子Ｓに入力するdelay_codeの値が"１"のときは、セレクタ２２１Ｂは信号ａを反映した信号ｄを出力する。セレクタ２２１Ｂの選択信号入力端子Ｓに入力するdelay_codeの値が"０"のときは、セレクタ２２１Ｂは信号ｂを反映した信号ｄを出力する。
【０２０４】
ＦＦ２２２Ｂのデータ入力端子Ｄは、選択信号制御部４０に接続されており、ＦＦ２２２Ｂのデータ出力端子Ｑは、セレクタ２２の選択信号入力端子Ｓに入力されており、ＦＦ２２２Ｂのクロック入力端子はセレクタ２２１Ｂの出力端子に接続されている。
【０２０５】
ＦＦ２２２Ｂは、クロック入力端子にセレクタ２２１Ｂの出力の立ち上がりが入力されると、選択信号制御部４０からデータ入力端子Ｄに入力される選択信号の値をデータ出力端子Ｑに反映する。
【０２０６】
また、リセット端子ＲＳＴ（Reset）には、データ出力端子Ｑの値をリセットするリセットデータがリセット部６０から入力される。ＦＦ２２２Ｂのデータ入力端子Ｄの値は、信号遅延回路２００の電源投入後に、例えば"０"にリセットされる。
【０２０７】
図１１に示すエレメントＥ２は、実施の形態１のエレメントＥ２の遅延回路１２０ＣのＥｘ−ＮＯＲ回路１２１Ｃをセレクタ２２１Ｃに置き換えた回路構成を有する。なお、遅延回路２２０ＣのＦＦ２２２Ｃは、実施の形態１の遅延回路１２０ＣのＦＦ１２２Ｃと同様である。
【０２０８】
セレクタ２２１Ｃの一方の入力信号はエレメントＥ２のインバータ１３の出力信号であり、他方の入力信号は常に"０"の固定値である。
【０２０９】
セレクタ２２１Ｃの出力端子は、ＦＦ２２２Ｃのクロック入力端子に接続されている。セレクタ２２１Ｃは、信号レベルが"１"にクリップされた選択信号が入力されているため、常に信号ａを選択して出力する。
【０２１０】
ＦＦ２２２Ｃのデータ入力端子Ｄには、信号レベルが"１"にクリップされた選択信号が入力されており、ＦＦ２２２Ｃのデータ出力端子Ｑは、セレクタ２３の選択信号入力端子Ｓに入力されており、ＦＦ１２２Ｃのクロック入力端子はセレクタ２２１Ｃの出力端子に接続されている。
【０２１１】
ＦＦ２２２Ｃは、クロック入力端子にセレクタ２２１Ｃの出力の立ち上がりが入力されると、信号レベルが"１"にクリップされた選択信号をデータ出力端子Ｑに反映する。
【０２１２】
また、リセット端子ＲＳＴ（Reset）には、データ出力端子Ｑの値をリセットするリセットデータがリセット部６０から入力される。ＦＦ２２２Ｃのデータ入力端子Ｄの値は、信号遅延回路２００の電源投入後に、例えば"０"にリセットされる。
【０２１３】
以上のように、実施の形態２の半導体装置に含まれる信号遅延回路２００においても、実施の形態１の半導体装置に含まれる信号遅延回路１００と同様に、選択信号（delay_code[1:0]）の切り替えによるノイズが含まれない出力信号ｏｕｔを出力することができる。
【０２１４】
また、選択信号（delay_code[1:0]）を切り替える際には、新たに信号の折り返し点になるセレクタへの入力信号の切り替えを待ってから、セレクタの選択信号入力端子Ｓに切替後の選択信号を入力する。
【０２１５】
すなわち、遅延回路がセレクタに入力する選択信号の切り替えを、信号の折り返し点になるセレクタに入力する入力信号の信号レベルの切り替わりよりも遅らせている。
【０２１６】
従って、実施の形態２によれば、実施の形態１と同様に、入力信号に対する出力信号の応答速度が高く、高速動作に適した出力信号を出力することのできる半導体装置、及び情報処理装置を提供することができる。
【０２１７】
なお、以上では、遅延回路２２０Ａ、２２０Ｂ、２２０Ｃがセレクタ２２１Ａ、２２１Ｂ、２２１Ｃを有する形態について説明したが、図１２のような回路構成にすれば、セレクタ２２１Ａ、２２１Ｂ、２２１Ｃを省くことができる。
【０２１８】
図１２は、実施の形態２の変形例の半導体装置に含まれる信号遅延回路２００の回路の一部を示す図である。図１２に示す回路は、図９及び図１１に示すエレメントＥ０に相当する部分である。
【０２１９】
図１２に示すように、遅延回路２２０Ａは、ＦＦ２２２Ａだけを含み、ＦＦ２２２Ａのクロック入力端子には、セレクタ２１の出力端子が接続されている。
【０２２０】
セレクタ２１は、信号ａと信号ｂとを選択して出力するため、図９に示すセレクタ２２１Ａと同一の２つの入力信号のいずれかを選択してＦＦ２２２Ａのクロック入力端子に入力することになる。
【０２２１】
ここで、図９に示すセレクタ２２１Ａはdelay_codeが選択信号として入力されて動作し、セレクタ２１は、ＦＦ２２２Ａのデータ出力端子Ｑから出力される信号ｅが選択信号として入力されて動作するため、図９に示すエレメントＥ０と図１２に示すエレメントＥ０の動作は厳密には異なる部分がある。
【０２２２】
しかしながら、図１２に示すエレメントＥ０においても、セレクタ２１が信号の折り返し点になる場合には、セレクタ２１に入力する信号ａ又は信号ｂの信号レベルの切り替わりを待ってから、信号ｃの立ち上がりに基づいてＦＦ２２１Ａが動作し、信号ｅがセレクタ２１に入力されることにより、セレクタ２１が信号の折り返し点になる。
【０２２３】
このため、遅延回路がセレクタに入力する選択信号の切り替えを、信号の折り返し点になるセレクタに入力する入力信号の信号レベルの切り替わりよりも遅らせている点では、図１２に示すエレメントＥ０と図９に示すエレメントＥ０は同じである。
【０２２４】
従って、実施の形態２の変形例においても、実施の形態１と同様に、入力信号に対する出力信号の応答速度が高く、高速動作に適した出力信号を出力することのできる半導体装置、及び情報処理装置を提供することができる。
【０２２５】
以上、本発明の例示的な実施の形態の半導体装置、及び情報処理装置について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０２２６】
１１、１２、１３、３１、３２、３３  インバータ
２１、２２、２３  セレクタ
４０  選択信号制御部
５０  サーバ
５１  ＣＰＵ
５２Ａ、５２Ｂ  主記憶装置
５３Ａ、５３Ｂ  バス
５４  メモリコントローラ
５４Ａ  メモリＩ／Ｆ
６０  リセット部
１００、２００  信号遅延回路
１１０、２１０  可変遅延回路
１２０Ａ、１２０Ｂ、１２０Ｃ  遅延回路
１２１Ａ、１２１Ｂ、１２１Ｃ  Ｅｘ−ＮＯＲ回路
１２２Ａ、１２２Ｂ、１２２Ｃ  ＦＦ
２２０Ａ、２２０Ｂ、２２０Ｃ  遅延回路
２２１Ａ、２２２Ｂ、２２２Ｃ  セレクタ
２２２Ａ、２２２Ｂ、２２２Ｃ  ＦＦ
【図１】
2012070152.tif 000003
【図２】
2012070152.tif 000004
【図３】
2012070152.tif 000005
【図４】
2012070152.tif 000006
【図５】
2012070152.tif 000007
【図６Ａ】
2012070152.tif 000008
【図６Ｂ】
2012070152.tif 000009
【図７】
2012070152.tif 000010
【図８】
2012070152.tif 000011
【図９】
2012070152.tif 000012
【図１０Ａ】
2012070152.tif 000013
【図１０Ｂ】
2012070152.tif 000014
【図１１】
2012070152.tif 000015
【図１２】
2012070152.tif 000016
【手続補正書】
【提出日】平成25年12月2日(2013.12.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力端子に入力される入力信号に遅延を与えて出力端子から出力する半導体装置において、
前記入力端子に直列に接続され、前記入力端子から入力される入力信号に遅延を与える複数の遅延素子と、
前記複数の遅延素子の出力側にそれぞれ接続され、前記複数の遅延素子のいずれかの出力信号を選択するための選択信号に基づき、前記複数の遅延素子のいずれかの出力信号を選択して前記出力端子に折り返す複数の選択部と、
前記複数の選択部に対応して設けられ、前記選択部に入力する前記選択信号の切り替えを、信号の折り返し点になる前記選択部に入力する入力信号の信号レベルの切り替わりよりも遅らせる複数の遅延回路と
を含み、
前記複数の遅延回路は、それぞれ、
自己に対応する前記選択部の一方の入力と他方の入力との排他的論理和を演算する複数の排他的論理和演算回路と、
前記排他的論理和演算回路に対応して設けられ、前記排他的論理和演算回路の出力信号を入力クロックとして入力し、前記入力クロックに応じて前記選択部に出力するフリップフロップと
を有する、半導体装置。
【請求項２】
入力端子に入力される入力信号に遅延を与えて出力端子から出力する半導体装置において、
前記入力端子に直列に接続され、前記入力端子から入力される入力信号に遅延を与える複数の遅延素子と、
前記複数の遅延素子の出力側にそれぞれ接続され、前記複数の遅延素子のいずれかの出力信号を選択するための選択信号に基づき、前記複数の遅延素子のいずれかの出力信号を選択して前記出力端子に折り返す複数の選択部と、
前記複数の選択部に対応して設けられ、前記選択部に入力する前記選択信号の切り替えを、信号の折り返し点になる前記選択部に入力する入力信号の信号レベルの切り替わりよりも遅らせる複数の遅延回路と
を含み、
前記複数の遅延回路は、それぞれ、
自己に対応する前記選択部の一方の入力又は他方の入力を前記選択信号に基づいて選択して出力する第２の選択部と、
前記第２の選択部の出力信号を入力クロックとして入力し、前記入力クロックに応じて前記選択信号を前記選択部に出力するフリップフロップと
を有する、半導体装置。
【請求項３】
演算処理装置と、
主記憶装置と、
請求項１又は２に記載の半導体装置を有し、前記演算処理装置と前記主記憶装置との間でデータの転送を行うメモリコントローラと
を含む情報処理装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明の実施の形態の半導体装置は、入力端子に入力される入力信号に遅延を与えて出力端子から出力する半導体装置において、前記入力端子に直列に接続され、前記入力端子から入力される入力信号に遅延を与える複数の遅延素子と、前記複数の遅延素子の出力側にそれぞれ接続され、前記複数の遅延素子のいずれかの出力信号を選択するための選択信号に基づき、前記複数の遅延素子のいずれかの出力信号を選択して前記出力端子に折り返す複数の選択部と、前記複数の選択部に対応して設けられ、前記選択部に入力する前記選択信号の切り替えを、信号の折り返し点になる前記選択部に入力する入力信号の信号レベルの切り替わりよりも遅らせる複数の遅延回路とを含み、前記複数の遅延回路は、それぞれ、自己に対応する前記選択部の一方の入力と他方の入力との排他的論理和を演算する複数の排他的論理和演算回路と、前記排他的論理和演算回路に対応して設けられ、前記排他的論理和演算回路の出力信号を入力クロックとして入力し、前記入力クロックに応じて前記選択部に出力するフリップフロップとを有する。
【国際調査報告】
2012070152.tif 000017
2012070152.tif 000018