Abstract
This chapter explains an important step in the approximate computing IC design flow—approximation-aware automated synthesis methodologies. Broadly speaking, automated synthesis is the process of converting a behavioral description of a design into a structural netlist targeted to a production technology. The technology independent behavioral description is typically specified in a high level language such as Verilog or VHDL using higher level language semantics such as Register Transfer Level specification. The synthesis tool parses this input, with optional design constraints such as limits in timing/area/power, and builds an internal Boolean network. Further, several optimization techniques are used to minimize the cost metrics associated with the targeted technology and finally the netlist is written out. The underlying synthesis process remains the same in the context of approximate computing too. However, approximate computing can also improve the efficiency of a circuit in terms of speed and area by relaxing the constraints on computational accuracy. Hence, an approximation synthesis tool is able to provide much better optimization compared to a conventional synthesis tool since the functional equivalence need not be maintained. An outline of the approximation synthesis design flow is shown in Fig. 5.1. It has to be noted that a conventional equivalence checking tool typically employed in the post-synthesis stage will not be useful with an approximated netlist. Rather, one must use special approximation-aware equivalence checking techniques introduced in the previous chapter to prove the equivalence. An automated synthesis technique should read in the behavioral description of the circuit, i.e., the RTL and the error metric specification to come up with the final structural netlist.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The compile command also supports other options. Invoke help using compile -h to get a complete list.
- 2.
This can be seen by a line-by-line comparison.
- 3.
- 4.
- 5.
We use the naming convention given in the repository [GA15].
References
Aoki Laboratory – Graduate School of Information Sciences. Tohoku University, 2016
A. Bernasconi, V. Ciriani, 2-SPP approximate synthesis for error tolerant applications, in EUROMICRO Symposium on Digital System Design, pp. 411–418 (2014)
M.A. Breuer, Determining error rate in error tolerant VLSI chips, in Electronic Design, Test and Applications, pp. 321–326 (2004)
R.E. Bryant, Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. 35, 677–691 (1986)
A. Chandrasekharan, M. Soeken, D. Große, R. Drechsler, Approximation-aware rewriting of AIGs for error tolerant applications, in International Conference on Computer Aided Design, pp. 83:1–83:8 (2016)
N. Een, Cut sweeping, in Cadence Design Systems, Technical Report, 2007
GeAr-ApproxAdderLib, Chair for Embedded Systems – Karlsruhe Institute of Technology, 2015
V. Gupta, D. Mohapatra, S.P. Park, A. Raghunathan, K. Roy, IMPACT: imprecise adders for low-power approximate computing, in International Symposium on Low Power Electronics and Design, pp. 409–414 (2011)
A.B. Kahng, S. Kang, Accuracy-configurable adder for approximate arithmetic designs, in Design Automation Conference, pp. 820–825 (2012)
D.E. Knuth, The Art of Computer Programming, vol. 4A (Addison-Wesley, Upper Saddle River, 2011)
N. Li, E. Dubrova, AIG rewriting using 5-input cuts, in International Conference on Computer Design, pp. 429–430 (2011)
A. Lingamneni, C. Enz, J.L. Nagel, K. Palem, C. Piguet, Energy parsimonious circuit design through probabilistic pruning, in Design, Automation and Test in Europe, pp. 1–6 (2011)
D. Lundgren, OpenCore JPEG Encoder – OpenCores community, 2016
A. Mishchenko, S. Chatterjee, R.K. Brayton, Dag-aware aig rewriting a fresh look at combinational logic synthesis, in Design Automation Conference, pp. 532–535 (2006)
A. Mishchenko, M. Case, R.K. Brayton, S. Jang, Scalable and scalably-verifiable sequential synthesis, in International Conference on Computer Aided Design, pp. 234–241 (2008)
J. Miao, K. He, A. Gerstlauer, M. Orshansky, Modeling and synthesis of quality-energy optimal approximate adders, in International Conference on Computer Aided Design, pp. 728–735 (2012)
P. Pan, C. Lin, A new retiming-based technology mapping algorithm for LUT-based FPGAs, in International Symposium on FPGAs, pp. 35–42 (1998)
A. Ranjan, A. Raha, S. Venkataramani, K. Roy, A. Raghunathan, ASLAN: synthesis of approximate sequential circuits, in Design, Automation and Test in Europe, pp. 1–6 (2014)
K. Ravi, F. Somenzi, High-density reachability analysis, in International Conference on Computer Aided Design, pp. 154–158 (1995)
M. Shafique, W. Ahmad, R. Hafiz, J. Henkel, A low latency generic accuracy configurable adder, in Design Automation Conference, pp. 1–6 (2015)
D. Shin, S.K. Gupta, Approximate logic synthesis for error tolerant applications, in Design, Automation and Test in Europe, pp. 957–960 (2010)
D. Shin, S.K. Gupta, A new circuit simplification method for error tolerant applications, in Design, Automation and Test in Europe, pp. 1–6 (2011)
M. Soeken, D. Große, A. Chandrasekharan, R. Drechsler, BDD minimization for approximate computing, in ASP Design Automation Conference, pp. 474–479 (2016)
S. Venkataramani, A. Sabne, V. Kozhikkottu, K. Roy, A. Raghunathan, Salsa: systematic logic synthesis of approximate circuits, in Design Automation Conference, pp. 796–801 (2012)
S. Yang, Logic synthesis and optimization benchmarks user guide version 3.0 (1991)
R. Ye, T. Wang, F. Yuan, R. Kumar, Q. Xu, On reconfiguration-oriented approximate adder design and its application, in International Conference on Computer Aided Design, pp. 48–54 (2013)
N. Zhu, W.L. Goh, K.S. Yeo, An enhanced low-power high-speed adder for error-tolerant application, in International Symposium on IC Technologies, Systems and Applications, pp. 69–72 (2009)
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Chandrasekharan, A., Große, D., Drechsler, R. (2019). Synthesis Techniques for Approximation Circuits. In: Design Automation Techniques for Approximation Circuits. Springer, Cham. https://doi.org/10.1007/978-3-319-98965-5_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-98965-5_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-98964-8
Online ISBN: 978-3-319-98965-5
eBook Packages: EngineeringEngineering (R0)