Skip to main content

A Fabric Component Based Approach to the Architecture and Design Automation of High-Performance Integer Arithmetic Circuits on FPGA

  • Chapter
  • First Online:

Abstract

FPGA-specific primitive instantiation is an efficient approach for design optimization to effectively utilize the native hardware primitives as building blocks. Placement steps also need to be constrained and controlled to improve the circuit critical path delay. Here, the authors present optimized implementations of certain arithmetic circuits and pseudorandom sequence generator circuits to indicate the superior performance scalability achieved using the proposed design methodology in comparison to circuits of identical functionality realized using other existing FPGA CAD tools or design methodologies. The Hardware Description Language specifications as well as the placement constraints can be automatically generated. A GUI-based CAD tool has been developed that is integrated with the Xilinx Integrated Software Environment for design automation of circuits from user specifications.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD   54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. Preu\(\beta \)er, T.B., Zabel, M., Spallek, R.G.: Accelerating computations on FPGA carry chains by operand compaction. In: 20th IEEE Symposium on Computer Arithmetic (ARITH), pp. 95–102 (2011)

    Google Scholar 

  2. Preu\(\beta \)er, T.B., Spallek, R.G.: Mapping basic prefix computations to fast carry-chain structures. In: International Conference on Field Programmable Logic and Applications (FPL), pp. 604–608 (2009)

    Google Scholar 

  3. Ahmed, T., Kundarewich, P.D., Anderson, J.H.: Packing techniques for Virtex-5 FPGAs. ACM Trans. Reconfig. Technol. Syst. (TRETS), 2(18), 18:1–18:24 (2009)

    Google Scholar 

  4. Xilinx Inc., Virtex-5 Libraries Guide for HDL Designs, UG621 (v 11.3) (2009). Cited 16 September 2009, http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/Virtex5_hdl.pdf

  5. Ehliar, A.: Optimizing Xilinx designs through primitive instantiation. In: Proceedings of the 7th FPGAworld Conference, pp. 20–27 (2010)

    Google Scholar 

  6. FloPoCo: Arithmetic core generator (2014). Cited 14 June 2014, http://flopoco.gforge.inria.fr/

  7. Dinechin, F.de, Pasca, B.: Designing custom arithmetic data paths with FloPoCo. IEEE Des. Test Comput. 28(3), 18–27 (2009)

    Google Scholar 

  8. Cosoroaba, A., Rivoallon, F.: Xilinx Inc., White paper: Virtex-5 family of FPGAs. Achieving Higher System Performance with the Virtex-5 Family of FPGAs WP245 (v1.1.1) (2006). Cited 7 July 2006, http://www.origin.xilinx.com/support/documentation/white_papers/wp245.pdf

  9. Xilinx Inc., Virtex-5 FPGA user guide, UG190 (v 5.4) (2012). Cited 16 March 2012, http://www.xilinx.com/support/documentation/user_guides/ug190.pdf

  10. Xilinx Inc., Virtex-6 FPGA configurable logic block, UG364 (v 1.2) (2012). Cited 24 June 2009, http://www.xilinx.com/support/documentation/user_guides/ug364.pdf

  11. Verma, A.K., Brisk, P., Ienne, J.P.: Challenges in automatic optimization of arithmetic circuits. In: 19th IEEE Symposium on Computer Arithmetic (ARITH), pp. 213–218 (2009)

    Google Scholar 

  12. Roy, S.S., Rebeiro, C., Mukhopadhyay, D.: Theoretical modeling of the Itoh-Tsujii inversion algorithm for enhanced performance on \(k\)-LUT based FPGAs. In: Design, Automation & Test in Europe Conference & Exhibition (DATE), pp. 1–6 (2011)

    Google Scholar 

  13. Hachtel, G.D., Somenzi, F.: Logic Synthesis and Verification Algorithms. Kluwer Academic Publisher, Dordrecht (1996)

    Google Scholar 

  14. Weste, N.H.E., Harris, D., Banerjee, A.: CMOS VLSI Design: A Circuits and Systems Perspective. 3rd edn. Pearson Publisher, New York (2011)

    Google Scholar 

  15. Cortadella, J., Llabería, J.: Evaluation of \(A+B=K\) conditions without carry propagation. IEEE Trans. Comput. 41(11), 1484–1487 (1992)

    Article  Google Scholar 

  16. Zicari, P., Perri, S.: A fast carry-chain adder for Virtex-5 FPGAs. In: 15th IEEE Mediterranean Electrotechnical Conference (MELECON), pp. 304–308 (2010)

    Google Scholar 

  17. Xilinx Inc., Virtex-5 FPGA XtremeDSP design considerations user guide, UG193 (v 3.5) (2012). Cited 26 January 2012, http://www.xilinx.com/support/documentation/user_guides/ug193.pdf

  18. Koren, I.: Computer Arithmetic Algorithms, 2nd edn. A.K.Peters Ltd, Natick (2002)

    MATH  Google Scholar 

  19. Brent, R.P., Kung, H.T.: A Regular layout for parallel adders. IEEE Trans. Comput. C-31(3), 260–264 (1982)

    Google Scholar 

  20. Sarkar, P.: A brief history of cellular automata. ACM Comput. Surv. (CSUR) 32(1), 80–107 (2000)

    Article  Google Scholar 

  21. Chowdhury, D.R., Chaudhuri, P.P.: Architecture for VLSI design of CA based byte error correcting code decoders. In: Proceedings of the 7th International Conference on VLSI Design, pp. 283–286 (1994)

    Google Scholar 

  22. Halbach, M., Hoffmann, R.: Improving cellular automata in FPGA logic. In: Proceedings of the 18th International Parallel and Distributed Processing Symposium, pp. 258–262 (2004)

    Google Scholar 

  23. Sirakoulis, G.C., Karafyllidis, I., Thanailakis, A., Mardiris, V.: A methodology for VLSI implementation of cellular automata algorithms using VHDL. Adv. Eng. Softw. 32(3), 189–202 (2000)

    Google Scholar 

  24. Torres-Huitzil, C., Delgadillo-Escobar, M., Nuno-Maganda, M.: Comparison between 2D cellular automata based pseudorandom number generators. IEICE Electron. Express 9(17), 1391–1396 (2012)

    Article  Google Scholar 

  25. Das, A.K., Ganguly, A., Dasgupta, A., Bhawmik, S., Chaudhuri, P.P.: Efficient characterization of cellular automata. IEEE Proc. Comput. Digital Tech. 137(1), 81–87 (1990)

    Google Scholar 

  26. Chaudhuri, P.P., Chowdhury, D.R., Nandi, S., Chattopadhyay, S.: Additive Cellular Automata Theory and its Application. vol. 1. IEEE Computer Society Press (1997)

    Google Scholar 

  27. Mukhopadhyay, D.: Group properties of non-linear cellular automata. J. Cell. Autom. 5(1–2), 139–155 (2010)

    MathSciNet  MATH  Google Scholar 

  28. Palchaudhuri, A., Chakraborty, R.S., Salman. M., Kardas, S., Mukhopadhyay, D.: Highly compact automated implementation of linear CA on FPGAs. In: Cellular Automata—11th International Conference on Cellular Automata for Research and Industry, pp. 388–397 (2014)

    Google Scholar 

  29. Cattell, K., Muzio, J.: Technical Report: Tables of linear cellular automata for minimal weight primitive polynomials of degrees up to 300. Issue: 163. University of Victoria (BC), Department of Computer Science (1991)

    Google Scholar 

  30. Bardell, P.H., McAnney, W.H., Savir, J.: Built-In Test for VLSI: Pseudorandom Techniques, Wiley, London (1987)

    Google Scholar 

  31. Stehlé, D., Zimmermann, P.: A binary recursive GCD algorithm. In: Proceedings of ANTS’04, Lecture Notes in Computer Science, vol. 3076, pp. 411–425. Springer, New York (2004)

    Google Scholar 

  32. Brent, R.P., Kung, H.T.: A systolic algorithm for integer GCD computation. In: IEEE 7th Symposium on Computer Arithmetic (ARITH), pp. 118–125 (1985)

    Google Scholar 

  33. Perri, S., Zicari, P., Corsonello, P.: Efficient absolute difference circuits in Virtex-5 FPGAs. In: 15th IEEE Mediterranean Electrotechnical Conference (MELECON), pp. 309–313 (2010)

    Google Scholar 

Download references

Acknowledgments

The authors would like to thank Prof. Anindya Sundar Dhar, Department of Electronics and Electrical Communication Engineering, IIT Kharagpur, and Dr. Debdeep Mukhopadhyay, Department of Computer Science and Engineering, IIT Kharagpur, for their valuable insights into the work. The authors would also like to acknowledge two undergraduate students of the Department of Computer Science and Engineering, IIT Kharagpur, Mohammad Salman and Sreemukh Kardas, for their contributions in developing the proposed CAD tool, FlexiCore.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ayan Palchaudhuri .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Palchaudhuri, A., Chakraborty, R.S. (2015). A Fabric Component Based Approach to the Architecture and Design Automation of High-Performance Integer Arithmetic Circuits on FPGA. In: Fakhfakh, M., Tlelo-Cuautle, E., Siarry, P. (eds) Computational Intelligence in Digital and Network Designs and Applications. Springer, Cham. https://doi.org/10.1007/978-3-319-20071-2_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-20071-2_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-20070-5

  • Online ISBN: 978-3-319-20071-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics