JPH05334042A - バレルシフタ回路 - Google Patents
バレルシフタ回路Info
- Publication number
- JPH05334042A JPH05334042A JP4136549A JP13654992A JPH05334042A JP H05334042 A JPH05334042 A JP H05334042A JP 4136549 A JP4136549 A JP 4136549A JP 13654992 A JP13654992 A JP 13654992A JP H05334042 A JPH05334042 A JP H05334042A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- bits
- selector
- data
- circuit
- 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
Abstract
(57)【要約】
【目的】 任意のビットシフトを高速に行える小規模な
バレルシフタ回路を実現する。 【構成】 kビットのデータの各ビットから連続したn
ビットのうち1ビットを選択する第1のセレクタ群11
と、この第1のセレクタ群11によって選択されたデー
タの各ビットから(n−1)ビット間隔に並んだlビッ
トのそれぞれから1ビットを選択する第2のセレクタ群
18を有している。
バレルシフタ回路を実現する。 【構成】 kビットのデータの各ビットから連続したn
ビットのうち1ビットを選択する第1のセレクタ群11
と、この第1のセレクタ群11によって選択されたデー
タの各ビットから(n−1)ビット間隔に並んだlビッ
トのそれぞれから1ビットを選択する第2のセレクタ群
18を有している。
Description
【0001】
【産業上の利用分野】本発明は、デジタルシグナルプロ
セッサにおいて、データを任意のビットシフトを行う回
路に関するものである。
セッサにおいて、データを任意のビットシフトを行う回
路に関するものである。
【0002】
【従来の技術】以下、従来のバレルシフタ回路について
説明する。図2は従来の16通りのシフトが実現できる
バレルシフタ回路の第一の例である。15cから0cは
16ビットの入力データ、1rから4rまでは任意に決
定できるデータ、21は16ビットから1ビットを選択
するセレクト回路、22は16ビットのうちどのビット
を選択するか決定する4ビットのセレクタ制御信号、1
5dから11dまでシフトされた16ビットのうちの5
ビットデータ。以下その動作について説明する。まず2
2のセレクタ制御信号に従い15cから0cまでの16
ビットデータから21のセレクタ回路で1ビットを選択
する。15dを決定するセレクタが15cを選択すれば
シフトなし、14cを選択すれば1ビット左シフト0c
を選択すれば15ビット左シフトしたことになる。同様
に14dから下位ビットのデータも22のセレクタ制御
信号に基づきデータを選択する。11d以下にセレクタ
を設け、図2の回路配線を繰り返すことにより16ビッ
トのデータをつくることができる。また、1rから4r
には0を挿入するか入力データが16ビットより多ビッ
トデータの場合には下位データをいれたりする。しかし
ながら上記の構成で使用するセレクタ回路の構成を図4
から考えると1つのセレクタで16のアンド回路を使用
し、16ビットの場合16個セレクタが必要なので16
×16=256のアンド回路が必要となりハード規模が
大きくなるのでLSI化には適さない。
説明する。図2は従来の16通りのシフトが実現できる
バレルシフタ回路の第一の例である。15cから0cは
16ビットの入力データ、1rから4rまでは任意に決
定できるデータ、21は16ビットから1ビットを選択
するセレクト回路、22は16ビットのうちどのビット
を選択するか決定する4ビットのセレクタ制御信号、1
5dから11dまでシフトされた16ビットのうちの5
ビットデータ。以下その動作について説明する。まず2
2のセレクタ制御信号に従い15cから0cまでの16
ビットデータから21のセレクタ回路で1ビットを選択
する。15dを決定するセレクタが15cを選択すれば
シフトなし、14cを選択すれば1ビット左シフト0c
を選択すれば15ビット左シフトしたことになる。同様
に14dから下位ビットのデータも22のセレクタ制御
信号に基づきデータを選択する。11d以下にセレクタ
を設け、図2の回路配線を繰り返すことにより16ビッ
トのデータをつくることができる。また、1rから4r
には0を挿入するか入力データが16ビットより多ビッ
トデータの場合には下位データをいれたりする。しかし
ながら上記の構成で使用するセレクタ回路の構成を図4
から考えると1つのセレクタで16のアンド回路を使用
し、16ビットの場合16個セレクタが必要なので16
×16=256のアンド回路が必要となりハード規模が
大きくなるのでLSI化には適さない。
【0003】次に図2に上記バレルシフタ回路のハード
規模が大きくなるという問題点を解決したバレルシフタ
回路の例を示す。15eから6eは入力データ、35は
2ビットから1ビットを選択するセレクト回路、31か
ら34は2ビットのうちどちらを選択するか決定する1
ビットのセレクタ制御信号、15fから6fまでシフト
された出力データ。以下その動作について説明する。ま
ず連続した2ビットから(例えば15eと14e)から
第一段目のセレクタ群35によってそれぞれ1ビットを
選択する。この時どちらのビットを選択するかは31の
選択制御信号によって決定する。次に図3に示すように
第1段目のセレクタ群の1ビットおきの出力の2ビット
から第2段目のセレクタ群35によって1ビットを選択
する。この時どちらのビットを選択するかは32の選択
制御信号によって決定する。ここまでの動作により第2
段目のセレクタ群の出力は、第1段目の4ビットから1
ビットを選択したことに相当し、4通りのシフトを行う
ことができる。次に図3に示すように第2段目のセレク
タ群の3ビットおきの出力の2ビットから第3段目のセ
レクタ群35によって1ビットを選択する。この時どち
らのビットを選択するかは33の選択制御信号によって
決定する。ここまでの動作により第3段目のセレクタ群
の出力は、第1段目の8ビットから1ビットを選択した
ことに相当し、8通りのシフトを行うことができる。次
に図3に示すように第3段目のセレクタ群の7ビットお
きの出力の2ビットから第4段目のセレクタ群35によ
って1ビットを選択する。この時どちらのビットを選択
するかは34の選択制御信号によって決定する。ここま
での動作により第4段目のセレクタ群の出力は、第1段
目の16ビットから1ビットを選択したことに相当し、
16通りのシフトを行うことができる。この場合セレク
タを構成する回路の例を図4から考えると1つのセレク
タは2つのアンド回路で構成できる。16ビットのデー
タを扱うときは1段目のセレクタ群で16のセレクタが
必要であり、16通りのシフトをするには4段必要とな
るので、2×16×4=128のアンド回路が必要であ
る。これは第1の例と比較すると半分のアンド回路で構
成できる。
規模が大きくなるという問題点を解決したバレルシフタ
回路の例を示す。15eから6eは入力データ、35は
2ビットから1ビットを選択するセレクト回路、31か
ら34は2ビットのうちどちらを選択するか決定する1
ビットのセレクタ制御信号、15fから6fまでシフト
された出力データ。以下その動作について説明する。ま
ず連続した2ビットから(例えば15eと14e)から
第一段目のセレクタ群35によってそれぞれ1ビットを
選択する。この時どちらのビットを選択するかは31の
選択制御信号によって決定する。次に図3に示すように
第1段目のセレクタ群の1ビットおきの出力の2ビット
から第2段目のセレクタ群35によって1ビットを選択
する。この時どちらのビットを選択するかは32の選択
制御信号によって決定する。ここまでの動作により第2
段目のセレクタ群の出力は、第1段目の4ビットから1
ビットを選択したことに相当し、4通りのシフトを行う
ことができる。次に図3に示すように第2段目のセレク
タ群の3ビットおきの出力の2ビットから第3段目のセ
レクタ群35によって1ビットを選択する。この時どち
らのビットを選択するかは33の選択制御信号によって
決定する。ここまでの動作により第3段目のセレクタ群
の出力は、第1段目の8ビットから1ビットを選択した
ことに相当し、8通りのシフトを行うことができる。次
に図3に示すように第3段目のセレクタ群の7ビットお
きの出力の2ビットから第4段目のセレクタ群35によ
って1ビットを選択する。この時どちらのビットを選択
するかは34の選択制御信号によって決定する。ここま
での動作により第4段目のセレクタ群の出力は、第1段
目の16ビットから1ビットを選択したことに相当し、
16通りのシフトを行うことができる。この場合セレク
タを構成する回路の例を図4から考えると1つのセレク
タは2つのアンド回路で構成できる。16ビットのデー
タを扱うときは1段目のセレクタ群で16のセレクタが
必要であり、16通りのシフトをするには4段必要とな
るので、2×16×4=128のアンド回路が必要であ
る。これは第1の例と比較すると半分のアンド回路で構
成できる。
【0004】
【発明が解決しようとする課題】このような従来のバレ
ルシフタ回路では入力から出力まで4段のセレクタ群を
通過するので高速な動作に対応できないという欠点があ
った。
ルシフタ回路では入力から出力まで4段のセレクタ群を
通過するので高速な動作に対応できないという欠点があ
った。
【0005】本発明は上記従来のハード規模が大きくな
ってしまうという問題点と、高速な動作に対応できない
という問題点を解決するためのバレルシフタ回路を提供
することを目的とする。
ってしまうという問題点と、高速な動作に対応できない
という問題点を解決するためのバレルシフタ回路を提供
することを目的とする。
【0006】
【課題を解決するための手段】この目的を達成するため
の本発明のバレルシフタ回路は、kビットのデータの中
の各ビットから連続したnビットのうち1ビット選択す
る第一の選択回路群と、上記によって選択されたデータ
の各ビットから(n−1)ビット間隔に並ぶlビットの
データ群のそれぞれから1ビット選択する第2の選択回
路群を有する。
の本発明のバレルシフタ回路は、kビットのデータの中
の各ビットから連続したnビットのうち1ビット選択す
る第一の選択回路群と、上記によって選択されたデータ
の各ビットから(n−1)ビット間隔に並ぶlビットの
データ群のそれぞれから1ビット選択する第2の選択回
路群を有する。
【0007】
【作用】これによりシフトする段数が減ったために、入
力が決定してから出力が決定するまでの時間を短縮で
き、高速性を実現できる。また選択回路が2ビット選択
より大きくすることにより、シフトする段数を減らして
も、従来と同じ任意のシフトを小規模の回路で実現でき
る。
力が決定してから出力が決定するまでの時間を短縮で
き、高速性を実現できる。また選択回路が2ビット選択
より大きくすることにより、シフトする段数を減らして
も、従来と同じ任意のシフトを小規模の回路で実現でき
る。
【0008】
【実施例】以下本発明の一実施例について、図面を参照
しながら説明する。一例として16ビットデータを16
通りにシフトする場合を示す。
しながら説明する。一例として16ビットデータを16
通りにシフトする場合を示す。
【0009】図1は本発明のバレルシフタ回路の構成を
示すものである。15a〜0aは入力データ、11は4
ビットから1ビットを選択する第一群のセレクタ回路、
18は4ビットから1ビットを選択する第二群のセレク
タ回路、12,13は4ビットのうちどのビットを選択
するか決定する2ビットのセレクタ制御信号、15b〜
0bまでシフトされた出力データ。
示すものである。15a〜0aは入力データ、11は4
ビットから1ビットを選択する第一群のセレクタ回路、
18は4ビットから1ビットを選択する第二群のセレク
タ回路、12,13は4ビットのうちどのビットを選択
するか決定する2ビットのセレクタ制御信号、15b〜
0bまでシフトされた出力データ。
【0010】以下その動作について説明する。16ビッ
トのデータの中の各ビットから連続した4ビット(例え
ば15a〜12a)のうちから1ビットを、第一の選択
回路群11によって選択する。この時どのビットを選択
するかは、選択制御信号12によって決定する。この時
選択方法は4通りであるので、2ビットの信号で制御で
きる。これにより第一の選択回路群で、4通りのシフト
を行うことができる。次に第一の選択回路群で選択され
た4ビットおきに連続する出力の4ビットから第2段目
のセレクタ群18によって1ビットを選択する。この時
どのビットを選択するかは13の選択制御信号によって
決定する。これにより第一の選択回路群と第二の選択回
路群で、16通りのシフトを行うことができる。これに
ついて15bのデータが決定されるまでの過程を例に詳
しく説明する。15bを出力するセレクタの入力14は
15a〜12aの4ビットのうちの1ビットである。1
5bを出力するセレクタの入力15は11a〜8aの4
ビットのうちの1ビットである。15bを出力するセレ
クタの入力16は7a〜4aの4ビットのうちの1ビッ
トである。15bを出力するセレクタの入力17は3a
〜0aの4ビットのうちの1ビットである。上記の14
〜17を入力とするセレクタは15a〜0aまでのデー
タを選択できる。つまり16通りのシフトができる。ま
た、1s、2sには0を挿入するか入力データが16ビ
ットより多ビットデータの場合には下位データをいれた
りする。3sのデータには図1の回路配線を繰り返すこ
とにより第1の選択回路群を追加して作成したデータを
入力する。以上のように本実施例によれば、入力データ
が決定されてから出力データが決定するまでのセレクタ
群の段数が従来の半分になったので高速性が実現でき
る。しかもこの場合セレクタを構成する回路の例を図4
から考えると1つのセレクタは4つのアンド回路で構成
でき、16ビットのデータを扱うときは1段目のセレク
タ群で16のセレクタが必要で、16通りのシフトをす
るには2段必要であり、これらを4×16×2=128
のアンド回路で構成できるので、回路規模が大きくなら
ないという効果が得られる。
トのデータの中の各ビットから連続した4ビット(例え
ば15a〜12a)のうちから1ビットを、第一の選択
回路群11によって選択する。この時どのビットを選択
するかは、選択制御信号12によって決定する。この時
選択方法は4通りであるので、2ビットの信号で制御で
きる。これにより第一の選択回路群で、4通りのシフト
を行うことができる。次に第一の選択回路群で選択され
た4ビットおきに連続する出力の4ビットから第2段目
のセレクタ群18によって1ビットを選択する。この時
どのビットを選択するかは13の選択制御信号によって
決定する。これにより第一の選択回路群と第二の選択回
路群で、16通りのシフトを行うことができる。これに
ついて15bのデータが決定されるまでの過程を例に詳
しく説明する。15bを出力するセレクタの入力14は
15a〜12aの4ビットのうちの1ビットである。1
5bを出力するセレクタの入力15は11a〜8aの4
ビットのうちの1ビットである。15bを出力するセレ
クタの入力16は7a〜4aの4ビットのうちの1ビッ
トである。15bを出力するセレクタの入力17は3a
〜0aの4ビットのうちの1ビットである。上記の14
〜17を入力とするセレクタは15a〜0aまでのデー
タを選択できる。つまり16通りのシフトができる。ま
た、1s、2sには0を挿入するか入力データが16ビ
ットより多ビットデータの場合には下位データをいれた
りする。3sのデータには図1の回路配線を繰り返すこ
とにより第1の選択回路群を追加して作成したデータを
入力する。以上のように本実施例によれば、入力データ
が決定されてから出力データが決定するまでのセレクタ
群の段数が従来の半分になったので高速性が実現でき
る。しかもこの場合セレクタを構成する回路の例を図4
から考えると1つのセレクタは4つのアンド回路で構成
でき、16ビットのデータを扱うときは1段目のセレク
タ群で16のセレクタが必要で、16通りのシフトをす
るには2段必要であり、これらを4×16×2=128
のアンド回路で構成できるので、回路規模が大きくなら
ないという効果が得られる。
【0011】
【発明の効果】本発明は、kビットのデータの中の各ビ
ットから連続したnビットのうち1ビット選択する第一
の選択回路群と、上記によって選択されたデータの各ビ
ットからn−1ビット間隔に並ぶlビットのデータ群の
それぞれから1ビット選択する第2の選択回路群を有す
ることにより、高速、小規模な優れたバレルシフタ回路
を実現するものである。
ットから連続したnビットのうち1ビット選択する第一
の選択回路群と、上記によって選択されたデータの各ビ
ットからn−1ビット間隔に並ぶlビットのデータ群の
それぞれから1ビット選択する第2の選択回路群を有す
ることにより、高速、小規模な優れたバレルシフタ回路
を実現するものである。
【図1】本発明の一実施例における16通りのシフトを
実現するためのバレルシフタ回路の構成図
実現するためのバレルシフタ回路の構成図
【図2】従来16通りのシフトを実現するためのバレル
シフタ回路の構成図
シフタ回路の構成図
【図3】従来16通りのシフトを実現するためのバレル
シフタ回路の構成図
シフタ回路の構成図
【図4】セレクタ回路の構成図
11 セレクタ回路 12,13 セレクタ制御信号 15a〜0a 入力データ 15b〜0b 出力データ 15c〜0c 入力データ 15d〜11d 出力データ 15e〜6e 入力データ 15f〜6f 出力データ 18 セレクタ回路 21 セレクタ回路 22 セレクタ制御信号 31〜34 セレクタ制御信号 35 セレクタ回路 41 アンド回路 42 オア回路
Claims (2)
- 【請求項1】kビットのデータの中の各ビットから連続
したnビットのうち1ビット選択する第一のk個の選択
回路群と、前記第一のk個の選択回路群によって選択さ
れたkビットデータの各ビットからnビットおきに、連
続するmビットのデータ群のそれぞれから1ビット選択
する第2のk個の選択回路群と、前記第一のk個の選択
回路群でどのビットを選択するかを制御するための第1
の信号と、前記第二のk個の選択回路群でどのビットを
選択するかを制御するための第2の信号を有するバレル
シフタ回路。 - 【請求項2】多ビットのデータを任意にシフトする場
合、n=4、l=4にすることによって、回路規模を小
さくした請求項1に記載のバレルシフタ回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4136549A JPH05334042A (ja) | 1992-05-28 | 1992-05-28 | バレルシフタ回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4136549A JPH05334042A (ja) | 1992-05-28 | 1992-05-28 | バレルシフタ回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05334042A true JPH05334042A (ja) | 1993-12-17 |
Family
ID=15177816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4136549A Pending JPH05334042A (ja) | 1992-05-28 | 1992-05-28 | バレルシフタ回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05334042A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008502975A (ja) * | 2004-06-16 | 2008-01-31 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ処理装置 |
JP2010028241A (ja) * | 2008-07-15 | 2010-02-04 | Sony Corp | ビット選択回路 |
-
1992
- 1992-05-28 JP JP4136549A patent/JPH05334042A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008502975A (ja) * | 2004-06-16 | 2008-01-31 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ処理装置 |
US9239702B2 (en) | 2004-06-16 | 2016-01-19 | Intel Corporation | Data processing apparatus |
JP2010028241A (ja) * | 2008-07-15 | 2010-02-04 | Sony Corp | ビット選択回路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1175154A (en) | Shift circuit | |
EP0390310A3 (en) | Data packer | |
US4907171A (en) | Image size converter | |
GB2119976A (en) | Shift circuit | |
JPH0531769B2 (ja) | ||
JPH05334042A (ja) | バレルシフタ回路 | |
JPS5965376A (ja) | アドレス制御回路 | |
JP2766133B2 (ja) | パラレル・シリアル・データ変換回路 | |
JPH07112146B2 (ja) | 可変遅延回路 | |
US8023614B2 (en) | Counting circuit and address counter using the same | |
JPS58129855A (ja) | パルスパタ−ン良否判定回路 | |
JP2679820B2 (ja) | ビット反転装置 | |
US7123679B2 (en) | Counter having improved counting speed | |
JPH0721011A (ja) | Mosシフト回路装置 | |
JPH041994A (ja) | 可変長シフトレジスタ回路 | |
KR0153960B1 (ko) | 배럴 쉬프터 회로 | |
JPS5962950A (ja) | シフト装置 | |
JP2643576B2 (ja) | 高速フーリエ変換用番地発生回路 | |
JP3230344B2 (ja) | シャフリング回路 | |
JPH04168811A (ja) | デインターリーブ回路 | |
JP2937234B2 (ja) | バレルシフタ | |
JPH0431977A (ja) | 色データの拡張回路 | |
JPH1185464A (ja) | バレルシフタ回路 | |
JPH0391829A (ja) | ビットデータ転送回路 | |
JPH0277933A (ja) | データ転送装置 |