¿Cómo almaceno un reloj de alta frecuencia en un Spartan 6?

2

Estoy intentando crear un reloj de alta velocidad en mi Spartan 6 Junta de Atlys . El clonck a bordo es de 100MHz. Estoy tratando de usar un PLL en chip para obtener un reloj más rápido. Estoy usando la IP del asistente de reloj para generar un reloj de mayor velocidad.

Las cosas funcionan bien siempre y cuando las frecuencias de mi reloj estén por debajo de los 400MHz. Si trato de ejecutar los relojes de salida más rápido, veo la advertencia -

  

"La frecuencia de CLK_OUT1 requiere que este reloj de salida deba impulsar un BUFFPLL"

La hoja de datos del asistente de reloj indica que

  

Si una salida de reloj requiere buffers especiales como BUFPLL, lo que hace el asistente   No se generan en el diseño, los mensajes de alerta se marcan para el usuario. Retroalimentación para el   la primitiva puede ser controlada por el usuario o dejada para que el asistente se conecte automáticamente. Si es automatico   se seleccionó la retroalimentación, la ruta de retroalimentación coincide con la sincronización de CLK_OUT1.

La Spartan 6 clocking guide menciona BUFPLL como una primitiva. Nunca he hecho tales diseños. ¿Cómo procedo? ¿Cómo creo un BUFPLL en mi diseño? ¿Es esto simplemente más allá de la capacidad de un Spartan 6 o mi tablero?

    
pregunta Lord Loh.

3 respuestas

2

No he usado Spartan6 específicamente, pero deberías poder crear una instancia de BUFPLL (página 52) primitivo y alimenta la salida de lo que sea generado por el asistente en eso.

La página 80 de Xilinx Spartan-6 Libraries Guide para HDL Designs tendrá la Información que necesita en la instanciación.

    
respondido por el EEToronto
0

Cualquier cosa superior a 300 MHz necesita un diseño y condiciones ambientales óptimas. Incluso si se observan frecuencias más altas que las que se observan en el osciloscopio, se atenuarían y no serían del nivel de voltaje correcto.

Para lograr velocidades de reloj más altas, necesita obtener FPGA más rápidos (serie Kintex, etc.)

    
respondido por el Thar
0

Su problema parece ser enrutar un reloj de alta velocidad a io-logic para proporcionar esto a un periférico externo. Si ese es el caso, de hecho necesita un bufpll para acceder a los io-banks. Puede encontrar una plantilla de creación de instancias para bufplls en su entorno ise (bombilla amarilla) en la parte superior de su panel de control ise. Puede encontrarlo entre otras cosas útiles como plls y dcms debajo de la pestaña de sincronización. copia esto en el código fuente de tu hdl.

no olvide incluir la biblioteca unisim y que un bufpll solo puede ser controlado por el puerto clk0 o clk1 de su pll. Son posibles frecuencias de hasta 1 ghz como io-clk. aunque es posible que también necesite un oddr primitv, que también se puede encontrar en la biblioteca que he mencionado.

    
respondido por el trax

Lea otras preguntas en las etiquetas