Many aspects of design automation software have similar requirements for representing, manipulating, and storing design information.The recognition of these common requirements in CAD tools, allows the Flexible Architecture Compilation Environment's (FACE) Core Environment to provide a suite of high level tools for the CAD developer. The Core Environment software has been developed using object-oriented software technology, and may be readily adapted to specific applications.The focus of the core environment is to improve the productivity of CAD tool developers through better tool integration and a stateof-the-art software development environment.This Core Environment software has been used in the development of an integrated tool set covering algorithm specification, structural synthesis, and physical assembly of digital hardware systems. The focus of this paper is on the Core Environment's organization and its use in application tool development.
IntroductionThe development of the Flexible Architecture Compilation Environment (FACE) Core Environment was motivated by the observation that many diverse application tools have similar requirements for representing and manipulating design information. These application tools typically represent engineering data using graph and hypergraph (i.e., network) data structures [l] and exploit similar techniques for manipulating and analyzing this information. The challenge in developing the CAD environment is to exploit the commonality among the various application tools while accommodating the need for customization. The Core Environment provides (i) a formal model for representing graph and hypergraph data structures, (ii) common graph algorithms that operate on this model, (iii) higher level application development tools such as an interactive editor, a data query language, persistent data storage and retrieval, and design configuration management, and (iv) the integration framework with a consistent user interface for delivering application tools to the end user.After a brief discussion on the motivation for this work and related work, this paper describes the underlying data models, algorithms and tools provided by the Core Environment. Use of this core object set is illustrated by (i) examining the FACE data Row and hardware netlist representations, (ii) how the Core Environment has been used to rapidly prototype various CAD ~aols, and (iii) the implementation of a Design Management System.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.