(57)【特許請求の範囲】
【請求項１】
入力されるデータを第１のクロックパルスに応じて保持し、保持しているデータを出力する前段のデータ保持回路と、
前記前段のデータ保持回路の出力データを、前記第１のクロックパルスとは非同期の第２のクロックパルスに応じて保持し、保持しているデータを出力する後段のデータ保持回路とを含むデータ伝送回路であって、
前記データ伝送回路は、前記第１のクロックパルスの立ち上りのタイミングで立ち下る制御信号と前記第２のクロックパルスの立ち上りのタイミングで立ち上る入力信号とが入力され、前記第１のクロックパルスのエッジと前記第２のクロックパルスのエッジが異なるタイミングで生じている場合には、前記第２のクロックパルスに同期したパルスを有する信号を前記後段のデータ保持回路に供給し、前記第１のクロックパルスのエッジと前記第２のクロックパルスのエッジが同一のタイミングで生じている場合には、前記第２のクロックパルスを除去した信号を前記後段のデータ保持回路に供給するパルス生成手段を有し、
前記後段のデータ保持回路は、前記パルス生成手段によって生成されたパルスに同期して前記前段のデータ保持回路の出力データを保持することを特徴とするデータ伝送回路。
【請求項２】
前記パルス生成手段は、
前記第１のクロックパルスのエッジが生じたタイミングで生成され且つ所定のパルス幅を有する第１パルスを生成する手段と、
前記第２のクロックパルスのエッジが生じたタイミングで生成され且つ所定のパルス幅を有する第２パルスを生成する手段と、
前記第１パルスと前記第２パルスが重複して生じる期間においては、信号レベルを低レベルに維持し、前記第１パルスと前記第２パルスが重複して生じていない期間においては、前記第２パルスの信号レベルを有する第３パルスを生成する手段と、
前記第３パルスのエッジが生じたタイミングで生成され且つ所定のパルス幅を有する第４パルスを生成する手段と、を有し、
前記パルス生成手段は、前記第４パルスを前記後段のデータ保持回路に供給することを特徴とする請求項１に記載のデータ伝送回路。
【請求項３】
前記第４パルスを生成する手段は、前記第３パルスのエッジが生じたタイミングで前記第４パルスを生成するフリップフロップを含むことを特徴とする請求項２に記載のデータ伝送回路。
【請求項４】
前記パルス生成手段は、データ伝送のタイミングを遅延せしめる遅延素子を含み、
前記第１、第２および第４パルスのパルス幅は、前記遅延素子によって付与される遅延時間によって定められていることを特徴とする請求項２又は３に記載のデータ伝送回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、従属接続された複数のデータ保持回路を含むデータ伝送装置に関する。
【従来技術】
【０００２】
図１に、第１のクロックパルスＣＬＫ１に同期して動作する前段フリップフロップＦＦ１−２およびＦＦ１−２と、ＣＬＫ１とは非同期の第２のクロックパルスＣＬＫ２に同期して動作する後段フリップフロップＦＦ２−１およびＦＦ２−２からなるデータ伝送回路の構成を示す。
【０００３】
図２は、図１に示すデータ伝送回路の動作を示すタイミングチャートである。図２に示すように、前段のフリップフロップＦＦ１−１およびＦＦ１−２は、それぞれ、第１のクロックパルスＣＬＫ１の立ち上りのタイミングで入力データＤ１−１およびＤ１−２を保持し、これをそれぞれデータＤ２−１およびＤ２−２として出力する。後段のフリップフロップＦＦ２−１およびＦＦ２−２は、それぞれ、第２のクロックパルスＣＬＫ２の立ち上りのタイミングで前段のフリップＦＦ１−１、ＦＦ１−２より出力されるデータＤ２−１およびデータＤ２−２を保持し、これをそれぞれデータＤ３−１およびデータＤ３−２として出力する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】平２−１８０４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
図３は、上記した構成のデータ伝送回路において、第１のクロックパルスＣＬＫ１と第２のクロックパルスＣＬＫ２がほぼ同じタイミングで立ち上がった場合の動作を示すタイミングチャートである。
【０００６】
図３に示すように、前段のフリップフロップＦＦ１−１およびＦＦ１−２は、それぞれ第１のクロックパルスＣＬＫ１に同期してデータＤ１−１およびデータＤ１−２を保持することができる。一方、後段のフリップフロップＦＦ２−１およびＦＦ２−２においては、前段のフリップフロップからデータＤ２−１およびデータＤ２−２が出力されるタイミングと、第２クロックパルスＣＬＫ２の立ち上がりのタイミングがほぼ一致するため、データ保持動作が不安定となる。例えば、フリップフロップＦＦ２−１は、当該第２のクロックパルスＣＬＫ２に同期した保持動作を行うことができず、ＣＬＫ２が立ち上がる前から保持していた値を継続して出力する一方、フリップフロップＦＦ２−２は、当該第２のクロックパルスＣＬＫ２に同期して保持した値を出力するといった動作となる場合がある。すなわち、従来のデータ伝送回路においては、クロックパルスＣＬＫ１とＣＬＫ２が競合した場合に、後段のフリップフロップＦＦ２−１とＦＦ２−２において出力が整合しないといった問題があった。
【０００７】
本発明は、上記した点に鑑みてなされたものであり、上記の如く互いに独立して生成されるクロックパルス同士が競合する場合においても、後段のフリップフロップにおける出力間の不整合を防止し得るデータ伝送回路を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のデータ伝送回路は、入力されるデータを第１のクロックパルスに応じて保持し、保持しているデータを出力する前段のデータ保持回路と、前記前段のデータ保持回路の出力データを、前記第１のクロックパルスとは非同期の第２のクロックパルスに応じて保持し、保持しているデータを出力する後段のデータ保持回路とを含むデータ伝送回路であって、前記データ伝送回路は、前記第１のクロックパルスの立ち上りのタイミングで立ち下る制御信号と前記第２のクロックパルスの立ち上りのタイミングで立ち上る入力信号とが入力され、前記第１のクロックパルスのエッジと前記第２のクロックパルスのエッジが異なるタイミングで生じている場合には、前記第２のクロックパルスに同期したパルスを有する信号を前記後段のデータ保持回路に供給し、前記第１のクロックパルスのエッジと前記第２のクロックパルスのエッジが同一のタイミングで生じている場合には、前記第２のクロックパルスを除去した信号を前記後段のデータ保持回路に供給するパルス生成手段を有し、前記後段のデータ保持回路は、前記パルス生成手段によって生成されたパルスに同期して前記前段のデータ保持回路の出力データを保持することを特徴としている。
【発明の効果】
【０００９】
本発明に係るデータ伝送回路によれば、互いに独立した非同期のクロックパルスで動作する前段フリップおよび後段フリップフロップを含むデータ保持回路において、クロックパルス同士が競合する場合でも、後段のフリップフロップにおける出力間の不整合を防止することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】従来のデータ伝送回路の構成を示すブロック図である。
【図２】従来のデータ伝送回路の動作を示すタイミングチャートである。
【図３】従来のデータ伝送回路の動作を示すタイミングチャートである。
【図４】本発明の実施例に係るデータ伝送回路の構成を示すブロック図である。
【図５】本発明の実施例に係るデータ伝送回路の動作を示すタイミングチャートである。
【図６】本発明の実施例に係るデータ伝送回路の動作を示すタイミングチャートである。
【図７】本発明の実施例に係るデータ伝送回路の動作を示すタイミングチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施例について図面を参照しつつ説明する。
【００１２】
図４は、本発明の実施例に係るデータ伝送回路の構成を示すブロック図である。従来構成と同様、フリップフロップＦＦ１−１（以下ＦＦ１−１と称する）とフリップフロップＦＦ２−１（以下ＦＦ２−１と称する）は従属接続され、フリップフロップＦＦ１−２（以下ＦＦ１−２と称する）とフリップフロップＦＦ２−２（以下ＦＦ２−２と称する）は従属接続されている。前段のＦＦ１−１およびＦＦ１−２は、第１のクロックパルスＣＬＫ１（以下単にＣＬＫ１とも称する）に基づいて動作するが、ＣＬＫ１は、遅延素子１３および１４等を含むパルス生成手段によりクロックパルスＣＬＫ３（以下単にＣＬＫ３と称する）に変換されてＦＦ１−１およびＦＦ１−２に供給される。一方、後段のＦＦ２−１およびＦＦ２−２は、第２のクロックパルスＣＬＫ２（以下単にＣＬＫ２とも称する）に基づき動作するが、ＣＬＫ２は遅延素子１７およびフリップフロップＦＦ３（以下単にＦＦ３と称する）等を含むパルス手段によりクロックパルスＣＬＫ６（以下単にＣＬＫ６と称する）に変換されて、ＦＦ２−１およびＦＦ２−２に供給される。
【００１３】
第１のクロックパルスＣＬＫ１は、遅延素子１３、インバータ５０、遅延素子１４を経てＡＮＤ回路６０の一方の入力に供給される。ＡＮＤ回路６０の他方の入力には、遅延素子１３の出力が入力される。ＡＮＤ回路６０は、かかる２つの入力信号の論理積をＣＬＫ３として出力し、これを前段のＦＦ１−１およびＦＦ１−２に供給する。
【００１４】
第２のクロックパルスＣＬＫ２は、インバータ５１、遅延素子１７を経てＡＮＤ回路６１の一方の入力に供給される。ＡＮＤ回路６１の他方の入力にはＣＬＫ２がそのまま供給される。ＡＮＤ回路６１は、かかる２つの入力信号の論理積をクロックパルスＣＬＫ４（第２パルス）として出力する。
【００１５】
一方、ＣＬＫ１はＮＡＮＤ回路６２の一方の入力に供給される。ＮＡＮＤ回路６２の他方の入力には遅延素子１４の出力が供給される。ＮＡＮＤ回路６２は、かかる２つの入力信号の否定論理積をイネーブル信号ＥＮＢ（第１パルス）として出力する。
イネーブル信号ＥＮＢとＣＬＫ４は、ＡＮＤ回路６３に供給される。ＡＮＤ回路６３は、かかる２つの入力信号の論理積をクロックパルスＣＬＫ５（第３パルス）として出力する。イネーブル信号ＥＮＢは、前段のＦＦ１−１およびＦＦ１−２がＣＬＫ３に同期して保持動作を行っているタイミングでＣＬＫ５が出力されないようにするための制御信号である。
【００１６】
ＦＦ３は、ＣＬＫ５の立ち上りのタイミングで論理値“１”を出力し、ＦＦ３の出力信号を遅延素子２０により遅延させたリセット信号ＲＳによってリセットをかけて論理値“０”を出力する。かかるＦＦ３の出力信号は、クロックパルスＣＬＫ６（第４パルス）として後段のＦＦ２−１およびＦＦ２−２に供給される。ＦＦ３のデータ入力端子にはデータ“１”が固定的に入力される。
【００１７】
以下に、上記構成を有する本発明のデータ伝送回路の動作について説明する。はじめに、第１のクロックパルスＣＬＫ１と第２のクロックパルスＣＬＫ２が競合しない場合、すなわち、これらのクロックパルスのエッジが互いに異なったタイミングで生じる場合の動作について図５に示すフローチャートを参照しつつ説明する。
【００１８】
第１のクロックパルスＣＬＫ１の立ち上がりに応じてクロックパルスＣＬＫ３およびネーブル信号ＥＮＢが生成される。ＣＬＫ３は、ＣＬＫ１の立ち上がりに対して遅延素子１３によって付与される遅延時間Ｄ１だけ遅れて立ち上がり、遅延素子１４によって付与される遅延時間Ｄ２の期間だけ論理値“１”を維持する。ＣＬＫ３は、前段のＦＦ１−１およびＦＦ１−２に供給される。ＥＮＢは、ＣＬＫ１の立ち上りのタイミングで立ち下り、遅延時間Ｄ１とＤ２を合計した期間だけ論理値“０”を維持する。
【００１９】
第２のクロックパルスＣＬＫ２の立ち上りに応じてクロックパルスＣＬＫ４が生成される。ＣＬＫ４は、ＣＬＫ２の立ち上りのタイミングで立ち上り、遅延素子１７によって付与される遅延時間Ｄ３の期間だけ論理値“１”を維持する。
【００２０】
ＣＬＫ４の立ち上りのタイミングにおいては、ＥＮＢは論理値“１”に復帰しているので、ＣＬＫ４は、ＡＮＤ回路６３を介してそのままクロックパルスＣＬＫ５として出力され、ＦＦ３に供給される。ＣＬＫ５の立ち上りのタイミングで立ち上り、遅延素子２０によって付与される遅延時間Ｄ４の期間だけ論理値“１”を維持しているクロックパルスＣＬＫ６がＦＦ３によって生成され、これが後段のＦＦ２−１およびＦＦ２−２に供給される。
【００２１】
前段のＦＦ１−１には、図５に示すタイミングでデータＤ１−１が供給されるものとする。前段のＦＦ１−２には、データＤ１−１を位相反転させたデータＤ１−２が供給されるものとする。前段のＦＦ１−１およびＦＦ１−２は、それぞれＣＬＫ１に基づいて生成されたＣＬＫ３の立ち上りエッジでデータＤ１−１およびデータＤ１−２を保持し、これをデータＤ２−１およびデータＤ２−２として出力する。
【００２２】
後段のＦＦ２−１およびＦＦ２−２は、それぞれＣＬＫ１およびＣＬＫ２に基づいて生成されたＣＬＫ６の立ち上りエッジで前段のＦＦ１−１およびＦＦ１−２から出力されたデータＤ２−１およびデータＤ２−２を保持してデータＤ３−１およびデータＤ３−２として出力する。
【００２３】
このように、本実施例に係るデータ伝送回路によれば、ＣＬＫ１およびＣＬＫ２が競合していない場合には、後段のＦＦ２−１およびＦＦ２−２は、前段のＦＦ１−１およびＦＦ１−２により出力されたデータＤ２−１およびデータＤ２−２をＣＬＫ２に応じて適正に保持および出力することができる。
次に、第１のクロックパルスＣＬＫ１と第２のクロックパルスＣＬＫ２が競合する場合の第１の例、すなわち、これらのクロックパルスがほぼ同じタイミングで立ち上がる場合の動作について図６に示すフローチャートを参照しつつ説明する。
【００２４】
ＣＬＫ１の立ち上がり応じてＣＬＫ３およびＥＮＢが生成される。ＣＬＫ３は、ＣＬＫ１の立ち上がりに対して遅延素子１３によって付与される遅延時間Ｄ１だけ遅れて立ち上がり、遅延素子１４によって付与される遅延時間Ｄ２の期間だけ論理値“１”を維持する。ＣＬＫ３は、前段のＦＦ１−１およびＦＦ１−２に供給される。ＥＮＢは、ＣＬＫ１の立ち上りのタイミングで立ち下り、遅延時間Ｄ１とＤ２を合計した期間だけ論理値“０”を維持する。
【００２５】
ＣＬＫ４は、ＣＬＫ２の立ち上りに応じて生成される。ＣＬＫ４は、ＣＬＫ２の立ち上りのタイミングで立ち上り、遅延素子１７によって付与される遅延時間Ｄ３の期間だけ論理値“１”を維持する。
【００２６】
ＣＬＫ４が論理値“１”を維持している期間においては、ＥＮＢは論理値“０”を維持している。従って、ＣＬＫ５は、論理値“０”を維持したままとなり、その結果、ＣＬＫ６も論理値“０”を維持したままとなる。
【００２７】
前段のＦＦ１−１には、図６に示すタイミングでデータＤ１−１が供給されるものとする。前段のＦＦ１−２には、データＤ１−１を位相反転させたデータＤ１−２が供給されるものとする。前段のＦＦ１−１およびＦＦ１−２は、それぞれＣＬＫ１に基づいて生成されたＣＬＫ３の立ち上りエッジでデータＤ１−１およびデータＤ１−２を保持し、これをデータＤ２−１およびデータＤ２−２として出力する。
【００２８】
前段のＦＦ１−１およびＦＦ１−２より出力されるデータＤ２−１およびデータＤ２−２は、後段のＦＦ２−１およびＦＦ２−２に供給される。しかしながら、ＣＬＫ６は論理値“０”を維持したままであるので、後段のＦＦ２−１およびＦＦ２−２は、前段のＦＦ１−１より供給されるデータＤ２−１およびデータＤ２−２を保持せず、ＣＬＫ２の立ち上がり以前から保持していた値を継続して保持し、出力する。このように、本実施例に係るデータ伝送回路によれば、第１のクロックパルスＣＬＫ１と第２のクロックパルスＣＬＫ２がほぼ同じタイミングで立ち上がった場合には、ＣＬＫ２に生じているエッジを除去したＣＬＫ６が生成され、これが後段のＦＦ２−１およびＦＦ２−２に供給される。これにより、当該第２のクロックパルスに基づく後段のＦＦ２−１およびＦＦ２−２によるデータ保持動作が回避されるので、ＦＦ２−１およびＦＦ２−２の出力間の不整合を防止することが可能となる。
【００２９】
次に、第１のクロックパルスＣＬＫ１と第２のクロックパルスＣＬＫ２が競合する場合の第２の例、すなわち、ＣＬＫ１の立ち上りから僅かに遅れてＣＬＫ２が立ち上がる場合の動作について図７に示すフローチャートを参照しつつ説明する。
【００３０】
ＣＬＫ１の立ち上がり応じてＣＬＫ３およびＥＮＢが生成される。ＣＬＫ３は、ＣＬＫ１の立ち上がりに対して遅延素子１３によって付与される遅延時間Ｄ１だけ遅れて立ち上がり、遅延素子１４によって付与される遅延時間Ｄ２の期間だけ論理値“１”を維持する。ＣＬＫ３は、前段のＦＦ１−１およびＦＦ１−２に供給される。ＥＮＢは、ＣＬＫ１の立ち上りのタイミングで立ち下り、遅延時間Ｄ１とＤ２を合計した期間だけ論理値“０”を維持する。
【００３１】
ＣＬＫ２の立ち上りに応じてクロックパルスＣＬＫ４が生成される。ＣＬＫ４は、ＣＬＫ２の立ち上りのタイミングで立ち上り、遅延素子１７によって付与される遅延時間Ｄ３の期間だけ論理値“１”を維持する。
【００３２】
ＣＬＫ４の立ち上りのタイミングにおいては、ＥＮＢは論理値“０”を維持しているが、ＣＬＫ４が立ち下がる前にＥＮＢは論理値“１”に遷移するため、ＣＬＫ５は、図７に示すようにヒゲ状のパルスとなる。ＣＬＫ５は、ＦＦ３に供給される。ＣＬＫ５がＦＦ３によって認識され得るパルス幅を有している場合には、ＣＬＫ５の立ち上りのタイミングで立ち上り、遅延素子２０によって付与される遅延時間Ｄ４だけ論理値“１”を維持しているＣＬＫ６がＦＦ３によって生成され、これが後段のＦＦ２−１およびＦＦ２−２に供給される。すなわち、ＣＬＫ１とＣＬＫ２の立ち上がりのタイミングが僅かな時間差を有していることに起因してＣＬＫ５がヒゲ状パルスとなった場合でも、入力信号のエッジを検出してＣＬＫ６を生成するＦＦ３によって、後段のＦＦ２−１およびＦＦ２−２へのクロックパルスの供給は安定的に行われるのである。尚、ＣＬＫ５のパルス幅が狭く、ＦＦ３によって認識されない場合には、ＣＬＫ６は、論理値“０”を維持したままとなる。
【００３３】
前段のＦＦ１−１には、図７に示すタイミングでデータＤ１−１が供給されるものとする。前段のＦＦ１−２には、データＤ１−１を位相反転させたデータＤ１−２が供給されるものとする。前段のＦＦ１−１およびＦＦ１−２は、それぞれＣＬＫ１に基づいて生成されたＣＬＫ３の立ち上りエッジでデータＤ１−１およびデータＤ１−２を保持し、これをデータＤ２−１およびデータＤ２−２として出力する。
【００３４】
後段のＦＦ２−１およびＦＦ２−２は、それぞれＣＬＫ１およびＣＬＫ２に基づいて生成されたＣＬＫ６の立ち上りエッジでデータＤ２−１およびデータＤ２−２を保持してデータＤ３−１およびデータＤ３−２として出力する。ＣＬＫ５がＦＦ３によって認識されない場合には、後段のＦＦ２−１およびＦＦ２−２は、それぞれ、前段のＦＦ１−１より供給されるデータＤ２−１およびデータＤ２−２を保持せず、ＣＬＫ２の立ち上がり以前から保持していた値を継続して保持し、出力する。このように、本実施例に係るデータ伝送回路によれば、第１のクロックパルスＣＬＫ１と、第２のクロックパルスＣＬＫ２の立ち上がりのタイミングが僅かな時間差を有していることに起因して、ＣＬＫ５がヒゲ状パルスとなった場合でも、後段のＦＦ２−１およびＦＦ２−２には所定のパルス幅を有するＣＬＫ６が供給される。ＣＬＫ５がＦＦ３によって認識されない場合には、ＣＬＫ６は論理値“０”を維持するように制御される。従って、後段のＦＦ２−１およびＦＦ２−２の出力間の不整合を防止することができる。
【００３５】
以上の説明から明らかなように、本発明のデータ伝送回路によれば、非同期の第１のクロックパルスＣＬＫ１と第２のクロックパルスＣＬＫ２がほぼ同じタイミングで立ち上がった場合には、第２のクロックパルスＣＬＫ２に生じているエッジを除去したクロックパルスＣＬＫ６が生成され、これが後段のＦＦ２−１およびＦＦ２−２に供給される。これにより、当該第２のクロックパルスに基づく後段のＦＦ２−１およびＦＦ２−２によるデータ保持動作が回避されるので、ＦＦ２−１およびＦＦ２−２の出力間の不整合を防止することが可能となる。また、第１のクロックパルスＣＬＫ１と第２のクロックパルスＣＬＫ２の立ち上がりのタイミングがわずかな時間差を有している場合でも、ＦＦ２−１およびＦＦ２−２の出力間の不整合を防止することができる。
【符号の説明】
【００３６】
ＦＦ１−１  ＦＦ１−２  前段のフリップフロップ
ＦＦ２−１  ＦＦ２−２  後段のフリップフロップ
ＣＬＫ１  第１のクロックパルス
ＣＬＫ３  第２のクロックパルス
１３、１４、１７、２０  遅延素子
【図１】
0005486354.tif 000002
【図２】
0005486354.tif 000003
【図３】
0005486354.tif 000004
【図４】
0005486354.tif 000005
【図５】
0005486354.tif 000006
【図６】
0005486354.tif 000007
【図７】
0005486354.tif 000008