Transcript No Slide Title
Diseño de Circuitos de Aplicación Específica
Circuitos Integrados de Aplicación Específica
.
Principios Generales
Metodologías de diseño
The Design Productivity Challenge
10,000,000 Logic Transistors/Chip .10m
1,000,000 Transistor/Staff Month 100,000 58%/Yr. compound Complexity growth rate .35m
10,000 1,000 X 100 X x X X X X 2.5m
10 21%/Yr. compound 1 Productivity growth rate Logic Transistors per Chip (K) 100,000,000 10,000,000 1,000,000 100,000 10,000 1,000 100 10 Productivity (Trans./Staff 1981 1989 1993 1999 2005
A growing gap between design complexity and design productivity
Source: sematech97 Diseño de Circuitos de Aplicación Específica Metodologías de diseño
A Simple Processor
Red de interconexiones
MEMORY CONTROL Diseño de Circuitos de Aplicación Específica Metodologías de diseño
A System-on-a-Chip: Example
Diseño de Circuitos de Aplicación Específica
Courtesy: Philips
Metodologías de diseño
Impact of Implementation Choices
100-1000 10-100 1-10 None Somewhat flexible Diseño de Circuitos de Aplicación Específica 0.1-1 Fully flexible Flexibility (or application scope) Metodologías de diseño
Design 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 Diseño de Circuitos de Aplicación Específica Metodologías de diseño
Estrategias de diseño
Viabilidad económica Prestaciones Tamaño Tiempo de diseño Testabilidad Diseño estructurado Jerarquía Regularidad Modularidad Localidad Metodologías de diseño Diseño de Circuitos de Aplicación Específica
Hierarchy
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 Metodologías de diseño Diseño de Circuitos de Aplicación Específica
Example of Structural Hierarchy
Diseño de Circuitos de Aplicación Específica Metodologías de diseño
Example of Physical Hierarchy
Diseño de Circuitos de Aplicación Específica Metodologías de diseño
Example of Structural Hierarchy
Diseño de Circuitos de Aplicación Específica Metodologías de diseño
Example of Physical Hierarchy
Diseño de Circuitos de Aplicación Específica Metodologías de diseño
Repartitioning Structural Hierarchy to Fit Physical Hierarchy
Diseño de Circuitos de Aplicación Específica Metodologías de diseño
Regularity
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 Diseño de Circuitos de Aplicación Específica Metodologías de diseño
Regularity (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 Metodologías de diseño Diseño de Circuitos de Aplicación Específica
Circuit-level Regularity Example
Diseño de Circuitos de Aplicación Específica A 2-1 Mux D-type edge triggered flipflop One-bit full add All designed using inverter and tristate buffer Metodologías de diseño
Modularity
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 Diseño de Circuitos de Aplicación Específica Metodologías de diseño
Why 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 Metodologías de diseño Diseño de Circuitos de Aplicación Específica
Example of Poor Modularity
Diseño de Circuitos de Aplicación Específica Metodologías de diseño
Locality
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 Metodologías de diseño Diseño de Circuitos de Aplicación Específica
Parallels 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, can’t ignore hardware aspects entirely – important since a physical chip is the end product Metodologías de diseño Diseño de Circuitos de Aplicación Específica