Title: Circuitos Integrados de Aplicacin Especfica
1Circuitos Integradosde Aplicación Específica
.
Principios Generales
2The Design Productivity Challenge
Logic Transistors per Chip (K)
Productivity (Trans./Staff-Month)
1981
1983
1985
1987
1989
1991
1993
1995
1997
1999
2001
2003
2005
2007
2009
A growing gap between design complexity and
design productivity
Source sematech97
3A Simple Processor
Red de interconexiones
MEMORY
INPUT/OUTPUT
CONTROL
INPUT-OUTPUT
DATAPATH
4A System-on-a-Chip Example
Courtesy Philips
5Impact of Implementation Choices
100-1000
Domain-specific processor (e.g. DSP)
10-100
Embedded microprocessor
Energy Efficiency (in MOPS/mW)
1-10
Hardwired custom
Configurable/Parameterizable
0.1-1
Somewhat flexible
Flexibility(or application scope)
Fully flexible
None
6Design Methodology
- Design process traverses iteratively between
three abstractions behavior, structure, and
geometry - More and more automation for each of these steps
Diseño traducción iterativa entre diferentes
niveles de representación en todos los niveles de
abstracción
7Estrategias de diseño
- Viabilidad económica
- Prestaciones
- Tamaño
- Tiempo de diseño
- Testabilidad
- Diseño estructurado
- Jerarquía
- Regularidad
- Modularidad
- Localidad
8Hierarchy
- Divide and conquer
- compose system from simpler widgets
- Analogy with software
- break large programs into threads and subroutines
- Hierarchy can be there in all domains
- behavior, structural, physical
- The hierarchy in different domains may not
correspond - e.g. a structural hierarchy may not map well to
physical
9Example of Structural Hierarchy
10Example of Physical Hierarchy
11Example of Structural Hierarchy
12Example of Physical Hierarchy
13Repartitioning Structural Hierarchy to Fit
Physical Hierarchy
14Regularity
- Hierarchy breaks a system into submodules
- but this may not solve the complexity problem
- there may not be any regularity in the
subdivision - we just end up with a large of different
submodules - Regularity as a guide
- subdivide into a set of similar building blocks
- e.g. RAM composed of identical cells
- Regularity means that the hierarchical
decomposition of a large system should result in
not only simple, but also similar blocks, as much
as possible
15Regularity (contd.)
- Regularity can be at all levels
- circuit use identically sized transistors
- gate similar gate structures
- higher level architectures with identical
processors - Regularity helps in many ways
- correct by construction
- reuse of design
- simplify verification of correctness
16Circuit-level Regularity Example
- A 2-1 Mux
- D-type edge triggered flipflop
- One-bit full add
- All designed using inverter and tristate buffer
17Modularity
- Condition that submodules have well-defined
functions and interfaces - in addition to regularity and hierarchy
- Well-formed modules allow their interaction
with others to be well-characterized - Depends on the situation
- e.g. in s/w a subroutine has a well-defined
interface - argument list with typed variables
- e.g. in IC a well-defined physical, structural,
and behavioral interface - pin position, layer, size, signal type,
electrical characteristics, logic function
18Why Modularity?
- Allows the design of system to be broken up with
confidence that the system will work as specified
when the parts are combined - Allows team design by a number of designers
- Examples
- bad use use of transmission gates as inputs
- internal signals now depend on source impedance
- bad use use dynamic CMOS logic but fail to latch
or register the inputs - timing of each module will have to be checked
19Example of Poor Modularity
20Locality
- Modularity provided well-characterized
interfaces - internals of modules unimportant to exterior
interface - internal details remain at the local level
- a form of information hiding
- reduces apparent complexity of the module
- Locality ensures that connections are between
neighboring modules, avoiding long-distance
connections - Example timing locality so that time critical
operations are local - clock generation and distribution network
- entire clock cycle for global signals to traverse
chip - placement so that global wiring is minimized
- Analogy with software
- global variables are to be avoided
21Parallels between H/W S/W Design
- Strong parallels in the way VLSIs are designed
and the way complex software is - HDLs used to describe hardware systems in essence
merge these two disciplines - software methods used to define hardware
- Hardware-software Co-design
- But, cant ignore hardware aspects entirely
- important since a physical chip is the end product