Diagrammatic Semantics for Digital Circuits

We introduce a general diagrammatic theory of digital circuits, based on connections between monoidal categories and graph rewriting. The main achievement of the paper is conceptual, filling a foundational gap in reasoning syntactically and symbolically about a large class of digital circuits (discrete values, discrete delays, feedback). This complements the dominant approach to circuit modelling, which relies on simulation. The main advantage of our symbolic approach is the enabling of automated reasoning about abstract circuits, with a potentially interesting new application to partial evaluation of digital circuits. Relative to the recent interest and activity in categorical and diagrammatic methods, our work makes several new contributions. The most important is establishing that categories of digital circuits are Cartesian and admit, in the presence of feedback expressive iteration axioms. The second is producing a general yet simple graph-rewrite framework for reasoning about such categories in which the rewrite rules are computationally efficient, opening the way for practical applications.

[1]  LUK Pipelining and Transposing Heterogeneous Array Designs , 1993 .

[2]  Sharad Malik Analysis of cyclic combinational circuits , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[3]  John Hughes,et al.  Generalising monads to arrows , 2000, Sci. Comput. Program..

[4]  Jesse B. Wright,et al.  Automata in General Algebras , 1967, Inf. Control..

[5]  Charles E. Leiserson,et al.  Retiming synchronous circuitry , 1988, Algorithmica.

[6]  Fabio Gadducci,et al.  Rewriting modulo symmetric monoidal structure , 2016, 2016 31st Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[7]  Filippo Bonchi,et al.  Lawvere Categories as Composed PROPs , 2016, CMCS.

[8]  真人 長谷川 Models of sharing graphs : a categorical semantics of let and letrec , 1999 .

[9]  Dan R. Ghica,et al.  Diagrammatic Reasoning for Delay-Insensitive Asynchronous Circuits , 2013, Computation, Logic, Games, and Quantum Foundations.

[10]  Dan R. Ghica,et al.  Categorical semantics of digital circuits , 2016, 2016 Formal Methods in Computer-Aided Design (FMCAD).

[11]  Olivier Danvy,et al.  Tutorial notes on partial evaluation , 1993, POPL '93.

[12]  Michael Mendler,et al.  Constructive Boolean circuits and the exactness of timed ternary simulation , 2012, Formal Methods Syst. Des..

[13]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part I: Basic Concepts and Double Pushout Approach , 1997, Handbook of Graph Grammars.

[14]  Gheorghe Stefanescu,et al.  Towards a new algebraic foundation of flowchart scheme theory , 1990 .

[15]  Ross Street,et al.  Traced monoidal categories , 1996 .

[16]  A. Joyal,et al.  The geometry of tensor calculus, I , 1991 .

[17]  Gordon D. Plotkin,et al.  Complete axioms for categorical fixed-point operators , 2000, Proceedings Fifteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.99CB36332).

[18]  Mary Sheeran,et al.  muFP, a language for VLSI design , 1984, LFP '84.

[19]  Paul Hudak,et al.  Functional reactive programming from first principles , 2000, PLDI '00.

[20]  C. C. Elgot Monadic Computation And Iterative Algebraic Theories , 1982 .

[21]  Robert P. Kurshan,et al.  Analysis of digital circuits through symbolic reduction , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[22]  Aleks Kissinger,et al.  Pictures of processes : automated graph rewriting for monoidal categories and applications to quantum computing , 2012, ArXiv.

[23]  Makoto Hamana Strongly Normalising Cyclic Data Computation by Iteration Categories of Second-Order Algebraic Theories , 2016, FSCD.

[24]  Filippo Bonchi,et al.  Full Abstraction for Signal Flow Graphs , 2015, POPL.

[25]  Samson Abramsky,et al.  A categorical semantics of quantum protocols , 2004, Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004..

[26]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[27]  Z. Ésik,et al.  Iteration Theories: The Equational Logic of Iterative Processes , 1993 .

[28]  Masahito Hasegawa,et al.  The Uniformity Principle on Traced Monoidal Categories , 2003, CTCS.

[29]  P. Selinger A Survey of Graphical Languages for Monoidal Categories , 2009, 0908.3347.