ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

HDL


Enviado por   •  20 de Mayo de 2019  •  Apuntes  •  1.648 Palabras (7 Páginas)  •  112 Visitas

Página 1 de 7

11.4 PLANTILLAS HDL PARA LA INFERENCIA DE MEMORIA

Para usar la descripción de HDL de comportamiento para inferir el módulo de memoria Xilinx, las plantillas de XST deben seguirse de cerca. Para evitar una mala interpretación, debemos abstenernos de crear nuestro propio código "innovador". Los códigos en las siguientes subsecciones se basan en las plantillas del Manual XST v8.1 i. Son las mismas que las plantillas originales, excepto que los genéricos se usan para el ancho de los bits de dirección y el ancho de los bits de datos, y el paquete numérico-std se usa para reemplazar el paquete patentado por la lógica std sin firma. Es una buena práctica limitar la descripción de la memoria en un módulo HDL separado para que el módulo pueda identificarse y reemplazarse fácilmente cuando sea necesario. En esta sección, analizamos el comportamiento de las plantillas HDL para seis configuraciones, incluidas dos para RAM de un solo puerto, dos para RAM de doble puerto y dos para ROM.

11.4.1 RAM de un solo puerto

La memoria integrada de un dispositivo Spartan-3 ya está envuelta con una interfaz síncrona similar a la de la Sección 10.3. Su operación de escritura es siempre sincrónica. En el flanco ascendente del reloj, se muestrean la dirección, los datos de entrada y las señales de control relevantes, como nosotros (es decir, habilitación de escritura). Si se afirma, se realiza una operación de escritura (es decir, los datos de entrada se almacenan en la ubicación de memoria designada por la señal de dirección).

La operación de lectura puede ser asíncrona o síncrona. Para lectura asíncrona, la señal de dirección se utiliza directamente para acceder a la matriz de RAM. Después de que cambia la señal de dirección, los datos están disponibles después de un breve retraso. Para lectura síncrona, la señal de dirección se muestrea en el flanco ascendente del reloj y se almacena en un registro. La dirección registrada se utiliza para acceder a la matriz de RAM. Debido al registro, la disponibilidad de los datos se retrasa y se sincroniza por la señal del reloj. Debido a la estructura interna, la operación de lectura asíncrona solo puede realizarse mediante la RAM distribuida.

RAM de un solo puerto con lectura asíncrona La plantilla para la RAM de un solo puerto con lectura asíncrona se muestra en el Listado 11.1. Se modifica después de la entidad rams-04 del Manual XST.

Listado 11.1 Plantilla para una memoria RAM de un solo puerto con lectura asíncrona

[pic 1]

El código es muy similar al archivo de registro descrito en la Sección 4.2.3, excepto que las operaciones de lectura y escritura utilizan la misma dirección. Contiene un tipo de datos de matriz bidimensional definido por el usuario para el almacenamiento y utiliza la indexación dinámica para acceder al elemento en la matriz. El código muestra que la operación de escritura está controlada por la señal del reloj y la lectura de la operación depende solo de la dirección. Dado que la lectura asíncrona solo puede realizarse mediante la memoria RAM distribuida, esta configuración solo se recomienda para aplicaciones que requieren un pequeño almacenamiento.

--RAM de un solo puerto con lectura síncrona-- La plantilla para la RAM de un solo puerto con lectura síncrona se muestra en el Listado 11.2. Se modifica después de la entidad rams-07 del Manual XST.

Listado 11.2 Plantilla para una memoria RAM de un solo puerto con lectura síncrona

[pic 2]

Tenga en cuenta que la señal addr ahora se muestrea y almacena en el registro addr-reg en el flanco ascendente del reloj, y se accede a la matriz de memoria (la señal ram) a través de la señal addr-reg.
Los datos están disponibles solo después de que el addr-reg se actualice y, por lo tanto, se sincronice implícitamente con la señal clk.

Informe de síntesis Durante la síntesis, se debe inferir un módulo de RAM adecuado de la plantilla de código. Podemos revisar el informe de síntesis para confirmar la inferencia de la memoria RAM módulo. Por ejemplo, considere la creación de instancias de una memoria RAM 4K-by-8 (212-by-23) con lectura síncrona:

[pic 3]

La inferencia de RAM se debe indicar en la sección Síntesis HDL del informe de síntesis:

[pic 4]

El número de RAMS de bloques utilizados debe informarse en la sección Informe final del informe de síntesis:

[pic 5]

Como se esperaba, se infiere una RAM de bloque de puerto único de 4K por 8 y se utilizan dos RAMS de bloque para realizar el circuito.

11.4.2 RAM de doble puerto

Una memoria RAM de doble puerto incluye un segundo puerto para el acceso a la memoria. Idealmente, el segundo puerto debería poder realizar operaciones de lectura o escritura de manera independiente y tener su propio conjunto de direcciones, entrada y salida de datos y señales de control. Para ser compatibles con versiones anteriores de XST, consideramos una configuración con el segundo puerto que puede realizar solo una operación de lectura. En este libro, la aplicación principal de la configuración de doble puerto es para la memoria de video, que requiere un puerto de escritura y un puerto de lectura. Por lo tanto, esta configuración no impone una limitación seria para nuestros propósitos. Al igual que en una RAM de un solo puerto, la operación de lectura de una RAM de doble puerto puede ser asíncrona o síncrona.

...

Descargar como (para miembros actualizados) txt (10 Kb) pdf (334 Kb) docx (514 Kb)
Leer 6 páginas más »
Disponible sólo en Clubensayos.com