Skip to content

Commit

Permalink
Merge pull request #1 from virtual-labs/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
sravanthimodepu authored Jul 26, 2021
2 parents e117e4c + 40b8c18 commit e0ba9a3
Show file tree
Hide file tree
Showing 16 changed files with 131 additions and 41 deletions.
46 changes: 46 additions & 0 deletions experiment-descriptor.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{
"unit-type": "lu",
"label": "",
"basedir": ".",
"units": [
{
"unit-type": "aim"
},
{
"target": "theory.html",
"source": "theory.md",
"label": "Theory",
"unit-type": "task",
"content-type": "text"
},
{
"target": "objective.html",
"source": "objective.md",
"label": "Objective",
"unit-type": "task",
"content-type": "text"
},
{
"target": "procedure.html",
"source": "procedure.md",
"label": "Procedure",
"unit-type": "task",
"content-type": "text"
},
{
"target": "simulation.html",
"source": "simulation/index.html",
"label": "Simulation",
"unit-type": "task",
"content-type": "simulation"
},
{
"target": "assignment.html",
"source": "assignment.md",
"label": "Assignment",
"unit-type": "task",
"content-type": "text"
}
]
}

5 changes: 4 additions & 1 deletion experiment/aim.md
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
### Aim of the experiment
This module explains how to build a 4 X 1 Multiplexer.In electronics, a multiplexer or mux is a device that selects one of several analog or digital input signals and forwards the selected input into a single line. Multiplexers were logically designed and used as electronic selector switches. A multiplexer of 2n inputs has n select lines, which are used to select which input line to send to the output. Multiplexers are mainly used to increase the amount of data that can be sent over the network within a certain amount of time and bandwidth. On the other hand, a demultiplexer (or demux) is a device taking a single input signal and selecting one of many data-output-lines, which is connected to the single input. A multiplexer is often used with a complementary demultiplexer on the receiving end

<img src="images/mux4.png">

5 changes: 5 additions & 0 deletions experiment/assignment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
1) Design 2:1, 4:1 and 8:1 multiplexers by referring the theory section. Save these circuits separately so that they can be imported and used for designing other things.

2) Import two 4:1 multiplexers designed in 1st part and implement a Half adder circuit using these multiplexers. One mux will generate SUM (A ex-or B) and another mux will generate Carry (A.B). Now Implement the same using two 2:1 multiplexers. (Hint: choose any one out of A and B as the select bit for multiplexers).

3) Import two 4:1 multiplexers designed in 1st question and design a 8:1 mux using them. You can use additional hardware to choose between the outputs of the two multiplexers. (Hint: Use 1 of the three select bits s2s1s0 as enable input for one of the 4:1 mux and its compliment for the other mux).
2 changes: 1 addition & 1 deletion experiment/experiment-name.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
## Experiment name
## Multiplexer
Binary file added experiment/images/2X1mux.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added experiment/images/multiplexer.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added experiment/images/mux4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions experiment/objective.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
1. The objective of this experiment is to make various multiplexers.
2. First of all make 2 bits multiplexer then use it to make 4 bits multiplexer.

18 changes: 0 additions & 18 deletions experiment/posttest.json

This file was deleted.

18 changes: 0 additions & 18 deletions experiment/pretest.json

This file was deleted.

7 changes: 6 additions & 1 deletion experiment/procedure.md
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
### Procedure
1. With The help of Theory Page , try to build the Multiplexer Circuit.
2. First of all build the 2 X 1 Multiplexer.
3. Then use it to build the 8 X 1 multiplexer.
4. If You are unable to make it , load or export the circuit directly and use it.
5. There is an import feature, which lets you construct building blocks. Click on import and then click on circuit board to see the imported block. For more details, refer import section in manual.

1 change: 0 additions & 1 deletion experiment/references.md

This file was deleted.

Binary file added experiment/simulation/DLDVirtualLabs.jar
Binary file not shown.
26 changes: 26 additions & 0 deletions experiment/simulation/exp2.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<html><head><!--Google Tag Manager--><script class="gtm">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-W59SWTR');</script><!--End Google Tag Manager--></head><body><!--Google Tag Manager (noscript)--><noscript class="gtm"><iframe height="0" src="https://www.googletagmanager.com/ns.html?id=GTM-W59SWTR" style="display:none;visibility:hidden" width="0"></iframe></noscript><!--End Google Tag Manager (noscript)-->

<div id="applet_embed"></div>

<script type="text/javascript">
var x=screen.availWidth-60;var y=screen.availHeight-100;
if(x<1050)
{
x=1050;
}
if(y<660)
{
y=660;
}
document.getElementById("applet_embed").innerHTML='<applet code=\"dldvirtuallabs.simulationApplet\" archive=\"DLDVirtualLabs.jar\"' +' HEIGHT='+y+' WIDTH='+x+'>' +'<param name=\"file_name\" value=\"line.txt\"><param name=\"content1\" value=\"Make 8 X 1 multiplexer with the help of 2 X 1 multiplexer\"><param name=\"file_list\" value=\"Multiplexer,8_1_multiplexer\"></applet>' ;



</script>


</body></html>
2 changes: 2 additions & 0 deletions experiment/simulation/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
<body>
<!-- Your code goes here-->

<p>Click <a class="qtlink" href="./exp2.html" onclick="window.open('./exp2.html', null,'scrollbars=yes, width=' + (screen.availWidth) +',height=' + (screen.availHeight)); return false;"> here </a> to perform the experiment.</p>

<!-- Add JS at the bottom of HTML file -->
<script src="./js/main.js"></script>
</body>
Expand Down
39 changes: 38 additions & 1 deletion experiment/theory.md
Original file line number Diff line number Diff line change
@@ -1 +1,38 @@
### Link your theory in here
An electronic multiplexer can be considered as a multiple-input, single-output switch, and a demultiplexer as a single-input, multiple-output switch.

2 X 1 Multiplexer
In digital circuit design, the selector wires are of digital value. In the case of a 2-to-1 multiplexer, a logic value of 0 would connect I0 to the output while a logic value of 1 would connect I1 to the output. In larger multiplexers, the number of selector pins is equal to log2(n) where n is the number of inputs.

<img src="images/2X1mux.jpg">

A 2-to-1 multiplexer has a boolean equation where A and B are the two inputs, S is the selector input, and Z is the output: Z = ( A . S') + (B . S)

**Truth Table**

|S|A|B|Z|
|-|-|-|-|
|0|1|1|1|
|0|1|0|1|
|0|0|1|0|
|0|0|0|0|
|1|1|1|1|
|1|1|0|0|
|1|0|1|1|
|1|0|0|0|

4 X 1 Multiplexer
Larger multiplexers are also common and requires ceil(log2(n)) selector pins for n inputs. Other common sizes are 4-to-1, 8-to-1, and 16-to-1. Since digital logic uses binary values, powers of 2 are used (4, 8, 16) to maximally control a number of inputs for the given number of selector inputs.

<img src="images/multiplexer.gif">

**Truth Table**

|S<sub>1</sub> S<sub>0</sub> | x<sub>3</sub> x<sub>2</sub> x<sub>1</sub> x<sub>0</sub> | y |
| 0 0 | x x x 0 | 0 |
| 0 0 | x x x 1 | 1 |
| 0 1 | x x 0 x | 0 |
| 0 1 | x x 1 x | 1 |
| 1 0 | x 0 x x | 0 |
| 1 0 | x 1 x x | 1 |
| 1 1 | 0 x x x | 0 |
| 1 1 | 1 x x x | 1 |

0 comments on commit e0ba9a3

Please sign in to comment.