Abstract
For two given logical expressions and, when expression contains the same part of the logical expression as expression, substituting for that part of expression is called a substituted logic expression. If a substituted relation is established between the logical expressions, there is an advantage in that the number of literals used in the whole logical expression can be greatly reduced. However, if the substituted relation is not established, there is no simplification effect obtained from the substituted expression. Previous methods proposed a way to find substituted relations between logical expressions for the given logical expressions themselves, and to calculate substituted expressions if only substitution is possible. In this paper, a new method for performing substitution with addition and revision of logic terms is proposed in order to perform substitution, even though there is no substituted relation between two logic expressions. The proposed method is efficiently implemented using a matrix that finds terms to be added. Then, by covering the matrix that has added terms, substituted logic expressions are found. Experiment results show that the proposed method for several benchmark circuits can reduce the number of literals, compared to existing synthesis tools.
2개 논리식에 대해서 어떤 논리식 F의 일부가 다른 논리식 G 전체를 포함하고 있을 때, 논리식 F의 일부분을 논리식 G로 대치한 식을 대입식이라고 한다. 논리식 사이에 대입 관계가 성립되면 전체 논리식에 사용된 리터럴 개수를 대폭 줄일 수 있는 장점이 있으나, 대입 관계가 성립하지 않는 경우 대입식으로부터 얻을 수 있는 간략화 효과가 없게 되어 상대적으로 리터럴 개수를 줄이는 효과가 줄어들게 된다. 지금까지의 연구들이 주어진 논리식들 자체에 대해서 논리식들 사이의 대입 관계를 찾고, 대입이 가능하면 대입식을 산출하기 위한 방법을 제안하였는데, 본 논문에서는 논리식들 사이에 대입식이 만들어지도록 필요한 항을 추가하고, 다시 추가된 항들에 대한 보정을 통해 대입식을 산출하는 논리합성 방법을 제안한다. 최적화하고자 하는 2개의 논리식들로부터 항추가를 위한 행렬을 만들고, 행렬에서 항이 추가 가능한 묶음 찾고 추가된 항에 대해 보정을 하여 대입식이 완성된다. 실험결과 여러 벤치마크 회로에 대하여 제안한 방법이 기존 합성도구보다 리터럴 개수를 줄일 수 있음을 보였다.