Actions

User

Difference between revisions of "Carsten Milkau/RS-Latch"

From Unofficial Stationeers Wiki

< User:Carsten Milkau
(Connectors)
m (Carsten Milkau moved page Carsten Milkau/RS-Latch to User:Carsten Milkau/RS-Latch: This was supposed to be a user page.)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
== 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 (possibly inverted), which typically differ mostly in their behavior when multiple inputs are "on" at the same time. Usually, it is considered illegal to set more than one input to "on", but sometimes this is used deliberately (e.g. when constructing an [[Edge-Triggered 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 (possibly inverted), which typically differ mostly in their behavior when multiple inputs are "on" at the same time. Usually, it is considered illegal to set more than one input to "on", but sometimes this is used deliberately (e.g. when constructing an [[Edge-Triggered RS-Latch]]).
+
== Definition ==
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 28: Line 28:
 
* Output2: Stored value (second value if in illegal state)
 
* Output2: Stored value (second value if in illegal state)
  
=== Using Logic Select Units ===
+
=== Illegal State ===
 +
 
 +
If multiple inputs are on at the same time, the latch is considered in "illegal state". In principle, the RS-latch assumes both values at once, which circulate through the latch when both inputs turn off immediately (see value table), i.e. the latch becomes a [[Clock]]. This is usually undesired, but can be useful in some cases.
 +
 
 +
== Implementation Using Logic Select Units ==
  
 
[[File:RS-Latch Using Select Units.png|thumb|An RS-Latch implemented using two Logic Select Units and two Logic Memory units]]
 
[[File:RS-Latch Using Select Units.png|thumb|An RS-Latch implemented using two Logic Select Units and two Logic Memory units]]

Latest revision as of 16:08, 18 July 2018

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 (possibly inverted), which typically differ mostly in their behavior when multiple inputs are "on" at the same time. Usually, it is considered illegal to set more than one input to "on", but sometimes this is used deliberately (e.g. when constructing an Edge-Triggered RS-Latch).

Definition[edit]

value table
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. Also, the values stored need not necessarily be 0 and 1.

Connectors[edit]

  • Reset: Stores the first value (typically 0)
  • Set: Stores the second value (typically 1)
  • Output1: Stored value (first value if in illegal state)
  • Output2: Stored value (second value if in illegal state)

Illegal State[edit]

If multiple inputs are on at the same time, the latch is considered in "illegal state". In principle, the RS-latch assumes both values at once, which circulate through the latch when both inputs turn off immediately (see value table), i.e. the latch becomes a Clock. This is usually undesired, but can be useful in some cases.

Implementation Using Logic Select Units[edit]

An RS-Latch implemented using two Logic Select Units and two Logic Memory units

This RS-latch can store arbitrary values. It can also easily be extended to support more than two different values. It consists of a loop of Logic Select Units, each connected to a dedicated memory cell (or other data source). If all inputs are off, the values circulate in the loop. If one input is on, its corresponding value is read from the respective memory cell and replaces all values in the loop (unless an additional input is on).

Circuit setup
Unit name Unit type Connector / Setting Source / Value
select 1 Logic Select Unit select reset (input)
0 (input 1) select 2
1 (input 2) "0" (constant)
output output1 (output)
select 2 Logic Select Unit select set (input)
0 (input 1) select 1
1 (input 2) "1" (constant)
output output2 (output)