(57)【要約】【課題】複数のデータ信号が同時動作する場合、その同時動作本数に関わらず、常に、複数のデータ信号の出力タイミングがほぼ等しくなるように調整することができる半導体集積回路を提供する。【解決手段】半導体集積回路は、それぞれにデータ信号を入力する複数のデータ入力端子と、複数のデータ入力端子のそれぞれに対応して設けられ、共通の電源の供給を受けて動作する出力バッファと、データ信号に含まれる同時に変化するデータ信号の個数を認識する同時動作認識回路と、複数のデータ入力端子のそれぞれに対応して設けられ、対応するデータ入力端子に入力されたデータ信号を、同時動作認識回路の認識結果に応じた時間だけ遅延させて対応する出力バッファに供給する遅延回路とを有する。【選択図】図１
2008048170.tif 000002
【特許請求の範囲】
【請求項１】
それぞれにデータ信号を入力する複数のデータ入力端子と、
前記複数のデータ入力端子のそれぞれに対応して設けられ、共通の電源の供給を受けて動作する出力バッファと、
前記データ信号に含まれる同時に変化するデータ信号の個数を認識する同時動作認識回路と、
前記複数のデータ入力端子のそれぞれに対応して設けられ、対応するデータ入力端子に入力された前記データ信号を、前記同時動作認識回路の認識結果に応じた時間だけ遅延させて対応する前記出力バッファに供給する遅延回路とを有することを特徴とする半導体集積回路。
【請求項２】
前記同時動作認識回路は、所定の期間内に変化する前記データ信号の個数を認識するものであることを特徴とする請求項１記載の半導体集積回路。
【請求項３】
前記遅延回路は、前記同時に変化するデータ信号の個数に依存した前記出力バッファの遅延時間変動を補償する時間だけ、対応するデータ信号を遅延させることを特徴とする請求項１または２記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力バッファを介して出力される複数のデータ信号のうち、１本もしくは２本以上のデータ信号が同時動作（変化）した場合であっても、常に、複数のデータ信号の出力タイミングがほぼ等しくなるように調整する半導体集積回路に関するものである。
【背景技術】
【０００２】
半導体集積回路から、複数のデータ信号の各々が、各々対応する出力バッファを介して出力される場合、同時動作による出力遅延の発生が問題となる。すなわち、複数のデータ信号が同時動作すると、瞬間的に流れる電流量が増大して電源もしくはグランドの電位が変動する。そのため、データ信号の同時動作本数が多くなるほど、出力バッファの出力遅延値は大きくなり、データ信号の出力タイミングは遅くなる。
【０００３】
これに対し、従来、電源変動を抑え、遅延値の変動を抑える目的で、出力バッファ毎に異なる時間だけデータ信号を遅延させ、同時に動作させない技術が提案されている。例えば、特許文献１には、複数のデータ信号をそれぞれ出力端子に駆動出力する出力回路が、複数のデータ信号をそれぞれ同一のタイミングで遷移することがないように遅延させる遅延手段をデータ信号毎に備える半導体集積回路が開示されている。
【０００４】
【特許文献１】特開平１０−１１１７４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前述のように、複数のデータ信号が同時動作する場合、その同時動作本数に応じて電源変動の大きさが変化し、各々の出力バッファの出力遅延値、すなわち、各々のデータ信号の出力タイミングも変化する。例えば、１本のデータ信号だけが変化した場合と、２本以上のデータ信号が同時に変化した場合とでは、その出力遅延値が異なってくる。
【０００６】
近年では、半導体集積回路の動作周波数が飛躍的に高くなってきている。このため、上記従来技術のように、複数のデータ信号が同時動作する場合、その各々の出力バッファの出力遅延値を変えて、複数のデータ信号の各々が同一の出力タイミングで変化しないようにすると、そのデータ信号を受け取る側の半導体集積回路では、セットアップタイムやホールドタイムのタイミングマージンが少なくなるという問題がある。
【０００７】
従って、半導体集積回路の動作周波数が高くなるにつれて、同時動作するデータ信号の各々の出力タイミングを一致させる必要がある。これは、従来提案されていた、同時動作するデータ信号の各々の出力タイミングを変えることとは相反する。しかし、電源変動は、他の手法で許容値内に抑えることもできる。従って、半導体集積回路の動作周波数が高くなると、データ信号の出力タイミングを一致させるように調整することの方が重要になる。
【０００８】
本発明の目的は、前記従来技術に基づく問題点を解消し、複数のデータ信号が同時動作する場合、その同時動作本数に関わらず、常に、複数のデータ信号の出力タイミングがほぼ等しくなるように調整することができる半導体集積回路を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明は、それぞれにデータ信号を入力する複数のデータ入力端子と、
前記複数のデータ入力端子のそれぞれに対応して設けられ、共通の電源の供給を受けて動作する出力バッファと、
前記データ信号に含まれる同時に変化するデータ信号の個数を認識する同時動作認識回路と、
前記複数のデータ入力端子のそれぞれに対応して設けられ、対応するデータ入力端子に入力された前記データ信号を、前記同時動作認識回路の認識結果に応じた時間だけ遅延させて対応する前記出力バッファに供給する遅延回路とを有することを特徴とする半導体集積回路を提供するものである。
【００１０】
ここで、前記同時動作認識回路は、所定の期間内に変化する前記データ信号の個数を認識するものであることが好ましい。
【００１１】
また、前記遅延回路は、前記同時に変化するデータ信号の個数に依存した前記出力バッファの遅延時間変動を補償する時間だけ、対応するデータ信号を遅延させることが好ましい。
【発明の効果】
【００１２】
本発明によれば、全てのデータ信号の出力タイミングを、データ信号の同時動作本数に関わらず、常に一定に調整することができる。従って、半導体集積回路の動作周波数が高くなった場合であっても、データ信号を受け取る側の半導体集積回路におけるタイミングマージンに余裕ができ、タイミング調整が容易になる。
【発明を実施するための最良の形態】
【００１３】
以下に、添付の図面に示す好適実施形態に基づいて、本発明の半導体集積回路を詳細に説明する。
【００１４】
図１は、本発明の半導体集積回路の構成を表す一実施形態の概略図である。同図に示す半導体集積回路１０は、複数存在する出力バッファのうちの１つの出力バッファ１８近傍の様子を表したもので、遅延値調整回路１２を備えている。
【００１５】
遅延値調整回路１２は、半導体集積回路１０内部で生成されるデータ信号Ａ１が入力される第１のデータ入力端子ＩＮ１を有する。遅延値調整回路１２は、データ信号Ａ１が、第１のデータ入力端子ＩＮ１に対応して設けられた出力バッファ１８を介して半導体集積回路１０の外部に出力される時の出力タイミング（出力遅延値）が、同時動作本数に関わらず一定になるように、データ信号Ａ１の出力タイミングを調整する。
【００１６】
複数のデータ信号が同時動作すると、電源やグランドの電位が変動し、同時動作本数が多くなるに従って、各々のデータ信号の出力タイミングは遅くなる。本実施形態の場合、遅延値調整回路１２は、５本のデータ信号Ａ１〜Ａ５の全てが同時動作した場合の出力タイミング（最大遅延値）に合わせるように、同時に変化するデータ信号の個数に応じた時間だけ、データ信号Ａ１の出力タイミングを最大遅延値まで遅延させる。
【００１７】
図１では、データ信号Ａ１についての遅延値調整回路１２のみを示している。図示省略しているが、実際にはデータ信号Ａ２〜Ａ５の各々に対応する遅延値調整回路も設けられている。すなわち、全部で５つの遅延値調整回路が設けられている。各々の遅延値調整回路は同一構成であるが、その違いは、データ入力端子から入力されるデータ信号がＡ１〜Ａ５であり、その出力信号がＡ１”〜Ａ５”であることである。
【００１８】
以下、データ信号Ａ１の遅延値調整回路１２を代表例として説明を続けるが、データ信号Ａ２〜Ａ５の遅延値調整回路についても同様である。
【００１９】
遅延値調整回路１２は、図１に示すように、同時動作認識回路１４と、遅延回路１６とによって構成されている。
【００２０】
同時動作認識回路１４は、遅延調整回路２０と、５つの動作認識回路２２ａ、２２ｂ、２２ｃ、２２ｄ、２２ｅ（以下、まとめて動作認識回路２２と記述する）と、同時動作本数認識回路２４とによって構成されている。同時動作認識回路１４は、データ信号Ａ１〜Ａ５に含まれる同時動作認識信号ＣＬＫ（以下、信号ＣＬＫと記述する）の５クロック（５周期）の期間内に同時に変化するデータ信号の個数を認識（検出）する。
【００２１】
ここで、信号ＣＬＫは、所定の一定周期で動作するクロック信号である。なお、同時動作認識回路１４が、同時に変化したデータ信号の個数を認識する期間は、信号ＣＬＫの５クロック周期に限定されず、適宜所定の期間内に設定することができる。
【００２２】
遅延調整回路２０には、データ信号Ａ１が入力される。遅延調整回路２０は、その具体的な回路構成の図示は省略しているが、動作認識回路２２がデータ信号Ａ１〜Ａ５を処理して、その出力信号Ｂ１〜Ｂ５を発生し、同時動作本数認識回路２４が信号Ｂ１〜Ｂ５を処理して、その出力信号Ｃ１〜Ｃ５を出力するまでの時間だけ、信号Ａ１を遅延し、その遅延信号Ａ１’を出力するディレイラインである。
【００２３】
動作認識回路２２ａには、データ信号Ａ１と、信号ＣＬＫが入力される。動作認識回路２２ａは、データ信号Ａ１が、ローレベルからハイレベル、もしくは、ハイレベルからローレベルに変化したかどうかを認識（検出）する。データ信号Ａ１が変化したことを認識すると、動作認識回路２２からは、信号ＣＬＫの５クロック分（５周期分）のハイレベルのパルス幅を持つ信号Ｂ１が出力される。
【００２４】
また、他の動作認識回路２２ｂ、２２ｃ、２２ｄ、２２ｅは、それぞれデータ信号Ａ２、Ａ３、Ａ４、Ａ５が入力され、それぞれ信号Ｂ２、Ｂ３、Ｂ４、Ｂ５が出力される点を除いて、動作認識回路２２ａと同様である。
【００２５】
同時動作本数認識回路２４には、動作認識回路２２の出力信号Ｂ１〜Ｂ５と、信号ＣＬＫと、信号ＣＬＫ６とが入力される。同時動作本数認識回路２４は、５つの動作認識回路２２の出力信号Ｂ１〜Ｂ５に基づいて、データ信号Ａ１〜Ａ５のうち、何本が同時動作したのかを認識（検出）する。同時動作本数認識回路２４からは信号Ｃ１〜Ｃ５が出力される。
【００２６】
ここで、動作認識回路２２は、信号ＣＬＫの５クロックの期間に、データ信号Ａ１〜Ａ５の各々が動作したかどうかを認識する。また、同時動作本数認識回路２４は、信号ＣＬＫの５クロックの期間に、データ信号Ａ１〜Ａ５のうち、何本のデータ信号が同時動作したのか、もしくは、１本も動作していないのかを検出する。
【００２７】
また、信号ＣＬＫ６は、信号ＣＬＫの６周期に１つだけ、信号ＣＬＫと同一の幅のパルスを有する信号である。
【００２８】
次に、遅延回路１６について説明する。
【００２９】
遅延回路１６には、同時動作認識回路１４の遅延調整回路２０の出力信号Ａ１’と、同時動作本数認識回路２４の出力信号Ｃ１〜Ｃ５が入力される。遅延回路１６は、データ信号Ａ１が入力されるデータ入力端子に対応して設けられ、その対応するデータ入力端子に入力されたデータ信号Ａ１を、同時動作本数認識回路２４の認識結果に応じた時間だけ遅延させて、その出力信号Ａ１”を対応する出力バッファ１８に供給する。
【００３０】
ここで、遅延回路１６は、前述の通り、その出力信号Ａ１”の出力遅延値が、５本のデータ信号Ａ１〜Ａ５の全てが同時に動作した場合と同じ出力タイミング（最大遅延値）となるように信号Ａ１’を遅延する。つまり、遅延回路１６は、同時に変化するデータ信号の個数（本数）に依存した出力バッファ１６の遅延時間変動を補償する時間だけ、対応するデータ信号Ａ１を遅延させる。
【００３１】
最後に、出力バッファ１８には、遅延回路１６の出力信号Ａ１”が入力される。出力バッファ１８は、データ信号Ａ１が入力されるデータ入力端子に対応して設けられ、他の入力信号Ａ２〜Ａ５が入力されるデータ入力端子に対応して設けられる４個の出力バッファと、共通の電源の供給を受けて動作する（そのため、データ信号の同時動作本数が多くなると、電源変動が大きくなって出力バッファ１８の遅延時間が増大するので、同時動作本数に応じた出力遅延値の補償が必要になる）。出力バッファ１８の出力信号ＯＵＴ１は半導体集積回路１０の外部に出力される。
【００３２】
以下、動作認識回路２２、同時動作本数認識回路２４、および、遅延回路１６の一例を挙げて具体例に説明する。
【００３３】
まず、図２に示す一例の回路図と図３に示すタイミングチャートを参照しながら、動作認識回路２２について説明する。
【００３４】
図２に示す動作認識回路２２ａは、バッファ２５と、３つのフリップフロップ（ＦＦ）２６ａ、２６ｂ、２６ｃと、ＯＲ回路２８と、５周期Ｈ出力回路２９とによって構成されている。
【００３５】
ＦＦ２６ａのクロック入力端子ＣＫおよびＦＦ２６ｂの反転クロック入力端子ＣＫＮには信号Ａ１が入力され、そのリセット入力端子ＣＲにはＦＦ２６ｃの出力信号Ｑ（データ出力端子Ｑから出力される信号）が入力され、そのデータ入力端子Ｄは電源に接続されている。また、ＦＦ２６ａ、２６ｂの出力信号ＱはＯＲ回路２８に入力される。ＦＦ２６ｃのクロック入力端子ＣＫにはバッファ２５を介して信号ＣＬＫが入力され、そのデータ入力端子ＤにはＯＲ回路２８の出力信号が入力される。５周期Ｈ出力回路２９には、ＯＲ回路２８の出力信号および信号ＣＬＫが入力され、５周期Ｈ出力回路２９からは信号Ｂ１が出力される。
【００３６】
図３のタイミングチャートに示すように、信号ＣＬＫは、前述の通り、所定の一定周期で動作するクロック信号である。説明を簡単にする目的から図示を一部省略しているが、ＦＦ２６ａ、２６ｂ、２６ｃは初期状態でリセットされ、その出力信号Ｑは全てローレベルであるとする。従って、ＯＲ回路２８の出力信号もローレベルである。また、５周期Ｈ出力回路の出力信号Ｂ１も初期状態ではローレベルであるとする。
【００３７】
信号Ａ１がローレベルからハイレベルに変化すると、その立ち上がりに同期してＦＦ２６ａの出力信号Ｑがハイレベルになる。一方、信号Ａ１がハイレベルからローレベルに変化すると、同じく、その立ち下がりに同期してＦＦ２６ｂの出力信号Ｑがハイレベルになる。つまり、信号Ａ１が変化すると、ＯＲ回路２８の出力信号は、その変化に同期してハイレベルになる。
【００３８】
ＯＲ回路２８の出力信号がハイレベルになると、その次の信号ＣＬＫの立ち上がりに同期してＦＦ２６ｃの出力信号Ｑがハイレベルになる。これによって、ＦＦ２６ａ、２６ｂはリセットされ、その出力信号Ｑはローレベルに戻る。また、ＦＦ２６ａ、２６ｂの出力信号Ｑがともにローレベルになることによって、ＯＲ回路２８の出力信号もローレベルに戻る。
【００３９】
また、ＯＲ回路２８の出力信号がハイレベルになると、５周期Ｈ出力回路２９からは、信号ＣＬＫの次の立ち上がりから、信号ＣＬＫの５クロック分（５周期分）のパルス幅を持つハイレベルの信号Ｂ１が出力される。なお、５周期Ｈ出力回路２９の具体的な回路例は示していないが、上記と同様の機能を果たす各種構成の回路を使用することができる。
【００４０】
つまり、図２の動作認識回路２２ａでは、信号Ａ１が変化すると、５周期Ｈ出力回路２９から、信号ＣＬＫの５クロック分のパルス幅を持つハイレベルの信号Ｂ１が出力される。これによって、信号Ａ１が変化したということが分かる。
【００４１】
また、他の動作認識回路２２ｂ、２２ｃ、２２ｄ、２２ｅは、前述の通り、それぞれデータ信号Ａ２、Ａ３、Ａ４、Ａ５が入力され、それぞれ信号Ｂ２、Ｂ３、Ｂ４、Ｂ５を出力する点を除いて、動作認識回路２２ａと同様である。
【００４２】
次に、図４に示す一例の回路図を参照しながら、同時動作本数認識回路２４について説明する。
【００４３】
図４に示す同時動作本数認識回路２４は、パラシリ変換回路３０と、５ビットのシフトレジスタ３２と、５つのＡＮＤ回路３４ａ、３４ｂ、３４ｃ、３４ｄ、３４ｅ（以下、まとめてＡＮＤ回路３４とも記述する）とによって構成されている。
【００４４】
パラシリ変換回路３０には、信号Ｂ１〜Ｂ５と、信号ＣＬＫと、信号ＣＬＫ６が入力される。パラシリ変換回路３０からは、その出力信号として、同時動作本数（同時変化本数）に応じた個数のパルス信号からなる本数データが出力される。
【００４５】
パラシリ変換回路３０は、信号ＣＬＫ６のパルスによってリセットされ、本数データはローレベルに初期化される。パラシリ変換回路３０は、同時に、入力信号Ｂ１〜Ｂ５のレベルを保持する。その後、パラシリ変換回路３０からは、本数データとして、信号ＣＬＫの立ち上がりに同期して、保持された入力信号Ｂ１〜Ｂ５のレベルのうち、ハイレベルである本数（同時に変化した本数）に応じた個数のパルス信号が連続的に出力される（図７参照）。
【００４６】
すなわち、パラシリ変換回路３０からは、本数データとして、信号Ｂ１〜Ｂ５の全てがローレベルの時はローレベルが出力される。一方、信号Ｂ１〜Ｂ５のうちの１つがハイレベルの時は、本数信号が１つ出力され、以下同様に、信号Ｂ１〜Ｂ５のうちの２つ〜５つがハイレベルの時は、本数信号がそれぞれ２つ〜５つ出力される。
【００４７】
シフトレジスタ３２は、５つのＦＦ３６ａ、３６ｂ、３６ｃ、３６ｄ、３６ｅ（以下、まとめてＦＦ３６とも記述する）によって構成されている。ＦＦ３６のクロック入力端子ＣＫには本数データが入力され、そのリセット入力端子ＣＲには信号ＣＬＫ６が入力される。また、ＦＦ３６ａのデータ入力端子Ｄは電源に接続され、前段のＦＦ３６の出力信号Ｑは順次次段のＦＦ３６のデータ入力端子Ｄに入力される。
【００４８】
図４に示すシフトレジスタ３２では、ＦＦ３６ａ、３６ｂ、３６ｃ、３６ｄ、３６ｅの出力信号Ｑを、それぞれ信号Ｄ１〜Ｄ５とする。
【００４９】
シフトレジスタ３２は、信号ＣＬＫ６によって全てのＦＦ３６がリセットされ、ＦＦ３６の出力信号Ｑ、すなわち、出力信号Ｄ１〜Ｄ５は全てローレベルに初期化される。その後、本数データの本数信号の個数に応じて、その立ち上がりに同期して、初段のＦＦ３６ａのデータ入力端子Ｄに接続されている電源のハイレベルが順次次段のＦＦ３６ｂ、３６ｃ、３６ｄ、３６ｅにシフトされる。
【００５０】
すなわち、シフトレジスタ３２では、本数データの本数信号の個数が０個の時には出力信号Ｄ１〜Ｄ５は全てローレベルとなる。一方、本数信号の個数が１個の時には出力信号Ｄ１、２個の時には出力信号Ｄ１，Ｄ２、３個の時には出力信号Ｄ１〜Ｄ３、４個の時には出力信号Ｄ１〜Ｄ４、５個の時には全ての出力信号Ｄ１〜Ｄ５がそれぞれハイレベルとなる。
【００５１】
５つのＡＮＤ回路３４のうち、ＡＮＤ回路３４ａには信号Ｄ１が入力され、信号Ｃ１が出力される。以下順に、ＡＮＤ回路３４ｂには信号Ｄ１，Ｄ２が入力され、信号Ｃ２が出力される。ＡＮＤ回路３４ｃには信号Ｄ１〜Ｄ３が入力され、信号Ｃ３が出力される。ＡＮＤ回路３４ｄには信号Ｄ１〜Ｄ４が入力され、信号Ｃ４が出力される。ＡＮＤ回路３４ｅには信号Ｄ１〜Ｄ５が入力され、信号Ｃ５が出力される。
【００５２】
ＡＮＤ回路３４では、信号Ｄ１〜Ｄ５のハイレベルの個数に応じて、その出力信号Ｃ１〜Ｃ５が決定される。
【００５３】
すなわち、下記表１に示す通り、信号Ｄ１〜Ｄ５の全てがローレベルの時は出力信号Ｃ１〜Ｃ５の全てがローレベルとなる。一方、信号Ｄ１がハイレベルの時は出力信号Ｃ１、信号Ｄ１，Ｄ２がハイレベルの時は出力信号Ｃ１，Ｃ２、信号Ｄ１〜Ｄ３がハイレベルの時は出力信号Ｃ１〜Ｃ３、信号Ｄ１〜Ｄ４がハイレベルの時は出力信号Ｃ１〜Ｃ４、信号Ｄ１〜Ｄ５がハイレベルの時は出力信号Ｃ１〜Ｃ５が、それぞれハイレベルになる。
【００５４】
【表１】
2008048170.tif 000003
【００５５】
つまり、図４の同時動作本数認識回路２４では、信号Ｂ１〜Ｂ５のうちのハイレベルの個数に応じて、出力信号Ｃ１〜Ｃ５のうち、信号Ｃ１から信号Ｃ５に向かってハイレベルとなる個数が変化し、信号Ｂ１〜Ｂ５のうち、何本の信号がハイレベルであるのかが分かる。すなわち、同時動作認識回路１４によって、５本のデータ信号Ａ１〜Ａ５のうち、何本のデータ信号が同時に変化したのかが分かる。
【００５６】
前述のように、同時動作認識回路１４は、信号ＣＬＫの５クロック（５周期）の期間内に、データ信号Ａ１〜Ａ５のうちの変化するデータ信号の個数（同時動作本数）を認識する。また、同時動作認識回路１４は、同時動作本数を認識して出力信号Ｃ１〜Ｃ５を出力するまでに、信号ＣＬＫの１１クロック分（１１周期分）の時間が必要となる。従って、データ信号Ａ１は、信号ＣＬＫの１１クロック後にＡ１’として出力される。データ信号Ａ２〜Ａ５も同じである。
【００５７】
次に、図５に示す一例の回路図を参照しながら、遅延回路１６について説明する。
【００５８】
図５の遅延回路１６は、遅延セルとなる５つの３ステートバッファ３８ａ、３８ｂ、３８ｃ、３８ｄ、３８ｅ（以下、まとめて３Ｓバッファ３８と記述する）と、５つのトランスファゲート４０ａ、４０ｂ、４０ｃ、４０ｄ、４０ｅ（以下、まとめてＴＧ４０と記述する）とによって構成されている。各々の３Ｓバッファ３８の遅延時間は、１本のデータ信号が変化した時に、出力信号ＯＵＴ１の出力タイミングが遅延する時間に相当する。
【００５９】
５つの３Ｓバッファ３８は、信号Ａ１’と信号Ａ１”との間に直列に接続されている。同様に、５つのＴＧ４０も、信号Ａ１’と信号Ａ１”との間に直列に接続されている。つまり、両者は、並列に配置されている。初段の３Ｓバッファ３８ａの入力端子および初段のＴＧ４０ａの左側の端子に信号Ａ１’が入力され、最終段の３Ｓバッファ３８ｅの出力端子および最終段のＴＧ４０ｅの右側の端子から信号Ａ１ｃが出力される。
【００６０】
また、３Ｓバッファ３８の反転制御入力端子には、それぞれ同時動作認識回路１４の同時動作本数認識回路２４の出力信号Ｃ１〜Ｃ５が入力される。また、ＴＧ４０のＮＭＯＳ（Ｎ型ＭＯＳトランジスタ）のゲートには信号Ｃ１〜Ｃ５が入力され、そのＰＭＯＳ（Ｐ型ＭＯＳトランジスタ）のゲートには、信号Ｃ１〜Ｃ５の反転信号Ｃ１￣〜Ｃ５￣が入力される。
【００６１】
初段の３Ｓバッファ３８ａの出力端子と初段のＴＧ４０ａの図中右側の端子とが接続されている。以下同様に、３Ｓバッファ３８ｂの出力端子とＴＧ４０ｂの右側の端子、３Ｓバッファ３８ｃの出力端子とＴＧ４０ｃの右側の端子、３Ｓバッファ３８ｄの出力端子とＴＧ４０ｄの右側の端子、３Ｓバッファ３８ｅの出力端子とＴＧ４０ｅの右側の端子がそれぞれ接続されている。
【００６２】
前述のように、同時動作認識回路１４では、その出力信号Ｃ１〜Ｃ５のうち、信号Ｃ１から信号Ｃ５に向かってハイレベルとなる個数が変化する。遅延回路１６では、信号Ｃ１〜Ｃ５の全てがローレベルの時にＴＧ４０は全てオフ状態で、３Ｓバッファ３８は全てオン状態となり、遅延調整回路２０から出力される信号Ａ１’は、５つの３Ｓバッファ３８を介して信号Ａ１”として出力される。
【００６３】
なお、前述の通り、信号Ｃ１〜Ｃ５の全てがローレベルの時は、データ信号Ａ１〜Ａ５のうち、同時動作本数は０本である。つまり、データ信号Ａ１〜Ａ５は変化していない。従って、５つの３Ｓバッファ３８を介して出力されても何ら影響はない。
【００６４】
また、信号Ｃ１がハイレベルで、信号Ｃ２〜Ｃ５がローレベルの時に、ＴＧ４０ａはオン状態、ＴＧ４０ｂ、４０ｃ、４０ｄ、４０ｅはオフ状態で、３Ｓバッファ３８ａはオフ状態、３Ｓバッファ３８ｂ、３８ｃ、３８ｄ、３８ｅはオン状態となる。信号Ａ１’は、初段のＴＧ４０ａと４つの３Ｓバッファ３８ｂ、３８ｃ、３８ｄ、３８ｅを介して信号Ａ１”として出力される。
【００６５】
ここで、信号Ｃ１だけがハイレベルの時は、データ信号Ａ１〜Ａ５のうち、同時動作本数は１本である。従って、データ信号Ａ１は、４つの３Ｓバッファ３８を介して出力することによって、最大遅延値まで遅延される。
【００６６】
また、信号Ｃ１，Ｃ２がハイレベルで、信号Ｃ３〜Ｃ５がローレベルの時に、ＴＧ４０ａ、４０ｂはオン状態、ＴＧ４０ｃ、４０ｄ、４０ｅはオフ状態で、３Ｓバッファ３８ａ、３８ｂはオフ状態、３Ｓバッファ３８ｃ、３８ｄ、３８ｅはオン状態となる。信号Ａ１’は、２つのＴＧ４０ａ、４０ｂと３つの３Ｓバッファ３８ｃ、３８ｄ、３８ｅを介して信号Ａ１”として出力される。
【００６７】
ここで、信号Ｃ１，Ｃ２がハイレベルの時は、データ信号Ａ１〜Ａ５のうち、同時動作本数は２本である。従って、データ信号Ａ１は、３つの３Ｓバッファ３８を介して出力することによって、最大遅延値まで遅延される。
【００６８】
また、信号Ｃ１〜Ｃ３がハイレベルで、信号Ｃ４，Ｃ５がローレベルの時に、ＴＧ４０ａ、４０ｂ、４０ｃはオン状態、ＴＧ４０ｄ、４０ｅはオフ状態で、３Ｓバッファ３８ａ、３８ｂ、３８ｃはオフ状態、３Ｓバッファ３８ｄ、３８ｅはオン状態となる。信号Ａ１’は、３つＴＧ４０ａ、４０ｂ、４０ｃと２つの３Ｓバッファ３８ｄ、３８ｅを介して信号Ａ１”として出力される。
【００６９】
ここで、信号Ｃ１〜Ｃ３がハイレベルの時は、データ信号Ａ１〜Ａ５のうち、同時動作本数は３本である。従って、データ信号Ａ１は、２つの３Ｓバッファ３８を介して出力することによって、最大遅延値まで遅延される。
【００７０】
また、信号Ｃ１〜Ｃ４がハイレベルで、信号Ｃ５がローレベルの時に、ＴＧ４０ａ、４０ｂ、４０ｃ、４０ｄはオン状態、ＴＧ４０ｅはオフ状態で、３Ｓバッファ３８ａ、３８ｂ、３８ｃ、３８ｄはオフ状態、３Ｓバッファ３８ｅはオン状態となる。信号Ａ１’は、４つのＴＧ４０ａ、４０ｂ、４０ｃ、４０ｄと１つの３Ｓバッファ３８ｅを介して信号Ａ１”として出力される。
【００７１】
ここで、信号Ｃ１〜Ｃ４がハイレベルの時は、データ信号Ａ１〜Ａ５のうち、同時動作本数は４本である。従って、データ信号Ａ１は、１つの３Ｓバッファ３８を介して出力することによって、最大遅延値まで遅延される。
【００７２】
また、信号Ｃ１〜Ｃ５の全てがハイレベルの時に、全てのＴＧ４０はオン状態で、全ての３Ｓバッファ３８はオフ状態となる。信号Ａ１’は、５つのＴＧ４０を介して信号Ａ１”として出力される。
【００７３】
ここで、信号Ｃ１〜Ｃ５の全てがハイレベルの時は、データ信号Ａ１〜Ａ５のうち、同時動作本数は５本である。従って、データ信号Ａ１は、３Ｓバッファ３８を１つも介すことなく、そのまま出力するだけで既に最大遅延値まで遅延されている。
【００７４】
つまり、図５の遅延回路１６では、信号Ｃ１〜Ｃ５のうちのハイレベルの個数に応じて、信号Ａ１’が通過する３Ｓバッファ３８の個数が変化し、遅延回路１６の出力信号Ａ１”は、同時動作したデータ信号の本数に応じた時間だけ遅延される。
【００７５】
遅延値調整回路１２では、信号ＣＬＫの５クロック（５周期）の期間内に、動作認識回路２２によって、５本のデータ信号Ａ１〜Ａ５のうち、変化したデータ信号を認識し、同時動作本数認識回路２４によって、同時に変化したデータ信号の個数を認識する。そして、遅延回路１６によって、同時に変化したデータ信号の個数に応じた時間だけ各々のデータ信号Ａ１〜Ａ５を遅延させ、出力バッファ１８を介して半導体集積回路１０の外部に出力する。
【００７６】
その結果、５本のデータ信号Ａ１〜Ａ５は、同時動作本数に関係なく、各々の出力信号ＯＵＴ１〜５の出力タイミングが、５本のデータ信号Ａ１〜Ａ５の全てが同時動作した時の出力タイミングにほぼ一致するように調整される。
【００７７】
次に、図６および図７のタイミングチャートを参照して、遅延調整回路１２の動作を具体的に説明する。
【００７８】
まず、図６のタイミングチャートに示すように、信号Ａがローレベルからハイレベルに変化すると、動作認識回路２２によって、信号Ａの変化が認識される。その結果、その次の信号ＣＬＫの立ち上がりに同期して、信号Ｂとして、信号ＣＬＫの５クロック分のハイレベルのパルス信号が出力される。図６のタイミングチャートでは、その途中の図示を省略している。
【００７９】
続いて、同時動作本数認識回路２４によって、信号Ｂのハイレベルの本数に応じて、信号ＣＬＫの６クロック毎に同時に変化したデータ信号Ａの本数が認識され、その認識結果である信号Ｃが出力される。図６のタイミングチャートに示すように、信号Ａが変化してから信号Ｃが変化する（ハイレベルになる）までの時間が、動作認識回路２２および同時動作本数認識回路２４での処理時間である。
【００８０】
図６のタイミングチャートでは、信号Ｃの変化が確定した後、遅延調整回路２０から、データ信号Ａが所定の時間だけ遅延された信号Ａ’が出力される。そしてさらに、遅延回路１６によって、信号Ｃの状態に応じて、信号Ａ’の出力タイミングが調整され、信号Ａ”が出力される。信号Ａ”は、出力バッファ１８を介して、信号ＯＵＴとして半導体集積回路１０から、その外部に出力される。
【００８１】
同じく、図６のタイミングチャートに示すように、信号Ａ’がハイレベルとなってから、信号Ａ”がハイレベルとなるまでの時間が、遅延回路１６によって、出力タイミングが調整（遅延）された時間である。
【００８２】
次に、図７に示すタイミングチャートについて説明する。
【００８３】
図７のタイミングチャートは、５本のデータ信号Ａ１〜Ａ５が全て同時に変化した場合の動作を表す。信号ＣＬＫ、信号Ａ、信号Ｂは、図６のタイミングチャートにおけるそれぞれの信号の動作と同じである。
【００８４】
上記のように、５本のデータ信号Ａ１〜Ａ５が信号ＣＬＫの５クロック（５周期）の期間内に全て同時に変化した場合、本数データとして、信号ＣＬＫの５クロック分の本数信号が出力される。図７のタイミングチャートでは、Ｄ２〜Ｄ４の図示は省略しているが、本数データの本数信号の立ち上がりに同期して、信号Ｄ１〜Ｄ５が順次ハイレベルになる。その結果、信号Ｄ５がハイレベルとなってから、ＡＮＤ回路３４による遅延時間の後、信号Ｃは全てハイレベルとなる。
【００８５】
上記のように、遅延値調整回路１２を用いることによって、データ信号Ａ１〜Ａ５の同時動作本数に関わらず、全てのデータ信号の出力タイミングを、常に全てのデータ信号が同時動作した場合の出力タイミングに一致するように調整できる。従って、半導体集積回路１０の動作周波数が高くなった場合でも、データ信号を受け取る側の半導体集積回路におけるタイミングマージンに余裕ができ、タイミング調整が容易になる。
【００８６】
なお、上記実施形態において、データ信号Ａ１〜Ａ５、信号ＣＬＫ、信号ＣＬＫ６は、半導体集積回路１０の内部から供給される信号であっても良いし、半導体集積回路１０の外部から供給される信号であっても良い。また、信号ＣＬＫ、信号ＣＬＫ６、信号Ａ１〜Ａ５、信号Ｂ１〜Ｂ５、信号Ｃ１〜Ｃ５、信号Ｄ１〜Ｄ５、本数データなどの信号の極性は適宜変更しても良く、それに応じて適宜回路を変更すれば良い。
【００８７】
また、上記実施形態に示す具体的な回路例は、あくまで一例であって、本発明の半導体集積回路で用いられる遅延値調整回路の各部位の具体的な構成は何ら限定されず、同様の機能を果たすことができる各種構成の回路を使用することができる。また、実施形態では、データ信号の本数を５本としたが、これも限定されず、同時動作する可能性のある信号であれば、その本数は何本であっても同様に適用可能である。
【００８８】
本発明は、基本的に以上のようなものである。
以上、本発明の半導体集積回路について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【図面の簡単な説明】
【００８９】
【図１】本発明の半導体集積回路の構成を表す一実施形態の概略図である。
【図２】図１に示す動作認識回路の構成を表す回路図である。
【図３】図２に示す動作認識回路の動作を表すタイミングチャートである。
【図４】図１に示す同時動作本数認識回路の構成を表す回路図である。
【図５】図１に示す遅延回路の構成を表す回路図である。
【図６】図１に示す遅延値調整回路の動作を表すタイミングチャートである。
【図７】図１に示す遅延値調整回路の動作を表すタイミングチャートである。
【符号の説明】
【００９０】
１０  半導体集積回路
１２  遅延値調整回路
１４  同時動作認識回路
１６  遅延回路
１８  出力バッファ
２０  遅延調整回路
２２  動作認識回路
２４  同時動作本数認識回路
２５  バッファ
２６、３６  フリップフロップ（ＦＦ）
２８  ＯＲ回路
２９  ５周期Ｈ出力回路
３０  パラシリ変換回路
３２  シフトレジスタ
３４  ＡＮＤ回路
３８  ３ステートバッファ（３Ｓバッファ）
４０  トランスファゲート（ＴＧ）
【図１】
2008048170.tif 000004
【図２】
2008048170.tif 000005
【図３】
2008048170.tif 000006
【図４】
2008048170.tif 000007
【図５】
2008048170.tif 000008
【図６】
2008048170.tif 000009
【図７】
2008048170.tif 000010