ABEL Designing a 4-to-1 Multiplexer

  • Thread starter Thread starter EvLer
  • Start date Start date
  • Tags Tags
    Multiplexer
Click For Summary

Discussion Overview

The discussion revolves around understanding the implementation of a 4-to-1 multiplexer using ABEL code. Participants are exploring how the selector lines determine which input is routed to the output, focusing on the binary representation of the selector values.

Discussion Character

  • Technical explanation
  • Conceptual clarification

Main Points Raised

  • One participant seeks clarification on the origin of the values 0, 1, 2, and 3 in the "when-then" statements of the ABEL code.
  • Another participant explains that SEL represents a 2-bit code that selects one of the four inputs (A, B, C, D) based on its binary value.
  • A participant expresses uncertainty about how the binary code directly correlates to the specific input being selected, indicating a need for further clarification.
  • A later reply provides a table mapping the binary values of SEL to the corresponding inputs and outputs, aiming to clarify the selection process.

Areas of Agreement / Disagreement

Participants are generally in agreement about the function of the selector lines and their binary representation, but there is some uncertainty regarding the understanding of how the inputs are selected based on those values.

Contextual Notes

The discussion does not resolve the participant's confusion about the selection process, as they are still seeking a clearer explanation of how the binary values correspond to specific inputs.

EvLer
Messages
454
Reaction score
0
I have this ABEL file but can't figure out where 0, 1, 2, 3 come from in "when-then" statements...

"The following ABEL code demonstrates how to implement a combinatorial multiplexer.
" 4 to 1 multiplexer design

SEL0..SEL1 pin;
A,B,C,D pin;
MUX_OUT pin istype 'com';
SEL = [SEL1,SEL0];

equations

when SEL==0 then MUX_OUT = A;
else when SEL==1 then MUX_OUT = B;
else when SEL==2 then MUX_OUT = C;
else when SEL==3 then MUX_OUT = D;

thanks beforehand.
 
Engineering news on Phys.org
SEL = SEL[1:0] are the two selector pins. The 2-bit code on those pins goes from 0 to 3, and that MUXes one of the four inputs A-D to the single output pin. When SEL[1:0] = 0b01 = 0x1, for example, input B is routed to the output. Make sense?
 
hmmm... sorta... so i have to look at the select lines' binary code to get the numbers...ok, makes sense.
But how do you know it's B? i missed that part...
 
EvLer said:
SEL0..SEL1 pin;
A,B,C,D pin;
MUX_OUT pin istype 'com';
SEL = [SEL1,SEL0];
equations
when SEL==0 then MUX_OUT = A;
else when SEL==1 then MUX_OUT = B;
else when SEL==2 then MUX_OUT = C;
else when SEL==3 then MUX_OUT = D;
(apologies for the spacing of the following table -- no font control...)
SEL[1:0] Input-->Output
====== ===========
00 A-->Output
01 B-->Output
10 C-->Output
11 D-->Output
 

Similar threads

Replies
2
Views
3K
  • · Replies 14 ·
Replies
14
Views
3K
Replies
9
Views
5K
  • · Replies 4 ·
Replies
4
Views
1K
  • · Replies 1 ·
Replies
1
Views
21K
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
5K
  • · Replies 13 ·
Replies
13
Views
22K
  • · Replies 4 ·
Replies
4
Views
2K