Crear un retraso más corto que un período de reloj en CPLD

2

Tengo varios periféricos que se conectan a CPLD. Todos tienen retrasos de propagación diferentes, y para compensar eso deseo introducir un retraso de aproximadamente 10-15 ns en la lógica de CPLD. En detalle, clkOUT debe retrasar el clkIN en aproximadamente 10ns. ¿Es posible lograrlo describiendo un modelo de comportamiento en VHDL? ¿Alguna sugerencia? clkIN = 10MHz.

CoolRunner-II

    
pregunta Nazar

2 respuestas

5

No, los retrasos asíncronos no son construcciones sintetizables en un HDL.

Sin embargo, si no necesita mucha precisión, puede especificar artificialmente una larga cadena de puertas (por ejemplo, inversores o búferes) y luego usar restricciones de síntesis para evitar que se optimicen.

    
respondido por el Dave Tweed
1

La respuesta de Dave Tweed es correcta, aunque me di cuenta de que la solución que encontró en los foros de Xilinx requería que usara pines de salida adicionales en las puertas de tres estados para evitar que la síntesis elimine sus puertas intermedias. Para un cambio tan pequeño, puede utilizar el Editor FPGA de Xilinx para manipular manualmente el diseño sintetizado. Puede encontrar un tutorial aquí .

No estoy seguro de qué tipo de recursos tiene disponibles en su CPLD (por lo general trabajo con grandes FPGA con todas las funciones) pero también puede usar un MMCM / PLL o similar para volver a generar un reloj de salida con un cierto desplazamiento de fase (retardo de sub-1 ciclo).

    
respondido por el QuantumRipple

Lea otras preguntas en las etiquetas