JP6342168B2 - マスタースレーブ型のフリップフロップ装置 - Google Patents

マスタースレーブ型のフリップフロップ装置 Download PDF

Info

Publication number
JP6342168B2
JP6342168B2 JP2014012955A JP2014012955A JP6342168B2 JP 6342168 B2 JP6342168 B2 JP 6342168B2 JP 2014012955 A JP2014012955 A JP 2014012955A JP 2014012955 A JP2014012955 A JP 2014012955A JP 6342168 B2 JP6342168 B2 JP 6342168B2
Authority
JP
Japan
Prior art keywords
master
output
data
gate
slave
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014012955A
Other languages
English (en)
Other versions
JP2015142192A (ja
Inventor
幸也 三浦
幸也 三浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Metropolitan University
Original Assignee
Tokyo Metropolitan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Metropolitan University filed Critical Tokyo Metropolitan University
Priority to JP2014012955A priority Critical patent/JP6342168B2/ja
Publication of JP2015142192A publication Critical patent/JP2015142192A/ja
Application granted granted Critical
Publication of JP6342168B2 publication Critical patent/JP6342168B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、マスターラッチとスレーブラッチとを有するマスタースレーブ型のフリップフロップ装置に関する。
トランジスタ等の半導体素子を使用した電気回路において、微細化されたLSI回路(Large Scale Integrated circuit:大規模集積回路)や高信頼性システムでは、信号ノイズやシグナルインテグリティ(信号波形の歪み等の信号の品質)の影響が非常に問題になってきている。信号ノイズは、回路やシステムの任意の場所に任意の時刻に発生し、データ線にグリッジ(パルス信号)を発生させる。発生した不正なパルス(ノイズ)は、電子・電気回路や集積回路において誤動作を引き起こす問題がある。
特に、マスターラッチとスレーブラッチとが接続されたマスタースレーブフリップフロップにおいて、データを取り込むタイミング(マスターラッチ動作からスレーブラッチ動作に切り替わるタイミングのクロックエッジ)の近傍において、データ信号にノイズ等の電圧パルスが発生すると、フリップフロップは、このノイズを取り込み、誤った値を保持・出力する。すなわち、誤動作する。
信号ノイズ発生の原因は、回路やシステムの内外に広く存在するため、一般的には回路やシステム内でのノイズ発生を正確に予測する手段がない。ノイズの発生を低減・防止するためのLSIのレイアウト手法の研究は存在するが、発生原因が多岐にわたるため、完全な排除は困難である。よって、信号ノイズの発生の予測や防止は事実上不可能である。したがって、ノイズの発生自体を防止するよりは、ノイズによって生じた影響(パルス信号)を防止する方が、信号ノイズの悪影響を合理的に解決できるものと考えられる。
フリップフロップ装置において、ノイズの発生を判定、判断する技術として、以下の特許文献1〜4や非特許文献1〜4に記載の技術が知られている。
特許文献1(特開2012−165209号公報)には、エッジトリガフリップフロップにおいて、パルス状のクロック信号(C)の立ち上がりにおけるデータ(D1)と立ち下がりにおけるデータ(D2)とを比較して、各データ(D1,D2)が一致する場合に真正なデータと判断し、不一致の場合にノイズと判断する技術が記載されている。
特許文献2(特開2007−266820号公報)や特許文献3(特開2007−235680号公報)には、複数のフリップフロップ装置を並列に接続して多重化(二重化や三重化)し、各フリッププロップ装置の出力を比較し、いわば多数決をとることで、ノイズによるフリップフロップの誤動作を低減している。
なお、フリップフロップを多重化することで、誤動作を防止する技術として、特許文献4(米国特許第6326809号公報)や、非特許文献1〜4も知られている。なお、特許文献4や非特許文献1〜3では、データ信号のタイミングのエラーを検出する技術であるが、原理的には、ノイズの検知も可能である。
特開2012−165209号公報(「0025」〜「0028」、図1) 特開2007−266820号公報 特開2007−235680号公報 米国特許第6326809号公報
M. Nicolaidis, "Time Redundancy Based Soft-Error Tolerance to Rescue Nanometer Technologies",Proc. 17th IEEE VLSI symposium, pp.89-94, 1999 D. Ernst,他10名,"Razor: a low-power pipeline based on circuit-level timing speculation",Proceedings of 36th Annual IEEE/ACM International Symposium on Microarchitecture 2003 (MICRO-36), pp.7-18, 2003 T. Sato,他1名,"A Simple Flip-Flop Circuit for Typical-Case Designs for DFM",Proceedings of the 8th International Symposium on Quality Electronic Design (ISQED‘07), pp.539-544, 2007 Y. Zhao, 他2名,"Double Sampling Data Checking Technique: An Online Testing Solution for Multisource Noise-Induced Errors on On-Chip Interconnects and Buses",IEEE Trans, VLSI Systems, vol.12, no.5, pp.746-755, June 2004.
(従来技術の問題点)
特許文献1に記載の構成では、クロックの立ち上がりと立ち下がりとの間での比較であるため、検知可能なノイズの幅がクロックの立ち上がりと立ち下がりの幅によって制約されるとともに、真正なデータ信号もクロックの幅に制約される問題がある。また、クロックの立ち下がりを待たないと比較ができないため、処理が遅れる(性能(動作速度)が低下する)問題もある。
特許文献2〜3、非特許文献1〜4に記載の技術では、フリップフロップの多重化を行っているため、全体の回路規模が大きくなる問題がある。
本発明は、小型で性能の低下が少なく、ノイズに耐性のあるマスタースレーブ型のフリップフロップ装置を提供することを技術的課題とする。
前記技術的課題を解決するために、請求項1に記載の発明のマスタースレーブ型のフリップフロップ装置は、
データが入力されるマスター入力部と、前記マスター入力部に接続されたマスターゲートであって、予め設定された間隔をあけて周期的に値が反転する第1のクロック信号に応じてオン状態とオフ状態とを切り替える前記マスターゲートと、前記マスターゲートに直列に接続され、前記マスターゲートがオン状態の場合に、前記マスター入力部から入力されたデータを取り込むと共に、前記マスターゲートがオフ状態の場合に、オン状態からオフ状態になった際のデータを保持するマスター保持部と、前記マスター保持部に接続されてデータを出力するマスター出力部と、を有するマスターラッチと、
データが入力されるスレーブ入力部と、前記スレーブ入力部に接続されたスレーブゲートであって、前記クロック信号に応じて前記マスターゲートとはオン状態とオフ状態が反転した状態で切り替える前記スレーブゲートと、前記スレーブゲートに直列に接続され、前記スレーブゲートがオン状態の場合に、前記スレーブ入力部から入力されたデータを取り込むと共に、前記スレーブゲートがオフ状態の場合に、オン状態からオフ状態になった際のデータを保持するスレーブ保持部と、前記スレーブ保持部に接続されてデータを出力するスレーブ出力部と、を有するスレーブラッチと、
前記マスター出力部からデータが入力され、且つ、前記スレーブ入力部にデータを出力可能に接続された比較部であって、前記第1のクロック信号に対してオン状態とオフ状態とが切り替わる時期が異なる第2のクロック信号を生成する第2クロック生成部と、前記第2のクロック信号の状態が切り替わる時期における前記マスター入力部に入力されるデータの値と、前記第1のクロック信号の状態が切り替わる時期における前記マスター出力部から出力されるデータの値と、が一致する場合に、前記スレーブ入力部に前記マスター出力部から出力されたデータを出力すると共に、一致しない場合に、前記マスター出力部から出力されたデータを前記スレーブ入力部に対して出力しない一致判定部と、を有する前記比較部と、
を備えたことを特徴とする。
前記技術的課題を解決するために、請求項2に記載の発明のマスタースレーブ型のフリップフロップ装置は、
データが入力される第1のマスター入力部と、前記第1のマスター入力部に接続された第1のマスターゲートであって、予め設定された間隔をあけて周期的に値が反転する第1のクロック信号に応じてオン状態とオフ状態とを切り替える前記第1のマスターゲートと、前記第1のマスターゲートに直列に接続され、前記第1のマスターゲートがオン状態の場合に、前記第1のマスター入力部から入力されたデータを取り込むと共に、前記第1のマスターゲートがオフ状態の場合に、オン状態からオフ状態になった際のデータを保持する第1のマスター保持部と、前記第1のマスター保持部に接続されてデータを出力する第1のマスター出力部と、を有する第1のマスターラッチと、
前記第1のマスター入力部と共通のデータが入力される第2のマスター入力部と、前記第2のマスター入力部に接続された第2のマスターゲートであって、前記第1のクロック信号に対してオン状態とオフ状態とが切り替わる時期が異なる第2のクロック信号に応じてオン状態とオフ状態とを切り替える前記第2のマスターゲートと、前記第2のマスターゲートに直列に接続され、前記第2のマスターゲートがオン状態の場合に、前記第2のマスター入力部から入力されたデータを取り込むと共に、前記第2のマスターゲートがオフ状態の場合に、オン状態からオフ状態になった際のデータを保持する第2のマスター保持部と、前記第2のマスター保持部に接続されてデータを出力する第2のマスター出力部と、を有する第2のマスターラッチと、
データが入力されるスレーブ入力部と、前記スレーブ入力部に接続されたスレーブゲートであって、前記クロック信号に応じて前記マスターゲートとはオン状態とオフ状態が反転した状態で切り替える前記スレーブゲートと、前記スレーブゲートに直列に接続され、前記スレーブゲートがオン状態の場合に、前記スレーブ入力部から入力されたデータを取り込むと共に、前記スレーブゲートがオフ状態の場合に、オン状態からオフ状態になった際のデータを保持するスレーブ保持部と、前記スレーブ保持部に接続されてデータを出力するスレーブ出力部と、を有するスレーブラッチと、
前記第1のマスター出力部および前記第2のマスター出力部からデータが入力され、且つ、前記スレーブ入力部にデータを出力可能に接続された比較部であって、前記第1のクロック信号の状態が切り替わる時期における前記第1のマスター出力部から出力されるデータの値と、前記第2のクロック信号の状態が切り替わる時期における前記第2のマスター出力部から出力されるデータの値と、が一致する場合に、前記スレーブ入力部に前記各マスターラッチの少なくとも一方から出力されたデータを出力すると共に、一致しない場合に、前記各マスター出力部から出力されたデータを前記スレーブ入力部に対して出力しない前記比較部であって、前記第1のマスター出力部に接続され、前記第2のクロック信号に応じて切り替わる第3のゲートと、前記第1のマスター出力部からのデータと前記第2のマスター出力部からのデータとが一致するか否かを比較する比較器と、前記第3のゲートからのデータと、前記スレーブ出力部から出力されるデータと、が入力され、且つ、前記比較器から比較結果の信号が入力され、前記比較結果が一致の場合には、前記第3のゲートからのデータを前記スレーブ入力部に出力すると共に、前記比較結果が不一致の場合には、前記スレーブ出力部からのデータを前記スレーブ入力部に出力するマルチプレクサと、を有する前記比較部と、
を備えたことを特徴とする。
請求項1,2に記載の発明によれば、本発明の構成を有しない場合に比べて、小型で性能の低下を少なくすることができ、ノイズに耐性のあるマスタースレーブ型のフリップフロップ装置を提供することができる。
また、請求項2に記載の発明によれば、比較器とマルチプレクサとを使用してデータの値が一致しているか否かを判定でき、ノイズの判定ができる。
図1は本発明の実施例1のマスタースレーブ型のフリップフロップ装置の説明図である。 図2は図1のフリップフロップ装置のブロック図である。 図3は図2のフリップフロップ装置の回路図である。 図4は実施例1のフリップフロップ装置で使用されるクロック信号や、正当なデータ信号およびノイズの説明図である。 図5はCエレメントの説明図であり、図5Aは回路の要部説明図、図5Bは機能表である。 図6は実施例1の警告回路の説明図である。 図7は実施例1のフリップフロップ装置の作用説明図であり、クロック信号、遅延クロック信号(クロックパルス信号)、データ信号、マスターラッチの出力信号、フリップフロップ装置の出力(スレーブラッチの出力信号)、警告信号の一例の説明図である。 図8は実施例1のフリップフロップ装置の機能表の説明図である。 図9は実施例1のフリップフロップ装置におけるシミュレーション結果の説明図である。 図10は実施例1の変更例の遅延クロック発生回路の説明図である。 図11は実施例2のフリップフロップ装置の機能ブロック図であり、実施例1の図2に対応する図である。 図12は実施例2のフリップフロップ装置の回路図であり、実施例1の図3に対応する図である。 図13は実施例2の警告回路の説明図であり、実施例1の図6に対応する図である。 図14は実施例2のフリップフロップ装置の作用説明図であり、クロック信号、遅延クロック信号、データ信号、第1のマスターラッチの出力信号、第2のマスターラッチの出力信号、フリップフロップ装置の出力(スレーブラッチの出力信号)、警告信号の一例の説明図であり、実施例1の図7に対応する図である。 図15は実施例2のフリップフロップ装置の機能表の説明図であり、実施例1の図8に対応する図である。 図16は実施例2のフリップフロップ装置におけるシミュレーション結果の説明図である。 図17は実施例3のフリップフロップ装置の機能ブロック図であり、実施例1の図2に対応する図である。 図18は実施例3のフリップフロップ装置の回路図であり、実施例1の図3に対応する図である。 図19は実施例3の回路の説明図であり、図19Aは比較器の回路図、図19Bはマルチプレクサの回路図である。 図20は実施例3のフリップフロップ装置の機能表の説明図であり、実施例1の図8に対応する図である。 図21は実施例3のフリップフロップ装置におけるシミュレーション結果の説明図である。
次に図面を参照しながら、本発明の実施の形態の具体例(以下、実施例と記載する)を説明するが、本発明は以下の実施例に限定されるものではない。
なお、以下の図面を使用した説明において、理解の容易のために説明に必要な部材以外の図示は適宜省略されている。
図1は本発明の実施例1のマスタースレーブ型のフリップフロップ装置の説明図である。
図2は図1のフリップフロップ装置のブロック図である。
図3は図2のフリップフロップ装置の回路図である。
図4は実施例1のフリップフロップ装置で使用されるクロック信号や、正当なデータ信号およびノイズの説明図である。
図1〜図3において、本発明の実施例1のマスタースレーブ型のフリップフロップ装置1は、入力端子2,3と、出力端子4,5を有する。第1の入力端子2には、データDが入力される。なお、実施例1のデータDは、「0」または「1」の値を有し、「1」の値は、予め設定されたデータ幅dwを有する。
第2の入力端子3には、第1のクロック信号の一例としてのクロック信号Cが入力される。クロック信号Cは、予め設定された間隔をあけて周期的に値が反転する信号により構成されている。特に、実施例1のクロック信号は、オン(「1」)とオフ(「0」)が周期的に反転するパルス(矩形波)状の信号により構成されている。
図4において、実施例1では、正当なデータD1は、データDの信号の到着時刻Tinがクロック信号Cの立ち上がり時刻T0に対して、予め設定されたセットアップ時間dsu以上前に到達、すなわち、データDのパルスが立ち上がるように設定されている。そして、データDは、立ち上がり時刻T0に対して、出力Qが安定するまで維持する必要がある時間であるホールド時間dhが経過した後に立ち下がるようにデータDの幅dwが設定されている。
よって、Tin<T0−dsu、且つ、dw≧(T0−Tin)+dhを満たすデータが正当なデータとして、設定されている。
したがって、実施例1では、図4のD2,D2′に示すように、立ち上がり時刻T0に対して、セットアップ時間dsuより後に発生した信号や、D3に示すように、ホールド時間dhが確保されない信号、セットアップ時間dsuおよびホールド時間dhが共に満たされないD4に示す信号は、正当なデータではなく、ノイズとしている。
図1において、第1の出力端子4と第2の出力端子5からは、フリップフロップ装置1の出力Qと反転出力QBとが出力される。
図2において、実施例1のフリップフロップ装置1は、第1の入力端子2からのデータDが入力されるマスターラッチ11を有する。実施例1のマスターラッチ11には、クロック信号C(およびクロック信号Cの反転信号である反転クロック信号CB)も入力される。
マスターラッチ11には比較部12が接続されている。比較部12は、一致判定部の一例としてのCエレメント(C素子)13と、第2クロック生成部の一例としてのパルス発生回路14と、を有する。
Cエレメント13には、マスターラッチ11の出力QMが入力されると共に、第1の入力端子2からのデータDも入力される。また、パルス発生回路14は、クロック信号Cに基づいて、第2のクロック信号の一例としての遅延クロック信号Cpを生成して、Cエレメント13に出力する。
比較部12には、スレーブラッチ16が接続されている。スレーブラッチ16には、Cエレメント13からの出力DSが入力される。また、スレーブラッチ16には、反転クロック信号CB(およびクロック信号C)も入力される。
スレーブラッチ16からの出力Qは、第1の出力端子4に出力されると共に、NOTゲート15を介して出力Qが反転された反転出力QBが、第2の出力端子5に出力される。
図1において、実施例1のフリップフロップ装置1には、警告回路17が接続されている。実施例1の警告回路17には、データ信号Dやフリップフロップ装置1の本体で生成された遅延クロック信号Cp、マスターラッチ11の出力QMが入力され、警告信号(Warning)が出力される。
(マスターラッチの回路の説明)
図3において、実施例1のマスターラッチ11は、データDが入力されるマスター入力部11aに、第1のNOTゲート21の入力側が接続されている。第1のNOTゲート21の出力側は、マスターゲートの一例としての第1のゲート22に入力側に接続されている。第1のゲート22は、クロック信号Cが「0」の場合(すなわち、反転クロック信号CBが「1」の場合)にオンとなって、データDが出力され、クロック信号Cが「1」の場合(反転クロック信号CBが「0」の場合)にオフになって、データDが出力されなくなるように構成されている。
第1のゲート22の出力側は、第2のNOTゲート23の入力側に接続されている。第2のNOTゲート23の出力QMは、マスター出力部11bから出力される。
第2のNOTゲート23の出力側には、第3のNOTゲート24の入力にも接続されている。第3のNOTゲート24の出力側は、第2のゲート26の入力側に接続されている。実施例1の第2のゲート26の出力側は、第2のNOTゲート23の入力側に接続されている。
実施例1の第2のゲート26は、クロック信号Cが「1」の場合(すなわち、反転クロック信号CBが「0」の場合)にオンとなって、第3のNOTゲート24の出力QMBが出力され、クロック信号Cが「0」の場合(反転クロック信号CBが「1」の場合)にオフになって、出力QMBが出力されなくなるように構成されている。
したがって、第2のゲート26がオンの状態になると、第2のNOTゲート23、第3のNOTゲート24、第2のゲート26からなる閉回路(ループ回路)で信号Dが保持される状態となると共に、第2のゲート26がオフの状態になるとループ回路が切断され、保持されなくなる。よって、第2のNOTゲート23、第3のNOTゲート24、第2のゲート26により、マスター保持部の一例としてのマスターループ回路23〜26が構成されている。
(スレーブラッチの回路の説明)
図3において、実施例1のスレーブラッチ16は、マスターラッチ11と同様の回路により構成されている。すなわち、マスターラッチ11のマスター入力部11a、第1のゲート22、第2のNOTゲート23、第3のNOTゲート24、第2のゲート26、マスターループ回路23〜26、マスター出力部11bに替えて、スレーブラッチ16は、スレーブ入力部16a、スレーブゲートの一例としての第3のゲート32、第5のNOTゲート33、第6のNOTゲート34、第4のゲート36、スレーブ保持部の一例としてのスレーブループ回路33〜36、スレーブ出力部16bを有する。なお、スレーブラッチ16には、マスターラッチ11の第1のNOTゲート21に相当する素子は設けられておらず、第5のNOTゲート33の出力側とスレーブ出力部16bとの間に、第7のNOTゲート37が接続されている。
なお、実施例1のスレーブラッチ16では、第3のゲート32は、クロック信号Cが「1」の場合(すなわち、反転クロック信号CBが「0」の場合)にオンとなり、クロック信号Cが「0」の場合(反転クロック信号CBが「1」の場合)にオフになる。また、第4のゲート36は、クロック信号Cが「0」の場合(すなわち、反転クロック信号CBが「1」の場合)にオンとなり、クロック信号Cが「1」の場合(反転クロック信号CBが「0」の場合)にオフになる。
(Cエレメントの説明)
図5はCエレメントの説明図であり、図5Aは回路の要部説明図、図5Bは機能表である。
図3、図5において、実施例1のCエレメント13は、6つの信号比較用のトランジスタ41,42,43,44,45,46が直列接続された構成を有する。なお、実施例1の第1のトランジスタ41〜第3のトランジスタ43では、ゲートの状態表示記号(小さな○)がつけられていることからわかるように、オンになるのは、ゲートに「0(ロー)」が入力されている場合である。一方で、第4のトランジスタ44〜第6のトランジスタ46では、ゲートの状態表示記号がつけられていないことから、オンになるのは、ゲートに「1(ハイ)」が入力されている場合である。よって、実施例1では、第1〜第3のトランジスタ41〜43は、PMOSトランジスタにより構成され、第4〜第6のトランジスタ44〜46は、NMOSトランジスタにより構成されている。
実施例1のCエレメント13では、第1のトランジスタ41のソース端子側は、電源電圧VDDが印加され、第6のトランジスタ46のソース端子側は接地(アース)されている。
実施例1のCエレメント13では、第1のトランジスタ41および第6のトランジスタ46のゲート端子には、データDが入力されている。
第2のトランジスタ42および第5のトランジスタ45のゲート端子には、マスターラッチ11の出力QMが入力されている。
第3のトランジスタ43のゲート端子には、遅延クロック信号Cpが反転された反転遅延クロック信号CpBが入力される。
第4のトランジスタ44のゲート端子には、遅延クロック信号Cpが入力される。
第3のトランジスタ43と第4のトランジスタ44との接続部が出力部47となっている。出力部47には、情報の一時保持部の一例としてのキーパー48が接続されている。実施例1のキーパー48は、2つのNOTゲート48a,48bが直列に接続された閉回路状に構成されている。キーパー48の出力は、スレーブ入力部16aに接続されている。
したがって、実施例1のCエレメント13では、図5Bの状態(1)に示すように、遅延クロック信号Cpが「1(ハイ)」且つデータD、出力QMが共に「1(ハイ)」の場合、第1、第2のトランジスタ41,42がオフになると共に、第4〜第6のトランジスタ44〜46がオンになる。よって、アースと出力部47とが接続される。したがって、データD(=出力QM)が出力部47に出力される。よって、キーパー48で保持される信号DSが、データDに基づいて更新される。
また、図5Bの状態(2)に示すように、遅延クロック信号Cpが「1(ハイ)」且つデータD、出力QMが共に「0(ロー)」の場合、第1〜第3のトランジスタ41〜43がオンになると共に、第5、第6のトランジスタ45,46がオフになる。よって、電源電圧VDDと出力部47とが接続される。したがって、データD(=出力QM)が出力部47に出力される。
一方で、図5Bの状態(3)に示すように、データDが「0」且つ出力QMが「1」の場合、第6のトランジスタ46と、第2のトランジスタ42とがそれぞれオフになるため、出力部47が、電源電圧VDDにもアースにも接続されず、高抵抗状態(Hi−Z)となる。したがって、データDが出力部47に出力されない。なお、この場合、キーパー48で保持されている信号DSは、更新されず、前回の信号DSが保持され続けることとなる。
図5Bの状態(4)の場合は、第1のトランジスタ41と、第5のトランジスタ45がオフになるため、状態(3)と同様に、データDが出力部47に出力されない。よって、キーパー48で保持されている信号DSが保持され続ける。
また、遅延クロック信号Cpが「0(ロー)」の場合は、第3、第4のトランジスタ43,44が共にオフになるため、データDや出力QMに関わらず、データDは出力部47に出力されない。
(パルス発生回路の説明)
図3において、実施例1のパルス発生回路14は、反転クロック信号CBが入力される入力ゲート51を有する。入力ゲート51の出力側には、奇数個(実施例1では5つ)の遅延用のNOTゲート52〜56が直列接続されている。遅延用のNOTゲート56の出力側には、論理積素子の一例としてのANDゲート57の一方の入力端子が接続されている。ANDゲート57の他方の入力端子には、入力ゲート51の出力が接続されている。
したがって、実施例1のパルス発生回路14は、クロック信号C(反転クロック信号CB)から遅延用のNOTゲート52〜56の個数に応じた時間分だけ遅延したパルス状の遅延クロック信号Cpを出力する。すなわち、実施例1の遅延クロック信号Cpでは、立ち上がりから立ち下がりまでの幅(値が「1」の期間)が、クロック信号Cの立ち上がりから立ち下がりまでの幅に比べて、十分に小さく、遅延クロック信号Cpは、パルス状の信号により構成されている。なお、実施例1では、図4に示すように、立ち上がり時刻T0に対して、ホールド時間dh以降且つデータ幅dwが立ち下がる前の時刻Tbとなるように、遅延クロック信号Cpのクロック信号Cに対する遅延量が設定されている。
ANDゲート57の出力側には、反転用のNOTゲート58が接続されており、反転遅延クロック信号CpBが生成される。
(警告回路の説明)
図6は実施例1の警告回路の説明図である。
図1、図6において、実施例1の警告回路17では、電源電圧VDDに対して、第1の警告用のトランジスタ61が接続されている。第1の警告用のトランジスタ61には、第2の警告用のトランジスタ62が直列に接続されている。また、第1、第2の警告用のトランジスタ61,62に対して、第3、第4の警告用のトランジスタ63,64が、並列に接続されている。
第2、第4の警告用のトランジスタ62,64には、第5の警告用のトランジスタ65が接続され、第5の警告用のトランジスタ65には、第6の警告用のトランジスタ66が直列に接続されている。
第6の警告用のトランジスタ66には、第7、第8の警告用のトランジスタ67,68が直列に接続され、第8のトランジスタ68は、アースGNDに接続されている。また、第6の警告用のトランジスタ66とアースGNDとの間には、第7、第8の警告用のトランジスタ67,68に並列に、第9、第10の警告用のトランジスタ69,70が接続されている。
なお、図6に示すように、実施例1の警告回路17では、第1〜第5の警告用のトランジスタ61〜65は、PMOSトランジスタにより構成されており、第6〜第10の警告用のトランジスタ66〜70は、NMOSトランジスタにより構成されている。
第5の警告用のトランジスタと第6の警告用のトランジスタ66との間には、一次保持部の一例としての警告用のキーパー71が接続されている。警告用のキーパー71は、キーパー48と同様に、2つのNOTゲート71a,71bが直列に接続された閉回路状に構成されている。
警告用のキーパー71の出力には、反転素子の一例としてのNOTゲート72に接続されている。NOTゲート72の出力、すなわち、警告回路17の出力である警告信号(Warning)は、警告画像の表示画面や警告ランプ、警告ブザー等の図示しない警告部材に接続されている。
実施例1の警告回路17では、第1の警告用のトランジスタ61のゲート端子には、データ信号Dが反転された反転データ信号DBが入力される。第2の警告用のトランジスタ62のゲート端子には、マスターラッチ11の出力QMが入力される。第3の警告用のトランジスタ63のゲート端子には、データ信号Dが入力される。第4の警告用のトランジスタ64のゲート端子には、マスターラッチ11の出力QMが反転された反転マスター出力QMBが入力される。
第5の警告用のトランジスタ65のゲート端子には、反転遅延クロック信号CpBが入力される。第6の警告用のトランジスタ66のゲート端子には、遅延クロック信号Cpが入力される。
第7の警告用のトランジスタ67のゲート端子には、データ信号Dが入力される。第8の警告用のトランジスタ68のゲート端子には、マスターラッチ11の出力QMが入力される。第9の警告用のトランジスタ69のゲート端子には、反転データ信号DBが入力される。第10の警告用のトランジスタ70のゲート端子には、反転された反転マスター出力QMBが入力される。
したがって、実施例1の警告回路17では、遅延クロック信号Cpが「1」であり、且つ、入力であるデータDとマスターラッチ11の出力QMとが一致している場合、すなわち、正当なデータである場合、D=QM、DB=QMBとなる。よって、D=1(DB=0)の場合、第7、第8の警告用のトランジスタ67,68がオンの状態となり、且つ、第2、第3、第9、第10の警告用のトランジスタ62,63,69,70がオフの状態となる。したがって、第7、第8の警告用のトランジスタ67,68の部分のみが導通し、アースGNDが出力に接続される。
また、D=0(DB=1)の場合、第9、第10の警告用のトランジスタ69,70の部分のみが導通して、アースGNDが出力に接続される。
よって、データDと出力QMとが一致している場合、アースGND側が出力に接続され、警告信号(Warning)として、「0」が出力される。
一方で、遅延クロック信号Cpが「1」であり、且つ、データDと出力QMとが不一致の場合、すなわち、ノイズの場合、D=QMB、DB=QMとなる。よって、D=1(DB=0)の場合、第1、第2の警告用のトランジスタ61,62の部分のみが導通して、電源電圧VDDが出力に接続される。
また、D=0(DB=1)の場合、第3、第4の警告用のトランジスタ63,64の部分のみが導通して、電源電圧VDDが出力に接続される。
よって、データDと出力QMとが不一致の場合には、電源電圧VDD側が出力に接続され、警告信号(Warning)として、「1」が出力される。
なお、遅延クロック信号Cpが「0」(CpBが「1」)の場合は、第5、第6の警告用のダイオード65,66がオフとなり、アースGNDも電源電圧VDDも接続されない。したがって、警告信号として、警告用のキーパー71に保持された直近の警告信号が出力されることとなる。
(実施例1の作用)
図7は実施例1のフリップフロップ装置の作用説明図であり、クロック信号、遅延クロック信号(クロックパルス)、データ信号、マスターラッチの出力信号、フリップフロップ装置の出力(スレーブラッチの入力信号)、警告信号の一例の説明図である。
図8は実施例1のフリップフロップ装置の機能表の説明図である。
前記構成を備えた実施例1のフリップフロップ装置1では、クロック信号Cが「0(ロー)」の場合、第1のゲート22がオンの状態となり、データDの信号が、マスターラッチ11の出力QMとなる。
図7の(1)の波形に示すように、クロック信号Cが「0(ロー)」から「1(ハイ)」に変化した場合、第1のゲート22がオフの状態となる。したがって、クロック信号Cが「0」から「1」に変化した際のデータDの信号(「1」)が、マスターループ回路23〜26で保持され、マスターラッチ11の出力QMとして、出力され続ける。
マスターラッチ11からの出力QMと、データ信号Dと、遅延クロック信号Cpとは、Cエレメント13に入力される。
図7の(1)の状態では、出力QMとデータ信号Dが「1」であり、第5,第6のトランジスタ45,46がオンとなるが、遅延クロックパルスCpが「0」の状態では、第4のトランジスタ44がオフのままとなり、スレーブラッチ16側に信号が出力されない。
そして、遅延クロックパルスCpが「1」となると、図8の(1)の状態となり、第4〜第6のトランジスタ44〜46がオンとなって、スレーブラッチ16側に出力QM(=データD)が、Cエレメント13の出力DSとして出力される。なお、図7の(1)の波形において、遅延クロックパルスCpが「0」になると、Cエレメント13のキーパー48で、出力DSが保持される。
Cエレメント13の出力DSは、スレーブラッチ16に入力される。このとき、クロック信号Cが「1」の状態であり、第3のゲート32、第5のNOTゲート33、第7のNOTゲート37を通過して、スレーブラッチ16の出力Qとして、出力される。
なお、状態(1)では、遅延クロック信号Cpが「1」になった際のデータDと、クロック信号Cが「1」になった際の出力QMとが一致している。したがって、データDが、遅延クロック信号Cpが「1」になった際には、既に、十分に安定した信号となっており(Tin<T0−dsuを満たし)、且つ、データ幅dw以上の期間、同じ信号であったため、正当なデータ(ノイズではない)である。よって、警告信号として「0(ロー)」が出力され、ノイズの警告はされない。
次に、図7における(2)の状態では、クロック信号Cが「0」から「1」に変化した際のデータDの信号が「0」であり、マスターラッチ11の出力QMが「0」となる。
そして、遅延クロックパルスCpが「1」となると、図8の(2)の状態となり、第1〜第3のトランジスタ41〜43がオンとなって、スレーブラッチ16側に出力QM(=データD)が、Cエレメント13の出力DSとして出力される。スレーブラッチ16に入力されたCエレメント13の出力DSは、第3のゲート32、第5のNOTゲート33、第7のNOTゲート37を通過して、スレーブラッチ16の出力Qとして、出力される。
なお、状態(2)では、状態(1)と同様に、遅延クロック信号Cpが「1」になった際のデータDと、クロック信号Cが「1」になった際の出力QMとが一致している。したがって、正当なデータ(ノイズではない)であり、警告信号として「0(ロー)」が出力され、ノイズの警告はされない。
次に、図7における(3)の状態では、クロック信号Cが「0」から「1」に変化した際のデータDの信号が「1」であり、マスターラッチ11の出力QMは「1」となる。
しかしながら、遅延クロックパルスCpが「1」となった際には、出力QMとしては、マスターループ回路23〜26で保持されている「1」がCエレメント13に入力されているのに対し、データDは「0」となっている。すなわち、図8の(3)の状態となる。したがって、Cエレメント13では、第1、第3、第4、第5のトランジスタ41,43,44,45がオンとなる。よって、スレーブラッチ16側に信号が出力されない。このとき、出力Qには、Cエレメント13のキーパー48で、保持されている前回の出力DSが出力され続ける。すなわち、(3)の状態のノイズが、出力Qに影響を及ぼさない。
したがって、状態(3)では、遅延クロック信号Cpが「1」になった際のデータDと、クロック信号Cが「1」になった際の出力QMとが不一致となっているため、正当なデータではない(ノイズである)と判定される。よって、警告信号として「1(ハイ)」が出力され、ノイズの警告がされる。
次に、図7における(4)の状態では、クロック信号Cが「0」から「1」に変化した際のデータDの信号が「0」であり、マスターラッチ11の出力QMは「0」となる。
しかしながら、遅延クロックパルスCpが「1」となった際には、出力QMとしては、マスターループ回路23〜26で保持されている「0」がCエレメント13に入力されているのに対し、データDは「1」となっている。すなわち、図8の(4)の状態となる。したがって、Cエレメント13では、第2、第3、第4、第6のトランジスタ42,43,44,46がオンとなる。よって、スレーブラッチ16側に信号が出力されない。このとき、出力Qには、Cエレメント13のキーパー48で、保持されている前回の出力DSが出力され続ける。したがって、(4)の波形のノイズが、出力Qに影響を及ぼさない。
したがって、状態(4)では、状態(3)と同様に、遅延クロック信号Cpが「1」になった際のデータDと、クロック信号Cが「1」になった際の出力QMとが不一致となっているため、正当なデータではない(ノイズである)と判定される。よって、警告信号として「1(ハイ)」が出力され、ノイズの警告がされる。
図9は実施例1のフリップフロップ装置におけるシミュレーション結果の説明図である。
実施例1のフリップフロップ装置1を使用して、図7の(1)〜(4)のクロック信号C、遅延クロック信号Cp、データDを入力した。その結果、図9に示すような出力Qが得られ、状態(3)、(4)におけるノイズが、出力Qに影響を及ぼさないことが確認された。
したがって、実施例1のフリップフロップ装置1では、2回の異なる取り込みタイミングにおける信号を比較することでノイズの判定を行っている。すなわち、遅延クロック信号Cpが「0」から「1」に変化する(立ち上がる)際のデータ信号Dと、クロック信号Cが「0」から「1」に変化する(立ち上がる)際のマスターラッチ11の出力QMとが比較されて、ノイズの判定が行われ、ノイズの場合には、スレーブラッチ16に信号が出力されない。よって、実施例1のフリップフロップ装置1は、出力Qにノイズが反映されにくく、ノイズに耐性のあるマスタースレーブ型のフリップフロップ装置が実現される。
また、特許文献1に記載の構成のように、クロックの立ち上がりと立ち下がりとでノイズの判定を行う場合に比べて、実施例1のフリップフロップ装置1では、クロック信号Cが立ち下がらなくても、ノイズの判定が可能であり、処理の遅れが低減され、処理性能の低下が抑制される。
さらに、実施例1のフリップフロップ装置1では、遅延クロック信号Cpの遅延時間も、遅延用のNOTゲートの数を増減することで、任意の時間に容易に調整可能であり、検知可能なノイズや真正なデータ信号の幅への対応も容易である。
また、実施例1のフリップフロップ装置1では、特許文献2,3、非特許文献1〜4に記載されているように、フリップフロップ全体を多重化する場合に比べて、全体の回路規模を小さくすることができる。よって、フリップフロップ装置1を小型化することができる。
さらに、実施例1では、パルス状の遅延クロックパルスCpを使用しており、遅延クロックパルスCpが「1」の期間が短く設定されている。遅延クロックパルスCpが「1」の期間が長くなると、Cエレメント13の動作期間、すなわち、データDと出力QMとを比較する期間が長くなる。比較する期間が長くなると、比較中にデータDの信号が変化した場合に、ノイズを見過ごしてしまうこととなる。これに対して、実施例1では、パルス状の(「1」の期間が短い)遅延クロック信号を使用しており、Cエレメント13の動作期間が短くなり、データDと出力QMとの比較期間を短くすることができ、ノイズの見過ごしを低減できる。
図10は実施例1の変更例の遅延クロック発生回路の説明図である。
図10において、実施例1のパルス発生回路14に替えて、図10に示す遅延クロック回路80を使用することも可能である。遅延クロック発生回路80では、実施例1のパルス発生回路14と異なり、遅延クロック信号Cpの遅延量を可変にする回路、いわゆる、プログラマブル遅延回路80により構成されている。遅延クロック発生回路80では、nを1以上の正数とした場合に、遅延用のNOTゲートが81が3個、5個、7個、…、(2n+1)個、直列に接続された複数の遅延部82−1,82−2,82−3,…,82−nが、マルチプレクサ(MUX)83に入力されている。マルチプレクサ83は、入力された複数の信号の中から、いずれか1つの信号のみを選択して出力する素子である。実施例2のマルチプレクサ83には、どの入力信号を選択して出力するかを制御するための制御信号が入力される。したがって、図10に示す遅延クロック発生回路80では、図示しない入力部においてユーザが設定した遅延量に応じて、マルチプレクサ83に制御信号が入力され、マルチプレクサ83から、ユーザが設定した遅延量の遅延クロック信号Cdが出力される。
よって、パルス発生回路に替えて、図10に示す遅延クロック回路80を使用した場合には、遅延クロック信号Cdのクロック信号Cに対する遅延量を、ユーザの設定に応じて、任意に変更することが可能である。よって、種々の幅をノイズが入力された場合にも、容易に対応可能である。
図11は実施例2のフリップフロップ装置の機能ブロック図であり、実施例1の図2に対応する図である。
図12は実施例2のフリップフロップ装置の回路図であり、実施例1の図3に対応する図である。
次に、本発明の実施例2の説明をするが、この実施例2の説明において、前記実施例1の構成要素に対応する構成要素には同一の符号を付して、その詳細な説明を省略する。
この実施例2は、下記の点で前記実施例1と相違しているが、他の点では前記実施例1と同様に構成されている。
図11、図12において、実施例2のフリップフロップ装置1では、1つのマスターラッチ11を有する実施例1のフリップフロップ装置1に対して、第1のマスターラッチ11と、第2のマスターラッチ111とを備えている点が相違する。
実施例2の第1のマスターラッチ11は、実施例1のマスターラッチ11と同一の回路により構成されている。なお、実施例2では、第1のマスターラッチ11の出力QMは、説明の便宜上、出力QM1と表記する。
また、実施例2の第2のマスターラッチ111は、回路構成自体は第1のマスターラッチ11と同様に構成されている。よって、第2のマスターラッチ111は、第2のマスター入力部111a、第1のNOTゲート121、第2のマスターゲートの一例としての第1のゲート122、第2のNOTゲート123、第3のNOTゲート124、第2のゲート126、第2のマスター保持部の一例としての第2のマスターループ回路123〜126、第2のマスター出力部111bを有する。
実施例2の第2のマスターラッチ111では、第1のマスターラッチ11において第1のゲート22および第2のゲート26にクロック信号Cおよび反転クロック信号CBが入力されることに替えて、第2のマスターラッチ111の第1のゲート(第2のマスターゲート)122および第2のゲート126には、遅延回路114で生成された第2のクロック信号の一例としての遅延クロック信号Cdおよび反転遅延クロック信号CdBが入力される。
なお、実施例2の遅延回路114では、実施例1のパルス発生回路において、ゲート51,57が省略されたシンプルな回路構成に変更されている。なお、実施例2の遅延回路114に替えて、図10に示す回路80を使用することも可能である。
さらに、実施例2のCエレメント(C素子)113では、実施例1のCエレメント13と回路は同一の構成であるが、入力される信号が異なっている。すなわち、実施例1の入力であるデータD、マスターラッチ11の出力QM、遅延クロック信号Cpが、実施例2では、それぞれ、第1のマスターラッチ11の出力QM1、第2のマスターラッチの出力QM2、遅延クロック信号Cdに変更されている。
前記遅延回路114およびCエレメント113により、実施例2の比較部12が構成されている。
図13は実施例2の警告回路の説明図であり、実施例1の図6に対応する図である。
図13において、実施例2の警告回路117では、実施例1の警告回路17におけるデータ信号D、反転データ信号DB、マスターラッチ11の出力QM、マスターラッチ11の反転出力QMB、遅延クロック信号Cp、反転遅延クロック信号CpBに替えて、第1のマスターラッチ11の出力QM1、第1のマスターラッチ11の反転出力QM1B、第2のマスターラッチ111の出力QM2、第2のマスターラッチ111の反転出力QM2B、クロック信号C、反転クロック信号CB、遅延クロック信号Cd、反転CdB遅延クロック信号が入力される。
また、実施例2の警告回路117では、第5の警告用のトランジスタ65と、第6の警告用のトランジスタ66との間には、第11の警告用のトランジスタ165が直列に接続されている。なお、警告用のキーパー71は、第11の警告用のトランジスタ165と第6の警告用のトランジスタ66との間に接続されている。第11の警告用のトランジスタ165は、PMOSトランジスタにより構成されており、反転遅延クロック信号CdBが入力されている。
また、第6の警告用のトランジスタ66と、第7、第9の警告用のトランジスタ67,69との間には、第12の警告用のトランジスタ166が接続されている。第12の警告用のトランジスタ166は、NMOSトランジスタにより構成されており、遅延クロック信号Cdが入力されている。
また、第6の警告用のトランジスタ66と、第12の警告用のトランジスタ166との間には、第13の警告用のトランジスタ167の一端が接続されている。第13の警告用のトランジスタ167の他端は、アースGNDに接続されている。第13の警告用のトランジスタ167は、NMOSトランジスタにより構成されており、反転遅延クロック信号CdBが入力されている。
したがって、実施例2の警告回路117では、クロック信号Cおよび遅延クロック信号Cdが「1」の場合は、第5、第11、第6、第12の警告用のトランジスタ65,66,165,166がオンとなる。したがって、第1のマスターラッチ11の出力QM1と、第2のマスターラッチ111の出力QM2と、が不一致の場合、電源電圧VDD側が警告回路117の出力(Warning)に接続され、第1のマスターラッチ11の出力QM1と、第2のマスターラッチ111の出力QM2と、が一致する場合、アースGND側が警告回路117の出力(Warning)に接続される。
一方、クロック信号Cが「1」且つ遅延クロック信号Cdが「0」(反転遅延クロック信号CdBが「1」)の場合、第6の警告用のトランジスタ66と第13の警告用のトランジスタ167がオンとなる。よって、この場合、アースGND側が警告回路117の出力(Warning)に接続される。
(実施例2の作用)
図14は実施例2のフリップフロップ装置の作用説明図であり、クロック信号、遅延クロック信号、データ信号、第1のマスターラッチの出力信号、第2のマスターラッチの出力信号、フリップフロップ装置の出力(スレーブラッチの入力信号)、警告信号の一例の説明図であり、実施例1の図7に対応する図である。
図15は実施例2のフリップフロップ装置の機能表の説明図であり、実施例1の図8に対応する図である。
前記構成を備えた実施例2のフリップフロップ装置1では、クロック信号Cおよび遅延クロック信号Cdが「0」の状態では、各マスターラッチ11,111の第1のゲート22,122がオンの状態となり、各出力QM1,QM2は、データDとなる。
図14の(1)の波形に示すように、クロック信号Cが「0(ロー)」から「1(ハイ)」に変化した場合、第1のマスターラッチ11の第1のゲート22がオフの状態となる。したがって、クロック信号Cが「0」から「1」に変化した際のデータDの信号(「1」)が、マスターループ回路23〜26で保持され、第1のマスターラッチ11の出力QM1として、出力され続ける。
また、遅延クロック信号Cdが「0(ロー)」から「1(ハイ)」に変化した場合、第2のマスターラッチ111の第1のゲート122がオフの状態となる。したがって、遅延クロック信号Cdが「0」から「1」に変化した際のデータDの信号(「1」)が、マスターループ回路123〜126で保持され、第2のマスターラッチ111の出力QM2として、出力され続ける。
各マスターラッチ11,111からの出力QM1,QM2と、遅延クロック信号Cdとが、Cエレメント113に入力される。
図14の(1)の状態では、データDが「1」になると同時に各出力QM1,QM2が「1」となり、第5,第6のトランジスタ45,46がオンとなるが、遅延クロック信号Cdが「0」の状態では、第4のトランジスタ44がオフのままとなり、スレーブラッチ16側に信号が出力されない。
そして、遅延クロックパルスCdが「1」となると、図15の(1)の状態となり、第4〜第6のトランジスタ44〜46がオンとなって、スレーブラッチ16側に出力QM1(=QM2)が、Cエレメント113の出力DSとして出力される。なお、図14の(1)の波形において、遅延クロックパルスCdが「0」になると、Cエレメント113のキーパー48で、出力DSが保持される。
Cエレメント113の出力DSは、スレーブラッチ16に入力される。このとき、クロック信号Cが「1」の状態であり、第3のゲート32、第5のNOTゲート33、第7のNOTゲート37を通過して、スレーブラッチ16の出力Qとして、出力される。
なお、状態(1)では、クロック信号Cが「1」になった際の第1のマスターラッチ11の出力QM1と、遅延クロック信号Cdが「1」になった際の第2のマスターラッチ111の出力QM2と、が一致している。すなわち、クロック信号Cが立ち上がるタイミングで取り込んだ値QM1と、遅延クロック信号Cdが立ち上がるタイミングで取り込んだ値QM2とが一致している。したがって、データDが、クロック信号Cが「1」になった際には、既に、十分に安定した信号となっており(Tin<T0−dsuを満たし)、且つ、データ幅dw以上の期間、同じ信号であったため、正当なデータ(ノイズではない)である。よって、警告信号として「0(ロー)」が出力され、ノイズの警告はされない。
次に、図14における(2)の状態では、クロック信号Cが「0」から「1」に変化した際のデータDの信号が「0」であり、第1のマスターラッチ11の出力QM1が「0」となる。また、遅延クロック信号Cdが「0」から「1」に変改した際のデータDの信号も「0」であり、第2のマスターラッチ111の出力QM2も「0」となる。
そして、遅延クロック信号Cdが「1」となると、図15の(2)の状態となり、第1〜第3のトランジスタ41〜43がオンとなって、スレーブラッチ16側に出力QM1(=QM2)が、Cエレメント113の出力DSとして出力される。スレーブラッチ16に入力されたCエレメント113の出力DSは、第3のゲート32、第5のNOTゲート33、第7のNOTゲート37を通過して、スレーブラッチ16の出力Qとして、出力される。
なお、状態(2)では、状態(1)と同様に、クロック信号Cおよび遅延クロック信号Cpが「1」になった際のデータDが一致している。すなわち、各マスターラッチ11,111の出力QM1,QM2が一致している。したがって、正当なデータ(ノイズではない)であり、警告信号として「0(ロー)」が出力され、ノイズの警告はされない。
次に、図14における(3)の状態では、クロック信号Cが「0」から「1」に変化した際のデータDの信号が「1」であり、第1のマスターラッチ11の出力QM1は「1」となる。一方で、遅延クロック信号Cdが「0」から「1」に変化した際のデータDの信号は「0」であり、第2のマスターラッチ111の出力QM2は「0」となる。よって、図15の(3)の状態となる。
したがって、Cエレメント113では、第1、第3、第4、第5のトランジスタ41,43,44,45がオンとなる。よって、スレーブラッチ16側に信号が出力されない。このとき、出力Qには、Cエレメント13のキーパー48で、保持されている前回の出力DSが出力され続ける。すなわち、(3)の状態のノイズが、出力Qに影響を及ぼさない。
したがって、状態(3)では、クロック信号Cが「1」になった際の出力QM1と、遅延クロック信号Cdが「1」になった際の出力QM2とが不一致となっているため、正当なデータではない(ノイズである)と判定される。よって、警告信号として「1(ハイ)」が出力され、ノイズの警告がされる。
次に、図14における(4)の状態では、クロック信号Cが「0」から「1」に変化した際のデータDの信号が「0」であり、第1のマスターラッチ11の出力QM1は「0」となる。一方で、遅延クロック信号Cdが「0」から「1」に変化した際のデータDの信号は「1」であり、第2のマスターラッチ111の出力QM2は「1」となる。よって、図15の(4)の状態となる。
したがって、Cエレメント113では、第2、第3、第4、第6のトランジスタ42,43,44,46がオンとなる。よって、スレーブラッチ16側に信号が出力されない。このとき、出力Qには、Cエレメント113のキーパー48で、保持されている前回の出力DSが出力され続ける。したがって、(4)の波形のノイズが、出力Qに影響を及ぼさない。
したがって、状態(4)では、状態(3)と同様に、クロック信号Cが「1」になった際の出力QM1と、遅延クロック信号Cdが「1」になった際の出力QM2とが不一致となっているため、正当なデータではない(ノイズである)と判定される。よって、警告信号として「1(ハイ)」が出力され、ノイズの警告がされる。なお、状態(3)から状態(4)となる場合には、一時的に、クロック信号Cが「1」になり且つ遅延クロック信号Cdが「1」となる期間があり、この期間は、第7の警告用のトランジスタ67と第13の警告用のトランジスタ167がオンとなる。よって、警告回路117の出力(Warning)が一時的にノイズではないという警告信号となる。
図16は実施例2のフリップフロップ装置におけるシミュレーション結果の説明図である。
実施例2のフリップフロップ装置1を使用して、図14の(1)〜(4)のクロック信号C、遅延クロック信号Cd、データDを入力した。その結果、図16に示すような出力Qが得られ、状態(3)、(4)におけるノイズが、出力Qに影響を及ぼさないことが確認された。
したがって、実施例2のフリップフロップ装置1でも、実施例1と同様に、ノイズ耐性があると共に、処理性能の低下が抑制される。また、実施例2では、マスターラッチ11,111のみを二重化し、スレーブラッチ16は二重化されていないため、フリップフロップの全体を二重化する従来の構成に比べて、全体を小型化することができる。
図17は実施例3のフリップフロップ装置の機能ブロック図であり、実施例1の図2に対応する図である。
図18は実施例3のフリップフロップ装置の回路図であり、実施例1の図3に対応する図である。
次に、本発明の実施例3の説明をするが、この実施例3の説明において、前記実施例1、3の構成要素に対応する構成要素には同一の符号を付して、その詳細な説明を省略する。
この実施例3は、下記の点で前記実施例1,3と相違しているが、他の点では前記実施例1,3と同様に構成されている。
図17、図18において、実施例3のフリップフロップ装置1では、実施例2のフリップフロップ装置1において、Cエレメント113に替えて、一致判定部213を有する。
実施例3の一致判定部213は、第1のマスターラッチ11のマスター出力部11bに接続される第3のゲートの一例としてのトランスミッションゲート221を有する。実施例3のトランスミッションゲート221は、遅延クロック信号Cdが「1」の場合(反転遅延クロック信号CdBが「0」の場合)にオンとなって、第1のマスターラッチ11の出力QM1が出力される。
トランスミッションゲート221の出力N2は、出力選択部の一例としてのマルチプレクサ222に入力される。また、トランスミッションゲート221に並列に、比較器223が接続されている。比較器223には、第1のマスターラッチ11からの出力QM1と、第2のマスターラッチ111からの出力QM2とが入力されている。
比較器223は、各マスターラッチ11,111からの出力QM1,QM2が一致する場合には、出力であるイネーブル信号SEとして「0」を出力し、出力QM1,QM2が不一致の場合に、イネーブル信号SEとして「1」を出力する。
イネーブル信号SEは、マルチプレクサ222に入力される。したがって、実施例3のトランスミッションゲート221は、比較器223の出力SEが確定し且つ遅延クロック信号Cdに同期させるために設けられている。また、実施例3のマルチプレクサ222には、フリップフロップ装置1の出力Qが入力されている。
実施例3のマルチプクサ222は、イネーブル信号SEが「0」の場合には、第1のマスターラッチ11の出力QM1をスレーブラッチ16に出力すると共に、イネーブル信号SEが「1」の場合には、前回の出力であるフリップフロップ装置1の出力Qを出力する。
図19は実施例3の回路の説明図であり、図19Aは比較器の回路図、図19Bはマルチプレクサの回路図である。
図19Aにおいて、実施例3の比較器223は、第1のマスターラッチの出力QM1が入力される第1の比較用のCエレメント231と、第2のマスターラッチの出力QM2が入力される第2の比較用のCエレメント232と、を有する。
第1の比較用のCエレメント231は、PMOSトランジスタ231aと、NMOSトランジスタ231bと、が直列に接続されている。各トランジスタ231a,231bのゲートには、第1のマスターラッチ11の出力QM1が入力されている。PMOSトランジスタ231aの一端には第2のマスターラッチ111の出力QM2が入力され、NMOSトランジスタ231bの他端には、第2の比較用のCエレメント232の出力が接続されている。各トランジスタ231a、231bの間には、第1の比較用のCエレメント231の出力部が231cが設定されており、出力部231cからの出力は、イネーブル信号SEとして、マルチプレクサ222に出力される。
第2の比較用のCエレメント232は、PMOSトランジスタ232aと、NMOSトランジスタ232bと、が直列に接続されている。各トランジスタ232a,232bのゲートには、第2のマスターラッチ111の出力QM2が入力されている。PMOSトランジスタ232aの一端には電源電圧VDDが接続され、NMOSトランジスタ232bの他端には、アースGNDが接続されている。
また、第1のマスターラッチ11の出力QM1は、切替ゲート233に入力されている。切替ゲート233の出力は、第1の比較用のCエレメント231の出力部231cに接続されている。切替ゲート233には、第2のマスターラッチ111の出力QM2と、第2の比較用のCエレメント232の出力とが接続されている。したがって、切替ゲート233は、第2のマスターラッチ111の出力QM2が「0」の場合にオンになる。
よって、実施例1の比較器223は、いわゆる、ExOR(Exclusive OR:排他的論理和)ゲートにより構成されている。すなわち、各比較用のCエレメント231,232は、NOTゲートを構成することとなり、入力値が反転された値が出力される。
したがって、実施例3の比較器223では、出力QM2が「0」の場合には、切替ゲート233がオンになって、出力QM1の値が、そのままイネーブル信号SEとして出力される。なお、このとき、第1の比較用のCエレメント231では、PMOSトランジスタ231aの電源側(=出力QM2)が「0」となり、NMOSトランジスタ231bのGND側(第2の比較用のCエレメント232の出力)が「1」となるため、NOTゲートとして機能しない(何の論理動作もしない)。
出力QM2が「1」の場合、第2の比較用のCエレメント232のNMOSトランジスタ232bがオンになり、結果として、第2の比較用のCエレメント232の出力としては、出力QM2が反転された値である「0」となる。このとき、切替ゲート233はオフとなる。そして、出力QM1が「1」の場合、NMOSトランジスタ231bがオンになって、イネーブル信号SEとして「0」が出力される。また、出力QM1が「0」の場合は、PMOSトランジスタ231aがオンになり、イネーブル信号SEとして「1」が出力される。
図19Bにおいて、実施例3のマルチプレクサ222では、トランスミッションゲート221の出力N2は、第1のNANDゲート241に入力される。第1のNANDゲート241には、イネーブル信号SEがNOTゲート242で反転された信号も入力されている。また、イネーブル信号SEは、第2のNANDゲート243に入力されている。第2のNANDゲート243には、フリップフロップ装置1の出力Qも入力されている。第1のNANDゲート241の出力と、第2のNANDゲート243の出力は、第3のNANDゲート244に入力されている。第3のNANDゲート244の出力は、一致判定部213の出力DSとして、スレーブラッチ16に入力される。前記符号241〜244を付した各素子により実施例3のマルチプレクサ222が構成されている。
したがって、実施例3のマルチプレクサ222では、イネーブル信号SEが「0」の場合(QM1=QM2の場合)、トランスミッションゲート221の出力N2が「1」の場合には、第1のNANDゲート241の出力が「0」となる。このとき、第2のNANDゲート243の出力は、出力Qに関わらず、「1」となる。したがって、第3のNANDゲート244の出力DSは、「1」となり、トランスミッションゲート221の出力N2(=QM1)が、一致判定部213の出力DSとして出力される。
また、イネーブル信号SEが「0」、トランスミッションゲート221の出力N2が「0」の場合、第1のNANDゲート241の出力が「1」、第2のNANDゲート243の出力が「1」となる。よって、第3のNANDゲート244の出力DSは「0」となり、トランスミッションゲート221の出力N2(=QM1)が、一致判定部213の出力DSとして出力される。
一方で、イネーブル信号SEが「1」の場合(QM1≠QM2の場合)、トランスミッションゲート221の出力N2に関わらず、第1のNANDゲート241の出力は「1」となる。また、第2のNANDゲート243の出力は、出力Qが「0」の場合は「1」となり、出力Qが「1」の場合には「0」となる。よって、第3のNANDゲート244の出力DSは、第2のNANDゲート243の出力が「1」の場合は、「0」となり、第2のNANDゲート243の出力が「0」の場合は、「1」となる。したがって、結果として、一致判定部213の出力DSは、入力された出力Qと一致し、前回の出力Qが引き続き出力されることに相当する。
(実施例3の作用)
図20は実施例3のフリップフロップ装置の機能表の説明図であり、実施例1の図8に対応する図である。
前記構成を備えた実施例3のフリップフロップ装置1では、実施例2のCエレメント113と、同様の機能を有する一致判定部213を有する。すなわち、実施例3のフリップフロップ装置1では、図20の機能表に示すように、図15に示す実施例2の機能表と同様の機能を示す。したがって、実施例3のフリップフロップ装置1も実施例2と同様の作用効果を有する。
図21は実施例3のフリップフロップ装置におけるシミュレーション結果の説明図である。
実施例3のフリップフロップ装置1を使用して、実施例2の図14の(1)〜(4)と同様のクロック信号C、遅延クロック信号Cd、データDを入力した。その結果、図21に示すような出力Qが得られ、状態(3)、(4)におけるノイズが、出力Qに影響を及ぼさないことが確認された。
(変更例)
以上、本発明の実施例を詳述したが、本発明は、前記実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内で、種々の変更を行うことが可能である。本発明の変更例(H01)〜(H04)を下記に例示する。
(H01)前記実施例において、ノイズの判定を行う際に、C素子やマルチプレクサ、比較器等を使用する構成を例示したが、これに限定されず、異なるタイミングでデータを取得して比較可能な任意の回路を採用可能である。
(H02)前記実施例において、遅延クロック信号Cp,Cdを生成する回路として、実施例に例示した回路に限定されず、所定の時間遅延した信号を生成可能な任意の回路に変更可能である。また、図10に示す遅延クロック信号を生成する回路80を、実施例1〜3に適用可能であるし、実施例1のパルス発生回路14を実施例2,3に適用したり、実施例2の遅延クロック信号を生成する回路114を実施例1に適用したりすることも可能である。
(H03)前記実施例において、警告回路17,117として、実施例に例示した回路に限定されず、2値の値の不一致を検出する機能を有する任意の回路に変更可能である。
(H04)マスターラッチ11,111やスレーブラッチ16は、実施例に例示したトランスミッションゲートを使用した回路が一般的であるが、この構成に限定されない。例えば、2つのNOTゲートと1つのトランスミッションゲートで構成された保持部23〜26,33〜36,123〜126に替えて、1つのNOTゲートと、クロック付きNOTゲートでデータを保持する保持部を構成するといった異なる回路構成のラッチ回路にも適用可能である。
1…マスタースレーブ型のフリップフロップ装置、
11…マスターラッチ、第1のマスターラッチ、
11a…マスター入力部、第1のマスター入力部、
11b…マスター出力部、第1のマスター出力部、
12…比較部、
13…一致判定部
14…第2クロック生成部、
16…スレーブラッチ、
16a…スレーブ入力部、
16b…スレーブ出力部、
22…マスターゲート、
22…第1のマスターゲート、
23〜26…マスター保持部、
23〜26…第1のマスター保持部、
32…スレーブゲート、
33〜36…スレーブ保持部、
111…第2のマスターラッチ、
111a…第2のマスター入力部、
111b…第2のマスター出力部、
113…C素子、
122…第2のマスターゲート、
123〜126…第2のマスター保持部、
221…第3のゲート、
222…マルチプレクサ、
223…比較器、
C…第1のクロック信号、
Cp,Cd…第2のクロック信号、
D,DS,QM,QM1,QM2…データ。

Claims (2)

  1. データが入力されるマスター入力部と、前記マスター入力部に接続されたマスターゲートであって、予め設定された間隔をあけて周期的に値が反転する第1のクロック信号に応じてオン状態とオフ状態とを切り替える前記マスターゲートと、前記マスターゲートに直列に接続され、前記マスターゲートがオン状態の場合に、前記マスター入力部から入力されたデータを取り込むと共に、前記マスターゲートがオフ状態の場合に、オン状態からオフ状態になった際のデータを保持するマスター保持部と、前記マスター保持部に接続されてデータを出力するマスター出力部と、を有するマスターラッチと、
    データが入力されるスレーブ入力部と、前記スレーブ入力部に接続されたスレーブゲートであって、前記クロック信号に応じて前記マスターゲートとはオン状態とオフ状態が反転した状態で切り替える前記スレーブゲートと、前記スレーブゲートに直列に接続され、前記スレーブゲートがオン状態の場合に、前記スレーブ入力部から入力されたデータを取り込むと共に、前記スレーブゲートがオフ状態の場合に、オン状態からオフ状態になった際のデータを保持するスレーブ保持部と、前記スレーブ保持部に接続されてデータを出力するスレーブ出力部と、を有するスレーブラッチと、
    前記マスター出力部からデータが入力され、且つ、前記スレーブ入力部にデータを出力可能に接続された比較部であって、前記第1のクロック信号に対してオン状態とオフ状態とが切り替わる時期が異なる第2のクロック信号を生成する第2クロック生成部と、前記第2のクロック信号の状態が切り替わる時期における前記マスター入力部に入力されるデータの値と、前記第1のクロック信号の状態が切り替わる時期における前記マスター出力部から出力されるデータの値と、が一致する場合に、前記スレーブ入力部に前記マスター出力部から出力されたデータを出力すると共に、一致しない場合に、前記マスター出力部から出力されたデータを前記スレーブ入力部に対して出力しない一致判定部と、を有する前記比較部と、
    を備えたことを特徴とするマスタースレーブ型のフリップフロップ装置。
  2. データが入力される第1のマスター入力部と、前記第1のマスター入力部に接続された第1のマスターゲートであって、予め設定された間隔をあけて周期的に値が反転する第1のクロック信号に応じてオン状態とオフ状態とを切り替える前記第1のマスターゲートと、前記第1のマスターゲートに直列に接続され、前記第1のマスターゲートがオン状態の場合に、前記第1のマスター入力部から入力されたデータを取り込むと共に、前記第1のマスターゲートがオフ状態の場合に、オン状態からオフ状態になった際のデータを保持する第1のマスター保持部と、前記第1のマスター保持部に接続されてデータを出力する第1のマスター出力部と、を有する第1のマスターラッチと、
    前記第1のマスター入力部と共通のデータが入力される第2のマスター入力部と、前記第2のマスター入力部に接続された第2のマスターゲートであって、前記第1のクロック信号に対してオン状態とオフ状態とが切り替わる時期が異なる第2のクロック信号に応じてオン状態とオフ状態とを切り替える前記第2のマスターゲートと、前記第2のマスターゲートに直列に接続され、前記第2のマスターゲートがオン状態の場合に、前記第2のマスター入力部から入力されたデータを取り込むと共に、前記第2のマスターゲートがオフ状態の場合に、オン状態からオフ状態になった際のデータを保持する第2のマスター保持部と、前記第2のマスター保持部に接続されてデータを出力する第2のマスター出力部と、を有する第2のマスターラッチと、
    データが入力されるスレーブ入力部と、前記スレーブ入力部に接続されたスレーブゲートであって、前記クロック信号に応じて前記マスターゲートとはオン状態とオフ状態が反転した状態で切り替える前記スレーブゲートと、前記スレーブゲートに直列に接続され、前記スレーブゲートがオン状態の場合に、前記スレーブ入力部から入力されたデータを取り込むと共に、前記スレーブゲートがオフ状態の場合に、オン状態からオフ状態になった際のデータを保持するスレーブ保持部と、前記スレーブ保持部に接続されてデータを出力するスレーブ出力部と、を有するスレーブラッチと、
    前記第1のマスター出力部および前記第2のマスター出力部からデータが入力され、且つ、前記スレーブ入力部にデータを出力可能に接続された比較部であって、前記第1のクロック信号の状態が切り替わる時期における前記第1のマスター出力部から出力されるデータの値と、前記第2のクロック信号の状態が切り替わる時期における前記第2のマスター出力部から出力されるデータの値と、が一致する場合に、前記スレーブ入力部に前記各マスターラッチの少なくとも一方から出力されたデータを出力すると共に、一致しない場合に、前記各マスター出力部から出力されたデータを前記スレーブ入力部に対して出力しない前記比較部であって、前記第1のマスター出力部に接続され、前記第2のクロック信号に応じて切り替わる第3のゲートと、前記第1のマスター出力部からのデータと前記第2のマスター出力部からのデータとが一致するか否かを比較する比較器と、前記第3のゲートからのデータと、前記スレーブ出力部から出力されるデータと、が入力され、且つ、前記比較器から比較結果の信号が入力され、前記比較結果が一致の場合には、前記第3のゲートからのデータを前記スレーブ入力部に出力すると共に、前記比較結果が不一致の場合には、前記スレーブ出力部からのデータを前記スレーブ入力部に出力するマルチプレクサと、を有する前記比較部と、
    を備えたことを特徴とするマスタースレーブ型のフリップフロップ装置。
JP2014012955A 2014-01-28 2014-01-28 マスタースレーブ型のフリップフロップ装置 Active JP6342168B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014012955A JP6342168B2 (ja) 2014-01-28 2014-01-28 マスタースレーブ型のフリップフロップ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014012955A JP6342168B2 (ja) 2014-01-28 2014-01-28 マスタースレーブ型のフリップフロップ装置

Publications (2)

Publication Number Publication Date
JP2015142192A JP2015142192A (ja) 2015-08-03
JP6342168B2 true JP6342168B2 (ja) 2018-06-13

Family

ID=53772305

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014012955A Active JP6342168B2 (ja) 2014-01-28 2014-01-28 マスタースレーブ型のフリップフロップ装置

Country Status (1)

Country Link
JP (1) JP6342168B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7052971B2 (ja) * 2018-04-16 2022-04-12 ラピスセミコンダクタ株式会社 半導体集積回路

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62151053A (ja) * 1985-12-25 1987-07-06 Iwatsu Electric Co Ltd ノイズ除去回路
JPS62232214A (ja) * 1986-04-02 1987-10-12 Hitachi Ltd 雑音除去回路
JPH0480131U (ja) * 1990-11-22 1992-07-13
EP2582046B1 (en) * 2010-06-11 2019-05-01 National University Corporation Kyoto Institute of Technology Flip-flop circuit, semiconductor device and electronic apparatus
JP5707964B2 (ja) * 2011-01-21 2015-04-30 富士通セミコンダクター株式会社 ラッチ回路およびデータ保持回路
JP5879688B2 (ja) * 2011-02-07 2016-03-08 公立大学法人首都大学東京 フリップフロップ装置

Also Published As

Publication number Publication date
JP2015142192A (ja) 2015-08-03

Similar Documents

Publication Publication Date Title
US9520877B2 (en) Apparatus and method for detecting or repairing minimum delay errors
Eftaxiopoulos et al. DIRT latch: A novel low cost double node upset tolerant latch
US20190011499A1 (en) Highly efficient double-sampling architectures
US8766663B2 (en) Implementing linearly weighted thermal coded I/O driver output stage calibration
US10009027B2 (en) Three state latch
US20170160339A1 (en) Degradation monitoring of semiconductor chips
Chen et al. Two approximate voting schemes for reliable computing
US10372868B2 (en) Error resilient digital signal processing device
US9124262B2 (en) Reconfigurable flip-flop
US9124258B2 (en) Integrated circuit device, electronic device and method for detecting timing violations within a clock signal
Takhirov et al. Error mitigation in digital logic using a feedback equalization with Schmitt trigger (FEST) circuit
Almukhaizim et al. Novel hazard-free majority voter for N-modular redundancy-based fault tolerance in asynchronous circuits
US20180052199A1 (en) Adjusting latency in a scan cell
JP6342168B2 (ja) マスタースレーブ型のフリップフロップ装置
Smith A new methodology for single event transient suppression in flash FPGAs
US20170364620A1 (en) Verification of Untimed Nets
Smith Single event upset mitigation by means of a sequential circuit state freeze
US8643421B1 (en) Implementing low power, single master-slave elastic buffer
US7760843B2 (en) High frequency divider state correction circuit
Singh et al. Evaluation of circuit reliability based on distribution of different signal input patterns
Chen et al. An approximate voting scheme for reliable computing
US10001523B2 (en) Adjusting latency in a scan cell
Belohoubek et al. Novel c-element based error detection and correction method combining time and area redundancy
Liu et al. An SET hardened dual-modular majority voter circuit for TMR system
Lechner Designing robust gals circuits with triple modular redundancy

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180417

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180516

R150 Certificate of patent or registration of utility model

Ref document number: 6342168

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350