Yüksek Hızlı FPGA ile Yeni Bir LFSR Tabanlı 32-Bit Kayan Noktalı Rastgele Sayı Üreteci Tasarımı

Bu çalışmada IEEE 754 kayan noktalı sayı standardına uygun “0” ile “1” arasında 32-bit rasgele sayı üretimi gerçekleştiren sayısal bir devre tasarımı gerçekleştirilmiştir. Bu sayısal devrede rasgele sayılar 32-bit uzunluğunda doğrusal geri beslemeli kayan yazmaç (LFSR) yöntemi ile üretilmekte olduğundan dolayı tekrarlama periyodu son derece uzundur. Rasgele sayılar üretilirken sola kaydırma işlemi 24-bit üzerinden gerçekleştirilmiş, MSB tarafındaki ilk dört bit sabit bırakılırken ikinci dört bit ise LSB tarafındaki ilk dört bitin değerine göre üç değer arasından seçilmiştir. Çünkü “0” ile “1” arasındaki sayıların alabileceği değerler incelendiğinde MSB ilk dört bitin sabit olduğu ikinci dört bitin ise sadece üç değer alabildiği gözlemlenmiştir. Üretilen sayıların normal bir dağılıma sahip olabilmesi adına tasarlanan sayısal devrede 0 – 24 bit arasından seçilen iki bitin özel veya işleminden geçirilmesinden sonra elde edilen değerin 0.bit olarak atanması ve diğer bitlerin sola kaydırılması şeklinde gerçekleştirilmiştir. Sayısal devre VHDL donanım tanımlama dili ile tasarlanmış, test işlemleri ise Vivado IDE arabirimi vasıtasıyla simüle edildikten sonra Xilinx Nexys 4 DDR FPGA aygıtı ile gerçekleştirilmiştir.

Design of a New LFSR Based 32-Bit Floating Random Number Generator with High Speed FPGA

In this study, a digital circuit design which performs 32-bit random number generation between “0” and “1” in accordance with IEEE 754 floating point number standard is realized. Since the random numbers in this digital circuit are generated by the 32-bit linear feedback shift register (LFSR) method, the repetition period is extremely long. When generating random numbers, the first 24-bit is shifted to the left and the last four bits are left constant. Bits 27-24 are selected from three options according to the values taken by bits 0-3. Because, when the values that can be taken from 0 to 1 are examined, it is observed that the first four bits are fixed and the second four bits can only take three values. In the digital circuit designed to have a normal distribution of the random numbers generated, two bits selected from 0 - 24 bits are processed as "special or" and the value obtained is assigned as 0.bit and the other bits are shifted to the left. The digital circuit was designed with VHDL hardware description language, the test operations were simulated via the Vivado IDE interface and was realized the Xilinx Nexys 4 DDR FPGA device.

___

  • [1] M. Hendrik, S. Meijer, J. V. D. Velden ve A. Iosup, «Procedural content generation for games: A survey» içinde ACM Transactions on Multimedia Computing, Communications, and Applications, 2013.
  • [2] F. Özkaynak, «Cryptographically secure random number generator with chaotic additional input,» Nonlinear Dynamics, cilt 78, pp. 2015-2020, 2014.
  • [3] M. Çavuşlu, C. Karakuzu ve S. Şahin, «Parçacık Sürü Optimizasyonu Algoritması ile Yapay Sinir Ağı Eğitiminin FPGA Üzerinde Donanımsal Gerçeklenmesi,» Politeknik Dergisi, cilt 13, pp. 83-92, 2010.
  • [4] D. Knuth, The Art of Programming, cilt 3th Edition, Addison Wesley Lognman, 1997.
  • [5] B. Ripley, «Computer Generation of Random Variables: A Tutorial,» International Statistical Review, cilt 51, pp. 301-3019, 1983.
  • [6] F. James, «A review of pseudorandom number generators,» Computer Physics Communications, cilt 60, pp. 329-344, 1990.
  • [7] J. Lagarias, «Pseudorandom Number Generators in Cryptography and Number Theory,» Advanced Mathematics, cilt 42, pp. 115-143, 1990.
  • [8] A. Akhshani, A. Akhavan, A. Mobaraki, S. Lim ve Z. Hassan, «Pseudo random number generator based on quantum chaotic map,» Communications in Nonlinear Science and Numerical Simulation, cilt 19, pp. 101-111, 2014.
  • [9] I. Koyuncu, A. Ozcerit, I. Pehlivan ve E. Avaroglu, «Design and implementation of chaos based true random number generator on FPGA,» %1 içinde Signal Processing and Communications Applications Conference, 2014.
  • [10] Y. Genç ve S. Tuncer, «İnsan Hareketleri Tabanlı Gerçek Rasgele Sayı Üretimi,» BEÜ Fen Bilimleri Dergisi, cilt 8, pp. 261-269, 2019.
  • [11] A. Khalique, A. Lone ve S. Ashraf, «A Novel Unpredictable Temporal based Pseudo Random Number Generator,» International Journal of Computer Applications, cilt 117, pp. 975-987, 2015.
  • [12] F. Özkaynak, «Kriptolojik Rasgele Sayı Üreteçleri,» Türkiye Bilişim Vakfı Bilgisayar Bilimleri ve Mühendisliği Dergisi, cilt 8, pp. 37-44, 2015.
  • [13] Ö. Aydın ve G. Dalkılıç, «Nesnelerin İnterneti için Sözderastsal Sayı Üreteci: Birleştirilmiş Doğrusal Geri Beslemeli Öteleyici Saklayıcı,» %1 içinde Akıllı Teknoloji & Akıllı Yönetim, İzmir, Gülermat Matbaacılık, 2016, pp. 121-129.
  • [14] S. Falih, «A Pseudorandom Binary Generator Based on Chaotic Linear Feedback Shift Register,» Iraq J. Electrical and Electronic Engineering, cilt 12, pp. 155-160, 2016.
  • [15] F. Masoodi ve S. Alam, «An Analysis of Linear Feedback Shift Registers in Stream Ciphers,» International Journal of Computer Applications, cilt 46, pp. 46-49, 2012.
  • [16] A. Panda, P. Rajput ve B. Shukla, «FPGA implementation of 8, 16 and 32 bit LFSR with maximum length feedback polynomial using VHDL,» %1 içinde International Conference on Communication Systems and Network Technologies, Rajkot, 2012.
  • [17] A. Rezk, A. Madian, A. Radwan ve A. Soliman, «Reconfigurable chaotic pseudo random number generator based on FPGA,» AEU - International Journal of Electronics and Communications, cilt 98, pp. 174-180, 2019.
  • [18] G. Stanchieri, A. Marcellis, E. Palange ve M. Faccio, «A true random number generator architecture based on a reduced number of FPGA primitives,» AEU - International Journal of Electronics and Communications, cilt 105, pp. 15-23, 2019.
  • [19] İ. Koyuncu ve A. Özcerit, «The design and realization of a new high speed FPGA-based chaotic true random number generator,» Computers & Electrical Engineering, cilt 58, pp. 203-214, 2017.
  • [20] A. George, R. Sharma ve S. Rao, «IEEE 754 floating-point addition for neuromorphic architecture,» Neurocomputing, 2019.
  • [21] G. Melquiond, «Floating-point arithmetic in the Coq system,» Information and Computation, cilt 216, pp. 14-23, 2012.
  • [22] R. Parte ve J. Jain, «Analysis of Effects of using Exponent Adders in IEEE-754 Multiplier by VHDL,» %1 içinde International Conference on Circuits, Power and Computing Technologies, Nagercoil, 2015.
  • [23] Y. Lin, F. Wang ve B. Liu, «Random number generators for large-scale parallel Monte Carlo simulations on FPGA,» Journal of Computational Physics, cilt 360, pp. 93-103, 2018.
  • [24] A.Akhshani, A. Akhavan, A. Mobaraki, S. Lim ve Z. Hassan, «Pseudo random number generator based on quantum chaotic map,» Communications in Nonlinear Science and Numerical Simulation, cilt 19, pp. 101-111, 2014.
  • [25] S. Dereli ve R. Köker, «IW-PSO approach to the inverse kinematics problem solution of a 7-DOF serial robot manipulator,» Sigma J Eng Nat Sci, cilt 36, pp. 77-85, 2018.
International Journal of Advances in Engineering and Pure Sciences-Cover
  • Yayın Aralığı: Yılda 4 Sayı
  • Başlangıç: 2008
  • Yayıncı: Marmara Üniversitesi