(57)【特許請求の範囲】
【請求項１】
システムクロックの１周期を越え且つ２周期未満の処理時間でクリティカルな論理データを生成するクリティカル論理回路と、
前記クリティカル論理回路の前段に設けられた前段論理回路と、
前記クリティカル論理回路の後段に設けられ、与えられたデータに対して前記システムクロックの１周期から前記クリティカルな論理データのうちの該システムクロックの１周期を越える部分のデータを入力する時間を差し引いた時間以内で所定の処理を行う後段論理回路と、
前記各論理データをシステムクロックのエッジに同期して取込み、該各論理データを該システムクロックの次の周期のエッジが来るまで保持する複数のフリップフロップとを、含む順序回路において、
前記システムクロックと同一位相で且つ周波数が１／２の１／２クロックを生成する第１のクロック生成手段と、
前記前段論理回路が生成した論理データを前記１／２クロックの立上がりエッジに同期して取込み、該論理データを該１／２クロックの次の周期の立上がりエッジが来るまで前記クリティカル論理回路に与える第１のフリップフロップと、
前記クリティカル論理回路と同一構成のサブクリティカル論理回路と、
前記前段論理回路が生成した論理データを前記１／２クロックの立下がりエッジに同期して取込み、該論理データを該１／２クロックの次の周期の立下がりエッジが来るまで前記サブクリティカル論理回路に与える第２のフリップフロップと、
前記システムクロックと同一周波数で且つ該システムクロックに対して位相が前記クリティカルな論理データのうちの前記システムクロックの１周期を越える部分のデータを入力する時間以上で且つ１周期未満遅れた遅れクロックを生成する第２のクロック生成手段と、
前記クリティカル論理回路が生成したクリティカルな論理データを前記遅れクロックのエッジに同期して取込み、該クリティカルな論理データを該遅れクロックの次の周期のエッジが来るまで保持する第３のフリップフロップと、
前記サブクリティカル論理回路が生成したクリティカルな論理データを前記遅れクロックのエッジに同期して取込み、該クリティカルな論理データを該遅れクロックの次の周期のエッジが来るまで保持する第４のフリップフロップと、
前記第３のフリップフロップに保持されたクリティカルな論理データ又は前記第４のフリップフロップに保持されたクリティカルな論理データを前記１／２クロックの論理レベルに基づいて選択して前記後段論理回路に与える選択手段とを、
設けたことを特徴とする順序回路。
【請求項２】
システムクロックの１周期を越え且つ２周期未満の処理時間でクリティカルな論理データを生成するクリティカル論理回路と、
前記クリティカル論理回路の前段に設けられた前段論理回路と、
前記クリティカル論理回路の後段に設けられ、与えられたデータに対して前記システムクロックの１周期から前記クリティカルな論理データのうちの該システムクロックの１周期を越える部分のデータを入力する時間を差し引いた時間以内で所定の処理を行う後段論理回路と、
前記各論理データをシステムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する複数のフリップフロップとを、含む順序回路において、
前記システムクロックのエッジと同一位相で且つ周波数が１／２の１／２クロックを生成するクロック生成手段と、
前記前段論理回路が生成した論理データを前記１／２クロックの立上がりエッジに同期して取込み、該論理データを該１／２クロックの次の周期の立上がりエッジが来るまで前記クリティカル論理回路に与える第１のフリップフロップと、
前記クリティカル論理回路と同一構成のサブクリティカル論理回路と、
前記前段論理回路が生成した論理データを前記１／２クロックの立下がりエッジに同期して取込み、該論理データを該１／２クロックの次の周期の立下がりエッジが来るまで前記サブクリティカル論理回路に与える第２のフリップフロップと、
前記サブクリティカル論理回路の後段に設けられ、前記後段論理回路と同一構成のサブ後段論理回路と、
前記後段論理回路が生成した論理データを前記システムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する第３のフリップフロップと、
前記サブ後段論理回路が生成した論理データを前記システムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する第４のフリップフロップと、
前記第３のフリップフロップに保持された論理データ又は前記第４のフリップフロップに保持された論理データを前記１／２クロックの論理レベルに基づいて選択する選択手段とを、
設けたことを特徴とする順序回路。
【請求項３】
システムクロックの１周期を越え且つ２周期未満の処理時間でクリティカルな論理データを生成するクリティカル論理回路と、
前記クリティカル論理回路の前段に設けられ、与えられたデータに対して前記システムクロックの１周期から前記クリティカルな論理データのうちの該システムクロックの１周期を越える部分のデータを入力する時間を差し引いた時間以内で所定の処理を行う前段論理回路と、
前記クリティカル論理回路の後段に設けられた後段論理回路と、
前記各論理データをシステムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する複数のフリップフロップとを、含む順序回路において、
前記システムクロックの１／２の周波数で且つ該システムクロックに対して位相が前記クリティカルな論理データのうちの前記システムクロックの１周期を越える部分のデータを入力する時間以上でかつ１周期未満進んだ進み１／２クロックを生成する第１のクロック生成手段と、
前記前段論理回路が生成した論理データを前記進み１／２クロックの立上がりエッジに同期して取込み、該論理データを該進み１／２クロックの次の周期の立上がりエッジが来るまで前記クリティカル論理回路に与える第１のフリップフロップと、
前記クリティカル論理回路と同一構成のサブクリティカル論理回路と、
前記前段論理回路が生成した論理データを前記進み１／２クロックの立下がりエッジに同期して取込み、該論理データを該進み１／２クロックの次の周期の立ち下がりエッジが来るまで前記サブクリティカル論理回路に与える第２のフリップフロップと、
前記クリティカル論理回路が生成した論理データを前記システムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する第３のフリップフロップと、
前記サブクリティカル論理回路が生成した論理データを前記システムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する第４のフリップフロップと、
前記システムクロックのエッジと同一位相で且つ周波数が１／２の１／２クロックを生成する第２のクロック生成手段と、
前記第３のフリップフロップに保持された論理データ又は前記第４のフリップフロップに保持された論理データを前記１／２クロックの論理レベルに基づいて選択して前記後段論理回路に与える選択手段とを、
設けたことを特徴とする順序回路。
【請求項４】
システムクロックの１周期を越え且つ２周期未満の処理時間でクリティカルな論理データを生成するクリティカル論理回路と、
前記クリティカル論理回路の前段に設けられ、与えられたデータに対して前記システムクロックの１周期から前記クリティカルな論理データのうちの該システムクロックの１周期を越える部分のデータを入力する時間を差し引いた時間以内で所定の処理を行う前段論理回路と、
前記クリティカル論理回路の後段に設けられた後段論理回路と、
前記各論理データをシステムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する複数のフリップフロップとを、含む順序回路において、
前記クリティカル論理回路と同一構成のサブクリティカル論理回路と、
前記サブクリティカル論理回路の前段に設けられ、前記前段論理回路と同一構成のサブ前段論理回路と、
前記システムクロックのエッジと同一位相で且つ周波数が１／２の１／２クロックを生成するクロック生成手段と、
与えられた論理データを前記１／２クロックの立上がりエッジに同期して取込み、該論理データを該１／２クロックの次の周期の立上がりエッジが来るまで前記前段論理回路に与える第１のフリップフロップと、
前記与えられた論理データを前記１／２クロックの立下がりエッジに同期して取込み、該論理データを該１／２クロックの次の周期の立下がりエッジが来るまで前記サブ前段論理回路に与える第２のフリップフロップと、
前記クリティカル論理回路が生成した論理データを前記システムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する第３のフリップフロップと、
前記サブクリティカル論理回路が生成した論理データを前記システムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する第４のフリップフロップと、
前記第３のフリップフロップに保持された論理データ又は前記第４のフリップフロップに保持された論理データを前記１／２クロックの論理レベルに基づいて選択して前記後段論理回路に与える選択手段とを、
設けたことを特徴とする順序回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばＬＳＩ（大規模集積回路）等の内部で構成され、クリティカルな論理データ（即ち、システムクロックの１周期を越える時間で生成された論理データ）に対して１クロックサイクル以上の時間を分配することによって応答の遅延を解消した順序回路に関するものである。
【０００２】
【従来の技術】
図２は、一般的な順序回路の構成図である。
この順序回路は、例えばＬＳＩの内部で構成されるものであり、該ＬＳＩ中の他の回路から出力された信号を入力する組合わせ論理回路（logicW）１を有している。組合わせ論理回路（logicW）１は、例えばＡＮＤゲートやＯＲゲート等で構成され、与えられたデータに対して所定の処理を行なって論理データＳ１を生成する回路である。組合わせ論理回路（logicW）１の出力端子は、フリップフロップ（以下、ＦＦという）２のデータ入力端子に接続されている。又、ＦＦ２には、システムクロックb-ckが入力されるようになっている。ＦＦ２は、論理データＳ１をシステムクロックb-ckに同期して取込み、出力信号Ｗを出力する機能を有している。ＦＦ２の出力端子は、組合わせ論理回路（logicX）３の或る１つの入力端子に接続されている。組合わせ論理回路（logicX）３は、出力信号Ｗ及びＬＳＩ中の他の回路から出力された信号に対して所定の処理を行なって論理データＳ３を生成する回路である。組合わせ論理回路（logicX）３の出力端子は、ＦＦ４のデータ入力端子に接続されている。又、ＦＦ４には、システムクロックb-ckが入力されるようになっている。ＦＦ４は、論理データＳ３をシステムクロックb-ckに同期して取込み、出力信号Ｘを出力する機能を有している。ＦＦ４の出力端子は、組合わせ論理回路（logicY）５の或る１つの入力端子に接続されている。
【０００３】
組合わせ論理回路（logicY）５は、出力信号Ｘ及びＬＳＩ中の他の回路から出力された信号に対して所定の処理を行なって論理データＳ５を生成する回路である。組合わせ論理回路（logicY）５の出力端子は、ＦＦ６のデータ入力端子に接続されている。又、ＦＦ６には、システムクロックb-ckが入力されるようになっている。ＦＦ６は、論理データＳ５をシステムクロックb-ckに同期して取込み、出力信号Ｙを出力する機能を有している。ＦＦ６の出力端子は、組合わせ論理回路（logicZ）７の或る１つの入力端子に接続されている。組合わせ論理回路（logicY）７は、出力信号Ｙ及びＬＳＩ中の他の回路から出力された信号に対して所定の処理を行なって論理データＳ７を生成する回路である。組合わせ論理回路  （logicZ）７の出力端子は、ＦＦ８のデータ入力端子に接続されている。又、ＦＦ８には、システムクロックb-ckが入力されるようになっている。ＦＦ８は、論理データＳ７をシステムクロックb-ckに同期して取込み、出力信号Ｚを出力する機能を有している。ＦＦ８の出力端子は、図示しない他の論理回路に接続されている。
【０００４】
図３は、図２の動作を説明するためのタイムチャートであり、縦軸に論理レベル、及び横軸に時間がとられている。
この図を参照しつつ、図２の動作を説明する。
時間Ｔ０において、出力信号Ｗ，Ｘ，Ｙ，Ｚは、不確定値になっている。時間Ｔ１において、ＦＦ２は論理データＳ１をシステムクロックb-ckの立上がりに同期して取込み、出力信号Ｗが有効値になる。すると、組合わせ論理回路（logicX）３は、出力信号Ｗ及びＬＳＩ中の他の回路から出力された信号を入力して所定の処理を行なって論理データＳ３を生成する。時間Ｔ２において、出力信号Ｗが更新されると共に、ＦＦ４は論理データＳ３をシステムクロックb-ckの立上がりに同期して取込み、出力信号Ｘが有効値になる。同様に、時間Ｔ３において、出力信号Ｗ，Ｘが更新されると共に、ＦＦ６は論理データＳ５をシステムクロックb-ckの立上がりに同期して取込み、出力信号Ｙが有効値になる。時間Ｔ４において、出力信号Ｗ，Ｘ，Ｙが更新されると共に、ＦＦ８は論理データＳ７をシステムクロックb-ckの立上がりに同期して取込み、出力信号Ｚが有効値になる。時間Ｔ５において、出力信号Ｗ，Ｘ，Ｙ，Ｚが更新される。
【０００５】
同様に、時間Ｔ６において、出力信号Ｗ，Ｘ，Ｙ，Ｚが更新される。時間Ｔ７において、出力信号Ｗが不確定値になると共に、出力信号Ｘ，Ｙ，Ｚが更新される。時間Ｔ８において、出力信号Ｗ，Ｘが不確定値になると共に、出力信号Ｙ，Ｚが更新される。時間Ｔ９において、出力信号Ｗ，Ｘ，Ｙが不確定値になると共に、出力信号Ｚが更新される。時間Ｔ１０において、出力信号Ｗ，Ｘ，Ｙ，Ｚが不確定値になる。
図２中の或る組合わせ論理回路からクリティカルな論理データが発生する場合、遅延対策として従来では例えば次の（１），（２）のような手段がとられている。
（１）  論理圧縮（即ち、組合わせ論理回路を構成しているＡＮＤゲートやＯＲゲート等の論理素子を並べ替えること）により、論理データを生成する時間を短縮する。
（２）  組合わせ論理回路の内部の回路の配置を変更することにより、クリティカルな論理データが発生する回路の実配線長を短縮する。
【０００６】
【発明が解決しようとする課題】
しかしながら、図２の順序回路では、次のような課題があった。
従来の遅延対策で遅延を解消できない場合、クリティカルな論理データが発生する組合わせ論理回路を２段に分割し、分割された各論理回路の論理データを２つのＦＦでそれぞれラッチするようにしている。そのため、組合わせ論理回路が１段増加し、順序回路の応答が１クロックサイクル遅れることがあるという課題があった。
本発明は、クリティカルな論理データが発生する組合わせ論理回路の後段又は前段の論理回路に処理時間の余裕がある場合に、遅延を解消した順序回路を提供するものである。
【０００７】
【課題を解決するための手段】
前記課題を解決するために、本発明のうちの第１の発明は、システムクロックの１周期を越え且つ２周期未満の処理時間でクリティカルな論理データを生成するクリティカル論理回路と、前記クリティカル論理回路の前段に設けられた前段論理回路と、前記クリティカル論理回路の後段に設けられ、与えられたデータに対して前記システムクロックの１周期から前記クリティカルな論理データのうちの該システムクロックの１周期を越える部分のデータを入力する時間を差し引いた時間以内で所定の処理を行う後段論理回路と、前記各論理データをシステムクロックのエッジに同期して取込み、該各論理データを該システムクロックの次の周期のエッジが来るまで保持する複数のフリップフロップとを、含む順序回路において、次のような手段を設けている。
前記システムクロックと同一位相で且つ周波数が１／２の１／２クロックを生成する第１のクロック生成手段と、前記前段論理回路が生成した論理データを前記１／２クロックの立上がりエッジに同期して取込み、該論理データを該１／２クロックの次の周期の立上がりエッジが来るまで前記クリティカル論理回路に与える第１のフリップフロップと、前記クリティカル論理回路と同一構成のサブクリティカル論理回路と、前記前段論理回路が生成した論理データを前記１／２クロックの立下がりエッジに同期して取込み、該論理データを該１／２クロックの次の周期の立下がりエッジが来るまで前記サブクリティカル論理回路に与える第２のフリップフロップとを、設けている。
【０００８】
更に、この順序回路には、次のような手段が設けられている。
前記システムクロックと同一周波数で且つ該システムクロックに対して位相が前記クリティカルな論理データのうちの前記システムクロックの１周期を越える部分のデータを入力する時間以上で且つ１周期未満遅れた遅れクロックを生成する第２のクロック生成手段と、前記クリティカル論理回路が生成したクリティカルな論理データを前記遅れクロックのエッジに同期して取込み、該クリティカルな論理データを該遅れクロックの次の周期のエッジが来るまで保持する第３のフリップフロップと、前記サブクリティカル論理回路が生成したクリティカルな論理データを前記遅れクロックのエッジに同期して取込み、該クリティカルな論理データを該遅れクロックの次の周期のエッジが来るまで保持する第４のフリップフロップと、前記第３のフリップフロップに保持されたクリティカルな論理データ又は前記第４のフリップフロップに保持されたクリティカルな論理データを前記１／２クロックの論理レベルに基づいて選択して前記後段論理回路に与える選択手段とが、設けられている。
【０００９】
この第１の発明によれば、以上のように順序回路を構成したので、前段論理回路が生成した論理データは、第１のＦＦに１／２クロックの立上がりエッジに同期して取込まれ、該論理データが該１／２クロックの次の周期の立上がりエッジが来るまでクリティカル論理回路に与えられる。クリティカル論理回路は、第１のＦＦ及び他の回路から与えられたデータに対して所定の処理を行なってクリティカルな論理データを生成する。又、前段論理回路が生成した論理データは、第２のＦＦに１／２クロックの立下がりエッジに同期して取込まれ、該論理データが該１／２クロックの次の周期の立下がりエッジが来るまでサブクリティカル論理回路に与えられる。サブクリティカル論理回路は、第２のＦＦ及び他の回路から与えられたデータに対して所定の処理を行なってクリティカルな論理データを生成する。
前記クリティカル論理回路で生成されたクリティカルな論理データは、第３のＦＦに遅れクロックのエッジに同期して取込まれ、該遅れクロックの次の周期のエッジが来るまで保持される。前記サブクリティカル論理回路で生成されたクリティカルな論理データは、第４のＦＦに遅れクロックのエッジに同期して取込まれ、該遅れクロックの次の周期のエッジが来るまで保持される。前記第３のＦＦに保持されたクリティカルな論理データ又は前記第４のＦＦに保持されたクリティカルな論理データは、選択手段で１／２クロックの論理レベルに基づいて選択されて後段論理回路に与えられる。後段論理回路は、与えられたデータに対して前記システムクロックの１周期から前記クリティカルな論理データのうちの該システムクロックの１周期を越える部分のデータを入力する時間を差し引いた時間以内で所定の処理を行って論理データを生成する。
【００１０】
第２の発明では、システムクロックの１周期を越え且つ２周期未満の処理時間でクリティカルな論理データを生成するクリティカル論理回路と、前記クリティカル論理回路の前段に設けられた前段論理回路と、前記クリティカル論理回路の後段に設けられ、与えられたデータに対して前記システムクロックの１周期から前記クリティカルな論理データのうちの該システムクロックの１周期を越える部分のデータを入力する時間を差し引いた時間以内で所定の処理を行う後段論理回路と、前記各論理データをシステムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する複数のフリップフロップとを、含む順序回路において、次のような手段を設けている。
前記システムクロックのエッジと同一位相で且つ周波数が１／２の１／２クロックを生成するクロック生成手段と、前記前段論理回路が生成した論理データを前記１／２クロックの立上がりエッジに同期して取込み、該論理データを該１／２クロックの次の周期の立上がりエッジが来るまで前記クリティカル論理回路に与える第１のフリップフロップと、前記クリティカル論理回路と同一構成のサブクリティカル論理回路と、前記前段論理回路が生成した論理データを前記１／２クロックの立下がりエッジに同期して取込み、該論理データを該１／２クロックの次の周期の立下がりエッジが来るまで前記サブクリティカル論理回路に与える第２のフリップフロップと、前記サブクリティカル論理回路の後段に設けられ、前記後段論理回路と同一構成のサブ後段論理回路と、前記後段論理回路が生成した論理データを前記システムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する第３のフリップフロップと、前記サブ後段論理回路が生成した論理データを前記システムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する第４のフリップフロップと、前記第３のフリップフロップに保持された論理データ又は前記第４のフリップフロップに保持された論理データを前記１／２クロックの論理レベルに基づいて選択する選択手段とを、設けている。
【００１１】
この第２の発明によれば、次の点が第１の発明と異なっている。
クリティカル論理回路から出力されたクリティカル論理データ及びサブクリティカル論理回路から出力されたクリティカル論理データはそれぞれ後段論理回路及びサブ後段論理回路に入力され、クリティカル論理回路と後段論理回路、及びサブクリティカル論理回路とサブ後段論理回路においてそれぞれ２クロックサイクルで処理される。後段論理回路が生成した論理データは第３のＦＦでシステムクロックのエッジに同期して取込まれ、該システムクロックの次の周期のエッジが来るまで保持される。サブ後段論理回路が生成した論理データは、第４のＦＦでシステムクロックのエッジに同期して取込まれ、該システムクロックの次の周期のエッジが来るまで保持される。選択手段は、第３のＦＦに保持された論理データ又は第４のＦＦに保持された論理データを１／２クロックの論理レベルに基づいて選択して出力する。
【００１２】
第３の発明では、システムクロックの１周期を越え且つ２周期未満の処理時間でクリティカルな論理データを生成するクリティカル論理回路と、前記クリティカル論理回路の前段に設けられ、与えられたデータに対して前記システムクロックの１周期から前記クリティカルな論理データのうちの該システムクロックの１周期を越える部分のデータを入力する時間を差し引いた時間以内で所定の処理を行う前段論理回路と、前記クリティカル論理回路の後段に設けられた後段論理回路と、前記各論理データをシステムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する複数のフリップフロップとを、含む順序回路において、次のような手段を設けている。
前記システムクロックの１／２の周波数で且つ該システムクロックに対して位相が前記クリティカルな論理データのうちの前記システムクロックの１周期を越える部分のデータを入力する時間以上でかつ１周期未満進んだ進み１／２クロックを生成する第１のクロック生成手段と、前記前段論理回路が生成した論理データを前記進み１／２クロックの立上がりエッジに同期して取込み、該論理データを該進み１／２クロックの次の周期の立上がりエッジが来るまで前記クリティカル論理回路に与える第１のフリップフロップと、前記クリティカル論理回路と同一構成のサブクリティカル論理回路と、前記前段論理回路が生成した論理データを前記進み１／２クロックの立下がりエッジに同期して取込み、該論理データを該進み１／２クロックの次の周期の立ち下がりエッジが来るまで前記サブクリティカル論理回路に与える第２のフリップフロップと、前記クリティカル論理回路が生成した論理データを前記システムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する第３のフリップフロップと、前記サブクリティカル論理回路が生成した論理データを前記システムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する第４のフリップフロップと、前記システムクロックのエッジと同一位相で且つ周波数が１／２の１／２クロックを生成する第２のクロック生成手段と、前記第３のフリップフロップに保持された論理データ又は前記第４のフリップフロップに保持された論理データを前記１／２クロックの論理レベルに基づいて選択して前記後段論理回路に与える選択手段とを、設けている。
【００１３】
この第３の発明によれば、次の点が第１の発明と異なっている。前段論理回路が生成した論理データをラッチするタイミングが早くなり、前段論理回路に与えられた処理時間の一部がクリティカル論理回路及びサブクリティカル論理回路に分配される。
第４の発明では、システムクロックの１周期を越え且つ２周期未満の処理時間でクリティカルな論理データを生成するクリティカル論理回路と、前記クリティカル論理回路の前段に設けられ、与えられたデータに対して前記システムクロックの１周期から前記クリティカルな論理データのうちの該システムクロックの１周期を越える部分のデータを入力する時間を差し引いた時間以内で所定の処理を行う前段論理回路と、前記クリティカル論理回路の後段に設けられた後段論理回路と、前記各論理データをシステムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する複数のフリップフロップとを、含む順序回路において、次のような手段を設けている。
【００１４】
前記クリティカル論理回路と同一構成のサブクリティカル論理回路と、前記サブクリティカル論理回路の前段に設けられ、前記前段論理回路と同一構成のサブ前段論理回路と、前記システムクロックのエッジと同一位相で且つ周波数が１／２の１／２クロックを生成するクロック生成手段と、与えられた論理データを前記１／２クロックの立上がりエッジに同期して取込み、該論理データを該１／２クロックの次の周期の立上がりエッジが来るまで前記前段論理回路に与える第１のフリップフロップと、前記与えられた論理データを前記１／２クロックの立下がりエッジに同期して取込み、該論理データを該１／２クロックの次の周期の立下がりエッジが来るまで前記サブ前段論理回路に与える第２のフリップフロップと、前記クリティカル論理回路が生成した論理データを前記システムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する第３のフリップフロップと、前記サブクリティカル論理回路が生成した論理データを前記システムクロックのエッジに同期して取込み、該論理データを該システムクロックの次の周期のエッジが来るまで保持する第４のフリップフロップと、前記第３のフリップフロップに保持された論理データ又は前記第４のフリップフロップに保持された論理データを前記１／２クロックの論理レベルに基づいて選択して前記後段論理回路に与える選択手段とを、設けている。
この第４の発明によれば、次の点が第２の発明と異なっている。
前段論理回路とクリティカル論理回路、及びサブ前段論理回路とサブクリティカル論理回路においてそれぞれ２クロックサイクルで論理データが処理される。従って、前記課題を解決できるのである。
【００１５】
【発明の実施の形態】
第１の実施形態
図１は、本発明の第１の実施形態を示す順序回路の構成図である。
この順序回路は、例えばＬＳＩの内部で構成されるものであり、該ＬＳＩ中の他の回路から出力された信号を入力して所定の処理を行う組合わせ論理回路（logicW）１１を有している。組合わせ論理回路（logicW）１１は、例えばＡＮＤゲートやＯＲゲート等で構成され、与えられたデータに対して所定の処理を行なって論理データＳ１１を生成する回路である。組合わせ論理回路（logicW）１１の出力端子は、ＦＦ１２のデータ入力端子に接続されている。又、ＦＦ１２には、システムクロックb-ckが入力されるようになっている。ＦＦ１２は、論理データＳ１１をシステムクロックb-ckの立上がりに同期して取込み、出力信号Ｗを出力する機能を有している。ＦＦ１２の出力端子は、前段論理回路である組合わせ論理回路（logicX）１３の或る１つの入力端子に接続されている。
【００１６】
組合わせ論理回路（logicX）１３は、出力信号ＷとＬＳＩ中の他の回路から出力された信号を入力して所定の処理を行なって論理データＳ１３を生成する回路である。組合わせ論理回路（logicX）１３の出力端子は、第１及び第２のＦＦ１４ａ，１４ｂのデータ入力端子に接続されている。又、ＦＦ１４ａ，１４ｂには、システムクロックb-ckと同一位相でかつ周波数が１／２の１／２クロックD-ckが図示しない第１のクロック生成手段から入力されるようになっている。ＦＦ１４ａは、論理データＳ１３を１／２クロックD-ckの立上がりに同期して取込み、出力信号Ｘａを出力する機能を有している。ＦＦ１４ｂは、論理データＳ１３を１／２クロックD-ckの立下がりに同期して取込み、出力信号Ｘｂを出力する機能を有している。ＦＦ１４ａの出力端子はクリティカル論理回路である組合わせ論理回路（logicY）１５ａの或る１つの入力端子に接続され、ＦＦ１４ｂの出力端子がサブクリティカル論理回路である組合わせ論理回路（logicY）１５ｂの或る１つの入力端子に接続されている。組合わせ論理回路（logicY）１５ａの他の入力端子にも、ＦＦ１２、論理回路（logicX）１３、及びＦＦ１４ａが縦続接続された回路と同様の図示しない回路が接続されている。組合わせ論理回路（logicY）１５ｂの他の入力端子にも、ＦＦ１２、組合わせ論理回路（logicX）１３、及びＦＦ１４ｂが縦続接続された回路と同様の図示しない回路が接続されている。
組合わせ論理回路（logicY）１５ａは、出力信号ＸａとＬＳＩ中の他の回路から出力された信号を入力して所定の処理を行い、システムクロックb-ckの１周期を越え且つ２周期未満の処理時間でクリティカルな論理データＳ１５ａを生成する回路である。組合わせ論理回路（logicY）１５ｂは組合わせ論理回路（logicY）１５ａと同一構成の回路であり、出力信号ＸｂとＬＳＩ中の他の回路から出力された信号を入力して所定の処理を行い、システムクロックb-ckの１周期を越え且つ２周期未満の処理時間でクリティカルな論理データＳ１５ｂを生成する回路である。組合わせ論理回路（logicY）１５ａ，１５ｂの出力端子は、第３及び第４のＦＦ１６ａ，１６ｂのデータ入力端子にそれぞれ接続されている。又、ＦＦ１６ａ，１６ｂには、図示しない第２のクロック生成手段から遅れクロックd-ckが入力されるようになっている。この遅れクロックd-ckは、システムクロックb-ckと同一周波数で、且つシステムクロックb-ckに対して位相がクリティカルな論理データＳ１５ａのうちのシステムクロックｂ−ｃｋの１周期を越える部分のデータを入力する時間以上でかつ１周期未満遅れたクロックである。
【００１７】
ＦＦ１６ａは、クリティカルな論理データＳ１５ａを遅れクロックd-ckの立上がりに同期して取込み、出力信号Ｙａを出力する機能を有している。ＦＦ１６ｂは、クリティカルな論理データＳ１５ｂを遅れクロックd-ckの立上がりに同期して取込み、出力信号Ｙｂを出力する機能を有している。ＦＦ１６ａの出力端子は選択手段である２入力１出力型のセレクタ１７の第１の入力端子（０）に接続され、ＦＦ１６ｂの出力端子が該セレクタ１７の第２の入力端子（１）に接続されている。セレクタ１７の制御信号入力端子には、１／２クロックD-ckが入力されるようになっている。セレクタ１７は、１／２クロックD-ckが“Ｌ”の時、出力信号Ｙａを選択して出力信号Ｙとして出力し、１／２クロックD-ckが“Ｈ”の時、出力信号Ｙｂを選択して出力信号Ｙとして出力する機能を有している。セレクタ１７の出力端子は、後段論理回路である組合わせ論理回路（logicZ）１８の或る１つの入力端子に接続されている。
組合わせ論理回路（logicZ）１８は、出力信号ＹとＬＳＩ中の他の回路から出力された信号を入力し、システムクロックb-ckの１周期からクリティカルな論理データＳ１５ａ，Ｓ１５ｂのうちの該システムクロックb-ckの１周期を越える部分のデータを入力する時間を差し引いた時間以内で所定の処理を行い、論理データＳ１８を生成する回路である。組合わせ論理回路（logicZ）１８の出力端子は、ＦＦ１９のデータ入力端子に接続されている。又、ＦＦ１９には、システムクロックb-ckが入力されるようになっている。ＦＦ１９は、論理データＳ１８をシステムクロックb-ckの立上がりに同期して取込み、出力信号Ｚを出力する機能を有している。ＦＦ１９の出力端子は、ＬＳＩ中の図示しない他の組合わせ論理回路に接続されている。
【００１８】
図４は、図１中の各部の信号及びデータを示すタイムチャートである。
この図を参照しつつ、図１の動作を説明する。
このタイムチャートには、次の７本の信号の変化が示されている。
出力信号Ｗは、システムクロックb-ckの立上がりエッジに同期して値が変化する信号である。出力信号Ｘａは、１／２クロックD-ckの立上がりエッジに同期して値が変化する信号である。出力信号Ｘｂは、１／２クロックD-ckの立下がりエッジに同期して値が変化する信号である。出力信号Ｙａは、遅れクロックd-ckの立上がりエッジに同期して値が変化する信号である。出力信号Ｙｂは、遅れクロックd-ckの立上がりエッジに同期して値が変化する信号である。出力信号Ｙは、遅れクロックd-ckの立上がりエッジ、及び１／２クロックD-ckのエッジに同期して値が変化する信号である。出力信号Ｚは、システムクロックb-ckの立上がりエッジに同期して値が変化する信号である。
先ず、１／２クロックD-ckの値が“Ｌ”の時に出力信号Ｗに出力されているデータが図１の順序回路を通り、出力信号Ｚとして出力されるまでの過程を説明する。
【００１９】
時刻ｔ１０においてＦＦ１２に取込まれた論理データＳ１１が、期間Ｔ１１において出力信号ＷにデータＷ１として出力されているものとする。組合わせ論理回路(logicX)１３は期間Ｔ１１の間にデータＷ１及びその他の入力データを処理し、論理データＳ１３を出力する。論理データＳ１３は時刻ｔ１１の１／２クロックD-ckの立上がりエッジに同期してＦＦ１４ａに取込まれ、期間Ｔ１２及び期間Ｔ１３において出力信号ＸａにデータＸａ１として出力される。組合わせ論理回路(logicY)１５ａは、（１＋ｔ）クロックサイクルの処理時間を必要とする回路である。よって、組合わせ論理回路（logicY）１５ａは時刻ｔ１１から時刻ｔ１２ｄの期間にデータＸａ１及びその他の入力データを処理し、論理データＳ１５ａを出力する。論理データＳ１５ａは時刻ｔ１２ｄにおける遅れクロックd-ckの立上がりエッジに同期してＦＦ１６ａに取込まれ、期間Ｔ１３ｄにおいて出力信号ＹａにデータＹａ１として出力される。時刻ｔ１２ｄから時刻ｔ１３の期間では１／２クロックD-ckが“Ｌ”なので、セレクタ１７は入力端子（０）に入力されている出力信号Ｙａ（即ち、データＹａ１）を選択し、出力信号ＹにデータＹ１（＝Ｙａ１）を出力する。組合わせ論理回路(logicZ)１８は（１−ｔ）クロックサイクル未満の時間で処理を終了できる回路である。よって、組合わせ論理回路(logicZ)１８は時刻ｔ１２ｄから時刻ｔ１３の期間にデータＹ１及びその他の入力データを処理し、論理データＳ１８を出力する。論理データＳ１８のデータは、時刻ｔ１３のシステムクロックb-ckの立上がりエッジに同期してＦＦ１９に取込まれ、期間Ｔ１４において出力信号ＺにデータＺ１が出力される。
【００２０】
次に、１／２クロックD-ckの値が“Ｈ”の時に出力信号Ｗに出力されているデータが図１の順序回路を通り、出力信号Ｚとして出力されるまでの過程を説明する。
時刻ｔ２０においてＦＦ１２に取込まれた論理データＳ１１が、期間Ｔ２１において出力信号ＷににデータＷ２として出力されているものとする。組合わせ論理回路(logicX)１３は期間Ｔ２１の間にデータＷ２及びその他の入力データを処理し、論理データＳ１３を出力する。論理データＳ１３は時刻ｔ２１の１／２クロックD-ckの立下がりエッジに同期してＦＦ１４ｂに取込まれ、期間Ｔ２２及び期間Ｔ２３において出力信号ＸｂにデータＸｂ２として出力される。組合わせ論理回路(logicY)１５ｂは（１＋ｔ）クロックサイクルの処理時間を必要とする回路である。よって、組合わせ論理回路(logicY)１５ｂは時刻ｔ２１から時刻ｔ２２ｄの期間にデータＸｂ２及びその他の入力データを処理し、論理データＳ１５ｂを出力する。論理データＳ１５ｂは時刻ｔ２２ｄにおける遅れクロックd-ckの立上がりエッジに同期してＦＦ１６ｂに取込まれ、期間Ｔ２３ｄにおいて出力信号ＹｂにデータＹｂ２として出力される。時刻ｔ２２ｄから時刻ｔ２３の期間では１／２クロックD-ckが“Ｈ”なので、セレクタ１７は入力端子（１）に入力されている出力信号Ｙｂ（即ち、データＹｂ２）を選択し、出力信号ＹにデータＹ２（＝Ｙｂ２）を出力する。組合わせ論理回路(logicZ)１８は（１−ｔ）クロックサイクル未満で処理を終了できる回路である。よって、組合わせ論理回路(logicZ)１８は時刻ｔ２２ｄから時刻ｔ２３の期間にデータＹ２及びその他の入力データを処理し、論理データＳ１８を出力する。論理データＳ１８は、時刻ｔ２３のシステムクロックb-ckの立上がりエッジに同期してＦＦ１９に取込まれ、期間Ｔ２４において出力信号ＺにデータＺ２を出力する。
【００２１】
このように、図１の順序回路では上記の動作が交互に繰り返して行われ、クリティカルな論理データＳ１５ａ，Ｓ１５ｂが発生しても、組合わせ論理回路（logicZ）１８に与えられた処理時間の一部を該クリティカルな論理データＳ１５ａ，Ｓ１５ｂの処理に分配するようにしたので、出力信号Ｚは従来の図３に示すタイミングと同様のタイミングで出力され、遅延が発生しない。
以上のように、この第１の実施形態では、クリティカルな論理データＳ１５ａ，Ｓ１５ｂが発生しても、該クリティカルな論理データＳ１５ａ，Ｓ１５ｂをラッチするタイミングを遅くすることにより、組合わせ論理回路（logicZ）１８に与えられた処理時間の一部を該クリティカルな論理データＳ１５ａ，Ｓ１５ｂに分配するようにしたので、出力信号Ｚに遅延が発生しない順序回路を実現できる。
【００２２】
第２の実施形態
図５は、本発明の第２の実施形態を示す順序回路の構成図であり、第１の実施形態を示す図１中の要素と共通の要素には共通の符号が付されている。
この順序回路では、組合わせ論理回路（logicY）１５ａの出力端子は後段論理回路である組合わせ論理回路（logicZ）１８ａの或る１つの入力端子に接続され、組合わせ論理回路（logicY）１５ｂの出力端子がサブ後段論理回路である組合わせ論理回路（logicZ）１８ｂの或る１つの入力端子に接続されている。組合わせ論理回路（logicZ）１８ａ，１８ｂは、図１中の組合わせ論理回路（logicZ）１８と同様の構成になっている。組合わせ論理回路（logicZ）１８ａ，１８ｂの各出力端子は、第３及び第４のＦＦ１９ａ，１９ｂのデータ入力端子にそれぞれ接続されている。又、ＦＦ１９ａ，１９ｂには、システムクロックb-ckが入力されるようになっている。ＦＦ１９ａ，１９ｂは、論理データＳ１８ａ，Ｓ１８ｂをシステムクロックb-ckの立上がりに同期してそれぞれ取込み、出力信号Ｚａ，Ｚｂをそれぞれ出力する機能を有している。ＦＦ１９ａの出力端子は選択手段である２入力１出力型のセレクタ２０の第１の入力端子（０）に接続され、ＦＦ１９ｂの出力端子がセレクタ２０の第２の入力端子（１）に接続されている。セレクタ２０の制御信号入力端子には、１／２クロックD-ckが入力されるようになっている。セレクタ２０は、１／２クロックD-ckが“Ｈ”の時、出力信号Ｚａを選択して出力信号Ｚとして出力し、１／２クロックD-ckが“Ｌ”の時、出力信号Ｚｂを選択して出力信号Ｚとして出力する機能を有している。セレクタ２０の出力端子は、図示しない他の論理回路に接続されている。又、組合わせ論理回路（logicY）１５ａの出力端子及び組合わせ論理回路（logicY）１５ｂの各出力端子には、組合わせ論理回路（logicZ）１８ａ，１８ｂ、ＦＦ１９ａ，１９ｂ、及びセレクタ２０の各入力端子がそれぞれ縦続接続された回路と同様の図示しない回路がそれぞれ接続されている。他は、図１と同様の構成である。
【００２３】
図６は、図５中の各部の信号及びデータを示すタイムチャートである。
この図を参照しつつ、図５の動作を説明する。
このタイムチャートには、以下の６本の信号の変化が示されている。
出力信号Ｗは、システムクロックb-ckの立上がりエッジに同期して値が変化する信号である。出力信号Ｘａは、１／２クロックD-ckの立上がりエッジに同期して値が変化する信号である。出力信号Ｘｂは、１／２クロックD-ckの立下がりエッジに同期して値が変化する信号である。出力信号Ｚａは、システムクロックb-ckの立上がりエッジに同期して値が変化する信号である。出力信号Ｚｂは、システムクロックb-ckの立上がりエッジに同期して値が変化する信号である。出力信号Ｚは、１／２クロックD-ckのエッジに同期して値が変化する信号である。
先ず、１／２クロックD-ckの値が“Ｌ”の時に出力信号Ｗに出力されているデータが図５の順序回路を通り、出力信号Ｚとして出力されるまでの過程を説明する。
【００２４】
時刻ｔ１０においてＦＦ１２に取込まれた論理データＳ１１が、期間Ｔ１１において出力信号ＷにデータＷ１として出力されているものとする。組合わせ論理回路(logicX)１３は期間Ｔ１１の間にデータＷ１及びその他の入力データを処埋し、論理データＳ１３を出力する。論理データＳ１３は時刻ｔ１１の１／２クロックD-ckの立ち上がりエッジに同期してＦＦ１４ａに取込まれ、期間Ｔ１２及び期間Ｔ１３において出力信号ＸａにデータＸａ１として出力される。組合わせ論理回路(logicY)１５ａは（１＋ｔ）クロックサイクルの処理時間を必要とする回路であり、論理同路(logicZ)１８ａは（１−ｔ）クロックサイクル未満で処理を終了できる回路である。よって、組合わせ論理回路(logicY)１５ａに入力されたデータが処理されて論理データＳ１５ａが出力され、更に、該論理データＳ１５ａが組合わせ論理回路（logicZ）１８ａに入力されて処理され、論理データＳｌ８ａとして出力されるまでに必要な時間は２クロックサイクルである。よって、組合わせ論理回路(logicY)１５ａと組合わせ論理回路（logicZ）１８ａは期間Ｔ１２及び期間Ｔ１３においてデータＸａ１及びその他の入力データを処理し、論理データＳｌ８ａを出力する。論理データＳｌ８ａは時刻ｔ１３のシステムクロックb-ckの立上がりエッジに同期してＦＦｌ９ａに取込まれ、期間Ｔ１４において出力信号ＺａにデータＺａ１が出力される。期間Ｔ１４では１／２クロックD-ckが“Ｈ”なので、セレクタ２０は入力端子（１）に入力されている出力信号Ｚａ（即ち、データＺａ１）を選択し、出力信号ＺにデータＺ１（＝Ｚａ１）が出力される。
【００２５】
次に、１／２クロックD-ckの値が“Ｈ”の時に出力信号Ｗに出力されているデータが図５の順序回路を通り、出力信号Ｚとして出力されるまでの過程を説明する。
時刻ｔ２０においてＦＦ１２に取込まれた論理データＳ１１が、期間Ｔ２１において出力信号ＷにデータＷ２として出力されているものとする。組合わせ論理回路(logicX)１３は期間Ｔ２１の間にデータＷ２及びその他の入力データを処理し、論理データＳ１３を出力する。論理データＳ１３は時刻ｔ２１の１／２クロックD-ckの立下がりエッジに同期してＦＦ１４ｂに取込まれ、期間Ｔ２２及び期間Ｔ２３において出力信号ＸｂにデータＸｂ２として出力される。組合わせ論理回路(logicY)１５ｂは（１＋ｔ）クロックサイクルの処理時間を必要とする回路であり、論理同路(logicZ)１８ｂは（１−ｔ）クロックサイクル未満で処理を終了できる回路である。よって、組合わせ論理回路(logicY)１５ｂに入力されたデータが処理されて論理データＳ１５ｂが出力され、更に、該論理データＳ１５ｂが組合わせ論理回路（logicZ）１８ｂに入力されて処理され、論理データＳｌ８ｂとして出力されるまでに必要な時間は２クロックサイクルである。よって、組合わせ論理回路(logicY)１５ｂと論理回路(logicZ)１８ｂは期間Ｔ２２及び期間Ｔ２３においてデータＸｂ２及びその他の入力データを処理し、論理データＳｌ８ｂを出力する。論理データＳｌ８ｂは時刻ｔ２３のシステムクロックb-ckの立上がりエッジに同期してＦＦｌ９ｂに取込まれ、期間Ｔ２４において出力信号ＺｂにデータＺｂ２が出力される。期間Ｔ２４では１／２クロックD-ckが“Ｌ”なので、セレクタ２０は入力端子（０）に入力されている出力信号Ｚｂ（即ち、データＺｂ２）を選択し、出力信号ＺにデータＺ２（＝Ｚｂ２）が出力される。
【００２６】
このように、図５の順序回路では、上記の動作が交互に繰り返して行われ、クリティカルな論理データＳ１５ａ，Ｓ１５ｂが発生しても、組合わせ論理回路  （logicZ）１８ａ，１８ｂに与えられた処理時間の一部を該クリティカルな論理データＳ１５ａ，Ｓ１５ｂにそれぞれ分配し、組合わせ論理回路（logicY）１５ａと組合わせ論理回路（logicZ）１８ａ、及び組合わせ論理回路（logicY）１５ｂと組合わせ論理回路（logicZ）１８ａ，１８ｂにおいてそれぞれ２クロックサイクルで処理するようにしたので、出力信号Ｚは従来の図３に示すタイミングと同様のタイミングで出力され、遅延が発生しない。
以上のように、この第２の実施形態では、クリティカルな論理データＳ１５ａ，Ｓ１５ｂが発生しても、組合わせ論理回路（logicZ）１８，１８ｂに与えられた処理時間の一部を該クリティカルな論理データＳ１５ａ，Ｓ１５ｂに分配し、組合わせ論理回路（logicY）１５ａと組合わせ論理回路（logicZ）１８ａ、及び組合わせ論理回路（logicY）１５ｂと組合わせ論理回路（logicZ）１８ｂにおいてそれぞれ２クロックサイクルで処理するようにしたので、出力信号Ｚに遅延が発生しない順序回路を実現できる。
【００２７】
第３の実施形態
図７は、本発明の第３の実施形態を示す順序回路の構成図であり、第１の実施形態を示す図１中の要素と共通の要素には共通の符号が付されている。
この順序回路では、ＦＦ１４ａ，１４ｂには、進み１／２クロックfd-ck が入力されるようになっている。ＦＦ１４ａは、進み１／２クロックfd-ck の立上がりで論理データＳ１３をラッチする機能を有している。ＦＦ１４ｂは、進み１／２クロックfd-ck の立下がりで論理データＳ１３をラッチする機能を有している。この進み１／２クロックfd-ck は、システムクロックb-ckの１／２の周波数で、かつ該システムクロックb-ckに対して位相がクリティカルな論理データＳ１５ａのうちの該システムクロックb-ckの１周期を越える部分のデータを入力する時間以上でかつ１周期未満進んだクロックである。又、ＦＦ１６ａ，１６ｂには、システムクロックb-ckが入力されるようになっている。ＦＦ１６ａは、クリティカルな論理データＳ１５ａをシステムクロックb-ckの立上がりに同期して取込み、出力信号Ｙａを出力する機能を有している。ＦＦ１６ｂは、クリティカルな論理データＳ１５ｂをシステムクロックb-ckの立上がりに同期して取込み、出力信号Ｙｂを出力する機能を有している。他は、図１と同様の構成である。
【００２８】
図８は、図７中の各部の信号及びデータを示すタイムチャートである。
この図を参照しつつ、図７の動作を説明する。
このタイムチャートには、以下の７本の信号の変化が示されている。
出力信号Ｗは、システムクロックb-ckの立上がりエッジに同期して値が変化する信号である。出力信号Ｘａは、進み１／２クロックfd-ck の立上がりエッジに同期して値が変化する信号である。出力信号Ｘｂは、進み１／２クロックfd-ck の立下がりエッジに同期して値が変化する信号である。出力信号Ｙａは、システムクロックb-ckの立上がりエッジに同期して値が変化する信号である。出力信号Ｙｂは、システムクロックb-ckの立上がりエッジに同期して値が変化する信号である。出力信号Ｙは、１／２クロックD-ckのエッジに同期して値が変化する信号である。出力信号Ｚは、システムクロックb-ckの立上がりエッジに同期して値が変化する信号である。
先ず、１／２クロックD-ckの値が“Ｌ”の時に出力信号Ｗに出力されているデータが図７の順序回路を通り、出力信号Ｚとして出力されるまでの過程を説明する。
【００２９】
時刻ｔ１０においてＦＦ１２に取込まれた論理データＳ１１が期間Ｔ１１において出力信号ＷにデータＷ１として出力されているものとする。組合わせ論理回路(logicX)１３は（１−ｔ）クロックサイクル未満で処理を終了できる回路である。よって、組合わせ論理回路(logicX)１３は時刻ｔ１０から時刻ｔ１１ｆの期間にデータＷ１及びその他の入力データを処理し、論理データＳ１３を出力する。論理データＳ１３は時刻ｔ１１ｆにおける進み１／２クロックfd-ck の立上がりエッジに同期してＦＦ１４ａに取込まれ、期間Ｔ１２ｆ及び期間Ｔ１３ｆにおいて出力信号ＸａにデータＸａ１が出力される。組合わせ論理回路(logicY)１５ａは（１＋ｔ）クロックサイクルの処理時間を必要とする回路である。よって、組合わせ論理回路(logicY)１５ａは時刻ｔ１１ｆから時刻ｔ１２の期間にデータＸａ１及びその他の入力データを処理し、論理データＳ１５ａを出力する。論理データＳ１５ａは時刻ｔ１２におけるシステムクロックb-ckの立ち上がりエッジに同期してＦＦｌ６ａに取込まれ、期間Ｔ１３において出力信号ＹａにデータＹａ１が出力される。期間Ｔ１３では１／２クロックD-ckの値が“Ｌ”なので、セレクタ１７は入力端子（０）に入力されている出力信号Ｙａ（即ち、データＹａ１）を選択し、出力信号ＹにデータＹ１（＝Ｙａ１）が出力される。組合わせ論理回路(logicZ)１８は期間Ｔ１３の間にデータＹ１及び及びその他の入力データを処理し、論理データＳｌ８を出力する。論理データＳｌ８は時刻ｔ１３のシステムクロックb-ckの立上がりエッジに同期してＦＦ１９に取込まれ、期間Ｔ１４において出力信号ＺにデータＺ１が出力される。
【００３０】
次に、１／２クロックD-ckの値が“Ｈ”の時に出力信号Ｗに出力されているデータが図７の順序回路を通り、出力信号Ｚに出力されるまでの過程を説明する。
時刻ｔ２０においてＦＦ１２に取込まれた論理データＳ１１が期間Ｔ２１において出力信号ＷにデータＷ２として出力されているものとする。組合わせ論理回路(logicX)１３は（１−ｔ）クロックサイクル未満で処理を終了できる回路である。よって、組合わせ論理回路(logicX)１３は時刻ｔ２０から時刻ｔ２１ｆの期間にデータＷ２及びその他の入力データを処理し、論理データＳ１３を出力する。論理データＳ１３は時刻ｔ２１ｆにおける進み１／２クロックfd-ck の立下がりエッジに同期してＦＦ１４ｂに取込まれ、期間Ｔ２２ｆ及び期間Ｔ２３ｆにおいて出力信号ＸｂにデータＸｂ２が出力される。組合わせ論理回路(logicY)１５ｂは（１＋ｔ）クロックサイクルの処理時間を必要とする回路である。よって、組合わせ論理回路(logicY)１５ｂは時刻ｔ２１ｆから時刻ｔ２２の期間にデータＸｂ２及びその他の入力データを処理し、論理データＳ１５ｂを出力する。論理データＳ１５ｂは時刻ｔ２２におけるシステムクロックb-ckの立上がりエッジに同期してＦＦ１６ｂに取込まれ、期間Ｔ２３において出力信号ＹｂにデータＹｂ２が出力される。期間Ｔ２３では１／２クロックD-ckが“Ｈ”なので、セレクタ１７は入力端子（１）に入力されている出力信号Ｙｂ（即ち、データＹｂ２）を選択し、出力信号ＹにデータＹ２（＝Ｙｂ２）が出力される。組合わせ論理回路  (logicZ)１８は期間Ｔ２３の間にデータＹ２及びその他の入力デ・一タを処理し、論理データＳｌ８を出力する。論理データＳｌ８は時刻ｔ２３のシステムクロックb-ckの立ち上がりエッジに同期してＦＦ１９に取込まれ、期間２４において出力信号ＺにデータＺ２が出力される。
【００３１】
このように、図７の順序回路では、上記の動作が交互に繰り返して行われ、クリティカルな論理データＳ１５ａ，Ｓ１５ｂが発生しても、組合わせ論理回路  （logicX）１３に与えられた処理時間の一部を該クリティカルな論理データＳ１５ａ，Ｓ１５ｂの処理時間に分配するようにしたので、出力信号Ｚは従来の図３に示すタイミングと同様のタイミングで出力され、遅延が発生しない。
以上のように、この第３の実施形態では、クリティカルな論理データＳ１５ａ，Ｓ１５ｂが発生しても、出力信号Ｓ１３をラッチするタイミングを早くすることにより、組合わせ論理回路（logicX）１３に与えられた処理時間の一部を該クリティカルな論理データＳ１５ａ，Ｓ１５ｂに分配するようにしたので、出力信号Ｚに遅延が発生しない順序回路を実現できる。
【００３２】
第４の実施形態
図９は、本発明の第４の実施形態を示す順序回路の構成図であり、第３の実施形態を示す図７中の要素と共通の要素には共通の符号が付されている。
この順序回路では、組合わせ論理回路（logicW）１１の出力端子は、ＦＦ１２ａ，１２ｂのデータ入力端子に接続されている。又、ＦＦ１２ａ，１２ｂには、１／２クロックD-ckが入力されるようになっている。ＦＦ１２ａは、１／２クロックD-ckの立上がりで論理データＳ１１をラッチする機能を有している。ＦＦ１２ｂは、１／２クロックD-ckの立下がりで論理データＳ１１をラッチする機能を有している。ＦＦ１２ａの出力端子は組合わせ論理回路（logicX）１３ａの或る１つの入力端子に接続され、ＦＦ１２ｂの出力端子が組合わせ論理回路（logicX）１３ｂの或る１つの入力端子に接続されている。組合わせ論理回路（logicY）１３ａの他の入力端子にも、組合わせ論理回路（logicW）１１及びＦＦ１２ａが縦続接続された回路と同様の図示しない回路が接続されている。組合わせ論理回路（logicY）１３ｂの他の入力端子にも、組合わせ論理回路（logicW）１１及びＦＦ１２ｂが縦続接続された回路と同様の図示しない回路が接続されている。論理回路（logicX）１３ａ，１３ｂは、図７中の組合わせ論理回路（logicX）１３と同様の構成になっている。組合わせ論理回路（logicY）１３ａの出力端子は組合わせ論理回路（logicY）１５ａの或る１つの入力端子に接続され、組合わせ論理回路（logicY）１３ｂの出力端子が組合わせ論理回路（logicY）１５ｂの或る１つの入力端子に接続されている。他は、図７と同様の構成である。
【００３３】
図１０は、図９中の各部の信号及びデータを示すタイムチャートである。
この図を参照しつつ、図９の動作を説明する。
このタイムチャートには、以下の６本の信号の変化が示されている。
出力信号Ｗａは、１／２クロックD-ck  の立上がりエッジに同期して値が変化する信号である。出力信号Ｗｂは、１／２クロックD-ck  の立下がりエッジに同期して値が変化する信号である。出力信号Ｙａは、システムクロックb-ck  の立上がりエッジに同期して値が変化する信号である。出力信号Ｙｂは、システムクロックb-ck  の立上がりエッジに同期して値が変化する信号である。出力信号Ｙは、１／２クロックD-ck  のエッジに同期して値が変化する信号である。出力信号Ｚは、システムクロックb-ck  の立上がりエッジに同期して値が変化する信号である。
先ず、１／２クロックD-ckの値が“Ｌ”の時に論理データＳ１１が図９の順序回路を通り、出力信号Ｚとして出力されるまでの過程を説明する。
【００３４】
期間Ｔ１０の間、或る有効なデータが論理データＳ１１として出力されているものとする。論理データＳ１１は時刻ｔ１０における１／２クロックD-ckの立上がりエッジに同期してＦＦ１２ａに取込まれ、期間Ｔ１１及びＴ期間１２において出力信号ＷａにデータＷａ１として出力される。組合わせ論理回路(logicX)１３ａは（１−ｔ）クロックサイクル未満で処理を終了できる回路であり、組合わせ論理回路(logicY)１５ａは（１＋ｔ）クロックサイクルの処理時間を必要とする回路である。よって、組合わせ論理回路(logicX)１３ａに入力されたデータが処理されて論理データＳ１３ａが出力され、更に該論理データＳ１３ａが組合わせ論理回路(logicY)１５ａに入力されて処理され、論理データＳ１５ａが出力されるまでに必要な時間は２クロックサイクルである。よって、組合わせ論理回路（logicX）１３ａと組合わせ論理回路(logicY)１５ａは期間Ｔ１１及び期間Ｔ１２の間にデータＷａ１及びその他の入力データを処理し、論理データＳ１５ａを出力する。論理データＳ１５ａは時刻ｔ１２におけるシステムクロックb-ckの立上がりエッジに同期してＦＦ１６ａに取込まれ、期間Ｔ１３において出力信号ＹａにデータＹａ１が出力される。期間Ｔ１３では１／２クロックD-ckが“Ｈ”なので、セレクタ１７は入力端子（１）に入力されている出力信号Ｙａ（即ち、データＹａ１）を選択し、出力信号ＹにデータＹ１（＝Ｙａ１）が出力される。組合わせ論理回路(logicZ)１８は期間Ｔ１３の間にデータＹ１及びその他の入力データを処理し、論理データＳ１８を出力する。論理データＳ１８は時刻ｔ１３におけるシステムクロックb-ckの立上がりエッジに同期してＦＦ１９に取込まれ、期間Ｔ１４において出力信号ＺにデータＺ１が出力される。
【００３５】
次に、１／２クロックD-ckの値が“Ｈ”の時に論理データＳ１１が図９の順序回路を通り、出力信号Ｚとして出力されるまでの過程を説明する。
期間Ｔ２０の間、或る有効なデータが論理データＳ１１として出力されているものとする。論理データＳ１１は時刻ｔ２０における１／２クロックD-ckの立下がりエッジに同期してＦＦ１２ｂに取込まれ、期間Ｔ２１及び期間Ｔ２２において出力信号ＷｂにデータＷｂ２として出力される。組合わせ論理回路(logicX)１３ｂは（１−ｔ）クロックサイクル未満で処理を終了できる回路であり、組合わせ論理回路（logicY）１５ｂは（１＋ｔ）クロックサイクルの処理時間を必要とする回路である。よって、組合わせ論理回路（logicX）１３ｂに入力されたデータが処理されて論理データＳ１３ｂが出力され、更に該論理データＳ１３ｂが組合わせ論理回路(logicY)１５ｂに入力されて処理され、論理データＳ１５ｂに出力されるまでに必要な時間は２クロックサイクルである。よって、組合わせ論理回路(logicX)１３ｂと組合わせ論理回路(logicY)１５ｂは期間Ｔ２１及び期間Ｔ２２の間にデータＷｂ２及びその他の入力データを処理し、論理データＳ１５ｂを出力する。論理データＳ１５ｂは時刻ｔ２２のシステムクロックb-ckの立上がりエッジに同期してＦＦ１６ｂに取込まれ、期間Ｔ２３において出力信号ＹｂにデータＹｂ２が出力される。期間Ｔ２３では１／２クロックD-ckが“Ｌ”なので、セレクタ１７は入力端子（０）に入力されている出力信号Ｙｂ（即ち、データＹｂ２）を選択し、出力信号ＹにデータＹ２（＝Ｙｂ２）が出力される。組合わせ論理回路(logicZ)１８は期間Ｔ２３の間にデータＹ２及びその他の入力データを処理し、論理データＳ１８を出力する。論理データＳ１８は時刻ｔ２３におけるシステムクロックb-ckの立上がりエッジに同期してＦＦ１９に取込まれ、期間Ｔ２４において出力信号ＺにデータＺ２が出力される。
【００３６】
このように、図９の順序回路では、上記の動作が交互に繰り返して行われ、クリティカルな論理データＳ１５ａ，Ｓ１５ｂが発生しても、組合わせ論理回路  （logicX）１３ａ，１３ｂに与えられた処理時間の一部を該クリティカルな論理データＳ１５ａ，Ｓ１５ｂにそれぞれ分配し、組合わせ論理回路（logicX）１３ａと組合わせ論理回路（logicY）１５ａ、及び組合わせ論理回路（logicX）１３ｂと組合わせ論理回路（logicY）１５ｂにおいてそれぞれ２クロックサイクルで処理するようにしたので、出力信号Ｚは従来の図３に示すタイミングと同様のタイミングで出力され、遅延が発生しない。
以上のように、この第４の実施形態では、クリティカルな論理データＳ１５ａ，Ｓ１５ｂが発生しても、組合わせ論理回路（logicX）１３ａ，１３ｂに与えられた処理時間の一部を該クリティカルな論理データＳ１５ａ，Ｓ１５ｂに分配し、組合わせ論理回路（logicX）１３ａと組合わせ論理回路（logicY）１５ａ、及び組合わせ論理回路（logicX）１３ｂと組合わせ論理回路（logicY）１５ｂにおいてそれぞれ２クロックサイクルで処理するようにしたので、出力信号Ｚに遅延が発生しない順序回路を実現できる。
尚、第１の実施形態における遅れクロックd-ckは、システムクロックb-ckに対して１／２周期遅らせる場合には、該システムクロックb-ckの立下がりエッジを反転して生成するようにしてもよい。
【００３７】
【発明の効果】
以上詳細に説明したように、第１の発明によれば、クリティカルな論理データが発生しても、該クリティカルな論理データをラッチするタイミングを遅れクロックのエッジに同期させて遅くすることにより、後段論理回路に与えられた処理時間の一部を該クリティカルな論理データに分配するようにしたので、応答に遅延が発生しない順序回路を実現できる。
第２の発明によれば、クリティカルな論理データが発生しても、後段論理回路に与えられた処理時間の一部を該クリティカルな論理データに分配し、クリティカル論理回路と後段論理回路において２クロックサイクルで処理するようにしたので、応答に遅延が発生しない順序回路を実現できる。
【００３８】
第３の発明によれば、クリティカルな論理データが発生しても、前段論理回路の出力信号をラッチするタイミングを進み１／２クロックのエッジに同期させて早くすることにより、該前段論理回路に与えられた処理時間の一部を該クリティカルな論理データに分配するようにしたので、応答に遅延が発生しない順序回路を実現できる。
第４の発明によれば、クリティカルな論理データが発生しても、前段論理回路に与えられた処理時間の一部を該クリティカルな論理データに分配し、前段論理回路とクリティカル論理回路において２クロックサイクルで処理するようにしたので、応答に遅延が発生しない順序回路を実現できる。
特に、第１〜第４の発明の順序回路をＬＳＩの内部回路に利用した場合、ＬＳＩの動作を高速化できる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態の順序回路の構成図である。
【図２】一般的な順序回路の構成図である。
【図３】図２のタイムチャートである。
【図４】図１のタイムチャートである。
【図５】本発明の第２の実施形態の順序回路の構成図である。
【図６】図５のタイムチャートである。
【図７】本発明の第３の実施形態の順序回路の構成図である。
【図８】図７のタイムチャートである。
【図９】本発明の第４の実施形態の順序回路の構成図である。
【図１０】図９のタイムチャートである。
【符号の説明】
１３，１３ａ                                前段論理回路
１３ｂ                                      サブ前段論理回路
１４ａ，１４ｂ，１６ａ，１６ｂ，１９，１９ａ，１９ｂ
ＦＦ（フリップフロップ）
１５ａ                                      クリティカル論理回路
１５ｂ                                      サブクリティカル論理回路
１７                                        セレクタ（選択手段）
１８，１８ａ                                後段論理回路
１８ｂ                                      サブ後段論理回路
b-ck                                        システムクロック
D-ck                                        １／２クロック
d-ck                                        遅れクロック
fd-ck                                       進み１／２クロック
【図１】
0003765644.tif 000002
【図２】
0003765644.tif 000003
【図３】
0003765644.tif 000004
【図４】
0003765644.tif 000005
【図５】
0003765644.tif 000006
【図６】
0003765644.tif 000007
【図７】
0003765644.tif 000008
【図８】
0003765644.tif 000009
【図９】
0003765644.tif 000010
【図１０】
0003765644.tif 000011