Altera III Cyclone FPGA problema de sincronización de entrada

1

Tengo un problema con la sincronización asíncrona de la señal de entrada. Estoy tratando de hacer el IIC_Slave basado en el kit de inicio FPGA Cyclone III.

Vi 3 casos:

  1. Si no uso los activadores de sincronización, puedo disfrutar de un control de reloj metaestable que afecta como un número de bordes positivos y negativos en cada parte frontal del reloj. Se muestra en la foto 1.

  2. Si uso los activadores de sincronización, este número de frentes desaparece (como se esperaba) pero aparece un nuevo error (parece una señal de reinicio en algunos bordes negativos de la señal del reloj). Al mismo tiempo, el osciloscopio no detecta la señal de reinicio.

  3. ¡Si uso las condiciones del caso 2 con el módulo generado por SignalTap, todo funciona correctamente! Pero no es una posibilidad válida para resolver problemas. (Se desperdician 738 elementos lógicos y 41000 bits de memoria)

Aquí hay explicaciones para los oscilograms . La señal digital D7 - reinicio para el contador. Las señales digitales D6-D1 - bits del contador de desplazamiento. La señal analógica amarilla - línea de datos de IIC. La señal analógica verde - línea de reloj de IIC.

Por favor, dime si tienes alguna idea sobre esta situación. Estoy tratando de hacer que funcione aproximadamente una semana y tengo un fuerte dolor de cabeza. Ni siquiera puedo formular una pregunta adecuada para google .

    

2 respuestas

0

Gracias por tu respuesta. Tu respuesta es buena, por supuesto. Pero el principal problema de mi proyecto es el uso de la señal IIC_Clock como reloj para los registros de contador. Esta discusión sobre AlteraForum me ayuda a resolver mi problema. enlace

    
0

Para la sincronización, necesita al menos dos flipflops entre el pin y la lógica que lo usa. Esos flip-flops deben estar muy juntos (en términos del retardo entre la primera salida Q y la segunda entrada D). También debe asegurarse de que el segundo flip-flop no se replique (lo que podría ocurrir si alimenta otras lógicas): si lo hace, tendrá condiciones de carrera, ya que un flip-flop ve una ventaja justo antes del reloj y la otra justo después.

    
respondido por el Martin Thompson

Lea otras preguntas en las etiquetas