Usando el borde negativo del reloj en diseño físico

0

En Verilog, está bien usar negedge of clock. ¿Se puede activar un elemento de memoria en el borde negativo del reloj? ¿Qué tan robusto será el diseño prácticamente en el chip?

    
pregunta DKishan

1 respuesta

1

Los bloques de memoria interna (por ejemplo, M9K) están sincronizados en el borde positivo del reloj, por lo que no harán nada en el borde negativo del reloj.

Pero puede alimentar el reloj invertido a la entrada de reloj del bloque M9K. Por ejemplo, tiene un circuito construido usando el bloque always que usa posedge del reloj para configurar la dirección de la memoria, los datos para escribir y controlar las señales, y luego, en el siguiente margen negativo, si alimenta el mismo reloj invertido en el bloque RAM, El bloque RAM muestreará sus cables de entrada (dirección, datos, control) y realizará la operación solicitada. Vería este tipo de operación como "cascada" (no estoy seguro si hay algún término especial para ella).

Pero hay aspectos negativos:

  • la mitad del período del reloj debe ser lo suficientemente larga como para que las líneas de entrada de RAM estén estables; p.ej. En mi experiencia con el bloque 1024x9 de M9K solo, la configuración funcionaba correctamente a las 8.8 ns del reloj, pero dos bloques combinados no funcionaban correctamente, por lo que tuve que extender el ciclo del reloj dos veces.
  • los datos leídos de la RAM pueden no aparecer en el siguiente flanco ascendente del reloj maestro, sino en el segundo flanco ascendente (debido a que la operación de la RAM se retrasa media hora). Nuevamente, si la mitad del ciclo del reloj es lo suficientemente largo como para que la RAM recupere su contenido dentro del tiempo de la mitad del reloj, puede muestrear datos en el siguiente flanco ascendente del reloj maestro; de lo contrario, debe tener un ciclo de repuesto;
  • invertir el reloj en la entrada al bloque RAM introducirá un retraso muy pequeño, también debe tenerlo en cuenta.

Si tienes en mente otros dispositivos en lugar de bloques M9K, deberías consultar sus hojas de datos y el calendario.

    
respondido por el Anonymous

Lea otras preguntas en las etiquetas