Design Simulation System to Simplifying Boolean Equation by using Karnaugh Map

Simulation is one of most important technique used for learning, it makes learning possible without cost and provides best way to improve the practical skills for learners. The purpose of this research was to design program to simulate processing of simplifying Boolean expression by using kranaugh-map depending on rules and procedures applied to Boolean equation in order minimize it to obtain final optimal expression with minimum number of variables ,and reduction in equipment that leads to reduce cost, and this research recommend to use modern methods in education which Simulation programs is one of this method to improve E-learning to keep up with universities which care to use E-learning with traditional education and make student more interactive with education progress


1-Introduction:
Simulation is used in many different status. This proves that the flexibility of this tool for help to solve problems and explain some reasons for success. Simulation effectiveness comes from the ability for analyzing and recognizing a complex system, and explain the possibility of predicting by showing how can the different entities be structured and related, also how the system be developed and changes. It is important to note that simulation is not always the best approach to solve problems, there are determination and disadvantage [1] [3].
Before any simulating, evaluation must be made if simulation advantages more than simulation disadvantages. So given the large list of areas or fields where simulation is used, it is certain that simulation will continue to have an important service on human lives. [1] Simulations have a positive effect on learning objectives, define three learning branches when we use it into the learning process which are affective, cognitive, and behavioral. [2] Simulation works to improve education in computer science in various fields, including software engineering and computer architecture, computer communications and networks. also provide the functions they develop the education of computer science .The simulation of devices in education is also a fundamental area allows students to understand computer architecture and Organizations in an effective way .Traditional experiments and textbooks cannot provide sufficient expertise. Simulation can replace experiments and add more insight inside of the functions of the devices which cannot in conventional laboratories be observed easily. Many of the tools and simulation languages are developed to help students to execute more experience in this area. [3] Computers play a big role in simulation techniques, so they can create random numbers, tally the outputs, doing experiments, and count probabilities faster than human. [4] As we know computer simulation is a robust technique for education in several subjects. Simulation tools are important in different science education and Computer Sciences one of them, because they are aid method to support the education process, and simulations can improve traditional education [5], and can be used in various disciplines of computer science. This research submitted to design simulation system for the processing of simplifying Boolean expression by using kranaugh map (k-map). This system can be used to produce suitable way to learning student how he can using k-map to minimize Boolean expression, also This design consist of explaining rules and step for this subject and involved testing at the end in order examine student if he understand or not .
The importance of this research is that it offers a simulation system for the process of simplifying the Boolean logical equations using Karnaugh mapping. The simplification of Boolean logical equations one of the important topics in the field of computer architecture and electronic digital circuits for students in higher education in the disciplines of computer and electronic.
Although there are Boolean algebra in simplifying equations, but using Boolean algebra to simplify Boolean expressions may be difficult and the result of solution not minimize. The Karnaugh map gives a simple and direct method of minimizing Boolean expressions which act combinational logic circuits. A Karnaugh map is a graphic method for gathering expressions with common variable and then eliminating the unwanted ones.

2-Previous works
The simplification of logical equations using the method karnaugh in electronic circuit design is one of the important topics. And simulation design is widely used, so we find there are a lot of studies and research on this subject.

2-1-Comparing previous studies with the proposed simulation system
Previous studies have provided algorithms to simplify Boolean expression by designing simulation program tool based on logical equations,  Some of these algorithms are based on the laws of Boolean algebra in the simplification process, While the research presented, depended on k-map method for simplification.  this research integrated system because it has teaching students how to simplify Boolean equations step by step simply and logically ,By providing an explanation of the steps as well as examples to clarify that. So this not exist in previous studies  The proposed system allows the possibility of tests for students and identify errors and address them. This is also not available in previous studies systems.

3-Boolean Expression:-
3-1-Boolean expression is created with binary variables ,each variable represent logic variables in the digital circuit ,which used to determine better method in order to perform any circuit function also indicate number and type of gates are used to connected in the combinational logical gates. Letter used as logical variable and there are three operation logical: addition ,multiplication ,inversion, Its symbols are sequential (• , + , ` ) , offset logic gates as (and , or ,not ). Boolean algebra gives a shorthand method to represent the logic circuit as mathematic equation and can be used to analyze, simplify and design logical circuits.

3-2-Boolean Algebra -Rules and Laws:-
They are laws and rules which are the same as algebra, these laws and rules used for reducing complex combinational logical circuits in order to obtain simplest form for them. [9] 3-3 Truth Table:-A graphical method for giving the output manner of logic circuits for every possible set of input variables condition in the Boolean expression.

4-Karnaugh-Map:-
A Karnaugh map (K-map) is graphical method used in order to minimize the Boolean expressions without the need to use Boolean algebra theorems and Manipulation of the equation. It will serve to simplify of real-world logic requirements in order to implemented using with less number of physical logic gates .If number of gates reducing , chip cost and size will be reduced and computing speed also will be increase too. [10] Its workable good restricted to six variable .

4-2 Drawing Boolean Expression on K-Map:-
There are several steps that must be implemented. In order to draw Boolean expression on the k-map, these steps are:-1-Convert Boolean equation in to the sum of product form (SOP).

2-Fill it to truth table.
3-Put 1 in each cell in the k-map symmetric or equal to the term for (SOP) 4-Grouping cells to simplifying by neighboring cell different only by a single variable.
Grouping together any adjacent cells containing 1's according to the following Rules:- Groups should be contain 1, 2, 4, 8, 16 (2 n ) cells. "  Groups perhaps horizontal or vertical, but cannot be diagonal.  Groups must be big as possible.  Each cell containing a 1 must be in at least one group.  Overlap between Groups may be occur.  Wrap around the table between Groups may be happened. so The rightmost cell in a row maybe grouped together with the leftmost cell and the top cell in a column perhaps grouped with the bottom cell  It have to be fewer groups as possible. 5-Obtaining Product Terms: -final expression can be obtained by the variables which stay constant into each group .Any variables which show complement and un complement form together are deleted. 6-By summing the product term for all grouping, the final expression (SOP) is obtained.

5-Simulation:-
Is a model to improve conclusions which provides an insight into the behavior of the real word being studied their elements. Same concept is computer simulation but the model requires to be created by computer programming [4].

5-1
Computer simulation is the reproduction for the system behavior by using a computer in order to simulate the result of a mathematical model related To mentioned system. They have become a helpful tool in the mathematical modeling for many natural, human system and so on, used to test and product new insights into new technology and to evaluation the performance of complex systems [5].
Computer simulations can be achieved by running computer programs which may be small, and running on a small computers or big-scale programs that may be running for long time such as on network. A computer simulation is a computer program which employ or design for simulation of a conceptual model of a given system.

5-2 Simulations in Education:-
Simulation based on learning today especially depends on the use of computers and advanced technologies in order to provide a near creditable experience for the user and also enhance learning. Simulations can be considered as a learning tool, it relies mostly on some other learning theory and apply its principles. Simulation tools give many benefits compared with the traditional teaching methods. Some of these advantage are:-1-They can demonstrate abstract concepts, 2-Give interaction users with simulated equipment, 3-Provide users by feedback that give users to develop their skills and knowledge. 4-Finally they are cost-effective through long-run. Simulation tools can convert abstraction concepts to reactive visual content, this make students understand the activity and relationship in the several parts of system.
Simulation tools which used in education can be found in many industries, as new uses are being implemented with the technology continues to improve. There are many training applications include training in situations that are too dangerous or dangerous to train in the real world [13]. Feedback helps the student in developing his performance and taking advantage of his mistakes.
Simulation tools can keep track of student progress and prepare integrated feedback that can help in developing skills. students able to choose which skills improvement on and obtain specific resources of training, materials of training can be easily, improved , modified, updated , and training can be achieved regardless of place and time . Simulated equipment is constantly accessible.
In the technical training based on simulation, the student trains and experiences in a controlled environment and safe, reduce the probability of destroying an expensive equipment or hurts Himself. They can be reusable, and allow to remove the necessity of equipment can minimize the cost for the course or program. Also the effectiveness of a simulation depend on the accuracy of simulation effectiveness so varies relying on the type of task which be learned [12].
Simulation tools which are used in education can be found in many industries, as new uses are being implemented with the technology continues to improve. There are many training applications include training in situations that are too dangerous or dangerous to train in the real world. [13]. Feedback helps the student in developing his performance and taking advantage of his mistakes.
There are many key components for simulation training tools which help them effective, by Add multimedia and Give immediate feedback. These characteristics add to the interactivity of simulations, and helps users stay busy with exercises. Components of Multimedia such as audio, animations, images, text, video make the simulation tool more Adventure [13 [16].

5-3 Stages of Simulation:-
The process of simulation is performed by constant step in any case of type of the problem and the objective of study, in general there are basic steps for performing the simulation, these are: 1-Definite the Problem: -or system you wanted to simulate it.

2-Planning for Project: -Project divided into work packages designated responsible
party for each package. It referred to as main milestones to track progress. This able is necessary to determine whether sufficient time and resources available to the end. 3-Definition of System: -this step consist of specifying the system components to be designed and the performance metrics to be analyzed. 4-Formulate of Model: -Format the model that you intend to use. Understanding the way that behaves the real system and determine the basic components of the model is important in the improvement of the valid model. Use flowchart for explanation how the system works is Simplify to know the variables used react. 5-Enter the data set and Analysis:-Identify and collect the data needed to test the model.
Analyze the results of the simulation and, if desired, change the solution you are evaluating. 6-Model Simulation. -The model is translated into programming Language. 7-Verifying and Validating the system:-Test the model; compare its behavior with the behavior of the actual problem. Validate the simulation; this involves increasing the chances of the inferences you may draw about the real situation. 8-Experience and Analysis:-Rerun the simulation to test the new solution restart the simulation in order to test new solution Experience includes developing the alternative model, executing simulations, and comparing statistic performance of the real system with the performance of the alternative system. 9-System Implementation and Documentation:-Experimental design documentation consists of a written report or presentation. It discusses the results and effect of study. It is to determine the best course of action, recommended, and justification. [14]

6-Design of the Simulation System:-
This research is to design simulation algorithm for make simplifying of Boolean equation by using k-map .So to design this algorithm we must understand subject within the simplification of Boolean algebra ,which depends on many steps , rules ,graphics, map and procedures applied to the Boolean equation logically and sequentially in order to obtain the simplest form of this equation.
After designing the conceptual model for this research that help to identify research goals. then computational model designing by receiving inputs which are output of conceptual model(indications or hypotheses )A good deal of repetition may be needed before the computational model can be seen to represents a conceptual model satisfactorily.
The interaction mechanisms a computational model cannot provide that simulation users needed to explore the behavior of the model, and assumptions, and Analysis of results these can be achieved by simulation program. This tool allow users to perform numerical experiences, and let them to be visualize processes simulation as shown at figure (1)

Figure (1). Essential steps for implement for studying simulation
Simulator tool which can be designed depend on constant steps. User can choose method for enter expression which be simplifying and determine how many number of input variables. Simulation program create truth table and fill the corresponding cell by expression. Second step is fill k-map by putting 1's in each corresponding to expression term (SOP).
Third step is grouping cells according rules of grouping in order eliminating unwanted variables. Finally fourth step is determined how we can obtain the final expression .as showing in figure (3) The simulation software also allows to verify and valid the accuracy of the computational model. Verification is defined as the process of making sure that computational model meets the specifications of conceptual model while validation is process of making sure that the computational model is regular with project objectives [12].

7-Design Practical Aspect
:-This simulation system is designed to simplify , which helps students learn how to use method of k-map to simplify Boolean equations for the purpose of reducing the physical parts used in logical electronic circuit design .Characteristics of design are :--1-Allows the student to know the steps required to simplify logical equations in the designing of the electronic circuits in computer architecture.

Figure (2). Block diagram of simulation system
Simulator tool is an important parts in this research, through this tool student can execute different input to learn and understand simplifying Boolean equation and solved different probably input and these steps are listed in the algorithm (1). Step9. Summing the product term of all group to Obtain final expression Step10. Show simplified equation Step 11. try again go to step 2 Step11. End.

8-Stages for Implementation System:-
The main interface or window of the system designed as in Figure ( When you press the first choice in the main interface you will go to new window which consists of introduction for minimization and defining of Kavanagh map, in this window you can continue to obtain more information about k-map or return to main menu, this is shown in Figure (

Figure (7). Rules of grouping
Third option in the main menu allows you to move to an interface of Application Examples , by entering a Boolean expression and then applying the necessary steps to simplify them ,This process is perform clearly and in details to enable the learner to understand the subject properly and away from ambiguity and complexity, application for two input variable equation is shown in fig(8) .

Figure (8).
Steps of simplifying two input variables Also the system designing to contain example for explaining steps of simplifying three input variables of Boolean equation and the final steps for this is shown in figure (9).

Figure (9). Final step for simplifying of 3-input variables
The fourth choice in the main menu is the simulator tool .In this window program is designed for student ,so he can determine number of variables of Boolean equation he want training about it to understand how process of minimization happens .There are two option one for two variable and other for three variable as shown in figure (10) ,also there is another option which is( Help), provide many ways of help depending on the choice of user ,last there is (Exit) option to go out of this window. If student choose number of variable ,the program is structured to translate to new window with two option either he want start by truth table or by equation method ,after he determine his input choice the procedure of simplifying is applied by fill kmap , grouping adjacent cells depending on rules of grouping , delete unwanted variables, and obtain final expression by summing the product for all group , this procedure executed logically and sequentially so the user can repeat the experiment as he wish until he understand . The simulation program provides the user with the ability to retrain in unlimited. It also provides window for dialogue and messages, which improve interaction between the program and the user.
As shown in figure (11)    While the fifth choice when selected, the user move to new window for test his information and measure how much he understand subject, this window consist of a number of questions that have to be resolved where the student must solve the question to move to the next stage of questions, and so down to the final solution as shown in figure (14) and (15). It also provides dialogue messages for the purpose of interaction and achieving flexibility in the process of training and education .And finally option of quit from this system.

9-Conclusions and recommendation
The designer system provides an interactive environment for students through this system make the student is able to perform the process of simplifying Boolean equations by using k-map. This happens by input equations and then applying certain steps of simplifying by fill them in the truth table and then fill k-map, grouping, removing according to rules and procedure until we obtain final expression which is simplest form of the equation. And this means reducing the cost and physical parts of the electronic circuits, also increases the efficiency of the computer.
This research concluded that the simulation program designed helps the student to understand the subject of simplification, which is one of the important topics in the study of computer architecture for students of computer technology as well as for students of electronic disciplines.
The simulation programs increase the student's performance to understanding and learning, and Provides feedback in order that student learn from his error.
Although, the simulation tools provide good solutions to develop the practical skills for the student in the higher education and recommend through this search The use of computers in training and learning through simulation programs helps in developing the skills of the student and cognition .Also Promoting the use of elearning as well as traditional education in order to keep up with international universities, and finally This simulation system can be developed to contain More than one way for the simplification, it is possible to add more interactive options and environments. It can also be used as an application and published by network so that students can benefit from it.