Journals / İTÜ Dergisi Seri D: Mühendislik / 2010 / Cilt: 9 - Sayı: 1
Area optimization algorithms in high-speed digital FIR filter synthesis
- Pages
- 45–56
- DOI
- —
Abstract
Digital Finite Impulse Response (FIR) filters are frequently used in Digital Signal Processing (DSP) by virtue of stability and easy implementation. The problem of designing the multiplier block of a digital FIR filter has received a significant amount of attention during the last decade, as the filters require a large number of multiplications, leading to excessive area, delay, and power consumption even if implemented in a full custom integrated circuit. Previous works have focused on the design of filters with minimum area by replacing the multiplication operations with constant coefficients by addition, subtraction, and shifting operations. Since shifts can be implemented with only wires in hardware, the design problem can be defined as the minimization of the number of addition/subtraction operations to implement the coefficient multiplications. This problem is generally known as the MCM problem. In the last decade, many efficient algorithms have been proposed for the MCM problem. These algorithms can be categorized in two classes: Common Subexpression Elimination (CSE) and graph-based algorithms. While the CSE algorithms basically find the common non-zero digit patterns on the representations of the constants, the graph-based algorithms are not restricted to a particular number representation and synthesize the constants iteratively by building a graph. However, in the algorithms proposed for the MCM problem, an addition/subtraction operation is assumed to be a two-input operation that is generally implemented using a Ripple Carry Adder (RCA) block yielding great latency in the implementation of MCM. In high-speed applications, particularly in DSP systems, Carry-Save Adder (CSA) blocks are preferred to RCA blocks taking into account the increase in area. Despite the large number of algorithms designed for the minimization of addition/subtraction operations based on RCAs, there are only a few algorithms proposed for the optimization of the number of CSA blocks. Although these algorithms give good results, they are based on heuristics, i.e., provide no indication on how far from the minimum their solutions are. To the best of our knowledge, there is no exact algorithm proposed for the optimization of the number of CSA blocks in MCM. In this paper, an exact CSE algorithm designed for the minimization of the number of CSA blocks is introduced. In the exact CSE algorithm, initially, all possible implementations of filter coefficients and partial terms using CSAs are found when filter coefficients are defined under a number representation, and a combinational network that represents the implementations of constants is constructed. Then, the minimization of the number of CSA blocks problem is defined as a 0-1 Integer Linear Programming (ILP) problem with a cost function to be minimized and constraints to be satisfied. Finally, a generic 0-1 ILP solver is used to obtain the minimum solution. Due to the NP-completeness of the MCM problem, naturally, there are instances that the exact algorithm cannot handle. Hence, in this paper, we also introduce an approximate CSE algorithm based on the exact CSE algorithm that considers limited implementations of the coefficients reducing the size of the search space to be explored significantly. It is also shown that the approximate CSE algorithm obtains similar results with the exact CSE algorithm. Since the solutions obtained by the proposed CSE algorithms depend on the number representation, in the approximate algorithm, the number of possible implementations of filter coefficients is increased using a general number representation allowing the approximate algorithm to be more effective in area optimization. It is shown that the approximate algorithm under general number representation obtains more promising results than the approximate CSE algorithm. In this paper, the results of the proposed exact and approximate algorithms on a comprehensive set of instances including randomly generated and FIR filter instances are presented. It is shown that the proposed algorithms can be applied on real size instances. Also, the results of the exact and approximate algorithms are compared with those of the previously proposed CSE and graph-based heuristics. As observed from the experimental results, the exact and approximate CSE algorithms find significantly better solutions than the CSE heuristic and the approximate algorithm under general number representation obtains competitive and better results than the graph-based heuristic.
Özet
Son on yıl içinde, birden fazla katsayının çarpımı (MCM) problemi, bir başka deyişle, bir değişkenin birden fazla katsayı ile çarpımının en az sayıda toplama/çıkarma işlemleri kullanılarak tasarımı, için etkili algoritmalar önerilmiştir. Bu algoritmalarda, toplama/çıkarma işlemi iki girişli bir işlem olarak kabul edilmekte ve genellikle, hesaplama süresi fazla olan elde ötelemeli toplayıcılar ile gerçeklenmektedir. Bunun yanında, elde korumalı toplayıcılar (CSA) çok girişli toplama işlemlerinin yüksek hızlı tasarımında sıklıkla kullanılmaktadır. Yine de, CSA blok sayısının optimizasyonu için önerilen algoritmalar sezgisellerdir ve minimum sonucu garanti edemezler. Bu makalede, MCM işlemi için gereken minimum sayıdaki CSA bloklarını bulan bir kesin ortak alt ifade eliminasyonu (CSE) algoritması önerilmektedir. Önerilen kesin yöntem gerçek boyutlu örnekler üzerinde uygulanabilse de, MCM probleminin bir NP-bütün problem olmasından dolayı, doğal olarak, kesin algoritmanın ele alamayacağı örnekler mevcuttur. Bu yüzden, bu makalede, büyük boyutlu örnekleri ele alabilen bir yaklaşık CSE yöntemi de önerilmekedir. CSE algoritmaları ile elde edilen sonuçlar katsayıların gerçeklenmesi için kullanılan sayı gösterimlerine bağlı olduğundan bu makalede, ayrıca, katsayıların genel sayı gösterimindeki ifadelerini ele alabilen bir yaklaşık yöntem de sunulmaktadır. Önerilen algoritmalar, rastgele üretilmiş örnekler ve FIR filtreleri üzerinde test edilmiş ve daha önceden önerilmiş CSE ve graf tabanlı sezgisel yöntemler ile karşılaştırılmıştır. Deneysel sonuçlardan kesin CSE algoritmanın sezgisel CSE yönteme göre oldukça iyi sonuçlar elde ettiği ve genel sayı gösterimi altında yaklaşık algoritmanın graf tabanlı sezgisel yöntemle rekabet edebilecek düzeyde ve daha iyi sonuçlar bulduğu gözlenmektedir.