4 votos

Altera el Controlador DRAM con UniPHY

Estoy tratando de portar un diseño de Xilinx a Altera, y tengo problemas con el controlador DRAM IP (por un Ciclón-V y un LPDDR2 mem).

Me las he arreglado para generar la IP, pero no entiendo que el reloj debe ser utilizado para el Avalon-MM interfaz.

He mirado en un diseño de ejemplo que utiliza Qsys, avl_0 de autobuses está marcado con associated clock = mp_cmd_clk0, no el reloj utilizado por el NIOSII de la CPU, que es pll_ref_clock utilizado por el controlador de memoria del PLL.

Como mi diseño sólo se utiliza en VHDL, sin NIOS, ni cualquier otro Altera IP, que me gustaría evitar Qsys para el cableado de los bloques juntos.

Así :

  • ¿Cuál es el reloj de referencia para el Avalon autobús ? pll_ref_clk, afi_clk, afi_half_clk, algo más ?

  • ¿Puedo elegir la frecuencia, o es una relación fija basada en el DRAM aplicarse, el ancho del bus ?

(Como comparación, el Xilinx MIG controlador DRAM interior de la Fifo, los relojes son entradas y puede tener cualquier frecuencia)


EDITAR

Me han llegado a encontrar información relevante.

https://www.altera.com/literature/hb/external-memory/emi.pdf (10 MB !)

Volumen III, Capítulo 4 : hardware de Interfaz de Memoria.

El Avalon bus[ses] son gestionados por la "Multi-Puerto de Front End (MPFE)"

El Avalon autobuses están asociados con la mp_cmd_xxx_clk, mp_rfifo_xxx_clk, mp_wfifo_xxx_clk señales, y hay algunos internos de la resincronización en el controlador de memoria, de modo que cualquier reloj puede ser utilizado : "El MPFE controla el reloj de cruce entre el usuario de la lógica y el duro interfaz de memoria."

No todos los FPGA de Altera las familias parece que la característica está disponible, o se utilizan diferentes controladores. Esto Altera DRAM controller para el Ciclón V finalmente se tiene características muy similares a la Xilinx MIG IP.

2voto

Tom Carpenter Puntos 7192

Los relojes se utilizan de la siguiente manera:

pll_ref_clk = El reloj que se alimenta a la entrada del PLL. Esto tiene que coincidir con lo que la configuración en la central IP, de modo que la memoria correcta frecuencia de reloj será generado.

afi_clk = Este es el reloj se utiliza para el Avalon-MM interfaz. Hay una correspondiente señal de reset afi_reset que es sincrónica (en Deassert creo) con afi_clk.

afi_half_clk = Esto es opcional , y se activa mediante un parámetro en la central IP. Básicamente, este es un reloj síncrono afi_clk , pero en la mitad de la frecuencia.

Así que cuando usted está interactuando el Avalon-MM interfaz debe ser el uso de la afi_clk de su lógica.


La frecuencia de los relojes es dependiente de su núcleo IP configuración. Básicamente, usted especificar la frecuencia de la memoria que es la velocidad de reloj utilizada para la memoria física. No es entonces un parámetro que permite seleccionar un modo de funcionamiento para el Avalon-MM interfaz. Usted tiene las siguientes opciones:

Full Rate = El Avalon-MM interfaz de opera en la misma frecuencia que la de la memoria. Para los programas de DDR RAM, tiene datos sincronizados en ambos bordes, pero internamente no se puede hacer eso, así que para lograr la misma tasa de datos, la interfaz de salida es el doble de la anchura de la memoria.

Half Rate = La frecuencia de reloj del Avalon-MM interfaz es la mitad de la frecuencia de la memoria. En consecuencia, la interfaz de salida es ahora cuádruple de la anchura de la memoria.

Quarter Rate = Se obtiene el patrón por ahora. Cuarto de la frecuencia de reloj, por lo ancho de datos es 8 veces el ancho de la memoria.

Estos diferentes ajustes de frecuencia permiten que la memoria funcione mucho más rápido que el núcleo de la lógica de la FPGA se puede ejecutar (en la periferia de la FPGA es mucho más rápido que el core). Así, por ejemplo, usted puede tener una de 32 bits de 800 mhz DDR chip que se presenta de forma interna como 200MHz de 256 bits de ancho de bus de datos.


En cuanto a por qué estaban utilizando el PLL reloj de referencia para los Nios del procesador en el diseño de referencia, quién sabe. Hay muchos pequeños errores aquí y allá, que se encontrará con la documentación y el ejemplo de los diseños de Altera.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X