Workbench for Design Improvement

E. Fehlauer, K. Feske, G. Franke, M. Koegst, H.-G. Martin, St. Rülke

FhG IIS Erlangen - Department EAS Dresden Zeunerstr. 38, 01069 Dresden, Germany email: ruelke@eas.iis.fhg.de


Motivation:

The product development of digital circuits requires in many cases design cycles. Reasons for that may be things like incremental changes in the product specification after having started the design process or the violation of design constraints in the result of particular design steps (clock cycle, throughput, area, power con sumption, ...). However, the aim of design improvement is to avoid redesigns or to reduce the number of design cycles such that an initially synthesized circuit, which is functionally correct but does not fit certain design con straints, will be optimized as good as necessary by minor local changes at the level of the synthesized structure. Depending on the specific requirements of the design task, the circuit characteristics, and the violated design con straints different techniques are known gaining design improvement. Moreover, our working group has investi gated some effort to develop novel optimization techniques suitable for design improvement especially in the field of timing improvement of data paths by retiming, but also in other domains like controller optimization by FSM encoding techniques or high level approaches considering both, controller as well as data paths. The available variety of design improvement methods rises the problem that designers who want to optimize a design need an environment enabling the application of design improvement techniques in an easy way. Such an environment is our workbench.

Organization of the Full Paper:

Starting with an discussion of methodological aspects of our workbench we want to explain its main principles. Further, we will present design improvement methods integrated in the exper imental version of the workbench. Hereby we summarize the state of the art of such methods and present a selec tion of our novel techniques. As an example, our tool ECTP for pipeline retiming will be shown in greater detail. After having presented the components of the workbench, principles of their implementation, and their applica tion in the design process, we will conclude with experimental results and an outlook to future developments.

Main Principles of the Workbench:

Most of all, the workbench provides an environment supporting designers in utilizing optimization methods which are adapted to the peculiarity of the present design improvement prob lem. Further principles are the creation of alternative solutions by alternative approaches, the combination of dif ferent design improvement methods in a single process, and the capability to run experiments with different approaches or different parameters of a particular approach. This includes the composition of design flows (sequence of approaches) and the computer-aided evaluation of results obtained. Consequently, besides the aspects of methodology, suitable workbench kits (e.g. graphical front-end, analysis, definition of design flow sce narios, preprocessing of results, on-line help) as well as techniques enabling the easy integration of approaches for design improvement into the workbench are required. Our experimental version of the workbench solves these problems in an easy, practicable, and flexible manner.

Design Improvement Methods Incorporated in the Workbench:

In the present experimental version the work bench contains approaches aiming to different design domains (controller, datapath, both), different levels of abstractions (gate level, RT level, high level), and different optimization goals (timing in terms of clock cycles and throughput, area, power, multi-criterion optimization). Most of the tools incorporated are developments of our working group and carry out novel approaches like power driven state encoding, optimal pipeline retiming, or retiming including the controller. Particularly the tool ECTP for pipeline retiming provides good solutions, if the task is to fit a given clock cycle constraint by insertion of pipeline stages. ECTP generates the related registers optimally (minimal number of registers and pipeline stages) and combines iteratively pipelining with other opti mization methods (e.g. combinational area optimization). Controlled by parameters and basing on a modular con struction system of its tool architecture, ECTP can by adopted to different design conditions including the utilization of individual libraries.


Have a look to http://www.eas.iis.fhg.de/syn/home.html