(57)【特許請求の範囲】
【請求項１】
指数部分と小数部分とから成る２進数の前記小数部分の“０”を示す最上位ビットから“１”を示すビットの前のビットまでのリーディングゼロの値を検出するＦＯＤ回路であって、
前記小数部分のビット数に応じてカスケード連結され、前記小数部分の最上位ビット以外のビットの値をそれぞれ入力し、各ビット値が０であるか否かを示すリーディングゼロデータを出力する複数の単位ブロックと、
前記複数の単位ブロックからのリーディングゼロデータをエンコーディングして、前記小数部分のリーディングゼロの値を示す判別データを出力する第１エンコーディング手段と、を備え、
前記単位ブロックは、
前段の単位ブロックから出力される制御信号により、前記入力ビットの値を伝送する第１伝送トランジスタと、
該第１伝送トランジスタがターンオフされたとき、前記第１伝送トランジスタの出力端の電圧をハイレベルに固定させる第２伝送トランジスタと、
前記第１伝送トランジスタの出力端からのデータを反転させて、前記制御信号として後段の単位ブロックに出力するインバータと、
前記入力ビットの値と前段の単位ブロックからの制御信号との論理積演算結果をリーディングゼロデータとして出力するＡＮＤゲートと、から構成され、
最上位の入力ビットの値は反転されて、前記制御信号として初段の単位ブロックに出力され、
最終段の単位ブロックのインバータの出力は、各入力ビットが全てゼロであるか否かを示す判別データ出力端に供給されることを特徴とするＦＯＤ回路。
【請求項２】
指数部分と小数部分とから成る２進数の前記小数部分の“０”を示す最上位ビットから“１”を示すビットの前のビットまでのリーディングゼロの値を検出するＦＯＤ回路であって、
前記小数部分のビット数に応じてカスケード連結され、前記小数部分の最上位ビット以外のビットの値をそれぞれ入力し、各ビット値が０であるか否かを示すリーディングゼロデータを出力する複数の単位ブロックと、前記複数の単位ブロックからのリーディングゼロデータをエンコーディングして、前記小数部分のリーディングゼロの値を示す判別データを出力する第１エンコーディング手段と、を有する複数のサブＦＯＤ回路と、
それらサブＦＯＤ回路から出力される各判別データをエンコーディングし、前記小数部分のリーディングゼロの値を出力する第２エンコーディング手段と、から構成され、
前記小数部分の総ビットを前記サブＦＯＤ回路の個数と対応する複数グループに分割し、該分割された小数部分の総ビットを各グループ毎に前記複数のサブＦＯＤ回路に入力し、
前記各単位ブロックは、前段の単位ブロックから出力される制御信号により、前記入力ビットの値を伝送する第１伝送トランジスタと、該第１伝送トランジスタがターンオフされたとき、前記第１伝送トランジスタの出力端の電圧をハイレベルに固定させる第２伝送トランジスタと、前記第１伝送トランジスタの出力端からのデータを反転させて、前記制御信号として後段の単位ブロックに出力するインバータと、前記入力ビットの値と前段の単位ブロックからの制御信号との論理積演算結果をリーディングゼロデータとして出力するＡＮＤゲートとから構成され、最上位の入力ビットの値は反転されて、前記制御信号として初段の単位ブロックに出力され、最終段の単位ブロックのインバータの出力は、各入力ビットが全てゼロであるか否かを示す判別データ出力端に供給されることを特徴とするＦＯＤ回路。
【請求項３】
前記第１伝送トランジスタはＮＭＯＳトランジスタであり、
前記第２伝送トランジスタはＰＭＯＳトランジスタであることを特徴とする請求項１又は請求項２記載のＦＯＤ回路。
【請求項４】
前記第２エンコーディング手段は、
下位ビットの値を入力するサブＦＯＤ回路以外の複数のサブＦＯＤ回路から出力される、各入力ビットの値が全てゼロであるか否かを示す判別データに基づいて、リーディングゼロの値を出力する論理演算部と、
該論理演算部から出力されるリーディングゼロの値により、前記各サブＦＯＤ回路の第１エンコーディング手段から出力される前記判別データを選択して、前記小数部分のリーディングゼロの値を出力するマルチプレクサーと、を備え、
前記論理演算部からのリーディングゼロの値と前記マルチプレクサーからのリーディングゼロの値を加算して、最終的なリーディングゼロの値を出力することを特徴とする請求項２又は請求項３記載のＦＯＤ回路。
【請求項５】
前記論理演算部は、
前記サブＦＯＤ回路として第１サブＦＯＤ回路〜第４サブＦＯＤ回路を備えるときには、
前記第１サブＦＯＤ回路及び前記第２サブＦＯＤ回路から出力される入力ビット値が全てゼロであるか否かを示す各判別データを論理積演算して、リーディングゼロデータを出力する第１ＡＮＤゲートと、
前記第１サブＦＯＤ回路から出力される入力ビット値が全てゼロであるか否かを示す判別データと前記第２サブＦＯＤ回路から出力される入力ビット値が全てゼロであるか否かを示す判別データの反転値とを論理積演算する第２ＡＮＤゲートと、
前記第１サブＦＯＤ回路及び前記第３サブＦＯＤ回路から出力される入力ビット値が全てゼロであるか否かを示す各判別データを論理積演算する第３ＡＮＤゲートと、
前記第２ＡＮＤゲートの出力と前記第３ＡＮＤゲートの出力とを論理和演算してリーディングゼロの値を出力するＯＲゲートと、
から構成されることを特徴とする請求項４記載のＦＯＤ回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、リーディングゼロ（Leading Zero）の値を検出するＦＯＤ回路（First-One-Detector）に係るもので、詳しくは、処理速度を向上し、かつ、回路面積の増大を抑制し得るＦＯＤ回路に関するものである。
【０００２】
【従来の技術】
一般に、２進数は、指数（Exponent）部分と小数（Fraction）部分とに区分される。ここで、前記指数部分を２n（ｎ＝・・・，−２，−１，０，１，２，・・・）、小数部分をＡ（０．００００，・・・，１）と仮定すると、ビット値２n＊Ａは多様な形態で表される。例えば、‘２-3＊０．１０１１０１’は、‘２-4＊０．０１０１１０１’や‘２-5＊０．００１０１１０１’等で表すことができる。
【０００３】
ところで、マイクロプロセッサの浮動点部（Floating Point Unit）の設計の際、正規化は必須条件である。該正規化とは、小数部分において、小数点の次のビットに、常に“１”が来るようにするものである。例えば、同一値であっても、‘２-4＊０．０１０１１０１’又は‘２-5＊０．００１０１１０１’といった形態ではなく、‘２-3＊０．１０１１０１’のような形態にすることを意味する。
【０００４】
従って、正規化するためには、小数部分について、最上位ビット（ＭＳＢ；most significant bit）から“１”を示すビットの前までのビット数を算出して、“０”の個数を示すリーディングゼロ（Leading Zero）の値を検出し、補正する必要がある。
【０００５】
該正規化のための補正方法を、ビット値２-5＊０．００１０１１０１を用いて説明する。
先ず、ビット値２-5＊０．００１０１１０１のリーディングゼロの値、即ち、小数点以後のビット値から順次検出して最初に“１”が出るまでの０の個数“２”を求める。
【０００６】
次いで、指数部分“２-5”の乗数値“−５”に、該求められた０の個数“２”を加えて指数部分を“２-3”にし、小数部分“０．００１０１１０１”を左に２ビットシフトさせ、“０．１０１１０１”にする。
【０００７】
このとき、リーディングゼロの値を求めるために、ＦＯＤ回路（又はＬＺＤ回路（Leading Zero Detector））が用いられ、この回路では加算及びシフト動作のために加算器及びシフターが用いられる。
【０００８】
ＦＯＤ回路では、処理すべき小数部分のビット数が多くなると、正規化の速度に決定的な影響を及ぼす。例えば、小数部分が１６ビットの場合は、ビット数が少ないため、最下位ビット（ＬＳＢ；least significant bit）が最初の“１”を示すビットであっても、リーディングゼロの値の検出速度が正規化の速度に及ぼす影響はそれほど大きくないが、小数部分が６４ビットの場合には、最下位ビット（ＬＳＢ）が最初の“１”を示すビットであると、リーディングゼロの値の検出速度によって正規化の速度が決定されることとなる。
【０００９】
かかるＦＯＤ回路は、例えば、小数部分が５ビットであるときには、次のようなブール関数（Boolean Equation）で表すことができる。
0004038634.tif 000002
ここで、Ｉ［０］〜Ｉ［４］は、５ビットの２進数の小数部分の各ビットを表し、Ｚ［０］〜Ｚ［４］は、最上位ビット（ＭＳＢ）から先行されるリーディングゼロの値が、それぞれ０，１，２，３，４個であることを表す。
【００１０】
従来のＦＯＤ回路は、図４に示したように、式（１）の循環的な性質を利用して、カスケード（Cascade）連結した回路で構成され、最上位ビット（ＭＳＢ）から先行して出力されるリーディングゼロの値Ｚ［０］，・・・，Ｚ［４］は、エンコーディング回路１０により統合して、３ビットの２進数Ｎ［０］，Ｎ［１］，Ｎ［２］で示していた。
【００１１】
以下、このような従来のＦＯＤ回路の動作を説明する。
先ず、最上位の入力ビットＩ［４］が“１”である場合には、リーディングゼロデータＺ［０］は“１”になり、残りのリーディングゼロデータＺ［１］〜Ｚ［４］は“０”になって、エンコーディング回路１０から出力される２進数Ｎ［２：０］が“０００”になり、結局、リーデングゼロの個数は０になる。
【００１２】
また、入力ビットＩ［４］及びＩ［３］が“０”で、入力ビットＩ［２］が“１”である場合には、リーディングゼロデータＺ［０］，Ｚ［１］，Ｚ［３］，Ｚ［４］は“０”，Ｚ［２］は“１”になり、エンコーディング回路１０からは、Ｎ［２：０］＝“０１０”が出力され、リーディングゼロが２個であることを表す。
【００１３】
また、入力ビットＩ［４］，Ｉ［３］，Ｉ［２］，Ｉ［１］が“０”で，Ｉ［０］が“１”である場合には、リーディングゼロデータＺ［０］，Ｚ［１］，Ｚ［２］，Ｚ［３］は“０”で、Ｚ［４］は“１”になり、エンコーディング回路１０からはＮ［２：０］＝“１００”が出力され、リーディングゼロが４個であることを表す。
【００１４】
【発明が解決しようとする課題】
然るに、このような従来のＦＯＤ回路においては、“０”を示す入力ビットの信号を、最上位ビット（ＭＳＢ）のＩ［４］から最下位ビット（ＬＳＢ）のＩ［０］に遷移させるとき、該信号が、各インバータＩ１１〜Ｉ１４及び複数個のトランジスタを備えたＡＮＤゲートＡＤ１１〜ＡＤ１３を介して進行されるため、入力ビット数が増加するほど、ＡＮＤゲートによる信号の遅延時間が増加するという不都合な点があった。
【００１５】
かつ、前記各ＡＮＤゲートＡＤ１１〜ＡＤ１３は複数個のトランジスタにより構成されるため、ＦＯＤ回路の全体面積が増加されるという不都合な点があった。
【００１６】
そこで、本発明は、このような従来の課題に鑑みてなされたもので、入力ビット数が増加する場合にも、従来の回路構成に比べて回路面積を増加させることなく、リーディングゼロを迅速に検出し得るＦＯＤ回路を提供することを目的とする。
【００１７】
【課題を解決するための手段】
このような目的を達成するため、本発明の請求項１に記載のＦＯＤ回路は、指数部分と小数部分とから成る２進数の前記小数部分の“０”を示す最上位ビットから“１”を示すビットの前のビットまでのリーディングゼロの値を検出するＦＯＤ回路であって、前記小数部分のビット数に応じてカスケード連結され、前記小数部分の最上位ビット以外のビットの値をそれぞれ入力し、各ビット値が０であるか否かを示すリーディングゼロデータを出力する複数の単位ブロックと、前記複数の単位ブロックからのリーディングゼロデータをエンコーディングして、前記小数部分のリーディングゼロの値を示す判別データを出力する第１エンコーディング手段と、を備え、前記単位ブロックは、前段の単位ブロックから出力される制御信号により、前記入力ビットの値を伝送する第１伝送トランジスタと、該第１伝送トランジスタがターンオフされたとき、前記第１伝送トランジスタの出力端の電圧をハイレベルに固定させる第２伝送トランジスタと、前記第１伝送トランジスタの出力端からのデータを反転させて、前記制御信号として後段の単位ブロックに出力するインバータと、前記入力ビットの値と前段の単位ブロックからの制御信号との論理積演算結果をリーディングゼロデータとして出力するＡＮＤゲートと、から構成され、最上位の入力ビットの値は反転されて、前記制御信号として初段の単位ブロックに出力され、最終段の単位ブロックのインバータの出力は、各入力ビットが全てゼロであるか否かを示す判別データ出力端に供給される。
【００１８】
また、請求項２に記載のＦＯＤ回路は、指数部分と小数部分とから成る２進数の前記小数部分の“０”を示す最上位ビットから“１”を示すビットの前のビットまでのリーディングゼロの値を検出するＦＯＤ回路であって、前記小数部分のビット数に応じてカスケード連結され、前記小数部分の最上位ビット以外のビットの値をそれぞれ入力し、各ビット値が０であるか否かを示すリーディングゼロデータを出力する複数の単位ブロックと、前記複数の単位ブロックからのリーディングゼロデータをエンコーディングして、前記小数部分のリーディングゼロの値を示す判別データを出力する第１エンコーディング手段と、を有する複数のサブＦＯＤ回路と、それらサブＦＯＤ回路から出力される各判別データをエンコーディングし、前記小数部分のリーディングゼロの値を出力する第２エンコーディング手段と、から構成され、前記小数部分の総ビットを前記サブＦＯＤ回路の個数と対応する複数グループに分割し、該分割された小数部分の総ビットを各グループ毎に前記複数のサブＦＯＤ回路に入力し、前記各単位ブロックは、前段の単位ブロックから出力される制御信号により、前記入力ビットの値を伝送する第１伝送トランジスタと、該第１伝送トランジスタがターンオフされたとき、前記第１伝送トランジスタの出力端の電圧をハイレベルに固定させる第２伝送トランジスタと、前記第１伝送トランジスタの出力端からのデータを反転させて、前記制御信号として後段の単位ブロックに出力するインバータと、前記入力ビットの値と前段の単位ブロックからの制御信号との論理積演算結果をリーディングゼロデータとして出力するＡＮＤゲートとから構成され、最上位の入力ビットの値は反転されて、前記制御信号として初段の単位ブロックに出力され、最終段の単位ブロックのインバータの出力は、各入力ビットが全てゼロであるか否かを示す判別データ出力端に供給される。
【００１９】
請求項３に記載の発明は、前記第１伝送トランジスタはＮＭＯＳトランジスタであり、前記第２伝送トランジスタはＰＭＯＳトランジスタである。
請求項４に記載の発明は、前記第２エンコーディング手段は、下位ビットの値を入力するサブＦＯＤ回路以外の複数のサブＦＯＤ回路から出力される、各入力ビットの値が全てゼロであるか否かを示す判別データに基づいて、リーディングゼロの値を出力する論理演算部と、該論理演算部から出力されるリーディングゼロの値により、前記各サブＦＯＤ回路の第１エンコーディング手段から出力される前記判別データを選択して、前記小数部分のリーディングゼロの値を出力するマルチプレクサーと、を備え、前記論理演算部からのリーディングゼロの値と前記マルチプレクサーからのリーディングゼロの値を加算して、最終的なリーディングゼロの値を出力する。
【００２０】
請求項５に記載の発明は、前記論理演算部は、前記サブＦＯＤ回路として第１サブＦＯＤ回路〜第４サブＦＯＤ回路を備えるときには、前記第１サブＦＯＤ回路及び前記第２サブＦＯＤ回路から出力される入力ビット値が全てゼロであるか否かを示す各判別データを論理積演算して、リーディングゼロデータを出力する第１ＡＮＤゲートと、前記第１サブＦＯＤ回路から出力される入力ビット値が全てゼロであるか否かを示す判別データと前記第２サブＦＯＤ回路から出力される入力ビット値が全てゼロであるか否かを示す判別データの反転値とを論理積演算する第２ＡＮＤゲートと、前記第１サブＦＯＤ回路及び前記第３サブＦＯＤ回路から出力される入力ビット値が全てゼロであるか否かを示す各判別データを論理積演算する第３ＡＮＤゲートと、前記第２ＡＮＤゲートの出力と前記第３ＡＮＤゲートの出力とを論理和演算してリーディングゼロの値を出力するＯＲゲートと、から構成される。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を用いて説明する。
まず、本第１実施形態に係るＦＯＤ回路を、図１及び図２を用いて説明する。
【００２２】
本第１実施形態に係るＦＯＤ回路は、指数部分と小数部分とから成る２進数の前記小数部分が５ビットであり、“０”を示す最上位ビットから“１”を示すビットの前のビットまでのリーディングゼロの値を検出するＦＯＤ回路である。
【００２３】
図２に示したように、前記小数部分の最上位ビットＩ［４］以外のビットＩ［３］〜Ｉ［０］の値をそれぞれ入力し、各ビット値が０であるか否かを示すリーディングゼロデータＺ［１］〜Ｚ［４］を出力する４つの単位ブロックＵ０〜Ｕ３が、入力される２進数の小数部分のビット数に応じてカスケード連結され、前記複数の単位ブロックＵ０〜Ｕ３からのリーディングゼロデータＺ［１］〜Ｚ［４］をエンコーディングして、前記小数部分のリーディングゼロの値を示す判別データＮ［２］，Ｎ［１］，Ｎ［０］を出力する第１エンコーディング手段としてのエンコーディング回路２０を備える。
【００２４】
該単位ブロックＵ０〜Ｕ３は、図１に示したように、前段の単位ブロックＵ（ｎ＋１）から出力される上位ビットの値に基づく制御信号Ｇ（ｎ＋１）により、入力ビットＩ［ｎ］を伝送する第１伝送トランジスタであり、ＮＭＯＳトランジスタから成る伝送トランジスタＰｎと、該伝送トランジスタＰｎがターンオフされる際、伝送トランジスタＰｎの出力端のノードＢｎの電圧をハイレベルに固定させる第２伝送トランジスタであり、ＰＭＯＳトランジスタから成る伝送トランジスタＰｎ’と、前記伝送トランジスタＰｎの出力端からのデータであるノードＢｎのデータを反転させて、後段の単位ブロックＵ（ｎ−１）の伝送トランジスタＰ（ｎ−１）を制御する制御信号Ｇ（ｎ）として出力するインバータＩｎと、入力ビットＩ［ｎ］の値と前段の単位ブロックＵ（ｎ＋１）からの制御信号Ｇ（ｎ＋１）とを論理積演算した結果をリーディングゼロデータＺｍとして出力するＡＮＤゲートＡＤｍと、から構成される。
【００２５】
このとき、ｎには、最上位の入力ビット以外の入力ビットの順位である３〜０の値が入力され、ｍには、ｎの値に対応して１〜４の値が入力される。
尚、最上位の入力ビットＩ［４］の値は、インバータＩ４で反転されて、前記制御信号Ｇ（４）として初段の単位ブロックＵ３に出力され、最終段の単位ブロックＵ０のインバータＩ０の出力は、各入力ビットＩ［４］〜Ｉ［０］が全てゼロを示す判別データＺ［５］の出力端に供給される。
【００２６】
以下、このように構成された本第１実施形態に係るＦＯＤ回路の動作を説明する。
図２に示したように、該５ビットのＦＯＤ回路には、入力ビットＩ［４］，Ｉ［３］，Ｉ［２］，Ｉ［１］，Ｉ［０］が入力されて、最上位の入力ビット（ＭＳＢ）のＩ［４］から対応するように、リーディングゼロデータＺ［０］，Ｚ［１］，Ｚ［２］，Ｚ［３］，Ｚ［４］，Ｚ［５］を順次出力する。出力されたリーディングゼロデータＺ［１］，Ｚ［２］，Ｚ［３］，Ｚ［４］はエンコーディング回路２０でエンコーディングされて、３ビットのリーディングゼロの値を示す３ビットの判別データＮ［２］，Ｎ［１］，Ｎ［０］が出力される。また、リーディングゼロデータＺ［０］は、リーディングゼロが無いことを示す判別データとして出力され、リーディングゼロデータＺ［５］は、入力ビットＩ［４］〜Ｉ［０］が全て０であるか否かを示す判別データとして出力される。
【００２７】
以下、本第１実施形態のＦＯＤ回路の動作を、入力ビットＩ［４］，Ｉ［３］，Ｉ［２］，Ｉ［１］，Ｉ［０］の値を例示して説明する。
（１）入力ビットＩ［４］が“１”である場合
入力ビットＩ［４］が“１”であると、リーディングゼロデータＺ［０］は“１”になり、リーディングゼロが無いことを示す。制御信号Ｇ４は、インバータＩ４で反転されて“０”となり、単位ブロックＵ３に出力される。
【００２８】
単位ブロックＵ３の伝送トランジスタＰ３，Ｐ３’は、制御信号Ｇ４によりそれぞれターンオフ及びターンオンされる。該伝送トランジスタＰ３’がターンオンされると、電源電圧ＶＤＤが伝送トランジスタＰ３’を介してインバータＩ３で反転されて、“０”を示す制御信号Ｇ３が単位ブロックＵ２に出力される。
【００２９】
同様にして、各単位ブロックＵ２，Ｕ１からの制御信号Ｇ２，Ｇ１が“０”になり、それら制御信号Ｇ２，Ｇ１によって、伝送トランジスタＰ１，Ｐ０及び伝送トランジスタＰ１’，Ｐ０’もそれぞれターンオフ及びターンオンされる。
【００３０】
このとき、各伝送トランジスタＰ３’〜Ｐ０’は、各伝送トランジスタＰ３〜Ｐ０の出力端であるノードＢ３〜Ｂ０の電圧をハイレベルに固定させる役割を遂行する。従って、入力ビットＩ［４］がハイレベル（“１”）であると、インバータＩ４を介して“０”の制御信号Ｇ４が出力され、全ての伝送トランジスタＰ３〜Ｐ０の出力端がハイレベルに固定されるため、リーディングゼロデータＺ［１］〜Ｚ［４］は全て“０”になり、エンコーディング回路２０から出力される３ビットのリーディングゼロの値を示す判別データＮ［２：０］は“０００”になる。
（２）入力ビットＩ［４］，Ｉ［３］が“０”で、入力ビットＩ［２］が“１”である場合
ハイレベルの制御信号Ｇ４，Ｇ３により、伝送トランジスタＰ３，Ｐ２及び伝送トランジスタＰ３’，Ｐ２’はそれぞれターンオン及びターンオフされ、ローレベルの制御信号Ｇ２，Ｇ１により伝送トランジスタＰ１，Ｐ０及び伝送トランジスタＰ１’，Ｐ０’はそれぞれターンオフ及びターンオンされる。
【００３１】
従って、ＡＮＤゲートＡＤ１，ＡＤ３，ＡＤ４から出力されるリーディングゼロデータＺ［１］，Ｚ［３］，Ｚ［４］は“０”になり、ＡＮＤゲートＡＤ２から出力されるリーディングゼロデータＺ［２］のみが“１”になる。
【００３２】
次いで、エンコーディング回路２０からは、リーディングゼロの値を示す判別データＮ［２：０］は“０１０”の２進数として出力される。この値は、リーディングゼロが２個であることを表す。
（３）入力ビットＩ［４］，Ｉ［３］，Ｉ［２］，Ｉ［１］は、“０”であり、入力ビットＩ［０］が“１”である場合
前記と同様に、ハイレベルの制御信号Ｇ４，Ｇ３，Ｇ２，Ｇ１により、各伝送トランジスタＰ３，Ｐ２，Ｐ１，Ｐ０がターンオンされ、ＡＮＤゲートＡＤ４から出力されるリーディングゼロデータＺ［４］のみが“１”になり、残りのリーディングゼロデータＺ［０］〜Ｚ［３］及びＺ［５］は、全て“０”になる。その結果、エンコーディング回路２０からは、リーディングゼロの値を示す判別データＮ［２：０］は“１００”の２進数として出力される。この値は、リーディングゼロが４個であることを表す。
（４）入力ビットＩ［４］〜Ｉ［０］が全て“０”である場合
入力ビットＩ［４］〜Ｉ［０］が全て“０”であると、全てのリーディングゼロデータＺ［０］〜Ｚ［４］は“０”（All Zero）になり、リーディングゼロの値を示す判別データＮ［２：０］は“０００”になる。また、リーディングゼロデータＺ［５］のみが“１”になって、入力ビットＩ［４］〜Ｉ［０］が全てゼロであることを示す。
【００３３】
ここで、伝送トランジスタＰ０がターンオンされるまでの時間は、インバータＩ４〜Ｉ１と伝送トランジスタＰ３〜Ｐ１とによる遅延時間のみである。
従って、本第１実施形態に係るＦＯＤ回路においては、遅延時間が、インバータＩ４〜Ｉ１及びトランジスタＰ３〜Ｐ１のみにより発生するため、上位ビットが全て“０”という情報が迅速に下位ビットに伝達されて、リーディングゼロの検出が迅速に行われる。また、少数のトランジスタを用いてＦＯＤ回路を構成することができるため、回路のレイアウト面積を減少させることができる。
【００３４】
かかる第１実施形態のＦＯＤ回路は、小数（Fraction）部分のビット数が１６ビット以下のときに最も効果的である。
次に、本第２実施形態に係るＦＯＤ回路を説明する。
【００３５】
本第２実施形態に係るＦＯＤ回路は、小数部分のビット数が１６ビット以上のときに有効な回路であり、リーディングゼロの伝達（Propagation）効果を利用するように、複数のビット数を幾つかに分割して構成する。
【００３６】
例えば、入力ビット数が３２ビットである場合には、図３に示したように、３２ビットを８ビットずつ４つのグループに分割し、分割された３２ビットを各グループ毎に入力される４つのサブＦＯＤ回路ＳＦ０〜ＳＦ３と、それらサブＦＯＤ回路ＳＦ０〜ＳＦ３から出力される各判別データＮ０［２：０］〜Ｎ３［２：０］をエンコーディングし、リーディングゼロの値を出力する第２エンコーディング手段としてのエンコーディング回路３０とから構成される。サブＦＯＤ回路ＳＦ０〜ＳＦ３は、第１実施形態で示した回路構成と同様に、入力ビット数に応じた個数の単位ブロック及びエンコーディング回路２０をそれぞれ備えて成る。即ち、サブＦＯＤ回路ＳＦ０〜ＳＦ３には８ビットずつ入力されるので、７つの単位ブロックＵ６〜Ｕ０をそれぞれ備える。
【００３７】
エンコーディング回路３０は、下位の８ビットの入力ビットＩ［７］〜Ｉ［０］の値を入力するサブＦＯＤ回路ＳＦ３以外の複数のサブＦＯＤ回路ＳＦ０〜ＳＦ２から出力される、各入力ビット値が全てゼロであるか否かを示す判別データであるリーディングゼロデータＺ０［８］〜Ｚ２［８］に基づいて、リーディングゼロの値を示す判別データＮ［３］，Ｎ［４］を出力する論理演算部３１と、該論理演算部３１から出力されるリーディングゼロの値を示す判別データＮ［３］，Ｎ［４］により、前記各サブＦＯＤ回路ＳＦ３〜ＳＦ０から出力される判別データＮ０［２：０］〜Ｎ３［２：０］を選択して、前記小数部分のリーディングゼロの値を示す判別データＮ［２：０］を出力するマルチプレクサー３２と、を備え、前記論理演算部か３１らのリーディングゼロの値を示す判別データＮ［４］，Ｎ［３］と前記マルチプレクサー３２からのリーディングゼロの値を示す判別データＮ［２：０］を加算して、最終的なリーディングゼロの値を示す判別データＮ［４：０］を出力する。
【００３８】
前記論理演算部３１は、最上位ビット（ＭＳＢ）からの入力ビットＩ［３１］〜Ｉ［２４］が入力するサブＦＯＤ回路ＳＦ０のリーディングゼロデータＺ０［８］と、入力ビットＩ［２３］〜Ｉ［１６］が入力するサブＦＯＤ回路ＳＦ１のリーディングゼロデータＺ１［８］とを論理積演算して、リーディングゼロの値を示す判別データＮ［４］を出力する第１ＡＮＤゲートとしてのＡＮＤゲート３１ａと、サブＦＯＤ回路ＳＦ０のリーディングゼロデータＺ０［８］と、反転されたサブＦＯＤ回路ＳＦ１のリーディングゼロデータ /Ｚ１［８］とを論理積演算する第２ＡＮＤゲートとしてのＡＮＤゲート３１ｂと、サブＦＯＤ回路ＳＦ０のリーディングゼロデータＺ０［８］とサブＦＯＤ回路ＳＦ２のリーディングゼロデータＺ２［８］とを論理積演算する第３ＡＮＤゲートとしてのＡＮＤゲート３１ｃと、それらＡＮＤゲート３１ｂからの出力とＡＮＤゲート３１ｃからの出力とを論理和演算して、リーディングゼロの値を示す判別データＮ［３］を出力するＯＲゲート３１ｄと、から構成されている。
【００３９】
前記マルチプレクサー３２は、論理演算部３１から出力される各リーディングゼロの値を示す判別データＮ［３］，Ｎ［４］により、前記各サブＦＯＤ回路ＳＦ０〜ＳＦ３から出力される各リーディングゼロの値を示す判別データＮ０［２：０］，Ｎ１［２：０］，Ｎ２［２：０］，Ｎ３［２：０］を選択的に出力する。
【００４０】
リーディングゼロデータＺ０［８］は、サブＦＯＤ回路ＳＦ０の入力ビットＩ［２４］〜Ｉ［３１］が全て“０”である場合に“１”になる判別データであり、同様に、サブＦＯＤ回路ＳＦ１，ＳＦ２からもリーディングゼロデータＺ１［８］，Ｚ２［８］が判別データとして出力される。このとき、リーディングゼロの値を示す判別データＮ［４］，Ｎ［３］は、論理演算部３１の構成により、次のように表すことができる。
【００４１】
Ｎ［４］＝Ｚ０［８］＊Ｚ１［８］
Ｎ［３］＝（Ｚ０［８］＊ /Ｚ１［８］）＋（Ｚ０［８］＊Ｚ２［８］）
かつ、リーディングゼロデータＺ０［８］，Ｚ１［８］，Ｚ２［８］とリーディングゼロの値を示す判別データＮ［４］，Ｎ［３］間には、次のような関係が成立する。
0004038634.tif 000003
従って、エンコーディング回路３０のマルチプレクサー３２は、論理演算部３１から出力されたリーディングゼロの値を示す判別データＮ［４］，Ｎ［３］により、Ｎ０［２：０］，Ｎ１［２：０］，Ｎ２［２：０］，Ｎ３［２：０］を選択的に出力する。
【００４２】
例えば、Ｚ０［８］が“０”である場合は、サブＦＯＤ回路ＳＦ０の入力ビットＩ［３１］〜Ｉ［２４］の何れかが“１”である場合を意味するので、リーディングゼロの値を示す判別データＮ［４］，Ｎ［３］は、“００”になり、マルチプレクサー３２は、サブＦＯＤ回路ＳＦ０から入力されるＮ０［２：０］を選択して出力する。
【００４３】
また、Ｚ０［８］が“１”で、Ｚ１［８］は“０”である場合は、サブＦＯＤ回路ＳＦ０の入力ビットＩ［３１］〜Ｉ［２４］が全て“０”で、サブＦＯＤ回路ＳＦ１の入力ビットＩ［２３］〜Ｉ［１６］の何れかが“１”である場合を意味するので、リーディングゼロの値を示す判別データＮ［４］，Ｎ［３］は、“０１”になり、マルチプレクサー３２は、サブＦＯＤ回路ＳＦ１から入力されるリーディングゼロの値を示す判別データＮ１［２：０］を選択して出力する。
【００４４】
同様な方法により、Ｚ０［８］，Ｚ１［８］，Ｚ２［８］が全て“１”である場合は、サブＦＯＤ回路ＳＦ０〜ＳＦ２の入力ビットＩ［３１］〜Ｉ［８］が全て“０”であることを意味する。従って、リーディングゼロの値を示す判別データＮ［４］，Ｎ［３］は、“１１”になり、マルチプレクサー３２は、サブＦＯＤ回路ＳＦ３から入力されるリーディングゼロの値を示す判別データＮ３［２：０］を選択して出力する。
【００４５】
その後、３ビットのリーディングゼロの値を示す判別データＮ［２：０］と２ビットのリーディングゼロの値を示す判別データＮ［４］，Ｎ［３］とによって、５ビットのリーディングゼロの値を示す判別データＮ［４：０］を発生するため、総入力ビット数が３２ビットのときに、３２個の“０”を感知し得るＦＯＤ回路を構成する。
【００４６】
このように、本第２実施形態のＦＯＤ回路においては、３２ビットの小数部分を、４つの８ビットのサブＦＯＤ回路によってそれぞれ処理するため、“０”を示す信号の伝達遅延が最大８ビットを越えることが無く、ＦＯＤ回路を少数のトランジスタを用いて簡便に構成することができる。
【００４７】
【発明の効果】
以上説明したように、請求項１に記載のＦＯＤ回路によれば、上位ビットがゼロであることを示す信号を、第１伝送トランジスタとインバータとにより伝達し得るため、該信号の遅延時間を短縮できるので、リーディングゼロを迅速に検出し得るという効果がある。
【００４８】
請求項２に記載の発明によれば、入力されるビット数が増加しても、複数ビットを所定ビット数ずつ分割して、所定ビット数毎に処理するサブＦＯＤ回路により処理して、各ビット数毎に上位ビットが０であることを示す信号を伝送するので、上位ビットが０であるか否かを迅速に判別でき、かつ、ビット数の増加に伴う信号の遅延を防止できる。
【００４９】
請求項４及び請求項５に記載の発明によれば、特定のサブＦＯＤ回路の入力ビット値が全てゼロであるか否かを示す判別データを利用して、リーディングゼロの値を求めるため、ＦＯＤ回路を簡単に構成し得るという効果がある。
【図面の簡単な説明】
【図１】本発明に係るＦＯＤ回路の単位ブロックの構成図である。
【図２】本発明に係るＦＯＤ回路の第１実施形態の構成図である。
【図３】本発明に係るＦＯＤ回路の第２実施形態の構成図である。
【図４】従来のカスケード式ＦＯＤ回路の構成図である。
【符号の説明】
ＡＤｎ    ＡＮＤゲート
Ｐｎ、Ｐｎ’    伝送トランジスタ
Ｉｎ    インバータ
２０    エンコーディング回路
ＳＦ０〜ＳＦ３    サブＦＯＤ回路
３０    エンコーディング回路
３１    論理演算部
３２    マルチプレクサー
【図１】
0004038634.tif 000004
【図２】
0004038634.tif 000005
【図３】
0004038634.tif 000006
【図４】
0004038634.tif 000007