Alu Practica Final

PRACTICA MATERIA: Diseño VHDL ALUMNO: LOPEZ CABRERA ALFREDO BECERRIL MUÑOZ PAUL ELIUT NUMERO DE CONTROL: E13070409 E1

Views 67 Downloads 3 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PRACTICA

MATERIA: Diseño VHDL

ALUMNO: LOPEZ CABRERA ALFREDO BECERRIL MUÑOZ PAUL ELIUT

NUMERO DE CONTROL: E13070409 E13020510

OPERACIONES CON LA ALU CON MEMORIAS Y CONTADORES PROCESADOR DE 4 BITS

Alfredo, Paul

OBJETIVO: Que el alumno logre realizar diferentes operación (2 aritmeticas y 2 logicas) con una unidad lógica aritmética, con el uso de contadores y memorias previamente programadas.

MATERIAL: 

2 contadores 4520



2 EPROM 27c256



11 Dip-swish



Registro bidireccional de 4 bits 74194



leds



1 UNIDAD LOGICA ARITMETICA (ALU)



Protoboards



Caimanes



Cables



Tren de pulsos

Alfredo, Paul

INTRODUCCION PROCESADOR DE 4 BITS El microprocesador hace parte del microcontrolador, el cual es prácticamente un computador en un chip, pues dispone de microprocesador (CPU), sensores y actuadores.

Las características principales del microprocesador son su universalidad y su programabilidad, lo que le dan el carácter de versatilidad, lo cual lo hace como el elemento inteligente o cerebro en diversas aplicaciones que van desde un computador personal hasta sistemas de encendido en vehículos, instrumentos electro médicos, etc.

La función de un microprocesador se define a través de un programa, que consta de una serie de ordenes o instrucciones relacionadas, ejecutadas secuencialmente (una a la vez) por el microprocesador y que pueden implicar operaciones lógicas o aritméticas. Las instrucciones se especifican a través de un código especial que constituye el lenguaje del microprocesador.

Esencialmente un microprocesador en su Hardware o parte física es un circuito de alta escala de integración compuesto de circuitos más simples con flip-flops, contadores, registros, decodificadores, ALU, etc. Por otro lado, los programas o software determinan el comportamiento del microprocesador adaptándolo a un campo especifico de aplicación.

Alfredo, Paul

DIAGRAMA GENERAL SIMPLIFICADO

Alfredo, Paul

FUNCIONES DE LOS COMPONENTES

Contador 4520 En electrónica digital, un contador es un circuito secuencial construido a partir de biestable y puertas lógicas capaz de almacenar y contar los impulsos (a menudo relacionados con una señal de reloj), que recibe en la entrada destinada a tal efecto, asimismo también actúa como divisor de frecuencia. Normalmente, el cómputo se realiza en código binario, que con frecuencia será el binario natural o el BCD natural (contador de décadas).

CLASIFICACIÓN DE LOS CONTADORES DE CIRCUITO SECUENCIAL Según la forma en que conmutan los numeros, podemos hablar de contadores numeradores (todos los numeros conmutan a la vez, con una señal de reloj común) o asíncronos (el reloj no es común y los numeros conmutan uno tras otro). Según el sentido de la cuenta, se distinguen en ascendentes, descendentes y UP-DOWN o numéricos (alterna en ascendentes o descendentes según la señal de control). Según la cantidad de números que pueden contar, se puede hablar de contadores binarios de n bits (cuentan todos los números posibles de n bits, desde 0 hasta {\displaystyle 2^{n}-1}

), contadores BCD (cuentan del 0

al 9). El número máximo de estados por los que pasa un contador se denomina módulo del contador (Número MOD). Este número viene determinado por la expresión 2^n donde n indica el número de bits del contador. Ejemplo, un contador de módulo 4 pasa por 4 estados, y contaría del 0 al 3. Si necesitamos un contador con un módulo distinto de 2^n, lo que haremos es añadir un circuito combinacional.

Alfredo, Paul

EPROM 27c256

Como observamos es un contador de 4 bits ascendente de (0-15)

EPROM son las siglas de Erasable Programmable Read-Only Memory (ROM programable borrable). Es un tipo de chip de memoria ROM no volátil inventado por el ingeniero Dov Frohman de Intel1 . Está formada por celdas de FAMOS (Floating Gate Avalanche-Injection Metal-Oxide Semiconductor) o "transistores de puerta flotante", cada uno de los cuales viene de fábrica sin carga, por lo que son leídos como 1 (por eso, una EPROM sin grabar se lee como FF en todas sus celdas).

CLASIFICACION Las memorias EPROM se programan mediante un dispositivo electrónico, como el Cromemco Bytesaver, que proporciona voltajes superiores a los normalmente utilizados en los circuitos electrónicos. Las celdas que reciben carga se leen entonces como un 0. Una vez programada, una EPROM se puede borrar solamente mediante exposición a una fuerte luz ultravioleta. Esto es debido a que los fotones de la luz excitan a los electrones de las celdas provocando que se descarguen. Las EPROM se reconocen fácilmente por una ventana transparente en la parte alta del encapsulado, a través de la cual se puede ver el chip de silicio y que admite la luz ultravioleta durante el borrado. Como el cuarzo de la ventana es caro de fabricar, se introdujeron los chips OTP (One-Time Programmable, programables una sola vez). La única diferencia con la EPROM es la ausencia de la ventana de cuarzo, por lo que no puede ser borrada. Las versiones OTP se fabrican para sustituir tanto a las EPROM normales como a las EPROM incluidas en algunos microcontroladores. Estas últimas fueron siendo sustituidas progresivamente por EEPROMs (para fabricación de pequeñas cantidades donde el coste no es lo importante) y por memoria flash (en las de mayor utilización). Una EPROM programada retiene sus datos durante diez o veinte años, y se puede leer un número ilimitado de veces. Para evitar el borrado accidental por la luz del sol, la ventana de borrado debe permanecer cubierta. Las antiguas BIOS de los ordenadores personales eran frecuentemente EPROM y la ventana de borrado estaba habitualmente cubierta por una etiqueta que contenía el nombre del productor de la BIOS, su revisión y una advertencia de copyright. Las EPROM pueden venir en diferentes tamaños y capacidades. Así, para la familia 2700 se pueden encontrar:

Alfredo, Paul

BORRADO DE LA EPROM Una memoria EPROM puede ser borrada con una lámpara de luz UV, del tipo UV-C, que emita radiación en torno a los 2537 Å (Angstrom) o 254nm, a una distancia de unos 2,5 cm de la memoria. La radiación alcanza las células de la memoria a través de una ventanilla de cuarzo transparente situada en la parte superior de la misma. Para borrar una EPROM se necesita que la cantidad de radiación recibida por la misma se encuentre en torno a los 15 W/cm^2 durante un segundo. El tiempo de borrado real suele ser de unos 20 minutos debido a que las lámparas utilizadas suelen tener potencias en torno a los 12 mW/cm² (12 mW x 20 x 60 s = 14.4 W de potencia suministrada). Este tiempo también depende del fabricante de la memoria que se desee borrar. En este tiempo todos sus bits se ponen a 1. Es importante evitar la sobreexposición del tiempo de radiación a las EPROM; es decir, la potencia luminosa suministrada a la memoria, pues se produce un envejecimiento prematuro de las mismas. Debido a que la radiación solar e incluso la luz artificial proveniente de tubos fluorescentes borra la memoria lentamente (de una semana a varios meses), es necesario tapar dicha ventanilla con una etiqueta opaca que lo evite, una vez que son grabadas. Se debe aclarar que una EPROM no puede ser borrada parcial o selectivamente; de ahí que por muy pequeña que fuese la eventual modificación a realizar en su contenido, inevitablemente se deberá borrar y reprogramar en su totalidad. Alfredo, Paul

Un borrador de EPROM es una caja opaca ópticamente, con una fuente de luz UV del tipo C, la cual también es utilizada para esterilizar instrumentos quirúrgicos y/o como germicida.

REGISTRO DE 4 BITS BIDIRECCIONAL 74194 ES CONOCIDO COMO REGISTRO DE DESPLAZAMIENTO Un registro de desplazamiento es un circuito digital secuencial (es decir, que los valores de sus salidas dependen de sus entradas y de los valores anteriores) consistente en una serie de biestables, generalmente de tipo D, conectados en cascada (Fig. 1), que basculan de forma sincrónica con la misma señal de reloj. Según las conexiones entre los biestables, se tiene un desplazamiento a la izquierda o a la derecha de la información almacenada. Es de señalar que un desplazamiento a la izquierda de un conjunto de bits, multiplica por 2, mientras que uno a la derecha, divide entre 2. Existen registros de desplazamiento bidireccionales, que pueden funcionar en ambos sentidos. Los registros universales, además de bidireccionales permiten la carga en paralelo.

TIPOS DE REGISTROS DE DESPLAZAMIENTO Dependiendo del tipo de entradas y salidas, los registros de desplazamiento se clasifican como: Serie-Serie: sólo la entrada del primer flip-flop y la salida del último son accesibles externamente. Se emplean como líneas de retardo digitales y en tareas de sincronización. Paralelo-Serie: son accesibles las entradas de todos los flip-flops, pero sólo la salida del último. Normalmente también existe una entrada serie, que sólo altera el contenido del primer flip-flop, pudiendo funcionar como los del grupo anterior. Este tipo y el siguiente se emplean para convertir datos serie en paralelo y viceversa. Este tipo convierte: Dato en paralelo a dato en serie.

Alfredo, Paul

Serie-Paralelo: son accesibles las salidas de todos los flip-flops, pero sólo la entrada del primero. Este tipo y el anterior se emplean para convertir datos serie en paralelo y viceversa, por ejemplo para conexiones serie como el RS232. Este tipo convierte: Dato en serie a dato en paralelo. Paralelo-Paralelo: tanto las entradas como las salidas son accesibles. Se usan para cálculos aritméticos. Un registro de desplazamiento muy utilizado, que es universal (se llama así porque puede utilizarse en cualquiera de las cuatro configuraciones anteriormente descritas) y bidireccional (porque puede desplazar los bits en un sentido u otro) es el 74HC194, de cuatro bits de datos. Otros registros de desplazamiento conocidos, fabricados también con la tecnología CMOS, son el 74HC165 (entrada paralelo, salida serie) y 74HC164 (entrada serie, salida paralelo).

Alfredo, Paul

UNIDAD LOGICA ARITMETICA ( ALU ) 74HC181 El 74181 es una unidad aritmético lógica bit slice implementada como un circuito integrado TTL de la serie 7400. Fue la primera ALU completa en un simple chip 1. Fue utilizado como el núcleo aritmético/lógico en los CPU de muchos minicomputadores históricamente significativos y en otros dispositivos. El 74181 representa un paso evolutivo entre los CPU de los años 1960, que fueron construidos usando puertas de lógica discretas, y los CPU o los microprocesadores en un simple chip de hoy. Aunque ya no es usado en productos comerciales, el 74181 es todavía una referencia en libros de textos sobre organización del computador y en papeles técnicos. También es usado a veces en cursos universitarios prácticos, para entrenar a los futuros arquitectos de computadores.

ESPECIFICACIONES El 74181 es un circuito integrado TTL de la serie 7400 de mediana escala de integración (MSI), conteniendo el equivalente de 75 puertas lógicas y comúnmente empaquetado en un DIP de 24 pines. La ALU de 4 bits de ancho puede realizar todas las operaciones tradicionales de suma, resta, decrementar, con o sin acarreo, al igual que operaciones lógicas AND, NAND, OR, XOR y SHIFT. Están disponibles muchas variaciones de estas funciones básicas, para un total de 16 operaciones aritméticas y 16 operaciones lógicas en dos palabras de cuatro bits. Las funciones de multiplicación y división no son proporcionadas, pero pueden ser realizadas en pasos múltiples usando funciones de SHIFT y suma o resta. SHIFT no es una

Alfredo, Paul

función explícita pero puede ser derivada de varias funciones disponibles, incluyendo (A+B) más A, A más AB. El 74181 realiza estas operaciones en dos operandos de cuatro bits que generan un resultado de cuatro bits con un acarreo en 22 nanosegundos. El 74S181 realiza las mismas operaciones en 11 nanosegundos, mientras que el 74F181 realiza las operaciones en típicamente 7 nanosegundos. Múltiples 'slices' pueden ser combinados para tamaños arbitrariamente grandes de palabras. Por ejemplo, seis 74S181s y cinco generadores de acarreo look ahead 74S182 pueden ser combinados para realizar las mismas operaciones en operandos 64 bits en 28 nanosegundos. Aunque fue eclipsado por el desempeño de los microprocesadores de 64 bits de multi gigahertz de hoy, esto fue absolutamente impresionante cuando comparaba a las velocidades de reloj de submegahertz de los tempranos microprocesadores de cuatro y ocho bits.

Alfredo, Paul

Alfredo, Paul

TREN DE PULSOS PARA OSILAR NUESTRO PULSO DE ENTRADA DEL CONTADOR 1 Como funciona el timer 555 en modo astable El timer 555 es un circuito integrado, con el podemos realizar varias funciones, pero yo voy a explicarles la que creo desde mi punto de vista es la mas importante, Generar un tren de pulsos de una frecuencia determinada PWM o modulación por ancho de pulsos No es el objetivo del articulo explicar en detalle el circuito interno del integrado, solo voy a hacer unos comentarios generales al respecto para que no piensen que lo ocurre dentro de esta caja negra es arte de magia. Circuito interno El integrado esta formado por un Flip Flop, una etapa de salida para controlar la corriente, transistores y dos comparadores de tensión, a estas configuraciones internas se le suma la red externa que dependiendo de el valor de sus componente obtenemos resultados diferentes.

Alfredo, Paul

Funcionamiento de cada uno de sus pines Pin 1 (Gnd): Es la referencia a tierra del circuito. Pin 2 (Disparador o trigger): Es la señal de entrada del comparador Pin 3 (Salida): Es por donde se obtiene la señal de salida esperada (el tren de pulsos) Pin 4 (Reset): Es el pin de reset, se controla mediante lógica negativa, es decir si quiero volver a iniciar el proceso debo enviar un cero a este pin, desde mi experiencia recomiendo conectar directamente este pin a VCC mediante una resistencia de pequeño valor, de esta manera evitamos que la salida se ponga a cero sin desearlo. Pin 5 (Control de voltaje): Este pin esta para producir la modulación por ancho de pulsos mediante la descarga del capacitador externo. Pin 6 (Umbral): Es la entrada de otro comparador, se compara a 2/3 de VCC contra la amplitud de la señal de disparo. Pin 7 (Descarga): Se descarga cuando el transistor se encuentra en saturación, se conecta a el divisor resistivo de la red de tiempo externa. Conexión básica para comportamiento astable (generador de tren de pulsos) Utilizando esta simple configuración podemos general una señal cuadrada a la salida de la frecuencia que nosotros determinemos, la frecuencia y el ancho de los estados altos y bajos dependerá de la Red de tiempo, básicamente de los valores de los capacitares y resistencias que le pongamos.

Alfredo, Paul

Para controlar el ancho de cada estado del tren de pulsos debemos aplicar las siguientes formulas

Ta representa el tiempo en estado alto (H) y Tb representa el tiempo en estado bajo (L), modificando los valores R1 R2 y C1 podemos diseñar la señal a nuestro gusto, el periodo de la señal va a ser la suma del tiempo en alto mas el tiempo en bajo, y como ya sabemos ya frecuencia es la inversa del periodo. Forma de la señal de salida obtenida La siguiente imagen muestra lo que veríamos en un osciloscopio, queda claro que podemos regular a nuestro gusto los tiempos de Ta y Tb modificando los valores de los elementos pasivos del circuito.

Alfredo, Paul

UNIDAD DE CONTROL GRABADO DE DATOS se graba eléctricamente con un programador controlador por un PC. Disponen de una ventana en la parte superior para someterla a luz ultravioleta, lo que permite su borrado. Puede usarse en fase de diseño, aunque su coste unitario es elevado. El programa se llama buffer editor

Alfredo, Paul

Esta memoria se le grabaron datos con el fin de proporcionar el pulso de reloj a los registros y contador. Como observamos en la dirección cuando iniciamos la memoria nos lee 00001 Al recibir el segundo pulso nos leera 00010 Al tercer pulso será 00100 Al cuarto pulso será 01000 Y al quinto pulso será 10000 De este modo en cada bit se conectara a cada pulso de reloj de los registros y de esta forma se mantendrá una secuencia

GRABACION EN LA MEMORIA EPROM PARA LAS FUNCIONES De la misma manera grabaremos los datos en la otra memoria

Alfredo, Paul

En este caso grabe datos en las siguientes direcciones 00000000

0-15

0001xxxx

16-31

0010xxxx

32-47

0011xxxx

48-63

0100xxxx

64-79

0101xxxx

80-95

No se grabo nada

0110xxxx

96-111

No se grabo nada

0111xxxx

112-127

No se grabo nada

No se grabo nada

Como observamos fueron grabados por

las funciones bits,

0-15 se realizará la la alu (00001001)

operación 09 de

16-31 se realizará la operación 06 de la alu

(00000110)

32-47 se realizará la operación 0A de la alu

(00001010)

Alfredo, Paul

64-79 se realizará la operación 03 de la alu

(00000011)

EL CIRCUITO QUEDO CONECTADO DE ESTA MANERA OPERACIÓN 1

Alfredo, Paul

En este caso realizamos la operación de suma ya que la ALU la operación 1001 con el modo en (L) Leyendo la tabla de funciones obtenemos que es una operación ARITMETICA y la operación es [A plus B]

OPERACIÓN 2

Alfredo, Paul

En esta ocasión active un bit más, con la cual la memoria la programe de esta manera y que a partir de la dirección 10000 me decodifica un 1001 como operación. Leyendo la tabla de funciones obtenemos que con el modo en (L) y con 1001 en la función, obtenemos que es una operación ARITMETICA y la operación es [A menos B menos 1]

OPERACIÓN 3

Alfredo, Paul

En esta ocasión se activó un bit más, con el cual a partir de 100000 la operación en la función de la ALU será 1010 y el modo en esta ocasión lo ponemos en (H) Observando la tabla de funciones obtenemos que es una operación LOGICA y la operación es [B]

Alfredo, Paul

OPERACIÓN 4

En esta ocasión se activó un bit más, con el cual a partir de 1000000 la operación en la función de la ALU será 0011 y el modo en esta ocasión lo ponemos en (H) Observando la tabla de funciones obtenemos que es una operación LOGICA y la operación es [lógica 0]

CONCLUSIÓN: EN ESTA PRACTICA APRENDIMOS A INTERACTUAR CON REGISTROS, MEMORIAS Y ALU, REALIZANDO DIFERENTES OPERACIONES LOGICAS Y ARITMETICAS.

Alfredo, Paul