説明

シフトレジスタ

【課題】十分なソフトエラー耐性を確保すると共に、シフトレジスタ全体として回路面積を削減することができ、クロック間でレーシングが生じることを防止する。
【解決手段】第1のマスターラッチ及びスレーブラッチを有すると共に、マスタークロック及びスレーブクロックを伝送するための第1及び第2の伝送路とを有する第1のフリップフロップが、複数縦続接続されて構成された第1のフリップフロップ群と、小さいトランジスタサイズで構成された第2のマスターラッチ及びスレーブラッチを有すると共に、第1の伝送路に接続された第3の伝送路と、第2の伝送路に接続された第4の伝送路とを有する第2のフリップフロップが、複数縦続接続されて構成された第2のフリップフロップ群と、第2のフリップフロップに保持されたデータを第1のフリップフロップの第1のマスターラッチ又はスレーブラッチに転送する転送部とを具備したことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マスター・スレーブ型の複数のフリップフロップを縦続接続して構成されるシフトレジスタに関する。
【背景技術】
【0002】
シフトレジスタは、複数のフリップフロップを縦続接続して構成することができる。各フリップフロップとしては、例えば、マスターラッチとスレーブラッチを縦続接続して構成したマスター・スレーブ型フリップフロップを採用することができる。マスターラッチとスレーブラッチとは相互に同一構成であり、夫々マスタークロック及びスレーブクロックによってデータを取り込んで保持する。各フリップフロップは、これらのクロックに同期してデータを次段のフリップフロップに出力すると共に、伝送されたデータを保持する。
【0003】
このようなシフトレジスタとしては、例えば、特許文献1に提案されたもの等がある。なお、フリップフロップ中の伝送されたデータを保持するデータラッチ部は、複数のゲート回路を組み合わせることで構成することができる。
【0004】
近年、半導体デバイスを構成するトランジスタの微細化に伴って、宇宙線及び放射線等によってデータが消去されてしまうソフトエラー耐性が問題となってきている。ソフトエラーに対する耐性を確保するために、各フリップフロップのデータラッチ部を構成するトランジスタとしては、十分なトランジスタサイズ(チャネル長(以下、L)及びチャネル幅(以下、W))のものを用いる必要がある。
【0005】
このため、従来のシフトレジスタは、トランジスタを最小寸法で形成することができず、回路面積が大きくなってしまうという問題があった。
【特許文献1】特開平03−192600号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、十分なソフトエラー耐性を得ると共に、回路面積を縮小することができるシフトレジスタを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様のシフトレジスタは、第1のトランジスタサイズのトランジスタによって構成された第1のマスターラッチ及び第1のスレーブラッチを有すると共に、前記第1のマスターラッチに供給するマスタークロックを伝送するための第1の伝送路と、前記第1のスレーブラッチに供給するスレーブクロックを伝送するための第2の伝送路とを有する第1のフリップフロップが、複数縦続接続されて構成された第1のフリップフロップ群と、前記第1のトランジスタサイズよりも小さいサイズのトランジスタによって構成された第2のマスターラッチ及び第2のスレーブラッチを有すると共に、前記第2のマスターラッチに供給するマスタークロックを伝送するために前記第1の伝送路に接続された第3の伝送路と、前記第2のスレーブラッチに供給するスレーブクロックを伝送するために前記第2の伝送路に接続された第4の伝送路とを有する第2のフリップフロップが、複数縦続接続されて構成された第2のフリップフロップ群と、前記第2のフリップフロップ群の前記第2のフリップフロップに保持されたデータを前記第1のフリップフロップ群の前記第1のフリップフロップの前記第1のマスターラッチ又は第1のスレーブラッチに転送する転送部とを具備したことを特徴とする。
【発明の効果】
【0008】
本発明によれば、十分なソフトエラー耐性を得ると共に、回路面積を縮小することができるという効果を有する。
【発明を実施するための最良の形態】
【0009】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は本発明の第1の実施の形態に係るシフトレジスタを示す回路図である。
【0010】
本実施の形態は、マスター・スレーブ型フリップフロップを縦続接続して構成したシフトレジスタについてのものである。マスター・スレーブ型フリップフロップにおいては、マスターラッチとスレーブラッチを縦続接続し、夫々マスタークロック及びスレーブクロックによってデータを取り込んで保持する構成である。
【0011】
図2は一般的なマスター・スレーブ型フリップフロップの具体的な構成の一例を示す回路図である。
【0012】
マスターラッチMは、クロックドインバータIa,Ib、インバータIc及びナンド回路NAによって構成されている。入力端子INaに入力されたデータはクロックドインバータIaに供給される。入力端子INbにはマスタークロックMCLKが入力される。マスタークロックMCLKは、バッファBを介してクロックドインバータIaの一方制御端及びクロックドインバータIbの他方制御端に与えられる。また、マスタークロックMCLKは、インバータIcによって反転された後、クロックドインバータIaの他方制御端及びクロックドインバータIbの一方制御端に与えられる。
【0013】
クロックドインバータIaは、マスタークロックMCLKがハイレベル(以下、Hレベルという)の場合にオンとなって、入力されたデータを反転させてナンド回路NAの一方入力端に供給すると共に、マスタークロックMCLKがローレベル(以下、Lレベルという)の場合にはオフとなって、入力データを出力しない。また、クロックドインバータIbは、マスタークロックMCLKがLレベルの場合にオンとなって、ナンド回路NAの出力を反転させてナンド回路NAの一方入力端に供給すると共に、マスタークロックMCLKがHレベルの場合にはオフとなって、ナンド回路NAの出力を出力しない。ナンド回路NAの他方入力端には、入力端子INcからリセット信号Resetが与えられる。
【0014】
通常動作時には、リセット信号ResetはHレベルである。マスタークロックMCLKがHレベルになると、入力端子INaからのデータは反転してナンド回路NAに供給される。従って、入力データがHレベルならばナンド回路NAの出力はHレベルであり、入力データがLレベルならばナンド回路NAの出力はLレベルである。即ち、マスタークロックMCLKがHレベルとなることで、入力データの取込みが行われる。
【0015】
マスタークロックMCLKがLレベルになると、ナンド回路NAの出力はクロックドインバータIbによって反転されてナンド回路NAの一方入力端に与えられる。従って、ナンド回路NAの出力データがHレベルならばナンド回路NAからはHレベルの出力が継続され、ナンド回路NAの出力データがLレベルならばナンド回路NAからはLレベルの出力が継続される。即ち、マスタークロックMCLKがLレベルとなることで、データが保持される。ナンド回路NAの出力がマスターラッチMの出力としてスレーブラッチSに供給される。
【0016】
スレーブラッチSは、マスターラッチMと同一構成であり、クロックドインバータia〜ib、インバータic及びナンド回路naによって構成されている。スレーブクロックSCLKは、バッファbを介してクロックドインバータiaの一方制御端及びクロックドインバータibの他方制御端に与えられる。また、スレーブクロックSCLKは、インバータicによって反転された後、クロックドインバータiaの他方制御端及びクロックドインバータibの一方制御端に与えられる。
【0017】
スレーブラッチSは、入力端子inbを介して供給されるスレーブラッチSCLKがHレベルとなることで、マスターラッチからの入力データの取込みを行う。また、スレーブラッチSは、スレーブラッチSCLKがLレベルとなることで、ナンド回路naの出力データを保持する。
【0018】
このように、一般的なマスター・スレーブ型フリップフロップにおいては、マスターラッチM及びスレーブラッチSのクロックドインバータIb,ib及びナンド回路NA,naにおいて、データを記憶するデータラッチ部が構成される。シフトレジスタの各フリップフロップに保持されたデータは、最終的には出力端子Odを介して出力される。
【0019】
なお、図2のフリップフロップを用いたシフトレジスタにおいては、スレーブラッチSの出力端子oaは次段のマスターラッチMの入力端子INaに接続され、出力端子Obは次段のマスターラッチMの入力端子INbに接続され、出力端子obは、次段のスレーブラッチSの入力端子inbに接続され、出力端子ocは次段の入力端子INcに接続される。マスターラッチM及びスレーブラッチSのデータラッチ部には、同一データが保持されると共に、Hレベルのマスタークロック及びスレーブクロックが入力される毎に、次段のフリップフロップへのデータの転送が行われる。
【0020】
ところで、上述したように、ソフトエラー耐性を考慮した場合、データラッチ部のトランジスタのゲート長及びゲート幅をある程度大きくする必要がある。このため、回路面積の縮小化が困難であった。しかしながら、マスター・スレーブ型フリップフロップを用いて構成されたシフトレジスタでは、データは最終的にはマスターラッチM又はスレーブラッチSの一方に記憶されていればよく、マスターラッチMとスレーブラッチSのいずれか一方のトランジスタサイズをソフトエラー耐性を考慮して大きくし、他方を小さくすることで、回路面積を縮小することが考えられる。
【0021】
図3はこの場合の例を示している。図3では論理回路の記号の大きさとトランジスタサイズとを対応させており、記号のサイズが大きいほどトランジスタサイズが大きいことを示している。即ち、ラッチ出力を出力するマスターラッチはトランジスタサイズが大きいトランジスタによって構成したクロックドインバータIaL,IbL、インバータIcL及びナンド回路NALを有し、スレーブラッチはトランジスタサイズが小さいトランジスタによって構成したクロックドインバータiaS,ibS、インバータicS及びナンド回路naSを有する。
【0022】
図3の例では、マスターラッチのナンド回路NALの出力をラッチ出力として出力端子Odに出力している。そこで、マスターラッチのトランジスタサイズを十分に大きくすることで、ソフトエラー耐性を向上させ、スレーブラッチSのトランジスタサイズを十分に小さくすることで、回路面積を縮小することを可能にすることができる。
【0023】
ところが、図3の構成では、マスタークロックMCLKを伝送するバッファBLとスレーブクロックSCLKを伝送するバッファbSのトランジスタサイズも相互に異なってしまう。クロック伝送路中のバッファのトランジスタサイズは、供給可能な電流量、即ち、ファンアウトに影響を与える。マスタークロックMCLK及びスレーブクロックSCLKのレイアウトを含めて注意深くファンアウト調整を行ったとしても、バッファのトランジスタサイズの相違によって、マスタークロックMCLKとスレーブクロックSCLKの伝搬速度に僅かながら差が生じてしまう場合がある。特に、低電圧駆動のトランジスタでは、ファンアウト調整は極めて困難であり、マスタークロックMCLKとスレーブクロックSCLKの伝搬速度に差が生じて、レーシングが生じる。
【0024】
シフトレジスタは、フリップフロップをシリアルに接続してデータを順次転送していくが、シリアル接続の数が大きい場合には、マスタークロックMCLKとスレーブクロックSCLKの伝搬速度の差によって、クロックの一方が他方を追い越して供給されて、データが正しく転送されない虞がある。
【0025】
そこで、各クロックの伝送路をフリップフロップとは独立に設け、これらの伝送路(以下、本線という)から各フリップフロップに分線を形成して、各クロックをマスターラッチM及びスレーブラッチSに供給する方法が考えられる。この場合には、クロックの伝送路のファンアウト調整を考慮することなく、マスターラッチMとスレーブラッチSのトランジスタサイズを相互に変化させることができる。
【0026】
しかしながら、この方法では、マスタークロックMCLKとスレーブクロックSCLKの間のレーシングは起きにくいものの、各クロックとデータとの間でレーシングが生じやすいという問題が生じる。クロックとデータとの間のレーシングを抑制する方法として、本線に遅延素子を挿入する方法が考えられる。しかしながら、この方法では、遅延素子を設けるスペースが必要であり、レイアウト的に余裕の無い場合等においては、回路面積の増大を伴うという欠点がある。
【0027】
そこで、本実施の形態においては、トランジスタサイズが異なる2種類のマスター・スレーブ型フリップフロップを採用し、各フリップフロップ内にマスタークロックMCLKとスレーブクロックSCLKの伝送路を構成するバッファを設けると共に、これらのクロックの伝送路同士をトランジスタサイズを含めて対称に構成可能にすることで、十分なソフトエラー耐性を維持しつつ回路面積の削減を可能にする。
【0028】
即ち、本実施の形態におけるシフトレジスタは、図1に示すように、トランジスタサイズが大きく十分なソフトエラー耐性を有するトランジスタによって構成されたフリップフロップF1,F2,…Fnが縦続接続された主フリップフロップ群FLと、トランジスタサイズが小さく回路面積を低減したフリップフロップFn+1,Fn+2,…F2nが縦続接続された準フリップフロップ群FSとを有する。
【0029】
フリップフロップF1〜Fnは、相互に同一構成であり、トランジスタサイズが十分に大きいトランジスタによって構成されたマスターラッチM1,M2,…(以下、代表して符号M)及びスレーブラッチS1,S2,…(以下、代表して符号S)を有している。マスターラッチMは、例えば、図2のマスターラッチMと同一構成であり、十分に大きいサイズのトランジスタによって構成されている。また、スレーブラッチSも、例えば、図2のスレーブラッチSと同一構成であり、十分に大きいサイズのトランジスタによって構成されている。これにより、主フリップフロップ群FLの各フリップフロップF1,F2,…,Fnは十分なソフトエラー耐性を有する。
【0030】
また、フリップフロップFn+1〜F2nは、相互に同一構成であり、トランジスタサイズが十分に小さいトランジスタによって構成されたマスターラッチMSn+1,MSn+2,…(以下、代表して符号MS)及びスレーブラッチSSn+1,SSn+2,…(以下、代表して符号SS)を有している。マスターラッチMSは、例えば、マスターラッチMと同一構成であるが、十分に小さいサイズのトランジスタによって構成されている。また、スレーブラッチSSも、例えば、スレーブラッチSと同一構成であるが、十分に小さいサイズのトランジスタによって構成されている。これにより、準フリップフロップ群FSの各フリップフロップFn+1,Fn+2,…,F2nは回路面積が十分に小さい。
【0031】
図4は図1中の主フリップフロップ群FL中のu番目のフリップフロップFuと準フリップフロップ群FS中のn+u番目のフリップフロップFn+uの具体的な構成の一例を示す回路図である。図4において、論理回路記号のサイズの大小は記号によって示す論理回路を構成するトランジスタのサイズの大小を示している。
【0032】
図4においては、主フリップフロップ群FL中のフリップフロップのマスターラッチMuはトランジスタサイズが大きいクロックドインバータIaL,IbL、インバータIcL及びナンド回路NALによって構成され、スレーブラッチSuもトランジスタサイズが大きいクロックドインバータiaL,ibL、インバータicL及びナンド回路naLによって構成されている。一方、準フリップフロップ群FS中のフリップフロップのマスターラッチMSn+uはトランジスタサイズが小さいクロックドインバータIaS,IbS、インバータIcS及びナンド回路NASによって構成され、スレーブラッチSSuもトランジスタサイズが小さいクロックドインバータiaS,ibS、インバータicS及びナンド回路naSによって構成されている。
【0033】
図1に示すように、マスタークロックMCLKは、シリアルに接続されたバッファB1,B2,…,BSn+1,…,BS2nを介して伝送され、各バッファB1,B2,…,BSn+1,…,BS2nの出力が各マスターラッチM1,M2,…MSn+1,MSn+2,…に供給される。また、スレーブクロックSCLKは、シリアルに接続されたバッファb1,b2,…,bSn+1,…,bS2nを介して伝送され、各バッファb1,b2,…,bSn+1,…,bS2nの出力が各スレーブラッチS1,S2,…SSn+1,…,SS2nに供給される。
【0034】
主フリップフロップ群FLにマスタークロックMCLKを供給するバッファB1,B2,…Bnは、大きなトランジスタサイズで構成され、準フリップフロップ群FSにマスタークロックMCLKを供給するバッファBSn+1,BSn+2,…BS2nは、小さなトランジスタサイズで構成される。同様に、主フリップフロップ群FLにスレーブクロックSCLKを供給するバッファb1,b2,…bnは、大きなトランジスタサイズで構成され、準フリップフロップ群FSにスレーブクロックSCLKを供給するバッファbSn+1,bSn+2,…bS2nは、小さなトランジスタサイズで構成される。
【0035】
即ち、本実施の形態においては、マスタークロックMCLKの伝送路とスレーブクロックSCLKの伝送路とは、トランジスタサイズを含めて対称に構成されている。従って、マスタークロックMCLKとスレーブクロックSCLKとの間にはレーシングは存在しない。また、マスタークロックMCLKの伝送路とスレーブクロックSCLKの伝送路とは、各フリップフロップF1,F2,…に設けたバッファを介して伝送されており、各クロックとデータとの間にもレーシングは生じない。
【0036】
本実施の形態においては、マスターラッチM1,M2,…,MnのDOUT端とスレーブラッチS1,S2,…,SnのDIN端との間に、夫々トランスファゲートTa1,Ta2,…,Tan(以下、代表して符号Ta)が設けられている。更に、本実施の形態においては、準フリップフロップ群FSの各マスターラッチMS1,MS2,…,MS2nのDOUT端と主フリップフロップ群の各スレーブラッチS1,S2,…,SnのDIN端との間にも、夫々トランスファゲートTb1,Tb2,…,Tbn(以下、代表して符号Tb)が設けられている。
【0037】
トランスファゲートTaの一端とトランスファゲートTbの他端とには切換信号DTRpが供給される。また、トランスファゲートTa1,Ta2,…の他端とトランスファゲートTb1,Tb2,…の一端とには、夫々インバータI1,I2,…を介して切換信号DTRpの反転信号が供給される。これにより、切換信号DTRpのLレベル期間には、トランスファゲートTaはオンとなり、トランスファゲートTbはオフとなる。また、切換信号DTRpのHレベル期間には、トランスファゲートTaはオフとなり、トランスファゲートTbはオンとなる。
【0038】
次に、このように構成された実施の形態の動作について図5を参照して説明する。図5は第1の実施の形態における動作を説明するためのタイミングチャートであり、マスタークロックMCLK、スレーブクロックSCLK、データ及び切換信号DTRpを示している。
【0039】
図5に示すように、データのシリアル転送期間には、切換信号DTRpはLレベルである。従って、シリアル転送期間には、各フリップフロップF1,F2,…FnのトランスファゲートTaはオンであり、トランスファゲートTbはオフである。これにより、各フリップフロップF1,F2,…FnのスレーブラッチS1,S2,…,Snには、マスターラッチM1,M2,…,Mnのデータが与えられる。
【0040】
即ち、マスタークロックMCLKがHレベルになると、マスターラッチM1は入力データを取込み、マスターラッチM2,M3,…,Mn,MSn+1,…,MS2nは、前段のスレーブラッチS1,S2,…,Sn,SSn+1,…,SS2n−1のデータを取り込む。マスタークロックMCLKがLレベルになると、主フリップフロップ群FLの各マスターラッチMに取り込まれたデータは、クロックドインバータIbL及びナンド回路NALによるデータラッチ部(図4参照)によって保持され、準フリップフロップ群FSの各マスターラッチMSに取り込まれたデータは、クロックドインバータIbS及びナンド回路NASによるデータラッチ部(図4参照)によって保持される。
【0041】
次に、図5に示すように、スレーブクロックSCLKがHレベルになると、スレーブラッチS1,S2,…,Sn,SSn+1,…,SS2nは夫々マスターラッチM1,M2,…,Mn,MSn+1,…,MS2nに保持されているデータを取込む。スレーブクロックSCLKがLレベルになると、主フリップフロップ群FLの各スレーブラッチSに取り込まれたデータは、クロックドインバータibL及びナンド回路naLによるデータラッチ部によって保持され、準フリップフロップ群FSの各スレーブラッチSSに取り込まれたデータは、クロックドインバータibS及びナンド回路naSによるデータラッチ部によって保持される。
【0042】
こうして、マスタークロックMCLK及びスレーブクロックSCLKがHレベルになる毎に、データが次段のフリップフロップに転送されて、保持される。上述したように、主フリップフロップ群FLの各フリップフロップは大きなトランジスタサイズで構成されており、ソフトエラー耐性に優れている。一方、準フリップフロップ群FSの各フリップフロップは小さいトランジスタサイズで構成されており、ソフトエラー耐性に劣る。準フリップフロップ群FSの各フリップフロップにおいても、シリアル転送時の短時間のデータ保持は可能であるが、比較的長時間のデータ保持は確実ではない。
【0043】
そこで、本実施の形態においては、データが最後まで転送されてシリアル転送期間が終了すると、準フリップフロップ群FSの各フリップフロップに保持されているデータを、主フリップフロップ群FLの各フリップフロップに転送させるようになっている。各フリップフロップのマスターラッチM及びスレーブラッチSは、同一データを保持しており、ラッチ出力は、マスターラッチMとスレーブラッチSのいずれか一方から取り出せばよい。本実施の形態においては、主フリップフロップ群FLの使用しない他方のラッチに準フリップフロップ群FSの各フリップフロップに保持されているデータを転送して保持させる。
【0044】
即ち、データのシリアル転送が終了すると、切換信号DTRpがLレベルからHレベルに変化する。これにより、トランスファゲートTaはオフとなり、トランスファゲートTbがオンとなる。従って、準フリップフロップ群FSの各フリップフロップのマスターラッチMSn+1,…MS2nに保持されているデータは夫々トランスファゲートTb1,…,Tbnを介して主フリップフロップ群FLのスレーブラッチS1,…,SnのDIN端に供給される。
【0045】
ここで、図5に示すように、スレーブクロックSCLKを1回だけHレベルにする。そうすると、スレーブラッチS1,S2,…S2nは準フリップフロップ群FSのマスターラッチMS1,MS2,…MS2nに保持されているデータを取込む。スレーブクロックSCLKがLレベルになると、主フリップフロップ群FLの各スレーブラッチSに取り込まれたデータは、クロックドインバータibL及びナンド回路naLによるデータラッチ部によって保持される。こうして、準フリップフロップ群FSの各フリップフロップに取り込まれたデータは、主フリップフロップ群FLの各フリップフロップのスレーブラッチSに保持される。
【0046】
このように、シリアル転送後の全てのフリップフロップの出力がソフトエラー耐性に優れた主フリップフロップ群FLの各フリップフロップのマスターラッチM及びスレーブラッチSに保持されることになり、宇宙線等の影響に拘わらず、データの確実な保持が可能である。なお、読み出し時には、出力端Od,odからのラッチ出力を、元のデータ列に対応させて読み出す必要がある。
【0047】
このように本実施の形態においては、マスターラッチ及びスレーブラッチのいずれも十分なソフトエラー耐性を得るのに必要なトランジスタサイズで構成された主フリップフロップ群と、最小のトランジスタサイズで構成された準フリップフロップ群とを用い、データシリアル転送後に、準フリップフロップ群のラッチデータを、主フリップフロップ群のラッチ出力に使用されていないラッチに転送するようになっている。これにより、十分なソフトエラー耐性を確保すると共に、シフトレジスタ全体として回路面積を削減することができる。また、マスタークロックとスレーブクロックとを伝送する伝送路は、トランジスタサイズを含めて相互に対称に構成されており、レーシングが生じることはない。
【0048】
なお、本実施の形態においては、主フリップフロップ群FLのフリップフロップの数と準フリップフロップ群FSのフリップフロップの数を同数で構成した例について説明したが、準フリップフロップ群のフリップフロップのデータを主フリップフロップ群のフリップフロップに転送可能であればよいので、主フリップフロップ群FLのフリップフロップの数が準フリップフロップ群FSのフリップフロップの数以上であれば、同様に構成可能である。
【0049】
また、準フリップフロップ群FSのフリップフロップにラッチしたデータを主フリップフロップ群FLのフリップフロップのスレーブラッチに転送する例について説明したが、マスターラッチに転送するように構成してもよいことは明らかである。
【0050】
(第2の実施の形態)
図6は本発明の第2の実施の形態を示す回路図である。図6において図1と同一の構成要素には同一符号を付して説明を省略する。
【0051】
本実施の形態は主フリップフロップ群FLの各フリップフロップと準フリップフロップ群FSの各フリップフロップとを2個づつ入れ子に配置したものである。本実施の形態におけるシフトレジスタは、4個のフリップフロップ毎にトランスファゲートTa,Tbを設けており、トランスファゲートTa,Tbと4個のフリップフロップとの組を繰返し配置して構成される。図6においては、トランスファゲートTa,Tbと4個のフリップフロップによる1組のみを示している。
【0052】
図6の4個のフリップフロップのうち先頭及び最後のフリップフロップFn+1,Fn+4は、トランジスタサイズが大きく十分なソフトエラー耐性を有するトランジスタによって構成された主フリップフロップ群FLのフリップフロップであり、中央の2つのフリップフロップFn+2,Fn+3は、トランジスタサイズが小さく回路面積を低減した準フリップフロップ群FSのフリップフロップである。
【0053】
フリップフロップFn+1,Fn+4は、相互に同一構成であり、マスターラッチM及びスレーブラッチSを有している。マスターラッチMは、例えば、図4のマスターラッチMと同一構成であり、十分に大きいサイズのトランジスタによって構成されている。また、スレーブラッチSも、例えば、図4のスレーブラッチSと同一構成であり、十分に大きいサイズのトランジスタによって構成されている。これにより、主フリップフロップ群FLの各フリップフロップFn+1,Fn+4は十分なソフトエラー耐性を有する。
【0054】
また、フリップフロップFn+2,Fn+3は、相互に同一構成であり、マスターラッチMS及びスレーブラッチSSを有している。マスターラッチMSは、例えば、図4のマスターラッチMSと同一構成であり、十分に小さいサイズのトランジスタによって構成されている。また、スレーブラッチSSも、例えば、図4スレーブラッチSSと同一構成であり、十分に小さいサイズのトランジスタによって構成されている。これにより、準フリップフロップ群FSの各フリップフロップFn+2,Fn+3は回路面積が十分に小さい。
【0055】
フリップフロップFn+1のスレーブラッチSn+1のDOUT端の出力は、フリップフロップFn+2のマスターラッチMSn+2のDIN端に供給され、フリップフロップFn+2のスレーブラッチSSn+2のDOUT端の出力は、フリップフロップFn+3のマスターラッチMSn+3のDIN端に供給され、フリップフロップFn+3のスレーブラッチSSn+3のDOUT端の出力は、フリップフロップFn+4のマスターラッチMn+4のDIN端に供給される。
【0056】
最後のフリップフロップFn+4のスレーブラッチSn+4のDOUT端の出力は、図示しない次段のトランスファゲートTan+5を介して次段のフリップフロップFn+5のマスターラッチMn+5のDIN端に供給される。先頭のフリップフロップFn+1のマスターラッチMn+1のDIN端には、トランスファゲートTan+1又はトランスファゲートTbn+1を介してデータが供給される。トランスファゲートTan+1には、図示しない前段のフリップフロップFnのスレーブラッチSnのDOUT端の出力が与えられる。
【0057】
本実施の形態においては、中央のフリップフロップFn+2のスレーブラッチSSn+2のDOUT端の出力は、トランスファゲートTbn+1を介して先頭のフリップフロップFn+1のマスターラッチMn+1のDIN端にも供給させるようになっている。
【0058】
トランスファゲート…,Tan+1,Tan+5,…の一端とトランスファゲート…,Tbn+1,Tbn+5,…の他端とには切換信号DTRpが供給される。また、トランスファゲート…,Tan+1,Tn+5,…の他端とトランスファゲート…,Tbn+1,Tbn+5,…の一端とには、夫々インバータ…,In+1,In+5,…を介して切換信号DTRpの反転信号が供給される。これにより、切換信号DTRpのLレベル期間には、トランスファゲートTaはオンとなり、トランスファゲートTbはオフとなる。また、切換信号DTRpのHレベル期間には、トランスファゲートTaはオフとなり、トランスファゲートTbはオンとなる。
【0059】
マスタークロックMCLKは、シリアルに接続されたバッファ…,Bn+1〜Bn+4,…を介して伝送され、各バッファBn+1〜Bn+4の出力が夫々各マスターラッチMn+1,MSn+2,MSn+3,Mn+4に供給される。また、スレーブクロックSCLKは、シリアルに接続されたバッファ…,bn+1〜bn+4,…を介して伝送され、各バッファbn+1〜bn+4の出力が夫々各スレーブラッチSn+1,SSn+2,SSn+3,Sn+4に供給される。
【0060】
主フリップフロップ群FLにマスタークロックMCLKを供給するバッファBn+1,Bn+4は、大きなトランジスタサイズで構成され、準フリップフロップ群FSにマスタークロックMCLKを供給するバッファBSn+2,BSn+3は、小さなトランジスタサイズで構成される。同様に、主フリップフロップ群FLにスレーブクロックSCLKを供給するバッファbn+1,bn+4は、大きなトランジスタサイズで構成され、準フリップフロップ群FSにスレーブクロックSCLKを供給するバッファbSn+2,bSn+3は、小さなトランジスタサイズで構成される。
【0061】
即ち、本実施の形態においても、マスタークロックMCLKの伝送路とスレーブクロックSCLKの伝送路とは、トランジスタサイズを含めて対称に構成されている。従って、マスタークロックMCLKとスレーブクロックSCLKとの間にはレーシングは存在しない。また、マスタークロックMCLKの伝送路とスレーブクロックSCLKの伝送路とは、各フリップフロップFn+1,Fn+2,…に設けたバッファを介して伝送されており、各クロックとデータとの間にもレーシングは生じない。
【0062】
次に、このように構成された実施の形態の動作について図7を参照して説明する。図7は第2の実施の形態における動作を説明するためのタイミングチャートであり、マスタークロックMCLK、スレーブクロックSCLK、データ及び切換信号DTRpを示している。
【0063】
図7に示すように、データのシリアル転送期間には、切換信号DTRpはLレベルである。従って、シリアル転送期間には、トランスファゲートTaはオンであり、トランスファゲートTbはオフである。これにより、フリップフロップ…,Fn+1,Fn+5,…のマスターラッチ…,Mn+1,Mn+5,…には、前段のスレーブラッチ…,Sn,Sn+4,…のDOUT端のデータが与えられる。
【0064】
マスタークロックMCLKがHレベルになると、マスターラッチMn+1は前段のスレーブラッチSnの出力データを取込み、マスターラッチMSn+2,MSn+3,Mn+4は、前段のスレーブラッチSn+1,SSn+2,SSn+3のデータを取り込む。マスタークロックMCLKがLレベルになると、各マスターラッチMn+1,Mn+4に取り込まれたデータは、クロックドインバータIbL及びナンド回路NALによるデータラッチ部(図4参照)によって保持され、各マスターラッチMSn+2,MSn+3に取り込まれたデータは、クロックドインバータIbS及びナンド回路NASによるデータラッチ部(図4参照)によって保持される。
【0065】
次に、図7に示すように、スレーブクロックSCLKがHレベルになると、スレーブラッチSn+1,SSn+2,SSn+3,Sn+4は夫々マスターラッチMn+1,MSn+2,MSn+3,Mn+4に保持されているデータを取込む。スレーブクロックSCLKがLレベルになると、各スレーブラッチSn+1,Sn+4に取り込まれたデータは、クロックドインバータibL及びナンド回路naLによるデータラッチ部によって保持され、各スレーブラッチSSn+2,SSn+3に取り込まれたデータは、クロックドインバータibS及びナンド回路naSによるデータラッチ部によって保持される。
【0066】
こうして、マスタークロックMCLK及びスレーブクロックSCLKがHレベルになる毎に、データが次段のフリップフロップに転送されて、保持される。上述したように、主フリップフロップ群FLの各フリップフロップは大きなトランジスタサイズで構成されており、ソフトエラー耐性に優れている。一方、準フリップフロップ群FSの各フリップフロップは小さいトランジスタサイズで構成されており、ソフトエラー耐性に劣る。
【0067】
そこで、本実施の形態においても、データが最後まで転送されてシリアル転送期間が終了すると、準フリップフロップ群FSの各フリップフロップに保持されているデータを、主フリップフロップ群FLの各フリップフロップに転送させるようになっている。
【0068】
即ち、データのシリアル転送が終了すると、切換信号DTRpがLレベルからHレベルに変化する。これにより、トランスファゲートTaはオフとなり、トランスファゲートTbがオンとなる。従って、準フリップフロップ群FSのフリップフロップFn+2のスレーブラッチSSn+2に保持されているデータはトランスファゲートTbn+1を介してフリップフロップFn+1のマスターラッチMn+1のDIN端に供給される。
【0069】
ここで、図7に示すように、マスタークロックMCLKを1回だけHレベルにする。そうすると、マスターラッチMn+1,Mn+4は夫々準フリップフロップ群FSのスレーブラッチSSn+2,SSn+3に保持されているデータを取込む。マスタークロックMCLKがLレベルになると、主フリップフロップ群FLの各マスターラッチMn+1,Mn+4に取り込まれたデータは、クロックドインバータIbL及びナンド回路NALによるデータラッチ部によって保持される。こうして、準フリップフロップ群FSの各フリップフロップに取り込まれたデータは、主フリップフロップ群FLの各フリップフロップのマスターラッチMに保持される。
【0070】
このように、シリアル転送後の全てのフリップフロップの出力がソフトエラー耐性に優れた主フリップフロップ群FLの各フリップフロップに保持されることになり、宇宙線等の影響に拘わらず、データの確実な保持が可能である。なお、読み出し時には、出力端Od,od(図4参照)からのラッチ出力を、元のデータ列に対応させて読み出す必要がある。
【0071】
このように本実施の形態においては、第1の実施の形態と同様の効果を得ることができる。
【図面の簡単な説明】
【0072】
【図1】本発明の第1の実施の形態に係るシフトレジスタを示す回路図。
【図2】一般的なマスター・スレーブ型フリップフロップの具体的な構成の一例を示す回路図。
【図3】トランジスタサイズが異なることを示す回路図。
【図4】図1中の主フリップフロップ群FL中のu番目のフリップフロップFuと準フリップフロップ群FS中のn+u番目のフリップフロップFn+uの具体的な構成の一例を示す回路図。
【図5】第1の実施の形態における動作を説明するためのタイミングチャート。
【図6】本発明の第2の実施の形態を示す回路図。
【図7】第2の実施の形態における動作を説明するためのタイミングチャート。
【符号の説明】
【0073】
FL…主フリップフロップ群、FS…準フリップフロップ群、F1〜F2n…フリップフロップ、M1〜Mn,MSn+1〜MS2n…マスターラッチ、S1〜Sn,SSn+1〜SS2n…スレーブラッチ、B1〜Bn,BSn+1〜BS2n,b1〜bn,bSn+1〜bS2n…バッファ、Ta1〜Tan,Tb1〜Tbn…トランスファゲート。

【特許請求の範囲】
【請求項1】
第1のトランジスタサイズのトランジスタによって構成された第1のマスターラッチ及び第1のスレーブラッチを有すると共に、前記第1のマスターラッチに供給するマスタークロックを伝送するための第1の伝送路と、前記第1のスレーブラッチに供給するスレーブクロックを伝送するための第2の伝送路とを有する第1のフリップフロップが、複数縦続接続されて構成された第1のフリップフロップ群と、
前記第1のトランジスタサイズよりも小さいサイズのトランジスタによって構成された第2のマスターラッチ及び第2のスレーブラッチを有すると共に、前記第2のマスターラッチに供給するマスタークロックを伝送するために前記第1の伝送路に接続された第3の伝送路と、前記第2のスレーブラッチに供給するスレーブクロックを伝送するために前記第2の伝送路に接続された第4の伝送路とを有する第2のフリップフロップが、複数縦続接続されて構成された第2のフリップフロップ群と、
前記第2のフリップフロップ群の前記第2のフリップフロップに保持されたデータを前記第1のフリップフロップ群の前記第1のフリップフロップの前記第1のマスターラッチ又は第1のスレーブラッチに転送する転送部と
を具備したことを特徴とするシフトレジスタ。
【請求項2】
前記転送部は、縦続接続された前記第1及び第2のフリップフロップに対するシリアル転送処理後に、前記マスタークロック又は前記スレーブクロックによって、前記第2のフリップフロップに保持されたデータを前記第1のマスターラッチ又は第1のスレーブラッチに転送することを特徴とする請求項1に記載のシフトレジスタ。
【請求項3】
前記第1のフリップフロップ群の各フリップフロップと前記準フリップフロップの各フリップフロップとは縦続接続され、
前記転送部は、前記準フリップフロップの各フリップフロップの出力を夫々前記第1のフリップフロップ群の各フリップフロップの前記第1のマスターラッチ又は前記第1のスレーブラッチに転送することを特徴とする請求項1に記載のシフトレジスタ。
【請求項4】
前記第1のフリップフロップ群の2つのフリップフロップの間に前記準フリップフロップの2つのフリップフロップが配置され、
前記転送部は、前記準フリップフロップの2つのフリップフロップのうちの一方のフリップフロップの出力を前記第1のフリップフロップ群の2つのフリップフロップのうちの一方のフリップフロップの前記第1のマスターラッチ又は前記第1のスレーブラッチに転送することを特徴とする請求項1に記載のシフトレジスタ。
【請求項5】
前記転送部は、前記第1のマスターラッチの出力又は前記第1のスレーブラッチの出力と前記第2のフリップフロップの出力とを切換えて前記第1のスレーブラッチ又は前記第1のマスターラッチに供給する切換部を有することを特徴とする請求項1に記載のシフトレジスタ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−44803(P2010−44803A)
【公開日】平成22年2月25日(2010.2.25)
【国際特許分類】
【出願番号】特願2008−206021(P2008−206021)
【出願日】平成20年8月8日(2008.8.8)
【出願人】(000003078)株式会社東芝 (54,554)