LEGEND : a language for generic component library description
This paper describes a novel generator-generator language, LEGEND, for the defintion, generation and maintenance of generic component libraries used in high level synthesis. Each LEGEND description generates a library generator GENUS, which is organized as a hierarchy of generic component generators, component templates, and component instances. Component instances from the GENUS library are used by high level synthesis systems to transform the abstract behavior of a design into an interconnection of generic components satisfying this behavior. Although existing hardware description languages such as VHDL are very good for describing component libraries, they lack the capability of generating these component libraries from a higher-level description. LEGEND complements a language such as VHDL by providing a component library generator-generator with behavioral models for simulation and subsequent synthesis. The components in a LEGEND generated library have realistic register transfer semantics, including clocking, asynchrony and data bi-directionality. LEGEND is extensible, since its simple syntax allows users to add new component types or modify existing component types easily. The LEGEND generator-generator is currently implemented on SUN3's under C/UNIX and is used by a suite of behavioral synthesis tools at U.C. Irvine.