Carsten Milkau/RS-Latch
From Unofficial Stationeers Wiki
< User:Carsten Milkau
RS-latch
An RS-latch is a circuit that stores which of its inputs was last "on". It has typically two inputs: input reset storing value "0" and input set storing value "1", hence the name. It can have multiple outputs, which typically differ mostly in their behavior when multiple inputs are "on" at the same time.
inputs | outputs | ||||||
---|---|---|---|---|---|---|---|
reset | set | output1 (previous) | output2 (previous) | output1 | output2 | ||
0 | 0 | x | y | y | x | ||
0 | 1 | x | y | 0 | 0 | ||
1 | 0 | x | y | 1 | 1 | ||
1 | 1 | x | y | 0 | 1 |
It is possible to define a variant with more than two values. The values stored need not necessarily be 0 and 1.
Connectors
- Enabled: if 1, store data, else do nothing.
- Data: input
- Output: stored value
Using Logic Select Unit and Logic Reader
This d-latch can store any value. It works in two steps:
- a Logic Select Unit determines whether to store the last output or the "data" input using the "enabled" input. i.e.
if enabled then store = data else store = output
- a Logic Reader mirrors the value to be stored and feeds it back into the select unit so it can circulate (effectively being stored). This would be obsolete if the select unit could read its own output.
output = store
Unit name | Unit type | Connector / Setting | Source / Value |
---|---|---|---|
select 1 | Logic Select Unit | select | enabled (input) |
0 (input 1) | reader 1 | ||
1 (input 2) | data (input) | ||
reader 1 | Logic Reader | in | select 1 |
var | setting | ||
out | output (output) |