The Synthesis Approach To Digital System Design
The Synthesis Approach To Digital System Design
edited by
Petra Michel
Ulrich Lauther
PeterDuzy
SiemensAG
foreword by
A. Richard Newton
"
~.
Foreword xi
Acknowledgements xiii
1 Introduction to Synthesis 1
1.1 The Y-Chart-Levels and Domains of Description 3
1.2 Design Flow and Taxonomy of Synthesis 9
1.2.1 System-Level Synthesis . . . . . 9
1.2.2 High-Level Synthesis . . . . . . . 9
1.2.3 Register-Transfer Level Synthesis 10
1.2.4 Logic-Level Synthesis .. 11
1.2.5 Technology Mapping . . . 11
1.3 Entry Points and User Interfaces 12
1.4 Validation 13
1.5 Testing 13
3 Logic-Level Synthesis 39
3.1 Introduction................ .. 39
3.2 Preliminaries and Definitions . . . . . . .. 41
3.2.1 Representation of Boolean Functions 45
3.2.2 Manipulation of Boolean Functions. 48
3.3 Minimization of Two-Level Logic . 50
3.3.1 Optimization Problem . 50
3.3.2 Basics of Two-Level Logic Minimization 52
3.3.3 Exact Algorithm . . . . . . . . . .. 56
3.3.4 Simple Minimization Heuristic . . . 57
3.3.5 Minimization Heuristic ESPRESSO 58
3.4 Optimization of Multi-Level Logic 59
3.4.1 Synthesis Strategy . . . . 59
3.4.2 Optimization Problem .. 60
3.4.3 Optimization Algorithms 60
3.5 Outlook . 67
3.6 Problems for the Reader . . . . . 69
4 Technology Mapping 71
4.1 Introduction............................. 71
4.2 Abstraction of Technology . . . . . . . . . . . . . . . . . . . .. 73
4.2.1 Advantages and Disadvantages of Technology Abstraction 73
4.2.2 When to Select the Target Technology. 74
4.2.3 When to Perform Technology Mapping. 74
4.3 Logic-Level Technology Mapping 75
4.3.1 Local Methods . . . . . 77
4.3.2 Randomized Methods .. 77
4.3.3 Tree Covering Methods 77
4.4 Register-Transfer Level Technology Mapping 80
4.4.1 Module Generators. 81
4.4.2 Rule-Based Methods 82
4.5 Outlook . . . . . . . . . 84
4.6 Problems for the Reader . . 85
Bibliography 373
Index 405
Foreword
Over the past decade there has been a dramatic change in the role played by
design automation for electronic systems. Ten years ago, integrated circuit
(IC) designers were content to use the computer for circuit, logic, and limited
amounts of high-level simulation, as well as for capturing the digitized mask
layouts used for IC manufacture. The tools were only aids to design-the
designer could always find a way to implement the chip or board manually
if the tools failed or if they did not give acceptable results. Today, however,
design technology plays an indispensable role in the design of electronic systems
and is critical to achieving time-to-market, cost, and performance targets.
In less than ten years, designers have come to rely on automatic or semi-
automatic CAD systems for the physical design of complex ICs containing over
a million transistors. In the past three years, practical logic synthesis systems
that take into account both cost and performance have become a commercial
reality and many designers have already relinquished control of the logic netlist
level of design to automatic computer aids.
To date, only in certain well-defined areas, especially digital signal process-
ing and telecommunications. have higher-level design methods and tools found
significant success. However, the forces of time-to-market and growing system
complexity will demand the broad-based adoption of high-level, automated
methods and tools over the next few years.
Research in the area of high-level design automation has been ongoing,
world wide, for more than twenty years now. Many of the techniques used
today have been adapted from earlier approaches, made practical by changes
in hardware implementation technologies, design requirements, and the power
of modern computers and workstations. However, today's researchers are cer-
tainly adding their share of new design techniques and algorithms to the broad
body of knowledge already assembled. A significant portion of the overall chal-
lenge of making high-level design automation practical involves sorting through
the existing collection of techniques and finding the right combination of meth-
ods and tools for a particular problem domain.
xu The Synthesis Approach to Digital System Design
I am very pleased that the many talented contributors to this book have
taken the time to document this collection of state-of-the-art techniques and
algorithms used in high-level description, synthesis and verification, and have
presented them in a way that new students in the field will find them under-
standable on their own as well as in the context of the CALLAS design system.
By using a complete, high-level design system as a vehicle for the text, the
authors have captured a number of the essential aspects of high-level design
methods as well as the basic algorithms and data structures that support them.
The text is an excellent starting point for the developers of new high-level de-
sign aids and for potential users of such systems as well.
A. Richard Newton
Berkeley, California
October, 1991
Acknowledgements
Many discussions must precede the development of a book like this. While
the contributors mentioned throughout this book have played a major part in
its writing, their many other colleagues in our department have been closely
involved as well. Especially, we would like to acknowledge the contributions of
those colleagues who are directly involved in synthesis, verification, hardware-
description languages, and testing in the Systems Design Automation Group
in Corporate Research and Development of Siemens AG.
But in addition to those colleagues from Siemens, we would like to acknowl-
edge the contributions made by one other person in particular. A. Richard
Newton was involved in the development of this book throughout all stages of
its evolvement. He participated in the many discussions on the taxonomy of
synthesis, he influenced our work in the various fields of system design, and he
reviewed most of the chapters in this book. All contributors appreciated his
valuable advice.
Special thanks go to the following people for their help in certain chap-
ters of this book: To Birgit Lutter for her efforts in helping with the figures in
Chapter 1i to Wendell Baker for helpful discussions and suggestions concerning
readability and contents of Chapter 6; to Franz Rammig for his really quick re-
sponse when we asked him to write Chapter 9, and to Michael Hohenbichler for
his help in editing this chapter. All of us appreciated the suggestions of Joyce
McLean regarding the correct use of English language. Certainly everybody
relied on one of the authors, Wolfgang Glunz, to prepare the camera-ready copy
of the book. Special thanks go to Carl Harris for his patience when we delayed
the date for the final manuscript month after month and to Egon Horbst for his
understanding when for some time everybody seemed to be engaged exclusively
with this book.
Our final thanks go to our families who supported .us while we were working
through nights and early mornings.
Petra Michel
0ctober, 1991
THE SYNTHESIS APPROACH TO
DIGITAL SYSTEM DESIGN