¿para qué se utiliza BUFGP?

3

Estoy intentando hacer un código verilog para mi clase y encontré BUFGP. Después de investigar un poco, solo encontré que es un amortiguador para conducir relojes. ¿Alguien puede explicarme esto? Por ejemplo, tengo la siguiente línea de código en la que no estoy seguro de lo que se supone que debe hacer.

BUFGP BUFGP1 (board_clk, CLK);
    
pregunta FarhadA

1 respuesta

5

Para utilizar una señal de reloj externa de manera efectiva, deberá almacenarla internamente en el dispositivo. Esto se debe a que una única señal de entrada de reloj generalmente conduce a muchas otras puertas internas, o en términos de EE tiene un alto "abanico de salida".

Puede leer más sobre fan out aquí o here .

La mayoría de los FPGA tienen circuitos dedicados para almacenar en búfer las señales del reloj y se aseguran de que se enruten alrededor del silicio de la FPGA utilizando la ruta de menor latencia. No menciona su dispositivo, pero el BUFGP sugiere Xilinx.

En el documento vinculado por apalopohapa puede encontrar lo siguiente:

  

Plantilla de instanciación de Verilog

     

BUFGP nombre_instancia (.O (usuario_O), .I (usuario_I));

Entonces, en su línea de código, está declarando un BUFGP llamado BUFGP1 que conecta la señal de entrada CLK a la señal de salida board_clk (¿tiene esto al revés?).

Sin embargo, también encontrará esta cita en el documento:

  

Las herramientas de síntesis usualmente infieren un BUFGP en cualquier red de reloj

Por lo tanto, a menos que tenga problemas específicos con las herramientas Xilinx que no generan una señal de reloj con búfer, es posible que no sea necesario codificarla manualmente. Asegúrese de que su reloj de entrada entra en uno de los pines del reloj dedicado en el dispositivo, por lo general hay solo una pequeña cantidad de estos.

    
respondido por el David

Lea otras preguntas en las etiquetas