The complexity of Boolean functions
The complexity of Boolean functions
Computation: computability, similarity, and duality
Computation: computability, similarity, and duality
Complexity theory of parallel time and hardware
Information and Computation
Contemporary logic design
On the Inversion Complexity of a System of Functions
Journal of the ACM (JACM)
Digital Design: Principles and Practices
Digital Design: Principles and Practices
Introduction to Circuit Complexity: A Uniform Approach
Introduction to Circuit Complexity: A Uniform Approach
Some facets of complexity theory and cryptography: A five-lecture tutorial
ACM Computing Surveys (CSUR)
The synthesis of cyclic combinational circuits
Proceedings of the 40th annual Design Automation Conference
The Necessity of Closed Circuit Loops in Minimal Combinational Circuits
IEEE Transactions on Computers
The Necessity of Feedback in Minimal Monotone Combinational Circuits
IEEE Transactions on Computers
Hardware complexity and parallel computation
SFCS '80 Proceedings of the 21st Annual Symposium on Foundations of Computer Science
The analysis of cyclic circuits with Boolean satisfiability
Proceedings of the 2008 IEEE/ACM International Conference on Computer-Aided Design
Reduction of interpolants for logic synthesis
Proceedings of the International Conference on Computer-Aided Design
Detection of harmful schizophrenic statements in esterel
ACM Transactions on Embedded Computing Systems (TECS)
Hi-index | 0.04 |
A Boolean circuit is a collection of gates and wires that performs a mapping from Boolean inputs to Boolean outputs. The accepted wisdom is that such circuits must have acyclic (i.e., loop-free or feed-forward) topologies. In fact, the model is often defined this way-as a directed acyclic graph (DAG). And yet simple examples suggest that this is incorrect. We advocate that Boolean circuits should have cyclic topologies (i.e., loops or feedback paths). In other work, we demonstrated the practical implications of this view: digital circuits can be designed with fewer gates if they contain cycles. In this paper, we explore the theoretical underpinnings of the idea. We show that the complexity of implementing Boolean functions can be lower with cyclic topologies than with acyclic topologies. With examples, we show that certain Boolean functions can be implemented by cyclic circuits with as little as one-half the number of gates that are required by equivalent acyclic circuits. We also show a quadratic upper bound: given a cyclic Boolean circuit with m gates, there exists an equivalent acyclic Boolean circuit with m^2 gates.