The authors describe how program synthesis techniques can be applied to the generation of technology-sensitive VLSI design tools. They present results from ELF, a synthesis tool for wire-routing software. The ELF synthesis architecture has three key features. First, a very high-level language, lacking data structure implementation specifications, is used to describe algorithm design styles. Second, routing domain knowledge and generic program synthesis knowledge are used to guide search among candidate design styles for all necessary component algorithms and to deduce compatible data structure implementations for these components. Third, code generation is used to transform the resulting abstract descriptions of selected algorithms and data structures into final, executable code. Code generation is an incremental, stepwise refinement process. The authors present experimental results from several correct, fully functional routers synthesized by ELF from varying high-level specifications.
ASJC Scopus subject areas
- Hardware and Architecture
- Control and Systems Engineering