Abstract :
Usually the important parameters in the design and implementation of combinational logic circuits are the number of gates, transistors, and levels used in the design of a circuit. In this regard, various evolutionary paradigms with different competency have recently been introduced. However, while being advantageous, evolutionary paradigms also have some limitations including a) lack of confidence in reaching the correct answer, b) long convergence time, and c) restriction on the tests performed with a higher number of input variables. In this work, we implement a genetic programming approach that given a Boolean function, outputs an equivalent circuit such that the truth table is covered, and the minimum number of gates (and to some extent, transistors and levels) are used. Furthermore, our implementation improves the aforementioned limitations by incorporating a self-repairing feature (improving limitation a); efficient use of the conceivable coding space of the problem, which virtually brings about a kind of parallelism and improves the convergence time (improving limitation b). Moreover, we apply our method to solve the Boolean functions with a higher number of inputs (improving limitation c). These issues are verified through multiple tests, and the results obtained are reported