shobro / logic_synthesis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

logic_synthesis

Consider a randomly generated boolean equation

((((G)&(!D))&((!A)&(((E)|(!C))|(E))))&(((((G)|(G))&((!D)&(!D)))&(H))&((!A)&((!A)&(((!D)|(E))&(!D))))))

Tree represenation of above equation

image

You can check the decomposition of the above with k = 3 where k means decomposition with 3 unique variable.

Let us look at an example in diagram below for the meaning of k

image

The yellow cut defines a decomposition with k = 3 i.e the cut has 3 unique variables. For more details please have here.

Overall if we do a normal decomposition of above boolean equation it would take around 4 decomposition. You can have look at these slides here.

In our project we have developed a algorithm which can minimize this decomposition via properties of trees.

We manipulate the boolean equation which changes its tree respresentation without changing its meaning. Have a look at the change made by the our algorithm below.

image

This representation allows us to reduce the no of decomposition into 2. Have a complete look here.

About


Languages

Language:Python 100.0%