Circuit Intro
Sections
1. Circuit Design Intro (part 1)
2. Circuit Design Intro (part 2)
3. Circuit Equation (part 1)
4. Circuit Equation (part 2)
5. Circuit Equation (part 3)
6. Boolean Logic
7. Circuit: or
8. Circuit: xor
9. Circuit: nand (part 1)
10. Circuit: nand (part 2)
11. Using the nand Operator
12. Circuit: or
13. Circuit: and
14. Arithmetic and Logic
15. Circuit: and
16. Circuit: or
1. Circuit Design Intro (part 1)
Below there are two blocks - one labeled a, and another labeled Output. On each of those blocks you'll see a small blue circle. These circle are the input and output points for the block they're attached to. Circles on the right side of a block are outputs - they send a value. Circles on the left side of a block are inputs - they receive a value. Here, block a only has one output point while the Output block only has one input point.

To connect the blocks, click and hold on output of block a (the circle on its right side), and drag over to the input of the Output block (circle on its left side). You should see a light blue line stretch out from block a. When you've reached the input of the Output block, drop the connection. The light blue line should turn solid blue and the Output block should show the same value as block a. These blocks are now connected. Changes to the value of block a will be sent through the connection to the Output block.

To disconnect the blocks, just click on the dark blue connecting line between the blocks. The line will disappear, and the blocks will no longer be connected. The value of the Output block will change to ?
a
1
Output
0
2. Circuit Design Intro (part 2)
Now we've added a new type of block that has inputs and outputs. The addition block, labeled with +, has two inputs and one output. This block takes the values of its inputs, adds them together, and sends the new value to its output. Using the same drag-and-drop method from the last section, create a circuit that will add the values of block a and block b, and change the value of the Output block to 3.
a
1
b
2
Output
0
+
0
3. Circuit Equation (part 1)
Create a circuit that represents this formula:
a × b
a
0
b
0
Output
0
2
2
+
0
×
0
 
Make sure your circuit works for each input combination:
Show? a b Output Desired Output Good?
  0 0      
  0 1      
  1 0      
  1 1      
4. Circuit Equation (part 2)
Create a circuit that represents this formula:
a + 2 × b
a
b
Output
0
2
2
×
0
+
0
×
0
 
Make sure your circuit works for each input combination:
Show? a b Output Desired Output Good?
  0 0      
  0 1      
  1 0      
  1 1      
5. Circuit Equation (part 3)
Create a circuit that represents this formula:
2 × a + 2 × b
a
b
Output
0
2
2
+
0
+
0
×
0
 
Make sure your circuit works for each input combination:
Show? a b Output Desired Output Good?
  0 0      
  0 1      
  1 0      
  1 1      
We will use 1 to represent true and 0 to represent false. Review these operators:
  • not a: true if a is false; false if a is true
  • a or b: true if either a or b is true
  • a and b: true if both a and b are true
  • a xor b: true if a or b is true, but not both
  • a nand b: equivalent to not (a and b); false if a and b are true; true otherwise

Create a circuit that represents this formula:
a or b
a
b
Output
0
and
0
or
0
 
Make sure your circuit works for each input combination:
Show? a b Output Desired Output Good?
  0 0      
  0 1      
  1 0      
  1 1      
Create a circuit that represents this formula:
a xor b
a
b
Output
0
and
0
or
0
not
0
and
0
 
Make sure your circuit works for each input combination:
Show? a b Output Desired Output Good?
  0 0      
  0 1      
  1 0      
  1 1      
9. Circuit: nand (part 1)
Create a circuit that represents this formula:
a nand b
a
b
Output
0
and
0
or
0
not
0
and
0
 
Make sure your circuit works for each input combination:
Show? a b Output Desired Output Good?
  0 0      
  0 1      
  1 0      
  1 1      
10. Circuit: nand (part 2)
Create a circuit that represents this formula:
a nand b
a
b
Output
0
not
0
not
0
or
0
and
0
 
Make sure your circuit works for each input combination:
Show? a b Output Desired Output Good?
  0 0      
  0 1      
  1 0      
  1 1      
11. Using the nand Operator
We can construct all of the other boolean operators using just the nand operator.
In fact, we could construct a computer using just the nand operator.

Create a circuit that represents this formula:
a or b
a
b
Output
0
nand
0
nand
0
nand
0
Hint: Try connecting both nand inputs to a single block; this converts the nand operator into a not operator. (Remember that nand is the same as and followed by not.)
 
Make sure your circuit works for each input combination:
Show? a b Output Desired Output Good?
  0 0      
  0 1      
  1 0      
  1 1      
Create a circuit that represents this formula:
a and b
a
b
Output
0
nand
0
nand
0
nand
0
Hint: Try connecting both nand inputs to a single block; this converts the nand operator into a not operator. (Remember that nand is the same as and followed by not.)
 
Make sure your circuit works for each input combination:
Show? a b Output Desired Output Good?
  0 0      
  0 1      
  1 0      
  1 1      
14. Arithmetic and Logic
A boolean logic network is analogous to a mathematic network.

The and operator is similar to multiplication for 0/1 values:
a × b is 1 if both a and b are 1.

Also the or operator is similar to addition.

Create a circuit that represents this formula:
a and b
a
b
Output
0
+
0
×
0
 
Make sure your circuit works for each input combination:
Show? a b Output Desired Output Good?
  0 0      
  0 1      
  1 0      
  1 1      
Create a circuit that represents this formula:
a or b
a
b
Output
0
+
0
×
0
+
0
-
0
 
Make sure your circuit works for each input combination:
Show? a b Output Desired Output Good?
  0 0      
  0 1      
  1 0      
  1 1      
17. Lesson Done