After getting familiar with the concept of the multiplexer as the basic block of the decision-making process 1
in logic circuits. The question is: What is the generalised form of a multiplexer in a real design? In 2
this lecture, 3
I will explain the general form of a multiplexer and logic circuits that usually embrace that. 4
In the first generalised form of a multiplexer, each data input can have a wide bit-width value, 5
for example, w-bit inputs. Each value on the select input connects one of the w-bit inputs to the w-bit output. 6
In real applications, the design inputs may not directly feed the select inputs of multiplexers. 7
Instead, a combinational logic should convert the design inputs into the MUX select inputs. 8
Let’s consider this decision-making example in which a, b, c, and d variables have 8 bits. 9
If c is 18, then the d output is a. If c is 66, then d is b. Otherwise, the d output is 10
c. 11
Now let’s implement this decision-making example with a multiplexer. 12
The binary representation of 18 is 00010010, then this 8-input AND gate 13
implements the first if condition. 14
The binary representation of 66 is 01000010, 15
then this 8-input AND gate implements the else if condition. 16
Therefore, if c==18 then S1S0=01. 17
If c==66 then S1S0=10. Otherwise s1s0=00 18
The AND gates generating S1 And S0 can be used as the selection logic circuits for the multiplexer 19
implementing this decision-making code. 20
Therefore, the 00 binary value of the MUX control input should connect the c input to the output. 21
The 01 binary value of the MUX control input should pass the a input to the output. 22
And the binary value 10 of the MUX control input should select the b input. Notice that according 23
to our selection logic circuit, control inputs never get the 11 value. 24
However, we connected the c variable to the corresponding MUX input. 25
In the third case of MUX generalisation, we assume that the design inputs need a preprocessing step 26
before feeding the MUX data inputs. 27
In this case, a logic circuit should perform this preparation process. 28
As an example, let’s consider this if-else statement that is the modified version of our previous 29
example. Here, three functions define the data that should be selected. In this case, a combinational 30
logic circuit can implement these three functions to provide the input data for the MUX. 31
After understanding the concept of the hardware behind the decision-making process, the question is 32
How can we describe a decision-making process in HLS? The next lecture will answer this question. 33
This is our takeaway message. A decision-making process can be implemented by a mux and two combinational 34
circuits feeding the mux data and control inputs. 35
Now the quiz question 36
What is the hardware structure that implements this decision-making process?