Em um artigo sobre FPGAs com radiação, deparei-me com esta frase:
"Outra preocupação com os dispositivos Virtex são as meias travas. Às vezes, as meias travas são usadas nesses dispositivos para constantes internas, pois isso é mais eficiente do que usar a lógica".
Nunca ouvi falar de um dispositivo primitivo de FPGA chamado "meia trava". Pelo que entendi, parece um mecanismo oculto para "fonte" constante de '0' ou '1' nas ferramentas de back-end ... Alguém pode explicar o que exatamente é uma "meia trava", especialmente no contexto de FPGAs e como eles podem ser usados para salvar a lógica?
EDIT: O artigo foi encontrado em uma comparação de FPGAs resistentes à radiação e tolerantes à radiação para aplicações espaciais
Respostas:
Uma meia trava é uma porta com feedback positivo implementado com um transistor de pull-up fraco:
simular este circuito - esquemático criado usando o CircuitLab
Quando a entrada é acionada ativamente, ela anula o sinal proveniente da tração fraca. Quando a entrada está no estado Z, o pullup fraco pode manter o "1" lógico na entrada (e "0" na saída) indefinidamente. Não manterá o estado oposto de forma confiável, portanto, "meia trava".
Por que alguém iria querer uma meia trava em vez de uma trava completa? Para alguns sinais, não faz sentido poder armazenar as duas constantes. Por exemplo, um D-flipflop pode ter
enable
entrada apenas com trava alta ereset
entrada apenas com trava baixa, caso contrário, ele será simplesmente eliminado durante a síntese. Esse é o tipo de sinal para o qual as meias travas são usadas: elas são travadas no valor padrão ou acionadas por interconexão.fonte
Parece que eles fornecem a lógica para manter constantes.
Como eles não são observáveis, só podem ser inicializados uma vez (portanto, somente reconfiguráveis após a inicialização do dispositivo), eles não consomem uma LUT completa e são muito mais simples, no entanto, úteis.
fonte