kirancodes.me
To Proof Maintenance & Beyond!

Applicative Programming and Digital Design

Steven D. Johnson

Abstract

This paper adapts applicative programming techniques to the synthesis of mynchronaua system descriptions.It presents a unifying perspective on hardware and software engineering and shows that a functional design paradigm is suitable in both realms.Established techniques for program synthesis are extended to yield hardware descriptions.This work stems from research in general programming methods for systems.Synchronous systems are a valuable special case.They are a preferred basis for hardware design: logical synchrony makes circuits easier to conceptualize, and physical synchrony makes them easier to test.Applicative notation is well suited to the description of digital circuits because it has an immediate interpretation in terms of wiring.Digital circuits are a reasonable target for synthesis because they are functional in character.The design approach is conventional: a circuit is viewed as a sequential control algorithm acting on an architecture [17].This should sound familiar to programmers who view their product as an algorithm acting on an abstract type.An engineer starts with an abstractly descriptive specification and derives a concretely descriptive realization.These notations should be suited not only to what they describe but also to each other.

Related papers