A Design Utility Manager: the ADAM Planning Engine

In this paper we present a software package which manages the digital design process using a planning paradigm. Under this paradigm design is seen as a process in which abstract models of operators are applied to abstract models of design states in a simulated or planning space, until a sequence of operators has been constructed to completion. The hypothetical design represented by the terminal state is then estimated. Either the planning is then repeated, or the sequence, or plan, is then executed, or carried out, in an execution space. This execution is monitored for violation of expectations; if violations occur, control is returned to the planner. The knowledge base of the planner is populated with register transfer level (RTL) concepts, and it can be populated with other knowledge sets. The planner forms part of the USC ADAM (Advanced Design AutoMation) system.