JPH04502677A - How to analyze data path elements - Google Patents

How to analyze data path elements

Info

Publication number
JPH04502677A
JPH04502677A JP2503093A JP50309390A JPH04502677A JP H04502677 A JPH04502677 A JP H04502677A JP 2503093 A JP2503093 A JP 2503093A JP 50309390 A JP50309390 A JP 50309390A JP H04502677 A JPH04502677 A JP H04502677A
Authority
JP
Japan
Prior art keywords
stage
delay
pipeline
multiplier
bits
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
JP2503093A
Other languages
Japanese (ja)
Inventor
アサト,クレイフトン サトシ
ドラキア,スレシュ キショルブハイ
ディッツェン,クリストフ
Original Assignee
ブイエルエスアイ テクノロジー,インコーポレイティド
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 ブイエルエスアイ テクノロジー,インコーポレイティド filed Critical ブイエルエスアイ テクノロジー,インコーポレイティド
Publication of JPH04502677A publication Critical patent/JPH04502677A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3875Pipelining a single stage, e.g. superpipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Noise Elimination (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Monitoring And Testing Of Transmission In General (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。 (57) [Summary] This bulletin contains application data before electronic filing, so abstract data is not recorded.

Description

【発明の詳細な説明】 データバス素子の分析方法 発明の分野 本発明は一般にデータバス素子を通した遅延を決定するための技術に関連し、よ り特別には、多段データバス素子を通した信号遅延を決定するための技術に関す るものである。[Detailed description of the invention] How to analyze data bus elements field of invention TECHNICAL FIELD The present invention relates generally to techniques for determining delays through data bus elements, and In particular, it concerns techniques for determining signal delays through multistage data bus elements. It is something that

インバータのような論理ユニットは典型的にはデータバスの各々のデジタルビッ トで個々に動作する。そのようなユニットにおいて、1ビツト上の動作はデータ バスの他のビットの動作への影響は例えあるとしても少ないものである。しかし ながら、乗算器やそのようなものの高速多段計算ユニットにとって、データバス における1ビツトの動作はしばしば他のビットの動作結果に依存する。例えば、 典型的な乗算器は複数のキャリーセイブ加算器と最終のりプル加算器を含むかも しれない。そのような乗算器において、キャリービットはしばしば低次のビット の演算中に生成され、そのキャリービットは乗算器のより高次のビット演算で使 われる。キャリービットはりプル加算器の全てのビットを通して伝達されなけれ ばならないので、リプル加算器により要求される処理時間は部分的には乗算され る数のビット数による。A logic unit such as an inverter typically controls each digital bit of the data bus. Works individually on each page. In such units, the operation on one bit is the data There is little, if any, effect on the operation of other bits on the bus. but However, for high-speed multi-stage computation units such as multipliers and The operation of one bit in a bit often depends on the results of operations of other bits. for example, A typical multiplier may include multiple carry-save adders and a final multiply-pull adder. unknown. In such multipliers, the carry bit is often the lower order bit is generated during the operation, and its carry bit is used in higher order bit operations of the multiplier. be exposed. The carry bit must be carried through all bits of the pull adder. The processing time required by the ripple adder is partially multiplied by Depends on the number of bits in the number.

算術関数ユニットの高周期動作を提供するために、いわゆるパイプライン段がユ ニット内に挿入される。算術素子におけるパイプライン段は大きな利点を有する が、それらはまた潜伏(latency)時間(1ワードを完全に処理するのに 要求される時間)を増加することもできる。別の言葉でいえば、パイプライン段 は付加的な処理ステップを算術素子に加えるために、素子は各々の個々のワード を処理するのにより大きな時間お必要とする。それにもかかわらず、算術素子の 出力周期(frequency) (すなわち、ユニット時間当たり処理される ワード数)は素子におけるパイプライン段の挿入によって増した潜伏にもかかわ らず増加するかもしれない。この結果はパイプライン段が素子が先のワード処理 を完了する前に次のワードの動作を開始することを許すという事実にある。従っ て、パイプライン段は素子の潜伏時間を増加するが、それらはまた算術素子の動 作周期を増加する。In order to provide high-period operation of the arithmetic function units, so-called pipeline stages are used for the units. Inserted into the knit. Pipeline stages in arithmetic elements have significant advantages However, they also have a latency time (to process one word completely). The required time) can also be increased. In other words, the pipeline stage adds an additional processing step to the arithmetic element so that the element It requires more time to process. Nevertheless, the arithmetic element Output frequency (i.e. processed per unit time) word count) despite the increased latency due to the insertion of pipeline stages in the device. may increase without any change. This result indicates that the pipeline stage processes words with elements first. The problem lies in the fact that it allows the next word to start working before it is completed. follow Although pipeline stages increase the latency of the elements, they also increase the operation of the arithmetic elements. Increase cropping cycle.

従って、パイプライン段の使用は周期と潜伏間の性能のトレードオフを必要とす る。最適な又はほぼ最適な性能を達成するために、望みの動作周期を得るのに必 要なパイプライン段の最小数だけを挿入することが望ましい。別の言葉で言えば 、パイプライン段は通常最大限の距離で機能素子(functional el ea+ent)に挿入されるべきである。Therefore, the use of pipeline stages requires a performance trade-off between period and latency. Ru. necessary to obtain the desired operating period to achieve optimal or near-optimal performance. It is desirable to insert only the minimum number of necessary pipeline stages. In other words , pipeline stages usually connect functional elements at maximum distance. ea+ent).

多段データバス素子におけるパイプライン段の効果的な配置は素子の個々の段を 通した遅延のかなり正確な推定を必要とする。さらに、計算上の複雑さを最小化 するために、配置技術は実装するのに比較的単純であるべきである。従って、本 発明の主な目的はデータバス素子で遭遇する遅延を決定するための簡易で効果的 な技術を明らかにすることである。Effective placement of pipeline stages in a multi-stage data bus device is to requires a fairly accurate estimate of the delay through. Additionally, minimizing computational complexity In order to do so, the placement technique should be relatively simple to implement. Therefore, the book The main purpose of the invention is to provide a simple and effective method for determining the delays encountered in data bus elements. The aim is to clarify the technology.

本発明の簡単な概要 簡単に言えば、本発明は多段データバス素子を通した遅延を決定する方法に関す るものである。本発明によれば、データバス素子の各々の段を通した遅延は一つ の式によって推定でき、すなわち Di =Db Nb+C である。そこでり、は推定された段の遅延、Dbは一つの段におけるビット間の 通信に関連する遅延、Nbはデータバス素子のビット数、そしてCは定数である 。推定された遅延に基づいて、データバス機能素子のパイプライン段の位置が計 算可能になる。Brief overview of the invention Briefly, the present invention relates to a method for determining delay through multi-stage data bus elements. It is something that According to the invention, the delay through each stage of data bus elements is one can be estimated by the formula, i.e. Di = Db Nb + C It is. So, is the estimated stage delay, and Db is the delay between bits in one stage. The delay associated with communication, Nb is the number of bits of the data bus element, and C is a constant . Based on the estimated delay, the pipeline stage positions of the data bus functional elements are calculated. It becomes possible to calculate

図面の簡単な説明 添付図面において、 図1は従来の5×5符号無しキャリーセイブアレー乗算器の図式図であり、 図2は図1の乗算器に使われる全加算器回路を描いた図式的な論理回路であり、 図3は図1の乗算器に使われる半加算器回路を描いた図式的な論理回路であり、 図4はパイプライン段を含む5×5符号無しキャリーセイプアレー乗算器部分の 図式的な回路であり、図5はNXMアレー乗算器で発生する遅延を推定する技術 を説明する補助のために与えられた図であり、図6はパイプライン段を具備した NXMアレー乗算器の機能的表現であり、そして 図7は多段データバス素子のパイプライン段の配置を決定する処理を描いたフロ ー図である。Brief description of the drawing In the attached drawings, FIG. 1 is a schematic diagram of a conventional 5×5 unsigned carry-save array multiplier; Figure 2 is a schematic logic circuit depicting the full adder circuit used in the multiplier in Figure 1. FIG. 3 is a schematic logic circuit depicting a half adder circuit used in the multiplier of FIG. Figure 4 shows the 5x5 unsigned carry-save array multiplier section including pipeline stages. A schematic circuit, and Figure 5 shows a technique for estimating the delay occurring in an NXM array multiplier. Figure 6 is a diagram provided to aid in explaining the is a functional representation of an NXM array multiplier, and Figure 7 is a flowchart depicting the process of determining the arrangement of pipeline stages of a multi-stage data bus element. -Fig.

好ましい実施例の詳細な 明 以下において、本発明はキャリーセイブアレー乗算器の面から説明される。しか しながら、この実施例はデータバスにおいて並列データ動作をする素子の単なる 例示である。すなわち、本発明はアレー乗算器以外の算術オペレータへも適用可 能であるということは理解されるべきである。Detailed description of the preferred embodiment In the following, the invention will be explained in terms of carry-save array multipliers. deer However, this embodiment is a simple implementation of elements that perform parallel data operations on the data bus. This is an example. In other words, the present invention can be applied to arithmetic operators other than array multipliers. It should be understood that it is possible.

従来の5×5キヤリ一セイブアレー乗算器2が図1に描かれている。乗算器2は 二つの5ビツト数AとBの高速乗算のために設計されている。シンボル記号にお いて、数Aは最低位ビットから最上位ビットまでピッF aO+ a 1. a  2+ a :lそしてa4を含む。同様に、5ビツト数Bはピッ) bo、b +、bz。A conventional 5.times.5 carry-save array multiplier 2 is depicted in FIG. Multiplier 2 is It is designed for fast multiplication of two 5-bit numbers A and B. symbol symbol Then, the number A is pitched from the lowest bit to the most significant bit F aO+ a1. a 2+a: includes l and a4. Similarly, the 5-bit number B is bo, b +, bz.

b3そしてb4を含む。Contains b3 and b4.

図1における乗算器2は各々が文字FAによって示される全加算器の複数の列や 段から構成される。従って、乗算器の第一列は全加算器12,14.16そして 18を含み、第二列は全加算器22.24.26そして28を含み、第三列は全 加算器32,34.36そして38を含み、そして第四列は全加算器42,44 .46そして48を含む。乗算器2の最終段は全加算!52,54.56そして 58から成るリプルキャリー加算器50である。Multiplier 2 in FIG. 1 includes multiple columns of full adders, each indicated by the letter FA Consists of steps. Therefore, the first column of multipliers consists of full adders 12, 14, 16 and 18, the second column includes full adders 22, 24, 26 and 28, and the third column includes full adders 22, 24, 26 and 28. including adders 32, 34, 36 and 38, and the fourth column includes full adders 42, 44. .. 46 and 48 included. The final stage of multiplier 2 is full addition! 52, 54.56 and 58.

図1の乗算器2の動作において、各々の全加算器は3ビツトの人力を受信し、そ して合計出力とキャリー出力を作りだす。図1における様々の加算器へのピント 入力は表1にリストされている。全加算器の合計出力は下付きの′S″によって 示され、キャリー出力は下付きの“C”によって示される。In the operation of multiplier 2 in FIG. 1, each full adder receives 3 bits of power; to produce a sum output and a carry output. Focus on various adders in Figure 1 Inputs are listed in Table 1. The total output of the full adder is given by the subscript 'S''. The carry output is indicated by a subscript "C".

従って、例えば、加算器14の合計とキャリー出力は14sと14cでそれぞれ 示される0表1にリストされた“ai bj”入力は各々のアドレスでのAND 演算によって論理的に結合される数AとBのそれぞれのビットを示している。Thus, for example, the sum and carry outputs of adder 14 are 14s and 14c, respectively. The “ai bj” inputs listed in Table 1 are ANDed at each address. It shows the respective bits of numbers A and B that are logically combined by an operation.

加算器 入力 加算器 入力 12 (La+bs、aobt 36 26c+28s+azbs14 0、a zbo+arb+ 38 28C,a4bz+asbz16 0+aJ(1+a !t)+ 42 32c、34s、aoba18 0+aabo+azb+ 4 4 34C+363+arba22 12c、 14s、 aobt 46 3 6c+ 38s、 atba24 14c、16s、a+bl 48 38c+ aabx+a3bs26 16c、 18s+azbz 52 42c+44s 、028 18c、a4b+、a3bz 54 44c、46s、52c32  22c、24s、aobt 56 46c、48s、54c34 24c、26 s、a+b:+ 58 48c、a4ha+56c表1 図1の乗算器2を使う典型的なシステムにおいて、入カバソファは乗算器によっ て処理される乗数と被乗数を記憶するために乗算器の前に与えられる。さらに、 典型的なシステムは乗算器へのa;bJ大入力股間の同期を確立するために適当 に遅延されることを確実にするために人カバソファと加算段の間に接続されたA NDゲートを使用する。そのようなバッファとゲート回路は技術的に知られてお り、その理由から、ここではこれ以上説明しない。Adder input Adder input 12 (La+bs, aobt 36 26c+28s+azbs14 0, a zbo+arb+ 38 28C, a4bz+asbz16 0+aJ(1+a ! t)+42 32c, 34s, aoba18 0+aabo+azb+4 4 34C+363+arba22 12c, 14s, aobt 46 3 6c+ 38s, atba24 14c, 16s, a+bl 48 38c+ aabx+a3bs26 16c, 18s+azbz 52 42c+44s , 028 18c, a4b+, a3bz 54 44c, 46s, 52c32 22c, 24s, aobt 56 46c, 48s, 54c34 24c, 26 s, a+b:+58 48c, a4ha+56cTable 1 In a typical system using multiplier 2 in Figure 1, the input cover sofa is is provided before the multiplier to store the multiplier and multiplicand to be processed. moreover, A typical system is suitable for establishing synchronization between a;bJ large inputs to the multiplier. A connected between the cover sofa and the adding stage to ensure that the Use ND gate. Such buffer and gate circuits are not known in the art. For that reason, we will not discuss it further here.

乗算器2の動作がここで述べられる。そのような説明のために、2進数A=10 011とB=01100が乗算される例が与えられる。(十進数でA=19そし てB−12)紙と鉛筆による掛は算が以下に記載されている。The operation of multiplier 2 will now be described. For such an explanation, the binary number A=10 An example is given where 011 is multiplied by B=01100. (A=19 in decimal) B-12) Multiplication using paper and pencil is described below.

19 = 10011 被乗数 X12 =XO1100乗数 oooo。19 = 10011 Multiplicand X12 = XO1100 multiplier ooooo.

oooo。ooooo.

oooo。ooooo.

228 011100100 積 従って、二つの2進数の乗算処理は連続する加算とシフトによって達成されるこ とが理解される。上記に示された乗算処理において、乗数の連続するピントは最 初に最低位ビットが見られる。もし乗数ビットが1ならば、被乗数はコピーされ る。さもなければゼロがコピーされる。そして、連続する列の数が先の列から左 へ一位置シフトされる。最後に数は加算され乗算の積に等しい合計が得られる。228 011100100 product Therefore, the multiplication process of two binary numbers is accomplished by successive additions and shifts. It is understood that In the multiplication process shown above, the consecutive focus of the multiplier is The lowest bit is seen first. If the multiplier bit is 1, the multiplicand is copied Ru. Otherwise zeros are copied. and the number of consecutive columns to the left from the previous column is shifted one position to. Finally the numbers are added to give a sum equal to the product of the multiplications.

図1の乗算器2によって数AXB=Pの掛は算を示すために、各々の連続する段 の入力と出力が明らかにされる。第一段において、加算器12.14.16そし て18は入力セラ) (0,0,0)、 (0,0,0)、 (0,O,O)、  (0゜0.0)をそれぞれ受信し、それぞれの出力セット(0゜0)、(0, O)、(0,O)、(0,O)の(合計、キャリー)を与える。積Pの最低位ビ ットはP。−=ao bo =0である。ビットP、は加算器12の合計出力で あり、この例ではOである。第二段では、加算器22.24.26そして28は 入力セント (0,0,1)、(0,0,1)、(0゜0、O)、(0,O,O )を受信し、出力セット(1,0)。The multiplication of the number AXB=P by the multiplier 2 of FIG. The inputs and outputs of are revealed. In the first stage, adders 12, 14, 16 and (18 is the input cell) (0, 0, 0), (0, 0, 0), (0, O, O), (0°0.0) respectively, and the respective output sets (0°0), (0, O), (0, O), (0, O) (sum, carry) is given. The lowest value of the product P The cut is P. −=ao bo =0. Bit P is the total output of adder 12 Yes, and in this example it is O. In the second stage, adders 22, 24, 26 and 28 are Input cent (0,0,1), (0,0,1), (0°0,O), (0,O,O ) and output set (1,0).

(1,O)、(0,0)、(0,0)を与える。ビットP2は加算器22の合計 出力であり、この場合はlである。第三段の加算器32,34.36そして38 へのそれぞれの入力は(0,1,1)、 (0,0,1)、 (0,O,O)、  (0゜1.0)であり、それぞれの出力は(0,1)、(1,O)。Give (1,O), (0,0), (0,0). Bit P2 is the sum of adder 22 output, in this case l. Third stage adders 32, 34, 36 and 38 The respective inputs to are (0,1,1), (0,0,1), (0,O,O), (0°1.0), and the respective outputs are (0,1) and (1,O).

(0,O)、(1,O)である。ビットP3は加算器32の合計出力であり、そ れは0である。次に、第四段の入力は(1,1,O)、(0,O,O)、(0, 1,0)、(0゜1.0)であり、それぞれの出力は(0,1)、(0,O)。(0, O), (1, O). Bit P3 is the sum output of adder 32; is 0. Next, the inputs of the fourth stage are (1, 1, O), (0, O, O), (0, 1,0), (0°1.0), and the respective outputs are (0,1), (0,O).

(1,0)、(1,O)である。ビットP4、加算器42の合計出力はこの例で はOである。(1,0), (1,O). In this example, bit P4, the total output of adder 42 is is O.

さらに先の例による図1の乗算器2の動作において、リプルキャリー加算器50 の最初の加算器52は入力セット(1゜Q、0)を受信し、出力(1,0)を与 える。従って、とットPsは1である。加算器54は順次に人力セラ) (0, 1゜O)を受信し、(1,0)を出力する。ビットP6は従って1である。加算 器56は(0,1,O)を受信して(1゜0)を出力し、そして加算器58は( 0,O,O)を受信して(0,O)を出力する。従ってビットP、とP8はそれ ぞれ1と0である。見れば分かるように、積p (P、 P、 Pb Ps P a P3 Pg P+ Pa )は011100100であり、それは連続する 加算とシフト技術によって前記に描かれ得られた結果と一致する。Further, in the operation of multiplier 2 of FIG. 1 according to the previous example, ripple carry adder 50 The first adder 52 receives the input set (1°Q,0) and provides an output (1,0). I can do it. Therefore, Ps is 1. The adder 54 is sequentially manually operated) (0, 1°O) and outputs (1,0). Bit P6 is therefore 1. addition The adder 56 receives (0, 1, O) and outputs (1°0), and the adder 58 receives (0, 1, O) and outputs (1°0). 0, O, O) and outputs (0, O). Therefore bits P, and P8 are They are 1 and 0, respectively. As you can see, the product p (P, P, Pb Ps P a P3 Pg P+ Pa ) is 011100100, which is continuous Consistent with the results drawn above and obtained by the addition and shift technique.

図2は全加算器の例を示している。この例において、全加算器は二つのXORゲ ート60と62、二つのANDゲート64と66そしてORゲート68の結合に よって与えられる。FIG. 2 shows an example of a full adder. In this example, the full adder consists of two XOR gates. The combination of gates 60 and 62, two AND gates 64 and 66, and OR gate 68 Therefore, it is given.

ビットXi とYlと入力キャリービットC8の合計はXi+Yi +Ci =  (Xi +Yi )+Ci のように表現できる。従って、とフトX1とY工 は最初のXORゲート60の入力ゲートに与えられる。XORゲート60の出力 はXORゲート62の入力端子に与えられ、それは第二の入力としてビットC1 を受信する。XORゲート62の出力は入力ビットの合計を表す。The sum of bits Xi and Yl and input carry bit C8 is Xi + Yi + Ci = It can be expressed as (Xi + Yi) + Ci. Therefore, toft X1 and Y is applied to the input gate of the first XOR gate 60. Output of XOR gate 60 is applied to the input terminal of the XOR gate 62, which receives bit C1 as the second input. receive. The output of XOR gate 62 represents the sum of the input bits.

さらに図2に関して、キャリー出力はci+l =xi y、 +Xi Ci  +Yi C4として表現されてもよいと理解されるべきである。プール代数の規 則によりこの表現を操作することで、キャリー出力はC1゜r =X4 Y6  + (XH+ Y4 ) C4と表現できる。従って、図2のシステムにおいて 、ビットX8 とYiはANDゲート64の入力端子に与えられる。ANDゲー ト66は結果としての表現(Xi +Yi )Ciを作り出すためにXORゲー )60の出力と入力キャリービットC1に接続される入力端子を有する。最後に 、出力キャリービットC84,を作りだすためにANDゲート64とANDゲー ト66の出力はORゲート68の入力端子に接続される。Furthermore, regarding FIG. 2, the carry output is ci+l = xi y, +Xi Ci It should be understood that it may be expressed as +Yi C4. Rules for pool algebra By manipulating this expression according to the rule, the carry output is C1゜r =X4 Y6  It can be expressed as + (XH+Y4)C4. Therefore, in the system of Figure 2 , bits X8 and Yi are applied to the input terminals of AND gate 64. AND game 66 performs an XOR game to produce the resulting representation (Xi + Yi)Ci. ) 60 and an input terminal connected to the input carry bit C1. lastly , and the AND gate 64 to produce the output carry bit C84. The output of gate 66 is connected to the input terminal of OR gate 68.

再び図1を参照して、全加算器12,14.16そして18は各々の0に設定さ れた一つの入力をもつことが分かる。Referring again to FIG. 1, full adders 12, 14, 16 and 18 are each set to 0. It can be seen that it has one input.

これは各々の全加算器の初段が回路を最小化するために半加算器回路段で置き換 えられることを許す。適合する半加算器回路の例が図3に示されている。描かれ ている半加算器回路はXORゲー)70とANDゲート72を含み、各々は受信 入力ピッ)X= とYiに接続される入力端子を有する。XORゲート70は合 計出力Si =Xi +Yiを決定し、ANDゲート72は出力キャリ−C3゜ 、=Xi Y、を決定する。This means that the first stage of each full adder is replaced by a half adder stage to minimize the circuit. Allow yourself to be given. An example of a suitable half-adder circuit is shown in FIG. drawn The half-adder circuit includes an XOR gate 70 and an AND gate 72, each with a receiving It has an input terminal connected to input pin) X= and Yi. XOR gate 70 The total output Si = Xi + Yi is determined, and the AND gate 72 outputs carry -C3゜ , =Xi Y, is determined.

実際には、図1に描かれているようなキャリーセイブアレー乗算器2は比較的早 く二つの数AとBの積を発生可能である。別の言葉で言えば、そのような回路は クロックサイクルの関連で表される比較的少ない潜伏をもつ。しかしながら、そ のような回路はまた、新たな組の数の乗Wが開始できる前に、−組の数を完全に 処理しなければならないという事実で特徴づけられている。さらに特に言えば、 図1の乗算器2は積Pの最高位ピッ)Pgが決定される前に、少なくとも加算器 12からのキャリービットが加算器22,32,42,52.54.56そして 58を通って完全に伝達されるべく待たねばならない。そして、まさにその時、 乗算器は掛は合わされる他の組の数の処理を開始できる。従って、いかなる与え られた対の数を掛は合わせる点で高速であるにもかかわらず、図1の乗算器2の 出力周期は与えられた時間間隔で乗算可能な異なる数の数に関して比較的遅い。In practice, the carry-save array multiplier 2 as depicted in Figure 1 is relatively fast. It is possible to generate the product of two numbers A and B. In other words, such a circuit It has relatively little latency expressed in terms of clock cycles. However, that A circuit like It is characterized by the fact that it must be processed. More specifically, The multiplier 2 in FIG. The carry bits from 12 are added to adders 22, 32, 42, 52, 54, 56 and 58 for complete transmission. And at that very moment, The multiplier can begin processing other sets of numbers that are multiplied together. Therefore, any given Although it is fast in terms of combining the number of pairs obtained, multiplier 2 in Fig. The output period is relatively slow with respect to the number of different numbers that can be multiplied in a given time interval.

さらに、図1の回路の全体効率は回路の個々の全加算器が処理サイクルのほとん どの期間中アイドルであることから低いと言うことができる。Furthermore, the overall efficiency of the circuit in Figure 1 is such that each full adder in the circuit consumes most of the processing cycles. It can be said that it is low from being an idol for any period of time.

図1の乗算器2のような多段データバス素子の出力周期を増加するために、バイ ブライン段がこれらの段の一つ又はそれ以上の間に挿入可能である。これらのパ イプライン段は本質的に先の機能段によって生じた部分的な結果を記憶する記憶 レジスタである。また、乗算器において、パイプライン段は後の加算段で処理す るために乗数と被乗数を記憶するのに使用可能である。その最も簡易な実行にお いては、パイプライン段は普通二から四のDタイプフリップフロップから構成さ れ、そこでは各々のフリップフロップは次段に対する一つの入力ビットと同様に 先の加算段からの一つの出力ビットを一時的に記憶するように機能する。乗算器 のような多段データバス素子においてパイプライン段を挿入する利点は加算段が その部分的な積をパイプライン段へ転送した後、加算段が他の組の数を処理する ように与えられることである。In order to increase the output period of a multi-stage data bus element such as multiplier 2 in FIG. A brine stage can be inserted between one or more of these stages. These parameters The iline stage is essentially a memory that stores the partial results produced by the previous functional stage. It is a register. Also, in a multiplier, the pipeline stage is processed by the later addition stage. It can be used to store multipliers and multiplicands in order to The simplest implementation In this case, the pipeline stage usually consists of two to four D-type flip-flops. , where each flip-flop is equivalent to one input bit to the next stage. It functions to temporarily store one output bit from the previous summing stage. multiplier The advantage of inserting pipeline stages in multi-stage data bus devices such as After forwarding the partial product to the pipeline stage, the adder stage processes the other set of numbers. It is given as such.

図4はその加算段の間に挿入されたパイプライン段を有するキャリーセイブアレ ー乗算器を示す。簡易化のために、乗算器の最初のユニの段だけが示されている 。パイプライン段の使用によって、図4の乗算器は高出力周期を提供可能である 。なぜならば、乗算器はそれが最初の対の数の処理が完了する前に、第二の対の 数の処理を開始できるからである。パイプライン段はしかしながら、それを通し て部分的な積が乗算器内を伝達しなければならない段数を増加する。従って、こ の連結で、乗算器のような算術ユニットにおいて、各々の加算段の間にパイプラ イン段を挿入することは必ずしも要求されず又は実際的でないということが理解 されるべきである。さらに、図1の乗算器において異なる加算段を通した遅延は 必ずしも同じではないということが理解されるべきである。例えば、リプルキャ リー加算器50は典型的には最初の四つの加算段のいずれか一つが行うよりもそ の処理サイクルを完了するためにより多くの時間を必要とし、よって、より大き な遅延を有する。その結果、乗算器の各々の股間にパイプライン段を配置するよ りむしろ、例えば、第二と第四の加算段の後にだけパイプライン段を配置するこ とがより実際的であるかもしれない。その場合、乗算器の動作周期は二つのパイ プライン段の間に置かれた処理段を通した最大遅延によって決定されるであろう 。この例によれば、ハードウェアの要求は、乗算器の出力周期が増加するにもか かわらず、その潜伏における増加を最小化する限りにおいて減じられるであろう 。Figure 4 shows a carry save array with a pipeline stage inserted between its adder stages. – indicates a multiplier. For simplicity, only the first uni stage of the multiplier is shown. . Through the use of pipeline stages, the multiplier of Figure 4 can provide high output cycles. . This is because the multiplier processes the second pair of numbers before it finishes processing the first pair of numbers. This is because you can start processing numbers. The pipeline stage, however, This increases the number of stages that partial products must be passed through the multiplier. Therefore, this In an arithmetic unit such as a multiplier, there is a pipeline between each addition stage. It is understood that it is not always required or practical to insert an in stage. It should be. Furthermore, the delay through the different summing stages in the multiplier of Fig. 1 is It should be understood that they are not necessarily the same. For example, ripple cap Lee adder 50 typically performs more processing than any one of the first four adder stages. requires more time to complete the processing cycle and is therefore larger. has a long delay. As a result, a pipeline stage is placed between each crotch of the multiplier. Rather, for example, it is possible to place pipeline stages only after the second and fourth adder stages. may be more practical. In that case, the operating period of the multiplier is will be determined by the maximum delay through the processing stages placed between the pline stages. . According to this example, the hardware requirements increase even as the multiplier output period increases. However, it will be reduced to the extent that the increase in latency is minimized. .

図1と4の乗算器のような多段素子に付加されることを要求する最小の、又はほ ぼ最小のバイブライン段数を決定するために、素子の個々の段を通した遅延を決 定する必要がある。The smallest or almost Determine the delay through the individual stages of the element to determine the minimum number of Vibration stages. It is necessary to define

これらの遅延を推定する一つの方法はゲートレベル(すなわち、ゲートごとに) で素子をモデル化することによる。ゲートレベルのモデル化方法によれば、デー タバス素子はそれらの構成部分と関連した個々のゲートと考えられ、各々は関連 する遅延を有し、そしてパスにそって全ゲートを通した遅延の合計はデータバス 素子全体の遅延の推定を与える。例えば、図2の全加算器を通した遅延は二つの XORゲート60と62から成るバスにそって遅延を合計することによって推定 可能である。しかしながら、遅延をモデル化するゲートレベルのアプローチは常 に有効ではない。その方法論には非効率性が存在し、なぜならば、並列データバ スを有する素子において、ゲートは素子全体の最大遅延を変えることなくしばし ば除去され得るからである。さらに、ゲートレベルのモデル化は一般に時間がか かり、そして推定が強すぎる。そのような欠点のために、ゲートレベルのモデル 化は大抵の状況において非実際的であると考えられている。One way to estimate these delays is at the gate level (i.e. per gate) By modeling the element with. According to the gate-level modeling method, the data Tabas elements can be thought of as individual gates associated with their component parts, each with an associated and the sum of the delays through all gates along the path is Gives an estimate of the overall element delay. For example, the delay through the full adder in Figure 2 is Estimated by summing the delays along the bus consisting of XOR gates 60 and 62 It is possible. However, gate-level approaches to modeling delays are always is not valid. There are inefficiencies in that methodology because parallel data In devices with This is because they can be removed. Additionally, gate-level modeling is typically time-consuming. However, the estimation is too strong. Due to such drawbacks, gate-level models is considered impractical in most situations.

データバスを通した遅延を推定する他の知られた方法はデータバス素子単位の遅 延をモデル化することによる。しかしながら、そのような素子レベルのモデル化 はパイプライン段がデータバスの素子へ付加された時にデータバスのタイミング が変化するかどうかを示すことができないという欠点を有する。さらに、素子レ ベルのモデル化はパイプライン段がデータバスのサイクル時間を減するように付 加されるよう、素子における位置を示さない。Other known methods of estimating delay through a data bus include the delay per data bus element. By modeling the spread. However, such device-level modeling is the timing of the data bus when pipeline stages are added to the data bus elements. It has the disadvantage that it cannot show whether or not it changes. Furthermore, the element The Bell modeling is done by adding pipeline stages to reduce the cycle time of the data bus. The location in the element is not shown so that it may be added.

従って、モデル化の方法は多段データバス素子の個々の段で遭遇する遅延を推定 するのに要求される。この要求に連合する一つのモデル化の方法では、データバ ス素子段を通した遅延はデータバス素子段と通信するビット数により関数関係に よってモデル化が可能である。例えば、一つの特に適合可能なモデル化方程式は 、 Da = Db Nb + C(1) である、ここでDlは段遅延、Dbはデータバス素子のビット数に比例する遅延 、N1はデータバス素子のビット数、そしてCはデータバスのビット数には依存 しない遅延を表す定数である。ビットに関する動作が他のビット動作に依存しな い段にとりで、Dbはゼロに等しい。Therefore, modeling methods estimate the delays encountered at individual stages of a multistage data bus element. required to do. One modeling approach that aligns with this requirement is to The delay through the data bus element stage is a function of the number of bits communicating with the data bus element stage. Therefore, modeling is possible. For example, one particularly adaptable modeling equation is , Da = Db Nb + C (1) , where Dl is the stage delay and Db is the delay proportional to the number of bits of the data bus element. , N1 is the number of bits of the data bus element, and C depends on the number of bits of the data bus. is a constant representing the delay that does not occur. Bit operations do not depend on other bit operations. In all cases, Db is equal to zero.

先の方程式(1)は加算器、ALUそして乗算器素子に典型的に見られるような りプルキャリー加IE器に容易に適用可能である。そのような加算器は素子内部 の通信から生じる遅延を有し、従って、それはデータバス素子のビット数に比例 するものとして推定可能である。他方では、変化せず又は信号と通信しない素子 の構成部分はデータバスのビット数に比例する遅延をもたない。従って、ビット −非依存遅延の素子の構成部分に対して、パラメータDbはゼロに設定可能であ 遅延の推定に対して方程式(1)の、使用を示すために、多段データバス素子を 通した図5が参照される。図5において、NXMビットアレー乗箕器はキャリー セイブ加算器のM行とりプルキャリー加算器からなるNビット列から構成される 。Equation (1) above is similar to that typically found in adders, ALUs, and multiplier elements. It can be easily applied to multiple carry adder IEs. Such an adder is has a delay resulting from the communication of It can be estimated that On the other hand, elements that do not change or do not communicate with the signal components have no delay proportional to the number of bits on the data bus. Therefore, bit - For components of the element with independent delay, the parameter Db can be set to zero. To demonstrate the use of equation (1) for delay estimation, we construct a multistage data bus element. Reference is made to FIG. In Figure 5, the NXM bit array multiplier is a carry Consists of N bit strings consisting of M rows of save adders and pull-carry adders .

入カバソファは第一加算段の前に被乗数と乗数を一時的に記憶するために与えら れる。図5に描かれているように、入力バッフ1段はCに等しい推定された段遅 延り、を有し、各々のキャリーセイブ加算器は推定されたへの遅延を訂し、そし てリプルキャリー加算器は推定されたBN+Dの遅延を有する。An input cover sofa is provided to temporarily store the multiplicand and multiplier before the first addition stage. It will be done. As depicted in Figure 5, one input buffer stage has an estimated stage delay equal to C. each carry-save adder corrects the estimated delay and The ripple carry adder has an estimated delay of BN+D.

図5の乗算器へ方程式(1)を適用することによって、初めの四段を通した遅延 はC+3Aとしてモデル化が可能である。三つの中間段を通した遅延は3Aとし てモデル化が可能である。最後のりプルキャリー加算器を通した遅延はBN+D としてモデル化が可能である。最終的に、全体のNXMビット乗算器はAM+B N十〇十りの全体として推定された遅延をゆうするものとしてモデル化が可能で あり、そこでAはキャリーセイプ加算器を通した一定遅延、Bはリプルキャリー 加算器に対するビット当たりの遅延、Cは入力バッファ遅延、そしてDはリプル キャリー加算器の一定遅延である。By applying equation (1) to the multiplier in Figure 5, the delay through the first four stages can be can be modeled as C+3A. The delay through the three intermediate stages is 3A. It is possible to model the The delay through the last pull-carry adder is BN+D It can be modeled as Finally, the entire NXM bit multiplier is AM+B It can be modeled as a delay estimated as a whole of N100. , where A is a constant delay through a carry-save adder and B is a ripple carry per bit delay for the adder, C is the input buffer delay, and D is the ripple This is the constant delay of the carry adder.

図6においては、三つのキャリーセイブ加算器ごとの後にパイプライン段がある ように挿入されたパイプライン段を有する図5の乗算器から成る多段データバス 素子が示されている。従って、修正された乗算器は3A+Cの遅延ををする複数 のセグメントとBN+Dの遅延を有する最終セグメント(すなわち、リプルキャ リー加算段)を含む。各々の加算段は特定のセグメントにより処理するための被 乗数と乗数を記憶するために付加的な入カバンファを必要とすることは注意され るべきである。また、指示された場所に挿入されたパイプライン段により、乗算 器の最小サイクル時間はパイプライン段に3A+CとBN+Dの最大値を加えた ものによりもたらされる合計の遅延であろう。In Figure 6, there is a pipeline stage after every three carry-save adders. A multistage data bus consisting of the multiplier of FIG. 5 with pipeline stages inserted as follows. elements are shown. Therefore, the modified multiplier has a delay of 3A+C. segment and the final segment with a delay of BN+D (i.e. ripple cap) including a Lee adder stage). Each summing stage has a target for processing by a particular segment. Note that it requires an additional input buffer to store the multiplier and the multiplier. Should. Also, a pipeline stage inserted at the indicated location allows the multiplication The minimum cycle time of the device is the maximum value of 3A+C and BN+D added to the pipeline stage. The total delay caused by

ここでは前述のモデル化技術は、多段データバス素子が一般に反復の多い論理セ ルを含むという事実を反映しているということが理解できる。この反復を理解す ることにより、モデル化技術は、ゲートレベルモデル化より比較的少ない処理時 間や計算容量を要求するにもかかわらず、パイプライン段配置を決定するための 十分な詳細を提供する。Here, the modeling techniques described above demonstrate that multistage data bus elements are typically It can be understood that this reflects the fact that it includes files. Understand this repetition By doing so, the modeling technique requires relatively less processing time than gate-level modeling. for determining pipeline stage placement, despite requiring time and computational capacity. Provide sufficient details.

多段データバス素子にパイプライン段を挿入するためのより一般化された技術は 図7と関連して議論される。この技術は、例えば、自動化された集積回路設計シ ステムに組み入れられてもよい。A more generalized technique for inserting pipeline stages into multistage data bus devices is Discussed in conjunction with FIG. This technology can be used, for example, in automated integrated circuit design systems. It may also be incorporated into the stem.

図7に表で示された処理の最初のステップは最大の望みの遅延DHを選択するこ とである。この遅延は普通、データバス素子の望ましい動作周期の逆関数に程等 しく、例えば、データバスの他の機能素子の動作周期によって決定されるかもし れない。初めは、素子段カウンタ■がゼロに初期化され、そして累積遅延変数D Tはゼロに設定される。The first step in the process, tabulated in Figure 7, is to select the maximum desired delay DH. That is. This delay is typically approximately equal to the inverse of the desired operating period of the data bus elements. may be determined, for example, by the operating period of other functional elements of the data bus. Not possible. Initially, the element stage counter ■ is initialized to zero, and the cumulative delay variable D T is set to zero.

図7に表で示される処理の次のステップは初めに指示された素子段に関連する遅 延を計算することである。実際には、初めに指示された段は普通、分析される素 子の最後のデータ処理段でる。指示段に対して、計算された段遅延、Dlはそれ から最大遅延り、と比較される。もし初めの指示段の遅延り、が最大遅延Dsよ り大きいならば、最大遅延DHは個々の段遅延に等しい値にリセットされ、処理 が再び開始される。The next step in the process, tabulated in FIG. It is to calculate the extension. In practice, the first indicated column is usually the element being analyzed. The child's final data processing stage appears. For the indicated stage, the calculated stage delay, Dl, is that The maximum delay is compared to . If the delay of the first indicator stage is the maximum delay Ds, If the delay is larger, the maximum delay DH is reset to a value equal to the individual stage delay and the processing is started again.

そうでなければ、全体の累積遅延D7は素子の次の近接段の段遅延時間によって 増加される。増加された全体遅延Dアはそれから最大遅延時間り、と比較される 。もし値Dアが値Dイより少なければ、段カウンタはインクリメントされ、そし て遅延は次段に対して計算される。Otherwise, the total cumulative delay D7 is determined by the stage delay time of the next adjacent stage of the element. will be increased. The increased overall delay D is then compared to the maximum delay time D . If the value D is less than the value D, the stage counter is incremented and delay is calculated for the next stage.

実際に、図7に表で示された処理は、データバス素子段がその加算が累積遅延D アに最大遅延Dイを越えることが確認されるまで続けられる。その時、パイプラ イン段は確認された段の前に挿入され、累積遅延D↑は確認された段の遅延に付 加されたバイブライン段本来の遅延を加えたものに等しく設定される。(初めの 指示段が最終データフロ一段である多段素子を通ったデータフローに関して、パ イプライン段は累積遅延Dアが最大遅延D9を越える段から“下流へ”挿入され るであろう。)それから、段カウンタはインクリメントされ、そして処理は次段 の素子を考察し、続けられる。処理はデータバス素子の個々の段の各々を通して 上述の方法で進行する。In fact, the process shown in the table in FIG. This continues until it is confirmed that A exceeds the maximum delay D. At that time, the piper The in stage is inserted before the verified stage, and the cumulative delay D↑ is attached to the delay of the verified stage. set equal to the added vibline stage's inherent delay. (first For data flow through a multi-stage element where the instruction stage is the final data flow stage, the package The pipeline stage is inserted “downstream” from the stage where the cumulative delay Da exceeds the maximum delay D9. There will be. ) Then the stage counter is incremented and processing continues on to the next stage. We can continue by considering the elements of Processing is performed through each individual stage of data bus elements. Proceed as described above.

この連結で、上述の処理の基本は多段データバス素子を通した累積遅延が逐次計 算され、そして考慮される段が望みの最大遅延より大きな累積遅延となった時は いつでも、パイプライン段が素子内に挿入されるということで理解される。この ようにして、パイプライン段は最大又はほぼ最大の互いからの距離で配置される 。上述の処理の結果、従って、その潜伏の増加を最小に抑えながら多段データバ ス素子の動作周期を増加することになる。With this concatenation, the basis of the above processing is that the cumulative delay through the multi-stage data bus elements is sequentially calculated. When the stage being calculated and considered has a cumulative delay greater than the desired maximum delay, It is understood that at any time a pipeline stage is inserted within a device. this such that the pipeline stages are arranged at a maximum or near maximum distance from each other. . As a result of the above processing, a multi-stage data base can therefore be created with minimal increase in its latency. This increases the operating cycle of the element.

実際には、最初に指示された素子段に関連する最大遅延Dイはデータフローに関 して指示段の前後にある独立した素子を通した遅延を付加的に反映する。(そこ では、初めに指示された素子段は素子の最終データ処理段であり、独立した素子 はデータフローに関して初めの指示素子に従うものであり、その一方において、 初めに指示された素子段はその最初のデータ処理段であり、独立した素子は初め の指示素子に先行するものである。)さらに前述の処理の実行において、セット アツプ及び素子のいかなるパイプライン段の遅延と同様ニ出力遅延時間が考慮さ れなければならない。そのよなパイプライン段には分析の結果として素子に加え られたものと同様に前述の分析に先立って素子に属するものが含まれる。In practice, the maximum delay D associated with the first designated element stage is related to data flow. to additionally reflect delays through independent elements before and after the indicator stage. (There In this case, the first specified element stage is the final data processing stage of the element, and is an independent element stage. follows the first pointing element in terms of data flow, while The first commanded element stage is its first data processing stage, and the independent element first It precedes the indicating element. ) Furthermore, in performing the above processing, the set The output delay time is taken into account as well as the delay of any pipeline stages of the output and device. must be In such a pipeline stage, elements are added as a result of the analysis. Includes those belonging to the element prior to the above analysis as well as those that were previously analyzed.

バイブライン、本発明の実施例そして作用が先の明細で述べらているが、この中 で保護が意図される発明は特定の開示された形式に限定されるものとして構成は されていない。むしろ、開示された形式は限定というよりも例示として認識され るべきである。これらの技術分野における当業者は変種と変更が本発明の精神と 概念から離れることなく行われてもよいということを理解するであろう。The Vibrine, embodiments and operation of the present invention are described in the foregoing specification; The inventions intended to be protected are limited to the specific disclosed form. It has not been. Rather, the disclosed form is to be regarded as illustrative rather than limiting. Should. Those skilled in the art will appreciate that variations and modifications are within the spirit of the invention. It will be understood that it may be done without departing from the concept.

偽 ′占 −、t、、、L、 a、ζ 特表千4−502677 (7) 補正書の翻訳文提出書 (特許法第184条の8) 平成3年7月IC;日False 'fortune -, t, , L, a, ζ Special Table Sen4-502677 (7) Submission of translation of written amendment (Article 184-8 of the Patent Law) July 1991 IC; Sun

Claims (5)

【特許請求の範囲】[Claims] 1.多段データパス素子にパイプライン段を配置する方法であって、 a)データパス素子の各々の機能段に対して、段内部のビット間の通信と関連し た遅延、データパス素子内のビット数、そして定数を反映した推定遅延時間を決 定すること、b)推定された段遅延によりパイプライン段配置の位置を決定する こと、そして c)決定した位置にパイプライン段を置くこと、のステップから構成されること を特徴とする方法。1. A method of arranging pipeline stages in a multi-stage datapath element, the method comprising: a) For each functional stage of the datapath element, the information associated with communication between bits within the stage; Determine the estimated delay time, which reflects the delay, the number of bits in the datapath elements, and a constant. b) determining the location of the pipeline stage placement according to the estimated stage delay; That, and c) placing the pipeline stage at the determined position; A method characterized by: 2.多段データパス素子にパイプライン段を配置する方法であって、 a)データパス素子の各々の機能段に対して、実質的に以下の方程式による推定 遅延時間を決定すること、すなわちDs=DbNb+C ここで、Dsは推定段遅延、Dbは段内部のビット間の通信に関連する遅延、N bはデータパス素子内のビット数、そしてCは定数であり、 b)該推定段遅延によりパイプライン段配置の位置を計算すること、そして c)該位置にパイプライン段を置くこと、のステップから構成されることを特徴 とする方法。2. A method of arranging pipeline stages in a multi-stage datapath element, the method comprising: a) For each functional stage of the datapath element, estimation by substantially the following equation: Determining the delay time, i.e. Ds=DbNb+C where Ds is the estimated stage delay, Db is the delay associated with communication between bits within the stage, and N b is the number of bits in the datapath element, and C is a constant; b) calculating a position of a pipeline stage arrangement according to the estimated stage delay; and c) placing a pipeline stage at the location. How to do it. 3.パイプライン段配電の位置は該推定段遅延とデータパス素子のために選択さ れた動作周期とにより計算されることを特徴とする請求項2記載の方法。3. The location of the pipeline stage power distribution is selected for the estimated stage delay and datapath elements. 3. The method according to claim 2, wherein the calculation is performed based on the calculated operating period. 4.Dbはビットに関する動作が他のビットに関する動作に依存しない素子段に 対してゼロに等しく設定されることを特徴とする請求項3記載の方法。4. Db is an element stage where the operation regarding a bit does not depend on the operation regarding other bits. 4. A method according to claim 3, characterized in that the method is set equal to zero. 5.多段データパス素子はリプルキャリー加算段が後に続く複数の一次元キャリ ーセイブ加算段を含むキャリーセイブアレー乗算器であることを特徴とする請求 項3記載の方法。5. A multi-stage datapath element consists of multiple one-dimensional carries followed by a ripple-carry adder stage. - A carry-save array multiplier including a save adder stage. The method described in Section 3.
JP2503093A 1989-01-13 1990-01-12 How to analyze data path elements Pending JPH04502677A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US29705789A 1989-01-13 1989-01-13
US297,057 1989-01-13

Publications (1)

Publication Number Publication Date
JPH04502677A true JPH04502677A (en) 1992-05-14

Family

ID=23144674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2503093A Pending JPH04502677A (en) 1989-01-13 1990-01-12 How to analyze data path elements

Country Status (4)

Country Link
JP (1) JPH04502677A (en)
DE (1) DE4090021T (en)
GB (1) GB2244829B (en)
WO (1) WO1990008362A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141148A (en) * 1993-11-16 1995-06-02 Kanebo Ltd Pipeline parallel multiplier

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519626A (en) * 1993-07-09 1996-05-21 Hewlett-Packard Company Method of dividing a pipelined stage into two stages in a computer-aided design system
US9110689B2 (en) 2012-11-19 2015-08-18 Qualcomm Technologies, Inc. Automatic pipeline stage insertion

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3875391A (en) * 1973-11-02 1975-04-01 Raytheon Co Pipeline signal processor
US4263651A (en) * 1979-05-21 1981-04-21 International Business Machines Corporation Method for determining the characteristics of a logic block graph diagram to provide an indication of path delays between the blocks
US4549280A (en) * 1982-12-20 1985-10-22 Sperry Corporation Apparatus for creating a multiplication pipeline of arbitrary size
US4736333A (en) * 1983-08-15 1988-04-05 California Institute Of Technology Electronic musical instrument
EP0197122B1 (en) * 1984-10-16 1992-08-12 The Commonwealth Of Australia A cellular floating-point serial-pipelined multiplier
JPS61114338A (en) * 1984-11-09 1986-06-02 Hitachi Ltd Multiplier
US4736335A (en) * 1984-11-13 1988-04-05 Zoran Corporation Multiplier-accumulator circuit using latched sums and carries
US4698760A (en) * 1985-06-06 1987-10-06 International Business Machines Method of optimizing signal timing delays and power consumption in LSI circuits
US4827428A (en) * 1985-11-15 1989-05-02 American Telephone And Telegraph Company, At&T Bell Laboratories Transistor sizing system for integrated circuits
US4811260A (en) * 1986-11-13 1989-03-07 Fujitsu Limited Signal processing circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07141148A (en) * 1993-11-16 1995-06-02 Kanebo Ltd Pipeline parallel multiplier

Also Published As

Publication number Publication date
GB9114332D0 (en) 1991-09-04
WO1990008362A3 (en) 1990-09-07
WO1990008362A2 (en) 1990-07-26
GB2244829B (en) 1993-01-13
GB2244829A (en) 1991-12-11
DE4090021T (en) 1991-11-21

Similar Documents

Publication Publication Date Title
Tenca et al. High-radix design of a scalable modular multiplier
Obermann et al. Division algorithms and implementations
Hartley et al. Digit-serial processing techniques
Owens et al. A VLSI chip for the Winograd/prime factor algorithm to compute the discrete Fourier transform
US5133069A (en) Technique for placement of pipelining stages in multi-stage datapath elements with an automated circuit design system
Pieper et al. Efficient Dedicated Multiplication Blocks for 2's Complement Radix-2m Array Multipliers.
WO2002008885A1 (en) HIGH-SPEED PARALLEL-PREFIX MODULO 2n-1 ADDERS
US5212782A (en) Automated method of inserting pipeline stages in a data path element to achieve a specified operating frequency
Yamamoto et al. A systematic methodology for design and analysis of approximate array multipliers
CN109284085B (en) High-speed modular multiplication and modular exponentiation operation method and device based on FPGA
JPH04502677A (en) How to analyze data path elements
Gaubatz Versatile Montgomery multiplier architectures
Madhavi et al. Implementation of programmable fir filter using dadda multiplier and parallel prefix adder
JP2007500388A (en) Long integer multiplier
Calland et al. Retiming DAGs [direct acyclic graph]
Putra et al. Optimized hardware algorithm for integer cube root calculation and its efficient architecture
Fonseca et al. Design of a radix-2m hybrid array multiplier using carry save adder format
Asad et al. Radix-8 design alternatives of fast two operands interleaved multiplication with enhanced architecture
Shrivastava et al. Implementation of Radix-2 Booth Multiplier and Comparison with Radix-4 Encoder Booth Multiplier
Samanth et al. A Novel Approach to Develop Low Power MACs for 2D Image Filtering
Gopi et al. 128 Bit unsigned multiplier design and implementation using an efficient SQRT-CSLA
Deshmukh et al. Development of concurrent architecture of vedic multiplier
Bessalah et al. Left to right serial multiplier for large numbers on FPGA
Sairam et al. FPGA Implementation of Area Efficient 16-Bit Vedic Multiplier Using Higher Order Compressors
Chang et al. Fixed-point computing element design for transcendental functions and primary operations in speech processing