(57)【要約】【課題】本発明の目的は、出力信号の出力タイミングを制御することで、外部から出力バッファに印加される信号と出力バッファの出力信号との衝突を防止することである。【解決手段】内部の出力制御信号をクロック信号でシフトさせてタイミングを生成する。生成したタイミングから任意のタイミングを選択し、そのタイミングで内部情報を出力することで出力信号の衝突を防止する。また、その機能を利用することで出力タイミングを任意に変更することができる。【選択図】    図１
2004228844.tif 000002
【特許請求の範囲】
【請求項１】
内部の情報信号を外部へ送出する出力バッファ部と、
内部の情報信号を前記出力バッファ部から外部へ送出する任意のタイミングを前記出力バッファ部へ与える出力タイミング生成部と
を具備する半導体集積回路。
【請求項２】
前記出力バッファ部は、入力状態と出力状態と非入力非出力状態とを切り換えて共通に使用する入出力端子に接続する請求項１に記載の半導体集積回路。
【請求項３】
前記出力バッファ部は、入力状態と出力状態とを切り換えて共通に使用する入出力端子に接続する請求項１に記載の半導体集積回路。
【請求項４】
前記出力バッファ部は、出力状態と非出力状態を切り換えて出力に使用する出力端子に接続する請求項１に記載の半導体集積回路。
【請求項５】
前記出力バッファ部は、常時出力状態である出力端子に接続する請求項１に記載の半導体集積回路。
【請求項６】
前記出力タイミング生成部は、
内部の情報信号が出力可能であることを示す原出力制御信号とタイミング生成の基準となるクロック信号とに基づいてタイミング信号を生成するタイミング部と、
前記タイミング部で生成したタイミング信号を組み合わせて出力タイミングを選択し、前記内部の情報信号を外部へ送出するタイミングとする出力制御信号を前記出力バッファ部へ出力する選択部と
を備える請求項１から請求項５のいずれかに記載の半導体集積回路。
【請求項７】
前記クロック信号は、外部回路から供給される請求項６に記載の半導体集積回路。
【請求項８】
前記クロック信号は、外部回路から供給されるクロック信号に同期する位相同期ループ回路によって生成されるクロック信号である請求項６に記載の半導体集積回路。
【請求項９】
前記クロック信号は、内部のシステムクロック回路から供給される請求項６に記載の半導体集積回路。
【請求項１０】
請求項７から請求項９のいずれかに記載の半導体集積回路において、前記クロック信号を任意の分周比で分周する分周回路によって分周した信号を出力タイミング生成部のクロック信号とする半導体集積回路。
【請求項１１】
前記タイミング部は、前記クロック信号で前記原出力制御信号をシフト操作するシフトレジスタを備える請求項６から請求項１０のいずれかに記載の半導体集積回路。
【請求項１２】
前記クロック信号は、信号の通過／不通過を制御できる回路を通して前記シフトレジスタに供給し、前記原出力制御信号が内部の情報信号が出力可能であることを示してから少なくとも前記シフトレジスタの最終段出力が出力し終わるまでの間供給されるように制御する請求項１１に記載の半導体集積回路。
【請求項１３】
前記選択部は、
前記タイミング部で生成したタイミング信号を用いて前記出力制御信号を生成する選択演算回路と、
前記選択演算回路に対してタイミングの選択を指示する選択信号を与える選択設定回路と
を備える請求項６から請求項１２のいずれかに記載の半導体集積回路。
【請求項１４】
前記選択設定回路は、設定状態を保持する記憶素子を備える請求項１３に記載の半導体集積回路。
【請求項１５】
前記選択設定回路は、入力バッファ回路を備え、外部回路より入力する信号によって前記選択信号を設定する請求項１３に記載の半導体集積回路。
【請求項１６】
前記選択演算回路は、プログラム可能な演算素子を備える請求項１３から請求項１５のいずれかに記載の半導体集積回路。
【請求項１７】
前記出力制御信号を外部へ出力する請求項６から請求項１６のいずれかに記載の半導体集積回路。
【請求項１８】
前記原出力制御信号を外部へ出力する請求項６から請求項１６のいずれかに記載の半導体集積回路。
【請求項１９】
前記出力制御信号と前記原出力信号とを外部へ出力する請求項６から請求項１６のいずれかに記載の半導体集積回路。
【請求項２０】
請求項６から請求項１９のいずれかに記載の半導体集積回路を接続する入出力インタフェース回路。
【請求項２１】
請求項６から請求項１９のいずれかに記載の半導体集積回路を接続するバス回路を有するシステム。
【請求項２２】
内部の情報信号を外部へ送出する出力バッファ部を備える半導体集積回路において、
前記内部の情報信号を前記出力バッファ部から外部へ送出する任意のタイミングを出力タイミング生成ステップによって制御する方法。
【請求項２３】
前記出力タイミング生成ステップは、
内部の情報信号が出力可能であることを示す原出力制御信号とタイミング生成の基準となるクロック信号とに基づいてタイミング信号を生成するタイミングステップと、
前記タイミングステップで生成したタイミング信号を組み合わせて出力タイミングを選択し、出力制御信号として前記出力バッファ部へ与える選択ステップと
を備える請求項２２に記載の出力タイミングを制御する方法。
【請求項２４】
前記クロック信号は、外部回路から供給されるクロック信号である請求項２３に記載の出力タイミングを制御する方法。
【請求項２５】
前記クロック信号は、外部回路から供給されるクロック信号に同期する位相同期ループ回路によって生成されるクロック信号である請求項２３に記載の出力タイミングを制御する方法。
【請求項２６】
前記クロック信号は、内部のシステムクロック回路から供給されるクロック信号である請求項２３に記載の出力タイミングを制御する方法。
【請求項２７】
請求項２４から請求項２６のいずれかに記載の出力タイミングを制御する方法において、前記クロック信号を任意の分周比で分周した信号を出力タイミング生成ステップのクロック信号とする出力タイミングを制御する方法。
【請求項２８】
前記タイミングステップは、前記クロック信号で前記原出力制御信号をシフト操作することでタイミングを生成するシフトステップを備える請求項２３から請求項２７のいずれかに記載の出力タイミングを制御する方法。
【請求項２９】
前記クロック信号は、信号の通過／不通過を制御する断続ステップを通して前記シフトステップに供給し、前記出力制御信号が内部の情報信号が出力可能であることを示してから少なくとも前記シフトステップの最終段ステップが完了するまでの間供給するように断続ステップを制御する請求項２８に記載の出力タイミングを制御する方法。
【請求項３０】
前記選択ステップは、
前記タイミングステップで生成したタイミング信号を用いて前記出力制御信号を生成する選択演算ステップと、
前記選択演算ステップに対してタイミングの選択を指示する選択信号を与える選択設定ステップと
を備える請求項２３から請求項２９のいずれかに記載の出力タイミングを制御する方法。
【請求項３１】
前記選択設定ステップは、情報記憶機能を持つ請求項３０に記載の出力タイミングを制御する方法。
【請求項３２】
前記選択設定ステップは、外部より入力する信号によって前記選択信号を設定する請求項３０に記載の出力タイミングを制御する方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路の入出力回路に関し、特に入出力信号のタイミングを制御する回路に関するものである。
【０００２】
【従来の技術】
電子回路のシステムでは、多数の集積回路が共通バス形式によって並列に接続され、互いに集積回路間の情報の送受信を行っている。このような構成では、バス上にデータを出力できる回路はただ１つに限定しなければならない。そのため、各回路は他の回路がバスを使用していない時間に出力を行うよう工夫している。一般的にバス上にデータを出力している回路が存在していることは、制御信号によって出力していない各回路に対して通知され、また、情報を出力すべき（しなければならない）回路は、その制御線による指示に従い出力を行うように動作している。つまり、制御線は、出力信号が他の回路と競合しないように出力のタイミングを示し、周辺の回路に対してそのタイミングに沿って動作することを求めている。ここで２回路が同時に出力した場合、一方の回路が高い電位の出力でもう一方の回路が低い電位の出力であったとすると、出力回路に短絡電流が流れることになり、電気的ダメージを受け、破壊に至る場合もある。また、明らかなバス使用の制限の無視ではなくても、それぞれの回路の出力を同時に切り換える等の切り換え時点は複数の回路の切替がそれぞれの内部処理によって多少の時間的な差異があり、出力の衝突が発生する可能性が高い。特に容量性の負荷が大きい回路が接続されているような場合は、信号切替が遅れて意図しない衝突が発生しやすい。このような問題の発生を未然に防ぐために種々の工夫がなされている。
【０００３】
外部電源によって、バス上の信号の安定化を図るものとして、特開２００１−１８６００５号公報（特許文献１）では、出力トライステートバッファとレベルシフタとの間に、外部電源で動作する出力制御回路からの制御信号で制御される回路を設置し、出力トライステートバッファを制御することで、システム上でのバス衝突や他回路の誤動作などの不具合を防止するという技術が知られていた。この技術は、入出力端子部において、入出力回路の外部回路側出力端子に接続された出力トライステートバッファとレベルシフタとの間に、２入力のＡＮＤ回路と２入力のＯＲ回路とを挿入し、それらＡＮＤ回路とＯＲ回路の各１入力に、外部電源で動作する出力制御回路からの制御信号を入力して、出力トライステートバッファの制御を行い、入出力回路の出力を確定させるというものである。
【０００４】
特開平４−２６０１５４号公報（特許文献２）では、複数の機能ブロック間でのデータ転送に際して、各機能ブロック間のデータ転送をタイムシェアリング方式で、共通の単一シリアルデータバスを介して行うことにより、ブロック間の入出力データ線や、このデータ線に対するインタフェースであるゲート回路の数を削減する技術が知られていた。この技術では、タイムスロット方式を採用し、各ブロックのデータの入出力タイミングをどのタイムスロットにて行うかを予め割り当てておき、この割当に応じて、各ブロック内の双方向ゲートをタイミング制御部によりオンオフ制御するため、データ相互の衝突を防止することができる。
【０００５】
特開平４−２０５８８８号公報（特許文献３）では、書込可能で外部データ入出力端子を共用する半導体記憶回路装置において、外部制御信号による書込動作設定時、読出データ遮断用のスイッチング回路によって、出力バッファの最終段と外部データ入出力端子とを非導通とすることで動作設定から書き込みデータ入力までの時間を短縮し、マージンのある書込動作を可能とする技術が知られていた。
【０００６】
試験評価用の回路で入出力回路を安定化するものとして、特開平３−１５２４８５号公報（特許文献４）では、双方向性入出力端子を持った集積回路のテストを行う半導体評価回路において、被測定集積回路から供給される双方向性入出力端子の入出力切替信号（情報）により評価装置側ドライバを集積回路に接続するか否かを決定するリレーのオン／オフを制御する制御回路を設けたもので、集積回路試験時に発生した双方向性入出力端子での信号の不定状態を最小限に抑えられる技術が知られていた。
【０００７】
【特許文献１】
特開２００１−１８６００５号公報
【特許文献２】
特開平４−２６０１５４号公報
【特許文献３】
特開平４−２０５８８８号公報
【特許文献４】
特開平３−１５２４８５号公報
【０００８】
【発明が解決しようとする課題】
本発明の目的は、外部から出力バッファに印加される信号と出力バッファの出力信号が衝突しないように出力バッファから出力される出力信号の出力タイミングを制御することで、出力信号同士の衝突が引き起こす信号レベル変動による誤動作を防止することである。
【０００９】
本発明の他の目的は、出力タイミングを任意に変更することが可能となるため、接続される外部回路に合致した出力タイミングで出力することによって、外部回路が各々持っていたタイミング生成用の回路を削減し、さらに回路削減による消費電力の削減を行うことである。
【００１０】
本発明の他の目的は、外部回路の変更によって生ずるタイミング変更がある場合にも、回路の変更を行わずタイミング設定の値を変更するだけで対処でき、変更に伴う変更設計の時間と既に生産した集積回路やその集積回路を搭載している装置などの生産物の損失を防止することである。
【００１１】
【課題を解決するための手段】
以下に、［発明の実施の形態］で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明の実施の形態］との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１２】
本発明の観点では、半導体集積回路は、出力バッファ部（１２／２１／３１）と出力タイミング生成部（１３／２２／３２）を備えている。出力バッファ部（１２／２１／３１）は、内部の情報信号を外部へ送出するインタフェース回路である。出力タイミング生成部（１３／２２／３２）は、内部の情報信号を出力バッファ部（１２／２１／３１）から外部へ送出するタイミングを出力バッファ部（１２／２１／３１）へ与える制御回路である。
【００１３】
本発明の半導体集積回路の出力バッファ部（１２）は、入出力端子（１０）に接続している。出力バッファ部（１２）の状態は、高低２レベルを出力する出力状態と、ハイインピーダンスの非出力状態のいずれかであり、入出力端子（１０）は、端子に印加される信号から情報信号を取り出す入力状態と、内部の情報信号を外部へ送出する出力状態と外部との情報の授受を行わない非入力非出力状態とを切り換えて共通に使用する。
【００１４】
本発明の半導体集積回路の出力バッファ部（１２）は、入出力端子（１０）に接続している。出力バッファ部（１２）の状態は、高低２レベルを出力する出力状態のみであり、入出力端子（１０）は、入出力端子（１０）を通して外部から情報信号を取り出す入力状態と、内部の情報信号を入出力端子（１０）を通して外部へ送出する出力状態とを切り換えて共通に使用する。外部との情報の授受を行わない場合、出力バッファ部（１２）は、外部の情報信号を入力可能なレベルの信号を出力している。オープンコレクタ型やオープンドレイン型の出力回路が該当する。オープンコレクタ型やオープンドレイン型の出力回路は、データ信号に対してＡＮＤまたはＯＲ演算し出力制御する。
【００１５】
本発明の半導体集積回路の出力バッファ部（２１／３１）は、出力端子（２０／３０）に接続している。出力バッファ部（２１／３１）の状態は、高低２レベルを出力する出力状態と、ハイインピーダンス状態の非出力状態のいずれかであり、出力端子（２０／３０）は、出力状態と非出力状態とを切り換えて共通に使用する。
【００１６】
本発明の半導体集積回路の出力バッファ部（２１／３１）は、出力端子（２０／３０）に接続している。出力バッファ部（２１／３１）の状態は、高低２レベルを出力する出力状態のみであり、出力端子（２０／３０）は、常時出力状態となる。内部の情報信号を外部へ出力しない場合、出力バッファ部（２１／３１）は、外部の情報信号を妨害しないレベルの信号を出力している。オープンコレクタ型やオープンドレイン型の出力回路が該当する。オープンコレクタ型やオープンドレイン型の出力回路は、データ信号に対してＡＮＤまたはＯＲ演算し出力制御する。
【００１７】
本発明の半導体集積回路の出力タイミング生成部（１３／２２／３２）は、タイミング部（１００）と選択部（２００）を備えている。タイミング部（１００）は、内部の情報信号が出力可能であることを示す原出力制御信号とタイミング生成の基準となるクロック信号を用いてタイミング信号を生成する。選択部（２００）は、タイミング部（１００）で生成したタイミング信号を組み合わせて内部の情報信号を外部へ送出するタイミングを選択する。選択したタイミングは、出力制御信号として出力バッファ部（１２／２１／３１）へ出力する。
【００１８】
本発明の半導体集積回路のタイミング生成を行う基準となるクロック信号は、外部回路（２４／３４）から供給されるクロック信号である。
【００１９】
また、本発明の半導体集積回路のタイミング生成を行う基準となるクロック信号は、外部回路（２４）から供給されるクロック信号に同期する位相同期ループ回路（２３）によって生成されるクロック信号である。
【００２０】
また、本発明の半導体集積回路のタイミング生成を行う基準となるクロック信号は、内部のシステムクロック回路（１４）から供給されるクロック信号である。
【００２１】
また、本発明の半導体集積回路のタイミング生成を行う基準となるクロック信号は、分周比を任意に設定できる分周回路（３３）によって、外部回路（３４）から供給されるクロック信号、または外部回路（２４）から供給されるクロック信号に同期する位相同期ループ回路（２３）によって生成されるクロック信号、または内部のシステムクロック回路（１４）から供給されるクロック信号のいずれかのクロック信号を分周した信号である。
【００２２】
本発明の半導体集積回路のタイミング部（１００）は、シフトレジスタ（１１０）を備えている。シフトレジスタ（１１０）は、前記クロック信号で原出力制御信号をシフト処理し、タイミング信号を生成する。
【００２３】
本発明の半導体集積回路のシフトレジスタ（１１０）に供給するクロック信号は、信号の通過／不通過を制御できる回路（１１５）を経て供給される。クロック信号が通過する期間は、原出力制御信号が内部の情報信号が出力可能であることを示してから少なくともシフトレジスタ（１１０）の最終段出力が出力し終わるまでの間である。
【００２４】
本発明の半導体集積回路の選択部（２００）は、選択設定回路（２１０／２４０）と選択演算回路（２２０／２３０）とを備える。選択設定回路（２１０／２４０）は、どのタイミングを選択するかを指示する選択信号を選択演算回路（２２０／２３０）に与える。選択演算回路（２２０／２３０）は、タイミング部（１００）で生成したタイミング信号のタイミングから選択設定回路（２１０／２４０）で設定した条件に従って選択し、出力制御信号を生成する。
【００２５】
本発明の半導体集積回路の選択設定回路（２１０）は、設定状態を保持する記憶素子（２１１）を備えている。
【００２６】
また、本発明の半導体集積回路の選択設定回路（２４０）は、入力バッファ回路（２４１〜２４４）を備え、外部回路（２５）より入力する信号によって選択信号を設定する。
【００２７】
本発明の半導体集積回路の選択演算回路（２３０）は、プログラム可能な演算素子（２３５）を備え、選択演算をプログラム可能とする。
【００２８】
本発明の半導体集積回路の出力タイミング生成部（１３／２２／３２）で生成した出力制御信号を外部へ出力する。
【００２９】
また、本発明の半導体集積回路の出力タイミング生成部（１３／２２／３２）へ入力する原出力制御信号を外部へ出力する。
【００３０】
また、本発明の半導体集積回路の出力タイミング生成部（１３／２２／３２）へ入力する原出力制御信号と生成した出力制御信号とを外部へ出力する。
【００３１】
本発明の半導体集積回路は、入出力インタフェース回路に使用される。
【００３２】
本発明の半導体集積回路は、バス回路に使用される。
【００３３】
本発明の観点では、出力タイミング生成ステップを備え、出力バッファ部（１２／２１／３１）の出力タイミングを制御する。出力タイミングを制御される出力バッファ部（１２／２１／３１）は、
１．入力状態と出力状態と非入力非出力状態とを切り換えて共通に使用する入出力端子に接続されている入出力回路。
２．入力状態と出力状態とを切り換えて共通に使用する入出力端子に接続されている入出力回路。
３．出力状態と非出力状態を切り換えて出力に使用する出力端子に接続する出力回路。
４．常時出力状態である出力端子に接続する出力回路。
のいずれかである。
【００３４】
本発明の出力タイミングを制御する方法において、出力タイミング生成ステップは、タイミングステップと選択ステップを備えている。タイミングステップは、内部の情報信号が出力可能であることを示す原出力制御信号とタイミング生成の基準となるクロック信号とに基づいてタイミング信号を生成する。選択ステップは、タイミングステップで生成したタイミング信号を組み合わせて出力タイミングを選択し、出力制御信号として出力バッファ部（１２／２１／３１）へ与える。
【００３５】
本発明の出力タイミングを制御する方法において、タイミング生成の基準となるクロック信号は、
１．外部回路（２４／３４）から供給されるクロック信号
２．外部回路（２４）から供給されるクロック信号に同期する位相同期ループ回路（２３）によって生成されるクロック信号
３．内部のシステムクロック回路（１４）から供給されるクロック信号
４．分周比を任意に設定できる分周回路（３３）によって上記１から３のクロック信号を分周した信号
のいずれかである。
【００３６】
本発明の出力タイミングを制御する方法において、タイミングステップは、シフトステップを備えている。シフトステップは、クロック信号で原出力制御信号をシフト処理し、タイミング信号を生成する。
【００３７】
本発明の出力タイミングを制御する方法において、シフトステップに供給するクロック信号は、信号の通過／不通過を制御する断続ステップを経て供給される。クロック信号が通過する期間は、原出力制御信号が内部の情報信号が出力可能であることを示してから、少なくともシフトステップの最終段ステップが完了するまでの間である。
【００３８】
本発明の出力タイミングを制御する方法において、選択ステップは、選択演算ステップと選択設定ステップを備えている。選択演算ステップは、タイミングステップで生成したタイミング信号を用いて前記出力制御信号を生成する。選択設定ステップは、選択演算ステップに対してタイミングの選択を指示する選択信号を与える。
【００３９】
本発明の出力タイミングを制御する方法において、選択設定ステップは情報記憶機能を持ち、設定状態を保持する。
【００４０】
本発明の出力タイミングを制御する方法において、選択設定ステップは、外部より入力する信号によって選択信号を設定する。
【００４１】
【発明の実施の形態】
（第１の実施の形態）
図１は本発明の第１の実施の形態に係わる半導体集積回路と外部回路の接続を示す構成ブロック図である。入出力端子１０は入力バッファ部１１と出力バッファ部１２に接続し、外部との接点である。出力タイミング生成部１３で生成した出力制御信号ＣＴＲＬは、出力バッファ部１２に接続し、出力状態を制御する。出力バッファ部１２に接続する出力信号ＯＵＴＰＵＴと、入力バッファ部１１に接続する入力信号ＩＮＰＵＴと、出力タイミング生成部１３に接続するクロック信号ＣＬＫおよび原出力制御信号ＰＲＣＴＲＬは、半導体集積回路の内部の信号である。半導体集積回路の外部には、外部回路１５と外部回路１６があり、それぞれの回路の入出力は入出力端子１０に接続されている。
【００４２】
入力バッファ部１１は、入出力端子１０を通して入力する外部の信号から情報を取り出し、入力信号ＩＮＰＵＴとして内部の回路に供給する。内部で生成された情報信号である出力信号ＯＵＴＰＵＴは、出力バッファ部１２へ入力し、出力バッファ部１２は、出力タイミング生成部１３が生成した出力のタイミングを示す出力制御信号ＣＴＲＬに従ってバッファを開き、入出力端子１０を通して内部情報を外部へ出力する。出力タイミング生成部１３は、内部情報が出力できる状態になったことを示す原出力制御信号ＰＲＣＴＲＬと、出力タイミングの基準となるクロック信号ＣＬＫとを用いて内部情報を外部へ出力するタイミングを決定する。決定したタイミングは出力制御信号ＣＴＲＬとして出力バッファ部１２へ送り、内部情報を外部へ出力させる。外部回路１５と外部回路１６は、それぞれ入出力端子１０へ情報を出力し、また、入出力端子１０からの情報を取り込む動作をしている。図２は、入力バッファ部１１、出力バッファ部１２の回路図の例である。
【００４３】
図３は、この入出力回路の動作の一例を示すタイミング図である。図３（ａ）に示されるようなクロック信号ＣＬＫは、本半導体集積回路内部の信号である。以降このクロック信号ＣＬＫを基準としてタイミングを説明するので、ＣＬＫ０〜２８というように番号を付け、図３（ａ）にはその数字部分を記載する。図３（ｂ）に示されるように外部回路１５は、ＣＬＫ１〜５の間は出力し、ＣＬＫ８〜１３の間は入力の動作をしている。外部回路１６は、ＣＬＫ１６〜２１の間は出力し、ＣＬＫ２４〜２７の間は入力している。一方、本発明による半導体集積回路の入出力はその逆の動作となるが、内部情報を出力できるようになるタイミングは、図３（ｃ）で示されるように原出力制御信号ＰＲＣＴＲＬがオン（Ｈレベル）の状態、即ちＣＬＫ６〜１３の間とＣＬＫ２０〜２７の間である。外部回路１５への出力は、原出力制御信号ＰＲＣＴＲＬをクロックで同期を取って出力するため、図３（ｄ）に示すように出力制御信号ＣＴＲＬをＣＬＫ７〜１３の間オン状態とする。外部回路１６に対しての出力も同じタイミングとすると、図３（ｄ）の実線で示すようなタイミング、即ちＣＬＫ２１〜２７で出力制御信号ＣＴＲＬがオンとなり、少なくともＣＬＫ２１の期間は外部回路１６の出力とバス上で衝突することになる。衝突を防止するためには、外部回路１６に対して出力する場合、出力するタイミングを変更する必要がある。即ち、外部回路１６に対して出力する場合、図３（ｄ）の点線のように出力制御信号ＣＴＲＬを外部回路１５に対する出力するタイミングに比較して２クロック分遅れて出力を開始するように変更しなければならない。
【００４４】
図３に示したような外部回路のタイミングに対処する実施例を示す。図４は、半導体集積回路の入出力回路の一構成例を示すブロック図である。入出力端子１０は、入力バッファ部１１と出力バッファ部１２に接続し、外部との接点である。出力タイミング生成部１３で生成した出力制御信号ＣＴＲＬは、出力バッファ部１２に接続し、出力状態を制御する。内部のシステムクロック回路１４は、クロック信号ＣＬＫを出力タイミング生成部１３に供給する。出力バッファ部１２に接続する出力信号ＯＵＴＰＵＴと、入力バッファ部１１に接続する入力信号ＩＮＰＵＴと、出力バッファ部１２および出力タイミング生成部１３に接続する原出力制御信号ＰＲＣＴＲＬは、半導体集積回路の内部の信号である。
【００４５】
入力バッファ部１１は、入出力端子１０を通して入力する外部の信号から情報を取り出し、入力信号ＩＮＰＵＴとして内部の回路に供給する。内部で生成された情報信号は、出力信号ＯＵＴＰＵＴとして出力バッファ部１２へ入力する。システムクロック回路１４は、内部動作のタイミング基準となるクロック信号を生成し、入出力に関するクロック信号ＣＬＫを出力タイミング生成部１３に供給する。出力タイミング生成部１３は、内部情報が出力できる状態になったことを示す原出力制御信号ＰＲＣＴＲＬと、出力タイミングの基準となるクロック信号ＣＬＫとを用いて内部情報を外部へ出力するタイミングを決定する。決定したタイミングは出力制御信号ＣＴＲＬとして出力バッファ部１２へ送る。出力バッファ部１２は、原出力制御信号ＰＲＣＴＲＬのタイミングを使って出力信号ＯＵＴＰＵＴを保持し、出力タイミング生成部１３で生成された出力のタイミングを示す出力制御信号ＣＴＲＬに従ってバッファを開き、入出力端子１０を通して保持している信号を外部へ出力する。
【００４６】
出力タイミング生成部１３と出力バッファ部１２の構成を図５に示す。出力タイミング生成部１３は、タイミング部１００と選択部２００とを備える。タイミング部１００は、フリップフロップ１１１〜１１４を備えた４段構成のシフトレジスタ１１０を有し、タイミング信号Ｑ１〜４を生成して選択部２００へ出力する。選択部２００は、レジスタ２１１を有する選択設定回路２１０と、ＯＲゲート２２１〜２２４とＡＮＤゲート２２５の組み合わせ回路になっている選択演算回路２２０とを備える。２入力のＯＲゲート２２１〜２２４は、それぞれ一方の入力を選択設定部２１０からの選択信号ＳＥＬ１〜４に、もう一方の入力をタイミング部１００からのタイミング信号Ｑ１〜４に接続し、それぞれの出力は全てＡＮＤゲート２２５の入力に接続する。ＡＮＤゲート２２５の出力は、出力制御信号ＣＴＲＬとして出力バッファ部１２へ出力する。出力バッファ部１２は、出力バッファ３００とフリップフロップ４００を備え、フリップフロップ４００は内部の出力信号ＯＵＴＰＵＴを原出力制御信号ＰＲＣＴＲＬのタイミングで保持し、その出力は出力制御信号ＣＴＲＬによって制御される出力バッファ３００を通して出力信号ＯＵＴとして出力する。
【００４７】
タイミング部１００において、シフトレジスタ１１０は、原出力制御信号ＰＲＣＴＲＬをクロック信号ＣＬＫによって順次シフトし、タイミング信号Ｑ１〜４を生成し、選択部２００へ出力する。選択部２００では、選択設定回路２１０のレジスタ２１１に設定してある選択信号ＳＥＬ１〜４に従って、タイミング部１００で生成したタイミング信号Ｑ１〜４を選択演算回路２２０で組み合わせて出力制御信号ＣＴＲＬを生成する。選択設定回路２１０のレジスタ２１１は、選択状態を保持できるものであれば、他の記憶素子でも、また、配線によって構成されてもよい。また、タイミング部１００のシフトレジスタ１１０は４段構成で図示しているが、遅延させる時間、クロック周期などによって段数を決定する。さらに、シフトレジスタの代わりにバイナリカウンタも使用できる。その場合、フリップフロップ段数が同一であれば、より長時間を対象にすることができるが、選択演算回路が複雑になることが多い。
【００４８】
一方、フリップフロップ４００は、出力信号ＯＵＴＰＵＴを少なくとも出力開始から出力完了するまで保持する。ここでは、原出力制御信号ＰＲＣＴＲＬを使って出力信号ＯＵＴＰＵＴを保持する構成としている。なお、出力信号は１本としているため、フリップフロップとしたが、データを保持できる回路であれば特に限定はしない。出力バッファ３００は、出力制御信号ＣＴＲＬで出力を制御しており、フリップフロップ４００で保持している出力信号を、選択部２００で生成した出力制御信号ＣＴＲＬに従って出力する。なお、出力していないときはハイインピーダンス状態（ＨｉＺ状態）になっている。
【００４９】
図６に示したタイミング図に沿って、出力タイミング生成部１３の動作を説明する。システムクロック回路１４で生成したクロック信号ＣＬＫは、図６（ａ）に示されるように出力タイミングの基準として用い、出力タイミング生成部１３へ入力する。図３とのタイミング関係を明確にするため、対応するタイミングに同じ番号をつけて示す。なお、図６（ａ）下段の番号は図３の前半部分のタイミング、上段の番号は図３の後半部分のタイミングに対応する。出力データの準備完了を示す原出力制御信号ＰＲＣＴＲＬは、図６（ｂ）に示すようにＣＬＫ５／１９の途中からＣＬＫ１３／２７の途中までの間有効を示すオン状態で出力タイミング生成部１３へ入力する。シフトレジスタ１１０は、クロック信号ＣＬＫに同期して原出力信号ＰＲＣＴＲＬをシフトしていく。シフトレジスタ１１０を構成するフリップフロップ１１１〜１１４の出力は、図６（ｃ）〜（ｆ）に示すようにタイミング信号Ｑ１〜４として選択部２００へ入力する。
【００５０】
選択部２００において、選択演算回路２２０は、ＯＲゲート２２１〜２２４でタイミング信号Ｑ１〜４を選択し、ＡＮＤゲート２２５で合成することによって出力制御信号ＣＴＲＬを生成する。タイミング信号Ｑ１〜４の選択は、選択設定部２１０のレジスタ２１１に設定してある選択信号ＳＥＬ１〜４によって行う。この選択部２００で選択できるタイミングは１１の状態があり、選択信号ＳＥＬ１〜４と選択できるタイミングの関係を図７に示す。それぞれの出力制御信号ＣＴＲＬのタイミングは、図６（ｇ）〜（ｐ）に示すようにタイミング１からタイミング１０の１０通りである。図７のタイミング０の場合、出力制御信号ＣＴＲＬは、出力なしの状態になる。選択設定回路２１０に選択信号ＳＥＬ１〜４の状態を設定することにより、必要な出力タイミングが得られることになる。図３前半の出力制御信号ＣＴＲＬのタイミングはＣＬＫ７〜１３であるから、図６（ｋ）タイミング５であり、選択設定回路２１０のレジスタ２１１には図７タイミング５に示すようにＳＥＬ１、２にはＬレベルを、ＳＥＬ３、４にはＨレベルを設定する。図３後半の出力制御信号ＣＴＲＬのタイミングは、ＣＬＫ２３〜ＣＬＫ２７であるから、図６（ｐ）タイミング１０であり、選択設定回路２１０のレジスタ２１１には図７タイミング１０に示すようにＳＥＬ１、４にはＬレベルを、ＳＥＬ２、３はＬまたはＨレベル（この回路では、どちらのレベルでも同じ出力が得られる）を設定する。このように選択設定回路２１０のレジスタ２１１の設定内容を切り替えることによって、外部回路１５および外部回路１６の入出力タイミングに合致したタイミングが得られることになる。
【００５１】
タイミング部１００のシフトレジスタ１１０は、常時クロック信号ＣＬＫが入力しているために常時動作状態となっており、無駄な動作（電力を消費）をしていることになる。シフトレジスタ１１０の動作が必要な期間は、原出力制御信号ＰＲＣＴＲＬが変化する前後であることから、原出力制御信号ＰＲＣＴＲＬの変化する前後の必要な期間のみクロック信号ＣＬＫを供給し、シフトレジスタを動作させることが消費電力削減、雑音低減の観点から望ましい。
【００５２】
図８は、クロック供給を必要な期間に限定する回路の一例である。シフトレジスタ１１０の周辺に、ＡＮＤゲート１１５と、ＯＲゲート１１６を追加したものである。ＯＲゲート１１６は、シフトレジスタの出力Ｑ１〜４と原出力制御信号ＰＲＣＴＲＬを入力し、出力をクロック制御信号ＣＬＫＧＡＴＥとしてＡＮＤゲート１１５の入力に接続する。クロック信号ＣＬＫとクロック制御信号ＣＬＫＧＡＴＥを入力したＡＮＤゲート１１５の出力は、シフトレジスタ１１０のクロック入力に接続する。
【００５３】
ＯＲゲート１１６は、シフト動作を行わなければならない期間の開始を原出力制御信号ＰＲＣＴＲＬで、シフト動作中をシフトレジスタ１１０の出力Ｑ１〜４で識別するためにそれらの信号を入力し、全ての信号が無くなるまでをクロック供給の期間としてクロック制御信号ＣＬＫＧＡＴＥを生成する。ＡＮＤゲート１１５は、クロック制御信号ＣＬＫＧＡＴＥによってクロック信号ＣＬＫを断続することで必要な期間だけ供給されるクロック信号ＣＬＫ’を生成し、シフトレジスタ１１０に供給する。
【００５４】
図９にクロック信号を供給制限する回路のタイミング図を示す。図９（ａ）に示すようにタイミング部１００に入力のクロック信号ＣＬＫは、ＡＮＤゲート１１５において、図９（ｇ）で示されるようなクロック制御信号ＣＬＫＧＡＴＥで制御される。図９（ｂ）で示されるような原出力制御信号ＰＲＣＴＲＬが出力準備完了を示していない時（〜ＣＬＫ４）、シフトレジスタ１１０に供給されるクロック信号ＣＬＫ’（図９（ｈ））は、断の状態になっている。原出力信号ＰＲＣＴＲＬが出力準備完了を示すと（ＣＬＫ５〜１３）、ＯＲゲート１１６の出力がオン、即ち、クロック制御信号ＣＬＫＧＡＴＥ（図９（ｇ））は通過状態となり、図９（ｈ）に示すようなクロック信号ＣＬＫ’として、シフトレジスタ１１０にクロックを供給する。クロック信号ＣＬＫ’が供給されるとシフトレジスタ１１０は、シフト動作を行い、その出力Ｑ１〜４（図９（ｃ）〜（ｆ））に順次出力が現れる（ＣＬＫ６〜９）。原出力制御信号ＰＲＣＴＲＬが終了すると、シフトレジスタ１１０の出力Ｑ１〜４も順次オフ状態になっていく（ＣＬＫ１４〜１７）。シフトレジスタ１１０の出力Ｑ４のタイミングが、タイミング部で生成できる最後のタイミングであり、この出力Ｑ４がオフになるまでクロックが供給されていればよいので、原出力制御信号ＰＲＣＴＲＬとシフトレジスタの出力Ｑ１〜４の論理和であるＯＲゲート１１６の出力、即ちクロック制御信号ＣＬＫＧＡＴＥは、出力Ｑ４がオフになる（ＣＬＫ１７の始め）までオン状態で、その後オフになる。以上により、シフトレジスタ１１０に与えるクロックＣＬＫ’は、必要な期間のみ供給されることになる。なお、この回路例では、ＯＲゲート１１６にシフトレジスタ１１０の出力Ｑ１〜４が入力されているが、図９のタイミングでは、出力Ｑ１〜３のタイミングは無くてもよい。シフトレジスタの段数、入力するクロックの周期、原出力制御信号の時間長、論理演算素子の種類などから使用する信号を決定する方がよりよい。
【００５５】
（第２の実施の形態）
図１０は本発明の第２の実施の形態に係わる半導体集積回路の出力回路部分の構成ブロックを示す図である。出力回路は、出力バッファ部２１と出力タイミング生成部２２を備え、出力バッファ部２１の出力ＯＵＴは、出力端子２０から外部へ送出される。出力タイミング生成部２２に供給するクロック信号ＣＬＫは、外部クロック回路２４によって生成された外部クロック信号ＥＸＴを位相同期ループ回路２３で処理した信号である。外部の制御回路２５は、切替信号ＳＷを生成し、切替信号ＳＷは出力タイミング生成部２２に入力する。出力制御信号ＣＴＲＬは、出力タイミング生成部２２で生成される信号であり、出力バッファ部２１に接続する。出力信号ＯＵＴＰＵＴおよび原出力制御信号ＰＲＣＴＲＬは、半導体集積回路の内部の信号で、出力信号ＯＵＴＰＵＴは出力バッファ部２１に、原出力制御信号ＰＲＣＴＲＬは、出力バッファ部２１と出力タイミング生成部２２に入力する。
【００５６】
位相同期ループ回路２３は、外部クロック回路２４で生成した外部クロック信号ＥＸＴを入力し、外部クロックＥＸＴに同期したクロック信号ＣＬＫを生成し、出力タイミング生成部２２へ供給する。位相同期ループ回路２３は、外部クロック信号ＥＸＴと同期をとりながら周期の異なる内部クロックＣＬＫを発生するものであり、外部クロックＥＸＴがそのまま使用できるものであれば位相同期ループ回路２３なしに出力タイミング生成部２２に供給しても構わない。出力タイミング生成部２２は、内部情報が出力できる状態になったことを示す原出力制御信号ＰＲＣＴＲＬと、クロック信号ＣＬＫとでタイミング信号を生成する。出力タイミング生成部２２は、生成したタイミング信号を組み合わせて外部制御回路２５から与えられる切替信号ＳＷによって指定されるタイミングの信号を生成し、出力制御信号ＣＴＲＬとして出力バッファ部２１に与える。出力バッファ部２１は、原出力制御信号ＰＲＣＴＲＬのタイミングを使って出力信号ＯＵＴＰＵＴを保持し、出力制御信号ＣＴＲＬに従ってバッファを開き、保持している信号を出力信号ＯＵＴとして出力端子２０を通して外部へ出力する。
【００５７】
図１１に出力タイミング生成部２２と出力バッファ部２１の構成の一例を示す。出力タイミング生成部２２は、タイミング部１００と選択部２００を備え、タイミング部１００で生成したタイミング信号Ｑ１〜４を選択部２００へ出力する。タイミング部１００は、フリップフロップ１１１〜１１４を備えた４段構成のシフトレジスタ１１０を有している。選択部２００は、入力バッファ２４１〜２４４を有する選択設定回路２４０と、ゲート回路２２１〜２２５を有する選択演算回路２２０とを備えている。入力バッファ２４１〜２４４は、外部制御回路２５からの切替信号ＳＷを入力する。この例では、切替信号ＳＷは４本であるため、入力バッファ２４１〜２４４に入力する信号をそれぞれ切替信号ＳＷ１〜４とする。入力バッファ２４１〜２４４の出力は、選択信号ＳＥＬ１〜４として選択演算部２２０へ出力する。選択演算部２２０のＯＲゲート２２１〜２２４は、２入力であり、それぞれ一方の入力を選択設定部２４０からの選択信号ＳＥＬ１〜４に、もう一方の入力をタイミング部１００からのタイミング信号Ｑ１〜４に接続し、それぞれの出力は全てＡＮＤゲート２２５の入力に接続する。ＡＮＤゲート２２５の出力は、出力制御信号ＣＴＲＬとして出力バッファ部２１へ出力する。出力バッファ部２１は、出力バッファ３００とフリップフロップ４００を備え、フリップフロップ４００は内部の出力信号ＯＵＴＰＵＴを原出力制御信号ＰＲＣＴＲＬのタイミングで保持し、その出力は出力制御信号ＣＴＲＬによって制御される出力バッファ３００を通して出力信号ＯＵＴとして出力する。
【００５８】
位相同期ループ回路２３は、外部クロック信号ＥＸＴに同期した内部のクロック信号ＣＬＫを生成する。タイミング部１００は、原出力制御信号ＰＲＣＴＲＬと位相同期ループ回路２３が生成したクロック信号ＣＬＫからシフトレジスタ１１０によってタイミング信号Ｑ１〜４を生成する。選択設定回路２４０は、外部制御回路２５から入力した切替信号ＳＷ（ＳＷ１〜４）を入力バッファ２４１〜２４４によって取り込み、選択信号ＳＥＬ１〜４として選択演算部２２０へ出力する。ここでは、切替信号ＳＷ１はＬレベル（オフ）状態、切替信号ＳＷ２と切替信号ＳＷ４はＨレベル（オン）状態で固定されていて、変化する信号は切替信号ＳＷ３である。選択演算回路２２０は、タイミング部１００で生成したタイミング信号Ｑ１〜４を組み合わせてタイミングを生成し、選択設定回路２４０から出力された選択信号ＳＥＬ１〜４によって指定されたタイミングを選択して出力制御信号ＣＴＲＬを生成する。一方、フリップフロップ４００は、原出力制御信号ＰＲＣＴＲＬのタイミングで出力信号ＯＵＴＰＵＴを取り込み、出力完了するまで保持する。出力バッファ３００は、出力制御信号ＣＴＲＬで出力を制御しており、フリップフロップ４００で保持している出力信号を、選択部２００で生成した出力制御信号ＣＴＲＬに従って出力する。
【００５９】
図１２は、この出力回路の動作の一例を示すタイミング図である。本回路が出力するタイミングは、外部クロック信号ＥＸＴのＬレベルの期間に同期しなければならない場合と非同期でもよい場合があり、切替信号ＳＷによって制御する。切替信号ＳＷのうち変化する信号は切替信号ＳＷ３のみであり、図１２（ａ）に示すように切替信号ＳＷ３がＬ（オフ）レベルのときは、外部クロック信号ＥＸＴのＬレベルの期間に同期し、Ｈ（オン）レベルのときは、外部クロック信号ＥＸＴに非同期となることが求められている。図１２（ｃ）に示されるようなクロック信号ＣＬＫは、位相同期ループ回路２３で生成しているため、図１２（ｂ）に示されるような外部クロック信号ＥＸＴに同期している。このクロック信号ＣＬＫに番号を付けてタイミングの説明を行う。出力する情報も外部クロック信号ＥＸＴに同期して生成され、その状態を示す原出力制御信号ＰＲＣＴＲＬは、図１２（ｄ）に示されるようにＣＬＫ３〜９、ＣＬＫ１９〜２５において生成され、オン状態になる。ＣＬＫ３〜９の区間では切替信号ＳＷ３はオンであるため、出力制御信号ＣＴＲＬは、原出力制御信号ＰＲＣＴＲＬを内部のクロック信号で同期させた図１２（ｆ）に示すようなタイミングＱ１（ＣＬＫ４〜９）で生成する。ＣＬＫ１９〜２５の区間では、切替信号ＳＷ３はオフであり、外部クロック信号ＥＸＴのＬレベル（ＣＬＫ２２〜２５）に同期しなければならない。これは非同期時に比較して２クロック遅延し、出力期間も２クロック短縮された状態であり、出力制御信号ＣＴＲＬは、図１２（ｅ）の後半に示されるような信号（ＣＬＫ２２〜２５）としなければならない。図１２（ｈ）に示されるようなタイミングＱ３で始まり、図１２（ｆ）に示されるようなタイミングＱ１で終了するようにタイミングＱ３とタイミングＱ１を用いてタイミングを生成する。ところで、選択演算回路２２０は、図５に示した選択演算回路２２０と同じであり、生成される出力制御信号ＣＴＲＬのタイミングと選択信号ＳＥＬ１〜４の関係は、図７となる。よって、図１２（ｅ）のＣＬＫ４〜９のタイミングは図７タイミング１の状態（ＳＥＬ１＝Ｌ、ＳＥＬ２＝Ｈ、ＳＥＬ３＝Ｈ、ＳＥＬ４＝Ｈ）、ＣＬＫ２２〜２５のタイミングは図７タイミング８の状態（ＳＥＬ１＝Ｌ、ＳＥＬ２はどちらのレベルでもよい、ＳＥＬ３＝Ｌ、ＳＥＬ４＝Ｈ）を選択信号に設定すればよいことになる。図１１の切替信号ＳＷは、ＳＷ１＝Ｌ、ＳＷ２＝Ｈ、ＳＷ４＝Ｈにそれぞれ固定され、ＳＷ３はＨレベルとＬレベルを切り替えとなっている。即ち、選択設定回路２４０は、切替信号ＳＷを取り込み、ＳＷ３がＨレベルの場合は図７タイミング１の状態（ＳＥＬ１＝Ｌ、ＳＥＬ２＝Ｈ、ＳＥＬ３＝Ｈ、ＳＥＬ４＝Ｈ）を選択し、ＳＷ３がＬレベルの場合は図７タイミング８の状態（ＳＥＬ１＝Ｌ、ＳＥＬ２はどちらのレベルでもよいのでＨとする、ＳＥＬ３＝Ｌ、ＳＥＬ４＝Ｈ）を選択する。外部制御回路からの切替信号ＳＷによって期待されるタイミングで出力できることになる。
【００６０】
（第３の実施の形態）
図１３は本発明の第３の実施の形態に係わる半導体集積回路の出力回路部分の構成ブロックを示す図である。出力回路は、出力バッファ部３１と出力タイミング生成部３２を備え、出力バッファ部３１の出力ＯＵＴは、出力端子３０から外部へ送出される。出力タイミング生成部３２に供給するクロック信号ＣＬＫは、外部クロック回路３４によって生成された外部クロック信号ＥＸＴを分周回路３３で分周した信号である。出力制御信号ＣＴＲＬは、出力タイミング生成部３２で生成される信号であり、出力バッファ部３１に接続する。出力信号ＯＵＴＰＵＴおよび原出力制御信号ＰＲＣＴＲＬは、半導体集積回路の内部の信号で、出力信号ＯＵＴＰＵＴは出力バッファ部３１に、原出力制御信号ＰＲＣＴＲＬは出力バッファ部３１と出力タイミング生成部３２に入力する。
【００６１】
分周回路３３は、外部から供給されるクロック信号ＥＸＴを入力し、設定されている分周比で分周したクロック信号ＣＬＫを生成し、出力タイミング生成部３２へ供給する。出力タイミング生成部３２は、内部情報が出力できる状態になったことを示す原出力制御信号ＰＲＣＴＲＬと、クロック信号ＣＬＫとでタイミング信号を生成する。出力タイミング生成部３２は、生成したタイミング信号を組み合わせて指定されるタイミングの信号を生成し、出力制御信号ＣＴＲＬとして出力バッファ部３１に与える。出力バッファ部３１は、原出力制御信号ＰＲＣＴＲＬのタイミングを使って出力信号ＯＵＴＰＵＴを保持し、出力制御信号ＣＴＲＬに従ってバッファを開き、保持している信号を出力信号ＯＵＴとして出力端子３０を通して外部へ出力する。
【００６２】
図１４に出力タイミング生成部３２と出力バッファ部３１の構成の一例を示す。出力タイミング生成部３２は、タイミング部１００と選択部２００を備え、タイミング部１００で生成したタイミング信号Ｑ１〜４を選択部２００へ出力する。タイミング部１００は、フリップフロップ１１１〜１１４を備えた４段構成のシフトレジスタ１１０を有し、タイミング信号Ｑ１〜４を生成して選択部２００へ出力する。選択部２００は、レジスタ２１１を備える選択設定回路２１０と、選択演算回路２３０を有している。また、出力バッファ部３１は、出力バッファ３００とフリップフロップ４００を備え、フリップフロップ４００は内部の出力信号ＯＵＴＰＵＴを原出力制御信号ＰＲＣＴＲＬのタイミングで保持し、その出力は出力制御信号ＣＴＲＬによって制御される出力バッファ３００を通して出力信号ＯＵＴとして出力する。
【００６３】
外部クロック信号ＥＸＴは、分周回路３３で設定された分周比で分周され、クロック信号ＣＬＫとして出力タイミング生成部３２のタイミング部１００に入力する。タイミング部１００において、シフトレジスタ１１０は、原出力制御信号ＰＲＣＴＲＬをクロック信号ＣＬＫによって順次シフトし、タイミング信号Ｑ１〜４を生成し、選択部２００へ出力する。選択部２００では、選択設定回路２１０のレジスタ２１１に設定してある選択信号ＳＥＬ１〜４に従って、タイミング部１００で生成したタイミング信号Ｑ１〜４を選択演算回路２３０で組み合わせて出力制御信号ＣＴＲＬを生成する。一方、フリップフロップ４００は、原出力制御信号ＰＲＣＴＲＬのタイミングで出力信号ＯＵＴＰＵＴを取り込み、出力完了するまで保持する。出力バッファ３００は、出力制御信号ＣＴＲＬで出力を制御しており、フリップフロップ４００で保持している出力信号を、選択部２００で生成した出力制御信号ＣＴＲＬに従って出力する。
【００６４】
図１５に示すタイミング図に従って出力タイミング生成部３２の動作を説明する。本回路は、出力するタイミングをクロック信号ＣＬＫの周期をもとに任意の時間だけ遅延させるものである。分周回路３３は、図１５（ａ）に示されるような外部クロック信号ＥＸＴを４分周したクロック信号ＣＬＫを生成し（図１５（ｂ））、タイミング部１００のシフトレジスタ１１０へ与える。シフトレジスタ１１０は、図１５（ｃ）に示されるような原出力制御信号ＰＲＣＴＲＬをクロック信号ＣＬＫでシフトさせて図１５（ｄ）〜（ｇ）に示されるようなタイミング信号Ｑ１〜４を生成する。選択演算回路２３０は、タイミング信号Ｑ１〜４を組み合わせて図１５（ｈ）〜（ｎ）に示されるようなＮｏ１〜７の出力タイミングを生成する。選択設定回路２１０は、レジスタ２１１に出力タイミングを選択する情報を保持しており、レジスタ２１１の出力ＳＥＬ１〜４は、選択信号として選択演算回路２３０において出力タイミングＮｏ１〜７を選択する。選択信号ＳＥＬ１〜４と選択される出力タイミングＮｏ１〜７とは、図１６に示す関係にある。なお、図１４、図１５の例では、シフトレジスタ１１０は４段構成のため生成できるタイミングは７通りとなり、選択設定回路２１０のレジスタ２１１は、３出力（ＳＥＬ１〜３）しか使用していない。使用する状況によってタイミング部１００のシフトレジスタ１１０の段数、選択設定回路２１０のレジスタ２１１の大きさを決めるとよい。選択されたタイミングは出力制御信号ＣＴＲＬとして出力バッファ３００を制御し、指定されたタイミングで出力が得られることになる。
【００６５】
図１５（ｈ）〜（ｎ）に示されるような出力タイミングＮｏ１〜７を生成する選択演算回路２３０は、組み合わせ回路で実現する場合、例えば図１７に示すような回路となる。タイミングを選択する信号を生成するデコーダ回路２３１と、タイミング生成のためのゲート回路２３２ａ〜ｄ、２３３ａ〜ｇ、２３４とを用いる。タイミング信号Ｑ１〜４は、それぞれの持つタイミングを引き出すため、直接或いはＮＯＴゲート２３２ａ〜ｄを通してＡＮＤゲートに接続する。タイミング信号Ｑ１はＮＯＴゲート２３２ａとＡＮＤゲート２３３ａと２３３ｄに、タイミング信号Ｑ２はＮＯＴゲート２３２ｂとＡＮＤゲート２３３ｂと２３３ｅに、タイミング信号Ｑ３はＮＯＴゲート２３２ｃとＡＮＤゲート２３３ｃと２３３ｆに、タイミング信号Ｑ４はＮＯＴゲート２３２ｄとＡＮＤゲート２３３ｄと２３３ｇに接続する。ＮＯＴゲート２３２ａの出力は、ＡＮＤゲート２３３ｅに接続する。ＮＯＴゲート２３２ｂの出力は、ＡＮＤゲート２３３ａとＡＮＤゲート２３３ｆに接続する。ＮＯＴゲート２３２ｃの出力は、ＡＮＤゲート２３３ｂとＡＮＤゲート２３３ｇに接続する。ＮＯＴゲート２３２ｄの出力は、ＡＮＤゲート２３３ｃに接続する。選択信号ＳＥＬ１〜３は、デコーダ回路２３１に入力し、７種のタイミングを選択する信号を生成し、それぞれＡＮＤゲート２３３ａ〜２３３ｇに入力する。ＯＲゲート２３４は、ＡＮＤゲート２３３ａ〜ｇで選択したタイミング信号を合成し、出力制御信号ＣＴＲＬを生成する。
【００６６】
また、図１８に示すようにプログラム可能な演算素子を用いるとタイミング生成に柔軟に対応できる。プログラム可能な演算素子として、ＡＮＤ演算アレイとＯＲ演算アレイが接続されている演算回路を用いると、論理式をそのまま適用できる。このタイミングを生成する出力制御信号ＣＴＲＬの論理式は、論理否定した信号名を信号名の後にｎを付加して表すと、
ＣＴＲＬ＝Ｑ１・Ｑ２ｎ・ＳＥＬ１・ＳＥＬ２ｎ・ＳＥＬ３ｎ
＋Ｑ２・Ｑ３ｎ・ＳＥＬ１ｎ・ＳＥＬ２・ＳＥＬ３ｎ
＋Ｑ３・Ｑ４ｎ・ＳＥＬ１・ＳＥＬ２・ＳＥＬ３ｎ
＋Ｑ４・Ｑ１・ＳＥＬ１ｎ・ＳＥＬ２ｎ・ＳＥＬ３
＋Ｑ１ｎ・Ｑ２・ＳＥＬ１・ＳＥＬ２ｎ・ＳＥＬ３
＋Ｑ２ｎ・Ｑ３・ＳＥＬ１ｎ・ＳＥＬ２・ＳＥＬ３
＋Ｑ３ｎ・Ｑ４・ＳＥＬ１・ＳＥＬ２・ＳＥＬ３
となる。
【００６７】
また、タイミング信号Ｑ１〜４と選択信号ＳＥＬ１〜４をアドレス情報としてみると、メモリアレイでもよいことが解る。データとしてそのアドレスに対応する出力制御信号ＣＴＲＬの状態を書き込んでおけばよい。ＲＡＭやフラッシュメモリのように書き換えが可能なメモリ素子を用いると動作中にも論理変更が可能となり、より柔軟な対応が可能となる。以上のようにして生成した出力制御信号を用いることによって出力するタイミングを任意の時間だけ遅延させることができるようになる。
【００６８】
（第４の実施の形態）
図１９は本発明の第４の実施の形態に係わる半導体集積回路を使用した回路例を示す図である。本発明の半導体集積回路７００と出力回路７１１を有する半導体集積回路７１０と入力回路７２１を有する半導体集積回路７２０がバスによって接続されている。半導体集積回路７００は、出力タイミング生成部７０２と、出力バッファ部７０１を有しており、出力するデータの準備が完了したことを示す原出力制御信号ＰＲＣＴＲＬは出力バッファ部７０１と出力タイミング生成部７０２に入力するとともに半導体集積回路７１０へ出力される。出力タイミング生成部７０２で生成された出力制御信号ＣＴＲＬは半導体集積回路７２０へそれぞれ接続されている。
【００６９】
半導体集積回路７００は、出力するデータの準備が完了すると、原出力制御信号ＰＲＣＴＲＬを生成し、出力バッファ部７０１と出力タイミング生成部７０２に入力するとともに、半導体集積回路７１０へ出力する。原出力制御信号ＰＲＣＴＲＬが入力した出力タイミング生成部７０２は、指定された遅延時間後に出力するようにタイミングを生成し、出力制御信号ＣＴＲＬを出力バッファ部７０１へ出力する。出力バッファ部７０１は、出力信号ＯＵＴ０を出力制御信号ＣＴＲＬの制御によって指定された遅延時間後、出力信号ＯＵＴ１としてバスへ出力する。半導体集積回路７１０は、独自のタイミングで出力回路７１１を通して出力信号ＯＵＴ２を出力している。半導体集積回路７１０は、出力信号ＯＵＴ２を出力中に半導体集積回路７００からの出力制御信号ＣＴＲＬがあると、一定時間後に出力を中止するように制御している。半導体集積回路７２０は、入力回路７２１を通してバス上の信号から入力を得ており、半導体集積回路７００の出力信号ＯＵＴ１がバスに出力されたことは出力制御信号ＣＴＲＬによって認知でき、バスからデータを取り込む。
【００７０】
図２０のタイミング図に従って動作例を示す。半導体集積回路７００は、内部の情報が出力できる状態になったときに図２０（ａ）に示されるように原出力制御信号ＰＲＣＴＲＬを生成し、出力バッファ部７０１と出力タイミング生成部７０２に入力するとともに、半導体集積回路７１０へ通知する。出力バッファ部７０１は、出力信号ＯＵＴ０を出力が完了するまで保持し、出力タイミング生成部７０２は、出力するためのタイミングを生成する。半導体集積回路７１０は、図２０（ｄ）で示されるように出力信号ＯＵＴ２を出力中であったため、半導体集積回路７００の原出力制御信号ＰＲＣＴＲＬによる出力の抑制情報を受け取るとそれまで出力していた出力信号ＯＵＴ２を出力回路７１１で制御し、出力を終了する。このとき出力が終了するまで若干のタイムラグが発生する。半導体集積回路７００は、図２０（ｂ）に示されるように出力タイミング生成部７０２で半導体集積回路７１０が出力を終了するまでのタイムラグを想定した時間だけ出力信号ＯＵＴ０を遅延させる出力制御信号ＣＴＲＬを生成する。タイムラグを吸収した出力制御信号ＣＴＲＬによって出力バッファ部７０１は、図２０（ｃ）に示されるように遅延させた出力信号ＯＵＴ１をバスに出力する。半導体集積回路７２０の入力回路７２１には、図２０（ｅ）に示されるように半導体集積回路７１０の出力の後に半導体集積回路７００の出力がバスから入力されている。半導体集積回路７２０は、半導体集積回路７００から出力された出力制御信号ＣＴＲＬによって半導体集積回路７００がバス上にデータを出力したことを確認し、入力回路７２１によってバス上からデータを取り込ことができる。以上のようにバス上での出力同士の衝突を防止した入出力が可能となる。
【００７１】
【発明の効果】
本発明の実施により、外部から出力バッファに印加される信号と出力バッファの出力信号が衝突しないように出力バッファから出力される出力信号の出力タイミングを制御することができ、出力信号同士の衝突が引き起こす信号レベル変動による誤動作を防止することができる。
【００７２】
また、本発明の実施により、出力タイミングを任意に変更することが可能となるため、接続される外部回路に合致した出力タイミングで出力することができ、外部回路が各々持っていたタイミング生成用の回路を削減し、さらに回路削減による消費電力の削減が可能となる。
【００７３】
さらに、本発明の実施により、外部回路の変更によって生ずるタイミング変更がある場合にも、回路の変更を行わずタイミング設定の値を変更するだけで対処でき、変更に伴う変更設計の時間と既に生産した集積回路やその集積回路を搭載している装置などの生産物の損失を防止することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る半導体集積回路の入出力回路の構成を示す図である。
【図２】同入出力回路の入力バッファ部、出力バッファ部の回路図である。
【図３】同入出力回路の動作を示すタイミング図である。
【図４】同入出力回路の構成を示す図である。
【図５】同入出力回路の出力タイミング生成部と出力バッファ部の構成を示す図である。
【図６】同入出力回路の出力タイミング生成部の動作を示すタイミング図である。
【図７】同入出力回路の選択信号とタイミングの関係を示す表である。
【図８】同入出力回路の出力タイミング生成部のクロック制御を示す回路例である。
【図９】同入出力回路の出力タイミング生成部のクロック制御を示すタイミング図である。
【図１０】本発明の第２の実施の形態に係る半導体集積回路の出力回路の構成を示す図である。
【図１１】同出力回路の出力タイミング生成部と出力バッファ部の構成を示す図である。
【図１２】同出力回路の出力タイミング生成部の動作を示すタイミング図である。
【図１３】本発明の第３の実施の形態に係る半導体集積回路の出力回路の構成を示す図である。
【図１４】同出力回路の出力タイミング生成部と出力バッファ部の構成を示す図である。
【図１５】同出力回路の出力タイミング生成部の動作を示すタイミング図である。
【図１６】同出力回路の選択信号とタイミングの関係を示す表である。
【図１７】同出力回路の選択演算回路例を示す回路図である。
【図１８】同出力回路の選択演算回路例を示す図である。
【図１９】本発明の第４の実施の形態に係る半導体集積回路を使用した回路例を示す図である。
【図２０】同回路例の動作を示すタイミング図である。
【符号の説明】
１０  入出力端子
１１  入力バッファ部
１２  出力バッファ部
１３  出力タイミング生成部
１４  システムクロック回路
１５  外部回路
１６  外部回路
２０  出力端子
２１  出力バッファ部
２２  出力タイミング生成部
２３  位相同期ループ回路
２４  外部クロック回路
２５  外部制御回路
３０  出力端子
３１  出力バッファ部
３２  出力タイミング生成部
３３  分周回路
３４  外部クロック回路
１００  タイミング部
１１０  シフトレジスタ
１１１〜１１４  フリップフロップ
１１５〜１１６  ゲート回路
２００  選択部
２１０  選択設定回路
２１１  レジスタ
２２０  選択演算回路
２２１〜２２５  ゲート回路
２３０  選択演算回路
２３１  デコーダ回路
２３２ａ〜ｄ、２３３ａ〜ｇ、２３４  ゲート回路
２３５  プログラム可能な演算素子
２４０  選択設定回路
２４１〜２４４  入力バッファ
３００  出力バッファ
４００  フリップフロップ
７００  本発明の半導体集積回路
７０１  出力バッファ部
７０２  出力タイミング生成部
７１０  出力回路を有する半導体集積回路
７１１  出力回路
７２０  入力回路を有する半導体集積回路
７２１  入力回路
【図１】
2004228844.tif 000003
【図２】
2004228844.tif 000004
【図３】
2004228844.tif 000005
【図４】
2004228844.tif 000006
【図５】
2004228844.tif 000007
【図６】
2004228844.tif 000008
【図７】
2004228844.tif 000009
【図８】
2004228844.tif 000010
【図９】
2004228844.tif 000011
【図１０】
2004228844.tif 000012
【図１１】
2004228844.tif 000013
【図１２】
2004228844.tif 000014
【図１３】
2004228844.tif 000015
【図１４】
2004228844.tif 000016
【図１５】
2004228844.tif 000017
【図１６】
2004228844.tif 000018
【図１７】
2004228844.tif 000019
【図１８】
2004228844.tif 000020
【図１９】
2004228844.tif 000021
【図２０】
2004228844.tif 000022