18 votes

Comment faire fonctionner les portes logiques NOT, NAND, NOR et XNOR ?

Le DLC Contraptions Workshop a introduit une gamme de "commutateurs avancés". En jouant avec ces commutateurs, j'ai découvert que les portes AND, OR et XOR fonctionnaient exactement comme prévu, mais pas les portes NOT, NAND, NOR et XNOR. Voici une explication assez longue de ce que j'ai essayé pour les faire fonctionner :


Il s'agissait de ma première tentative d'utilisation d'une porte NAND (qui devrait transmettre de l'énergie, sauf si elle a été utilisée pour la première fois dans le cadre d'un projet de recherche). à la fois sont activées) :

Attempt 1 - NAND gate

En me renseignant, j'ai découvert que les portes N "ne transmettent de l'énergie que si leurs entrées sont connectées directement à la sortie d'autres portes logiques".

Ma prochaine tentative, dont je m'attendais à ce qu'elle fonctionne sur la base des informations ci-dessus, consistait à avoir une porte ET alimentant la porte NON comme telle :

Attempt 2 - AND -> NOT

Mais, bien que l'entrée de la porte NOT provienne directement de la porte AND, la porte NOT ne s'est pas activée.

Le problème semble être le suivant :

  • si la porte précédente a transféré l'énergie alors que ses conditions étaient remplies, la porte NOT inverserait l'énergie et resterait éteinte.
  • si les conditions de la porte précédente n'étaient pas remplies, aucune énergie ne serait transmise à la porte NON pour qu'elle puisse allumer la lumière.

Comme dernière tentative, j'ai fait passer la sortie de l'AND dans une porte NAND à la place, ce qui me permet d'avoir une entrée alimentée tout en l'allumant (avec un peu de chance) :

Attempt 3 - AND -> NAND with power

Donc, d'après ce que j'ai compris :

  1. La porte NAND doit être alimentée par le générateur, afin qu'elle puisse s'activer si ses conditions sont remplies.
  2. La porte ET ne transmet pas de puissance, de sorte que la porte NAND devrait que ses conditions soient remplies.
  3. La lumière ne s'allume toujours pas.

Ma question est la suivante : comment faire fonctionner ces portes N ? Quelle est la logique derrière le fait qu'elles transmettent de l'énergie ? Peut-être que je fais une erreur évidente, comme un mauvais câblage, ou que je ne comprends pas bien comment ces portes sont censées fonctionner.

7voto

Psieonic Points 71

Toutes les portes logiques nécessitent une alimentation électrique, et leurs entrées et sorties peuvent se trouver dans l'un des trois états possibles, comme le montre le tableau suivant...

State  Description
(0) -> No Connection to Power
(1) => Connected to Power, Enabled (True)
(2) ~> Connected to Power, Disabled (False)

Le hic : les états (2) n'empruntent qu'une seule connexion et seuls certains appareils peuvent émettre un état (2). C'est pourquoi les portes logiques doivent être directement connectées à l'appareil qui produit la sortie "Alimenté mais désactivé".

Étant donné que toutes les portes logiques nécessitent une alimentation, AU MOINS UNE entrée doit toujours être soit (1), soit (2). Vous pouvez savoir si une porte logique est alimentée par le petit voyant orange situé en haut à gauche de l'appareil. Une porte NOR (Not Or), par exemple, fonctionnera lorsque les entrées sont [0,2] ou [2,0] ou [2,2], mais pas [0,0], car elle ne serait pas alimentée.

Les portes logiques fonctionnent en vérifiant la sortie du dernier dispositif. Cela va à l'encontre de la manière dont on pourrait s'attendre à ce que l'énergie se comporte en s'écoulant ou en se propageant d'une connexion à l'autre. Étant donné que seuls certains dispositifs peuvent produire un état (2) (c'est-à-dire d'autres portes logiques), dans la plupart des cas, cela signifie que vous devrez connecter directement votre entrée à la sortie d'une autre porte logique lorsque vous aurez besoin d'une entrée Désactivé/Faux.

Une façon simple de se souvenir de cette information est la suivante ;

  • Le pouvoir se propage
  • La logique vérifie la dernière connexion

Premier exemple :

Une porte NAND produit une sortie alimentée lorsque ses deux entrées sont désactivées (fausses). Ici, les deux entrées sont connectées à un interrupteur qui est éteint, ce qui ne produit aucune énergie. Comme la porte logique n'est pas alimentée, elle ne peut pas produire le résultat escompté, qui devrait être alimenté.

Power Source (1) => Switch, Off (0) -> In 1. NAND Gate (0) => Light (0)
Power Source (1) => Switch, Off (0) -> In 2. ^

Deuxième exemple :

Si nous remplaçons l'un des deux interrupteurs du premier exemple par une porte NOT, le voyant d'entrée de la porte logique sera toujours éteint, mais il est en fait dans l'état (2), c'est-à-dire qu'il est alimenté, mais désactivé. La porte NAND nous donne maintenant la sortie alimentée attendue.

Power Source (1) => Switch, Off (0) -> In 1. NAND Gate (1) => Light (1)
Power Source (1) => NOT Gate    (2) ~> In 2. ^

Troisième exemple :

Une lampe connectée directement à une porte NOT ne s'allumera pas. Mais elle s'allumera si elle est connectée à la sortie d'une porte NOR, dont les entrées proviennent de portes NOT alimentées. Ce circuit fonctionnera même si vous déconnectez l'une des entrées, mais comme dans l'exemple 1, si les deux entrées sont supprimées ou remplacées par des interrupteurs réglés sur off, la NOR Gate ne sera plus alimentée, et donc la lumière non plus.

Power Source (1) => NOT Gate    (2) ~> In 1. NOR Gate (1) => Light (1)
Power Source (1) => NOT Gate    (2) ~> In 2. ^

Exemples quatre et cinq :

Deux NOT Gates en série produiront de l'énergie comme prévu.

Power Source (1) => NOT Gate (2) ~> NOT Gate (1) => Light (1)

Cependant, si un conduit est placé entre les deux portes, la deuxième porte NOT vérifiera à quoi l'entrée est connectée et trouvera que c'est (0), car un conduit d'alimentation ne peut pas produire un état "alimenté, désactivé" (2).

Power Source (1) => NOT Gate (2) ~> Conduit (0) -> NOT Gate (0) => Light (0)

Compte tenu de ce qui précède, si vous n'utilisez pas de vannes négatives (N-anything), vous n'aurez probablement pas besoin de vous soucier de maintenir toutes vos vannes sous tension en permanence. Cependant, le cas le plus courant est celui où l'on souhaite que deux interrupteurs déclenchent un changement d'état de la sortie lorsque l'un d'entre eux est actionné. La logique veut que l'on y parvienne à l'aide d'une porte XNOR. (Équivalente à une porte XOR suivie d'une porte NOT)

La table logique/vérité d'une porte XNOR est la suivante :

Input 1     0   0   1   1
Input 2     0   1   0   1
-------------------------
Output      1   0   0   1

Vous voyez peut-être déjà le problème ici ; le quatrième résultat fonctionne comme prévu, mais dans le jeu, si vous avez utilisé des interrupteurs qui étaient éteints pour essayer de créer le premier résultat, la porte n'aura pas d'énergie.

Power Source (1) => Switch, Off (0) -> In 1. XNOR Gate (0) -> Light (0)
Power Source (1) => Switch, Off (0) -> In 2. ^

Nous pouvons résoudre ce problème en plaçant des portes ET entre chaque interrupteur et les entrées de la porte XNOR, l'une des deux entrées de la porte ET étant connectée en permanence à une source d'alimentation...

Power Source (1) => Switch, Off (0) -> In 1. AND Gate (2) ~> In 1. XNOR Gate (1) => Light (1)
Power Source (1) => ............... => In 2. ^                     ^
Power Source (1) => ............... => In 1. AND Gate (2) ~> In 2. ^
Power Source (1) => Switch, Off (0) -> In 2. ^

Example of a two-way switch setup in Fallout 4

Nous avons maintenant une paire d'interrupteurs à deux voies qui activeront la sortie finale lorsque les deux sont allumés ou éteints. Nous vous souhaitons beaucoup de plaisir. :)


ADDENDUM : Pratiquement le même résultat peut être obtenu avec une porte XOR seule, avec la mise en garde que la sortie est vraie lorsque les entrées ne correspondent pas, et les entrées de [0,0] auraient bien sûr pour résultat que la porte n'est pas alimentée. Cela ne pose pas de problème pour une simple porte ou une lumière, mais peut en poser dans des circuits plus complexes. Des portes ET sur les entrées corrigeraient bien sûr ce problème. Le dernier exemple utilise une porte XNOR comme démonstration d'une situation où l'alimentation de la sortie est nécessaire et n'est pas nécessairement la solution optimale.

6voto

HisRoyalRedness Points 37

Ainsi, après d'autres tests, il semblerait que la logique des retombées ne soit pas 100% binaire. Elle est un peu plus capricieuse.

Pour l'expliquer, il est plus facile de penser qu'il s'agit d'un système trinaire.

Votre code binaire de base se compose de "on" et "off", ou 1 et 0, respectivement. Normalement, cela se fait avec des paquets de données qui sont transférés sur un réseau alimenté. Cependant, dans Fallout, l'alimentation es données. Cela signifie que si les uns et les zéros sont toujours importants, la puissance elle-même l'emporte sur les deux. Pour simplifier les choses, nous appellerons l'absence absolue de puissance "trois"

Ainsi, dans une installation simple composée d'un générateur (qui est constamment à "1"), d'un interrupteur et d'une lumière, nous pouvons observer des zéros, des uns et des trois. Le générateur (1) alimente un interrupteur (1) qui transmet le courant à la lumière. (1) Lorsque nous éteignons l'interrupteur, il devient normalement un zéro. Cependant, la lumière qui se trouve après lui devient un 3. Cela s'explique par le fait que la lumière n'a pas la capacité d'emmagasiner de l'énergie, ou si c'est le cas, nous ne pouvons pas le savoir. Les objets tels que les interrupteurs de base et les interrupteurs à intervalles peuvent être conçus pour utiliser de l'énergie mais pas pour en transmettre, ce qui est évident pour les DEL rouges. Les interrupteurs ne peuvent jamais être à trois, sauf si le courant ne peut pas les atteindre.

Revenons donc au problème qui nous occupe : nous sommes partis du principe que ces portes avaient besoin de trois pour fonctionner, alors qu'en réalité, elles ont toujours besoin de certains puissance. Ces portillons ne fonctionnent que lorsqu'ils sont directement connectés à un 2 (un dispositif alimenté en position "off", comme un interrupteur). Tout ce qui est connecté directement après, comme les conduits ou les poteaux, sera un 3 et ne transmettra pas les signaux "off" à votre portillon N-.

TL;DR- connectez directement des interrupteurs avec du courant à vos portes N et mettez-les hors tension.

4voto

Dawid Fatyga Points 2308

Pour ceux qui sont encore un peu perplexes, permettez-moi d'essayer de vous aider.

Le principe des portes logiques est que, lorsque vous en connectez deux, elles sont toutes alimentées, que le noir soit allumé ou non. MAIS, lorsque les sorties noires sont allumées (en entrant dans une autre porte logique), c'est à ce moment-là que la seconde porte logique les prend pour des 1 au lieu de zéro. Elle est alimentée de toute façon.

Faites-le pour moi. Créez deux sources d'énergie. Connectez-les toutes deux à l'entrée rouge d'une porte ET. Placez une porte NOR en dessous. Connectez la sortie noire de la porte ET à l'entrée rouge de la porte NOR. Connectez éventuellement un terminal ou tout autre élément alimenté à la sortie de la porte NOR (ou regardez simplement sa sortie noire s'allumer).

Lorsqu'une source est activée, la logique de la porte ET n'est pas respectée, de sorte qu'elle ne transmet pas un 1 à la porte NOR. MAIS, parce qu'il y a de l'énergie (provenant de la seule source d'énergie allumée), elle alimente la porte NOR, et la porte NOR "ne sait pas d'où elle vient". La porte NOR a une seule entrée zéro, remplit sa logique et dispose d'une alimentation fantôme pour fonctionner.

Je ne sais pas encore comment cela peut être utilisé car je suis en train d'expérimenter, mais j'espère que cela aidera certains d'entre vous à apprendre comment fonctionnent certaines portes logiques.

2voto

Daniel Alder Points 533

Je l'ai moi-même constaté en essayant d'activer une porte motorisée à l'aide d'interrupteurs situés de part et d'autre. L'objectif était de faire en sorte que la porte s'ouvre et/ou se ferme quel que soit l'interrupteur actionné. J'ai utilisé une porte XOR, deux interrupteurs et un conduit pour relier les deux côtés (je n'étais pas au courant de l'existence de la porte XOR).

2voto

KRyan Points 203

La première chose à comprendre est que les portes logiques sont de véritables dispositifs numériques de bas niveau. Elles sont à la base de toute l'électronique numérique. Et Fallout 4 semble être la plupart du temps Le jeu est très réaliste, plus que ce que j'attends habituellement d'un jeu vidéo. Beaucoup de personnes qui se sentent déstabilisées semblent supposer une logique de jeu vidéo alors qu'en réalité, nous avons affaire à quelque chose de plus proche de l'électronique réelle. Et il se trouve que je suis ingénieur électricien.

Une chose importante que Fallout Le fait que les portes logiques aient plus d'entrées électriques que d'entrées logiques n'est pas pris en compte ici. Ces entrées électriques supplémentaires servent à fournir des sources pour les tensions utilisées dans le circuit. Par exemple, une porte NOT possède une entrée logique - celle que vous inversez - mais en réalité, le circuit lui-même possède trois lignes "d'entrée". Les deux lignes supplémentaires sont des lignes qui se connectent à une source de tension, 1 et une autre ligne reliée à la terre. 2

Voici un schéma :

Circuit diagram of a NOT gate

Vous pouvez voir l'entrée A et la sortie Q, mais vous pouvez également voir comment le circuit est également connecté à V dd et V ss -notre source de tension et notre terre. Lorsque A est à 0, Q doit être à 1 - mais "1" est en fait un certain niveau de tension, et cette tension doit venir de quelque part. Elle ne vient pas de A (A est 0, après tout), mais de V dd . Chacun des "N" dispositifs se comporte de la même manière, parce qu'en fin de compte ils ont le même problème - ils ont (au moins parfois) besoin de sortir "1" (une certaine quantité réelle de tension) même lorsque toutes leurs entrées logiques sont à 0 et ne fournissent pas cette tension.

En Fallout 4 En effet, vous n'avez qu'une seule ligne d'entrée, et celle-ci est censée couvrir les entrées électriques ainsi que les entrées logiques. Même s'il ne s'agit pas de lignes distinctes, Fallout 4 exige toujours que les portes logiques soient connectées à la source de tension et à la terre. C'est assez logique, car sinon une porte NOT non connectée à quoi que ce soit produirait quelque chose, ce qui ne devrait pas être le cas, car le maintien d'une tension nécessite de l'énergie et ne peut pas être obtenu par un simple coup de baguette magique. C'est également la raison pour laquelle les portes "positives" semblent fonctionner pour vous - parce que ces portes peut ne font que "passer" une valeur "1" de l'une des entrées à la sortie, puisque celles-ci n'ont jamais besoin de sortir "1" lorsque toutes les entrées sont à 0.

Et apparemment, la façon dont les Fallout 4 Pour que cette exigence soit respectée, il faut qu'au moins une des entrées logiques de la porte logique provienne d'un interrupteur ou d'une autre porte logique reliée à l'alimentation. En effet, il semble que les connexions utilisées par les interrupteurs et les portes logiques soient no Il s'agit de trois lignes, une pour la source de tension, une pour la masse et une pour le signal proprement dit. Ainsi, la borne d'entrée d'une porte NOT en Fallout 4 est en fait une combinaison de V dd , V ss et A du diagramme, puis la sortie est un ensemble de V dd , V ss et Q du diagramme. Ce qui, somme toute, n'est pas une façon déraisonnable de traiter les choses, bien qu'un peu opaque si vous n'êtes pas familier avec le fonctionnement réel de ces appareils. Après tout, comme vous pouvez le voir dans ce diagramme, V dd et V ss continuent à droite - elles sont partagées entre toutes les portes du circuit.

  1. Une batterie, ou quelque chose qui fonctionne comme une batterie - nous parlons ici de courant continu, et non de courant alternatif, ce qui explique pourquoi les appareils numériques sont équipés de "briques" pour convertir le courant alternatif mural en courant continu. <em>Fallout 4 </em>semble ignorer cette distinction.

  2. La "masse" elle-même n'est qu'une tension de référence choisie arbitrairement, qui peut ou non être réellement la masse.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X