Práctica 4 (Tema 5)

Resumen

En esta práctica aprenderemos a usar los componentes RAM y ROM de logisim. Comenzamos viendo como funciona el componente RAM.


En esta parte lo más importante será saber qué significa cada parte del componente:
Los valores se muestran en el componente. Las direcciones pueden verse en gris a la izquierda del área de visualización. Dentro, los valores se muestran en hexadecimal. El valor de la dirección seleccionada se mostrará en texto inverso (blanco sobre negro).

A -> permite especificar a qué valor de la memoria se accede. Importante: el número de bits coincide con el atributo número de bits de direccionamiento.

D -> Si out vale 1 o indefinido, la RAM proporciona a la salida el valor de la posición de memoria seleccionada, sin embargo si out vale 0, se comporta como una entrada y su valor se guardará en la posición de memoria seleccionada cuando el reloj pase a 1. Importante: el número de bits coincide con el atributo número de bits de datos.

Sel -> Cuando se tiene más de un módulo RAM se utiliza para conectar o desconectar cada módulo.
Triángulo inferior -> señal de reloj, los cambios se efectuarán cuando la señal pase de 0 a 1.

Out -> Especifica si la RAM debería proporcionar a la salida el valor de la dirección seleccionada (A). La opción de salida está seleccionada si out vale 1 o indefinido; si out vale 0, entonces D se comporta como una entrada de forma que se almacena su valor en los flancos de subida del reloj.

Clr -> Si vale 1, todos los valores de la memoria pasarán a ser 0.

A continuación continuamos con el componente ROM:

Un circuito puede acceder a los valores de la ROM, pero no los puede modificar. El usuario puede cambiar los valores individualmente a través de la Herramienta De Cambio, o puede editarlos todos con la Herramienta De Menú. Seguimos viendo para qué sirve cada parte del componente:

A -> permite especificar a qué valor de la memoria se accede. Importante: el número de bits coincide con el atributo número de bits de direccionamiento.

D -> Proporciona en el pin D el valor de la dirección seleccionada.

Sel -> Para más de un módulo ROM en paralelo, se puede utilizar esta entrada para conectar y desconectar un módulo ROM en función se si su valor es 1 o 0.
Una vez entendido el funcionamiento de los componentes RAM y ROM veremos como funciona la Herramienta De Cambio:
Su utilidad es cambiar los valores contenidos dentro de la memoria, para su uso debemos de tener en cuenta tres puntos importantes:

* Al pulsar Enter se posicionará el rectángulo de edición justo debajo de la posición en la que se encuentre.

* Al pulsar Backspace (tecla de retroceso) el rectángulo de edición pasará a la posición anterior a la que se encuentre.

* Al pulsar la barra espaciadora el rectángulo de edición pasará a la posición siguiente a la que se encuentre.

También se nos presentará la opción de importar los valores de una imagen ya creada, para esto se debe de seguir el siguiente formato, explicado mediante un ejemplo: si se tiene una memoria de 256 bytes cuyos cinco primeros bytes fueran 2, 3, 0, 20 y -1, y todos los demás valores fuesen cero, entonces la imagen sería el siguiente fichero de texto.

v2.0 raw
02
03
00
14
FF

La primera línea identifica el tipo de formato utilizado (por el momento sólo hay un formato reconocido). Los valores se muestran en hexadecimal, empezando por la dirección cero; puedes poner varios valores en la misma línea. Logisim pondrá el valor cero en todas aquellas posiciones de memoria que no vengan especificadas en el archivo. La imagen puede utilizar abreviaturas en la codificación, por ejemplo, en lugar de escribir en una fila dieciséis veces seguidas el valor 00 se podrá escribir 16*00. Hay que fijarse en que el número de repeticiones de un valor viene dado en base 10. Las imágenes creadas por Logisim utilizarán estas abreviaturas en cuanto los valores se repitan cuatro veces o más. Finalmente antes de empezar a realizar la práctica aprenderemos a usar el Editor Hexadecimal:

 

Los números a la izquierda muestran las direcciones de memoria en hexadecimal. Los otros números se corresponden con los valores a partir de la dirección de memoria especificada.
Tras estas explicaciones se debe proceder a realizar las prácticas propuestas, para ello se deben de construir los circuitos que se piden en el enunciado. Importante: para realizar los circuitos se debe tener en cuenta todas las explicaciones recibidas anteriormente, también hay que prestar especial atención en colocar a todos los elementos el ancho de bits correspondiente con los bits que viajan por los buses, finalmente cuando tengamos más de dos bloques de memoria, para poder elegir cual debe operar deberemos de usar un decodificador.

Trabajo realizado por Fabian Manzanares Braza



FAQ 

1ª) ¿Qué función tiene la puerta NO en el circuito del ejercicio 3?
Hace posible elegir entre guardar los datos en las dos memorias de arriba o las dos memorias de abajo. Usando esta puerta, cuando sel valga 0 en las memorias de arriba, en las memorias de abajo sel valdrá 1 y por lo tanto estarán operativas, y viceversa.

 2ª)¿Por qué las filas del Editor Hexadecimal se enumeran de diez en diez?
Es una manera de abreviar. Verás que hay dieciséis pares de cifras en hexadecimal. Si bien la fila está enumerada con 00, las parejas se corresponden con esa posición de memoria y las 15 siguientes expresadas en hexadecimal: 00, 01, 02... y así hasta 0F. Por esto, la siguiente fila comienza con la posición de memoria 10.

3ª) ¿Es necesario activar clr cada vez que se guarde un nuevo valor en una posición de memoria ya usada?
No. El nuevo valor introducido sustituirá al anterior sin necesidad de que este pase a ser 00 previamente.

4ª)¿Qué significa 16*00 en la codificación de Logisim?
Es una forma abreviada de decir que hay una fila de dieciséis veces seguidas
el valor 00.

5ª)¿Cómo funciona el decodificador del ejercicio 4?
Depende del valor de las direcciones adicionales. Si el valor es 00 se activará el primer par de memorias, si es 01 se activará el segundo par, si es 10 el tercer par, y si es 11 el cuarto.

Trabajo realizado por Alvaro Maria Garcia Hernandez


 

No hay comentarios:

Publicar un comentario