Mudancas Recentes - Buscar:

Principal

 Objetivos  
 Ementa  
 Livros 

OAC

LOAC

Professores:

  JOSEANA
  ELMAR

CONTATO

CRÉDITOS

editar



Informações preliminares sobre conceitos básicos de matematica

No exercício anterior escondemos propositalmente a motivação para todas aquelas operações de divisão, para que vocês pudessem se concentrar somente na divisão em si. Agora, finalmente, vamos revelar os "porquês".

O quê é esse numero chamado π ?

Veja este vídeo, especialmente a cena na qual o professor está movimenta a bicicleta dele na garagem dele.

O quê é uma série ?

O quê significa a palavra "convergir" ?

Veja este vídeo.

Motivação do uso de representação hexadecimal

Veja no final do guia do exercício de display de 7 segmentos.

Série de Leibniz para π

π = 4/1 - 4/3 + 4/5 - 4/7 + ...

A série de Leibniz converge para o valor de π.

Calculamos pedaços da série de Leibniz

Definimos a variável vn:

vn = m/a - m/(a+2) + m/(a+4) - m/(a+6) +... , a ∈ 2ℕ-1, n ∈ { 2, 4, 6,... }

com

m = 4*t, m ∈ ℕ, t ∈ { 16, 162, 163, 164,... }

Notas para a aula do cálculo de elementos da série de Leibniz

É preciso atribuir parâmetros com nomes significativos à quantidade de bits por dígito hexadecimal e ao numerador dos elementos da série de Leibniz. Estes parâmetros precisam ser usados no código de maneira sistemática.

Nenhuma linha do arquivo de código pode ter mais do que 80 caracteres, espaços inclusos.

As respostas às perguntas devem estar escritos em comentário dentro do código Systemverilog.

As duas linhas do display LCD devem ser usadas para visualizar dígitos do resultado, iniciando na primeira linha.

resultadonota
Quantos divisores com 12 dígitos fracionários cabem na FPGA ?1/2
Quantos divisores com 15 dígitos fracionários cabem na FPGA ?1/2
Implemente 1 elemento da série com 31 dígitos fracionários.1
Quantos divisores com 31 dígitos fracionários cabem na FPGA ? Implemente.3
Os divisores dentro do PC na sua frente calculam quantos dígitos ?1
Quantos divisores se encontram dentro do PC na sua frente ?1
Os divisores dentro da CPU do seu celular calculam quantos dígitos ?1
Quantos divisores se encontram dentro da CPU do seu celular ?1
Como o PC faz para realizar uma divisão com 31 dígitos ?1

Não é possível obter uma nota de 1/2, é preciso juntar 2 questões que valem 1/2 para ganhar nota 1.

Nesta questão, a palavra "divisor" significa "circuito de divisão" e "dígitos" sempre se refere a dígitos hexadecimais. A expressão "cabem" se refere a "aproveitar pelo menos 80% da FPGA".

"Implemente." quer dizer que você precisa mostrar o resultado no display LCD da placa FPGA e ao mesmo tempo no PC usando o programa pi.py

O sintetizador só sintetiza divisores de até 64 bits quando usamos o operador /. Podemos usar uma instância de um divisor combinatório que funciona para qualquer quantidade de bits dos argumentos. Instancie-o assim:
divi_comb #(.NBITS_DEND( ), .NBITS_SOR( ), .NBITS_Q( )) d1 (.dend( ), .sor( ), .q( ));
                        ^              ^            ^             ^        ^      ^   
                        |              |            |             |        |      |

quantidade de bits do dividendo

quantidade de bits do denominador
quantidade de bits do quociente
entrada para o numerador
entrada para o denominador
saída do quociente

Não é preciso copiar nenhum arquivo. Com NBITS_Q>NBITS_DEND podem-se obter bits fracionários, não tem necessidade de usar um fator de escala para esse fim.

Para quem quer saber detalhes sobre a implementação deste divisor, segue uma cópia da figura 1, incluíndo um parágrafo explicativo, do trabalho "Translation of Division Algorithm into Verilog HDL", Yusmardiah et alii, ARPN Journal of Engineering and Applied Sciences, Vol. 12, No. 10, may 2017:

"Assume that we have dividend, D and divisor, X as an input data, quotient, Q as division result and R as remainder. The steps of the non-restoring algorithm are calculated as visible in Figure-1."

Repare no entanto que o resultado Q deveria ser 0001110, ou seja, só 7 bits. Se for mesmo 8 bits, o resultado correto seria 00011100.

A primeira página deste documento foi usado para fazer os vídeos acima.

© 2008 Profs. Elmar Melcher e Joseana Fechine. Monitores: Sergio Espinola e Fabricio Lelis - DSC/UFCG
Modificada em July 02, 2025, at 11:21 AM