(57)【要約】【課題】  同期のタイミングをずらすことなく、消費電力を確実に削減可能な順序回路および論理合成装置を提供する。【解決手段】  本発明に係る順序回路は、第１クロック信号CPに同期して入力信号INを保持する第１保持回路１と、第２クロック信号G_CPに同期して第１保持回路１の保持信号を保持する第２保持回路２と、第１保持回路１の保持信号が第２保持回路２の保持信号と論理が異なる場合のみ第２クロック信号G_CPを生成するクロック生成回路３とを備えている。第１保持回路１の保持信号、すなわち第２保持回路２が次に保持すべき信号が第２保持回路２の現在の保持信号と論理が異なる場合のみ、第２保持回路２で保持動作を行うようにしたため、第２保持回路２の保持回数を削減でき、第２保持回路２の消費電力を削減できる。【選択図】  図１
2005295171.tif 000002
【特許請求の範囲】
【請求項１】
第１クロック信号に同期して入力信号を保持する第１保持回路と、
第２クロック信号に同期して前記第１保持回路の保持信号を保持する第２保持回路と、
前記第１保持回路の保持信号が前記第２保持回路の保持信号と論理が異なる場合のみ前記第２クロック信号を生成するクロック生成回路と、を備えることを特徴とする順序回路。
【請求項２】
前記クロック生成回路は、前記第１保持回路の保持信号が前記第２保持回路の保持信号と論理が異なる場合には、前記第１保持回路の保持信号の論理が変化してから前記第１クロック信号の１周期以内に前記第２クロック信号の論理を変化させることを特徴とする請求項１に記載の順序回路。
【請求項３】
前記第１保持回路および前記第２保持回路は、いずれも立ち上がりエッジで信号を保持するか、あるいはいずれも立ち下がりエッジで信号を保持することを特徴とする請求項１または２に記載の順序回路。
【請求項４】
前記クロック生成回路は、前記第１保持回路の保持信号と、前記第２保持回路の保持信号と、前記第１クロック信号との論理演算により前記第２クロック信号を生成することを特徴とする請求項１乃至３のいずれかに記載の順序回路。
【請求項５】
所定の回路の動作が所定のプログラミング言語で記述されたプログラムに基づいて、回路を自動合成する論理合成装置において、
自動合成された回路の中に、同相のクロックエッジで保持動作を行う縦続接続された第１保持回路および第２保持回路が存在するか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記第１保持回路の保持信号が前記第２保持回路の保持信号と論理が異なる場合のみ前記第２保持回路にクロック信号を供給するクロック生成回路を自動合成した回路に挿入するか否かを決定する回路挿入決定手段と、を備えることを特徴とする論理合成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力信号をクロック信号に同期させる順序回路に関する。
【背景技術】
【０００２】
半導体デバイスは、集積回路技術の進歩発展に伴い、集積度が高くなる傾向にあり、それに伴って動作速度も速くなりつつある。半導体デバイス内には、多数の論理回路（ANDゲートなどのゲート回路）や順序回路（Ｄフリップフロップやラッチ回路など）があるが、動作速度の向上に伴い、これらの回路の信号伝搬遅延時間が回路動作上無視できなくなってきている。
【０００３】
このため、論理回路を通過した信号を、順序回路で同期化する手法が一般に採用されている（特許文献１参照）。
【０００４】
半導体デバイス内には、多数の論理回路が存在するため、それに比例して順序回路の数も多くなる。順序回路は、クロック信号に同期して入力信号を保持する動作を周期ごとに繰り返すため、順序回路の数が多いほど半導体デバイスの消費電力が増大する。
【０００５】
順序回路の出力論理は、入力信号の論理が変化しない場合には変化しないが、そのような場合でも、クロック信号の周期ごとに保持動作を繰り返すため、入力信号の論理がめったに変化しない場合には、無駄に電力を消費することになる。
【０００６】
上述した特許文献１のラッチ回路は、入力データが変化してクロック信号も変化した場合のみ、ラッチ回路でラッチし直すようにしている。
【０００７】
しかしながら、特許文献１のラッチ回路は、本来的に出力データのノイズ発生を抑制することを目的としており、クロック信号のエッジと入力信号の変化時刻とのタイミングのずれにより、出力論理が変化するタイミングが１クロックずれ、信号のタイミングがずれるおそれがある。
【０００８】
また、特許文献１のラッチ回路は、ラッチ回路に入力信号を供給する前段の回路についてまったく触れておらず、ラッチ回路にどのようなタイミングでどのような入力信号が供給されるのか不明である。
【特許文献１】特開平9-214297号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、同期のタイミングをずらすことなく、消費電力を確実に削減可能な順序回路および論理合成装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明の一態様によれば、第１クロック信号に同期して入力信号を保持する第１保持回路と、第２クロック信号に同期して前記第１保持回路の保持信号を保持する第２保持回路と、前記第１保持回路の保持信号が前記第２保持回路の保持信号と論理が異なる場合のみ前記第２クロック信号を生成するクロック生成回路と、を備える順序回路が提供される。
【００１１】
また、本発明の一態様によれば、所定の回路の動作が所定のプログラミング言語で記述されたプログラムに基づいて、回路を自動合成する論理合成装置において、自動合成された回路の中に、同相のクロックエッジで保持動作を行う縦続接続された第１保持回路および第２保持回路が存在するか否かを判定する判定手段と、前記判定手段の判定結果に基づいて、前記第１保持回路の保持信号が前記第２保持回路の保持信号と論理が異なる場合のみ前記第２保持回路にクロック信号を供給するクロック生成回路を自動合成した回路に挿入するか否かを決定する回路挿入決定手段と、を備える順序回路が提供される。
【発明の効果】
【００１２】
本発明によれば、第２保持回路が保持動作を行う回数を減らせるため、消費電力の削減が図れる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら本発明の一実施形態について説明する。
【００１４】
（第１の実施形態）
図１は本発明の順序回路に係る第１の実施形態の回路図である。図１の順序回路は、第１クロック信号CPに同期して入力信号INを保持する第１保持回路１と、第２クロック信号G_CPに同期して第１保持回路１の保持信号を保持する第２保持回路２と、第１保持回路１の保持信号が第２保持回路２の保持信号と論理が異なる場合のみ第２クロック信号G_CPを生成するクロック生成回路３とを備えている。
【００１５】
第１保持回路１と第２保持回路２は、例えばフリップフロップ（F/F）を用いて構成される。第１保持回路１が第１クロック信号CPの立ち上がりエッジで保持動作を行う場合には、第２保持回路２も第２クロック信号G_CPの立ち上がりエッジで保持動作を行う。また、第１保持回路１が第１クロック信号CPの立ち下がりエッジで保持動作を行う場合には、第２保持回路２も第２クロック信号G_CPの立ち下がりエッジで保持動作を行う。
【００１６】
クロック生成回路３は、第１保持回路１の保持信号が第２保持回路２の保持信号と論理が同じ場合には第２クロック信号G_CPを生成しないため、第２保持回路２が保持動作を行う回数が少なくなる。第２保持回路２の消費電力は、保持動作を行う回数が多いほど増大するため、その回数が少なくなることで、消費電力も少なくなる。
【００１７】
クロック生成回路３は、第１保持回路１の保持信号と、第２保持回路２の保持信号と、第１クロック信号CPとの間で論理演算を行って、第２クロック信号G_CPを生成する。より具体的には、クロック生成回路３は、ゲート回路を組み合わせて構成される。
【００１８】
このように、第１の実施形態では、第１保持回路１の保持信号、すなわち第２保持回路２が次に保持すべき信号が第２保持回路２の現在の保持信号と論理が異なる場合のみ、第２保持回路２で保持動作を行うようにしたため、第２保持回路２の保持回数を削減でき、第２保持回路２の消費電力を削減できる。
【００１９】
（第２の実施形態）
第２の実施形態は、第１の実施形態の具体例であり、第１保持回路１と第２保持回路２が立ち上がりエッジで保持動作を行うものである。
【００２０】
図２は本発明の順序回路に係る第２の実施形態の回路図である。図２の順序回路は、第１クロック信号CPの立ち上がりエッジで保持動作を行う第１保持回路１と、第２クロック信号G_CPの立ち上がりエッジで保持動作を行う第２保持回路２と、第２クロック信号G_CPを生成するクロック生成回路３とを備えている。
【００２１】
第２保持回路２は、Ｄ型フリップフロップ（以下、D F/F）で構成されている。クロック生成回路３は、ExNOR（Exclusive NOR)ゲート１１と、EXNORゲート１１の後段に接続されるORゲート１２とを有する。ExNORゲート１１は、第１保持回路１の保持信号と第２保持回路２の保持信号との間で排他的論理和の反転論理を演算する。より具体的には、第１保持回路１の保持信号と第２保持回路２の保持信号がともに同じ論理の場合には、ハイレベル信号を出力し、第１保持回路１の保持信号と第２保持回路２の保持信号が互いに逆論理の場合には、ローレベル信号を出力する。ORゲート１２は、ExNORゲート１１の保持信号と第１クロック信号CPとの論理和を演算する。
【００２２】
図３は図２の順序回路の動作タイミング図である。図３において、Ｄは第１保持回路１の保持信号、Ｑは第２保持回路２の保持信号、Ｄ＾Ｑは保持信号Ｄ，Ｑの排他的論理和信号、〜（Ｄ＾Ｑ）はExNORゲート１１の出力信号、Ｇ＿ＣＰはORゲート１２の出力信号である。
【００２３】
図３の時刻ｔ１以前は第１保持回路１の保持信号と第２保持回路２の保持信号はともにローレベルであるとする。この場合、クロック生成回路３内のExNORゲート１１の出力はハイレベルであり、クロック生成回路３の出力である第２クロック信号G_CPも常にハイレベルである。すなわち、時刻ｔ１以前は、第２クロック信号G_CPはハイレベル固定である。
【００２４】
時刻ｔ１における第１クロック信号CPの立ち上がりエッジで第１保持回路１の出力がハイレベルになったとすると、クロック生成回路３内のExNORゲート１１の出力はローレベルになる。ただし、この時点では、第１クロック信号CPはハイレベルであるため、クロック生成回路３内のORゲート１２の出力はハイレベルのままである。
【００２５】
その後、時刻ｔ２で第１クロック信号CPがローレベルになると、ORゲート１２の出力すなわち第２クロック信号G_CPはローレベルになる。このORゲート１２の出力は、時刻ｔ３で第１クロック信号CPがハイレベルになったときにハイレベルになる。すなわち、このとき、第２クロック信号G_CPに立ち上がりエッジが出現する。これにより、第２保持回路２は新たな保持動作を行い、第２保持回路２の出力はハイレベルになる。それに応じて、ExNORゲート１１の出力がハイレベルになり、第２クロック信号G_CPはハイレベル状態を保持する。
【００２６】
このように、第２実施形態では、ExNORゲート１１とORゲート１２でクロック生成回路３を構成して、第１保持回路１の保持信号と第２保持回路２の保持信号が互いに異なる論理の場合のみ、第２保持回路２で保持動作を行うようにしたため、第２保持回路２が保持動作を行う回数を大幅に削減できる。
【００２７】
（第３の実施形態）
第３の実施形態は、第１の実施形態の具体例であり、第１保持回路１と第２保持回路２が立ち下がりエッジで保持動作を行うものである。
【００２８】
図４は本発明の順序回路に係る第３の実施形態の回路図である。図４の順序回路は、第１クロック信号CPの立ち下がりエッジで保持動作を行う第１保持回路１と、第２クロック信号G_CPの立ち下がりエッジで保持動作を行う第２保持回路２と、第２クロック信号G_CPを生成するクロック生成回路３とを備えている。
【００２９】
第２保持回路２は、Ｄ型フリップフロップ（以下、D F/F）で構成されている。クロック生成回路３は、ExOR（Exclusive OR)ゲート１３と、EXORゲート１３の後段に接続されるANDゲート１４とを有する。EXORゲート１３は、第１保持回路１の保持信号と第２保持回路２の保持信号との間で排他的論理和を演算する。より具体的には、第１保持回路１の保持信号と第２保持回路２の保持信号がともに同じ論理の場合には、ローレベル信号を出力し、第１保持回路１の保持信号と第２保持回路２の保持信号が互いに逆論理の場合には、ハイレベル信号を出力する。ANDゲート１４は、EXORゲート１３の出力信号と第１クロック信号CPとの論理積を演算する。
【００３０】
図５は図４の順序回路の動作タイミング図である。図５において、Ｄは第１保持回路１の保持信号、Ｑは第２保持回路２の保持信号、Ｄ＾ＱはExORゲート１３の出力信号、Ｇ＿ＣＰはANDゲート１４の出力信号である。
【００３１】
図５の時刻ｔ１以前は第１保持回路１の保持信号と第２保持回路２の保持信号はともにローレベルであるとする。この場合、クロック生成回路３内のEXORゲート１３の出力はローレベルであり、クロック生成回路３の出力である第２クロック信号G_CPも常にローレベルである。すなわち、時刻ｔ１以前は、第２クロック信号G_CPはローレベル固定である。
【００３２】
時刻ｔ１における第１クロック信号CPの立ち下がりエッジで第１保持回路１の出力がハイレベルになったとすると、クロック生成回路３内のEXORゲート１３の出力はハイレベルになる。ただし、この時点では、第１クロック信号CPはローレベルであるため、クロック生成回路３内のANDゲート１４の出力はローレベルのままである。
【００３３】
その後、時刻ｔ２で第１クロック信号CPがローレベルになると、ANDゲート１４の出力すなわち第２クロック信号G_CPはハイレベルになる。このANDゲート１４の出力は、時刻ｔ３で第１クロック信号CPがローレベルになったときにローレベルになる。すなわち、このとき、第２クロック信号G_CPに立ち下がりエッジが出現する。これにより、第２保持回路２は新たな保持動作を行い、第２保持回路２の出力はハイレベルになる。それに応じて、EXORゲート１３の出力がローレベルになり、第２クロック信号G_CPはローレベル状態を保持する。
【００３４】
このように、第３の実施形態では、EXORゲート１３とANDゲート１４でクロック生成回路３を構成して、第１保持回路１の保持信号と第２保持回路２の保持信号が互いに異なる論理の場合のみ、第２保持回路２で保持動作を行うようにしたため、第２保持回路２が保持動作を行う回数を大幅に削減できる。
【００３５】
（第４の実施形態）
第４の実施形態は、クロック生成回路３内にラッチ回路を設けるものである。
【００３６】
図６は本発明の順序回路に係る第４の実施形態の回路図である。図６の順序回路は、図２とはクロック生成回路３の回路構成が異なっている。
【００３７】
図６のクロック生成回路３は、EXORゲート１３と、ラッチ回路１５と、ANDゲート１４とを有する。EXORゲート１３は、第１保持回路１の保持信号と第２保持信号の保持信号との排他的論理和を演算する。ラッチ回路１５は、第１クロック信号CPの立ち下がりエッジでEXORゲート１３の出力をラッチする。ANDゲート１４は、ラッチ回路１５のラッチ出力と第１クロック信号CPとの論理積を演算する。
【００３８】
図７は図６の順序回路の動作タイミング図である。図７において、Ｄは第１保持回路１の保持信号、Ｑは第２保持回路２の保持信号、Ｄ＾ＱはExORゲート１３の出力信号、「ラッチ後」はラッチ回路１５の出力信号、Ｇ＿ＣＰはANDゲート１４の出力信号である。
【００３９】
図７の時刻ｔ１以前は第１保持回路１の保持信号と第２保持回路２の保持信号はともにローレベルであるとする。この場合、クロック生成回路３内のEXORゲート１３は、ローレベルを出力する。このため、ラッチ回路１５の出力も常にローレベルであり、ANDゲート１４の出力も常にローレベルである。
【００４０】
時刻ｔ１における第１クロック信号CPの立ち上がりエッジで第１保持回路１の出力がハイレベルになったとすると、EXORゲート１３の出力はハイレベルになる。このため、時刻ｔ２で第１クロック信号CPが立ち下がったときに、ラッチ回路１５の出力はハイレベルになる。この時点では、第１クロック信号CPはローレベルであるため、ANDゲート１４の出力はローレベルのままである。
【００４１】
その後、時刻ｔ３で第１クロック信号CPが立ち上がると、ANDゲート１４の出力すなわち第２クロック信号G_CPはハイレベルになり、第２保持回路２は保持動作を行い、第２保持回路２の保持信号はハイレベルになる。
【００４２】
このように、第４の実施形態では、EXORゲート１３の出力を、第１および第２保持回路１，２と異相のクロックエッジで保持動作を行うラッチ回路１５で第１クロック信号CPに同期化させて第２クロック信号G_CPを生成するため、第２クロック信号G_CPにノイズが重畳されるおそれがなくなり、動作が安定化する。
【００４３】
（第５の実施形態）
第５の実施形態は、第４の実施形態の変形例であり、第１および第２クロック信号G_CPの立ち下がりエッジで保持動作を行うものである。
【００４４】
図８は本発明の順序回路に係る第５の実施形態の回路図である。図８の順序回路は、第１保持回路１と第２保持回路２がいずれも立ち下がりエッジで保持動作を行い、かつクロック生成回路３内のラッチ回路１５が第１クロック信号CPの立ち上がりエッジでラッチを行う以外は、図６の順序回路と同様に構成されている。
【００４５】
図９は図８の順序回路の動作タイミング図である。図９において、Ｄは第１保持回路１の保持信号、Ｑは第２保持回路２の保持信号、Ｄ＾Ｑは保持信号Ｄ，Ｑの排他的論理和信号、〜（Ｄ＾Ｑ）はExNORゲート１１の出力信号、「ラッチ後」はラッチ回路１５の出力信号、Ｇ＿ＣＰはORゲート１２の出力信号である。
【００４６】
図９の時刻ｔ１における第１クロック信号CPの立ち下がりエッジで第１保持回路１の出力がハイレベルになったとすると、EXNORゲート１１の出力はハイレベルになる。このため、時刻ｔ２で第１クロック信号CPが立ち上がったときに、ラッチ回路１５の出力はハイレベルになる。この時点では、第１クロック信号CPはハイレベルであるため、ORゲート１２の出力はハイレベルのままである。
【００４７】
その後、時刻ｔ３で第１クロック信号CPが立ち下がると、ORゲート１２の出力すなわち第２クロック信号G_CPはローレベルになり、第２保持回路２は保持動作を行い、第２保持回路２の保持信号はハイレベルになる。
【００４８】
このように、第５の実施形態では、EXNORゲート１１の出力をいったんラッチ回路１５で第１クロック信号CPに同期化させて第２クロック信号G_CPを生成するため、第２クロック信号G_CPにノイズが重畳されるおそれがなくなり、動作が安定化する。
【００４９】
（第６の実施形態）
最近は、デジタル回路をコンピュータで自動合成することが多い。そこで、本実施形態では、順序回路を含むデジタル回路を、コンピュータを用いた自動合成により生成する場合に、必要に応じて、第１〜第５の実施形態に示したクロック生成回路３を自動的に挿入するものである。
【００５０】
図１０は本発明の一実施形態に係る論理合成システムの概略構成を示すブロック図である。図１０の論理合成システムは、回路の動作を所定のプログラミング言語で記述したプログラムを入力する入力装置２１と、入力されたプログラムを解析するコンパイラ２２と、任意に使用可能なデジタル回路部品のデータを格納するセルライブラリ装置２３と、コンパイラ２２の解析結果とセルライブラリ装置２３に基づいてデジタル回路を自動合成するコンピュータ２４と、自動合成したデジタル回路に対応するネットリストを生成するネットリスト生成装置２５とを備えている。
【００５１】
図１１はコンピュータ２４が行う論理合成処理の処理手順の一例を示すフローチャートである。まず、自動合成した回路中に、同相のクロックエッジで保持動作を行う上述した第１保持回路１と第２保持回路２が存在するか否かを判定する（ステップＳ１）。存在しない場合には、第１〜第５の実施形態で説明したクロック生成回路３は挿入せず、第２保持回路２には第１保持回路１と同じ第１クロック信号CPを供給する（ステップＳ２）。
【００５２】
ステップＳ１で存在すると判定されると、安定な第２クロック信号G_CPを生成できるか否かを判定する（ステップＳ３）。第１クロック信号CPの周波数が非常に速い場合や、クロック生成回路３内のEXORゲート１３等の信号伝搬時間が長い場合は、第２クロック信号G_CPのパルス幅は狭くなりすぎ、安定な第２クロック信号G_CPを生成できないおそれがある。このため、ステップＳ３では、第１クロック信号CPの周波数やクロック生成回路３内の各ゲート回路の信号伝搬時間に基づいて、安定な第２クロック信号G_CPを生成できるか否かを判定する。
【００５３】
ステップＳ３で生成できないと判定されるとステップＳ２の処理を行い、生成できると判定されると、図２等で説明したクロック生成回路３を挿入する（ステップＳ４）。次に、自動合成した回路中の第１保持回路１と第２保持回路２が立ち上がりエッジで保持動作を行うか否かを判定する（ステップＳ５）。立ち上がりエッジで保持動作を行う場合には、図２または図６のクロック生成回路３を挿入し（ステップＳ６）、立ち下がりエッジで保持動作を行う場合には、図４または図８のクロック生成回路３を挿入する（ステップＳ７）。
【００５４】
上述したステップＳ１〜Ｓ７の処理は、自動合成した回路全体について行われる。
【００５５】
このように、第６の実施形態では、デジタル回路を自動合成する場合に、必要に応じてクロック生成回路３を自動的に挿入するようにしたため、ユーザが特に意識せずに回路設計を行っても、デジタル回路全体の消費電力を削減できる。
【図面の簡単な説明】
【００５６】
【図１】本発明の順序回路に係る第１の実施形態の回路図。
【図２】本発明の順序回路に係る第２の実施形態の回路図。
【図３】図２の順序回路の動作タイミング図。
【図４】本発明の順序回路に係る第３の実施形態の回路図。
【図５】図４の順序回路の動作タイミング図。
【図６】本発明の順序回路に係る第４の実施形態の回路図。
【図７】図６の順序回路の動作タイミング図。
【図８】本発明の順序回路に係る第５の実施形態の回路図。
【図９】図８の順序回路の動作タイミング図。
【図１０】本発明の一実施形態に係る論理合成システムの概略構成を示すブロック図。
【図１１】コンピュータ２４が行う論理合成処理の処理手順の一例を示すフローチャート。
【符号の説明】
【００５７】
１  第１保持回路
２  第２保持回路
３  クロック生成回路
１１  ExNORゲート
１２  ORゲート
１３  ExORゲート
１４  ANDゲート
１５  ラッチ回路
【図１】
2005295171.tif 000003
【図２】
2005295171.tif 000004
【図３】
2005295171.tif 000005
【図４】
2005295171.tif 000006
【図５】
2005295171.tif 000007
【図６】
2005295171.tif 000008
【図７】
2005295171.tif 000009
【図８】
2005295171.tif 000010
【図９】
2005295171.tif 000011
【図１０】
2005295171.tif 000012
【図１１】
2005295171.tif 000013