He sintetizado un diseño para un CPLD Coolrunner II. Tengo la intención de usar el reloj interno del CPLD. Tengo una entrada llamada CLK. Miro el informe de ajuste y veo esto:
** Global Control Resources **
GCK GSR GTS DGE
Used/Tot Used/Tot Used/Tot Used/Tot
1/3 0/1 0/4 0/0
Signal 'CLK' mapped onto global clock net GCK0.
** 16 Inputs **
Signal Bank Loc Pin Pin Pin I/O I/O
Name No. Type Use STD
(snip)
CLK 1 FB2_7 43 GCK/I/O GCK LVCMOS18 KPR
Por supuesto, CLK es de hecho el nombre de la entrada que me gustaría asignar al reloj. Pero, ¿cómo supo hacer esto?
Un 'dame' es que CLK es un nombre estándar y XST hizo una buena suposición. Así que cambié el nombre de cada señal CLK en el diseño a 'XXX'.
He vuelto a sintetizar (?) y ahora el informe dice:
Signal 'XXX' mapped onto global clock net GCK0.
Entonces, ¿qué da aquí. ¿Cómo funciona esto?
Todo lo que se acepta, ¿será XXX el reloj del hardware o hay algún otro paso que deba tomar?
EDITAR: donde se usa XXX.
always@(posedge foo) //create 1 and 2 pipe delays of inputs
begin
aq2 <= aq1;
aq1 <= aquad;
bq2 <= bq1;
bq1 <= bquad;
end
Esto está en un módulo de decodificación en cuadratura. XXX se pasa como un argumento. foo es XXX aquí. Por supuesto, esto es solo Verilog, no sé qué está haciendo debajo del capó.
Edición 2: se ha producido la iluminación.
He entendido mal lo que es GCK. Pensé que era una señal de reloj generada por e interna al CPLD. No lo es. El GC significa 'Control Global'. Es un mecanismo arquitectónico que permite que una señal se propague alrededor de las macrocélulas de la CPLD a un costo muy bajo y un sesgo bajo. Es una red , no un reloj. El CoolRunner II no tiene un reloj interno. Tendré que evocar un reloj y conectarlo al pin # 43 (el pin GCK) de mi CPLD xc2c64a.