JP2004343570A - フリップフロップ回路 - Google Patents
フリップフロップ回路 Download PDFInfo
- Publication number
- JP2004343570A JP2004343570A JP2003139609A JP2003139609A JP2004343570A JP 2004343570 A JP2004343570 A JP 2004343570A JP 2003139609 A JP2003139609 A JP 2003139609A JP 2003139609 A JP2003139609 A JP 2003139609A JP 2004343570 A JP2004343570 A JP 2004343570A
- Authority
- JP
- Japan
- Prior art keywords
- signal
- node
- data
- level
- flip
- 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.)
- Pending
Links
Images
Abstract
【課題】高速動作に適し、動作環境の変化による影響を防止でき、広範な動作条件において安定した動作を実現できるフリップフロップ回路を提供する。
【解決手段】パルス生成回路10Aにおいて、クロック信号CKがローレベルのとき、トランジスタTP0によりノードN2をハイレベルにプリチャージし、クロック信号CKの立ち上がりエッジに従って、負のパルス信号S1を発生し、これに応じてトランスファゲートTG1が導通し、入力データがラッチ回路20の記憶ノードN4に取り込まれ、一致検出回路11または12により入力データとラッチ回路の保持データとが一致することを検出したとき、ノードN2をディスチャージし、負のパルスを終了させ、これに応じてトランスファゲートTG1が遮断し、TG0が導通するので、ラッチ回路20によって取り込んだデータが保持される。
【選択図】 図1
【解決手段】パルス生成回路10Aにおいて、クロック信号CKがローレベルのとき、トランジスタTP0によりノードN2をハイレベルにプリチャージし、クロック信号CKの立ち上がりエッジに従って、負のパルス信号S1を発生し、これに応じてトランスファゲートTG1が導通し、入力データがラッチ回路20の記憶ノードN4に取り込まれ、一致検出回路11または12により入力データとラッチ回路の保持データとが一致することを検出したとき、ノードN2をディスチャージし、負のパルスを終了させ、これに応じてトランスファゲートTG1が遮断し、TG0が導通するので、ラッチ回路20によって取り込んだデータが保持される。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、クロック信号に応じてプリチャージを行い、入力データと保持データとの一致判定結果に従ってプリチャージされた信号を放電させることにより、セットアップ時間を短縮させ、高速動作を実現するフリップフロップ回路に関するものである。
【0002】
【従来の技術】
半導体技術の進歩に伴って半導体集積回路の動作が高速化の一途を辿っている。最近の大規模半導体集積回路(LSI)では、クロック周波数がGHz(ギガヘルツ)のオーダーに達しており、これから半導体集積回路に益々高速化や低消費電力、またはその両方が要求される。
【0003】
ディジタル信号処理を行うLSI、例えば、CPU(Central Processing Unit :中央処理装置)、DSP(Digital Signal Processor:ディジタル信号プロセッサ)では、高速化のためのパイプラインレジスタなどにフリップフロップ回路が大量に使用されている。高速動作において、フリップフロップ回路で生じた時間遅延、例えば、セットアップタイム及び有効遅延がクロック信号の一周期に対する割合が非常に大きくなり、高速化の障害になっている。また、低消費電力動作においては、低動作電源電圧下でも安定して動作する必要がある。
【0004】
図5は、高速動作を実現するために従来用いられているフリップフロップ回路の一例を示している。
図示のように、このフリップフロップ回路は、インバータIV0,IV1,IV2及びNANDゲートND1からなるパルス生成回路10、インバータIV5,IV6及びトランスファゲートTG0からなるラッチ回路20、さらに、入力データを内部記憶ノードN1に出力するトランスファゲートTG1を有している。
【0005】
パルス生成回路10は、直列接続されている3段のインバータIV0,IV1,IV2とNANDゲートND1によって構成され、クロック信号CKに応じて、これらのインバータの遅延時間の和によってパルス幅が決まるパルス信号S0を出力する。例えば、インバータIV0,IV1,IV2の遅延時間をともにΔtd とすると、クロック信号CKの立ち上がりエッジに従って、NANDゲートND1から幅3Δtd の負のパルス信号S0が出力される。
【0006】
パルス信号S0がローレベルに保持されているとき、トランスファゲートTG1が導通し、入力データDがインバータIV3とトランスファゲートTG1を介して、記憶ノードN1に転送される。そして、パルス信号S0がハイレベルに切り替わったとき、トランスファゲートTG1が遮断し、トランスファゲートTG0が導通するので、ラッチ回路20において、インバータIV5,IV6及びトランスファゲートTG0により、帰還ループが形成され、ノードN1のデータが保持される。ノードN1に保持されたデータがインバータIV7を介して出力データQとして外部に出力される。
【0007】
上述したフリップフロップ回路によって、クロック信号CKの立ち上がりエッジに応じて、インバータの遅延時間によってパルス幅が決まる負のパルス信号S0が生成され、当該パルス信号S0に応じて、入力データDがフリップフロップ回路の内部記憶ノードN1に転送される。そして、パルス信号S0がハイレベルのとき、ラッチ回路20が動作し、記憶ノードN1のデータが保持される。このため、パルス生成回路10によって生成される負のパルス信号S0のパルス幅を、ラッチ回路20内部のデータ伝播時間に比較して十分長く設定することにより、当該フリップフロップ回路は正常に動作する。すなわち、クロック信号CKに同期して入力データDを内部に取り込み、取り込んだデータを保持して出力する。
【0008】
【特許文献1】
特開2000−232339号公報
【特許文献2】
特開2002−26697号公報
【0009】
【発明が解決しようとする課題】
ところで、上述した従来のフリップフロップ回路において、パルス生成回路によって生成されるパルス信号の幅は、直列接続されているインバータの遅延時間によって決まる。一方、ラッチ回路内部をデータが伝播する時間は、データ入力信号を駆動する回路の駆動能力や、ラッチ回路の動作電圧などに影響される。そのため、例えば電源電圧が変化した場合、入力信号の遷移時間や、ラッチ回路内部においてデータが伝播する時間も変化する。パルス生成回路において、パルス幅を決定するインバータの遅延時間も電源電圧の変動に応じて変化するが、変化の度合いはラッチ回路内部のデータ伝播時間の変化とは必ずしも一致しない。このため、図5に示すフリップフロップ回路では、広範な動作環境変化、例えば、電源電圧の変化に対して動作を保証することが困難であるという不利益がある。
【0010】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、高速動作に適し、動作環境の変化による影響を防止でき、広範な動作条件において安定した動作を実現できるフリップフロップ回路を提供することにある。
【0011】
【課題を解決するための手段】
上記目的を達成するため、本発明のフリップフロップ回路は、クロック信号に応じて生成されるパルス信号により制御され、上記パルス信号が第1のレベルに保持されているとき遮断し、第2のレベルに保持されているとき導通して入力データを内部記憶ノードに出力するデータ転送ゲートと、上記パルス信号が上記第1のレベルに保持されているとき保持動作を行い、上記内部記憶ノードの記憶データを保持するデータ保持回路と、上記クロック信号が第1のクロックレベルにあるとき、第1の信号ノードを電源電圧にプリチャージし、上記クロック信号が第2のクロックレベルにあるとき遮断する第1のスイッチング手段と、上記入力データと上記内部記憶ノードの記憶データとを比較し、当該比較の結果、上記入力データと上記記憶データとが一致するとき、上記第1の信号ノードを共通電位にディスチャージする一致検出手段とを有し、上記クロック信号と上記第1の信号ノードの電位に応じて、上記パルス信号を生成するパルス生成回路とを有する。
【0012】
また、本発明では、好適には、上記パルス生成回路は、電源電圧が供給される電源線と上記第1の信号ノードとの間に接続され、上記クロック信号に応じた遅延信号によって導通または遮断する第1のスイッチング素子と、第2の信号ノードと共通電位線との間に接続され、上記遅延信号に応じて導通または遮断する第2のスイッチング素子と、上記第1の信号ノードと上記第2の信号ノードとの間に設けられ、上記入力データと上記記憶データが一致するとき、上記第1の信号ノードと上記第2の信号ノードとの間を導通させる上記一致検出手段と、上記第1の信号ノードの信号と上記クロック信号との論理演算を行い、その結果に応じて上記パルス信号を出力する論理回路とを有し、上記クロック信号が上記第1のクロックレベルにあるとき、上記第1のスイッチング素子が導通し、上記第1の信号ノードが上記第1のレベルにプリチャージされ、上記クロック信号が上記第1のクロックレベルから上記第2のクロックレベルに切り替わったとき、上記第1のスイッチング素子が遮断し、上記一致検出手段において、上記記憶データと上記入力データとが一致することが検出したとき、上記第1と第2の信号ノードが導通し、上記第1の信号ノードが上記共通電位にディスチャージされる。
【0013】
本発明によれば、パルス生成回路はクロック信号及び信号ノードの電圧レベルに応じてパルス信号を生成し、当該パルス信号に応じてデータ転送ゲートが導通または遮断状態に制御され、導通時に入力データが内部の記憶ノードに出力され、データ転送ゲートが遮断するときに内部記憶ノードの記憶データがデータ保持回路によって保持される。そして、パルス生成回路において、クロック信号が第1のクロックレベルにあるとき、第1の信号ノードが第1のレベル、例えば、電源電圧レベルにプリチャージされ、クロック信号が第2のクロックレベルに遷移したとき、出力されるパルス信号が第2のレベルに制御され、これに応じて入力データが記憶ノードに取り込まれ、記憶ノードのデータと入力データとが一致することが一致検出手段によって検出されたとき、第1の信号ノードが第2のレベル、例えば、共通電位にディスチャージされ、これに応じてパルス信号が第2のレベルから第1のレベルに切り替えられる。
【0014】
このため、入力データが完全に記憶ノードに取り込まれてからパルス信号のレベルが遷移されるので、動作環境の変化による影響を防止でき、広範な動作条件において安定した動作を実現できる。
【0015】
【発明の実施の形態】
第1実施形態
図1は本発明に係るフリップフロップ回路の第1の実施形態を示す回路図である。
図示のように、本実施形態のフリップフロップ回路は、パルス生成回路10A、ラッチ回路20、及びトランスファゲートTG1などを有している。なお、ラッチ回路20は、発明の請求の範囲にあるデータ保持回路に対応し、トランスファゲートTG1は、請求の範囲にあるデータ転送ゲートに対応する。
【0016】
以下、本実施形態のフリップフロップ回路の各構成部分について説明する。
パルス生成回路10Aは、図示のように、インバータIV0,IV1,IV6,IV7、pMOSトランジスタTP0、nMOSトランジスタTN0,TN1,TN2,TN3,TN4とTN5及びNANDゲートND1を有している。トランジスタTN0とTN1は一致検出回路11を構成し、またトランジスタTN2とTN3は一致検出回路12を構成している。
【0017】
インバータIV0とIV1は、クロック信号CKが入力される信号端子とトランジスタTP0,TN5のゲートとの間に直列接続されている。トランジスタTP0のソースは電源電圧が供給されている電源線に接続され、そのドレインがノードN2に接続されている。一方、トランジスタTP5のソースが接地され、ドレインがノードN3に接続されている。
なお、ノードN2は、発明の請求の範囲にある第1の信号ノードに対応し、ノードN3は第2の信号ノードに対応する。そして、トランジスタTP0は、当該信号ノードN2をプリチャージさせる第1のスイッチング素子に対応する。また、トランジスタTN5は、第2のスイッチング素子に対応する。
【0018】
トランジスタTN0とTN1は、ノードN2とN3との間に直列接続され、これらによって、一致検出回路11が構成されている。また、トランジスタTN2とTN3もノードN2とN3との間に直列接続され、これらによって、一致検出回路12が構成されている。また、トランジスタTN4もノードN2とN3との間に接続されている。
トランジスタTN0のゲートがインバータIV6の出力端子に接続され、トランジスタTN1のゲートがラッチ回路20にあるノードN5に接続されている。トランジスタTN2のゲートがインバータIV5の出力端子に接続され、トランジスタTN3のゲートがラッチ回路20にあるノードN6に接続されている。さらに、トランジスタTN4のゲートがインバータIV7の出力端子に接続されている。
【0019】
なお、インバータIV6の入力端子がインバータIV5の出力端子に接続され、インバータIV7の入力端子がノードN2、すなわちトランジスタTP0のドレインに接続されている。
【0020】
NANDゲートND1の一方の入力端子がクロック信号CKが入力されるクロック入力端子に接続され、他方の入力端子がノードN2、即ち、トランジスタTP0のドレインに接続されている。ここで、ノードN2に生じた信号をS0とすると、NANDゲートND1の出力端子から、クロック信号CKとノードN2に生じた信号S0の論理積の反転信号であるパルス信号S1が出力される。
【0021】
上述した構成をもつパルス生成回路10Aにおいて、トランジスタTP0及びTN5は、入力されるクロック信号CKに応じて、導通状態が制御される。具体的に、例えば、クロック信号CKがローレベルのとき、インバータIV1の出力端子もローレベルに保持されるので、トランジスタTP0が導通し、トランジスタTN5が遮断する。このとき、トランジスタTP0によってノードN2がほぼ電源電圧VCCレベルに保持される。一方、クロック信号CKがハイレベルのとき、インバータIV1の出力もハイレベルに保持されるので、トランジスタTP0が遮断し、トランジスタTN5が導通する。即ち、このとき、ノードN3が接地電位GNDに保持される。
【0022】
トランジスタTN0のゲートに、入力データDに応じたレベルの信号が印加される。ここで、ハイレベルをデータ1に対応させ、ローレベルをデータ0に対応させるとすれば、例えば、入力データDが1のとき、即ち、データ入力端子がハイレベルに保持されているとき、インバータIV5の出力端子(ノードN1)がローレベルに保持され、インバータIV6の出力端子がデータ入力端子と同じくハイレベルに保持される。即ち、トランジスタTN0は、入力データDに応じて導通状態が制御される。
【0023】
一方、トランジスタTN1のゲートに、ラッチ回路20におけるノードN5の信号が入力されるので、トランジスタTN1は、ラッチ回路20によって保持されているデータによって導通状態が制御される。
ここで、フリップフロップ回路の出力データQをラッチ回路20の保持データと定義する。即ち、フリップフロップ回路のデータ出力端子がデータ1に対応するハイレベルのとき、出力データQを1とし、逆に、データ出力端子がデータ0に対応するローレベルのとき、出力データを0とする。以下の説明において、フリップフロップ回路の記憶データ、またはフリップフロップ回路の保持データは、即ちその出力データQを意味する。
ラッチ回路20において、ノードN5の信号レベルがデータ出力端子のレベルと同じであり、ノードN6の信号レベルがデータ出力端子の論理反転レベルに一致する。
【0024】
クロック生成回路10Aにおいて、トランジスタTN0はフリップフロップ回路の入力データに応じて導通状態が制御され、トランジスタTN1はフリップフロップ回路の保持データに応じて導通状態に制御される。具体的に、入力データが1、保持データも1のとき、トランジスタTN0とTN1のゲートがともにハイレベルに保持される。このため、クロック信号CKがハイレベルのとき、トランジスタTN0とTN1がともに導通する。
一方、トランジスタTN2はフリップフロップ回路の入力データの論理反転データに応じて導通状態が制御され、トランジスタTN3はフリップフロップ回路の保持データの論理反転データに応じて導通状態が制御される。具体的に、入力データが0、出力データも0のとき、トランジスタTN2とTN3のゲートがともにハイレベルに保持される。このため、クロック信号CKがハイレベルのとき、トランジスタTN2とTN3がともに導通する。
【0025】
即ち、トランジスタTN0とTN1によって、入力データと保持データがともに1であることを検出する一致検出回路11が形成され、トランジスタTN2とTN3は、入力データと保持データがともに0であることを検出する一致検出回路12が形成される。このため、入力データと保持データが一致したとき、上記2つの一致検出回路11と12の何れかによってデータが一致することが検出されるので、クロック信号CKがハイレベルになるとき、ノードN2とN3の間が導通し、かつ接地電位GNDに保持される。
【0026】
即ち、クロック信号CKがローレベルのとき、トランジスタTP0が導通するので、ノードN2が電源電圧VCCによってハイレベルにプリチャージされる。クロック信号CKがハイレベルに切り替わったとき、一致検出回路11また12によってフリップフロップ回路の入力データと保持データが一致することが検出されたとき、ノードN2から接地線までに電流経路が形成され、プリチャージによりノードN2に蓄積した電荷が接地電位GNDに流れるので、ノードN2が接地電位GNDに保持される。
【0027】
パルス生成回路10Aにおいて、インバータIV7とトランジスタTN4は、ノードN2のローレベル電位を保持するラッチ回路として機能する。ノードN2がハイレベルのとき、インバータIV7の出力端子がローレベルに保持され、トランジスタTN4が遮断状態にある。ノードN2の電位が低下してインバータIV7の論理しきい値より低くなると、インバータIV7の出力信号がローレベルからハイレベルに反転するので、トランジスタTN4が導通し、ノードN2の電荷のディスチャージが加速する。そして、クロック信号CKがローレベルになって、トランジスタTP0によってノードN2の電位がハイレベルに引き上げられるまで、ノードN2のローレベルが保持される。
【0028】
次に、ラッチ回路20の構成について説明する。
図1に示すように、ラッチ回路20は、インバータIV3,IV4及びトランスファゲートTG0によって構成されている。インバータIV4、IV3とトランスファゲートTG0がループ接続になっており、トランスファゲートTG0が導通時にこの帰還ループにより、ノードN4の電位が保持される。
【0029】
トランスファゲートTG0は、パルス生成回路10Aによって出力されるパルス信号S1によって導通状態が制御される。パルス信号S1がローレベルのとき、トランスファゲートTG0が遮断し、パルス信号S1がハイレベルのとき、トランスファゲートTG1が導通する。
【0030】
図1に示すように、本実施形態のフリップフロップ回路において、ノードN1とノードN4との間に、トランスファゲートTG1が接続されている。トランスファゲートTG1も、パルス生成回路10Aによって出力されるパルス信号S1によって導通状態が制御される。ただし、トランスファゲートTG1とTG0は、互いに相反する動作を行う。即ち、パルス信号S1がローレベルのとき、トランスファゲートTG1が導通し、TG0が遮断する。このとき、ノードN1の信号電圧がトランスファゲートTG1を介してノードN1に転送される。パルス信号S1がハイレベルに立ち上がると、トランスファゲートTG1が遮断し、TG0が導通する。このとき、ラッチ回路20の帰還ループが動作し、ノードN4の電圧レベルが保持される。
【0031】
即ち、パルス信号S1がローレベルのとき、入力データDがフリップフロップ回路に取り込まれ、パルス信号S1がハイレベルのとき、取り込んだデータがフリップフロップ回路内部に設けられているラッチ回路20によって保持される。
【0032】
図2は、本実施形態のフリップフロップ回路の全体の動作を示す波形図である。以下、図1及び図2を参照しつつ、本実施形態のフリップフロップ回路の動作を説明する。
【0033】
まず、図2に示すように、初期状態として、入力データDを0、フリップフロップ回路の保持データを1とする。
時間t1までに、クロック信号CKがローレベルにあり、これに応じて、パルス生成回路10Aにおいて、トランジスタTP0が導通し、信号S0がハイレベルにプリチャージされる。
【0034】
時間t1において、クロック信号CKがローレベルからハイレベルに立ち上がる。これに応じて、トランジスタTP0遮断し、トランジスタTN5のゲートにハイレベルの信号が印加される。このとき、トランジスタTN0のゲートにデータ入力端子と同じローレベルの信号が印加され、また、トランジスタTN3のゲートにも、ノードN3の電圧、即ちローレベルの信号が印加される。即ち、2つの一致検出回路11と12がともに遮断状態にある。このため、ノードN2のハイレベルが保持され、NANDゲートND1からローレベルのパルス信号S1が出力される。
【0035】
上述したように、パルス信号S1がローレベルになると、トランスファゲートTG1が導通し、TG0が遮断するので、入力データDがフリップフロップ回路に取り込まれる。即ち、ノードN4がノードN1と同じくハイレベルになり、フリップフロップ回路の保持データが0に切り替わる。
【0036】
ラッチ回路20において、ノードN4がハイレベルに切り替わると、インバータIV4とIV3の状態が順次反転し、ノードN5がローレベル、ノードN6がハイレベルに切り替わる。即ち、インバータIV4とIV3の遅延時間を経過したとき、ノードN6の信号S3がハイレベルに切り替わり、これに応じて一致検出回路12においてトランジスタTN3のゲートにハイレベルの信号が印加される。また、このときすでにトランジスタTN2のゲートに、ノードN1のハイレベルの信号電圧が印加されている。また、トランジスタTN5のゲートにクロック信号CKに従ってハイレベルの信号が印加されている。このため、トランジスタTN2とTN3、さらにTN5がともに導通状態になり、ノードN2がローレベルにディスチャージされる。
【0037】
ノードN2の信号S0がローレベルに切り替わると、NANDゲートND1の出力がハイレベルになる。即ち、パルス信号S1がローレベルからハイレベルに切り替わる。このように、パルス信号S1のパルス幅(負のパルスと見る場合)は、トランスファゲートTG1、インバータIV4及びIV3の遅延時間によってほぼ決まる。
【0038】
上述したように、時間t1において、クロック信号CKの立ち上がりエッジに応じて、パルス信号S1がローレベルになり、これに従ってトランスファゲートTG1が導通し、入力データがフリップフロップ回路に取り込まれて、ラッチ回路20において、インバータIV4とIV3の状態が取り込んだデータに応じて順次反転する。そして、インバータIV3の出力信号S3がハイレベルになるに連れて、一致検出回路12を構成するトランジスタTN2とTN3が導通し、さらにトランジスタTN5も導通するので、ノードN2の信号S0がローレベルに下がり、パルス信号S1がローレベルからハイレベルに切り替わり、負のパルス期間が終了する。そして、パルス信号S1がハイレベルになると、トランスファゲートTG1が遮断し、トランスファゲートTG0が導通するので、ラッチ回路20によって、フリップフロップ回路に取り込まれたデータが保持される。
【0039】
上述したように、パルス生成回路10Aによって出力される負のパルス信号S1の幅は、ラッチ回路20において入力データの取り込みが確実に完了した時間によって制御される。このため、動作環境の変動によって素子の遅延時間などが変化し、データの取り込み時間が変化しても、データ取り込みが確実に実行されるので、誤動作の発生が回避される。
【0040】
次に、時間t2において、クロック信号CKがハイレベルからローレベルに切り替わる。これに従って、パルス生成回路10Aにおいて、トランジスタTN5が遮断し、トランジスタTP0が導通するので、ノードN2が電源電圧VCCにプリチャージされる。フリップフロップ回路は、次のデータ取り込みに備えて待機状態にある。
【0041】
次に、保持データが0のとき、入力データ1をフリップフロップ回路に取り込むときの動作について説明する。
図2に示すように、データ1をフリップフロップ回路に取り込むため、クロック信号CKの立ち上がる時間t3までに、入力データDが1に確定される必要がある。なお、入力データDの切り替えは、前回のデータ取り込みが終了した後、次回クロック信号CKが立ち上がるまでの間に完了すればよい。即ち、時間t3の前に、データ入力端子の信号レベルがハイレベルに確定すればよい。
【0042】
時間t3において、クロック信号CKがハイレベルに立ち上がる。これに応じて、パルス信号S1がローレベルに切り替わる。従って、トランスファゲートTG1が導通し、入力データDがフリップフロップ回路に取り込まれる。即ち、ラッチ回路20において、ノードN4がノードN1と同じくローレベルになる。
【0043】
ノードN4のレベル変化に従って、インバータIV4とIV3の出力信号が順次反転する。即ち、ノードN4がローレベルに切り替わってから、インバータIV4の遅延時間を経過した後、ノードN5の信号S2がハイレベルになる。このとき、パルス生成回路10Aにおいて、一致検出回路11を構成するトランジスタTN0とTN1のゲートにともにハイレベルの信号が印加される。また、クロック信号CKが立ち上がったあと、トランジスタTN5のゲートにもハイレベルの信号が印加されるので、トランジスタTN0,TN1さらにTN5が導通し、ノードN2にプリチャージされた電荷が接地電位GNDに流れ、信号S0がローレベル切り替わる。これに応じて、パルス信号S1がハイレベルに切り替わる。即ち、負のパルス期間が終了する。
【0044】
上述したように、時間t3において、クロック信号CKの立ち上がりエッジに応じて、パルス信号S1がハイレベルからローレベルに切り替わる。これに従ってトランスファゲートTG1が導通し、入力データ1がフリップフロップ回路に取り込まれる。そして、ラッチ回路20において、インバータIV4とIV3が取り込んだデータに応じて順次出力が反転する。インバータIV4の出力信号S2がローレベルからハイレベルに切り替わったとき、パルス生成回路10Aにおいて、一致検出回路11を形成するトランジスタTN0とTN1によって、ラッチ回路20の保持データが入力データと一致したことが検出されたとき、パルス信号S1が切り替わる。これに応じて、トランスファゲートTG1が遮断し、トランスファゲートTG0が導通するので、ラッチ回路20において、帰還ループが動作し、取り込んだデータが保持される。
【0045】
次に、入力データDがフリップフロップ回路の保持データと一致した場合の動作について説明する。
図2に示すように、時間t5において、入力データDが1に保持されている。また、このとき、フリップフロップ回路にもデータ1が保持されている。即ち、ラッチ回路20において、ノードN5の信号S2がハイレベルに保持されている。
【0046】
パルス生成回路10Aにおいて、一致検出回路11では、トランジスタTN0のゲートに入力データDに応じたハイレベルの信号が印加されている。また、トランジスタTN1のゲートに、ラッチ回路20におけるノードN5の信号S2、即ち、ハイレベルの信号が印加されている。このため、図2に示すように、クロック信号CKの立ち上がりエッジから、インバータIV0とIV1の2段分の遅延時間が経過したとき、トランジスタTN5のゲートにハイレベルの信号が印加されるので、トランジスタTN0,TN1及びTN5が導通して、ノードN2がローレベルにディスチャージされる。
【0047】
これに応じて、NANDゲートND1の出力端子からクロック信号CKの立ち上がりエッジに応じて、負のパルス信号S1が出力される。当該パルス信号S1のパルス幅は、インバータIV0,IV1の遅延時間、及びトランジスタTP0とTP5によって生じた遅延時間に応じて決まる。
【0048】
パルス信号S1がローレベルの間、トランスファゲートTG1が導通するが、このとき、ノードN4とノードN1が同じくローレベルにあるので、ノードN4の信号レベルが変化しない。そして、パルス信号S1のパルス期間が終了し、ローレベルからハイレベルに切り替わったあと、トランスファゲートTG1が遮断し、TG0が導通するので、ラッチ回路20において、インバータIV4,IV3及びトランスファゲートTG0からなる帰還ループが動作し、ノードN4の信号レベルが保持される。
【0049】
上述したように、フリップフロップ回路にデータ1が保持されているとき、データ入力端子から同じくデータ1が入力された場合、パルス生成回路10Aの一致比較回路11において、クロック信号CKが立ち上がる前にトランジスタTN0とTN1のゲートにハイレベルの信号が印加されている。このため、クロック信号CKの立ち上がりエッジから、インバータIV0,IV1の遅延時間を経過したとき、トランジスタTN5のゲートにハイレベルの信号が印加される。これに応じて、トランジスタTN0,TN1とTN5が導通し、ノードN2がローレベルにディスチャージされ、パルス信号S1がハイレベルに切り替わる。この場合、入力データと保持データが一致するので、ラッチ回路20においてノードN4のレベルが変化せず、データ入力前と同じ状態がラッチ回路20によって保持される。
【0050】
また、同様に、フリップフロップ回路にデータ0が保持されているとき、データ入力端子から同じくデータ0が入力された場合、パルス生成回路10Aのデータ比較回路12において、クロック信号CKが立ち上がる前にトランジスタTN2とTN3のゲートにハイレベルの信号が印加されている。このため、クロック信号CKの立ち上がりエッジから、インバータIV0,IV1の遅延時間を経過したとき、トランジスタTN5のゲートにハイレベルの信号が印加される。これに応じて、トランジスタTN2,TN3とTN5が導通し、ノードN2がローレベルにディスチャージされ、パルス信号S1がハイレベルに切り替わる。この場合、入力データと保持データが一致するので、ラッチ回路20においてノードN4のレベルが変化せず、データ入力前と同じ状態がラッチ回路20によって保持される。
【0051】
以上説明したように、本実施形態によれば、パルス生成回路10Aにおいて、クロック信号CKがローレベルのとき、トランジスタTP0によりノードN2をハイレベルにプリチャージし、クロック信号CKの立ち上がりエッジに従って、負のパルス信号S1を発生し、これに応じてトランスファゲートTG1が導通し、入力データがラッチ回路20の記憶ノードN4に取り込まれる。また、一致検出回路11または12において、入力データとラッチ回路の保持データとを比較し、比較対象データが一致したとき、ノードN2をディスチャージし、負のパルスを終了させ、これに応じてトランスファゲートTG1が遮断し、TG0が導通するので、ラッチ回路20によって取り込んだデータが保持される。すなわち、本実施形態によれば、フリップフロップ回路の記憶ノードに入力データを取り込む動作が完了したか否かの検出が行なわれ、この検出の結果に従って、取り込んだデータを保持するタイミングが制御される。したがって、動作条件の変化によりデータの取り込み時間が変化しても、取り込み動作を確実に実行することができ、動作環境の変動による誤動作の発生を防止できる。
【0052】
第2実施形態
図3は本発明に係るフリップフロップ回路の第2の実施形態を示す回路図である。
図3に示すように、本実施形態のフリップフロップ回路は、パルス生成回路10B、ラッチ回路20、及びインバータIV2,IV5,IV8、トランスファゲートTG1を有している。
【0053】
図1に示す本発明第1の実施形態に較べると、本実施形態のフリップフロップ回路は、パルス生成回路10Bの構成が異なる。それ以外の各構成部分は、図1に示す第1の実施形態の対応する部分とほぼ同じである。このため、以下の説明において、パルス生成回路10Bを中心に、第1の実施形態のパルス生成回路10Aとの相違及びそれによって生じた動作、機能の相違について説明する。
【0054】
図3に示すように、本実施形態のフリップフロップ回路において、パルス生成回路10Bは、インバータIV0,IV1,IV6,IV7、pMOSトランジスタTP0,TP1,TP2、nMOSトランジスタTN0,TN1,TN2,TN3,TN4とTN5及びNANDゲートND1を有している。トランジスタTN0とTN1は一致検出回路11を構成し、またトランジスタTN2とTN3は一致検出回路12を構成している。
【0055】
図1に示す本発明の第1の実施形態のパルス生成回路10Aに較べると、本実施形態のパルス生成回路10Bでは、トランジスタTP1とTP2が新しく設けられている。トランジスタTP1とTP2が導通状態の抵抗値(即ち、オン抵抗の抵抗値)は、他のトランジスタより大きく設定されている。
【0056】
図示のように、トランジスタTP1とTP2は、電源電圧VCCが供給された電源線とノードN2との間に直列接続されている。即ち、トランジスタTP1のソースが電源線に接続され、ドレインがトランジスタTP2のソースに接続されている。トランジスタTP2のドレインがノードN2に接続されている。さらに、トランジスタTP1とTP2のゲートがともにインバータIV7の出力端子に接続されている。
【0057】
インバータIV7の入力端子は、ノードN2に接続されている。また、その出力端子はトランジスタTP1とTP2のゲートに接続されるとともに、トランジスタTN4のゲートにも接続される。
【0058】
本実施形態のフリップフロップ回路では、システムの立ち上がりのとき、例えば、電源電圧が投入したとき、ノードN2が電源電圧VCCと接地電位GNDとの中間電位になることを防止し、それによってインバータIV7に発生する貫通電流を防止するために、電源線とノードN2との間に縦続接続のトランジスタTP1とTP2が設けられている。
以下、トランジスタTP1とTP2が設けられた本発明のパルス生成回路10Bの動作について説明する。
【0059】
電源投入時に、クロック信号CKがローレベルのとき、これに応じてインバータIV1の出力端子もローレベルになり、トランジスタTP0が導通するので、ノードN2が電源電圧VCCレベルにプリチャージされる。即ち、電源投入時にクロック信号CKがローレベルの場合、フリップフロップ回路は問題なく立ち上がる。
【0060】
しかし、電源投入時のクロック信号CKのレベルはハイレベルまたはローレベルの何れにもなり得る。電源投入時にクロック信号CKがハイレベルであると、これに応じてインバータIV1の出力端子もハイレベルに保持され、トランジスタTP0は遮断状態になる。このため、ノードN2にプリチャージする経路が形成されず、ノードN2が電源電圧VCCと接地電位GNDとの中間電位になることがある。
【0061】
ノードN2が中間電位になると、インバータIV7を構成するpMOSトランジスタとnMOSトランジスタのゲートに中間電位が印加されるので、リーク電流が流れる。即ち、電源電圧VCC投入時に、クロック信号CKのレベルに応じて、フリップフロップ回路に瞬時に大電流が発生することがある。これは、電源供給回路に大きな負荷を与えるのみならず、この大電流によってフリップフロップ回路の動作の安定性が影響され得る。
【0062】
そこで、本実施形態のフリップフロップ回路では、上述したように、パルス生成回路10Bにおいて、電源線とノードN2の間に、縦続接続したトランジスタTP1とTP2が設けられている。以下、本実施形態のフリップフロップ回路においける電源投入時の動作について説明する。
【0063】
電源電圧VCCが投入されたとき、クロック信号CKがローレベルの場合、インバータIV1の出力端子もローレベルに保持され、トランジスタTP0が導通し、ノードN2が電源電圧VCCによりプリチャージされる。即ち、ノードN2がハイレベルに保持される。すると、インバータIV7の出力端子がローレベルになり、トランジスタTP1とTP2も導通する。このとき、トランジスタTP1とTP2、さらにインバータIV7により、ラッチ回路が形成され、このラッチ回路によって、ノードN2がハイレベルに保持される。
【0064】
一方、電源投入時にクロック信号CKがハイレベルにあるとき、これに応じてインバータIV1の出力端子もハイレベルにあるため、トランジスタTP0が遮断し、ノードN2はプリチャージされない。このとき、フリップフロップ回路への入力データと保持データが一致するか否かによって、パルス生成回路10Bの動作が異なる。
【0065】
まず、入力データと保持データが一致する場合の動作について説明する。
入力データDとフリップフロップ回路の保持データが一致するとき、即ち、入力データと保持データがともに1、または0のとき、パルス生成回路10Bにおいて、一致検出回路11または12によって、データの一致が検出される。例えば、入力データと保持データがともに1の場合、一致検出回路11において、トランジスタTN0とTN1のゲートにハイレベルの信号が印加される。また、入力データと保持データがともに0の場合、一致検出回路12において、トランジスタTN2とTN3のゲートにハイレベルの信号が印加される。さらに、このとき、トランジスタTN5のゲートにもハイレベルの信号が印加されているので、一致回路11または12の何れかとトランジスタTN5が導通し、ノードN2と接地電位GNDとの間に電流経路が形成される。また、トランジスタTP1とTP2のオン抵抗が十分大きく設定されているので、ノードN2がディスチャージされ、接地電位GNDに保持される。
【0066】
一方、電源投入時に、フリップフロップ回路の入力データと保持データが一致しない場合、一致検出回路11と12の両方が遮断されるため、トランジスタTN5が導通状態にあるにも関わらず、ノードN2と接地電位GNDとの間に電流経路が形成されない。このとき、トランジスタTP1,TP2、トランジスタTN4,TN5及びインバータIV7によって、正帰還回路が構成されている。例えば、ノードN2の電圧がわずかにインバータIV7の論理しきい値電圧より高い場合、インバータIV7の出力端子がローレベルに遷移し、これに応じてトランジスタTP1とTP2のオン抵抗が低下し、ノードN2の電圧がさらに上昇する。したがって、この場合、ノードN2の電圧は急速にハイレベルに収束する。
【0067】
逆に、ノードN2の電圧がわずかにインバータIV7の論理しきい値電圧より低い場合、インバータIV7の出力端子がハイレベルに遷移し、これに応じてトランジスタTN4のオン抵抗が低下し、ノードN2の電圧がさらに低下する。したがって、この場合、ノードN2の電圧が急速にローレベルに収束する。
なお、トランジスタTP1とTP2のオン抵抗は他のトランジスタより大きく形成されているので、正帰還回路において、例えば、ノードN2が中間電位にあるとき、トランジスタTP1とTP2によってこれをハイレベルに引き上げる力は、トランジスタTN4とTN5によってローレベルに引き下げる力より弱い。したがって、ノードN2の電位は高い確率でローレベルに収束する。
【0068】
上述したように、パルス生成回路10Bにおいて、電源投入時、クロック信号CKがローレベルのとき、ノードN2がハイレベルにプリチャージされる。逆に、クロック信号CKがハイレベルのとき、ノードN2は高い確率でローレベルに保持される。即ち、電源投入時クロック信号CKがハイレベルになっている場合でもノードN2が中間電位になることが回避されるので、電源投入時の動作の不安定性が防止できる。
【0069】
上述した立ち上がり動作を経て、ノードN2の電位がハイレベルまたはローレベルに確定される。そして、クロック信号CKの電位変化に従って、データ入力端子に入力されるデータDが順次にフリップフロップ回路に取り込まれ、ラッチ回路20によって保持されるとともに、出力端子に出力される。
なお、本実施形態のフリップフロップ回路において、データの取り込みと保持動作は、上述した本発明の第1の実施形態とほぼ同じである。以下、これらの動作について簡単に説明する。
【0070】
クロック信号CKがローレベルのとき、パルス生成回路10Bにおいて、ノードN2がハイレベルにプリチャージされ、NANDゲートND1の出力信号であるパルス信号S1はハイレベルに保持される。このため、ラッチ回路20では、トランスファゲートTG0が導通し、帰還ループが形成され、記憶データが保持される。また、トランスファゲートTG1が遮断される。
【0071】
クロック信号CKがローレベルからハイレベルに立ち上がったとき、NANDゲートND1によって出力されるパルス信号S1がハイレベルからローレベルに切り替わる。これに応じて、トランスファゲートTG1が導通し、トランスファゲートTG0が遮断する。このため、データ入力端子から入力されるデータDがフリップフロップ回路の記憶ノードに取り込まれる。
例えば、入力データDが1のとき、これに応じてノードN1がローレベルに保持される。トランスファゲートTG1が導通したとき、ノードN4がノードN1と同じくローレベルに保持される。逆に、入力データDが0のとき、これに応じてノードN1がハイレベルに保持される。トランスファゲートTG1が導通したとき、ノードN4がノードN1と同じくハイレベルに保持される。
【0072】
トランスファゲートTG1が導通することによって、入力データDがフリップフロップ回路に取り込まれる。即ち、フリップフロップ回路の保持データが入力データDと一致するようになる。これに伴って、一致検出回路11または12の何れかにより、データが一致することが検出される。例えば、入力データが1、保持データも1になると、一致検出回路11において、トランジスタTN0とTN1のゲートにともにハイレベルの信号が印加される。逆に、入力データが0、保持データも0になると、一致検出回路12において、トランジスタTN2とTN3のゲートにともにハイレベルの信号が印加される。
【0073】
このように、保持データと入力データが一致すると、一致検出回路11または12の何れかにより、データの一致が検出される。また、このとき、クロック信号CKがハイレベルにあるため、トランジスタTN5が導通するので、ノードN2と接地電位GND間に電流経路が形成され、ノードN2がディスチャージされ、ローレベルになる。これに従って、NANDゲートND1から出力されるパルス信号S1がハイレベルになり、トランスファゲートTG1が遮断し、トランスファゲートTG0が導通するので、ラッチ回路20において帰還ループが形成され、取り込まれたデータがラッチ回路20により保持される。
【0074】
データ取り込みの前において、フリップフロップ回路の入力データと保持データが一致している場合、一致検出回路11または12により、データが一致することが検出される。クロック信号CKの立ち上がりエッジに従って、パルス信号S1がローレベルになり、トランスファゲートTG1が導通する。そして、インバータIV0とIV1の遅延時間が経過したとき、トランジスタTN5導通するので、ノードN2と接地電位GNDとの間に電流経路が形成され、ノードN2がローレベルにディスチャージされる。これに応じてNANDゲートND1から出力されるパルス信号S1がハイレベルに切り替わり、ラッチ回路20において記憶データが保持される。
【0075】
即ち、フリップフロップ回路の入力データと保持データが一致している場合、パルス生成回路10Bによって、インバータIV0とIV1の遅延時間、及びトランジスタTP0とTP5により生じた遅延時間によってパルス幅が制御されるパルス信号S1が生成される。これに応じて、トランスファゲートTG1が導通しても、フリップフロップ回路の保持データが変化せず、そして、負のパルスが終了後、ラッチ回路20によって記憶データが保持される。
【0076】
以上説明したように、本実施形態によれば、パルス生成回路10Bにおいて、電源投入時にノードN2のレベルを確定させるために、電源線とノードN2との間に縦続接続のトランジスタTP1とTP2が設けられている。電源投入時、クロック信号CKがハイレベルのとき、入力データと保持データが一致するとき、一致検出回路11または12により、データの一致が検出されるので、ノードN2がディスチャージされ、ローレベルになる。一方、入力データと保持データが一致しないとき、トランジスタTP1,TP2、トランジスタTN4,TN5とインバータIV7によって正帰還回路が形成される。このとき、トランジスタTP1とTP2のオン抵抗が他のトランジスタよりも大きく設定されているので、ノードN2の電位は高い確率で接地電位GNDに収束する。これにより、フリップフロップ回路の立ち上がり時の動作の安定性が改善され、ノードN2が中間電位になってインバータIV7に貫通電流が流れるのを防止でき、電源回路の過負荷を解消できる。
【0077】
第3実施形態
図4は本発明に係るフリップフロップ回路の第3の実施形態を示す回路図である。
図示のように、本実施形態のフリップフロップ回路は、パルス生成回路10C、ラッチ回路20、及びトランスファゲートTG1などを有している。以下、本実施形態のフリップフロップ回路の各構成部分について説明する。
【0078】
パルス生成回路10Cは、図示のように、インバータIV0,IV1,IV6,IV7、pMOSトランジスタTP0,TP1,TP2,TP3,TP4,TP5、nMOSトランジスタTN0,TN1,TN2,TN3,TN4とTN5、及びNANDゲートND1を有している。トランジスタTN0とTN1は一致検出回路11を構成し、またトランジスタTN2とTN3は一致検出回路12を構成している。
【0079】
ラッチ回路20は、上述した本発明のフリップフロップ回路の第1または第2の実施形態にあるラッチ回路20と同じ構成を有し、同じ機能をもつ。このため、ラッチ回路20について説明を省略する。
【0080】
以下、本実施形態におけるパルス生成回路10Cの構成及び動作について、図4を参照しつつ説明する。
パルス生成回路10Cにおいて、図4に示すように、トランジスタTN0とTN1によって構成されている一致検出回路11は、第1または第2の実施形態の一致検出回路11と同じ構成を有し、また、トランジスタTN2とTN3によって構成されている一致検出回路12も、第1または第2の実施形態の一致検出回路12と同じ構成を有している。
【0081】
本実施形態において、パルス生成回路10Cでは、ノードN2と電源電圧VCCが供給される電源線との間に、トランジスタTP1,TP2,TP3,TP4及びTP5が設けられている。図4に示すように、トランジスタTP1とTP2がノードN2とN7との間で並列に接続され、また、トランジスタTP3とTP4がノードN7とN8との間で並列に接続されている。トランジスタTP5はノードN8と電源線との間に接続されている。
【0082】
トランジスタTP1のゲートは、一致検出回路11にあるトランジスタTN0のゲートとともに、インバータIV6の出力端子に接続されている。トランジスタTP2のゲートは、一致検出回路11にあるトランジスタTN1のゲートとともに、ラッチ回路20のノードN5に接続されている。
トランジスタTP3のゲートは、一致検出回路12にあるトランジスタTN2のゲートとともに、インバータIV5の出力端子に接続されている。トランジスタTP4のゲートは、一致検出回路12にあるトランジスタTN3のゲートとともに、ラッチ回路20のノードN6に接続されている。
トランジスタTP5のゲートは、トランジスタTN4のゲートとともに、インバータIV7の出力端子に接続されている。
【0083】
上述した以外の部分において、例えば、インバータIV0,IV1,IV6,IV7、トランジスタTP0、及びNANDゲートND1の接続は、上述した第1または第2の実施形態と同じである。
【0084】
即ち、本実施形態のフリップフロップ回路において、パルス生成回路10Cには、第1の実施形態にあるパルス生成回路10Aに較べて、トランジスタTP1,TP2,TP3,TP4及びTP5が追加された。これらのトランジスタを追加することによって、電源投入時に、ノードN2が中間電位になることを防止し、それによってインバータIV7に発生する貫通電流を防止する。
【0085】
以下、電源投入時におけるパルス生成回路10Cの動作について説明する。
電源投入時にクロック信号CKがローレベルの場合、これに応じてインバータIV1の出力端子もローレベルになり、トランジスタTP0が導通するので、ノードN2が電源電圧VCCレベルにプリチャージされる。即ち、電源投入時にクロック信号CKがローレベルの場合、フリップフロップ回路は問題なく立ち上がる。
【0086】
しかし、電源投入時にクロック信号CKがハイレベルのとき、トランジスタTP0が遮断し、ノードN2がプリチャージされない。以下、フリップフロップ回路の入力データと保持データが一致する場合と一致しない場合のそれぞれについてパルス生成回路10Cの動作を説明する。
【0087】
フリップフロップ回路の入力データと保持データが一致する場合、パルス生成回路10Cの一致検出回路11または12の何れかにより、入力データと保持データが一致することが検出される。例えば、入力データと保持データがともに1の場合、一致検出回路11において、トランジスタTN0とTN1のゲートにともにハイレベルの信号が印加される。また、トランジスタTP1とTP2のゲートにもハイレベルの信号が印加される。このため、トランジスタTN0とTN1が導通し、トランジスタTP1とTP2が遮断する。また、クロック信号CKがハイレベルにあるので、トランジスタTN5のゲートにもハイレベルの信号が印加されるので、トランジスタTN0、TN1及びTN5が導通し、ノードN2がディスチャージされ、接地電位GNDに保持される。
【0088】
また、入力データと保持データがともに0のとき、一致検出回路12において、トランジスタTN2とTN3のゲートにともにハイレベルの信号が印加され、また、トランジスタTP3とTP4のゲートにもハイレベルの信号が印加される。このため、トランジスタTN2,TN3及びTN5が導通し、トランジスタTP3とTP4が遮断するので、ノードN2がディスチャージされ、接地電位GNDに保持される。
【0089】
次に、電源投入時にフリップフロップ回路の入力データと保持データが一致しない場合、パルス生成回路10Cの動作について説明する。
入力データと保持データが一致しない場合、一致検出回路11または12において、2つのトランジスタの一方のゲートがハイレベルの信号、他方のトランジスタのゲートにローレベルの信号がそれぞれ印加される。このため、一致検出回路11と12がともに遮断する状態にあり、一方、トランジスタTP1とTP2、及びトランジスタTP3とTP4からなる2組のトランジスタにおいて、何れか一方が導通状態にあるので、このとき、トランジスタTP5、TN4、TN5及びインバータIV7によって、正帰還回路が形成される。
【0090】
当該正帰還回路において、ノードN2の電位がインバータIV7の論理しきい値電圧よりわずかにずれると、正帰還動作により、ノードN2の電位が電源電圧VCCまたは接地電位GNDのどちらかに急速に収束する。例えば、ノードN2の電位がインバータIV7の論理しきい値電圧よりわずかに高くなると、インバータIV7の出力電圧が低下する。これに応じて、トランジスタTP5が導通し、トランジスタTN4が遮断する方向に状態が遷移する。このため、電源電圧VCCとノードN2の間に電流経路が形成され、これによってノードN2がプリチャージされ、そのレベルが急速に上昇し、ほぼ電源電圧VCCに達するところで安定する。
【0091】
逆に、ノードN2の電位がインバータIV7の論理しきい値電圧よりわずかに低くなると、インバータIV7の出力電圧が上昇する。これに応じて、トランジスタTP5が遮断し、トランジスタTN4が導通する方向に状態が遷移する。このため、ノードN2と接地電位GNDとの間に電流経路が形成され、これによってノードN2がディスチャージされ、そのレベルが急速に低下し、ほぼ接地電位GNDに達するところで安定する。
【0092】
即ち、上述のように、電源投入時に、クロック信号CKがローレベルの場合、ノードN2がハイレベルにプリチャージされ、逆に、クロック信号CKがハイレベルの場合、フリップフロップ回路の入力データと保持データとが一致するとき、パルス生成回路10Cにおいて一致検出回路11または12の何れかにより、データが一致することが検出され、これに応じて、ノードN2がディスチャージされ、ほぼ接地電位GNDに保持される。一方、入力データと保持データとが一致しないとき、トランジスタTP5、TN4、TN5及びインバータIV7により正帰還回路が形成され、当該正帰還回路により、ノードN2がハイレベルまたはローレベルに何れかに保持される。このように、電源投入時のクロック信号CKのレベルに関係なく、また、入力データと保持データの状態に関わらず、ノードN2がハイレベルまたはローレベルの何れかに保持され、中間電位になることが回避され、これによるインバータIV7の貫通電流の発生を防止できる。
【0093】
上述した立ち上がり動作を経て、ノードN2の電位がハイレベルまたはローレベルに確定される。そして、電源投入後、パルス発生回路10Cによってクロック信号CKのレベルの遷移に従って、負のパルス信号S1が生成される。これに従って、フリップフロップ回路は、データの取り込みと保持動作を行う。
なお、本実施形態のフリップフロップ回路におけるデータ取り込みと保持の動作は、上述した第1または第2の実施形態の動作とほぼ同じであるので、以下、本実施形態のデータ取り込みと保持動作について簡単に説明する。
【0094】
クロック信号CKがローレベルにあるとき、トランジスタTP0が導通し、これに応じて、ノードN2がハイレベルにプリチャージされる。このとき、NANDゲートND1からハイレベルのパルス信号S1が出力され、これに応じてトランスファゲートTG1が遮断し、トランスファゲートTG0が導通するので、ラッチ回路20において、帰還ループが形成され、これによりフリップフロップ回路の記憶データが保持される。
【0095】
クロック信号CKがローレベルからハイレベルに立ち上がると、NANDゲートND1から出力されるパルス信号S1がハイレベルからローレベルに切り替わる。これに応じて、トランスファゲートTG1が導通し、トランスファゲートTG0が遮断する。このため、ノードN4がノードN1と同じレベルに制御される。即ち、クロック信号CKの立ち上がりエッジに従って、入力データDがフリップフロップ回路に取り込まれる。
【0096】
ここで、入力データと保持データが一致するときと一致しないときにおいて、パルス生成回路10Cの動作が異なる。以下、それぞれの場合について説明する。
【0097】
まず、入力データと保持データが一致しない場合の動作を説明する。
例えば、入力データDが1、保持データが0のとき、即ち、入力データDに応じてノードN1がローレベルに保持され、一方、ノードN4がラッチ回路20によりハイレベルに保持されている。クロック信号CKの立ち上がりエッジに従って負のパルス信号S1が出力され、これに応じてトランスファゲートTG1が導通することにより、ノードN4がノードN1と同じくローレベルに保持される。逆に、入力データDが0、保持データが1のとき、即ちノードN1がハイレベルに保持される。そして、負のパルス信号S1に応じてトランスファゲートTG1が導通することによって、ノードN4がノードN1と同じくハイレベルに保持される。
【0098】
上述したように、トランスファゲートTG1が導通することによって、入力データDがフリップフロップ回路に取り込まれる。即ち、フリップフロップ回路の保持データが入力データと一致するようになる。これに伴って、一致検出回路11または12の何れかにより、データが一致することが検出される。例えば、入力データが1、保持データも1になると、一致検出回路11において、トランジスタTN0とTN1のゲートにともにハイレベルの信号が印加される。逆に、入力データが0、保持データも0になると、一致検出回路12において、トランジスタTN2とTN3のゲートにともにハイレベルの信号が印加される。
【0099】
このように、保持データと入力データが一致すると、一致検出回路11または12の何れかにより、データの一致が検出される。また、このとき、クロック信号CKがハイレベルにあるため、トランジスタTN5が導通するので、ノードN2と接地電位GND間に電流経路が形成され、ノードN2がディスチャージされ、ローレベルになる。これに従って、NANDゲートND1から出力されるパルス信号S1がハイレベルになり、トランスファゲートTG1が遮断し、トランスファゲートTG0が導通するので、ラッチ回路20において帰還ループが形成され、取り込まれたデータがラッチ回路20により保持される。
【0100】
一方、フリップフロップ回路の入力データと保持データが一致している場合、パルス生成回路10Cによって、負のパルス信号S1が生成される。これに応じてトランスファゲートTG1が導通しても、フリップフロップ回路の保持データが変化せず、そして、負のパルスが終了後、ラッチ回路20によって記憶データが保持される。
【0101】
以上説明したように、本実施形態によれば、パルス生成回路10Cにおいて、電源投入時にノードN2のレベルを確定させるために、ノードN2と電源線との間に並列接続のトランジスタTP1とTP2、並列接続のトランジスタTP3とTP4、そしてトランジスタTP5が縦続接続されている。電源投入時にクロック信号CKがハイレベルの場合において、入力データと保持データが一致していると、一致検出回路11または12により、データの一致が検出されるので、ノードN2がディスチャージされ、ローレベルになる。またこの場合において、入力データと保持データが一致していないと、並列接続のトランジスタTP1またはTP2の一方、ならびにトランジスタTP3またはTP4の一方がそれぞれ導通し、トランジスタTN4,TN5,TP5とインバータIV7によって正帰還回路が形成されるので、ノードN2の電位が電源電圧VCCまたは接地電位GNDの何れかに収束する。これにより、フリップフロップ回路の立ち上がり時の動作の安定性が改善され、ノードN2が中間電位になってインバータIV7に貫通電流が流れるのを防止でき、電源回路の過負荷を解消できる。
【0102】
【発明の効果】
以上説明したように、本発明のフリップフロップ回路によれば、データの取り込みとデータ保持の動作を制御するパルス信号が、入力データと記憶データとの比較結果に応じて制御され、これにより、動作環境の変化に応じて、パルス信号の幅が適宜制御されるため、動作環境の変化による影響を防止でき、広範な動作条件において安定した動作を実現できる利点がある。
また、本発明のフリップフロップ回路によれば、電源投入時のクロック信号のレベルに依存することなく、パルス信号を生成するための内部信号ノードの電圧レベルを電源電圧レベルまたは接地電位レベルの何れかに近づけるように制御できるため、信号ノードが中間電圧になることを防止でき、それによってインバータなどの論理回路に貫通電流が流れることを回避できる。これにより、電源投入時に貫通電流による大電流が発生することを防止でき、フリップフロップ回路の動作の安定性を改善できる。
【図面の簡単な説明】
【図1】本発明に係るフリップフロップ回路の第1の実施形態を示す回路図である。
【図2】第1の実施形態のフリップフロップ回路の動作を示す波形図である。
【図3】本発明に係るフリップフロップ回路の第2の実施形態を示す回路図である。
【図4】本発明に係るフリップフロップ回路の第3の実施形態を示す回路図である。
【図5】従来のフリップフロップ回路の一構成例を示す回路図である。
【符号の説明】
10,10A,10B,10C…パルス生成回路、20…ラッチ回路、TG0,TG1…トランスファゲート、ND1…NANDゲート、TN0,TN1,…,TN5…nMOSトランジスタ、TP0,TP1,…,TP5…pMOSトランジスタ、IV0,IV1,…,IV7…インバータ、VCC…電源電圧、GND…接地電位。
【発明の属する技術分野】
本発明は、クロック信号に応じてプリチャージを行い、入力データと保持データとの一致判定結果に従ってプリチャージされた信号を放電させることにより、セットアップ時間を短縮させ、高速動作を実現するフリップフロップ回路に関するものである。
【0002】
【従来の技術】
半導体技術の進歩に伴って半導体集積回路の動作が高速化の一途を辿っている。最近の大規模半導体集積回路(LSI)では、クロック周波数がGHz(ギガヘルツ)のオーダーに達しており、これから半導体集積回路に益々高速化や低消費電力、またはその両方が要求される。
【0003】
ディジタル信号処理を行うLSI、例えば、CPU(Central Processing Unit :中央処理装置)、DSP(Digital Signal Processor:ディジタル信号プロセッサ)では、高速化のためのパイプラインレジスタなどにフリップフロップ回路が大量に使用されている。高速動作において、フリップフロップ回路で生じた時間遅延、例えば、セットアップタイム及び有効遅延がクロック信号の一周期に対する割合が非常に大きくなり、高速化の障害になっている。また、低消費電力動作においては、低動作電源電圧下でも安定して動作する必要がある。
【0004】
図5は、高速動作を実現するために従来用いられているフリップフロップ回路の一例を示している。
図示のように、このフリップフロップ回路は、インバータIV0,IV1,IV2及びNANDゲートND1からなるパルス生成回路10、インバータIV5,IV6及びトランスファゲートTG0からなるラッチ回路20、さらに、入力データを内部記憶ノードN1に出力するトランスファゲートTG1を有している。
【0005】
パルス生成回路10は、直列接続されている3段のインバータIV0,IV1,IV2とNANDゲートND1によって構成され、クロック信号CKに応じて、これらのインバータの遅延時間の和によってパルス幅が決まるパルス信号S0を出力する。例えば、インバータIV0,IV1,IV2の遅延時間をともにΔtd とすると、クロック信号CKの立ち上がりエッジに従って、NANDゲートND1から幅3Δtd の負のパルス信号S0が出力される。
【0006】
パルス信号S0がローレベルに保持されているとき、トランスファゲートTG1が導通し、入力データDがインバータIV3とトランスファゲートTG1を介して、記憶ノードN1に転送される。そして、パルス信号S0がハイレベルに切り替わったとき、トランスファゲートTG1が遮断し、トランスファゲートTG0が導通するので、ラッチ回路20において、インバータIV5,IV6及びトランスファゲートTG0により、帰還ループが形成され、ノードN1のデータが保持される。ノードN1に保持されたデータがインバータIV7を介して出力データQとして外部に出力される。
【0007】
上述したフリップフロップ回路によって、クロック信号CKの立ち上がりエッジに応じて、インバータの遅延時間によってパルス幅が決まる負のパルス信号S0が生成され、当該パルス信号S0に応じて、入力データDがフリップフロップ回路の内部記憶ノードN1に転送される。そして、パルス信号S0がハイレベルのとき、ラッチ回路20が動作し、記憶ノードN1のデータが保持される。このため、パルス生成回路10によって生成される負のパルス信号S0のパルス幅を、ラッチ回路20内部のデータ伝播時間に比較して十分長く設定することにより、当該フリップフロップ回路は正常に動作する。すなわち、クロック信号CKに同期して入力データDを内部に取り込み、取り込んだデータを保持して出力する。
【0008】
【特許文献1】
特開2000−232339号公報
【特許文献2】
特開2002−26697号公報
【0009】
【発明が解決しようとする課題】
ところで、上述した従来のフリップフロップ回路において、パルス生成回路によって生成されるパルス信号の幅は、直列接続されているインバータの遅延時間によって決まる。一方、ラッチ回路内部をデータが伝播する時間は、データ入力信号を駆動する回路の駆動能力や、ラッチ回路の動作電圧などに影響される。そのため、例えば電源電圧が変化した場合、入力信号の遷移時間や、ラッチ回路内部においてデータが伝播する時間も変化する。パルス生成回路において、パルス幅を決定するインバータの遅延時間も電源電圧の変動に応じて変化するが、変化の度合いはラッチ回路内部のデータ伝播時間の変化とは必ずしも一致しない。このため、図5に示すフリップフロップ回路では、広範な動作環境変化、例えば、電源電圧の変化に対して動作を保証することが困難であるという不利益がある。
【0010】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、高速動作に適し、動作環境の変化による影響を防止でき、広範な動作条件において安定した動作を実現できるフリップフロップ回路を提供することにある。
【0011】
【課題を解決するための手段】
上記目的を達成するため、本発明のフリップフロップ回路は、クロック信号に応じて生成されるパルス信号により制御され、上記パルス信号が第1のレベルに保持されているとき遮断し、第2のレベルに保持されているとき導通して入力データを内部記憶ノードに出力するデータ転送ゲートと、上記パルス信号が上記第1のレベルに保持されているとき保持動作を行い、上記内部記憶ノードの記憶データを保持するデータ保持回路と、上記クロック信号が第1のクロックレベルにあるとき、第1の信号ノードを電源電圧にプリチャージし、上記クロック信号が第2のクロックレベルにあるとき遮断する第1のスイッチング手段と、上記入力データと上記内部記憶ノードの記憶データとを比較し、当該比較の結果、上記入力データと上記記憶データとが一致するとき、上記第1の信号ノードを共通電位にディスチャージする一致検出手段とを有し、上記クロック信号と上記第1の信号ノードの電位に応じて、上記パルス信号を生成するパルス生成回路とを有する。
【0012】
また、本発明では、好適には、上記パルス生成回路は、電源電圧が供給される電源線と上記第1の信号ノードとの間に接続され、上記クロック信号に応じた遅延信号によって導通または遮断する第1のスイッチング素子と、第2の信号ノードと共通電位線との間に接続され、上記遅延信号に応じて導通または遮断する第2のスイッチング素子と、上記第1の信号ノードと上記第2の信号ノードとの間に設けられ、上記入力データと上記記憶データが一致するとき、上記第1の信号ノードと上記第2の信号ノードとの間を導通させる上記一致検出手段と、上記第1の信号ノードの信号と上記クロック信号との論理演算を行い、その結果に応じて上記パルス信号を出力する論理回路とを有し、上記クロック信号が上記第1のクロックレベルにあるとき、上記第1のスイッチング素子が導通し、上記第1の信号ノードが上記第1のレベルにプリチャージされ、上記クロック信号が上記第1のクロックレベルから上記第2のクロックレベルに切り替わったとき、上記第1のスイッチング素子が遮断し、上記一致検出手段において、上記記憶データと上記入力データとが一致することが検出したとき、上記第1と第2の信号ノードが導通し、上記第1の信号ノードが上記共通電位にディスチャージされる。
【0013】
本発明によれば、パルス生成回路はクロック信号及び信号ノードの電圧レベルに応じてパルス信号を生成し、当該パルス信号に応じてデータ転送ゲートが導通または遮断状態に制御され、導通時に入力データが内部の記憶ノードに出力され、データ転送ゲートが遮断するときに内部記憶ノードの記憶データがデータ保持回路によって保持される。そして、パルス生成回路において、クロック信号が第1のクロックレベルにあるとき、第1の信号ノードが第1のレベル、例えば、電源電圧レベルにプリチャージされ、クロック信号が第2のクロックレベルに遷移したとき、出力されるパルス信号が第2のレベルに制御され、これに応じて入力データが記憶ノードに取り込まれ、記憶ノードのデータと入力データとが一致することが一致検出手段によって検出されたとき、第1の信号ノードが第2のレベル、例えば、共通電位にディスチャージされ、これに応じてパルス信号が第2のレベルから第1のレベルに切り替えられる。
【0014】
このため、入力データが完全に記憶ノードに取り込まれてからパルス信号のレベルが遷移されるので、動作環境の変化による影響を防止でき、広範な動作条件において安定した動作を実現できる。
【0015】
【発明の実施の形態】
第1実施形態
図1は本発明に係るフリップフロップ回路の第1の実施形態を示す回路図である。
図示のように、本実施形態のフリップフロップ回路は、パルス生成回路10A、ラッチ回路20、及びトランスファゲートTG1などを有している。なお、ラッチ回路20は、発明の請求の範囲にあるデータ保持回路に対応し、トランスファゲートTG1は、請求の範囲にあるデータ転送ゲートに対応する。
【0016】
以下、本実施形態のフリップフロップ回路の各構成部分について説明する。
パルス生成回路10Aは、図示のように、インバータIV0,IV1,IV6,IV7、pMOSトランジスタTP0、nMOSトランジスタTN0,TN1,TN2,TN3,TN4とTN5及びNANDゲートND1を有している。トランジスタTN0とTN1は一致検出回路11を構成し、またトランジスタTN2とTN3は一致検出回路12を構成している。
【0017】
インバータIV0とIV1は、クロック信号CKが入力される信号端子とトランジスタTP0,TN5のゲートとの間に直列接続されている。トランジスタTP0のソースは電源電圧が供給されている電源線に接続され、そのドレインがノードN2に接続されている。一方、トランジスタTP5のソースが接地され、ドレインがノードN3に接続されている。
なお、ノードN2は、発明の請求の範囲にある第1の信号ノードに対応し、ノードN3は第2の信号ノードに対応する。そして、トランジスタTP0は、当該信号ノードN2をプリチャージさせる第1のスイッチング素子に対応する。また、トランジスタTN5は、第2のスイッチング素子に対応する。
【0018】
トランジスタTN0とTN1は、ノードN2とN3との間に直列接続され、これらによって、一致検出回路11が構成されている。また、トランジスタTN2とTN3もノードN2とN3との間に直列接続され、これらによって、一致検出回路12が構成されている。また、トランジスタTN4もノードN2とN3との間に接続されている。
トランジスタTN0のゲートがインバータIV6の出力端子に接続され、トランジスタTN1のゲートがラッチ回路20にあるノードN5に接続されている。トランジスタTN2のゲートがインバータIV5の出力端子に接続され、トランジスタTN3のゲートがラッチ回路20にあるノードN6に接続されている。さらに、トランジスタTN4のゲートがインバータIV7の出力端子に接続されている。
【0019】
なお、インバータIV6の入力端子がインバータIV5の出力端子に接続され、インバータIV7の入力端子がノードN2、すなわちトランジスタTP0のドレインに接続されている。
【0020】
NANDゲートND1の一方の入力端子がクロック信号CKが入力されるクロック入力端子に接続され、他方の入力端子がノードN2、即ち、トランジスタTP0のドレインに接続されている。ここで、ノードN2に生じた信号をS0とすると、NANDゲートND1の出力端子から、クロック信号CKとノードN2に生じた信号S0の論理積の反転信号であるパルス信号S1が出力される。
【0021】
上述した構成をもつパルス生成回路10Aにおいて、トランジスタTP0及びTN5は、入力されるクロック信号CKに応じて、導通状態が制御される。具体的に、例えば、クロック信号CKがローレベルのとき、インバータIV1の出力端子もローレベルに保持されるので、トランジスタTP0が導通し、トランジスタTN5が遮断する。このとき、トランジスタTP0によってノードN2がほぼ電源電圧VCCレベルに保持される。一方、クロック信号CKがハイレベルのとき、インバータIV1の出力もハイレベルに保持されるので、トランジスタTP0が遮断し、トランジスタTN5が導通する。即ち、このとき、ノードN3が接地電位GNDに保持される。
【0022】
トランジスタTN0のゲートに、入力データDに応じたレベルの信号が印加される。ここで、ハイレベルをデータ1に対応させ、ローレベルをデータ0に対応させるとすれば、例えば、入力データDが1のとき、即ち、データ入力端子がハイレベルに保持されているとき、インバータIV5の出力端子(ノードN1)がローレベルに保持され、インバータIV6の出力端子がデータ入力端子と同じくハイレベルに保持される。即ち、トランジスタTN0は、入力データDに応じて導通状態が制御される。
【0023】
一方、トランジスタTN1のゲートに、ラッチ回路20におけるノードN5の信号が入力されるので、トランジスタTN1は、ラッチ回路20によって保持されているデータによって導通状態が制御される。
ここで、フリップフロップ回路の出力データQをラッチ回路20の保持データと定義する。即ち、フリップフロップ回路のデータ出力端子がデータ1に対応するハイレベルのとき、出力データQを1とし、逆に、データ出力端子がデータ0に対応するローレベルのとき、出力データを0とする。以下の説明において、フリップフロップ回路の記憶データ、またはフリップフロップ回路の保持データは、即ちその出力データQを意味する。
ラッチ回路20において、ノードN5の信号レベルがデータ出力端子のレベルと同じであり、ノードN6の信号レベルがデータ出力端子の論理反転レベルに一致する。
【0024】
クロック生成回路10Aにおいて、トランジスタTN0はフリップフロップ回路の入力データに応じて導通状態が制御され、トランジスタTN1はフリップフロップ回路の保持データに応じて導通状態に制御される。具体的に、入力データが1、保持データも1のとき、トランジスタTN0とTN1のゲートがともにハイレベルに保持される。このため、クロック信号CKがハイレベルのとき、トランジスタTN0とTN1がともに導通する。
一方、トランジスタTN2はフリップフロップ回路の入力データの論理反転データに応じて導通状態が制御され、トランジスタTN3はフリップフロップ回路の保持データの論理反転データに応じて導通状態が制御される。具体的に、入力データが0、出力データも0のとき、トランジスタTN2とTN3のゲートがともにハイレベルに保持される。このため、クロック信号CKがハイレベルのとき、トランジスタTN2とTN3がともに導通する。
【0025】
即ち、トランジスタTN0とTN1によって、入力データと保持データがともに1であることを検出する一致検出回路11が形成され、トランジスタTN2とTN3は、入力データと保持データがともに0であることを検出する一致検出回路12が形成される。このため、入力データと保持データが一致したとき、上記2つの一致検出回路11と12の何れかによってデータが一致することが検出されるので、クロック信号CKがハイレベルになるとき、ノードN2とN3の間が導通し、かつ接地電位GNDに保持される。
【0026】
即ち、クロック信号CKがローレベルのとき、トランジスタTP0が導通するので、ノードN2が電源電圧VCCによってハイレベルにプリチャージされる。クロック信号CKがハイレベルに切り替わったとき、一致検出回路11また12によってフリップフロップ回路の入力データと保持データが一致することが検出されたとき、ノードN2から接地線までに電流経路が形成され、プリチャージによりノードN2に蓄積した電荷が接地電位GNDに流れるので、ノードN2が接地電位GNDに保持される。
【0027】
パルス生成回路10Aにおいて、インバータIV7とトランジスタTN4は、ノードN2のローレベル電位を保持するラッチ回路として機能する。ノードN2がハイレベルのとき、インバータIV7の出力端子がローレベルに保持され、トランジスタTN4が遮断状態にある。ノードN2の電位が低下してインバータIV7の論理しきい値より低くなると、インバータIV7の出力信号がローレベルからハイレベルに反転するので、トランジスタTN4が導通し、ノードN2の電荷のディスチャージが加速する。そして、クロック信号CKがローレベルになって、トランジスタTP0によってノードN2の電位がハイレベルに引き上げられるまで、ノードN2のローレベルが保持される。
【0028】
次に、ラッチ回路20の構成について説明する。
図1に示すように、ラッチ回路20は、インバータIV3,IV4及びトランスファゲートTG0によって構成されている。インバータIV4、IV3とトランスファゲートTG0がループ接続になっており、トランスファゲートTG0が導通時にこの帰還ループにより、ノードN4の電位が保持される。
【0029】
トランスファゲートTG0は、パルス生成回路10Aによって出力されるパルス信号S1によって導通状態が制御される。パルス信号S1がローレベルのとき、トランスファゲートTG0が遮断し、パルス信号S1がハイレベルのとき、トランスファゲートTG1が導通する。
【0030】
図1に示すように、本実施形態のフリップフロップ回路において、ノードN1とノードN4との間に、トランスファゲートTG1が接続されている。トランスファゲートTG1も、パルス生成回路10Aによって出力されるパルス信号S1によって導通状態が制御される。ただし、トランスファゲートTG1とTG0は、互いに相反する動作を行う。即ち、パルス信号S1がローレベルのとき、トランスファゲートTG1が導通し、TG0が遮断する。このとき、ノードN1の信号電圧がトランスファゲートTG1を介してノードN1に転送される。パルス信号S1がハイレベルに立ち上がると、トランスファゲートTG1が遮断し、TG0が導通する。このとき、ラッチ回路20の帰還ループが動作し、ノードN4の電圧レベルが保持される。
【0031】
即ち、パルス信号S1がローレベルのとき、入力データDがフリップフロップ回路に取り込まれ、パルス信号S1がハイレベルのとき、取り込んだデータがフリップフロップ回路内部に設けられているラッチ回路20によって保持される。
【0032】
図2は、本実施形態のフリップフロップ回路の全体の動作を示す波形図である。以下、図1及び図2を参照しつつ、本実施形態のフリップフロップ回路の動作を説明する。
【0033】
まず、図2に示すように、初期状態として、入力データDを0、フリップフロップ回路の保持データを1とする。
時間t1までに、クロック信号CKがローレベルにあり、これに応じて、パルス生成回路10Aにおいて、トランジスタTP0が導通し、信号S0がハイレベルにプリチャージされる。
【0034】
時間t1において、クロック信号CKがローレベルからハイレベルに立ち上がる。これに応じて、トランジスタTP0遮断し、トランジスタTN5のゲートにハイレベルの信号が印加される。このとき、トランジスタTN0のゲートにデータ入力端子と同じローレベルの信号が印加され、また、トランジスタTN3のゲートにも、ノードN3の電圧、即ちローレベルの信号が印加される。即ち、2つの一致検出回路11と12がともに遮断状態にある。このため、ノードN2のハイレベルが保持され、NANDゲートND1からローレベルのパルス信号S1が出力される。
【0035】
上述したように、パルス信号S1がローレベルになると、トランスファゲートTG1が導通し、TG0が遮断するので、入力データDがフリップフロップ回路に取り込まれる。即ち、ノードN4がノードN1と同じくハイレベルになり、フリップフロップ回路の保持データが0に切り替わる。
【0036】
ラッチ回路20において、ノードN4がハイレベルに切り替わると、インバータIV4とIV3の状態が順次反転し、ノードN5がローレベル、ノードN6がハイレベルに切り替わる。即ち、インバータIV4とIV3の遅延時間を経過したとき、ノードN6の信号S3がハイレベルに切り替わり、これに応じて一致検出回路12においてトランジスタTN3のゲートにハイレベルの信号が印加される。また、このときすでにトランジスタTN2のゲートに、ノードN1のハイレベルの信号電圧が印加されている。また、トランジスタTN5のゲートにクロック信号CKに従ってハイレベルの信号が印加されている。このため、トランジスタTN2とTN3、さらにTN5がともに導通状態になり、ノードN2がローレベルにディスチャージされる。
【0037】
ノードN2の信号S0がローレベルに切り替わると、NANDゲートND1の出力がハイレベルになる。即ち、パルス信号S1がローレベルからハイレベルに切り替わる。このように、パルス信号S1のパルス幅(負のパルスと見る場合)は、トランスファゲートTG1、インバータIV4及びIV3の遅延時間によってほぼ決まる。
【0038】
上述したように、時間t1において、クロック信号CKの立ち上がりエッジに応じて、パルス信号S1がローレベルになり、これに従ってトランスファゲートTG1が導通し、入力データがフリップフロップ回路に取り込まれて、ラッチ回路20において、インバータIV4とIV3の状態が取り込んだデータに応じて順次反転する。そして、インバータIV3の出力信号S3がハイレベルになるに連れて、一致検出回路12を構成するトランジスタTN2とTN3が導通し、さらにトランジスタTN5も導通するので、ノードN2の信号S0がローレベルに下がり、パルス信号S1がローレベルからハイレベルに切り替わり、負のパルス期間が終了する。そして、パルス信号S1がハイレベルになると、トランスファゲートTG1が遮断し、トランスファゲートTG0が導通するので、ラッチ回路20によって、フリップフロップ回路に取り込まれたデータが保持される。
【0039】
上述したように、パルス生成回路10Aによって出力される負のパルス信号S1の幅は、ラッチ回路20において入力データの取り込みが確実に完了した時間によって制御される。このため、動作環境の変動によって素子の遅延時間などが変化し、データの取り込み時間が変化しても、データ取り込みが確実に実行されるので、誤動作の発生が回避される。
【0040】
次に、時間t2において、クロック信号CKがハイレベルからローレベルに切り替わる。これに従って、パルス生成回路10Aにおいて、トランジスタTN5が遮断し、トランジスタTP0が導通するので、ノードN2が電源電圧VCCにプリチャージされる。フリップフロップ回路は、次のデータ取り込みに備えて待機状態にある。
【0041】
次に、保持データが0のとき、入力データ1をフリップフロップ回路に取り込むときの動作について説明する。
図2に示すように、データ1をフリップフロップ回路に取り込むため、クロック信号CKの立ち上がる時間t3までに、入力データDが1に確定される必要がある。なお、入力データDの切り替えは、前回のデータ取り込みが終了した後、次回クロック信号CKが立ち上がるまでの間に完了すればよい。即ち、時間t3の前に、データ入力端子の信号レベルがハイレベルに確定すればよい。
【0042】
時間t3において、クロック信号CKがハイレベルに立ち上がる。これに応じて、パルス信号S1がローレベルに切り替わる。従って、トランスファゲートTG1が導通し、入力データDがフリップフロップ回路に取り込まれる。即ち、ラッチ回路20において、ノードN4がノードN1と同じくローレベルになる。
【0043】
ノードN4のレベル変化に従って、インバータIV4とIV3の出力信号が順次反転する。即ち、ノードN4がローレベルに切り替わってから、インバータIV4の遅延時間を経過した後、ノードN5の信号S2がハイレベルになる。このとき、パルス生成回路10Aにおいて、一致検出回路11を構成するトランジスタTN0とTN1のゲートにともにハイレベルの信号が印加される。また、クロック信号CKが立ち上がったあと、トランジスタTN5のゲートにもハイレベルの信号が印加されるので、トランジスタTN0,TN1さらにTN5が導通し、ノードN2にプリチャージされた電荷が接地電位GNDに流れ、信号S0がローレベル切り替わる。これに応じて、パルス信号S1がハイレベルに切り替わる。即ち、負のパルス期間が終了する。
【0044】
上述したように、時間t3において、クロック信号CKの立ち上がりエッジに応じて、パルス信号S1がハイレベルからローレベルに切り替わる。これに従ってトランスファゲートTG1が導通し、入力データ1がフリップフロップ回路に取り込まれる。そして、ラッチ回路20において、インバータIV4とIV3が取り込んだデータに応じて順次出力が反転する。インバータIV4の出力信号S2がローレベルからハイレベルに切り替わったとき、パルス生成回路10Aにおいて、一致検出回路11を形成するトランジスタTN0とTN1によって、ラッチ回路20の保持データが入力データと一致したことが検出されたとき、パルス信号S1が切り替わる。これに応じて、トランスファゲートTG1が遮断し、トランスファゲートTG0が導通するので、ラッチ回路20において、帰還ループが動作し、取り込んだデータが保持される。
【0045】
次に、入力データDがフリップフロップ回路の保持データと一致した場合の動作について説明する。
図2に示すように、時間t5において、入力データDが1に保持されている。また、このとき、フリップフロップ回路にもデータ1が保持されている。即ち、ラッチ回路20において、ノードN5の信号S2がハイレベルに保持されている。
【0046】
パルス生成回路10Aにおいて、一致検出回路11では、トランジスタTN0のゲートに入力データDに応じたハイレベルの信号が印加されている。また、トランジスタTN1のゲートに、ラッチ回路20におけるノードN5の信号S2、即ち、ハイレベルの信号が印加されている。このため、図2に示すように、クロック信号CKの立ち上がりエッジから、インバータIV0とIV1の2段分の遅延時間が経過したとき、トランジスタTN5のゲートにハイレベルの信号が印加されるので、トランジスタTN0,TN1及びTN5が導通して、ノードN2がローレベルにディスチャージされる。
【0047】
これに応じて、NANDゲートND1の出力端子からクロック信号CKの立ち上がりエッジに応じて、負のパルス信号S1が出力される。当該パルス信号S1のパルス幅は、インバータIV0,IV1の遅延時間、及びトランジスタTP0とTP5によって生じた遅延時間に応じて決まる。
【0048】
パルス信号S1がローレベルの間、トランスファゲートTG1が導通するが、このとき、ノードN4とノードN1が同じくローレベルにあるので、ノードN4の信号レベルが変化しない。そして、パルス信号S1のパルス期間が終了し、ローレベルからハイレベルに切り替わったあと、トランスファゲートTG1が遮断し、TG0が導通するので、ラッチ回路20において、インバータIV4,IV3及びトランスファゲートTG0からなる帰還ループが動作し、ノードN4の信号レベルが保持される。
【0049】
上述したように、フリップフロップ回路にデータ1が保持されているとき、データ入力端子から同じくデータ1が入力された場合、パルス生成回路10Aの一致比較回路11において、クロック信号CKが立ち上がる前にトランジスタTN0とTN1のゲートにハイレベルの信号が印加されている。このため、クロック信号CKの立ち上がりエッジから、インバータIV0,IV1の遅延時間を経過したとき、トランジスタTN5のゲートにハイレベルの信号が印加される。これに応じて、トランジスタTN0,TN1とTN5が導通し、ノードN2がローレベルにディスチャージされ、パルス信号S1がハイレベルに切り替わる。この場合、入力データと保持データが一致するので、ラッチ回路20においてノードN4のレベルが変化せず、データ入力前と同じ状態がラッチ回路20によって保持される。
【0050】
また、同様に、フリップフロップ回路にデータ0が保持されているとき、データ入力端子から同じくデータ0が入力された場合、パルス生成回路10Aのデータ比較回路12において、クロック信号CKが立ち上がる前にトランジスタTN2とTN3のゲートにハイレベルの信号が印加されている。このため、クロック信号CKの立ち上がりエッジから、インバータIV0,IV1の遅延時間を経過したとき、トランジスタTN5のゲートにハイレベルの信号が印加される。これに応じて、トランジスタTN2,TN3とTN5が導通し、ノードN2がローレベルにディスチャージされ、パルス信号S1がハイレベルに切り替わる。この場合、入力データと保持データが一致するので、ラッチ回路20においてノードN4のレベルが変化せず、データ入力前と同じ状態がラッチ回路20によって保持される。
【0051】
以上説明したように、本実施形態によれば、パルス生成回路10Aにおいて、クロック信号CKがローレベルのとき、トランジスタTP0によりノードN2をハイレベルにプリチャージし、クロック信号CKの立ち上がりエッジに従って、負のパルス信号S1を発生し、これに応じてトランスファゲートTG1が導通し、入力データがラッチ回路20の記憶ノードN4に取り込まれる。また、一致検出回路11または12において、入力データとラッチ回路の保持データとを比較し、比較対象データが一致したとき、ノードN2をディスチャージし、負のパルスを終了させ、これに応じてトランスファゲートTG1が遮断し、TG0が導通するので、ラッチ回路20によって取り込んだデータが保持される。すなわち、本実施形態によれば、フリップフロップ回路の記憶ノードに入力データを取り込む動作が完了したか否かの検出が行なわれ、この検出の結果に従って、取り込んだデータを保持するタイミングが制御される。したがって、動作条件の変化によりデータの取り込み時間が変化しても、取り込み動作を確実に実行することができ、動作環境の変動による誤動作の発生を防止できる。
【0052】
第2実施形態
図3は本発明に係るフリップフロップ回路の第2の実施形態を示す回路図である。
図3に示すように、本実施形態のフリップフロップ回路は、パルス生成回路10B、ラッチ回路20、及びインバータIV2,IV5,IV8、トランスファゲートTG1を有している。
【0053】
図1に示す本発明第1の実施形態に較べると、本実施形態のフリップフロップ回路は、パルス生成回路10Bの構成が異なる。それ以外の各構成部分は、図1に示す第1の実施形態の対応する部分とほぼ同じである。このため、以下の説明において、パルス生成回路10Bを中心に、第1の実施形態のパルス生成回路10Aとの相違及びそれによって生じた動作、機能の相違について説明する。
【0054】
図3に示すように、本実施形態のフリップフロップ回路において、パルス生成回路10Bは、インバータIV0,IV1,IV6,IV7、pMOSトランジスタTP0,TP1,TP2、nMOSトランジスタTN0,TN1,TN2,TN3,TN4とTN5及びNANDゲートND1を有している。トランジスタTN0とTN1は一致検出回路11を構成し、またトランジスタTN2とTN3は一致検出回路12を構成している。
【0055】
図1に示す本発明の第1の実施形態のパルス生成回路10Aに較べると、本実施形態のパルス生成回路10Bでは、トランジスタTP1とTP2が新しく設けられている。トランジスタTP1とTP2が導通状態の抵抗値(即ち、オン抵抗の抵抗値)は、他のトランジスタより大きく設定されている。
【0056】
図示のように、トランジスタTP1とTP2は、電源電圧VCCが供給された電源線とノードN2との間に直列接続されている。即ち、トランジスタTP1のソースが電源線に接続され、ドレインがトランジスタTP2のソースに接続されている。トランジスタTP2のドレインがノードN2に接続されている。さらに、トランジスタTP1とTP2のゲートがともにインバータIV7の出力端子に接続されている。
【0057】
インバータIV7の入力端子は、ノードN2に接続されている。また、その出力端子はトランジスタTP1とTP2のゲートに接続されるとともに、トランジスタTN4のゲートにも接続される。
【0058】
本実施形態のフリップフロップ回路では、システムの立ち上がりのとき、例えば、電源電圧が投入したとき、ノードN2が電源電圧VCCと接地電位GNDとの中間電位になることを防止し、それによってインバータIV7に発生する貫通電流を防止するために、電源線とノードN2との間に縦続接続のトランジスタTP1とTP2が設けられている。
以下、トランジスタTP1とTP2が設けられた本発明のパルス生成回路10Bの動作について説明する。
【0059】
電源投入時に、クロック信号CKがローレベルのとき、これに応じてインバータIV1の出力端子もローレベルになり、トランジスタTP0が導通するので、ノードN2が電源電圧VCCレベルにプリチャージされる。即ち、電源投入時にクロック信号CKがローレベルの場合、フリップフロップ回路は問題なく立ち上がる。
【0060】
しかし、電源投入時のクロック信号CKのレベルはハイレベルまたはローレベルの何れにもなり得る。電源投入時にクロック信号CKがハイレベルであると、これに応じてインバータIV1の出力端子もハイレベルに保持され、トランジスタTP0は遮断状態になる。このため、ノードN2にプリチャージする経路が形成されず、ノードN2が電源電圧VCCと接地電位GNDとの中間電位になることがある。
【0061】
ノードN2が中間電位になると、インバータIV7を構成するpMOSトランジスタとnMOSトランジスタのゲートに中間電位が印加されるので、リーク電流が流れる。即ち、電源電圧VCC投入時に、クロック信号CKのレベルに応じて、フリップフロップ回路に瞬時に大電流が発生することがある。これは、電源供給回路に大きな負荷を与えるのみならず、この大電流によってフリップフロップ回路の動作の安定性が影響され得る。
【0062】
そこで、本実施形態のフリップフロップ回路では、上述したように、パルス生成回路10Bにおいて、電源線とノードN2の間に、縦続接続したトランジスタTP1とTP2が設けられている。以下、本実施形態のフリップフロップ回路においける電源投入時の動作について説明する。
【0063】
電源電圧VCCが投入されたとき、クロック信号CKがローレベルの場合、インバータIV1の出力端子もローレベルに保持され、トランジスタTP0が導通し、ノードN2が電源電圧VCCによりプリチャージされる。即ち、ノードN2がハイレベルに保持される。すると、インバータIV7の出力端子がローレベルになり、トランジスタTP1とTP2も導通する。このとき、トランジスタTP1とTP2、さらにインバータIV7により、ラッチ回路が形成され、このラッチ回路によって、ノードN2がハイレベルに保持される。
【0064】
一方、電源投入時にクロック信号CKがハイレベルにあるとき、これに応じてインバータIV1の出力端子もハイレベルにあるため、トランジスタTP0が遮断し、ノードN2はプリチャージされない。このとき、フリップフロップ回路への入力データと保持データが一致するか否かによって、パルス生成回路10Bの動作が異なる。
【0065】
まず、入力データと保持データが一致する場合の動作について説明する。
入力データDとフリップフロップ回路の保持データが一致するとき、即ち、入力データと保持データがともに1、または0のとき、パルス生成回路10Bにおいて、一致検出回路11または12によって、データの一致が検出される。例えば、入力データと保持データがともに1の場合、一致検出回路11において、トランジスタTN0とTN1のゲートにハイレベルの信号が印加される。また、入力データと保持データがともに0の場合、一致検出回路12において、トランジスタTN2とTN3のゲートにハイレベルの信号が印加される。さらに、このとき、トランジスタTN5のゲートにもハイレベルの信号が印加されているので、一致回路11または12の何れかとトランジスタTN5が導通し、ノードN2と接地電位GNDとの間に電流経路が形成される。また、トランジスタTP1とTP2のオン抵抗が十分大きく設定されているので、ノードN2がディスチャージされ、接地電位GNDに保持される。
【0066】
一方、電源投入時に、フリップフロップ回路の入力データと保持データが一致しない場合、一致検出回路11と12の両方が遮断されるため、トランジスタTN5が導通状態にあるにも関わらず、ノードN2と接地電位GNDとの間に電流経路が形成されない。このとき、トランジスタTP1,TP2、トランジスタTN4,TN5及びインバータIV7によって、正帰還回路が構成されている。例えば、ノードN2の電圧がわずかにインバータIV7の論理しきい値電圧より高い場合、インバータIV7の出力端子がローレベルに遷移し、これに応じてトランジスタTP1とTP2のオン抵抗が低下し、ノードN2の電圧がさらに上昇する。したがって、この場合、ノードN2の電圧は急速にハイレベルに収束する。
【0067】
逆に、ノードN2の電圧がわずかにインバータIV7の論理しきい値電圧より低い場合、インバータIV7の出力端子がハイレベルに遷移し、これに応じてトランジスタTN4のオン抵抗が低下し、ノードN2の電圧がさらに低下する。したがって、この場合、ノードN2の電圧が急速にローレベルに収束する。
なお、トランジスタTP1とTP2のオン抵抗は他のトランジスタより大きく形成されているので、正帰還回路において、例えば、ノードN2が中間電位にあるとき、トランジスタTP1とTP2によってこれをハイレベルに引き上げる力は、トランジスタTN4とTN5によってローレベルに引き下げる力より弱い。したがって、ノードN2の電位は高い確率でローレベルに収束する。
【0068】
上述したように、パルス生成回路10Bにおいて、電源投入時、クロック信号CKがローレベルのとき、ノードN2がハイレベルにプリチャージされる。逆に、クロック信号CKがハイレベルのとき、ノードN2は高い確率でローレベルに保持される。即ち、電源投入時クロック信号CKがハイレベルになっている場合でもノードN2が中間電位になることが回避されるので、電源投入時の動作の不安定性が防止できる。
【0069】
上述した立ち上がり動作を経て、ノードN2の電位がハイレベルまたはローレベルに確定される。そして、クロック信号CKの電位変化に従って、データ入力端子に入力されるデータDが順次にフリップフロップ回路に取り込まれ、ラッチ回路20によって保持されるとともに、出力端子に出力される。
なお、本実施形態のフリップフロップ回路において、データの取り込みと保持動作は、上述した本発明の第1の実施形態とほぼ同じである。以下、これらの動作について簡単に説明する。
【0070】
クロック信号CKがローレベルのとき、パルス生成回路10Bにおいて、ノードN2がハイレベルにプリチャージされ、NANDゲートND1の出力信号であるパルス信号S1はハイレベルに保持される。このため、ラッチ回路20では、トランスファゲートTG0が導通し、帰還ループが形成され、記憶データが保持される。また、トランスファゲートTG1が遮断される。
【0071】
クロック信号CKがローレベルからハイレベルに立ち上がったとき、NANDゲートND1によって出力されるパルス信号S1がハイレベルからローレベルに切り替わる。これに応じて、トランスファゲートTG1が導通し、トランスファゲートTG0が遮断する。このため、データ入力端子から入力されるデータDがフリップフロップ回路の記憶ノードに取り込まれる。
例えば、入力データDが1のとき、これに応じてノードN1がローレベルに保持される。トランスファゲートTG1が導通したとき、ノードN4がノードN1と同じくローレベルに保持される。逆に、入力データDが0のとき、これに応じてノードN1がハイレベルに保持される。トランスファゲートTG1が導通したとき、ノードN4がノードN1と同じくハイレベルに保持される。
【0072】
トランスファゲートTG1が導通することによって、入力データDがフリップフロップ回路に取り込まれる。即ち、フリップフロップ回路の保持データが入力データDと一致するようになる。これに伴って、一致検出回路11または12の何れかにより、データが一致することが検出される。例えば、入力データが1、保持データも1になると、一致検出回路11において、トランジスタTN0とTN1のゲートにともにハイレベルの信号が印加される。逆に、入力データが0、保持データも0になると、一致検出回路12において、トランジスタTN2とTN3のゲートにともにハイレベルの信号が印加される。
【0073】
このように、保持データと入力データが一致すると、一致検出回路11または12の何れかにより、データの一致が検出される。また、このとき、クロック信号CKがハイレベルにあるため、トランジスタTN5が導通するので、ノードN2と接地電位GND間に電流経路が形成され、ノードN2がディスチャージされ、ローレベルになる。これに従って、NANDゲートND1から出力されるパルス信号S1がハイレベルになり、トランスファゲートTG1が遮断し、トランスファゲートTG0が導通するので、ラッチ回路20において帰還ループが形成され、取り込まれたデータがラッチ回路20により保持される。
【0074】
データ取り込みの前において、フリップフロップ回路の入力データと保持データが一致している場合、一致検出回路11または12により、データが一致することが検出される。クロック信号CKの立ち上がりエッジに従って、パルス信号S1がローレベルになり、トランスファゲートTG1が導通する。そして、インバータIV0とIV1の遅延時間が経過したとき、トランジスタTN5導通するので、ノードN2と接地電位GNDとの間に電流経路が形成され、ノードN2がローレベルにディスチャージされる。これに応じてNANDゲートND1から出力されるパルス信号S1がハイレベルに切り替わり、ラッチ回路20において記憶データが保持される。
【0075】
即ち、フリップフロップ回路の入力データと保持データが一致している場合、パルス生成回路10Bによって、インバータIV0とIV1の遅延時間、及びトランジスタTP0とTP5により生じた遅延時間によってパルス幅が制御されるパルス信号S1が生成される。これに応じて、トランスファゲートTG1が導通しても、フリップフロップ回路の保持データが変化せず、そして、負のパルスが終了後、ラッチ回路20によって記憶データが保持される。
【0076】
以上説明したように、本実施形態によれば、パルス生成回路10Bにおいて、電源投入時にノードN2のレベルを確定させるために、電源線とノードN2との間に縦続接続のトランジスタTP1とTP2が設けられている。電源投入時、クロック信号CKがハイレベルのとき、入力データと保持データが一致するとき、一致検出回路11または12により、データの一致が検出されるので、ノードN2がディスチャージされ、ローレベルになる。一方、入力データと保持データが一致しないとき、トランジスタTP1,TP2、トランジスタTN4,TN5とインバータIV7によって正帰還回路が形成される。このとき、トランジスタTP1とTP2のオン抵抗が他のトランジスタよりも大きく設定されているので、ノードN2の電位は高い確率で接地電位GNDに収束する。これにより、フリップフロップ回路の立ち上がり時の動作の安定性が改善され、ノードN2が中間電位になってインバータIV7に貫通電流が流れるのを防止でき、電源回路の過負荷を解消できる。
【0077】
第3実施形態
図4は本発明に係るフリップフロップ回路の第3の実施形態を示す回路図である。
図示のように、本実施形態のフリップフロップ回路は、パルス生成回路10C、ラッチ回路20、及びトランスファゲートTG1などを有している。以下、本実施形態のフリップフロップ回路の各構成部分について説明する。
【0078】
パルス生成回路10Cは、図示のように、インバータIV0,IV1,IV6,IV7、pMOSトランジスタTP0,TP1,TP2,TP3,TP4,TP5、nMOSトランジスタTN0,TN1,TN2,TN3,TN4とTN5、及びNANDゲートND1を有している。トランジスタTN0とTN1は一致検出回路11を構成し、またトランジスタTN2とTN3は一致検出回路12を構成している。
【0079】
ラッチ回路20は、上述した本発明のフリップフロップ回路の第1または第2の実施形態にあるラッチ回路20と同じ構成を有し、同じ機能をもつ。このため、ラッチ回路20について説明を省略する。
【0080】
以下、本実施形態におけるパルス生成回路10Cの構成及び動作について、図4を参照しつつ説明する。
パルス生成回路10Cにおいて、図4に示すように、トランジスタTN0とTN1によって構成されている一致検出回路11は、第1または第2の実施形態の一致検出回路11と同じ構成を有し、また、トランジスタTN2とTN3によって構成されている一致検出回路12も、第1または第2の実施形態の一致検出回路12と同じ構成を有している。
【0081】
本実施形態において、パルス生成回路10Cでは、ノードN2と電源電圧VCCが供給される電源線との間に、トランジスタTP1,TP2,TP3,TP4及びTP5が設けられている。図4に示すように、トランジスタTP1とTP2がノードN2とN7との間で並列に接続され、また、トランジスタTP3とTP4がノードN7とN8との間で並列に接続されている。トランジスタTP5はノードN8と電源線との間に接続されている。
【0082】
トランジスタTP1のゲートは、一致検出回路11にあるトランジスタTN0のゲートとともに、インバータIV6の出力端子に接続されている。トランジスタTP2のゲートは、一致検出回路11にあるトランジスタTN1のゲートとともに、ラッチ回路20のノードN5に接続されている。
トランジスタTP3のゲートは、一致検出回路12にあるトランジスタTN2のゲートとともに、インバータIV5の出力端子に接続されている。トランジスタTP4のゲートは、一致検出回路12にあるトランジスタTN3のゲートとともに、ラッチ回路20のノードN6に接続されている。
トランジスタTP5のゲートは、トランジスタTN4のゲートとともに、インバータIV7の出力端子に接続されている。
【0083】
上述した以外の部分において、例えば、インバータIV0,IV1,IV6,IV7、トランジスタTP0、及びNANDゲートND1の接続は、上述した第1または第2の実施形態と同じである。
【0084】
即ち、本実施形態のフリップフロップ回路において、パルス生成回路10Cには、第1の実施形態にあるパルス生成回路10Aに較べて、トランジスタTP1,TP2,TP3,TP4及びTP5が追加された。これらのトランジスタを追加することによって、電源投入時に、ノードN2が中間電位になることを防止し、それによってインバータIV7に発生する貫通電流を防止する。
【0085】
以下、電源投入時におけるパルス生成回路10Cの動作について説明する。
電源投入時にクロック信号CKがローレベルの場合、これに応じてインバータIV1の出力端子もローレベルになり、トランジスタTP0が導通するので、ノードN2が電源電圧VCCレベルにプリチャージされる。即ち、電源投入時にクロック信号CKがローレベルの場合、フリップフロップ回路は問題なく立ち上がる。
【0086】
しかし、電源投入時にクロック信号CKがハイレベルのとき、トランジスタTP0が遮断し、ノードN2がプリチャージされない。以下、フリップフロップ回路の入力データと保持データが一致する場合と一致しない場合のそれぞれについてパルス生成回路10Cの動作を説明する。
【0087】
フリップフロップ回路の入力データと保持データが一致する場合、パルス生成回路10Cの一致検出回路11または12の何れかにより、入力データと保持データが一致することが検出される。例えば、入力データと保持データがともに1の場合、一致検出回路11において、トランジスタTN0とTN1のゲートにともにハイレベルの信号が印加される。また、トランジスタTP1とTP2のゲートにもハイレベルの信号が印加される。このため、トランジスタTN0とTN1が導通し、トランジスタTP1とTP2が遮断する。また、クロック信号CKがハイレベルにあるので、トランジスタTN5のゲートにもハイレベルの信号が印加されるので、トランジスタTN0、TN1及びTN5が導通し、ノードN2がディスチャージされ、接地電位GNDに保持される。
【0088】
また、入力データと保持データがともに0のとき、一致検出回路12において、トランジスタTN2とTN3のゲートにともにハイレベルの信号が印加され、また、トランジスタTP3とTP4のゲートにもハイレベルの信号が印加される。このため、トランジスタTN2,TN3及びTN5が導通し、トランジスタTP3とTP4が遮断するので、ノードN2がディスチャージされ、接地電位GNDに保持される。
【0089】
次に、電源投入時にフリップフロップ回路の入力データと保持データが一致しない場合、パルス生成回路10Cの動作について説明する。
入力データと保持データが一致しない場合、一致検出回路11または12において、2つのトランジスタの一方のゲートがハイレベルの信号、他方のトランジスタのゲートにローレベルの信号がそれぞれ印加される。このため、一致検出回路11と12がともに遮断する状態にあり、一方、トランジスタTP1とTP2、及びトランジスタTP3とTP4からなる2組のトランジスタにおいて、何れか一方が導通状態にあるので、このとき、トランジスタTP5、TN4、TN5及びインバータIV7によって、正帰還回路が形成される。
【0090】
当該正帰還回路において、ノードN2の電位がインバータIV7の論理しきい値電圧よりわずかにずれると、正帰還動作により、ノードN2の電位が電源電圧VCCまたは接地電位GNDのどちらかに急速に収束する。例えば、ノードN2の電位がインバータIV7の論理しきい値電圧よりわずかに高くなると、インバータIV7の出力電圧が低下する。これに応じて、トランジスタTP5が導通し、トランジスタTN4が遮断する方向に状態が遷移する。このため、電源電圧VCCとノードN2の間に電流経路が形成され、これによってノードN2がプリチャージされ、そのレベルが急速に上昇し、ほぼ電源電圧VCCに達するところで安定する。
【0091】
逆に、ノードN2の電位がインバータIV7の論理しきい値電圧よりわずかに低くなると、インバータIV7の出力電圧が上昇する。これに応じて、トランジスタTP5が遮断し、トランジスタTN4が導通する方向に状態が遷移する。このため、ノードN2と接地電位GNDとの間に電流経路が形成され、これによってノードN2がディスチャージされ、そのレベルが急速に低下し、ほぼ接地電位GNDに達するところで安定する。
【0092】
即ち、上述のように、電源投入時に、クロック信号CKがローレベルの場合、ノードN2がハイレベルにプリチャージされ、逆に、クロック信号CKがハイレベルの場合、フリップフロップ回路の入力データと保持データとが一致するとき、パルス生成回路10Cにおいて一致検出回路11または12の何れかにより、データが一致することが検出され、これに応じて、ノードN2がディスチャージされ、ほぼ接地電位GNDに保持される。一方、入力データと保持データとが一致しないとき、トランジスタTP5、TN4、TN5及びインバータIV7により正帰還回路が形成され、当該正帰還回路により、ノードN2がハイレベルまたはローレベルに何れかに保持される。このように、電源投入時のクロック信号CKのレベルに関係なく、また、入力データと保持データの状態に関わらず、ノードN2がハイレベルまたはローレベルの何れかに保持され、中間電位になることが回避され、これによるインバータIV7の貫通電流の発生を防止できる。
【0093】
上述した立ち上がり動作を経て、ノードN2の電位がハイレベルまたはローレベルに確定される。そして、電源投入後、パルス発生回路10Cによってクロック信号CKのレベルの遷移に従って、負のパルス信号S1が生成される。これに従って、フリップフロップ回路は、データの取り込みと保持動作を行う。
なお、本実施形態のフリップフロップ回路におけるデータ取り込みと保持の動作は、上述した第1または第2の実施形態の動作とほぼ同じであるので、以下、本実施形態のデータ取り込みと保持動作について簡単に説明する。
【0094】
クロック信号CKがローレベルにあるとき、トランジスタTP0が導通し、これに応じて、ノードN2がハイレベルにプリチャージされる。このとき、NANDゲートND1からハイレベルのパルス信号S1が出力され、これに応じてトランスファゲートTG1が遮断し、トランスファゲートTG0が導通するので、ラッチ回路20において、帰還ループが形成され、これによりフリップフロップ回路の記憶データが保持される。
【0095】
クロック信号CKがローレベルからハイレベルに立ち上がると、NANDゲートND1から出力されるパルス信号S1がハイレベルからローレベルに切り替わる。これに応じて、トランスファゲートTG1が導通し、トランスファゲートTG0が遮断する。このため、ノードN4がノードN1と同じレベルに制御される。即ち、クロック信号CKの立ち上がりエッジに従って、入力データDがフリップフロップ回路に取り込まれる。
【0096】
ここで、入力データと保持データが一致するときと一致しないときにおいて、パルス生成回路10Cの動作が異なる。以下、それぞれの場合について説明する。
【0097】
まず、入力データと保持データが一致しない場合の動作を説明する。
例えば、入力データDが1、保持データが0のとき、即ち、入力データDに応じてノードN1がローレベルに保持され、一方、ノードN4がラッチ回路20によりハイレベルに保持されている。クロック信号CKの立ち上がりエッジに従って負のパルス信号S1が出力され、これに応じてトランスファゲートTG1が導通することにより、ノードN4がノードN1と同じくローレベルに保持される。逆に、入力データDが0、保持データが1のとき、即ちノードN1がハイレベルに保持される。そして、負のパルス信号S1に応じてトランスファゲートTG1が導通することによって、ノードN4がノードN1と同じくハイレベルに保持される。
【0098】
上述したように、トランスファゲートTG1が導通することによって、入力データDがフリップフロップ回路に取り込まれる。即ち、フリップフロップ回路の保持データが入力データと一致するようになる。これに伴って、一致検出回路11または12の何れかにより、データが一致することが検出される。例えば、入力データが1、保持データも1になると、一致検出回路11において、トランジスタTN0とTN1のゲートにともにハイレベルの信号が印加される。逆に、入力データが0、保持データも0になると、一致検出回路12において、トランジスタTN2とTN3のゲートにともにハイレベルの信号が印加される。
【0099】
このように、保持データと入力データが一致すると、一致検出回路11または12の何れかにより、データの一致が検出される。また、このとき、クロック信号CKがハイレベルにあるため、トランジスタTN5が導通するので、ノードN2と接地電位GND間に電流経路が形成され、ノードN2がディスチャージされ、ローレベルになる。これに従って、NANDゲートND1から出力されるパルス信号S1がハイレベルになり、トランスファゲートTG1が遮断し、トランスファゲートTG0が導通するので、ラッチ回路20において帰還ループが形成され、取り込まれたデータがラッチ回路20により保持される。
【0100】
一方、フリップフロップ回路の入力データと保持データが一致している場合、パルス生成回路10Cによって、負のパルス信号S1が生成される。これに応じてトランスファゲートTG1が導通しても、フリップフロップ回路の保持データが変化せず、そして、負のパルスが終了後、ラッチ回路20によって記憶データが保持される。
【0101】
以上説明したように、本実施形態によれば、パルス生成回路10Cにおいて、電源投入時にノードN2のレベルを確定させるために、ノードN2と電源線との間に並列接続のトランジスタTP1とTP2、並列接続のトランジスタTP3とTP4、そしてトランジスタTP5が縦続接続されている。電源投入時にクロック信号CKがハイレベルの場合において、入力データと保持データが一致していると、一致検出回路11または12により、データの一致が検出されるので、ノードN2がディスチャージされ、ローレベルになる。またこの場合において、入力データと保持データが一致していないと、並列接続のトランジスタTP1またはTP2の一方、ならびにトランジスタTP3またはTP4の一方がそれぞれ導通し、トランジスタTN4,TN5,TP5とインバータIV7によって正帰還回路が形成されるので、ノードN2の電位が電源電圧VCCまたは接地電位GNDの何れかに収束する。これにより、フリップフロップ回路の立ち上がり時の動作の安定性が改善され、ノードN2が中間電位になってインバータIV7に貫通電流が流れるのを防止でき、電源回路の過負荷を解消できる。
【0102】
【発明の効果】
以上説明したように、本発明のフリップフロップ回路によれば、データの取り込みとデータ保持の動作を制御するパルス信号が、入力データと記憶データとの比較結果に応じて制御され、これにより、動作環境の変化に応じて、パルス信号の幅が適宜制御されるため、動作環境の変化による影響を防止でき、広範な動作条件において安定した動作を実現できる利点がある。
また、本発明のフリップフロップ回路によれば、電源投入時のクロック信号のレベルに依存することなく、パルス信号を生成するための内部信号ノードの電圧レベルを電源電圧レベルまたは接地電位レベルの何れかに近づけるように制御できるため、信号ノードが中間電圧になることを防止でき、それによってインバータなどの論理回路に貫通電流が流れることを回避できる。これにより、電源投入時に貫通電流による大電流が発生することを防止でき、フリップフロップ回路の動作の安定性を改善できる。
【図面の簡単な説明】
【図1】本発明に係るフリップフロップ回路の第1の実施形態を示す回路図である。
【図2】第1の実施形態のフリップフロップ回路の動作を示す波形図である。
【図3】本発明に係るフリップフロップ回路の第2の実施形態を示す回路図である。
【図4】本発明に係るフリップフロップ回路の第3の実施形態を示す回路図である。
【図5】従来のフリップフロップ回路の一構成例を示す回路図である。
【符号の説明】
10,10A,10B,10C…パルス生成回路、20…ラッチ回路、TG0,TG1…トランスファゲート、ND1…NANDゲート、TN0,TN1,…,TN5…nMOSトランジスタ、TP0,TP1,…,TP5…pMOSトランジスタ、IV0,IV1,…,IV7…インバータ、VCC…電源電圧、GND…接地電位。
Claims (6)
- クロック信号に応じて生成されるパルス信号により制御され、上記パルス信号が第1のレベルに保持されているとき遮断し、第2のレベルに保持されているとき導通して入力データを内部記憶ノードに出力するデータ転送ゲートと、
上記パルス信号が上記第1のレベルに保持されているとき保持動作を行い、上記内部記憶ノードの記憶データを保持するデータ保持回路と、
上記クロック信号が第1のクロックレベルにあるとき、第1の信号ノードを電源電圧にプリチャージし、上記クロック信号が第2のクロックレベルにあるとき遮断する第1のスイッチング手段と、上記入力データと上記内部記憶ノードの記憶データとを比較し、当該比較の結果、上記入力データと上記記憶データとが一致するとき、上記第1の信号ノードを共通電位にディスチャージする一致検出手段とを有し、上記クロック信号と上記第1の信号ノードの電位に応じて、上記パルス信号を生成するパルス生成回路と
を有するフリップフロップ回路。 - 上記パルス生成回路は、
電源電圧が供給される電源線と上記第1の信号ノードとの間に接続され、上記クロック信号に応じた遅延信号によって導通または遮断する第1のスイッチング素子と、
第2の信号ノードと共通電位線との間に接続され、上記遅延信号に応じて導通または遮断する第2のスイッチング素子と、
上記第1の信号ノードと上記第2の信号ノードとの間に設けられ、上記入力データと上記記憶データが一致するとき、上記第1の信号ノードと上記第2の信号ノードとの間を導通させる上記一致検出手段と、
上記第1の信号ノードの信号と上記クロック信号との論理演算を行い、その結果に応じて上記パルス信号を出力する論理回路と
を有し、
上記クロック信号が上記第1のクロックレベルにあるとき、上記第1のスイッチング素子が導通し、上記第1の信号ノードが上記第1のレベルにプリチャージされ、 上記クロック信号が上記第1のクロックレベルから上記第2のクロックレベルに切り替わったとき、上記第1のスイッチング素子が遮断し、上記一致検出手段において、上記記憶データと上記入力データとが一致することが検出したとき、上記第1と第2の信号ノードが導通し、上記第1の信号ノードが上記共通電位にディスチャージされる
請求項1記載のフリップフロップ回路。 - 上記第1と第2の信号ノード間に接続され、上記第1の信号ノードが上記第1のレベルにあるとき遮断し、上記第1の信号ノードが上記第2のレベルにあるとき導通する第2のスイッチング素子
をさらに有する請求項2記載のフリップフロップ回路。 - 上記電源線と上記第1の信号ノードとの間に接続ているpMOSトランジスタを有し、
上記pMOSトランジスタは、他のトランジスタより抵抗値が大きく設定され、上記第1の信号ノードの論理反転信号に応じて導通または遮断する
請求項2記載のフリップフロップ回路。 - 上記電源線と第3の信号ノードとの間に設けられ、上記第1の信号ノードの論理反転信号に応じて導通または遮断するpMOSトランジスタと、
上記第3の信号ノードと上記第1の信号ノードとの間に設けられ、上記入力データと上記記憶データとが一致するとき遮断し、上記入力データと上記記憶データとが一致しないとき導通する第3のスイッチング素子と
をさらに有する請求項2記載のフリップフロップ回路。 - 上記第3のスイッチング素子は、上記第1の信号ノードと第4の信号ノード間に並列接続され、上記入力データと記憶データに応じた信号によってそれぞれ導通または遮断する2つのpMOSトランジスタと、
上記第4の信号ノードと上記第3の信号ノードとの間に並列に接続され、上記入力データと記憶データのそれぞれの反転データに応じた信号によってそれぞれ導通または遮断する2つのpMOSトランジスタと
を有する請求項5記載のフリップフロップ回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003139609A JP2004343570A (ja) | 2003-05-16 | 2003-05-16 | フリップフロップ回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003139609A JP2004343570A (ja) | 2003-05-16 | 2003-05-16 | フリップフロップ回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004343570A true JP2004343570A (ja) | 2004-12-02 |
Family
ID=33528631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003139609A Pending JP2004343570A (ja) | 2003-05-16 | 2003-05-16 | フリップフロップ回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004343570A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100613458B1 (ko) | 2005-03-29 | 2006-08-17 | 주식회사 하이닉스반도체 | 플립플롭 |
KR100706837B1 (ko) | 2006-06-08 | 2007-04-13 | 주식회사 하이닉스반도체 | 플립플롭 회로 |
EP2636146A2 (en) * | 2010-11-05 | 2013-09-11 | Qualcomm Incorporated(1/3) | Latch circuits with synchronous data loading and self-timed asynchronous data capture |
JP2015012424A (ja) * | 2013-06-28 | 2015-01-19 | パナソニック株式会社 | ラッチ及びフリップフロップ |
US9160317B2 (en) | 2013-03-15 | 2015-10-13 | Samsung Electronics Co., Ltd. | Semiconductor circuit and method of operating the same |
-
2003
- 2003-05-16 JP JP2003139609A patent/JP2004343570A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100613458B1 (ko) | 2005-03-29 | 2006-08-17 | 주식회사 하이닉스반도체 | 플립플롭 |
KR100706837B1 (ko) | 2006-06-08 | 2007-04-13 | 주식회사 하이닉스반도체 | 플립플롭 회로 |
EP2636146A2 (en) * | 2010-11-05 | 2013-09-11 | Qualcomm Incorporated(1/3) | Latch circuits with synchronous data loading and self-timed asynchronous data capture |
JP2013545406A (ja) * | 2010-11-05 | 2013-12-19 | クアルコム,インコーポレイテッド | 同期したデータロードと自己タイミングの非同期のデータキャプチャとを伴うラッチ回路 |
JP2015109700A (ja) * | 2010-11-05 | 2015-06-11 | クアルコム,インコーポレイテッド | 同期したデータロードと自己タイミングの非同期のデータキャプチャとを伴うラッチ回路 |
US9160317B2 (en) | 2013-03-15 | 2015-10-13 | Samsung Electronics Co., Ltd. | Semiconductor circuit and method of operating the same |
JP2015012424A (ja) * | 2013-06-28 | 2015-01-19 | パナソニック株式会社 | ラッチ及びフリップフロップ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5917355A (en) | Edge-triggered staticized dynamic flip-flop with conditional shut-off mechanism | |
US5898330A (en) | Edge-triggered staticized dynamic flip-flop with scan circuitry | |
US6023179A (en) | Method of implementing a scan flip-flop using an edge-triggered staticized dynamic flip-flop | |
JP3723075B2 (ja) | ドミノ論理ゲートを選択的にラッチする回路 | |
KR101074424B1 (ko) | 고속 저전력 클록 게이티드 로직 회로 | |
US8552793B2 (en) | Semiconductor device | |
JP3980431B2 (ja) | バッファ回路とバッファツリー及び半導体装置 | |
US6791365B2 (en) | Dynamic logic circuits using transistors having differing threshold voltages and delayed low threshold voltage leakage protection | |
JP2007043666A (ja) | 半導体集積回路装置 | |
JP4138521B2 (ja) | 半導体装置 | |
EP0713293A2 (en) | Reset generation circuit to reset self resetting CMOS circuits | |
US7595665B2 (en) | Clock gated circuit | |
US6646474B2 (en) | Clocked pass transistor and complementary pass transistor logic circuits | |
US6717442B2 (en) | Dynamic to static converter with noise suppression | |
US6242952B1 (en) | Inverting hold time latch circuits, systems, and methods | |
US7528630B2 (en) | High speed flip-flop | |
US6275069B1 (en) | Self-resetting logic circuits and method of operation thereof | |
JP5937241B2 (ja) | 同期したデータロードと自己タイミングの非同期のデータキャプチャとを伴うラッチ回路 | |
JP2004343570A (ja) | フリップフロップ回路 | |
US7164293B2 (en) | Dynamic latch having integral logic function and method therefor | |
KR20020013452A (ko) | 퓨즈 링크용의 온-칩 트림 링크 감지 및 래치 회로 | |
US6542006B1 (en) | Reset first latching mechanism for pulsed circuit topologies | |
US6980481B1 (en) | Address transition detect control circuit for self timed asynchronous memories | |
JP2004208108A (ja) | 集積回路 | |
US10566959B1 (en) | Sense amplifier flip-flop and method for fixing setup time violations in an integrated circuit |