Go to
June 7, 2006
Arithmetic Circuit Architectures and Optimization
Ajay Kumar Verma, PhD Assistant, Processor Architecture Laboratory, EPFL
Abstract: Part 1 - Towards the automatic exploration of arithmetic-circuit architectures: Logic synthesis has made impressive progresses in the last decade and has pervaded digital design replacing almost universally manual techniques. A remarkable exception is computer arithmetic and datapath design, where designers still rely mostly on well-studied architectures; on datapaths, in most cases, logic synthesis plays at most a minor role in the optimization of netlists. A case in point are multiple additions performed in carry-save form, such as those fundamentally constituting parallel multipliers: column compressors are usually built exploiting the regularity of the circuit and, due to the very large number of XOR operations, are hardly optimized further by logic synthesizers. In fact, due to the shortcomings of algebraic factoring, XOR operations are usually left untouched by logic synthesizers except in the simplest cases. In this paper we show a general technique to optimize XOR dominated circuits and we demonstrate its effectiveness on multiplier-like circuits. We show that it optimizes significantly the best parallel multipliers by exploiting complex dependencies between the addenda that escape known manual optimizations. Netlists corresponding to top arithmetic architectures can either be synthesized directly or preprocessed through our technique before standard logic synthesis: our preprocessing stage makes it possible to achieve some 27% speed improvement for a mere 17% area cost. To our best knowledge, optimizations of the type we show for multiplier-like structures have never been reported-neither manually derived, in computer arithmetic literature, nor automatically derived, in design automation literature.
Part 2 - Improving XOR-dominated arithmetic circuits by exploiting dependencies between operands: The optimization of arithmetic circuits has always been essentially a manual task: arithmetic experts study the best architectures for arithmetic components and write libraries of generators, and designers instantiate library components and rely on logic synthesizers to obtain good implementations. In this paper we look at the capabilities of commercial synthesizers when it comes to arithmetic circuits, and observe that they are essentially unable to switch from one arithmetic architecture to another (e.g., from a ripple-carry to a carry-lookahead adder). Therefore, users relying on logic synthesis miss most optimization potentials. We therefore investigate algorithms for factorization that can prepare structured VHDL or Verilog for synthesizers to implement, and show first steps into pruning the search space from many irrelevant or equivalent solutions. Our results are still very limited in complexity but we show that our techniques successfully concentrate on the automatic exploration of very different solutions, and discover architectures known and unknown to expert designers, such as different types of adders, the carry-save representation, or improved multipliers. This is a first step toward a class of arithmetic optimizers that sit on top of classic logic synthesizers.
About the speaker: Ajay Kumar Verma completed his B. Tech in computer science from Indian Institute of Technology, Kanpur in May 2003. He joined EPFL as a PhD student in January 2004, and is currently working as a PhD Assistant with Prof. Paolo Ienne in the Processor Architecture Laboratory (LAP).
Secondary navigation
- January 29, 2018
- August 30, 2017
- Past seminars
- 2016 - 2017 Seminars
- 2015 - 2016 Seminars
- 2014 - 2015 Seminars
- 2013 - 2014 Seminars
- 2012 - 2013 Seminars
- 2011 - 2012 Seminars
- 2010 - 2011 Seminars
- 2009 - 2010 Seminars
- 2008 - 2009 Seminars
- 2007 - 2008 Seminars
- 2006 - 2007 Seminars
- August 31, 2007
- June 29, 2007
- June 20, 2007
- June 5, 2007
- May 30, 2007
- May 16, 2007
- May 15, 2007
- April 24, 2007
- March 27, 2007
- March 14, 2007
- February 9, 2007
- February 8, 2007
- January 12, 2007
- December 5, 2006
- November 14, 2006
- October 31, 2006
- October 27, 2006
- October 26, 2006
- October 20, 2006
- September 20, 2006
- September 20, 2006
- September 20, 2006
- September 19, 2006
- 2005 - 2006 Seminars
- August 23, 2006
- August 22, 2006
- June 26, 2006
- June 20, 2006
- June 16, 2006
- June 7, 2006
- June 6, 2006
- May 30, 2006
- May 17, 2006
- May 10, 2006
- April 27, 2006
- April 12, 2006
- March 31, 2006
- March 29, 2006
- March 22, 2006
- March 15, 2006
- February 27, 2006
- February 8, 2006
- January 25, 2006
- January 19, 2006
- January 18, 2006
- January 17, 2006
- January 11, 2006
- November 30, 2005
- November 23, 2005
- November 2, 2005
- October 26, 2005
- October 25, 2005
- October 5, 2005
- September 28, 2005
- 2005 Seminars