Cómo crear relojes en una placa FPGA

Estoy usando una placa de desarrollo FPGA A7-100T utilizada para un proyecto. Hasta este momento, solo he estado haciendo simulaciones en Vivado con relojes simulados o cuando he estado usando la placa, no he tenido que crear ninguna señal de reloj debido a que solo tengo diseños básicos de lógica combinacional.

¿Cuál es la forma más sencilla de crear señales de reloj? He leído tutoriales y visto videos y parece que tiene que crear un paquete de IP y usar el código HDL como un componente dentro del archivo de nivel superior en el diseño.

Necesito producir dos señales de reloj a la misma frecuencia con una de ellas con un cambio de fase de 90 grados.

Respuestas (2)

El A7-100T tiene un reloj incorporado y el FPGA XC7A100TCSG324-1 de Xilinx tiene incorporado un sistema de generación de reloj muy completo.

La hoja de datos: Hoja de datos de la serie Xilinx 7

lo destaca como:

Relojes Serie 7 1

Serie 7 Relojes 2

Así que utilicé el asistente de reloj e instalé el componente de reloj. Pero, ¿qué ingreso en el componente para el reloj?
Los FPGA de la serie 7 no tienen un reloj autogenerado. Usted, como diseñador, debe proporcionar un bloque de entrada que los circuitos de reloj integrados de la FPGA puedan usar para generar los relojes específicos que necesita. Consulte la documentación del ARTY-A7 pero, según recuerdo, hay un solo reloj de 100 MHz que controla el pin E3 en el FPGA.
Perdón por mi total falta de conocimiento sobre esto, pero ¿este reloj se configura en Vivado en un archivo de restricciones como lo haría con un pin de entrada o salida, y luego se alimenta al componente del asistente del reloj?
@ jwh20 en realidad lo hacen, pero no es muy preciso ni estable. Puede acceder al oscilador de anillo utilizado para cargar los datos de configuración utilizando la primitiva STARTUP. Ocasionalmente puede ser útil.
Debe conectar la entrada PLL a alguna señal de reloj. Presumiblemente, su placa FPGA tiene un oscilador, eche un vistazo al esquema y descubra cuál es la frecuencia y a qué pin está conectado. También querrá contárselo a Vivado con el archivo de restricciones. Tenga en cuenta que el archivo de restricciones en realidad no crea el reloj, solo le dice a Vivado que asuma que hay un reloj externo en ese pin con el período especificado.

No lo hace, tiene que usar un oscilador externo de algún tipo. Pero una vez que tenga eso, puede usar un PLL, DCM o un FPGA primitivo similar para generar relojes derivados en diferentes frecuencias y fases. Eche un vistazo a la documentación de la placa FPGA y las herramientas FPGA que está utilizando para conocer los detalles. Para Vivado, lo más simple es probablemente usar el asistente de sincronización, y eso produce un módulo que puede instanciar y conectar las entradas y salidas apropiadas.