JPH04299B2 - - Google Patents

Info

Publication number
JPH04299B2
JPH04299B2 JP59276294A JP27629484A JPH04299B2 JP H04299 B2 JPH04299 B2 JP H04299B2 JP 59276294 A JP59276294 A JP 59276294A JP 27629484 A JP27629484 A JP 27629484A JP H04299 B2 JPH04299 B2 JP H04299B2
Authority
JP
Japan
Prior art keywords
shift
data
terminal
bit
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP59276294A
Other languages
English (en)
Other versions
JPS61153899A (ja
Inventor
Tatsuo Yamada
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP59276294A priority Critical patent/JPS61153899A/ja
Priority to DE19853546006 priority patent/DE3546006A1/de
Priority to US06/814,242 priority patent/US4660217A/en
Publication of JPS61153899A publication Critical patent/JPS61153899A/ja
Publication of JPH04299B2 publication Critical patent/JPH04299B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers

Landscapes

  • Shift Register Type Memory (AREA)
  • Logic Circuits (AREA)
  • Liquid Crystal Display Device Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、任意のビツト長のデータブロツク
を任意のビツト数高速にシフトすることができ、
かつシフトされない部分のデータを保持すること
のできるシフトレジスタに関するものである。
〔従来の技術〕
第5図は従来のシフトレジスタの一構成例の概
要を示すものであり、これは並列入力,並列出力
のシフトレジスタの一例である。1は全ビツト長
lのシフトレジスタ、2はシフトレジスタ1の1
番目のセル、3〜7は同じくそれぞれ2番目のセ
ル,3番目のセル,(l−2)番目のセル,(l−
1)番目のセル,l番目のセルである。8は1番
目のセル2のデータ入力端子、9〜13は同じく
それぞれ2番目のセル3のデータ入力端子,3番
目のセル4のデータ入力端子,(l−2)番目の
セル5のデータ入力端子,(l−1)番目のセル
6のデータ入力端子,l番目のセル7のデータ入
力端子である。14は1番目のセル2のデータ出
力端子、15〜19は同じくそれぞれ2番目のセ
ル3のデータ出力端子,3番目のセル4のデータ
出力端子,(l−2)番目のセル5のデータ出力
端子,(l−1)番目のセル6のデータ出力端子,
l番目のセル7のデータ出力端子である。20は
データ入力端子8〜13よりシフトレジスタ1を
構成するセル2〜7へデータを入力するためのデ
ータ入力制御端子、21は前記セル2〜7に蓄え
られたデータをシフトするシフト制御端子、22
は前記セル2〜7に蓄えられたデータをシフトレ
ジスタ1から読み出すためのデータ出力制御端子
である。
第6図は第5図のシフトレジスタ1のセル2〜
7の具体的構成例を示し、NチヤネルMOS
FETと論理記号とを用いて示したものである。
この第6図に示したものは、単一方向のみのシフ
トを行なうシフトレジスタのセルの一例である。
図において、23はシフトレジスタ1を構成す
る1つのセル、24は第5図の端子8〜13に相
当するセル23のデータ入力端子、25は第5図
の端子14〜19に相当するセル23のデータ出
力端子である。また、26,27はそれぞれセル
23のシフト時のシフトデータ入力端子,シフト
データ出力端子であり、シフトデータ入力端子2
6には該セル23の前段のシフトデータ出力端子
よりのデータが入力され、シフトデータ出力端子
からのデータは該セル23の次段のセルのシフト
データ入力端子に入力されるようになつている。
また、このセル23が1番目のセル2として用い
られる場合には、シフトデータ入力端子26には
任意のデータが入力され、l番目のセル7として
用いられる場合には、シフトデータ出力端子は開
放される。28はシフト制御端子21に入力され
る信号を入力とするインバータ、29はインバー
タ28の出力信号であるラツチ信号である。
30〜34はNチヤネルエンハンスメント型
MOS FETによるトランスフアゲートで、トラ
ンスフアゲート30〜32のそれぞれの一端は接
続点35に接続され、トランスフアゲート33,
34のそれぞれの一端は接続点37に接続され
る。トランスフアゲート30の他の一端はデータ
入力端子24に、トランスフアゲート31の他の
一端はシフトデータ入力端子26に接続され、ト
ランスフアゲート32,33のそれぞれの他の一
端は接続点36に、トランスフアゲート34の他
の一端は接続点38に接続される。
またデータ出力端子25及びシフトデータ出力
端子27には接続点38の信号が出力される。ト
ランスフアゲート30のゲートにはデータ入力制
御端子20に入力される信号が、トランスフアゲ
ート31及び34のゲートにはシフト制御端子2
1に入力される信号が、そしてトランスフアゲー
ト32及び33のゲートにはラツチ信号29が接
続される。
39,40及び41,42はそれぞれ直列に接
続されたインバータであり、インバータ39は接
続点35の信号を入力とし、その出力はインバー
タ40の入力に接続される。インバータ40の出
力は接続点36に接続される。インバータ41は
接続点37の信号を入力とし、その出力はインバ
ータ42の入力に接続される。インバータ42の
出力は接続点38に接続される。
このように、トランスフアゲート30〜34及
びインバータ39〜42により、2入力のラツチ
型シフトレジスタのセル23が構成されている。
なお、データ入力制御端子20に入力されるデー
タ入力制御信号と、シフト制御端子21に入力さ
れるシフト制御信号及びラツチ信号29は全ての
セルにおいて共通に用いられる。
ここで、上記接続点とは以下を含め信号が電気
的に接続されることを示す。また以下の動作の説
明においては正論理を用い、論理的に正の状態を
“1”とし、論理的に非正の状態を“0”として
表わす。
次に動作について説明する。
第6図において、シフト制御端子21に入力す
る信号を“0”に保つことによりセル23はラツ
チ状態となり、シフトレジスタ1はシフト動作を
行なわない。このときデータ入力制御端子20に
入力する信号を“1”にし、データ入力端子24
よりラツチ状態を変えるに十分な駆動力にてデー
タを入力することにより、入力されたデータがセ
ル23にラツチされる。この後、データ入力制御
端子20に入力する信号を“0”にし、その後、
シフト制御端子21に“1”を入力することによ
りデータは1ビツト分だけシフトされる。
第7図は第6図におけるシフトレジスタの動き
を具体的かつ模式的に示したものであり、シフト
されるデータの動きが明確になるように簡略に示
している。第7図では6ビツトのシフトレジスタ
43の例を示しており、セルは左から右へ1番
目,…,6番目と位置している。第7図aは、6
ビツトシフトレジスタ43は左から順にA,B,
…,Fというデータがセツトされた状態を示す。
このとき、1番目のセルのシフトデータ入力端子
26には“1”の信号を入力するとする。この状
態で2ビツト右側へシフトすると、第7図bに示
す状態となる。
このように2ビツトのシフトを行なうために
は、シフト制御端子21に2回“1”を入力する
必要がある。また一般的にnビツトのシフトを行
なうにはn回のシフト制御信号を入力する必要が
あり、その場合シフト回数の制御を行なうことが
必要となる。
また、シフト動作により全セルの内容が変化す
るため、例えば第7図cに示すようなAからFの
うち、BからDまでの3ビツトを右へ1ビツトだ
け移動し、AもしくはFの状態を変化させないと
いつたことを行なうためには、各セル毎にシフト
制御信号を別々に入力しなくてはならない。いず
れにせよ、1回のシフトで1ビツトずつしかシフ
トできないため、ビツト幅の広いシフトレジスタ
では高速化しにくい。
第8図は、上述のようにnビツトのシフトにn
回のシフト制御信号を入力しなければならないと
いう点を改善したものの一例を示し、一般にバレ
ルシフタと呼ばれるものである。そしてこのバレ
ルシフタは、1回で全てのビツトを転送すること
ができる。
この第8図に示したものは、4ビツトのバレル
シフタの、NチヤネルエンハンスメントMOS
FETによる一構成例で、シフト方向は単一方向
であり、かつローテート機能は含ませていない。
また簡略に示すために、入力データのラツチ回路
や出力データのラツチ回路及びシフト制御信号に
関する制御部分は示していない。図において、4
4〜47は第1〜第4データ入力端子、48〜5
1は第1〜第4データ出力端子である。52は0
ビツトシフト制御端子、53は1ビツトシフト制
御端子、54は2ビツトシフト制御端子、55は
3ビツトシフト制御端子、56〜65はトランス
フアゲートである。
次に各トランスフアゲート56〜65と各デー
タ入力端子44〜47及び各データ出力端子48
〜51との電気的接続状態について示す。トラン
スフアゲート56は第1データ入力端子44と第
1データ出力端子48とに接続される。以下同様
に、トランスフアゲート57は端子45と49
に、トランスフアゲート58は端子46と50
に、トランスフアゲート59は端子47と51
に、トランスフアゲート60は端子44と49
に、トランスフアゲート61は端子45と50
に、トランスフアゲート62は端子46と51
に、トランスフアゲート63は端子44と50
に、トランスフアゲート64は端子45と51
に、トランスフアゲート65は端子44と51に
それぞれ接続される。
続いて各シフト制御端子52〜55と各トラン
スフアゲート56〜65のゲートとの電気的接続
状態について記す。0ビツトシフト制御端子52
はトランスフアゲート56〜59のゲートに接続
される。以下同様に、1ビツトシフト制御端子5
3はトランスフアゲート60〜62のゲートに、
2ビツトシフト制御端子54はトランスフアゲー
ト63,64のゲートに、3ビツトシフト制御端
子55はトランスフアゲート65のゲートにそれ
ぞれ接続されている。
次にこの第8図で示したバレルシフタの動作に
ついて説明する。
シフトしようとするデータ4ビツトは、各デー
タ入力端子44〜47に入力される。このとき、
各ビツトシフト制御端子52〜55には“0”を
入力しておく。次いで、例えば2ビツトシフトを
する場合には、2ビツトシフト制御端子54を
“1”にする。これにより第1データ入力端子4
4に入力されたデータはトランスフアゲート63
を通り第3データ出力端子50に出力される。ま
た第2データ入力端子45に入力されたデータは
トランスフアゲート64を通り、第4データ出力
端子51に出力される。このとき第1データ出力
端子48及び第2データ出力端子49の状態は定
まらない。
〔発明が解決しようとする問題点〕
このように、第8図に示したバレルシフタで
は、nビツトのシフトを1回のシフト制御信号の
入力で行なうことができる。しかしながらバレル
シフタのビツト数が増えるとトランスフアゲート
の数が増大し、またビツトシフト制御線の数も増
大し、小型化することが難しくなる。またデータ
の入力ライン,データの出力ライン,ビツトシフ
ト制御ライン,及びトランスフアゲートが交差す
るために同様に小型化することが難しい。更に第
7図cに示したようなシフトを行なわせるために
はトランスフアゲート数の増大やビツトシフト制
御ラインの追加が必要となり大型化する。
この発明は、以上のような点に鑑みてなされた
もので、簡単な構成で任意のデータブロツク長を
任意のビツト数高速にシフトでき、かつシフトさ
れない部分のデータを保持することのできるシフ
トレジスタを提供することを目的としている。
〔問題点を解決するための手段〕
本発明に係るシフトレジスタは、シフト開始制
御端子及びシフト禁止制御端子と、当該セル及び
それに隣接するセルの状態を示す信号と前記シフ
ト禁止制御端子からの信号とによりシフト許可信
号を発生するシフト許可制御回路と、前記シフト
開始制御端子からの信号,前記シフト許可制御回
路の出力,及び各セルの状態信号によりデータラ
ツチ部のシフト動作を行なわせるとともに、隣接
セルに当該セルの状態信号を出力するシフト制御
回路と、前記シフト禁止制御端子からの信号,及
び各セルの状態信号により前記シフト制御回路に
シフト動作終了指示信号を出力するとともに隣接
セルへシフト動作終了信号を出力するシフト終了
制御回路とを設けたものである。
〔作用〕
この発明においては、あるビツトのセルとそれ
に隣接するセルの状態を検出し、各セルの状態信
号及び外部から任意のビツトのセルに入力される
シフト禁止制御信号,シフト開始制御信号により
当該セル及び隣接セルのシフト動作を制御し、任
意の長さのデータブロツクを任意のビツト数高速
にシフトするとともに、シフトされない部分のデ
ータを保持する。
〔実施例〕
以下、本発明の実施例を図について説明する。
第1図はこの発明の一実施例によるシフトレジス
タの構成の概要を示すものである。図において、
66は全ビツト長lのシフトレジスタ、67はシ
フトレジスタ66の1番目のデータラツチ、68
は2番目のデータラツチ、69は(l−1)番目
のデータラツチ、70はl番目のデータラツチで
ある。71はシフトレジスタ66の1番目のシフ
ト制御部、72は2番目のシフト制御部、73は
(l−1)番目のシフト制御部、74はl番目の
シフト制御部である。
また、75は1番目のデータラツチ67のデー
タ入力端子、76は2番目のデータラツチ68の
データ入力端子、77は(l−1)番目のデータ
ラツチ69のデータ入力端子、78はl番目のデ
ータラツチ70のデータ入力端子である。79は
1番目のデータラツチ67のデータ出力端子、8
0は2番目のデータラツチ68のデータ出力端
子、81は(l−1)番目のデータラツチ69の
データ出力端子、82はl番目のデータラツチ7
0のデータ出力端子である。83は1番目のシフ
ト制御部71に入力されるシフト開始制御端子、
84は2番目のシフト制御部72に入力されるシ
フト開始制御端子、85は(l−1)番目のシフ
ト制御部73に入力されるシフト開始制御端子、
86はl番目のシフト制御部74に入力されるシ
フト開始制御端子である。87は1番目のシフト
制御部71に入力されるシフト禁止制御端子、8
8は2番目のシフト制御部72に入力されるシフ
ト禁止制御端子、89は(l−1)番目のシフト
制御部73に入力されるシフト禁止制御端子、9
0はl番目のシフト制御部74に入力されるシフ
ト禁止制御端子である。91はシフトレジスタ6
6にデータを入力するためのデータ入力制御端
子、92はシフトレジスタ66よりデータを出力
するためのデータ出力制御端子、93はシフトレ
ジスタ66を初期状態にするリセツト端子、94
はデータのシフト方向を定める方向制御端子であ
る。
次に第1図に示したレジスタの概略動作につい
て説明する。
まず、シフトレジスタ66はリセツト端子93
にリセツト信号が入力されると初期状態となる。
次いでデータ入力制御端子91に制御信号を入力
することにより、データ入力端子75〜78より
データラツチ67〜70にデータをラツチする。
このlビツト長のシフトレジスタ66のmビツ
ト目からnビツト目までの(m−n+1)ビツト
のデータブロツクをpビツト目までシフトしよう
とする場合、方向制御端子94によりシフト方向
を定め、mビツト目及びpビツト目のシフト禁止
制御端子を有効状態にする。次いでnビツト目
の、シフトする方向と同一方向に隣り合うビツト
のセルのシフト開始制御端子を有効にする。これ
によりシフトが開始され、そのシフトの速さはデ
ータラツチ部のデータシフト及びラツチ速度とシ
フト制御部の速度により定まる固有の速度でシフ
トされる。なおここで、1mn<pl、も
しくは1p<nmlである。
以下の説明は、前者の場合、即ち、例えば16ビ
ツトレジスタにおいて3ビツト目から7ビツト目
までを13ビツト目までシフトするような場合を考
える。
この場合、3ビツト目と13ビツト目のシフト禁
止制御端子を有効にし、8ビツト目のシフト開始
制御端子を有効にする。このようにしてシフトを
行なうと、3ビツト目から7ビツト目までのデー
タは9ビツト目から13ビツト目までにシフトさ
れ、1ビツト目,2ビツト目及び14ビツト目から
16ビツト目までのデータは変化しない。また、も
しmビツト目、即ちここでは3ビツト目のシフト
禁止制御端子を有効にしなければ、1ビツト目,
2ビツト目のデータもシフトされる。
また、m=1もしくはp=lのような場合に
は、それぞれ1ビツト目には0ビツト目に相当す
るビツトが常にシフト中ではないことを示す信号
を、またpビツト目には(p+1)ビツト目に相
当するビツトが常にシフト中ではないことを示す
信号を入力する。
次にシフト動作について詳細に説明する。
シフト動作は、まずnビツト目の(n+1)ビ
ツト目へのシフトにより開始される。(n+1)
ビツト目のシフト開始制御端子を、必要な期間有
効にすると、(n+1)番目のシフト制御部は、
n番目及び(n+2)番目のシフト制御部に対し
シフト動作を禁止させる信号を出力し、またn番
目のデータラツチより(n+1)番目のデータラ
ツチへデータをシフトする。
そして(n+1)番目のシフト制御部は、シフ
ト動作が完了したことを検出すると、両隣りに出
していたシフト動作を禁止させる信号を解除し、
また、両隣りに対してシフト動作が完了したこと
を知らせる信号を出力する。この後者の信号に対
しn番目及び(n+2)番目のシフト制御部は、
それぞれがリセツト後初めてシフト動作に入れる
条件の1つが整つたことを認識し、さらにn番目
のシフト制御部は(n−1)番目及び(n+1)
番目がシフト動作中でないことを認識し、その条
件が成立すると(n−1)番目よりのシフト動作
を開始する。同じく(n+2)番目のシフト制御
部は、(n+1)番目及び(n+3)番目がシフ
ト動作中でないことを認識し、その条件が成立す
ると(n+1)番目よりのシフト動作を開始す
る。
以下同様にシフト動作が展開され、nビツト目
のデータがpビツト目に達すると、そのpビツト
目のシフト制御部は自分自身のシフト動作が完了
した時点でpビツト目自身の以後のシフトを禁止
し、かつ(p+1)ビツト目のシフト動作を禁止
する。また、(p−1)ビツト目に、次の(p−
1)ビツト目自身のシフトが完了した時点で以後
のシフトを禁止し、さらに(p−2)ビツト目に
対し同様の信号を送れるようにする信号を入力す
る。以下同様にしてシフト動作は進行しないよう
になる。
またnビツト目のシフトが初めて1度目のシフ
トとすると、通常ならば(m−1)ビツト目がシ
フト動作に入るが、mビツト目のシフト禁止制御
端子が有効であるため、(m−1)ビツト目に対
しmビツト目がリセツト後初めてシフトしたとい
う情報を伝えない。従つて(m−1)ビツト目は
シフト動作が行なわれず、シフトされない部分の
データが保存される。
第2図は、第1図におけるデータラツチ及びシ
フト制御部の構成の概要を示すものである。第2
図において、95はデータラツチ部、96はシフ
ト制御部であり、97はデータ入力端子、98は
データ出力端子、99はデータラツチ回路であ
る。ここで、第2図の左側に隣接するビツトを前
段,右側に隣接するビツトを次段と定義する。な
お、シフト方向は前段からシフトされる場合と次
段からシフトされる場合とがあり、シフト方向に
制限はない。第2図の矢印は信号の流れる方向を
示すものであるが、2つの矢印を持つものはシフ
ト方向によりそのどちらかの矢印の方向に信号が
流れることを示す。
また、100は前段のデータラツチとの間でシ
フトされるデータが通るデータシフト端子、10
1は次段のデータラツチとの間でシフトされるデ
ータが通るデータシフト端子、102はシフト開
始制御端子、103はシフト禁止制御端子、10
4はデータラツチ回路99のシフト制御を行なう
シフト制御回路、105は1回目のシフト動作を
開始させることを許可するシフト許可制御回路、
106はシフト動作を終了させることを指示する
シフト終了制御回路である。
107,108はそれぞれ前段,次段のシフト
制御部に対し、現在、当該セルのデータラツチ部
95及びシフト制御部96がシフト動作中である
ことを示すシフト中信号を出力する端子、109
は前段がシフト中であることを示す前段シフト中
信号が入力する端子、110は次段がシフト中で
あることを示す次段シフト中信号が入力する端
子、111,112はそれぞれ前段,次段よりの
シフト許可信号の入力する端子、113は前段よ
りのシフト終了信号の入力もしくは前段へのシフ
ト終了信号の出力のためのシフト終了端子、11
4は次段よりのシフト終了信号の入力もしくは次
段へのシフト終了信号の出力のためのシフト終了
端子である。
115はシフト制御回路104にシフトを許可
するシフト許可制御回路105のシフト許可出
力、116はシフト制御回路104にシフト動作
を終了させるためのシフト終了制御回路106の
シフト終了出力、117はデータラツチ回路99
にデータをラツチさせるためのシフト制御回路1
04のデータラツチ出力、118はデータラツチ
回路99においてシフト動作が完了したことをシ
フト制御回路104において判断するための判定
条件入力、119はデータラツチ回路99でのシ
フト動作が完了したことをシフト許可制御回路1
05,シフト終了制御回路106に示すシフト制
御回路104のシフト動作完了出力、120は前
段へのシフト許可制御回路105の出力でシフト
継続許可を示す端子、121は同じく次段へのシ
フト継続許可を示す端子である。
そして、データ入力制御端子91及びデータ出
力制御端子92よりの信号はデータラツチ回路9
9に接続され、リセツト端子93よりの信号はシ
フト制御回路104,シフト許可制御回路10
5,及びシフト終了制御回路106に接続され
る。方向制御端子94よりの信号はデータラツチ
回路99及びシフト終了制御回路106に接続さ
れる。
データシフト端子100,101は、それぞれ
前段、次段のデータシフト端子に接続され、デー
タシフト端子100又は101がシフトレジスタ
66の端のビツトに位置するとき、データシフト
端子100又は101がデータの入力端子である
ならば、任意の値を入力するか、もしくは開放状
態で用い、データの出力端子であるならば、開放
状態または図示せぬ他の回路の入力信号として用
いる。シフト中信号端子107,108は、それ
ぞれ前段の次段シフト中信号,次段の前段シフト
中信号に接続され、これらがシフトレジスタ66
の端に位置する場合は開放状態とする。前段シフ
ト中信号端子109は前段のシフト中信号端子
に、次段シフト中信号端子110は次段のシフト
中信号端子に接続され、これらがシフトレジスタ
66の端に位置する場合は、該端子109,11
0を無効状態にする。シフト許可信号端子11
1,112には、それぞれ前段,次段のシフト継
続許可端子を接続し、これらがシフトレジスタ6
6の端に位置する場合は、シフトを許可するに反
しない信号を入力する。シフト終了端子113,
114の信号の方向は方向制御端子94の信号に
より定まり、一方が入力ならば他方は出力とな
る。シフト終了端子113,114にはそれぞれ
前段,次段のシフト終了端子を接続し、これらが
シフトレジスタ66の端に位置する場合に、それ
が出力としてのシフト終了端子ならば開放状態も
しくは図示せぬ任意の回路の入力信号として用
い、またそれが入力としてのシフト終了端子なら
ば有効状態もしくはシフト終了制御回路の動作を
害さない状態とする。
第2図に従つてシフトレジスタ66の動作につ
いて詳述する。例として、データのシフト方向は
方向制御端子94の信号により前段から次段の方
向にシフトされる場合について説明する。また説
明を容易にするため、第2図に示したものはシフ
トレジスタ66のQビツト目に当たるとする。Q
は1Qlであり、説明の便宜のために、Qの
値は一定とせず、m<Q<nとしたり、Q=n+
1としたりする。そしてQの値を変更するまでは
Qは1Qlの任意の値をとるものとする。
まず、リセツト端子93へのリセツト入力によ
り、シフト制御回路104はシフト動作を行なつ
ていない状態に、シフト許可制御回路105はシ
フト制御回路104のシフト動作を禁止する状態
に、シフト終了制御回路106はシフト動作が終
了していない状態にそれぞれ初期化される。従つ
てシフト中信号端子107,108は“0”に、
データラツチ出力117は“0”に、シフト許可
出力115は“0”に、シフト継続許可端子12
0は“1”に、シフト終了端子(出力)113は
“0”に、シフト終了出力116は“0”にそれ
ぞれ初期化されるものとする。
次に、データ入力制御端子91に入力する信号
により、データラツチ回路99にデータ入力端子
97よりデータが入力され保持される。逆にデー
タラツチ回路99よりデータを読み出す場合に
は、データ出力制御端子92に入力する信号によ
り、データ出力端子98よりデータを読み出す。
なお、データ入力制御端子91,データ出力制御
端子92については図示せぬ外部回路に含まれた
り、存在しないことがある。また、データ入力端
子97,データ出力端子98については、同一の
ものであつたり、存在しないことがある。
ここで、シフト許可制御回路105はリセツト
信号を解除した後でシフト動作が勝手に開始され
るのを防ぐために設けられたものであり、前述の
ように、隣接するビツトの少なくとも1つが初め
てシフト動作を終了するまでシフトを行なわない
ようにする。またシフト動作がシフトを必要とす
るビツトに順序正しく伝搬するようにするための
ものでもある。
そして次にmビツト目とpビツト目のシフト禁
止制御端子を有効にし、シフトされるビツトのシ
フトが完了するまで、少なくともシフト終了制御
回路106内で有効であるようにする。
以下ではQ=n+1として説明を進める。(n
+1)ビツト目のシフト開始制御端子102を有
効にし、シフト制御回路104にシフト動作を開
始させる。この信号による起動では、前段シフト
中信号端子109,次段シフト中信号端子110
及びシフト許可制御回路105よりのシフト許可
出力115の状態は無視される。上記シフト動作
開始によりシフト中信号端子107及び108は
“1”になり、n番目及び(n+2)番目のビツ
トのシフト動作を禁止させ、安定なデータがn番
目から(n+1)番目にシフトされ、また(n+
2)番目がシフト中のデータをシフトしないよう
にする。またデータラツチ出力117も“1”に
なり、データラツチ回路99のシフト動作が行な
われ、シフト動作完了出力119も“0”にな
る。
シフト動作の完了は、判定条件入力118によ
りシフト制御回路104において検出される。シ
フトの完了が検出されると、データラツチ出力1
17を“0”にしてシフトされたデータを保持す
る。またシフト中信号端子107及び108を
“0”にして、当該ビツトではシフト中でないと
いうことを隣接するn番目及び(n+2)番目の
ビツトに知らせる。またシフト制御回路104内
におけるシフト動作の完了の判定も行なわれなく
なり、シフト動作完了出力119は“1”にな
る。これによりシフト許可制御回路105は、シ
フト許可信号端子111,112が“0”ではあ
るが自分自身のシフトが完了したため、シフト禁
止制御端子103の信号により前段もしくは次段
のシフトが許可されている場合には、シフト継続
許可端子120,121を“1”にして前段もし
くは次段の引続くシフト動作を許可する。
またシフト終了制御回路106は、シフト禁止
制御端子103の信号により、この(n+1)ビ
ツト目がpビツト目であるか否かの判断を行な
い、n+1=pならばシフト終了端子113を
“1”にし、これにより次に前々段が前段へのシ
フトを行なつた段階で同じく前段がシフト動作を
終了できるようにするとともに、当該ビツトのシ
フト終了出力116を“1”にしてシフト制御回
路104が以後のシフト動作を行なわないように
する。またこの場合、即ちシフト禁止制御端子1
03の信号が有効で次段のシフトが許可されてい
ない場合、シフト許可制御回路105はシフト継
続許可端子121を“1”とせずに、次段のシフ
トを禁止する。このようにして次段がシフトしな
いため、次々段以降もシフトしない。また、n+
1≠pならば、シフト終了端子113及びシフト
終了出力116は“0”のままであり、従つて
(n+2)ビツト目の引続くシフト動作を許可す
る。nビツト目は(n+1)ビツト目のデータシ
フト完了により(n−1)ビツト目よりのデータ
をシフトさせる動作に入る。また同じくn+1≠
pならば、(n+2)ビツト目も(n+1)ビツ
ト目よりのデータをシフトさせる動作に入る。
ここでは、まずQ=nとしてnビツト目のシフ
ト動作について説明する。従つて次段は(n+
1)ビツト目,前段は(n−1)ビツト目に当た
る。次段(n+1)ビツト目のシフト継続許可端
子からの信号はシフト許可信号端子112に入力
されているため、(n+1)ビツト目のシフト動
作終了により、シフト許可制御回路105はシフ
ト制御回路104に対しシフト許可出力115を
“1”にしてシフトを許可する。シフト制御回路
104は、さらに前段シフト中信号109と次段
シフト中信号110が“0”で、かつシフト終了
出力116が“0”である条件が成立した時点
で、nビツト目の(n−1)ビツト目よりのシフ
ト動作を開始する。シフトに関する動作は前記
(n+1)ビツト目のシフト動作と同様である。
そしてnビツト目のシフトが終わつたことを示
すシフト動作完了出力119が“1”になると、
シフト許可制御回路105はシフト禁止制御端子
103の信号に従い、その信号が有効ならばシフ
ト継続許可端子120を“1”にしない。従つて
引続く前段から1ビツト目までのシフトは行なわ
れず、データは保存される。またシフト禁止制御
端子103の信号がシフトを禁止していなければ
他のビツトのシフト動作が同様にして行なわれ
る。またn+1=pの場合については既に述べた
ようにシフト終了制御回路106によりnビツト
目のシフト動作は以後行なわれない。
ここでもう一度Q=n+2として、(n+2)
ビツト目の(n+1)ビツトよりのデータのシフ
トについて説明する。従つて前段は(n+1)ビ
ツト目,次段は(n+3)ビツト目に当たる。シ
フト許可信号端子111には前段のシフト継続許
可端子が接続されているため、前段の(n+1)
ビツト目がシフトを完了し、シフト継続許可端子
が“1”になると、シフト許可制御回路105は
シフト制御回路104にシフト許可出力115を
“1”にして送る。シフト制御回路104は(n
+1)ビツト目のシフト中信号が“0”になつた
時点、即ち(n+1)ビツト目のシフト動作が終
わつたことと、同様の次段のシフト中信号が
“0”であり、かつシフト終了制御回路106の
出力が有効でないという条件により、(n+2)
ビツト目はシフト動作を開始する。シフト動作は
前記の(n+1)ビツト目におけるものと同じで
ある。このようにして、以後同様にシフト動作が
連続的に行なわれる。
なお、n+2=pならば、(n+1)ビツト目
のシフトの説明において述べたと同様に、シフト
終了制御回路106からシフト終了端子113に
“1”を出し、以後の(n+2)ビツト目におけ
るシフト動作を行なわない。またシフト継続許可
端子121を“0”にし、(n+3)ビツト目以
降のシフトを禁止する。n+2≠pであれば更に
(n+3)ビツト目のシフトが引続き開始される。
第3図は実際のデータのシフトの状態を模式的
に示したもので、7ビツトのシフトレジスタに1
ビツト目から7ビツト目まで順にA,B,C,
D,E,F,Gというデータをセツトした後、2
ビツト目と3ビツト目のブロツクを6ビツト目ま
でシフトする場合の各ビツトのデータの状態を示
したものである。第3図において、一番上の列は
データをセツトした状態のシフトレジスタであ
り、ここで各条件をセツトしシフトを開始させる
と、シフトレジスタの内容は下の列に移つて行
き、最終的に2,3ビツト目が5,6ビツト目ま
でシフトされ、シフトされない部分の1ビツト目
及び7ビツト目のデータ、A及びGは変化しな
い。
このように、本実施例によれば、任意のビツト
長のシフトレジスタにおいて、任意の位置の任意
の長さのデータのブロツクを任意の位置に高速に
シフトでき、またシフトされない部分のデータは
保存されることになる。
第4図は各回路の具体的な一構成例を示すもの
である。以下、この第4図の回路の構成を説明す
ると同時に、その動作を説明する。同図において
は、シフト方向を一定とし、左から右へデータは
シフトされるものと仮定するため、方向制御端子
94とその信号を入力とするデータラツチ回路9
9及びシフト終了制御回路106の方向制御に関
する回路は示していない。
データラツチ回路99は2入力AND回路を持
つANDNOR回路122と、同じく2入力AND
回路を持つANDNOR回路123とによるフリツ
プフロツプで構成されている。124及び125
は第2図に示したデータシフト端子100に相当
するデータシフト入力端子、126及び127は
データシフト端子101に相当するデータシフト
出力端子であり、データシフト出力端子126は
ANDNOR回路123の出力に接続され、データ
シフト出力端子127はANDNOR回路122の
出力に接続される。データシフト入力端子12
4,125には互いに逆相の信号を入力し、デー
タシフト出力端子126,127には互いに逆相
の信号が出力される。このとき、データラツチ出
力117により、安定なデータシフト入力端子1
24,125の信号が取り込まれ、これがデータ
ラツチ回路99に保持されると、データシフト信
号入力端子124とデータシフト出力端子126
の信号は同相であり、同じく入力端子125と出
力端子127の信号も同相になる。このデータラ
ツチ回路99においては、データをセツトするこ
とも読み出すことも容易であることは明らかなた
め、データ入力制御端子91,データ出力制御端
子92,データ入力端子97,データ出力端子9
8については図示していない。
次いでシフト制御回路104の構成について述
べる。
128は3入力AND回路を2組持つ
ANDNOR回路、129は2入力AND回路を持
つANDNOR回路で、ANDNOR回路128とと
もにフリツプフロツプを構成する。130は3入
力のNOR回路である。そしてフリツプフロツプ
を構成するANDNOR回路128の出力はシフト
中信号端子107,108とデータラツチ出力1
17に接続され、ANDNOR回路129の出力は
シフト動作完了出力119となる。NOR回路1
30には前段シフト中信号端子109,次段シフ
ト中信号端子110,及びシフト終了出力116
が接続される。
そして上記ANDNOR回路128の出力はリセ
ツト端子93よりのリセツト入力により“0”に
なり、またこのANDNOR回路128の2つの3
入力ANDには、判定条件入力108に相当する
データシフト入力端子124,125及びデータ
シフト出力端子126,127の4本の信号と、
さらにANDNOR回路128の出力が接続され
る。またANDNOR回路128の1つの3入力
AND回路には、データシフト入力端子124と
データシフト出力端子126とANDNOR回路1
28の出力とが接続され、他の3入力AND回路
には、データシフト入力端子125とデータ信号
出力端子127とANDNOR回路128の出力と
が接続される。この部分は、データラツチ回路9
9のシフト動作が完了したこと、即ち入力シフト
データと出力シフトデータとが一致したことを検
出する。従つてデータラツチ出力117が有効に
なつた時、データラツチが保持していたデータシ
フト出力と取り込もうとするデータシフト入力が
一致していれば、直ちにこの回路は一致を検出す
る。
NOR回路130は、前段及び次段がシフト中
でなく、かつシフト終了制御回路106の出力が
有効でない、即ちシフトをまだ終了しないという
条件が成立すると有効になる。このNOR回路1
30の出力は、さらにシフト許可制御回路105
の出力115と積がとられ、ANDNOR回路12
9に入力される。シフト許可制御回路105の出
力であるシフト許可出力115は、リセツト後初
めて前段又は次段もしくは自分自身のシフトが開
始されたときに有効になる。そしてリセツト信号
により、シフト許可制御回路105は“0”にな
る。ANDNOR回路128の出力が“1”にな
り、シフト動作が開始されるのは、シフト開始制
御端子102に“1”が入力され、シフトレジス
タ66のシフト動作が初めて開始される場合、も
しくは前述したNOR回路130の出力が“1”
になり、かつ同じく前述したシフト許可制御回路
105の出力であるシフト許可出力115を
“1”とする条件が成立したときである。反対に、
ANDNOR回路129の出力であるシフト動作完
了出力119が“1”、即ち有効になるのは、リ
セツト端子93よりリセツト信号が入力された場
合か、シフト制御回路104で前述のデータラツ
チ回路99のシフト動作が完了したことを検出し
た場合である。
シフト許可制御回路105は、4つの入力を持
つNOR回路131及び2つの入力回路を持つ
NOR回路132によるフリツプフロツプと、シ
フト動作完了出力119を入力とするインバータ
133と、3つの入力を持つNOR回路134と
からなる。NOR回路132の出力はシフト許可
出力115である。シフト許可信号端子111,
112及びインバータ133の出力はNOR回路
131に入力され、リセツト端子93よりの信号
はNOR回路132に入力される。シフト許可出
力115が“1”になる条件については前述した
通りである。NOR回路134の出力はシフト継
続許可端子120及び121に接続される。
NOR回路134の3つの入力はシフト動作完了
出力119,NOR回路131の出力,及びシフ
ト禁止制御端子103よりの入力信号である。
NOR回路134の出力が有効になり、シフト継
続許可端子120,121に“1”が出力される
のは、前述したシフト許可出力115が“1”に
なる条件と、シフト動作完了出力119が“0”
になる条件と、かつシフト禁止制御端子103よ
りの信号が有効でないように設定された場合であ
る。即ち、このシフト許可制御回路105は、例
で示したlビツトシフトレジスタmビツト目でも
pビツト目でもないビツトにおいて、前段もしく
は次段が初めて1度シフト動作を行なつた後で自
分自身のシフト動作が始まつた時か、シフト開始
制御端子102によりシフトが始まつた時、即ち
(n+1)ビツト目である時かに、シフト禁止制
御端子103の入力が“0”のときに引続き前段
または次段のシフト動作が開始されるようにする
ものであり、またリセツト後に無秩序にシフト動
作が発生しないようにするものである。またシフ
ト禁止制御端子103の入力が“1”のときには
前段又は次段がシフト動作を開始しないようにす
るためのものである。
シフト終了制御回路106は2つの2入力
AND回路を持つANDNOR回路135及びNOR
回路136によるフリツプフロツプから構成され
ている。ANDNOR回路135の1つのAND回
路にはシフト動作完了出力119とシフト禁止制
御端子103の信号が入力され、他のAND回路
にはシフト終了端子114とシフト動作完了出力
119が接続される。NOR回路136の出力は
シフト終了端子113に接続され、かつシフト終
了出力116となる。そしてこのNOR回路13
6の出力は、リセツト入力端子93のリセツト信
号により“0”になる。このシフト終了制御回路
106の働きは、シフト禁止制御端子103に
“1”が入力された場合、即ちmビツト目もしく
はpビツト目である場合に、シフト動作完了出力
119により自分自身のシフト動作が終つたこと
を確認するとシフト終了出力116を“1”にし
て、以後のシフト動作が行なわれないようにする
ことである。mビツト目の場合にはシフト終了端
子113から(m−1)ビツト目に対し信号を送
るが、mビツト目のシフト継続許可端子120の
出力により(m−1)ビツト目のシフトは開始さ
れないため影響を及ぼさない。またもう1つの働
きは、pビツト目である場合にはシフト終了端子
113から(p−1)ビツト目に対し送られた信
号により、(p−2)ビツト目より(p−1)ビ
ツト目へのシフトが完了した時点で該(p−1)
ビツト目のシフト動作完了出力119を再び
“1”にし、(p−1)ビツト目の以後のシフト動
作を禁止することである。このようにして順次
(p−2)ビツト目以降がシフトされるべきビツ
トにシフトされて行く。なおこのためにシフト動
作が開始され、従つてシフト動作完了出力119
が“1”から“0”に変化するまでの時間よりも
シフト終了端子114に印加される信号の“0”
から“1”への変化までの時間を遅く設定する必
要がある。また後者の変化までに要する時間は、
さらに前々段の前段へのシフトが開始されるまで
にしなくてはならない。
このように本実施例では、クロツクを用いるこ
となしに、あるビツトとそれに隣接するビツトの
セルの状態を検出し、隣り合うビツトの動作を制
御するようにしたので、回路固有のスピードで無
駄なく、従つて高速なシフトを行なうことができ
る。またシフトを行なう位置を指定する信号を外
部において容易に作成することができ、外部制御
回路の簡略化が図られ、かつ任意のビツト長を持
つデータブロツクを任意の場所へシフトすること
ができる。またその時シフトされない部分のデー
タを変化させることなく保存することができる。
なお、上記実施例ではmビツト目におけるシフ
ト禁止制御端子を有効とする例を示したが、1ビ
ツト目から(m−1)ビツト目までのデータが保
存される必要がなければ、mビツト目におけるシ
フト禁止制御端子を有効と設定する必要はない。
また各回路の構成は第4図に示したものに限ら
れるものではなく、第2図において示した動作に
必要な信号を供するものであればどのように構成
してもよい。また、第4図の実施例においては単
一方向のみのシフト回路を示したが、第2図にお
いて示した考え方により双方向化することもで
き、さらにシフト完了を検出する回路を付加する
こともできる。
さらに、シフトレジスタを構成する全てのセル
につきシフト開始制御端子,シフト禁止制御端子
を必ずしも設けなくてもよい。
〔発明の効果〕
以上のように、本発明に係るシフトレジスタに
よれば、各ビツトのセルにシフト制御部を設け、
クロツクを用いることなしにあるビツトとそれに
隣接するビツトの状態を検出し、該検出結果とシ
フト禁止制御入力及びシフト開始制御入力とによ
り当該ビツト及び隣接するビツトの動作を制御す
るようにしたので、回路固有のスピードで無駄な
く、従つて高速なシフトを行なうことができ、ま
た外部制御回路の簡略化が図られ、かつ任意のビ
ツト長を持つデータブロツクを任意の場所へシフ
トすることができる効果がある。
【図面の簡単な説明】
第1図ないし第4図は本発明の一実施例による
シフトレジスタを示し、第1図はその構成の概要
を示す図、第2図はより詳細な構成の概要を示す
図、第3図はデータのシフト状態を具体的に示す
図、第4図は1つのセルの具体的実施例を示す
図、第5図は従来のシフトレジスタの構成の概要
を示す図、第6図は従来のシフトレジスタの1つ
のセルの具体的構成例を示す図、第7図は従来の
シフトレジスタのデータのシフト状態を具体的に
示す図、第8図は従来のシフトレジスタの一構成
例であるバレルシフタの一例を示す図である。 66…シフトレジスタ、67〜70,95…デ
ータラツチ部、71〜74,96…シフト制御
部、83〜86,102…シフト開始制御端子、
87〜90,103…シフト禁止制御端子、10
4…シフト制御回路、105…シフト許可制御回
路、106…シフト終了制御回路、107,10
8…シフト中信号端子、109…前段シフト中信
号端子、110…次段シフト中信号端子、11
1,112…シフト許可信号端子、113,11
4…シフト終了端子、115…シフト許可出力、
116…シフト終了出力、117…データラツチ
出力、118…判定条件入力、119…シフト動
作完了出力、120,121…シフト継続許可端
子。なお図中同一符号は同一又は相当部分を示
す。

Claims (1)

  1. 【特許請求の範囲】 1 それぞれデータラツチ部及びシフト制御部か
    らなる複数のセルを有する外部クロツクを要しな
    いシフトレジスタであつて、前記シフト制御部
    は、シフト開始制御端子及びシフト禁止制御端子
    と、当該セル又はそれに隣り合う隣接セルの各々
    がシフト状態にあるか否か及び隣接セルが当該セ
    ルにシフトを許可する状態にあるか否かの信号を
    入力とし、これらの状態と前記シフト禁止制御端
    子からの信号とに基づいて当該セル及び隣接セル
    に対しシフト許可信号を発生するシフト許可制御
    回路と、前記シフト開始制御端子からの信号,前
    記シフト許可制御回路の出力,当該セル及び隣接
    セルの状態信号を入力とし、前記データラツチ部
    のシフト動作を行なわせるとともに前記隣接セル
    のシフト制御回路に対し当該セルのシフト状態信
    号を出力するシフト制御回路と、前記シフト禁止
    制御端子からの信号,及び当該セル及び隣接セル
    の状態信号を入力とし、当該セルのシフト制御回
    路にシフト動作の終了指示信号を出力するととも
    に隣接セルへシフト動作終了信号を出力するシフ
    ト終了制御回路とを備えたものであることを特徴
    とするシフトレジスタ。 2 前記シフト開始制御端子,シフト禁止制御端
    子は、所要のセルに設けられていることを特徴と
    する特許請求の範囲第1項記載のシフトレジス
    タ。 3 前記シフト制御部は、シフト方向を制御する
    ためのシフト方向制御回路を有するものであるこ
    とを特徴とする特許請求の範囲第1項又は第2項
    記載のシフトレジスタ。
JP59276294A 1984-12-27 1984-12-27 シフトレジスタ Granted JPS61153899A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP59276294A JPS61153899A (ja) 1984-12-27 1984-12-27 シフトレジスタ
DE19853546006 DE3546006A1 (de) 1984-12-27 1985-12-24 Schieberegister
US06/814,242 US4660217A (en) 1984-12-27 1985-12-27 Shift register

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59276294A JPS61153899A (ja) 1984-12-27 1984-12-27 シフトレジスタ

Publications (2)

Publication Number Publication Date
JPS61153899A JPS61153899A (ja) 1986-07-12
JPH04299B2 true JPH04299B2 (ja) 1992-01-07

Family

ID=17567442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59276294A Granted JPS61153899A (ja) 1984-12-27 1984-12-27 シフトレジスタ

Country Status (3)

Country Link
US (1) US4660217A (ja)
JP (1) JPS61153899A (ja)
DE (1) DE3546006A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864544A (en) * 1986-03-12 1989-09-05 Advanced Micro Devices, Inc. A Ram cell having means for controlling a bidirectional shift
US4813015A (en) * 1986-03-12 1989-03-14 Advanced Micro Devices, Inc. Fracturable x-y storage array using a ram cell with bidirectional shift
US5170484A (en) * 1986-09-18 1992-12-08 Digital Equipment Corporation Massively parallel array processing system
US4899307A (en) * 1987-04-10 1990-02-06 Tandem Computers Incorporated Stack with unary encoded stack pointer
FR2632091A1 (fr) * 1988-05-30 1989-12-01 Chauffour Jean Claude Procede de memorisation electronique de donnees au moyen de cellules a deux etats, et ses moyens de mise en oeuvre
US4903285A (en) * 1989-02-24 1990-02-20 Tektronic, Inc. Efficiency shift register
US6405092B1 (en) * 1997-09-29 2002-06-11 William Vincent Oxford Method and apparatus for amplifying and attenuating digital audio

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3953838A (en) * 1974-12-30 1976-04-27 Burroughs Corporation FIFO Buffer register memory utilizing a one-shot data transfer system
US4058773A (en) * 1976-03-15 1977-11-15 Burroughs Corporation Asynchronous self timed queue
US4156288A (en) * 1978-06-13 1979-05-22 Sperry Rand Corporation Asynchronous shift register with turnpike feature

Also Published As

Publication number Publication date
DE3546006A1 (de) 1986-07-03
US4660217A (en) 1987-04-21
DE3546006C2 (ja) 1993-05-19
JPS61153899A (ja) 1986-07-12

Similar Documents

Publication Publication Date Title
JP3539997B2 (ja) 複数の入力を有するルックアップテーブルを実現するために要求されるプログラム可能なアーキテクチャエレメントの数を減じるための方法、およびルックアップテーブルアーキテクチャ
US4383304A (en) Programmable bit shift circuit
US5224065A (en) Arithmetic operation unit having bit inversion function
US5027310A (en) Carry chain incrementer and/or decrementer circuit
JPH061902B2 (ja) プログラムド・ロジツク・アレイ
JPS60144825A (ja) 桁上げ長さ検出式の演算論理ユニツト
US4051358A (en) Apparatus and method for composing digital information on a data bus
EP0407177A2 (en) Bit sequence reversing device
JPH04299B2 (ja)
US5020013A (en) Bidirectional variable bit shifter
GB1567314A (en) Computer system
JPS6159014B2 (ja)
JPH0342732A (ja) 半導体集積回路
US4575796A (en) Information processing unit
JP3134449B2 (ja) シリアル・パラレル変換回路
US5499383A (en) DMA control device controlling sequential storage of data
US4771405A (en) Hidden control bits in a control register
US4755968A (en) Buffer memory device controlled by a least recently used method
US5442801A (en) Arithmetic and logic unit
JP2513179B2 (ja) カウンタ付直列−並列変換回路
SU593317A1 (ru) Реверсивный регистр сдвига
JP2624342B2 (ja) バレルシフタ
JPS61139990A (ja) シリアルアクセスメモリ
JPS61157936A (ja) デ−タシフト回路
SU851786A1 (ru) Многостабильный триггер

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees