Stochastic logic implementations of complex arithmetic functions, such as trigonometric, exponential, and sigmoid, are derived based on truncated versions of their Maclaurin series expansions. This paper makes three contributions. First, it is shown that a polynomial can be implemented using multiple levels of NAND gates based on Horner's rule, if the coefficients are alternately positive and negative and their magnitudes are monotonically decreasing. Truncated Maclaurin series expansions of arithmetic functions are used to generate polynomials which satisfy these constraints. The input and output in these functions are represented by unipolar representation. Functions including sine, cosine, tangent hyperbolic, logarithm and exponential can be implemented using this method. Second, for a polynomial that does not satisfy these constraints, it still can be implemented based on Horner's rule if each factor of the polynomial satisfies these constraints. It is shown that functions such as sin π x/π, e-ax, tanh ax and sigmoid(ax3) (for values of a>1) can be implemented using stochastic logic using factorization in combination with Horner's rule. Third, format conversion is proposed for arithmetic functions with input and output represented in different formats, such as cos, π x given x [0,1] and sigmoid(x) given x [-1,1]. Polynomials are transformed to equivalent forms that naturally exploit format conversions. The proposed stochastic logic circuits outperform the well-known Bernstein polynomial based and finite-state-machine (FSM) based implementations. Furthermore, the hardware complexity and the critical path of the proposed implementations are less than the well-known Bernstein polynomial based and FSM based implementations for most cases.
- Horner's rule
- Maclaurin series expansion
- Stochastic logic
- bipolar-to-unipolar conversion
- unipolar-to-bipolar conversion