JP4038634B2 - Fod回路 - Google Patents
Fod回路 Download PDFInfo
- Publication number
- JP4038634B2 JP4038634B2 JP01549999A JP1549999A JP4038634B2 JP 4038634 B2 JP4038634 B2 JP 4038634B2 JP 01549999 A JP01549999 A JP 01549999A JP 1549999 A JP1549999 A JP 1549999A JP 4038634 B2 JP4038634 B2 JP 4038634B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- output
- fod
- zero
- bit
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/74—Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Analogue/Digital Conversion (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、リーディングゼロ(Leading Zero)の値を検出するFOD回路(First-One-Detector)に係るもので、詳しくは、処理速度を向上し、かつ、回路面積の増大を抑制し得るFOD回路に関するものである。
【0002】
【従来の技術】
一般に、2進数は、指数(Exponent)部分と小数(Fraction)部分とに区分される。ここで、前記指数部分を2n(n=・・・,−2,−1,0,1,2,・・・)、小数部分をA(0.0000,・・・,1)と仮定すると、ビット値2n*Aは多様な形態で表される。例えば、‘2-3*0.101101’は、‘2-4*0.0101101’や‘2-5*0.00101101’等で表すことができる。
【0003】
ところで、マイクロプロセッサの浮動点部(Floating Point Unit)の設計の際、正規化は必須条件である。該正規化とは、小数部分において、小数点の次のビットに、常に“1”が来るようにするものである。例えば、同一値であっても、‘2-4*0.0101101’又は‘2-5*0.00101101’といった形態ではなく、‘2-3*0.101101’のような形態にすることを意味する。
【0004】
従って、正規化するためには、小数部分について、最上位ビット(MSB;most significant bit)から“1”を示すビットの前までのビット数を算出して、“0”の個数を示すリーディングゼロ(Leading Zero)の値を検出し、補正する必要がある。
【0005】
該正規化のための補正方法を、ビット値2-5*0.00101101を用いて説明する。
先ず、ビット値2-5*0.00101101のリーディングゼロの値、即ち、小数点以後のビット値から順次検出して最初に“1”が出るまでの0の個数“2”を求める。
【0006】
次いで、指数部分“2-5”の乗数値“−5”に、該求められた0の個数“2”を加えて指数部分を“2-3”にし、小数部分“0.00101101”を左に2ビットシフトさせ、“0.101101”にする。
【0007】
このとき、リーディングゼロの値を求めるために、FOD回路(又はLZD回路(Leading Zero Detector))が用いられ、この回路では加算及びシフト動作のために加算器及びシフターが用いられる。
【0008】
FOD回路では、処理すべき小数部分のビット数が多くなると、正規化の速度に決定的な影響を及ぼす。例えば、小数部分が16ビットの場合は、ビット数が少ないため、最下位ビット(LSB;least significant bit)が最初の“1”を示すビットであっても、リーディングゼロの値の検出速度が正規化の速度に及ぼす影響はそれほど大きくないが、小数部分が64ビットの場合には、最下位ビット(LSB)が最初の“1”を示すビットであると、リーディングゼロの値の検出速度によって正規化の速度が決定されることとなる。
【0009】
かかるFOD回路は、例えば、小数部分が5ビットであるときには、次のようなブール関数(Boolean Equation)で表すことができる。
ここで、I[0]〜I[4]は、5ビットの2進数の小数部分の各ビットを表し、Z[0]〜Z[4]は、最上位ビット(MSB)から先行されるリーディングゼロの値が、それぞれ0,1,2,3,4個であることを表す。
【0010】
従来のFOD回路は、図4に示したように、式(1)の循環的な性質を利用して、カスケード(Cascade)連結した回路で構成され、最上位ビット(MSB)から先行して出力されるリーディングゼロの値Z[0],・・・,Z[4]は、エンコーディング回路10により統合して、3ビットの2進数N[0],N[1],N[2]で示していた。
【0011】
以下、このような従来のFOD回路の動作を説明する。
先ず、最上位の入力ビットI[4]が“1”である場合には、リーディングゼロデータZ[0]は“1”になり、残りのリーディングゼロデータZ[1]〜Z[4]は“0”になって、エンコーディング回路10から出力される2進数N[2:0]が“000”になり、結局、リーデングゼロの個数は0になる。
【0012】
また、入力ビットI[4]及びI[3]が“0”で、入力ビットI[2]が“1”である場合には、リーディングゼロデータZ[0],Z[1],Z[3],Z[4]は“0”,Z[2]は“1”になり、エンコーディング回路10からは、N[2:0]=“010”が出力され、リーディングゼロが2個であることを表す。
【0013】
また、入力ビットI[4],I[3],I[2],I[1]が“0”で,I[0]が“1”である場合には、リーディングゼロデータZ[0],Z[1],Z[2],Z[3]は“0”で、Z[4]は“1”になり、エンコーディング回路10からはN[2:0]=“100”が出力され、リーディングゼロが4個であることを表す。
【0014】
【発明が解決しようとする課題】
然るに、このような従来のFOD回路においては、“0”を示す入力ビットの信号を、最上位ビット(MSB)のI[4]から最下位ビット(LSB)のI[0]に遷移させるとき、該信号が、各インバータI11〜I14及び複数個のトランジスタを備えたANDゲートAD11〜AD13を介して進行されるため、入力ビット数が増加するほど、ANDゲートによる信号の遅延時間が増加するという不都合な点があった。
【0015】
かつ、前記各ANDゲートAD11〜AD13は複数個のトランジスタにより構成されるため、FOD回路の全体面積が増加されるという不都合な点があった。
【0016】
そこで、本発明は、このような従来の課題に鑑みてなされたもので、入力ビット数が増加する場合にも、従来の回路構成に比べて回路面積を増加させることなく、リーディングゼロを迅速に検出し得るFOD回路を提供することを目的とする。
【0017】
【課題を解決するための手段】
このような目的を達成するため、本発明の請求項1に記載のFOD回路は、指数部分と小数部分とから成る2進数の前記小数部分の“0”を示す最上位ビットから“1”を示すビットの前のビットまでのリーディングゼロの値を検出するFOD回路であって、前記小数部分のビット数に応じてカスケード連結され、前記小数部分の最上位ビット以外のビットの値をそれぞれ入力し、各ビット値が0であるか否かを示すリーディングゼロデータを出力する複数の単位ブロックと、前記複数の単位ブロックからのリーディングゼロデータをエンコーディングして、前記小数部分のリーディングゼロの値を示す判別データを出力する第1エンコーディング手段と、を備え、前記単位ブロックは、前段の単位ブロックから出力される制御信号により、前記入力ビットの値を伝送する第1伝送トランジスタと、該第1伝送トランジスタがターンオフされたとき、前記第1伝送トランジスタの出力端の電圧をハイレベルに固定させる第2伝送トランジスタと、前記第1伝送トランジスタの出力端からのデータを反転させて、前記制御信号として後段の単位ブロックに出力するインバータと、前記入力ビットの値と前段の単位ブロックからの制御信号との論理積演算結果をリーディングゼロデータとして出力するANDゲートと、から構成され、最上位の入力ビットの値は反転されて、前記制御信号として初段の単位ブロックに出力され、最終段の単位ブロックのインバータの出力は、各入力ビットが全てゼロであるか否かを示す判別データ出力端に供給される。
【0018】
また、請求項2に記載のFOD回路は、指数部分と小数部分とから成る2進数の前記小数部分の“0”を示す最上位ビットから“1”を示すビットの前のビットまでのリーディングゼロの値を検出するFOD回路であって、前記小数部分のビット数に応じてカスケード連結され、前記小数部分の最上位ビット以外のビットの値をそれぞれ入力し、各ビット値が0であるか否かを示すリーディングゼロデータを出力する複数の単位ブロックと、前記複数の単位ブロックからのリーディングゼロデータをエンコーディングして、前記小数部分のリーディングゼロの値を示す判別データを出力する第1エンコーディング手段と、を有する複数のサブFOD回路と、それらサブFOD回路から出力される各判別データをエンコーディングし、前記小数部分のリーディングゼロの値を出力する第2エンコーディング手段と、から構成され、前記小数部分の総ビットを前記サブFOD回路の個数と対応する複数グループに分割し、該分割された小数部分の総ビットを各グループ毎に前記複数のサブFOD回路に入力し、前記各単位ブロックは、前段の単位ブロックから出力される制御信号により、前記入力ビットの値を伝送する第1伝送トランジスタと、該第1伝送トランジスタがターンオフされたとき、前記第1伝送トランジスタの出力端の電圧をハイレベルに固定させる第2伝送トランジスタと、前記第1伝送トランジスタの出力端からのデータを反転させて、前記制御信号として後段の単位ブロックに出力するインバータと、前記入力ビットの値と前段の単位ブロックからの制御信号との論理積演算結果をリーディングゼロデータとして出力するANDゲートとから構成され、最上位の入力ビットの値は反転されて、前記制御信号として初段の単位ブロックに出力され、最終段の単位ブロックのインバータの出力は、各入力ビットが全てゼロであるか否かを示す判別データ出力端に供給される。
【0019】
請求項3に記載の発明は、前記第1伝送トランジスタはNMOSトランジスタであり、前記第2伝送トランジスタはPMOSトランジスタである。
請求項4に記載の発明は、前記第2エンコーディング手段は、下位ビットの値を入力するサブFOD回路以外の複数のサブFOD回路から出力される、各入力ビットの値が全てゼロであるか否かを示す判別データに基づいて、リーディングゼロの値を出力する論理演算部と、該論理演算部から出力されるリーディングゼロの値により、前記各サブFOD回路の第1エンコーディング手段から出力される前記判別データを選択して、前記小数部分のリーディングゼロの値を出力するマルチプレクサーと、を備え、前記論理演算部からのリーディングゼロの値と前記マルチプレクサーからのリーディングゼロの値を加算して、最終的なリーディングゼロの値を出力する。
【0020】
請求項5に記載の発明は、前記論理演算部は、前記サブFOD回路として第1サブFOD回路〜第4サブFOD回路を備えるときには、前記第1サブFOD回路及び前記第2サブFOD回路から出力される入力ビット値が全てゼロであるか否かを示す各判別データを論理積演算して、リーディングゼロデータを出力する第1ANDゲートと、前記第1サブFOD回路から出力される入力ビット値が全てゼロであるか否かを示す判別データと前記第2サブFOD回路から出力される入力ビット値が全てゼロであるか否かを示す判別データの反転値とを論理積演算する第2ANDゲートと、前記第1サブFOD回路及び前記第3サブFOD回路から出力される入力ビット値が全てゼロであるか否かを示す各判別データを論理積演算する第3ANDゲートと、前記第2ANDゲートの出力と前記第3ANDゲートの出力とを論理和演算してリーディングゼロの値を出力するORゲートと、から構成される。
【0021】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を用いて説明する。
まず、本第1実施形態に係るFOD回路を、図1及び図2を用いて説明する。
【0022】
本第1実施形態に係るFOD回路は、指数部分と小数部分とから成る2進数の前記小数部分が5ビットであり、“0”を示す最上位ビットから“1”を示すビットの前のビットまでのリーディングゼロの値を検出するFOD回路である。
【0023】
図2に示したように、前記小数部分の最上位ビットI[4]以外のビットI[3]〜I[0]の値をそれぞれ入力し、各ビット値が0であるか否かを示すリーディングゼロデータZ[1]〜Z[4]を出力する4つの単位ブロックU0〜U3が、入力される2進数の小数部分のビット数に応じてカスケード連結され、前記複数の単位ブロックU0〜U3からのリーディングゼロデータZ[1]〜Z[4]をエンコーディングして、前記小数部分のリーディングゼロの値を示す判別データN[2],N[1],N[0]を出力する第1エンコーディング手段としてのエンコーディング回路20を備える。
【0024】
該単位ブロックU0〜U3は、図1に示したように、前段の単位ブロックU(n+1)から出力される上位ビットの値に基づく制御信号G(n+1)により、入力ビットI[n]を伝送する第1伝送トランジスタであり、NMOSトランジスタから成る伝送トランジスタPnと、該伝送トランジスタPnがターンオフされる際、伝送トランジスタPnの出力端のノードBnの電圧をハイレベルに固定させる第2伝送トランジスタであり、PMOSトランジスタから成る伝送トランジスタPn’と、前記伝送トランジスタPnの出力端からのデータであるノードBnのデータを反転させて、後段の単位ブロックU(n−1)の伝送トランジスタP(n−1)を制御する制御信号G(n)として出力するインバータInと、入力ビットI[n]の値と前段の単位ブロックU(n+1)からの制御信号G(n+1)とを論理積演算した結果をリーディングゼロデータZmとして出力するANDゲートADmと、から構成される。
【0025】
このとき、nには、最上位の入力ビット以外の入力ビットの順位である3〜0の値が入力され、mには、nの値に対応して1〜4の値が入力される。
尚、最上位の入力ビットI[4]の値は、インバータI4で反転されて、前記制御信号G(4)として初段の単位ブロックU3に出力され、最終段の単位ブロックU0のインバータI0の出力は、各入力ビットI[4]〜I[0]が全てゼロを示す判別データZ[5]の出力端に供給される。
【0026】
以下、このように構成された本第1実施形態に係るFOD回路の動作を説明する。
図2に示したように、該5ビットのFOD回路には、入力ビットI[4],I[3],I[2],I[1],I[0]が入力されて、最上位の入力ビット(MSB)のI[4]から対応するように、リーディングゼロデータZ[0],Z[1],Z[2],Z[3],Z[4],Z[5]を順次出力する。出力されたリーディングゼロデータZ[1],Z[2],Z[3],Z[4]はエンコーディング回路20でエンコーディングされて、3ビットのリーディングゼロの値を示す3ビットの判別データN[2],N[1],N[0]が出力される。また、リーディングゼロデータZ[0]は、リーディングゼロが無いことを示す判別データとして出力され、リーディングゼロデータZ[5]は、入力ビットI[4]〜I[0]が全て0であるか否かを示す判別データとして出力される。
【0027】
以下、本第1実施形態のFOD回路の動作を、入力ビットI[4],I[3],I[2],I[1],I[0]の値を例示して説明する。
(1)入力ビットI[4]が“1”である場合
入力ビットI[4]が“1”であると、リーディングゼロデータZ[0]は“1”になり、リーディングゼロが無いことを示す。制御信号G4は、インバータI4で反転されて“0”となり、単位ブロックU3に出力される。
【0028】
単位ブロックU3の伝送トランジスタP3,P3’は、制御信号G4によりそれぞれターンオフ及びターンオンされる。該伝送トランジスタP3’がターンオンされると、電源電圧VDDが伝送トランジスタP3’を介してインバータI3で反転されて、“0”を示す制御信号G3が単位ブロックU2に出力される。
【0029】
同様にして、各単位ブロックU2,U1からの制御信号G2,G1が“0”になり、それら制御信号G2,G1によって、伝送トランジスタP1,P0及び伝送トランジスタP1’,P0’もそれぞれターンオフ及びターンオンされる。
【0030】
このとき、各伝送トランジスタP3’〜P0’は、各伝送トランジスタP3〜P0の出力端であるノードB3〜B0の電圧をハイレベルに固定させる役割を遂行する。従って、入力ビットI[4]がハイレベル(“1”)であると、インバータI4を介して“0”の制御信号G4が出力され、全ての伝送トランジスタP3〜P0の出力端がハイレベルに固定されるため、リーディングゼロデータZ[1]〜Z[4]は全て“0”になり、エンコーディング回路20から出力される3ビットのリーディングゼロの値を示す判別データN[2:0]は“000”になる。
(2)入力ビットI[4],I[3]が“0”で、入力ビットI[2]が“1”である場合
ハイレベルの制御信号G4,G3により、伝送トランジスタP3,P2及び伝送トランジスタP3’,P2’はそれぞれターンオン及びターンオフされ、ローレベルの制御信号G2,G1により伝送トランジスタP1,P0及び伝送トランジスタP1’,P0’はそれぞれターンオフ及びターンオンされる。
【0031】
従って、ANDゲートAD1,AD3,AD4から出力されるリーディングゼロデータZ[1],Z[3],Z[4]は“0”になり、ANDゲートAD2から出力されるリーディングゼロデータZ[2]のみが“1”になる。
【0032】
次いで、エンコーディング回路20からは、リーディングゼロの値を示す判別データN[2:0]は“010”の2進数として出力される。この値は、リーディングゼロが2個であることを表す。
(3)入力ビットI[4],I[3],I[2],I[1]は、“0”であり、入力ビットI[0]が“1”である場合
前記と同様に、ハイレベルの制御信号G4,G3,G2,G1により、各伝送トランジスタP3,P2,P1,P0がターンオンされ、ANDゲートAD4から出力されるリーディングゼロデータZ[4]のみが“1”になり、残りのリーディングゼロデータZ[0]〜Z[3]及びZ[5]は、全て“0”になる。その結果、エンコーディング回路20からは、リーディングゼロの値を示す判別データN[2:0]は“100”の2進数として出力される。この値は、リーディングゼロが4個であることを表す。
(4)入力ビットI[4]〜I[0]が全て“0”である場合
入力ビットI[4]〜I[0]が全て“0”であると、全てのリーディングゼロデータZ[0]〜Z[4]は“0”(All Zero)になり、リーディングゼロの値を示す判別データN[2:0]は“000”になる。また、リーディングゼロデータZ[5]のみが“1”になって、入力ビットI[4]〜I[0]が全てゼロであることを示す。
【0033】
ここで、伝送トランジスタP0がターンオンされるまでの時間は、インバータI4〜I1と伝送トランジスタP3〜P1とによる遅延時間のみである。
従って、本第1実施形態に係るFOD回路においては、遅延時間が、インバータI4〜I1及びトランジスタP3〜P1のみにより発生するため、上位ビットが全て“0”という情報が迅速に下位ビットに伝達されて、リーディングゼロの検出が迅速に行われる。また、少数のトランジスタを用いてFOD回路を構成することができるため、回路のレイアウト面積を減少させることができる。
【0034】
かかる第1実施形態のFOD回路は、小数(Fraction)部分のビット数が16ビット以下のときに最も効果的である。
次に、本第2実施形態に係るFOD回路を説明する。
【0035】
本第2実施形態に係るFOD回路は、小数部分のビット数が16ビット以上のときに有効な回路であり、リーディングゼロの伝達(Propagation)効果を利用するように、複数のビット数を幾つかに分割して構成する。
【0036】
例えば、入力ビット数が32ビットである場合には、図3に示したように、32ビットを8ビットずつ4つのグループに分割し、分割された32ビットを各グループ毎に入力される4つのサブFOD回路SF0〜SF3と、それらサブFOD回路SF0〜SF3から出力される各判別データN0[2:0]〜N3[2:0]をエンコーディングし、リーディングゼロの値を出力する第2エンコーディング手段としてのエンコーディング回路30とから構成される。サブFOD回路SF0〜SF3は、第1実施形態で示した回路構成と同様に、入力ビット数に応じた個数の単位ブロック及びエンコーディング回路20をそれぞれ備えて成る。即ち、サブFOD回路SF0〜SF3には8ビットずつ入力されるので、7つの単位ブロックU6〜U0をそれぞれ備える。
【0037】
エンコーディング回路30は、下位の8ビットの入力ビットI[7]〜I[0]の値を入力するサブFOD回路SF3以外の複数のサブFOD回路SF0〜SF2から出力される、各入力ビット値が全てゼロであるか否かを示す判別データであるリーディングゼロデータZ0[8]〜Z2[8]に基づいて、リーディングゼロの値を示す判別データN[3],N[4]を出力する論理演算部31と、該論理演算部31から出力されるリーディングゼロの値を示す判別データN[3],N[4]により、前記各サブFOD回路SF3〜SF0から出力される判別データN0[2:0]〜N3[2:0]を選択して、前記小数部分のリーディングゼロの値を示す判別データN[2:0]を出力するマルチプレクサー32と、を備え、前記論理演算部か31らのリーディングゼロの値を示す判別データN[4],N[3]と前記マルチプレクサー32からのリーディングゼロの値を示す判別データN[2:0]を加算して、最終的なリーディングゼロの値を示す判別データN[4:0]を出力する。
【0038】
前記論理演算部31は、最上位ビット(MSB)からの入力ビットI[31]〜I[24]が入力するサブFOD回路SF0のリーディングゼロデータZ0[8]と、入力ビットI[23]〜I[16]が入力するサブFOD回路SF1のリーディングゼロデータZ1[8]とを論理積演算して、リーディングゼロの値を示す判別データN[4]を出力する第1ANDゲートとしてのANDゲート31aと、サブFOD回路SF0のリーディングゼロデータZ0[8]と、反転されたサブFOD回路SF1のリーディングゼロデータ /Z1[8]とを論理積演算する第2ANDゲートとしてのANDゲート31bと、サブFOD回路SF0のリーディングゼロデータZ0[8]とサブFOD回路SF2のリーディングゼロデータZ2[8]とを論理積演算する第3ANDゲートとしてのANDゲート31cと、それらANDゲート31bからの出力とANDゲート31cからの出力とを論理和演算して、リーディングゼロの値を示す判別データN[3]を出力するORゲート31dと、から構成されている。
【0039】
前記マルチプレクサー32は、論理演算部31から出力される各リーディングゼロの値を示す判別データN[3],N[4]により、前記各サブFOD回路SF0〜SF3から出力される各リーディングゼロの値を示す判別データN0[2:0],N1[2:0],N2[2:0],N3[2:0]を選択的に出力する。
【0040】
リーディングゼロデータZ0[8]は、サブFOD回路SF0の入力ビットI[24]〜I[31]が全て“0”である場合に“1”になる判別データであり、同様に、サブFOD回路SF1,SF2からもリーディングゼロデータZ1[8],Z2[8]が判別データとして出力される。このとき、リーディングゼロの値を示す判別データN[4],N[3]は、論理演算部31の構成により、次のように表すことができる。
【0041】
N[4]=Z0[8]*Z1[8]
N[3]=(Z0[8]* /Z1[8])+(Z0[8]*Z2[8])
かつ、リーディングゼロデータZ0[8],Z1[8],Z2[8]とリーディングゼロの値を示す判別データN[4],N[3]間には、次のような関係が成立する。
従って、エンコーディング回路30のマルチプレクサー32は、論理演算部31から出力されたリーディングゼロの値を示す判別データN[4],N[3]により、N0[2:0],N1[2:0],N2[2:0],N3[2:0]を選択的に出力する。
【0042】
例えば、Z0[8]が“0”である場合は、サブFOD回路SF0の入力ビットI[31]〜I[24]の何れかが“1”である場合を意味するので、リーディングゼロの値を示す判別データN[4],N[3]は、“00”になり、マルチプレクサー32は、サブFOD回路SF0から入力されるN0[2:0]を選択して出力する。
【0043】
また、Z0[8]が“1”で、Z1[8]は“0”である場合は、サブFOD回路SF0の入力ビットI[31]〜I[24]が全て“0”で、サブFOD回路SF1の入力ビットI[23]〜I[16]の何れかが“1”である場合を意味するので、リーディングゼロの値を示す判別データN[4],N[3]は、“01”になり、マルチプレクサー32は、サブFOD回路SF1から入力されるリーディングゼロの値を示す判別データN1[2:0]を選択して出力する。
【0044】
同様な方法により、Z0[8],Z1[8],Z2[8]が全て“1”である場合は、サブFOD回路SF0〜SF2の入力ビットI[31]〜I[8]が全て“0”であることを意味する。従って、リーディングゼロの値を示す判別データN[4],N[3]は、“11”になり、マルチプレクサー32は、サブFOD回路SF3から入力されるリーディングゼロの値を示す判別データN3[2:0]を選択して出力する。
【0045】
その後、3ビットのリーディングゼロの値を示す判別データN[2:0]と2ビットのリーディングゼロの値を示す判別データN[4],N[3]とによって、5ビットのリーディングゼロの値を示す判別データN[4:0]を発生するため、総入力ビット数が32ビットのときに、32個の“0”を感知し得るFOD回路を構成する。
【0046】
このように、本第2実施形態のFOD回路においては、32ビットの小数部分を、4つの8ビットのサブFOD回路によってそれぞれ処理するため、“0”を示す信号の伝達遅延が最大8ビットを越えることが無く、FOD回路を少数のトランジスタを用いて簡便に構成することができる。
【0047】
【発明の効果】
以上説明したように、請求項1に記載のFOD回路によれば、上位ビットがゼロであることを示す信号を、第1伝送トランジスタとインバータとにより伝達し得るため、該信号の遅延時間を短縮できるので、リーディングゼロを迅速に検出し得るという効果がある。
【0048】
請求項2に記載の発明によれば、入力されるビット数が増加しても、複数ビットを所定ビット数ずつ分割して、所定ビット数毎に処理するサブFOD回路により処理して、各ビット数毎に上位ビットが0であることを示す信号を伝送するので、上位ビットが0であるか否かを迅速に判別でき、かつ、ビット数の増加に伴う信号の遅延を防止できる。
【0049】
請求項4及び請求項5に記載の発明によれば、特定のサブFOD回路の入力ビット値が全てゼロであるか否かを示す判別データを利用して、リーディングゼロの値を求めるため、FOD回路を簡単に構成し得るという効果がある。
【図面の簡単な説明】
【図1】本発明に係るFOD回路の単位ブロックの構成図である。
【図2】本発明に係るFOD回路の第1実施形態の構成図である。
【図3】本発明に係るFOD回路の第2実施形態の構成図である。
【図4】従来のカスケード式FOD回路の構成図である。
【符号の説明】
ADn ANDゲート
Pn、Pn’ 伝送トランジスタ
In インバータ
20 エンコーディング回路
SF0〜SF3 サブFOD回路
30 エンコーディング回路
31 論理演算部
32 マルチプレクサー
Claims (5)
- 指数部分と小数部分とから成る2進数の前記小数部分の“0”を示す最上位ビットから“1”を示すビットの前のビットまでのリーディングゼロの値を検出するFOD回路であって、
前記小数部分のビット数に応じてカスケード連結され、前記小数部分の最上位ビット以外のビットの値をそれぞれ入力し、各ビット値が0であるか否かを示すリーディングゼロデータを出力する複数の単位ブロックと、
前記複数の単位ブロックからのリーディングゼロデータをエンコーディングして、前記小数部分のリーディングゼロの値を示す判別データを出力する第1エンコーディング手段と、を備え、
前記単位ブロックは、
前段の単位ブロックから出力される制御信号により、前記入力ビットの値を伝送する第1伝送トランジスタと、
該第1伝送トランジスタがターンオフされたとき、前記第1伝送トランジスタの出力端の電圧をハイレベルに固定させる第2伝送トランジスタと、
前記第1伝送トランジスタの出力端からのデータを反転させて、前記制御信号として後段の単位ブロックに出力するインバータと、
前記入力ビットの値と前段の単位ブロックからの制御信号との論理積演算結果をリーディングゼロデータとして出力するANDゲートと、から構成され、
最上位の入力ビットの値は反転されて、前記制御信号として初段の単位ブロックに出力され、
最終段の単位ブロックのインバータの出力は、各入力ビットが全てゼロであるか否かを示す判別データ出力端に供給されることを特徴とするFOD回路。 - 指数部分と小数部分とから成る2進数の前記小数部分の“0”を示す最上位ビットから“1”を示すビットの前のビットまでのリーディングゼロの値を検出するFOD回路であって、
前記小数部分のビット数に応じてカスケード連結され、前記小数部分の最上位ビット以外のビットの値をそれぞれ入力し、各ビット値が0であるか否かを示すリーディングゼロデータを出力する複数の単位ブロックと、前記複数の単位ブロックからのリーディングゼロデータをエンコーディングして、前記小数部分のリーディングゼロの値を示す判別データを出力する第1エンコーディング手段と、を有する複数のサブFOD回路と、
それらサブFOD回路から出力される各判別データをエンコーディングし、前記小数部分のリーディングゼロの値を出力する第2エンコーディング手段と、から構成され、
前記小数部分の総ビットを前記サブFOD回路の個数と対応する複数グループに分割し、該分割された小数部分の総ビットを各グループ毎に前記複数のサブFOD回路に入力し、
前記各単位ブロックは、前段の単位ブロックから出力される制御信号により、前記入力ビットの値を伝送する第1伝送トランジスタと、該第1伝送トランジスタがターンオフされたとき、前記第1伝送トランジスタの出力端の電圧をハイレベルに固定させる第2伝送トランジスタと、前記第1伝送トランジスタの出力端からのデータを反転させて、前記制御信号として後段の単位ブロックに出力するインバータと、前記入力ビットの値と前段の単位ブロックからの制御信号との論理積演算結果をリーディングゼロデータとして出力するANDゲートとから構成され、最上位の入力ビットの値は反転されて、前記制御信号として初段の単位ブロックに出力され、最終段の単位ブロックのインバータの出力は、各入力ビットが全てゼロであるか否かを示す判別データ出力端に供給されることを特徴とするFOD回路。 - 前記第1伝送トランジスタはNMOSトランジスタであり、
前記第2伝送トランジスタはPMOSトランジスタであることを特徴とする請求項1又は請求項2記載のFOD回路。 - 前記第2エンコーディング手段は、
下位ビットの値を入力するサブFOD回路以外の複数のサブFOD回路から出力される、各入力ビットの値が全てゼロであるか否かを示す判別データに基づいて、リーディングゼロの値を出力する論理演算部と、
該論理演算部から出力されるリーディングゼロの値により、前記各サブFOD回路の第1エンコーディング手段から出力される前記判別データを選択して、前記小数部分のリーディングゼロの値を出力するマルチプレクサーと、を備え、
前記論理演算部からのリーディングゼロの値と前記マルチプレクサーからのリーディングゼロの値を加算して、最終的なリーディングゼロの値を出力することを特徴とする請求項2又は請求項3記載のFOD回路。 - 前記論理演算部は、
前記サブFOD回路として第1サブFOD回路〜第4サブFOD回路を備えるときには、
前記第1サブFOD回路及び前記第2サブFOD回路から出力される入力ビット値が全てゼロであるか否かを示す各判別データを論理積演算して、リーディングゼロデータを出力する第1ANDゲートと、
前記第1サブFOD回路から出力される入力ビット値が全てゼロであるか否かを示す判別データと前記第2サブFOD回路から出力される入力ビット値が全てゼロであるか否かを示す判別データの反転値とを論理積演算する第2ANDゲートと、
前記第1サブFOD回路及び前記第3サブFOD回路から出力される入力ビット値が全てゼロであるか否かを示す各判別データを論理積演算する第3ANDゲートと、
前記第2ANDゲートの出力と前記第3ANDゲートの出力とを論理和演算してリーディングゼロの値を出力するORゲートと、
から構成されることを特徴とする請求項4記載のFOD回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR2013/1998 | 1998-01-23 | ||
KR1019980002013A KR100253407B1 (ko) | 1998-01-23 | 1998-01-23 | 에프오디 회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11316674A JPH11316674A (ja) | 1999-11-16 |
JP4038634B2 true JP4038634B2 (ja) | 2008-01-30 |
Family
ID=19531985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01549999A Expired - Fee Related JP4038634B2 (ja) | 1998-01-23 | 1999-01-25 | Fod回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6195673B1 (ja) |
JP (1) | JP4038634B2 (ja) |
KR (1) | KR100253407B1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000137597A (ja) * | 1998-10-30 | 2000-05-16 | Fujitsu Ltd | ビットサーチ装置、及びビットサーチ方法 |
US6654776B1 (en) * | 2000-06-02 | 2003-11-25 | Sun Microsystems, Inc. | Method and apparatus for computing parallel leading zero count with offset |
US6957238B1 (en) * | 2001-02-23 | 2005-10-18 | Altera Corporation | Method and system for deterministic pseudo-random valid entry resolution |
US6889235B2 (en) * | 2001-11-16 | 2005-05-03 | Apple Computer, Inc. | Method and apparatus for quantifying the number of identical consecutive digits within a string |
US20060179098A1 (en) * | 2005-02-09 | 2006-08-10 | International Business Machines Corporation | System and method for reduction of leading zero detect for decimal floating point numbers |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59216245A (ja) * | 1983-05-25 | 1984-12-06 | Nec Corp | 正規化回路 |
JPH0746310B2 (ja) * | 1987-06-30 | 1995-05-17 | 三菱電機株式会社 | 半導体論理回路 |
US4926369A (en) * | 1988-10-07 | 1990-05-15 | International Business Machines Corporation | Leading 0/1 anticipator (LZA) |
JPH07105726B2 (ja) * | 1990-01-31 | 1995-11-13 | 株式会社東芝 | プライオリティ・エンコーダ |
GB9124539D0 (en) * | 1991-11-19 | 1992-01-08 | Texas Instruments Ltd | A circuit for detecting the position of an extreme 1"bit in a binary number |
US5317527A (en) | 1993-02-10 | 1994-05-31 | Digital Equipment Corporation | Leading one/zero bit detector for floating point operation |
JP2591463B2 (ja) * | 1993-12-27 | 1997-03-19 | 日本電気株式会社 | リミッタ装置 |
US5493520A (en) * | 1994-04-15 | 1996-02-20 | International Business Machines Corporation | Two state leading zero/one anticipator (LZA) |
US5568410A (en) * | 1994-09-29 | 1996-10-22 | International Business Machines Corporation | Method and apparatus for determining the amount of leading zeros or ones in a binary data field |
-
1998
- 1998-01-23 KR KR1019980002013A patent/KR100253407B1/ko not_active IP Right Cessation
- 1998-09-16 US US09/154,098 patent/US6195673B1/en not_active Expired - Lifetime
-
1999
- 1999-01-25 JP JP01549999A patent/JP4038634B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6195673B1 (en) | 2001-02-27 |
JPH11316674A (ja) | 1999-11-16 |
KR100253407B1 (ko) | 2000-04-15 |
KR19990066246A (ko) | 1999-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0479013B2 (ja) | ||
US7315163B2 (en) | Arithmetic unit | |
EP0493835B1 (en) | An arithmetic operation unit having bit inversion function | |
JP4038634B2 (ja) | Fod回路 | |
JP3507517B2 (ja) | 2進数に於いて最も端にある「1」ビットの位置検出回路 | |
JPH0545982B2 (ja) | ||
US20010037349A1 (en) | Logic circuits and carry-lookahead circuits | |
JP2000056949A (ja) | 4−2コンプレッサ回路および乗算器 | |
US5754458A (en) | Trailing bit anticipator | |
JP3429927B2 (ja) | 浮動小数点演算装置の正規化回路装置 | |
JPH09114641A (ja) | 最上位デジットを決定するための装置と方法 | |
US6665698B1 (en) | High speed incrementer/decrementer | |
JP2509279B2 (ja) | 浮動小数点数一固定小数点数変換装置 | |
US7444366B2 (en) | Faster shift value calculation using modified carry-lookahead adder | |
JP3512738B2 (ja) | 丸め検出回路及び該丸め検出回路がシフト回路に接続されてなる複合回路 | |
KR960015194A (ko) | 절대값 계산 방법 및 회로 | |
JP3187402B2 (ja) | 浮動小数点データ加減算回路 | |
JP3540136B2 (ja) | データ分割並列シフタ | |
JP2558939B2 (ja) | 丸め回路 | |
JP2001325093A (ja) | 1ビット比較全加算器、nビット比較全加算器、半導体演算装置、およびレイアウトライブラリ | |
JPH0368412B2 (ja) | ||
US20160132294A1 (en) | Adder decoder | |
JPH1021054A (ja) | 演算処理装置 | |
JPH04192033A (ja) | 補数変換回路 | |
JP2002082798A (ja) | 冗長2進演算回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20050218 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050311 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050506 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070925 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071023 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101116 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101116 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111116 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111116 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121116 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121116 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131116 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |