davischmitz / FPU_IEEE754

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Projeto de unidade de aritmética em ponto flutuante (FPU) com padrão IEE754

  • A FPU implementada leva em consideração a estrutura de numeros de precisão simples (32 bits) conforme o padrão IEEE 754:

image

  • 1 bit para sinal (bit 31): 0 - positivo; 1 - negativo
  • 8 bits são para expoente (bits 30 à 23): o valor do expoente é acrescido de 127 para não ter informações negativas no expoente e considerar possíveis números fracionários negativos como inteiros para fins de comparacão, sendo assim, o valor do expoente está entre -127 e +127
  • 23 bits para representar a parte fracionária do número, também chamada de mantissa (bits 22 à 0)

Estrutura da FPU

image

  • op[1:0]: seleciona qual operação será utilizada (soma ou subtração)
  • out[31:0]: número equivalente a saída da operação no padrão 754
  • sinalização de overflow: quando não tem bits suficientes para representar o número
  • sinalização de underflow: quando não tem precisão suficiente para mostrar o número (caso do número ser muito pequeno)

Operações

  • Soma: TODO explicação
  • Subtração: TODO explicação

Implementacão da FPU no Logisim

  • Na entrada do circuito, foi colocada uma entrada de 1 bit para o seletor, que indica qual operação será realizada (soma ou subtração)
  • Na entrada e saída do circuito, há registradores que para armazenar as entradas e o resultado da operação
  • Registradores de entrada ativos na borda de subida do clock
  • Registradores de saída ativos na borda de descida do clock
Código das operações
  • 00 -> soma
  • 01 -> subtração

About


Languages

Language:C 53.7%Language:Assembly 46.3%