Altera MAX10 CPLD inicialización estado de IO

0

Estoy diseñando una PCB con un Altera MAX10 (10M02) CPLD que solía hacer, entre otras cosas, el arbitraje de bus entre varios chips de memoria (uno / CS por chip). Todos los chips de memoria están en el mismo bus, por lo que solo uno / CS (y / OE) se cambiará al mismo tiempo para evitar conflictos en el bus.

A mi entender, el CPLD MAX10 puede inicializarse dentro de 2 ms en el momento del encendido (según los números binarios sin comprimir y sin cifrar que encontré en una hoja de datos).

Quería saber cuál es el estado de la E / S cuando CPLD se está inicializando. ¿Son HighZ? ¿Bajo? ¿Alto? ¿O es el estado impredecible? Algunas notas más:

  • Uso verilog "asignar" para establecer todas las E / S críticas en 1 de forma predeterminada (suponiendo que los registros son 0 después de la inicialización). Por ejemplo: " asignar outputname = registername? 1'b0: 1'b1; "
  • He configurado todas las E / S a 3.3LVCMOS porque todo está conectado a dispositivos de 3.3V.
  • El tiempo de subida / caída requiere ser inferior a 10 ns.

Además, ¿alguien puede confirmar que el CPLD MAX10 (10M02) tiene todos los registros borrados después de la inicialización? (No uso ningún pin de reinicio). No puedo encontrar ningún detalle al respecto en las hojas de datos.

Gracias por tu respuesta / sugerencias.

Saludos cordiales,

    
pregunta ggadde29

2 respuestas

0

Como indica @Claudio, los pines de E / S serán todos altos-z durante la configuración.

En términos de restablecimiento, durante la configuración, todos los registros deben inicializarse a cualquier valor predeterminado que se especificó cuando se sintetizó el diseño.

Sin embargo, no confiaría en esto como su única fuente de reinicio. Cuando enciende el dispositivo por primera vez, no se puede garantizar el estado de ninguna fuente de reloj o fuente de entrada que esté utilizando; por ejemplo, el reloj puede ser un oscilador con un tiempo de inicio durante el cual puede ser inestable. Como resultado, puede terminar con problemas de metastabilidad extraños si su diseño no tiene otra fuente de reinicio.

Si no tiene ningún restablecimiento externo, la solución más sencilla sería una cadena básica de sincronizador de restablecimiento de algunos registros. Los registros se inicializarían a cero, y la entrada a la primera sería una lógica 1. Esto significa que la salida de la cadena mantendría todo restablecido durante unos pocos ciclos de reloj (tantos como en la cadena) después del encendido. tiempo para que las conexiones de E / S externas se establezcan.

Sin embargo, todavía consideraría su diseño para ver si hay alguna condición, por ejemplo, errores en las rutas de control / datos: los considera fatales y los utiliza como fuente secundaria para restablecer el sistema si algo va muy mal.

    
respondido por el Tom Carpenter
1

Las E / S durante la configuración son entradas. Consulte la Guía del usuario de MAX I / O, página 2-13.

Realmente no entiendo tu oración, porque no usas un reinicio. Realmente no creo que sea una buena práctica no usar el reinicio en un diseño digital.

    
respondido por el Claudio Avi Chami

Lea otras preguntas en las etiquetas