(57)【特許請求の範囲】
【請求項１】
シフト量を左に２ｘ−ａビット｛但し、ｘは３以上の整数、ａは１以上、ｘ以下の整数である。｝又は０ビットとする２ｘビット構成の第ａの左シフタを第１、第２、・・・第ｘの左シフタの順に縦列接続し、２ｘビットの入力データを第１の左シフタに入力し、第ｘの左シフタから出力される２ｘビット・データを出力データとするシフタの前記出力データがゼロであるか否かを判定してなるゼロ判定信号を生成するゼロ判定信号生成回路であって、
第ｂの左シフタ｛但し、ｂは１以上、（ｘ−１）以下の整数である。｝に対応して設けられ、第ｂの左シフタに入力される２ｘビット・データ又は第ｂの左シフタから出力される２ｘビット・データの２の（２ｘ−２ｘ−ｂ）乗の桁から２の（２ｘ−２・２ｘ−ｂ＋１）乗の桁までの部分をＯＲ処理する第ｂのＯＲ回路と、
シフト量が０〜３０の場合には、第ｂのＯＲ回路のうち、シフト動作を行わない左シフタに対応して設けられているＯＲ回路の出力と、第ｘの左シフタがシフト動作を行わない場合には第ｘの左シフタから出力される２ｘビット・データの２の（２ｘ−１）乗の桁の部分と、前記入力データの２０の桁の部分とをＯＲ処理し、シフト量が３１の場合には、前記入力データの２０の桁の部分をバッファリングし、前記ゼロ判定信号を出力するＯＲ／バッファ回路とを備えていることを特徴とするゼロ判定信号生成回路。
【請求項２】
シフト量を右に２ｘ−ａビット｛但し、ｘは３以上の整数、ａは１以上、ｘ以下の整数である。｝又は０ビットとする２ｘビット構成の第ａの右シフタを第１、第２、・・・第ｘの右シフタの順に縦列接続し、２ｘビットの入力データを第１の右シフタに入力し、第ｘの右シフタから出力される２ｘビット・データを出力データとするシフタの前記出力データがゼロであるか否かを判定してなるゼロ判定信号を生成するゼロ判定信号生成回路であって、
第ｂの右シフタ｛但し、ｂは１以上、（ｘ−１）以下の整数である。｝に対応して設けられ、第ｂの右シフタに入力される２ｘビット・データ又は第ｂの右シフタから出力される２ｘビット・データの２の（２ｘ−（ａ−１）−２）乗の桁から２の（２ｘ−ａ−１）乗の桁までの部分をＯＲ処理する第ｂのＯＲ回路と、
シフト量が０〜３０の場合には、第ｂのＯＲ回路のうち、シフト動作を行わない右シフタに対応して設けられているＯＲ回路の出力と、第ｘの右シフタがシフト動作を行わない場合には第ｘの右シフタから出力される２ｘビット・データの２０の桁の部分と、前記入力データの２の（２ｘ−１）乗の桁の部分とをＯＲ処理し、シフト量が３１の場合には、前記入力データの２の（２ｘ−１）乗の桁の部分をバッファリングし、前記ゼロ判定信号を出力するＯＲ／バッファ回路とを備えていることを特徴とするゼロ判定信号生成回路。
【請求項３】
シフト量を左に２ｘ−ａビット｛但し、ｘは３以上の整数、ａは１以上、ｘ以下の整数である。｝又は０ビットとする２ｘビット構成の第ａの左シフタを第１、第２、・・・第ｘの左シフタの順に縦列接続し、２ｘビットの入力データを第１の左シフタに入力し、第ｘの左シフタから出力される２ｘビット・データを左シフト部の出力データとする左シフト部と、
シフト量を右に２ｘ−ａビット又は０ビットとする２ｘビット構成の第ａの右シフタを第１、第２、・・・第ｘの右シフタの順に縦列接続し、前記入力データを第１の右シフタに入力し、第ｘの右シフタから出力される２ｘビット・データを右シフト部の出力データとする右シフト部と、
左シフトの場合には、前記左シフト部の出力データを出力データとして選択して出力し、右シフトの場合には、前記右シフト部の出力データを前記出力データとして選択して出力する出力データ選択用セレクタとを備えるシフタの前記出力データがゼロであるか否かを判定してなるゼロ判定信号を生成するゼロ判定信号生成回路であって、
第ｂの左シフタ｛但し、ｂは１以上、（ｘ−１）以下の整数である。｝に対応して設けられ、第ｂの左シフタに入力される２ｘビット・データ又は第ｂの左シフタから出力される２ｘビット・データの２の（２ｘ−２ｘ−ｂ）乗の桁から２の（２ｘ−２・２ｘ−ｂ＋１）乗の桁までの部分をＯＲ処理する第ｂの左シフト部用ＯＲ回路と、
シフト量が０〜３０の場合には、第ｂの左シフト部用ＯＲ回路のうち、シフト動作を行わない左シフタに対応して設けられている左シフト部用ＯＲ回路の出力と、第ｘの左シフタがシフト動作を行わない場合には第ｘの左シフタから出力される２ｘビット・データの２の（２ｘ−１）乗の桁の部分と、前記入力データの２０の桁の部分とをＯＲ処理し、シフト量が３１の場合には、前記入力データの２０の桁の部分をバッファリングする左シフト部用ＯＲ／バッファ回路と、
第ｂの右シフタに対応して設けられ、第ｂの右シフタに入力される２ｘ  ビット・データ又は第ｂの右シフタから出力される２ｘビット・データの２の（２ｘ−（ａ−１）−２）乗の桁から２の（２ｘ−ａ−１）乗の桁までの部分をＯＲ処理する第ｂの右シフト部用ＯＲ回路と、
シフト量が０〜３０の場合には、第ｂの右シフト部用ＯＲ回路のうち、シフト動作を行わない右シフタに対応して設けられている右シフト部用ＯＲ回路の出力と、第ｘの右シフタがシフト動作を行わない場合には第ｘの右シフタから出力される２ｘビット・データの２の２０の桁の部分と、前記入力データの２の（２ｘ−１）乗の桁の部分とをＯＲ処理し、シフト量が３１の場合には、前記入力データの２の（２ｘ−１）乗の桁の部分をバッファリングする右シフト部用ＯＲ／バッファ回路と、
左シフトの場合には、左シフト部用ＯＲ／バッファ回路の出力を前記ゼロ判定信号として選択して出力し、右シフトの場合には、右シフト部用ＯＲ／バッファ回路の出力を前記ゼロ判定信号として選択して出力するゼロ判定信号選択用セレクタとを備えていることを特徴とするゼロ判定信号生成回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＬＳＩにシフタとともに搭載し、シフタの出力データがゼロであるか否か、すなわち、出力データの全ビットが論理０（以下、論理０を“０”と記し、論理１を“１”と記す。）であるか否かを判定してなるゼロ判定信号を生成するゼロ判定信号生成回路に関する。
【０００２】
【従来の技術】
ＬＳＩにシフタとともに、ゼロ判定信号生成回路を搭載する必要がある場合、シフタの出力データの全ビットをＯＲ処理するゼロ判定信号生成回路を搭載することが考えられる。
【０００３】
【発明が解決しようとする課題】
しかし、シフタの出力データの全ビットをＯＲ処理するゼロ判定信号生成回路を搭載する場合には、シフタにおけるシフト動作が終了してからゼロ判定信号を生成することになるので、シフタの出力データのゼロ判定の高速化を図ることができないという問題点がある。
【０００４】
本発明は、かかる点に鑑み、シフタの出力データのゼロ判定の高速化を図ることができるようにしたゼロ判定信号生成回路を提供することを目的とする。
【０００５】
【課題を解決するための手段】
本発明中、第１の発明は、シフト量を左に２ｘ−ａビット｛但し、ｘは３以上の整数、ａは１以上、ｘ以下の整数である。｝又は０ビットとする２ｘビット構成の第ａの左シフタを第１、第２、・・・第ｘの左シフタの順に縦列接続し、２ｘビットの入力データを第１の左シフタに入力し、第ｘの左シフタから出力される２ｘビット・データを出力データとするシフタの出力データがゼロであるか否かを判定してなるゼロ判定信号を生成するゼロ判定信号生成回路であって、第ｂのＯＲ回路｛但し、ｂは１以上、（ｘ−１）以下の整数である。｝と、ＯＲ／バッファ回路とを備えているというものである。
【０００６】
ここに、第ｂのＯＲ回路は、第ｂの左シフタに対応して設けられ、第ｂの左シフタに入力される２ｘビット・データ又は第ｂの左シフタから出力される２ｘビット・データの２の（２ｘ−２ｘ−ｂ）乗の桁から２の（２ｘ−２・２ｘ−ｂ＋１）乗の桁までの部分をＯＲ処理するものである。
【０００７】
また、ＯＲ／バッファ回路は、シフト量が０〜３０の場合には、第ｂのＯＲ回路のうち、シフト動作を行わない左シフタに対応して設けられているＯＲ回路の出力と、第ｘの左シフタがシフト動作を行わない場合には第ｘの左シフタから出力される２ｘビット・データの２の（２ｘ−１）乗の桁の部分と、入力データの２０の桁の部分とをＯＲ処理し、シフト量が３１の場合には、入力データの２０の桁の部分をバッファリングし、ゼロ判定信号を出力するものである。
【０００８】
本発明中、第１の発明によれば、シフト動作を行わない左シフタに入力される２ｘビット・データ又はシフト動作を行わない左シフタから出力される２ｘビット・データの所定ビットの部分をＯＲ処理又はバッファリングし、最終的には、ＯＲ／バッファ回路によるＯＲ処理又はバッファリングを介してゼロ判定信号を生成することができる。すなわち、シフタにおけるシフト動作と略並行してゼロ判定信号を生成することができる。
【０００９】
本発明中、第２の発明は、シフト量を右に２ｘ−ａ  ビット又は０ビットとする２ｘビット構成の第ａの右シフタを第１、第２、・・・第ｘの右シフタの順に縦列接続し、２ｘビットの入力データを第１の右シフタに入力し、第ｘの右シフタから出力される２ｘビット・データを出力データとするシフタの出力データがゼロであるか否かを判定してなるゼロ判定信号を生成するゼロ判定信号生成回路であって、第ｂのＯＲ回路と、ＯＲ／バッファ回路とを備えているものである。
【００１０】
ここに、第ｂのＯＲ回路は、第ｂの右シフタに対応して設けられ、第ｂの右シフタに入力される２ｘビット・データ又は第ｂの右シフタから出力される２ｘビット・データの２の（２ｘ−（ａ−１）−２）乗の桁から２の（２ｘ−ａ−１）乗の桁までの部分をＯＲ処理するものである。
【００１１】
また、ＯＲ／バッファ回路は、シフト量が０〜３０の場合には、第ｂのＯＲ回路のうち、シフト動作を行わない右シフタに対応して設けられているＯＲ回路の出力と、第ｘの右シフタがシフト動作を行わない場合には第ｘの右シフタから出力される２ｘビット・データの２０の桁の部分と、入力データの２の（２ｘ−１）乗の桁の部分とをＯＲ処理し、シフト量が３１の場合には、入力データの２の（２ｘ−１）乗の桁の部分をバッファリングし、ゼロ判定信号を出力するものである。
【００１２】
本発明中、第２の発明によれば、シフト動作を行わない右シフタに入力される２ｘビット・データ又はシフト動作を行わない右シフタから出力される２ｘビット・データの所定ビットの部分をＯＲ処理又はバッファリングし、最終的には、ＯＲ／バッファ回路によるＯＲ処理又はバッファリングを介してゼロ判定信号を生成することができる。すなわち、シフタにおけるシフト動作と略並行してゼロ判定信号を生成することができる。
【００１３】
本発明中、第３の発明は、シフト量を左に２ｘ−ａビット又は０ビットとする２ｘビット構成の第ａの左シフタを第１、第２、・・・第ｘの左シフタの順に縦列接続し、２ｘビットの入力データを第１の左シフタに入力し、第ｘの左シフタから出力される２ｘビット・データを左シフト部の出力データとする左シフト部と、シフト量を右に２ｘ−ａビット又は０ビットとする２ｘビット構成の第ａの右シフタを第１、第２、・・・第ｘの右シフタの順に縦列接続し、入力データを第１の右シフタに入力し、第ｘの右シフタから出力される２ｘビット・データを右シフト部の出力データとする右シフト部と、左シフトの場合には、左シフト部の出力データを出力データとして選択して出力し、右シフトの場合には、右シフト部の出力データを出力データとして選択して出力する出力データ選択用セレクタとを備えるシフタの出力データがゼロであるか否かを判定してなるゼロ判定信号を生成するゼロ判定信号生成回路であって、第ｂの左シフト部用ＯＲ回路と、左シフト部用ＯＲ／バッファ回路と、第ｂの右シフト部用ＯＲ回路と、右シフト部用ＯＲ／バッファ回路と、ゼロ判定信号選択用セレクタとを備えているというものである。
【００１４】
ここに、第ｂの左シフト部用ＯＲ回路は、第ｂの左シフタに対応して設けられ、第ｂの左シフタに入力される２ｘビット・データ又は第ｂの左シフタから出力される２ｘビット・データの２の（２ｘ−２ｘ−ｂ）乗の桁から２の（２ｘ−２・２ｘ−ｂ＋１）乗の桁までの部分をＯＲ処理するものである。
【００１５】
また、左シフト部用ＯＲ／バッファ回路は、シフト量が０〜３０の場合には、第ｂの左シフト部用ＯＲ回路のうち、シフト動作を行わない左シフタに対応して設けられている左シフト部用ＯＲ回路の出力と、第ｘの左シフタがシフト動作を行わない場合には第ｘの左シフタから出力される２ｘビット・データの２の（２ｘ−１）乗の桁の部分と、入力データの２０の桁の部分とをＯＲ処理し、シフト量が３１の場合には、入力データの２０の桁の部分をバッファリングするものである。
【００１６】
また、第ｂの右シフト部用ＯＲ回路は、第ｂの右シフタに対応して設けられ、第ｂの右シフタに入力される２ｘビット・データ又は第ｂの右シフタから出力される２ｘビット・データの２の（２ｘ−（ａ−１）−２）乗の桁から２の（２ｘ−ａ−１）乗の桁までの部分をＯＲ処理するものである。
【００１７】
また、右シフト部用ＯＲ／バッファ回路は、シフト量が０〜３０の場合には、第ｂの右シフト部用ＯＲ回路のうち、シフト動作を行わない右シフタに対応して設けられている右シフト部用ＯＲ回路の出力と、第ｘの右シフタがシフト動作を行わない場合には第ｘの右シフタから出力される２ｘ  ビット・データの２の２０の桁の部分と、入力データの２の（２ｘ−１）乗の桁の部分とをＯＲ処理し、シフト量が３１の場合には、入力データの２の（２ｘ−１）乗の桁の部分をバッファリングするものである。
【００１８】
また、ゼロ判定信号選択用セレクタは、左シフトの場合には、左シフト部用ＯＲ／バッファ回路の出力をゼロ判定信号として選択して出力し、右シフトの場合には、右シフト部用ＯＲ／バッファ回路の出力をゼロ判定信号として選択して出力するものである。
【００１９】
本発明中、第３の発明によれば、シフタが左シフタに設定される場合には、シフト動作を行わない左シフタに入力される２ｘビット・データ又はシフト動作を行わない左シフタから出力される２ｘビット・データの所定の部分をＯＲ処理又はバッファリングし、最終的には、ＯＲ／バッファ回路によるＯＲ処理又はバッファリングを介してゼロ判定信号を生成することができる。すなわち、左シフト部におけるシフト動作と略並行してゼロ判定信号を生成することができる。
【００２０】
また、シフタが右シフタに設定される場合には、シフト動作を行わない右シフタに入力される２ｘビット・データ又はシフト動作を行わない右シフタから出力される２ｘビット・データの所定の部分をＯＲ処理又はバッファリングし、最終的には、ＯＲ／バッファ回路によるＯＲ処理又はバッファリングを介してゼロ判定信号を生成することができる。すなわち、右シフト部におけるシフト動作と略並行してゼロ判定信号を生成することができる。
【００２１】
【発明の実施の形態】
以下、図１〜図１３を参照して、本発明の一実施形態について説明する。なお、明細書及び図面において、［ｊ］はデジタル信号の２ｊの桁（ビットｊ）の部分を示し、［ｊ  ：ｋ］はデジタル信号の２ｊの桁（ビットｊ）から２ｋの桁（ビットｋ）までの部分を示している。
【００２２】
図１はシフタの一例及び本発明の一実施形態の要部を示す回路図であり、図１中、１はシフト方向を左又は右、シフト量を０〜３１ビットとする３２ビット構成のシフタ、２は本発明の一実施形態である。
【００２３】
また、ＤＩ［３１：０］はシフタ１に対する３２ビットの入力データ、ＯＰは算術シフトかつ右シフトであるか否かを指示する１ビット構成のオペレーション・コードであり、算術シフトかつ右シフトである場合には“１”とされ、それ以外の場合、すなわち、算術シフトかつ左シフトである場合又は論理シフトである場合には“０”とされるものである。
【００２４】
また、ＳＦ［４：０］はシフト量を指示する５ビット構成のシフト量指示信号、／ＳＦ［４：０］はシフト量指示信号ＳＦを反転してなる５ビット構成の反転シフト量指示信号であり、シフト量指示信号ＳＦ［４：０］は、その１０進数値がシフト量を示している。
【００２５】
また、ＤＯ［３１：０］は３２ビットの、シフタ１の出力データ、ＺＤは出力データＤＯがゼロであるか否かを判定してなるゼロ判定信号であり、出力データＤＯがゼロである場合には“０”、出力データＤＯがゼロでない場合には“１”となるものである。
【００２６】
また、３は入力データＤＩ［３１：０］をシフト対象とする３２ビット構成の左シフタであり、シフト量指示信号ＳＦ［４］によりシフト動作を制御され、シフト量指示信号ＳＦ［４］＝“１”の場合にはシフト量を左に１６ビットとし、シフト量指示信号ＳＦ［４］＝“０”の場合にはシフト量を０ビットとするものである。
【００２７】
また、４は左シフタ３の出力［３１：０］をシフト対象とする３２ビット構成の左シフタであり、シフト量指示信号ＳＦ［３］によりシフト動作を制御され、シフト量指示信号ＳＦ［３］＝“１”の場合にはシフト量を左に８ビットとし、シフト量指示信号ＳＦ［３］＝“０”の場合にはシフト量を０ビットとするものである。
【００２８】
また、５は左シフタ４の出力［３１：０］をシフト対象とする３２ビット構成の左シフタであり、シフト量指示信号ＳＦ［２］によりシフト動作を制御され、シフト量指示信号ＳＦ［２］＝“１”の場合にはシフト量を左に４ビットとし、シフト量指示信号ＳＦ［２］＝“０”の場合にはシフト量を０ビットとするものである。
【００２９】
また、６は左シフタ５の出力［３１：０］をシフト対象とする３２ビット構成の左シフタであり、シフト量指示信号ＳＦ［１］によりシフト動作を制御され、シフト量指示信号ＳＦ［１］＝“１”の場合にはシフト量を左に２ビットとし、シフト量指示信号ＳＦ［１］＝“０”の場合にはシフト量を０ビットとするものである。
【００３０】
また、７は左シフタ６の出力［３１：０］をシフト対象とする３２ビット構成の左シフタであり、シフト量指示信号ＳＦ［０］によりシフト動作を制御され、シフト量指示信号ＳＦ［０］＝“１”の場合にはシフト量を左に１ビットとし、シフト量指示信号ＳＦ［０］＝“０”の場合にはシフト量を０ビットとするものである。なお、これら左シフタ３〜７で左シフト部が構成されている。
【００３１】
また、８は入力データＤＩ［３１：０］をシフト対象とする３２ビット構成の右シフタであり、シフト量指示信号ＳＦ［４］によりシフト動作を制御され、シフト量指示信号ＳＦ［４］＝“１”の場合にはシフト量を右に１６ビットとし、シフト量指示信号ＳＦ［４］＝“０”の場合にはシフト量を０ビットとするものである。
【００３２】
また、９は右シフタ８の出力［３１：０］をシフト対象とする３２ビット構成の右シフタであり、シフト量指示信号ＳＦ［３］によりシフト動作を制御され、シフト量指示信号ＳＦ［３］＝“１”の場合にはシフト量を右に８ビットとし、シフト量指示信号ＳＦ［３］＝“０”の場合にはシフト量を０ビットとするものである。
【００３３】
また、１０は右シフタ９の出力［３１：０］をシフト対象とする３２ビット構成の右シフタであり、シフト量指示信号ＳＦ［２］によりシフト動作を制御され、シフト量指示信号ＳＦ［２］＝“１”の場合にはシフト量を右に４ビットとし、シフト量指示信号ＳＦ［２］＝“０”の場合にはシフト量を０ビットとするものである。
【００３４】
また、１１は右シフタ１０の出力［３１：０］をシフト対象とする３２ビット構成の右シフタであり、シフト量指示信号ＳＦ［１］によりシフト動作を制御され、シフト量指示信号ＳＦ［１］＝“１”の場合にはシフト量を右に２ビットとし、シフト量指示信号ＳＦ［１］＝“０”の場合にはシフト量を０ビットとするものである。
【００３５】
また、１２は右シフタ１１の出力［３１：０］をシフト対象とする３２ビット構成の右シフタであり、シフト量指示信号ＳＦ［０］によりシフト動作を制御され、シフト量指示信号ＳＦ［０］＝“１”の場合にはシフト量を右に１ビットとし、シフト量指示信号ＳＦ［０］＝“０”の場合にはシフト量を０ビットとするものである。なお、これら右シフタ８〜１２で右シフト部が構成されている。
【００３６】
また、１３は入力データＤＩ［３１］とオペレーション・コードＯＰとをＡＮＤ処理して、その出力を右シフタ８〜１２に供給するＡＮＤ回路、１４は左シフタ７の出力［３１：０］又は右シフタ１２の出力［３１：０］を出力データＤＯ［３１：０］として選択して出力するセレクタである。
【００３７】
セレクタ１４は、オペレーション・コードＯＰにより選択動作を制御され、オペレーション・コードＯＰ＝“０”の場合には、左シフタ７の出力［３１：０］を選択し、オペレーション・コードＯＰ＝“１”の場合には、右シフタ１２の出力［３１：０］を選択するものである。
【００３８】
また、１５は左シフタ３に対応して設けられ、左シフタ３の出力［１６：１］をＯＲ処理するＯＲ回路、１６は左シフタ４に対応して設けられ、左シフタ４の出力［２４：１７］をＯＲ処理するＯＲ回路、１７は左シフタ５に対応して設けられ、左シフタ５の出力［２８：２５］をＯＲ処理するＯＲ回路、１８は左シフタ６に対応して設けられ、左シフタ６の出力［３０：２９］をＯＲ処理するＯＲ回路、１９は左シフタ７に対応して設けられ、左シフタ７の出力［３１］をバッファリングするバッファ回路である。
【００３９】
また、２０は入力データＤＩ［０］と、ＯＲ回路１５、１６、１７、１８の出力ＬＯＲ１６、ＬＯＲ８、ＬＯＲ４、ＬＯＲ２と、バッファ回路１９の出力ＬＢＦとを入力信号とするＯＲ／バッファ回路である。
【００４０】
このＯＲ／バッファ回路２０は、反転シフト量指示信号／ＳＦ［４：０］により制御され、シフト量が０〜３０の場合には、ＯＲ回路１５、１６、１７、１８の出力ＬＯＲ１６、ＬＯＲ８、ＬＯＲ４、ＬＯＲ２及びバッファ回路１９の出力ＬＢＦの中の選択された信号と、入力データＤＩ［０］とをＯＲ処理するＯＲ回路として機能し、シフト量が３１の場合には、入力データＤＩ［０］に対してバッファ回路として機能するものである。
【００４１】
また、２１は右シフタ８に対応して設けられ、右シフタ８の出力［３０：１５］をＯＲ処理するＯＲ回路、２２は右シフタ９に対応して設けられ、右シフタ９の出力［１４：７］をＯＲ処理するＯＲ回路、２３は右シフタ１０に対応して設けられ、右シフタ１０の出力［６：３］をＯＲ処理するＯＲ回路、２４は右シフタ１１に対応して設けられ、右シフタ１１の出力［２：１］をＯＲ処理するＯＲ回路、２５は右シフタ１２に対応して設けられ、右シフタ１０の出力［０］をバッファリングするバッファ回路である。
【００４２】
また、２６は入力データＤＩ［３１］、ＯＲ回路２１、２２、２３、２４の出力ＲＯＲ１６、ＲＯＲ８、ＲＯＲ４、ＲＯＲ２と、バッファ回路２５の出力ＲＢＦとを入力信号とするＯＲ／バッファ回路である。
【００４３】
このＯＲ／バッファ回路２６は、シフト量指示信号ＳＦ［４：０］により制御され、シフト量が０〜３０の場合には、ＯＲ回路２１、２２、２３、２４の出力ＲＯＲ１６、ＲＯＲ８、ＲＯＲ４、ＲＯＲ２及びバッファ回路２５の出力ＲＢＦの中の選択された信号と、入力データＤＩ［３１］とをＯＲ処理するＯＲ回路として機能し、シフト量が３１の場合には、入力データＤＩ［３１］に対してバッファ回路として機能するものである。
【００４４】
また、２７はＯＲ／バッファ回路２０の出力又はＯＲ／バッファ回路２６の出力をゼロ判定信号ＺＤとして出力するセレクタであり、オペレーション・コードＯＰにより選択動作を制御され、オペレーション・コードＯＰ＝“０”の場合にはＯＲ／バッファ回路２０の出力を選択し、オペレーション・コードＯＰ＝“１”の場合にはＯＲ／バッファ回路２６の出力を選択するものである。
【００４５】
図２は左シフタ３〜７の構成例を示す回路図である。但し、左シフタ３の場合には、ｍ＝１６、ｎ＝４、左シフタ４の場合には、ｍ＝８、ｎ＝３、左シフタ５の場合には、ｍ＝４、ｎ＝２、左シフタ６の場合には、ｍ＝２、ｎ＝１、左シフタ７の場合には、ｍ＝１、ｎ＝０である。
【００４６】
図２中、２９はオペレーション・コードＯＰ［ｎ］を反転するインバータ、３０−３１はオペレーション・コードＯＰ［ｎ］と入力［３１−ｍ］とをＮＡＮＤ処理するＮＡＮＤ回路、３０−ｍはオペレーション・コードＯＰ［ｎ］と入力［０］とをＮＡＮＤ処理するＮＡＮＤ回路である。
【００４７】
また、３１−３１はインバータ２９の出力と入力［３１］とをＮＡＮＤ処理するＮＡＮＤ回路、３１−ｍはインバータ２９の出力と入力［ｍ］とをＮＡＮＤ処理するＮＡＮＤ回路、３１−（ｍ−１）はインバータ２９の出力と入力［ｍ−１］とをＮＡＮＤ処理するＮＡＮＤ回路、３１−０はインバータ２９の出力と入力［０］とをＮＡＮＤ処理するＮＡＮＤ回路である。
【００４８】
また、３２−３１はＮＡＮＤ回路３０−３１、３１−３１の出力をＮＡＮＤ処理して出力［３１］を生成するＮＡＮＤ回路、３２−ｍはＮＡＮＤ回路３０−ｍ、３１−ｍの出力をＮＡＮＤ処理して出力［ｍ］を生成するＮＡＮＤ回路、３２−（ｍ−１）はＮＡＮＤ回路３１−（ｍ−１）の出力を反転して出力［ｍ−１］を生成するインバータ、３２−０はＮＡＮＤ回路３１−０の出力を反転して出力［０］を生成するインバータである。
【００４９】
図２に示す左シフタにおいては、オペレーション・コードＯＰ［ｎ］＝“１”の場合には、ＮＡＮＤ回路３０−３１〜３０−ｍは入力［３１−ｍ：０］に対してインバータとして機能すると共に、インバータ２９の出力＝“０”となり、ＮＡＮＤ回路３１−３１〜３１−０の出力＝“１”に固定される。
【００５０】
この結果、ＮＡＮＤ回路３２−３１〜３２−ｍはＮＡＮＤ回路３０−３１〜３０−ｍに対してインバータとして機能すると共に、インバータ３２−（ｍ−１）〜３２−０の出力＝“０”となり、図２に示す左シフタは、シフト量を左にｍビットとするシフタとして機能することになる。
【００５１】
これに対して、オペレーション・コードＯＰ［ｎ］＝“０”の場合には、ＮＡＮＤ回路３０−３１〜３０−ｍの出力＝“１”に固定されると共に、インバータ２９の出力＝“１”となり、ＮＡＮＤ回路３１−３１〜３１−０は入力［３１：０］に対してインバータとして機能する。
【００５２】
この結果、ＮＡＮＤ回路３２−３１〜３２−ｍはＮＡＮＤ回路３１−３１〜３１−ｍに対してインバータとして機能し、図２に示す左シフタは、シフト量を０とし、入力［３１：０］に対してバッファとして機能することになる。
【００５３】
図３は右シフタ８〜１２の構成例を示す回路図である。但し、右シフタ８の場合には、ｍ＝１６、ｎ＝４、右シフタ９の場合には、ｍ＝８、ｎ＝３、右シフタ１０の場合には、ｍ＝４、ｎ＝２、右シフタ１１の場合には、ｍ＝２、ｎ＝１、右シフタ１２の場合には、ｍ＝１、ｎ＝０である。
【００５４】
図３中、３４はオペレーション・コードＯＰ［ｎ］を反転するインバータ、３５−３１はオペレーション・コードＯＰ［ｎ］とＡＮＤ回路１３の出力とをＮＡＮＤ処理するＮＡＮＤ回路、３５−［３１−（ｍ−１）］はオペレーション・コードＯＰ［ｎ］とＡＮＤ回路１３の出力とをＮＡＮＤ処理するＮＡＮＤ回路である。
【００５５】
また、３５−（３１−ｍ）はオペレーション・コードＯＰ［ｎ］と入力［３１］とをＮＡＮＤ処理するＮＡＮＤ回路、３５−０はオペレーション・コードＯＰ［ｎ］と入力［ｍ］とをＮＡＮＤ処理するＮＡＮＤ回路である。
【００５６】
また、３６−３１はインバータ３４の出力と入力［３１］とをＮＡＮＤ処理するＮＡＮＤ回路、３６−［３１−（ｍ−１）］はインバータ３４の出力と入力［３１−（ｍ−１）］とをＮＡＮＤ処理するＮＡＮＤ回路、３６−（３１−ｍ）はインバータ３４の出力と入力［３１−ｍ］とをＮＡＮＤ処理するＮＡＮＤ回路、３６−０はインバータ３４の出力と入力［０］とをＮＡＮＤ処理するＮＡＮＤ回路である。
【００５７】
また、３７−３１はＮＡＮＤ回路３５−３１、３６−３１の出力をＮＡＮＤ処理して出力［３１］を生成するＮＡＮＤ回路、３７−［３１−（ｍ−１）］はＮＡＮＤ回路３５−［３１−（ｍ−１）］、３６−［３１−（ｍ−１）］の出力をＮＡＮＤ処理して出力［３１−（ｍ−１）］を生成するＮＡＮＤ回路、３７−（３１−ｍ）はＮＡＮＤ回路３５−（３１−ｍ）、３６−（３１−ｍ）の出力をＮＡＮＤ処理して出力［３１−ｍ］を生成するＮＡＮＤ回路、３７−０はＮＡＮＤ回路３５−０、３６−０の出力をＮＡＮＤ処理して出力［０］を生成するＮＡＮＤ回路である。
【００５８】
図３に示す右シフタにおいては、オペレーション・コードＯＰ［ｎ］＝“１”の場合には、ＮＡＮＤ回路３５−３１〜３５−［３１−（ｍ−１）］はＡＮＤ回路１３の出力に対してインバータとして機能し、ＮＡＮＤ回路３５−（３１−ｍ）〜３５−０は入力［３１：ｍ］に対してインバータとして機能すると共に、インバータ３４の出力＝“０”となり、ＮＡＮＤ回路３６−３１〜３６−０の出力＝“１”に固定される。
【００５９】
この結果、ＮＡＮＤ回路３７−３１〜３７−０はＮＡＮＤ回路３５−３１〜３５−０に対してインバータとして機能し、図３に示す右シフタは、シフト量を右にｍビットとするシフタとして機能することになる。
【００６０】
これに対して、オペレーション・コードＯＰ［ｎ］＝“０”の場合には、ＮＡＮＤ回路３５−３１〜３５−０の出力＝“１”に固定されると共に、インバータ３４の出力＝“１”となり、ＮＡＮＤ回路３６−３１〜３６−０は入力［３１：０］に対してインバータとして機能する。
【００６１】
この結果、ＮＡＮＤ回路３７−３１〜３７−０はＮＡＮＤ回路３６−３１〜３６−０に対してインバータとして機能し、図３に示す右シフタは、シフト量を０とし、入力［３１：０］に対してバッファとして機能することになる。
【００６２】
図４はＯＲ／バッファ回路２０の構成を示す回路図である。図４中、３９はＯＲ回路１５の出力ＬＯＲ１６と反転シフト量指示信号／ＳＦ［４］とをＮＡＮＤ処理するＮＡＮＤ回路、４０はＮＡＮＤ回路３９の出力を反転するインバータ、４１はＯＲ回路１６の出力ＬＯＲ８と反転シフト量指示信号／ＳＦ［３］とをＮＡＮＤ処理するＮＡＮＤ回路、４２はＮＡＮＤ回路４１の出力を反転するインバータである。
【００６３】
また、４３はＯＲ回路１７の出力ＬＯＲ４と反転シフト量指示信号／ＳＦ［２］とをＮＡＮＤ処理するＮＡＮＤ回路、４４はＮＡＮＤ回路４３の出力を反転するインバータ、４５はＯＲ回路１８の出力ＬＯＲ２と反転シフト量指示信号／ＳＦ［１］とをＮＡＮＤ処理するＮＡＮＤ回路、４６はＮＡＮＤ回路４５の出力を反転するインバータである。
【００６４】
また、４７はバッファ回路１９の出力ＬＢＦと反転シフト量指示信号／ＳＦ［０］とをＮＡＮＤ処理するＮＡＮＤ回路、４８はＮＡＮＤ回路４７の出力を反転するインバータ、４９は入力データＤＩ［０］を反転するインバータ、５０はインバータ４９の出力を反転するインバータである。
【００６５】
また、５１はインバータ４０、４２、４４の出力をＮＯＲ処理するＮＯＲ回路、５２はインバータ４６、４８、５０の出力をＮＯＲ処理するＮＯＲ回路、５３はＮＯＲ回路５１、５２の出力をＮＡＮＤ処理するＮＡＮＤ回路である。
【００６６】
表１は、シフト量と、シフト量指示信号ＳＦ［４：０］と、反転シフト量指示信号／ＳＦ［４：０］と、ＯＲ／バッファ回路２０でＯＲ処理される信号との関係を示しており、ＯＲ／バッファ回路２０においては、シフト量が０〜３０の場合には、ＯＲ回路１５〜１８のうち、シフト動作を行わない左シフタに対応して設けられているＯＲ回路の出力と、左シフタ７がシフト動作を行わない場合にはバッファ回路１９の出力ＬＢＦと、入力データＤＩ［０］とがＯＲ処理され、シフト量が３１の場合には、入力データＤＩ［０］がバッファリングされることになる。
【００６７】
【表１】
0003562373.tif 000002
【００６８】
図５はＯＲ／バッファ回路２６の構成を示す回路図である。図５中、５５はＯＲ回路２１の出力ＲＯＲ１６とシフト量指示信号ＳＦ［４］とをＮＡＮＤ処理するＮＡＮＤ回路、５６はＮＡＮＤ回路５５の出力を反転するインバータ、５７はＯＲ回路２２の出力ＲＯＲ８とシフト量指示信号ＳＦ［３］とをＮＡＮＤ処理するＮＡＮＤ回路、５８はＮＡＮＤ回路５７の出力を反転するインバータである。
【００６９】
また、５９はＯＲ回路２３の出力ＲＯＲ４とシフト量指示信号ＳＦ［２］とをＮＡＮＤ処理するＮＡＮＤ回路、６０はＮＡＮＤ回路５９の出力を反転するインバータ、６１はＯＲ回路２４の出力ＲＯＲ２とシフト量指示信号ＳＦ［１］とをＮＡＮＤ処理するＮＡＮＤ回路、６２はＮＡＮＤ回路６１の出力を反転するインバータである。
【００７０】
また、６３はバッファ回路２５の出力ＲＢＦとシフト量指示信号ＳＦ［０］とをＮＡＮＤ処理するＮＡＮＤ回路、６４はＮＡＮＤ回路６３の出力を反転するインバータ、６５は入力データＤＩ［３１］を反転するインバータ、６６はインバータ６５の出力を反転するインバータである。
【００７１】
また、６７はインバータ５６、５８、６０の出力をＮＯＲ処理するＮＯＲ回路、６８はインバータ６２、６４、６６の出力をＮＯＲ処理するＮＯＲ回路、６９はＮＯＲ回路６７、６８の出力をＮＡＮＤ処理するＮＡＮＤ回路である。
【００７２】
表２は、シフト量と、シフト量指示信号ＳＦ［４：０］と、ＯＲ／バッファ回路２６でＯＲ処理される信号との関係を示しており、ＯＲ／バッファ回路２６においては、シフト量が０〜３０の場合には、ＯＲ回路２１〜２４のうち、シフト動作を行わない右シフタに対応して設けられているＯＲ回路の出力と、右シフタ１２がシフト動作を行わない場合にはバッファ回路２５の出力と、入力データＤＩ［３１］とがＯＲ処理され、シフト量が３１の場合には、入力データＤＩ［３１］がバッファリングされることになる。
【００７３】
【表２】
0003562373.tif 000003
【００７４】
このように構成された本発明の一実施形態においては、オペレーション・コードＯＰ＝“０”とされた場合、セレクタ１４は、出力データＤＯ［３１：０］として、左シフタ７の出力［３１：０］を選択すると共に、セレクタ２７は、ゼロ判定信号ＺＤとして、ＯＲ／バッファ回路２０の出力を選択することになる。したがって、シフタ１及び本発明の一実施形態２は、等価的には、図６に示すようになる。
【００７５】
これに対して、オペレーション・コードＯＰ＝“１”とされた場合、セレクタ１４は、出力データＤＯ［３１：０］として、右シフタ１２の出力［３１：０］を選択すると共に、セレクタ２７は、ゼロ判定信号ＺＤとして、ＯＲ／バッファ回路２６の出力を選択することになる。したがって、シフタ１及び本発明の一実施形態２は、等価的には、図７に示すようになる。
【００７６】
図８は、たとえば、シフタ１が左シフタ、かつ、シフト量＝０に設定された場合の本発明の一実施形態２の動作を説明するための図であり、この場合、出力データＤＯ［３１：０］がゼロであるか否かを判定するためには、出力データＤＯ［３１：０］の全ビットをＯＲ処理する必要がある。
【００７７】
ここに、出力データＤＯ［３１］、［３０：２９］、ＤＯ［２８：２５］、［２４：１７］、［１６：１］、［０］の論理値は、それぞれ、左シフタ７の出力［３１］、左シフタ６の出力［３０：２９］、左シフタ５の出力［２８：２５］、左シフタ４の出力［２４：１７］、左シフタ３の出力［１６：１］、入力データＤＩ［０］の論理値と同一となる。
【００７８】
他方、この場合、ＯＲ／バッファ回路２０は、表１に示すように、ＯＲ回路１５の出力ＬＯＲ１６と、ＯＲ回路１６の出力ＬＯＲ８と、ＯＲ回路１７の出力ＬＯＲ４と、ＯＲ回路１８の出力ＬＯＲ２と、バッファ回路１９の出力ＬＢＦと、入力データＤＩ［０］をＯＲ処理の対象とする。したがって、ＯＲ／バッファ回路２０においては、出力データＤＯ［３１：０］のＯＲ処理が等価的に行われ、この結果がゼロ判定信号ＺＤとして出力されることになる。
【００７９】
図９は、たとえば、シフタ１が左シフタ、かつ、シフト量＝９に設定された場合の本発明の一実施形態２の動作を説明するための図であり、この場合、出力データＤＯ［８：０］はゼロとなるので、出力データＤＯ［３１：０］がゼロであるか否かを判定するためには、出力データＤＯ［３１：９］をＯＲ処理する必要がある。
【００８０】
ここに、出力データＤＯ［３１：３０］、［２９：２６］、［２５：１０］、［９］の論理値は、それぞれ、左シフタ６の出力［３０：２９］、左シフタ５の出力［２８：２５］、左シフタ３の出力［１６：１］、入力データＤＩ［０］の論理値と同一となる。
【００８１】
他方、ＯＲ／バッファ回路２０は、表１に示すように、ＯＲ回路１５の出力ＬＯＲ１６と、ＯＲ回路１７の出力ＬＯＲ４と、ＯＲ回路１８の出力ＬＯＲ２と、入力データＤＩ［０］をＯＲ処理の対象とする。したがって、ＯＲ／バッファ回路２０においては、出力データＤＯ［３１：９］のＯＲ処理が等価的に行われ、この結果がゼロ判定信号ＺＤとして出力されることになる。
【００８２】
図１０は、たとえば、シフタ１が左シフタ、かつ、シフト量＝２０に設定された場合の本発明の一実施形態２の動作を説明するための図であり、この場合、出力データＤＯ［１９：０］はゼロとなるので、出力データＤＯ［３１：０］がゼロであるか否かを判定するためには、出力データＤＯ［３１：２０］をＯＲ処理する必要がある。
【００８３】
ここに、出力データＤＯ［３１］、［３０：２９］、［２８：２１］、［２０］の論理値は、それぞれ、左シフタ７の出力［３１］、左シフタ６の出力［３０：２９］、左シフタ４の出力［２４：１７］、入力データＤＩ［０］の論理値と同一となる。
【００８４】
他方、ＯＲ／バッファ回路２０は、表１に示すように、ＯＲ回路１６の出力ＬＯＲ４と、ＯＲ回路１８の出力ＬＯＲ２と、バッファ回路１９の出力ＬＢＦと、入力データＤＩ［０］をＯＲ処理の対象とする。したがって、ＯＲ／バッファ回路２０においては、出力データＤＯ［３１：２０］のＯＲ処理が等価的に行われ、この結果がゼロ判定信号ＺＤとして出力されることになる。
【００８５】
図１１は、たとえば、シフト１が右シフタ、かつ、シフト量＝０に設定された場合の本発明の一実施形態２の動作を説明するための図であり、この場合、出力データＤＯ［３１：０］がゼロであるか否かを判定するためには、出力データＤＯ［３１：０］の全ビットをＯＲ処理する必要がある。
【００８６】
ここに、出力データＤＯ［３１］、［３０：１５］、［１４：７］、［６：３］、［２：１］、［０］の論理値は、それぞれ、入力データＤＩ［３１］、右シフタ８の出力［３０：１５］、右シフタ９の出力［１４：７］、右シフタ１０の出力［６：３］、右シフタ１１の出力［２：１］、右シフタ１２の出力［０］の論理値と同一となる。
【００８７】
他方、ＯＲ／バッファ回路２６は、表２に示すように、ＯＲ回路２１の出力ＲＯＲ１６と、ＯＲ回路２２の出力ＲＯＲ８と、ＯＲ回路２３の出力ＲＯＲ４と、ＯＲ回路２４の出力ＲＯＲ２と、バッファ回路２５の出力ＲＢＦと、入力データＤＩ［３１］をＯＲ処理の対象とする。したがって、ＯＲ／バッファ回路２６においては、出力データＤＯ［３１：０］の全ビットのＯＲ処理が等価的に行われ、この結果がゼロ判定信号ＺＤとして出力されることになる。
【００８８】
図１２は、たとえば、シフタ１が右シフタ、かつ、シフト量＝９に設定された場合の本発明の一実施形態２の動作を説明するための図であり、この場合、出力データＤＯ［３１：０］がゼロであるか否かを判定するためには、出力データＤＯ［３１：０］の全ビットをＯＲ処理する必要がある。
【００８９】
ここに、出力データＤＯ［３１：２２］、［２１：６］、［５：２］、［１：０］の論理値は、それぞれ、入力データＤＩ［３１］、右シフタ８の出力［３０：１５］、右シフタ１０の出力［６：３］、右シフタ１１の出力［２：１］の論理値と同一となる。
【００９０】
他方、ＯＲ／バッファ回路２６は、表２に示すように、ＯＲ回路２１の出力ＲＯＲ１６と、ＯＲ回路２３の出力ＲＯＲ４と、ＯＲ回路２４の出力ＲＯＲ２と、入力データＤＩ［３１］をＯＲ処理の対象とする。したがって、ＯＲ／バッファ回路２６においては、出力データＤＯ［３１：０］の全ビットのＯＲ処理が等価的に行われ、この結果がゼロ判定信号ＺＤとして出力されることになる。
【００９１】
図１３は、たとえば、シフタ１が右シフタ、かつ、シフト量＝２０に設定された場合の本発明の一実施形態２の動作を説明するための図であり、この場合、出力データＤＯ［３１：０］がゼロであるか否かを判定するためには、出力データＤＯ［３１：０］の全ビットをＯＲ処理する必要がある。
【００９２】
ここに、出力データＤＯ［３１：１１］、［１０：３］、［２：１］、［０］の論理値は、それぞれ、入力データＤＩ［３１］、右シフタ９の出力［１４：７］、右シフタ１１の出力［２：１］、右シフタ１２の出力［０］の論理値と同一となる。
【００９３】
他方、ＯＲ／バッファ回路２６は、表２に示すように、ＯＲ回路２２の出力ＲＯＲ８と、ＯＲ回路２４の出力ＲＯＲ２と、バッファ回路２５の出力ＲＢＦと、入力データＤＩ［３１］をＯＲ処理の対象とする。したがって、ＯＲ／バッファ回路２６においては、出力データＤＯ［３１：０］のＯＲ処理が等価的に行われ、この結果がゼロ判定信号ＺＤとして出力されることになる。
【００９４】
このように、本発明の一実施形態２によれば、シフタ１が左シフタに設定された場合には、シフタ１の左シフト部（左シフタ３〜７の部分）におけるシフト動作と並行して、左シフタ３〜７のうち、シフト動作を行わない左シフタから出力される３２ビット・データの所定ビットの部分をＯＲ処理又はバッファリングし、最終的には、ＯＲ／バッファ回路２０によるＯＲ処理又はバッファリングを介してゼロ判定信号ＺＤを生成することができる。
【００９５】
また、シフタ１が右シフタに設定された場合には、右シフト部（右シフタ８〜１２の部分）におけるシフト動作と並行して、右シフタ８〜１２のうち、シフト動作を行わない右シフタから出力される３２ビット・データの所定ビットの部分をＯＲ処理又はバッファリングし、最終的には、ＯＲ／バッファ回路２６によるＯＲ処理又はバッファリングを介してゼロ判定信号ＺＤを生成することができる。
【００９６】
すなわち、本発明の一実施形態２によれば、シフタ１におけるシフト動作と略並行してゼロ判定信号を生成することができるので、シフタ１の出力データＤＯ［３１：０］のゼロ判定の高速化を図ることができる。
【００９７】
なお、ＯＲ回路１５は左シフタ３に入力されるデータ［１６：１］をＯＲ処理の対象とするように構成しても良いし、ＯＲ回路１６は左シフタ４に入力されるデータ［２４：１７］をＯＲ処理の対象とするように構成しても良いし、ＯＲ回路１７は左シフタ５に入力されるデータ［２８：２５］をＯＲ処理の対象とするように構成しても良いし、ＯＲ回路１８は左シフタ６に入力されるデータ［３０：２９］をＯＲ処理の対象とするように構成しても良いし、バッファ回路１９は左シフタ７に入力されるデータ［３１］をバッファリングの対象とするように構成しても良い。
【００９８】
また、ＯＲ回路２１は右シフタ８に入力されるデータ［３０：１５］をＯＲ処理の対象とするように構成しても良いし、ＯＲ回路２２は右シフタ９に入力されるデータ［１４：７］をＯＲ処理の対象とするように構成しても良いし、ＯＲ回路２３は右シフタ１０に入力されるデータ［６：３］をＯＲ処理の対象とするように構成しても良いし、ＯＲ回路２４は右シフタ１１に入力されるデータ［２：１］をＯＲ処理の対象とするように構成しても良いし、バッファ回路２５は右シフタ１２に入力されるデータ［０］をバッファリングの対象とするように構成しても良い。
【００９９】
また、本発明の一実施形態においては、左シフト部（左シフタ３〜７の部分）と、右シフト部（右シフタ８〜１２の部分）とを設けるシフタに対応した構成とした場合について説明したが、この代わりに、ＯＲ回路２１〜２４、バッファ回路２５及びセレクタ２７を削除する場合には、左シフト部のみを設けるシフタに対応する構成とすることができ、ＯＲ回路１５〜１８、バッファ回路１９及びセレクタ２７を削除する場合には、右シフト部のみを設けるシフタに対応する構成とすることができる。
【０１００】
【発明の効果】
本発明中、第１の発明によれば、シフタにおけるシフト動作と略並行してゼロ判定信号を生成することができるので、シフト方向を左とするシフタのゼロ判定の高速化を図ることができる。
【０１０１】
本発明中、第２の発明によれば、シフタにおけるシフト動作と略並行してゼロ判定信号を生成することができるので、シフト方向を右とするシフタのゼロ判定の高速化を図ることができる。
【０１０２】
本発明中、第３の発明によれば、シフタが左シフタに設定される場合には、左シフト部におけるシフト動作と並行してゼロ判定信号を生成することができ、シフタが右シフタに設定される場合には、右シフト部におけるシフト動作と並行してゼロ判定信号を生成することができるので、シフト方向を左又は右とするシフタの出力データのゼロ判定の高速化を図ることができる。
【図面の簡単な説明】
【図１】シフタの一例及び本発明の一実施形態の要部を示す回路図である。
【図２】図１に示すシフタが備える左シフタの構成例を示す回路図である。
【図３】図１に示すシフタが備える右シフタの構成例を示す回路図である。
【図４】本発明の一実施形態が備える左シフト部用のＯＲ／バッファ回路の構成を示す回路図である。
【図５】本発明の一実施形態が備える右シフト部用のＯＲ／バッファ回路の構成を示す回路図である。
【図６】図１に示すシフタが左シフタに設定された場合の図１に示すシフタ及び本発明の一実施形態の等価回路図である。
【図７】図１に示すシフタが右シフタに設定された場合の図１に示すシフタ及び本発明の一実施形態の等価回路図である。
【図８】本発明の一実施形態の動作（シフタが左シフタ、かつ、シフト量＝０に設定された場合）を説明するための図である。
【図９】本発明の一実施形態の動作（シフタが左シフタ、かつ、シフト量＝９に設定された場合）を説明するための図である。
【図１０】本発明の一実施形態の動作（シフタが左シフタ、かつ、シフト量＝２０に設定された場合）を説明するための図である。
【図１１】本発明の一実施形態の動作（シフタが右シフタ、かつ、シフト量＝０に設定された場合）を説明するための図である。
【図１２】本発明の一実施形態の動作（シフタが右シフタ、かつ、シフト量＝９に設定された場合）を説明するための図である。
【図１３】本発明の一実施形態の動作（シフタが右シフタ、かつ、シフト量＝２０に設定された場合）を説明するための図である。
【符号の説明】
１  シフタ
２  本発明の一実施形態（ゼロ判定信号生成回路）
３〜７  左シフタ
８〜１２  右シフタ
ＤＩ  入力データ
ＤＯ  出力データ
ＳＦ  シフト量指示信号
ＯＰ  オペレーション・コード
ＺＤ  ゼロ判定信号
【図１】
0003562373.tif 000004
【図２】
0003562373.tif 000005
【図３】
0003562373.tif 000006
【図４】
0003562373.tif 000007
【図５】
0003562373.tif 000008
【図６】
0003562373.tif 000009
【図７】
0003562373.tif 000010
【図８】
0003562373.tif 000011
【図９】
0003562373.tif 000012
【図１０】
0003562373.tif 000013
【図１１】
0003562373.tif 000014
【図１２】
0003562373.tif 000015
【図１３】
0003562373.tif 000016