4 way 16 bit mux

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

4 way 16 bit mux

freak
Well I understand that to implement 4way mux we need to compare first two outputs with sel0 and remaining two outputs with sel0 parameter and the result with sel1 . But my doubt here is two select pins must be taken into consideration at the same time before selecting the final output.but why we are using sel0 for first two comparison and sel1 for the other.??
Reply | Threaded
Open this post in threaded view
|

Re: 4 way 16 bit mux

cadet1620
Administrator
freak wrote
Why we are using sel0 for first two comparison and sel1 for the other.??
Hardware buses are numbered from right to left, starting with 0.  Here's the truth table for Mux4Way16 showing the index numbers for the sel bus.
   sel  | out
[1] [0] |
--------|-----
 0   0  |  a
 0   1  |  b
 1   0  |  c
 1   1  |  d
The reason for this numbering order is so that when a bus is carring a binary number, bus[n] is the 2^n weighted bit of the number. This will make more sense when you get to chapter 2.

--Mark
Reply | Threaded
Open this post in threaded view
|

Re: 4 way 16 bit mux

freak
Well I was wondering what will happen if we evaluate first two inputs a and b with sel 0 and c and d with sel 1 and the result again with sel 0.

What could be wrong in this.

On 3 Jan 2018 2:37 am, "cadet1620 [via Nand2Tetris Questions and Answers Forum]" <[hidden email]> wrote:
freak wrote
Why we are using sel0 for first two comparison and sel1 for the other.??
Hardware buses are numbered from right to left, starting with 0.  Here's the truth table for Mux4Way16 showing the index numbers for the sel bus.
   sel  | out
[1] [0] |
--------|-----
 0   0  |  a
 0   1  |  b
 1   0  |  c
 1   1  |  d
The reason for this numbering order is so that when a bus is carring a binary number, bus[n] is the 2^n weighted bit of the number. This will make more sense when you get to chapter 2.

--Mark


If you reply to this email, your message will be added to the discussion below:
http://nand2tetris-questions-and-answers-forum.32033.n3.nabble.com/4-way-16-bit-mux-tp4031660p4031661.html
To unsubscribe from 4 way 16 bit mux, click here.
NAML
Reply | Threaded
Open this post in threaded view
|

Re: 4 way 16 bit mux

cadet1620
Administrator
From your original post:
freak wrote
Well I understand that to implement 4way mux we need to compare first two outputs with sel0 and remaining two outputs with sel0 parameter and the result with sel1
From latest post:
freak wrote
Well I was wondering what will happen if we evaluate first two inputs a and
b with sel 0 and c and d with sel 1 and the result again with sel 0.

What could be wrong in this.
The second circuit may have the same parts, but they are not connected the same so it doesn't work.

This is like asking, "I can make And using Not(Nand(a,b)) so why can't I make And using Nand(a,Not(b))?"

You can use a truth table, Boolean Algebra, or a program like Logisim to figure out what weird function your second circuit is computing.

--Mark
Reply | Threaded
Open this post in threaded view
|

Re: 4 way 16 bit mux

freak
Yes I understood that but some basics am a bit confused.. like how to get into the idea of using two mux and also which selection bit to use.
 Is it while using 2 way mux we have to consider oly Sel0 and while combining oly we have to use Sel1

On 3 Jan 2018 8:55 am, "cadet1620 [via Nand2Tetris Questions and Answers Forum]" <[hidden email]> wrote:
From your original post:
freak wrote
Well I understand that to implement 4way mux we need to compare first two outputs with sel0 and remaining two outputs with sel0 parameter and the result with sel1
From latest post:
freak wrote
Well I was wondering what will happen if we evaluate first two inputs a and
b with sel 0 and c and d with sel 1 and the result again with sel 0.

What could be wrong in this.
The second circuit may have the same parts, but they are not connected the same so it doesn't work.

This is like asking, "I can make And using Not(Nand(a,b)) so why can't I make And using Nand(a,Not(b))?"

You can use a truth table, Boolean Algebra, or a program like Logisim to figure out what weird function your second circuit is computing.

--Mark


If you reply to this email, your message will be added to the discussion below:
http://nand2tetris-questions-and-answers-forum.32033.n3.nabble.com/4-way-16-bit-mux-tp4031660p4031663.html
To unsubscribe from 4 way 16 bit mux, click here.
NAML