Motherboard |
In these modern days of technology, smart electronic chips have capacities to choose different types of behavior and even playing intelligent based on events that behave upon them. To do so chips use boolean algebra to compare or do branching depending on the logic that has been designed for them.
In one word, physical and logical systems that are used to determine two states of behavior are described by boolean algebra. Logical systems has true or false and physical systems has electricity or has no electricity statements, exists and don't exists. Boolean algebra started since Aristotle but the one who truly used it in practical things is George Boole in 1815-1864 with its projects on The Process of Thinking.
In Digital Logic boolean algebra is defined by two elements : { 0, 1 } where upon these elements we have three basic operations : addition, multiplication and complement. Complement is the opposite of one state like if we have true the complement of true is false, or if we have 1 the complement of 1 is 0.
Boolean Postulates
Boolean Algebra is based on a pile of basic attitudes, which otherwise are called postulates. With the help of three basic operations we mentioned above, boolean algebra in digital logic can be defined like this :
Variables
In Digital Logic we can work with variables which can have two of the defined values ( 0 or 1 ) and extract mathematical formulas to do circuit design. For example if variable A has two of the defined states ( 0 or 1 ) from basic operations ( addition, multiplication and complement ) we can extract the following expressions.
Lets see if these expressions are true. Starting from the first A + 0 = A. This expression is true because if A = 0 then 0 + 0 = 0 which is A, and if A = 1 then 1 + 0 = 1 which is A.
The second expression says A + 1 = 1. If A = 0 then 0 + 1 = 1, and if A = 1 then 1 + 1 = 1. The logic goes same on all expression. Lets test with following expression : A + notA = 1. If A = 0 then 0 + not 0 (which is 1) = 1, and if A = 1 then 1 + not 1 (which is 0) = 1.
Lets test with multiplication. The following expression says : A * 1 = A. This statement is true because if A takes one of two possible values the result is again A. So, if A = 0 then 0 * 1 = 0 which is A and if A = 1 then 1 * 1 = 1 which again is A. It's up to you to play around with the rest of them and do testing.
The last one is Complement. The expression says : not not A = A. Let's test it by adding to A two of the possible values. If A = 0 then not not 0 = not 0 = 1 and not 1 = 0. Notice we do complement twice. There is a rule in boolean algebra where if we complement the value twice we get the same value again. Double complement is written with equals sign above the value to be complemented. Now lets test the same expression with the second possible value 1. If A = 1 then not not 1 = not 1 = 0, and not 0 = 1.
Boolean Rules
Some of the rules we have in common algebra are also applicable in boolean algebra. Those rules are
We can test these rules if they are true based on the postulates we talked above. Lets test just commutation and the rest its up to you. If these rules are applicable in common algebra they are applicable in boolean algebra for sure. Test the following expression : A(A + B) = A.
Note : When we have A * A we write it like AA.
De Morgan Theorem
Finding complementary functions is based on the so called theorems of De Morgan where for functions with two variables these theorems are written like this :
Here entire expressions are complemented. This means that even the sign + is complemented. If we complement + we get * and if we complement * we get +. In the first example A + B complemented is A complemented * B complemented, and we clearly notice that the sign is changed. Also in the second example A * B complemented equals to A complemented + B complemented.
Example : Find complementary solution for this expression
Solution with De Morgans theorem :
Notice how expression is changed based on De Morgans theorem. If we had an entire expression complemented that means that even signs are complemented. So as we said if we complement + we get * and if we complement * we get +. The expression is simplified by complementing values and signs.
Principle of Duality
In boolean algebra there is a principle where in an logical expression if we swap values and signs like this :
0 with 1
1 with 0
+ with *
* with +
we get the so called dual expression which means that if we do multiplication ( + ) with the two possible values 0 and 1 we get the result of addition. The following table should give enough understanding.
If the following OR table :
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 1
with principle of duality we do swapping like this
0 with 1
1 with 0
+ with *
* with +
then we get the AND table like this :
1 * 1 = 1
1 * 0 = 0
0 * 1 = 0
0 * 0 = 0
Dual Functions
Principle of duality is applicable in expressions where we swap signs and values of the entire expression. This is called dual function and this means that we do principle of duality on the entire logical expression. If we work with variables and we expect those variables to have two of the possible values then they remain same just the signs are changed, however we should take care when we have long expressions. If we have to, we can use brackets to simplify expressions so we have a better clear.
Example : Use dual functions for the following expressions
Remember that with the principle of duality we swap values and signs :
0 with 1
1 with 0
+ with *
* with +
If we have variables they remain, and if we have values we swap them. Variables can have two of the possible values 0 and 1 and its not logical for them to be swapped since they are just variables.
Solution :
Logical Circuits
Finally we can see those expressions extracted in designed circuits. We can use logical expressions, simplify them with boolean algebra and finally extract them in a circuit design. There are different ways of representing logical expressions in circuit designs : Circuits with interruption, Tables of combinations, Timing diagrams, Ven Diagrams, K-diagrams and Logical circuits.
To wrap up this text we will only see how we can extract logical expressions in Circuits with interruption design. We may talk about timing diagrams and logical circuits in the upcoming posts.
Circuits with Interruption
This type of circuit design physically can be represented as electrical switches. If we assign two of the possible values on the both sides of the switch, where 0 = no electricity and 1 = electricity we represent a switching circuit or circuit with interruption.
In the following example we have a logical expression with corresponding circuit designs
We can use any logical expressions and extract them in circuit design as we did in the example above. Lets see some practical examples with different logical expressions. Notice that in long expressions we can use boolean algebra to simplify things and thus simplify the design of the actual circuit. This can be very handful especially when we design complex digital chips that will do different tasks. And as long as the expression is true and logical, the circuit will do it's job in a logical way.
Summary
This text tries to get as close as possible to the inner world of electronic chips. Since we know that computers only understand binary numeral system which consist of zeros and ones then we can say that circuits understand two states of behavior true or false, has electricity or has no electricity, 0 or 1. With the help of boolean algebra which is based on two behaviors just like electronic chips and computers, we can have different logical expressions and extract them into actual circuit designs. An overall target of this text is to teach you how those zeros and ones which define two states of behavior are used in algebric expressions to define huge and complex digital circuits which live inside every electronic chip.
Excellent explanation,I did this in the 80s at college unfortunately it was not explained as good.
ReplyDeleteIf you are reading this post on Boolean Algebra and wondering what use it is, well it is a basic building block towards being a software programmer/designer. I know people who are who drive Aston Martins and travel all over the world. If you are competent on a computer and an X box etc you are half way there.
The World has changed its not who you know or what university you went to its what you know.
A software programmer will be judged purely on results and you are only ever as good as your last job.I am in awe of them and they are some of the nicest down to earth people you will ever meet, because most of them have had a hard slog to the top and a good milling in the university of life.