Abstract

Transcendental functions cannot be expressed algebraically, which brings a big challenge to efficient and accurate approximation. Lookup table (LUT) and piecewise fitting are common traditional methods. However, they either trade approximate accuracy for computation and storage or require unaffordable resources when the expected accuracy is high. In this paper, we have developed a high-precision approximation method, which is error-controllable and resource-efficient. The method originally divides a transcendental function into two parts based on their slope. The steep slope part is approximated by the method of LUT with the interpolation, while the gentle slope part is approximated by the range-addressable lookup table (RALUT) algorithm. The boundary of two parts can be adjusted adaptively according to the expected accuracy. Moreover, we analyzed the error source of our method in detail, and proposed an optimal selection method for table resolution and data bit-width. The proposed algorithm is verified on an actual FPGA board and the results show that the proposed method’s error can achieve arbitrarily low. Compared to other methods, the proposed algorithm has a more stable increase in resource consumption as the required accuracy grows, which consumes fewer hardware resources especially at the middle accuracy, with at least 30% LUT slices saved.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call