Fallout-4

如何讓 NOT、NAND、NOR 和 XNOR 邏輯門工作?

  • April 9, 2021

Contraptions Workshop DLC 引入了一系列“高級開關”。玩弄這些,我發現 AND、OR 和 XOR 門完全按預期工作,但不是 NOT、NAND、NOR 和 XNOR 門。這是我試圖讓它們工作的相當長的解釋:


這是我第一次嘗試使用與非門(除非兩個輸入都打開,否則它應該傳輸功率):

嘗試 1 - 與非門

仔細閱讀,我發現 N 門“只有在它們的輸入直接連接到其他邏輯門的輸出時才傳輸功率”。

我希望根據上述資訊進行的下一次嘗試是讓 AND 門輸入 NOT 門,如下所示:

嘗試 2 - AND -> NOT

但是,儘管非門的輸入直接來自與門,非門並沒有打開。

問題似乎是:

  • 如果前一個門在滿足其條件時傳輸功率,則非門將反轉功率並保持關閉。
  • 如果不滿足前一個門的條件,則不會有電源通過 NOT 門使其能夠打開燈。

作為最後一次嘗試,我將 AND 的輸出執行到一個 NAND 門,我可以讓一個輸入供電,同時仍然(希望)打開它:

嘗試 3 - AND -> 帶電源的 NAND

所以,據我了解:

  1. 與非門應該從發生器接收電源,以便在滿足其條件時能夠打開。
  2. 與門不傳輸功率,因此與非門滿足其條件。
  3. 燈還是沒有亮。

我的問題是,如何讓這些 N 門發揮作用?它們傳輸電力的邏輯是什麼?也許我在這裡犯了一個明顯的錯誤,比如把它們接線錯了,或者對這些門的工作原理有誤解。

所有邏輯門都需要電源,它們的輸入和輸出實際上可以處於三種可能狀態之一,如下表所示…

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

陷阱:(2) 狀態僅通過一個連接,並且只有某些設備可以輸出 (2) 狀態。出於這個原因,邏輯門需要直接連接到產生“Powered but Disabled”輸出的東西。

由於所有邏輯門都需要電源,因此至少需要一個輸入始終為 (1) 或 (2)。您可以通過設備左上角的橙色小燈來判斷邏輯門是否有電。例如,一個或非門(非或)將在輸入為

$$ 0,2 $$或者$$ 2,0 $$或者$$ 2,2 $$但不是$$ 0,0 $$因為它將沒有動力。 邏輯門通過檢查最後一個設備的輸出來工作。這與您可能期望的電力從一個連接流動或傳播到下一個連接的方式相反。由於只有某些設備可以產生 (2) 狀態(即其他邏輯門),因此在大多數情況下,這意味著當您需要禁用/錯誤輸入時,您需要將輸入直接連接到另一個邏輯門的輸出。

記住這些資訊的一種簡單方法是:

  • 權力傳播
  • 邏輯檢查最後一個連接

範例一:

與非門在其兩個輸入都被禁用(假)時提供供電輸出。在這裡,兩個輸入都連接到一個關閉的開關,該開關不產生功率。由於邏輯門沒有電源,它不能產生預期的結果,應該給它供電。

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

範例二:

如果我們將第一個範例中的兩個開關中的一個與非門交換,邏輯門上的輸入燈仍將不亮,但實際上處於狀態 (2),即已通電但已禁用。與非門現在為我們提供了預期的功率輸出。

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

範例三:

直接連接到非門的燈不會打開。但如果它連接到或非門的輸出端,輸入來自通電的非門。即使您斷開其中一個輸入,該電路仍然可以工作,但與範例一一樣,如果兩個輸入都被移除或替換為設置為關閉的開關,則或非門將不再有電,因此,也不會光。

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

範例四和五:

兩個串聯的非門將按預期產生功率。

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

但是,如果在兩個門之間放置了一個管道,第二個非門將檢查輸入連接到什麼並發現它是 (0),因為電源管道不能產生“通電,禁用”(2) 狀態。

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

考慮到上述情況,如果您不使用否定門(N-anything),您可能無需擔心始終保持所有門通電。然而,人們可能會遇到的最常見的情況是,當他們想要兩個開關時,當一個開關被輕彈時,它們會觸發輸出狀態的變化。邏輯表明這可以通過 XNOR 門來完成。(相當於一個 XOR 門後跟一個 NOT 門)

XNOR門的邏輯/真值表如下:

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

您可能已經在這裡看到了問題;第四個結果按預期工作,但在遊戲中,如果您使用關閉的開關來嘗試創建第一個結果,則門將沒有電源。

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

我們可以通過在每個開關和 XNOR 門的輸入之間放置與門來解決這個問題,兩個與門的輸入之一永久連接到電源……

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. ^

輻射 4 中的雙向開關設置範例

現在我們有一對雙向開關,當兩者都打開或關閉時,它們將啟動最終輸出。享受。:)


附錄: 使用異或門本身可以實現幾乎相同的結果,但需要注意的是,當輸入不匹配時輸出為真,輸入

$$ 0,0 $$當然會導致門斷電。這對於簡單的門或燈來說不是問題,但可能會導致更複雜的電路出現問題。輸入上的與門當然會糾正這個問題。最後一個範例使用 XNOR 門來展示需要為輸出供電但不一定是最佳解決方案的情況。

因此,經過進一步測試,後果邏輯似乎不是 100% 二進制的。這有點變幻莫測。

為了解釋,將其視為三位一體更容易。

您的基本二進製文件分別由“on”和“off”或 1 和 0 組成。通常,這將通過通過供電網路傳輸的數據包來完成。然而,在《輻射》中,權力就是數據。這意味著雖然 1 和 0 仍然很重要,但權力本身將超越兩者。為方便起見,我們將絕對缺乏權力稱為“三”

因此,在一個由發生器(始終為“1”)、開關和燈組成的簡單設置中,我們可以看到零、一和三。發電機 (1) 為打開的開關 (1) 供電,該開關將電力傳遞給燈。(1) 當我們關閉開關時,它預期會變成零。然而,它後面的燈變成了 3。這是因為燈沒有儲存能量的能力,或者如果有,我們無法判斷。可以使基本開關和間隔開關等對象使用電源但不傳輸,這在紅色 LED 中很明顯。開關永遠不能是三個,除非電源無法到達它們

所以,回到手頭的問題:我們一直在假設這些門需要三個才能工作,而實際上它們仍然需要一些電源。這些門只有在直接連接到 2 時才會執行。(處於“關閉”設置的受電設備,如開關。)任何直接連接到其後的東西,如導管或電線桿,都將是 3,並且不會傳輸“關閉”信號到你的 N 門。

TL;DR- 直接將帶電源的開關連接到您的 N- 門並關閉它們。

引用自:https://gaming.stackexchange.com/questions/271033