2016-06-30 2 views
0

저는 논리 회로도를 가지고 있으며 입력에서 출력까지 많은 레벨이 있습니다. 각 출력에 대해 단순화 된 부울 수식을 찾고 싶습니다. 실수를 피하고 효율적으로 만들기 위해 대형 회로도를 논리 게이트 당 하나의 부울 수식으로 분해하고 부울 수식 집합을 단순화하고 출력으로 지정하는 선택한 용어에 대해 단일 수식을 출력 할 수있는 도구를 찾을 계획입니다 .부울 방정식 세트를 결합하십시오.

모든 수학 프로그램은 정상입니다. 도와주세요. 감사!

답변

0

이러한 경우에는 Logic Friday 1을 권장합니다. 회로를 게이트 다이어그램으로 입력 할 수 있습니다. Logic Friday 1 그러면 항목이 최소화 된 sum-of-products 양식으로 변환됩니다. 또한이 2 레벨 양식을 다중 레벨 게이트 다이어그램으로 다시 변환 할 수 있습니다.

다중 레벨 회로의 간소화은 사소한 것과는 거리가 멀다. 입력 수가 많으면 많은 양의 미성숙 (= sums-of-products)으로 끝날 수 있습니다. local transformations이라는 측면에서 회로를 단순화하는 것이 더 쉬울 수도 있습니다. 여기서 동일한 수의 게이트를 동일한 기능을 구현하는 더 간단한 하위 회로로 대체합니다. 예 : AND (AND (x, y), z)는 AND (x, y, z)와 같습니다. 또한 동일한 기능을 실현하는 회로에서 노드를 찾아 제거 할 수 있습니다.

가장 작은/가장 단순한 것이 아니라 가장 빠른 회로을 찾아야합니다. 이것은 입력과 출력 사이에 최소 지연을 갖는 회로입니다. 지연 최소화는 달성하기위한 매우 미묘한 목표이며 사용 가능한 게이트 유형의 지연 특성에 따라 달라집니다.

대체 도구는 bc2cnf입니다. 이 명령 줄 도구는 게이트 넷리스트 파일을 합계 합계 CNF 파일로 변환합니다. 이 CNF 파일은 SAT solver을 사용하여 해결할 수 있습니다. 모든 솔루션은 sum-of-product 형식의 1 분에 해당합니다. 따라서 이것은 단순화 된 다중 레벨 형식을 직접 보여주지는 않지만 회 로의 기능을 검증하는 데 도움이 될 수 있습니다.