(57)【特許請求の範囲】
【請求項１】
Ｎ本（Ｎは２以上の整数、以下同じ）の入力信号線とＮ本の出力信号線とを一対一に組合せて接続することによって前記入力信号線への入力データを構成する各ビットを所定方向にバレルシフトさせて前記出力信号線からのデータを構成する各ビットとするための第１のバレルシフト用配線と、前記入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなる第１のスイッチ素子群と、択一的にオン状態になることによって前記出力信号線各々を駆動するためのＮ個の駆動素子からなる第１の駆動素子群とを含み、前記Ｎ２個のスイッチング素子のうちオン状態になっているスイッチング素子を介して、前記Ｎ個の駆動素子のうちオン状態になっている駆動素子により前記出力信号線を駆動するようにしたことを特徴とするバレルシフト回路。
【請求項２】
前記スイッチング素子は、前記入力信号線に与えられる信号がゲート端子に印加されるＭＯＳトランジスタであることを特徴とする請求項１記載のバレルシフト回路。
【請求項３】
前記出力信号線群をプリチャージするプリチャージ手段を更に含むことを特徴とする請求項１又は２記載のバレルシフト回路。
【請求項４】
前記出力信号線群のデータを保持する保持手段を更に含むことを特徴とする請求項１〜３のいずれかに記載のバレルシフト回路。
【請求項５】
外部制御信号に応じて前記Ｎ本の出力信号線のうちの少なくとも１本を強制的に他の出力信号線の論理値と同一の論理値に設定する設定手段を更に含み、前記第１の駆動素子群と前記設定手段とを択一的に有効にするようにしたことを特徴とする請求項１〜４のいずれかに記載のバレルシフト回路。
【請求項６】
外部制御信号に応じて前記Ｎ本の出力信号線のうちの少なくとも１本を強制的に特定論理値に設定する設定手段を更に含み、前記第１の駆動素子群と前記設定手段とを択一的に有効にするようにしたことを特徴とする請求項１〜５のいずれかに記載のバレルシフト回路。
【請求項７】
前記入力信号線への入力データを構成する各ビットのＬＳＢからＭＳＢへの順序を逆にしかつ所定方向にバレルシフトさせて前記出力信号線からのデータを構成する各ビットとするための第２のバレルシフト用配線と、前記入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなり、かつ、前記第１のスイッチング素子群とは択一的に有効になる第２のスイッチ素子群と、択一的にオン状態になることによって前記出力信号線各々を駆動するためのＮ個の駆動素子からなり、かつ、前記第１の駆動素子群とは択一的に有効になる第２の駆動素子群とを更に含み、オン状態になっているスイッチング素子を介して、オン状態になっている駆動素子により前記出力信号線を駆動するようにしたことを特徴とする請求項１〜６のいずれかに記載のバレルシフト回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はバレルシフト回路に関し、特に入力信号線と出力信号線とを一対一に組合せて接続することによって入力信号線への入力データを構成する各ビットを所定方向にバレルシフトさせて出力信号線からのデータを構成する各ビットとするバレルシフト回路に関する。
【０００２】
【従来の技術】
従来のバレルシフト回路は、図１７に示されているように、入力信号線と出力信号線との各交点にスイッチング素子ＳＷを設けた構成である。Ｎ本（ここでは、Ｎ＝４）の入力信号線とＮ本の出力信号線とを一対一に組合せて接続するので、Ｎ２個のスイッチング素子が必要となる。そして、これらスイッチング素子をオンさせるための制御信号Ａ〜Ｄを択一的に与える。図中の制御信号Ａ〜Ｄのうち、同じ符号が付されているものは同時にオン状態になるものとする。
【０００３】
スイッチング素子には、ＭＯＳトランジスタを用いるのが一般的であり、そのソース端子又はドレイン端子には入力信号線又は出力信号線が接続される。また、そのゲート端子には制御信号Ａ〜Ｄを図示されているように与えている。
【０００４】
以上のように構成することにより、入力信号線による入力データを構成する各入力ビットと、出力信号線による出力データを構成する各出力ビットとの対応関係を変更することができる。この場合、入力データをビットシフトさせたものが出力データの各ビットに対応することになる。このとき、シフトによって追い出されたビットが反対側のビットに付加される、いわゆるバレルシフト（ｂａｒｒｅｌ  ｓｈｉｆｔ）が行われることになる。例えば、右に１ビットシフトした場合、追い出された１ビットの値は左に付加されることになる。このようなバレルシフト回路は、周知のＤＳＰ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）やＲＩＳＣ（ｒｅｄｕｃｅｄ  ｉｎｓｔｒｕｃｔｉｏｎ  ｓｅｔ  ｃｏｍｐｕｔｅｒ）チップにおける演算処理に用いられる。
【０００５】
なお、特開昭６４−２３３３０号公報においても、入力信号線と出力信号線との交点にスイッチング素子を同様に設けたバレルシフト回路が記載されている。
【０００６】
【発明が解決しようとする課題】
しかし、以上のような構成からなるバレルシフト回路は、入力から出力まで多くの負荷がかかっていた。まず、入力側からみると、まず入力信号線を充電する必要がある。ここには、スイッチング素子であるＭＯＳトランジスタのドレインが接続されているので、ドレイン容量が付く。さらに、導通状態になったスイッチング素子を通り、出力信号線を充電する。ここにも入力信号線と同じく多くのドレイン容量が付く。このため、入力信号線から出力信号線までの間に付く容量が大きく、動作速度の低下を招くという欠点がある。上述した特許公報に記載されているバレルシフト回路においても同様の欠点がある。
【０００７】
本発明は上述した従来技術の欠点を解決するためになされたものであり、その目的は動作速度を向上することのできるバレルシフト回路を提供することである。
【０００８】
【課題を解決するための手段】
本発明によるバレルシフト回路は、Ｎ本（Ｎは２以上の整数、以下同じ）の入力信号線とＮ本の出力信号線とを一対一に組合せて接続することによって前記入力信号線への入力データを構成する各ビットを所定方向にバレルシフトさせて前記出力信号線からのデータを構成する各ビットとするための第１のバレルシフト用配線と、前記入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなる第１のスイッチ素子群と、択一的にオン状態になることによって前記出力信号線各々を駆動するためのＮ個の駆動素子からなる第１の駆動素子群とを含み、前記Ｎ２個のスイッチング素子のうちオン状態になっているスイッチング素子を介して、前記Ｎ個の駆動素子のうちオン状態になっている駆動素子により前記出力信号線を駆動するようにしたことを特徴とする。なお、前記スイッチング素子は、前記入力信号線に与えられる信号がゲート端子に印加されるＭＯＳトランジスタであることを特徴とする。
【０００９】
また、前記出力信号線群をプリチャージするプリチャージ手段や、前記出力信号線群のデータを保持する保持手段を更に含んでいても良い。
【００１０】
そして、外部制御信号に応じて前記Ｎ本の出力信号線のうちの少なくとも１本を強制的に他の出力信号線の論理値と同一の論理値に設定する設定手段を更に含み、前記第１の駆動素子群と前記設定手段とを択一的に有効にしたり、外部制御信号に応じて前記Ｎ本の出力信号線のうちの少なくとも１本を強制的に特定論理値に設定する設定手段を更に含み、前記第１の駆動素子群と前記設定手段とを択一的に有効にしても良い。
【００１１】
なお、前記入力信号線への入力データを構成する各ビットのＬＳＢからＭＳＢへの順序を逆にしかつ所定方向にバレルシフトさせて前記出力信号線からのデータを構成する各ビットとするための第２のバレルシフト用配線と、前記入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなり、かつ、前記第１のスイッチング素子群とは択一的に有効になる第２のスイッチ素子群と、択一的にオン状態になることによって前記出力信号線各々を駆動するためのＮ個の駆動素子からなり、かつ、前記第１の駆動素子群とは択一的に有効になる第２の駆動素子群とを更に含み、オン状態になっているスイッチング素子を介して、オン状態になっている駆動素子により前記出力信号線を駆動するようにしても良い。
【００１２】
要するに、本発明においては、制御信号線に与えられる制御信号のレベルに応じてスイッチング素子をオンオフ制御するのではなく、入力信号線に与えられる信号レベルに応じてオンオフ制御する。また、出力信号線を駆動するための駆動素子を設け、オン状態になっている駆動素子により出力信号線を駆動する。こうすることにより、ドレイン容量ではなく、ゲート容量のみが付加されるので、動作を高速にすることができるのである。
【００１３】
【発明の実施の形態】
次に、図面を参照して本発明の実施の形態について説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示されている。
【００１４】
図１は本発明によるバレルシフト回路の第１の実施形態を示す回路図である。同図に示されているように、本実施形態によるバレルシフト回路においては、Ｎ本（Ｎ＝４）の入力信号線とＮ本の出力信号線とを一対一に組合せて接続するために、Ｎ２個のスイッチング素子を用いている。そして、各スイッチング素子ＳＷのゲート端子には、入力信号線の入力データを構成する各ビットが与えられている。そして、スイッチング素子のソース端子（ドレイン端子）から、出力データを構成する各ビットが導出される。また、スイッチング素子のドレイン端子（ソース端子）には、ＮチャンネルＭＯＳトランジスタによる駆動素子ＴＡ〜ＴＤが接続されている。これら駆動素子ＴＡ〜ＴＤは、全てがオン状態になるのではなく、択一的にオン状態になるように駆動信号Ａ〜Ｄによって制御されるものとする。これら駆動素子ＴＡ〜ＴＤの一端は電源ＶＳＳに接続され、他端はバレルシフト用配線となる。なお、各出力信号線は抵抗を介して電源ＶＤＤにプルアップされ、各出力信号線に対応して設けられたバッファＢ１〜Ｂ４を介して出力データが導出される。
【００１５】
このような構成において、入力信号の負荷は、ＮチャンネルＭＯＳトランジスタのゲート容量だけである。また、出力信号線に付いている容量は、ＮチャンネルＭＯＳトランジスタのドレイン容量であり、これを駆動するのは入力信号ではなく、ＮチャンネルＭＯＳトランジスタによる駆動素子ＴＡ〜ＴＤである。したがって、入力信号が全ての容量を駆動する必要はなく、トランジスタのサイズを最適化することにより、高速動作が可能となる。この効果は、本回路の扱うビット数が増加すればするほど、顕著になる。なお、回路規模の増加はわずかで済む。
【００１６】
以上のように、本実施形態によるバレルシフト回路においては、Ｎ本の入力信号線とＮ本の出力信号線とを一対一に組合せて接続することによって入力信号線への入力データを構成する各ビットを所定方向にバレルシフトさせて出力信号線からのデータを構成する各ビットとするためのバレルシフト用配線と、入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなる第１のスイッチ素子群と、択一的にオン状態になることによって出力信号線各々を駆動するためのＮ個の駆動素子からなる駆動素子群とを含み、オン状態になっているスイッチング素子を介して、オン状態になっている駆動素子により出力信号線を駆動するようにしていることになる。したがって、入力信号が全ての容量を駆動する必要はなく、トランジスタサイズを最適にすることにより、従来回路よりも高速に動作することができるという効果がある。
【００１７】
次に、本発明の第２の実施形態によるバレルシフト回路について、図２を参照して説明する。本回路は、上述した第１の実施形態によるバレルシフト回路とは異なり、バレルシフト用配線を２種類含んで構成されている。これにより、入力データの各ビットの順序を逆に入換えて出力データとして導出することもできる。
【００１８】
上述した第１の実施形態によるバレルシフト回路は、ビットを単一方向にシフトさせる循環機能を有している。しかしながら、ＬＳＢ（ｌｅａｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）からＭＳＢ（ｍｏｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）へのビット順序を、ＭＳＢからＬＳＢへのビット順序に並べ変えた状態でビットをシフトさせることはできない。
【００１９】
これに対し、本実施形態の回路では、ＬＳＢからＭＳＢへのビット配列順序をそのまま循環させる機能と共に、その順序を逆に入換えてＭＳＢからＬＳＢへのビット順序にして出力することができるのである。このように、本回路では、２組のバレルシフト用配線を有しているため、各バレルシフト用配線に対応して２組の駆動素子群をも有している。すなわち、駆動素子ＴＡ〜ＴＤの他に、ＮチャンネルＭＯＳトランジスタによる駆動素子Ｔａ〜Ｔｄが設けられている。これら駆動素子ＴＡ〜ＴＤ及びＴａ〜Ｔｄの一端は電源ＶＳＳに接続され、他端はバレルシフト用配線となる。そして、駆動信号Ａ〜Ｄ及びａ〜ｄによって、これら２つの駆動素子群が択一的に有効になり、有効になった駆動素子群に含まれている駆動素子が択一的にオン状態になるものとする。
【００２０】
このように２種類のバレルシフト用配線を用いてバレルシフト回路を構成することにより、図３に示されているように、駆動信号Ａ〜Ｄのいずれかが「１」、すなわち駆動素子ＴＡ〜ＴＤのいずれかがオン状態になっている時は、ＬＳＢからＭＳＢへのビット配列順序はそのままでビットシフトしたデータが出力される。一方、駆動信号ａ〜ｄのいずれかが「１」、すなわち駆動素子Ｔａ〜Ｔｄのいずれかがオン状態になっている時は、ＬＳＢからＭＳＢへのビット配列順序が逆になり、さらにビットシフトしたデータが出力される。
【００２１】
以上のように、本実施形態によるバレルシフト回路においては、第１の実施形態の回路に、入力信号線への入力データを構成する各ビットのＬＳＢからＭＳＢへの順序を逆にしかつ所定方向にバレルシフトさせて出力信号線からのデータを構成する各ビットとするための第２のバレルシフト用配線と、入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなり、かつ、第１のスイッチング素子群とは択一的に有効になる第２のスイッチ素子群と、択一的にオン状態になることによって出力信号線各々を駆動するためのＮ個の駆動素子からなり、かつ、第１の駆動素子群とは択一的に有効になる第２の駆動素子群とを更に含んで構成されており、オン状態になっているスイッチング素子を介して、オン状態になっている駆動素子により出力信号線を駆動するようにしていることになる。したがって、通常のバレルシフトと共に、ＬＳＢからＭＳＢまでの逆並び、更にはそのバレルシフトすなわち正逆のビット循環機能を実現できるという効果がある。また、２種類のバレルシフト用配線を１つの回路に設けているので、２つの回路を設けるよりも回路規模をより小さくすることができるという効果もある。
【００２２】
次に、本発明の第３の実施形態によるバレルシフト回路について、図４を参照して説明する。本実施形態の回路は、第１の実施形態の回路に、出力信号線をプリチャージするためのトランジスタＴ１〜Ｔ４からなるプリチャージ回路と、出力信号線の各ビットの値を保持するためのラッチ回路Ｌ１〜Ｌ４とを設けた構成である。
【００２３】
このプリチャージ回路によるプリチャージのタイミングは、図５に示されている通りである。同図には、入力信号線の各ビット、プリチャージ信号ＰＣ、各駆動信号Ａ〜Ｄの遷移タイミング、ラッチ信号ＬＣ、出力信号線の各ビットの波形が示されている。同図に示されているように、駆動信号Ａ〜Ｄによって駆動素子のいずれかがオン状態になる以前にプリチャージ回路がオン状態になるので、タイミング上電流パスが形成されず、消費電力をより低減することができる。この消費電力低減は、特に扱うビット数が多ければ多いほど効果が大きい。
【００２４】
第１の実施形態の回路では、駆動素子ＴＡ〜ＴＤのいずれかがオン状態になった時、入力ビットにハイレベル「１」が含まれていればプルアップ抵抗を通した電源ＶＤＤ−電源ＶＳＳ間の電流経路ができる。この電流経路により、消費電流が増加する。
【００２５】
これに対し、本実施形態の回路では、タイミング上電流パスが形成されず、消費電力をより低減することができる。
【００２６】
さらに本回路では、出力信号線群をプリチャージするためのトランジスタＴ１〜Ｔ４によって駆動される出力信号線のデータを構成する各ビットの値を保持するラッチ回路を設けているので、出力データが確定した後は、その内容を保持することができるのである。
【００２７】
以上のように、本実施形態によるバレルシフト回路においては、Ｎ本の入力信号線とＮ本の出力信号線とを一対一に組合せて接続することによって上記入力信号線への入力データを構成する各ビットを所定方向にバレルシフトさせて上記出力信号線からのデータを構成する各ビットとするための第１のバレルシフト用配線と、上記入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなる第１のスイッチ素子群と、択一的にオン状態になることによって上記出力信号線各々を駆動するためのＮ個の駆動素子からなる第１の駆動素子群とを含み、上記Ｎ２個のスイッチング素子のうちオン状態になっているスイッチング素子を介して、上記Ｎ個の駆動素子のうちオン状態になっている駆動素子により上記出力信号線を駆動していることになる。また、出力信号線群をプリチャージし、かつ、出力信号線群のデータを保持していることになる。したがって、消費電力をより低減できるという効果がある。
【００２８】
次に、本発明の第４の実施形態によるバレルシフト回路について、図６を参照して説明する。本実施形態の回路は、ビットを循環させる機能の他に符号拡張機能を有し、これらの機能をスイッチによって切換える構成である。この切換スイッチは、同図中のトランジスタＴＳ１及びＴＳ２である。そして、トランジスタＴＳ１のゲート端子には制御信号Ｓが与えられ、トランジスタＴＳ２のゲート端子には制御信号Ｓの反転信号Ｓ（−）が与えられる。なお、本明細書において、（−）は反転信号であることを示すものとする。
【００２９】
本回路は、制御信号Ｓが「１」の場合、ビットを循環させるように動作する。一方、制御信号Ｓが「０」の場合、符号拡張させるように動作する。すなわち、図７に示されているように、制御信号Ｓが「１」（反転信号Ｓ（−）が「０」）であるとき循環機能を実現し、制御信号Ｓが「０」（反転信号Ｓ（−）が「１」）であるとき符号拡張機能を実現している。
【００３０】
制御信号Ｓが「１」（反転信号Ｓ（−）が「０」）であるとき、駆動信号Ａ〜Ｄによってオン状態になる駆動素子によって、先述した第１の実施形態の場合と同様に、ビットを循環させることができる。一方、制御信号Ｓが「０」（反転信号Ｓ（−）が「１」）であるとき、駆動信号Ａ〜Ｄによってオン状態になる駆動素子によって、ビットを右にシフトさせ、かつ、シフト量に応じて左側（ＭＳＢ側）からＭＳＢと同じ値のビットを付加している。
【００３１】
本実施形態の回路の動作について、図７を参照して説明する。同図を参照すると、制御信号Ｓが「１」であるとき、駆動信号Ａ〜Ｄが入力される駆動素子ＴＡ〜ＴＤによって正循環によるバレルシフトを実現できる。また、制御信号Ｓが「０」であるとき、駆動信号ａ〜ｄが入力される駆動素子Ｔａ〜Ｔｄによってビットを右にシフトさせ、かつ、シフト量に応じて左側からＭＳＢと同じ値を付加することができる。つまり、制御信号Ｓが「０」であるとき、他の出力信号線の論理値と同一の論理値を、シフト量に応じて左側から設定していることになる。
【００３２】
以上のような切換により、バレルシフトについて、循環と符号拡張との２つの機能を持たせることができる。これにより、符号拡張のために外付け回路を多く持たせる必要はない。また、本回路においては、符号拡張機能によって動作速度が低下することはなく、従来回路と同等程度の動作速度が得られる。
【００３３】
以上のように、本実施形態によるバレルシフト回路においては、Ｎ本の入力信号線とＮ本の出力信号線とを一対一に組合せて接続することによって上記入力信号線への入力データを構成する各ビットを所定方向にバレルシフトさせて上記出力信号線からのデータを構成する各ビットとするための第１のバレルシフト用配線と、上記入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなる第１のスイッチ素子群と、択一的にオン状態になることによって上記出力信号線各々を駆動するためのＮ個の駆動素子からなる第１の駆動素子群とを含み、上記Ｎ２個のスイッチング素子のうちオン状態になっているスイッチング素子を介して、上記Ｎ個の駆動素子のうちオン状態になっている駆動素子により上記出力信号線を駆動していることになる。また、外部制御信号に応じて上記Ｎ本の出力信号線のうちの少なくとも１本を強制的に他の出力信号線の論理値と同一の論理値に設定する設定手段を更に含み、上記第１の駆動素子群と上記設定手段とを択一的に有効にしていることになる。したがって、外付け回路を多く持たせることなく、かつ、動作速度が低下することはなく、符号拡張機能を実現できるという効果がある。
【００３４】
次に、本発明の第５の実施形態によるバレルシフト回路について、図８を参照して説明する。本実施形態の回路は、ビットを循環させる機能の他にビットを左にシフトさせ、かつ、シフト量に応じて右側（ＬＳＢ側）から「０」又は「１」を付加する機能を有し、これらの機能をスイッチによって切換える構成である。この切換スイッチは同図中のトランジスタＴ１及びＴ２である。トランジスタＴ１に与えられる制御信号α及びトランジスタＴ２に与えられる制御信号βの値によって、ビット循環動作又は左シフトして「０」又は「１」を付加する動作を実現することができる。
【００３５】
すなわち、図９に示されているように、制御信号αが「１」で制御信号βが「０」のときには上述したビット循環機能を実現している。そして、制御信号α及びβが共に「０」のときには左シフト動作して右側から値「０」を詰める動作、制御信号βが「１」のとき（制御信号αの値は問わない）には左シフト動作して右側から値「１」を詰める動作、を実現することができる。つまり、制御信号α及びβの値に応じて、出力信号線のうちの少なくとも１本を強制的に特定論理値に設定しているのである。
【００３６】
以上のように、本実施形態によるバレルシフト回路においては、Ｎ本の入力信号線とＮ本の出力信号線とを一対一に組合せて接続することによって上記入力信号線への入力データを構成する各ビットを所定方向にバレルシフトさせて上記出力信号線からのデータを構成する各ビットとするための第１のバレルシフト用配線と、上記入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなる第１のスイッチ素子群と、択一的にオン状態になることによって上記出力信号線各々を駆動するためのＮ個の駆動素子からなる第１の駆動素子群とを含み、上記Ｎ２個のスイッチング素子のうちオン状態になっているスイッチング素子を介して、上記Ｎ個の駆動素子のうちオン状態になっている駆動素子により上記出力信号線を駆動していることになる。また、Ｎ本の出力信号線のうちの少なくとも１本を強制的に特定論理値に設定する設定手段を更に含み、上記第１の駆動素子群と上記設定手段とを択一的に有効にしていることになる。したがって、わずかに回路規模が増加するだけで、ビット循環機能又は上述した左シフト機能を実現できるという効果がある。
【００３７】
次に、本発明の第６の実施形態によるバレルシフト回路について、図１０を参照して説明する。本実施形態の回路は、第２の実施形態の場合と同様に２種類のバレルシフト用配線を設け、更に第３の実施例の場合と同様に出力信号線をプリチャージする回路を設けた構成である。なお、出力信号線の各ビットの値を保持するためのラッチ回路Ｌ１〜Ｌ４も設けている。
【００３８】
本実施形態においては、第２の実施形態の場合と同様に、ＬＳＢからＭＳＢへのビット配列順序をそのまま循環させることができると共に、その順序を逆に入換えてＭＳＢからＬＳＢへのビット順序にして出力することができるのである。そして、第３の実施形態の場合と同様に、出力信号線をプリチャージする回路を設けている。
【００３９】
本実施形態の回路の動作について、図１１を参照して説明する。同図（ａ）を参照すると、制御信号Ｓ１が「１」であるとき、駆動信号Ａ〜Ｄによって正循環によるバレルシフトを実現できる。また、制御信号Ｓ１が「０」であるとき、駆動信号Ａ〜Ｄによってビットを右にシフトさせ、かつ、シフト量に応じて左側からＭＳＢと同じ値を付加することができる。
【００４０】
一方、同図（ｂ）を参照すると、制御信号Ｓ２が「１」であるとき、駆動信号ａ〜ｄによって逆循環によるバレルシフトを実現できる。また、制御信号Ｓ２が「０」であるとき、駆動信号ａ〜ｄによってＬＳＢからＭＳＢまでを逆に並べ換えかつビットを右にシフトさせ、更にシフト量に応じてシフト量に応じて左側からＬＳＢと同じ値を付加することができる。
【００４１】
かかる構成において、図１２に示されているように、駆動信号Ａ〜Ｄ及び駆動信号ａ〜ｄによって駆動素子のいずれかがオン状態になる以前にプリチャージ回路がオン状態になるように動作させれば、タイミング上電流パスが形成されず、消費電力をより低減することができる。この消費電力低減は、特に扱うビット数が多ければ多いほど効果が大きい。
【００４２】
以上のように、本実施形態によるバレルシフト回路においては、Ｎ本の入力信号線とＮ本の出力信号線とを一対一に組合せて接続することによって上記入力信号線への入力データを構成する各ビットを所定方向にバレルシフトさせて上記出力信号線からのデータを構成する各ビットとするための第１のバレルシフト用配線と、上記入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなる第１のスイッチ素子群と、択一的にオン状態になることによって上記出力信号線各々を駆動するためのＮ個の駆動素子からなる第１の駆動素子群とを含み、上記Ｎ２個のスイッチング素子のうちオン状態になっているスイッチング素子を介して、上記Ｎ個の駆動素子のうちオン状態になっている駆動素子により上記出力信号線を駆動していることになる。また、入力信号線への入力データを構成する各ビットのＬＳＢからＭＳＢへの順序を逆にしかつ所定方向にバレルシフトさせて上記出力信号線からのデータを構成する各ビットとするための第２のバレルシフト用配線と、上記入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなり、かつ、上記第１のスイッチング素子群とは択一的に有効になる第２のスイッチ素子群と、択一的にオン状態になることによって上記出力信号線各々を駆動するためのＮ個の駆動素子からなり、かつ、上記第１の駆動素子群とは択一的に有効になる第２の駆動素子群とを更に含み、オン状態になっているスイッチング素子を介して、オン状態になっている駆動素子により上記出力信号線を駆動していることになる。そして、出力信号線群をプリチャージしている。したがって、２種類のバレルシフトを低消費電力で実現できるという効果がある。
【００４３】
次に、本発明の第７の実施形態によるバレルシフト回路について、図１３を参照して説明する。本実施形態の回路は、第４の実施例の場合と同様に循環機能又は符号拡張機能を実現するためのバレルシフト用配線を設け、更に第３の実施例の場合と同様に出力信号線をプリチャージする回路を設けた構成である。
【００４４】
本実施形態においては、第２の実施形態の場合と同様にＬＳＢからＭＳＢへのビット配列順序をそのままで又は逆にして循環させることができると共に、第４の実施形態の場合と同様にビットを右にシフトさせ、かつ、シフト量に応じて左側（ＭＳＢ側）からＭＳＢと同じ値のビットを付加して出力することができるのである。そして、第３の実施形態の場合と同様に、出力信号線をプリチャージする回路を設けている。なお、符号拡張機能のために設けられているトランジスタＴＳ１１，ＴＳ１２，ＴＳ２１，ＴＳ２２は、制御信号Ｓ１，Ｓ１（−），Ｓ２，Ｓ２（−）によってオンオフ制御される。
【００４５】
かかる構成において、図１２に示されているように、駆動信号Ａ〜Ｄ及び駆動信号ａ〜ｄによって駆動素子のいずれかがオン状態になる以前にプリチャージ回路がオン状態になるように動作させれば、タイミング上電流パスが形成されず、消費電力をより低減することができる。この消費電力低減は、特に扱うビット数が多ければ多いほど効果が大きい。
【００４６】
以上のように、本実施形態によるバレルシフト回路においては、Ｎ本の入力信号線とＮ本の出力信号線とを一対一に組合せて接続することによって上記入力信号線への入力データを構成する各ビットを所定方向にバレルシフトさせて上記出力信号線からのデータを構成する各ビットとするための第１のバレルシフト用配線と、上記入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなる第１のスイッチ素子群と、択一的にオン状態になることによって上記出力信号線各々を駆動するためのＮ個の駆動素子からなる第１の駆動素子群とを含み、上記Ｎ２個のスイッチング素子のうちオン状態になっているスイッチング素子を介して、上記Ｎ個の駆動素子のうちオン状態になっている駆動素子により上記出力信号線を駆動していることになる。また、入力信号線への入力データを構成する各ビットのＬＳＢからＭＳＢへの順序を逆にしかつ所定方向にバレルシフトさせて上記出力信号線からのデータを構成する各ビットとするための第２のバレルシフト用配線と、上記入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなり、かつ、上記第１のスイッチング素子群とは択一的に有効になる第２のスイッチ素子群と、択一的にオン状態になることによって上記出力信号線各々を駆動するためのＮ個の駆動素子からなり、かつ、上記第１の駆動素子群とは択一的に有効になる第２の駆動素子群とを更に含み、オン状態になっているスイッチング素子を介して、オン状態になっている駆動素子により上記出力信号線を駆動していることになる。そして、外部制御信号に応じて上記Ｎ本の出力信号線のうちの少なくとも１本を強制的に他の出力信号線の論理値と同一の論理値に設定し、更に出力信号線群をプリチャージしている。したがって、正逆の循環機能又は符号拡張機能を低消費電力で実現できるという効果がある。
【００４７】
次に、本発明の第８の実施形態によるバレルシフト回路について、図１４を参照して説明する。本実施形態の回路は、循環機能又はビットシフトと共に「０」もしくは「１」を挿入する機能を左右両方向について実現するための配線を設け、更に第３の実施例の場合と同様に出力信号線をプリチャージする回路を設けた構成である。なお、出力信号線の各ビットの値を保持するためのラッチ回路Ｌ１〜Ｌ４も設けている。
【００４８】
本実施形態においては、トランジスタＴ１１に与えられる制御信号α１、トランジスタＴ１２に与えられる制御信号α２、トランジスタＴ２１に与えられる制御信号β１及びトランジスタＴ２２に与えられる制御信号β２の値によって、ビットを左又は右に循環させる機能の他に、機能を有し、これらの機能をスイッチによって切換える構成である。この動作が図１５に示されている。
【００４９】
まず、同図（ａ）を参照すると、制御信号α１が「１」で制御信号α２が「０」であるとき、駆動信号Ａ〜Ｄによって正循環によるバレルシフトを実現できる。また、制御信号α１及び制御信号α２が共に「０」であるとき、駆動信号Ａ〜Ｄによってビットを右にシフトさせ、かつ、シフト量に応じて「０」を付加することができる。そして、制御信号α１が「０」で制御信号α２が「１」であるとき、駆動信号Ａ〜Ｄによってビットを右にシフトさせ、かつ、シフト量に応じて「１」を付加することができる。
【００５０】
次に、同図（ｂ）を参照すると、制御信号β１が「１」で制御信号β２が「０」であるとき、駆動信号ａ〜ｄによって逆循環によるバレルシフトを実現できる。また、制御信号β１及び制御信号β２が共に「０」であるとき、駆動信号ａ〜ｄによってＬＳＢからＭＳＢまでを逆に並べ換えかつビットを右にシフトさせ、更にシフト量に応じて「０」を付加することができる。そして、制御信号β１が「０」で制御信号β２が「１」であるとき、駆動信号ａ〜ｄによってＬＳＢからＭＳＢまでを逆に並べ換えかつビットを右にシフトさせ、更にシフト量に応じて「１」を付加することができる。
【００５１】
かかる構成において、図１２に示されているように、駆動信号Ａ〜Ｄ及び駆動信号ａ〜ｄによって駆動素子のいずれかがオン状態になる以前にプリチャージ回路がオン状態になるように動作させれば、タイミング上電流パスが形成されず、消費電力をより低減することができる。この消費電力低減は、特に扱うビット数が多ければ多いほど効果が大きい。
【００５２】
つまり、本実施形態においては、図１６に示されているような動作モードを実現していることになる。すなわち、制御信号α１のみが「１」で他の制御信号α２並びにβ１及びβ２が「０」のときは左シフト循環機能を実現し、制御信号α１及びα２並びにβ１及びβ２が全て「０」のときは左シフトして「０」を挿入する機能を実現し、制御信号α２のみが「１」で他の制御信号α１並びにβ１及びβ２が「０」のときは左シフトして「１」を挿入する機能を実現している。また、制御信号β１のみが「１」で他の制御信号α１及びα２並びにβ２が「０」のときは右シフト循環機能を実現し、制御信号α１及びα２並びにβ１及びβ２が全て「０」のときは右シフトして「０」を挿入する機能を実現し、制御信号β２のみが「１」で他の制御信号α１及びα２並びにβ１が「０」のときは右シフトして「１」を挿入する機能を実現している。
【００５３】
以上のように、本実施形態によるバレルシフト回路においては、Ｎ本の入力信号線とＮ本の出力信号線とを一対一に組合せて接続することによって上記入力信号線への入力データを構成する各ビットを所定方向にバレルシフトさせて上記出力信号線からのデータを構成する各ビットとするための第１のバレルシフト用配線と、上記入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなる第１のスイッチ素子群と、択一的にオン状態になることによって上記出力信号線各々を駆動するためのＮ個の駆動素子からなる第１の駆動素子群とを含み、上記Ｎ２個のスイッチング素子のうちオン状態になっているスイッチング素子を介して、上記Ｎ個の駆動素子のうちオン状態になっている駆動素子により上記出力信号線を駆動していることになる。また、入力信号線への入力データを構成する各ビットのＬＳＢからＭＳＢへの順序を逆にしかつ所定方向にバレルシフトさせて上記出力信号線からのデータを構成する各ビットとするための第２のバレルシフト用配線と、上記入力信号線に与えられる信号レベルに応じてオン状態になるＮ２個のスイッチング素子からなり、かつ、上記第１のスイッチング素子群とは択一的に有効になる第２のスイッチ素子群と、択一的にオン状態になることによって上記出力信号線各々を駆動するためのＮ個の駆動素子からなり、かつ、上記第１の駆動素子群とは択一的に有効になる第２の駆動素子群とを更に含み、オン状態になっているスイッチング素子を介して、オン状態になっている駆動素子により上記出力信号線を駆動していることになる。そして、外部制御信号に応じて上記Ｎ本の出力信号線のうちの少なくとも１本を強制的に特定論理値に設定する設定手段を更に含み、上記第１の駆動素子群と上記設定手段とを択一的に有効にし、更に出力信号線群をプリチャージしている。したがって、正逆の循環機能又は特定の論理値を詰める機能を低消費電力で実現できるという効果がある。
【００５４】
なお以上の各実施形態においては、入力データ及び出力データが共に４ビットである場合について説明したが、これ以外のビット数の場合についても本発明が適用できることは明白である。
【００５５】
【発明の効果】
以上説明したように本発明は、制御信号線に与えられる制御信号のレベルに応じてスイッチング素子をオンオフ制御するのではなく、入力信号線に与えられる信号レベルに応じてオンオフ制御し、また出力信号線を駆動するための駆動素子を設けてオン状態になっている駆動素子により出力信号線を駆動することにより、ドレイン容量ではなく、ゲート容量のみが付加されるので、動作速度を向上できるという効果がある。
【図面の簡単な説明】
【図１】本発明によるバレルシフト回路の第１の実施形態を示す回路図である。
【図２】本発明によるバレルシフト回路の第２の実施形態を示す回路図である。
【図３】第２の実施形態によるバレルシフト回路の動作を示す図である。
【図４】本発明によるバレルシフト回路の第３の実施形態を示す回路図である。
【図５】本発明の第３の実施形態によるバレルシフト回路の動作を示す波形図である。
【図６】本発明によるバレルシフト回路の第４の実施形態を示す回路図である。
【図７】第４の実施形態によるバレルシフト回路の動作を示す図である。
【図８】本発明によるバレルシフト回路の第５の実施形態を示す回路図である。
【図９】第５の実施形態によるバレルシフト回路の動作を示す図である。
【図１０】本発明によるバレルシフト回路の第６の実施形態を示す回路図である。
【図１１】第６の実施形態によるバレルシフト回路の動作を示す図である。
【図１２】本発明の第６の実施形態によるバレルシフト回路の動作を示す波形図である。
【図１３】本発明によるバレルシフト回路の第７の実施形態を示す回路図である。
【図１４】本発明によるバレルシフト回路の第８の実施形態を示す回路図である。
【図１５】第８の実施形態によるバレルシフト回路の動作を示す図である。
【図１６】本発明の第８の実施形態によるバレルシフト回路の動作モードを示す図である。
【図１７】従来のバレルシフト回路の構成を示す回路図である。
【符号の説明】
Ｂ１〜Ｂ４  バッファ回路
Ｌ１〜Ｌ４  ラッチ回路
ＳＷ  スイッチング素子
Ｔ１〜Ｔ４
ＴＳ１，ＴＳ２
ＴＳ１１，ＴＳ１２
ＴＳ２１，ＴＳ２２  トランジスタ
Ｔａ〜Ｔｄ、ＴＡ〜ＴＤ  駆動素子
【図１】
0003578077.tif 000002
【図２】
0003578077.tif 000003
【図３】
0003578077.tif 000004
【図４】
0003578077.tif 000005
【図５】
0003578077.tif 000006
【図６】
0003578077.tif 000007
【図７】
0003578077.tif 000008
【図８】
0003578077.tif 000009
【図９】
0003578077.tif 000010
【図１０】
0003578077.tif 000011
【図１１】
0003578077.tif 000012
【図１２】
0003578077.tif 000013
【図１３】
0003578077.tif 000014
【図１４】
0003578077.tif 000015
【図１５】
0003578077.tif 000016
【図１６】
0003578077.tif 000017
【図１７】
0003578077.tif 000018