|
This chapter serves as an introduction to the ESL flow, sampling
topics covered in depth in subsequent chapters while providing
background and motivation for those topics. The fundamental principle
of ESL design is managing abstraction refinement and complexity
while preserving design intent. Throughout the design flow, the
design itself will be represented at various abstraction levels:
Product market requirements
Functional specification
Architectural model
Hardware and software design specifications
Hardware and software functional and behavioral models
RTL and software models
Cell-level model and embedded production software
Layout database
The product market requirements dictate the end-user functional
and physical requirements of the product. The functional specification
describes the functional requirements of the design from an opaque
box perspective. The architectural model captures the HW/SW partitioning
of the design. The hardware and software design specifications
describe the implementation requirements of the design from a
clear box view. The behavioral hardware and software models implement
the algorithms required of the subsequent models without timing
accuracy or, for functional models, no timing whatsoever. The
RTL and software models are timing-accurate implementations of
the behavioral hardware and software models. The cell-level model
is machine-synthesized from the RTL, whereas the embedded production
software is either machine-translated from the software model
or, as is more generally the case today, handwritten. Finally,
the layout database captures the structural geometry of all hardware
elements.and their interconnect.that are to be fabricated on each
layer of the multilayer integrated circuit. With this understanding
of the design abstraction levels, what corresponding transformations
of design intent occur?
Design intent originates in the human mind, collectively from
marketing, system architects, and designers. As it flows through
the design process it may be likened to information transmitted
through a communication channel because design intent is information.
According to Claude Shannons theorem, the rate at which information
may be sent through a channel of a particular capacity with a
particular probability of error is governed by the amount of error
correction in its coding. However, unlike a communication channel
that is supposed to preserve a transmitted message, the message
that flows through a design channel is iteratively refined and
augmented. Each refinement improves the fidelity of its representationa
modeluntil the final refinement is produced: layout database
and production software.
5.1 Specifications and Modeling
5.2 Pre-Partitioning Analysis
5.3 Partitioning
5.4 Post-Partitioning Analysis and Debug
5.5 Post-Partitioning Verification
5.6 Hardware Implementation
5.7 Software Implementation
5.8 Use of ESL for Implementation Verification
5.9 Provocative Thoughts
5.10 Summary
5.11 The Prescription
|