Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El sistema digital que se va a diseñar es asíncrono, opera con un reloj de 20ns, el cual
recibe a la entrada dos números de máximo 16 bits en binario, un selector de operaciones
de 4 bits (por medio de combinaciones para elegir la determinada operación a llevar a cabo)
y un habilitador de un bit con el cuál se da inicio, estas señales entrantes se llaman
“OperadorA”, “OperadorB”, “Selector” y “Habilitador” respectivamente. Los datos que se
encuentran a la salida serán dos buses paralelos, uno de tamaño de 16 bits y otro de 5 bits,
estos tienen como nombre “Resultado” (donde se mostrará la solución de la operación
elegida) y “Condicion” (donde se mostrará la información de las condiciones como la
bandera de disponibilidad, el cero, si es un número negativo, si hubo carry u overflow).
Entradas:
S Operaciones
0000 Suma
0001 Resta
0010 Comparación
0011 Multiplicación
0100 Or
0101 And
0111 Not
1000 Desplazamiento
1001 Rotación
1011 Suma con carry
Salidas
3. Diagramas generales.
a. Dibuje en diagrama en bloques del sistema, indique las entradas y salidas de cada
bloque y sus interfaces entre bloques. Indique además las entradas y salidas
generales del sistema.
Figura 1: Diagrama de entradas para el diseño de la ALU.
NOT: Le entran 16 bit de Conversor1, se le realiza la compuerta lógica NOT a cada bit y le
salen 16 bits hacia resultado.
1.
-> ( Habilitador x1) + ( Habilitador
´ x2)
2. Reset=1
-> 3
´
3. ((OperadorA ´
v OperadorB ) x3) + ((OperadorA ^ OperadorB) x4)
4. (Selector <- 0000 x9) v (Selector <- 0001 x6) v (Selector <- 0010 x10) v (Selector <- 0011
x11) v (Selector <- 0100 x12) v (Selector <- 0101 x13) v (Selector <- 0111 x14) v (Selector <-
1000 x15) v (Selector <- 1001 x16) v (Selector <-1011 x9)
5.
´
6. Conversor1 <- ((OperadorB [0:15] + 1)
->8
7.
Ec=1
->9
8.
Ec=0
->9
9.
Cx <- Ec ^ Cout[16];
Cout[0] <- Cx;
Suma-Resta[0] <- OperadorA[0] ⊕ OperadorB[0];
Cout[1] <-OperadorA[0] ^ OperadorB[0];
Suma-Resta[1] <- OperadorA[1] ⊕ OperadorB[1];
Cout[2] <- (OperadorA[1] ^ OperadorB[1]) ⊕ (Cout[1]);
Suma-Resta[2] <- OperadorA[2] ⊕ OperadorB[2];
Cout[3] <- (OperadorA[2] ^ OperadorB[2]) ⊕ (Cout[2]);
Suma-Resta[3] <- OperadorA[3] ⊕ OperadorB[3];
Cout[4] <- (OperadorA[3] ^ OperadorB[3]) ⊕ (Cout[3]);
11. Multiplicación
A[0:8]=0;
Q1=0;
M=OperadorB
-M
Resultadocom[0:15]= Suma-Resta[0:15];
Coutcom=Cout[16];
->10
12.
// OR
13. // AND
14. NOT
´
NOTout[0] <- OperadorA [0];
´
NOTout[1] <- OperadorA [1];
´
NOTout[2] <- OperadorA [2];
´
NOTout[3]<-OperadorA [3];
´
NOTout[4]<-OperadorA [4];
´
NOTout[5] <- OperadorA [5];
´
NOTout[6] <- OperadorA [6];
´
NOTout[7]<-OperadorA [7];
´
NOTout[8]<-OperadorA [8];
´
NOTout[9] <- OperadorA [9];
´
NOTout[10] <- OperadorA [10];
´
NOTout[11]<-OperadorA [11];
´
NOTout[12]<-OperadorA [12];
´
NOTout[13] <- OperadorA [13];
´
NOTout[14] <- OperadorA [14];
´
NOTout[15] <- OperadorA [15];
16. Rotación
ROL[0] <- OperadorA[15];
ROL[1] <- OperadorA[0];
ROL[2] <- OperadorA[1];
ROL[3] <- OperadorA[2];
ROL[4] <- OperadorA[3];
ROL[5] <- OperadorA[4];
ROL[6] <- OperadorA[5];
ROL[7] <- OperadorA[6];
ROL[8] <- OperadorA[7];
ROL[9] <- OperadorA[8];
ROL[10] <- OperadorA[9];
ROL[11] <- OperadorA[10];
ROL[12] <- OperadorA[11];
ROL[13] <- OperadorA[12];
ROL[14] <- OperadorA[13];
ROL[15] <- OperadorA[14];
5. Esquemático preliminar.
6. Proyecto funcional de la descripción VHDL documentado y coherente con diseño de los
puntos previos.
7. Protocolo de pruebas para simulación.
8. Diagramas de tiempo y descripción de los resultados de la simulación incluyendo análisis
de glitches y meta-estabilidad.
9. Reflexión personal escrita, en la cual cada integrante del grupo autoevalúa su desempeño en
el proyecto, describiendo los logros de aprendizaje, las dificultades personales y los
alcances y proyecciones del proyecto.