JPH0844533A - バレルシフタ装置 - Google Patents

バレルシフタ装置

Info

Publication number
JPH0844533A
JPH0844533A JP6197747A JP19774794A JPH0844533A JP H0844533 A JPH0844533 A JP H0844533A JP 6197747 A JP6197747 A JP 6197747A JP 19774794 A JP19774794 A JP 19774794A JP H0844533 A JPH0844533 A JP H0844533A
Authority
JP
Japan
Prior art keywords
shift
terminal
input
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.)
Pending
Application number
JP6197747A
Other languages
English (en)
Inventor
Yoshihiko Fukuhara
佳彦 福原
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.)
N T T ELECTRON TECHNOL KK
NTT ElectronicsTechno Corp
Original Assignee
N T T ELECTRON TECHNOL KK
NTT ElectronicsTechno 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 N T T ELECTRON TECHNOL KK, NTT ElectronicsTechno Corp filed Critical N T T ELECTRON TECHNOL KK
Priority to JP6197747A priority Critical patent/JPH0844533A/ja
Publication of JPH0844533A publication Critical patent/JPH0844533A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【目的】制御信号を入力とする2の補数変換回路と負の
最小値検出回路を不要とし、シフト制御部の金物量が大
幅に低減すると共に、配線長が大幅に短縮でき、小形
化、高速化が実現できるバレルシフタ装置を提供する。 【構成】シフト方向とシフト量を2の補数形式で表した
制御信号により入力データを指定方向に指定量シフトし
て出力するバレルシフタ装置において、制御信号の最上
位ビットが“1”の場合、下位または上位へ1ビット入
力データをシフトし、“0”の場合、入力データをシフ
ト無く出力させるセレクタと、最上位ビットが“0”の
場合、最上位ビットを除くn−1ビットの内最下位から
i桁目が“1”ならば入力データを上位または下位に2
i-1 ビットシフトし、“0”ならば入力データをシフト
無しに出力し、最上位ビットが“1”の場合、i桁目が
“0”ならば入力データを下位または上位へ2i-1 ビッ
トシフトし、“1”ならば入力データをシフト無しに出
力する、n−1ビットに対応するn−1個のセレクタと
を有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディジタル演算装置に
用いられるバレルシフタ装置に関するものであり、具体
的にはシフト方向とシフト量を2の補数形式で表わした
制御信号により入力データを指定方向に指定量シフトし
て出力するバレルシフタ装置に関するものである。
【0002】
【従来の技術】従来のこの種のバレルシフタ装置は、入
力データを上位または下位へシフトさせる方向を表す制
御信号とシフト量を表す制御信号によりシフトされたデ
ータを出力するデータシフト部と、2の補数形式のシフ
ト制御信号からシフト方向とシフト量を表す制御信号を
形成する制御部を組合せた構成が採られていた。
【0003】図3は従来のバレルシフタ装置のデータシ
フト部の構成例であり、1、2、3、4はセレクタ、
5、6、7、8はセレクト信号発生回路、信号記号のA
12〜A1はデータ入力、X12〜X1はデータ出力、
SH4〜SH1はシフト量信号、R、Lは各々右シフト
信号と左シフト信号、FMは上位埋めデータ、FLは下
位埋めデータであり、データ幅12ビット、右シフト最大
7ビット、左シフト最大8ビットの機能を持つ構成例を
示す。図3において、セレクタ1と同一のセレクタが1
1個セレクタ1の右側に配置され、計12個のセレクタ
( 以下第1段シフタと称する)のIT端子に入力データ
A12〜A1が各々入力されると共に各々右隣のセレク
タのIR端子および左隣のセレクタのIL端子に入力さ
れている。データ入力A12がIT端子へ入力されるセ
レクタのIR端子には上位埋めデータFMが、データ入
力A1がIT端子へ入力されるセレクタのIL端子には
下位埋めデータFLが各々入力されている。
【0004】図4はセレクタ1の論理回路例であり、1
01、102、103は2入力ANDゲート、104は
3入力ORゲートであり、3入力ORゲート104の3
個の入力には2入力ANDゲート101、102、10
3の出力が、3入力ORゲート104の出力にはY端子
が接続され、2入力ANDゲート101の入力はIR端
子とRi端子、2入力ANDゲート102の入力はIT
端子とTi端子、2入力ANDゲート103の入力はI
L端子とLi端子であり、Ri端子が“1”レベルの場
合IR端子のデータがY端子へ、Ti端子が“1”レベ
ルの場合IT端子のデータがY端子へ、Li端子が
“1”レベルの場合IL端子のデータがY端子へ出力さ
れる。前記12個のセレクタのRi端子、Ti端子、L
i端子は各々セレクト信号発生回路5のYR端子(信号
名R1)、YT端子(信号名T1)、YL端子(信号名
L1)に接続されている(図3では省略)。
【0005】図5はセレクト信号発生回路5の論理回路
例であり、105、106は2入力ANDゲート、10
7はインバータであり、2入力ANDゲート105の入
力はR端子とT端子で出力はYR端子、2入力ANDゲ
ート106の入力はL端子とT端子で出力はYL端子、
インバータ107の入力はT端子で出力はYT端子であ
る。
【0006】図3においてセレクト信号発生回路5のR
端子には右シフト信号Rが、L端子には左シフト信号L
が、T端子にはシフト量信号SH1が入力されている。
シフト量信号SH1が“0”の場合、セレクト信号発生
回路5のT端子は“0”であり、YR端子、YT端子、
YL端子の出力信号R1、T1、L1はシフト信号R、
Lのレベルに関係無く各々“0”、“1”、“0”とな
るため、入力データA12〜A1は前記12個のセレク
タのIT端子から入力してY端子へ通過し、シフト無し
の動作となる。シフト量信号SH1が“1”で右シフト
信号Rが“1”、左シフト信号Lが“0”の場合、セレ
クト信号発生回路5の出力信号R1、T1、L1は各々
“1”、“0”、“0”となるため、入力データA12
〜A1は前記12個のセレクタのIR端子から入力して
Y端子へ通過し、右側へ1ビットシフトする動作とな
る。入力データA12を入力データの最上位ビット、入
力データA1を入力データの最下位ビットとすると、1
ビット右シフトの場合にはデータの最上位側のセレクタ
1の出力には上位埋めデータFMが出力される。シフト
量信号SH1が“1”で左シフト信号Lが“1”、右シ
フト信号Rが“0”の場合、セレクト信号発生回路5の
出力信号R1、T1、L1は各々“0”、“0”、
“1”となるため、入力データA12〜A1は前記12
個のセレクタのIL端子から入力してY端子へ通過し、
左側へ1ビットシフトする動作となる。この場合にはデ
ータの最下位側のセレクタの出力には下位埋めデータF
Lが出力される。以上の説明より明らかな様に、シフト
量信号SH1は第1段シフタの入力データを1ビットシ
フトする制御信号である。
【0007】図3において、第1段シフタの出力はセレ
クタ2とこの右側に配置された11個のセレクタ( 以下
第2段シフタと称する)に入力される。第2段シフタ1
2個のセレクタの機能はセレクタ1と同一であり、第1
段シフタの各セレクタの出力端子Yは直下に配置された
第2段シフタのセレクタのIT端子に接続されると共
に、右側に2個離れたセレクタのIR端子と、左側に2
個離れたセレクタのIL端子に接続されている。データ
の最上位から2個分のセレクタのIR端子には上位埋め
データFMが、データの最下位から2個のセレクタのI
L端子には下位埋めデータFLが入力されている。前記
セレクタのRi端子、Ti端子、Li端子は全てセレク
ト信号発生回路5と同一の機能を持つセレクト信号発生
回路6のYR端子(信号名R2)、YT端子(信号名T
2)、TL端子(信号名L2)に各々接続され、( 図3
では省略)、セレクト信号発生回路6のR端子には右シ
フト信号R、L端子には左シフト信号L、T端子にはシ
フト量信号SH2が入力されている。第1段シフタの動
作との差異はシフト量信号SH2が“1”の場合には右
シフト信号Rが“1”ならば右側へ2ビットシフトさ
れ、左シフト信号Lが“1”ならば左側へ2ビットシフ
トすることである。また、右シフトの場合にはデータの
最上位側の2ビット分のセレクタの出力には上位埋めデ
ータFMが出力され、左シフトの場合にはデータの最下
位側の2ビット分のセレクタの出力には下位埋めデータ
FLが出力される。以上の説明より、シフト量信号SH
2は第2段シフタの入力データを2ビットシフトする制
御信号となる。
【0008】図3において、第2段シフタの出力はセレ
クタ3とこの右側に配置された11個のセレクタ(以下
第3段シフタと称する)に入力される。第3段シフタの
12個のセレクタの機能はセレクタ1と同一であり、第
2段シフタのセレクタの出力端子Yは直下に配置された
第3段シフタのセレクタのIT端子に接続されると共
に、右側に4個離れたセレクタのIR端子と、左側に4
個離れたセレクタのIL端子に接続されており、データ
の最上位から4個分のセレクタのIR端子には上位埋め
データFMが、データの最下位から4個のセレクタのI
L端子には下位埋めデータFLが入力されている。前記
セレクタのRi端子、Ti端子、Li端子は全てセレク
ト信号発生回路5と同一の機能を持つセレクト信号発生
回路7のYR端子(信号名R3)、YT端子(信号名T
3)、YL端子(信号名L3)に各々接続され、( 図3
では省略)、セレクト信号発生回路7のR端子には右シ
フト信号R、L端子には左シフト信号L、T端子にはシ
フト量信号SH3が入力されている。第3段シフタの動
作は第1段シフタと第2段シフタの説明より明らかな様
に、シフト量信号SH3と右シフト信号Rと左シフト信
号Lにより第2段シフタの出力を右側または左側へ4ビ
ットシフトするため、シフト量信号SH3は第3段シフ
タの入力データを4ビットシフトする制御信号となる。
【0009】以上説明した第1段シフタから第3段シフ
タにより、シフト量信号SH1〜SH3および右シフト
信号Rと左シフト信号Lを組合わせることにより、右側
へ7〜1ビットシフト、左側へ7〜1ビットシフトまた
はシフト無し(シフト量0)が選択できる。
【0010】図3の第3段シフトの下段にはセレクタ4
と同一のセレクタが右側に11個配置され(以下第4段
シフタと称す)、第3段シフタのセレクタの出力端子Y
は直下に配置された第4段シフタのセレクタのIT端子
に接続されると共に、右側に8個離れたセレクタのIR
端子に接続され、データの最上位から8個分のセレクタ
のIR端子には上位埋めデータFMが入力され、第4段
シフタを構成する12個のセレクタのY端子から出力デ
ータX12〜X1が出力されている。
【0011】図6はセレクタ4の論理回路例であり、1
08、109は2入力ANDゲート、110は2入力O
Rゲートであり2入力ORゲート110の出力にはY端
子が、入力には2入力ANDゲート108、109の出
力が接続され、2入力ANDゲート108の入力にはI
R端子とRi端子が、2入力ANDゲート109の入力
にはIT端子とTi端子が接続されており、Ti端子が
“1”レベルの場合にはIT端子のデータがY端子へ、
Ri端子が“1”レベルの場合にはIR端子のデータが
Y端子へ出力される。第4段シフタの12個のセレクタ
のRi端子(信号名R4) 、Ti端子(信号名T4) 、
は全てセレクト信号発生回路8のYR端子、YT端子に
各々接続され(図3では省略)、セレクト信号発生回路
8のA端子にはシフト量信号SH4が入力される。
【0012】図7はセレクト信号発生回路8の論理回路
例であり、111はインバータであり、A端子がYR端
子とインバータ111の入力に接続され、インバータ1
11の出力がYT端子に接続されており、A端子のデー
タがYR端子へ、A端子の反転データがYT端子へ出力
される。シフト量信号SH4が“0”の場合、第4段シ
フタの12個のセレクタのYT端子とYR端子は各々
“1”、“0”となるため、前記セレクタのIT端子の
データはY端子へ出力され、第4段シフタはシフト無し
となる。シフト量信号SH4が“1”の場合、第4段シ
フタの12個のセレクタのYT端子とYR端子は各々
“0”、“1”となるため、前記セレクタのIR端子の
データはY端子へ出力され、第4段シフタは8ビット右
シフトの動作となる。4ビットの2の補数で表示できる
数は+7〜−8であるため、−8ビットシフトのみを前
記第4段シフタで動作させる。
【0013】以上の説明より、2の補数形式のシフト制
御信号により前記データシフト部を制御するためには、
前記制御シフト制御信号の最上位ビットである符号ビッ
トが“0”の場合には左シフト信号Lを“1”とし、前
記符号ビットが“1”の場合には右シフト信号Rを
“1”とし、前記符号ビットを除く3ビットで表わされ
る数値の絶対値をとってシフト量信号SH3、SH2、
SH1とし、−8ビットシフトの場合のみ負の最小値を
検出して、即ちシフト制御信号が“1000”の状態を
検出してシフト量信号SH4を“1”とすればよい。
【0014】図8は前記動作を実現する制御部の構成例
であり、10は2の補数変換回路、11、12、13は
セレクタ、14は4入力ANDゲート、15、16、1
7、18はインバータ、S4、S3、S2、S1はシフ
ト制御信号、Rは右シフト信号、Lは左シフト信号、S
H4、SH3、SH2、SH1はシフト量信号であり、
右シフト信号R、左シフト信号L、シフト量信号SH
4、SH3、SH2、SH1は図3で説明した信号と同
一である。シフト制御信号S1は2の補数変換回路10
のA1端子とセレクタ11のA端子とインバータ15の
入力に、シフト制御信号S2は2の補数変換回路10の
A2端子とセレクタ12のA端子とインバータ16の入
力に、シフト制御信号S3は2の補数変換回路10のA
3端子とセレクタ13のA端子とインバータ17の入力
に接続され、シフト制御信号S4はセレクタ11、1
2、13のSB端子と4入力ANDゲート14の一つの
入力端子とインバータ18へ接続されると共にR信号と
して出力され、4入力ANDゲート14の他の3入力に
はインバータ15、16、17の出力が接続され、2の
補数変換回路10のX1、X2、X3端子は各々セレク
タ11、12、13のB端子に接続され、セレクタ1
1、12、13のX端子は各々SH1、SH2、SH3
信号として出力され、4入力ANDゲート14の出力は
SH4信号として、インバータ18の出力はL信号とし
て出力されている。
【0015】図9はセレクタ11、12、13の論理回
路例であり、121、122は2入力ANDゲート、1
20は2入力ORゲート、123はインバータであり、
2入力ORゲート120の出力はX端子、2入力ORゲ
ート120の入力には2入力ANDゲート121、12
2の出力が接続され、2入力ANDゲート121の入力
にはA端子とインバータ123の出力が、2入力AND
ゲート122の入力にはB端子とSB端子が接続され、
インバータ123の入力がSB端子に接続されており、
SB端子が“1”の場合にはB端子の信号がX端子に出
力され、SB端子が“0”の場合には、A端子の信号が
X端子に出力される動作をおこなう。
【0016】図10は2の補数変換回路10の論理回路
例であり、124、125、126はインバータ、12
7、128は2入力ANDゲート、129、130、1
31は排他的ORゲートであり、A1、A2、A3端子
が各々インバータ124、125、126の入力に接続
され、排他的ORゲート129の入力にはインバータ1
24の出力と2入力ANDゲート127の出力が、排他
的ORゲート130の入力にはインバータ125の出力
と2入力ANDゲート128の出力が、排他的ORゲー
ト131の入力にはインバータ126の出力とレベル
“1”が各々接続され、排他的ORゲート129、13
0、131の出力は各々X3、X2、X1端子に接続さ
れ、2入力ANDゲート128の入力にはレベル“1”
とインバータ126の出力が2入力ANDゲート127
の入力には2入力ANDゲート128の出力とインバー
タ125の出力が接続されている。排他的ORゲート1
31の出力は片側の入力がレベル“1”のためインバー
タ126の出力が反転してX1端子に出力される。排他
的ORゲート130の出力はインバータ126の出力が
“1”の場合2入力ANDゲート128の出力が“1”
となるためインバータ125の出力が反転してX2端子
に出力され、インバータ126の出力が“0”の場合2
入力ANDゲート128の出力が“0”となるためイン
バータ125の出力がそのままX2端子に出力される。
同様に排他的ORゲート129の出力はインバータ12
6とインバータ125の出力が両方共“1”の場合イン
バータ124の出力を反転しX3端子に出力され、イン
バータ126とインバータ125のいずれかの出力が
“0”の場合にはインバータ124の出力がそのままX
3端子へ出力されるため、2の補数変換回路10はA
3、A2、A1端子の入力データを反転して1を加算す
る2の補数変換動作をおこなう。図8において、シフト
制御信号S4をシフト方向を表す符号ビット、シフト制
御信号S3、S2、S1を符号ビットに続くシフト量デ
ータビットとすれば、シフト制御信号S4が“0”即ち
シフト量が正の場合には符号ビットを除くシフト制御信
号S3、S2、S1をセレクタ13、12、11を通し
てシフト量信号SH3、SH2、SH1として出力し、
シフト制御信号S4が“1”即ちシフト量が負の場合に
は符号ビットを除くシフト制御信号S3、S2、S1で
表される負のデータを2の補数変換回路10を通して正
のデータに変換した後セレクタ13、12、11を通し
てシフト量信号SH3、SH2、SH1として出力す
る。シフト量信号SH4はシフト制御信号S4、S3、
S2、S1で表されるデータが負の最小値、即ち“10
00”の場合“1”とすればよいから、インバータ1
5、16、17と4入力ANDゲート14によりシフト
量信号SH4を作成できる。さらに前記シフト量が正の
場合左シフト、前記シフト量が負の場合右シフトとすれ
ば、右シフト信号Rはシフト制御信号S4、左シフト信
号Lはシフト制御信号S4をインバータ18で反転して
作成できる。
【0017】以上説明した従来のバレルシフタ装置で
は、2の補数形式のシフト制御信号S4、S3、S2、
S1を入力して正数のシフト量を表すシフト量信号SH
3、SH2、SH1信号を作成するために2の補数変換
が必要であるため、シフト制御信号のビット数が増加
し、シフト量が大きくなる程前記2の補数変換における
+1加算に必要なキャリー伝搬時間が増加して高速化の
妨げとなる。また、図3で説明した様に、シフト制御信
号で表される負の最小値のためのみに最もシフト量が大
きいシフタ(図3の第4段シフタ)が必要となり、該シ
フタはシフト制御信号のビット数が1ビット増加する毎
に2倍のシフト量が必要となるため、その配線長もシフ
ト量に比例して増加し、バレルシフタ装置が大形化する
とともに、速度も低下する問題がある。
【0018】
【発明が解決しようとする課題】本発明の目的は、シフ
ト方向とシフト量を2の補数形式で表した制御信号によ
り入力データを指定方向に指定量シフトして出力するた
め、制御信号を入力とする2の補数変換回路と負の最小
値検出回路を不要とし、シフト制御部の金物量が大幅に
低減すると共に、配線長が大幅に短縮でき、小形化、高
速化が実現できるバレルシフタ装置を提供することにあ
る。
【0019】
【課題を解決するための手段】シフト制御信号で表され
るシフト量が負の場合には、シフト量を1だけ減らして
入力データを所定方向にシフトし、不足する1ビットシ
フトを追加する構成とすればよい。即ち、シフト量が負
の場合には、追加した1ビットシフタにより、−1ビッ
ト(図3の例では右側へ1ビット)シフトさせることに
より、シフト量が負の最小値の場合には、図3の例では
第1段シフタ〜第3段シフタにより−7(右側へ7)ビ
ットをシフトできれば全体で−8ビットシフトが実現で
きる。
【0020】従って本発明の構成は以下に示す通りであ
る。即ち、nビットの2の補数形式の制御信号により+
(2n-1 −1)ビットから−2n-1 ビットまで入力デー
タを上位または下位にシフトして出力するバレルシフタ
装置において、前記制御信号の最上位ビットが“1”の
場合、下位または上位へ1ビット入力データをシフト
し、前記最上位ビットが“0”の場合、入力データをシ
フト無く出力させるセレクタと、前記最上位ビットが
“0”の場合、前記最上位ビットを除くn−1ビットの
内最下位からi桁目(iはn−1≧i≧1の整数)が
“1”ならば入力データを上位または下位に2i-1 ビッ
トシフトし、前記i桁目が“0”ならば前記入力データ
をシフト無しに出力し、前記最上位ビットが“1”の場
合、前記i桁目が“0”ならば入力データを下位または
上位へ2i-1 ビットシフトし、前記i桁目が“1”なら
ば前記入力データをシフト無しに出力する、前記n−1
ビットに対応するn−1個のセレクタとを有することを
特徴とするバレルシフタ装置としての構成を有する。
【0021】
【作用】これにより、従来の構成で必要とした最小値の
みのために用いられ最もシフト量が大きいシフタ(図3
の第4段シフタ)を小形な1ビットのみシフトするシフ
タに置換えられる。さらに、前記1ビットシフタは従来
の構成で必要とした2の補数変換における+1加算と同
一機能、即ちシフト制御信号で表されるシフト量が負の
場合に+1加算することは図3の構成で右側に1ビット
シフトを行うことと同一動作となるため、高速化の妨げ
となる+1加算回路が不要となり、従来の構成における
各課題が解決できる。
【0022】
【実施例】本発明の実施例を以下に図面により詳細に説
明する。
【0023】図1は本発明によるバレルシフタ装置の構
成例であり、20、21、22、23はセレクタ、2
4、25、26、27はセレクト信号発生回路、信号記
号のA12〜A1はデータ入力、X12〜X1はデータ
出力、S4〜S1はシフト制御信号であり、シフト制御
信号S4は符号を表す最上位ビット、FMは上位埋めデ
ータ、FLは下位埋めデータである。図1において、セ
レクタ20と同一のセレクタが11個セレクタ20の右
側に配置され、計12個のセレクタ(以下第1段シフタ
称す)のIT端子に入力データA12〜A1が各々入力
されると共に、データ入力Ai(i=12〜2)は各々
右隣のセレクタのIR端子へ入力され、データ入力A1
2がIT端子へ入力されるセレクタ20のIR端子には
上位埋めデータFMが入力されている。セレクタ20は
図6に示したセレクタと同一であり、第1段シフタを構
成する全てのセレクタのRi端子はセレクト信号発生回
路24のYR端子(信号名R4)に、Ti端子はセレク
ト信号発生回路24のYT端子(信号名T4)に接続さ
れている(図1では省略)。セレクト信号発生回路24
は図7に示したセレクト信号発生回路と同一であり、A
端子にはシフト制御信号S4が入力される。これによ
り、シフト制御信号S4が“0”、即ちシフト量が0を
含む正の場合にはセレクト信号発生回路24の出力信号
T4は“1”となるため入力データA12〜A1はシフ
ト無しに第1段シフタから出力され、シフト制御信号S
4が“1”、即ちシフト量が負の場合にはセレクト信号
発生回路24の出力信号R4が“1”となるため入力デ
ータA12〜A1は右へ1ビットシフトして第1段シフ
タから出力される。
【0024】第1段シフタの出力はセレクタ21とこの
右側に配置された11個のセレクタ(以下第2段シフタ
と称する)に入力される。第2段シフタの12個のセレ
クタは図4に示したセレクタと同一であり、第1段シフ
タの各セレクタの出力端子Yは直下に配置された第2段
シフタのセレクタのIT端子に接続されると共に右側に
隣接するセレクタのIR端子と、左側に隣接するセレク
タのIL端子に接続されており、データの最上位のセレ
クタ21のIR端子には上位埋めデータFMが、データ
の最下位のセレクタのIL端子には下位埋めデータFL
が入力されている。第2段シフタを構成する12個のセ
レクタのRi端子、Ti端子、Li端子は各々セレクト
信号発生回路25のYR端子(信号名R1)、YT端子
(信号名T1)、YL端子(信号名L1)に接続されて
おり(図1では省略)、セレクト信号発生回路25のM
端子にシフト制御信号S4が、S端子にシフト制御信号
S1が入力されている。
【0025】図2はセレクト信号発生回路25の論理回
路例であり、140、141は2入力ANDゲート、1
42は排他的NORゲート、143、144はインバー
タであり、2入力ANDゲート140の入力にはM端子
とインバータ143の出力が、2入力ANDゲート14
0の出力はYR端子に接続され、2入力ANDゲート1
41の入力にはS端子とインバータ144の出力が、2
入力AND141ゲートの出力はYL端子に接続され、
インバータ143の入力はS端子に、インバータ144
の入力はM端子に接続され、排他的NORゲート142
の出力はS端子とM端子に、排他的NORゲート142
の出力はYT端子に接続されている。M端子が“0”で
S端子が“1”の場合にはYL端子が“1”となるた
め、図1においてシフト制御信号の符号ビットであるS
4が“0”、即ちシフト量が正でシフト制御信号S1が
“1”の場合にYL端子が“1”となり、図3の第1段
シフタの動作と同様に、前記第2段シフタは1ビット左
シフト動作となる。図2においてM端子が“1”でS端
子が“0”の場合にはYR端子が“1”となるため、図
1においてシフト制御信号の符号ビットであるS4が
“1”、即ちシフト量が負でシフト制御信号S1が
“0”の場合にYR端子が“1”となり、図3の第1段
シフタの動作と同様に、前記第2段シフタは1ビット右
シフト動作となる。図2においてM端子が“0”でS端
子が“0”の場合またはM端子が“1”でS端子が
“1”の場合にはYT端子は“1”、YL端子とYR端
子は共に“0”となるため、図1においてシフト制御信
号の符号ビットが負でシフト制御信号S1が“1”の場
合またはシフト制御信号の符号ビットが正でシフト制御
信号S1が“0”の場合にYT端子が“1”となり、図
3の第1段シフタの動作と同様に、前記第2段シフタは
シフト無しの動作となる。即ち、前記第2段シフタはシ
フト制御信号S4で表されるシフト量が正の場合にはシ
フト制御信号S1が“1”なら1ビット左シフト、シフ
ト制御信号S4で表されるシフト量が負の場合にはシフ
ト制御信号S1が“0”なら1ビット右シフト、シフト
制御信号S4、S1の上記以外の組合せではシフト無し
となる。
【0026】図1に示す第2段シフタの出力はセレクタ
22とこの右側に配置された11個のセレクタ( 以下第
3段シフタと称する)に入力される。第3段シフタの1
2個のセレクタは図4に示したセレクタと同一であり、
第2段シフタの出力端子Yは直下に配属された第3段シ
フタのセレクタのIT端子に接続されると共に、右側に
2ビット離れたセレクタのIR端子と、左側に2ビット
離れたセレクタのIL端子に接続されており、データの
最上位から2個のセレクタのIR端子には上位埋めデー
タFMが、データの最下位から2個のセレクタのIL端
子には下位埋めデータFLが入力されている。第3段シ
フタを構成する12個のセレクタのRi端子、Ti端
子、Li端子は各々セレクト信号発生回路26のYR端
子(信号名R2)、YT端子(信号名T2)、YL端子
(信号名L2)に接続されており(図1では省略)、セ
レクト信号発生回路26のM端子にシフト制御信号S4
が、S端子にはシフト制御信号S2が入力されている。
上記第3段シフタの動作は前記説明よりセレクト信号発
生回路26のYR端子(信号名R2)が“1”の場合に
は右2ビットシフト、YT端子(信号名T2)が“1”
の場合にはシフト無し、YL端子(信号名L2)が
“1”の場合には左2ビットシフトであり、セレクト信
号発生回路26はセレクト信号発生回路25と同一の機
能であることから、該第3段シフタはシフト制御信号S
4で表されるシフト量が正の場合にはシフト制御信号S
2が“1”なら2ビット左シフト、シフト制御信号S4
で表されるシフト量が負の場合にはシフト制御信号S2
が“0”なら2ビット右シフト、シフト制御信号S4、
S2の上記以外の組合せではシフト無しとなる。
【0027】図1に示す第3段シフタの出力はセレクタ
23とこの右側に配置された11個のセレクタ(以下第
4段シフタと称する)に入力される。第4段シフタの1
2個のセレクタは図4に示したセレクタと同一であり、
第3段シフタのセレクタの出力端子Yは直下に配属され
た第4段シフタのセレクタIT端子に接続されると共
に、右側に4ビット離れたセレクタのIR端子と、左側
に4ビット離れたセレクタのIL端子に接続されてお
り、データの最上位から4個のセレクタのIR端子には
上位埋めデータFMが、データの最下位から4個のセレ
クタのIL端子には下位埋めデータFLが入力されてい
る。第4段シフタを構成する12個のセレクタのRi端
子、Ti端子、Li端子は各々セレクト信号発生回路2
7のYR端子(信号名R3)、YT端子(信号名T
3)、YL端子(信号名L3)に接続されており(図1
では省略)、セレクト信号発生回路27のM端子にシフ
ト制御信号S4が、S端子にはシフト制御信号S3が入
力され、第4段シフタを構成する12個のセレクタのY
端子から出力データX12〜X1が出力される。上記第
4段シフタの動作は前記説明よりセレクト信号発生回路
27のYR端子(信号名R3)が“1”の場合には右4
ビットシフト、YT端子(信号名T3)が“1”の場合
にはシフト無し、YL端子(信号名L3)が“1”の場
合には左4ビットシフトであり、セレクト信号発生回路
27はセレクト信号発生回路25と同一の機能であるこ
とから、該第4段シフタはシフト制御信号S4で表され
るシフト量が正の場合にはシフト制御信号S3が“1”
なら4ビット左シフト、シフト制御信号S4で表される
シフト量が負の場合にはシフト制御信号S3が“0”な
ら4ビット右シフト、シフト制御信号S4、S3の上記
以外の組合せではシフト無しとなる。
【0028】以上説明した様に、図1の第2段〜第4段
シフタはシフト制御信号S4で表されるシフト量が正の
場合にはシフト制御信号S3、S2、S1で表される7
〜1のビット数だけ左側にシフトし、シフト制御信号S
4で表されるシフト量が負の場合にはシフト制御信号S
3、S2、S1の反転で表される7〜1のビット数だけ
右側にシフトし、図1の第1段シフタはシフト制御信号
で表されるシフト量が負の場合のみ1ビット右側にシフ
トし、シフト制御信号S4、S3、S2、S1が全て
“0”の場合にはシフト無しの動作となる。即ち従来構
成で必要とした2の補数変換の内シフト制御信号で表さ
れるデータを反転する機能を図1の第2段〜第4段シフ
タで実現でき、2の補数変換の+1加算機能を図1の第
1段シフタで実現できるため、図1の構成は図3〜図1
0で説明した従来の構成と同一機能、即ち4ビットの2
の補数形式のシフト制御信号により+7ビットから−8
ビット分入力データを左または右方向にシフトして出力
できる。図1に示す構成では、2の補数変換で必要とな
る+1加算用論理を必要としないため、シフト制御信号
のビット数が増加、即ちシフト量が増加してもシフト制
御回路の遅延時間が増加することはなく、従来構成で必
要とした負の最小検出論理は必要とせず第1段シフタに
おいてシフト制御信号の符号ビットであるS4を反転し
て1ビット右シフト制御信号R4を作成すればよいた
め、シフト制御回路の金物量は大幅に低減する。また、
従来の構成で必要とした負の最小値分の右シフト論理
(図3の第4段シフタ)はシフト制御信号のビット数に
関係なく1ビット右シフト論理(図1の第1段シフタ)
に置換わるため、従来の構成で問題となった配線長増大
の問題が無くなり、バレルシフト装置の小形化と高速化
が実現できる。
【0029】図1に示す本発明による実施例では、シフ
ト制御信号の符号ビットが負の場合に1ビット右シフト
させる機能を入力データA12〜A1が入力される第1
段に設けたが、第1段シフタ〜第4段シフタは各段共独
立の機能であるため、接続順序を入替えてもバレルシフ
タ装置の機能動作は同一であることは明らかである。
【0030】また、本発明の実施例ではシフト制御信号
で表される値が正の場合左シフト、負の場合右シフトと
したが、前記シフト制御信号で表されるデータの極性と
シフト方向の関係を逆にする場合には図1の第2段〜第
4段シフタにおいてセレクト信号発生回路の出力端子Y
RとYLを入れ換え、さらに図1の第1段シフタを1ビ
ット右シフトとなる様に入力接続を変更すれば所定の機
能が得られるため本発明の効果は変わらないことは明ら
かである。なお、入力データA12〜A1のA12を入
力データの最上位ビットとすれば、前記説明における左
シフトは上位シフト、右シフトは下位シフトとなる。
【0031】
【発明の効果】以上説明した様に、nビット(実施例で
はn=4)の2の補数形式の制御信号により+(2n-1
−1)ビットから−2n-1 ビットまで2進形式の入力デ
ータを上位または下位にシフトして出力するバレルシフ
タ装置において、制御信号の最上位ビットが“1”の場
合下位(または上位)へ1ビット入力データをシフト
し、最上位ビットが“0”の場合入力データをシフト無
く出力させるセレクタと、最上位ビットが“0”の場
合、最上位ビットを除くn−1ビットの内最下位からi
桁目(iはn−1≧i≧1の正整数)が“1”ならば入
力データを上位(または下位)へ2i-1 ビットシフト
し、i桁目が“0”ならば入力データをシフト無しに出
力し、最上位ビットが“1”の場合、i桁目が“0”な
らば入力データを下位(または上位)へ2i-1 ビットシ
フトし、i桁目が“1”ならば入力データをシフト無し
に出力するセレクタを前記n−1ビットに対応してn−
1個を設けることにより、制御信号を入力とする2の補
数変換回路と負の最小値検出回路が不要となりシフト制
御部の金物量が大幅に低減すると共に、従来の構成で2
n-1ビットをシフトする論理構成が本発明により1ビッ
トシフトのみの論理構成に置換わることにより配線長が
大幅に短縮でき、小形化と高速化が実現できるため本発
明は極めて有用であり、ディジタル信号プロセッサなど
のディジタル信号処理装置の高性能に大きく貢献でき
る。
【図面の簡単な説明】
【図1】本発明によるバレルシフタ装置の構成例
【図2】図1を説明するためのセレクト信号発生回路の
論理回路例
【図3】従来のバレルシフタ装置のデータシフト部の構
成例
【図4】図3を説明するためのセレクタの論理回路例
【図5】図3を説明するためのセレクト信号発生回路の
論理回路例
【図6】図3を説明するためのセレクタの論理回路例
【図7】図3を説明するためのセレクト信号発生回路の
論理回路例
【図8】従来のバレルシフタ装置の制御部の構成例
【図9】図8を説明するためのセレクタの論理回路例
【図10】図8を説明するための2の補数変換回路の論
理回路例
【符号の説明】
1、2、3、4、11、12、13、20、21、2
2、23 セレクタ 5、6、7、8、24、25、26、27 セレクト信
号発生回路 10 2の補数変換回路 101、102、103、105、106、108、1
09、121、122、127、128、140、14
1 2入力ANDゲート 15、16、17、18、107、111、123、1
24、125、126、143、144 インバータ 110、120 2入力ORゲート 104 3入力ORゲート 14 4入力ANDゲート 129、130、131 排他的ORゲート 142 排他的NORゲート

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 nビットの2の補数形式の制御信号によ
    り+(2n-1-1)ビットから−2n-1 ビットまで入力デ
    ータを上位または下位にシフトして出力するバレルシフ
    タ装置において、 前記制御信号の最上位ビットが“1”の場合、下位また
    は上位へ1ビット入力データをシフトし、前記最上位ビ
    ットが“0”の場合、入力データをシフト無く出力させ
    るセレクタと、 前記最上位ビットが“0”の場合、前記最上位ビットを
    除くn−1ビットの内最下位からi桁目(iはn−1≧
    i≧1の整数)が“1”ならば入力データを上位または
    下位に2i-1 ビットシフトし、前記i桁目が“0”なら
    ば前記入力データをシフト無しに出力し、前記最上位ビ
    ットが“1”の場合、前記i桁目が“0”ならば入力デ
    ータを下位または上位へ2i-1 ビットシフトし、前記i
    桁目が“1”ならば前記入力データをシフト無しに出力
    する、前記n−1ビットに対応するn−1個のセレクタ
    とを有することを特徴とするバレルシフタ装置。
JP6197747A 1994-07-29 1994-07-29 バレルシフタ装置 Pending JPH0844533A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6197747A JPH0844533A (ja) 1994-07-29 1994-07-29 バレルシフタ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6197747A JPH0844533A (ja) 1994-07-29 1994-07-29 バレルシフタ装置

Publications (1)

Publication Number Publication Date
JPH0844533A true JPH0844533A (ja) 1996-02-16

Family

ID=16379675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6197747A Pending JPH0844533A (ja) 1994-07-29 1994-07-29 バレルシフタ装置

Country Status (1)

Country Link
JP (1) JPH0844533A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240520A (ja) * 1996-11-20 1998-09-11 At & T Corp 情報の流通の際に個人情報をキーとして用いる方法およびシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240520A (ja) * 1996-11-20 1998-09-11 At & T Corp 情報の流通の際に個人情報をキーとして用いる方法およびシステム

Similar Documents

Publication Publication Date Title
US4807172A (en) Variable shift-count bidirectional shift control circuit
US6411980B2 (en) Data split parallel shifter and parallel adder/subtractor
JPH0215088B2 (ja)
JPH0428180B2 (ja)
US5303175A (en) Floating point arithmetic unit
JP3507517B2 (ja) 2進数に於いて最も端にある「1」ビットの位置検出回路
US5129066A (en) Bit mask generator circuit using multiple logic units for generating a bit mask sequence
EP0661820B1 (en) Parallel-to-serial data conversion circuit
JPH0844533A (ja) バレルシフタ装置
US5140546A (en) Adder circuit apparatus
JP2541758B2 (ja) 剰余算出回路
KR20010014902A (ko) 3입력 분할 가산기
US6738792B1 (en) Parallel mask generator
JP2766133B2 (ja) パラレル・シリアル・データ変換回路
US4206458A (en) Numerical display system for electronic instrument
JP5253406B2 (ja) デジタル電子バイナリ回転器及び反転器
US6522690B1 (en) Zero determination signal generating circuit
KR970005175A (ko) 파이프라인 구조에 근거한 곱셈/나눗셈 공유 처리기 구조
KR20040045292A (ko) 고속 가산기
JP3540136B2 (ja) データ分割並列シフタ
JP3535670B2 (ja) 浮動小数点数の仮数正規化回路
JPH09185493A (ja) 加算器用集積回路
JPH11282651A (ja) 並列乗算器
JP2518973B2 (ja) 丸め機能付加算器およびこれを用いた乗算器
EP0308061A2 (en) Mask generation circuit