A Low-power Pipelined Implementation of 2D Discrete Wavelet Transform

Similar documents
An MFA Binary Counter for Low Power Application

VLSI IEEE Projects Titles LeMeniz Infotech

Design of Memory Based Implementation Using LUT Multiplier

Reconfigurable FPGA Implementation of FIR Filter using Modified DA Method

ALONG with the progressive device scaling, semiconductor

Research Article Design and Implementation of High Speed and Low Power Modified Square Root Carry Select Adder (MSQRTCSLA)

Keywords Xilinx ISE, LUT, FIR System, SDR, Spectrum- Sensing, FPGA, Memory- optimization, A-OMS LUT.

Implementation of Low Power and Area Efficient Carry Select Adder

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

LUT Optimization for Memory Based Computation using Modified OMS Technique

Distributed Arithmetic Unit Design for Fir Filter

International Journal of Engineering Trends and Technology (IJETT) - Volume4 Issue8- August 2013

Memory efficient Distributed architecture LUT Design using Unified Architecture

Retiming Sequential Circuits for Low Power

OF AN ADVANCED LUT METHODOLOGY BASED FIR FILTER DESIGN PROCESS

A Low Power Delay Buffer Using Gated Driver Tree

Optimization of memory based multiplication for LUT

FPGA Implementation of DA Algritm for Fir Filter

Design and Implementation of Partial Reconfigurable Fir Filter Using Distributed Arithmetic Architecture

Hardware Implementation of Viterbi Decoder for Wireless Applications

Memory Efficient VLSI Architecture for QCIF to VGA Resolution Conversion

WINTER 15 EXAMINATION Model Answer

Use of Low Power DET Address Pointer Circuit for FIFO Memory Design

International Journal of Engineering Research-Online A Peer Reviewed International Journal

DESIGN OF HIGH PERFORMANCE, AREA EFFICIENT FIR FILTER USING CARRY SELECT ADDER

Design of a Low Power Four-Bit Binary Counter Using Enhancement Type Mosfet

An Efficient Reduction of Area in Multistandard Transform Core

A Symmetric Differential Clock Generator for Bit-Serial Hardware

Implementation of Memory Based Multiplication Using Micro wind Software

Efficient Architecture for Flexible Prescaler Using Multimodulo Prescaler

Logic Design ( Part 3) Sequential Logic- Finite State Machines (Chapter 3)

OMS Based LUT Optimization

A Fast Constant Coefficient Multiplier for the XC6200

128 BIT CARRY SELECT ADDER USING BINARY TO EXCESS-ONE CONVERTER FOR DELAY REDUCTION AND AREA EFFICIENCY

LOW POWER AND HIGH PERFORMANCE SHIFT REGISTERS USING PULSED LATCH TECHNIQUE

Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques

Read-only memory (ROM) Digital logic: ALUs Sequential logic circuits. Don't cares. Bus

This paper is a preprint of a paper accepted by Electronics Letters and is subject to Institution of Engineering and Technology Copyright.

LUT OPTIMIZATION USING COMBINED APC-OMS TECHNIQUE

VLSI Technology used in Auto-Scan Delay Testing Design For Bench Mark Circuits

Implementation and Analysis of Area Efficient Architectures for CSLA by using CLA

An optimized implementation of 128 bit carry select adder using binary to excess-one converter for delay reduction and area efficiency

Power Reduction Techniques for a Spread Spectrum Based Correlator

Hardware Modeling of Binary Coded Decimal Adder in Field Programmable Gate Array

NH 67, Karur Trichy Highways, Puliyur C.F, Karur District UNIT-III SEQUENTIAL CIRCUITS

Efficient Method for Look-Up-Table Design in Memory Based Fir Filters

Using Embedded Dynamic Random Access Memory to Reduce Energy Consumption of Magnetic Recording Read Channel

Reconfigurable Architectures. Greg Stitt ECE Department University of Florida

An Efficient High Speed Wallace Tree Multiplier

Design and Implementation of High Speed 256-Bit Modified Square Root Carry Select Adder

EN2911X: Reconfigurable Computing Topic 01: Programmable Logic. Prof. Sherief Reda School of Engineering, Brown University Fall 2014

Design and Analysis of Modified Fast Compressors for MAC Unit

PICOSECOND TIMING USING FAST ANALOG SAMPLING

THE USE OF forward error correction (FEC) in optical networks

Keywords- Discrete Wavelet Transform, Lifting Scheme, 5/3 Filter

A Parallel Area Delay Efficient Interpolation Filter Architecture

Fully Pipelined High Speed SB and MC of AES Based on FPGA

A Novel Architecture of LUT Design Optimization for DSP Applications

Asynchronous (Ripple) Counters

An Lut Adaptive Filter Using DA

PARALLEL PROCESSOR ARRAY FOR HIGH SPEED PATH PLANNING

LUT Design Using OMS Technique for Memory Based Realization of FIR Filter

Digital Phase Adjustment Scheme 0 6/3/98, Chaney. A Digital Phase Adjustment Circuit for ATM and ATM- like Data Formats. by Thomas J.

Counter dan Register

A low-power portable H.264/AVC decoder using elastic pipeline

Design & Simulation of 128x Interpolator Filter

VLSI Design: 3) Explain the various MOSFET Capacitances & their significance. 4) Draw a CMOS Inverter. Explain its transfer characteristics

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

Implementation of Area Efficient Memory-Based FIR Digital Filter Using LUT-Multiplier

V6118 EM MICROELECTRONIC - MARIN SA. 2, 4 and 8 Mutiplex LCD Driver

Further Details Contact: A. Vinay , , #301, 303 & 304,3rdFloor, AVR Buildings, Opp to SV Music College, Balaji

Single Channel LVDS Tx

High performance and Low power FIR Filter Design Based on Sharing Multiplication

Sequential Circuit Design: Part 1

CHAPTER 4 RESULTS & DISCUSSION

VLSI Based Minimized Composite S-Box and Inverse Mix Column for AES Encryption and Decryption

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Flip Flop. S-R Flip Flop. Sequential Circuits. Block diagram. Prepared by:- Anwar Bari

Combinational vs Sequential

A VLSI Architecture for Variable Block Size Video Motion Estimation

Research Article Low Power 256-bit Modified Carry Select Adder

Improved 32 bit carry select adder for low area and low power

Random Access Scan. Veeraraghavan Ramamurthy Dept. of Electrical and Computer Engineering Auburn University, Auburn, AL

DESIGN OF LOW POWER TEST PATTERN GENERATOR

Figure 1 shows a simple implementation of a clock switch, using an AND-OR type multiplexer logic.

Prototyping an ASIC with FPGAs. By Rafey Mahmud, FAE at Synplicity.

FPGA Hardware Resource Specific Optimal Design for FIR Filters

CHAPTER 6 ASYNCHRONOUS QUASI DELAY INSENSITIVE TEMPLATES (QDI) BASED VITERBI DECODER

CHAPTER 6 DESIGN OF HIGH SPEED COUNTER USING PIPELINING

2.6 Reset Design Strategy

Area and Speed Efficient Implementation of Symmetric FIR Digital Filter through Reduced Parallel LUT Decomposed DA Approach

Long and Fast Up/Down Counters Pushpinder Kaur CHOUHAN 6 th Jan, 2003

Operating Bio-Implantable Devices in Ultra-Low Power Error Correction Circuits: using optimized ACS Viterbi decoder

Design of Fault Coverage Test Pattern Generator Using LFSR

High Speed 8-bit Counters using State Excitation Logic and their Application in Frequency Divider

Hardware Implementation of Block GC3 Lossless Compression Algorithm for Direct-Write Lithography Systems

The main design objective in adder design are area, speed and power. Carry Select Adder (CSLA) is one of the fastest

Efficient 500 MHz Digital Phase Locked Loop Implementation sin 180nm CMOS Technology

Scan. This is a sample of the first 15 pages of the Scan chapter.

ECE321 Electronics I

Transcription:

A Low-power Pipelined Implementation of iscrete Wavelet Transform Yong Liu¹, Edmund M-K. Lai¹, A.B. Premkumar¹ and amu Radhakrishnan² ¹School of Computer Engineering, Nanyang Technological University, Singapore 639798. ²epartment of Electrical & Computer Engineering, State Univ. of New York, New Paltz, NY, USA. ABSTRACT iscrete wavelet transform has been incorporated as part of the JPEG000 image compression standard and is being deployed in various portable consumer products. This raises the interest in lowpower design of WT processor. This paper presents a low-power implementation of a - biorthogonal WT processor that uses residue number arithmetic. By incorporating a 4-stage pipeline, the processor is able to sustain the same throughput with a lower supply voltage. Hardware complexity reduction and utilization improvement are achieved by resource sharing. Our implementation results show that the design is able to fit into a 1,000,000-gate FPGA device. 1. Introduction The developments on wavelets and wavelet transforms in recent years have led to numerous applications in areas such as computer vision, image compression, denoising noisy data, and sound synthesis. Recently the image compression standard JPEG000 has incorporated discrete wavelet transform (WT) into its core specifications [1]. As a result of standardization, WT is now becoming popular in various portable consumer-imaging products. As discrete wavelet transform (WT) requires intensive computation, for some real-time applications it is necessary to implement the wavelet transform algorithms in hardware so that timing constraints are met. WT can be realized in hardware using FIR filters [3], which basically only involve additions and multiplications. How these arithmetic operations are implemented in hardware depends on the number system used to represent the data. Residue number systems (RNS) are suitable for implementations of high-speed digital signal processing devices because of their inherited parallelism, modularity, fault tolerance and localized carry propagation [4]. Arithmetic operations, such as addition and multiplication, can be carried out more eiciently in RNS than in conventional two s complement systems. Hence that makes RNS a good candidate for implementing WT. In order to prolong the battery life of the portable devices, low-power design is one of the key issues when designing the WT processor for those applications. Voltage scaling together with pipelining has been proven to be an eective way to achieve low-power design [8,9]. In this paper, we present our design and implementation of a low-power pipelined RNS-based biorthogonal - WT processor using the aubechies 9/7-tap filter banks. The requirements for filter coeicient word length are studied. The RNS-based FIR filter bank data path, controllers and memory interface are designed and simulated using a Field Programmable Gate Array (FPGA) development board. This design can be implemented on an ASIC with minimal modifications.. ynamic Range etermination and Moduli Set Selection Initial experiments were conducted to determine the word length required for RNS filtering computations. With the assumption that input image data are represented in 8 bits, experimental results show that the use of 4-bit dynamic range is able to obtain reconstructed images with PSNR values higher than 54dB. Therefore, we consider that a dynamic range of 4 bits as adequate.

The choice of a particular moduli set for RNS implementation of the filter modules was the next issue. This choice depends on various factors like, area, delay, power etc. We developed a software tool, called MOS, to automate the process of moduli selection based on the above factors. The power consumption of an RNS-based sub-filter tap, denoted as PPT is given by PPT m 1 i= 0 ( ) = P m + m 1 FC _ P( mi) + RC _ P({ mi i [ 0, m 1] }) i= 0 P( x i ) i where is the power consumed by a modulo xi sub-filter tap, FC_ P( x i ) is the power consumed by a modulo x i forward converter, and RC _ P( { x1, x,..., xm} ) is the power consumed by the reverse converter for a specific moduli set { x1, x,..., x m}. Similarly, the critical path delay per tap, denoted as CP, is given by ( ( i) ) ( _ ( i) ) _ { i [ 0, 1] } CP = Max m + Max FC m ( ) + RC m i m By making use of the above expressions, for a 4 bit dynamic range, MOS came up with a number of moduli sets as shown in Table 1 [7]. The data in this table is obtained by using Synopsis esign Analyzer and Avant! Passport 0.35-micron 3.3V optimum silicon Technology library. It shows that the triple moduli set {57,56,55}, and the 6 moduli set {33,3,31,17,7,5} provides the shortest delay and least power respectively, compared to other moduli sets. The triple moduli set is of the form { n -1, n, n +1}, which has the advantage of low cost forward conversion and modulo reduction. The reverse conversion architecture is also relatively simple. Furthermore, the triple moduli set will have uniform channel width for the filter modules compared to the nonuniform channel width imposed by the 6 moduli set. As a result, the use of the triple moduli set can significantly reduce hardware complexity and delay [5] and it is used in this implementation. Table 1. Moduli Sets and Estimated Cost for RNS Based 3-level - WT ynamic Range Filter Taps LP = 9 HP = 7 Filter Bank type and levels Type = Level = 3 Recommended moduli set Time critical {57,56,5 5} 4 bits Area critical {3,31,17,15,11, 7} Power critical {33,3,31,17,7,5} elay (ns) 43.77 6.0 59.5 Area/tap 70.5 1935 194.0 Power/tap (mw) 6.45 55.68 54.4

RNS FI R Fi l t er Bank s Cl oc k Ma n a g e me n t cl ks CLK RST to Host dat a_i n dat a_out Host Interf ace dat a_out dat a_i n Ma i n Cont r ol l er Buf f er Ou t p u t Buf f er Cont r ol Uni t addr ess ack R I n t e r f a c e SRAM Cont r ol l er dat a addr ess ack R SRAM Figure 1. Organization of the - WT Processor 3. WT Processor esign The - WT processor consists of the following key components: RNS-based FIR filter bank data path, main controller, buering and R interfacing unit, SRAM controller, clock management circuitry and the host interface. A block diagram of its structure is shown in Figure 1. achieved simply by keeping the least significant 8 bits of the s complement data. The reverse converter structure used was based on the design presented in [5] with additional comparison and subtraction circuits for coping with signed numbers. 3.1. The RNS-based FIR Filter Bank Unit Forward Converters The FIR filter bank unit consists of two filter banks (filter bank 0 and filter bank 1). Each has a low pass filter module (LPF) and a high pass filter module (HPF). The choice of our triple moduli set {57,56,55} resulted in three separate channels for the implementation of each filter module. Each set is made up of three forward converters and three subfilter banks corresponding to the three moduli in our chosen moduli set, as well as a reverse converter. A block diagram of the filter bank module is shown in Figure. Forward converter architectures, which can handle signed numbers, for modulo-55 and modulo- 57 channels are modified versions of the ones discussed in [6] and [] respectively. Note that forward conversion for the modulo-56 channel is Sub-filter Banks Reverse Converter Output Figure. Block iagram of the RNS- based FIR The FIR sub-filters in this design are realized in transposed form. It involves modulo multipliers and adders. Since the filter coeicients are known a priori, it is possible to implement the modular

multiplier as look-up tables (LUT), which can reduce both the delay and hardware cost. In our design, 7 look-up tables (LUT), each with 8-bit width and 56 entries, are required to store all the results of modulo multiplications. Since very few results of the modulo-57 channel have a non-zero 9 th bit (having the output value of 56), storage for the 9 th bit is saved by substituting in some combinational logic to generate the 9 th bit of the output. 3.. The Main Controller The main controller, which is implemented as a finite state machine (FSM), is responsible to control the operations of the processor, such as WT processing, communication with the host and data scheduling. The main controller enters initialization mode after reset. uring initialization, the main controller sends out reset signals to all other units, initializes its internal counters and waits for the external SRAM to be ready. After the processor is initialized, the main controller requests image data from the host and stores them into the external SRAM. When all image data are ready, the main controller instructs the filter banks to perform - WT on the image data. Because the capacity of the internal RAM is not large enough to store a complete image in most cases, only part of an image will be read into the internal RAM for processing. After it is processed and stored back to the external SRAM, other part of the same image will then be read into the internal RAM for processing. This process repeats until all parts of an image are processed and the processor will continue to process next image. After required processes are finished, the processed data are sent back to the host. The data scheduling involves reading in correct data to the associated buers of the row and column WT filter banks from the external storage. Since the amount of data processed by each of the stage filter banks will be half of that processed by the stage 1 filter bank, only one filter bank in the second stage is suicient to process both the high pass and low pass outputs from the first stage without delaying the whole process. Therefore, we configured filter bank 0 to perform row processing and filter bank 1 to perform column processing. ata scheduling for both the filter bank 0 and filter bank1 is illustrated in Fig. 3. In Cycle X, filter bank 0 performs row processing on Image X and filter bank 1 performs column processing on subimages of Image X-1. In this manner, we can fully utilize the two filter banks and obtain the decomposed data at each WT processing cycle (except the starting and the ending cycles). 3.3. Other Function Units The buering and R interfacing unit implements two functions. Firstly, it provides a dual clock rate (R) data interface between the WT processor and the external R SRAM. Secondly, it buers the data read from the external SRAM and the processed output data from the filter bank unit. Symmetric extension of the input data is also accomplished by properly presenting the buered data to the filter banks. The clock management unit, which is implemented by using the dedicated digital clock management block of the FPGA device, generates clock signals with the same frequency but dierent phases for the processor. The host interface allows the - WT processor to communicate with the host computer for downloading and uploading image data. Cycle 0 Cycle 1 Cycle Img 0 Img 1 Img Img 0 L Img 0 H Img 1 L Img 1 H Figure 3. ata Scheduling 4. Low Power Processor esign If the filter bank is implemented as shown in Figure, the maximum frequency of operation was found to be 15.15MHz. Assuming that the full image size is 51x51 pixels and a frame rate of 4 frames per second is required, the filter bank unit is able to satisfy the throughput requirements. However, the speed can be increased and the power consumption of the processor can be reduced by the use of pipeline operation.......

4.1. Pipelining of the RNS-based Filter Banks Compared to the reverse converter, the delay for accessing look-up tables is much shorter, therefore, A four-stage pipeline, depicted in Figure 4, is introduced in the RNS-based filter bank design. The first stage consists of the forward converters, the second stage the LUT-based multipliers, the third stage the modular adders and the last stage the reverse converter. Since the data path only performs fixed filtering task, the introduction of the 4-stage pipeline only incurs small area penalty for the pipeline registers and presents almost no control complexity. Because the delay for each stage along the pipeline is dierent and the clocking frequency of the pipeline is limited by the slowest stage (reverse converter), the speedup was found to be 185%. Forward Converters LUT... LUT... LUT... +... + First Stage Second Stage Third Stage area complexity can be reduced by sharing the same set of look-up tables between the two filter banks, as illustrated in Figure 5. In each cycle, the look-up tables are first accessed by inputs to filter bank 0 and the outputs are kept in a set of registers. Next, the look-up tables are accessed by inputs to filter bank 1. Even through the look-up tables are accessed sequentially, the delay is still shorter than that of the reverse converter. Hence, significant amount of area is reduced without incurring any extra delay for the processor. The output of each filter is down-sampled by two to reduce the data rate after filtering. This downsampling operation is performed before the reverse conversion as shown in Fig. 6. At the cycle where the output needs to be kept, RNS outputs from the low pass filter are fed into the reverse converter, while those from the high pass filter are stored in registers. At the cycle where the output needs to be discarded, reverse conversion is performed on the output from the high pass sub-filter of the previous cycle, which is stored in a register. Hence, the reverse converters are utilized fully and only one reverse converter is required for each filter bank. Bank 0 Bank 1 S Reverse Converter Output Forth Stage Figure 4. Pipelining of the RNS-based FIR Filter Bank cl k + + + + + + + + + + + + + + + + Bank1 out put (LP) + + + + + + Bank0 out put (LP) Bank1 out put (HP) Reducing the supply voltage can slow the speed of the filter bank units down further. The reduction of supply voltage brings a quadratic reduction in power consumption. The above approach resulted in a voltage reduction from 5V to.7v in our design. Neglecting the power consumed by the extra registers used in pipeline operation, the power reduction achieved amounts to (5 -.7 )/5 100 = 70% assuming a non-pipelined voltage supply of 5V. S + + + + + + Bank0 Subf i l t er out put ( HP) Figure 5. Two RNS-based FIR Sub-filter Banks with LUT Sharing

From Forward Converters CLK / CLK_half LP HP mux mux mux RC Mixed Ouput Figure 6. FIR Filter Bank with Reverse Converter Sharing Between LPF and HPF 5. Implementation Results The WT processor, which is able to process 3 3- pixel images, is coded in VHL and synthesized into the target FPGA device and simulated. These VHL models are parameterized so that the synthesized processor can process larger images. The complexity of various controllers is independent of the size of the image, but the size of input and output buers need to increase to cope with the larger images. Table shows the detailed timing for dierent parts of the RNS-based filter bank. Table 3 shows the FPGA resources consumed by various modules of the WT processor. Altogether it occupies 93% of the slices and 0% of the block RAM available in the target FPGA device. If all control units and the R interfacing and buering unit is working under 100 MHz, then the RNS-based filter banks can be clocked by a 5 MHz clock signal derived from the main clock. From the simulation results, under these clock frequencies and a burst length of four for the external SRAM, it takes 05 µ s to finish a first level - WT decomposition of a 3 3 image, of which 7 µ s is for accessing the external SRAM and 133 µ s is for FIR filtering. Table Timing etails for the RNS-based Filter Bank (ns) Sub-filters Channels Forward Mod Converter Adder LUT and elay 55 16.889 6.916 6.776 56 0 6.148 4.61 57 18.837 6.933 7.571 RNS Filter Banks Main Controller R Interfacing and Buering SRAM Controller Table 3 FPGA Resource Consumption Slices Flipflop 4- inpu t LUT Block RAM Reverse Converter 3.577 Max freq (MHz) 3335 1634 6070 0 8.043 453 17 860 0 100 865 505 154 4K Bytes (8 blocks) 100 140 73 63 0 1 6. Conclusions This paper reports on the design and implementation of a 4-bit low power pipelined - biorthogonal WT processor based on RNS arithmetic. A 4-stage pipeline is incorporated in the design of the RNSbased WT filter bank data path with minimal area overhead. By lowering the supply voltage, power consumption is reduced by 70% while sustaining the same data throughput for the data path. As pointed out in [10], it is possible to further reduce the power consumption of the processor because of the parallelism and switching activity reduction provided by RNS. Our software tool (MOS) recommendation was a 6 moduli RNS implementation for achieving the least power. But a 6 moduli implementation would have resulted in non-uniform length channels for the filter modules. Hence, we used a used a triple moduli implementation for the RNS based filter bank unit. Further research could use the low power moduli set

(6 moduli set) implementation for the filter modules to reduce the power consumption of the processor. Acknowledgements The first two authors would like to acknowledge the technical support provided by the igital Signal Processing Laboratory, the Centre for High Performance Embedded Systems and the Centre for Multimedia and Network Technologies, School of Computer Engineering, Nanyang Technological University. [9] G. K. Yeap and F. N. Najm (Eds.). Low Power VLSI esign and Technology, World Scientific Singapore, 1996 [10] T. Stouraitis and V. Paliouras. Considering the Alternatives in Low-Power esign. IEEE Circuits and evices Magazine, Vol. 17, No. 4 pp. -9, Jul. 001. References [1] ISO/IEC FC 15444-1 000v1.0 JPEG 000 Image Coding System. [] F. Pourbigharaz and H. M. Yassine. Simple binary to residue transformation with respect to m +1 moduli. IEE Proceedings on Circuits evices and Systems, Vol. 141, No.6 pp. 5-56, ec. 1994. [3] G. Strang and T. Nguyen. Wavelets and Filter Banks. Wellesley: Wellesley-Cambridge Press, 1996. [4] N. S. Szabo and R. I. Tanaka. Residue Arithmetic and its Applications to Computer Technology. New York: McGraw-Hill, 1967. [5] Yuke Wang, Xiaoyu song, Mostapha Aboulhamid and Hong Shen. Adder Based Residue to Binary Number Converters for ( n -1, n, n +1). IEEE Trans. on Signal Processing, Vol. 50, No. 7, pp. 177-1779, Jul. 00. [6] B. Parhami. Computer Arithmetic: Algorithms and Hardware esigns, Oxford University Press, New York, 000. [7] Yong Liu and Edmund M-K Lai. Moduli Set Selection and Cost Estimation for RNS-based FIR Filter and Filter Bank esign. Submitted to esign Automation for Embedded Systems, Kluwer Academic Publishers. [8] S-M Kang and Y. Leblebici. CMOS igital Integrated Circuits-Analysis and esign, McGraw-Hill, 003.