Wired - a Language for Describing Non-Functional Properties of Digital Circuits
Conference contribution, 2004
Increasingly, designers need to estimate non-functional properties such as area, power consumption and timing, even when working at a high level of abstraction, early in the design. In deep sub-micron processes, it is the routing wires that account for most of the power consumption and signal delays. So, information about the wires is vital for controlling non-functional properties. To deal with more and more complex constructions, current design methods and languages strive towards higher and higher levels of abstraction, and provide only very limited possibilities for low-level control. Often, detailed information about wire properties is only available in the very last design stages - after placement and routing. We propose a language, Wired, that aims to bridge this gap in abstraction levels. The main idea is construction with combinators and higher-order connection patterns. The key to the usefulness of this style is that the combinators have both functional and geometric interpretations. This allows us to construct circuits at high-level, without loosing control over lower levels. Wired goes further than previous methods in that it offers more precise and flexible control over the geometry.