A Reduced Hardware SNG for Stochastic Computing
Abstract
:1. Introduction
2. Stochastic Computing Principles
2.1. Basic Arithmetic Operations
2.2. Domain Transformations
2.2.1. From WBS to PS
- (a)
- LFSR:The LFSR consists of Flip-Flops (FFs) in a cascade interconnection. The LFSR is characterized by a feedback from some memory elements through a Modulo-2 adder (XOR gates) to the first FF. There are several feedback combinations from the memory elements. Some combinations will make the LFSR generate the largest output sequences. In general, for an n-bit LFSR, the maximum length of a sequence (period) is given by (the subtraction of 1 is due to the fact that the LFSR cannot generate the zero state). Other combinations will make the LFSR generate short output sequences, where its length can be an integer common multiple of [28].
- (b)
- Comparator:This is a module that receives a numerical value (normalized) x on one of its inputs to compute if it is higher than or equal to the LFSR current state value y. A logical 1 is obtained each time condition is met and a 0 otherwise (with x as the binary number and y as the random number from the current state of an LFSR; see, for instance, Figure 9. Hence, an element of the PS X is generated at each clock cycle.
- Balance: for every maximum period , the output of the LFSR is balanced and it has approximately 1’s and 0’s;
- Runs: each maximum period has runs of 1’s and runs of 0’s, both of length i with and just one run of 0’s with length and one run of 1’s with length n;
- Span: taking into account all the memory states in the LFSR, it turns out that in a maximum sequence period, all the states appear just one time.
2.2.2. From PS to WBS
2.3. Stochastic Number Generator
WBSNG Review
3. EWBSNG Proposal
4. Results
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Gaines, B.R. Stochastic computing. In Proceedings of the Spring ACM Joint Computer Conference, Atlantic City, NJ, USA, 18–20 April 1967; pp. 149–156. [Google Scholar]
- Li, H.; Chen, Y. Hybrid Logic Computing of Binary and Stochastic. IEEE Embed. Syst. Lett. 2022, 14, 171–174. [Google Scholar] [CrossRef]
- Kim, J.; Jeong, W.S.; Jeong, Y.; Lee, S.E. Parallel Stochastic Computing Architecture for Computationally Intensive Applications. Electronics 2023, 12, 1749. [Google Scholar] [CrossRef]
- Parhi, M.; Riedel, M.D.; Parhi, K.K. Effect of bit-level correlation in stochastic computing. In Proceedings of the IEEE International Conference on Digital Signal Processing, Singapore, 21–24 July 2015; pp. 463–467. [Google Scholar]
- Alaghi, A.; Hayes, J.P. Survey of Stochastic Computing. ACM Trans. Embed. Comput. Syst. 2013, 12, 1539–9087. [Google Scholar] [CrossRef]
- O’Neill, P.M.; Badhwar, G.D. Single event upsets for Space Shuttle flights of new general purpose computer memory devices. IEEE Trans. Nucl. Sci. 1994, 41, 1755–1764. [Google Scholar] [CrossRef]
- Li, P.; Lilja, D.J.; Qian, W.; Bazargan, K.; Riedel, M.D. Computation on Stochastic Bit Streams Digital Image Processing Case Studies. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2014, 22, 449–462. [Google Scholar] [CrossRef]
- Brown, B.D.; Card, H.C. Stochastic neural computation. I. Computational elements. IEEE Trans. Comput. 2001, 50, 891–905. [Google Scholar] [CrossRef]
- Zhang, D.; Li, H. A Stochastic-Based FPGA Controller for an Induction Motor Drive With Integrated Neural Network Algorithms. IEEE Trans. Ind. Electron. 2008, 55, 551–561. [Google Scholar] [CrossRef]
- Ravichandran, H.; Zheng, Y.; Schranghamer, T.F.; Trainor, N.; Redwing, J.M.; Das, S. A Monolithic Stochastic Computing Architecture for Energy Efficient Arithmetic. Adv. Mater. 2023, 35, 2206168. [Google Scholar] [CrossRef] [PubMed]
- Irfan, M.; Yantır, H.E.; Ullah, Z.; Cheung, R.C.C. Comp-TCAM: An Adaptable Composite Ternary Content-Addressable Memory on FPGAs. IEEE Embed. Syst. Lett. 2022, 14, 63–66. [Google Scholar] [CrossRef]
- Alawad, M.; Lin, M. Survey of Stochastic-Based Computation Paradigms. IEEE T Emerg. Topics. Comput. 2019, 7, 98–114. [Google Scholar] [CrossRef]
- Park, J.; Park, S.; Kim, Y.; Park, G.; Park, H.; Lho, D.; Cho, K.; Lee, S.; Kim, D.-H.; Kim, J. Polynomial Model-Based Eye Diagram Estimation Methods for LFSR-Based Bit Streams in PRBS Test and Scrambling. IEEE Trans. Electromagn. Compat. 2019, 61, 1867–1875. [Google Scholar] [CrossRef]
- Lammie, C.; Eshraghian, J.K.; Lu, W.D.; Azghadi, M.R. Memristive Stochastic Computing for Deep Learning Parameter Optimization. IEEE Trans. Circuits II 2021, 68, 1650–1654. [Google Scholar] [CrossRef]
- Liu, Y.; Liu, S.; Wang, Y.; Lombardi, F.; Han, J. A Survey of Stochastic Computing Neural Networks for Machine Learning Applications. IEEE Trans. Neur. Net. Lear. 2021, 32, 2809–2824. [Google Scholar] [CrossRef] [PubMed]
- Lunglmayr, M.; Wiesinger, D.; Haselmayr, W. A Stochastic Computing Architecture for Iterative Estimation. IEEE Trans. Circuits II 2020, 67, 580–584. [Google Scholar] [CrossRef]
- Salehi, S.A. Low-Cost Stochastic Number Generators for Stochastic Computing. IEEE Trans. VLSI Syst. 2020, 28, 992–1001. [Google Scholar] [CrossRef] [Green Version]
- Hu, J.; Li, B.; Ma, C.; Lilja, D.; Koester, S.J. Spin-Hall-Effect-Based Stochastic Number Generator for Parallel Stochastic Computing. IEEE Trans. Electron. Dev. 2019, 66, 3620–3627. [Google Scholar] [CrossRef]
- Liu, S.; Han, J. Energy efficient stochastic computing with Sobol sequences. In Proceedings of the Design, Automation & Test in Europe Conference & Exhibition (DATE), Lausanne, Switzerland, 27–31 March 2017; pp. 650–653. [Google Scholar]
- Collinsworth, C.; Salehi, S.A. Stochastic Number Generators with Minimum Probability Conversion Circuits. In Proceedings of the 2021 IEEE Computer Society Annual Symposium on VLSI (ISVLSI), Tampa, FL, USA, 7–9 July 2021; pp. 49–54. [Google Scholar]
- Gupta, P.K.; Kumaresan, R. Binary multiplication with PN sequences. IEEE Trans. Acoust. Speech. 1988, 36, 603–606. [Google Scholar] [CrossRef]
- Wang, Z.; Ban, T. Design, Implementation and Evaluation of Stochastic FIR Filters Based on FPGA. Circuits Syst. Signal. Process. 2023, 42, 1142–1162. [Google Scholar] [CrossRef]
- Nahar, P.; Khandekar, P.; Deshmukh, M.; Jatana, H.S.; Khambete, U. Survey of Stochastic Number Generators and Optimizing Techniques. In Intelligent Systems and Applications; Kulkarni, A.J., Mirjalili, S., Udgata, S.K., Eds.; Lecture Notes in Electrical Engineering; Springer: Singapore, 2021; Volume 959. [Google Scholar]
- Baker, T.J.; Hayes, J.P. CeMux: Maximizing the Accuracy of Stochastic Mux Adders and an Application to Filter Design. ACM Trans. Des. Autom. Electron. Syst. 2022, 27, 1–26. [Google Scholar] [CrossRef]
- Salehi, S.A. Area-Efficient LFSR-Based Stochastic Number Generators with Minimum Correlation. In IEEE Design & Test; IEEE: Piscataway, NJ, USA, 2023. [Google Scholar] [CrossRef]
- Aygun, S.; Najafi, M.H.; Imani, M.; Gunes, E.O. Agile Simulation of Stochastic Computing Image Processing with Contingency Tables. In IEEE Transactions on Computer—Aided Design of Integrated Circuits and Systems; IEEE: Piscataway, NJ, USA, 2023. [Google Scholar] [CrossRef]
- Parhi, K.K. Analysis of stochastic logic circuits in unipolar, bipolar and hybrid formats. In Proceedings of the IEEE International Symposium on Circuits and Systems, Baltimore, MD, USA, 28–31 May 2017; pp. 1–4. [Google Scholar]
- Golomb, W.S. Shift Register Sequences; Aegean Park Press: Laguna Hills, CA, USA, 1981. [Google Scholar]
- Anderson, J.H.; Hara-Azumi, Y.; Yamashita, S. Effect of LFSR seeding, scrambling and feedback polynomial on stochastic computing accuracy. In Proceedings of the 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE), Dresden, Germany, 14–18 March 2016; pp. 1550–1555. [Google Scholar]
- Salehi, S.A. Low-correlation Low-cost Stochastic Number Generators for Stochastic Computing. In Proceedings of the IEEE Global Conference on Signal and Information Processing (GlobalSIP), Ottawa, ON, Canada, 11–14 November 2019; pp. 1–5. [Google Scholar]
k | X | ||||||||
---|---|---|---|---|---|---|---|---|---|
0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
2 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
5 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
6 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
7 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
8 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 |
9 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |
10 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
11 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
12 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 |
13 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
14 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
15 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
k | ||||
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 1 | 1 |
8 | 1 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 1 |
10 | 1 | 0 | 1 | 0 |
11 | 1 | 0 | 1 | 1 |
12 | 1 | 1 | 0 | 0 |
13 | 1 | 1 | 0 | 1 |
14 | 1 | 1 | 1 | 0 |
15 | 1 | 1 | 1 | 1 |
No. of Pattern | c. c. | ||||
---|---|---|---|---|---|
pattern 1 | 1 | 8 | |||
pattern 2 | 0 | 1 | 4 | ||
pattern 3 | 0 | 0 | 1 | 2 | |
pattern 4 | 0 | 0 | 0 | 1 | 1 |
c. c. | ||||
---|---|---|---|---|
0 | 8 | |||
1 | 0 | 4 | ||
1 | 1 | 0 | 2 | |
1 | 1 | 1 | 0 | 1 |
c. c. | ||||
---|---|---|---|---|
0 | 0 | 0 | 0 | 8 |
1 | 0 | 0 | 0 | 4 |
1 | 1 | 0 | 0 | 2 |
1 | 1 | 1 | 0 | 1 |
c. c. | ||||
---|---|---|---|---|
1 | 0 | 0 | 0 | 8 |
0 | 1 | 0 | 0 | 4 |
0 | 0 | 1 | 0 | 2 |
0 | 0 | 0 | 1 | 1 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
López-Magaña, C.; Rivera, J.; Ortega-Cisneros, S.; Sandoval-Ibarra, F.; Del Valle, J.L. A Reduced Hardware SNG for Stochastic Computing. Electronics 2023, 12, 3383. https://doi.org/10.3390/electronics12163383
López-Magaña C, Rivera J, Ortega-Cisneros S, Sandoval-Ibarra F, Del Valle JL. A Reduced Hardware SNG for Stochastic Computing. Electronics. 2023; 12(16):3383. https://doi.org/10.3390/electronics12163383
Chicago/Turabian StyleLópez-Magaña, Carlos, Jorge Rivera, Susana Ortega-Cisneros, Federico Sandoval-Ibarra, and Juan Luis Del Valle. 2023. "A Reduced Hardware SNG for Stochastic Computing" Electronics 12, no. 16: 3383. https://doi.org/10.3390/electronics12163383
APA StyleLópez-Magaña, C., Rivera, J., Ortega-Cisneros, S., Sandoval-Ibarra, F., & Del Valle, J. L. (2023). A Reduced Hardware SNG for Stochastic Computing. Electronics, 12(16), 3383. https://doi.org/10.3390/electronics12163383