MinSC: An Exact Synthesis-Based Method for Minimal-Area Stochastic Circuits under Relaxed Error Bound

Stochastic computing (SC) operates on stochastic bit streams, which can realize complex arithmetic functions with simple circuits. A previous work shows that by introducing a little approximation error for the target function, the cost of SC circuits can be dramatically reduced. However, the previous heuristic method only explores a limited subset of the solution space, so the optimality of the results cannot be guaranteed. In this paper, we propose MinSC, an exact synthesis-based method for minimal-area stochastic circuits under relaxed error bound. First, a novel search method is proposed to find the best approximation polynomial for a target function. Then, considering gates with different fanin numbers and areas, an exact SC synthesis method using satisfiability modulo theories is designed to obtain an area-optimal SC circuit realizing the best approximation polynomial. The experimental results show that compared with the state-of-the-art method, given an error ratio 0.05, MinSC on average reduces the gate number, area, delay, and area-delay-product of the SC circuits by 60.24%, 47.24%, 7.10%, 57.07%, respectively.

[1]  Shie Mannor,et al.  Majority-Based Tracking Forecast Memories for Stochastic LDPC Decoding , 2010, IEEE Transactions on Signal Processing.

[2]  Shie Mannor,et al.  Fully Parallel Stochastic LDPC Decoders , 2008, IEEE Transactions on Signal Processing.

[3]  Keshab K. Parhi,et al.  Computing Arithmetic Functions Using Stochastic Logic by Series Expansion , 2019, IEEE Transactions on Emerging Topics in Computing.

[4]  Weikang Qian,et al.  Uniform approximation and Bernstein polynomials with coefficients in the unit interval , 2011, Eur. J. Comb..

[5]  John P. Hayes,et al.  The Promise and Challenge of Stochastic Computing , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[6]  John P. Hayes,et al.  STRAUSS: Spectral Transform Use in Stochastic Circuit Synthesis , 2015, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[8]  John P. Hayes,et al.  Stochastic circuits for real-time image-processing applications , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[9]  Kia Bazargan,et al.  The synthesis of complex arithmetic computation on stochastic bit streams using sequential logic , 2012, 2012 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[10]  Naoya Onizawa,et al.  VLSI Implementation of Deep Neural Network Using Integral Stochastic Computing , 2017, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[11]  Weikang Qian,et al.  Stochastic Circuit Synthesis by Cube Assignment , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[12]  Shinobu Nagayama,et al.  Numerical Function Generators Using LUT Cascades , 2007, IEEE Transactions on Computers.

[13]  Giovanni De Micheli,et al.  Busy man's synthesis: Combinational delay optimization with SAT , 2017, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2017.

[14]  Mathias Soeken,et al.  Exact Synthesis of Majority-Inverter Graphs and Its Applications , 2017, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[15]  John P. Hayes,et al.  Equivalence among stochastic logic circuits and its application , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[16]  Jongeun Lee,et al.  A new stochastic computing multiplier with application to deep convolutional neural networks , 2017, 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC).

[17]  R. Brayton,et al.  Practical exact synthesis , 2018, 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[18]  Xin Li,et al.  An Architecture for Fault-Tolerant Computation with Stochastic Logic , 2011, IEEE Transactions on Computers.

[19]  Ru Huang,et al.  When Sorting Network Meets Parallel Bitstreams: A Fault-Tolerant Parallel Ternary Neural Network Accelerator based on Stochastic Computing , 2020, 2020 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[20]  Kia Bazargan,et al.  Computation on Stochastic Bit Streams Digital Image Processing Case Studies , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[21]  John P. Hayes,et al.  Exploring Target Function Approximation for Stochastic Circuit Minimization , 2020, 2020 IEEE/ACM International Conference On Computer Aided Design (ICCAD).

[22]  Mathias Soeken,et al.  SAT-Based Exact Synthesis: Encodings, Topology Families, and Parallelism , 2020, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[23]  Weikang Qian,et al.  A general design of stochastic circuit and its synthesis , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[24]  Zhongfeng Wang,et al.  A Universal Approximation Method and Optimized Hardware Architectures for Arithmetic Functions Based on Stochastic Computing , 2020, IEEE Access.