JP2008085592A - 半導体集積回路装置 - Google Patents

半導体集積回路装置 Download PDF

Info

Publication number
JP2008085592A
JP2008085592A JP2006262700A JP2006262700A JP2008085592A JP 2008085592 A JP2008085592 A JP 2008085592A JP 2006262700 A JP2006262700 A JP 2006262700A JP 2006262700 A JP2006262700 A JP 2006262700A JP 2008085592 A JP2008085592 A JP 2008085592A
Authority
JP
Japan
Prior art keywords
circuit
output
flip
flop
signal
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.)
Granted
Application number
JP2006262700A
Other languages
English (en)
Other versions
JP4224094B2 (ja
Inventor
Shinichi Yasuda
田 心 一 安
Keiko Abe
部 恵 子 安
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006262700A priority Critical patent/JP4224094B2/ja
Priority to US11/859,878 priority patent/US7772905B2/en
Priority to CNA2007101944937A priority patent/CN101166022A/zh
Publication of JP2008085592A publication Critical patent/JP2008085592A/ja
Application granted granted Critical
Publication of JP4224094B2 publication Critical patent/JP4224094B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0375Bistable circuits provided with means for increasing reliability; for protection; for ensuring a predetermined initial state when the supply voltage has been applied; for storing the actual state when the supply voltage fails

Abstract

【課題】誤り訂正機能を可及的に小さな面積の増大で実現することを可能にする。
【解決手段】第1のクロック信号の立ち上がりエッジまたは立ち下がりエッジの一方のエッジに基づいて動作するフリップフロップ2と、フリップフロップの入力と出力とを比較し、異なる場合に要求信号を出力する判定回路6と、外部からの第2のクロック信号を受け、前記第1のクロック信号および確認信号を発生する制御回路4と、を備え、制御回路は、判定回路から要求信号が送られてきたときにフリップフロップが動作後であれば、第1のクロック信号を反転させかつ確認信号を前記判定回路に送出し、判定回路に要求信号を解除させる。
【選択図】図1

Description

本発明は、半導体集積回路装置に関する。
半導体素子の微細化がすすむにつれて、素子ごとのばらつきが大きくなるという問題がある。ばらつきが大きくなると、動作が非常に遅い回路ブロックがある確率で出現することになり、ワーストケースの遅延時間に合わせた回路設計では、クロック周波数を速くすることが困難になる。また、ばらつきの増大は、シミュレーションによる遅延時間の見積もりを困難にさせ、予測以上の遅延によりタイミングエラーを引き起こす原因になる。また、素子の微細化と集積度の増大により、電源電圧は小さくなりクロック周波数が速くなったことで、高エネルギー粒子によるソフトエラーが起こる確率が高くなってきている。
従来、タイミングエラーやソフトエラーを回避するフリップフロップの構成としては、例えば特許文献1に記載された構成が知られている。これは、パイプライン上のフリップフロップと並列に、別のラッチ回路を設け、システムクロックから少し遅れたクロックでこれを使用して、両方が保持しているデータの内容をくらべ、違う場合にエラーがあったと判断してデータの修正を行うものである。
しかし、この方法では、ラッチ回路をもう一つ用意することや、データを比べるための比較回路、データを修正するための回路などにより、回路面積が大きくなるという問題があった。また、エラーがたとえなくても、用意されたラッチ回路を動作させることになるため、消費電力が増大するという問題があった。
低消費電力化を目的としたフリップフロップ構成としては、例えば、特許文献2、特許文献3に開示されている。これはフリップフロップの入力と出力が違うときのみ、クロックの立ち上がりのタイミングで内部クロックが立ち上がり、入力と出力が変わらなければ、クロックが立ち上がらないものである。しかし、この構成はクロックの立ち上がり時のみで入出力を判断するので、予期しないエラーに対する耐性は持っていない。
米国特許公開第2004/0199821号明細書 特開2000−232339号公報 特開2004−56667号公報
本発明は、上記事情を考慮してなされたものであって、誤り訂正機能を可及的に小さな面積の増大で実現することができるフリップフロップ回路およびこれを用いたパイプラインシステムを提供することを目的とする。
本発明の第1の態様によるフリップフロップ回路は、第1のクロック信号の立ち上がりエッジまたは立ち下がりエッジの一方のエッジに基づいて動作するフリップフロップと、前記フリップフロップの入力と出力とを比較し、異なる場合に要求信号を出力する判定回路と、外部からの第2のクロック信号を受け、前記第1のクロック信号および確認信号を発生する制御回路と、を備え、前記制御回路は、前記判定回路から前記要求信号が送られてきたときに前記フリップフロップが動作後であれば、前記第1のクロック信号を反転させかつ前記確認信号を前記判定回路に送出し、前記判定回路に前記要求信号を解除させることを特徴とする。
また、本発明の第2の態様によるパイプラインシステムは、フリップフロップと論理回路との組が複数個直列に接続され、少なくとも一組のフリップフロップが請求項1乃至8のいずれかに記載のフリップフロップ回路に置き換えられていることを特徴とする。
本発明によれば、誤り訂正機能を可及的に小さな面積の増大で実現することができる。
以下、本発明の実施形態を、図面を参照して説明する。以下に示す、実際の回路例では、論理的に変換されるすべての回路構成の中の一例を示したもので、ここに示さない他の回路構成でも同じことが実現できるのは明らかである。
(第1実施形態)
本発明の第1実施形態によるフリップフロップ回路の基本的な構成を図1に示す。
フリップフロップ回路はクロックの立ち上がりエッジで動作するものと、立ち下りエッジで動作するものがあるが、以下の実施形態ではすべて立ち上がりエッジで動作するものを想定して説明をする。立ち下りエッジで動作する場合も同様に考えられる。また、D型フリップフロップ(以下、D−FFとも云う)の場合を例にとり説明するが、クロックを使うフリップフロップに対して適用可能であり、D−FFに限定されるものではない。
本実施形態のフリップフロップ回路は、通常のD−FF2と、制御回路4と、判定回路6とを備えている。制御回路4はクロック信号および判定回路6からの要求信号に基づいて動作し、判定回路6に確認信号を送出するとともにD−FF2にクロック信号を送出する。判定回路6は、D−FF2の入出力D、Qと、制御回路4からの確認信号とに基づいて動作し、要求信号を判定回路6に送出する。
初期状態では判定回路6からの要求信号も、制御回路4からの確認信号も出されていないとする。まず、判定回路6はフリップフロップ2の入力Dと出力Qを比べ、両者が違う値である場合に、制御回路4へ要求信号を送る。制御回路4は要求信号のタイミングが、クロックの立ち上がり後であれば、クロックを立ち下げて確認信号を判定回路6へ送る。判定回路6は確認信号を受け取ると、要求信号を解除する。制御回路4は要求信号が解除されると、クロックの立ち下げ状態を解除し、確認信号を解除する。立ち下げ状態を解除されたクロックは再び立ち上がるので、このエッジでD−FF2の入力が再び保持される。
この動作の中で、クロックが立ち上がったすぐ後にD≠Qの状態であった場合にエラーが起こっていると判断している。クロック立ち上がり後のすぐ後というのは、ひとまずクロックが「H」の状態にある場合とする。すなわち、クロックが「L」の状態にあるときに要求信号が送られても、その場合は、確認信号は発せられず、上記動作は起こらない。
要求信号や確認信号は、正論理でも負論理でもかまわない。制御回路4および判定回路6で辻褄が合っていればよい。
タイミングエラーが起きたときやソフトエラーが起こったときに、上記の動作が行われると、D−FF2にとっては、クロックが二度立ち上がり、後半のクロックにより値を保持することになる。そのとき、システム全体で見ると、その部分のクロックが遅れて立ち上がっていることになり、後段の回路のタイミングが厳しくなることになる。しかし、クロックのタイミングはワーストケースで設計されているものの、常にロジックがクリティカルパスを通るようなワーストケースの計算をしているわけではなく、また、素子のばらつきにより、ある部分の回路は動作が非常に速くなることもありえるため、一部分のタイミングが厳しくなっても後段の回路のどこかで、そのタイミングを吸収することは可能である。
以上説明したように、本実施形態によれば、制御回路4および判定回路6を設けることにより誤り訂正機能を付加することができ、これにより可及的に小さな面積の増大で実現することができる。
(第2実施形態)
本発明の第2実施形態によるフリップフロップ回路を図2に示す。本実施形態は、第1実施形態のフリップフロップ回路の制御回路4および判定回路6をロジックレベルで具体的に記述した一回路構成となっている。制御回路4はAND回路4aから構成され、判定回路6は、D−FF2の入出力D,Qに基づいて排他的論理和演算をする排他的論理和回路6a(以下、EXOR回路6aとも云う)と、遅延素子6bと、およびEXOR回路6aおよび遅延素子6bの出力に基づいてNAND演算する論理回路6cとから構成される。この場合、D−FF2へのクロックと確認信号は同じ信号を使用しているが、合成する論理によって、そうである場合もそうでない場合もある。また、本実施形態においては、要求信号や確認信号は、負論理で行われていることになる。
遅延素子6bは、D−FF2のクロック−出力遅延時間を吸収するために挿入されている。すなわち、D−FF2はクロック入力後から出力が変わるまで遅延時間があるので、この遅延により、エラーがなくてもクロック立ち上がり直後はD≠Qとなる時間帯が存在する。この状態はエラーではないので、遅延素子6bにより、この時間を吸収する。この意味で、遅延素子6bは必ずしも図2中に示される確認信号の位置に挿入される必要は無く、論理回路6cからAND回路4aの間、要求信号のノードに挿入されてもよい。遅延素子6bの実現方法は、例えば、CMOSインバータを繰り返し用いることで実現できる。また、遅延素子6bという形で明示的に入れなくとも、前後の論理ゲートのサイズを変更することで論理ゲート自身の遅延をコントロールして、実質的に遅延素子を挿入したのと同様の遅延時間を挿入することもできる。また遅延時間の調整は、CMOSインバータを複数個用いても良いし、CMOSインバータを構成するトランジスタのサイズを変更し、チャネル幅を狭くしたり、チャネル長を長くしたりすることや、キャパシタと組み合わせることで実現できる。
以上説明したように、本実施形態によれば、制御回路4および判定回路6を設けることにより誤り訂正機能を付加することができ、これにより可及的に小さな面積の増大で実現することができる。
(第3実施形態)
次に、本発明の第3実施形態によるフリップフロップ回路を図3に示す。この実施形態のフリップフロップ回路は、第2実施形態の論理回路6cを、直列に接続されたpチャネルトランジスタ6c1、nチャネルトランジスタ6c2、およびnチャネルトランジスタ6c3に置き換えた構成となっている。
立ち上がりエッジフリップフロップの場合は、クロックが「L」の場合は、判定回路6からどんな要求信号が送られても、制御回路4では何も行わないので、判定回路6はクロックが「H」のときのみ正しく動作すればよいので、図3に示すようなダイナミックな回路構成が可能となる。
本実施形態の第1変形例によるフリップフロップ回路を図4に示す。この第1変形例は、図3に示すフリップフロップ回路の構成を、D−FF2も含めて論理ゲートレベルで記述したフリップフロップ回路の一例である。D−FF2は、インバータ2aと、トランスファーゲート2bと、交差接続されたインバータ2cおよびクロックドインバータ2dからなるラッチ回路と、トランスファーゲート2eと、交差接続されたインバータ2fおよびクロックドインバータ2gからなるラッチ回路と、インバータ2hとを備えており、これらが直列に接続されている。
制御回路4は、NAND回路4aと、NAND回路4aの出力を反転するインバータ4bとを備えている。判定回路6は、インバータ2aの入出力に基づいて動作するトランスファーゲート6a1、6a2と、インバータ6b1、6b2と、直列に接続された、pチャネルトランジスタ6c1およびnチャネルトランジスタ6c2、6c3と、を備えている。なお、トランスファーゲート2bはNAND回路4aの出力cnとインバータ4bの出力cの反転出力とに基づいて動作し、トランスファーゲート2eはNAND回路4aの出力cnの反転出力とインバータ4bの出力cとに基づいて動作する。トランスファーゲート6a1、6a2が図3に示すEXOR回路6aを構成する。
本変形例のような回路構成をとると、元のD−FF2に追加されるトランジスタ数は17個ですむ。一方、特許文献1に記載された回路構成をとると、追加のラッチ回路や比較回路、セレクタ回路から、追加トランジスタ数は38個程度となる。このため、本変形例により回路のオーバーヘッドを小さく抑えたまま、誤り訂正機能を実現することが可能となる。
なお、本変形例においては、トランスファーゲート6a1はインバータ2fの入力を受け、トランスファーゲート6a2はインバータ2fの出力を受けていたが、図5に示す第2変形例のように、トランスファーゲート6a1はインバータ2hの出力を受け、トランスファーゲート6a2はインバータ2hの出力を反転するインバータ2iの出力を受けるように構成してもよい。この場合、トランスファーゲート6a1、6a2はインバータ2aの入力と、上記入力を反転するインバータ2jの出力とに基づいて動作することになる。
本実施形態のフリップフロップ回路の信号波形を図6に示す。D−FF2の入力信号Dが、通常動作している状態では、本実施形態のD−FF2と通常のD−FFで動作に差はない。ここに、例えば、高エネルギー粒子により、トランジエントエラー(ここでは電圧降下)が起き、そのタイミングでクロックが立ち上がったとすると、対策をとっていない通常のD−FFでは誤ったデータを保持してしまうのに対して、本実施形態においては、D−FF2は、データ回復後にもう一度クロックを立ち上げなおし、多少の遅延は伴うものの、正しいデータを後段へ送り出せる。また、例えば、ロジックのタイミングを誤り、タイミングエラーを起こした場合でも、それがクロック立ち上がり直後に正しい値に回復している場合には、やはりクロックを再立ち上げして、正しいデータを後段に送り出すことができる。この動作例で回路に流れた平均電流は、シミュレーションによると0.047mA程度であったが、特許文献1の構成では、平均電流は0.069mA程度であった。これにより、本実施形態のフリップフロップ回路は、低消費電力で誤り訂正機能を実現することが可能となる。
立ち上がり直後というのは、クロックが「H」レベルの間である。というのは、クロックのデューティー比が50%程度のとき、しばしば長すぎる場合がある。その場合は、クロックのデューティー比を変えて、「H」レベルの時間を短くすることで対応できる。このことは、次に示す第4実施形態でも可能である。
(第4実施形態)
次に、本発明の第4実施形態によるフリップフロップ回路を図7に示す。本実施形態のフリップフロップ回路は、図3に示す第3実施形態において、遅延素子6bの後に、遅延素子6b3と、AND回路6b4とを挿入した構成となっている。AND回路6b4の片方の論理だけ負論理動作にしておく。このときAND回路6b4は2つの入力が「H」になると「L」を出力するが、片方の入力にだけ遅延素子が挿入されているので、クロックが「L」から「H」になった後、両入力の遅延差の時間だけ、AND回路6b4は「H」を出力し、この間だけ、D−FF2のエラー判定が行われる。その時間は遅延素子6b3による、AND回路6b4の2入力の遅延差で決定される。遅延時間の調整は、他の実施形態と同じく、インバータを重ねた形でも良いし、チャネル幅やチャネル長を変化させること、キャパシタと組み合わせることで実現できる。片方を負論理にしたAND回路は、AND回路の入力にインバータを接続することで実現できる。このような構成をとっても、追加トランジスタ数は27個程度であり、回路のオーバーヘッドを小さく抑えたまま、誤り訂正機能を持たせることが可能になる。
本実施形態も第3実施形態と同様に、誤り訂正機能を可及的に小さな面積の増大で実現することができる。
(第5実施形態)
次に、本発明の第5実施形態によるフリップフロップ回路を図8に示す。この実施形態のフリップフロップ回路は、図2に示す第2実施形態において、制御回路4を3入力AND回路4cから構成し、EXOR回路6aの出力を第1要求信号として3入力AND回路4cに入力し、判定回路6の遅延素子6bを論理回路6cの出力と3入力AND回路4cの入力との間に設け、この遅延素子6bの出力を第2要求信号として3入力AND回路4cの入力とした構成となっている。
すなわち、制御回路4への要求信号に、判定回路中のD≠Q信号を出力する信号(第1要求信号)も合わせて要求信号として出力する構成を示したもので、より具体的には判定回路6中の排他的論理和回路6aの出力を正論理として制御回路4中の3入力AND回路4cへ入力したものである。このような構成をとることによって、制御回路4はD−FF2がクロックを必要とするときのみ、クロックをD−FFへ入力するように制御する。すなわち、D≠Qでかつクロックが立ち上がったときと、その後エラーが検出されたときである。遅延素子6bは判定回路6中の論理回路6cの出力後、要求信号のノードに接続されているが、これは他の実施形態と同様で、確認信号のノードに接続することも、もちろん可能であり、その位置にはこだわらない。
本実施形態も、誤り訂正機能を可及的に小さな面積の増大で実現することができる。
次に、本実施形態の第1変形例によるフリップフロップ回路を図9に示す。この変形例は、図8に示す第5実施形態の構成を論理ゲートレベルで具体的に記述したときの一例である。論理ゲートが図8に示すNAND回路4c、論理回路6cやAND回路のロジックからNOR回路のロジックに変更されているが、これは論理ゲート数や動作を最適化する上での変更であり、論理的には全く同じものである。D−FF2は、図4に示すD−FF2と同じ構成となっている。制御回路4は、インバータ4dと、3入力NOR回路4eと、インバータ4fとを備えており、これらが直列に接続されている。判定回路6は、トランスファーゲート6a1、6a2と、インバータ6dと、NOR回路6eとを備えており、図8に示す第5実施形態で記述していた遅延素子6bを本変形例では使用していないが、これは前後の論理や論理ゲートサイズを調整することで必要な遅延時間を確保したためである。インバータ6dはトランスファーゲート6a1、6a2の出力を受ける。インバータ4dは外部から入力されるクロックを反転する。NOR回路4eはインバータ4d出力と、インバータ6dの出力(第2要求信号)と、NOR回路6eの出力(第1要求信号)とを受け、NOR演算を行う。インバータ4fはNOR回路4eの出力を反転する。NOR回路6eはインバータ4fの出力(確認信号)と、インバータ6dの出力を受け、NOR演算を行う。なお、D−FF2のクロック信号cnとしてインバータ4fの出力信号が用いられ、クロック信号cとしてインバータ8の出力信号が用いられる。
このように、図8に示す第5実施形態以外でも、本変形例で記述した回路構成には、その論理を変えない範囲で、当然ながら無数の構成方法が可能である。このような回路構成をとっても、誤り訂正機能を実現するための追加トランジスタ数は20個程度であり、回路のオーバーヘッドを小さく抑えたまま、誤り訂正機能を実現することが可能である。
図10は、図9に示す本変形例のD−FF2の構成の回路動作を示す信号波形である。図6に示したと同様に、高エネルギー粒子による電圧効果と、遅延によるタイミング違反が起きたときの動作を示している。本変形例によれば、D−FF2の内部クロックc、cnは、エラーが起きていても起きていなくても、D=Qの場合にはクロックは立ち上がらない。D≠Qの場合、クロックの立ち上がりタイミングで、内部クロックc、cnが立ち上がり、D−FF2にデータが保持される。また、エラーが起きた場合も、その時点でクロックが立ち上がり、多少の遅れを伴いながらも正しい値を保持できる。このときのシミュレーションによる平均電流値は0.048mA程度であり、特許文献1に比べて低消費電力で誤り訂正機能を実現することが可能である。なお、図4に示す第3実施形態の変形例に比べて低消費電力化されていないが、本実施形態はD−FF2に入力されるデータの遷移が少ないときに余分な回路動作を排除することで低消費電力を実現するものである。このため、本シミュレーションのようにデータの遷移が多い場合には、それほど大きな効果があるわけではない。逆に、データの遷移が少ない場合には、余分な回路動作が排除されるため、より大きな低消費電力効果が得られる。
エラーとD≠Qの時のみクロックを立ち上げる構成の一部は、図11に示す第2変形例によるフリップフロップ回路のような構成でも実現できる。この変形例では、AND回路4aからなる制御回路2からの確認信号を、EXOR回路6aからなる判定回路6は受け取らず、判定回路6はD≠Qの情報のみを制御回路4に要求するだけであるので、回路規模が小さくすむという利点がある。ただし、確認信号がないので、クロックを立ち上げたにも関わらず、何らかのエラーによりD≠Qが解消されなかった場合、D−FF2はそれを知ることなく動作を続けてしまうので、エラー耐性としては落ちるという欠点もある。
(第6実施形態)
次に、本発明の第6実施形態によるフリップフロップ回路を図12に示す。本実施形態のフリップフロップ回路は、図1に示す第1実施形態のD−FF2をフリップフロップ2Aに置き換えた構成となっている。このフリップフロップ2Aは、第1実施形態のD−FF2にテストモード信号TEを受ける端子と、テストモード用入力信号SIを受ける端子と、テストモード用出力信号SOを受ける端子とを設けた構成となっている。
スキャンテストを行うときなど、外部からフリップフロップへ直接データを入力していく場合がある。そのときはテストモード信号TEを入力することで、パイプラインシステム中の隣接する後段のフリップフロップ回路の入力信号SI用端子と前段のフリップフロップ回路の出力信号SO用端子をそれぞれ結んでシフトレジスタ的に動作させることが可能になる。その際テストモード信号TEを判定回路6にも入力し、判定回路6の動作を一時的に停止させる。本構成はテストモードのときだけでなく、もちろん通常使用時でも必要があれば使用することは可能である。
本実施形態も、誤り訂正機能を可及的に小さな面積の増大で実現することができる。
本実施形態の第1変形例によるフリップフロップ回路を図13に示す。本変形例は、図12に示す第6実施形態の構成をゲートレベルで記述したものである。本変形例では、図3に示す第3実施形態の構成にテストモード信号TEを受けるインバータ6fと、論理回路6cにこのインバータ6fの出力を受けるnチャネルトランジスタ6c4とを新たに設けた、論理回路6gを用いた構成となっている。nチャネルトランジスタ6c4は、nチャネルトランジスタ6c2、6c3間に設けられる。テストモード信号TEがONされることで、判定回路6から要求信号の出力を止め、判定回路6の機能を一時的に停止させる。テストモード信号TEが負論理の場合は、テストモード信号TEを受けるインバータ6fを除去することができ、回路面積を縮小できる。
本実施形態の第2変形例によるフリップフロップ回路を図14に示す、この変形例のフリップフロップ回路は、図8に示す第5実施形態のフリップフロップ回路にテストモード信号TEを受けるインバータ6fを新たに設けるとともに、インバータ6fの出力を受けるために2入力論理回路6cをNAND演算する3入力論理回路6gに置き換えた構成となっている。テストモード信号TEがONされることで、判定回路6から要求信号の出力を止め、判定回路6の機能を一時的に停止させる。テストモード信号TEが負論理の場合は、テストモード信号TEを受けるインバータ6fを除去することができ、回路面積を縮小できる。
(第7実施形態)
次に、本発明の第7実施形態によるフリップフロップ回路を図15に示す。本実施形態のフリップフロップ回路は、複数のD−FF2、2、・・・、2(n≧2)を備え、これらのD−FF2、2、・・・、2に対して判定回路6と、制御回路4とを共有した構成となっている。これにより、判定回路6や制御回路4の面積は増大するものの、回路全体の面積は縮小される。この構成によれば、複数のD−FF2、2、・・・、2の入力と出力をそれぞれ判定し、一つでもエラーが検出された場合は、全体のクロックを立ち上げなおすことで、エラー耐性を持たせることができる。
次に、本実施形態の第1変形例によるフリップフロップ回路を図16に示す。この変形例のフリップフロップ回路は、図15に示す第7実施形態の構成をゲートレベルで記述した一例を示している。なお、図16においては、D−FFはD−FF2のみを表示し、他のD−FFは省略してある。本変形例では、図3に示す第3実施形態の構成に、複数のD≠Qを判定する判定回路(EXOR回路)を、ダイナミックゲートであるドミノ回路のOR構成で接続した形となっている。すなわち、D−FF2(i=1,・・・,n)のD≠Qを判定するEXOR回路6aの出力をゲートに受けるnチャネルトランジスタ6c2のソース同士およびドレイン同士をそれぞれ共通に接続した構成となっている。この構成によれば、複数のD−FF2、2、・・・、2のうちの少なくとも一つにエラーが起これば、クロックを再立ち上げして、データの再読み込みを実行することができ、エラー耐性を持たせることができる。また、本構成のようにドミノ回路の構成にせずに、スタティックゲートで実現する場合にも同様であり、複数のEXOR回路をOR接続することで、同じことが実現できる。
複数のD≠Qの判定回路をOR接続する場合に、分割して接続することもできる。これにより一度にOR接続するよりも動作速度を改善できる。図17は、この構成を図8に示す第5実施形態の構成をもとにして適用した第7実施形態の第2変形例によるフリップフロップ回路を示す回路図である。このようにOR接続を分割する方法は、ダイナミック回路の構成をとったときも同様に適用できることは明らかである。
(第8実施形態)
次に、本発明の第8実施形態によるパイプラインシステムを図18に示す。本実施形態のパイプラインシステムは、D−FF101と、論理回路102とが直列に複数組接続されたパイプラインにおいて、少なくとも一つD−FF101を第1乃至第7実施形態のいずれかのフリップフロップ回路で置き換えた構成となっている。このようなパイプライン構成にすることで、回路全体にエラー耐性を持たせることができる。すべてのフリップフロップを上記実施形態のフリップフロップ回路に取り替えても良いし、ロジックのタイミングの厳しいところにだけ挿入しても良い。なお、図18においては、パイプラインに導入された上記実施形態のフリップフロップ回路の後段に論理回路を含まないようにした、すなわち空のステージを設けた構成となっている。
上記実施形態のフリップフロップ回路により、エラーを回避したとき、その後段のロジックはタイミングが厳しくなる。通常は、すべてのロジックで最悪遅延時間の計算が行われているわけではないので、どこかのタイミングで吸収できるわけではない。このため、図18に示すように、空のステージを用意することで、より確実なエラー耐性を実現することができる。空のステージは導入された上記実施形態のフリップフロップ回路の後であれば、直後でも、パイプライン全体の最後でも、どこでも良い。
以上の実施形態において、その回路構成はこれに限定するものではなく、論理的な変換により、同様の効果を持った回路構成をとることが可能であることは自明である。フリップフロップは、立ち上がりエッジトリガのものを想定して説明を行ったが、立下りエッジトリガのものでも同様に考えることができる。その場合はクロックを負論理として、反転回路を挿入し、論理変換により最適な回路を構成を実現することができる。
以上説明したように、本発明の各実施形態によれば、誤り耐性を持ったシステムを実現することが可能になる。
第1実施形態によるフリップフロップ回路の基本的な構成を示すブロック図。 第2実施形態によるフリップフロップ回路を示す回路図。 第3実施形態によるフリップフロップ回路を示す回路図。 第3実施形態の第1変形例によるフリップフロップ回路を示す回路図。 第3実施形態の第2変形例によるフリップフロップ回路を示す回路図。 第3実施形態の動作を示す信号波形図。 第4実施形態によるフリップフロップ回路を示す回路図。 第5実施形態によるフリップフロップ回路を示す回路図。 第5実施形態の第1変形例によるフリップフロップ回路を示す回路図。 第5実施形態の第1変形例によるフリップフロップ回路の動作を示す信号波形図。 第5実施形態の第2変形例によるフリップフロップ回路を示す回路図。 第6実施形態によるフリップフロップ回路を示す回路図。 第6実施形態の第1変形例によるフリップフロップ回路を示す回路図。 第6実施形態の第2変形例によるフリップフロップ回路を示す回路図。 第7実施形態によるフリップフロップ回路を示す回路図。 第7実施形態の第1変形例によるフリップフロップ回路を示す回路図。 第7実施形態の第2変形例によるフリップフロップ回路を示す回路図。 第8実施形態によるパイプラインシステムを示すブロック図。
符号の説明
2 D−FF(D型フリップフロップ)
4 制御回路
6 判定回路

Claims (10)

  1. 第1のクロック信号の立ち上がりエッジまたは立ち下がりエッジの一方のエッジに基づいて動作するフリップフロップと、
    前記フリップフロップの入力と出力とを比較し、異なる場合に要求信号を出力する判定回路と、
    外部からの第2のクロック信号を受け、前記第1のクロック信号および確認信号を発生する制御回路と、
    を備え、前記制御回路は、前記判定回路から前記要求信号が送られてきたときに前記フリップフロップが動作後であれば、前記第1のクロック信号を反転させかつ前記確認信号を前記判定回路に送出し、前記判定回路に前記要求信号を解除させることを特徴とするフリップフロップ回路。
  2. 前記制御回路はAND回路を有し、
    前記判定回路は、前記フリップフロップの入力および出力の不一致を検出する不一致検出回路と、前記AND回路の出力を遅延させる遅延素子と、前記不一致検出回路の出力と前記遅延素子の出力とに基づいてNAND演算し、前記要求信号を出力する論理回路とを有し、
    前記AND回路は前記第2のクロック信号と前記論理回路の出力とに基づいてAND演算し、出力である前記確認信号を前記フリップフロップおよび前記遅延素子に送出することを特徴とする請求項1記載のフリップフロップ回路。
  3. 前記制御回路はAND回路を有し、
    前記判定回路は、前記フリップフロップの入力および出力の不一致を検出する不一致検出回路と、前記AND回路の出力を遅延させる遅延素子と、前記不一致検出回路の出力と前記遅延素子の出力とに基づいて演算する論理回路とを有し、
    前記論理回路は前記遅延素子の出力をゲートに受けソースが電源に接続されるpチャネルトランジスタと、前記不一致検出回路の出力をゲートに受け、ドレインが前記pチャネルトランジスタのドレインに接続される第1のnチャネルトランジスタと、前記遅延素子の出力をゲートに受け、ドレインが前記第1のnチャネルトランジスタのソースに接続され、ソースが接地される第2のnチャネルトランジスタと、を備え、前記pチャネルトランジスタと前記第1のnチャネルトランジスタの共通接続ノードから前記要求信号を出力し、
    前記AND回路は前記第2のクロック信号と前記論理回路の出力とに基づいてAND演算し、出力である前記確認信号を前記フリップフロップおよび前記遅延素子に送出することを特徴とする請求項1記載のフリップフロップ回路。
  4. 前記フリップフロップは、前記第1クロック信号に基づいて動作する第1のラッチ回路と、前記第1のラッチ回路に直列に接続され前記第1のクロック信号の反転信号に基づいて動作する第2のラッチ回路とを備え、
    前記制御回路はAND回路を有し、
    前記判定回路は、前記フリップフロップの入力および出力の不一致を検出する不一致検出回路と、前記AND回路の出力を遅延させる遅延素子と、前記不一致検出回路の出力と前記遅延素子の出力とに基づいて演算する論理回路とを有し、
    前記不一致検出回路は、前記フリップフロップの入力データの反転信号に基づいて前記第2のラッチ回路の入力の取り込みまたは遮断の制御する第1のトランスファーゲートと、前記フリップフロップの入力データに基づいて前記第2のラッチ回路の出力の取り込みまたは遮断の制御する第2のトランスファーゲートと、を備え、前記第1および第2のトランスファーゲートの出力端子が共通に接続され、
    前記論理回路は前記遅延素子の出力をゲートに受けソースが電源に接続されるpチャネルトランジスタと、前記不一致検出回路の出力をゲートに受け、ドレインが前記pチャネルトランジスタのドレインに接続される第1のnチャネルトランジスタと、前記遅延素子の出力をゲートに受け、ドレインが前記第1のnチャネルトランジスタのソースに接続され、ソースが接地される第2のnチャネルトランジスタと、を備え、前記pチャネルトランジスタと前記第1のnチャネルトランジスタの共通接続ノードから前記要求信号を出力し、
    前記AND回路は前記第2クロック信号と前記論理回路の出力とに基づいてAND演算し、出力である前記確認信号を前記フリップフロップおよび前記遅延素子に送出することを特徴とする請求項1記載のフリップフロップ回路。
  5. 前記制御回路はAND回路を有し、
    前記判定回路は、前記フリップフロップの入力および出力の不一致を検出する不一致検出回路と、前記AND回路の出力と前記不一致回路の出力とに基づいてNAND演算する論理回路と、前記論理回路の出力を遅延する遅延素子と、を有し、
    前記AND回路は前記第2のクロック信号と、前記不一致検出回路の出力と、前記遅延素子の出力とに基づいてAND演算し、出力である前記確認信号を前記フリップフロップおよび前記論理回路に送出することを特徴とする請求項1記載のフリップフロップ回路。
  6. 前記フリップフロップは、前記第1のクロック信号に基づいて動作する第1のラッチ回路と、前記第1のラッチ回路に直列に接続され前記第1のクロック信号の反転信号に基づいて動作する第2のラッチ回路とを備え、
    前記制御回路は、前記第2クロック信号を反転する第1のインバータと、第1のNOR回路と、前記第1のNOR回路の出力を反転する第2のインバータとを有し、
    前記判定回路は、前記フリップフロップの入力および出力の不一致を検出する不一致検出回路と、前記不一致検出回路の出力と前記第2のインバータの出力とに基づいてNOR演算する第2のNOR回路とを有し、
    前記不一致検出回路は、前記フリップフロップの入力データの反転信号に基づいて前記第2のラッチ回路の入力の取り込みまたは遮断の制御する第1のトランスファーゲートと、前記フリップフロップの入力データに基づいて前記第2のラッチ回路の出力の取り込みまたは遮断の制御する第2のトランスファーゲートと、を備え、前記第1および第2のトランスファーゲートの出力端子が共通に接続され、
    前記第1のNOR回路は前記第2のクロック信号の反転値と、前記不一致回路の出力と、前記第2のNOR回路の出力とに基づいてNOR演算することを特徴とする請求項1記載のフリップフロップ回路。
  7. 前記制御回路はAND回路を有し、
    前記判定回路は、前記フリップフロップの入力および出力の不一致を検出する不一致検出回路と、前記AND回路の出力を遅延させる遅延素子と、テストモード信号と前記不一致検出回路の出力と前記遅延素子の出力とに基づいてNAND演算し、前記要求信号を出力する論理回路とを有し、
    前記AND回路は前記第2のクロック信号と前記論理回路の出力とに基づいてAND演算し、出力である前記確認信号を前記フリップフロップおよび前記遅延素子に送出することを特徴とする請求項1記載のフリップフロップ回路。
  8. 前記制御回路はAND回路を有し、
    前記判定回路は、前記フリップフロップの入力および出力の不一致を検出する不一致検出回路と、テストモード信号と前記不一致検出回路の出力と前記AND回路の出力とに基づいてNAND演算する論理回路と、前記論理回路の出力を遅延する遅延素子とを有し、
    前記AND回路は前記第2のクロック信号と前記不一致回路の出力と前記遅延素子の出力とに基づいてAND演算し、出力である前記確認信号を前記フリップフロップおよび前記論理回路に送出することを特徴とする請求項1記載のフリップフロップ回路。
  9. フリップフロップと論理回路との組が複数個直列に接続され、少なくとも一組のフリップフロップが請求項1乃至8のいずれかに記載のフリップフロップ回路に置き換えられていることを特徴とするパイプラインシステム。
  10. 前記フリップフロップ回路に置き換えられた組の後段の少なくとも一組は論理回路が省略されていることを特徴とする請求項9記載のパイプラインシステム。
JP2006262700A 2006-09-27 2006-09-27 半導体集積回路装置 Expired - Fee Related JP4224094B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006262700A JP4224094B2 (ja) 2006-09-27 2006-09-27 半導体集積回路装置
US11/859,878 US7772905B2 (en) 2006-09-27 2007-09-24 Semiconductor integrated circuit apparatus
CNA2007101944937A CN101166022A (zh) 2006-09-27 2007-09-27 半导体集成电路装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006262700A JP4224094B2 (ja) 2006-09-27 2006-09-27 半導体集積回路装置

Publications (2)

Publication Number Publication Date
JP2008085592A true JP2008085592A (ja) 2008-04-10
JP4224094B2 JP4224094B2 (ja) 2009-02-12

Family

ID=39334558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006262700A Expired - Fee Related JP4224094B2 (ja) 2006-09-27 2006-09-27 半導体集積回路装置

Country Status (3)

Country Link
US (1) US7772905B2 (ja)
JP (1) JP4224094B2 (ja)
CN (1) CN101166022A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102638252A (zh) * 2012-04-17 2012-08-15 华南理工大学 一种提前终止异步比较器

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7427884B2 (en) * 2004-05-21 2008-09-23 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US7872514B2 (en) * 2008-12-20 2011-01-18 Motorola, Inc. Latch circuit and clock signal dividing circuit
US8120406B2 (en) * 2009-07-06 2012-02-21 Ati Technologies Ulc Sequential circuit with dynamic pulse width control
US8289048B2 (en) * 2010-04-28 2012-10-16 Intel Corporation State transitioning clock gating
US8487681B2 (en) * 2011-02-23 2013-07-16 Nvidia Corporation Dual-trigger low-energy flip-flop circuit
US8436669B2 (en) * 2011-04-27 2013-05-07 Nvidia Corporation Single-trigger low-energy flip-flop circuit
US9083327B2 (en) * 2012-07-06 2015-07-14 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and method of driving semiconductor device
US8860484B2 (en) * 2013-03-15 2014-10-14 Oracle International Corporation Fine grain data-based clock gating
US9876488B2 (en) * 2015-11-02 2018-01-23 Mediatek Inc. Flip-flop circuit with data-driven clock
US10056882B2 (en) * 2015-12-30 2018-08-21 Texas Instruments Incorporated Ultra-low power static state flip flop
US9923552B2 (en) 2016-07-20 2018-03-20 Nxp B.V. Latch circuitry
US9979381B1 (en) * 2016-10-28 2018-05-22 Qualcomm Incorporated Semi-data gated flop with low clock power/low internal power with minimal area overhead
KR102508309B1 (ko) * 2018-04-23 2023-03-10 에스케이하이닉스 주식회사 파이프 래치, 이를 이용하는 반도체 장치 및 반도체 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5498988A (en) * 1994-11-25 1996-03-12 Motorola, Inc. Low power flip-flop circuit and method thereof
JPH1185304A (ja) * 1997-09-03 1999-03-30 Nec Corp クロック入力制御回路
JP3580736B2 (ja) 1998-08-26 2004-10-27 株式会社東芝 クロック信号制御機能付フリップフロップ回路、及び、クロック制御回路
JP2002202347A (ja) * 2000-12-28 2002-07-19 Nec Corp スキャンフリップフロップ回路
US6822478B2 (en) * 2001-07-03 2004-11-23 Texas Instruments Incorporated Data-driven clock gating for a sequential data-capture device
JP4095367B2 (ja) 2002-07-23 2008-06-04 株式会社東芝 半導体集積回路装置
US7278080B2 (en) * 2003-03-20 2007-10-02 Arm Limited Error detection and recovery within processing stages of an integrated circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102638252A (zh) * 2012-04-17 2012-08-15 华南理工大学 一种提前终止异步比较器

Also Published As

Publication number Publication date
US20090108896A1 (en) 2009-04-30
CN101166022A (zh) 2008-04-23
US7772905B2 (en) 2010-08-10
JP4224094B2 (ja) 2009-02-12

Similar Documents

Publication Publication Date Title
JP4224094B2 (ja) 半導体集積回路装置
US7336116B2 (en) Clock supply circuit
US7409631B2 (en) Error-detection flip-flop
JP5058503B2 (ja) スキャンテスト用回路を備える電子回路、集積回路及び該集積回路に用いられる消費電力低減方法
JP5173216B2 (ja) 半導体集積回路システム、半導体集積回路、オペレーティングシステム及び半導体集積回路の制御方法
JP2010034710A (ja) 半導体集積回路及びその誤動作防止方法
JP4806417B2 (ja) 論理ブロック制御システム及び論理ブロック制御方法
JP2010273322A (ja) 多数決回路付きフリップフロップ回路
US20050280455A1 (en) Asynchronous multi-clock system
JP2008172779A (ja) 高速動作のためのフリップフロップ
WO2017199790A1 (ja) 半導体集積回路
US6566924B2 (en) Parallel push algorithm detecting constraints to minimize clock skew
JP2012151790A (ja) ラッチ回路およびデータ保持回路
EP2113142A2 (en) Digital electronic device and method of altering clock delays in a digital electronic device
JP2008283248A (ja) ホールドフリーレジスタセル
CN110858765A (zh) 标准单元库的耐低压超低功率边沿触发触发器
JP4910141B2 (ja) エラートレラントが可能な半導体集積回路
US20080042693A1 (en) Design structures comprising receiver circuits for generating digital clock signals
JP2006237664A (ja) ラッチ回路またはフリップフロップ回路
US8270557B2 (en) Integrated circuit and method for driving the same
JP5369764B2 (ja) 半導体装置
JP2019140554A (ja) ラッチ回路およびフリップフロップ装置
JP2008288729A (ja) 周期信号訂正回路
JP5582064B2 (ja) 半導体装置
CN114430268A (zh) 用于监测集成电路中的数据和时序信号的设备和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080818

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: 20081114

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081120

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111128

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees