Lectura y almacenamiento de información utilizando memorias ROM y RAM
djorkaeff67Documentos de Investigación26 de Enero de 2016
2.711 Palabras (11 Páginas)749 Visitas
[pic 1]
UNIVERSIDAD DEL ISTMO.
Prácticas:
- Lectura y almacenamiento de información utilizando memorias ROM y RAM.
- Verificador de contraseñas utilizando memorias ROM y RAM.
- Verificador de patrones utilizando máquinas de estado.
Electrónica 2.
Licenciatura en Informática.
Integrantes del Equipo:
María Magdalena Enríquez García.
Djorkaeff Carrasquedo Gutiérrez.
Misael Ramírez López.
Nombre del Profesor:
M.E.C. Edgar Manuel Cano Cruz.
Cd. Ixtepec, Oaxaca, 22 de Enero de 2016.
Índice
Índice
1. Introducción
2. Objetivos
2.1.Objetivo general……………………………………………………………………...
2.2.Objetivos específicos………………………………………………………………...
3. Desarrollo
3.1.Lectura y almacenamiento de información utilizando memorias ROM y RAM…….
3.2.Verificador de contraseñas utilizando memorias ROM y RAM……………………..
3.3.Verificador de patrones utilizando máquinas de estado…………………………….
4. Simulaciones
4.1.Lectura y almacenamiento de información utilizando memorias ROM y RAM……
4.2.Verificador de contraseñas utilizando memorias ROM y RAM……………………
4.3.Verificador de patrones utilizando máquinas de estado…………………………….
5. Conclusiones
Introducción
En este reporte se encuentran realizados tres proyectos. El primero consistió en generar una memoria RAM y ROM en el programa Active-HDL, las cuales ocupamos para leer una palabra en la memoria ROM y guardarla en la memoria RAM. Con la ayuda de un contador que nos daba la dirección de cada bit en la memoria ROM y lo guardaba en la misma posición pero en la memoria RAM.
El segundo programa consistió en realizar un sistema en Active-HDL que nos verificara una contraseña que ingresaríamos nosotros desde el teclado. Si la contraseña era correcta se escribiría en una memoria RAM la palabra “ABIERTO”. En caso contrario de que no fuera correcta la contraseña, no se llevaría a cabo ninguna acción en la RAM, pero la salida sería un ‘1’, que significa que hay un “ERROR”. Esto quiere decir que la contraseña no es correcta.
Y por último un programa igual en Active-HDL que consistió en elaborar con máquinas de estado un lector de contraseña. Pero en este programa la contraseña ya estaría predefinida en el diagrama de estados con sus respectivas condiciones, la contraseña tiene un tamaño de 8 bits y la entrada es una cadena de n bits en la cual con un contador se podrá ver cuántas veces se repite la contraseña en la cadena de n bits.
La cadena de bits pude ser de cualquier tamaño mayor de 8 bits, porque este es el tamaño de nuestra contraseña; y se ingresara de forma serial, lo que quiere decir que se ingresara bit por bit al programa.
Objetivos
Objetivo general
Utilizaremos lo aprendido en clases para poder implementar cada uno de los ejercicios, resolviendo cada uno de los problemas que se nos presenten, utilizaremos las memorias RAM y ROM y las máquinas de estados para resolver dichos ejercicios.
Objetivos específicos
Los objetivos específicos del presente proyecto son:
- Leer datos desde la ROM y almacenarlos en la RAM utilizando Active-HDL.
- Verificar si una contraseña introducida es correcta y mostrar ABIERTO desde la RAM en Active-HDL.
- Verificar cuantas veces se repite un patrón en una cadena de bits, utilizando máquinas de estado en Active-HDL.
- Realizar la simulación correspondiente a cada uno de los ejercicios.
Desarrollo
Lectura y almacenamiento de información utilizando memorias ROM y RAM.
Esta práctica consiste en crear una memoria ROM que lea un archivo y lo almacene en la memoria RAM y en la memoria RAM lo imprima.
Para ello primero crearemos un contador que nos dará la dirección donde la memoria ROM leerá la información contenida dentro de ella y también donde se almacenara la memoria RAM, como se muestra en la siguiente Figura 1 que muestra el código del contador.
[pic 2]
Figura 1. Código del contador para la memoria ROM y RAM.
Ahora crearemos la memoria RAM y la memoria ROM para ello iremos a la pestaña de IP CORE Generator, en la pestaña de Memory Blocks donde nos aparece que tipo de memoria queremos crear en este caso crearemos una memoria RAM, nos aparece con una entrada de reloj(CLK), una entrada que es el dato que vamos a almacenar(DATA), una entrada que nos permitirá escribir en la memoria RAM(WE), una entrada donde indicara la dirección donde se almacenara el dato(ADDR) y una salida que mostrara lo que se encuentra dentro de la memoria(Q); como se muestra en la Figura 2.
[pic 3]
Figura 2. Creación de la memoria RAM.
Ya creada la memoria RAM le asignaremos los tamaños a las entradas y a las salidas de la memoria, para Data le asignamos un tamaño de 8 bits, para ADDR le asignamos un tamaño de 4 bits y para la salida Q un tamaño de 8 bits; como se muestra en la siguiente Figura 3 que tiene el código de la memoria RAM.
[pic 4]
Figura 3. Código de la memoria RAM.
Para finalizar crearemos la memoria ROM para ello iremos a la pestaña de IP CORE Generator, en la pestaña de Memory Blocks donde nos aparece que tipo de memoria queremos crear en este caso crearemos una memoria ROM, que a diferencia de la memoria RAM, primero crearemos un archivo de texto que contendrá la información que queremos leer en la memoria ROM, que se creara en la carpeta donde este guardado el espacio de trabajo; ya creado el archivo lo abriremos, cuando estemos creando la memoria y después generaremos la memoria ROM, que tiene como entradas una para habilitar la lectura de datos en la memoria(OE) y otra donde se introducirá la dirección de donde se empezara a leer(ADDRESS)y una salida que mostrara lo que se está leyendo en la memoria(Q); como se muestra en la Figura 4.
[pic 5]
Figura 4. Creación de la memoria ROM.
Ya creada la memoria ROM le asignaremos los tamaños a las entradas y a las salidas de la memoria, para ADDRESS le asignamos un tamaño de 4 bits y para la salida Q un tamaño de 8 bits; como se muestra en la siguiente Figura 5 que tiene el código de la memoria RAM.
Y por último uniremos todos los diagramas para que funcione lo que tiene cada una de las estructuras, primero el contador que tiene las entradas de reloj y de reset que serán de tamaño de 1 bit y la salida del contador de tamaño de 4 bits, serán las entradas de ADDRESS en las memorias ROM y RAM, que será las direcciones de los archivos. En la memoria ROM la entrada OE siempre será ‘1’ para que pueda leer la información del archivo que ubicara la dirección de ADDRESS y en la salida Q de 8 bits mostrara los datos que vaya leyendo hasta que en contador termine. Por ultimo en la memoria RAM entrara la salida de la ROM en DATA y para que se pueda escribir WE siempre será ‘1’ para almacenar cada valor que la ROM envié, y que nos mostrara en la salida Q de 8 bits; como se muestra en la Figura 6 que tiene el diagrama que muestra la unión de cada una de las estructuras.
[pic 6]
Figura 5. Código de la memoria ROM.
[pic 7]
Figura 6. Diagrama de todo el programa.
Verificador de contraseñas utilizando memorias ROM y RAM.
Esta práctica consiste en introducir una contraseña desde el teclado y verifique si la contraseña es correcta en la salida de la memoria RAM, mostrara “ABIERTO”, sino mostrara un ‘1’ que significara que hay un error, para ello utilizaremos un contador, una memoria ROM que hará la comparación de la contraseña y si es correcta, enviará un mensaje de “ABIERTO” a la memoria RAM.
Primero en el contador de la memoria ROM, tendrá una entrada de reloj (CLK) como en la práctica anterior, también una entrada de reset el cual reiniciara todo al inicio cuando este activado y tendrá una salida de 4 bits que será las direcciones de memorias en la ROM y RAM; como se muestra en la siguiente Figura 7 que tiene el código del contador.
...