Diseño de Sistemas Electrónicos Complejos -...

398
Universidad Católica del Uruguay Facultad de Ingeniería y Tecnologías Ingeniería Electrónica DISEÑO DE SISTEMAS ELECTRÓNICOS COMPLEJOS Autor: Bach. Gonzalo Sánchez [email protected] Tutor: MSc. Manuel Burgos [email protected] Orientador: Dr. Roberto Suárez [email protected] Proyecto de fin de carrera - Ingeniería Electrónica 2002 - 2006

Transcript of Diseño de Sistemas Electrónicos Complejos -...

  • Universidad Catlica del UruguayFacultad de Ingeniera y Tecnologas

    Ingeniera Electrnica

    DISEO DE SISTEMAS

    ELECTRNICOS

    COMPLEJOS

    Autor: Bach. Gonzalo [email protected]

    Tutor: MSc. Manuel Burgos [email protected]

    Orientador: Dr. Roberto [email protected]

    Proyecto de fin de carrera - Ingeniera Electrnica

    2002 - 2006

    mailto:[email protected]:[email protected]:[email protected]

  • Este documento, Diseo de Sistemas Electrnicos Complejos, desarrollado durante 2002 - 2006, es mi proyecto de fin de carrera correspondiente a la carrera de Ingeniera en Electrnica, cursada en el perodo 1997 - 2001 en la Facultad de Ingeniera de la Universidad Catlica del Uruguay1.

    Se permite expresamente su divulgacin, exigiendo nicamente que se aclare debidamente la afiliacin del autor y tutores.

    Se advierte que si bien el contenido de este documento ha sido revisado y corregido, es posible que contenga errores u omisiones que hayan escapado a la revisin. Se agradece a los eventuales lectores que enven sus observaciones al respecto, debidamente identificadas, las cuales sern anexadas al documento.

    1 Actualmente, Facultad de Ingeniera y Tecnologas de la Universidad Catlica del Uruguay.

  • RESUMEN

    Este documento recopila, organiza, y sintetiza el vasto panorama de diseo de sistemas electrnicos complejos de actualidad, y lo presenta desde una perspectiva de sistemas a modo de gua al tema, adecundole a un nivel de grado en ingeniera electrnica.

    La primera parte se dedica a establecer una nocin de conceptos como sistema, complejidad, diseo, y modelo, as como la relacin entre estos. El carcter de esta primer parte es mayoritariamente filosfico y abstracto. El alcance de las presentaciones en esta primera parte del documento no se restringe al campo de la ingeniera electrnica, sino que se les confiere la mayor generalidad posible, incluso allende la ingeniera. As, se llegan a presentar los fenmenos meta - matemticos de incompletitud, incomputabilidad, y aleatoriedad algortmica, y sus implicancias en las matemticas, la fsica contempornea, y la ingeniera, particularmente en sus ramas informtica y electrnica.

    La segunda parte del documento presenta los conceptos, metodologas, y herramientas que intervienen y/o asisten en los procesos de diseo de sistemas electrnicos complejos de actualidad, como sistemas embebidos y sistemas en un nico encapsulado. El carcter de esta segunda parte es de ingeniera, y mantiene un mnimo nivel de abstraccin compatible con el objetivo de presentar un panorama del diseo de sistemas electrnicos complejos. Se parte con una exposicin de la evolucin histrica de los sistemas electrnicos, tomando como punto de partida la consecucin del primer circuito integrado, y se avanza hasta presentar las problemticas y desafos que enfrenta el diseo electrnico de actualidad en virtud de su evolucin, y particularmente, su sinergia con el desarrollo informtico. Se contina con la proposicin de una estructura abstracta del proceso de diseo de sistemas electrnicos complejos de actualidad, que permite describir y comprender tanto las metodologas de diseo tradicionales como las de actualidad. Se presenta la descripcin de cada uno de sus niveles de abstraccin, y de los procesos de sntesis y anlisis que les relacionan. A la proposicin y examen de esta estructura abstracta, sigue la presentacin de su refinamiento en trminos de los elementos concretos con los cuales puede ejecutarse un proceso de diseo, como lenguajes de programacin y descripcin de dispositivos electrnicos y herramientas de diseo asociadas. En el marco de las estructuras abstracta y concreta de diseo electrnico, se presentan conceptos recientemente elaborados en el rea de las ciencias de la computacin para aplicacin al diseo electrnico, y las metodologas de diseo electrnico que este tipo de conceptos permite desarrollar.

  • NDICE DE CONTENIDO

    [ 1 ] COMPLEJIDAD Y SISTEMAS COMPLEJOS.....................................................................27

    [ 1.1 ] Consideraciones iniciales.........................................................................................................27[ 1.1.1 ] Detalles y Abstraccin..................................................................................................................................27

    [ 1.1.2 ] Escala y Evolucin.......................................................................................................................................29

    [ 1.2 ] Definicin o Significado?.......................................................... ..............................................31

    [ 1.3 ] Sistemas...................................................................................................................... ................32[ 1.3.1 ] La visin clsica..........................................................................................................................................33

    [ 1.3.2 ] La visin actual.............................................................................................................................................35

    [ 1.3.3 ] Nociones formal e informal de sistema.......................................................................................................36

    [ 1.4 ] Complejidad...................................................................... ..........................................................39[ 1.4.1 ] El Fenmeno de la Complejidad..................................................................................................................39

    [ 1.4.2 ] Fuentes de Complejidad...............................................................................................................................40

    [ 1.4.3 ] Escalamiento de la Complejidad..................................................................................................................41

    [ 1.5 ] Sistemas Complejos..................................................................................................................42[ 1.5.1 ] Jerarqua......................................................................................................................................................42

    [ 1.5.2 ] Modularidad................................................................................................................................................43

    [ 1.5.3 ] Smbolos sencillos........................................................................................................................................44

    [ 1.6 ] Resumen......................................................................................................................................45

    [ 1.7 ] Conclusiones........................................................................ ......................................................48

    [ 2 ] DISEO EN INGENIERA.....................................................................................................53

    [ 2.1 ] Proceso y Producto de Diseo.................................................................................................53[ 2.1.1 ] El Proceso de Diseo...................................................................................................................................53

    [ 2.1.1.1 ] Caractersticas del proceso de diseo..................................................................................................54[ 2.1.1.2 ] Aspectos sicolgicos del proceso de diseo.........................................................................................55[ 2.1.1.3 ] Aspectos operacionales del proceso de diseo....................................................................................56[ 2.1.1.4 ] Estructura del proceso de diseo..........................................................................................................63

    [ 2.1.2 ] El Producto de Diseo..................................................................................................................................66

    [ 2.1.2.1 ] El diseo como descripcin.................................................................................................................66[ 2.1.2.2 ] El lenguaje de descripcin....................................................................................................................68[ 2.1.2.3 ] El diseo como sistema.....................................................................................................................70

    [ 2.2 ] Metodologas, Flujos, y Herramientas de Diseo...................................................................71[ 2.2.1 ] Diseo ascendente y descendente..............................................................................................................73

    [ 2.2.1.1 ] Diseo descendente.............................................................................................................................73[ 2.2.1.2 ] Diseo ascendente...............................................................................................................................74[ 2.2.1.3 ] El proceso de diseo en el tiempo: ciclo descendente-ascendente.....................................................75

    [ 2.3 ] Teoras de diseo........................................................................................ ...............................78[ 2.3.1 ] El enfoque axiomtico..................................................................................................................................79

    [ 2.3.2 ] Posibilidades derivadas del enfoque formal.................................................................................................84

    [ 2.4 ] El Espacio de Diseo.................................................................................................................85[ 2.4.1 ] Exploracin del Espacio de Diseo..............................................................................................................89

    [ 2.4.1.1 ] Mtodos para la exploracin del espacio de diseo.............................................................................90[ 2.4.1.2 ] El proceso de diseo desde la perspectiva de la exploracin del espacio de diseo...........................92

    [ 2.5 ] Resumen......................................................................................................................................94

  • [ 2.6 ] Conclusiones........................................................................ ......................................................99

    [ 3 ] MODELOS...........................................................................................................................101

    [ 3.1 ] Caractersticas y propiedades generales..............................................................................101

    [ 3.2 ] Modelos verbales y formales..................................................................................................103[ 3.2.1 ] Introspeccin, deduccin, robustez, incompletitud.....................................................................................104

    [ 3.2.2 ] Modelos matemticos informales...............................................................................................................105

    [ 3.2.3 ] Modelos matemticos y modelos formales de modelos verbales.............................................................107

    [ 3.3 ] Modelos matemticos............................................................................................................ ..110[ 3.3.1 ] Consideraciones iniciales...........................................................................................................................110

    [ 3.3.2 ] La naturaleza del mtodo matemtico.......................................................................................................112

    [ 3.3.3 ] Interludio histrico......................................................................................................................................113

    [ 3.3.3.1 ] Paradojas lgicas: la crisis en los fundamentos de la matemtica.....................................................113[ 3.3.3.1.1 ] El infinito matemtico: la teora de conjuntos infinitos de Cantor................................................114[ 3.3.3.1.2 ] La paradoja de Russell................................................................................................................114

    [ 3.3.3.2 ] Estrategias para la resolucin de la crisis en la lgica........................................................................116[ 3.3.3.2.1 ] Constructivismo o Intuicionismo..................................................................................................117[ 3.3.3.2.2 ] Formalismo..................................................................................................................................119

    [ 3.3.4 ] Sistemas Axiomticos Formales ...............................................................................................................123

    [ 3.3.5 ] La espada de Gdel..................................................................................................................................126

    [ 3.3.5.1 ] Teoremas de Indecisin e Incompletitud de Gdel.............................................................................126[ 3.3.5.2 ] Consecuencias de los teoremas de Gdel.........................................................................................131

    [ 3.3.6 ] Indecisin, Incompletitud, Incomputabilidad e Indeterminismo De Gdel a Turing y Chaitin..................135

    [ 3.3.6.1 ] El autmata de Turing, los reales incomputables, y el problema de finalizacin................................136[ 3.3.6.1.1 ] Nmeros reales incomputables...................................................................................................137[ 3.3.6.1.2 ] El Problema de Finalizacin........................................................................................................138[ 3.3.6.1.3 ] Consecuencias de la Incomputabilidad y la insolubilidad del Problema de Finalizacin............140

    [ 3.3.6.2 ] Aleatoriedad como incompresibilidad la Teora de Informacin Algortmica de Chaitin..................142[ 3.3.6.2.1 ] Aleatoriedad estadstica, aleatoriedad estructural, aleatoriedad algortmica..............................143[ 3.3.6.2.2 ] Teoras cientficas, sistemas formales, y programas: compresibilidad de la informacin...........145[ 3.3.6.2.3 ] Teora de Informacin Algortmica..............................................................................................146[ 3.3.6.2.4 ] El nmero : aleatoriedad algortmica en matemticas ..............................................................151[ 3.3.6.2.5 ] Consecuencias de la Teora de Informacin Algortmica............................................................163

    [ 3.3.6.2.5.1 ] Matemticas cuasi-empricas?..........................................................................................163[ 3.3.6.2.5.2 ] De regreso a Leibniz y a Herclito: Fsica de Procesos......................................................168[ 3.3.6.2.5.3 ] Formalismos informticos ftiles..........................................................................................172

    [ 3.3.7 ] Consideraciones finales.............................................................................................................................174

    [ 3.3.7.1 ] Los nmeros reales son irreales - argumentos fsicos y matemticos en contra del continuo...........174

    [ 3.4 ] Modelos ejecutables................................................................................................................178[ 3.4.1 ] Concepto de Programa, Modelo Ejecutable, y Simulacin........................................................................178

    [ 3.4.2 ] Ventajas y desventajas de los Modelos Ejecutables / Simulaciones.........................................................181

    [ 3.4.3 ] Limitaciones fcticas de los modelos ejecutables......................................................................................183

    [ 3.4.4 ] Objetos y Procesos....................................................................................................................................184

    [ 3.5 ] Modelado en Ingeniera...........................................................................................................185[ 3.5.1 ] Consideraciones iniciales...........................................................................................................................185

    [ 3.5.2 ] Consideraciones finales.............................................................................................................................186

    [ 3.6 ] Resumen....................................................................................................................................187

    [ 3.7 ] Conclusiones................................................................................ ............................................196

    [ 4 ] EVOLUCIN HISTRICA DE LA ELECTRNICA..........................................................207

    [ 4.1 ] Sinopsis del desarrollo electrnico (1970-2000)..................................................................208[ 4.1.1 ] Dcada de 1970 ........................................................................................................................................208

    [ 4.1.2 ] Dcada de 1980 ........................................................................................................................................209

    [ 4.1.3 ] Dcada de 1990 ........................................................................................................................................211

    [ 4.2 ] Sinopsis de la fabricacin de circuitos integrados..............................................................213[ 4.2.1 ] Tendencias histricas y proyecciones........................................................................................................213

    [ 4.2.2 ] Dificultades actuales y desafos futuros.....................................................................................................215

    [ 4.3 ] Sinopsis de la evolucin estructural de las herramientas informticas para diseo electrnico.......................................................................................................... ..................................218

  • [ 4.3.1 ] Herramientas CAD independientes............................................................................................................219

    [ 4.3.2 ] Entornos de herramientas CAD integradas................................................................................................219

    [ 4.3.3 ] Entornos de herramientas CAD integradas, abiertos y flexibles................................................................220

    [ 4.3.4 ] Estndares para intercambio de informacin entre herramientas CAD.....................................................221

    [ 4.3.5 ] Clasificacin abstracta de herramientas CAD............................................................................................222

    [ 4.4 ] Presentacin de la problemtica y desafos del diseo actual de sistemas electrnicos complejos..............................................................................................................................................222

    [ 4.4.1 ] Complejidad y Sistemas.............................................................................................................................222

    [ 4.4.2 ] Abstracciones adecuadas..........................................................................................................................224

    [ 4.4.3 ] Sistemas embebidos heterogneos...........................................................................................................229

    [ 4.4.4 ] Sistemas electrnicos analgicos..............................................................................................................231

    [ 4.4.5 ] Aspectos externos......................................................................................................................................233

    [ 4.5 ] Resumen....................................................................................................................................233

    [ 5 ] DISEO DE SISTEMAS ELECTRNICOS COMPLEJOS .............................................239

    [ 5.1 ] Introduccin.................................................................................................................. ............239

    [ 5.2 ] Estructura abstracta del proceso de diseo de sistemas electrnicos.............................241[ 5.2.1 ] Especificacin del sistema.........................................................................................................................244

    [ 5.2.2 ] Procesos de sntesis s1,2...........................................................................................................................245

    [ 5.2.2.1 ] Captura de especificaciones...............................................................................................................245

    [ 5.2.3 ] Modelo del sistema: el prototipo virtual......................................................................................................247

    [ 5.2.4 ] Procesos de sntesis s2,3...........................................................................................................................252

    [ 5.2.4.1 ] Exploracin del Espacio de Diseo.....................................................................................................253[ 5.2.4.2 ] Particin en modelos de mdulos hardware y software - mapeo funcin arquitectura ................253

    [ 5.2.5 ] Modelos de mdulos hardware y software: el prototipo virtual diferenciado...........................................255

    [ 5.2.6 ] Procesos de sntesis s3,4...........................................................................................................................257

    [ 5.2.6.1 ] Sntesis de mdulos hardware..........................................................................................................258[ 5.2.6.1.1 ] Descripcin comportamental/funcional de mdulos hardware..................................................260[ 5.2.6.1.2 ] Sntesis comportamental s3,4 A..................................................................................................262[ 5.2.6.1.3 ] Descripcin RT............................................................................................................................265[ 5.2.6.1.4 ] Sntesis RT - lgica s3,4 B..........................................................................................................268[ 5.2.6.1.5 ] Descripcin lgica.......................................................................................................................269[ 5.2.6.1.6 ] Sntesis lgica - fsica s3,4 C......................................................................................................269[ 5.2.6.1.7 ] Descripcin fsica........................................................................................................................270[ 5.2.6.1.8 ] Procesos de manufactura y configuracin s4,5...........................................................................272[ 5.2.6.1.9 ] Implementacin fsica..................................................................................................................273[ 5.2.6.1.10 ] Anlisis: Validacin / Verificacin / Retroanotacin...................................................................274

    [ 5.2.6.2 ] Sntesis de mdulos software............................................................................................................279[ 5.2.6.2.1 ] Consideraciones iniciales............................................................................................................280

    [ 5.2.6.2.1.1 ] Modelos de mdulos software y programas.......................................................................280[ 5.2.6.2.1.2 ] Generacin e Interpretacin................................................................................................282[ 5.2.6.2.1.3 ] Precisiones respecto a los trminos sntesis y compilacin.............................................285

    [ 5.2.6.2.2 ] Descripcin comportamental/funcional en lenguaje de alto nivel (HLL)......................................286[ 5.2.6.2.3 ] Preprocesamiento, Compilacin, y Optimacin...........................................................................289[ 5.2.6.2.4 ] Descripcin de secuencias de microinstrucciones en lenguaje ensamblador (LLL)...................293[ 5.2.6.2.5 ] Ensamblado y Enlazado esttico................................................................................................295[ 5.2.6.2.6 ] Descripcin de secuencias de cdigo de mquina binario (ML).................................................297[ 5.2.6.2.7 ] Carga, Enlazado dinmico, y Ejecucin......................................................................................298[ 5.2.6.2.8 ] Intrprete fsico: Procesador de silicio.........................................................................................299[ 5.2.6.2.9 ] Anlisis: Validacin / Verificacin / Depuracin...........................................................................299

    [ 5.2.6.2.9.1 ] Optimacin / Auditora y Perfil de Desempeo....................................................................299[ 5.2.6.2.9.2 ] Herramientas de depuracin tradicionales..........................................................................305[ 5.2.6.2.9.3 ] Anlisis segn nivel de abstraccin.....................................................................................313

    [ 5.2.6.2.10 ] Consideraciones finales............................................................................................................315[ 5.2.6.2.10.1 ] Caractersticas de la programacin de sistemas embebidos............................................316[ 5.2.6.2.10.2 ] Requerimientos para la sntesis de programacin embebida............................................320

    [ 5.2.6.3 ] Sntesis de interfases y sistemas operativos......................................................................................321[ 5.2.6.3.1 ] Interfases hardware-hardware: conexiones elctricas y lgica de transduccin.......................323[ 5.2.6.3.2 ] Interfases hardware-software: administradores de dispositivos................................................324[ 5.2.6.3.3 ] Interfases software-software: comunicacin/sincronizacin de tareas/procesos......................324[ 5.2.6.3.4 ] Sistemas Operativos (OS) como interfases hardware-software y software-software..............326[ 5.2.6.3.5 ] Sistemas Operativos de Tiempo Real (RTOS)............................................................................335

    [ 5.2.7 ] Mdulos hardware y software: el prototipo realizable.............................................................................342

    [ 5.2.8 ] Procesos de sntesis s4,5...........................................................................................................................342

  • [ 5.2.8.1 ] Traduccin de descripciones, documentacin, realizacin.................................................................342

    [ 5.2.9 ] Implementacin del sistema.......................................................................................................................343

    [ 5.2.10 ] Anlisis: Validacin / Verificacin.............................................................................................................343

    [ 5.2.10.1 ] Anlisis a5,4......................................................................................................................................344[ 5.2.10.2 ] Anlisis a4,3......................................................................................................................................344[ 5.2.10.3 ] Anlisis a3,2......................................................................................................................................345[ 5.2.10.4 ] Anlisis a2,1......................................................................................................................................345[ 5.2.10.5 ] Anlisis formal...................................................................................................................................345

    [ 5.3 ] Refinamiento del esquema abstracto de diseo electrnico: Plataformas de Diseo....351[ 5.3.1 ] Concepto de Plataforma de Diseo............................................................................................................351

    [ 5.3.2 ] Plataformas de Diseo de Sistemas Electrnicos Complejos....................................................................357

    [ 5.4 ] Metodologas de Diseo por Refinamiento...........................................................................363[ 5.4.1 ] Diseo en base a Modelos.........................................................................................................................364

    [ 5.4.2 ] Diseo en base a Plataformas...................................................................................................................364

    [ 5.4.3 ] Diseo en base a Interfases.......................................................................................................................365

    [ 5.4.4 ] Diseo en base a Actores..........................................................................................................................367

    [ 5.5 ] Modelos de Cmputo y Lenguajes de Programacin..........................................................369[ 5.5.1 ] Ejemplos de modos de cmputo................................................................................................................370

    [ 5.5.1.1 ] Secuencial (VN, Von Neumann).........................................................................................................370[ 5.5.1.2 ] Tiempo Continuo (CT, Continuous Time)..........................................................................................371[ 5.5.1.3 ] Mquinas de Estados Finitas (FSM, Finite State Machines).............................................................371[ 5.5.1.4 ] Redes de Procesos (Process Networks)...........................................................................................372[ 5.5.1.5 ] Redes de Procesos de Kahn y Redes de Flujo de Datos (KPN, Kahn Process Networks; DPN,

    Dataflow Process Networks)..........................................................................................................................372[ 5.5.1.6 ] Redes de Petri (Petri Nets; CPN, Coloured Petri Nets)...................................................................372[ 5.5.1.7 ] Eventos Discretos (Discrete Events).................................................................................................373[ 5.5.1.8 ] Disparo por Tiempo (TT, Time - Triggered).......................................................................................373[ 5.5.1.9 ] Sncrono / Reactivo (SR, Synchronous / Reactive)...........................................................................374[ 5.5.1.10 ] Punto de encuentro (Rendezvous); Procesos Secuenciales Comunicantes (CSP, Communicating

    Sequential Processes)....................................................................................................................................374

    [ 5.5.2 ] Composicin de Modelos de Cmputo.......................................................................................................375

    [ 5.5.3 ] Lenguajes de Programacin, Integracin, y Coordinacin.........................................................................376

    [ 5.6 ] Codiseo software - hardware........................................................................................ ....378[ 5.6.1 ] Filosofa de codiseo concepto, hiptesis, y objetivos............................................................................379

    [ 5.6.1.1 ] Concepto.............................................................................................................................................380[ 5.6.1.2 ] Hiptesis.............................................................................................................................................380[ 5.6.1.3 ] Objetivo...............................................................................................................................................380

    [ 5.6.2 ] Aspectos operativos y de investigacin......................................................................................................381

    [ 5.6.2.1 ] Requerimientos para un entorno de codiseo....................................................................................381[ 5.6.2.2 ] Categoras de codiseo / Esquemas de codiseo..............................................................................382[ 5.6.2.3 ] Aspectos claves del proceso de codiseo..........................................................................................383

    [ 5.6.2.3.1 ] Modelado del sistema..................................................................................................................383[ 5.6.2.3.2 ] Particionamiento software - hardware / Cosntesis / Reutilizacin de componentes IP...........383[ 5.6.2.3.3 ] Cosimulacin / Codepuracin......................................................................................................385

    [ 5.7 ] Resumen....................................................................................................................................386

    [ 5.8 ] Conclusiones................................................................................ ............................................388

    [ 6 ] REFERENCIAS...................................................................................................................391

  • NDICE DE FIGURAS

    Fig. 2.1: Esquema de diseo en ingeniera ([Dix79], p. 20).................................................................................................57

    Fig. 2.2: Esquema del proceso de diseo en ingeniera electrnica ([Ras00], p. 13) ........................................................59

    Fig. 2.3: Proceso de diseo en ingeniera elctrica ([HBEED], p. 4)...................................................................................62

    Fig. 2.4: Celda de diseo: ciclo de diseo elemental.........................................................................................................64

    Fig. 2.5: El proceso de diseo como fractal de celdas de diseo....................................................................................65

    Fig. 2.6: Fases descendente y ascendente de un ciclo del proceso de diseo, en situacin de conocimiento y tecnologa inmaduros. (Adaptado de [TTOV98], p. 24.)...........................................................................................................75

    Fig. 2.7: Proceso de diseo asistido con herramientas de diseo ascendente, y costo del diseo, en funcin del tiempo.................................................................................................................................................................................76

    Fig. 2.8: Proceso de diseo formalizado y asistido por herramientas de diseo descendente y ascendente.................77

    Fig. 2.9: Teoras de diseo a partir de estrategias ascendente y descendente (adaptado de [Zen02], p. 2)......................79

    Fig. 2.10: Entidad y Concepto de Entidad; Teora General del Diseo Yoshikawa (1981) ([Zen02], p. 20).....................80

    Fig. 2.11: Ejemplo trivial de espacio de diseo..................................................................................................................86

    Fig. 2.12: Conjunto solucin dentro del espacio de diseo..............................................................................................87

    Fig. 2.13: Conjunto solucin factible, en el espacio de diseo real..................................................................................88

    Fig. 2.14: Pirmide de abstraccin.....................................................................................................................................92

    Fig. 2.15: Alternativas de implementacin para la especificacin dada, y alternativas de especificacin para la implementacin dada..............................................................................................................................................93

    Fig. 3.1: Correspondencia entre un Sistema Axiomtico Formal y el autmata de Turing................................................137

    Fig. 3.2: Analoga entre la Teora de Informacin Algortmica (AIT), el Mtodo Cientfico, y la formulacin computacional de los Sistemas Axiomticos Formales tipo Frege-Hilbert, respecto de la complejidad algortmica de la informacin de salida (su compresibilidad en la informacin de entrada)............................................................147

    Fig. 3.3: Ecuacin Diofantina Ordinaria Universal; representacin del autmata de Turing, o el computador universal. .161

    Fig. 3.4: Ecuacin Diofantina Exponencial de Chaitin (1987). Sus soluciones varan de una cantidad finita a infinita, segn el n - simo bit de sea 0 o 1. ..................................................................................................................162

    Fig. 3.5: Representacin grfica de la limitacin Gdeliana de los sistemas sintcticos auto-referentes, desde la perspectiva de la Teora de Informacin Algortmica de Chaitin. La frontera de Gdel confina aquellos objetos cuya estructura permite describirlos en forma concisa en trmino de los axiomas y reglas de inferencia del sistema axiomtico formal. Las reglas del sistema no permiten acceso a objetos allende la frontera de Gdel, los cuales pueden ser alcanzado slo mediante meta-reglas (o la ampliacin de la base axiomtica). Estos objetos son algortmicamente aleatorios respecto del sistema axiomtico formal en cuestin. (Adaptado de [Cah03], p.12; Fig. 2)............................................................................................................................................170

    Fig. 3.6: Visin de los sistemas sintcticos desde la perspectiva de la Fsica de Procesos de Cahill y Klinger. Los sistemas sintcticos seran inducidos por el sistema semntico auto-referente, en virtud de la percepcin de estructuras inducidas por el proceso estocstico, amenas al tratamiento mediante sistemas formales. (Adaptado y simplificado de [Cah03], p. 14; Fig. 2)................................................................................................................171

    Fig. 4.1: Datos de la Tabla 4.1 aproximados por un modelo exponencial (recuadro interno de la grfica).......................214

    Fig. 4.2: Datos de la Tabla 4.1 y la Tabla 4.2, aproximados por modelos exponenciales (recuadros internos de la grfica)..............................................................................................................................................................................215

    Fig. 4.3: Evolucin de la estructura de las herramientas CAD y su interoperabilidad (cuadro 1). Herramientas independientes. Requieren interfases ad hoc para intercambio de informacin (Adaptado de [TTOV98], p. 8)..219

    Fig. 4.4: Evolucin de la estructura de las herramientas CAD y su interoperabilidad (cuadro 2). Entornos CAD Integrados. Herramientas comparten Base de Datos e Interfaz de Usuario (Adaptado de [TTOV98], p. 8)...........................220

    Fig. 4.5: Evolucin de la estructura de las herramientas CAD y su interoperabilidad (cuadro 3). Entornos CAD Integrados, Flexibles y Abiertos. Herramientas comparten Base de Datos e Interfaz de Usuario, y se dispone de facilidades para integrar nuevas herramientas y mecanismos de gestin del flujo de diseo (Adaptado de [TTOV98], p. 8)...............................................................................................................................................................................220

    Fig. 4.6: Evolucin de la estructura de las herramientas CAD y su interoperabilidad (cuadro 4). Estndares Electrnicos, Informticos, Mecnicos. Herramientas independientes, especializadas, comparten informacin en base a estndares electrnicos, informticos, mecnicos, etc. de dominio pblico (Adaptado de [TTOV98], p. 8)........221

    Fig. 5.1: Celda de Diseo (ver seccin 2.1.1.4, Fig. 2.4).................................................................................................241

    Fig. 5.2: Expansin fractlica del proceso de diseo en trminos de la celda de diseo de la Fig. 5.1 (ver seccin 2.1.1.4, Fig. 2.5). Ntese a la celda de diseo representando tanto al proceso de diseo completo como a cualquier etapa intermedia, y a su vez, la consideracin de esa etapa cualquiera como un proceso de diseo completo..............................................................................................................................................................242

    Fig. 5.3: Esquema abstracto del proceso de diseo electrnico actual, en trminos de la celda de diseo de la Fig. 2.5 y su expansin fractlica de la Fig. 5.2 (o las respectivas figuras 2.4 y 2.5 en la seccin 2.1.1.4). Advirtase que la terminologa que figura en el esquema es empleada por diferentes culturas y grupos de diseo con significados que no necesariamente se corresponden entre s, ni con el que les asigna el presente documento...............................................................................................................................................................................243

    Fig. 5.4: Esquema Y de evaluacin de arquitecturas programables para diferentes aplicaciones, adaptado a la evaluacin de arquitecturas para el prototipo virtual (Adaptado de [LSS98], p. 3; [LWDV99], p. 182, y otros).. .255

  • Fig. 5.5: Esquema del proceso de sntesis de hardware. Los niveles de abstraccin designados descripcin comportamental y/o funcional, descripcin RT, descripcin lgica, descripcin fsica, y los procesos etiquetados s3,4 A ... s3,4 C y a4,3 A ... a4,3 C (enmarcados en la zona rectangular al centro del esquema) constituyen un refinamiento entre los niveles 3 (modelos de mdulos, o prototipo virtual diferenciado) y 4 (mdulos, o prototipo realizable) del esquema de la Fig. 5.3. A diferencia de estos, el nivel designado implementacin fsica se corresponde con el nivel 5 (implementacin) de la Fig. 5.3, y los procesos asociados s4,5 y a5,4, con sus homnimos en la referida figura.........................................................................259

    Fig. 5.6: Descripcin VHDL funcional de una puerta OR (lneas 11 a 17). Ntese en la linea 13 la concurrencia explcita entre las seales A y B, y en la lnea 15 la temporizacin explcita de la seal Z, tpicas construcciones de un lenguaje orientado a la descripcin de hardware. Esta descripcin puede tambin considerarse comportamental, puesto que establece el comportamiento de la entidad, independientemente que esta ejecute una funcin en el sentido tradicional.....................................................................................................................261

    Fig. 5.7: Modelo abstracto de la arquitectura RT de un procesador digital (adaptado de [TTOV98], p. 198) que no explicita la seal de reloj suministrada a ambas unidades...................................................................................266

    Fig. 5.8: Esquema arquitectural RT (arquitectura RT objetivo) de la herramienta HLS HYPER, de Berkeley (adaptado de [CCGLPSV99], Figura 5.23, p. 227).....................................................................................................................267

    Fig. 5.9: Esquema de la mquina secuencial sncrona de Huffman (adaptado de [TTOV98],FIGURA 4-9, p. 197).........268

    Fig. 5.10: Geometra de un flip-flop esttico, tipo D, sin controles de establecer (set) y restablecer (reset), que requiere dos fases de reloj complementarias (Eshraghian). La tecnologa de fabricacin objetivo es CMOS escalable (SCMOS, de MOSIS) de dos capas metlicas (escala =0.8, para tecnologas obsoletas de un ancho mnimo de canal de 1.5 ). La topologa es de tpica celda lgica CMOS, organizada entre lneas de alimentacin y tierra, con conexiones entre celdas mediante canales de cableado por encima de la fila de celdas ([Tew96], s. 4, pp. 6-8)..........................................................................................................................................271

    Fig. 5.11: Vista 3D de la geometra de un circuito generador de fases de reloj complementarias, constituido por dos inversores CMOS. Obsrvese la disposicin de capas en sentido vertical, y las vas de interconexin entre estas...............................................................................................................................................................................271

    Fig. 5.12: Topografa de un registro de desplazamiento, constituido en base a las celdas representadas en las figuras 5.10 (8 instancias) y 5.11 (1 instancia). Obsrvese el rea requerida por las interconexiones para la tecnologa de 2 capas de metal seleccionada........................................................................................................................272

    Fig. 5.13: Simulacin dirigida por eventos, tpica de simuladores HDL (adaptada de [TTOV98], FIGURA 2-3, p.41). La etiqueta (tag) que es asignada a los eventos seala el instante de tiempo en el cual el evento se produce (timestamp).........................................................................................................................................................278

    Fig. 5.14: Esquema del proceso de sntesis de mdulos software. Los niveles de abstraccin designados descripcin comportamental y/o funcional, descripcin en secuencias de microinstrucciones, descripcin en secuencias de cdigo de mquina (binario), y los procesos etiquetados s3,4 A, s3,4 B, a4,3 A, y a4,3 B (enmarcados en la zona rectangular al centro del esquema) constituyen un refinamiento entre los niveles 3 (modelos de mdulos, o prototipo virtual diferenciado) y 4 (mdulos, o prototipo realizable) del esquema de la Fig. 5.3. A diferencia de estos, el nivel designado intrprete fsico se corresponde con el nivel 5 (implementacin) de la Fig. 5.3, y los procesos asociados s4,5 y a5,4, con sus homnimos en la referida figura....................................................280

    Fig. 5.15: rbol de derivacin (parse - tree) de una cadena de smbolos terminal en un lenguaje formal. Este tipo de grafo suele emplearse como formato intermedio en herramientas de compilacin/sntesis de descripciones HLL/HDL, y es sobre el cual generalmente se efectan las tareas de optimacin..............................................291

    Fig. 5.16: Esquema de procesos, hilos (threads) y subprocesos o procesos livianos (lwp, light-weight processes) a nivel de aplicaciones de usuario, e hilos del ncleo (kernel threads) en un sistema operativo Solaris ([Sun02], pp. 9-11)................................................................................................................................................328

    Fig. 5.17: Inversin de prioridades. La tarea A, de mayor prioridad que la B, se bloquea esperando un recurso adquirido previamente por B, por lo cual el sistema se comporta como si se hubiesen invertido las prioridades preestablecidas entre las tareas A y B (adaptado de [Edw02], p. 31). El ejemplo muestra adems que ello puede ocasionar que se viole el perodo de expiracin de la tarea A.............................................................................340

    Fig. 5.18: Las dos dimensiones posibles de reutilizacin de componentes hardware y software de un sistema: tiempo y espacio..................................................................................................................................................................352

    Fig. 5.19: Espacio de Aplicaciones y Espacio de Arquitecturas (plataforma hardware). La plataforma hardware soporta las aplicaciones a diferente costo dependiendo de la instancia particular de la plataforma que se implemente. 353

    Fig. 5.20: Pirmide de abstraccin (ver Fig. 2.14). Exploracin descendente del espacio de diseo determinado por la plataforma hardware, que busca minimizar el coste (en sentido amplio del trmino) de la implementacin resultante (una arquitectura de la familia que representa la plataforma, la instancia I0; ver Fig. 5.19)...............354

    Fig. 5.21: Esquema semejante a un reloj de arena que resulta del empleo de una plataforma de sistema en el proceso de diseo. La plataforma software o Interfaz de Programas de Aplicacin (API) presenta la plataforma hardware a las aplicaciones como si estuviese constituida por una nica arquitectura. Esto permite desacoplar el proceso de mapeo de la aplicacin sobre la plataforma del sistema de la implementacin de las posibles instancias arquitecturales de la plataforma hardware subyacente (adaptado de [FS99], p. 8)..........................356

    Fig. 5.22: Generalizacin de Lee et al del concepto de plataforma introducido por Sangiovanni-Vincentelli et al (ver Fig. 5.21). Con la definicin de plataforma como conjunto de diseos, las flechas del esquema - que representan los procesos de mapeo que llevan de una plataforma a la subyacente - resultan relaciones entre conjuntos, lo cual habilita a formalizar la estructura del proceso de diseo, independientemente de la semntica (adaptado de [LNW02], p. 5).......................................................................................................................................................358

    Fig. 5.23: Plataformas de diseo de sistemas electrnicos (adaptado de [LNW02], p. 6; fig. 3). Este esquema sintetiza en forma visual el contenido de la seccin 5.2, aplicando los conceptos presentados en la seccin 5.3: es un refinamiento del esquema abstracto de diseo de sistemas electrnicos (ver Fig. 5.3) que detalla los niveles de abstraccin del diseo de sistemas electrnicos de actualidad, mediante ejemplos de aplicacin de algunos lenguajes de descripcin y herramientas de diseo pertinentes a cada nivel, y aplicables entre diferentes niveles. ..............................................................................................................................................................................359

    Fig. 5.24: Relacin entre la estructura abstracta del proceso de diseo de sistemas electrnicos (Fig. 5.3) y las plataformas de diseo de sistemas electrnicos (Fig. 5.23).................................................................................360

  • Fig. 5.25: Dimensiones Abstraccin - Tiempo del Proceso de Diseo: relacin entre los niveles de abstraccin del proceso de diseo (Fig. 5.3) y el desarrollo temporal del proceso de diseo (en un encare descendente; Fig. 2.8)..............................................................................................................................................................................363

    Fig. 5.26: Diseo en base a interfases: separacin de la comunicacin y el comportamiento ([RS97], p. 1, fig. 1)........365

    Fig. 5.27: Ejemplo de un posible mtodo de refinamiento de la comunicacin entre dos entidades del diseo, un emisor y un receptor ([RS97], p. 2, fig. 2)............................................................................................................................366

    Fig. 5.28: Sintaxis abstracta y abstraccin jerrquica del diseo en base a actores........................................................368

    Fig. 5.29: Diferencias entre componentes orientados a objetos y actores (Adaptado de [Lee03], p. 2, fig. 2). Ntese la clara orientacin a procesos (ver seccin 3.4.4) de estos ltimos.......................................................................368

    Fig. 5.30: Sustrato de modelado integrado en un proceso de codiseo. .........................................................................382

  • NDICE DE TABLAS

    Tabla 2.1: Fases del proceso de diseo en ingeniera [Dix79] (ver Fig. 2.1)......................................................................58

    Tabla 2.2: Evolucin de las teoras axiomticas de diseo ([Zen02], p. 23).......................................................................82

    Tabla 3.1: Mtodo diagonal para la demostracin de existencia de un nmero real R incomputable (Turing).................138

    Tabla 4.1: Proyeccin de desarrollo tecnolgico de semiconductores SIA 1999...........................................................214

    Tabla 4.2: Proyeccin de desarrollo tecnolgico de semiconductores SIA 2001...........................................................214

  • PRLOGO

    Este documento, Diseo de Sistemas Electrnicos Complejos, es mi memoria para la obtencin del ttulo de grado correspondiente a la carrera de Ingeniera en Electrnica, cursada durante el perodo 1997 - 2001 en la Facultad de Ingeniera de la Universidad Catlica del Uruguay2.

    El presente Prlogo se ha estructurado en secciones, donde se presentan: las motivaciones que me impulsaron a adoptar el tema de estudio; los objetivos que persigue el trabajo; la organizacin del material; algunas aclaraciones sobre decisiones y estilos de redaccin, tipografa y notaciones que se

    usan en el documento, y su formato de presentacin; los agradecimientos pertinentes.

    Naturalmente, puede evitarse este Prlogo, y dirigirse directamente a la Introduccin, sin perder informacin relevante para la comprensin del tema central del trabajo.

    G.S.AGOSTO DE 2006.

    MOTIVACIONESAl momento de iniciar los cursos correspondientes al ltimo ao (2001) de la carrera de

    ingeniera electrnica, los procesos de diseo e implementacin de sistemas electrnicos que como estudiante estaba acostumbrado a seguir, eran bsicamente guiados por una sensata aplicacin del sentido comn, educado por los estudios realizados hasta entonces3. La expresin metodologa de diseo era una mera voz formal y compacta con la cual poda referirme elegantemente a cualquier serie de procedimientos empleada para el diseo de circuitos electrnicos, serie establecida en cada caso a partir del conjunto de procedimientos aprendidos independientemente en cursos previos, y dictada por el educado sentido comn referido. Sofisticaciones tales como tcnicas de verificacin y depuracin, tolerancia a fallas, reutilizacin, y documentacin de los sistemas, parecan cuestiones concernientes al mbito profesional, y de hecho no haban constituido requerimientos para los diseos realizados en forma curricular, dada su funcin estrictamente acadmica. Consecuentemente, por extrapolacin de los resultados exitosos obtenidos hasta ese entonces en casos relativamente sencillos, me senta proclive a pensar que la capacidad humana era suficiente para soportar la abstraccin de los procesos de diseo e implementacin tambin en el mbito profesional, y que simplemente en ste se manejaba un conjunto ms amplio de procedimientos de los cuales poder elegir para la tarea de diseo, mediante ejercicio de un sentido comn cada vez ms educado y experimentado.

    En marzo de 2001, estimulados y apoyados por MSc. M. Burgos y por Dr. R. Surez4, nuestro grupo universitario asisti al curso Interfacing Microsystems, brindado por el Proyecto Iberchip [Iber01]. En este seminario se present la actual tendencia de integracin de elementos pticos y mecnicos directamente en las pastillas de los circuitos integrados, y los

    2 Actualmente, Facultad de Ingeniera y Tecnologas de la Universidad Catlica del Uruguay.3 Este sentido comn educado es el que Dixon denomina, muy acertadamente, sentido de la ingeniera ([Dix79], p. 186). Este puede diferenciarse drsticamente del sentido comn usual, en el sentido que este ltimo no siempre devuelve respuestas razonables: a modo de ejemplo palmario, Dixon observa que el sentido comn indicara que el mundo es plano. Podra extenderse esta denominacin de Dixon a un sentido de la ciencia, en general, como el aplicado por Galileo pese a la sensacin geoestacionaria, o Einstein frente a la concepcin de tiempo absoluto e independiente del espacio, que parece conferir el sentido comn.4 A la fecha de redaccin de estas motivaciones, profesor de la Facultad de Ingeniera de la Universidad Catlica del Uruguay, y Director de las carreras de Ingeniera en Electrnica e Ingeniera en Telecomunicaciones de la Universidad Catlica del Uruguay.

  • desafos de diseo y verificacin que conlleva la conformacin de tales microsistemas de alta complejidad. En ese contexto de microsistemas complicados, por vez primera adquir conciencia de la existencia, utilidad y necesidad de metodologas y herramientas formales de diseo5, probada la incapacidad humana ante los niveles de complejidad presentados por estos microsistemas. No obstante, tales formalismos metodolgicos y sus herramientas asociadas eran - desde mi perspectiva en ese momento - circunscritos al mbito especfico de diseo de circuitos integrados de alta escala de integracin. Y por lo tanto, pareca que quedaba lugar para continuar la aplicacin de mtodos de diseo manuales y no del todo formales a los sistemas electrnicos de escala macroscpica a los que estaba acostumbrado, cuya complejidad comparativa con los microsistemas era aparentemente pequea - al menos como para no requerir formalismos estrictos ni herramientas especializadas de diseo.

    Poco tiempo despus, sobre el fin de la etapa acadmica, y antes de comenzar esta memoria, fui invitado a participar en un proyecto impulsado por la Armada Nacional para modernizar sus sistemas de radares de navegacin. Entre los varios objetivos de este proyecto figuraba la implementacin de un prototipo de consola de operador que procesara digitalmente las seales de radar, objetivo particular para el cual se me convocaba. Acept entusiasmado, y durante el perodo comprendido entre abril de 2001 y julio de 2002 colabor activamente en el diseo de ese prototipo. Al inicio, mediante elementales consideraciones de disponibilidad comercial, flexibilidad, costo y confiabilidad, se decidi disear la consola a base de un computador convencional de calidad industrial, dotado de un convertidor analgico - digital adecuado, y ampliado en su capacidad de clculo por mdulos de procesadores de seales digitales. Sin embargo, al iniciarse la fase siguiente de seleccin de los equipos y subsistemas, hubo de admitirse la carencia de un procedimiento que asistiera al proceso de seleccin - por ejemplo, que permitiera estimar a priori la capacidad de clculo necesaria, para determinar el tipo y cantidad de procesadores adicionales que se requeriran. El proceso de seleccin de equipos se vio adicionalmente complicado por el vencimiento de una partida presupuestal asignada al proyecto, por lo que en definitiva la eleccin debi efectuarse por exclusiva aplicacin de sentido comn, circunstancia que claramente evidenci las limitaciones inherentes al mismo. Con posterioridad a la seleccin, emergi el usual problema de no poder integrar automticamente el modelo matemtico inicial del sistema a las herramientas de programacin de los equipos elegidos, lo que implic que ello se debiera realizar en forma manual. Si bien esta era la forma usual de trabajo hasta entonces, la complejidad del caso prob la facilidad de generacin y propagacin de errores inherente a todo proceso manual. Y durante esta etapa, conforme se experimentaba la inconveniencia de la traslacin de los modelos de uno a otro entorno de desarrollo, emergi adicionalmente la cuestin de cmo garantizar que el sistema cumplira las especificaciones y expectativas proyectadas, apoyndose en una mnima serie de pruebas adecuadas - mnima, puesto que pruebas de campo para un radar de navegacin requieren navegar, al costo de zarpar una fragata.

    De modo que - a posteriori de lo visto en el seminario de microsistemas, y a posteriori de mi participacin en el diseo de un sistema electrnico complejo6 - he debido asumir que la capacidad humana de abstraccin para diseo e implementacin de sistemas puede ser insuficiente inclusive en casos de sistemas electrnicos macroscpicos. Superado cierto nivel de complejidad, es necesario asistir la capacidad de abstraccin con procedimientos formales y sistemticos, que a su vez requieren el conocimiento suficiente y la capacidad de uso eficiente de herramientas informticas de diseo asistido por computador. He debido admitir que las tareas de diseo requieren ms que ser una simple coleccin de procedimientos organizados por sentido comn.

    En consecuencia, el haber asistido a un seminario sobre diseo e implementacin de microsistemas, as como el haber participado en un proyecto de diseo de un sistema electrnico complejo donde pude experimentar la necesidad de contar con procedimientos y herramientas formales de diseo, la necesidad de comprender tales procedimientos, y la necesidad de saber manejar las herramientas correspondientes,

    5 En particular metodologas de diseo al nivel de sistema, de tipo descendente, que con asistencia de herramientas automatizadas permiten bajar de una descripcin abstracta hasta niveles de implementacin concreta de circuitos.6 Diseo parcial; el proyecto debi suspenderse por motivos econmicos en julio de 2002, a causa de la crisis financiera que se desat en Uruguay en esa fecha.

  • constituyen las motivaciones principales para estudiar en esta memoria de grado el proceso actual de diseo e implementacin de sistemas electrnicos complejos.

    No incidentalmente, la suspensin que en julio de 2002 truncara al mencionado proyecto antes de su finalizacin (a causa de la severa crisis financiera desatada en Uruguay en esa fecha) constituye una motivacin complementaria para sintetizar, documentar y analizar retrospectivamente el trabajo realizado, desde la ptica de diseo de sistemas complejos que se busca presentar en esta memoria de grado. Es mi esperanza que en el futuro se pueda retomar el proyecto, particularmente por la significacin que tiene la generacin de desarrollos propios para pases tecnolgicamente segregados, como es el caso de Uruguay7. Espero que esta memoria implique un aporte til en esa direccin, como marco terico para una posible reprogramacin del proyecto, y en ese caso, como referencia para quienes prosigan la tarea.

    Finalmente, y desde una perspectiva radicalmente distinta a las anteriores, tambin me motiva la idea de lograr con esta memoria una gua, que al nivel de estudiante de grado en ingeniera electrnica sirva como referencia introductora al amplsimo tpico de diseo de sistemas complejos. Como estudiante de grado percibo que la bibliografa referente al tema escapa largamente a mi nivel, y, por tanto, considero til elaborar una gua que facilite establecer el nexo entre los conocimientos bsicos adquiridos en facultad y el formidable y creciente cmulo de informacin de actualidad. Naturalmente, este incesante crecimiento de la informacin no es novedad: desde el desarrollo de la escritura el conocimiento humano ha crecido en forma consistente, y la invencin de la imprenta revolucion la tasa de actualizacin de ese conocimiento hasta su actual forma exponencial, al punto que para mantenernos al frente de una hilera formada por todos los libros nuevos que se publican deberamos desplazarnos a 150 km/h! ([Haw02], p. 158). Si se desea que las nuevas generaciones puedan beneficiarse del rico patrimonio adquirido a lo largo de la historia de la humanidad, y se pretende adems que sobre este generen nuevos conocimientos, no hay ms opcin que sintetizar in perptuum la experiencia acumulada, puesto que de no hacerse, no habra tiempo para reconstruir y expandir los conocimientos sin prolongar o potenciar de alguna forma la vida humana ([Haw02], cap. 6). Con esto en consideracin, el hecho que mi memoria de grado pueda contribuir al necesario proceso de sntesis continua del conocimiento en el rea de diseo de sistemas electrnicos, naturalmente - constituye un estmulo adicional para lanzarme al abordaje de tan dinmico y abstracto tema.

    OBJETIVOS, METAS, Y RESULTADOS ESPERADOSEste documento, Diseo de Sistemas Electrnicos Complejos, pretende presentar el actual

    panorama de diseo de sistemas electrnicos, a un nivel de estudiante de grado de ingeniera electrnica sin formacin en ciencias computacionales.

    Es la intencin de esta memoria de grado el coleccionar, seleccionar, ordenar, y estudiar adecuadamente la informacin concerniente a los procesos de diseo electrnico actuales, de forma de presentarla al estudiante de grado en electrnica en forma efectiva y comprensible, tal que gue su acceso a los canales de informacin. Intenta as llenar un vaco detectado en el curso de la investigacin bibliogrfica, durante la cual no fueron hallados documentos a nivel de grado en ingeniera electrnica que no supusieran formacin adecuada en ciencias de la computacin.

    Este trabajo se basa en la firme conviccin que la nica opcin viable para iniciar la comprensin de la filosofa de diseo electrnico actual, es centrarse en ciertos conceptos claves, a partir de los cuales la intuicin y el sentido comn - educados por el estudio - permitan completar el panorama, obteniendo una visin global del espacio de diseo electrnico. El objeto no es, por tanto, describir ni estudiar flujos o herramientas de diseo electrnico particulares. El objeto es comprender las metodologas, su filosofa, sus mecanismos e implementaciones subyacentes, como nica manera de sobrevivir a los rpidos ciclos de obsolescencia tecnolgica, y la inundacin de informacin concomitante. En esta bsqueda de comprensin conceptual no se requiere - ni se otorga - la capacidad para desarrollar metodologas o herramientas de diseo, y tampoco se supone u otorga el

    7 Probablemente auto - segregados por propia idiosincrasia, actitud que considero debe ser combatida hasta su reversin. Quizs el objetivo subyacente - y ms importante - del mencionado proyecto, fuese precisamente un impulso en ese sentido.

  • conocimiento o habilidad para el uso de herramienta alguna: se pretende nicamente comprender patrones de comportamiento, funcin, y utilidad, tal que permitan discernir posibles limitaciones de las metodologas o de las herramientas, generar formas de soslayar tales limitaciones, o manejarse ante una eventual carencia de metodologas o herramientas.

    ORGANIZACIN Y SINOPSIS DEL DOCUMENTOEl presente documento se halla estructurado en dos partes. La primer parte, que comprende

    los captulos 1 al 3, se dedica a establecer una nocin de conceptos como sistema, complejidad, diseo, y modelo, as como la relacin entre estos. La segunda parte, que comprende los captulos 4 y 5, presenta los conceptos, metodologas, y herramientas que intervienen y/o asisten en los procesos de diseo de sistemas electrnicos complejos de actualidad.

    En el captulo 1 se abordan las nociones de sistema y complejidad. Se hace hincapi en las limitaciones del reduccionismo en la ciencia contempornea, en la lnea de Von Bertalanffy, y se establece la nocin de sistema complejo jerrquico - modular en la lnea de Simon.

    El captulo 2 presenta las nociones de proceso y producto de diseo en ingeniera. Inicialmente se adopta una perspectiva tradicional para describir los procesos de diseo en ingeniera, y luego se reforma esta visin mediante la nocin de estrategias de diseo ascendente y descendente, y el concepto de espacio de diseo y sus tcnicas de exploracin y poda. Se establece que el proceso de diseo presenta una estructura de carcter fractlico, y se propone la estructura abstracta bsica que le da forma, la celda de diseo. En sintona con estos conceptos, se propone que el producto de un proceso de diseo es esencialmente inmaterial, constituido por un par de descripciones con ciertas caractersticas, lo cual permite identificarle como un modelo y a su vez relacionarle con el proceso de diseo que le dio origen. Se introduce la preocupacin por el lenguaje de descripcin de los modelos.

    El captulo 3 se dedica a discutir la nocin de modelo, donde el hincapi se hace en los modelos de tipo matemtico y de tipo ejecutable (programas ejecutados en un computador). Un tema central en este captulo lo constituye la presentacin de las limitaciones meta - matemticas de indecisin e incompletitud (Gdel), incomputabilidad y el problema de finalizacin (Turing) y la aleatoriedad algortmica (Chaitin). Se discuten sus implicancias en el terreno de las matemticas, la fsica contempornea, y la ingeniera, particularmente en el rea informtica.

    El captulo 4 expone la evolucin histrica de los sistemas electrnicos, tomando como punto de partida la consecucin del primer circuito integrado, avanzando hasta presentar las problemticas y desafos que enfrenta el diseo electrnico de actualidad en virtud de su evolucin, y particularmente, su sinergia con el desarrollo informtico. Se presta particular atencin a los desafos de diseo que presentan los designados sistemas embebidos, puesto que es el ejemplo de referencia para el siguiente captulo.

    El captulo 5 propone una estructura abstracta para enmarcar los procesos de diseo de sistemas electrnicos complejos, que permite describir y comprender tanto las metodologas de diseo tradicionales como las de actualidad. Se presenta la descripcin de cada uno de sus niveles de abstraccin, y de los procesos de sntesis y anlisis que les relacionan. A la proposicin y examen de esta estructura abstracta, sigue la presentacin de su refinamiento en trminos de los elementos concretos con los cuales puede ejecutarse un proceso de diseo, como lenguajes de programacin y descripcin de dispositivos electrnicos y herramientas de diseo asociadas. En el marco de las estructuras abstracta y concreta de diseo electrnico, se presentan conceptos recientemente elaborados en el rea de las ciencias de la computacin para aplicacin al diseo electrnico, y las metodologas de diseo electrnico que este tipo de conceptos permite desarrollar.

    ACLARACIONES

    DEMOSTRACIONES

    En virtud del carcter introductor y de recopilacin de este trabajo, no se har en el mismo ningn tipo de demostracin.

  • El propsito es comprender la idea detrs de las propuestas y no las eventuales demostraciones de su validez lgica. Por tanto, en lugar de demostraciones formales, se desarrollarn - permtaseme el abuso del lenguaje - mostraciones, es decir, se presentarn argumentos que apelen a la intuicin. Tales argumentos se basarn en la hiptesis que la formacin del lector es al nivel de grado en ingeniera electrnica, o similar.

    No necesariamente se habr comprendido - o siquiera ledo - alguna demostracin, ya sea porque la misma excede al nivel de comprensin, o bien por estar fuera del alcance pretendido para el trabajo. No obstante, en tales casos las fuentes donde encontrar las demostraciones sern debidamente referidas y, en lo posible, suministradas junto con este documento8.

    REFERENCIAS BIBLIOGRFICAS

    Con excepcin de las referencias que remiten a libros o cursos, se dispone de copia electrnica de cada una de las restantes referencias bibliogrficas citadas, la mayora de las cuales fueron obtenidas de la red global Internet, desde sitios disponibles al pblico general9. Debido a la dinmica de este medio, es probable que las copias electrnicas de tales referencias sean reubicadas o eliminadas de los sitios de origen en el corto o mediano plazo, y por ello, en ciertos casos se ha optado por no proveer el enlace correspondiente. Asimismo, tampoco se provee el enlace en los casos no se ha registrado debidamente el origen de la referencia; estos casos corresponden mayormente a las referencias obtenidas mediante bsquedas genricas y masivas en la red, y no en sitios universitarios o empresariales especficos.

    En virtud de lo anterior, se pretende entregar - en un disco compacto (CD) junto con este documento - la copia electrnica de las referencias bibliogrficas, estudiando para cada caso la forma de evitar incurrir en violaciones de los intereses o derechos de los autores o editores de las referencias en cuestin.

    NOTACIN Y TIPOGRAFA

    El spanglish, injuriante conmistin de las lenguas Espaola e Inglesa - impuesta merced a la connivencia del subdesarrollo y la dominacin cultural contemporneos - es una construccin que se intentar evitar con denuedo en este documento.

    Se har el mayor esfuerzo para que en este trabajo no aparezcan inconsistencias idiomticas como codiseo software - hardware10, sin poner en cuarentena tales abusos del lenguaje mediante adecuadas comillas como se indica en este preciso ejemplo, y aclarando su significado y el motivo que obliga a su uso en una correspondiente nota al pie. Entre las escasas justificaciones aceptables para este tipo de expresiones puede aducirse que, en muchos casos, la tal expresin es la forma empleada habitualmente en la literatura, y que una expresin en espaol equivalente y compacta es de difcil construccin, en virtud de la inevitable alegorizacin proveniente del ambiente informtico, cuyo desarrollo - que anticipa al de la lengua - es adems llevado a cabo mayoritariamente por personas de habla inglesa. No obstante, se intentar encontrar en cada caso una expresin en Espaol semnticamente equivalente, y se adjuntar la voz usual en la literatura como referencia.

    Al lector atento, que advertir el eventual uso de voces latinas como a priori o in perptuum sin justificaciones expresas ni aclaraciones complementarias, corresponde aclararle que tales expresiones son definidas en el diccionario de la Real Academia Espaola [RAE84], lo que valida sin ms su inclusin en este texto. Su empleo en este documento obedece

    8 Ver las aclaraciones sobre Referencias Bibliogrficas en esta misma seccin de Aclaraciones.9 En algunos casos se han obtenido copias impresas de los documentos citados; las mismas fueron obtenidas mediante solicitud correspondiente a los sitios de origen en la red global Internet, y obtenidas va correo postal ordinario, sin costo de recepcin.10 Expresin derivada de la voz inglesa software - hardware codesign, de aparicin circa 1990 en la literatura. Indica diseo concurrente o simultneo, al mismo nivel, e interactivo, de los dispositivos electrnicos programables y su programacin asociada, donde los cambios en una parte influyen significativamente en la otra. El concepto es extensible a sistemas que integran componentes miniaturizados no tradicionales, como ser mecnicos, pticos e inclusive biolgicos.Nota adicional: Esta nota al pie slo intenta ejemplificar el uso de aclaraciones, y no debe ser interpretada como explicacin del concepto. La expresin en cuestin deber quedar meridianamente clara en el desarrollo de este documento, o de lo contrario indicar en forma evidente que no se ha conseguido el objetivo de esta memoria.

  • principalmente a funciones de nfasis, no respondiendo a razones de uso habitual en la literatura.

    CRITERIOS DE REDACCIN

    Se ha intentado ajustarse en este trabajo a una serie de criterios de redaccin, con objeto de lograr una comunicacin eficiente y al mismo tiempo amena. Estos criterios se han extrado de El arte de redactar buenos informes tcnicos [Slo01], y se anotan a continuacin: Primero describa el problema: de a sus lectores la oportunidad de experimentarlo y

    eventualmente resolverlo. Conozca a sus lectores: sea consciente de los supuestos que utiliza. Conozca a sus lectores: los lectores no leern materiales por encima de su nivel; muy pocos

    acudirn a otros textos para poder interpretar el suyo. Si el nivel del texto es muy inferior al de sus lectores, lo pasarn por alto.

    Sea claro: si no puede expresar su idea en el reverso de una tarjeta personal, es que no tiene clara la idea.

    Escriba oraciones cortas (menos de 25 palabras). Como regla, presente una idea en una oracin. Ante la duda, use signos de puntuacin: el punto separa ideas; la coma ordena la oracin, cambia el sentido; el punto y coma relaciona frases fuertemente conectadas.

    Sea breve. Simplifique las expresiones. Use trminos simples en aras de una comunicacin ms directa. Defina todos los trminos. Evite la ambigedad; es preferible ser reiterativo. No sea verborrgico, ni exagerado. No use expresiones dbiles, doble negacin, lenguaje

    vulgar, o jerga. Use tercera persona, pero lenguaje activo; evite el uso de voz pasiva. Conecte las frases: cuente una historia, no un conjunto de hechos.

    Seguramente, muchas partes de este documento no se ajustarn a la mayora de los criterios precedentes - particularmente el referido a usar oraciones cortas. No obstante, se ha hecho el esfuerzo de ceirse a estas directivas, para evitar que este documento resulte en una mera descarga apresurada de informacin, limitada a cumplir su finalidad acadmica en el menor plazo posible.

    Se busca con estos criterios que este documento sea efectivamente accedido por terceros lectores amen de quienes integren el tribunal examinador de esta memoria, y adems, de forma tal que les resulte comprensible - no debe olvidarse que es tanto una motivacin como un objetivo de esta memoria, el que reporte esa utilidad a nivel de grado en ingeniera electrnica.

    PRESENTACIN

    Es la intencin el presentar una versin electrnica de este documento, en un disco compacto (CD). Se prefiere para ello el formato pdf (Portable Document Format) en virtud de la existencia de varias aplicaciones - disponible gratuitamente para varias combinaciones de plataformas y sistemas operativos - capaces de interpretar el formato referido. Estos lectores de archivos pdf proveen capacidades de exploracin de documentos mediante hiperenlaces, es decir, referencias cruzadas en documentos de hipertexto (texto con referencias cruzadas activas) y en algunos casos, ndices y tablas de contenidos. Se pretende de esta forma proveer la posibilidad de navegacin inmediata y cmoda entre los enlaces activos internos o externos que se incluyen en el documento.

    Entre los enlaces internos del documento figuran las referencias cruzadas entre tablas, figuras, notas al pie, y secciones. Los enlaces denominados externos se refieren a direcciones de sitios en la red global Internet, direcciones de correo electrnico, y enlaces con otros documentos en formato electrnico que se incluyan en el disco compacto al que se refiere esta Presentacin.

    De particular importancia se consideran los enlaces internos con las referencias bibliogrficas. En un formato impreso (hardcopy, en la literatura de habla inglesa) la constatacin de cada referencia bibliogrfica conforme se desarrolla la lectura resulta una tarea

  • tediosa, puesto que las referencias se listan al final del documento, no en el punto donde se mencionan11. El ejercicio de bsqueda que implica la constatacin de la referencia completa, a la larga resulta incmodo y constituye un factor de distraccin, por lo cual solamente quien se encuentre decididamente interesado se tomar el trabajo de realizar la constatacin de la referencia completa. Sin embargo, en formato electrnico - particularmente en el formato pdf escogido - este inconveniente se soslaya proveyendo enlaces internos a las referencias, y contando con los giles comandos de navegacin provistos por la mayora de los programas para saltar a la referencia, y retornar al punto de lectura sin ulteriores complicaciones ni fatiga. Consecuentemente, se busca con la pretendida presentacin electrnica que este documento resulte en una gua efectiva al tema, suministrando inmediata y cmodamente el acceso a las referencias.

    11 Se entiende aqu que no se incluye en el lugar donde se menciona la referencia a todos los datos correspondientes, es decir, no se inserta en el sitio a la referencia completa, sino slo una mencin a ella. Cabe aclarar que no se adopta en este documento el estilo de indicar las referencias en notas al pie de pgina, como es de uso en humanidades y ciencias sociales; se sigue el uso en ingeniera o actividades tecnolgicas que ubican las referencias al fin del captulo o al fin del documento.

  • AGRADECIMIENTOS

    ACADMICOS

    Este trabajo, como cualquier otra memoria de grado o actividad acadmica, se beneficia directa o indirectamente, consciente o inconscientemente, de los innumerables e intangibles aportes de todo el cuerpo acadmico de la facultad, brindados desinteresadamente y a lo largo de los aos de formacin. A todos ellos, sin excepcin, mi sincero reconocimiento.

    Es inevitable, sin embargo, que ciertos docentes del cuerpo acadmico hayan efectuado aportes significativos, y en forma directa. De hecho, son quienes han dejado una clara impronta en este documento. En particular, quiero agradecer profundamente al Dr. Surez ntola, al Prof. Mario Guerra, y al Ing. Carlos Zamalvide por haberme generado la curiosidad por los problemas filosficos subyacentes a cualquier disciplina acadmica - ya sea de ingeniera o no - y haberme motivado y guiado para aproximarme a estos, y apreciar su verdadera relevancia y magnitud con el debido respeto. Hoy siento este invalorable aporte nada menos que como lo que permite diferenciar entre el mero ejercicio de una profesin estando inmerso y restringido en ella, de su consideracin crtica en el contexto ms amplio del conocimiento. Tambin debo agradecer a MSc. Manuel Burgos, no solamente por haber ejercitado una paciencia casi infinita como tutor en este trabajo, sino por el apoyo moral y la motivacin permanente a lo largo de todos estos aos, y - lo ms importante - por mostrarme la ingeniera electrnica desde una perspectiva hasta el momento insospechada por m; me ha resultado ms enriquecedor el trabajar en esta monografa que el haberme dedicado a elaborar un proyecto de fin de carrera ms circunscrito a los aspectos tecnolgicos, que perfectamente podr realizar como profesional. Finalmente, no puedo omitir mi ms sincero agradecimiento al Prof. Pablo Garca, quien contribuy de una manera decisiva a que yo pudiera romper con ciertos prejuicios que traa al momento de iniciar los cursos, en los cuales permanecera an atascado, y que me hubieran impedido aprovechar adecuadamente todo cuanto me fue ofrecido a lo largo de estos aos en la facultad.

    PERSONALES

    Quiero agradecer a mi pareja, mi familia, y mis amigos, por todas las angustias, crticas, y preocupaciones que han enmarcado estos cuatro aos que - egocntricamente - he dedicado a satisfacer mi inters.

    Estoy en deuda con mis padres, mi hermana, tos, primos, y abuelos - los que viven, y los que permanecen vivos en mi memoria. Estoy en deuda con mis amigas y amigos. Estoy en deuda con Lilin, con Fernando y, fundamentalmente, con Isabel.

    He recibido de todos, de una u otra forma, la muestra suprema del afecto; el regalo ms valioso que se puede recibir: su tiempo, conmigo.

    A todos: Gracias!

  • La mayora de los errores realmente importantes se comete el primer daEberhard Rechting, Systems Architecting, 1991.

  • INTRODUCCIN

    Omitiendo las indispensables consideraciones de tipo ecolgico, social, y tico que debieran pautar las acciones y omisiones de la humanidad - la necesidad de mantener el hbitat, las fuentes de aire y agua potables, alimentos, energa, servicios de salud, estabilidad poltica, etc. - la irresponsable tenaza econmica actual constrie al conjunto de las actividades humanas, en pos de un desarrollo de dudosa significacin, pero de indudable riesgo.

    Ante una sociedad fuertemente dependiente de la tecnologa para mantener la estructura social civilizada, el afn econmico incide particular y nefastamente en los tiempos de investigacin, desarrollo y produccin de tecnologa, ocasionando - entre otras adversidades - una carrera tecnolgica desenfrenada. El ciclo de realimentacin as creado entre avances cientfico-tecnolgicos y demanda tecnolgica, registra perodos cada vez ms cortos, y en el caso particular del desarrollo electrnico, sigue un ritmo exponencial declarado tempranamente en 1965 por la Ley de Moore para la industria de semiconductores. La violenta escalada tecnolgica actual, combinada con la complejidad inherente a los sistemas a disear, ejerce una presin desmesurada sobre los diseadores en reas de tecnologa, y genera una brecha creciente entre su capacidad de diseo y las actuales posibilidades de produccin.

    En particular, en el rea electrnica, la incesante evolucin tecnolgica permite en la actualidad la conformacin de sistemas completos en una sola pastilla de silicio, habilitando la integracin de los tradicionales dispositivos electrnicos con elementos pticos y mecnicos, y en un futuro no muy lejano, con elementos qumicos y biolgicos. La complejidad de tales sistemas emana tanto de su escala como de su heterogeneidad, planteando a los diseadores de sistemas electrnicos problemas formidables de diseo, como consideracin de efectos cunticos y relativistas, control de millones de elementos operando concurrentemente en red, y manejo de efectos mecnicos, pticos y electrnicos en permanente interaccin. La complejidad de estos microsistemas se ve adems escalada por su aplicacin en contextos de sistemas ms generales, como sistemas de cmputo o control distribuidos, sistemas de tiempo real, sistemas dinmicos, modificables en tiempo de ejecucin mediante reprogramacin o reconfiguracin. Adicionalmente, la complejidad de estos sistemas es escalada por exigentes etapas de prueba, verificacin, y documentacin, y en ltima instancia, por la necesidad de administrar las anteriores cuestiones en interaccin con el medio - incluyendo este a los seres humanos y su fustigador flagelo econmico.

    Como nica salida viable al desfase creciente entre capacidad de diseo electrnico y complejidad, actualmente se proponen y emplean metodologas de diseo descendentes, asistidas por herramientas informticas basadas en rigurosos formalismos matemticos, promoviendo diseos correctos por construccin. Estas herramientas informticas permiten a la electrnica disear mejores plataformas de cmputo, sobre las cuales la informtica puede generar nuevas y ms potentes herramientas para su propio desarrollo; a su vez, el desarrollo informtico permite la gestacin de nuevas herramientas para diseo electrnico, cerrndose de esta forma un ciclo de soporte mutuo entre electrnica e informtica, cada vez ms interdependiente.

    A pesar de esta sinergia entre electrnica e informtica, la diferencia en la usual formacin de ingenieros informticos y electrnicos dificulta a los primeros el brindar las abstracciones necesarias a los segundos para que modelen adecuadamente el mundo fsico, y a los segundos el comprender los beneficios de los procesos de abstraccin desarrollados por los primeros, quienes los han empleado con xito indiscutible en aplicaciones que no interactan directamente con el mundo fsico. Esta brecha ha determinado la emergencia de una ciencia de la co