Вы находитесь на странице: 1из 10

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE ELECTROTECNIA Y COMPUTACIÓN

Electronica Digital II
Dept. Sist. Digitales y Telecomunicaciones
Managua, Nicaragua

Práctica No. 2 Dispositivos de Memoria


Datos de la práctica

Carrera INGENIERIA ELECTRONICA


Semestre Grupo
Tipo Practica Laboratorio Simulación Fecha
Asignatura Electronica Digital II
Unidad Temática
No Alumnos por practica 2 No. Alumnos por reporte 2
Nombre del Profesor
Nombre(s) de Alumno(s)

Tiempo estimado Vo. Bo Del Profesor


Comentarios

OBJETIVOS:

Objetivo General

 Determinar la capacidad de un dispositivo de memoria con base en sus entradas


y salidas.
 Combinar ICs de memoria para formar módulos de memoria con un tamaño de
palabra más grande y/o mayor capacidad

Objetivos Específicos

1. Comprender y utilizar en forma correcta la terminología asociada con los


sistemas de memoria
2. Distinguir entre los diversos tipos de ROM y citar algunas aplicaciones comunes
3. Utilizar el programa Circuit Maker para simular circuitos digitales de memoria
ROM o memoria RAM.

MEDIOS A UTILIZAR:

 Laboratorio de Simulación
 PC
 Software ISE, Adept y Circuit Maker.
 Kit FPGA Basys 2.

Universidad Nacional de Ingeniería Carlos Ortega


1
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIÓN

Electronica Digital II
Dept. Sist. Digitales y Telecomunicaciones
Managua, Nicaragua

Universidad Nacional de Ingeniería Carlos Ortega


2
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIÓN

Electronica Digital II
Dept. Sist. Digitales y Telecomunicaciones
Managua, Nicaragua

INTRODUCCION

La memoria es un medio físico capaz de almacenar información (programas y datos) de


forma temporal o permanente. Aunque conceptualmente parezcan sencillas, presentan
una gran variedad de tipos, tecnología, estructura, prestaciones y costos. Ninguna
tecnología es óptima para satisfacer todas las necesidades de un computador, por lo
que existe una jerarquía de subsistemas de memoria.

La capacidad de la memoria es una forma de especificar la cantidad de bits que puede


almacenar un dispositivo de memoria. La capacidad se puede expresar como el
producto: número de palabras x tamaño de la palabra o por una cantidad específica de
bits. El arreglo de las memorias indica que está compuesta por n palabras de m bits
cada una.

Cada una de estas palabras tiene asociado una dirección (código binario) para acceder
a ella para escribir o leer un dato. Las designaciones comunes para expresar la
capacidad de una memoria son:

1K = 210 = 1024
1M = 220 = 1024 K
1G = 230 = 1024M
1T = 240 = 1024G

En esta guía de laboratorio analizaremos de manera general el funcionamiento de un


modulo de memoria ROM y RAM, asi mismo seremos capaces de aumentar el tamaño
de la palabra y su capacidad.

Universidad Nacional de Ingeniería Carlos Ortega


3
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIÓN

Electronica Digital II
Dept. Sist. Digitales y Telecomunicaciones
Managua, Nicaragua

DESARROLLO O PROCEDIMIENTO:

I Parte Memoria ROM (Modulo de 8X8 usando ISE)

1. Cree un nuevo proyecto en ISE Project Navigator.

2. Recordemos un poco la configuración inicial mostrada en la Figura 1. para poder


trabajar con el programa ISE y el Kit FPGA.

3. Agregue una nueva fuente (New Source) usando un modulo verilog (Verilog
Module) con el nombre rom8 asignando como entradas las tres líneas de dirección,
en este caso serian: [2:0]addr y como salidas las líneas de datos de 8 bits [7:0] M.

4. Después de agregadas las entradas y salidas termine de escribir el código del


programa mostrado a continuación:

Universidad Nacional de Ingeniería Carlos Ortega


4
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIÓN

Electronica Digital II
Dept. Sist. Digitales y Telecomunicaciones
Managua, Nicaragua

module rom8(
input [2:0] addr, //Entrada de Direcciones de Memoria
output [7:0] M //Salida de Datos
);

parameter N=8; //Tamaño de la palabra


parameter N_WORDS=8; //Numero de palabras en la memoria
reg [N-1:0] rom [0:N_WORDS-1];
parameter data = 'h00C8F9AF64956CD4; //Datos almacenados en Memoria
parameter IXLEFT = N*N_WORDS -1; //Maximo de Direcciones de Memoria
integer i;
//wire temp;

initial
begin
for (i=0; i<N_WORDS; i=i+1)
rom[i] = data [(IXLEFT-N*i)-:N];
end
assign M = rom[addr];
endmodule

5. El módulo de memoria ROM tendrá el siguiente mapa de Memoria y su


distribución.

Universidad Nacional de Ingeniería Carlos Ortega


5
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIÓN

Electronica Digital II
Dept. Sist. Digitales y Telecomunicaciones
Managua, Nicaragua

(b)

(a)

Figura 2 (a) Mapa de Memoria (b) Distribucion

Universidad Nacional de Ingeniería Carlos Ortega


6
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIÓN

Electronica Digital II
Dept. Sist. Digitales y Telecomunicaciones
Managua, Nicaragua

6. Despues de verificar la sintaxis del programa usando la opción Check Sintax,


realice un archivo .UCF con los nombres de los pines a utilizar en la tarjeta FPGA.

7. Teniendo todos los archivos necesarios compile el programa usando la opción


Generate Programming File para poder obtener el archivo .BIT.

8. Antes de introducir el archivo .BIT a la tarjeta verifique que el jumper este en la


opción de PC.

9. Introduzca el archivo .BIT usando el software ADEPT.

Actividades

Visualizacion de los Datos de la Memoria

Clear Señal de Cambio


Lineas de Direccion

Ejercicio 1 Ejercicio 2
Fig. 3 Diagrama de Funcionamiento de la Memoria ROM

1. Compruebe los valores almacenados en las direcciones de Memoria de la ROM.

2. Cambie los valores almacenados dentro de la Memoria y compruebe otra vez.

3. Modifique el programa del modulo de Memoria para que tenga una entrada de
habilitación en ALTO (CS). Esto debe realizarse en un nuevo proyecto.

Memoria ROM con generación de líneas de dirección.

1. Después de realizado el primer ejercicio generaremos de manera automática las


líneas de dirección mediante un contador de tres bits. Este nuevo proyecto contara
de un modulo top llamado romtop, el cual llamara al archivo rom y agregaremos
los otros archivos .v pertenecientes al contador, a los archivos antirebotes y al
divisor de frecuencias de reloj. (Los Archivos que se agregaran serán dados por el
docente asignado)

Universidad Nacional de Ingeniería Carlos Ortega


7
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIÓN

Electronica Digital II
Dept. Sist. Digitales y Telecomunicaciones
Managua, Nicaragua

2. El archivo romtop tendrá el siguiente código de programa:

module romtop(
input mclk,
input [3:0]btn,
output [7:0] ld
);

wire [2:0] addr;


wire [7:0] M;
wire clk25, clk190, clr, go1;
wire [3:0] btnd;

assign clr = btn[3];


assign ld = M;

clkdiv U1 (.clk(mclk),.clr(clr),.clk190(clk190),.clk25(clk25));
debounce4 U2 (.inp(btn), .cclk(clk190), .clr(clr), .outp(btnd));
clock_pulse U3 (.inp(btnd[0]), .cclk(clk25), .clr(clr), .outp(go1));
counter # (.N(3)) U4 (.clr(clr), .clk(go1), .q(addr));
rom8 U5 (.addr(addr), .M(M));
endmodule

3. El diagrama de bloque de este nuevo proyecto quedara de la siguiente forma:


btn[0] btn[3] mclk 50 Mhz

btn[3] clr clk190 clr


cclk clkdiv
debounce4

btnd[0]
clk25
btn[3] clr cclk

clock_pulse

btn[3] go1
M[7:4]
addr[2:0] ld[7:4]
clr clk rom8
counter ld[3:0]
M[3:0]

Universidad Nacional de Ingeniería Carlos Ortega


8
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIÓN

Electronica Digital II
Dept. Sist. Digitales y Telecomunicaciones
Managua, Nicaragua

4. Despues de haber creado y editado el archivo romtop.v agregue los archivos .v


usando la opción del click derecho Add Copy of Source. Seleccione los archivos
rom8, counter, clkdiv, debounce4 y clock_pulse.

5. Cree un archivo .UCF con las teminales a emplear en este proyecto y luego
compílelo para poderlo introducir a la tarjeta FPGA con el ADEPT.

Actividades.

1. Compruebe el funcionamiento del ejercicio siguiendo el diagrama de la Figura 3.

2. Explique con sus palabras el desarrollo de todo el ejercicio siguiendo el diagrama


de bloques.

II Parte Circuit Maker

1. Utilice el programa Circuit Maker para simular el circuito siguiente:

DISP1 DISP2

U1 4321 4321
PROM32
CS
O7
O6
O5
A4 O4
A3 O3
A2 O2
A1 O1
A0 O0

2. Posicione el ratón en la memoria ROM y haga clic con el botón derecho y escoja del
menú la función “Edit PROM/RAM” y posiciónese en las 5 primeras direcciones (una
por una y haciendo doble clic) para modificar los datos, puede introducir los datos
en forma hexadecimal, introduzca en el siguiente orden:

dirección 0000: 45
0001: 87
0002: F3
0003: 44
0004: 55

Universidad Nacional de Ingeniería Carlos Ortega


9
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIÓN

Electronica Digital II
Dept. Sist. Digitales y Telecomunicaciones
Managua, Nicaragua

Luego posiciónese en las últimas 5 direcciones de memoria y modifique cada una


de las palabras en el siguiente orden:
0027: DD
0028: 33
0029: AB
0030: 11
0031: 26

3. Ahora con el CS activado, active cualquiera de las direcciones antes modificadas y


presione el botón STEP para visualizar en los displays el contenido de las palabras
de la memoria, escoja simulación en modo digital.

4. Implemente un arreglo de memorias que duplique la capacidad de palabras del


circuito anterior. Introduzca datos en las 5 primeras palabras de la segunda
memoria y en las 5 últimas, escoja datos diferentes a los establecidos
anteriormente.

5. Muestre el circuito funcionando a su profesor de tal forma que se pueda mostrar en


los displays los datos guardados en la memoria.

6. Implemente un arreglo de memoria RAM de 4Kx8 utilizando los circuitos integrados


de memoria RAM de 1Kx8 que posee el software. Introduzca datos en los
diferentes circuitos de memoria y muestre el circuito funcionando a su profesor.

III. Trabajo a Entregar

1. Salve todos los archivos simulados en memoria que tenga disponible y presente un reporte
con lo desarrollado en esta práctica de laboratorio e incluya conclusiones.

En total usted deberá tener los siguientes archivos:

1. Modulo de memoria ROM con líneas de dirección usando switch.

2. Modulo de memoria ROM con líneas de dirección usando switch y entrada de habilitación
CS.

3. Modulo de memoria ROM con generación de líneas de dirección mediante contador.

4. Modulo de memoria ROM en Circuit Maker.

5. Modulo de memoria ROM en Circuit Maker expandiendo el numero de palabras.

6. Modulo de memoria RAM de 4Kx8 usando ICs de 1Kx8.

Universidad Nacional de Ingeniería Carlos Ortega


10

Вам также может понравиться