Estoy trabajando con un SPARTAN 3E-FT256 en Xilinx 14.1, y tengo que generar un reloj de 25 MHz a partir del reloj de a bordo de 50MHz. Lo estoy logrando con un Digital Clock Manager.
Estas son mis designaciones de UCF:
NET "CLK_50MHZ" LOC = "C8" | IOSTANDARD = LVCMOS33 ; //GCLK 10
NET "CLK_50MHZ" PERIOD = 20.0ns HIGH 40%; //DCM_X0Y1
Creación de instancias de DCM:
wire clk_ibufg;
wire clock;
wire CLK0_OUT;
IBUFG clk_ibufg_inst ( .I(CLK_50MHZ) , .O(clk_ibufg) );
BUFG clk_bufg_inst ( .I(clock) , .O(clk));
ClockManager1 clock_converter (
.CLKIN_IN(clk_ibufg),
.CLKFX_OUT(clock),
.CLK0_OUT(CLK0_OUT)
);
No estoy seguro del uso de IBUFG y BUFG, pero la hoja de datos parece preferir las conexiones --- IBUFG a DCM a BUFG ---- por desviación mínima.
La advertencia que recibo:
"Las siguientes señales de reloj no se enrutan en el dedicado recursos de enrutamiento de reloj global. Esto usualmente resultará en retrasos más largos y mayor sesgo para los pines de carga del reloj. Esto podría Ser el resultado de la colocación incorrecta del reloj, más de 8 relojes. lógica de alimentación en un solo cuadrante del dispositivo, o incorrecto partición lógica en el cuadrante (s). Compruebe el informe de tiempo Para verificar el retraso y sesgo de esta red. Nombre de red: reloj "
¿Hay alguna manera de especificar qué BUFG o IBUFG usar? ¿Por qué recibo esta advertencia?