b(n) a(n) y(n) + + x(n) (a) y(n) x(n) (b) b(2k) a(2k) y(2k) + + x(2k) b(2k+1) a(2k+1) y(2k+1) + + x(2k+1) (c)

Similar documents
Minimization Of Power Dissipation In Digital Circuits Using Pipelining And A Study Of Clock Gating Technique

A New Architecture for Signed Radix-2 m Pure Array Multipliers

UNIT-II LOW POWER VLSI DESIGN APPROACHES

PIPELINED LATTICE AND WAVE DIGITAL RECURSIVE FILTERS

An Optimized Wallace Tree Multiplier using Parallel Prefix Han-Carlson Adder for DSP Processors

Computer Arithmetic (2)

Multiple Constant Multiplication for Digit-Serial Implementation of Low Power FIR Filters

Novel Low-Overhead Operand Isolation Techniques for Low-Power Datapath Synthesis

L15: VLSI Integration and Performance Transformations

High Speed Vedic Multiplier Designs Using Novel Carry Select Adder

Innovative Approach Architecture Designed For Realizing Fixed Point Least Mean Square Adaptive Filter with Less Adaptation Delay

IJMIE Volume 2, Issue 5 ISSN:

A Survey on Power Reduction Techniques in FIR Filter

CHAPTER 3 ANALYSIS OF LOW POWER, AREA EFFICIENT AND HIGH SPEED ADDER TOPOLOGIES

International Journal of Advanced Research in Computer Science and Software Engineering

Lecture 3. FIR Design and Decision Feedback Equalization

Digital Integrated CircuitDesign

Low Power VLSI CMOS Design. An Image Processing Chip for RGB to HSI Conversion

Implementation of Parallel Multiplier-Accumulator using Radix- 2 Modified Booth Algorithm and SPST

VLSI DESIGN OF DIGIT-SERIAL FPGA ARCHITECTURE

Low-Power Multipliers with Data Wordlength Reduction

Lecture 3. FIR Design and Decision Feedback Equalization

An Efficient Design of Parallel Pipelined FFT Architecture

Integration of Optimized GDI Logic based NOR Gate and Half Adder into PASTA for Low Power & Low Area Applications

To appear in IEEE International Solid-State Circuits Conference (ISSCC) Digest of Technical Papers, San Francisco, February 2002.

DIGIT SERIAL PROCESSING ELEMENTS. Bit-Serial Multiplication. Digit-serial arithmetic processes one digit of size d in each time step.

[Krishna, 2(9): September, 2013] ISSN: Impact Factor: INTERNATIONAL JOURNAL OF ENGINEERING SCIENCES & RESEARCH TECHNOLOGY

Low-Power Digital CMOS Design: A Survey

Design and Implementation of High Speed Carry Select Adder

A Low-Power High-speed Pipelined Accumulator Design Using CMOS Logic for DSP Applications

A Survey of the Low Power Design Techniques at the Circuit Level

A New network multiplier using modified high order encoder and optimized hybrid adder in CMOS technology

L15: VLSI Integration and Performance Transformations

Efficient FIR Filter Design Using Modified Carry Select Adder & Wallace Tree Multiplier

Design and Implementation of 64-bit MAC Unit for DSP Applications using verilog HDL

The Comparative Study of FPGA based FIR Filter Design Using Optimized Convolution Method and Overlap Save Method

TECHNOLOGY scaling, aided by innovative circuit techniques,

Design of a Power Optimal Reversible FIR Filter ASIC Speech Signal Processing

International Journal of Engineering Research-Online A Peer Reviewed International Journal Articles available online

High-Throughput and Low-Power Architectures for Reed Solomon Decoder

Index Terms. Adaptive filters, Reconfigurable filter, circuit optimization, fixed-point arithmetic, least mean square (LMS) algorithms. 1.

Design of a High Speed FIR Filter on FPGA by Using DA-OBC Algorithm

EE241 - Spring 2004 Advanced Digital Integrated Circuits. Announcements. Borivoje Nikolic. Lecture 15 Low-Power Design: Supply Voltage Scaling

Sno Projects List IEEE. High - Throughput Finite Field Multipliers Using Redundant Basis For FPGA And ASIC Implementations

A Comparative Study on Direct form -1, Broadcast and Fine grain structure of FIR digital filter

A High Speed Low Power Adder in Multi Output Domino Logic

Power-conscious High Level Synthesis Using Loop Folding

Design and FPGA Implementation of High-speed Parallel FIR Filters

6. DSP Blocks in Stratix II and Stratix II GX Devices

JDT EFFECTIVE METHOD FOR IMPLEMENTATION OF WALLACE TREE MULTIPLIER USING FAST ADDERS

Implementation of High Performance Carry Save Adder Using Domino Logic

EECS150 - Digital Design Lecture 2 - Synchronous Digital Systems Review Part 1. Outline

International Journal of Scientific & Engineering Research, Volume 4, Issue 5, May ISSN

Data Word Length Reduction for Low-Power DSP Software

10. DSP Blocks in Arria GX Devices

An Optimized Implementation of CSLA and CLLA for 32-bit Unsigned Multiplier Using Verilog

ASIC Design and Implementation of SPST in FIR Filter

A Review on Different Multiplier Techniques

HIGH PERFORMANCE BAUGH WOOLEY MULTIPLIER USING CARRY SKIP ADDER STRUCTURE

AREA AND DELAY EFFICIENT DESIGN FOR PARALLEL PREFIX FINITE FIELD MULTIPLIER

Arithmetic Structures for Inner-Product and Other Computations Based on a Latency-Free Bit-Serial Multiplier Design

Towards PVT-Tolerant Glitch-Free Operation in FPGAs

The Metrics and Designs of an Arithmetic Logic Function over

Vector Arithmetic Logic Unit Amit Kumar Dutta JIS College of Engineering, Kalyani, WB, India

A New High Speed Low Power Performance of 8- Bit Parallel Multiplier-Accumulator Using Modified Radix-2 Booth Encoded Algorithm

High Speed IIR Notch Filter Using Pipelined Technique

Reduced Swing Domino Techniques for Low Power and High Performance Arithmetic Circuits

Area Efficient and Low Power Reconfiurable Fir Filter

Fan in: The number of inputs of a logic gate can handle.

AREA AND POWER EFFICIENT CARRY SELECT ADDER USING BRENT KUNG ARCHITECTURE

AN EFFICIENT MAC DESIGN IN DIGITAL FILTERS

An Analysis of Multipliers in a New Binary System

Design & Analysis of Low Power Full Adder

High Performance Low-Power Signed Multiplier

High Speed, Low power and Area Efficient Processor Design Using Square Root Carry Select Adder

DIGITAL INTEGRATED CIRCUITS A DESIGN PERSPECTIVE 2 N D E D I T I O N

International Journal of Modern Trends in Engineering and Research

Trade-Offs in Multiplier Block Algorithms for Low Power Digit-Serial FIR Filters

Course Content. Course Content. Course Format. Low Power VLSI System Design Lecture 1: Introduction. Course focus

METHODS FOR TRUE ENERGY- PERFORMANCE OPTIMIZATION. Naga Harika Chinta

Multi-Channel FIR Filters

Design of Low Power and High Speed Digital IIR Filter in 45nm with Optimized CSA for Digital Signal Processing Applications

Energy Reduction of Ultra-Low Voltage VLSI Circuits by Digit-Serial Architectures

Keywords: Adaptive filtering, LMS algorithm, Noise cancellation, VHDL Design, Signal to noise ratio (SNR), Convergence Speed.

A Highly Efficient Carry Select Adder

Design and Implementation of High Speed Carry Select Adder Korrapatti Mohammed Ghouse 1 K.Bala. 2

Performance Analysis of an Efficient Reconfigurable Multiplier for Multirate Systems

Low-Power CMOS VLSI Design

Design and Characterization of 16 Bit Multiplier Accumulator Based on Radix-2 Modified Booth Algorithm

DESIGN OF CARRY SELECT ADDER WITH REDUCED AREA AND POWER

Low Power FIR Filter Structure Design Using Reversible Logic Gates for Speech Signal Processing

An area optimized FIR Digital filter using DA Algorithm based on FPGA

A Multiplexer-Based Digital Passive Linear Counter (PLINCO)

IJMIE Volume 2, Issue 3 ISSN:

Design and Performance Analysis of a Reconfigurable Fir Filter

Mohit Arora. The Art of Hardware Architecture. Design Methods and Techniques. for Digital Circuits. Springer

EECS 427 Lecture 22: Low and Multiple-Vdd Design

High Speed Binary Counters Based on Wallace Tree Multiplier in VHDL

Design of a Power Optimal Reversible FIR Filter for Speech Signal Processing

A Hardware Efficient FIR Filter for Wireless Sensor Networks

Transcription:

S-38.220 Postgraduate Course on Signal Processing in Communications, FALL-99 Pipelining and Parallel Processing Carl Eklund Nokia Research Center P.O. Bo 407 FIN-00045 Nokia Group E-Mail: carl.eklund@nokia.com October 13, 1999

Abstract This paper presents the techniques of pipelining and and parallel processing. Both methods are commonly used for increasing performance in digital designs. Pipelining introduces latches on the data path thus reducing the critical path. This allows higher clock frequencies or sampling rates to be used in the circuit. In parallel processing logic units are duplicated and multiple outputs are computed in parallel. The level of parallelism directly increases the sampling rate. In addition to increasing performance both techniques can be used to reduce power dissipation.

Contents 1 Introduction 2 2 Pipelining 2 3 Parallel processing 5 4 Combining pipelining and parallel processing 6 5 Low power design 6 5.1 Power reduction through pipelining........................ 9 5.2 Power reduction through parallel processing................... 9 5.3 Combining pipelining and parallel processing.................. 10 6 Architecture efficiency 10 6.1 Efficiency of parallel architectures......................... 11 6.2 Efficiency of pipelined architectures........................ 12 7 Conclusions 13 1

(n) (n-1) (n-2) a b c y(n) Figure 1: irect form implementation of 3-tap FIR filter 1 Introduction A three-tap finite impulse response (FIR) filter is given by y(n) =a(n)b(n 1) c(n 2): (1) The direct form block diagram of the filter is shown in figure 1. From the figure it can be seen that the required to process a sample is equal to the time of a multiplication (TM) and two additions (2TA). This is the eecution time of critical path. The critical path sets a condition T sample T M 2T A (2) for the sampling period and thus the maimum sampling frequency is limited to f sample» 1 T M 2T A : (3) If this condition cannot be met the direct form structure must be discarded. The effective critical path can be reduced by introducing pipelining registers on the data path. The principle can be seen from figure 2. The eecution time of the critical path for the structure in (a) is 2T A. In (b) the same structure is shown as a 2-staged pipelined structure. A latch hs been placed between the two adders thus halving the critical path. This allows operation at a higher sampling rate. The throughput can also be increased with a completely different technique. In figure 2 (c) the hardware is duplicated so that two inputs can be processed simultaneously. This parallel processing structure doubles the sampling rate. 2 Pipelining To consider pipelining we need to introduce two definitions. efinition 1 (Cutset) A cutset is a set of edges in a graph such that removing the edges makes the graph disjoint. efinition 2 (Feed-forward cutset) A cutset is a feed-forward cutset if data move in the forward direction on all the edges of a cutset. Adding latches on a feed-forward cutset of a FIR filter leaves the functionality unchanged. In figure 4 a 2-level pipelined version of the three tap FIR filter is shown. The critical path has 2

a(n) b(n) (n) y(n) (a) a(n) b(n) (n) y(n) (b) a(2k) b(2k) (2k) y(2k) a(2k1) b(2k1) (2k1) y(2k1) (c) Figure 2: (a) A simple datapath. (b) Pipelined datapath. (c) Parallel datapath. Figure 3: A graph with two cut-sets indicated by the dashed lines 3

Clock Input Node 1 Node 2 Node 3 Output 0 (0) a(0) b( 1) 1 (1) a(1) b(0) a(0) b( 1) c( 2) y(0) 2 (2) a(2) b(1) a(1) b(0) c( 1) y(1) 3 (3) a(3) b(2) a(2) b(1) c(0) y(2) Table 1: Scedule of pipelined FIR filter in figure 4 (n) a b c 3 1 2 y(n) Figure 4: 2-level pipelined implementation of a 3-tap FIR filter. The dashed line shows the cut-set been reduced from T M 2T A to T M T A. As can be seen from table 1 the output is available only after two clock cycles as compared to one for the sequential implementation. In general the latency of M-level pipelined circuit is M 1 clock cycles more than that of the sequential circuit[1]. The throughput of the pipelined design is determined by the longest path between any 2 latches or between a latch and the in/output R T ;M ο 1 ; (4) ma i T ;i T ;latch where T ;i is the processing delay of stage i and T ;latch is the delay of the latch. In the improbable situation that all the pipeline stages are equal the throughput is given by R T ;M = R T;1 M T ;i T ;latch : (5) T ;i MT ;latch This relation is, however, instructive as it shows that the throughput for large M-no longer increases proportionally due to the delay of the pipeline latches. Pipelining can be done with any granularity. Figure 5 shows how a 4-bit ripple adder can be pipelined. Note the delay elements on the input operands and outputs due to the cut-sets. The delays on the inputs assure that the carry bit and operands arrives simultaneously to the adder cells. This technique is called pre-skewing. The delaying of some of the output bits, called de-skewing, is necessary to assure simultaneous arrival of the sum bits. Note how the cut-set method automatically and elegantly evaluates the delays required[2]. In FIR filter design the practice of partitioning arithmetic function to sub-functions with pipeline latches is sometimes referred to as fine-grain pipelining. 4

b3 a3 b2 a2 b1 a1 b0 a0 A A A A s4 s3 s2 s1 s0 Figure 5: Pipelined ripple adder. The dashed lines show the cut-sets (n) Sample period=t/3 Serial to parallel converter (3k2) (3k1) (3k) Clock=T/3 Clock=T MIMO system y(3k) y(3k1) y(3k2) Parallel to serial converter y(n) Figure 6: Parallel processing system with blocksize=3 In the previous discussion we have assumed feed-forward cut-sets. Many commonly used algorithms have feed-back loops and thus the cut-sets are not feed-forward. In the general case the rule states that positive delay elements are placed on the edges entering the set of cut-off nodes while an equal negative delay must be place on the edges leaving the set to keep functionality intact. As negative delay is impossible to implement, delay redistribution techniques beyond the scope of this paper must be employed in these cases[2]. An ecellent discussion on this topic can be found in [3, 4]. 3 Parallel processing Any system that can be pipelined can also be processed in parallel. In pipelining independent computations are eecuted in an interleaved manner, while parallel processing achieves the same using duplicate hardware. Parallel processing systems are also referred to as block processing systems. The block size indicates the number of inputs processed simultaneously. 5

(n) c b a y(n) Figure 7: ata broadcast implementation of 3-tap FIR filter A complete parallel processing system shown in figure 6 contains a serial to parallel converter (MUX ) the MIMO processing block and a parallel to serial converter(mux). The data paths in the MIMO system either work with an offset of T clk =M in a M-parallel system or the MUX and MUX must be equipped with delay units allowing simultaneous processing. The throughput of a M-parallel system is M times the throughput of the sequential system, R T;M = M R T;1: (6) It should also be noted that for a parallel processing system T clock 6= T sample whereas they are equal in a pipelined system[1, 2]. 4 Combining pipelining and parallel processing Parallel processing and pipelining can also be combined to increase throughput. Figure 7 shows the data broadcast structure of a 3-tap FIR filter. In figure 8 the 3-parallel implementation of the same filter is shown. The throughput of the parallel filter is three times that of the original filter. By introducing fine-grain pipeline registers in the multipliers we end up with the structure in figure 9. If the cutset can be placed so that the processing delays of the subcircuits are equal another factor two can be gained in the throughput[1]. 5 Low power design Pipelining and parallel processing are techniques to increase the sample speed. The same techniques can be used to lower the power consumption at a given speed. The propagation delay in a CMOS circuit is given by T pd = C chargev0 k (V0 V t ) (7) where C charge is the capacitance that is charged/discharged in a single clock cycle, i.e. the capacitance along the critical path. V0 is the supply voltage and V t the threshold voltage of the transistor. The constant k is technology dependent. The power consumption can be estimated by P = C total V0 2 f: (8) In the equation above C total is the total capacitance of the circuit and f the clock frequency. It should be noted that these equation are based on crude approimations and that the issues 6

(3k2) (3k1) (3k) a b c y(3k2) (3k-1) c a b y(3k1) (3k-2) b c a y(3k) Figure 8: 3-parallel implementation of the filter in figure 7 7

y(3k1) (3k2) (3k1) (3k) y(3k2) y(3k) (3k-1) (3k-2) Figure 9: Finegrain pipelined structure of the filter in figure 8 8

are much more comple. The low power techniques aim to lower the supply voltage and thus reducing the power consumption. It should be remembered that the noise margin puts a lower limit on the supply voltage that can be achieved. 5.1 Power reduction through pipelining Net the method of lowering power consumption by pipelining is eamined using a FIR filter as an eample. The technique is, however, also applicable in other cases. The power consumption of the non-pipelined FIR filter can be estimated using equation 8 to be P seq = C total V0 2 f: (9) The clock frequency f is determined by the processing delay of the filter. If M pipeline latches are introduced, the critical path is reduced to one Mth of the original and the capacitance to be charged/discharged per cycle is now C charge =M. The introduction of the pipelining latches increases the capacitance C total but as a first approimation this increase can be neglected. If we operate the pipelined circuit at the same frequency we note that since only fraction of the original capacitance C charge is charged/discharged per cycle the supply voltage can be reduced to fiv0 where fi is a positive constant less than 1. The power consumption of the pipelined filter is then reduced to P pip = C total (fiv0) 2 f = fi 2 P seq (10) which islower by a factor fi 2 as compared to the original implementation. The clock period is usually set to equal the maimum propagation delay in a design. Noting that both filters run at the same frequency the factor fi can be determined with the help of equation 7. Equating the propagation delays results in the equation M (fiv0 V t ) 2 = fi (V0 V t ) 2 (11) from which fi easily can be solved. The reduced power consumption of the pipelined filter can then be computed using 10[1]. The discussion above totally ignores the fact that probability of glitching is reduced in the pipelined implementation due to the smaller logical depth. Glitches are short termed charge/discharge effects that arise from non-uniform propagation times in networked combinatoric logic. Glitches can contribute significantly to the power consumption. In the case of a carry ripple adder the dissipation due to glitches can be as much as 22% of the total[5]. In general comple simulations are needed to evaluate the power consumption due to glitching[6]. 5.2 Power reduction through parallel processing Parallel processing can also be used to reduce the power consumption by allowing reduction of the supply voltage. In a L-parallel system the charging capacitance remains the same whereas the total capacitance is increased by a factor of L. The serial to parallel and parallel to serial converters required in a parallel processing system also add to capacitance and power consumption but are neglected in the following discussion. In a L-parallel system the clock period can be increased to LT seq without decreasing the sample rate. As more time is available to charge the capacitance C charge the voltage can be 9

lowered to fiv0. The propagation delay in the parallel implementation maintaining the sample rate is LT seq = C chargefiv0 k (fiv0 V t ) 2 : (12) Substituting (7) for T seq the quadratic equation L (fiv0 V t ) 2 = fi (V0 V t ) 2 (13) can be formed, from which fi can be obtained. Once fi is known the power consumption of the L-parallel system can be calculated as P par = LC charge (fiv0) 2 f L = fi 2 V 2 0 f = fi 2 P seq : (14) As with the pipelined system the power consumption of the L-parallel system has been reduced by a factor of fi 2 compared with the original system. 5.3 Combining pipelining and parallel processing Pipelining and parallel processing can be combined in low power designs. The charging capacitance is lowered by pipelining and parallelism is introduced to allow lower clock speeds. The propagation delay of the parallel pipelined filter is given by The quadratic equation LT seq = (C charge=m) fiv0 k (fiv0 V t ) 2 is obtained and again fi can be solved. 6 Architecture efficiency = LC chargev0 k (V0 V t ) 2 : (15) ML(fiV0 V t ) 2 = fi (V0 V t ) 2 (16) Architecture optimization aims at increasing the performance of a design. Throughput is the measure of performance, but measuring it is often problematic. For SP applications an obvious choice is to measure the data input and result rates. Also computational power,r C epressed in operations per unit of time is used instead of the throughput, R T. When comparing computational power the underlying word width has to be considered. Comparing an 8-bit architecture to a 32-bit architecture is like comparing apples to oranges. The clock period, T clk is a measure for both performance and throughput. The performance in terms of computational rate is given by R C = n op T clk (17) with n op being the number of operations carried out in during the clock period. The throughput is can be epressed R T = n s T clk (18) 10

f 1 MUX f 2 MUX f L Figure 10: A parallel system with L-subfunctions where n s is the number of samples input or output in the time interval T clk. This number is in samples per second and must be multiplied by the number of bits per sample to epress the value as bits per second. Often the the computational rate and the throughput are proportional R C = n op R T (19) n s and the proportionality factor gives the operations per sample. In integrated circuits the cost of a circuit is dependent of chip size. The size again is roughly proportional to the transistor count. The relationship between chip size and performance is often used to measure the efficiency of an architecture. The efficiency can thus be epressed as T = R T A C = R C A : (20) If (19) holds optimization of T and C leads to the same solution. Combining equations 18,17 and 20 we get the commonly used AT product 6.1 Efficiency of parallel architectures ο 1 AT clk : (21) Now consider the parallel implementation of the identical logic modules shown in figure 10. The efficiency will compared for various degrees of parallelism L. According to 6 the throughput increases in proportion to L. A parallel implementation also consumes additional chip 11

f 1 f 2 f M Figure 11: A pipelined system with M-stages area A a for data distribution and merging. Assuming this area is proportional to the degree of parallelism eceeding 1 the chip area is given by A L = LA1 (L 1)A a» = A1 L (L 1) A a : (22) A1 Combining equations 6 and 22 it follows that the efficiency in terms of parallelism is 1 L = 1 1 1 1 (23) Aa L A 1 From the equation it can be seen the efficiency is not improved through parallel processing if additional hardware is required, but rather worsened[2]. 6.2 Efficiency of pipelined architectures In a pipelined structure the pipeline registers affect the critical path and the delay as well as the chip size. If the logic is split into equal delay sub-functions the time dictating the throughput is T M = T 1 T reg M T reg = T 1» 1(M 1) T reg : (24) M T1 The inde now represents an implementation with one final register while inde M is for a pipelined system with M pipeline registers, shown in figure 11. The additional pipeline register take up additional space on the die. The area is A M = A1 (M 1) A reg = A1 Combining the equations the epression M = 1 h» 1 (M 1) Areg A 1 1(M 1) A reg A1 : (25) M ih i (26) 1 (M 1) Treg T 1 for the efficiency can be derived. From the result it can be seen that the efficiency increases rapidly as long as the contributions of the pipeline registers and delay are insignificant. The optimum value for M can be found to be v u 1 Areg A M opt = t 1 1 Treg T 1 A regt reg : (27) A 1 T 1 12

In general when delay and size of the logic block is significant compared to the contributions from the pipeline register the value of M opt is clearly larger than 1[2]. 7 Conclusions The techniques of pipelining and parallel processing have been discussed. Which technique to employ in a specific design depends on factors such as functionality, chip area, power consumption and compleity of the control logic. Up to certain limit pipelinging provides significant performance gains with little increase in chip area. It also reduces glitching in the circuit. Throughput beyond that acheivable by pipelining can be attained by parallel architectures. For parallel architectures the throughput scales almost linearly with chip area. 13

References [1] K.K. Parhi. VLSI digital signal processing systems: esign and Implementation, chapter 3. J. Wiley & Sons, 1999. [2] P. Pirsch. Arcitectures for digital signal processing, chapter 4. J. Wiley & Sons, 1998. [3] K.K. Parhi and.g. Messerschmitt. Pipeline interleaving and parallelism in recursive digital filters part I:pipelining using scattered look-ahead and decomposition. IEEE Transactions on acoustics, speech and signal processing, 37(7), July 1989. [4] K.K. Parhi and.g. Messerschmitt. Pipeline interleaving and parallelism in recursive digital filters part II:pipelined incremental block filtering. IEEE Transactions on acoustics, speech and signal processing, 37(7), July 1989. [5] A. Schlegel and T.G. Noll. The effects of glitches on the power dissipation of CMOScircuits. Internal report, EECS department RWTH Aachen, February 1997. [6] A. Schlegel and T.G. Noll. Entwurfsmethoden zur verringerung der schaltaktivtät bei verlustoptimierten digitale CMOS-schaltungen. In SP eutschland'95, September 1995. 14