On the feasibility of synthesizing CAD software from specifications: generating maze router tools in ELF
- 1 June 1991
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
- Vol. 10 (6) , 783-801
- https://doi.org/10.1109/43.137507
Abstract
The application of program synthesis techniques to the generation of technology-sensitive VLSI physical design tools is described. The architecture and implementation of a particular software generator (called ELF) targeted at the generation of maze routing software is described. ELF strives to meet the demands of the target technology by automatically generating maze router implementations to match the application requirements. ELF has three key features. First, a very high level language, lacking data structure implementation specifications, is used to describe algorithm design styles. Second, application-specific expertise about routing and application independent code synthesis techniques are used to guide search among alternative design styles for algorithms and data structures. 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. Experimental results are presented covering several correct. fully functional routers synthesized by ELF from varying high-level specifications. Results from synthetic and industrial benchmarks are examined to illustrate ELF's capabilitiesKeywords
This publication has 25 references indexed in Scilit:
- Systolic routing hardware: performance evaluation and optimizationIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 1988
- Object-oriented systemsIEEE Expert, 1988
- Benchmarks for cell-based layout systemsPublished by Association for Computing Machinery (ACM) ,1987
- The TimberWolf placement and routing packageIEEE Journal of Solid-State Circuits, 1985
- The Draco Approach to Constructing Software from Reusable ComponentsIEEE Transactions on Software Engineering, 1984
- Palladio: An exploratory environment for circuit designComputer, 1983
- Hierarchical Wire RoutingIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 1983
- An Automatic Technique for Selection of Data Representations in SETL ProgramsACM Transactions on Programming Languages and Systems, 1981
- Program Development as a Formal ActivityIEEE Transactions on Software Engineering, 1981
- The Lee Path Connection AlgorithmIEEE Transactions on Computers, 1974