JP3388656B2 - シフトレジスタ - Google Patents

シフトレジスタ

Info

Publication number
JP3388656B2
JP3388656B2 JP19393195A JP19393195A JP3388656B2 JP 3388656 B2 JP3388656 B2 JP 3388656B2 JP 19393195 A JP19393195 A JP 19393195A JP 19393195 A JP19393195 A JP 19393195A JP 3388656 B2 JP3388656 B2 JP 3388656B2
Authority
JP
Japan
Prior art keywords
flip
shift
flop
output
stage
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.)
Expired - Fee Related
Application number
JP19393195A
Other languages
English (en)
Other versions
JPH0945096A (ja
Inventor
弘志 木曽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP19393195A priority Critical patent/JP3388656B2/ja
Publication of JPH0945096A publication Critical patent/JPH0945096A/ja
Application granted granted Critical
Publication of JP3388656B2 publication Critical patent/JP3388656B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ローテート動作を
行うシフトレジスタに関する。
【0002】
【従来の技術】従来、シフトレジスタは、パラレルデー
タをシリアルデータに変換したり、シリアルデータをパ
ラレルデータに変換し、または、シリアルデータの遅延
などのために用いれる。
【0003】まず、エッジトリガ方式によりnビット
(nは2以上の任意の整数定数)のパラレルデータをシ
リアルデータに変換するシフトレジスタの構成例を図6
に示す。このシフトレジスタは、エッジトリガ型のn個
のフリップフロップFF1〜FFnによって構成されてい
る。これらのフリップフロップFF1〜FFnは、クロッ
ク信号CLKの立ち上がり時にシフト入力DSのデータ
を取り込むと共に、以降このデータを保持して出力Qに
出力する。また、これらのフリップフロップFF1〜F
Fnは、共通のセット信号SETを入力するセット信号
入力Aと、プリセットデータD1〜Dnをそれぞれ入力す
るプリセット入力DPとを備え、セット信号SETが高
電圧レベル(以下「Hレベル」という)の間に、プリセ
ット入力DPに入力されるプリセットデータD1〜Dnを
取り込むと共に、セット信号SETが低電圧レベル(以
下「Lレベル」という)に戻った後もこのデータを保持
して出力Qに出力する。
【0004】このシフトレジスタは、論理シフト(logi
cal shift)を行うために、初段のフリップフロップF
F1のシフト入力DSにLレベルの電源VSSを接続して
いる。また、この初段から最終段の前段までの各フリッ
プフロップFFi(iは1〜n−1の整数)の出力Q
は、後段のフリップフロップFFi+1のシフト入力DS
に順次接続されている。さらに、最終段のフリップフロ
ップFFnの出力Qは、シフトデータを出力するための
シリアル出力となる。
【0005】図7に示すように、上記シフトレジスタ
は、時刻t1にセット信号入力Aに入力するセット信号
SETをHレベルにすると共に、各プリセット入力DP
にプリセットデータD1〜Dnを入力すると、各フリップ
フロップFF1〜FFnの出力QがこれらデータD1〜Dn
に変化し、時刻t2にセット信号SETがLレベルに戻
った後もこれらの出力が保持される。そして、時刻t4
にクロック信号CLKが立ち上がると、少し遅れて各フ
リップフロップFF1〜FFnの出力Qがそれぞれのシフ
ト入力DSに入力されるデータに変化し、1ビットのシ
フト動作が行われる。即ち、初段のフリップフロップF
F1の出力Qは電源VSSのLレベルに変化し、2段目の
フリップフロップFF2の出力Qは、前段のフリップフ
ロップFF1の出力Qから時刻t4に出力されていた直前
のデータD1に変化し、以降同様にして最終段のフリッ
プフロップFFnの出力Qは前段のフリップフロップF
Fn-1の出力Qから時刻t4に出力されていた直前のデー
タDn-1に変化する。なお、図7では、例えばフリップ
フロップFF1のプリセット入力DPと出力Qをそれぞ
れ「DP1」と「Q1」というように添え字を付して表し
ている。また、以下でも同様である。
【0006】従って、最終段のフリップフロップFFn
の出力Qは、時刻t2の時点ではデータDnであり、クロ
ック信号CLKが最初に立ち上がる時刻t4の少し後に
データDn-1に変化し、以降同様にしてクロック信号C
LKのクロックごとにデータDn-2からデータD1まで順
に変化するので、プリセットデータD1〜Dnがシリアル
に出力されることになる。
【0007】また、上記シフトレジスタにローテート動
作(回転シフト,循環シフト)を行わせるには、図8に
示すように、最終段のフリップフロップFFnの出力Q
をフィードバック配線路1によって初段のフリップフロ
ップFF1のシフト入力DSに接続すればよい。この場
合、図9に示すように、時刻t4までは図7に示した動
作と同じであり、この時刻t4以降も2段目から最終段
のフリップフロップFF2〜FFnは同様に動作する。し
かし、初段のフリップフロップFF1の出力Qは、時刻
t4にクロック信号CLKが立ち上がると、最終段のフ
リップフロップFFnの出力Qの直前のデータDnに変化
する。そして、以降もこの初段のフリップフロップFF
1は、最終段のフリップフロップFFnの出力Qの直前の
データを順次取り込むので、クロック信号CLKのクロ
ックごとにプリセットデータD1〜Dnがフリップフロッ
プFF1〜FFnを循環する。
【0008】従って、図8に示すシフトレジスタは、プ
リセットデータD1〜Dnを所定ビット数だけローテート
してからシリアルに出力させたり、nクロックごとにこ
のプリセットデータD1〜Dnを繰り返し出力させること
ができる。
【0009】次に、マスタスレーブ方式によりnビット
のパラレルデータをシリアルデータに変換するシフトレ
ジスタの構成例を図10に示す。このシフトレジスタ
は、2n個のエッジトリガ型のフリップフロップFF1
〜FF2nによって構成されている。これらのフリップフ
ロップFF1〜FF2nは、図6に示したフリップフロッ
プと同じ構成であり、各段ごとに奇数番の添え字を付し
た第1のフリップフロップFF2j-1(jは1〜nの整
数)と偶数番の添え字を付した第2のフリップフロップ
FF2jがそれぞれ1個ずつ用いられる。各段の第1のフ
リップフロップFF2j-1の出力Qは、同じ段の第2のフ
リップフロップFF2jのシフト入力DSに接続されてい
る。そして、セット信号SETは、各段の第1のフリッ
プフロップFF2j-1のセット信号入力Aにのみ入力さ
れ、各段の第2のフリップフロップFF2jのセット信号
入力Aは、電源VSSのLレベルに固定されている。ま
た、プリセットデータD1〜Dnも、各段の第1のフリッ
プフロップFF2j-1のプリセット入力DPにのみ入力さ
れ、各段の第2のフリップフロップFF2jのプリセット
入力DPは開放されて不定状態となっている。従って、
プリセットデータD1〜Dnは、各段の第1のフリップフ
ロップFF2j-1にのみセットされて、第2のフリップフ
ロップFF2jはプリセット動作は行われない。さらに、
各段の第1のフリップフロップFF2j-1には、共通のク
ロック信号CLKが送られるが、第2のフリップフロッ
プFF2jには、このクロック信号CLKを反転したクロ
ック信号CLKバーが共通に送られる。
【0010】初段の第1のフリップフロップFF1のシ
フト入力DSには、論理シフトのためにLレベルの電源
VSSが接続されている。また、この初段から最終段の前
段までの各段の第2のフリップフロップFF2i(iは1
〜n−1の整数)の出力Qは、後段の第1のフリップフ
ロップFF2i+1のシフト入力DSに順次接続されてい
る。さらに、最終段の第2のフリップフロップFF2nの
出力Qは、シフトデータを出力するためのシリアル出力
となる。
【0011】図11に示すように、上記シフトレジスタ
は、時刻t1にセット信号入力Aに入力するセット信号
SETをHレベルにすると共に、各プリセット入力DP
にプリセットデータD1〜Dnを入力すると、各段の第1
のフリップフロップFF2j-1の出力QがこれらデータD
1〜Dnに変化し、時刻t2にセット信号SETがLレベ
ルに戻った後もこれらの出力が保持される。そして、時
刻t4にクロック信号CLKバーが立ち上がると、少し
遅れて各段の第2のフリップフロップFF2jの出力Qが
第1のフリップフロップFF2j-1の出力Qから出力され
るデータに変化する。即ち、初段では、第2のフリップ
フロップFF2の出力Qが第1のフリップフロップFF1
の出力Qから出力されるデータD1に変化し、2段目で
は、第2のフリップフロップFF4の出力Qが第1のフ
リップフロップFF3の出力Qから出力されるデータD2
に変化し、以降同様にして最終段の第2のフリップフロ
ップFF2nの出力Qが第1のフリップフロップFF2n-1
の出力Qから出力されるデータDnに変化する。
【0012】また、時刻t5にクロック信号CLKバー
が立ち下がりクロック信号CLKが立ち上がると、少し
遅れて各段の第1のフリップフロップFF2j-1の出力Q
がそれぞれのシフト入力DSに入力されるデータに変化
する。即ち、初段では、第1のフリップフロップFF1
の出力Qが電源VSSのLレベルに変化し、2段目では、
第1のフリップフロップFF3の出力Qが初段の第2の
フリップフロップFF2の出力Qから出力されるデータ
D1に変化し、以降同様にして最終段の第1のフリップ
フロップFF2n-1の出力Qが前段の第2のフリップフロ
ップFF2n-2の出力Qから出力されるデータDn-1に変
化する。さらに、時刻t6にクロック信号CLKバーが
再び立ち上がると、少し遅れて各段の第2のフリップフ
ロップFF2jの出力Qが第1のフリップフロップFF2j
-1の出力Qから出力されるデータに変化する。即ち、初
段では、第2のフリップフロップFF2の出力QがLレ
ベルに変化し、2段目では、第2のフリップフロップF
F4の出力Qが第1のフリップフロップFF3の出力Qか
ら出力されるデータD1に変化し、以降同様にして最終
段の第2のフリップフロップFF2nの出力Qが第1のフ
リップフロップFF2n-1の出力Qから出力されるデータ
Dn-1に変化する。
【0013】従って、最終段の第2のフリップフロップ
FF2nの出力Qは、クロック信号CLKバーが最初に立
ち上がる時刻t4の少し後にデータDnとなり、次にクロ
ック信号CLKバーが立ち上がる時刻t6の少し後にデ
ータDn-1に変化し、以降同様にしてクロック信号CL
KバーのクロックごとにデータDn-2からデータD1まで
順に変化するので、プリセットデータD1〜Dnがシリア
ルに出力されることになる。
【0014】また、上記マスタスレーブ方式のシフトレ
ジスタにローテート動作を行わせる場合にも、図12に
示すように、最終段の第2のフリップフロップFF2nの
出力Qをフィードバック配線路1によって初段の第1の
フリップフロップFF1のシフト入力DSに接続すれば
よい。この場合、図13に示すように、時刻t5までは
図11に示した動作と同じであり、この時刻t5以降も
初段の第2のフリップフロップFF2から最終段の第2
のフリップフロップFF2nまでは同様に動作する。しか
し、初段の第1のフリップフロップFF1の出力Qは、
時刻t5にクロック信号CLKが立ち上がると、少し後
に最終段の第2のフリップフロップFF2nの出力Qから
出力されるデータDnに変化する。そして、以降もこの
初段の第1のフリップフロップFF1は、最終段の第2
のフリップフロップFF2nの出力Qのデータを順次取り
込むので、クロック信号CLKのクロックごとにプリセ
ットデータD1〜DnがフリップフロップFF1〜FF2n
を循環する。
【0015】従って、図12に示すシフトレジスタも、
プリセットデータD1〜Dnを所定ビット数だけローテー
トしてからシリアルに出力させたり、nクロックごとに
このプリセットデータD1〜Dnを繰り返し出力させるこ
とができる。
【0016】
【発明が解決しようとする課題】図6に示したエッジト
リガ方式のシフトレジスタは、例えば最終段のフリップ
フロップFFnが前段のフリップフロップFFn-1から出
力されるデータをクロック信号CLKの立ち上がり時に
取り込んで出力する。そして、この前段のフリップフロ
ップFFn-1も前々段のフリップフロップFFn-2から出
力されるデータを同じクロック信号CLKの立ち上がり
時に取り込んで出力する。従って、このシフトレジスタ
が正しく安定してシフト動作を行うためには、各段のフ
リップフロップFFiがクロック信号CLKの立ち上が
りの開始時から新たなデータを出力するまでの間にある
程度の動作遅延時間を要し、かつ、前段のフリップフロ
ップFFiの動作遅延時間が経過して新たなデータが出
力される前に後段のフリップフロップFFi+1が直前の
データの取り込み動作を完全に終了していることが条件
となる。そして、このような条件を確実に満たすために
は、後段のフリップフロップFFi+1のクロック信号C
LKの立ち上がりのタイミングよりも前段のフリップフ
ロップFFiのクロック信号CLKの立ち上がりのタイ
ミングの方が少しでも遅いことが好ましい。
【0017】このため、図6のシフトレジスタでは、ク
ロック信号CLKを最終段のフリップフロップFFn側
からクロック信号配線路2を通じて各段のフリップフロ
ップFF1〜FFnに送るようにして、このクロック信号
配線路2が後段ほど短い距離で布設されるようにしてい
る。クロック信号配線路2は、抵抗や容量などが分布す
るので、ここを伝送されるパルス信号は、その伝送距離
に応じてタイミングの遅れが生じる。即ち、図14に示
すように、クロック信号配線路2の距離が最も短い最終
段のフリップフロップFFnに送られるクロック信号C
LKnに対して、前段のフリップフロップFFn-1に送ら
れるクロック信号CLKn-1は、立ち上がりのタイミン
グがわずかに遅れ、以降後段のクロック信号CLKほど
このタイミングが順次遅れて、クロック信号配線路2の
距離が最も長い初段のフリップフロップFF1に送られ
るクロック信号CLK1では、このタイミングが伝搬遅
延時間Tだけ遅れることになる。従って、各段のフリッ
プフロップFF1〜FFnは、必ず後段の方が先にデータ
の取り込み動作を開始するので、前段が出力する新たな
データを誤って取り込むことより正しいシフト動作がで
きなくなるというおそれを確実に防止することができ
る。
【0018】ところが、図8に示すシフトレジスタのロ
ーテート動作では、初段のフリップフロップFF1の前
段は最終段のフリップフロップFFnになるので、後段
のクロック信号CLK1の方が前段のクロック信号CL
Knよりもタイミングが遅れる。即ち、クロック信号C
LKnの立ち上がりによって最終段のフリップフロップ
FFnの出力が変化すると、この新たなデータがフィー
ドバック配線路1を伝わって初段のフリップフロップF
F1に送られる。しかし、この間にクロック信号CLK
もクロック信号配線路2を伝送されていてクロック信号
CLK1の立ち上がりが初段のフリップフロップFF1に
到達していない場合がある。そして、もし、フィードバ
ック配線路1上のデータの方が先に初段のフリップフロ
ップFF1に到達したとすると、このフリップフロップ
FF1が後から到達したクロック信号CLK1の立ち上が
りにより新たなデータを取り込むことになるので、最終
段のフリップフロップFFnに直前まで保持されていた
データが失われ正しいシフト動作が行えなくなる。
【0019】このため、従来のローテート動作を行うエ
ッジトリガ方式のシフトレジスタでは、初段のフリップ
フロップFF1と最終段のフリップフロップFFnとの間
で前段と後段の関係が逆転するために、最終段からフィ
ードバックするデータを取り込むタイミングが遅延し安
定したシフト動作を行うための十分なマージンを確保す
ることができない場合があるという問題が生じていた。
【0020】これに対して、図10に示すマスタスレー
ブ方式のシフトレジスタの場合には、各段の第1のフリ
ップフロップFF2j-1と第2のフリップフロップFF2j
とをクロック信号CLKとこれを反転したクロック信号
CLKバーによって1クロックの間に交互に動作させ
る。従って、例えば前段の第1のフリップフロップFF
2i-1の出力が図11に示す時刻t5の少し後に変化して
も、同じ段の第2のフリップフロップFF2iが時刻t4
の少し後から時刻t6以降まで直前のデータを保持する
ので、後段の第1のフリップフロップFF2j+1がこの直
前のデータを確実に取り込むことができる。しかも、こ
れにより図10に示すシフトレジスタは、エッジトリガ
型のフリップフロップに限らず、マスタスレーブ型のフ
リップフロップを用いることも可能となる。
【0021】このような事情は、図12に示すローテー
ト動作を行うシフトレジスタについても同様であり、例
えば最終段の第1のフリップフロップFF2n-1の出力が
図13に示す時刻t5の少し後に変化しても、この最終
段の第2のフリップフロップFF2nが時刻t4の少し後
から時刻t6以降まで直前のデータDnを保持するので、
たとえクロック信号配線路2を伝送される間にクロック
信号CLKの立ち上がりのタイミングが時刻t5から多
少遅れたとしても初段の第1のフリップフロップFF1
がこの直前のデータをフィードバック配線路1を介して
確実に取り込むことができ、動作が不安定になるような
ことはない。
【0022】しかし、このようなマスタスレーブ方式の
シフトレジスタは、各段ごとに2個ずつのフリップフロ
ップFF2j-1,FF2jが必要となり、エッジトリガ方式
のものに比べて回路構成が複雑となるため、これを組み
込む半導体集積回路のチップ占有面積が増大するという
問題が生じる。
【0023】本発明は、上記従来の問題を解決するもの
で、エッジトリガ方式のシフトレジスタにおいて、最終
段のシフト出力をマスタスレーブ方式によって初段にフ
ィードバックさせることにより、簡単な回路構成で安定
したローテート動作を行うことができるシフトレジスタ
を提供することを目的とする。
【0024】
【課題を解決するための手段】本発明のシフトレジスタ
は、複数のシフト用フリップフロップがそれぞれ前段の
シフト用フリップフロップの出力を後段のシフト用フリ
ップフロップのシフト入力に順次接続され、該各シフト
用フリップフロップが共通のクロック信号の立ち上がり
または立ち下がりのいずれかのエッジトリガにより順次
前段の出力データをシフト入力から取り込むことにより
シフト動作を行うシフトレジスタにおいて、クロック信
号における該シフト用フリップフロップとは逆のエッジ
トリガにより最終段のシフト用フリップフロップの出力
データを取り込むローテート用フリップフロップを設け
ると共に、該ローテート用フリップフロップの出力を初
段のシフト用フリップフロップのシフト入力に接続し、
そのことにより上記目的が達成される。
【0025】また、好ましくは、本発明のシフトレジス
タにおけるシフト用フリップフロップと前記ローテート
用フリップフロップがそれぞれプリセットデータをセッ
トするプリセット入力手段を備えたフリップフロップで
あり、かつ、プリセットデータの各ビットを各段の該シ
フト用フリップフロップのプリセット入力手段に送ると
共に、最終段のシフト用フリップフロップに送るプリセ
ットデータのビットを該ローテート用フリップフロップ
のプリセット入力手段にも送る配線が施される。
【0026】さらに、好ましくは、本発明のシフトレジ
スタにおける各段のシフト用フリップフロップにクロッ
ク信号を送る配線の配線路が、後段の該シフト用フリッ
プフロップほど短い距離で布設される。
【0027】さらに、好ましくは、クロック信号におけ
る本発明のシフトレジスタのシフト用フリップフロップ
と同じエッジトリガにより前記ローテート用フリップフ
ロップの出力データを取り込む出力用フリップフロップ
を介してシフトデータをシリアル出力する。
【0028】以下、その作用について説明する。
【0029】上記構成により、例えばシフト用フリップ
フロップがクロック信号の立ち上がりでシフト動作を行
うとすると、この後のクロック信号の立ち下がりでロー
テート用フリップフロップが最終段のシフト用フリップ
フロップの出力データを取り込み初段のシフト用フリッ
プフロップのシフト入力に送ることになる。そして、ク
ロック信号が再び立ち上がり各シフト用フリップフロッ
プが再度シフト動作を行う間は、ローテート用フリップ
フロップが直前の最終段のシフト用フリップフロップの
出力データを保持し出力し続ける。従って、クロック信
号のタイミングの遅れにより、この最終段のシフト用フ
リップフロップの出力データが変化した後に初段のシフ
ト用フリップフロップがシフト入力のデータを取り込ん
だとしても、確実に直前の最終段のシフト用フリップフ
ロップの出力データを入力することができる。即ち、各
段のシフト用フリップフロップは、エッジトリガ方式で
構成されるが、最終段と初段のシフト用フリップフロッ
プの間のみマスタスレーブ方式によって接続されること
になり、これによってビットデータを確実にローテート
することができる。
【0030】また、上記構成により、各段のシフト用フ
リップフロップにプリセットデータをセットする場合、
最終段のシフト用フリップフロップにセットされものと
同じビットがローテート用フリップフロップにもセット
される。例えば、各段のシフト用フリップフロップにの
みプリセットデータをセットすると、ローテート用フリ
ップフロップにはまだ最終段のシフト用フリップフロッ
プの出力データが取り込まれていないので、まずシフト
用フリップフロップとは逆のエッジトリガが生成される
ようにクロック信号を反転させてこのローテート用フリ
ップフロップに取り込み動作を行わせた後にシフト動作
を開始しなければ、最終段のシフト用フリップフロップ
にセットされたビットが失われてしまう。しかし、予め
このローテート用フリップフロップにもプリセットデー
タをセットしておけば、クロック信号が立ち上がりと立
ち下がりのいずれのエッジトリガから開始されても、常
に正しいローテート動作を行うことができる。
【0031】さらに、上記構成により、クロック信号
は、後段のシフト用フリップフロップほど短い配線路を
通じて送られるので、少なくとも後段のシフト用フリッ
プフロップのクロック信号が前段のシフト用フリップフ
ロップに送られるものよりもタイミングが遅延するおそ
れはなくなり、エッジトリガ方式の各段のシフト用フリ
ップフロップを正しく安定してシフト動作させることが
できる。また、本発明のシフトレジスタは、このように
クロック信号の伝搬遅延時間が前段ほど大きくなる場合
にも、安定してローテート動作を行わせることができ
る。
【0032】さらに、上記構成により、ローテート用フ
リップフロップまたは最終段のシフト用フリップフロッ
プの出力データが各段のシフト用フリップフロップのシ
フト動作と同時に出力用フリップフロップに取り込ま
れ、この出力用フリップフロップを介してシリアル出力
される。従って、このシリアルデータは、クロック信号
の最初のクロックにより最初のビットが出力されるよう
になり、出力のタイミングの異なるシフトレジスタを提
供することができる。
【0033】
【発明の実施の形態】以下、本発明の実施形態について
説明する。
【0034】図1〜図3は本発明の第1実施形態を示す
ものであって、図1はシフトレジスタの構成を示すブロ
ック図、図2はシフトレジスタの動作を示すタイムチャ
ート、図3はシフトレジスタの他の動作例を示すタイム
チャートである。なお、図6〜図13に示した従来例と
同様の機能を有する構成部材には同じ番号を付記する。
【0035】本実施形態は、nビットのパラレルデータ
をシリアルデータに変換するパラレル/シリアル変換回
路に用いるシフトレジスタについて説明する。このシフ
トレジスタは、エッジトリガ型のn個のシフト用フリッ
プフロップFF1〜FFn(以下単に「シフト用FF1〜
FFn」と称する)と1個のローテート用フリップフロ
ップFFn+1(以下単に「ローテート用FFn+1」と称す
る)によって構成されている。シフト用FF1〜FFnと
ローテート用FFn+1は、クロック入力CLKとシフト
入力DSと出力Qとを備え、このクロック入力CLKに
入力されるパルス信号の立ち上がり時にシフト入力DS
のデータを取り込むと共に、以降このデータを保持して
出力Qに出力する。また、これらシフト用FF1〜FFn
とローテート用FFn+1は、セット信号入力Aとプリセ
ット入力DPとを備え、このセット信号入力Aに入力さ
れるパルス信号がHレベルとなる間に、シフト入力DS
に入力されるデータや内部状態にかかわりなく、プリセ
ット入力DPに入力されるデータを取り込むと共に、パ
ルス信号がLレベルに戻った後もこのデータを保持して
出力Qに出力する。
【0036】初段から最終段の前段までの各シフト用F
Fi(iは1〜n−1の整数)の出力Qは、後段のシフ
ト用FFi+1のシフト入力DSに順次接続されている。
従って、各段のシフト用FF1〜FFnは、エッジトリガ
方式によるシフトレジスタを構成する。また、最終段の
シフト用FFnの出力Qは、ローテート用FFn+1のシフ
ト入力DSに接続されている。このローテート用FFn+
1の出力Qは、シフトデータを出力するためのシリアル
出力になると共に、フィードバック配線路1を介して初
段のシフト用FF1のシフト入力DSに接続されてい
る。
【0037】各段のシフト用FF1〜FFnのクロック入
力CLKには、共通のクロック信号CLKがクロック信
号配線路2を介して入力されるようになっている。この
クロック信号配線路2は、各段のシフト用FF1〜FFn
の並びに沿って布設され、後段側からクロック信号CL
Kを送り込むことにより、後段のシフト用FFn〜FF1
ほど短い距離でクロック信号CLKが伝搬されるように
している。従って、前段のシフト用FFiのクロック入
力CLKに入力されるクロック信号CLKは、後段のシ
フト用FFi+1よりもタイミングが早くなることがなく
なり、これによってエッジトリガ方式の各段のシフト用
FF1〜FFnが正しく安定してシフト動作することがで
きる。また、ローテート用FFn+1のクロック入力CL
Kには、このクロック信号CLKをインバータ3で反転
したクロック信号CLKバーが入力されるようになって
いる。従って、最終段のシフト用FFnの出力Qは、マ
スタスレーブ方式によってスレーブフリップフロップで
あるローテート用FFn+1を介し初段のシフト用FF1の
シフト入力DSに接続されることになる。
【0038】各段のシフト用FF1〜FFnとローテート
用FFn+1のセット信号入力Aには、共通のセット信号
SETが入力されている。また、各段のシフト用FF1
〜FFnのプリセット入力DPには、プリセットデータ
D1〜Dnの各ビットがそれぞれ入力されるようになって
いる。さらに、ローテート用FFn+1のプリセット入力
DPにも、最終段のシフト用FFnのプリセット入力D
Pに入力されるものと同じデータDnが入力されるよう
になっている。
【0039】上記構成のシフトレジスタの動作を図2に
基づいて説明する。まず時刻t1にセット信号入力Aに
入力するセット信号SETをHレベルにすると共に、各
プリセット入力DPにプリセットデータD1〜Dnを入力
すると、各シフト用FF1〜FFnの出力Qがこれらデー
タD1〜Dnに変化し、ローテート用FFn+1の出力Qも
データDnに変化して、時刻t2にセット信号SETがL
レベルに戻った後もこれらの出力が保持される。そし
て、時刻t4にクロック信号CLKが立ち上がると、少
し遅れて各シフト用FF1〜FFnの出力Qがそれぞれの
シフト入力DSに入力されるデータに変化し、1ビット
のシフト動作が行われる。即ち、2段目のシフト用FF
2の出力Qは、前段のシフト用FF1の出力Qから時刻t
4に出力されていた直前のデータD1に変化し、3段目の
シフト用FF3の出力Qは、前段のシフト用FF2の出力
Qから時刻t4に出力されていた直前のデータD2に変化
し、以降同様にして最終段のシフト用FFnの出力Q
は、前段のシフト用FFn-1の出力Qから時刻t4に出力
されていた直前のデータDn-1に変化する。また、初段
のシフト用FF1の出力Qは、ローテート用FFn+1の出
力Qから出力されているデータDnに変化する。ただ
し、この時刻t4の際には、ローテート用FFn+1は、ク
ロック入力CLKのクロック信号CLKバーが立ち下が
るだけなので、出力Qが変化しない。
【0040】次に時刻t5にクロック信号CLKバーが
立ち上がると、ローテート用FFn+1の出力Qが最終段
のシフト用FFnの出力Qから出力されているデータDn
-1に変化する。ただし、この時刻t5の際には、シフト
用FF1〜FFnは、クロック入力CLKのクロック信号
CLKが立ち下がるだけなので、出力Qは変化しない。
【0041】そして、時刻t6にクロック信号CLKが
再び立ち上がると、少し遅れて各シフト用FF1〜FFn
の出力Qがそれぞれのシフト入力DSに入力されるデー
タに変化し、再度1ビットのシフト動作が行われる。即
ち、2段目のシフト用FF2の出力Qは、前段のシフト
用FF1の出力Qから時刻t6に出力されていた直前のデ
ータDnに変化し、3段目のシフト用FF3の出力Qは、
前段のシフト用FF2の出力Qから時刻t6に出力されて
いた直前のデータD1に変化し、以降同様にして最終段
のシフト用FFnの出力Qは、前段のシフト用FFn-1の
出力Qから時刻t6に出力されていた直前のデータDn-2
に変化する。また、初段のシフト用FF1の出力Qは、
ローテート用FFn+1の出力Qから出力されているデー
タDn-1に変化する。このローテート用FFn+1の出力Q
は、この後の時刻t7にクロック信号CLKバーが立ち
上がったときに、最終段のシフト用FFnの出力Qから
出力されているデータDn-2に変化する。
【0042】従って、ローテート用FFn+1の出力Q
は、時刻t2の時点ではデータDnであり、クロック信号
CLKが最初に立ち下がる時刻t5の少し後にデータDn
-1に変化し、次に立ち下がる時刻t7の少し後にデータ
Dn-2に変化して、以降同様にクロック信号CLKのク
ロックごとにデータDn-3からデータD1まで順に変化す
るので、プリセットデータD1〜Dnがシリアルに出力さ
れることになる。
【0043】ここで、図14に示したように、クロック
信号配線路2の距離が最も長い初段のシフト用FF1に
送られるクロック信号CLK1は、この距離が最も短い
最終段のシフト用FFnに送られるクロック信号CLKn
よりも、立ち上がりのタイミングが伝搬遅延時間Tだけ
遅れる。従って、実際に初段のシフト用FF1にクロッ
ク信号CLK1の立ち上がりのタイミングが到達するの
は、図2に示す時刻t4や時刻t6よりも伝搬遅延時間T
だけ遅れるので、この初段のシフト用FF1がシフト入
力DSのデータを取り込む動作を開始する時刻も多少遅
れる。しかし、最終段のシフト用FFnの出力Qから時
刻t4や時刻t6に出力されていたデータは、これら時刻
t4や時刻t6よりもさらに十分に後の時刻t5や時刻t7
以降までローテート用FFn+1に保持されて出力Qから
出力され続ける。従って、初段のシフト用FF1は、ク
ロック信号CLK1の立ち上がりのタイミングが多少遅
れたとしても、最終段のシフト用FFnの出力Qから直
前に出力されていたデータを十分な余裕を持って確実に
取り込むことができる。なお、図14に示すように、ロ
ーテート用FFn+1に送られるクロック信号CLKn+1バ
ーは、インバータ3を通る際に遅延が生じるので、立ち
下がりのタイミングがクロック信号CLKnの立ち上が
りよりわずかに遅れるが、この遅れはここでは全く問題
にならない。
【0044】以上説明したように、クロック信号CLK
の伝搬の遅れにより最終段のシフト用FFnの出力Qが
変化した後に初段のシフト用FF1がデータを取り込む
ようになったとしても、この最終段のシフト用FFnの
出力Qの直前のデータをローテート用FFn+1が保持す
るので、初段のシフト用FF1は、正しいデータを確実
に取り込むことが可能となり、安定したローテート動作
を行うことができる。
【0045】ところで、図1のシフトレジスタでは、最
終段のシフト用FFnのプリセット入力DPに入力され
るものと同じデータDnがローテート用FFn+1のプリセ
ット入力DPにも入力されるようになっていたが、この
ローテート用FFn+1へのプリセットデータのセットを
省略した場合であっても、図3に示すような動作を行え
ば正しくシフト動作させることができる。即ち、まずク
ロック信号CLKをHレベルとした状態で、時刻t1〜
t2の間にセット信号SETをHレベルにし、次に、時
刻t3にクロック信号CLKを立ち下げてクロック信号
CLKバーを立ち上げることにより、それまで不定状態
であったローテート用FFn+1の出力Qを最終段のシフ
ト用FFnの出力Qから出力されているデータDnに変化
させる。すると、以降は図2に示した場合と同様に、プ
リセットデータD1〜Dnのシフト動作を行うことができ
る。即ち、この場合には、プリセットデータD1〜Dnの
セットとシフト動作の開始時との間に、クロック信号C
LKを1度立ち下げる操作を行えばよい。なお、図1に
示したシフトレジスタにおいてこのようなクロック信号
CLKを立ち下げる操作を行った場合にも、時刻t3に
ローテート用FFn+1の出力QがデータDnに再設定され
るだけなので、全く同じ動作を行うことができる。即
ち、図1に示したシフトレジスタのように、ローテート
用FFn+1にもプリセットデータのセットを行うように
しておけば、プリセット時のクロック信号CLKがH/
Lレベルのいずれの場合にも、このクロック信号CLK
の最初の立ち上がりからシフト動作を開始させることが
できる。
【0046】なお、上記シフトレジスタは、ローテート
用FFn+1の出力Qからシリアルデータを出力するよう
にしたが、最終段のシフト用FFnの出力Qから出力さ
せるように構成することもでき、この場合には、図6に
示した従来例と同様に、クロック信号CLKの立ち上が
りごとにシリアルデータが変化するようになる。
【0047】図4および図5は本発明の第2実施形態を
示すものであって、図4はシフトレジスタの構成を示す
ブロック図、図5はシフトレジスタの動作を示すタイム
チャートである。なお、図1〜図3に示した第1実施形
態と同様の機能を有する構成部材には同じ番号を付記し
て説明を省略する。
【0048】本実施形態のシフトレジスタは、図1に示
したローテート用FFn+1の後段に出力用フリップフロ
ップFFa(以下単に「出力用FFa」と称する)を設け
たものである。出力用FFaは、クロック入力CLKと
データ入力Dと出力Qとを備え、このクロック入力CL
Kに入力されるパルス信号の立ち上がり時にデータ入力
Dのデータを取り込むと共に、以降このデータを保持し
て出力Qに出力する。そして、ローテート用FFn+1の
出力Qが出力用FFaのデータ入力Dに接続され、この
出力用FFaの出力Qがシフトデータを出力するための
シリアル出力になる。なお、ローテート用FFn+1の出
力Qは、第1実施形態のシフトレジスタと同様に、フィ
ードバック配線路1を介して初段のシフト用FF1のシ
フト入力DSにも接続される。
【0049】上記シフトレジスタは、図5に示すよう
に、まず第1実施形態のシフトレジスタと同様に時刻t
1から時刻t2の間に各段のシフト用FF1〜FFnにプリ
セットデータD1〜Dnをセットする。そして、時刻t4
にクロック信号CLKが立ち上がると、少し遅れて各シ
フト用FF1〜FFnの出力Qが最終段のシフト用FFn
または前段のシフト用FF1〜FFn-1の出力Qから直前
に出力されたデータに変化し、1ビットのシフト動作と
ローテート動作が行われる。また、出力用FFaの出力
Qも少し遅れてローテート用FFn+1の出力Qから出力
されるデータDnに変化する。次に時刻t5にクロック信
号CLKバーが立ち上がると、ローテート用FFn+1の
出力Qが最終段のシフト用FFnの出力Qから出力され
ているデータDn-1に変化する。そして、時刻t6にクロ
ック信号CLKが再び立ち上がると、少し遅れて各シフ
ト用FF1〜FFnの出力Qが最終段のシフト用FFnま
たは前段のシフト用FF1〜FFn-1の出力Qから直前に
出力されたデータに変化し、再度1ビットのシフト動作
とローテート動作が行われる。また、出力用FFaの出
力Qも少し遅れてローテート用FFn+1の出力Qから出
力されるデータDn-1に変化する。
【0050】従って、出力用FFaの出力Qは、クロッ
ク信号CLKが最初に立ち上がる時刻t4の少し後に始
めてデータDnを出力し、次に立ち上がる時刻t6の少し
後にデータDn-1に変化して、以降同様にクロック信号
CLKのクロックごとにデータDn-2からデータD1まで
順に変化し、プリセットデータD1〜Dnがシリアルに出
力される。このため、本実施形態のシフトレジスタは、
クロック信号CLKの最初の立ち上がりからシリアルデ
ータの出力を開始したい場合に適したものとなる。 本
実施形態のシフトレジスタの場合にも、クロック信号C
LKの伝搬の遅れにより最終段のシフト用FFnの出力
Qが変化した後に初段のシフト用FF1がデータを取り
込むようになったとしても、直前の最終段のシフト用F
Fnの出力Qのデータをローテート用FFn+1が保持する
ので、この初段のシフト用FF1は、正しいデータを確
実に取り込むことが可能となり、安定したローテート動
作を行うことができる。
【0051】なお、上記実施形態では、パラレル入力/
シリアル出力のシフトレジスタについて説明したが、入
力データはシリアルに入力してもよく、出力データもパ
ラレルに出力するようにしてもよい。また、パラレル入
力の際の各段のシフト用FF1〜FFnへのプリセットデ
ータD1〜Dnのセットは、全段のシフト用FF1〜FFn
の保持データを一旦クリアして、必要な段のシフト用F
F1〜FFnのみをセットするようにして行ってもよい。
さらに、セット信号SETは、Hレベルでアクティブと
したが、Lレベルでアクティブとすることもできる。ま
た、シフト用FF1〜FFn、ローテート用FFn+1およ
び出力用FFaは、いずれもクロック入力CLKのパル
ス信号の立ち上がりで動作するフリップフロップを用い
たが、これらの全部または一部をパルス信号の立ち下が
りで動作するものに変更することもできる。
【0052】
【発明の効果】以上のように本発明のシフトレジスタに
よれば、エッジトリガ方式において、初段のシフト用フ
リップフロップのクロック信号が最終段のシフト用フリ
ップフロップに送られるものより遅延する場合にも、マ
スタスレーブ方式によりローテート用フリップフロップ
が保持する直前の最終段のシフト用フリップフロップの
出力データをこの初段のシフト用フリップフロップが取
り込むので、確実にシフトデータのローテート動作を行
うことができるようになる。
【図面の簡単な説明】
【図1】本発明の第1実施形態を示すものであって、シ
フトレジスタの構成を示すブロック図である。
【図2】本発明の第1実施形態を示すものであって、シ
フトレジスタの動作を示すタイムチャートである。
【図3】本発明の第1実施形態を示すものであって、シ
フトレジスタの他の動作例を示すタイムチャートであ
る。
【図4】本発明の第2実施形態を示すものであって、シ
フトレジスタの構成を示すブロック図である。
【図5】本発明の第2実施形態を示すものであって、シ
フトレジスタの動作を示すタイムチャートである。
【図6】従来例を示すものであって、エッジトリガ方式
のシフトレジスタの構成を示すブロック図である。
【図7】従来例を示すものであって、図6のシフトレジ
スタの動作を示すタイムチャートである。
【図8】従来例を示すものであって、ローテート動作を
行うエッジトリガ方式のシフトレジスタの構成を示すブ
ロック図である。
【図9】従来例を示すものであって、図8のシフトレジ
スタの動作を示すタイムチャートである。
【図10】従来例を示すものであって、マスタスレーブ
方式のシフトレジスタの構成を示すブロック図である。
【図11】従来例を示すものであって、図10のシフト
レジスタの動作を示すタイムチャートである。
【図12】従来例を示すものであって、ローテート動作
を行うマスタスレーブ方式のシフトレジスタの構成を示
すブロック図である。
【図13】従来例を示すものであって、図12のシフト
レジスタの動作を示すタイムチャートである。
【図14】クロック信号の伝搬遅延時間を示すタイムチ
ャートである。
【符号の説明】
1 フィードバック配線路 2 クロック信号配線路 FF1〜FFn シフト用フリップフロップ FFn+1 ローテート用フリップフロップ FFa 出力用フリップフロップ

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のシフト用フリップフロップがそれ
    ぞれ前段のシフト用フリップフロップの出力を後段のシ
    フト用フリップフロップのシフト入力に順次接続され、
    該各シフト用フリップフロップが共通のクロック信号の
    立ち上がりまたは立ち下がりのいずれかのエッジトリガ
    により順次前段の出力データをシフト入力から取り込む
    ことによりシフト動作を行うシフトレジスタにおいて、 クロック信号における該シフト用フリップフロップとは
    逆のエッジトリガにより最終段のシフト用フリップフロ
    ップの出力データを取り込むローテート用フリップフロ
    ップを設けると共に、該ローテート用フリップフロップ
    の出力を初段のシフト用フリップフロップのシフト入力
    に接続したシフトレジスタ。
  2. 【請求項2】 前記シフト用フリップフロップと前記ロ
    ーテート用フリップフロップがそれぞれプリセットデー
    タをセットするプリセット入力手段を備えたフリップフ
    ロップであり、かつ、プリセットデータの各ビットを各
    段の該シフト用フリップフロップのプリセット入力手段
    に送ると共に、最終段のシフト用フリップフロップに送
    るプリセットデータのビットを該ローテート用フリップ
    フロップのプリセット入力手段にも送る配線が施された
    請求項1記載のシフトレジスタ。
  3. 【請求項3】 前記各段のシフト用フリップフロップに
    クロック信号を送る配線の配線路が、後段の該シフト用
    フリップフロップほど短い距離で布設された請求項1ま
    たは2記載のシフトレジスタ。
  4. 【請求項4】 クロック信号における前記シフト用フリ
    ップフロップと同じエッジトリガにより前記ローテート
    用フリップフロップの出力データを取り込む出力用フリ
    ップフロップを介してシフトデータをシリアル出力する
    請求項1〜3のうちいずれかに記載のシフトレジスタ。
JP19393195A 1995-07-28 1995-07-28 シフトレジスタ Expired - Fee Related JP3388656B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19393195A JP3388656B2 (ja) 1995-07-28 1995-07-28 シフトレジスタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19393195A JP3388656B2 (ja) 1995-07-28 1995-07-28 シフトレジスタ

Publications (2)

Publication Number Publication Date
JPH0945096A JPH0945096A (ja) 1997-02-14
JP3388656B2 true JP3388656B2 (ja) 2003-03-24

Family

ID=16316132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19393195A Expired - Fee Related JP3388656B2 (ja) 1995-07-28 1995-07-28 シフトレジスタ

Country Status (1)

Country Link
JP (1) JP3388656B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4612139B2 (ja) * 2000-02-08 2011-01-12 富士通セミコンダクター株式会社 入力回路及びその入力回路を利用する半導体装置

Also Published As

Publication number Publication date
JPH0945096A (ja) 1997-02-14

Similar Documents

Publication Publication Date Title
KR100523716B1 (ko) 탑재되는 메모리 장치들의 수에 제한없는 레지스터 및이를 갖는 메모리 모듈
US20050206535A1 (en) Semiconductor device
EP1434122A2 (en) Apparatus and method for regenerating reset and clock signals and high-speed digital system incorporating the same
US7605726B2 (en) Circuit and method for data alignment
JP3433426B2 (ja) マンチェスタ符号化データをデコーディングするための方法および装置
JP4758311B2 (ja) 非同期データ保持回路
KR100498473B1 (ko) 제어신호 발생회로 및 상기 제어신호 발생회로를 구비하는데이터 전송회로
JP3461483B2 (ja) データ転送方法及び装置
US7692564B2 (en) Serial-to-parallel conversion circuit and method of designing the same
JP3415891B2 (ja) パケットデータ再生システム
JP3388656B2 (ja) シフトレジスタ
US7213090B2 (en) Data transfer apparatus for serial data transfer in system LSI
CN111211774A (zh) 除弹跳电路
JP4908056B2 (ja) 半導体装置および半導体装置のテスト実行方法
JP3669823B2 (ja) シリアル・パラレル変換回路
CN114115443A (zh) 一种跨时钟域的数据信号同步方法、系统、设备以及介质
JP3039441B2 (ja) 異クロック間同期エッジ検出方法および異クロック間同期エッジ検出方式
JP2004289540A (ja) クロック抽出回路およびクロック抽出方法
JP2003255025A (ja) 半導体集積回路
JPH077438A (ja) 直並列変換回路
KR101006843B1 (ko) 출력신호를 안정적으로 생성하는 동기화 회로
JP6737642B2 (ja) シリアルデータの受信回路、受信方法、トランシーバ回路、電子機器
JP2653945B2 (ja) 半導体集積回路
JP2000353939A (ja) クロック信号同期式フリップフロップ回路
JP3115756B2 (ja) デマルチプレクサ回路

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20021225

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

Free format text: PAYMENT UNTIL: 20080117

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090117

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100117

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees