Site icon Lab4Sys.com

Combinatorial logic circuits

A logic circuit is said to be “combinational” when no output is connected to an input, ie when the circuit is in open loop. Thus an output depends only on the state of the inputs.

Plan :

  1. Multiplexer circuits
  2. Demultiplexer and decoder circuits
  3. Encoder circuits
  4. Comparator circuits and equality detectors

1. Multiplexer circuits



    

These circuits have 1 output.
If they have n number of commands, then they will have 2 ^ n entries.

     In our example we will take a multiplexer with 3 commands (A, B and C) which will therefore have 2 ^ 3 = 8 inputs (D0, D1, …, D7) and an output Y. This circuit is composed of a NOR (NOT OR), 8 AND and 8 INVERTERS:

Multiplexer circuits

Truth table:

/GCBAY
1XXX0
0000D0
0001D1
0010D2
0011D3
0100D4
0101D5
0110D6
0111D7

Operation:

   

Conclusions :
   

The / G variable is in fact a command which validates the operation of the multiplexer: it must be at 0 for the circuit to operate as a multiplexer. It is the command which has the highest priority of the circuit (as long as it is not at 0, the multiplexer does not work!).
Once this command is 0, then the Y output depends on the value of CBA. Depending on this value, Y will take the state of one of inputs D0, …, D7.
A mulitplexor therefore allows the selection of the value of one input among several.

2. Demultiplexer and decoder circuits

    1. Demultiplexers

   

These circuits have 1 entry.
If they have a number n of commands, then they will have 2 ^ n outputs.

   

In our example, we will take a demultiplexer with 2 commands (A and B) which will therefore have 2 ^ 2 = 4 outputs (Y0, Y1, Y2 and Y3) and a “data” input.
This circuit is composed of a NOR, 4 NAND and 4 INVERTERS:

Truth table:

/StrobeABY0Y1Y2Y3
1XX1111
000data111
0011data11
01011data1
011111data

Operation:

    Conclusions :

The / Strobe variable is in fact a command which makes it possible to validate the operation of the circuit in demultiplexer. It has the highest priority because as long as it is not at 0, the circuit cannot operate as a demultiplexer!

Once this command is at 0, we realize that a demultiplexer circuit allows the state of an input (here “data”) to be transmitted to a single output among several.

2. Decoders



If a decoder circuit has a number n of commands, then it has 2 ^ n outputs.

In our case, we will take as an example a decoder with 3 commands (A, B and C) and therefore 2 ^ 3 = 8 outputs (Y0, Y1, …, Y7). This circuit is made up of 8 NANDs and 4 INVERTERS:

Decoders

Truth table:

/GABCY0Y1Y2Y3Y4Y5Y6Y7
1XXX11111111
000001111111
000110111111
001011011111
0
011111111110

Operation:

 

    Conclusions :

    The / G variable is in fact a command which validates the operation of the circuit as a decoder. It has the highest priority because as long as it is not at 0, the circuit cannot function as a decoder!

3. Encoder circuits



If an encoder has n number of outputs, then it has 2 ^ n inputs.

   

In our example we will take an encoder with 3 outputs (Y2, Y1, Y0), i.e. with 2 ^ 3 = 8 inputs (e0, e1, e2 …, e7).
Note: Gs is also an outing, but it is not essential. We will see that Gs has a role of priority encoder …

This circuit has 12 ET, 2 NAND, 3 NOR and 12 INVERTERS:

Encoder circuits


Truth table:

/Ge0e1e2e3e4e5e6e7Y2Y1Y0Gs
1XXXXXXXX1111
0111111111111
0XXXXXXX00000
0XXXXXX010010
0XXXXX0110100
0XXXX01110110
0XXX011111000
0XX0111111010
0X01111111100
0011111111110

Operation:

   

Let us assume that at the output, Y2 is the most significant bit (value 2 ^ 2 = 4 in base 10) and that Y0 is the least significant bit (value 2 ^ 0 = 1 in base 10).

Note :

We can see that, when / G = 0, in the case where e0e1e2e3e4e5e6e7 = 1111111 and in the case where e0e1e2e3e4e5e6e7 = 0111111 then we have the same output Y2Y1Y0 = 111. So how to differentiate these 2 input states since they are same exit?
They are differentiated by the Gs bit. Indeed in the case where all the inputs are at 1 then Gs = 1 and in the other Gs = 0. This is what the output Gs is for. It is called a priority encoder: it makes it possible to differentiate between 2 identical input states.

    Conclusions :

The / G variable is in fact a command which validates the operation of the circuit as an encoder. It has the highest priority because as long as it is not at 0, the circuit cannot function as an encoder!

The circuit studied may already seem a little complicated and yet the encoding that it performs is rather simple. There are much more complex encoders since there are much more twisted encodings!

4. Comparator circuits and equality detectors

These circuits make it possible to compare the values of 2 inputs. These entries can be written to one or more bits.

Let us take as an example the comparison of 2 bits “a” and “b”:

equality comparators and detectors

Operation:

   

    

To compare 2 inputs written on several bits, the principle remains the same.
For example if we want to compare an entry A on 2 bits: a1a0 with an entry B: b1b0, we will first compare the most significant bits a1 and b1:

It may interest you


Exit mobile version