¿Qué es un "medio pestillo" en una FPGA?

En un artículo sobre FPGA de radiación dura, me encontré con esta oración:

"Otra preocupación con respecto a los dispositivos Virtex son los medios pestillos. Los medios pestillos a veces se usan dentro de estos dispositivos para constantes internas, ya que esto es más eficiente que usar la lógica".

Nunca he oído hablar de un dispositivo FPGA primitivo llamado "medio pestillo". Según tengo entendido, suena como un mecanismo oculto para "generar" un '0' o '1' constante en las herramientas de back-end... ¿Alguien puede explicar qué es exactamente un "medio pestillo", especialmente en el contexto de los FPGA? , y cómo se pueden usar para salvar la lógica?

EDITAR: El documento donde encontré esto era una comparación de FPGA resistentes a la radiación y tolerantes a la radiación para aplicaciones espaciales

¿Qué motor de búsqueda usaste?
Es una falla que se informa en la etapa de diseño que requiere una acción correctiva slideserve.com/delilah/single-event-upsets-in-sram-fpgas debido a la tensión acelerada, como un pequeño error interno, excepto que se traba y puede convertir un estado triple en una salida por ejemplo
@TonyStewart.EEsince'75 ¿Se usan fallas para constantes internas? Eso no tiene sentido.
No. Los medios pestillos son fallas ocultas que deben evitarse.
@ TonyStewart.EEsince'75 Eso todavía no tiene ningún sentido en contexto. La presentación a la que se vinculó muestra claramente un "medio pestillo" como parte de la FPGA, junto con otras cosas como "bits de configuración" y "BRAM". No es una falta; es algo que puede verse afectado por una falla.
Son fallas de diseño porque una retroalimentación positiva débil crea una falla de un puerto que entra en tres estados y se bloquea, por lo que Verilog los informa como fallas de medio bloqueo, luego debe hacer un diagnóstico de bajo nivel para evitarlas.
@TonyStewart.EEsince'75 Lo siento, pero eso todavía no es correcto. Los latches parciales no son lo mismo que los latches inferidos , lo que puede causar una advertencia de síntesis (no un "fallo"). Una "falla" en el contexto de la presentación que vinculó es una alteración eléctrica, causada por un evento de radiación, por ejemplo, que interrumpe la lógica que se ejecuta en el FPGA.
@duskwolf Nunca me referí a pestillos inferidos, sino al mismo elemento descrito por Dmitry

Respuestas (2)

Un medio pestillo es una puerta con retroalimentación positiva implementada con un transistor pull-up débil:

esquemático

simular este circuito : esquema creado con CircuitLab

Cuando la entrada se impulsa activamente, anula la señal que proviene del pullup débil. Cuando la entrada está en estado Z, el pullup débil puede mantener el "1" lógico en la entrada (y el "0" en la salida) indefinidamente. No mantendrá el estado opuesto de manera confiable, por lo tanto, "medio pestillo".

¿Por qué alguien querría un pestillo medio en lugar de un pestillo completo? Para algunas señales no tiene sentido poder almacenar ambas constantes. Por ejemplo, un flip-flop D puede tener enablela entrada bloqueada solo en alto y resetla entrada solo bloqueada en bajo; de lo contrario, simplemente se eliminará durante la síntesis. Ese es el tipo de señales para las que se utilizan medios latches: se fijan al valor predeterminado o se controlan mediante interconexión.

Entonces, ¿se supone que debe aumentar la entrada por un momento antes de flotarla, o terminará con un estado metaestable que eventualmente, pero de manera impredecible, cambiará?
@HenningMakholm Sí, la FPGA controla todos los medios pestillos antes de cada ciclo de programación.
Eso suena como una complicación significativa de cualquier circuito que suministre la entrada, solo para salvar un solo transistor. Si pudieras escribir algo sobre por qué demonios valdría la pena, creo que mejoraría la respuesta.
@HenningMakholm ¿Por qué crees que medio pestillo solo salva un solo transistor? AFAIK, se usan como constantes que, de lo contrario, tendrían que codificarse en LUT.
Un pestillo completamente funcional solo necesitaría un único NMOS débil además de su diagrama para bajar la entrada cuando la salida es alta, ¿verdad? No sé qué es una LUT. ¿Puede decir algo en su respuesta sobre cómo funciona el "usado como constantes" si lo único que puede almacenar de manera confiable es un 1? ¿Cómo se usan estas cosas ?
@HenningMakholm LUT es un acrónimo de tabla de consulta. He añadido un ejemplo.
@HenningMakholm Y, por cierto, si usa un pestillo completo, aún tiene que conducirlo una vez para que entre en un estado predecible, ¿verdad?
Ah, entonces, si lo entiendo correctamente, esto es para usar en un caso en el que en la fase de diseño puede conectar la señal de entrada (en cuyo caso se supone que debe estar impulsándola todo el tiempo en lugar de a veces tri- estado) ), o dejarlo desconectado por completo, en cuyo caso el medio pestillo proporciona un valor predeterminado.
(Al principio, su descripción me pareció que la entrada se suponía que era algo así como una línea común de tres estados donde, en ocasiones, nadie podría conducirla).
@Dimitry: Buena respuesta. ¿Entiendo correctamente que los medios pestillos se usan (¿comúnmente?) En matrices de interconexión FPGA? Y al obtener constante desde "dentro" de las matrices de interconexión, no se deben usar recursos lógicos.
@daños Exactamente.

Parece que proporcionan la lógica para mantener constantes.

Dado que no son observables, solo se pueden inicializar una vez (por lo que solo se pueden reconfigurar después de la inicialización del dispositivo), no consumen una LUT completa y son mucho más simples, pero útiles.

También vi ese texto abstracto cuando busqué en Google. No los explica correctamente según la pregunta de OP, ni los lleva a un ejemplo de hoja de datos. Votación negativa.
Si es una estructura diferente de la FPGA y menos que una LUT completa, con algunos detalles más, explique cómo no responde a la pregunta 'qué es' y en cuanto a 'cómo guarda la lógica', eso también está respondido .