# 8:1 mux simulation

by TimFortin
Tags: simulation
 P: 1 1. The problem statement, all variables and given/known data Hello all, this is my first post here although Ive used this site for referencing several times. My question is regarding an 8:1 multiplexer. I need to write a c program using just &&, || and ! to simulate each gate of an 8:1 mux. We have 3 control inputs and 8 source inputs and need to have just a single output. I don't understand what the need of the 8 source inputs is when you can get the correct output by using a boolean expression on the three control inputs. So to simplify my question, how do i turn the 11 (8 source + 3 control) inputs into 1 output. Thanks for looking 2. Relevant equations ans = (!a && !b) + (!a &&b &&c) + (a && !b && !c); This produces correct answer but does not use the source inputs at all 3. The attempt at a solution My attemp at a solution is the equation i posted above, as well as trying to use 2 4:1 muxes and a 2:1 mux but i cant seem to make any sense of it.
P: 16
 Quote by TimFortin 1. The problem statement, all variables and given/known data Hello all, this is my first post here although Ive used this site for referencing several times. My question is regarding an 8:1 multiplexer. I need to write a c program using just &&, || and ! to simulate each gate of an 8:1 mux. We have 3 control inputs and 8 source inputs and need to have just a single output. I don't understand what the need of the 8 source inputs is when you can get the correct output by using a boolean expression on the three control inputs. So to simplify my question, how do i turn the 11 (8 source + 3 control) inputs into 1 output. Thanks for looking 2. Relevant equations ans = (!a && !b) + (!a &&b &&c) + (a && !b && !c); This produces correct answer but does not use the source inputs at all 3. The attempt at a solution My attemp at a solution is the equation i posted above, as well as trying to use 2 4:1 muxes and a 2:1 mux but i cant seem to make any sense of it.
>The first thing I want to ask is that do you know how a multiplexer works?
This is because the code that you have pasted shows that you do not fully understand how a multiplexer works.

>if you use "s0,s1,s2" as the control inputs and "a0,a1,a2,a3,a4,a5,a6,a7" as the input pins while "ans" is ur answer then the C program must assign these inputs and switches to answer in the following manner......

ans=(!s0 && !s1 && !s2 && a0 )||(s0 && !s1 && !s2 && a1 )||(!s0 && s1 && !s2 && a2 )||(s0 && s1 && !s2 && a3 )||............. till all possible values of s0,s1,s2 have been utilized.

>If you are inclined to use two 4:1 muxes and one 2:1 then you can make them the same way the 8:1 mux is made. If you still dont understand then PM me or post here.

>If you are not forced to make this program in C then i would suggest that you program it in HDL(hardware descriptive languages) like Verilog and VHDL which are meant for hardware design and verification and have nearly the same syntax like C.

I hope your problem is solved.

 Related Discussions Programming & Computer Science 5 Math & Science Software 5 Advanced Physics Homework 7 Special & General Relativity 10 Electrical Engineering 2