Register to reply

8:1 mux simulation

by TimFortin
Tags: simulation
Share this thread:
TimFortin
#1
Feb6-09, 04:34 PM
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.
Phys.Org News Partner Science news on Phys.org
Experts defend operational earthquake forecasting, counter critiques
EU urged to convert TV frequencies to mobile broadband
Sierra Nevada freshwater runoff could drop 26 percent by 2100
Mastermind_14
#2
Feb7-09, 05:44 AM
P: 16
Quote Quote by TimFortin View Post
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.


Register to reply

Related Discussions
Quantum Simulation Programming & Computer Science 5
COMSOL simulation Math & Science Software 5
Simulation help Advanced Physics Homework 7
EFE simulation Special & General Relativity 10
AC vs. DC simulation Electrical Engineering 2