Vous êtes sur la page 1sur 15

Arquitectura de Computadoras

ASIGNATURA PROFESOR TEMA TRABAJO ESTUDIANTES

: : : : :

ARQUITECTURA DE COMPUTADORA Zenn Cucho Mendoza VHDL LABORATORIO N 7 Zuiga trigoso Harvy Rommel Orrego Gutierrez Johan Orrego 090048I 090627I

2013

Escuela de Ingeniera Elctrica y Electrnica

Arquitectura de Computadoras CIRCUITOS ALU

DEFINICION: En computacin, la unidad aritmtico lgica, tambin conocida como ALU (siglas en ingls de arithmetic logic unit), es un circuito digital que calcula operaciones aritmticas (como suma, resta, multiplicacin, etc.) y operaciones lgicas (si, y, o, no), entre dos nmeros. Muchos tipos de circuitos electrnicos necesitan realizar algn tipo de operacin aritmtica, as que incluso el circuito dentro de un reloj digital tendr una ALU minscula que se mantiene sumando 1 al tiempo actual, y se mantiene comprobando si debe activar el sonido de la alarma, etc. Por mucho, los ms complejos circuitos electrnicos son los que estn construidos dentro de los chips de microprocesadores modernos. Por lo tanto, estos procesadores tienen dentro de ellos un ALU muy complejo y potente. De hecho, un microprocesador moderno (y los mainframes) puede tener mltiples ncleos, cada ncleo con mltiples unidades de ejecucin, cada una de ellas con mltiples ALU.

DISEO DE UNA UNIDAD ARITMTICA LGICA En el diseo de una ALU se deben seguir los siguientes pasos: Disear la seccin aritmtica independientemente de la seccin lgica. Determinar las operaciones lgicas del circuito aritmtico, asumiendo que los acarreos de salida de todas las etapas son 0. Modificar el circuito aritmtico para obtener las operaciones lgica requerida.

El diseo simple de una ALU se hace utilizando el sumador completo para generar las operaciones lgicas de la unidad. Por lo tanto es necesario introducir una variable de control adicional), con el fin de seleccionar entre las operaciones lgicas y aritmticas. En este diseo, un valor. Recordando la salida de un sumador completo.

LOS COMANDOS A UTILIZAR EN ESTA SIMULACIN ES: ENTITY: La entidad en VHDL es simplemente la declaracin de las entradas y salidas de un mdulo. PORT: Representan los puertos de nuestra entidad (entrada y salida) pudiendo estar ser del tipo in (entradas); out (Salidas). Y estos a su vez pudiendo ser del tipo vectores. Declarando con in std_logic_vector (7 down o).

Escuela de Ingeniera Elctrica y Electrnica

Arquitectura de Computadoras ARCHITECTURE Representa la arquitectura de nuestro circuito, mejor dicho, la manera como vemos el circuito, esta puede ser funcional, de datos o de estructura (representando las conexiones como un netlist). En la arquitectura se describe el funcionamiento y las operaciones que hacen las variables para conseguir la salida. A la ARCHITECTURA es necesario ponerle un nombre, seguido de OF y el nombre de la entidad y seguido esta de IS. BEGIN Representa el comienzo del contenido de la ARCHITECTURE. WHEN Representa un comando empleado en la arquitectura de flujo de datos con el fin de tener varios valores operndose al mismo tiempo, pero solamente 1 ser para una determinada condicin. Sera el equivalente de IF-then-else de la arquitectura funcional. STD_LOGIC_VECTOR (7 DOWNTO 0) Representan vectores de datos binarios, ordenados de forma descendente, segn entonces nuestro dato tendra un nmero binario (8 bits) de longitud. + -: Operaciones aritmticas, utilizada para sumar nmeros, no presenta acarreo de salida Otros: asignamos en la librera: use ieee.std_logic_unsigned.all; la nuevas entidades: when else.

Escuela de Ingeniera Elctrica y Electrnica

Arquitectura de Computadoras INFORME PREVIO 1. Implementar un Sumador Completo

En electrnica un sumador es un circuito lgico que calcula la operacin suma. En los computadores modernos se encuentra en lo que se denomina Unidad aritmtico lgica (ALU). Generalmente realizan las operaciones aritmticas en cdigo binario decimal o BCD exceso 3, por regla general los sumadores emplean el sistema binario. En los casos en los que se est empleando un complemento a dos para representar nmeros negativos el sumador se convertir en un sumador-restador (Addersubtracter). Las entradas son A,B,Cin que son la entradas de bits A y B, y Cin es la entrada de acarreo. Por otra parte, la salida es S y Cout es la salida de acarreo.

Tabla de estados En la siguiente tabla muestra los resultados de este circuito.

Entrada

Salida

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

0 0 0 1 0 1 1 1

0 1 1 0 1 0 0 1

Escuela de Ingeniera Elctrica y Electrnica

Arquitectura de Computadoras Funcion de Salida La forma de las funciones para el acarreo y la suma respectivamente son: S = a'b'Ci + a'bCi' + ab'Ci' + abCi Co = a'bCi + ab'Ci + abCi' + abCi Co = a'bCi + ab'Ci + ab Programacin

Simulacin

Escuela de Ingeniera Elctrica y Electrnica

Arquitectura de Computadoras 2. Implementar un Demultiplexor 1x4

Tabla de estados En la siguiente tabla muestra los resultados de este circuito.

E2 0 0 0 0 1 1 1 1

E1 0 0 1 1 0 0 1 1

E 0 1 0 1 0 1 0 1

S4 0 0 0 0 0 0 0 1

S3 0 0 0 0 0 1 0 0

S2 0 0 0 1 0 0 0 0

S1 0 1 0 0 0 0 0 0

Funcion de Salida Las funciones de las salidas deducidas de la tabla de verdad son:

No tienen posible simplificacin al tener un slo trmino cada una.

Escuela de Ingeniera Elctrica y Electrnica

Arquitectura de Computadoras

Circuito Lgico

Programacin

Simulacin

Escuela de Ingeniera Elctrica y Electrnica

Arquitectura de Computadoras 3. Funcin

A B C

0 0 0 0.1+0.0 0 0 0 1 0.1+0.1 0 0 1 0 0.0+0.0 0 0 1 1 0.0+0.1 0 1 0 0 1.1+1.0 1 1 0 1 1.1+1.1 1 1 1 0 1.0+1.0 0 1 1 1 1.0+1.1 1 Programacin

Simulacin

Escuela de Ingeniera Elctrica y Electrnica

Arquitectura de Computadoras

4. Funcin mayora para 3 entradas de 1

A B C 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0.1+0.0 0.1+0.1 0.0+0.0 0.0+0.1 1.1+1.0 1.1+1.1 1.0+1.0 1.0+1.1

F 0 0 0 1 0 1 1 1

Programacin

Simulacin

INFORME FINAL Implementar una unidad aritmtica y lgica de un (ALU) de 1 bit. El circuito debe contar con las siguientes operaciones:

Escuela de Ingeniera Elctrica y Electrnica

Arquitectura de Computadoras 1. Alumno 1

S1 0 0 1 1

S0 0 1 0 1

INSTRUCCIN Incremento A XOR Decremento B Resta A - B

Comenzaremos haciendo la lgica para cada caso de los selectores: INCREMENTEO A WHEN 00 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Ci 0 1 0 1 0 1 0 1 F 1 0 1 0 0 1 0 1 Co 0 1 0 1 1 1 1 1 Para F: A 0 0 Ci 1 1 Ci 0 0 A 1 1 Ci B B

F= A.Ci + A.Ci= A norx Ci Para Co: A 1 1 Ci Co = A+ Ci 1 1 Ci 1 1 A 0 0 Ci B B

A xor B WHEN 01 A 0 0 B 0 0 Ci 0 1 F 0 0 Co 0 0

Escuela de Ingeniera Elctrica y Electrnica

Arquitectura de Computadoras 0 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 Para F: A 0 1 Ci 0 1 Ci 1 0 A 1 0 Ci B B

F = AB+AB = A xor B

DECREMENTO B WHEN 10 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Ci 0 1 0 1 0 1 0 1 F 1 0 0 1 1 0 0 1 Co 0 1 0 0 0 1 0 0 Para F: A 0 1 Ci 1 0 Ci 1 0 A 0 1 Ci B B

F = B.Ci+B.Ci = B xnor Ci Para Co: A 0 0 Ci 0 1 Ci Co = Ci.B 0 1 A 0 0 Ci B B

RESTA A-B WHEN 11 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Ci 0 1 0 1 0 1 0 1 F 0 1 1 0 1 0 0 1 Co 0 0 0 1 0 1 0 0 0 1 Ci A

Para F = A xor B xor Ci A 1 0 Ci 0 1 1 0 Ci B B

Para Co = Ci and (A xor B) A 0 0 Ci 0 1 Ci 1 0 A 0 0 Ci B B

Programacin Ahora pasamos con la programacin en VHLD:

Escuela de Ingeniera Elctrica y Electrnica

Arquitectura de Computadoras

Simulacin

Escuela de Ingeniera Elctrica y Electrnica

Arquitectura de Computadoras 2. Alumno 2

S1 0 0 1 1

S0 0 1 0 1

INSTRUCCIN NAND Comp-a 2 de B Suma Incremento B

Comenzaremos haciendo la lgica para cada caso de los selectores:

NAND WHEN 00 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Ci 0 1 0 1 0 1 0 1 F 1 1 1 1 1 1 0 0 Co 0 0 0 0 0 0 0 0 Para F: A 0 1 Ci 0 1 Ci 1 1 A 1 1 Ci B B

F = A + B

Comp-a 2 de B WHEN 01 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Ci 0 1 0 1 0 1 0 1 F 1 0 0 1 1 0 0 1 Co 0 1 0 0 0 1 0 0 Para F: A 0 1 Ci 1 0 Ci 1 0 A 0 1 Ci B B

F = B.Ci+B.Ci = B xnor Ci Para Co:

Escuela de Ingeniera Elctrica y Electrnica

Arquitectura de Computadoras

A 0 0 Ci 0 1 Ci Co = Ci.B 0 1

A 0 0 Ci B B

Suma WHEN 10

Para F = ABCi+ABCi+ABCi+ABCi=A(BCi+BCI)+A(BCi+BC) F=A(B xor Ci) + A(B xnor Ci)

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

Ci 0 1 0 1 0 1 0 1

F 0 1 1 0 1 0 0 1

Co 0 0 0 1 0 1 1 1 0 1 Ci

A 1 0 Ci 0 1

A 1 0 Ci B B

Para Co = AB + BCi + ACi A 1 0 Ci 1 1 Ci 1 0 A 0 0 Ci B B

INCREMENTO B WHEN 11 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Ci 0 1 0 1 0 1 0 1 F 1 0 0 1 1 0 0 1 Co 0 1 1 1 0 1 1 1 Para F: A 0 1 Ci 1 0 Ci 1 0 A 0 1 Ci B B

F= BCi + BCi = B xnor Ci Para Co: A 1 0 Ci Co = B+ Ci 1 1 Ci 1 1 A 1 0 Ci B B

Programacin

Escuela de Ingeniera Elctrica y Electrnica

Arquitectura de Computadoras Ahora pasamos con la programacin en VHLD:

Simulacin

Escuela de Ingeniera Elctrica y Electrnica

Vous aimerez peut-être aussi