0% encontró este documento útil (0 votos)
24 vistas17 páginas

Labo 3

El informe detalla un laboratorio sobre la Unidad Aritmética y Lógica (ALU) utilizando VHDL y MICROSEX para verificar su funcionamiento y ampliar sus operaciones lógicas. Se analizan las funciones aritméticas y lógicas, el comportamiento de las banderas, y se realizan pruebas experimentales con datos signados y no signados. El objetivo es comprobar el módulo ALU, analizar el tiempo de ejecución y verificar los resultados de las secuencias analizadas.

Cargado por

Macos Chura
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas17 páginas

Labo 3

El informe detalla un laboratorio sobre la Unidad Aritmética y Lógica (ALU) utilizando VHDL y MICROSEX para verificar su funcionamiento y ampliar sus operaciones lógicas. Se analizan las funciones aritméticas y lógicas, el comportamiento de las banderas, y se realizan pruebas experimentales con datos signados y no signados. El objetivo es comprobar el módulo ALU, analizar el tiempo de ejecución y verificar los resultados de las secuencias analizadas.

Cargado por

Macos Chura
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

lOMoARcPSD|58874548

ETN-801 Informe 3 L5 - LABORATORIO

Microprocesadores (Universidad Mayor de San Andrés)

Scan to open on Studocu

Studocu is not sponsored or endorsed by any college or university


Downloaded by Marcos Chura condori ([email protected])
lOMoARcPSD|58874548

Tema: Unidad Aritmética y Lógica fecha: 13/03/22

UNIVERSIDAD MAYOR DE SAN ANDRÉS


FACULTAD DE INGENIERÍA
INGENIERÍA ELECTRÓNICA

UNIDAD ARITMETICA Y LOGICA


INFORME: N° 3
Fecha: 13/03/2022
Grupo: L5
Nombres: - Vania Cindy Laura Mamani
- Leidy Melany Arias Llampaso
Docente: Ing. Marcelo Ramírez M.

LA PAZ - BOLIVIA

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Tema: Unidad Aritmética y Lógica fecha: 13/03/22

Resumen

Este laboratorio se basa en la verificación del funcionamiento de la ALU, con el apoyo de las
herramientas de software VHDL y MICROSEX. Para ello se debe considerar ampliar las funciones
realizadas en la unidad básica del cálculo “UBC”, incorporando en su arquitectura operaciones
lógicas. También se estudiará el comportamiento de las banderas y el generador de condicionales
simples y compuestos, ante la presencia de operaciones con números signados y no signados.

Además, realizada la secuencia descriptiva para la operación, se ejecutan las funciones nuevas con
la ayuda del emulador, que a partir de la señal de control 𝒔𝟔:𝟎 y los datos proporcionados en la
entrada, realiza una sesión experimental a través del módulo (modulo_ALU) el cual extrae los
resultados en el código hexadecimal.

1. INTRODUCCION

La unidad aritmética y lógica” ALU”, genera funciones lógicas y/o aritméticas nuevas a partir
incorporación de funciones lógicas (AND, OR, XOR) en la unidad básica del cálculo “UBC”.

El ALU en su estructura interior posee un multicanalizador 4 a 1 que selecciona la función


lógica o aritmética, transfiriendo la operación en una sola salida. Además, la ALU tiene
bloques que muestran el comportamiento de la salida, la generación de banderas según el
valor (signado o no signado) del resultado y la relación condicional que existe entre las
entradas.

Se conoce que el funcionamiento de la unidad básica del cálculo depende de las señales de
control; sin embargo, en este capítulo se analizará la ALU a partir del desarrollo de la UBC,
incorporando a las funciones aritméticas (suma, resta, incremento, etc.), operaciones
lógicas, hasta generar funciones de mayor complejidad.

Objetivo:
- Interpretar la tabla de funciones aritméticas y lógicas con el emulador Microsex .
- Comprobar el módulo ALU en VHDL.
- Analizar el tiempo de ejecución de la ALU.
- Probar y Verificar el resultado de la secuencia analizada previamente.
- Verificar Funcionamiento de las banderas Z, N, V, C, para números signados y no
signados.
- verificar el comportamiento del bloque generador de condiciones relacionales con
números aleatorios.

Diagrama circuital.

Diagrama circuital de ALU simple

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Tema: Unidad Aritmética y Lógica fecha: 13/03/22

Unidad aritmética y lógica (ALU)

Para el análisis de la codificación de la señal de control y su funcionamiento:

S6 S5 S4 S3 S2 S1 S0 C R FUNCIÓN
1 1 0 0 0 0 0 0 0 CONSTANTE, BORRAR SALIDA
1 1 1 0 0 0 0 0 X LEER X
1 1 0 1 0 0 0 0 Y LEER Y
1 1 1 0 1 0 1 1 -X NEGAR X
1 1 1 0 1 0 0  -X-1 INVERTIR X

0 0 0 0 0 0 0 0 X∧Y X AND Y
0 1 0 0 0 0 0 0 X∨Y X OR Y
1 0 0 0 0 0 0 0 X⨁Y X XOR Y
1 1 1 1 0 0 0  X+Y SUMAR

1 1 1 1 0 1 1  X-Y RESTAR Y DE X

1 1 1 0 0 0 1  X+1 INCREMENTAR X

1 1 1 0 0 1 0  X-1 DECREMENTAR X

También existe la expansión del ALU, el cual cuenta con multiplicación binaria mediante
una memoria ROM, suma BCD, comparación y más variables de estado de proceso. Con
ello también damos entrada al uso de las banderas en el ALU extendido.

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Tema: Unidad Aritmética y Lógica fecha: 13/03/22

ALU+ banderas
Código de Operación Palabra de estado Descripción de la
operación (abreviatura N Z V H P C función
mnemónica)
0 clr 0 1 0 0 0  CERO AL
RESULTADO
1 leer a       LEER DATO A A LA
SALIDA
2 leer b   LEER DATO B A LA
   
SALIDA
3 neg       NEGATIVO DE A

4 not       NOT A
5 and  0  0 AND ENTRE A Y B
 
6 or  0  0 OR ENTRE A Y B
 
7 xor  0  0 XOR ENTRE A Y B
 
8 add       ADICIONAR DATOS
AYB
9 sub       SUBSTRAER B DE A

A inc       INCREMENTAR A

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Tema: Unidad Aritmética y Lógica fecha: 13/03/22


B dec  DECrementar a
    

2. Procedimiento experimental.
Para el emulador:
Con el apoyo del EMULADOR Microsex se procede a verificar las funciones de la siguiente
manera:
- PRUEBA (Vania):

Secuencia descriptiva:

; calcular:𝒇(𝒙, 𝒚, 𝒛) = (𝒚 − 𝟑(𝒙̅ ∧ 𝒚) − 𝟏)⨁𝒛


; colocar x en A
1110100 not ; 𝑅 = 𝑥̅
; colocar R en A , y en B
0000000 and ; 𝑅 = 𝑥̅ ∧ 𝑦
; colocar R en A y en B
1111000 add ; 𝑅 = 2(𝑥̅ ∧ 𝑦)
; colocar R en A
1111000 add ; 𝑅 = 3(𝑥̅ ∧ 𝑦)
; colocar R en A
1110001 inc ; 𝑅 = 3(𝑥̅ ∧ 𝑦) + 1
; colocar R en A
1110101 neg ; 𝑅 = −3(𝑥̅ ∧ 𝑦) − 1
; colocar R en A, y en B
1111000 add ; 𝑅 = 𝑦 − 3(𝑥̅ ∧ 𝑦) − 1
; colocar R en A, z en B
1000000 xor ; 𝑅 = (𝑦 − 3(𝑥̅ ∧ 𝑦) − 1) ⨁ 𝑧
. fin
Tabla de protocolo de pruebas:
# DATOS S. CONTROL FUNCIÓN RESULTADO
1 A=x 1110100 not 𝑅 = 𝑥̅
2 A=R , B=y 0000000 and 𝑅 = 𝑥̅ ∧ 𝑦
3 x=R, y=R 1111000 add 𝑅 = 2(𝑥̅ ∧ 𝑦)
4 A=R 1111000 add 𝑅 = 3(𝑥̅ ∧ 𝑦)
5 A=R 1110001 inc 𝑅 = 3(𝑥̅ ∧ 𝑦) + 1
6 A=R 1110101 neg 𝑅 = −3(𝑥̅ ∧ 𝑦) − 1
7 A=R, B=y 1111000 add 𝑅 = 𝑦 − 3(𝑥̅ ∧ 𝑦) − 1
8 A=R, B=z 1000000 xor 𝑅 = (𝑦 − 3(𝑥̅ ∧ 𝑦) − 1)⨁𝑧
Protocolo final:

# DATOS S. CONTROL FUNCIÓN RESULTADO LABORATORIO


1 A=4C 1110100 not R=B3 L=B3
2 A=B3, B=F8 0000000 and R=B0 L=B0
3 x=B0, y=B0 1111000 add R=60 L=60
4 A=60 1111000 add R=10 L=10
5 A=10 1110001 inc R=11 L=11

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Tema: Unidad Aritmética y Lógica fecha: 13/03/22

6 A=11 1110101 neg R=EF L=EF


7 A=EF, B=F8 1111000 add R=E7 L=E7
8 A=E7, B=39 1000000 xor R=DE L=DE
REMPLAZANDO: f=(𝒚 − 𝟑(𝒙
̅ ∧ 𝒚) − 𝟏)⨁𝒛
f= (-8)-3(-80)-1=231 -> 11100111
XOR -> 00111001
---------
11011110 -> DE

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Tema: Unidad Aritmética y Lógica fecha: 13/03/22

-Prueba (Leidy)

Prueba leidy
Función: f(x,y,z)= 2*(x+y)or(x+z) and (not(y-z))

Secuencia descriptiva

; colocar y en A ; R=not y
not
; colocar x en A, R en B ; R=x+ not(y)
add
; colocar R en A y en B ; R=2*( x+ not(y)) (ojo)
add
; colocar x en A, z en B ; R=x+z
add
; Colocar R en A ; R= 2*( x+ not(y)) or (x+y)
or
; colocar y en A, z en B ; R= y-z
sub
; colocar R en A ;R=not(y-z)
Not
;Colocar R en Y ; R=2*(x+not(y)) or (x+z) and (not(y-z))
and

Tabla de protocolo de pruebas

# DATOS S. CONTROL FUNCIÓN RESULTADO


1 A=y 1 1 1 0 1 0 0 Invertir R=not y
2 A=x B=R 1 1 1 1 0 0 0 Sumar R=X+ not(y)
3 A=R, B=R 1 1 1 1 0 0 0 Sumar R= 2*(x + z)
4 A=x, B=z 1 1 1 1 0 0 0 Sumar R = x+z
5 B=R 0 1 0 0 0 O O OR R=2*(x + z) or (x+z)
6 A=y, B=z 1 1 1 1 0 1 1 sub R=y-z
7 A=R 1 1 1 0 1 0 0 not R= not(y-z)
8 B=R 0 0 0 0 0 0 0 AND R= 2*(x + z) or (x+z)
AND (not(y-z))

Tabla de protocolo de pruebas completas

# DATOS FUNCION RESULTADO LABORATORIO


1 A=F5 1 1 1 0 1 0 0 NOT R=0A R=0A
2 A=0A , B=R 1 1 1 1 0 0 0 ADD R=14 R= 14
3 A=R=14 , B=R 1 1 1 1 0 0 0 ADD R=28 R=41

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Tema: Unidad Aritmética y Lógica fecha: 13/03/22

4 A=0A , B=2ª 1 1 1 1 0 0 0 ADD R=34 R=34


5 A=28, Y = 34 1 1 1 1 0 1 1 OR R=3C R=3C
6 A=F5, B=2A 1 1 1 0 1 0 0 SUB R=CB R=CB
7 A=3C 1 1 1 0 1 0 0 NOT R= 34 R=34
8 A=3C, B=34 0 0 0 0 0 0 0 AND R=34 R=34

La ultima secuencia de la función:

Para VHDL: se tiene que tener en cuenta el proceso que tendrá la ALU:
 Arquitectura en VHDL está definida por módulos a un nivel de abstracción:
estructural o lógico.
 Reutilizar el código del la UBC.
 Modularizar el decodificador y el multiplexor 4 a 1.
 Describir la ecuación booleana de las banderas Z, C, N, V y las condiciones
relacionales.
 Composición de las variables de control

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Tema: Unidad Aritmética y Lógica fecha: 13/03/22

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Tema: Unidad Aritmética y Lógica fecha: 13/03/22

Para el bloque de la UBC.

10

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Tema: Unidad Aritmética y Lógica fecha: 13/03/22

para el multiplexor.

Para el descodificador de operaciones.

11

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Tema: Unidad Aritmética y Lógica fecha: 13/03/22

vector de prueba :

No signado:

Signados:

12

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Tema: Unidad Aritmética y Lógica fecha: 13/03/22

3. RESULTADOS

 El resultado de la secuencia generada en la ALU de microsex, el acarreo no


influye en las operaciones lógicas.
 La expansión de las señales de control solo adicionan 3 funciones and, or, xor.
 Es posible generar la combinación de cualquier función aritmética y/o lógica de
operaciones de la tabla de funciones de la ubc y las compuertas AND, ro, xor.
 Con las señales de selección del multicanalizador en 11, se obtienen funciones
equivalentes a las tablas de la UBC; se verifica tanto en el cuaderno de
laboratorio como en el emulador.
 Se comprueba el funcionamiento del VHDL introduciendo valores a la señal de
control extendida.
 Las operaciones: xor, OR, AND, realizan la operación en un menor tiempo de
ejecución.

4. ANÁLISIS Y CONCLUSIONES

 Verificando con las herramientas de software microsex y VHDL, los resultados son
equivalentes debido al análisis realizado previamente.
 Se analiza el acarreo c para números no signados, mas no así para números
signados.
 Así como la UBC forma parte de estructura de la ALU, es posible expandir la ALU
con funciones complejas.
 Solo a partir de números signados, se generan las banderas V, N.
 El bloque que genera mayor retardo en el tiempo de ejecución de la ALU es la UBC.
 Analizando la herramienta del emulador, el modulo presentado en el ALU no se
logró analizar todas las banderas, sin embargo, con el programa VHDL observamos
el comportamiento de las mismas; y comprobamos su correcto funcionamiento.
 Es de mayor beneficio realizar el análisis de las operaciones en el sistema
hexadecimal. Debido a que el emulador trabaja en ese sistema.

5. REFERENCIAS
- Guía de laboratorio: Microsex N°03 – Unidad Aritmética y lógica.
6. ANEXOS

13

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Downloaded by Marcos Chura condori ([email protected])


lOMoARcPSD|58874548

Downloaded by Marcos Chura condori ([email protected])

También podría gustarte