Asynchronous logic (algebra)

Asynchronous logic is a sort of symbiosis (mixture) of combinational logic and sequential logic. In digital circuit theory asynchronous logic differs from synchronous one because its propositional variables act asynchronously without common clocked regulation and control. It means that every input of digital circuit follows its own time, own clock.

Characteristics

Asynchronous logic is part of discrete mathematics, and it is also considered an applied discipline of mathematical logic. Mathematical apparatus of asynchronous logic is served by Boolean algebra as well as by algebraic INSTRUMENTS of sequential logic – venjunction and sequention. The corresponding mathematical apparatus in the form of logical relationships is assigned for digital circuit representation, analysis and synthesis.

Mathematical instruments

1. Venjunction is a logic-dynamic operation (sign ) with two propositional variables.

x ∠ y = 1,  if x = 0/1  on the background y = 1;
x ∠ y = 0, if x = 0 or y = 0, or y ∠ x = 1.

2. Sequention is a sequence (inside angle brackets ⟨⟩) of propositional variables, which being binary function takes logical unity value at the following order of switchings: x1x2 … xn⟩ = ⟨(−/1) (0/1) … (0/1)⟩.

In all other cases sequential function is equal to zero.

Asynchronous logic formulas

Formulas in asynchronous logic are represented as analytical expressions, whose propositional variables are connected by means of Boolean operations – conjunction, disjunction and negation, which are combined with additional logic-dynamic operation – venjunction. Alongside with binary variables, sequentions are also forming components of the formulas. Transformations of asynchronous logic formulas obey certain rules.

Venjunction laws

1. Negation of venjunction:

$\quad \overline {\left ( x\, \angle\, y \right )} = \bar{x} \lor \bar{y} \lor \left ( y\, \angle\, x \right ), \quad \overline {\overline {\left ( x\, \angle\, y \right )}} = \left ( x\, \angle\, y \right ).$

2. Combination of venjunction and conjunction:

\left ( x\, \angle\, y \right ) \land \left ( y\, \angle\, x \right ) = 0, \quad

x \land \left ( x\, \angle\, y \right ) = \left ( x\, \angle\, y \right ), \quad y \land \left ( x\, \angle\, y \right ) = \left ( x\, \angle\, y \right ).

3. Combination of venjunction and disjunction:

\left ( x\, \angle\, y \right ) \lor \left ( y\, \angle\, x \right ) = \left ( x \land y \right ), \quad

x \lor \left ( x\, \angle\, y \right ) = x, \quad y \lor \left ( x\, \angle\, y \right ) = y.

4. Connection of venjunction and sequention:

x ∠ y  = ⟨yx⟩.

Transformation of sequentions

1. Associativity:

\left \langle x\,y \right \rangle = \left \langle \left \langle x \right \rangle y \right \rangle,\quad

\left \langle \left \langle x \right \rangle \left \langle y \right \rangle \right \rangle = \left \langle x \left \langle y \right \rangle \right \rangle .

2. Zeroing:

\left \langle \left \langle x\,y \right \rangle \left \langle x \right \rangle \right \rangle = 0, \quad

\left \langle \left \langle x\,y \right \rangle x \right \rangle = 0, \quad \left \langle x\,y \left \langle x \right \rangle \right \rangle = 0.

3. Absorption:

\left \langle \left \langle x \right \rangle \left \langle x\,y \right \rangle \right \rangle = \left \langle x\,y \right \rangle, \quad

\left \langle x \left \langle x\,y \right \rangle \right \rangle = \left \langle x\,y \right \rangle.

4. Splitting:

xyz⟩ = ⟨⟨xy⟩⟨yz⟩⟩.

5. Splicing (under condition x⟩ ⊇ ⟨u):

⟨⟨xy⟩⟨uyz⟩⟩ = ⟨xyz⟩.

6. Decomposition:

\left \langle x\,y\,z\,u\,v \right \rangle = \left \langle \left \langle x\,y \right \rangle \left \langle y\,z \right \rangle \left \langle z\,u \right \rangle \left \langle u\,v \right \rangle \right \rangle, \quad

\left \langle x\,y\,z\,u\,v \right \rangle = \left \langle \left \langle \left \langle \left \langle \left \langle x\ \right \rangle y \right \rangle z \right \rangle u \right \rangle v \right \rangle.

7. Association with conjunction (conjunctive decomposition of sequention):

\left\langle x_1\,x_2\,x_3\ldots\, x_\mathrm {n-1}\, x_\mathrm n\right\rangle = \left\langle x_1\,x_2 \right\rangle \land \left\langle x_2\,x_3 \right\rangle \land \ldots

\left\langle x_\mathrm {n-1}\, x_\mathrm n\right\rangle.

8. Association with venjunction (venjunctive decomposition of sequention):

x1x2x3… xn − 1xn⟩ = xn ∠ (xn − 1 ∠ (…(x3 ∠ (x2 ∠ x1))…)).

Trigger function

Trigger function is an asynchronous logic function which serves as a template for constructing trigger (flip-flop) type circuits with paraphase outputs. It is a sequential function of two variables, represented by two equations:

Z_X=X \lor \overline{X} \angle\, \overline{Y}, \quad

Z_Y=Y \lor \overline{Y} \angle\, \overline{X}.

Input arguments X and Y must satisfy the following relations:

X \land Y=0, \,(X \not=0, \,Y \not=0, \,X \not=\overline{Y}); \quad

\overline{X} \angle\, \overline{Y} \not=0; \quad\overline{Y} \angle\, \overline{X} \not=0.

See also

  • Sequential logic
  • Combinational logic
  • Asynchronous circuit

References

fr:Processeur asynchrone ru:Асинхронная логика zh:非同步電路