CIRCUITOS ARITMTICOS EN COMA FIJA - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

CIRCUITOS ARITMTICOS EN COMA FIJA

Description:

El n mero de d gitos dedicados a la parte decimal es constante. ... SW utilizadas no interpretan correctamente los n meros decimales, 'no entienden la coma' ... – PowerPoint PPT presentation

Number of Views:68
Avg rating:3.0/5.0
Slides: 32
Provided by: pat135
Category:

less

Transcript and Presenter's Notes

Title: CIRCUITOS ARITMTICOS EN COMA FIJA


1
CIRCUITOS ARITMÉTICOS EN COMA FIJA
  • Tania Mª Fernández García
  • Patricia López Monteagudo
  • Curso 2006-2007

2
Índice
  • Introducción
  • Circuitos Implementados
  • Sumador
  • Restador
  • Multiplicador
  • Circuito de redondeo
  • Truncado
  • Redondeo
  • Divisor

3
Introducción (I)
  • Qué es la coma fija?
  • Es un formato de representación para los
    números reales. El número de dígitos dedicados a
    la parte decimal es constante.
  • Este trabajo aborda dicha representación para
    los números binarios.

4
Introducción (II)
  • Representación binaria de decimales
  • Números positivos
  • 100110,1101102 125 024 023 122
    121 020 12-1 12-2
  • 02-3 12-4 12-5 02-6
    38,8437510
  • Números negativos (en complemento a dos)
  • Se pone como parte entera del número el
    negativo inmediatamente superior en módulo, y a
    continuación, se le suma la parte decimal
  • 100110,1101102 -26 12-1 12-2 02-3
    12-4 12-5 02-6
  • -25,1562510

5
Introducción (III)
  • Las herramientas HW y SW utilizadas no
    interpretan correctamente los números decimales,
    no entienden la coma
  • 1001101101102 248610
  • 100110,1101102 38,8437510
  • Como diseñadores, debemos
  • decidir el formato a utilizar
  • usar aritmética entera
  • interpretar adecuadamente los resultados

6
Introducción (IV)
  • Formato elegido
  • Datos de entrada
  • números de 8 bits
  • 5 dígitos parte decimal
  • Datos de salida
  • número de bits dependiendo de la operación
    realizada
  • 5 dígitos parte decimal

7
Circuitos implementados
  • Sumador
  • Restador
  • Multiplicador
  • Circuito de redondeo
  • Truncado
  • Redondeo
  • Divisor

8
Sumador (I)
  • Formato salida
  • Número de 9 bits
  • 5 dígitos para decimales
  • Ejemplo

01011101(9310) 11001000(20010)
100100101(29310)
010,11101(2,9062510) 110,01000(6,2510)
1001,00101(9,1562510)
9
Sumador (II)
  • Bloque implementado

10
Sumador (III)
  • Test bench

11
Sumador (IV)
  • Observaciones
  • 1bit más para la parte entera (3 ? 4 bits)
  • Parte decimal constante en longitud
  • Problema
  • Sumar el resultado obtenido con un número con el
    formato prefijado (3bits,5bits)

12
Sumador (V)
  • Solución
  • Adaptar el número con el viejo formato a la nueva
    representación

13
Restador (I)
  • Formato salida
  • Número de 9 bits (en ca2)
  • 5 dígitos para decimales
  • Ejemplos

111,11111(7,9687510) - 111,11010(7,812510)
0000,00101(0,1562510)
111,11010(7,812510) - 111,11111(7,9687510)
1111,11011(-0,1562510)
14
Restador (II)
  • Bloque implementado

15
Restador (III)
  • Test bench

16
Multiplicador (I)
  • Formato salida
  • Número de 11 bits
  • 5 dígitos para decimales
  • Ejemplo

010,11101(2,9062510)
110,01000(6,2510) 01011101000 010111
0100 01011101
010010,0010101000(18,164062510)
17
Multiplicador (II)
  • Problema
  • La salida produce el doble de bits. La parte
    entera no podemos reajustarla, pues daría un
    resultado incorrecto. La parte decimal, para
    ajustarse al formato de 5 bits de coma fija
    adoptado, debemos modificarla.
  • Solución
  • Implementación de un circuito de redondeo, como
    veremos posteriormente.

18
Multiplicador (III)
  • Bloque implementado

19
Multiplicador (IV)
  • Test bench

20
Circuito de redondeo (I)
  • Entrada
  • Número de 16 bits
  • 6 bits parte entera y 10 bits parte decimal
  • Salida
  • Número de 11 bits
  • 6 bits parte entera y 5 bits parte decimal
  • 2 formas de implementación
  • Truncado
  • Redondeo

21
Circuito de redondeo (II)
  • Bloque implementado

22
Circuito de redondeo (III)
  • TRUNCADO
  • Simplemente eliminamos los 5 últimos bits del
    número.
  • REDONDEO
  • Comprobamos el valor del bit de peso -6
  • Tiene valor 0 ? Nos quedamos con los 5 primeros
    bits de la parte decimal.
  • Tiene valor 1 ? Nos quedamos con los 5 primeros
    bits y le sumamos 1.

23
Circuito de redondeo (IV)
  • Ejemplos
  • Entrada 111110,11111100002 62,98437510
  • 111110,111112 62,9687510
  • 111111,000002 6310
  • Entrada 111111,11111011112 63,98339843710
  • 111111,111112 63,9687510
  • 111111,111112 63,9687510

TRUNCADO
REDONDEO
TRUNCADO
REDONDEO
24
Circuito de redondeo (V)
  • Test bench
  • Redondeo
  • Truncado

25
Circuito de redondeo (VI)
  • Qué circuito elegimos?
  • En función de la precisión necesaria y de los
    recursos lógicos utilizados.
  • Redondeo
  • LUTs 22 out of 3,840 1
  • Slices 12 out of 1,920 1
  • IOBs 23 out of 173 13
  • Number of Equivalent Gates 132
  • Truncado
  • IOBs 22 out of 173 12

26
Divisor (I)
  • Formato salida
  • Número de 13 bits
  • 5 dígitos para decimales
  • Ejemplo
  • Problema sólo obtenemos la parte entera.

27
Divisor (II)
  • Solución

28
Divisor (III)
  • Algoritmo utilizado

29
Divisor (IV)
  • Bloque implementado

30
Divisor (V)
  • Test bench

31
Divisor (VI)
Write a Comment
User Comments (0)
About PowerShow.com