Journals / International Journal of Advances in Engineering and Pure Sciences / 2020 / Cilt: 32 - Sayı: 3
Design of a New LFSR Based 32-Bit Floating Random Number Generator with High Speed FPGA
- Pages
- 219–228
- DOI
- —
Abstract
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.
Özet
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.