TODOPIC
Otros Microcontroladores / Dispositivos programables => Lógica Programable => Mensaje iniciado por: Bruno_AR en 21 de Marzo de 2006, 14:23:00
-
Necesito aplicar una RAM dual port en un sistema digital, pero no se como funciona, estoy utilizando el ISE, alguien me podria explicar mas o menos como funciona esta memoria? infinitas gracias.-
-

Las Spartan2 llevan varios de estos bloques de memoria,desde 4 hasta 14,dependiendo del modelo.
El manejo y la funcionalidad es como si de dos chips independientes se tratase.Me explico.Cada uno de estos bloques tiene dos puertos,cada uno con su bus de datos de entrada,bus de salida,de dirección,control,reloj,etc..Puedes usar distintas señales para cada uno ó las mismas,con la salvedad de que no podrás acceder a la misma posición de memoria desde ambos al mismo tiempo.Puedes usar uno para lectura y otro para escritura.
Xilinx trae en sus librerías este símbolo en la categoría "memory"...busca el componente ramb4_sX_sX
La X pueden ser números diferentes,dependerá del tamaño de dato que quieras usar,ya que es un parámetro configurable en la fpga.
Suerte
-
Muchisimas gracias, ahora mismo me pongo a probar a ver como es la cosa, espero no tenga problemas, de todas formas tengo una pequeña duda, ahora entendi bien que son practicamente dos memorias separadas, pero no me doy cuenta bien de algo, WE (A o B, despende del puerto que se trate) es write enable? y EN (A o B, despende del puerto que se trate) habilita que? no se como decirle que la escribo o la leo?
Porque no puedo acceder a la misma direccion al mismo tiempo si el bus de datos de salida es distinto??
Me diste una ayuda terrible!!! gracias y volvere
-
La funcionalidad concreta de esas señales de control no la recuerdo.Echa un ojo al data de alguna spartan2 que seguro viene especificado.
Con respecto al acceso simultáneo desde los dos bloques,es sencillo...son dos caminos de entrada...y dos caminos de salida que te proporcionan en cada momento el dato apuntado por su bus de dirección correspondiente,pero el "núcleo" de memoria es el mismo para ambos.Si son 16 Kbits,son los mismos 16 Kbits para ambos puertos.Para una lectura simultánea desde los dos puertos posiblemente la efectúe sin quejarse,pero si intentas escribir desde ambos a la vez ó intentas escribir desde uno y leer desde el otro seguramente eche chispas
-
Ok, le echare un vistazo, cualquier cosa vuelvo a consultar, de todas formas me ayudaste mucho, mil gracias!!!