Automated optimization of data-path design by improving circuit area and critical time through adaptive transformation

Considering recent developments in the field of carry-save representation in synthesis of arithmetic circuits, it was considered imperative to develop an automated system to optimize an arithmetic circuit design to handle cases of practical interest, including scattered logic, and generate an optimized solution in Verilog; so that it could reduce both design and debugging costs drastically. We, therefore, designed, developed and implemented a specialized system using adaptive transformations for automated optimization of data path designs as well as verified and validated results for large set of circuits of varying complexity and number of nodes using Xilinx and ChipScope Pro. The developed system takes circuit design from our specialized drag-and-drop interface, and applies automated arithmetic transformations to reduce the critical path complexity and the cell area with the quality of manual implementations, and generate its hardware implementation ready for synthesizes as high-quality arithmetic circuits. Behavioral simulation of pre and post optimization circuits was monitored in ChipScope Pro to verify our Algorithm, and establish that it preserves the logic. Furthermore, results of synthesis reports generated by Xilinx were compared with those reported by other researchers in recent past and found them to be comparable and in certain cases even better. Our algorithm is independent of compression tree implementation and its performance can further improve with better implementation. We believe this work will enhance efficiency and reduce cost through selection of best circuit design for fabrication.

[1]  Taewhan Kim,et al.  An Optimal Allocation of Carry-Save-Adders in Arithmetic Circuits , 2001, IEEE Trans. Computers.

[2]  R. Ravi,et al.  Optimal Circuits for Parallel Multipliers , 1998, IEEE Trans. Computers.

[3]  Taewhan Kim,et al.  Circuit optimization using carry-save-adder cells , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Paolo Ienne,et al.  Improved use of the carry-save representation for the synthesis of complex arithmetic circuits , 2004, ICCAD 2004.

[5]  Miodrag Potkonjak,et al.  MediaBench: a tool for evaluating and synthesizing multimedia and communications systems , 1997, Proceedings of 30th Annual International Symposium on Microarchitecture.

[6]  Miodrag Potkonjak,et al.  Maximally fast and arbitrarily fast implementation of linear computations , 1992, ICCAD '92.

[7]  Amos R. Omondi,et al.  Computer Arithmetic Systems , 1994 .

[8]  Paolo Ienne,et al.  Data-Flow Transformations to Maximize the Use of Carry-Save Representation in Arithmetic Circuits , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[9]  Vojin G. Oklobdzija,et al.  A Method for Speed Optimized Partial Product Reduction and Generation of Fast Parallel Multipliers Using an Algorithmic Approach , 1996, IEEE Trans. Computers.

[10]  Anmol Mathur,et al.  Improved merging of datapath operators using information content and required precision analysis , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[11]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[12]  Scott A. Mahlke,et al.  Bitwidth cognizant architecture synthesis of custom hardwareaccelerators , 2001, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[13]  Laurent Imbert,et al.  Multiplication by a Constant is Sublinear , 2007, 18th IEEE Symposium on Computer Arithmetic (ARITH '07).