Last Sync: 2022-06-04 17:30:04
This commit is contained in:
		
							parent
							
								
									c22d35ee5f
								
							
						
					
					
						commit
						0b8e356120
					
				
					 3 changed files with 49 additions and 144 deletions
				
			
		| 
						 | 
					@ -9,147 +9,3 @@ tags:
 | 
				
			||||||
# Logic gates
 | 
					# Logic gates
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Logic gates are the basic building blocks of digital computing. **A logic gate is an electrical circuit that has one or more than one input and only one output.** The input controls the output and the logic is isomorphic with [Boolean connectives](../../Logic/Truth-functional_connectives.md) defined in terms of [truth-tables](../../Logic/Truth-tables.md).
 | 
					Logic gates are the basic building blocks of digital computing. **A logic gate is an electrical circuit that has one or more than one input and only one output.** The input controls the output and the logic is isomorphic with [Boolean connectives](../../Logic/Truth-functional_connectives.md) defined in terms of [truth-tables](../../Logic/Truth-tables.md).
 | 
				
			||||||
 | 
					 | 
				
			||||||
### Truth tables
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Truth-tables present the conditions under which logical propositions are true or false. To take the `AND` operator: `AND` evaluates to `true` if both of its constituent expressions are `true`, and `false` in any other circumstances (e.g. if one proposition is `true` and the other `false` (or vice versa) and if both propositions are `false` ).
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This is most clearly expressed in the following truth table:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**Truth table for `AND`**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
p    q   p & q
 | 
					 | 
				
			||||||
_    _   _____
 | 
					 | 
				
			||||||
t    t     t
 | 
					 | 
				
			||||||
t    f     f
 | 
					 | 
				
			||||||
f    t     f
 | 
					 | 
				
			||||||
f    f     f   
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 The negation operator (`¬` or `~` ) switches the value of a proposition from true to false. When we put `~` before `true` it becomes false and when we put `~` before `false` it becomes `true`. We will see shortly that this corresponds to a basic on/off switch.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**Truth table fo `NOT`**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
p    ~ p
 | 
					 | 
				
			||||||
_    __
 | 
					 | 
				
			||||||
t    f
 | 
					 | 
				
			||||||
f    t
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## `AND` gate
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Just as we can create `NOT` logic from a NAND gate, without the `AND` conditions, we can create a circuit that exemplifies the truth conditions of `AND` without including those of `NOT`.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
When we attach two NAND gates in sequence connected to two switches as input this creates the following binary conditions:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
A    B   Output
 | 
					 | 
				
			||||||
_    _   _____
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
0    0     0       (1)
 | 
					 | 
				
			||||||
1    0     0       (2)
 | 
					 | 
				
			||||||
0    1     0       (3)
 | 
					 | 
				
			||||||
1    1     1       (4)
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Which is identical to the truth table for `AND` :
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
p    q   p & q
 | 
					 | 
				
			||||||
_    _   _____
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
t    t     t      (1)
 | 
					 | 
				
			||||||
t    f     f      (2)
 | 
					 | 
				
			||||||
f    t     f      (3)
 | 
					 | 
				
			||||||
f    f     f      (4)  
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Natural language
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 > 
 | 
					 | 
				
			||||||
 > `AND` (`&`) is `true` when both constituent propositions are `true` and `false` in all other circumstances viz. `false false` (`¬P & ¬Q` / `0 0` ), `true false` (`P & ¬Q` / `1 0` ), `false true` (`¬P & Q` / `0 1` )
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
AND at 0 0
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
AND at 1 0 or 0 1
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Symbol for `AND` gate
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
It's very similar to NAND so be careful not to confuse it
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### `OR`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 > 
 | 
					 | 
				
			||||||
 > `OR` (in logic known as **disjunction**) in its non-exclusive form is `true` if either of its propositions are `true` or both are `true` . It is `false` otherwise.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
p    q   p V q
 | 
					 | 
				
			||||||
_    _   _____
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
t    t     t      (1)
 | 
					 | 
				
			||||||
t    f     t      (2)
 | 
					 | 
				
			||||||
f    t     t      (3)
 | 
					 | 
				
			||||||
f    f     f      (4)  
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### `XOR`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 > 
 | 
					 | 
				
			||||||
 > `XOR` stands for **exclusive or**, also known as **exclusive conjunction**. This means it can only be `true` if one of its propositions are `true` . If both are `true` this doesn't exclude one of the propositions so the overall statement has to be `false` . This is the only change in the truth conditions from `OR` .
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Electrical symbol for XOR
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
p    q   p X V q
 | 
					 | 
				
			||||||
_    _   ________
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
t    t     f      (1)
 | 
					 | 
				
			||||||
t    f     t      (2)
 | 
					 | 
				
			||||||
f    t     t      (3)
 | 
					 | 
				
			||||||
f    f     f      (4)  
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### `**NOR**`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 > 
 | 
					 | 
				
			||||||
 > This is equivalent to saying 'neither' in natural language. It is only `true` both propositions are `false` . If either one of the propositions is `true` the outcome is `false` . If both are `true` it is `false`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||

 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### `XNOR`
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 > 
 | 
					 | 
				
			||||||
 > This one is confusing. I can see the truth conditions but don't understand them. It is `true` if both propositions are `false` like `NOR` or if both propositions are `true` and `false` otherwise.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
p    q   p ¬V q
 | 
					 | 
				
			||||||
_    _   ________
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
t    t     f      (1)
 | 
					 | 
				
			||||||
t    f     f      (2)
 | 
					 | 
				
			||||||
f    t     f      (3)
 | 
					 | 
				
			||||||
f    f     t      (4)  
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
p    q   p X¬V q
 | 
					 | 
				
			||||||
_    _   ________
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
t    t     t      (1)
 | 
					 | 
				
			||||||
t    f     f      (2)
 | 
					 | 
				
			||||||
f    t     f      (3)
 | 
					 | 
				
			||||||
f    f     t      (4)  
 | 
					 | 
				
			||||||
````
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					tags:
 | 
				
			||||||
 | 
					  - Logic
 | 
				
			||||||
 | 
					  - Electronics
 | 
				
			||||||
 | 
					  - Hardware
 | 
				
			||||||
 | 
					  - logic-gates
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# OR gate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 > `OR` (in logic known as **disjunction**) in its non-exclusive form is `true` if either of its propositions are `true` or both are `true` . It is `false` otherwise.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					````
 | 
				
			||||||
 | 
					p    q   p v q
 | 
				
			||||||
 | 
					_    _   _____
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					t    t     t     
 | 
				
			||||||
 | 
					t    f     t     
 | 
				
			||||||
 | 
					f    t     t     
 | 
				
			||||||
 | 
					f    f     f        
 | 
				
			||||||
 | 
					````
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TO DO: Add circuit diagram for OR gate
 | 
				
			||||||
							
								
								
									
										24
									
								
								Hardware/Logic_Gates/Xor_gate.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								Hardware/Logic_Gates/Xor_gate.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,24 @@
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					tags:
 | 
				
			||||||
 | 
					  - Logic
 | 
				
			||||||
 | 
					  - Electronics
 | 
				
			||||||
 | 
					  - Hardware
 | 
				
			||||||
 | 
					  - logic-gates
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# XOR gate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 > `XOR` stands for **exclusive or**, also known as **exclusive conjunction**. This means it can only be `true` if one of its propositions are `true` . If both are `true` this doesn't exclude one of the propositions so the overall statement has to be `false` . This is the only change in the truth conditions from `OR` .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					````
 | 
				
			||||||
 | 
					p    q   p xv q
 | 
				
			||||||
 | 
					_    _   ________
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					t    t     f      (1)
 | 
				
			||||||
 | 
					t    f     t      (2)
 | 
				
			||||||
 | 
					f    t     t      (3)
 | 
				
			||||||
 | 
					f    f     f      (4)  
 | 
				
			||||||
 | 
					````
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue