JPH07200252A - バレルシフタ回路 - Google Patents

バレルシフタ回路

Info

Publication number
JPH07200252A
JPH07200252A JP5336204A JP33620493A JPH07200252A JP H07200252 A JPH07200252 A JP H07200252A JP 5336204 A JP5336204 A JP 5336204A JP 33620493 A JP33620493 A JP 33620493A JP H07200252 A JPH07200252 A JP H07200252A
Authority
JP
Japan
Prior art keywords
data
latch
shift
bits
output
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
JP5336204A
Other languages
English (en)
Inventor
Shiro Fujiwara
司郎 藤原
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP5336204A priority Critical patent/JPH07200252A/ja
Priority to US08/365,448 priority patent/US5532949A/en
Publication of JPH07200252A publication Critical patent/JPH07200252A/ja
Pending 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/015Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices

Abstract

(57)【要約】 【目的】回路規模を縮小したバレルシフタ回路を提供す
る。 【構成】(n+m)ビットのラッチ回路155、ラッチ
回路に保持されている有効なビット長を示すレジスタ1
07、最長nビットの可変長符号をラッチ108に接続
するセレクタ103、シフト数を計数するカウンタ回路
を設け、ラッチ108をkビットで分割し、前回シフト
した値とレジスタ107の値の差分だけビットずつシフ
トするようにセレクタ103を制御してラッチ108に
データを保持する。そして、レジスタ107の値がmを
超えた時にmビットを出力するともに、ラッチ108内
のデータをmビットシフトするようにセレクタ103を
制御する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入力データをそのシフ
ト量に応じてシフトするバレルシフタに関する。
【0002】
【従来の技術】ファクシミリ信号では、送信側で原画像
を符号化して送信し、受信側で復号化する処理が行われ
る。この処理は画素の白の部分の個数を白ラン、黒の部
分の個数を黒ランとしカウントし、その個数に対応して
特定の符号コードが割り当てられている。この特定の符
号コードは発生する頻度の高いものほど短い符号が割り
当てられている。これによってデータ量が著しく削減さ
れる。この符号コードは可変ビット長のデータであり、
可変ビット長のデータを取り扱う場合不便なことが多い
ので所定の長さにデータを揃える必要がある。
【0003】一方、静止画を圧縮する国際規格であるJ
PEGや動画を圧縮する国際規格MPEGにおいてもD
CT変換後、量子化し、有効係数が0の継続数と0でな
い有効係数をまとめて1つの符号データ系列に符号化す
る。この符号データも前述のファクシミリと同様に可変
ビット長のデータである。したがって、この可変ビット
長のデータを所定の長さのデータ長に揃える際にバレル
シフタが必要となる。
【0004】図6に従来のバレルシフタ回路の例を示
す。入力される符号データの最長のビット数を16ビッ
ト、出力する所定のデータ長を16ビットとして動作の
説明をする。図7にシフトレジスタ508、カウンタ5
06、カウンタ507の状態を示す。
【0005】初期状態でカウンタ507の値は0とす
る。1番目の符号データとして“1100111”が入
力されたとする。ラッチ501はこの符号データを保持
する。この符号の長さは7ビットであるからラッチ50
2には“7”が保持される。ラッチ502の出力はAL
U505で32−7=25の処理を行い、ロード信号5
51に同期してカウンタ507にロードされる。したが
って、ロード直後のカウンタ507の値は25となる。
【0006】ラッチ501に保持された符号データはロ
ード信号551に同期してパラレル/シリアル変換器5
03にロードされる。カウンタ507は32でキャリー
信号552が“1”になるようになっており、このキャ
リー信号552が立つまでクロック553を入力する。
キャリー信号552が立っているとき、シフトレジスタ
508はLSB側から数えて7ビットまでデータが入力
されており、カウンタ506の値は7になっている。こ
の状態が図7の状態1である。カウンタ506の値が1
6になっていないためキャリー信号554は“1”にな
らない。
【0007】次は、2番目の符号データ“111001
01001”が入力されたとする。この場合カウンタ5
07には32−11=21がロード信号551に同期し
てロードされる。クロック553を入力していくとカウ
ンタ506のキャリー信号554が“1”となり、制御
回路509はカウンタ507のカウンタ動作を停止す
る。この状態が図7の状態2である。
【0008】このとき、出力ラッチ510にラッチ信号
555を出力し、シフトレジスタ508のデータをラッ
チ510にラッチし、カウンタ506は一旦ここでリセ
ットされる。この状態が図6の状態3である。その後、
キャリー信号552が“1”になるまでカウンタ507
のカウンタ動作を再開する。キャリー信号552が
“1”になった時、カウンタ506の値は2であり、シ
フトレジスタ508のLSB側から数えて2ビット目ま
でデータが入力されている。この状態が図7の状態4で
ある。
【0009】
【発明が解決しようとする課題】前述のような構成の場
合、例えば11ビットの符号データを処理すると11ク
ロックかかることにより、高速に処理を行う上で問題と
なっていた。特開昭53−57576では2ビットある
いは1ビットのシフトを行う機能をもったシフト回路を
用いて、この問題を解決しようとしている。しかし、回
路の構成は簡単であるが、符号データのビット長が長く
なると処理する時間(クロック数)が多くなり高速化に
は適していなかった。一方、特開平3−255723で
は1クロックでシフトする機能をもっているが、入力す
る符号のビット長が長くなると回路の規模が大きくなっ
てしまい、LSI等にするには不向きであった。
【0010】本発明は、上述の問題に鑑み、符号データ
のビット長が長くなっても回路の規模を小さくかつシフ
ト処理を高速に処理できることを目的とする。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、最大nビットからなる可変長符号データを入力し、
mビットの固定長データとして出力するバレルシフタ回
路において、バレルシフタ内に(n+m)ビットのラッ
チ、(n+m)ビットのラッチに保持されている有効な
ビット数を示すシフト制御レジスタ、入力された可変長
符号データを前述の(n+m)ビットのラッチに接続す
るためのデータセレクタ、1ビットずつのシフトをカウ
ントするカウンタ回路を設け、当該ラッチ回路を論理的
にkビットで分割し、第一段階のシフトとして前述の論
理分割の値kの整数倍で前述のシフト制御レジスタの値
を超える最初の値の分だけシフトしてラッチするように
前述のデータセレクタを制御し、第二段階のシフトとし
て第一段階のシフトした値とシフタ制御レジスタの値の
差分だけ1ビットずつシフトするように前述のデータセ
レクタを制御することを特徴とするものである。
【0012】
【実施例】以下図面を用いて本発明について説明する。
図1は本発明の実施例を示すブロック図である。ここで
はn=16、m=16、k=4とし、値は全て2進数で
記述する。
【0013】前段からのデータラッチ信号152で、可
変ビット長の符号データとその符号データのビット数を
表す符号長データは、それぞれ符号ラッチ101、符号
長ラッチ102に保持される。
【0014】ALU104は、今回入力された符号デー
タのビット数と前回までのシフト処理でデータラッチ1
08に保持されている有効データのビット数を加算して
出力する。この値は今回入力された符号データがシフト
処理された結果、データラッチ108に保持されている
データのビット数を表す。
【0015】引き算器105はシフト制御レジスタ10
7の出力157の値から“10000”の値を引く処理
を行う。この引き算器105の出力168は出力ラッチ
109に16ビットのデータがラッチされた後のデータ
ラッチ108に残っている有効なデータのビット数を示
す。
【0016】シフト制御レジスタ107は5ビットのラ
ッチ構成され、5ビットの出力はデータラッチ108に
保持されているデータの有効ビット数を表す。
【0017】ALU111の一方の入力にはシフト制御
レジスタ107の出力157の上位3ビットが入力さ
れ、もう一方にはシフト制御レジスタ107の出力15
7の下位ビットの論理和を取った結果に“00”を付加
したデータを入力する。つまり、シフト制御レジスタ1
07の出力157が4の倍数の時のみ“00”を、その
他の場合は“001”を入力することになる。ALU1
11の3ビット出力158はデータセレクタ103に入
力され、この値が第1段階のシフト量を決定する。
【0018】ALU113の一方の入力には、ALU1
11の出力158のLSB側に2ビットの“00”を付
加して5ビットとなった値が入力される。もう一方の入
力には、シフト制御レジスタ107の出力の2の補数を
取った値が入力され、前述の2ビットの“00”を付加
した5ビットの値と加算される。加算された結果のLS
B側2ビットの出力159が1ビットずつのシフトを行
う回数を表す。
【0019】カウンタ114は、2ビットのダウンカウ
ンタで構成され、ALU113の出力159をロード信
号167に同期してロードしダウンカウントを行う。A
LU113の出力159が1ビットずつシフトする回数
を表すので、カウンタの出力が0になるまでダウンカウ
ントを行う。
【0020】制御回路115はALU113の出力15
9が0であれば1ビットシフトを行わず、0でなければ
1ビットのシフトを行うため第2段階のシフト信号(以
下SSF信号と記す)161を有効にする。1ビットの
シフト回数はカウンタ114でカウントしているため、
制御回路115はカウンタ114の出力116が“0
0”になるまでSSF信号161を有効にし、“00”
になるとSSF信号161を無効にする。SSF信号1
61を無効にした後、シフト制御レジスタラッチ信号
(以下SFRL信号と記す)165を有効にすると、現
在のデータラッチ108に保持されている有効なデータ
のビット数がシフト制御レジスタ107にラッチされ
る。制御回路115はこの値が“10000”を超えて
いる場合、出力ラッチ信号164、164ビットシフト
信号(以下SF16信号と記す)162、及びSFRL
信号165を有効にする。出力ラッチ109には16ビ
ットのデータがラッチされ、データラッチ108は16
ビットシフトした値がラッチされる。SF16信号16
2が有効になるためシフト制御レジスタ107には、現
在シフト制御レジスタ107が保持している値から“1
0000”引いた値が入力され、SFRL信号165が
有効であるためその値がラッチされる。図4に制御回路
115の制御フローを示す。
【0021】図5にシフト制御レジスタ107の値によ
るALU111の3ビットの出力値、ALU113の2
ビットの出力値を示す。
【0022】データセレクタ103は、シフト制御レジ
スタ107の出力157、ALU111の出力158、
制御回路115からの第1段階のシフト信号(以下FS
Fと記す)156、SSF信号161、SF16信号1
62によって、符号ラッチ101からの出力153及び
データラッチ108の出力156を制御しデータラッチ
108にラッチデータ155を出力する。
【0023】初期状態としてシフト制御レジスタ107
の値は“00000”とし、例を挙げて詳細に説明す
る。図2にデータラッチ108、符号ラッチ101、出
力ラッチ109の内部状態を示す。
【0024】1番目の符号データとして“000000
10101”、符号長は“01011”とする。前段か
らのラッチ信号152で符号“0000001010
1”は符号ラッチ101に、符号長“01011”は符
号長ラッチ102にラッチされ、ALU104の出力1
69は“01011”となる。シフト制御レジスタ10
7の出力157が“00000”であるから、図5から
ALU111の出力158は“000”、ALU113
の出力159は“00”となる。制御回路115は、ラ
ッチ信号152が有効になったことを検出すると、FS
F信号160を有効にし、図2の状態1になるように第
1段階のシフト処理を行う。ALU113の出力159
が“00”であるため、第2段階のシフト処理は行わ
ず、SFRL信号165を有効にしてALU104の出
力169をシフト制御レジスタ107にラッチする。こ
の結果、シフト制御レジスタ107の出力157は“0
1011”となる。
【0025】2番目の符号データとして“000100
1”、符号長は“00111”とする。前段からのラッ
チ信号152で符号“0001001”は符号ラッチ1
01に、符号長“00111”は符号長ラッチ102に
ラッチされる。シフト制御レジスタ107の出力157
は“01011”であるから、ALU104の出力16
9は“10010”となる。シフト制御レジスタ107
の出力157が“01011”であるから、図5からA
LU111の出力158は“011”、ALU113の
出力159は“01”となる。
【0026】制御回路115は、ラッチ信号152が有
効になったことを検出すると、FSF信号160を有効
にし、図2の状態2になるように第1段階シフト処理を
行う。ALU113の出力159が“01”であるた
め、制御回路115はロード信号167を有効にしてカ
ウンタ114に“01”をロードする。
【0027】その後カウンタ114はダウンカウントを
行い、制御回路115はカウンタ114の出力166が
“00”になるまで、つまり1回だけSFS信号161
を有効にし、図2の状態3になるように第2段階の1ビ
ットのシフト処理を行う。
【0028】次に、SFRL信号165に有効にしてA
LU104の出力169をシフト制御レジスタ105に
ラッチする。この結果、シフト制御レジスタ107の出
力157は“10010”となる。シフト制御レジスタ
107の出力157が“10000”を超えてしまった
ので、制御回路115は出力ラッチ信号164を有効に
し、上位側16ビットを出力ラッチ109にラッチす
る。これと同時にSF16信号162が有効になり、デ
ータラッチ108の出力データ156を16ビットシフ
トしたデータがデータラッチ108に入力されラッチさ
れる。SF16信号162が有効になるので、セレクタ
106は引き算器105の出力を選択するようになり、
シフト制御レジスタ107の入力は“10010”から
“10000”を引いた値“00010”が入力され、
SFRL信号165でシフト制御レジスタ107にラッ
チされる。この結果図2の状態4になり、シフト制御レ
ジスタ107の出力157は“0010”となる。
【0029】3番目の符号データとして“000000
0111011”、符号長は“01101”とする。前
段からのラッチ信号152で符号“000000011
1011”は符号ラッチ101に、符号長“0110
1”は符号長ラッチ102にラッチされる。シフト制御
レジスタ107の出力157は“00010”であるか
ら、ALU104の出力169は“01111”とな
る。シフト制御レジスタ107の出力157が“000
10”であるから、図5からALU111の出力158
は“001”、ALU113の出力159は“10”と
なる。制御回路115は、ラッチ信号152が有効にな
ったことを検出すると、FSF信号160を有効にし、
図3の状態5になるように第1段階のシフト処理を行
う。ALU113の出力159が“10”であるため、
制御回路115はロード信号167を有効にしてカウン
タ114に“10”をロードする。その後カウンタ11
4はダウンカウントを行い、制御回路115はカウンタ
114の出力166が“00”になるまで、つまり2回
SFS信号161を有効にし、図3の状態6になるよう
に第2段階の1ビットのシフト処理を行う。次に、SF
RL信号165を有効にしてALU104の出力169
をシフト制御レジスタ107にラッチする。この結果、
シフト制御レジスタ105の出力154は“0111
1”となる。
【0030】この実施例ではk=4で説明したが、k=
2の場合でも同様の働きをする。その場合にはALU1
11の出力が4ビットになり、カウンタ114は1ビッ
トのカウンタとなる。可変ビット長の符号データの最大
長が長くなってもkの値を大きくすることによって、回
路の規模が大きくなることを防ぐことができLSI化す
る際に有利となる。
【0031】
【発明の効果】以上説明したように、この発明によれば
可変ビット長の符号データが長くなっても論理分割のビ
ット数を大きくすれば、バレルシフタの回路規模が大き
くなることを防ぐことができ、LSI化する際に有利と
なる。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図である。
【図2】図1の回路の動作を説明するための図である。
【図3】図1の回路の動作を説明するための図である。
【図4】制御回路の処理の流れを示すフローチャートで
ある。
【図5】シフト制御レジスタとALUとの関係を示す図
である。
【図6】従来のバレルシフタ回路の構成を示す図であ
る。
【図7】図6の回路の動作を説明するための図である。
【符号の説明】
101,501 符号ラッチ 102,502 符号長ラッチ 103 データセレクタ 104,111,113,505 ALU 105 引き算器 106 セレクタ 107 シフト制御レジスタ 108 データラッチ 109 出力ラッチ 110 論理和回路 112,504 2の補数器 114,506,507 カウンタ 115,509 制御回路 503 パラレルシリアル変換器 508 シフトレジスタ 510 出力ラッチ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 最長nビットからなる可変長符号データ
    を入力し、mビットの固定長データとして出力するバレ
    ルシフタ回路において、バレルシフタ内に(n+m)ビ
    ットのデータラッチ回路、データラッチ回路に保持され
    ている有効なビット長を示すシフト制御レジスタ、入力
    された可変長符号データをデータラッチ回路に接続する
    ためのデータセレクタ、1ビットずつのシフトをカウン
    トするカウンタ回路を設け、データラッチ回路を論理的
    にkビットで分割し、第一段階のシフトとして、論理分
    割の値kの整数倍でシフト制御レジスタの値を超える最
    小の値の分だけシフトするようにデータセレクタを制御
    してデータラッチ回路にデータを保持する手段と、第二
    段階のシフトとして、第一段階のシフトした値とシフト
    制御レジスタの値の差分だけ1ビットずつシフトするよ
    うにデータセレクタを制御してデータラッチ回路にデー
    タを保持する手段と、シフト制御レジスタの地がmを超
    えた時にmビットを出力するともに、データラッチ回路
    に保持されているデータをmビットシフトするようにデ
    ータセレクタを制御してデータを保持する手段とを有す
    るバレルシフタ回路。
  2. 【請求項2】 上述の論理分割の値kを可変する手段を
    有する請求1記載に記載のバレルシフタ回路。
JP5336204A 1993-12-28 1993-12-28 バレルシフタ回路 Pending JPH07200252A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5336204A JPH07200252A (ja) 1993-12-28 1993-12-28 バレルシフタ回路
US08/365,448 US5532949A (en) 1993-12-28 1994-12-28 Barrel shifter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5336204A JPH07200252A (ja) 1993-12-28 1993-12-28 バレルシフタ回路

Publications (1)

Publication Number Publication Date
JPH07200252A true JPH07200252A (ja) 1995-08-04

Family

ID=18296716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5336204A Pending JPH07200252A (ja) 1993-12-28 1993-12-28 バレルシフタ回路

Country Status (2)

Country Link
US (1) US5532949A (ja)
JP (1) JPH07200252A (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687102A (en) * 1995-05-26 1997-11-11 National Semiconductor Corp. Double precision (64 bit) shift operations using a 32 bit data path
US5995579A (en) * 1996-12-19 1999-11-30 Vlsi Technology, Inc. Barrel shifter, circuit and method of manipulating a bit pattern
US6078937A (en) * 1996-12-19 2000-06-20 Vlsi Technology, Inc. Barrel shifter, circuit and method of manipulating a bit pattern
GB2330226B (en) * 1997-08-30 2000-12-27 Lg Electronics Inc Digital signal processor
US6314156B1 (en) * 2000-03-02 2001-11-06 Compaq Computer Corporation Space-efficient multi-cycle barrel shifter circuit
US9959247B1 (en) 2017-02-17 2018-05-01 Google Llc Permuting in a matrix-vector processor

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5957576A (ja) * 1982-08-20 1984-04-03 Fujitsu Ltd 画像デ−タ圧縮回路
US4827441A (en) * 1986-03-27 1989-05-02 Motorola, Inc. Barrel shifter
JPH03255723A (ja) * 1990-03-06 1991-11-14 Matsushita Graphic Commun Syst Inc 可変ビット長のパッキング処理方法及び装置
JP2922571B2 (ja) * 1990-04-05 1999-07-26 キヤノン株式会社 データ変換回路
US5465223A (en) * 1992-01-09 1995-11-07 Oki Electric Industry Co., Ltd. Barrel shifter
US5465222A (en) * 1994-02-14 1995-11-07 Tektronix, Inc. Barrel shifter or multiply/divide IC structure

Also Published As

Publication number Publication date
US5532949A (en) 1996-07-02

Similar Documents

Publication Publication Date Title
JP3227292B2 (ja) 符号化装置、符号化方法、復号化装置、復号化方法、符号化復号化装置及び符号化復号化方法
US6215424B1 (en) System for variable length codeword processing suitable for video and other applications
US4611305A (en) Digital signal processing circuit
US5859608A (en) Successive approximation and shift register without redundancy
US4973976A (en) Multiplexing parallel analog-digital converter
US6408102B1 (en) Encoding/decoding device
US5008668A (en) Method and apparatus for encoding and decoding data in residue number system
JP2831729B2 (ja) プライオリティエンコーダおよび浮動小数点正規化装置
EP0416869A2 (en) Digital adder/accumulator
US6269138B1 (en) Low power counters
JPH07200252A (ja) バレルシフタ回路
EP0597733B1 (en) Image encoding device
US6138138A (en) High speed multiple determination apparatus
US5062125A (en) Statistic coding arrangement for producing code words comprising a variable number of bits
US5905663A (en) Minimal circuit for detecting loss of precision in floating point numbers
US6496602B2 (en) Sorting device of variable-length code
KR100292050B1 (ko) 가변장복호기의 데이타 가변장치
JP3219571B2 (ja) 画像符号化装置及び方法
US6816098B2 (en) High-speed oversampling modulator device
JP3379273B2 (ja) 可変長符号の符号変換回路
EP0336681B1 (en) Code converter and encoder including the same
JPS61125283A (ja) モデイフアイド・ハフマン符号の復号装置
JP2590840B2 (ja) ランレングス符号化装置
JP3074958B2 (ja) 加算機能付きシリアル乗算器
JP3622473B2 (ja) 可変長符号復号装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19971118