Circuito con prioridad + alu

Solo disponible en BuenasTareas
  • Páginas : 9 (2064 palabras )
  • Descarga(s) : 0
  • Publicado : 2 de enero de 2012
Leer documento completo
Vista previa del texto
FUNDAMENTOS de SISTEMAS DIGITALES

Diseño, Implementación, Simulación y Validación de un Circuito en Lógica Combinacional

- Nombre y Apellidos:
- DNI:
- Nº de matrícula:
- Centro asociado:
- Actividad a realizar:

Enunciado A-E-1-050 |
Disponemos de tres señales P2, P1 y P0 con las que queremos controlar el funcionamiento de una Unidad Aritmético Lógica, perola programación de la ALU no depende directamente de estas señales sino de la prioridad de estas señales. Así, el criterio de prioridad de las señales es P2>P1>P0 y las operaciones de las palabras de 4 bits que debe realizar la ALU son las siguientes: a)Si la prioridad es de la señal P2, la operación que debe realizar es la operación aritmética sin acarreo A PLUS B. b)Si la prioridad esde la señal P1 entonces debe realizar la operación lógica A+B. c)Si la prioridad es de P0 entonces debe hacer la operación aritmética con arrastreObjeto OLE. d)Si las señales son todas cero (ninguna es prioritaria) entonces la ALU debe ponerse a 0. Diseñe el circuito codificador con prioridad y úselo para controlar las operaciones de la ALU que se han especificado. |

Diseño del circuito decontrol de la ALU. Codificador con prioridad.

Para el diseño del circuito codificador dispondré de 3 pulsos de reloj que corresponden a las entradas (P2,P1,P0), y cuya prioridad es P2>P1>P0
Necesitaré dos bits, en este caso lineas de salida de circuito para tener los 4 estados de salida que corresponden a cada una de las operaciones que realizara la ALU. A estas salidas las llamare E1 yE2 para no confundirlos posteriormente con términos de la ALU. Este tipo de circuito es un codificador con prioridad.

Utilizaremos las siguientes expresiones matemáticas para crear el circuito:
E1 = P2 + P1 y E2 = P2 + [ inv(P1) • P0 ]
Que tendrá su correspondiente tabla de la verdad teórica:
P2 | P1 | P0 | E1 | E2 | ALU |
0 | 0 | 0 | 0 | 0 |Cero |
0 | 0 | 1 | 0 | 1 | ( A + B ) PLUS A PLUS 1 |
0 | 1 | 0 | 1 | 0 | A + B |
0 | 1 | 1 | 1 | 0 | A + B |
1 | 0 | 0 | 1 | 1 | A PLUS B |
1 | 0 | 1 | 1 | 1 | A PLUS B |
1 | 1 | 0 | 1 | 1 | A PLUS B |
1 | 1 | 1 | 1 | 1| A PLUS B |

En ella podemos ver todas las posibilidades de combinaciones de pulsos y como con las dos salidas con esos dos bits podemos asignar un numero diferente a cada tipo de operación que tendrá que realizar la ALU. Vemos que también cumple con los criterios de prioridad del enunciado P2>P1>P0

Este es el codificador con prioridad que crearé a raíz de la expresiónmatemática:

Para la simulación programé los generadores de pulsos de esta forma:

Generador de pulsos | ONTIME | OFFTIME |
P2 | 0.5ms | 0.5ms |
P1 | 1ms | 1ms |
P0 | 1.5ms | 1.5ms |

Y en Analysis → Setup... → Transient configuré:
Print Setup: 5ns
Final time: 6ms
De esta forma podemos ver de una manera cómoda todas las posibilidades decombinación y sus resultados. El resultado de dicha simulación es el siguiente:

Periodo | P2 | P1 | P0 | E1 | E2 | ALU |
De 0 a 0.5ms | 0 | 0 | 0 | 0 | 0 | Cero |
De 0.5 a 1 ms | 1 | 0 | 0 | 1 | 1 | A PLUS B |
De 1 a 1.5 ms | 0 | 1 | 0 | 1 | 0 | A+B |
De 1.5 a 2 ms | 1| 1 | 1 | 1 | 1 | A PLUS B |
De 2 a 2.5 ms | 0 | 0 | 1 | 0 | 1 | (A+B)PLUS A PLUS 1 |
De 2.5 a 3 ms | 1 | 0 | 1 | 1 | 1 | A PLUS B |
De 3 a 3.5 ms | 0 | 1 | 0 | 1 | 0 | A+B |
De 3.5 a 4 ms | 1 | 1 | 0 | 1 | 1 | A PLUS B |
De 4 a 4.5 ms | 0 | 0...
tracking img