Qu'est-ce qu'un «demi-verrou» dans un FPGA?


10

Dans un article sur les FPGA durs aux radiations, je suis tombé sur cette phrase:

"Une autre préoccupation concernant les appareils Virtex concerne les demi-verrous. Les demi-verrous sont parfois utilisés dans ces appareils pour les constantes internes, car cela est plus efficace que d'utiliser la logique".

Je n'ai jamais entendu parler d'une primitive de périphérique FPGA appelée "demi-verrou". Autant que je sache, cela ressemble à un mécanisme caché pour «source» un «0» ou «1» constant dans les outils backend ... Quelqu'un peut-il expliquer exactement ce qu'est un «demi-verrou», en particulier dans le contexte des FPGA et comment les utiliser pour sauvegarder la logique?

EDIT: Le papier où j'ai trouvé que c'était une comparaison des FPGA durs aux radiations et tolérants aux radiations pour les applications spatiales


7
Quel moteur de recherche avez-vous utilisé?
Ale..chenski

C'est une erreur signalée à l'étape de la conception qui nécessite une action corrective slideserve.com/delilah/single-event-upsets-in-sram-fpgas en raison d'une contrainte accélérée, comme une petite erreur en interne, sauf qu'elle se verrouille et peut se transformer en trois états. une sortie par exemple
Tony Stewart Sunnyskyguy EE75

1
@ TonyStewart.EEsince'75 Les défauts sont utilisés pour les constantes internes? Cela n'a aucun sens.
duskwuff -inactive-

Non. Les demi-loquets sont des défauts cachés qui doivent être évités.
Tony Stewart Sunnyskyguy EE75

1
@ TonyStewart.EEsince'75 Cela n'a toujours aucun sens dans le contexte. La présentation que vous avez liée à dépeint clairement un "demi-verrou" dans le cadre du FPGA, à côté d'autres choses comme "bits de configuration" et "BRAM". Ce n'est pas une faute; c'est quelque chose qui peut être affecté par un défaut.
duskwuff

Réponses:


14

Un demi-verrou est une porte à rétroaction positive implémentée avec un transistor de rappel faible:

schématique

simuler ce circuit - Schéma créé à l'aide de CircuitLab

Lorsque l'entrée est activement pilotée, elle annule le signal provenant du pullup faible. Lorsque l'entrée est en état Z, le pullup faible peut conserver indéfiniment le "1" logique à l'entrée (et le "0" à la sortie). Il ne conservera pas l'état opposé de manière fiable, d'où le "demi-verrou".

Pourquoi voudrait-on un demi-verrou au lieu d'un verrou complet? Pour certains signaux, il n'est pas logique de pouvoir stocker les deux constantes. Par exemple, une bascule en D peut avoir une enableentrée uniquement verrouillée en haut et une resetentrée uniquement verrouillée en bas, sinon elle sera simplement éliminée pendant la synthèse. C'est le type de signaux pour lesquels des demi-verrous sont utilisés: ils sont soit verrouillés à la valeur par défaut, soit pilotés par interconnexion.


Donc, vous êtes censé conduire l'entrée élevée pendant un moment avant de la faire flotter, ou vous vous retrouverez avec un état métastable qui finira par être imprévisible?
hmakholm a quitté Monica le

@HenningMakholm Oui, le FPGA pilote tous les demi-verrous avant chaque cycle de programmation.
Dmitry Grigoryev

Cela ressemble à une complication importante de n'importe quel circuit fournissant l'entrée, juste pour économiser un seul transistor. Si vous pouviez écrire quelque chose sur la raison pour laquelle cela en vaut la peine, je pense que cela améliorerait la réponse.
hmakholm a quitté Monica le

@HenningMakholm Pourquoi pensez-vous qu'un demi-verrou n'économise qu'un seul transistor? AFAIK, ils sont utilisés comme constantes qui autrement devraient être encodées en LUT.
Dmitry Grigoryev le

Un verrou entièrement fonctionnel n'aurait besoin que d'un seul NMOS faible en plus de votre diagramme pour abaisser l'entrée lorsque la sortie est élevée, non? Je ne sais pas ce qu'est une LUT - pouvez-vous dire quelque chose dans votre réponse sur la façon dont "utilisé comme constantes" fonctionne si la seule chose qu'il peut stocker de manière fiable est un 1? Comment ces choses sont-elles utilisées ?
hmakholm a quitté Monica le

-2

Il semble qu'ils fournissent la logique pour garder les constantes.

Puisqu'ils ne sont pas observables, ne peuvent être initialisés qu'une seule fois (donc uniquement reconfigurables après l'initialisation du périphérique), ils ne consomment pas une LUT complète et ils sont beaucoup plus simples, mais néanmoins utiles.


1
J'ai également vu ce texte abstrait lors de ma recherche sur Google. Il ne les explique pas correctement selon la question de l'OP, ni ne les conduit à un exemple de fiche technique. Downvoting.
TonyM

S'il s'agit d'une structure différente du FPGA et inférieure à une LUT complète, avec quelques détails plus spécifiques, veuillez expliquer comment il ne répond pas à la question `` qu'est-ce que c'est '' et quant à `` comment il enregistre la logique '', c'est également répondu .
gommer
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.