You are on page 1of 17

ITESM-CEM

Departamento
Departamento de Mecatrnica
Carrera
Ingeniera en Sistemas Digitales y Robtica
Nombre del curso y clave
Sistemas Digitales Avanzados (TE2030)
Nombre del proyecto
Diseo de una Unidad Aritmtica Lgica
Elaborado por
Andrs Alonso Chaparro Espinosa A01020199
Profesor
Dr. Andrs David Garca Garca
Fecha
9 de Diciembre del 2014

Diseo de una Unidad Aritmtica Lgica


En este reporte se presenta el proceso de diseo de una Unidad Aritmtica Lgica (ALU) que
realiza operaciones de 8 bits (a excepcin de la multiplicacin y la division que solamente realizan
operaciones de 4 bits) mediante el uso del lenguaje de descripcin VHDL y al final se utiliza la
herramienta QUARTUS II de Altera para comprobar la correcta funcionalidad del diseo con una
simulacin funcional.

Existen muchas formas de disear una ALU pero al final deben de realizar las operaciones
aritmticas y lgicas bsicas; suma, resta, multiplicacin, divisin, and, or, xor, not. El diseo aqu
presentado realiza todas las operaciones antes mencionadas, su estructura principal consiste en
un contador, un comparador, registros ,un sumador-restador y una maquina de estados que hace
funcin de controlador.
A continuacin se presenta la descripcin mediante VHDL y una imagen que representan la
entidad principal del diseo.

Descripcin de entidad de la ALU mediante VHDL.

B
8 bits

8 bits
ZERO

4 bits
SELECTOR_IN

OVERFLOW

ALU

CARRYOUT

CLEAR
CLK

PARITY

8 bits

CONTEO

8 bits

SALIDA

8 bits

RESIDUO

La ALU esta conformada de dos componentes principales; un contador y un sumador restador,


ambos de 8 bits. A continuacin se muestra la descripcin en VHDL de cada componente:

LOOKAHEAD ADDER DE 8 BITS:

descripcin VHDL del sumador LOOKAHEAD de 8 bits

descripcin VHDL del sumador LOOKAHEAD de 8 bits (continuacin)

SUMADOR RESTADOR DE 8 BITS UTILIZANDO EL LOOKAHEAD ADDER


B

8 bits

8 bits

LOOKAHEAD
SUM-REST

OVER
Cout

8 bits

Gout
Pout

Cin

descripcin VHDL del sumador -restador LOOKAHEAD de 8 bits (continuacin)

CONTADOR ASCENDENTE DESCENDENTE DE 8 BITS CON TODAS LAS


CARACTERSTICAS

ENT
START
8 bits

RESET

CONTADOR
8 BITS
8 bits

COUNT

descripcin VHDL del CONTADOR de 8 bits

LOAD
UP/DOWN
CLK_IN

MQUINA DE ESTADOS
Cada operacin realizada por la ALU esta controlada por una mquina de estados cuyos estados
dependen de una entrada de seleccin y una seal de reloj.

descripcin de la Mquina de Estados de la ALU

Arquitectura de la ALU

Declaracin de los
componente a utilizar

Seales

Inicio de la descripcin de la arquitectura

Asignacin de salidas, banderas, resultados,


etc.

Primer proceso: describe cada uno de los registros que se utilizan, adems hace que todo el
circuito y cambios de estado dependan del flanco positivo de reloj

Reset

Registro de salida

Registro de entrada A

Registro de entrada B

Registro de entrada de Seleccin

Registro del residuo de la divisin

Registro del carry


Registro del residuo de la divisin 2
Registro de Salida 2
Cambio de estado

DESCRIPCIN DE LA MQUINA DE ESTADOS

ESTADO IDLE

ESTADO: SUMA

ESTADO: RESTA A-B

ESTADO: RESTA B-A

ESTADO: NOT A

ESTADO: AND

ESTADO: XOR

ESTADO: OR


ESTADO: MULTIPLICACION

ESTADO: DIVISION B/A

ESTADO: DIVISION A/B

SIMULACIN FUNCIONAL

SUMA: 120 + 115 = 235

RESTA A-B: 120 - 115 = 5

RESTA B-A: 115 - 120 = -5


5 COMPLEMENTADO A 2 = 251

MULTIPLICACION A x B: 15 x 13 = 195

DIVISIN A/B = 15 / 3 = 5 , RESIDUO = 0

A AND B = 9 AND 3 = 1:

A OR B = 3(00000011) OR 9(00001001) = 11

A XOR B = 3(00000011) XOR 9(00001001) = 10

NOT A = NOT 00000011 (3) = 11111100 (252)