Please use this identifier to cite or link to this item:
http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/19055
Title: | Implementação de um gerador de números aleatórios gaussianos em hardware. |
Other Titles: | Implementation of a Gaussian random number generator in hardware. |
???metadata.dc.creator???: | FERNANDES, Kaio Kikelisson de Lima. |
???metadata.dc.contributor.advisor1???: | MORAIS, Marcos Ricardo Alcântara. |
???metadata.dc.contributor.referee1???: | SANTOS JÚNIOR, Gutemberg Gonçalves dos. |
Keywords: | Distribuições aleatórias;Geração de números aleatórios;Gerador de números aleatórios gaussianos;Números aleatórios gaussianos;Modelagem matemática em Python;Register Transfer Level - RTL;Gaussian Random Number Generator - GRNG;Uniform Random Number Generator - URNG;Random distributions;Generation of random numbers;Gaussian random number generator;Gaussian random numbers;Python mathematical modeling |
Issue Date: | 11-Dec-2019 |
Publisher: | Universidade Federal de Campina Grande |
Citation: | FERNANDES, Kaio Nikelisson de Lima. Implementação de um gerador de números aleatórios gaussianos em hardware. 2019. 63f. (Trabalho de Conclusão de Curso - Monografia), Curso de Bacharelado em Engenharia Elétrica, Centro de Engenharia Elétrica e Informática , Universidade Federal de Campina Grande – Paraíba - Brasil, 2019. Disponível em: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/19055 |
???metadata.dc.description.resumo???: | Distribuições aleatórias tem se tornado elementos fundamentais para o desenvolvimento da ciência em diversas área. Entretanto, a geração de números aleatórios em sistemas digitais foi e continua sendo um desafio na medida em que não é possível converter um sistema determinístico em uma máquina capaz de gerar eventos estocástico. Para vencer essas limitações, foram desenvolvidos diversos métodos que implementam pseudo-geradores de números aleatórios. Esse trabalho tem como objetivo implementar, em hardware, um gerador de números aleatórios gaussianos baseado no método de inversão e adotando duas arquiteturas: LUT e MCM. Para tal, foram desenvolvidos modelos matemáticos em Python para validar o método de geração e verificar a funcionalidade das implementações executadas em RTL. Em consequência, as duas arquiteturas foram implementadas em Verilog e verificadas por meio de simulações, obtendo valores de média e desvio padrão dentro do esperado. Além disso, as propostas foram sintetizadas utilizando tecnologias de 28nm e 45nm, o que mostrou considerável superioridade da arquitetura utilizando LUT em termos de frequência, área e potência. Não obstante os resultados obtidos, pode-se reconhecer o potencial de aplicação de estruturas de MCM em sistemas com multiplicações fixas que possuam menor complexidade. |
Abstract: | Random distributions have become fundamental elements to the science development in many areas. However, the random number generation in digital systems was and will continue to be big challenge considering that it’s not possible to convert a deterministic system into a machine capable of generating stochastic events. To overcome these limitations, many methods were developed to implement pseudo-random number generators. This project aims to implement, in hardware, a Gaussian random number generator based in the inversion’s method and adopting two main architectures: LUT and MCM. To accomplish that, mathematical models were developed in Python to validate the generation method and to functionally verify the RTL implementations. Consequently, the two architectures were build in Verilog and verified by digital simulations, achieving mean and standard deviation values as expected. Besides that, the proposals were synthesized using a 28nm and 45nm technology that ended presenting considerable LUT’s implementation superiority regarding timing, area and power. Nonetheless the results obtained, it was possible to recognize MCM’s structures application potential in system needing fixed multiplications with less complexity than the ones addressed in this project. |
Keywords: | Distribuições aleatórias Geração de números aleatórios Gerador de números aleatórios gaussianos Números aleatórios gaussianos Modelagem matemática em Python Register Transfer Level - RTL Gaussian Random Number Generator - GRNG Uniform Random Number Generator - URNG Random distributions Generation of random numbers Gaussian random number generator Gaussian random numbers Python mathematical modeling |
???metadata.dc.subject.cnpq???: | Engenharia Elétrica. |
URI: | http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/19055 |
Appears in Collections: | Curso de Bacharelado em Engenharia Elétrica - CEEI - Monografias |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
KAIO NIKELISSON DE LIMA FERNANDES - TCC ENG. ELÉTRICA 2019.pdf | Kaio Nikelisson de Lima Fernandes - TCC Eng. Elétrica 2019. | 1.66 MB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.