Diseño de Circuitos de Aplicación Específica Metodologías de diseño Circuitos Integrados de Aplicación Específica PrincipiosGenerales.
Diseño de Circuitos de Aplicación Específica Metodologías de diseño The Design Productivity Challenge Source: sematech97 A growing gap between design complexity and design productivity 1981 Logic Transistors per Chip (K) Productivity (Trans./Staff-Month)
Diseño de Circuitos de Aplicación Específica Metodologías de diseño A Simple Processor MEMORY DATAPATH CONTROL INPUT-OUTPUT INPUT/OUTPUT Red de interconexiones
Diseño de Circuitos de Aplicación Específica Metodologías de diseño A System-on-a-Chip: Example Courtesy: Philips
Diseño de Circuitos de Aplicación Específica Metodologías de diseño Impact of Implementation Choices Energy Efficiency (in MOPS/mW) Flexibility (or application scope) None Fully flexible Somewhat flexible Hardwired custom Configurable/Parameterizable Domain-specific processor (e.g. DSP) Embedded microprocessor
Diseño de Circuitos de Aplicación Específica 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 Viabilidad económica Prestaciones Tamaño Tiempo de diseño Testabilidad Diseño estructurado Jerarquía Regularidad Modularidad Localidad Diseño estructurado Jerarquía Regularidad Modularidad Localidad
Diseño de Circuitos de Aplicación Específica Metodologías de diseñoHierarchy 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
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 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
Diseño de Circuitos de Aplicación Específica Metodologías de diseño Circuit-level Regularity Example n A 2-1 Mux n D-type edge triggered flipflop n One-bit full add All designed using inverter and tristate buffer
Diseño de Circuitos de Aplicación Específica 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
Diseño de Circuitos de Aplicación Específica Metodologías de diseño 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 l internal details remain at the local level –a form of information hiding l 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 l clock generation and distribution network l entire clock cycle for global signals to traverse chip l placement so that global wiring is minimized –Analogy with software l global variables are to be avoided
Diseño de Circuitos de Aplicación Específica Metodologías de diseño 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, cant ignore hardware aspects entirely –important since a physical chip is the end product