Está en la página 1de 357

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA

PROGRAMA DE INGENIERÍA ELECTRÓNICA

299008 - MICROELECTRÓNICA

FAIBER ROBAYO BETANCOURT


(Director Nacional)

PEDRO TORRES SILVA


Acreditador

BOGOTÁ D.C
Julio de 2009

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO

El presente módulo fue diseñado en el año 2009 por el Ing. Faiber Robayo
Betancourt, tutor de la UNAD, y ubicado en el CEAD de Neiva, el Ing. Robayo es
Ingeniero Electrónico, y maestrante en Ingeniería de Control Industrial, se ha
desempeñado como tutor de la UNAD desde el 2005.
Esta es la primera versión del módulo y se espera continuar
retroalimentándolo constantemente para mejorarlo.
Este mismo año el Ing. PEDRO TORRES SILVA, Coordinador Nacional de
Cadena de Formación en Electrónica, Telecomunicaciones y Audio, apoyó el
proceso de revisión de estilo del módulo y dio aportes disciplinares, didácticos y
pedagógicos en el proceso de acreditación de material didáctico desarrollado en el
mes de JULIO de 2009.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

INTRODUCCIÓN

 
"Los principios de la física, como yo lo veo, no hablan sobre la posibilidad de 
maniobrar cosas átomo por átomo. Esto no es un intento de violar alguna 
ley; es algo que en principio se puede hacer; pero en la práctica, no se ha 
hecho porque somos demasiado grandes." 
Richard Feynman (premio Nobel de física 1959) 
 
El objetivo de este libro es proporcionar una herramienta de ayuda
didáctica que permita adquirir los conocimientos básicos de microelectrónica
necesarios en los estudios de Ingeniería Electrónica, Telecomunicaciones y
Audio. El libro ha sido dimensionado para que su contenido pueda ser impartido
dentro de un ciclo o semestre. No pretende sustituir a otros libros de consulta
ya muy arraigados en el campo de la electrónica, sino resumir los
conocimientos de los dispositivos semiconductores e introducir algunos de
los circuitos monolíticos más significativos que existen en el mercado. El
alumno adquirirá un núcleo de conocimientos básicos con una fuerte
componente práctica que constituirán una base idónea para abordar una futura
especialización en cualquiera de los campos de la electrónica.

Se parte de la idea de que el estudiante posee los conocimientos previos de


las herramientas de análisis de circuitos lineales en las asignaturas de
Electromagnetismo y Análisis de circuitos DC, Análisis de circuitos AC, Electrónica
Básica, Amplificadores, Sistemas digitales Básico, Sistemas Digitales Secuenciales
y CAD para Electrónica y/o Telecomunicaciones, y está familiarizado con los
modelos y comportamiento circuital de los principales dispositivos
electrónicos más importantes en los cursos mencionados en especial en
Electrónica y Digitales. De esta manera el alumno pierde la idea del dispositivo
como elemento aislado y lo estudia como elemento constitutivo de un circuito
más complejo y en muchos casos de un sistema integrado.

Este libro ha sido dotado de una estructura y organización adecuada que


permita adquirir los conocimientos de forma lógica y ordenada. Para ello, ha sido
dividido en tres Unidades didácticas temas de acuerdo a su contenido. La
Unidad 1. Tecnología microelectrónica: donde se explicita la historia y las
tendencias futuras en los procesos de fabricación de circuitos integrados. Se
realiza un reconocimiento de saberes previos en semiconductores, circuitos
NMOS y PMOS, transistores bipolares, dispositivos pasivos, estructuras
lógicas y bloques analógicos básicos, sistemas digitales. Y se introduce en los
principios básicos de diseño. Tecnología para la integración y los dispositivos
programables.

Unidad 2. Metodología de diseño: se plantea como se realiza un diseño de


 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

integración circuital. La utilización de software para la implementación de


diseños y la realización de pruebas de los circuitos diseñados.

Unidad 3. Utilización de dispositivos lógicos programables: se especifican las


estrategias por el diseño de lógica programable y el uso de otros dispositivos,
herramientas y proveedores.

Al final de cada unidad se incluye un conjunto de problemas significativos que


ayudan a la comprensión de los aspectos teóricos procurando utilizar valores
prácticos de acuerdo a las especificaciones proporcionadas por el fabricante.
Por ello, el libro incluye además un apéndice con las características de los
principales dispositivos electrónicos que deben ser utilizadas en la resolución de
algunos problemas con objeto de adquirir una idea de utilidad práctica de los
valores de los parámetros de los dispositivos.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

INDICE DE CONTENIDO 

UNIDAD 1............................................................................................................................................ 22 


CAPÍTULO 1: INTRODUCCIÓN A LA MICROLECTRÓNICA Y PROCESOS DE
FABRICACIÓN.................................................................................................................................. 24 
LECCIÓN 1: BREVE  HISTÓRICA SOBRE LA MICROELECTRÓNICA........................ 24 
EL PASADO DE LA ELECTRÓNICA .......................................................................................... 24 
LA ELECTRÓNICA Y LOS SEMICONDUCTORES ................................................................ 25 
LA MICROELECTRÓNICA Y EL SIGLO XX ............................................................................. 26 
LECCIÓN 2: TENDENCIAS FUTURAS....................................................................................... 31 
INTRODUCCIÓN .............................................................................................................................. 31 
SMALLER ........................................................................................................................................... 31 
FASTER, CHEAPER......................................................................................................................... 33 
EL LÍMITE FÍSICO ............................................................................................................................. 34 
CONCLUSIONES ............................................................................................................................. 39 
AUTOEVALUACIÓN: ....................................................................................................................... 39 
LECCIÓN 3: PROCESO DE FABRICACIÓN............................................................................. 40 
FABRICACIÓN DE NMOS Y PMOS.............................................................................................. 40 
FABRICACIÓN DE BJT Y FET ...................................................................................................... 42 
MOSFET de empobrecimiento ......................................................................................................... 43 
AUTOEVALUACIÓN......................................................................................................................... 45 
LECCIÓN 4: BLOQUES ANALÓGICOS BÁSICOS................................................................. 46 
AMPLIFICADOR OPERACIONAL IDEAL .................................................................................. 46 
COMPORTAMIENTO EN CONTINUA (DC) ............................................................................... 47 
COMPORTAMIENTO EN ALTERNA (AC).................................................................................. 47 
CONFIGURACIONES ...................................................................................................................... 48 
Comparador........................................................................................................................................ 48 
Seguidor .............................................................................................................................................. 48 
Inversor................................................................................................................................................ 49 
Integrador ideal.................................................................................................................................. 51 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

APLICACIONES ............................................................................................................................... 52 


ESTRUCTURA .................................................................................................................................. 52 
PARÁMETROS ................................................................................................................................. 54 
LIMITACIONES ................................................................................................................................. 54 
Espejo de corriente........................................................................................................................... 56 
AUTOEVALUACIÓN: ....................................................................................................................... 58 
LECCIÓN 5: REGLAS DE DISEÑO ............................................................................................. 59 
INTRODUCCIÓN ............................................................................................................................... 59 
PROCESOS DE DISEÑO................................................................................................................. 62 
TÉCNICAS DE DISEÑO MICROELECTRÓNICO ....................................................................... 66 
AUTOEVALUACIÓN: ....................................................................................................................... 71 
CAPÍTULO 2: REPASO DE ELECTRONICA DIGITAL .......................................................... 73 
INTRODUCCION .............................................................................................................................. 73 
LECCIÓN 1: PUERTAS LOGICAS............................................................................................... 73 
PRIMERAS FAMILIAS LÓGICAS: C. I. CON TRANSISTORES BIPOLARES..................... 75 
DESARROLLO DE LAS TECNOLOGÍAS MOS: FAMILIA CMOS.......................................... 77 
PUERTAS LÓGICAS DE LA FAMILIA CMOS ............................................................................ 78 
Inversores CMOS............................................................................................................................... 78 
Compuerta NAND CMOS ................................................................................................................. 79 
Compuerta NOR CMOS ................................................................................................................... 80 
Compuertas AND Y OR .................................................................................................................... 81 
AUTOEVALUACION ......................................................................................................................... 81 
LECCIÓN 2: DIAGRAMAS DE TIEMPOS, RETARDOS......................................................... 82 
AUTOEVALUACION ......................................................................................................................... 83 
LECCIÓN 3: CIRCUITOS COMBINACIONALES ..................................................................... 85 
CIRCUITOS SUMADORES ............................................................................................................. 86 
CODIFICADORES Y DECODIFICADORES................................................................................. 88 
MULTIPLEXORES Y DEMULTIPLEXORES................................................................................ 93 
CIRCUITOS COMPARADORES .................................................................................................... 97 
GENERADORES/COMPROBADORES DE PARIDAD.............................................................. 98 
AUTOEVALUACION ....................................................................................................................... 100 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 4: CIRCUITOS SECUENCIALES SINCRONOS Y ASINCRONOS Y


MAQUINAS DE ESTADOS FINITO ........................................................................................... 101 
CIRCUITOS LÓGICOS SECUENCIALES .................................................................................. 101 
CONCEPTOS GENERALES DE LATCHES Y FLIP-FLOPS:................................................. 103 
El Flip-Flop S-R (Set-reset) ............................................................................................................ 103 
El flip-flop D....................................................................................................................................... 105 
El flip-flop J-K.................................................................................................................................... 106 
El Flip-Flop T (Toggle) .................................................................................................................... 107 
REGISTROS ..................................................................................................................................... 108 
CONTADORES ................................................................................................................................ 109 
MAQUINA DE ESTADOS FINITOS ........................................................................................... 111 
ESTRUCTURA ................................................................................................................................. 111 
DISEÑO DE MAQUINAS DE ESTADO SINCRONIZADAS CON RELOJ ..................... 112 
AUTOEVALUACION ....................................................................................................................... 114 
LECCIÓN 5: RIESGOS O AZARES ........................................................................................... 115 
AZARES ............................................................................................................................................ 115 
AUTOEVALUACION ....................................................................................................................... 119 
CAPÍTULO 3: TECNOLOGIAS PARA LA INTEGRACION DE CIRCUITOS .................. 120 
INTRODUCCION ............................................................................................................................ 120 
LECCIÓN 1: CIRCUITOS INTEGRADOS A MEDIDA (ASIC) DISPOSITIVOS LOGICOS
PROGRAMABLES (PLD) ............................................................................................................. 120 
ASIC ................................................................................................................................................... 121 
DISPOSITIVOS LÓGICOS PROGRAMABLES ......................................................................... 121 
Clases de Dispositivos Lógicos Programables ........................................................................... 123 
Circuitos integrados a medida. .............................................................................................. 123 
Matrices de puertas. ................................................................................................................ 124 
Células normalizadas. ............................................................................................................. 124 
FPICs. ................................................................................................................................................ 125 
PLDs. ................................................................................................................................................. 125 
ASPLDs............................................................................................................................................. 125 
FPGAs. .............................................................................................................................................. 126 
ARQUITECTURAS DE LOS DISPOSITIVOS LÓGICOS PROGRAMABLES (PLDS). ..... 127 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

AUTOEVALUACION....................................................................................................................... 130 
LECCIÓN 2: DISPOSITIVOS LOGICOS PROGRAMABLES AVANZADOS (CPLD Y
FPGA)................................................................................................................................................ 131 
CPLD.................................................................................................................................................. 131 
Matriz de Interconexiones Programables ........................................................................ 132 
Bloques Lógicos ................................................................................................................... 132 
Las familias MAX340 y MAX5000................................................................................................. 134 
Macroceldas.......................................................................................................................... 134 
Celda de entrada/salida ...................................................................................................... 136 
FPGA...................................................................................................................................... 136 
Antifuse .............................................................................................................................. 137 
SRAM ................................................................................................................................. 137 
Celdas Lógicas ..................................................................................................................... 137 
AUTOEVALUACION...................................................................................................................... 140 
LECCIÓN 3: CARACTERISTICAS ESPECIALES.................................................................. 141 
Facilidad de diseño ....................................................................................................................... 141 
Prestaciones ................................................................................................................................... 141 
Fiabilidad.......................................................................................................................................... 141 
Economía ......................................................................................................................................... 142 
Seguridad......................................................................................................................................... 142 
Consumo de corriente en los PLDs.......................................................................................... 143 
AUTOEVALUACION....................................................................................................................... 144 
LECCIÓN 4: DISPOSITIVOS ANALOGICOS PROGRAMABLES ..................................... 145 
EVOLUCIÓN DE LOS FPAAs ...................................................................................................... 146 
AUTOEVALUACION...................................................................................................................... 147 
LECCIÓN 5: FAMILIAS DE DISPOSITIVOS ANALOGICOS .............................................. 148 
FPAAs COMERCIALES.................................................................................................................. 148 
Circuitos FPAAs de Lattice............................................................................................................. 148 
Circuitos FPADs de Zetex .............................................................................................................. 150 
Circuitos FPAAs de Anadigm......................................................................................................... 152 
AN120E40 y AN220E04 ................................................................................................................. 154 
AUTOEVALUACION...................................................................................................................... 155 
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

ACTIVIDADES COMPLEMENTARIAS DE LA UNIDAD 1 .................................................. 156 


FUENTES DOCUMENTALES DE LA UNIDAD 1 ...................................................................... 159 
UNIDAD 2.......................................................................................................................................... 161 
METODOLOGIAS DE DISEÑO.................................................................................................... 161 
CAPÍTULO 4: METODOLOGIAS DE DISEÑO ....................................................................... 163 
LECCIÓN 1: NIVELES DE ABSTRACCIÓN Y REPRESENTACIONES DE UN CIRCUITO
MICROELECTRÓNICO .................................................................................................................. 163 
DIAGRAMA DE LA ‘Y’ Y PROCEDIMIENTOS INVOLUCRADOS EN EL DISEÑO........... 165 
AUTOEVALUACION....................................................................................................................... 168 
LECCIÓN 2: VARIABLES DE DISEÑO PARA CADA NIVEL DE ABSTRACCIÓN........... 169 
VARIABLES DE DISEÑO A NIVEL FÍSICO............................................................................... 169 
VARIABLES DE DISEÑO A NIVEL ELÉCTRICO..................................................................... 170 
VARIABLES DE DISEÑO A NIVEL LÓGICO/MACROMODELO .......................................... 171 
VARIABLES DE DISEÑO A NIVEL DE ARQUITECTURA ..................................................... 172 
AUTOEVALUACION....................................................................................................................... 173 
LECCIÓN 3: DIAGRAMA DE FLUJO DE DISEÑO Y HERRAMIENTAS DE AYUDA AL
DISEÑO ............................................................................................................................................. 174 
Diseño descendente, diseño ascendente.................................................................................... 174 
FLUJO DE DISEÑO TÍPICO EN ASIC’s..................................................................................... 176 
AUTOEVALUACION....................................................................................................................... 178 
LECCIÓN 4: EJEMPLO DE DISEÑO .......................................................................................... 179 
AUTOEVALUACION....................................................................................................................... 186 
LECCIÓN 5: COSTES DE LA FASE DE DISEÑO .................................................................... 187 
COSTES DE PERSONAL .............................................................................................................. 187 
COSTES DE HERRAMIENTAS DE DISEÑO............................................................................. 188 
COSTES FIJOS ............................................................................................................................... 189 
COSTES DE DIFERENTES ALTERNATIVAS DE DISEÑO DE CIRCUITOS INTEGRADOS
............................................................................................................................................................. 190 
Full Custom ....................................................................................................................................... 190 
Standard Cell .................................................................................................................................... 190 
Gate Array ......................................................................................................................................... 191 
FPGA.................................................................................................................................................. 191 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

AUTOEVALUCION.......................................................................................................................... 194 
CAPÍTULO 5: LENGUAJES DE DESCRIPCION Y FORMATOS ...................................... 195 
INTRODUCCION ............................................................................................................................ 195 
LECCIÓN 1: MODELOS Y SIMULADORES FISICOS ............................................................ 195 
MODELOS Y SIMULADORES ELÉCTRICOS........................................................................... 195 
MODELOS Y SIMULADORES LÓGICOS .................................................................................. 200 
AUTOEVALUACION....................................................................................................................... 202 
LECCIÓN 2: VHDL BASICO ......................................................................................................... 203 
HISTORIA ......................................................................................................................................... 203 
CARACTERÍSTICA PRINCIPALES DE VHDL ......................................................................... 205 
Modelo de estructura....................................................................................................................... 205 
Modelo de concurrencia.................................................................................................................. 206 
Modelo de tiempo............................................................................................................................. 208 
UNIDADES BÁSICAS DE DISEÑO ............................................................................................. 210 
Declaración de entidad ................................................................................................................... 211 
Arquitectura....................................................................................................................................... 212 
Configuración.................................................................................................................................... 215 
Paquetes............................................................................................................................................ 216 
Bibliotecas ......................................................................................................................................... 217 
AUTOEVALUACION....................................................................................................................... 218 
LECCIÓN 3: NIVELES DE DESCRIPCIÓN  VHDL ................................................................... 219 
ETAPAS BÁSICAS EN EL PROCESO DE DISEÑO................................................................ 220 
Definición de los requerimientos del diseño................................................................................ 220 
Modelado del diseño en VHDL ...................................................................................................... 220 
Simulación del Código Fuente....................................................................................................... 221 
Síntesis, Optimización y Ajuste del diseño.................................................................................. 221 
Síntesis .............................................................................................................................................. 221 
Optimización ..................................................................................................................................... 221 
Ajuste ................................................................................................................................................. 221 
AUTOEVALUACION....................................................................................................................... 224 
LECCIÓN 4: MODELOS Y SIMULADORES DE ALTO NIVEL .............................................. 225 
AUTOMATIZACIÓN DEL DISEÑO MICROELECTRÓNICO................................................... 228 
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Síntesis de alto nivel........................................................................................................................ 230 


AUTOEVALUACION....................................................................................................................... 234 
LECCIÓN 5: HERRAMIENTAS CAD .......................................................................................... 235 
ENTORNOS EDA ............................................................................................................................ 238 
TENDENCIAS FUTURAS EN CAD.............................................................................................. 239 
AUTOEVALUACION....................................................................................................................... 240 
CAPÍTULO 6: TEST DE CIRCUITOS INTEGRADOS ........................................................... 241 
LECCIÓN 1: VALIDACIÓN Y PRUEBA DE CIRCUITOS INTEGRADOS......................... 241 
PERTURBACIONES EN EL PROCESO DE FABRICACIÓN DE UN CIRCUITO
INTEGRADO.................................................................................................................................... 242 
AUTOEVALUACION...................................................................................................................... 244 
LECCIÓN 2: PROCEDIMIENTO DE TEST ............................................................................... 245 
AUTOEVALUACION...................................................................................................................... 246 
LECCIÓN 3: DISEÑO PARA LA PRUEBA (DFT) .................................................................. 247 
ASPECTOS DEL DFT ................................................................................................................... 247 
Test ad hoc....................................................................................................................................... 248 
Test scan-based.............................................................................................................................. 249 
AUTOEVALUACION ............................................................................................................................. 251 
LECCIÓN 4: DISEÑO BOUNDARY-SCAN .............................................................................. 252 
Built-in Self-Test (BIST) ................................................................................................................ 252 
AUTOEVALUACION...................................................................................................................... 254 
LECCIÓN 5: GENERACIÓN DE PATRONES DE TEST....................................................... 255 
Rendimiento del proceso de fabricación (yield) ...................................................................... 255 
Modelos de fallos ............................................................................................................................ 256 
GENERACIÓN AUTOMÁTICA DE VECTORES DE TEST (ATPG) ................................... 258 
Simulación de fallos (fault-grading) ............................................................................................ 259 
AUTOEVALUACION...................................................................................................................... 260 
ACTIVIDADES COMPLEMENTARIAS DE LA UNIDAD 2 .................................................. 261 
FUENTES DOCUMENTALES DE LA UNIDAD 2 ...................................................................... 262 
UNIDAD 3.......................................................................................................................................... 264 
UTILIZACION DE DISPOSITIVOS LOGICOS PROGRAMABLES ...................................... 264 
CAPÍTULO 7: DISEÑO CON LOGICA PROGRAMABLE .................................................... 266 
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 1: FPGAs (FIELD PROGRAMMABLE GATE ARRAY) ..................................... 266 


AUTOEVALUACION...................................................................................................................... 269 
LECCIÓN 2: ESTRUCTURA DE FPGAs .................................................................................. 270 
AUTOEVALUACION...................................................................................................................... 274 
LECCIÓN 3: NUEVAS INCORPORACIONES A LA ARQUITECTURA BÁSICA de
FPGAs............................................................................................................................................... 275 
Memoria............................................................................................................................................ 275 
Bloques aritméticos..................................................................................................................... 275 
Microprocesadores ...................................................................................................................... 275 
Manejo de relojes.......................................................................................................................... 276 
Entrada-salidas específicas ...................................................................................................... 276 
Conversores serie-paralelo de alta velocidad .................................................................... 276 
Facilidades de test on-chip ....................................................................................................... 276 
AUTOEVALUACION...................................................................................................................... 276 
LECCIÓN 4: EJEMPLOS DE FPGAs COMERCIALES ........................................................ 277 
AUTOEVALUACION...................................................................................................................... 284 
LECCIÓN 5: HERRAMIENTAS DE SOFTWARE (EDA, CAE, CAD) ................................ 285 
EVOLUCIÓN HISTÓRICA ............................................................................................................ 286 
HERRAMIENTAS DE ALTO NIVEL........................................................................................... 290 
AUTOEVALUACION...................................................................................................................... 291 
CAPÍTULO 8: OTROS DISPOSITIVOS PROGRAMABLES ............................................... 292 
LECCIÓN 1: FPAA (FIELD PROGAMMABLE ANALOG ARRAY) ............................... 292 
Evolución de los FPAAs ................................................................................................................ 293 
FPAAs Comerciales ....................................................................................................................... 294 
AUTOEVALUACION...................................................................................................................... 295 
LECCIÓN 2: FAMILIAS DE FPAAs ........................................................................................... 296 
CIRCUITOS FPAAs DE LATTICE.............................................................................................. 296 
CIRCUITOS FPADs DE ZETEX.................................................................................................. 297 
CIRCUITOS FPAAs DE ANADIGM ........................................................................................... 298 
AN120E40 y AN220E04 ................................................................................................................ 301 
METODOLOGÍA DE DISEÑO USANDO CIRCUITOS FPAAs ............................................ 302 
AUTOEVALUACION...................................................................................................................... 303 
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 3: PROCESADORES DIGITALES DE SEÑALES (DSP).................................. 304 


INTRODUCCION ............................................................................................................................ 304 
¿QUÉ ES UN DSP? ....................................................................................................................... 304 
CARACTERÍSTICAS DE LOS DSP ........................................................................................... 306 
AUTOEVALUACION...................................................................................................................... 310 
LECCIÓN 4: ARQUITECTURA DE DSP’s ............................................................................... 311 
ORGANIZACIÓN DE LA MEMORIA.......................................................................................... 311 
SEGMENTACIÓN (“PIPELINING”) ........................................................................................... 312 
CONSUMO ....................................................................................................................................... 314 
COSTE .............................................................................................................................................. 314 
ARQUITECTURAS DE ALTAS PRESTACIONES ................................................................. 315 
AUTOEVALUACION...................................................................................................................... 317 
LECCIÓN 5: TIPOS DE DSP, CRITERIOS DE SELECCION Y APLICACIONES ......... 318 
TIPOS DE DSPs ............................................................................................................................. 318 
SEGÚN EL TIPO DE ARITMETICA UTILIZADA .................................................................... 318 
SEGÚN EL PARALELISMO DEL DISPOSITIVO ................................................................... 319 
CRITERIOS DE SELECCIÓN DE DSPs ................................................................................... 320 
RANGO DINÁMICO ....................................................................................................................... 321 
FAMILIAS DE DSPs MÁS REPRESENTATIVAS .................................................................. 322 
AREAS DE APLICACION ............................................................................................................ 323 
EJEMPLO DE APLICACIÓN ......................................................................................................... 324 
AUTOEVALUACION...................................................................................................................... 325 
CAPÍTULO 9: OTRAS APLICACIONES................................................................................... 326 
LECCIÓN 1: CASO PRÁCTICO BASADO EN FPGAS Y SISTEMAS DE TELEFONÍA
MÓVIL ............................................................................................................................................... 326 
INTRODUCCIÓN ............................................................................................................................ 326 
DESCRIPCIÓN DEL SISTEMA PROPUESTO ........................................................................ 326 
IMPLEMENTACIÓN HARDWARE DEL SISTEMA ................................................................ 328 
AUTOEVALUACION...................................................................................................................... 331 
LECCIÓN 2: DESCRIPCION DE SUBMODULOS: UART, CODIFICADOR DE
COMANDOS .................................................................................................................................... 332 
SUBMÓDULO ‘UART’................................................................................................................... 332 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

SUBMÓDULO ‘CODIFICADOR DE COMANDOS’ ................................................................ 332 


AUTOEVALUACION...................................................................................................................... 334 
LECCIÓN 3: DECODIFICADOR DE COMANDOS, CONVERTIDOR................................ 335 
SUBMÓDULO ‘DECODIFICADOR DE COMANDOS’........................................................... 335 
SUBMÓDULO ‘CONVERTIDOR NUMEROS=>CARACTERES’ ........................................ 335 
SUBMÓDULO ‘CONTROLADOR DE COMUNICACIONES’ ............................................... 336 
SUBMÓDULO ‘MULTIPLEXOR’ ................................................................................................ 337 
AUTOEVALUACION...................................................................................................................... 337 
LECCIÓN 4: CASO PRÁCTICO, SISTEMA DE CONTROL DE TEMPERATURA ........ 338 
AUTOEVALUACION...................................................................................................................... 342 
LECCIÓN 5: CONTROL DIGITAL DE POSICIÓN CON ACELEROMETROS
UTILIZANDO FPGAS ................................................................................................................... 343 
INTRODUCCIÓN ............................................................................................................................ 343 
RECURSOS UTILIZADOS ........................................................................................................... 343 
CONTROL DIGITAL ...................................................................................................................... 346 
ARQUITECTURA............................................................................................................................ 347 
IMPLEMENTACIÓN ....................................................................................................................... 350 
CONCLUSIONES ........................................................................................................................... 352 
AUTOEVALUACION...................................................................................................................... 352 
ACTIVIDADES COMPLEMENTARIAS DE LA UNIDAD 3 .................................................. 353 
FUENTES DOCUMENTALES DE LA UNIDAD 3 ...................................................................... 354 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LISTADO DE TABLAS

Cuadro 1: Evolución de las reglas de diseño de los circuitos integrados. ........................... 32 
Cuadro 2: Evolución de los chips de Intel en sus diversas características.[5] ..................... 33 
Cuadro 3: Algunas áreas tecnológicas en crecimiento exponencial. [3] .............................. 34 
Cuadro 4: Mejor ajuste actual al crecimiento de la microelectrónica. [3] .............................. 35 
Cuadro 5: Ventas y computadoras personales estimadas en el mundo................................. 37 
Tabla 4.1 Niveles de abstracción y ejemplos de elementos utilizados en las
representaciones del diseño en las distintas vistas ................................................................... 165 
Tabla 4.2 Variables a nivel físico derivadas del proceso de fabricación................................ 169 
Tabla 4.3 Variables de diseño a nivel eléctrico. ......................................................................... 170 
Tabla 4.4 Variables de diseño a nivel lógico/macromodelo ..................................................... 171 
Tabla 4.5 Variables de diseño a nivel de arquitectura............................................................... 172 
Tabla 4.6 Prospección de mejoras de la velocidad en función de estrategias de diseño,
tomando como punto de partida el micro Alpha ......................................................................... 180 
Tabla 4.7 Características de implementación y de la tecnología para un microprocesador
Alpha de última generación............................................................................................................ 181 
Tabla 4.8 Resumen de caracterIsticas de diferentes alternativas de realización de un
circuito integrado.............................................................................................................................. 192 
Tabla 8.1: Evolución de los FPAAs ............................................................................................ 294 
Tabla 8.2: FPAAs comerciales .................................................................................................... 295 
Tabla 8.3 Circuitos FPAAs de la familia IspPAC..................................................................... 297 
Tabla 9.1 Ejemplo de comunicación entre fpga y modem GSM.......................................... 339 
Tabla 9.2 Resultados de la implementación hardware .......................................................... 341 
Tabla 9.3. Cambios en los ejes X y Y a ±90°. ......................................................................... 346 
Tabla 9.4. Valores del acelerómetro ADXL202E. ................................................................... 350 
Tabla 9.5. Características del contador de control................................................................. 350 
Tabla 9.6. Características de servomotor Futaba S3004. .................................................... 351 
Tabla 9.7. Valores de inclinación para las diferentes etapas. ............................................. 351 
Tabla 9.8. Porcentaje utilizado del FPGA................................................................................. 352 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LISTADO DE GRÁFICOS Y FIGURAS

Figura 1.1 Microfotografía de un circuito integrado ................................................................. 27 


Figura 1.2. Sección transversal de un transistor MOSFET con canal n................................... 41 
Figura 1.3. Amplificador operacional ideal .................................................................................... 46 
Figura 1.4. Amplificador comparador ............................................................................................. 48 
Figura 1.5. Amplificador seguidor ................................................................................................... 48 
Figura 1.6. Amplificador inversor..................................................................................................... 49 
Figura 1.7. Amplificador No inversor .............................................................................................. 49 
Figura 1.8. Sumador inversor .......................................................................................................... 50 
Figura 1.9. Restador.......................................................................................................................... 50 
Figura 1.10. Integrador ideal ............................................................................................................ 51 
Figura 1.11. Derivador ideal............................................................................................................. 51 
Figura 1.12. Diagrama electrónico del operacional 741........................................................... 53 
Figura 1.13. Espejo de corriente.................................................................................................... 56 
Figura 1.14. Espejo de corriente implementado con transistores bipolares tipo NPN
usando una resistencia para fijar la intensidad de referencia I REF ......................... 57 

Figura 1.15. Ejemplos de diseños microelectrónicos (a) analógicos y (b) digitales. ............. 60 
Figura 1.16.Clasificación jerárquica de los sistemas digitales. ................................................. 61 
Figura 1.17. Pasos del proceso de fabricación de un circuito CMOS con el proceso de n-
well. ...................................................................................................................................................... 63 
Figura 1.18. Reglas de diseño de un proceso CMOS en tecnología de 0.12 µm................. 66 
Figura 1.19. Procesos en el flujo de diseño top-down. ............................................................... 67 
Figura 1.20. Diferentes pasos del flujo de diseño top-down ...................................................... 69 
Figura 1.21. Flujo de diseño. ........................................................................................................... 71 
Figura 2.1. Propiedades del Algebra de Boole: Tablas y representación gráfica................... 74 
Figura 2.2. Puerta NOR RTL ........................................................................................................... 75 
Figura 2.3. Puerta NAND DTL......................................................................................................... 75 
Figura 2.4. Puerta NAND TTL ......................................................................................................... 76 
Figura 2.5. Inversor CMOS .............................................................................................................. 79 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 2.6. Compuerta NAND CMOS ............................................................................................ 80 


Figura 2.7. Compuerta NOR CMOS............................................................................................... 81 
Figura 2.8. Retardos de propagación en puertas lógicas........................................................... 82 
Figura 2.9. Sistema combinacional ................................................................................................ 86 
Figura 2.10. Semisumador............................................................................................................... 87 
Figura 2.11. Semisumador con AND, OR, INVERSOR.............................................................. 87 
Figura 2.12. Sumador completo...................................................................................................... 88 
Figura 2.13. Decodificador............................................................................................................... 91 
Figura 2.14. Decodificador BCD a 7 segmentos.......................................................................... 92 
Figura 2.15. Multiplexor (a) y Demultiplexor (b)........................................................................... 94 
Figura 2.16. Multiplexor.................................................................................................................... 96 
Figura 2.17. Demultiplexor............................................................................................................... 97 
Figura 2.18. Comparador con compuertas ................................................................................... 98 
Figura 2.19. Autómata de Mealy................................................................................................... 102 
Figura 2.20. Autómata de Moore .................................................................................................. 102 
Figura 2.21. Circuitos biestables .................................................................................................. 103 
Figura 2.22. Flip Flop SR ............................................................................................................... 104 
Figura 2.23. Flip Flop D.................................................................................................................. 106 
Figura 2.24. Flip Flop JK ................................................................................................................ 107 
Figura 2.25. Flip Flop T .................................................................................................................. 108 
Figura 2.27. Registro de desplazamiento ................................................................................... 109 
Figura 2.28. Contadores de modulo N......................................................................................... 110 
Figura 2.29. Estructura máquina de estados finitos .................................................................. 111 
Figura 2.30. Estructura máquina de Moore................................................................................. 112 
Figura 2.31. Imposibilidad de tener transiciones simultáneas en más de una señal digital.
............................................................................................................................................................. 115 
Figura 2.32. Ejemplo de azar de función..................................................................................... 116 
Figura 2.33. Ejemplo de azares lógicos. ..................................................................................... 118 
Figura 3.1. Estructuras básicas de un PLD ................................................................................. 122 
Figura 3.2. Macrocelda de un GAL22V10................................................................................... 123 
Figura 3.3. Estructura típica de un GAL ...................................................................................... 123 
Figura 3.4. Representación simplificada de una función.......................................................... 127 
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 3.5.Estructura de una PAL ................................................................................................ 128 


Figura 3.6.Estructura de una FPLA.............................................................................................. 129 
Figura 3.7.Estructura de una PROM............................................................................................ 130 
Figura 3.8. Arquitectura Básica de un CPLD .............................................................................. 131 
Figura 3.9. Estructura de un Bloque Lógico en dispositivos de las familias MAX340 y
MAX5000 ........................................................................................................................................... 133 
Figura 3.10. Distribución de Productos en dispositivos de ....................................................... 134 
Figura 3.11. Macroceldas de entrada/salida y macroceldas ocultas en dispositivos de la
familia FLASH 370 ........................................................................................................................... 135 
Figura 3.12. Macrocelda de entrada en dispositivos de la familia FLASH 370..................... 136 
Figura 3.13. Arquitectura básica de un FPGA ............................................................................ 137 
Figura 3.14. Bloque Lógico Configurable de la familia XC4000 de Xilinx, Inc. ..................... 139 
Figura 3.15. Modulo Lógico de la familia ACT3 de Actel Corporation .................................... 139 
Figura 3.16. Elemento Lógico de la familia APEX20K de Altera Corporation ....................... 140 
Figura 3.18. Circuito detector de transiciones ............................................................................ 144 
Figura 3.19. Diagrama de bloques para un FPAA ..................................................................... 145 
Figura 3.20. Diagrama de bloques de un PACblock.................................................................. 149 
Figura 3.21. Diagrama esquemático del TRAC020 ................................................................... 151 
Figura 3.22. Diagrama de bloques básico de un CAB. ............................................................. 152 
Figura 3.23. Diagrama de bloques de la matriz del AN10E40 ................................................. 153 
Figura 3.24. Diagrama de bloques de los FPAAs ...................................................................... 154 
Figura 4.2. Procedimientos de los que consta el diseño de circuitos y sistemas integrados
............................................................................................................................................................. 168 
Figura 4.3. Relación entre la especificación y la implementación de un sistema................. 174 
Figura 4.4 a) Estrategia de diseño descendente. b) Estrategia de diseño ascendente ...... 175 
Figura 4.5. Flujo básico de diseño de un ASIC .......................................................................... 177 
Figura 4.6. Pasos en el proceso de diseño de un microprocesador Alpha de Compaq...... 179 
Figura 4.7. Arquitectura interna de un microprocesador Alpha de última generación......... 182 
Figura 4.8. Fotografía del microprocesador de Alpha presentado en la Figura 4.7............. 184 
Figura 4.9. Distribución de los buffers de reloj y análisis del skew de la señal de reloj para
todo el chip, en un microprocesador Alpha de última generación........................................... 185 
Figura 4.10. Ejemplo de tabla de dedicación de personal a un proyecto .............................. 188 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 5.1. Biestable D sincronizado por flanco basado en una estructura maestro-esclavo
............................................................................................................................................................. 197 
Figura 5.2. Descripción mediante un lenguaje tipo SPICE del biestable D de Figura 5.1 .. 198 
Figura 5.3. Resultados de una simulación temporal para el biestable D de la Fig. 5.1....... 199 
Figura 5.4. a) Macromodelo de un amplificador operacional y b) su descripción en SPICE
............................................................................................................................................................. 199 
Figura 5.5. Descripción lógica de un biestable D incorporando información adicional a la
función lógica del componente ...................................................................................................... 202 
Figura 5.6. Modelo de estructura en VHDL ................................................................................. 206 
Figura 5.7. Modelo de concurrencia en VHDL............................................................................ 207 
Figura 5.8. Ciclo de simulación VHDL.......................................................................................... 209 
Figura 5.9. Determinismo en la simulación VHDL...................................................................... 210 
Figura 5.10. Diagrama de la interfaz del semisumador de 2 bits ............................................ 212 
Figura 5.11. Programación mediante VHDL ............................................................................... 223 
Figura 5.12. VHDL de un biestable D por flanco de subida                                                224 

Figura 5.13. Descripción RTL de un multiplicador-acumulador (MAC) .................................. 228 


Figura 5.15. Resultados del proceso de síntesis de alto nivel para la resolución numérica
mediante el método directo de Euler de una ecuación a) Grafo de flujo de datos , b)
datapath y c) FSM que implementa la unidad de control.......................................................... 233 
Figura 5.16. Implementación alternativa de la ecuación diferencial con más recursos y
menor coste temporal...................................................................................................................... 233 
Figura 5.17. Organización de toda herramienta CAD................................................................ 235 
Figura 5.18. Dominio de herramientas CAD en un plano nivel de representación-función de
la herramienta................................................................................................................................... 237 
Figura 6.1. Tarjeta-sonda de test de circuitos integrados. ................................................... 245 
Figura 6.2. Dispositivos combinacionales y secuenciales bajo test ................................... 247 
Figura 6.3. Mejora de la testabilidad por medio de la introducción de multiplexores .... 249 
Figura 6.4. Test serie scan-based .............................................................................................. 250 
Figura 6.5. Chequeo de un pipeline usando partial ………………………………………..251 

Figura 6.6. Aproximación boundary-scan para el chequeo de circuitos impresos.......... 252 


Figura 6.7. Formato general de una estructura BIST............................................................. 253 
Figura 6.8. LFSR de tres bits y la secuencia que genera ..................................................... 253 
Figura 6.9. Análisis de signatura en una línea de datos de un solo bit ………………………….254 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 6.10. Puerta simple con fallos anotados ...................................................................... 257 


Figura 6.11. Red lógica simple con un fallo sa0 en el nodo U............................................. 259 
Figura 7.1. Esquema interno de una FPGA ............................................................................. 266 
Figura 7.2. Estructura de un bloque de procesamiento (Basic Logic Element, BLE) y un
Cluster ............................................................................................................................................... 268 
Figura 7.3. Relación interna de áreas dentro de un FPGA................................................... 269 
Figura 7.4. Interconexiones programables en una FPGA ..................................................... 270 
Figura 7.5. Estructura de bloques de interconexión y bloques lógicos ............................. 271 
Figura 7.6. Punto de interconexión formado por 6 transistores de paso .......................... 271 
Figura 7.7. Segmentos de interconexión (Xilinx XC4000) .................................................... 272 
Figura 7.8. Detalle de los diferentes tipos de interconexiones ............................................ 273 
Figura 7.9. Detalle de las interconexiones de una FPGA ..................................................... 274 
Figura 7.10. Diagrama de bloques del Stratix II ...................................................................... 277 
Figura 7.11. Estructura de un LAB del Stratix II...................................................................... 278 
Figura 7.12. Diagrama de un Adaptive Logic Module (ALM) del Stratix II ........................ 278 
Figura 7.13. Diferentes configuraciones de un ALM .............................................................. 279 
Figura 7.14. Bloque lógico de DSP ............................................................................................ 279 
Figura 7.15. Elemento de IO del Stratix II................................................................................. 280 
Figura 7.16. Arquitectura jerárquica de una Virtex II ............................................................. 281 
Figura 7.17. Configuración de un Slice de un Virtex II .......................................................... 282 
Figura 7.18. Diferentes tipos de slices en el Virtex 4............................................................. 283 
Figura 7.19. Virtex 4 vista simplificada de un sílice ............................................................... 283 
Figura 7.20. Niveles de especificación de un diseño y los diferentes procesos
involucrados ..................................................................................................................................... 285 
Figura 7.21. Proceso típico de diseño con un HDL ................................................................ 289 
Figura 8.1. Diagrama de bloques para un FPAA .................................................................... 292 
Figura 8.2. Diagrama de bloques de un PACblock................................................................. 296 
Figura 8.3. Diagrama esquemático del TRAC020 .................................................................. 298 
Figura 8.4. Diagrama de bloques básico de un CAB. ............................................................ 299 
Figura 8.5. Diagrama de bloques de la matriz del AN10E40 ............................................... 300 
Figura 8.6. Diagrama de bloques de los FPAAs……………………………………………301 

Figura 8.7. Estructura de un filtrode respuesta impulsional finita (FIR)………..............307 


 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 8.8. Representaciones numéricas comunes en los DSP comerciales .................. 306 
Figura 8.9. (Arriba) Formato de coma flotante IEEE-754; 1 bit de signo, 8 de exponente
y 23 de mantisa. (Abajo) Formato en coma fija; 1 bit de signo y 31 bits significativos . 308 
Figura 8.10. (Arriba) Arquitectura Von Neumann. (Abajo) Arquitectura Harvard ............ 312 
Figura 8.11. Ejecución de instrucciones sin pipeline ............................................................. 313 
Figura 8.12. Procesador que utiliza la técnica del pipeline .................................................. 313 
Figura 8.13. Efecto en la pipeline ante la llegada de una instrucción de salto ……………..314 

Figura 8.14. Núcleo de los TMS320C62xx de Texas Instruments……………………………………316 

Figura 8.15 Tipos de DSP según la aritmética utilizada ...................................................... 318 


Figura 8.16 Tipos de DSP según el paralelismo del dispositivo ........................................ 320 
Figura 8.17 Criterios de selección de DSPs ........................................................................... 320 
Figura 8.18. Rango dinámico en DSPs .................................................................................... 321 
Figura 8.19 Familias de DSPs .................................................................................................... 322 
Figura 8.20 Areas de aplicación de DSPs ............................................................................... 323 
Figura 8.21. Ejemplo de aplicación de DSPs.......................................................................... 324 
Figura 9.1. Estructura general de la plataforma propuesta .................................................. 328 
Figura 9.2. Aspecto final de la plataforma hardware ............................................................ 330 
Figura 9.3. Estructura general de la arquitectura hardware diseñada............................... 330 
Figura 9.4. Estructura hardware detallada en los submódulos VHDL ............ 331 
Figura 9.5. Ejemplo de evolución de las salidas del controlador de temperatura
desarrollado...................................................................................................................................... 339 
Figura 9.6. Servomotor.................................................................................................................. 344 
Figura 9.7. Posiciones media y extremas del servomotor según el ancho de pulso de la
señal PWM. ...................................................................................................................................... 344 
Figura 9.8. Acelerómetro ADXL202E vista superior. ............................................................. 345 
Figura 9.9. Arquitectura básica de un FPGA. .......................................................................... 346 
Figura 9.10. Etapas del sistema. ............................................................................................... 347 
Figura 9.11. Modulación DCM del sensor de inclinación..................................................... 347 
Figura 9.12. Representación de la Cinemática Directa. ........................................................ 349 
Figura 9.13. Rangos de valores del decodificador. ............................................................... 349 
Figura 9.14. Recursos implementados del Control Digital por el FPGA. .......................... 351 
 
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

UNIDAD 1

Nombre de la Unidad TECNOLOGÍA MICROELECTRÓNICA


Introducción Los sistemas electrónicos que utilizan dispositivos de
potencia, fotónicos o de microondas son normalmente
dispositivos discretos. Por ejemplo, los diodos IMPATT
son utilizados como generadores de microondas, los
láseres como fuentes de radiación óptica y los tiristores
como conmutadores de potencia. Sin embargo,
monocristalino e interconectado por patrones de
metalizaciones. Los circuitos integrados (CI) tienen
muchas más ventajas que los discretos
interconectados por cables o pistas metálicas. Estas
ventajas incluyen: la reducción de efectos parásitos, ya
que en los CI con multinivel de metalizaciones se
reduce enormemente la longitud de las pistas
metálicas; una optimización del espacio, ya que los
dispositivos están fabricados muy juntos; y una
drástica reducción del coste de fabricación, porque las
conexiones de los cables de un circuito discreto
requieren mucho tiempo y se producen errores de
conexión.

En este tema se combinan la descripción de los


procesos básicos estudiados en cursos anteriores
(Análisis de circuitos, electrónica básica y sistemas
digitales) con la fabricación de los dispositivos activos y
pasivos en un circuito integrado.

Se analizan las principales tecnologías de circuitos


integrados, que están asociadas con las dos familias de
transistores estudiadas: transistores bipolares (BJT) y
unipolares (MOSFET y MESFET). Finalmente se realiza
una introducción a los Principales Dispositivos Lógicos
Programables.

Justificación La microelectrónica es la aplicación de la ciencia


electrónica a componentes y circuitos de
dimensiones muy pequeñas, microscópicas y
hasta de nivel molecular para producir dispositivos
y equipos electrónicos de dimensiones reducidas
pero altamente funcionales.
El estudiante de tecnología e ingeniería electrónica debe
conocer la importancia que tiene la tecnología
microelectrónica dentro de la ingeniería, ya que esto le
permitirá obtener las bases para diseñar una solución que

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

mejore su desempeño en el campo. En la Unidad 1 se


presentan un breve repaso por los conceptos previos
fundamentales, se conoce el proceso de fabricación de
circuitos integrados y las diferentes tecnologías de
fabricación de los mismos.
Mediante el desarrollo de las lecciones propuestas se
pretende entrenar a los estudiantes en los temas tratados
durante la unidad, de tal forma que asimile correctamente
los diversos contenidos y los aplique en su entorno.
Intencionalidades • Introducir al estudiante en el campo de la
Formativas tecnología microelectrónica considerando
elementos de electrónica digital vistos en cursos
anteriores para converger en las tecnologías para
la integración de circuitos integrados
• Describir el diseño y la
fabricación de un circuito integrado y sus
interconexiones.
• Identificar las diferentes puertas lógicas desde el
punto de vista de estructura interna diferenciando
sus tecnologías.
• Retomar el tema de circuitos combinacionales y
circuitos secuenciales.
• Identificar los circuitos a medida ASIC, reconocer
los diferentes Dispositivos Lógicos Programables y
sus características.

Denominación de • Capítulo 1: Introducción a la Microelectrónica y


capítulos procesos de fabricación.
• Capítulo 2: Repaso de Electrónica Digital.
• Capítulo 3: Tecnologías para la Integración
de Circuitos Digitales: Circuitos integrados
a medida (ASIC).

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

CAPÍTULO 1: INTRODUCCIÓN A LA MICROLECTRÓNICA Y PROCESOS DE


FABRICACIÓN

LECCIÓN 1: BREVE HISTÓRICA SOBRE LA MICROELECTRÓNICA

EL PASADO DE LA ELECTRÓNICA

Las primeras observaciones relacionados con los fenómenos eléctricos son


del tiempo de la Grecia Antigua (Tales de Mileto, Demócrito, etc...). Sin
embargo, no es hasta el siglo XIX cuando se desarrollan algunas teorías que
explican satisfactoriamente parte de dichos fenómenos. En 1893, Maxwell
reunió las investigaciones en el campo de la electricidad y magnetismo de
grandes científicos tales como Coulomb, Ampere, Ohm, Gauss, Farad ay, y
publicó las reglas matemáticas que rigen las interacciones electromagnéticas.
Aunque Maxwell no reconoce lanaturaleza corpuscular de la corriente
eléctrica, sus ecuaciones son aplicables incluso después del
establecimiento de la naturaleza discreta de la carga. La predicción de la
existencia de ondas electromagnéticas y su posibilidad de propagación en el
espacio constituye muy probablemente la base del posterior desarrollo de las
comunicaciones, y en definitiva, de la Electrónica.

La Electrónica probablemente no se inicia hasta que Lorentz postuló en 1895 la


existencia de cargas discretas denominadas electrones. Thompson halló
experimentalmente su existencia dos años más tarde y Millikan midió con
precisión la carga del electrón ya entrado el siglo XX. Hasta principios de este
siglo, la Electrónica no empezó a tomar cariz tecnológico. En 1904, Fleming
inventó el diodo que denominó válvula el cual consistía en un filamento
caliente, emisor de electrones, situado en el vacío a una corta distancia de una
placa. En función de la tensión positiva o negativa de la placa, se producía
paso de corriente en una dirección. Esta válvula se empleó como detector de
señales inalámbricas y vino a sustituir a los detectores de galena utilizados hasta
ese momento, que eran de difícil construcción y precisaban de continuos ajustes
manuales.

Quizá el acontecimiento más importante en la historia primitiva de la electrónica


tuvo lugar en 1906 cuando De Forest interpuso un tercer electrodo (rejilla) en
una válvula de Fleming creando el tubo tríodo denominado audión. En este
dispositivo, la aplicación de una pequeña tensión a la rejilla produce una alta
variación de la tensión de la placa; por consiguiente, el audión fue el
primer amplificador de la historia. No obstante, se necesitaron varios años
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

para avanzar en el problema de emisión termoiónica con objeto de conseguir un


elemento electrónico seguro.

El desarrollo de la electrónica en ésta época está ligado al desarrollo de la radio.


Basados en tubos de vacío se construyen diferentes tipos de circuitos con
aplicación en las comunicaciones por radio. Con diodos y tríodos fueron
diseñados los amplificadores en cascada, amplificadores regenerativos,
osciladores, el receptor heterodino, entre otros. Este desarrollo de la
electrónica permitió fundar la primera emisora de radiodifusión, KDKA,
construida en 1920 por la Westinghouse Electric Corporation; en 1924, ya
había 500 estaciones de radio en Estados Unidos. La evolución del tríodo
dio lugar a técnicas de calentamiento indirecto del cátodo y a la
introducción de los tetrodos, pentodos y las ampollas de vidrio en miniatura. En
1938 se encuentra disponible del primer receptor en FM después que
Armstrong en 1933 desarrolló la modulación en frecuencia. La televisión en
blanco y negro surgió en 1930 y la de color alrededor de la mitad de este siglo.

LA ELECTRÓNICA Y LOS SEMICONDUCTORES

La verdadera revolución tecnológica de la Electrónica surge con la invención de


los dispositivos basados en semiconductores, y más en concreto, con la
invención del transistor. Los primeros trabajos sobre semiconductores fueron
comenzados por Hall en 1879 sobre el efecto que lleva su nombre. Los
primeros rectificadores de unión metal-semiconductor se estudian entre 1920 y
1930, y es en 1938 cuando Shottky y Mott realizan separadamente un estudio
sistemático sobre las propiedades de estos dispositivos, proponiendo la primera
teoría del espacio de carga. En esta época, se realizan muchos estudios
sobre semiconductores y se perfeccionan las técnicas de crecimiento de
cristales. En 1943, se obtiene la primera unión P-N sobre cristal único de silicio.

En 1947, se presionaron dos sondas de hilo de oro próximas entre sí sobre


una superficie de un cristal de germanio. Brattain y Bardeen se dieron cuenta
que era un dispositivo amplificador naciendo así el primer amplificador de
estado sólido (en forma de transistor de contacto). Sin embargo, era un
transistor deficiente, de poca amplitud de banda y mucho ruido, donde
además los parámetros diferían ampliamente de uno a otro dispositivo.
Shockley propuso el transistor de unión para mejorar las características del
transistor de punta de contacto, y completó su teoría de funcionamiento. El
nuevo dispositivo tenía portadores de ambas polaridades operando
simultáneamente: eran dispositivos bipolares. En 1956, Bardeen, Brattain y
Shockley recibieron el premio Nobel de física por sus investigaciones.

El transistor no podía ser eficiente hasta que no se dispusiese de cristales


simples extraordinariamente puros. Bell Laboratories lograron formar cristales
simples de germanio y silicio con impurezas muy por debajo de una parte en
mil millones, y a partir de aquí, fue posible controlar el proceso de dopado de
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

los semiconductores. Los primeros transistores de crecimiento fueron


construidos en 1950, y un año después, ya se fabricaban
comercialmente por RCA, Westinghouse, General Electric y Western Electric. En
esta época, los componentes de estado sólido desplazaron virtualmente a las
válvulas en casi todas las aplicaciones, tanto militares como comerciales.

La idea inicial de construir un circuito completo de estado sólido en un bloque


semiconductor fue propuesta por Dummer en 1952. No obstante, en 1958 Kilby,
poco después de incorporarse a la Texas Instrument, concibió la idea de un
monolítico, es decir, construir un circuito completo en germanio o silicio. El primer
circuito integrado fue un oscilador por rotación de fase que se construyó
empleando como material base el germanio, y sobre él, se formaban
resistencias, condensadores y transistores, utilizando cables de oro para unir
estos componentes. Simultáneamente, Noyce, de Fairchild Semiconductor, tuvo
también la idea de un circuito monolítico en el que aisló mediante diodos p-n
los distintos dispositivos, desarrolló la fabricación de resistencias e
interconectó los diferentes dispositivos mediante metal vaporizado. No
obstante, el primer transistor de difusión moderno fue creado por Hoerni de
Fairchild en 1958 empleando técnicas fotolitográficas y utilizando los procesos de
difusión antes desarrollados por Noyce y Moore. La clave de la fabricación de
circuitos integrados reside en el transistor planar y la posibilidad de
fabricación en masa. En 1961, Fairchild y Texas Instrument introdujeron
comercialmente los circuitos integrados.

Otro dispositivo que intervino en el avance espectacular de la Electrónica, aunque


su desarrollo fue posterior al del transistor debido a problemas tecnológicos, es
el transistor de efecto de campo. Antes de la invención de este transistor,
numerosos investigadores ya habían estudiado la variación de conductividad de
un sólido debido a la aplicación de un campo eléctrico. El transistor de unión
de efecto de campo fue propuesto por Shockley en 1951, aunque problemas
tecnológicos para lograr una superficie estable retrasaron su realización física.
Estos problemas fueron solucionados al desarrollarse el proceso planar y la
pasivación de la superficie con óxido de silicio (SiO2). En 1960, Kahng y Atalla,
de Bell Laboratories, anunciaron el primer transistor de efecto de campo de
puerta aislada. En 1962, Hofstein y Heiman emplearon la nueva tecnología
MOS para fabricar un circuito integrado con más de mil elementos activos. El
nuevo dispositivo MOS presentaba diversas ventajas sobre transistores
bipolares y sentaba la base para el desarrollo de la alta escala de integración.

LA MICROELECTRÓNICA Y EL SIGLO XX

Las técnicas de integración de circuitos se beneficiaron de los avances


tecnológicos. Los procesos de implantación iónica y litografía permitieron
realizar líneas de conexión en la oblea de silicio con anchuras del orden de
micras. Además, el avance en las tecnologías de integración introdujeron los

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

circuitos PMOS y CMOS, con unas características de tiempos de


propagación y potencia consumida cada vez mejores. La eficiencia, velocidad
y producción han mejorado continuamente en los transistores de unión y efecto
de campo, a la vez que el tamaño y el costo se ha reducido considerablemente.
En poco tiempo, se pasó de construir elementos discretos a sistemas integrados
con más de un millón de transistores en una sola pastilla. La evolución ha sido
espectacular: así, en 1951 se fabricaron los primeros transistores discretos, en
1960 se construyeron los primeros circuitos monolíticos con 100 componentes,
en 1966 estos circuitos alcanzaron 1000 componentes, en 1969 se llegó a
10000, y actualmente se están fabricando circuitos integrados con varios millones
de transistores.

Figura 1.1 Microfotografía de un circuito integrado

En un principio, los circuitos desarrollados para aplicaciones de comunicación


utilizando tubos de vacío, fueron construidos con transistores discretos. Sin
embargo, los investigadores de los años 60 se dieron cuenta que estos
mismos circuitos no eran transplantables directamente a circuitos integrados y
que era preciso diseñar estructuras nuevas. Esto potenció el desarrollo de
nuevas estructuras tales como las fuentes de polarización desarrolladas por
Widlar y a la introducción del primer amplificador operacional comercial (µA702).
En 1968, los laboratorios de Fairchild presentan el popular amplificador
operacional compensado internamente µA741. Otros circuitos analógicos de
esta época son los comparadores, reguladores de tensión, los PLL
monolíticos, convertidores analógica-digital, etc...

La revolución microelectrónica introdujo una nueva industria: la computación.


Esta industria surgió por la gran expansión que se produce en el campo de la
electrónica digital. En 1960, Noyce y Norman introdujeron la primera familia

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

lógica semiconductora, lógica resistencia-transistor (RTL), que sirvió de base para


la construcción de los primeros circuitos integrados digitales. Seguidamente,
en 1961, apareció la familia de acoplo directo (DCTL), y un año más tarde la
lógica diodo transistor (DTL). En 1964, Texas Instrument presenta la lógica
transistor-transistor (TTL), y la serie de circuitos integrados digitales 54/74 que
han permanecido activos hasta hace poco. Motorola, en 1962 introduce la
lógica de emisores acoplados (ECL) de alta velocidad y en 1968 con ésta
misma lógica logra tiempos de retraso del orden del nanosegundo. En
contrapartida, en 1970 se lanza la serie TTL en tecnología Shottky y en 1975
aparece la serie TTL Shottky de baja potencia con tiempos de retraso muy
próximos a la ECL. En 1972, apareció la familia lógica de inyección integrada
(IIL) cuya principal característica es su alta densidad de empaquetamiento.

La electrónica digital tiene su máxima expansión con las familias lógicas


basadas en el transistor MOS, debido a que su proceso de fabricación es más
sencillo, permite mayor escala de integración y los consumos de potencia son
más reducidos. Estas características ha dado lugar que la tecnología MOS
desplace a la bipolar en la mayor parte de las aplicaciones. El proceso de
miniaturización en tecnología MOS se encuentra por debajo de 1 micra
aproximándose rápidamente a su límite físico. Esto ha permitido que se puedan
realizar circuitos integrados que incorporan millones de dispositivos.

En la década de los ochenta se introducen los circuitos digitales BiCMOS que


ofrecen conjuntamente el bajo consumo de la tecnología CMOS y la velocidad
de las familias bipolares a costa de una mayor complejidad y coste del
proceso de fabricación. También se desarrollan circuitos de alta velocidad
basados en el GaAs con retrasos del orden de decenas de picosegundos.
Existen muchas expectativas en el desarrollo de esta tecnología aunque
problemas de fabricación no permiten actualmente alcanzar la escala de
integración que se logra con el silicio.

Paralelamente, se desarrollan teorías matemáticas para análisis y diseño


de sistemas electrónicos. Particularmente, el espectacular desarrollo de las
computadoras digitales se debe en gran parte a los avances conseguidos en
la Teoría de Conmutación, que establece modelos matemáticos para los
circuitos digitales, transformando los problemas de diseño y verificación
en técnicas matemáticas muy algoritmizadas e independientes en gran
medida de los dispositivos físicos. El desarrollo de la Teoría de Conmutación
puede decirse que empieza con los trabajos de Shannon en 1938, en los que
aplica el álgebra de Boole al análisis de circuitos relevadores. El álgebra de
Boole fue desarrollado en 1854 como una concrección matemática de las leyes
de la lógica de predicados estudiada por los filósofos de la época. La
Teoría de Conmutación se extiende principalmente a circuitos combinacionales
hasta que, a mediados de la década de los cincuenta, los trabajos de Huffman
y de Moore desarrollan la teoría de los circuitos secuenciales. El carácter

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

algorítmico de las técnicas de diseño las hace especialmente aptas para su


resolución mediante computador, con lo que éste se convierte así en
herramienta básica para el desarrollo de sistemas digitales en general y de
nuevos computadores más potentes y sofisticados en particular.

El más significativo avance de la electrónica digital es la introducción en 1971 del


microprocesador, debido a la necesidad de producir un circuito estándar de
propósito general y gran flexibilidad que sirviera para las calculadoras y fuera
apto a otras muchas aplicaciones. En 1971, Intel introdujo en el mercado el
microprocesador de cuatro bits conocido como el modelo 4004. Era una
CPU completa monolítica con 45 instrucciones en tecnología PMOS con 2300
transistores. El éxito del procesador fue inmediato y su amplia difusión supuso el
comienzo de una auténtica revolución industrial. Dos años posteriores a la
presentación del primer procesador, Intel desarrolla el microprocesador de 8
bits 8008 con una velocidad de 50000 instrucciones por segundo. Este
continuo desarrollo de los microprocesadores ha permitido en la actualidad
construir procesadores de 32 bits con altas velocidades de procesado. La
evolución de los microprocesadores es actualmente muy rápida, con creciente
implantación en los procesos de automatización industrial, robótica,
instrumentación inteligente, y en los elementos de sociedad de consumo,
automóviles, electrodomésticos, etc. La introducción de microprocesadores más
potentes ha marcado un rápido desarrollo de los microcomputadores y
computadores personales, y su implantación es cada vez más importante en
el ámbito de automatización de oficinas e industria, comunicaciones y redes
informáticas.

AUTOEVALUACIÓN:

1. Podemos afirmar que tanto el desarrollo de la lámpara


incandescente de T. A. Edisson y el Audión de Forest dieron inicio a
los principios de amplificación de una señal análoga? Sustentar su
respuesta.

2. El siglo XIX se reconoce por las explicaciones científicas de los


fenómenos eléctricos que fueron observados en la antigua Grecia.
Realice una breve descripción de cada uno de ellos.

3. Se presume que la electrónica inicia en 1895 cuando Lorenz realiza


un postulado. Cual fue este postulado?

4. Defina el concepto de semiconductor?

5. Porque el transistor es un semiconductor?

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

6. El proceso de miniaturización en tecnología MOS se encuentra por


debajo de 1 micra aproximándose rápidamente a su límite físico.
Esto quiere decir?

7. Defina: RTL, DCTL, DTL. TTL, ECL y TTL Shottky de baja


potencia.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 2: TENDENCIAS FUTURAS

INTRODUCCIÓN 7

La informática se desarrolló bajo una divisa implícita: más pequeño, más


rápido, más barato (smaller, faster, cheaper8). Estas tres palabras al mismo
tiempo describían el acontecer y expresaban el deseo de la industria. Eran
similares a la divisa que el barón Pierre de Coubertin había elegido para los
juegos olímpicos modernos, una terna de palabras latinas –que describían la
misma idea– para caracterizarlos: altius, citius, fortius (más alto, más rápido,
más fuerte).

Hoy sabemos que la finalidad última de la revolución informática es la


construcción de lo que se ha llamado la Sociedad de la Información, una nueva
manera de relacionarnos entre nosotros y con la naturaleza, asistidos a cada
paso por las máquinas informáticas para reducir al mínimo los procesamientos
algorítmicos de la información y liberar así la máxima capacidad creadora de la
actividad humana.

Es, por lo tanto, una pregunta central de nuestro tiempo intentar responder
cuándo ocurrirá esta Sociedad de la Información.

SMALLER

En el comienzo de la electrónica lo primero que se advirtió fue que cada vez


los circuitos eran más pequeños. La tríada comenzó en smaller.

La microelectrónica comenzó en 1961 con los circuitos integrados. En 1965


Gordon Moore advertía el crecimiento exponencial de la cantidad de
transistores de los circuitos. En un artículo en la revista Electronics publicaba
la idea primera de lo que hoy conocemos la “ley” de Gordon Moore. En este
entonces era director de Fairchild Semiconductor Corporation, una empresa
que forjaría los primeros comienzos de la microelectrónica 9.

7
http://www.itapebi.com.uy/pdfs/1cni.PDF
8
Este artículo fue preparado para el “Primer Congreso Nacional de Informática”,
Montevideo, 1997. Fue publicado en 1999 por la Oficina de Apuntes del CECEA como
Perspectivas y tendencias de la Informática en el Uruguay.
9
Moore relató muchas veces esta historia. Una las últimas versiones se encuentra en
una entrevista en Business Week, 23–jun–97, p. 66.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Moore tenía tres datos: sabía la fecha del primer transistor plano sobre silicio;
los primeros circuitos integrados, en 1961, tenían solamente 4 transistores y
observaba que en el presente –es decir
1965– habían alcanzado la enorme suma de 200 transistores. De allí pegó un
salto al vacío y adelantó que la densidad de transistores parecía duplicarse
cada año. Gordon Moore sería consecuente con esta idea y se convertiría en
uno de los pioneros del smaller, faster, cheaper: pocos años después fundaría
Intel Corporation y lideraría la revolución de los microprocesadores y las
memorias electrónicas. En 1975, con la experiencia acumulada por Intel,
analizó la tendencia de nuevo y se declaró que el número de transistores se
duplicaba cada dos años. La cifra generalmente aceptada actualmente es
intermedia: cada 18 meses se duplica el número de transistores de los chips.

La Ley de Gordon Moore –y algunas otras leyes relacionadas– establecen que


los diferentes parámetros físicos de los circuitos electrónicos integrados crecen
en forma exponencial en el tiempo. Estas leyes son típicas leyes empíricas
acerca de las cuales no existe mayor fundamentación teórica. Desde el
momento de su formulación hasta el presente han sufridos algunas
modificaciones no substanciales en los valores de sus parámetros, pero su
validez ha permanecido esencialmente no cuestionada.

El número de transistores de un chip depende en forma crítica de las


dimensiones del transistor y de los demás elementos geométricos empleados.
El tamaño del chip no incide demasiado porque no se puede aumentar en
forma importante el tamaño del trozo de silicio empleado. En la jerga técnica
este problema se conoce como “las reglas de diseño”. El mosaico que forma el
chip emplea elementos que tienen un cierto tamaño típico. Este módulo es
conocido como la “regla de diseño” empleada. El Cuadro 1 se presenta
algunas cifras.

Cuadro 1: Evolución de las reglas de diseño de los circuitos integrados.


fecha reglas de diseño ref.
1970 20 micras [1]
1975 10 micras [1]
1978 4,5 micras [1]
1980 2 a 3 micras [1]
1996 0,35 micras [5]
1997 0,25 micras [5]
1999 0,18 micras [5]

Vale la pena señalar al pasar, como dato curioso porque no tiene importancia
de ningún tipo, que las dimensiones de las células son del orden de la micra.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Esto quiere decir que los transistores de las computadoras personales de la


década del 80 ya habían alcanzado dimensiones “biológicas”.

FASTER, CHEAPER

Una consecuencia no detectada desde el principio, pero relacionada


íntimamente con los procesos físicos que ocurrían en el transistor, fue que la
miniaturización implicaba un aumento de velocidad del procesamiento. En la
medida que las distancias a recorrer dentro del silicio por los lentos portadores
de carga eran cada vez menores, los transistores podían trabajar cada vez a
mayor velocidad. En el Cuadro 2 se presenta la historia de los procesadores de
Intel y alguna especulación acerca del futuro.

Cuadro 2: Evolución de los chips de Intel en sus diversas características.[5]


chip lanzamiento precio transistores MIPS
4004 11/71 200 2,3 K 0.06
8008 4/72 300 3,5 K 0.06
8080 4/74 300 6K 0.6
8086 6/78 360 29 K 0.3
8088 6/79 360 29 K 0.3
286 2/82 360 134 K 0.9
386 10/85 299 275 K 5
486 4/89 950 1,2 M 20
Pentium 3/93 878 3,1 M 100
Pentium pro 5/95 974 5,5 M 300
786 ? 1997 1000 8M 500
886 ? 2000 1000 15 M 1.000
1286 ? 2011 ? 1G 100.000

Se puede comprobar claramente que faster es una consecuencia de smaller.


Más adelante regresaremos sobre este punto. En cambio cheaper no es
verdadero en forma literal.

Los precios de los procesadores hasta el 486 se mantuvieron esencialmente


constantes. En el momento de su lanzamiento costaron siempre alrededor de
300 dólares. Esta situación se modificó en forma notable con la llegada del
486. Se lanza un nuevo chip a la venta cuando es económicamente viable, por
esta razón su precio es esencialmente constante. Esta situación parece
cambiar a partir de la enorme difusión de la computadora Wintel con el
procesador 486. Sin duda existieron cambios en la estrategia comercial y es
posible que la situación de virtual monopolio de Intel sea la responsable del
aumento de precios. Es claro que los analistas de mercado no prevén una

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

disminución de precios para el futuro.

Intel sostiene que es cada vez más costoso montar una fábrica de
semiconductores, cada nueva generación duplica su costo [4], y es probable
que tenga razón, no obstante lo cual es opinión personal de este autor que la
verdadera razón del aumento de precios y de las enormes ganancias de Intel
en los últimos años se debe a la situación de monopolio 10.

Es claro, sin embargo, que existe una disminución de precio en el sentido de


que lo mismo cuesta –exponencialmente– cada vez menos. Nuevamente aquí
la tercera palabra es consecuencia de las otras dos. Más pequeño significa
más rápido, más rápido (a precios esencialmente constantes) significa más
barato.

EL LÍMITE FÍSICO

Todo lo presentado nos lleva de la mano a que la revolución electrónica


depende crucialmente de la capacidad para fabricar transistores cada vez más
pequeños. Pero este proceso tiene un límite: la estructura atómica del silicio.
De seguir las tendencias actuales, tarde o temprano se tropezará con límites
físicos que de tendrán el proceso u obligarán a una nueva y revolucionaria
tecnología. Es interesante analizar cuándo ocurrirán estos fenómenos.

Lewis [3] presenta cifras ajustadas de las diferentes exponenciales


relacionadas con la Ley de Gordon Moore. Tal como fuera originalmente
formulada, la ecuación de la forma:

kBt

donde k y B son constantes empíricas y t es el tiempo en años. En el Cuadro 3


se presentan algunas constantes empíricas para diversos sectores industriales
de avanzada.

Cuadro 3: Algunas áreas tecnológicas en crecimiento exponencial. [3]


área de actividad B comentarios
Manufactura de aviones 1,1 mejora de características
Ley de Gordon Moore 1,48 versión original
Ley de Gordon Moore 1,56 mejor ajuste actual

10
A pesar de la reconocida línea económica liberal de Business Week, nunca ha
sugerido esta interpretación al fenómeno.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Comunicaciones 1,78 Megabits por segundo por


Km.

Resulta claro de estas cifras que la electrónica es una de las ramas que más
ha crecido en la historia de la humanidad si la comparamos, por ejemplo, con
otra área de crecimiento vertiginoso como es la aviación. Sin embargo, las
cifras empíricas muestran –lo que es conocido por demás– que las
comunicaciones crecen todavía más que la electrónica.

En el Cuadro 4 se presentan los coeficientes empíricos actuales para el


crecimiento de la velocidad de procesamiento y del número de transistores de
los chips. Es interesante observar que la velocidad crece más que la cantidad
de transistores, lo cual evidencia las mejoras de las técnicas de diseño de los
procesadores por mayor empleo del paralelismo interno.

Cuadro 4: Mejor ajuste actual al crecimiento de la microelectrónica. [3]


área de actividad B k
crecimiento de los MIPS 1,56 0,002374
crecimiento del número de
1,37 1,492
transistores

Si aceptamos que estas ecuaciones empíricas representan la tendencia


histórica de la microelectrónica, ahora será sencillo investigar cuando –
plausiblemente– se llegará a los límites físicos de fabricación de nuevos chips.

Aplicando la Ley de Gordon Moore con las cifras del Cuadro 4 en el 2006 se
llegará a un transistor por átomo de silicio. Es claro que las tendencias
actuales predicen entonces una corta vida a la actual frenética revolución de la
microlectrónica. Este resultado sorprendente contrasto con otra predicción
alentadora. Si suponemos que el chip último que se puede fabricar en silicio es
capaz de realizar una operación, a la velocidad de la luz (el límite físico) entre
dos átomos del cristal, esto conduce a 3x1011 MIPS y este límite se
alcanzaría, según la ecuación empírica, más allá del 2020. Esto significa que el
chip último se encuentra, posiblemente, a menos de una década del presente.

Es interesante observar que el problema no se soluciona cambiando el silicio


por otro material: las propiedades de los cristales son muy parecidas entre sí,
otro semiconductor no cambiará nada esencial en estos límites físicos.

Muchos autores ya han advertido de este problema de los límites físicos de los
transistores. Keys [2] sostiene que al acercarse las reglas de diseño a 100
Ångstroms (0,01 micras) empiezan los efectos cuánticos. El límite de
laboratorio posiblemente esté en 30 Ångstroms (0,003 micras) y se llegará a

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

estos límites hacia el 2003. Otros autores sostienen que el proceso será más
lento y que recién en el 2010 se llegará a 0,1 micras 11. Su propuesta de nueva
tecnología consiste en reemplazar los transistores por “islotes atómicos” de 20
nanometros de largo (0,02 micras) que contienen unos 60 átomos de silicio de
largo, porque todavía no se manifiestan en forma “molesta” las propiedades
cuánticas. Algunos van más lejos, en la Universidad de Minnesota anunciaron
recientemente la posibilidad de almacenar un único electrón por vez [7] y esto
permitiría llevar muy lejos el límite físico de aplicación de la ley de Gordon
Moore.

Cualquiera sea la posición adoptada, parece existir acuerdo en los comienzos


del siglo XXI algo muy trascendente ocurrirá con la microelectrónica y no es
claro que se puede continuar al ritmo en que se venía. Al detenerse el smaller
es de esperar consecuencias importantes para el cheaper y el faster.

La respuesta clásica al agotarse las posibilidades de chips más densos es


emplear, en forma masiva, el paralelismo. Este problema fue estudiado desde
varias décadas atrás, en particular por Gene Amdahl, el diseñado de la IBM
/360. Por acumulación de procesadores pueden crearse máquinas más
potentes a partir un chip dado, pero este mecanismo tiene algunas sorpresas:

• El límite del paralelismo de máquinas se encuentra en la velocidad de


comunicación de los buses internos de los chips. Los MIPS se
encuentran limitados por los límites físicos de la comunicación y éstos,
por la velocidad de la luz.
• A los chips les está ocurriendo otro fenómeno: la complejidad de la
interconexión. Cada vez más la superficie del chip está destinada a
interconectar transistores [6]. Este fenómeno que se manifiesta a nivel
de chips también será notorio en las placas y por este lado también hay
una limitación importante.
• El paralelismo cambia la ecuación de cheaper. Hasta hoy, lo mismo
costaba menos en forma exponencial. Al depender del paralelismo,
desaparece este efecto. Se llega al límite de costo y, en adelante, más
capacidad de procesamiento significará un costo proporcional.

Estas consideraciones muestran que parece estarse llegando al borde del


smaller, faster, cheaper.

11
Gary A. Franzier, de Texas Instruments, advierte que posiblemente se trabaje en esta
fecha con reglas menores y se estará al borde cuántico. Indica que será necesaria una nueva
tecnología. Business W eek, 1–jul–96, p. 53.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

¿Cuándo ocurrirá el futuro?

Cuadro 5: Ventas y computadoras personales estimadas en el mundo.


año parque ventas en

1995 14 45
1996 18 59
1997 24 77
1998 31 100
1999 41 130
2000 53 169
2001 69 219
2002 90 285
2003 1173 371
2004 1525 482
2005 1983 626
2006 2578 814
2007 3351 1058
2008 4357 1376
2009 5664 1789
2010 7363 2325

El punto más interesante en el Cuadro 5 es la observación que hacia mediados


de la década siguiente, de mantenerse las tendencias actuales, existirá una
computadora personal cada dos habitantes del planeta. Este es un hecho
sumamente significativo que merece ser analizado con cuidado.

Las cifras del Cuadro 5 suponen que las tendencias actuales, es decir las que
se han mantenido a lo largo de toda la revolución de la microelectrónica, las
que predice la ley de Gordon Moore, se conservarán en los próximos diez
años. Todo el mundo parece estar de acuerdo con esta hipótesis, ningún
analista espera un cambio importante en el futuro próximo. No obstante esto,
en general no se realiza una proyección de este tipo. Examinemos entonces la
proyección en sus diferentes hipótesis de futuro.

La primera hipótesis consiste en suponer que las tendencias históricas se


mantienen. En este caso, la Sociedad de la Información habrá llegado hacia
el 2005. El número de computadoras personales será comparable al de
televisores o teléfonos. Todos los habitantes del planeta tendrá acceso a un
medio informático y todo ocurre tal cual lo predicen los augures de la
modernidad. La propuesta reciente de las Network Computers apunta, sin
duda, en esta dirección. Sin embargo hay algunas dificultades, entre ellas:

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

• Esta situación no parece económicamente viable. Una computadora cada


dos habitantes supone que este nivel de informatización ha llegado a la
India, a China y también a los países paupérrimos del Tercer Mundo.
• No parece posible educar a la población planetaria para el uso cotidiano
de las computadoras personales. En la mayoría de los países del planeta
la informática no ha llegado a los niveles escolares pero los habitantes
del 2005 ya están llegando a la escuela.
• No parece posible que la economía asimile este volumen de
computadoras. Si bien los procesos de automatización avanzan a toda
velocidad, provocan un desempleo creciente. El convertir a la
computadora personal en el reemplazo universal del papel, de los
medios de trabajo, de los medios de entretenimiento y de los medios de
comunicación (condición que parece indispensable para llegar a los
volúmenes considerados) parece estar lejos de lo que sucede hoy en
día. No parece posible que suceda en una década.

Las consideraciones anteriores sugieren que la tendencia histórica de


evolución de las computadoras no se podrá mantener en el futuro próximo. En
el presente las 200 millones de computadoras personales significan solamente
del orden del 4% de la población mundial. Por cierto que están muy
desigualmente repartidas:

• Usualmente se acepta que Estados Unidos tiene el 40% de las


computadoras del mundo. Esto supone al día de hoy unas 80 millones de
computadoras personales lo cual es una computadora cada 3 habitantes
aproximadamente. Esto significa que ya se ha llegado allí casi a los
niveles de saturación.
• Japón posee un 10% de las computadoras del mundo y estas 20
millones de computadoras con una cada 6 habitantes.
• También se acepta que Europa tiene el 30% de las computadoras del
Mundo. Esto supone hoy en día unas 60 millones de computadoras, tal
vez una cada 10 habitantes. Como se ve, el 20% restante, unas 40
millones de computadoras, están en el resto del planeta y es este sector
el que difícilmente pueda seguir el ritmo de crecimiento del pasado.

Este análisis significa que hay grandes cambios en el futuro inmediato de la


computación. Lo más importante tiene que ver con el cambio de velocidad del
mercado. Si no se puede continuar vendiendo a la enorme velocidad que se
vendía en el pasado, entonces el ritmo de la ley de Gordon Moore debe
cambiar, no ya por acercarse a posibles límites físicos sino por razones
económicas. Está implícito en esta ley que se continúa invirtiendo al ritmo que
corresponde. Pero todo parece indicar que en algún momento se invertirá en el
desarrollo de un chip que no se venderá al ritmo esperado. Este es el momento

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

en que el cheaper condiciona al smaller.

Tal como se mencionó antes, cada nuevo chip exige una inversión doble del
anterior. Esta inversión debe ser amortizada con la venta de los chips. Si el
ritmo de venta decrece, el tiempo de amortización aumentará y por lo tanto, la
velocidad de cambio disminuirá. Con las cifras que hemos manejado, en unos
pocos años la industria de las computadoras deberá frenarse en su ritmo de
crecimiento y, por lo tanto, cambiar mucho el estilo smaller, faster, cheaper.
Ocurrirá entonces el cierre de la tríada, al fracasar el cheaper, se frenará el
smaller y todo cambiará. Tal vez el aumento de precios de los últimos chips
son una señal de que este proceso ya ha comenzado.

CONCLUSIONES

Si las hipótesis del presente artículo son correctas, asistiremos en la próxima


década a profundos cambios en el mercado de la computación. Posiblemente
algunos gigantes de hoy desaparezcan mañana. Posiblemente el ritmo
vertiginoso de crecimiento que ha ocurrido en el pasado se detenga y la
industria de la computación adquiera el mismo ritmo de innovación que
cualquiera de las industrias de electrodomésticos. Esto hará que cambie todo:
la necesidad de profesionales, la educación y hasta la manera de diseñar los
productos.

La Sociedad de la Información deberá esperar por la economía por la


imposibilidad de penetrar los mercados de los países pobres al ritmo del
presente. Tal vez esta sea la más importante y feliz de las consecuencias
dentro de este panorama poco alentador que parece avizorase.

AUTOEVALUACIÓN:

1. La frase: “más pequeño, más rápido, más barato”, en el sentido


estricto de este curso se refiere a?

2. Que significa el “Limite Físico”?

3. Una de las consecuencias en el rápido desarrollo de la electrónica es


la gran demanda de computadores personales. Investigue las cifras
actuales sobre PC por población y aplique la Ley de Gordon Moore y
explique se es posible el resultado dado para el año 2015.

4. Que son “Islotes atómicos”?

5. Que es un Angstroms?

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 3: PROCESO DE FABRICACIÓN

El objetivo de la presente lección es presentar el proceso de fabricación de


circuitos integrados CMOS de forma que se comprenda la finalidad de cada
una de las etapas del proceso y, a la vez, se profundice en la comprensión
de la estructura de los transistores MOS y en la manera de conectarlos para
formar circuitos digitales.
La integración CMOS consiste en formar zonas semiconductoras N y P y
la zona de óxido de puerta con polisilicio encima de ella e interconectar los
diversos transistores entre sí y con la fuente de alimentación, todas estas
conexiones mediante líneas de metal (aluminio).
Las regiones citadas no se encuentran en el mismo plano sino en «pisos»
sucesivos: las difusiones penetran en la oblea semiconductora, el óxido de
puerta y el polisilicio se elevan sobre ella y el metal circula por encima de todo
el conjunto. Sendas capas de óxido separan los transistores entre sí y al metal
de todo lo que tiene debajo, salvo en los puntos en que debe establecer
conexión.
Pero, además, las difusiones N requieren un substrato P que es el dopado
propio de la oblea, mientras que las difusiones P precisan de substrato N
que habrá que formarlo previamente sobre la oblea P: los pozos. El substrato
P debe estar polarizado a la tensión más negativa y los pozos N a la más
positiva, en ambos casos con la finalidad de que las uniones difusión-substrato
queden aisladas, en polarización inversa.
Por ello, en la superficie de la oblea, separados por óxido denominado
de campo, tendremos los transistores y los contactos de polarización de los
substratos; al conjunto de todos ellos (transistores y polarizaciones) les
denominamos zonas activas.

FABRICACIÓN DE NMOS Y PMOS

El transistor MOSFET es la estructura actualmente más utilizada en la tecnología


microelectrónica VLSI. Varias razones explican esta preeminencia. Primero es una
estructura autoaislada eléctricamente no siendo necesario fabricar islas de
material aisladas por uniones. Este hecho permite colocar transistores MOS juntos
en el chip con el consiguiente ahorro de espacio y de pasos de proceso. Segundo,
puede ser fabricado en el substrato sin la necesidad de crecer costosas capas
epitaxiales. Sin embargo cada vez se usan más las epitaxias para mejorar las
características de funcionamiento de los dispositivos MOS. Finalmente es un
dispositivo de alta impedancia por lo que su consumo de potencia es bajo. A
continuación describiremos el proceso de fabricación de una estructura MOS
básica: el transistor NMOS. Mencionar que continuamente aparecen

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

modificaciones de esta estructura para diversas aplicaciones o mejora de


características.

El NMOS (Negative-channel Metal-Oxide Semiconductor) es un tipo de


semiconductor que se carga negativamente de modo que los transistores se
enciendan o apaguen con el movimiento de los electrones. En contraste, los
PMOS (Positive-channel MOS) funcionan moviendo las valencias de electrones. El
NMOS es más veloz que el PMOS, pero también es más costosa su fabricación.
Actualmente es el tipo de tecnología que más se usa en la fabricación de circuitos
integrados.

La figura 1.2 muestra el corte transversal de un MOSFET con canal n. Se observa


la estructura n (fuente/zona roja) p (puerta/zona azul)) n (drenado/zona roja) típica
de un transistor. La aplicación de tensión al electrodo puerta (zona amarilla)
provocará una inversión superficial bajo el óxido de puerta (zona azul bajo puerta)
creando un canal n que pondrá en contacto fuente y drenado (zonas rojas). (Field
Effect Transistor FET).

Figura 1.2. Sección transversal de un transistor MOSFET con canal n

El proceso de fabricación de este dispositivo sería el siguiente.

1) Se parte de un substrato de silicio monocristalino tipo p de una resistividad » 5


W .cm y orientado según una dirección <100>

2) Se crece mediante oxidación térmica una capa de SiO2 de » 500 A de espesor


seguido de una deposición de nitruro de silicio de » 1000 A

3) El área activa del dispositivo es definida mediante fotolitografía creándose un


canal de parada por implantación de boro a través del óxido/nitruro

4) Se elimina el nitruro no protegido por la fotoresina y el wafer es introducido en


un horno de oxidación con el objetivo de crecer el óxido de campo (Field Oxide,
FOX, » 0.5-1 m m) y realizar la distribución del boro.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

5) La capa óxido/nitruro es eliminada de la zona activa y a continuación se crece el


óxido de puerta de algunos centenares de ángstrom de espesor. En la tecnología
punta actual el espesor de este óxido de silicio es de solo decenas de angstroms.
Para ajustar la tensión umbral, tensión puerta-fuente por encima de la cual se
produce el canal n y el dispositivo conduce, se implanta la dosis de iones
adecuada en el canal

6) Se crece el polisilicio del electrodo puerta, zona amarilla en la figura, el cual es


fuertemente dopado mediante difusión o implantación de fósforo hasta conseguir
una resistencia de hoja de 20-30 W /—. Con el objetivo de reducir la resistencia
del electrodo de puerta hasta » 1 W /• se utilizan los siliciuros ya explicados
anteriormente.

7) Una vez definida mediante fotolitografía el electrodo puerta se crean la fuente y


el drenado, zonas n+ rojas en la figura, mediante implantación de arsénico, » 30
keV » 1016 cm-2, utilizando como máscara el electrodo puerta

8) Deposición de una capa de PSG mediante CVD y posterior tratamiento térmico


para conseguir una topografía suave

9) Proceso fotolitográfico de apertura de ventanas para contactos e


interconexiones.

10) Deposición de capa de aluminio mediante sputtering y proceso fotolitográfico


para la definición de contactos e interconexiones en la capa metálica. El contacto
al electrodo puerta se realiza fuera de la zona activa del dispositivo para evitar
posibles daños a la capa delgada de óxido de puerta.

En este proceso NMOS hay seis operaciones de crecimiento de película, cuatro


pasos de fotolitografía, tres implantaciones iónicas y cuatro operaciones de ataque
ahorrándose dos operaciones de fotolitografía y un proceso de implantación en
comparación con el proceso bipolar básico.

FABRICACIÓN DE BJT Y FET

El transistor de efecto campo (Field-Effect Transistor o FET, en inglés) es en


realidad una familia de transistores que se basan en el campo eléctrico para
controlar la conductividad de un "canal" en un material semiconductor. Los FET,
como todos los transistores, pueden plantearse como resistencias controladas por
voltaje.

La mayoría de los FET están hechos usando las técnicas de procesado de


semiconductores habituales, empleando la oblea monocristalina semiconductora
como la región activa o canal. La región activa de los TFTs (thin-film transistores, o

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

transistores de película fina), por otra parte, es una película que se deposita sobre
un sustrato (usualmente vidrio, puesto que la principal aplicación de los TFTs es
como pantallas de cristal líquido o LCDs).

Los transistores de efecto de campo o FET más conocidos son los JFET (Junction
Field Effect Transistor), MOSFET (Metal-Oxide-Semiconductor FET) y MISFET
(Metal-Insulator-Semiconductor FET).

Tienen tres terminales, denominadas puerta (gate), drenador (drain) y fuente


(source). La puerta es el terminal equivalente a la base del BJT. El transistor de
efecto de campo se comporta como un interruptor controlado por tensión, donde el
voltaje aplicado a la puerta permite hacer que fluya o no corriente entre drenador y
fuente.

El funcionamiento del transistor de efecto de campo es distinto al del BJT. En los


MOSFET, la puerta no absorbe corriente en absoluto, frente a los BJT, donde la
corriente que atraviesa la base, pese a ser pequeña en comparación con la que
circula por las otras terminales, no siempre puede ser despreciada. Los MOSFET,
además, presentan un comportamiento capacitivo muy acusado que hay que tener
en cuenta para el análisis y diseño de circuitos.

Así como los transistores bipolares se dividen en NPN y PNP, los de efecto de
campo o FET son también de dos tipos: canal n y canal p, dependiendo de si la
aplicación de una tensión positiva en la puerta pone al transistor en estado de
conducción o no conducción, respectivamente. Los transistores de efecto de
campo MOS son usados extensísimamente en electrónica digital, y son el
componente fundamental de los circuitos integrados o chips digitales.

En esta sección, se considera el FET de metal –óxido semiconductor (MOSFET).


Este FET se construye con la terminal de compuerta aislada del canal con el
dieléctrico dióxido de silicio (SiO2), y ya sea en modo de empobrecimiento o bien
de enriquecimiento. Estos dos tipos se definen y consideran en las siguientes
secciones.

MOSFET de empobrecimiento

El MOSFET de empobrecimiento se construye con un canal físico construido entre


el drenaje y la fuente. Como resultado de ello, existe una i D entre drenaje y fuente
cuando se aplica una tensión, vDS.

El MOSFET de empobrecimiento de canal n se establece en un sustrato p, que es


silicio contaminado de tipo p. Las regiones contaminadas de tipo n de la fuente y el
drenaje forman conexiones de baja resistencia entre los extremos del canal n y los
contactos de aluminio de la fuente (S) y el drenaje (D). Se hace crecer una capa

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

de SiO2, que es un aislante, en la parte superior del canal n. Se deposita una capa
de aluminio sobre el aislante de SiO2 para formar el material de compuerta (G). El
desempeño del MOSFET de empobrecimiento, es similar al del JFET. El JFET se
controla por la unión pn entre la compuerta y el extremo de drenaje del canal. No
existe dicha unión en el MOSFET enriquecimiento, y la capa de SiO 2 actúa como
aislante. Para el MOSFET de canal n, una vGS negativa saca los electrones de la
región del canal, empobreciéndolo. Cuando vGS alcanza VP, el canal se estrangula.
Los valores positivos de vGS aumentan el tamaño del canal, dando por resultado
un aumento en la corriente de drenaje. MOSFET de enriquecimiento

El MOSFET de enriquecimiento difiere del MOSFET de empobrecimiento en que


no tiene la capa delgada de material n sino que requiere de una tensión positiva
entre la compuerta y la fuente para establecer un canal. Este canal se forma por la
acción de una tensión positiva compuerta a fuente, vGS, que atrae electrones de la
región de sustrato ubicada entre el drenaje y la compuerta contaminados de tipo n.
Una vGS positiva provoca que los electrones se acumulen en la superficie inferior
de la capa de oxido. Cuando la tensión alcanza el valor de umbral, V T, han sido
atraídos a esta región los electrones suficientes para que se comporte como canal
n conductor. No habrá una corriente apreciable iD hasta que vGS excede VT.

La corriente de drenaje en saturación se puede calcular de la ecuación:

El transistor de unión bipolar (del inglés Bipolar Junction Transistor, o sus siglas
BJT) es un dispositivo electrónico de estado sólido consistente en dos uniones
PN muy cercanas entre sí, que permite controlar el paso de la corriente a través
de sus terminales. Los transistores bipolares se usan generalmente en electrónica
analógica. También en algunas aplicaciones de electrónica digital como la
tecnología TTL o BICMOS. Un transistor de unión bipolar está formado por dos
Uniones PN en un solo cristal semiconductor, separados por una región muy
estrecha. De esta manera quedan formadas tres regiones:

• Emisor, que se diferencia de las otras dos por estar fuertemente dopada,
comportándose como un metal.
• Base, la intermedia, muy estrecha, que separa el emisor del colector.
• Colector, de extensión mucho mayor.

La técnica de fabricación más común es la deposición epitaxial. En su


funcionamiento normal, la unión base-emisor está polarizada en directa, mientras
que la base-colector en inversa. Los portadores de carga emitidos por el emisor
atraviesan la base, que por ser muy angosta, hay poca recombinación de

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

portadores, y la mayoría pasa al colector. El transistor posee tres estados de


operación: estado de corte, estado de saturación y estado de actividad.

AUTOEVALUACIÓN:

1. Defina cada paso de fabricación de circuitos integrados.

2. Que es un MOSFET de empobrecimiento?

3. Que es un MOSFET de enriquecimiento?

4. Defina que es la técnica de deposición epitaxial.

5. Que es la tecnología BICMOS?

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 4: BLOQUES ANALÓGICOS BÁSICOS

AMPLIFICADOR OPERACIONAL IDEAL

Circuito Integrado Analógico de uso universal (no de aplicación específica) .


Se emplea como bloque funcional para facilitar el diseño de circuitos
electrónicos analógicos. Un amplificador operacional (A.O., habitualmente
llamado op-amp) es un circuito electrónico (normalmente se presenta como
circuito integrado) que tiene dos entradas y una salida. La salida es la
diferencia de las dos entradas multiplicada por un factor (G) (ganancia):

Vout = G·(V+ − V−)

El primer amplificador operacional monolítico data de los años 1960, era el


Fairchild μA702 (1964), diseñado por Bob Widlar. Le siguió el Fairchild μA709
(1965), también de Widlar, y que constituyó un gran éxito comercial. Más tarde
sería sustituido por el popular Fairchild μA741 (1968), de David Fullagar, y
fabricado por numerosas empresas, basado en tecnología bipolar. Originalmente
los A.O. se empleaban para operaciones matemáticas (suma, resta, multiplicación,
división, integración, derivación, etc) en calculadoras analógicas. De ahí su
nombre.

El A.O. ideal tiene una ganancia infinita, una impedancia de entrada infinita, un
ancho de banda también infinito, una impedancia de salida nula, un tiempo de
respuesta nulo y ningún ruido. Como la impedancia de entrada es infinita también
se dice que las corrientes de entrada son cero.

El símbolo de un MONOLITICO es el mostrado en la siguiente figura:

Figura 1.3. Amplificador operacional ideal

Los terminales son:

• V+: entrada no inversora


• V-: entrada inversora
• VOUT: salida
• VS+: alimentación positiva
• VS-: alimentación negativa

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Las terminales de alimentación pueden recibir diferentes nombres, por ejemplo en


los A.O. basados en FET VDD y VSS respectivamente. Para los basados en BJT
son VCC y VEE. Normalmente los pines de alimentación son omitidos en los
diagramas eléctricos por claridad.

COMPORTAMIENTO EN CONTINUA (DC)


 

Lazo abierto

Si no existe realimentación la salida del A.O. será la resta de sus dos entradas
multiplicada por un factor. Este factor suele ser del orden de 100.000 (que se
considerará infinito en cálculos con el componente ideal). Por lo tanto si la
diferencia entre las dos tensiones es de 1V la salida debería ser 100.000V. Debido
a la limitación que supone no poder entregar más tensión de la que hay en la
alimentación, el A.O. estará saturado si se da este caso. Si la tensión más alta es
la aplicada a la patilla + la salida será la que corresponde a la alimentación V S+,
mientras que si la tensión más alta es la del pin - la salida será la alimentación VS-.

Lazo cerrado

Se conoce como lazo a la realimentación en un circuito. Aquí se supondrá


realimentación negativa. Para conocer el funcionamiento de esta configuración se
parte de las tensiones en las dos entradas exactamente iguales, se supone que la
tensión en la patilla + sube y, por tanto, la tensión en la salida también se eleva.
Como existe la realimentación entre la salida y la patilla -, la tensión en esta patilla
también se eleva, por tanto la diferencia entre las dos entradas se reduce,
disminuyéndose también la salida. Este proceso pronto se estabiliza, y se tiene
que la salida es la necesaria para mantener las dos entradas, idealmente, con el
mismo valor.
Siempre que hay realimentación negativa se aplican estas dos aproximaciones
para analizar el circuito:

• V+ = V-
• I+ = I- = 0

COMPORTAMIENTO EN ALTERNA (AC)

En principio la ganancia calculada para continua puede ser aplicada para alterna,
pero a partir de ciertas frecuencias aparecen limitaciones. (Ver sección de
limitaciones)

Un ejemplo de amplificador operacional es el 741op

Análisis

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Para analizar un circuito en el que haya A.O. puede usarse cualquier método, pero
uno habitual es:
1. Comprobar si tiene realimentación negativa
2. Si tiene realimentación negativa se pueden aplicar las reglas del
apartado anterior
3. Definir las corrientes en cada una de las ramas del circuito
4. Aplicar el método de los nodos en todos los nodos del circuito excepto
en los de salida de los amplificadores (porque en principio no se puede
saber la corriente que sale de ellos)
5. Aplicando las reglas del apartado 2 resolver las ecuaciones para
despejar la tensión en los nodos donde no se conozca.

CONFIGURACIONES

Comparador

Figura 1.4. Amplificador comparador

• Esta es una aplicación sin la realimentación. Compara entre las dos


entradas y saca una salida en función de qué entrada sea mayor. Se
puede usar para adaptar niveles lógicos.

Seguidor

• Es aquel circuito que proporciona a la salida la misma tensión que a la


entrada

Figura 1.5. Amplificador seguidor

• Se usa como un buffer, para eliminar efectos de carga o para adaptar


impedancias (conectar un dispositivo con gran impedancia a otro con
baja impedancia y viceversa)
• Como la tensión en las dos patillas de entradas es igual: V out = Vin
• Zin = ∞
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Inversor

Figura 1.6. Amplificador inversor

Se denomina inversor ya que la señal de salida es igual a la señal de entrada (en


forma) pero con la fase invertida 180 grados.

• El análisis de este circuito es el siguiente:


o V+ = V- = 0
o Definiendo corrientes: y de aquí se
despeja
o

• Para el resto de circuitos el análisis es similar.


• Zin = Rin

Por lo cual podemos controlar la impedancia de entrada mediante la elección de


R1


Esta configuración es una de las más importantes, porque gracias a esta
configuración, se puede elaborar otras configuraciones, como la configuración del
derivador, integrador, sumador.

No inversor

Figura 1.7. Amplificador No inversor

Como observamos, el voltaje de entrada, ingresa por el pin positivo, pero como
conocemos que la ganancia del amplificador operacional es muy grande, el voltaje
en el pin positivo es igual al voltaje en el pin negativo, conociendo el voltaje en el
pin negativo podemos calcular, la relación que existe entre el voltaje de salida con
el voltaje de entrada haciendo uso de un pequeño divisor de tensión.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 


• Zin = ∞

Sumador inversor

Figura 1.8. Sumador inversor

• La salida está invertida


• Para resistencias independientes R 1, R2,... Rn

o
• La expresión se simplifica bastante si se usan resistencias del mismo
valor
• Impedancias de entrada: Z n = Rn

Restador

Figura 1.9. Restador

• Para resistencias independientes R 1,R2,R3 ,R4:

o
• Igual que antes esta expresión puede simplificarse con resistencias
iguales
• La impedancia diferencial entre dos entradas es Z in = R1 + R2

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Integrador ideal

Figura 1.10. Integrador ideal

• Integra e invierte la señal (V in y Vout son funciones dependientes del


tiempo)


o Vinicial es la tensión de salida en el origen de tiempos

Nota: El integrador no se usa en la práctica de forma discreta ya que cualquier


señal pequeña de DC en la entrada puede ser acumulada en el capacitor hasta
saturarlo por completo. Este circuito se usa de forma combinada en sistemas
retroalimentados que son modelos basados en variables de estado (valores que
definen el estado actual del sistema) donde el integrador conserva una variable de
estado en el voltaje de su capacitor.

Derivador ideal

Figura 1.11. Derivador ideal

• Deriva e invierte la señal respecto al tiempo


• Este circuito también se usa como filtro

NOTA: Es un circuito que no se utiliza en la práctica porque no es estable, esto se


debe a que al amplificar más las señales de alta frecuencia se termina
amplificando el ruido por mucho.

Otros
• Osciladores, como el puente de Wien

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

• Convertidores carga-tensión
• Convertidores corriente-tensión
• Filtros activos
• Girador permite construir convertidores de inmitancias (empleando un
condensador simular un inductor, por ejemplo)

APLICACIONES

• Calculadoras analógicas
• Filtros
• Preamplificadores y buffers de audio y video
• Reguladores
• Conversores
• Evitar el efecto de carga
• Adaptadores de niveles (por ejemplo CMOS y TTL)

ESTRUCTURA

Aunque es usual presentar al A.O. como una caja negra con características
ideales es importante entender la forma en que funciona, de esta forma se podrá
entender mejor las limitaciones que presenta.
Los diseños varían entre cada fabricante y cada producto, pero todos los A.O.
tienen básicamente la misma estructura interna, que consiste en tres etapas:
1. Amplificador diferencial: es la etapa de entrada que proporciona una
baja amplificación del ruido y gran impedancia de entrada. Suelen tener
una salida diferencial.
2. Amplificador de tensión: proporciona una ganancia de tensión.
3. Amplificador de salida: proporciona la capacidad de suministrar la
corriente necesaria, tiene una baja impedancia de salida y, usualmente,
protección frente a cortocircuitos.

Ejemplo del 741

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 1.12. Diagrama electrónico del operacional 741.

En el diagrama se destaca en azul el amplificador diferencial. Éste es el


responsable de que las corrientes de entrada no sean cero, pero si respecto a las
de los colectores (Nótese como a pesar de aproximar las corrientes de entrada a
0, si éstas realmente fueran 0 el circuito no funcionaría). La impedancia de entrada
es de unos 2MΩ. Las etapas en rojo son espejos de corriente. El superior de la
izquierda sirve para poder soportar grandes tensiones en modo común en la
entrada. El superior de la derecha proporciona una corriente a la circuitería de
salida para mantener la tensión. El inferior tiene una baja corriente de colector
debido a las resistencias de 5kΩ. Se usa como conexión de gran impedancia a la
alimentación negativa para poder tener una tensión de referencia sin que haya
efecto de carga en el circuito de entrada. Los pines llamados Offset null son
usados para eliminar las tensiones de offset que pueda haber en el circuito. La
etapa de ganancia en tensión es NPN.

La sección verde es un desplazador de tensión. Esto proporciona una caída de


tensión constante sin importar la alimentación. En el ejemplo 1V. Esto sirve para
prevenir la distorsión. El condensador se usa como parte de un filtro paso bajo
para reducir la frecuencia y prevenir que el A.O oscile. La salida en celeste es un
amplificador PNP seguidor con emisor push-pull. El rango de la tensión de salida
es de un voltio menos a la alimentación, la tensión colector-emisor de los
transistores de salida nunca puede ser totalmente cero. Las resistencias de salida
hacen que la corriente de salida esté limitada a unos 25mA. La resistencia de
salida no es cero, pero con realimentación negativa se aproxima.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

PARÁMETROS

• Ganancia en lazo abierto. Indica la ganancia de tensión en ausencia de


realimentación. Se puede expresar en unidades naturales (V/V, V/mV) o
logarítmicas (dB). Son valores habituales 100.000 a 1.000.000 V/V.
• Tensión en modo común. Es el valor medio de tensión aplicado a ambas
entradas del operacional.
• Tensión de Offset. Es la diferencia de tensión, aplicada a través de
resistencias iguales, entre las entradas de un operacional que hace que
su salida tome el valor cero.
• Corriente de Offset. Es la diferencia de corriente entre las dos entradas
del operacional que hace que su salida tome el valor cero.
• Margen de entrada diferencial. Es la mayor diferencia de tensión entre
las entradas del operacional que mantienen el dispositivo dentro de las
especificaciones.
• Corrientes de polarización (Bias) de entrada. Corriente media que
circula por las entradas del operacional en ausencia de señal
• Slew rate. Es la relación entre la variación de la tensión de salida
máxima respecto de la variación del tiempo. Se mide en V/ μs, kV/μs o
similares.
• Relación de Rechazo en Modo Común (RRMC,o CMRR en sus siglas en
inglés). Relación entre la ganancia en modo diferencial y la ganancia en
modo común.

LIMITACIONES

Saturación

Un A.O.L típico no puede suministrar más de la tensión a la que se alimenta,


normalmente algunos voltios menos. Cuando se da este valor se dice que satura,
pues ya no está amplificando. La saturación puede ser aprovechada por ejemplo
en circuitos comparadores.

Un concepto asociado a éste es el Slew rate(analisis básico de bajo flujo recoltor).


Tensión de offset

Es la diferencia de tensión que se obtiene entre los dos pines de entrada cuando
la tensión de salida es nula, este votltaje es cero en un amplificador ideal lo cual
no se obtiene en un amplificador real. Esta tensión puede ajustarse a cero por
medio del uso de las entradas de offset (solo en algunos modelos de
operacionales) en caso de querer precisión. El offset puede variar dependiendo de
la temperatura (T) del operacional como sigue:

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Donde T0 es una temperatura de referencia.

Un parámetro importante, a la hora de calcular las contribuciones a la tension de


offset en la entrada de un operacional es el CMRR (Rechazo al modo común).

Ahora también puede variar dependiendo de la alimentación del operacional, a


esto se le llama PSRR (power supply rejection ratio, relación de rechazo a la
fuente de alimentación). La PSRR es la variación del voltaje de offset respecto a la
variación de los voltajes de alimentación,expresada en dB. Se calcula como sigue:

Corrientes

Aquí hay dos tipos de corrientes que considerar y que los fabricantes suelen
proporcionar:

• IOFFSET = | I + −I − |

Idealmente ambas deberían ser cero.

Característica tensión-frecuencia

Al A.O. típico también se le conoce como amplificador realimentado en tensión


(VFA). En él hay una importante limitación respecto a la frecuencia: El producto de
la ganancia en tensión por el ancho de banda es constante.

Como la ganancia en lazo abierto es del orden de 100.000 un amplificador con


esta configuración sólo tendría un ancho de banda de unos pocos Hercios. Al
realimentar negativamente se baja la ganancia a valores del orden de 10 a cambio
de tener un ancho de banda aceptable. Existen modelos de diferentes A.O. para
trabajar en frecuencias superiores, en estos amplificadores prima mantener las
características a frecuencias más altas que el resto, sacrificando a cambio un
menor valor de ganancia u otro aspecto técnico.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Capacidades

El A.O. presenta capacidades (capacitancias) parásitas, las cuales producen una


disminución de la ganancia conforme se aumenta la frecuencia.

Deriva térmica

Debido a que una unión semiconductora varía su comportamiento con la


temperatura, los A.O. también cambian sus características, en este caso hay que
diferenciar el tipo de transistor en el que está basado, así las corrientes anteriores
variarán de forma diferente con la temperatura si son bipolares o JFET.

Espejo de corriente

Figura 1.13. Espejo de corriente.

En electrónica, un espejo de corriente es una configuración con la que se pretende


obtener una corriente constante, esto es, una fuente de corriente. Esta
configuración consta de dos transistores, idealmente idénticos, y una resistencia o
potenciómetro, si se quisiera regular el circuito en el caso que los transistores no
fueran idénticos. En la figura 1.13 se muestra el esquema básico de un espejo de
corriente.

La Intensidad que circula en R1 está dada por:

IR1 = IC1 + IB1 + IB2

Donde IC1 es la intensidad del colector de Q1, IB1 es la intensidad de base de Q1,
IB2 es la intensidad de base de Q2.

La intensidad de colector de Q1 viene dada por la ecuación:

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

IC1 = 0IB1

Donde β0 es la ganancia de intensidad de Q1. Si Q1 y Q2 son


idealmente idénticos, la β de Q2 será:

donde VA es debida al efecto


Early.

Desde que VBE1 = VBE2 y Q1 y Q2 son idénticos, IB1 = IB2. La intensidad de


colector de Q2 será entonces dado por:

Si β0 > > 1,
entonces:

Se obtiene así una precisión superior a la obtenida con circuitos más complejos,
como los Widlar, de Wilson o Cascodo.

El espejo de corriente se usa en los circuitos integrados porque es una forma


conveniente de crear fuentes de corriente y cargas activas. La ventaja de utilizar
espejos de corriente es la del incremento en la ganancia de tensión y en
el rechazo al modo común (CMRR).

Figura 1.14. Espejo de corriente implementado con transistores bipolares tipo


NPN usando una resistencia para fijar la intensidad de referencia I REF;
VCC = Tensión de entrada

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
  ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

AUTOEVALUACIÓN:

1. Defina que es un bloque básico analógico

2. Que son redes de conmutación basadas en transistores?

3. Que es un amplificador diferencial?

4. Que es un amplificador operacional?

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 5: REGLAS DE DISEÑO

INTRODUCCIÓN

La MICROELECTRÓNICA se puede definir como el conjunto de ciencias y


técnicas con las que se realizan y fabrican circuitos electrónicos sobre una
pastilla de un semiconductor, lo cual formará un circuito integrado (CI). Dentro de
estos circuitos integrados, podemos encontrar diferentes estrategias de diseño,
como pueden ser los circuitos integrados en los que se deben construir tanto las
puertas como las conexiones, denominados habitualmente ASICs (Application
Specific Integrated Circuits), circuitos programables en los que se encuentran ya
construidos todas las puertas y conexiones de tal forma que únicamente hay que
indicar cuales están habilitadas mediante una programación, denominados
dispositivos programables (un ejemplo de los cuales pueden ser las FPGAs,
(Field Programmbled Gate Arrays).

La división existente en los circuitos electrónicos también es válida para la


Microelectrónica, es decir, podemos diferenciar entre Microelectrónica Analógica
y Digital, según la naturaleza de las señales tratadas. No obstante, el auge de la
Microelectrónica surgió gracias a una propiedad de los sistemas digitales: la
jerarquía.
La propiedad de jerarquía es aquella por la cual un sistema puede estar
compuesto de bloques conectados entre sí, de tal forma que dichos bloques son
independientes entre sí y de su conexión.

A pesar de que un circuito analógico también puede ser construido por una serie
de bloques conectados entre sí; estos bloques no serán independientes de su
conexión (e incluso su situación en la base del semiconductor) debido a la
naturaleza real de las señales analógicas (pueden tener un rango infinito de
valores). En cambio, el carácter digital de las señales de los sistemas digitales
provee dicha independencia y así la posibilidad de desarrollar un sistema
completamente jerárquico. A modo de ejemplo, podemos ver en la figura 1.15
dos ASICs: el caso (a) sería un diseño analógico; y el caso (b) sería un diseño
digital. En el caso analógico podemos ver unas estructuras formadas por los
mismos bloques dispuestas de una manera especial (parecida a una
circunferencia). Bien, esta disposición no es aleatoria sino que debe ser así para
garantizar el mismo comportamiento en todos los bloques. En cambio, en el
circuito digital podemos apreciar bloques comunes, cuya disposición obedece
únicamente a con- tribuir a que el sistema completo sea lo más compacto
posible.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

En la figura podemos apreciar una clasificación de los sistemas digitales desde


un punto de vista jerárquico. Según dicho esquema los sistemas digitales se
pueden representar desde bloques de muy alto nivel, como pueden ser
procesadores y/o memorias, hasta un circuito integrado, el chip.

Normalmente en el campo digital se suele utilizar un proceso de diseño top-


down, en el cual partimos de las especificaciones de más alto nivel, y llegamos al
circuito integrado pasando por todos los niveles de jerarquía. Dentro de este
proceso podemos distinguir dos fases bien diferenciadas.

(a) (b)

Figura 1.15. Ejemplos de diseños microelectrónicos (a) analógicos y (b) digitales.

En la primera fase se obtiene el circuito lógico a partir de descripciones de alto


nivel. El resultado de esta fase será un diagrama o una descripción de en un HDL
(Lenguaje de Descripción de Hardware) con las conexiones de puertas,
registros, etc., es decir, bloques abstractos en función del nivel en el que nos
encontremos.

En la segunda fase, se construirán los bloques mencionados anteriormente


según una familia lógica, de tal forma que están completamente determinados el
tamaño, la forma y la estructura interna de cada uno de los bloques. En esta
fase, el diseñador debe obtener los diferentes esquemas a nivel de transistores
(moviéndonos en el nivel eléctrico); y a partir del cual se obtendrá el layout del
circuito (moviéndonos en el nivel geométrico).
El layout se puede definir como una representación física de un circuito
electrónico que está sujeto a limitaciones derivadas del proceso de integración, el
flujo de diseño y requerimientos de prestaciones.

Una vez que tenemos un layout correcto, se pasa a la foundry (que es la fábrica
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

encargada de obtener el circuito físico) para que lleve a cabo todos los procesos
de integración. La corrección del layout se debe llevar a cabo en un doble
sentido:

• Una verificación funcional, en la cual ha de verificarse que las capas


incluidas en el layout, así como su distribución, sean equivalentes al esquema
eléctrico de partida. Dicha verificación se suele conocer como LVS (Layout
Versus Schematic)
• Una verificación geométrica, en la cual ha de verificarse que las capas de un
determinado material están lo suficientemente separadas como para que, al
finalizar el proceso de integración, dichas capas estén realmente separadas.
Dicha verificación se suele conocer como DRC (Design Rules Checking). Esta
verificación es lo suficientemente importante como para que la foundry vuelva a
realizarla para evitar fallos.

Por lo tanto nos vamos a centrar en los niveles eléctricos y geométricos, por ser
aquellos en los que la acción del diseñador es importante.

Figura 1.16.Clasificación jerárquica de los sistemas digitales.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

PROCESOS DE DISEÑO

La fabricación de un circuito integrado consiste de una serie de pasos en un


orden específico. El material base de los circuitos integrados es una oblea o disco
de semiconductor.

La tecnología más desarrollada es la basada en silicio (Si), aunque también


existen tecnologías a base de otros semiconductores como arseniuro de galio
(GaAs) o germanio y silicio (SiGe). No obstante, todas las tecnologías siguen
unos pasos similares. El semiconductor no está en equilibrio eléctricamente, sino
que unas cantidades controladas de impurezas son añadidas para dotar al cristal
de las propiedades eléctricas requeridas. Dichas impurezas pueden ser
donadores (cargados eléctricamente con signo negativo), que se corresponden al
tipo n; o aceptoras (cargadas eléctricamente con signo positivo), que
corresponden al tipo p. En función del tipo de estas impurezas podemos
encontrarnos con diferentes tipos de procesos:

• Procesos de n-well (utilizado principalmente en Europa) en el que el dopado


de la oblea es de tipo p.
• Procesos de p-well (utilizado principalmente en Estados Unidos) en el que el
dopado de la oblea es de tipo n.
• Procesos de well gemelos (el cual se está extendiendo cada vez más) en el
que el signo del dopado de la oblea no tiene demasiada importancia ya que se
van a generar los dos tipos de well (n-well y p-well).
Como los tres tipos de procesos son similares, nos vamos a centrar en uno de
ellos, en particular en el proceso de n-well. Dicho proceso se muestra en la figura
1.17, más concretamente la oblea sería el paso (a).

La primera máscara define el n-well (figura 1.17b). Esta zona, el n-well, es el


lugar en el que se van a implementar los transistores PMOS. En esta etapa
también se depositan capas de óxido grueso (denominado de campo), SiO2,
para separar cada una de las regiones (figura 1.17c).

La siguiente capa que se deposita es la llamada óxido de puerta (o fino), la cual


se obtendrá por el crecimiento de las zonas de óxido de campo (figura 1.17d).
Dicha capa constituirá con el polisilicio el terminal de puerta de los transistores.

Una vez que se ha depositado el óxido de puerta, se coloca el polisilicio (figura


1.17e) y se despeja el resto de óxido de puerta para permitir la creación de los
terminales de fuente y drenador (figura 1.17f).

El siguiente paso es difundir los terminales de fuente y drenador de los


transistores NMOS (figura 1.17g), y seguidamente los terminales
correspondientes a los transistores PMOS (figura 1.17h). También se crean los
contactos con las zonas de polarización: regiones n+ sobre el n-well, y regiones
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

p+ sobre el resto del CI.

Una vez creadas las diferentes regiones n+ y p+, se pasa a la inserción de la


primera capa de metal (figura 1.17i). El contacto físico de este material (por lo
general aluminio, aunque se está probando con cobre en los últimos tiempos)
con el polisilicio y las zonas de difusión provocará un contacto eléctrico. No
obstante hay que indicar que aquellas zonas en las que no se requiere contacto,
habían sido ocupadas con óxido de campo evitando de esta forma el contacto.

Figura 1.17. Pasos del proceso de fabricación de un circuito CMOS con el proceso de n-
well.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Para la segunda (y restantes capas) capa de metal (figura 1.17j) se coloca una
nueva capa de óxido de campo por todo el CI excepto en los lugares donde
exista un contacto entre la capa actual y la anterior. Después se deposita la capa
de metal en los lugares correspondientes. Cabe destacar que el material de
todas las capas de metal existentes, en la tecnología utilizada, es el mismo, es
decir, aluminio (o cobre).

En todos estos pasos podemos distinguir dos tipos de acciones: crear zonas de
difusión y de well, que alterará la composición interna de la oblea; y la deposición
de material sobre la oblea. La primera acción se puede conseguir a través de dos
proceso diferentes: difusión e implantación iónica.
• El proceso de difusión consiste en depositar sobre la oblea un material
desde el cual obtener las impurezas deseadas y calentarla oblea a una
temperatura elevada. De esta forma, los espacios intersticiales del semiconductor
aumentan, y así las impurezas pueden ocupar estos espacios.
• El proceso de implantación iónica consiste en bombardear la oblea con
las impurezas que se quieren difundir. Dicha difusión sólo se producirá en las
zonas que no se encuentren protegidas por una máscara de material.
En cuanto a la segunda acción, el proceso más utilizado es la fotolitografía. Dicha
técnica consiste en depositar por todo el circuito una capa de material en cuestión
(polisilicio o metal, también se utiliza con el óxido para separar las
diferentes capas, pero dicho proceso es transparente para el diseñador, la
única acción del diseñador en esta capa son los contactos en los que no debe
haber dicha capa de óxido), y encima de ella una máscara fotorresistiva, la cual
evitará la pérdida del material que se encuentre bajo ella. Después de haber
eliminado el material sobrante del circuito, se elimina la máscara dejando el
circuito preparado para una nueva capa.

Por lo tanto, para cualquiera de los procesos anteriores, es necesario conocer y


verificar una serie de características geométricas como son el tamaño del
material depositado sobre el circuito. Dichas características son denominadas
reglas de diseño, y gracias a ellas se asegura que los dispositivos descritos en el
layout estarán en el circuito físico. Si algunas de estas reglas son violadas no se
asegura la correcta creación del circuito electrónico.

A modo de ejemplo veamos una porción de un fichero de reglas de diseño para


una tecnología CMOS estándar de 0.12 µm en la figura 1.18. En él podemos ver
las diferentes capas con las reglas geométricas correspondientes a cada una de
ellas. Es interesante notar que las dimensiones están referenciadas a un
parámetro, lambda, para que la portabilidad de dichas reglas a otras tecnologías
sea más sencilla. En dicho fichero, que lo utiliza la herramienta Microwind,
podemos distinguir tres partes en cada línea: la referencia de la regla, la

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

dimensión mínima que se ha de verificar (en términos de lambda) y un breve


comentario sobre dicha regla.

También se suele adjuntar un esquema en el que se muestran


de forma gráfica las diferentes reglas. En este caso particular únicamente se
muestran las reglas del nwell, áreas activas o difusiones y del polisilicio.

NAME CMOS 0.12µm - 6 Metal r307 = 3 (extra gate poly)


* *
lambda = 0.06 (Lambda is set to half the * Poly 2
gate size) *
* r311 = 2 (poly2 width)
* Design rules associated to each layer r312 = 2 (poly2 spacing)
* *
* Well * Contact
* r401 = 2 (contact width)
r101 = 10 (well width) r402 = 4 (contact spacing)
r102 = 11 (well spacing) r403 = 1 (metal border for contact)
* r404 = 1 (poly border for contact)
* Diffusion r405 = 1 (diff border for contact)
* r406 = 2 (contact to gate)
r201 = 4 (diffusion width) r407 = 1 (poly2 border for contact)
r202 = 4 (diffusion spacing) *
r203 = 6 (border of nwell on diffp) * metal
r204 = 6 (nwell to next diffn) r501 = 3 (metal width)
r205 = 0 (diffn to diffp) r502 = 4 (metal spacing)
* r510 = 16 (minimum surface)
* Poly * via
* r601 = 2 (Via width)
r301 = 2 (poly width) r602 = 4 (Spacing)
r302 = 2 (gate length) r604 = 1 (border of metal)
r303 = 4 (high voltage gate length) r605 = 1 (border of metal2)
r304 = 3 (poly spacing) * metal 2
r305 = 1 (spacing poly and unrelated diff) r701 = 3 (Metal 2 width)
r306 = 4 (width of drain and source diff) r702 = 4
r710 = 16 (minimum surface)

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 1.18. Reglas de diseño de un proceso CMOS en tecnología de 0.12 µm.

TÉCNICAS DE DISEÑO MICROELECTRÓNICO

De forma previa a la creación de un layout, debemos conocer la estructura


a nivel de transistores del circuito, para lo cual debemos descender al
nivel de jerarquía eléctrico.

Las técnicas de diseño no son más que unos procedimientos para


desplazarnos a través de los diferentes niveles de jerarquía del circuito.
En función del sentido del movimiento tenemos flujos top-down, que van
desde el nivel superior al inferior, y flujos bottom-up, que van del nivel
inferior al superior.
El flujo de diseño top-down parte de una descripción global del sistema
(sin precisar las diferentes partes que lo forman ni especificaciones
cuantitativas); para a partir de dicha descripción ir refinando cada vez más
las diferentes partes.
El flujo de diseño bottom-up parte de unas especificaciones muy
detalladas para realizar las diferentes partes del sistema, las cuales serán
conectadas entre sí con posterioridad.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

En el caso de diseño, el flujo más utilizado es el top-down, ya que cuando la


descripción es compleja las especificaciones detalladas son muy difíciles de
cumplir; por lo tanto, nos centraremos en el primero. En la figura 1.19 se
muestra el procesos en el flujo de diseño top-down.

Figura 1.19. Procesos en el flujo de diseño top-down.

El flujo de diseño tratará de pasar desde el nivel superior del dominio de


comportamiento al nivel inferior del dominio físico pasando por el dominio
estructural. Veremos todo este paso con el ejemplo de un multiplicador,
mostrado en la figura 1.20. El nivel superior estará compuesto por algoritmos (en
su dominio de comportamiento) o por procesadores, memorias y/o buses (en su
dominio estructural). En nuestro caso particular necesitaremos un procesador
dedicado y un controlador (que no sería más que otro procesador dedicado);
mientras que el dominio de comportamiento estaría descrito por cualquiera de
los algoritmos de multiplicación disponibles, por ejemplo la multiplicación por
sumas sucesivas. Obviamente, el punto de partida sería el algoritmo, ya que el
conjunto procesador-controlador no nos suministra la suficiente información para
continuar.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

En el siguiente nivel, el comportamiento estaría descrito por un diagrama ASM


en el cual estarían descritas todas las operaciones así como la secuencia en la
que se han de realizar dichas operaciones. En dicho nivel se tiene la información
suficiente para que la descripción estructural sea lo suficientemente precisa para
que tenga un sentido lógico. Por lo tanto, en este nivel se suele realizar el
proceso de síntesis.
El proceso de síntesis se puede definir como el proceso por el cual se pasa del
dominio de comportamiento al estructural siguiendo una serie de restricciones.

En la figura 1.20 sólo mostramos el esquema correspondiente al procesador. De


hecho, para no saturar la figura, sólo se ha considerado una celda para
descender de nivel en la jerarquía.

Una vez que tenemos los elementos de procesado del nivel RTL, debemos
implementarlo con puertas lógicas y biestables. El comportamiento de este nivel
estaría descrito a partir de ecuaciones lógicas (booleanas) y diagramas de
estado; no obstante, la complejidad (en cuanto al número de componentes) de
este nivel es lo suficientemente grande como para que el sistema de estas
ecuaciones sea intratable. Como ejemplo mostramos como estaría formado el
registro acumulador con las condiciones de habilitación y reset síncrono.

En el siguiente nivel se obtendrá la estructura eléctrica de los componentes


lógicos: puertas y biestables; para ello, se elegirá la familia lógica que mejor se
adapte a las especificaciones. En el ejemplo se ha considerado una familia
lógica CMOS estática.

Por último, se debe pasar de este esquema a nivel de transistores al layout en el


cual se indicarán las capas que se necesitan así como su forma y tamaño.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Algoritmos
Procesador Controlador

R
G
U/D G
L REG
Diagrama ASM CNT
+ D Q
D Q

D0 Dn
R
G

DQ DQ
Ecuaciones lógicas
y ecuaciones de estado

Q0 Qn

Ecuaciones eléctricas

Ecuaciones de campo eléctrico

Figura 1.20. Diferentes pasos del flujo de diseño top-down


 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Un flujo de diseño ampliamente utilizado es el mostrado en la figura 1.21. En él


podemos distinguir los siguientes pasos:
• partimos de una descripción informal del comportamiento deseado del
circuito que queremos diseñar.
• A partir de esta descripción, generaremos una descripción en un lenguaje
de descripción de hardware (como puede ser VHDL). Dicha descripción puede
ser a nivel de comportamiento o directamente a nivel de estructura; no obstante,
lo usual es obtener una descripción a nivel de comportamiento que con los
algoritmos adecuados proporcionará una descripción a nivel de estructura.
• Esta estructura es traducida a componentes de niveles inferiores en la
jerarquía como son las puertas lógicas y biestables.
• Las puertas lógicas son diseñadas o elegidas de una librería de celdas
(ya se verá posteriormente la diferencia) hasta el nivel físico o layout.
• Con estos layout se hará una planificación del espacio para poder
determinar el lugar en el que se colocarán las diferentes celdas.
• Una vez que se han colocado todas las celdas, se realizará el
conexionado de todos los nodos del circuito.

En el proceso anterior no se ha comentado nada sobre ninguna estrategia a la


hora de pasar de un nivel a otro. Realmente, las únicas diferencias se encuentran
en las dos últimas etapas: el nivel eléctrico y físico. Todas las estrategias se
pueden dividir en dos grandes grupos:
• Circuitos full-custom o completamente a medida. En este caso, como su
propio nombre indica, todas las puertas son realizadas por el diseñador de tal
forma que se obtenga una mejor adaptación a las especificaciones del diseño.
Esta realización propia será a nivel eléctrico (esquema de transistores con las
dimensiones específicas) y físico (layout, que podemos crear layouts diferentes
para una misma celda con el fin de que encaje mejor en el circuito reduciendo el
área ocupada).
• Circuitos semi-custom o semi-medida. En este caso, se utiliza una
librería de celdas que impone el esquema a nivel eléctrico y el layout de los
diferentes componentes. La única libertad que le queda al diseñador en estos
niveles es la colocación de las celdas en el layout final (siempre y cuando se
cumplan una serie de restricciones, como es su colocación en hileras). El destino
de esta estrategia puede ser un circuito integrado, denominado entonces basado
en celdas, o un dispositivo programable, denominado entonces basado en
matrices.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 1.21. Flujo de diseño.

Como es obvio, ambas estrategias tendrán características diferentes. Así los


circuitos full-custom son los que presentan mejores prestaciones a costa de un
mayor tiempo de diseño, debido a la realización de todas las celdas. Por el
contrario, los circuitos semi-custom mejoran los tiempos de diseño a costa de un
empeoramiento en las prestaciones. Dentro de los circuitos semi-custom, aquellos
basados en matrices son los que tienen un tiempo de diseño menor ya que no es
necesaria el proceso de integración ya que se dispone del dispositivo, que con un
proceso de programación adquirirá el comportamiento adecuado. Luego, no
podemos encontrar el circuito ideal en el que se optimicen simultáneamente el
tiempo de diseño y sus prestaciones, por lo que hay que llegar a un compromiso
para decidir la estrategia con la cual abordar la tarea de diseño.

AUTOEVALUACIÓN:

1. Describa que es un proceso de diseño FULL CUSTUM

2. Una propiedad muy importante de los sistemas digitales es la


jerarquía. Defínala.

3. A qué se le denomina layout

4. Que son los procesos de well gemelos?

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

5. Las técnicas de diseño no son más que unos procedimientos para


desplazarnos a través de los diferentes niveles de jerarquía del circuito.
Cuál es la diferencia entre diseño top-down y diseño bottom-up?

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

CAPÍTULO 2: REPASO DE ELECTRONICA DIGITAL

INTRODUCCION

El proceso de miniaturización de la electrónica, iniciado en la década de los


cincuenta con la utilización del transistor, continuó con un segundo salto
cualitativo en la década siguiente (años sesenta) mediante la integración de
subcircuitos completos en un mismo substrato de silicio (chip): subcircuitos
correspondientes a módulos digitales tales como puertas booleanas, biestables o
bloques combinacionales o secuenciales.

Los circuitos digitales son sumamente apropiados para su inserción en circuitos


integrados: de un lado, la ausencia de autoinducciones y el poder prescindir,
asimismo, de condensadores reduce los elementos a integrar a transistores y
resistencias y a las conexiones de estos entre sí; de otro, la propia modularidad
de los sistemas digitales precisa de un número reducido de tipos de puertas
lógicas, e incluso, basta con un solo tipo de ellas (puertas Nand o Nor).

Por ello, los circuitos integrados invadieron muy pronto el campo digital; en unos
pocos años resultó anacrónico y antieconómico construir las puertas booleanas
con componentes discretos, una vez que se disponía de una gran variedad de
puertas lógicas y de una amplia serie de funciones de gran complejidad
construidas dentro de un circuito integrado.
El presente capítulo está hecho con la finalidad de comprender en líneas
generales el funcionamiento de las familias lógicas CMOS y TTL. En primer lugar,
las puertas bipolares que condujeron a la gran familia TTL (cuya amplia difusión
consolidó la lógicaintegrada); luego las tecnologías MOS, hasta llegar a la
predominante HCMOS; la mezcla BiCMOS (bipolar-CMOS) que resulta muy
apropiada para circuitos «interbús» (en medio de los buses); y la derivación actual
hacia series de bajo voltaje (pasando de la alimentación habitual de 5 V a sólo 3
V).
En todo caso, para elegir y utilizar correcta y eficazmente una familia lógica (y,
dentro de ella, una serie específica) es preciso tener en cuenta sus características
funcionales.

LECCIÓN 1: PUERTAS LOGICAS

Una compuerta lógica es aquel circuito digital que tiene la capacidad de aplicar un
proceso interno a sus n bits de entrada, que cumple con alguna de las
operaciones definidas en el Álgebra de Boole, y que cuyos resultados son
manifiestos en sus bits de salida. En la figura 2.1 podemos observar las
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

operaciones del Algebra de Boole, sus tablas de verdad y representación


gráfica.

Figura 2.1. Propiedades del Algebra de Boole: Tablas y representación gráfica

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

PRIMERAS FAMILIAS LÓGICAS: C. I. CON TRANSISTORES BIPOLARES

Las primeras puertas lógicas integradas eran mera copia directa de las puertas "o-
negada" (Nor) con componentes discretos, mediante la conexión en paralelo de
varios transistores bipolares NPN en emisor común; tales puertas dieron lugar a la
primera familia lógica: RTL (lógica de transistores y resistencias).

Figura 2.2. Puerta NOR RTL

Pronto se mejoraron las características de estas puertas integradas, en cuanto a


velocidad y a consumo, combinando una puerta "y" de diodos con un transistor
inversor en emisor común; así se configuró la puerta "y-negada" (Nand) base de la
familia DTL (lógica de transistores y diodos) que fue la primera que llegó a
alcanzar una difusión apreciable.

Figura 2.3. Puerta NAND DTL

A partir de este esquema (puerta "y" + inversor), aprovechando en mayor


profundidad las posibilidades que ofrece la integración sobre un substrato único,
se planteó una segunda mejora en velocidad y en consumo, añadiendo una etapa
de salida amplificadora de intensidad (dos transistores en push-pull) y
substituyendo los diodos por un transistor multi emisor. El resultado fue la gran

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

familia lógica TTL (lógica de transistores con transistores).

Figura 2.4. Puerta NAND TTL

La puertas TTL se alimentan a 5 V; su tensión de conmutación se sitúa en el


entorno de 1,2 V, de manera que un 0 en la entrada ha de ser menor de 1 V
(ViLmáx = 1 V) y, en cambio, una tensión superior a 1,5 V es entendida como un 1
(ViHmín = 1,5 V); la tensión de salida para el 0 es 0 V, pero la correspondiente al 1
es de solamente 4 V. Los tiempos de propagación de la serie TTL estándar son del
orden de 10 ns. y el consumo promedio es de unos 2 mA (10 mW).
La familia TTL proporcionó la base del gran desarrollo que tuvieron los sistemas
digitales durante la década de los 70; su amplia difusión y utilización favoreció la
aparición de diversas series derivadas de la mejora de características concretas,
una de las cuales, la serie LS ha sustituido por completo a la serie estándar inicial
y es la que se ha seguido utilizando a lo largo de la década de los 80.
Posteriores series «avanzadas» con el mismo esquema circuital han aprovechado
la reducción de dimensiones de los transistores y la correspondiente disminución
de sus capacidades parásitas para conseguir tiempos de propagación inferiores: la
serie 74ALS (advanced LS) presenta tiempos por debajo de 4 ns, mientras que las
series 74F (fast-TTL) y 74AS (advanced Schottky) ofrecen tiempos de propagación
del orden de 2,5 ns y 1,5 ns, respectivamente, a costa de un mayor consumo (por
utilizar resistencias de menor valor).

Esta línea de evolución de las puertas con transistores bipolares constituye la


«edad antigua» de los circuitos integrados digitales; actualmente, apenas se
utilizan las familias bipolares, salvo en determinadas aplicaciones específicas, en
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

particular, para sistemas de muy alta velocidad.

La serie 74LS sigue siendo útil para «recambio y mantenimiento» de los


numerosos sistemas digitales que han sido construidos con ella (o con la serie
estándar 74), la serie 74ALS se emplea en circuitos «interbús» (aplicación que
consideraremos un poco más adelante) y la serie 74F resulta adecuada para
diseños de muy alta velocidad de trabajo (frecuencias superiores a los 100 MHz).

DESARROLLO DE LAS TECNOLOGÍAS MOS: FAMILIA CMOS

La integración de transistores MOS presentó inicialmente grandes dificultades,


derivadas de ser un efecto superficial que es afectado por cualquier
impureza o dislocación en la superficie del cristal de silicio; fue preciso desarrollar
técnicas de muy alta limpieza ambiental que no estuvieron disponibles hasta
mediados de los años setenta. Sin embargo, una vez que se dispuso de tales
técnicas, las extraordinarias ventajas de los transistores MOS (referidas a
autoaislamiento, autoalineamiento, tamaño y consumo) determinaron un rápido
desarrollo y difusión de los circuitos integrados digitales MOS.
En una primera fase resultó más sencillo integrar transistores MOS de canal P,
pero pronto fueron desplazados por los transistores NMOS cuya velocidad de
conmutación es apreciablemente mayor (debido a la mayor movilidad de los
electrones respecto de los huecos).
La utilización de transistores MOS como «resistencias de polarización» permitió
configurar puertas lógicas utilizando únicamente transistores, cuyo área de
integración es mucho menor, al prescindir de resistencias integradas de valores
relativamente altos. De esta forma, las puertas MOS suponen un nuevo avance
cualitativo en la miniaturización de la electrónica digital, reducción que afecta no
solamente al tamaño y a la densidad de integración, sino también, y en forma aún
más significativa, al consumo.
La tecnología NMOS actual utiliza puertas formadas por un plano de transistores
activos NMOS y un transistor MOS de empobrecimiento como
resistencia de polarización; aprovecha plenamente la tensión de alimentación,
pues VoH = VCC y VoL ≈ 0 V, y su consumo es muy reducido, ya que Ri ~ ∞ y
la resistencia del transistor de polarización se hace adecuadamente alta. Esta
tecnología resulta apropiada para la integración de muy alta densidad (VLSI) y
sigue utilizándose en grandes bloques digitales (microprocesadores, memorias,
etc.) y en los circuitos integrados programables de tipo matricial (PROM, PAL,
PLA, PLS).

La primera serie CMOS adoptó el indicativo 40 y presentaba fuertes limitaciones


en cuanto a velocidad e inmunidad frente al ruido. Esta serie admite un amplio
intervalo de tensiones, desde 3 a 18 voltios, y rizados del 10% (debido a su
reducido consumo), lo cual elimina la necesidad de un buen filtrado y estabilidad
en la fuente de alimentación; su velocidad depende fuertemente de la tensión de

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

alimentación, con tiempos de propagación de 200 ns para VCC = 3 V que pasan a


ser de 100 ns para VCC = 5 V y se reducen a 20 ns cuando VCC = 15 V.

PUERTAS LÓGICAS DE LA FAMILIA CMOS

Inversores CMOS

La circuitería del INVERSOR CMOS básico se muestra en la Figura 2.5. El


Inversor CMOS tiene dos MOSFET en serie de modo que, el dispositivo con
canales P tiene su fuente conectada a + VDD (un voltaje positivo) y el dispositivo
de canales N tiene su fuente conectada a masa. Las compuertas de los dos
dispositivos se interconectan con una entrada común. Los drenajes de los dos
dispositivos se interconectan con la salida común.

El circuito mostrado en la Figura 2.5 representa un Inversor CMOS y está formado


por un transistor de canal tipo P (QP1) y otro de canal tipo N (QN1). Los niveles
lógicos para CMOS son esencialmente + VDD para 0 y 1 lógicos y 0 V para el 0
lógico. Consideremos primero el caso donde A1 = + VDD (la entrada A1 está en un
nivel alto (‘1’)). En está situación, la compuerta de QP1 (canales P) está en 0 V en
relación con la fuente de QP1. De este modo, QP1 estará en el estado OFF con
ROFF =10*10 Ω. La compuerta de QN1 (canales N) estará en + VDD en relación
con su fuente, es decir, transistor QP1 se pone en estado de corte y el transistor
QN1 se activa. El resultado es un camino de baja impedancia de tierra a la salida y
uno de alta impedancia de VDD a la salida F.

A continuación, consideremos el caso donde A1 = 0 V (la entrada A1 está en nivel


bajo (‘0’)). QP1 tiene ahora su compuerta en un potencial negativo en relación con
su fuente, en tanto que QN1 tiene VGS = 0 V. De este modo, QP1 estará
encendida con RON=1 k Ω, y QN1 apagada con ROFF = 10*10 Ω, produciendo un
F de aproximadamente + VDD.

En resumen QP1 se activa y el transistor QN1 se pone en estado de corte. El


resultado es un camino de baja impedancia de VDD a la salida F y uno de alta
impedancia de tierra a la salida.

Como podemos observar, los transistores operan de forma complementaria.


Cuando la tensión de entrada se encuentra en alto (1 lógico), el transistor NMOS
entra en estado de conducción y el transistor PMOS entra en corte, haciendo que
la salida quede en bajo (0 lógico). La situación inversa ocurre cuando la tensión se
encuentra en bajo.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Estos datos de operación se resumen en la Figura 2.5, donde se muestra que el


circuito actúa como un inversor lógico.

Figura 2.5. Inversor CMOS

Compuerta NAND CMOS

Se pueden construir otras funciones lógicas diferentes del inversor básico. La


Figura 2.6 muestra una compuerta NAND formada por la adición de un MOSFET
de canales P en paralelo y un MOSFET de canales N en serie al INVERSOR
básico. Para analizar este circuito conviene recodar que una entrada de 0 V
enciende el P-MOSPET y apaga el N-MOSFET correspondientes, y viceversa
para una entrada +VDD. Cuando ambas entradas (A1 y B1) están en nivel alto
(+VDD), hacen que los transistores QP1 y QP2 entren en corte y se encienden
ambos N-MOSFET (transistores QN1 y QN2), con lo cual ofrece una baja
resistencia de la terminal de salida a tierra (la salida pasa a bajo (0) a través de
QN1 y QN2).
En todas las otras condiciones de entrada, de cuando menos un P-MOSFET
estará encendido en tanto que al menos un N-MOSFET estará apagado. Esto
produce una salida ALTA (a través de QP1 y QP2). Las entradas no usadas de
una compuerta CMOS no se pueden dejar abiertas, porque la salida resulta
ambigua. Cuando sobra alguna entrada de una compuerta CMOS se debe
conectar a otra entrada o a uno de los dos terminales de alimentación. Esto
también es válido para circuitos secuenciales y demás circuitos CMOS, como por
ejemplo, contadores, Flip-Flops, etc. Estos datos de operación se resumen en la

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura, donde se muestra que el circuito actúa como una compuerta NAND
CMOS.

Figura 2.6. Compuerta NAND CMOS

Compuerta NOR CMOS

Una compuerta NOR CMOS se forma agregando un P-MOSFET en serie y un N-


MOSFET en paralelo al inversor básico Figura 2.7.
Una vez más este circuito se puede analizar entendiendo que un estado BAJO en
cualquier entrada enciende P-MOSFET (QP1 y QP2 entran a conducción) y apaga
el N-MOSFET (QN1 y QN2 entran a corte) correspondiente. La salida pasa a alto
(1) a través de QP1 y QP2.
Las entradas en un estado ALTO, hacen que los transistores QP1 y QP2 entren en
corte y ambos transistores QN1 y QN2 en conducción (la salida pasa a bajo (0) a
través de QN1 y QN2).
En las parejas de transistores ya sean de canal n ó de canal p, si cualquier entrada
es baja, uno de los transistores entra a corte y otro a conducción. La salida pasa a
bajo (0) acoplándose a través de transistores en conducción a tierra.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 2.7. Compuerta NOR CMOS

Compuertas AND Y OR

Las compuertas AND y OR CMOS se pueden formar combinando compuertas


NAND y NOR con inversores.

AUTOEVALUACION

1. Defina que es una compuerta lógica


2. Cuáles son las ventajas y desventajas entre las familias TTL y CMOS?
3. Muestre mediante un circuito cómo podemos formar compuertas AND y OR
mediante la combinación de NAND y NOR con inversores.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 2: DIAGRAMAS DE TIEMPOS, RETARDOS

Al llegar una señal a la entrada de una puerta lógica, la respuesta a dicha señal no
aparece instantáneamente en la salida, sino que existe un cierto tiempo de retardo;
este tiempo es diferente según la transición de estado de la puerta sea de 0 a 1 o
de 1 a 0:
• Retraso de propagación de bajo a alto, tPLH.- tiempo transcurrido desde
que la señal de entrada baja (pasa por el 50%) hasta que la señal de salida sube
(pasa por el 50%).
• Retraso de propagación de alto a bajo, tPHL.- tiempo transcurrido desde
que la señal de entrada sube (pasa por el 50%) hasta que la señal de salida baja
(pasa por el 50%).

El hecho de subida y bajada se debe a que las principales familias son negativas,
es decir, la salida que obtenemos es el valor negado de dicha función.
• Retraso de propagación.- valor medio de tPLH y tPHL.
• Tiempo de transición de bajo a alto, tTLH.- tiempo transcurrido desde que
la señal empieza a subir (pasa por el 10%) hasta que llega a un nivel alto (pasa por
el 90%).
• Tiempo de transición de alto a bajo, tTHL.- tiempo transcurrido desde que
la señal empieza a bajar (pasa por el 90%) hasta que llega a un nivel bajo (pasa por
el 10%).
Es decir, se considera que una transición se ha completado cuando pasamos de los
umbrales del 10% y el 90%. Este hecho es debido a que la forma de onda a partir
de esos valores cambia, pudiendo no llegar nunca a los valores del 0% o al 100%.

Figura 2.8. Retardos de propagación en puertas lógicas

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Ambos tiempos de propagación suelen tener valores próximos entre sí, lo cual
permite utilizar su promedio como tiempo de propagación genérico:
tP = (tPLH + tPHL) / 2
Los tiempos de propagación, es decir, los retrasos de la salida respecto a las
variaciones de las entradas dependen de la impedancia de carga conectada sobre
la salida, es decir, de la capacidad equivalente que presenta el conjunto de
entradas conectadas a ella.
Por ello, los tiempos de propagación se miden en condiciones similares al
funcionamiento normal de la puerta, supuesto un número máximo razonable de
entradas conectadas a su salida; en el caso CMOS, sus entradas son de tipo
capacitivo, del orden de unos pocos picofaradios, de forma que los tiempos de
propagación CMOS suelen medirse y expresarse en relación a una carga de 50 pF.
Los valores típicos de los tiempos de propagación se expresan para 25°C, ya que
tales tiempos dependen de la temperatura, aumentando con ella; esta dependencia
se debe a que las resistencias de paso de los transistores MOS aumentan con la
temperatura, por disminuir con ella la movilidad de sus portadores. Interesa, por
ello, evitar el funcionamiento de los circuitos digitales a temperaturas altas y, si es
necesario, se les dota de adecuados mecanismos de refrigeración.
Al conectar dos puertas, una a la salida de la otra, el tiempo de propagación del
conjunto es mayor que los tiempos individuales pero es inferior a la suma de
ambos. Es decir, los tiempos de propagación no son linealmente acumulativos ya
que la segunda puerta inicia su conmutación antes de que la primera complete la
suya. Para facilitar la suma de tiempos en puertas sucesivas, cada tiempo de
propagación suele medirse por el retraso entre el punto medio de conmutación
(tensión Vcc/2) de la onda de entrada y el punto medio de la conmutación de la
señal de salida.

Retardo de propagación de las compuertas TTL y CMOS.

TTL CMOS 3,3 V CMOS 5 V


CARACTERÍSTICA
F LS ALS LV LVC ALVC HC AC AHC

Retardo de Propagación de puerta, tp 3,3 10 7 9 4,3 3 7 5 3,7


(ns)

AUTOEVALUACION

1. Cómo se definen el tPLH y el tPHL ?


2. Qué es el retraso de propagación?

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

3. Podemos afirmar que el retardo de propagación de puerta es mayor en las


familias de TTL que en las familias CMOS? justifique

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 3: CIRCUITOS COMBINACIONALES

Los circuitos lógicos digitales pueden ser de dos tipos: combinacionales o


secuenciales.
Sistemas digitales combinacionales: Aquellos en los que sus salidas sólo
depende del estado de sus entradas en un momento dado. Por lo tanto, no necesita
módulos de memoria, ya que las salidas no dependen de los estados previos de las
entradas.
Sistemas digitales secuenciales: Aquellos en los que sus salidas dependen
además del estado de sus entradas en un momento dado, de estados previos. Esta
clase de sistemas necesitan elementos de memoria que recojan la información de
la 'historia pasada' del sistema.
Diremos pues, que un circuito combinacional real es aquel en el cual las salidas
dependen exclusivamente de las señales de entrada aplicadas, una vez
transcurrido el tiempo necesario para la estabilización de las salidas, desde la
aplicación de las señales de entrada. Entre los circuitos combinacionales clásicos
tenemos:
Lógicos
Generador/Detector de paridad
Multiplexor y Demultiplexor
Codificador y Decodificador
Conversor de código
Comparador
Aritméticos
Sumador
Aritméticos y lógicos
Unidad aritmético lógica
Estos circuitos están compuestos únicamente por puertas lógicas interconectadas
entre sí.

De la definición se deduce que cada salida en un instante de tiempo determinado,


depende exclusivamente de las entradas al circuito en el mismo instante de tiempo,
pero no depende de las entradas que hubo en instantes de tiempo anteriores (no
tiene "memoria").

x1
F F(t) = (x1 (t) , x2(t), ... )
x2

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Ahora bien, en cuanto a la implementación mediante circuitos electrónicos, hay que


matizar algunos detalles. Hemos visto que las puertas lógicas obtenían a su salida
una señal, que dependía sólo de las entradas, pero esta salida no se estabilizaba
hasta transcurrido un pequeño intervalo de tiempo desde la aplicación de las
señales de entrada (del orden de nanosegundos).
Por otro lado, si el circuito combinacional tiene varias entradas (n), también puede
tener varias salidas (m). Para "n" variables de entrada tenemos 2n combinaciones
binarias posibles. Por tanto, podemos expresar un circuito combinacional mediante
una tabla de verdad que lista los valores de todas las salidas para cada una de las
combinaciones de entrada. Un circuito combinacional también puede describirse
mediante "m" funciones lógicas, una para cada variable de salida; cada una de las
cuales se presenta como función de las "n" variables de entrada.

E0 S0
Sistema
E1 S1

Combinacional
En Sm

Figura 2.9. Sistema combinacional

CIRCUITOS SUMADORES

Sumador binario
El sumador binario es el elemento básico de la unidad aritmética de cualquier
ordenador, pues cualquier operación aritmética básica puede realizarse a partir de
sumas y restas repetidas. Para sumar dos números de n bits, hay que sumar dos a
dos los bits del mismo peso y el acarreo de la suma de los bits de peso inmediato
inferior.

Semisumador (half adder)


Es un circuito combinacional que realiza la suma de dos dígitos binarios,
obteniendo su suma y el acarreo para la etapa siguiente. No tiene en cuenta el bit
de acarreo de la etapa anterior.
Su tabla de verdad, y símbolo como bloque es:

a b S C
a Suma (S)
0 0 0 0 1/2
0 1 1 0
1 0 1 0 b Acarreo (C)
1 1 0 1
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Implementando por "1":

S = a' · b + a · b' = a b
C=a·b

La suma S responde a una función OR-exclusiva y el acarreo C a una función AND.

Figura 2.10. Semisumador

Si no deseamos utilizar la puerta OR-Exclusiva por su coste superior, el


semisumador se puede implementar de la siguiente forma:

Figura 2.11. Semisumador con AND, OR, INVERSOR

Etapa de sumador (sumador completo)

Es un circuito combinacional capaz de sumar dos dígitos (cifras) binarios,


teniendo en cuenta el acarreo producido en la etapa anterior. Obtiene la suma y el
acarreo para la etapa siguiente. Su tabla de verdad y símbolo como bloque es:

a b Cin S Cout
a Suma (S)
b
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0 Cin Acarreo (Cout )
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

a y b = Variables de entrada
Cin = Acarreo entrada (etapa
anterior) S = Suma
Cout = Acarreo salida (etapa siguiente)

Una forma simple de implementar la etapa de sumador es a partir de dos


semisumadores. Como hay que sumar los dos bits (dígitos) del mismo peso más el
acarreo anterior, se utiliza un semisumador para sumar los dos dígitos y el
resultado se suma con el acarreo anterior mediante otro semisumador. Si en alguna
de las dos sumas parciales se produce acarreo, habrá acarreo en la etapa de
sumador (función OR). Esto puede comprobarse en la tabla de verdad. La
etapa de sumador puede implementarse con el siguiente circuito.

Figura 2.12. Sumador completo

CODIFICADORES Y DECODIFICADORES

Codificadores

Son circuitos combinacionales que permiten pasar una información en forma


decodificada (dígito decimal u octal) a una forma codificada (BCD o binario). Si nos
limitamos a sistemas binarios, el codificador deberá tener n salidas si queremos
codificar m entradas, siendo m=2n.
De esta forma, m informaciones diferentes quedan representadas mediante grupos
de n bits, es decir, las líneas de salida generan el código binario correspondiente al
valor de entrada.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Ejemplo: Codificador octal a binario

Tenemos 8 entradas, una para cada dígito octal, y tres salidas que generan el
número binario correspondiente. Se supone que sólo una entrada tiene un valor de
1 en cualquier momento.

Entradas Salidas
E7 E6 E5 E4 E3 E2 E1 E0 S2 S1 S0
0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 1 0 0 0 1 0
0 0 0 0 1 0 0 0 0 1 1
0 0 0 1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0 1 0 1
0 1 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 1 1 1

Si implementamos por “1”, obtenemos las funciones lógicas de las 3 salidas:


S0 = E1 + E3 + E5 + E7
S1 = E2 + E3 + E6 + E7
S2 = E4 + E5 + E6 + E7

Vemos que el decodificador puede implementarse con 3 puertas OR de 4 entradas.

Este decodificador tiene la limitación de que sólo puede estar activa una entrada en
un momento dado: si se activan simultáneamente dos entradas, la salida produce
una combinación incorrecta. Para resolver esta ambigüedad, algunos circuitos
codificadores deben establecer una prioridad de entrada para asegurar que sólo se
codifique una entrada. Por ejemplo, en este caso podríamos haber establecido una
prioridad más alta para las entradas con subíndices mayores.

Otra ambigüedad de este codificador es que se genera una salida de 0’s cuando
todas las entradas son 0, pero esta salida es igual que cuando D0=1. Esta
discrepancia puede resolverse dando una salida más para indicar que al menos
una de las entradas es igual a 1.

Tipos de codificadores:

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
Existen dos tipos de codificadores: Codificadores sin prioridad
Codificadores con prioridad

Cualquier codificador que funcione como el descrito anteriormente recibe el nombre


de codificador sin prioridad, y se caracteriza porque, en caso de presentarse dos
entradas simultáneas o más, las salidas obtenidas serán todas aquellas que
correspondan a cada entrada por separado. Por tanto, en estos codificadores sólo
se puede poner a “1” una sola entrada, pues de otro modo, la salida es incorrecta.

Existe otro tipo de codificadores, llamados codificadores con prioridad, que en el


caso de activarse más de una entrada, la combinación de salidas obtenida
corresponde a la entrada de mayor valor decimal de entre las activadas. Por
ejemplo, si pulsamos las teclas 1 y 3 simultáneamente, se queda con el 3.

Decodificadores

Realizan la función inversa de los codificadores. Partiendo de una información


codificada de n bits, obtiene la información de que se trata. El número m de
informaciones que se pueden obtener (salidas) debe ser tal que m=2n. Si la
información codificada de n bits tiene combinaciones no usadas (indiferencias), el
decodificador podría tener menos de 2 n salidas.

Ejemplo 1: Decodificador de BCD a decimal

Su tabla de verdad es:

Entradas Salidas
E3 E2 E1 E0 S9 S8 S7 S6 S5 S4 S3 S2 S1 S0
0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 1 0 0 0 0 0 0 0 0 1 0
0 0 1 0 0 0 0 0 0 0 0 1 0 0
0 0 1 1 0 0 0 0 0 0 1 0 0 0

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
0 1 0 0 0 0 0 0 0 1 0 0 0 0
0 1 0 1 0 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 0 1 0 0 0 0 0 0
0 1 1 1 0 0 1 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 1 1 0 0 0 0 0 0 0 0 0
1 0 1 0 x x x x x x x x x x
1 0 1 1 x x x x x x x x x x
1 1 0 0 x x x x x x x x x x
1 1 0 1 x x x x x x x x x x
1 1 1 0 x x x x x x x x x x
1 1 1 1 x x x x x x x x x x

Implementando por "1":

S0 = E3' · E 2' · E 1' · E 0' S5 = E3' · E 2 · E 1’ · E 0


S1 = E3' · E 2' · E 1' · E 0 S6 = E3' · E 2 · E 1 · E 0'
S2 = E3' · E 2' · E 1 · E 0' S7 = E3' · E 2 · E 1 · E 0
S3 = E3' · E 2' · E 1 · E 0 S8 = E3 · E 2' · E 1' · E 0'
S4 = E3' · E 2 · E 1' · E 0' S9 = E3 · E 2' · E 1' · E 0

Si no simplificamos las funciones, utilizando inversores y puertas AND de 4


entradas podemos implementar el circuito del siguiente modo

E0 E1 E2 E3

S0

S9

Figura 2.13. Decodificador

Este decodificador activa (pone a 1) una de sus salidas, cuando se presenta una
combinación válida en la entrada. En cambio, si el código no es válido (por ejemplo,

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
1 1 1 1), no se activa ninguna salida. Por tanto, con este diseño se eliminan las
combinaciones de entrada no válidas. Es posible diseñar un decodificador que no
elimine las combinaciones no válidas, con la ventaja de que resulta un circuito más
simple y económico.

Ejemplo 2: Decodificador de BCD a segmentación en siete

Los dispositivos de visualización de las calculadoras electrónicas y relojes


digitales utilizan diodos emisores de luz (LEDs). Cada dígito del dispositivo se forma
con siete segmentos, cada uno consistente en un LED que se ilumina mediante
señales digitales.
El decodificador que vamos a ver es un circuito combinacional que acepta un
dígito decimal en BCD y genera las salidas adecuadas para la selección de los
segmentos que representan el dígito decimal.

Disposición de los segmentos en un display de 7 segmentos:

A a
Circuito a..g
B
combinacional: f b
C
decodificador BCD e c
D a 7 segmentos
d

Segmentos activos para todos los dígitos decimales:

Figura 2.14. Decodificador BCD a 7 segmentos

Como vemos, cada segmento se utiliza para varios dígitos decimales, pero ninguno
de ellos se emplea para representar todos los dígitos decimales. Por tanto, debemos
determinar los segmentos que hay que activar para cada uno de los dígitos
decimales.

Dígito decimal Segmentos activados


0 a,b,c,d,e,f
1 b,c
2 a,b,d,e,g
3 a,b,c,d,g
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

4 b,c,f,g
5 a,c,d,f,g
6 a,c,d,e,f,g
7 a,b,c
8 a,b,c,d,e,f,g
9 a,b,c,d,f,g

La lógica de decodificación de segmentos requiere cuatro entradas en código


decimal binario (BCD) y siete salidas, una para cada segmento del display. La tabla
de verdad será de salida múltiple, equivalente a 7 tablas de verdad, una por
segmento. Vamos a considerar que al tener "1" en las salidas, el segmento
correspondiente está encendido.

Díg. Entradas Salidas


dec. D C B A a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
4 0 1 0 0 0 1 1 0 0 1 1
5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 1 0 1 1 1 1 1
7 0 1 1 1 1 1 1 0 0 0 0
8 1 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 1 1 1 1 0 1 1
10 1 0 1 0 x x x x x x x
11 1 0 1 1 x x x x x x x
12 1 1 0 0 x x x x x x x
13 1 1 0 1 x x x x x x x
14 1 1 1 0 x x x x x x x
15 1 1 1 1 x x x x x x x

MULTIPLEXORES Y DEMULTIPLEXORES

Multiplexores

Son circuitos combinacionales con una estructura de varias entradas y una única
salida de datos. Permiten seleccionar una de las entradas para realizar la
transmisión de datos desde dicha entrada a la salida, que es única. Los
demultiplexores realizan la función inversa.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Esquemáticamente:

Entradas Salida Entrada Salidas

Multiplexor Demultiplexor

Figura 2.15. Multiplexor (a) y Demultiplexor (b)

Un multiplexor es un selector de datos equivalente a un conmutador de "m"


entradas y una salida, por lo que también recibe el nombre de selector de datos o
conmutador electrónico.

La selección de la entrada se controla mediante unas entradas de selección o


control. Cuando sólo tenemos una entrada de control (2 entradas), también se le
llama entrada de habilitación (enable).

La entrada seleccionada viene biunívocamente determinada por la combinación de


"0" y "1" en las entradas de control. Por tanto, si tenemos "m" entradas de datos,
harán falta "n" entradas de control, siendo m=2n .

El diagrama de bloques es:

E0
E1 MUX "m" entradas de información
4 S "n" entradas de control (m=2n)
E2
entradas 1 única salida (S)
E3

C0 C1

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Como la salida de datos será igual a la entrada de datos seleccionada, podemos


obtener una expresión lógica para la salida en función de las entradas de datos y las
entradas de selección.

Ejemplo: un multiplexor de 4 entradas de datos (4 a 1)

Su tabla de verdad es

En donde la x significa que el valor de dicha entrada no influye en la salida.


Implementando por "1" tenemos:

S = C 1' · C 0' · E 0 + C 1' · C 0 · E1 + C 1 · C 0’ · E 2 + C 1 · C 0 · E 3

Esta función se puede simplificar más. La implementación con puertas lógicas es


la siguiente:

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

E0

E1 E2
S

E3

C0 C1
Figura 2.16. Multiplexor

Para diferente número de entradas el circuito tiene la misma estructura.

Demultiplexores

Un demultiplexor es un circuito combinacional que realiza la función inversa


de un multiplexor, es decir, expande un circuito de una sola señal de entrada a
varias señales de salida: 2n. La información se redirige a una sola salida. La
selección de la salida específica es controlada por la combinación de bits de n
líneas de selección o control.

El diagrama de bloque es:

S0
DEMUX 1 entrada única (E)
S1
E 4 “n“entradas de control (m=2n)
salidas S2 “m“ salidas
S3

C0 C1

El circuito es:

E
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Si examinamos el circuito
S0 veremos que el circuito demultiplexor
es idéntico a un decodificador de 2 a
S1 4 líneas con entrada de habilitación:

S2 Para el decodificador: las


S3 entradas de datos son C0 y C1, y la
habilitación es la entrada E.

Para el demultiplexor: la entrada E


provee los datos, mientras que las
C0 C1 entradas C 0 y C1 son las entradas de
control o selección.

Figura 2.17. Demultiplexor

Aunque ambos circuitos tienen aplicaciones diferentes, sus diagramas lógicos son
idénticos. Por esto, a los decodificadores con entrada de habilitación se les llama
decodificador/demultiplexor.

Las aplicaciones de los demultiplexores son: Conversor serie-paralelo.

Ejemplo de demultiplexor: 74154, de 16 salidas.

CIRCUITOS COMPARADORES
La función básica de un comparador consiste en comparar las magnitudes de dos
cantidades binarias (n bits) para determinar su relación: igualdad y desigualdad
(menor, mayor):

A<B A=B A>B

El símbolo como bloque es:

S1 (A<B)
A
COMP A = a n ... a 1 (n bits)
n S2 (A=B)
B = b n ... b 1 (n bits)
B S3 (A>B)
n

Sólo una de las tres salidas se pondrá a “1“, indicando la magnitud de A respecto
de B.

Comparador de números binarios de 1 bit

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
Vamos a diseñar un comparador de 2 números A y B de 1 bit cada uno (a y b). El
comparador tendrá dos entradas (a y b) y 3 salidas (S 1, S2, S 3):

La tabla de verdad:

Entradas Salidas
a b S1 (a<b) S2 (a=b) S3 (a>b)
0 0 0 1 0
0 1 1 0 0
1 0 0 0 1
1 1 0 1 0

Implementando por “1“ las tres funciones de salida:

S1 = a'·b
S2 = a'·b' + a·b = (a b)' = ( a'·b + a·b' )'
S3 = a·b'

El circuito básico será:

a S1 (a<b)
S2 (a=b)
b S3 (a>b)

Figura 2.18. Comparador con compuertas

GENERADORES/COMPROBADORES DE PARIDAD

Durante la transmisión de información binaria se pueden producir errores. Para


detectar estos errores se utiliza el método de paridad, el cual utiliza un bit de
paridad.

La idea del método de paridad es la siguiente. Cualquier grupo de bits contiene


un número par o impar de 1's. Lo que hacemos es añadir un bit de paridad. Un bit
de paridad es un bit adicional incluido en el mensaje binario
para hacer que la cantidad de unos sea par o impar. El mensaje se transmite
(incluyendo el bit de paridad), y luego se comprueba en el extremo receptor. Si la
cantidad de bits 1's del mensaje no corresponden al bit de paridad
transmitido quiere decir que uno de los bits ha cambiado de valor, y por tanto, se
detecta un error.

El circuito que genera el bit de paridad del transmisor se llama generador de


 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
paridad. No importa si se añade al principio o al final del mensaje a transmitir.
El circuito que comprueba el bit de paridad en el receptor se llama
comprobador de paridad.

Obviamente, un determinado sistema puede funcionar con paridad par o impar,


pero no con ambas:

Paridad par:
- El generador de paridad se encarga de añadir un bit de paridad tal que tengamos
un número par de 1's.
- El comprobador de paridad se encarga de comprobar que el número de 1's
recibidos es par.

Paridad impar:
- El generador de paridad se encarga de añadir un bit de paridad tal que tengamos
un número impar de 1's.
- El comprobador de paridad se encarga de comprobar que el número de 1's
recibidos es impar.

Ejemplo de circuito integrado de paridad de 9 bits (8 de información + 1 de


paridad) es el circuito 74180.

Ejemplo: Generador de paridad (par)

Vamos a transmitir un mensaje de 3 bits, con un bit de paridad. Podemos utilizar


paridad par o paridad impar. En este ejemplo utilizamos paridad par, es decir,
debemos generar el bit de paridad de tal forma que la cantidad total de unos
(incluyendo el bit de paridad) sea par.

Tabla de verdad: Función lógica:

Mensaje de 3 Bit de P=x y z


bits paridad
x y z P
0 0 0 0 Circuito:
0 0 1 1 x
0 1 0 1 y
0 1 1 0 P
1 0 0 1 z
1 0 1 0
1 1 0 0
  1 1 1 1
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Circuito:

x
y
C
z
p

NOTA: Es obvio que los circuitos de generación y comprobación de paridad


siempre tienen una función de salida cuyos términos son mitad “1“ y mitad “0“,
por lo que pueden implementarse con puertas XOR.

AUTOEVALUACION

1. Diga cuál es la diferencia entre circuitos combinacionales y


secuenciales.
2. Muestre la implementación de un circuito restador de dos
dígitos binarios.
3. Enumere casos de aplicación práctica donde se usen
codificadores y decodificadores.
4. Justifique cuál es la diferencia entre un codificador y un
multiplexor.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 4: CIRCUITOS SECUENCIALES SINCRONOS Y ASINCRONOS Y


MAQUINAS DE ESTADOS FINITO

CIRCUITOS LÓGICOS SECUENCIALES

Un circuito cuya salida depende no solo de la combinación de entrada, sino


también de la historia de las entradas anteriores se denomina Circuito
Secuencial. La historia de las entradas anteriores en un momento dado se
encuentra resumida en el estado del circuito, el cual se expresa en un
conjunto de variables de estado.

El circuito secuencial debe ser capaz de mantener su estado durante algún


tiempo, para ello se hace necesario el uso de dispositivos de memoria. Los
dispositivos de memoria utilizados en circuitos secuenciales pueden ser tan
sencillos como un simple retardador (inclusive, se puede usar el retardo
natural asociado a las compuertas lógicas) o tan complejos como un circuito
completo de memoria denominado multivibrador biestable o Flip Flop.

Como puede verse entonces, en los circuitos secuenciales entra un factor que
no se había considerado en los combinacionales, dicho factor es el tiempo. De
hecho, los circuitos secuenciales se clasifican de acuerdo a la manera como
manejan el tiempo en circuitos secuenciales síncronos y circuitos secuenciales
asíncronos.

• En un circuito secuencial asíncrono, los cambios de estado ocurren al


ritmo natural marcado por los retardos asociados a las compuertas lógicas
utilizadas en su implementación, es decir, estos circuitos no usan elementos
especiales de memoria, pues se sirven de los retardos propios (tiempos de
propagación) de las compuertas lógicas usados en ellos. Esta manera de
operar puede ocasionar algunos problemasde funcionamiento, ya que estos
retardos naturales no están bajo el control del diseñador y además no son
idénticos en cada compuerta lógica.
• Los circuitos secuenciales síncronos, sólo permiten un cambio de estado
en los intantes marcados por una señal de sincronismo de tipo oscilatorio
denominada reloj. Con ésto se pueden evitar los problemas que tienen los
circuitos asíncronos originados por cambios de estado no uniformes en todo el
circuito.

Un sistema secuencial posee un 2n estados de entrada para n entradas


(X1...Xn). Poseen además 2p estados de salida para p salidas (Z1...Zp) y un
número finito de estados internos (y1...ym) de ahí que sean conocidos como
autómatas finitos. Según la relación entre las salidas y los estados internos
podemos distinguir:
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

AUTÓMATA de MEALY, las salidas se obtienen en función de las entradas y


los estados internos:

Figura 2.19. Autómata de Mealy

AUTÓMATA de MOORE, las salidas coinciden o dependen solo de los estados


internos

Figura 2.20. Autómata de Moore

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

CONCEPTOS GENERALES DE LATCHES Y FLIP-FLOPS:

Los circuitos biestables son aquellos que poseen dos estados estables
que se pueden mantener por tiempo indefinido, lo que nos permite tener
almacenado un dato en un dispositivo por el tiempo que se desee.
Las salidas del circuito, además de ser función de las entradas son
función de la información almacenada en elementos de memo ria del circuito,
en el momento que se producen las entradas. Están formados por un circuito
combinacional y un bloque de elementos de memoria:

Figura 2.21. Circuitos biestables

La señal del reloj indica a los elementos de memoria cuando deben cambiar su
estado. Existen dos tipos de biestables muy importantes: el latch y el flip- flop. Estos
circuitos están compuestos por compuertas lógicas y lazos de retroalimentación y
son considerados los circuitos básicos que constituyen los sistemas digitales.
El latch es un circuito biestable asíncrono, es decir que sus salidas cambian en la
medida en que sus entradas cambien. El flip- flop es un dispositivo secuencial

sincrónico que toma muestras de sus entradas y determina una salida sólo en los
tiempos determinados por el reloj (CLK).
Además, se pueden tener flip- flops Master-Slave y flip- flops disparados por flanco.
Los flip- flops Master-Slave están conformados por dos latches con habilitación en
cascada, es decir que la salida de un latch es la entrada del otro, mientras que el
flip- flop disparado por flanco posee un dispositivo para determinar cuando hay una
pendiente, ya sea de subida o de bajada, en el reloj que habilita el flip-flop.

El Flip-Flop S-R (Set-reset):

Es un circuito biestable conformado por un detector de transición de impulsos que


está encargado de detectar cuándo se tiene un flanco de subida o de bajada del
reloj (CLK), dos compuertas NAND encargadas de enviar estos pulsos a las
compuertas OR. En estas compuertas OR, una de las salidas está conectada a
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

la entrada de la otra compuerta, logrando una retroalimentación:

Diagrama lógico del flip- flop S-R:

Tabla de verdad del flip- flop S-R:

Diagrama de tiempos del flip-flop S-R:

Figura 2.22. Flip Flop SR

Utilizando las equivalencias lógicas podemos definir al flip- flop S-R mediante
2 compuertas NOR:

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

El flip-flop D:

Está compuesto por dos compuertas NAND encargadas de enviar la señal de


habilitación a las compuertas OR (al igual que el flip- flop SR se puede construir con
otras compuertas lógicas). La salida de una compuerta OR se transforma en la
entrada de la otra (retroalimentación). Se puede observar la similitud con el flip- flop
SR, solamente difieren en una entrada de habilitación y en que la entrada de Reset
es igual a la de Set negada

Diagrama lógico del flip- flop D:

Tabla de verdad del Flip-Flop D:

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Diagrama de Tiempos del flip- flop D:

Figura 2.23. Flip Flop D

El flip-flop J-K:

El biestable S-R presenta problemas cuando se activan simultáneamente las dos


entradas S y R. Podemos diseñar un biestable similar que no presente estos
problemas a partir de un biestable D (el resultado es el flip- flop J-K):

Tabla de verdad del biestable J-K:

Cronograma del biestable J-K (activado por flanco de subida):

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Por medio de equivalencias lógicas se puede obtener el siguiente diagrama


lógico para el flip flop J-K:

Figura 2.24. Flip Flop JK

En este caso, para lograr un valor estable cuando se activan ambas entradas se
hace una retroalimentación de Q y /Q con las compuertas de la entrada.

El Flip-Flop T (Toggle):

Mantiene su estado o lo cambia dependiendo del valor de T cada vez que se activa.
Se puede implementar utilizando un biestable J-K

Diagrama lógico del flip- flop T:

Tabla de verdad del flip- flop T:

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Diagrama de tiempos del flip-flop T:

Figura 2.25. Flip Flop T

REGISTROS

Se forman a partir de biestables de tipo D conectados en cascada. Un registro con


N biestables es capaz de almacenar N bits. Son circuitos sincrónicos y todos los
biestables están gobernados por la misma señal de reloj.
Podemos definir dos tipos de registros (de Almacenamiento y de Desplazamiento)

Registros de Almacenamiento:
Ej: Registro de 4 bits

D=(D0,D1,D2,D3) es el dato a escribir. Q=(Q0,Q1,Q2,Q3) es el dato leído.


Registros de Desplazamiento:
Son circuitos sincrónicos que cuando se activan, se desplazan los bits de sus
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

biestables “hacia derecha” o “hacia izquierda”. Se clasifican de la siguiente manera:


Entrada Serie Salida Paralelo
Entrada Serie Salida Serie
Entrada Paralelo Salida Paralelo
Entrada Paralelo Salida Serie
Registros Universales.
Entrada/Salida Serie: Entra/Sale un bit en cada pulso de reloj.
Entrada/Salida paralelo: Entran/Salen todos los bits del dato en el mismo pulso de
reloj
Ej: Registro de Desplazamiento de 4 bits (Entrada Serie)

Figura 2.27. Registro de desplazamiento

Tabla de funcionamiento:

Entradas Salidas
/Clear Reloj EntradaSerie Q0 Q1 Q2 Q3
1 0 0 Q0´ Q1´ Q2´
1 1 1 Q0´ Q1´ Q2´
1 0 X Q0´ Q1´ Q2´ Q3´
0 X X 0 0 0 0

CONTADORES

Un contador de N bits se implementa utilizando N biestables de tipo T. Los


contadores se pueden clasificar en:
-Asíncronos y Síncronos
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

-Ascendentes y descendentes
-Módulo N.

Contadores Asíncronos: Sólo utilizan biestables sin ninguna puerta lógica


adicional. La entrada de reloj al contador sólo se conecta al primero de los
biestables (el de menor peso).
La salida de estado de cada biestable (Q) o la complementaria (/Q) se conecta
con el inmediato posterior. Las entradas de datos de los biestables (J-K o T) se
conectan a un “1” fijo.

Contadores Sincrónicos: La señal externa del reloj está conectada a todos los
biestables, por lo tanto, se activan todos de manera simultánea.
La entradas de reloja al contador se conecta a las entradas de reloj de todos los
biestables. La entrada de datos (J-K o T) del biestable de menor peso se conecta a
un “1” fijo. Se precisan puertas adicionales para implementar la lógica que
indique cuando deben voltear su estado los biestables.

Contadores módulo N: El módulo de un contador es el número de cuentas


distintas que realiza dicho contador. Para implementar un contador de módulo N, se
elige un contador con n bits (ascendente o descendente), siendo 2n-1 <N<2n y se
eliminan las cuentas sobrantes, añadiendo lógica combinacional. Por ejemplo, para
implementar un contador asíncrono módulo diez ascendente, que cuente los diez
dígitos decimales se necesita un contador ascendente de 4 bits, ya que 23< 4 < 24,
y se añade la lógica combinacional requerida.

Ejemplo: Contador asíncrono módulo 10:

Paso 1: elegir un Contador ascendente de 4 bits (de 0 a 15)


Paso 2: Detectar el 10 (1010 en binario) con una compuerta NAND
Paso 3: Reset de todos los biestables cuando ocurra la detección

Circuito:

Figura 2.28. Contadores de modulo N


 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

MAQUINA DE ESTADOS FINITOS


DEFINICION
Son ciertos circuitos secuenciales que tienen un número determinado de
estados (2n). Pueden ser retroalimentados (flip flops, biestables) o máquinas
sincrónicas temporizadas cuando utilizan las primeras para crear circuitos
cuyas entradas son examinadas y cuyas salidas cambian con respecto a una señal
de reloj controlada. En cualquier caso, se tienen unas entradas, unas salidas y unos
estados.

ESTRUCTURA

Figura 2.29. Estructura máquina de estados finitos

Lógica de estado siguiente (F): Una función de las entradas y del estado actual.
Memoria de estados: Es un conjunto de n flip-flops que almacenan el estado
presente de la máquina, que tiene 2n estados diferentes. La señal de reloj controla
el cambio de estado en tales flip-flops.
La señal de reloj: dispone el funcionamiento de los flip-flops ya sea por disparo de
flanco o por disparo de pulso
Lógica de salida (G): Una función del estado actual y/o de las entradas

Máquina de Mealy: Es la máquina de estado en la cual la salida depende


tanto del estado presente como de las entradas externas. (Es el representado en la
figura 2.29).

Máquina de Moore: Es la máquina de estado en la cual las salidas solo dependen


del estado presente. Su estructura se muestra en la figura 2.30

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 2.30. Estructura máquina de Moore

DISEÑO DE MAQUINAS DE ESTADO SINCRONIZADAS CON RELOJ

Los pasos para diseñar una máquina de estados sincronizada con reloj,
comenzando con una descripción verbal o especificación escrita, son los
contrarios de los pasos de análisis .

(1) Construir una tabla de estado/salida correspondiente a la descripción o


especificación, mediante nombres mnemotécnicos para los estados. (Puede
partirse del diagrama de estados correspondiente.
(2) Minimizar el número de estados en la tabla de estado/salida(opcional)
(3) Elegir un conjunto de variables de estado y asignar combinaciones de variables
de estado a cada uno de los estados.
(4) Sustituir las combinaciones de variable de estado en la tabla de
estado/salida para crear una tabla de transición/salida que muestre la combinación
de variable de estado siguiente y la salida para cada combinación de estado/salida
(5) Elegir el tipo de flip flop que hará la memoria de estado.
(6) Construir una tabla de excitación que muestre los valores de excitación
requeridos para obtener el estado siguiente deseado para cada
combinación de estado/entrada.
(7) Derivar las ecuaciones de excitación de la tabla de excitación
(8) Derivar las ecuaciones de salida de la tabla de transición/salida
(9) Dibujar el diagrama lógico que muestre los elementos de almacenamiento de
las variables de estado y realice las ecuaciones requeridas de excitación y
salida.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
Diseño de tablas de estado

El proceso es semejante a escribir un programa de computador:


Descripción de entradas y salidas, más bien precisa, pero con descripción ambigua
de las relaciones deseadas entre ellas y sin ninguna idea de cómo obtener y sin
ninguna idea de cómo obtener en realidad las salidas deseadas a partir de las
entradas.
Determinación de procedimiento de diseño
Nuevas identificaciones y manejo de elementos no tenidos en cuenta en el inicio
Prueba
Depuración.

Ejemplo 1.

Diseñe una máquina de estado finito que produce salida 1 si la entrada es un


número par de unos, produce la salida 0 en caso contrario.

Solución
Los dos estados de la máquina serán P e I donde P es par e I es impar. El estado
inicial es 0, que es un número par.
La tabla de transición de estados es la siguiente:
f

0 1

P P I

I I P
La tabla de salida será:
g

0 1

P 1 0

I 0 1

Así, por ejemplo, si la entrada es 11101 entonces la salida vendrá dada por:

g(P,11101) = g(g(P,1),1101)

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
= g(I,1101)

= g(g(I,1),101)

= g(P,101) = g(g(P,1),01)

= g(I,01) = g(g(I,0),1)

= g(I,1) = 1

AUTOEVALUACION

1. Defina circuito secuencial asíncrono.


2. Qué es un biestable?
3. Muestre la implementación de un Flip-Flop T utilizando un biestable
JK
4. Cuántos bits puede almacenar un registro de 8 biestables?
5. Implemente un contador asíncrono con módulo 12.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 5: RIESGOS O AZARES

AZARES

Un aspecto muy importante a considerarse dentro del análisis transitorio de los


circuitos consiste en deducir las transiciones que tendrán lugar en sus estados.
Sería lógico pensar que para cada cambio de las señales de entrada, debería existir
como máximo un cambio en cada señal de salida (si tuviese que cambiar su valor
lógico) o ninguno (si no tuviese que cambiar dicho valor). No obstante esto no se
produce en la mayoría de los casos reales.

El principal error consiste en suponer que se pueden producir cambios simultáneos


de las diferentes señales del circuito. Como podemos apreciar en la figura 2.31, las
señales no llegan de forma simultánea a todas las partes del circuito debido a los
diferentes retrasos de cada puerta utilizada. Podemos apreciar que las señales de
entrada al circuito han cambiado simultáneamente, pero a la puerta C no llegan los
cambios de forma simultánea, sino que el cambio de X1 llega antes. Luego la
puerta C realizará dos operaciones en lugar de una, como era de esperar.

X1 X11 X1
TA
TA
X11
TC
X2
X2 TB TB
X21 X21

Figura 2.31. Imposibilidad de tener transiciones simultáneas en más de una señal


digital.

Estos retrasos no son controlados ya que además de la función lógica, dependen


de otros muchos factores, tanto internos (dispositivos parásitos) como externos
(temperatura). Además, la inserción de las señales de entrada (ya sea por un
operador humano, mecánico o electrónico) no garantiza que se puedan producir
cambios simultáneos de señales, sino todo lo contrario (debido a la no idealidad de
los operadores).

Por lo tanto, estas transiciones no consideradas son de gran importancia, ya que


nos pueden conducir a situaciones erróneas, y no necesariamente de forma
transitoria. Si dicho circuito se comporta como entrada de otro, puede que una
situación anómala produzca que la situación inicial no sea la correcta, obteniendo

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

un comportamiento diferente al deseado. Además, cuanto más transiciones sean


necesarias para la estabilización del circuito, quiere decir que el circuito consumirá
más potencia (la energía necesaria para llevar a cabo su operación por unidad de
tiempo); este parámetro cobra cada vez más importancia con el auge de los
sistemas sin cable. Por lo tanto,
Se denomina azar a cualquier desviación del comportamiento esperado,
potencial o real, de un circuito de conmutación cuando sufre un cambio en sus
entradas.
Las desviaciones potenciales, no reales, se siguen considerando azares debido a
que el comportamiento de un circuito (y en mayor grado, su régimen transitorio)
puede depender de las condiciones de operación en la que se encuentre el circuito,
como son la temperatura de operación, la vida de los dispositivos, etc. A una
determinada temperatura, no se observa la presencia del azar, pero si se altera
dicha temperatura, los retrasos de las puertas pueden variar, ocasionando la
presencia del azar.

Supongamos que queremos pasar de la combinación “000” a la “110” en la función


con las tablas de combinaciones de la figura 2.32. Como hemos visto antes, no
podemos cambiar más de una señal de forma simultánea; luego primero debemos
cambiar una señal de entrada y luego la otra. Si tenemos en cuenta este
razonamiento, la salida pasará por un valor ‘0’ sin que nosotros esperemos este
nivel. Por lo tanto, este pulso, mostrado en la figura 2.32, será considerado un azar,
por la razón de que no es esperado.

Figura 2.32. Ejemplo de azar de función


Una vez que hemos detectado la presencia de azares, la cual va a reducir las
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

prestaciones del diseño, tenemos que obtener las causas de estos azares. Como
ya hemos dicho la causa principal de los azares es la imposibilidad de tener
cambios simultáneos de más de una señal. Así, una primera causa son los cambios
simultáneos de las señales de entrada, que debido a la función lógica
implementada provocará un azar.
Los azares provocados por la función lógica en sí misma se denominan azares de
función.

Un ejemplo de azar de función es el mostrado en el ejemplo anterior. En ese


ejemplo, el azar era debido a que para llegar a la combinación final se debía pasar
por otras combinaciones en las que la salida tomaba un valor diferente.

Una forma sencilla de evitar los azares de función será imponer la restricción de no
permitir cambios simultáneos de señales de entrada. Con esta medida, la transición
desde “000” a “110” no sería permitida y tendríamos que elegir alguno de los dos
caminos anteriores. El comportamiento sería el mismo pero con la salvedad de que,
en caso de elegir el primer camino (donde se obtiene la presencia del azar), el
pulso de bajada es esperado y ya no sería considerado azar.

Hasta ahora sólo hemos tratado las señales de entrada, no obstante, en un circuito
existen tres tipos de señales: entrada, salida e internas. La imposibilidad de
cambiar simultáneamente más de una señal interna producirá un comportamiento
similar, aunque solamente se haya cambiado una señal de entrada. La función
anterior puede tener la implementación mostrada en la figura 2.33.

Vamos a estudiar la transición “011” a “001”. En esta transición sólo cambia la


señal B, por lo que no existirán azares de función. No obstante, podemos apreciar
que se tiene que producir una transición simultánea de las señales N2 y N3. Como
esto no es posible, se producirá un azar en la señal N4 que se transmitirá a la
salida.

Si estudiamos la transición “111” a “101”, podemos apreciar que no existirán azares


de función, ya que al igual que antes sólo se produce el cambio de una sola señal
de entrada. No obstante se deberían producir una transición simultánea en las
señales N2, N3 y N5. Como esto no es posible, se producirá un azar en la señal N4
(debido a la transición de N2 y N3) que se unirá a otro en la salida (debido al azar
de N4 y a N5).

Estos últimos azares no son debidos a la función lógica, sino al circuito lógico que
implementa la función lógica.
Los azares provocados por la implementación lógica del circuito se denominan
azares lógicos.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

En este caso se aprecia más claro que la no simultaneidad de las transiciones se


debe a los retrasos de las puertas utilizadas y a su interconexión.

En el ejemplo anterior, hemos observado dos comportamientos diferentes. La


diferencia radica en que la señal de salida, al alcanzar el estado estacionario, deba
cambiar de valor o no. Esta diferencia nos da otra clasificación de azares:
• Azares estáticos.- donde la señal de salida en la que se produce el azar no
debería cambiar su estado. Este tipo de azares se debe a que dos señales que
deberían ser complementarias entre sí, no lo son en un determinado intervalo
temporal dentro del estado transitorio. En nuestro caso serían N2, que debería
valer , y N3, que debería valer ; pero debido a los retrasos de las puertas se
observa que en el transitorio que será imposible en el estado estacionario.

Figura 2.33. Ejemplo de azares lógicos.


 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

• Azares dinámicos.- donde la señal de salida en la que se produce el azar sí


debe cambiar de estado. Este tipo de azares se puede ver como un azar estático
al que se le ha añadido la transición de una señal. En nuestro caso sería el azar
estático producido por las señales N2 y N3, al que se le ha añadido la transición
de la señal B a través de N5.
Esta clasificación es válida tanto para azares de función como para azares
lógicos. Como hemos visto que la forma de eliminar los azares de función
consiste en prohibir cambios en varias señales de forma simultánea, de ahora en
adelante nos referiremos a azares lógicos permitiendo únicamente cambios en
una sola señal de entrada.

AUTOEVALUACION

1. A qué se denomina AZAR?


2. Diga la diferencia entre Azar estático y Azar dinámico.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

CAPÍTULO 3: TECNOLOGIAS PARA LA INTEGRACION DE


CIRCUITOS

INTRODUCCION

El Incremento de popularidad y de utilización de los dispositivos lógicos


programables o PLDs está siguiendo un proceso solamente comparable al que
hace algunos años acompañó a los microprocesadores. Los PLDs se utilizan en
casi todos los nuevos equipos electrónicos de control, industriales, de consumo,
de oficina, de comunicaciones, etc.

Desde finales de la década de los sesenta, los equipos electrónicos digitales se


han construido utilizando circuitos integrados de función lógica fija, realizados
en pequeña o mediana escala de integración. Para las realizaciones muy
complejas que exigirían un número elevado de circuitos integrados (CI) de
función fija, se utilizan circuitos diseñados a medida que sólo sirven para una
aplicación. Son los llamados CI específicos a una aplicación o ASIC (Application
Specific Integrated Circuit). Por regla general, los ASICs los producen los
fabricantes de CI con las especificaciones proporcionadas por el usuario.

Los equipos realizados con ASICs ocupan menos espacio, son más fiables,
consumen menos energía y en grandes series resultan más baratos que los
equipos equivalentes realizados con IC de función fija. Por otro lado, estos
circuitos son muy difíciles de copiar.

Diferentes modalidades de ASICs son; los Circuitos a Medida (Full Custom), las
Matrices de Puertas (Gate Arrays), las Células Normalizadas (Standard Cell) y
los FPICs (Field Programmable Integrated Circuits); estos últimos son circuitos
programables por el usuario final.

LECCIÓN 1: CIRCUITOS INTEGRADOS A MEDIDA (ASIC) DISPOSITIVOS


LOGICOS PROGRAMABLES (PLD)

¿Qué es la lógica programable?


La lógica programable, como el nombre implica, es una familia de componentes
que contienen conjuntos de elementos lógicos (AND, OR, NOT, LATCH, FLIP-
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

FLOP) que pueden configurarse en cualquier función lógica que el usuario


desee y que el componente soporte. Hay varias clases de dispositivos lógicos
programables: ASICs, FPGAs, PLAs, PROMs, PALs, GALs, y PLDs complejos.

ASIC
ASIC significa Circuitos Integrados de Aplicación Específica y son dispositivos
definibles por el usuario. Los ASICs, al contrario que otros dispositivos, pueden
contener funciones analógicas, digitales, y combinaciones de ambas. En
general, son programables mediante máscara y no programables por el usuario.
Esto significa que los fabricantes configurarán el dispositivo según las
especificaciones del usuario. Se usan para combinar una gran cantidad de
funciones lógicas en un dispositivo. Sin embargo, estos dispositivos tienen un
costo inicial alto, por lo tanto se usan principalmente cuando es necesaria una
gran cantidad.

DISPOSITIVOS LÓGICOS PROGRAMABLES

Un dispositivo lógico programable, o PLD (Programmable Logic Device), es un


dispositivo cuyas características pueden ser modificadas y almacenadas
mediante programación. El principio de síntesis de cualquier dispositivo lógico
programable se fundamenta en el hecho de que cualquier función booleana
puede ser expresada como una suma de productos. El dispositivo programable
más simple es el PAL (Programmable Array Logic). El circuito interno de un PAL
consiste en un arreglo, o matriz, de compuertas AND y un arreglo de
compuertas OR. El arreglo AND es programable mientras que el OR
generalmente es fijo. Mediante una matriz de conexiones se seleccionan cuales
entradas serán conectadas al arreglo AND, cuyas salidas son conectadas al
arreglo OR y de esta manera obtener una función lógica en forma de suma de
productos. Una matriz de conexiones es una red de conductores distribuidos en
filas y columnas con un fusible en cada punto de intersección.
La mayoría de los PLDs están formados por una matriz de conexiones, una
matriz de compuertas AND, y una matriz de compuertas OR y algunos, además,
con registros. Con estos recursos se implementan las funciones lógicas
deseadas mediante un software especial y un programador. Las matrices
pueden ser fijas o programables. El tipo más sencillo de matriz programable,
que data de los años 60, era una matriz de diodos con un fusible en cada punto
de intersección de la misma. En la figura 3.1 se muestran los circuitos básicos
para la mayoría de los PLDs.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 3.1. Estructuras básicas de un PLD

Matriz Genérica Programable


Una Matriz Genérica Programable (GAL, Generic Array Logic) es una
denominación que utilizaba originalmente Lattice Semiconductor y que más tarde
se licenció a otros fabricantes. Un GAL en su forma básica es un PLD con una
matriz AND reprogramable, una matriz OR fija y una lógica de salida programable
mediante una macrocelda. Esta estructura permite implementar cualquier función
lógica como suma de productos con un número de términos definido.

En los PLDs no reprogramables la síntesis de las ecuaciones lógicas se realiza


mediante quema de fusibles en cada punto de intersección de los pines de
entrada con las compuertas.

En el caso de un GAL es básicamente la misma idea pero en vez de estar


formada por una red de conductores ordenados en filas y columnas en las que en
cada punto de intersección hay un fusible, el fusible se reemplaza por una celda
CMOS eléctricamente borrable (EECMOS). Mediante la programación se activa o
desactiva cada celda EECMOS y se puede aplicar cualquier combinación de
variables de entrada, o sus complementos, a una compuerta AND para generar
cualquier operación producto que se desee. Una celda activada conecta su
correspondiente intersección de fila y columna, y una celda desactivada
desconecta la intersección. Las celdas se pueden borrar y reprogramar
eléctricamente. A continuación se muestran la estructura típica de un GAL y la
macrocelda de salida del GAL22V10.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 3.2. Macrocelda de un GAL22V10


 

Figura 3.3. Estructura típica de un GAL

Clases de Dispositivos Lógicos Programables


 

Circuitos integrados a medida.


Los Circuitos Integrados a Medida (Full Custom), se diseñan a petición de un
cliente para que resuelvan una determinada aplicación. Conllevan un alto coste
de desarrollo y su empleo sólo se justifica para volúmenes de producción muy
elevados. El tiempo necesario para la construcción de un IC a medida es
considerable ya que puede oscilar de unos meses a unos años.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Matrices de puertas.
Las Matrices de puertas (Gate Arrays) son pequeños trozos de silicio pendientes
de algún proceso de metalización que defina las conexiones entre un importante
número de puertas o transistores que poseen en su interior. Las matrices de
puertas proporcionan densidades superiores a las 100.000 puertas, con un
aprovechamiento del 80 al 90 por 100 para los dispositivos pequeños y del 40 por
100 para los grandes.

Los fabricantes de silicio ponen a disposición de sus potenciales clientes


abundante documentación sobre estos Gate Arrays, con una serie de macros que
pueden utilizar de forma inmediata y otras que pueden construirse ellos mismos.
Los macros son agrupaciones de un número de células básicas que realizan
funciones comunes como; sumadores; puertas NOT, AND, NAND, NOR XOR,
etc.; latches y flip-flops S-R, J-K, D; buffer; osciladores; registros,
decodificadores, multiplexores, etc.

Junto a esta documentación, los fabricantes aportan un software que contabiliza


el número de células básicas utilizadas por todas las macros, sugiere el Gate
Array adecuado para la aplicación, calcula la potencia disipada por el Gate Array
que alojará el diseño del cliente, proporciona información sobre los tiempos de
propagación de las señales y permite verificar el funcionamiento del circuito.

Una vez superadas todas las etapas previas, el cliente envía la documentación
generada al fabricante para que éste ultime los procesos de metalización y
fabrique un primer prototipo. El diseño con Gate Arrays puede durar semanas o
meses. Requiere un volumen alto de circuitos para justificar sus costes.

Células normalizadas.
Las células normalizadas (Standard Cell) son, en cierta forma, similares a las
matrices de puertas. Su principal ventaja sobre ellas es que en lugar de trabajar
con simples puertas o transistores, se dispone de colecciones de diferentes
partes de circuitos que han sido depurados (puertas lógicas, circuitos MSI, RAM
estáticas, ficheros de registro, etcétera). El usuario tiene que ensamblar estos
circuitos, verificarlos y finalmente enviar documentación al fabricante de silicio
para el desarrollo del primer prototipo. A pesar del concepto de célula
normalizada, los períodos y los costes de desarrollo son superiores a los de las
matrices de puertas.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

En las matrices de puertas sólo hay que realizar la máscara final que define las
conexiones entre las puertas, mientras que en las células normalizadas, hay que
realizar máscaras para todos los procesos de producción de los IC. Una vez más,
el volumen de fabricación deberá ser los suficientemente alto como para
amortizar la inversión económica realizada en el desarrollo.

FPICs.
Los FPICs (Field Programmable Integrated Circuits): son chips programables por
el usuario mediante programadores comerciales. El término FPIC también incluye
a los CI no destinados a las aplicaciones lógicas. Son las memorias, los
microcontroladores, los PLD (Programmable Logic Device), las FPGA (Field
Programmable Gate Array) y los ASPLD (Aplication Specific Programmable Logic
Devices).

Los FPIC ofrecen soluciones de bajo coste, de tiempo de desarrollo corto y con
menor riesgo que los circuitos a medida, las matrices de puertas y las células
normalizadas.

PLDs.
Los PLDs (Programmable Logic Devices) son pequeñas ASICs configurables por
el usuario capaces de realizar una determinada función lógica. La mayoría de los
PLD consisten en una matriz de puertas AND seguida de otra matriz de puertas
OR. Mediante esta estructura, puede realizarse cualquier función como suma de
términos productos.

Aunque las memorias PROM, EPROM y EEPROM son PLDs, muchas veces se
las excluye de esta denominación debido a que su contenido se define utilizando
elementos de desarrollo propios de microprocesadores, tales como;
ensambladores, emuladores y lenguajes de programación de alto nivel. Otras
veces, cuando estas memorias se usan para realizar una función lógica y no para
guardar un programa de un microprocesador, se las incluye dentro del término
PLD.

ASPLDs.
Los ASPLDs (Application Specific Programmable Logic Devices) son PLDs
diseñados para realizar funciones específicas como, decodificadores de alta
velocidad, secuenciadores, interfaces para buses particulares, periféricos
programables para microprocesadores, etc.

Partes del ASPLD son programables permitiendo la adaptación del circuito a una
aplicación determinada, pero manteniendo su función básica; así, por ejemplo, un
decodificador lo personaliza el usuario, pero sigue siendo un decodificador. Estos

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

circuitos están muy optimizados para la función para la que han sido diseñados.
Los decodificadores sólo tienen un término producto, carecen de puertas OR y
resultan por consiguiente muy rápidos; por otro lado, los circuitos de interface
para buses normalmente tienen un Fan-Out elevado.

FPGAs.
Las FPGAs (Field Programmable Gate Arrays) contienen bloques lógicos
relativamente independientes entre sí, con una complejidad similar a un PLD de
tamaño medio. Estos bloques lógicos pueden interconectarse, mediante
conexiones programables, para formar circuitos mayores. Existen FPGAs que
utilizan pocos bloques grandes (Pluslogic, Altera y AMD) y otras que utilizan
muchos bloques pequeños (Xilinx, AT&T, Plessey, Actel).

A diferencia de los PLDs, no utilizan arquitectura de matriz de puertas AND


seguida de la matriz de puertas OR y necesitan un proceso adicional de ruteado
del que se encarga un software especializado.

La primera FPGA la introdujo Xilinx en el año 1985. La programación de las


FPGAs de Xilinx basadas en RAM estática es diferente a la programación de los
PLDs. Cada vez que se aplica la tensión de alimentación, se reprograma con la
información que lee desde una PROM de configuración externa a la FPGA. Una
FPGA basada en SRAM (RAM estática) admite un número ilimitado de
reprogramaciones sin necesidad de borrados previos.

En general la complejidad de una FPGA es muy superior a la de un PLD. Los


PLD tienen entre 100 y 2000 puertas, las FPGAs tienen desde 1200 a 20.000
puertas y la tendencia es hacia un rápido incremento en la densidad de puertas.
El número de flip-flops de las FPGA generalmente supera al de los PLD. Sin
embargo, la capacidad de la FPGA para realizar lógica con las entradas suele ser
inferior a la de los PLD. Por ello: "los diseños que precisan lógica realizada con
muchas patillas de entrada y con pocos flip-flops, pueden realizarse fácilmente en
unos pocos PLDs, mientras que en los diseños en los que intervienen muchos
registros y no se necesita generar combinaciones con un elevado número de
entradas, las FPGAs pueden ser la solución óptima".

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

ARQUITECTURAS DE LOS DISPOSITIVOS LÓGICOS PROGRAMABLES


(PLDS).
 

Existen en la actualidad infinidad de arquitecturas diferentes de PLDs y su


número se incrementa día a día. Aunque resulta casi imposible hacer una
referencia completa de todos los tipos de PLDs en el mercado, en este trabajo
sólo se presentarán algunas de las más comunes y una amplia lista de las
distintas PLDs que podemos encontrar en el mercado.

Ya que generalmente los PLDs disponen de muchas entradas y resultaría muy


complicado mostrarlas en un dibujo, se utiliza una representación simplificada,
según la cual, para las puertas AND sólo se dibuja una línea de entrada llamada
línea producto. Esta línea se cruza con dos líneas por cada entrada (entrada
directa

y entrada invertida), pudiendo existir un fusible en cada intersección. Aunque sólo


se dibuja una línea de entrada por cada puerta AND, en realidad esta puerta
tiene tantas entradas como intersecciones de la línea producto. Si en una
intersección hay una X, significa que el fusible está intacto; sí no hay una X, el
fusible esta fundido y no existe la conexión. En ocasiones, las puertas OR
también se dibujan con una sola entrada.

En el diagrama simplificado de la figura 3.4 aparece una matriz de puertas AND


de seis entradas, cuyas salidas están conectadas a una puerta OR. La
intersección de las líneas producto con las líneas de entrada forman una matriz
de puertas AND programable de 6x3 fusibles. El circuito está programado para
realizar la función OR –exclusiva entre las entradas A y B-. La puerta AND
inferior está marcada con una X. Significa que todos sus fusibles están intactos y
que su salida es 0. Cuando se funden todos los fusibles de una línea producto, la
salida de la puerta AND asociada es 1.

Figura 3.4. Representación simplificada de una función

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

PAL (Programmable Array Logic). También llamados PLAs, son un tipo de


PLDs en las que se pueden programar las uniones en la matriz de puertas AND,
siendo fijas las uniones en la matriz de puertas OR (Figura 3.5). Los dispositivos
con arquitectura PAL son los más populares y los más utilizados, razón ésta por
la que dedicamos el siguiente capítulo, para analizarlos más a fondo.

Figura 3.5.Estructura de una PAL


FPLA (Field Programmable Logic Array). Es un PLD en el que se pueden
programar las uniones en ambas matrices (Figura 3.6). Son los dispositivos más
flexibles, pero resultan penalizados en tamaño y en velocidad debido a los
transistores adicionales en la matriz de puertas OR. Se utilizan
fundamentalmente para construir máquinas de estados. Para otras aplicaciones,
las PAL resultan más efectivas. Las PAL y las FPLA son sistemas
combinacionales incompletos porque teniendo n entradas, disponen de menos de
2n términos producto.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 3.6.Estructura de una FPLA

PROM (Programmable Read Only Memory). Es un PLD en el que las uniones


en la matriz de puertas AND es fija, siendo programables las uniones en la matriz
de puertas OR (véase Figura 3.7). Una PROM es un sistema combinacional
completo que permite realizar cualquier función lógica con las n variables de
entrada, ya que dispone de 2n términos productos. Están muy bien adaptadas
para aplicaciones tales como: tablas, generadores de caracteres, convertidores
de códigos, etc. Generalmente las PROM tienen menos entradas que las PAL y
FPLA. Se pueden encontrar PROM con capacidades potencia de 2, que van
desde las 32 hasta las 8192 palabras de 4, 8 o 16 bit de ancho.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 3.7.Estructura de una PROM

AUTOEVALUACION
1. Qué es la lógica programable?
2. Nombre las clases de PLD´s
3. Qué es un célula normalizada?
4. Especifique las diferencias entre PLD’s y FPGA’s

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 2: DISPOSITIVOS LOGICOS PROGRAMABLES AVANZADOS


(CPLD Y FPGA)

CPLD
 

Un CPLD (Complex Programmable Logic Device) extiende el concepto de un PLD


a un mayor nivel de integración ya que permite implementar sistemas con un
mejor desempeño porque utilizan menor espacio, mejoran la confiabilidad en el
circuito, y reducen costos. Un CPLD se forma con múltiples bloques lógicos, cada
uno similar a un PLD. Los bloques lógicos se comunican entre sí utilizando una
matriz programable de interconexiones lo cual hace más eficiente el uso del
silicio, conduciendo a un mejor desempeño y un menor costo. A continuación se
explican brevemente las principales características de la arquitectura de un
CPLD.

Figura 3.8. Arquitectura Básica de un CPLD

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Matriz de Interconexiones Programables


La matriz de interconexiones programables (PIM) permite unir los pines de
entrada/salida a las entradas del bloque lógico, o las salidas del bloque lógico a
las entradas de otro bloque lógico o inclusive a las entradas del mismo. La
mayoría de los CPLDs usan una de dos configuraciones para esta matriz:
interconexión mediante arreglo o interconexión mediante multiplexores.

El primero se basa en una matriz de filas y columnas con una celda programable
de conexión en cada intersección. Al igual que en el GAL esta celda puede ser
activada para conectar/desconectar la correspondiente fila y columna. Esta
configuración permite una total interconexión entre las entradas y salidas del
dispositivo o bloques lógicos. Sin embargo, estas ventajas provocan que
disminuya el desempeño del dispositivo además de aumentar el consumo de
energía y el tamaño del componente.

En la interconexión mediante multiplexores, existe un multiplexor por cada


entrada al bloque lógico. Las vías de interconexión programables son conectadas
a las entradas de un número de multiplexores por cada bloque lógico. Las líneas
de selección de estos multiplexores son programadas para permitir que sea
seleccionada únicamente una vía de la matriz de interconexión por cada
multiplexor la cual se propagara a hacia el bloque lógico. Cabe mencionar que no
todas las vías son conectadas a las entradas de casa multiplexor. La rutabilidad
se incrementa usando multiplexores de mayor tamaño, permitiendo que cualquier
combinación de señales de la matriz de interconexión pueda ser enlazada hacia
cualquier bloque lógico. Sin embargo, el uso de grandes multiplexores
incrementa el tamaño de dispositivo y reduce su desempeño.

Bloques Lógicos
Un bloque lógico es similar a un PLD, cada uno pose un arreglo de compuertas
AND y OR en forma de suma de productos, una configuración para la distribución
de estas sumas de productos, y macroceldas. El tamaño del bloque lógico es una
medida de la capacidad del CPLD, ya que de esto depende el tamaño de la
función booleana que pueda ser implementada dentro del bloque. Los bloques
lógicos usualmente tienen de 4 a 20 macroceldas.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 3.9. Estructura de un Bloque Lógico en dispositivos de las familias


MAX340 y MAX5000

Distribución de Productos

Existen pequeñas diferencias en cuanto a las matrices de productos, esto


dependerá del CPLD y del fabricante. Obviamente el tamaño de las sumas sigue
siendo el factor más importante para la implementación de funciones booleanas.
Cada fabricante distribuye los productos de diferente forma. La familia MAX de
CPLDs fue desarrollada por Cypress Semiconductor junto con Altera Corporation,
siendo los primeros en sacar al mercado unan familia de CPLDs. Altera la llamó
MAX5000 y Cypress por su parte la clasificó como MAX340. En un dispositivo
como el 22V10 tenemos que la suma de productos es fija por cada macrocelda -
8, 10, 12, 14 o 16 -, en la familia MAX se colocan 4 productos por macrocelda los
cuales pueden ser compartidos con otras macroceldas. Cuando un producto
puede ser únicamente utilizado por una macrocelda se le conoce como termino -
producto dirigido, y cuando estos pueden ser utilizados por otras macroceldas se
le llama termino - producto compartido. Mediante estos productos compartidos se
mejora la utilización del dispositivo, sin embargo, esto produce un retardo
adicional al tener que retroalimentar un producto hacia otra macrocelda y con
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

esto disminuye la velocidad de trabajo del circuito. La forma en que son


distribuidos los productos

repercute en la flexibilidad que proporciona el dispositivo para el diseñador.


Además, que estos esquemas proporcionan también flexibilidad para los
algoritmos del programa de síntesis que es el que finalmente selecciona la mejor
forma en que deben ser distribuidas las funciones.

Figura 3.10. Distribución de Productos en dispositivos de


las familias MAX340 y MAX5000

Macroceldas
Las macroceldas de un CPLD son similares a las de un PLD. Estas también
están provistas con registros, control de polaridad, y buffers para salidas en alta
impedancia. Por lo general un CPLD tiene macroceldas de entrada/salida,
macroceldas de entrada y macroceldas internas u ocultas (buried macrocells), en
tanto que un 22V10 tiene solamente macroceldas de entrada/salida. Una
macrocelda interna es similar a una macrocelda de entrada/salida, sólo que esta
no puede ser conectada directamente a un pin de salida. La salida de una
macrocelda interna va directamente a la matriz de interconexión programable. A
continuación se muestra la estructura básica de las macroceldas de
entrada/salida y macroceldas ocultas para dispositivos de la familia FLASH 370
de Cypress Semiconductors.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 3.11. Macroceldas de entrada/salida y macroceldas ocultas en


dispositivos de la familia FLASH 370

Las macroceldas de entrada, como la que se muestra en la figura 3.11, son


utilizadas para proporcionar entradas adicionales para las funciones booleanas.
En el diagrama se muestra la macrocelda de entrada de la familia FLASH 370.
En general las macroceldas de entrada incrementan la eficiencia del dispositivo al
ofrecer algunos registros adicionales con los que se pueden almacenar el valor
del pin de entrada, lo cual puede ser útil al momento de obtener las funciones
booleanas.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 3.12. Macrocelda de entrada en dispositivos de la familia FLASH 370

Celda de entrada/salida
En la figura 3.12se puede apreciar una celda de entrada/salida, que bien podría
considerarse parte del bloque lógico, pero no necesariamente tienen que estar a
la salida de un bloque lógico. La función de una celda de entrada/salida es
permitir el paso de una señal hacia dentro o hacia el exterior del dispositivo.
Dependiendo del fabricante y de la arquitectura del CPLD estas celdas son
pueden ser consideradas o no consideradas parte del bloque lógico.

FPGA
La arquitectura de un FPGA (Field Programmable Gate Array) consiste en
arreglos de varias celdas lógicas las cuales se comunican unas con otras
mediante canales de conexión verticales y horizontales como se muestra en la
siguiente figura.
 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 3.13. Arquitectura básica de un FPGA

Cada celda lógica es similar a los bloques lógicos de un CPLD. La estructura de


las celdas lógicas y las formas en que estas pueden ser interconectadas, tanto
salidas como entradas de la celda, varían de acuerdo al fabricante. En general
una celda lógica tiene menos funcionalidad que la combinación de sumas de
productos y macroceldas de un CPLD, pero como cada FPGA tienen una gran
cantidad de celdas lógicas es posible implementar grandes funciones utilizando
varias celdas lógicas en cascada.

Además de las celdas lógicas también es importante la tecnología utilizada para


crear las conexiones entre los canales, las más importantes son las siguientes.

Antifuse
Al igual que la tecnología PROM son programables una sola vez y utilizan algo
similar a un fusible para realizar las conexiones, una vez que es programado éste
ya no se puede recuperar. Al contrario que un fusible normal, estos anti - fusibles
cuando son programados producen una conexión entre ellos por lo que
normalmente se encuentran abiertos. La desventaja es que no son reutilizables
pero por el contrario disminuyen considerablemente el tamaño y costo de los
dispositivos.

SRAM
Celdas SRAM son implementadas como generadores de funciones para simular
lógica combinacional y, además, son usadas para controlar multiplexores e
interconectar las celdas lógicas entre si (similar a un CPLD).

Celdas Lógicas
La estructura de las celdas lógicas se ve fuertemente influida por la tecnología
utilizada para fabricar el FPGA. Un FPGA que tiene una gran cantidad de canales
de interconexión tiende a tener pequeñas celdas lógicas con muchas entradas y
salidas en comparación con el número de compuertas que tiene la celda, este
tipo de FPGAs generalmente utilizan tecnología Antifuse.

Un FPGA que tiene una estructura pequeña en canales de interconexión tiende a


tener grandes celdas lógicas con pocas entradas y salidas en comparación con el
número de compuertas que hay en la celda. Este tipo de FPGA generalmente
está hecho con tecnología SRAM.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Una arquitectura con celdas lógicas pequeñas nos permite utilizar totalmente los
recursos del dispositivo. Sin embargo, si las celdas lógicas son demasiado
pequeñas entonces sucede que tendremos que utilizar un gran número de estas
en cascada para poder implementar funciones booleanas grandes, lo cual afecta
porque cada celda lógica en cascada agrega un tiempo de retardo en la función
implementada.

Cuando el tamaño de la celda lógica es grande sucede lo contrario. En este tipo


de celdas lógicas es posible utilizar un gran número de compuertas por lo que
podemos implementar funciones booleanas de varios términos con pocas celdas
lógicas. El que el tamaño de la celda sea grande no afecta la frecuencia máxima
de trabajo porque estamos hablando de que existe un gran número de
compuertas que pueden ser usadas en la función al mismo tiempo, siendo el
mismo tiempo de retardo para todas. En cambio cuando la celda lógica tiene
pocas compuertas es necesario utilizar las compuertas de otra celda para poder
implementar la misma función y se acumula el tiempo de retardo de las
compuertas de la otra celda. Sin embargo, cuando las funciones son pequeñas
en comparación con el tamaño de la celda no es necesario utilizar todas las
compuertas de la celda, por lo que este tipo de celdas no son precisamente las
más indicadas para desempeñar pequeñas funciones.

La tecnología SRAM y Antifuse son comúnmente utilizadas por la mayoría de los


fabricantes. La tecnología SRAM es utilizada por Altera, Lucent Technologies,
Atmel, Xilinx y otros. La tecnología ANTIFUSE es utilizada por Cypress, Actel,
QuickLogic, y Xilinx.

A continuación se muestran varias celdas lógicas con diferentes nombres de


acuerdo al fabricante.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 3.14. Bloque Lógico Configurable de la familia XC4000 de Xilinx, Inc.

Figura 3.15. Modulo Lógico de la familia ACT3 de Actel Corporation

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 3.16. Elemento Lógico de la familia APEX20K de Altera Corporation

AUTOEVALUACION

1. Esboce la arquitectura básica de un CPLD.


2. Comente acerca de la arquitectura de un FPGA .
3. Explique el uso del término Antifuse.
4. Mencione los principales fabricantes de FPGA´s

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 3: CARACTERISTICAS ESPECIALES

Los PLDs están situados en una zona intermedia entre los dispositivos a medida
y la lógica de catálogo formada por los CI de función fija. Tienen casi todas las
ventajas de los ASICs sin estar penalizados por un costo elevado para pequeñas
series. Además el ciclo de diseño con PLDs es mucho más rápido que los de las
matrices de puertas o las células normalizadas. En determinadas aplicaciones,
un PLD puede sustituir desde unos pocos hasta unas decenas de IC de función
fija, mientras que los grandes ASICs pueden sustituir a cientos e incluso miles de
IC. En ocasiones, los PLD se utilizan para realizar prototipos que posteriormente
se llevarán a un ASIC más complejo.

El trabajo con PLDs proporciona: facilidad de diseño, prestaciones, fiabilidad,


economía y seguridad.

Facilidad de diseño
Las herramientas de soporte al diseño con PLDs facilitan enormemente este
proceso. Las hojas de codificación que se utilizaban en 1975 han dejado paso a
los ensambladores y compiladores de lógica programable (PALASM, AMAZE,
ABEL, CUPL, OrCAD/PLD, etc.). Estas nuevas herramientas permiten expresar la
lógica de los circuitos utilizando formas variadas de entrada tales como;
ecuaciones, tablas de verdad, procedimientos para máquinas de estados,
esquemas, etc. La simulación digital posibilita la depuración de los diseños antes
de la programación de los dispositivos. Todo el equipo de diseño se reduce a un
software de bajo coste que corre en un PC, y a un programador.

Prestaciones
Los PLDs TTL que hay en el mercado tienen tiempos de conmutación tan rápidos
como los circuitos integrados de función fija más veloces. Los PLDs ECL son
todavía más rápidos. Sin embargo, el incremento de velocidad obtenido con los
dispositivos CMOS, que ya han igualado o superado en prestaciones a los
dispositivos TTL, está provocando el abandono de la tecnología bipolar por parte
de los fabricantes. En cuanto al consumo de potencia, los PLDs generalmente
consumen menos que el conjunto de chips a los que reemplazan.

Fiabilidad
Cuanto más complejo es un circuito, más probabilidades hay de que alguna de
sus partes falle. Puesto que los PLDs reducen el número de chips en los
sistemas, la probabilidad de un fallo disminuye. Los circuitos impresos con menor
densidad de IC son más fáciles de construir y más fiables. Las fuentes de ruido
también se reducen.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Economía
En este apartado, hay aspectos que resultan difíciles de cuantificar. Por ejemplo,
los costes de pérdida de mercado por una introducción tardía de un producto.
Otros son más claros, por ejemplo, la reducción del área de las placas de circuito
impreso obtenida gracias a que cada PLD sustituye a varios circuitos integrados
de función fija. Muchas veces se consigue reducir el número de placas de circuito
impreso economizándose en conectores. La reducción de artículos en almacén
también aporta ventajas económicas.

De la misma manera que para altos volúmenes de producción las memorias ROM
resultan de menor coste que las EPROM, las HAL (Hard Array Logic) o PLDs
programados por el fabricante proporcionan ahorros adicionales en grandes
cantidades.

Seguridad
Los PLDs tienen fusibles de seguridad que impiden la lectura de los dispositivos
programados, protegiendo los diseños frente a copias.

Además de los puntos mencionados, podemos añadir que los PLDs facilitan el
ruteado de las placas de círculo impreso debido a la libertad de asignación de
patillas que proporcionan. Permiten realizar modificaciones posteriores del diseño
y en ocasiones hacen posible la reutilización de circuitos impresos con algunos
fallos, mediante una reasignación de los PLDs.

Cómo se catalogan los PLDs.

Si consultamos las hojas de datos de una PALCE16V8H-20, encontramos claves


que permiten extraer valiosa información del nombre del dispositivo. La
información incluida en el nombre nos indica:

PAL Programmable Array Logic.

CE C-MOS Electrically Erasable.

16 Entradas a la matriz de puertas AND y ocho


16V8
salidas.

H Half Power (lec = 90 mA).

20 Tiempo de propagación = 20 nsg.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Consumo de corriente en los PLDs


En la fabricación de PLDs se utiliza tecnología bipolar TTL o ECL y tecnología
CMOS. Los dispositivos bipolares son más rápidos y consumen más que los

dispositivos CMOS. Actualmente los PLDs bipolares presentan retardos de


propagación inferiores a 7 nsg y los consumos típicos rondan los 100-200 mA
para un chip con 20-24 patillas.

Mientras los PLDs bipolares sólo pueden programarse una vez, la mayoría de los
PLDs CMOS son reprogramables y permiten una fácil verificación por parte del
usuario. A los PLDs CMOS borrables por radiación ultravioleta se les denomina
EPLD y a los borrables eléctricamente se les conoce por EEPLD. Los EEPLD con
encapsulados de plástico son más baratos que los EPLD provistos de ventanas
de cuarzo que obligan a utilizar encapsulados cerámicos.

También existen las PALCE16V8Q (Quarter Power Icc = 55 mA) y las


PALCE16V8Z (Zero Power) con un bajísimo consumo estático de potencia.

Acostumbrados a trabajar con dispositivos CMOS con un consumo prácticamente


nulo a frecuencia cero, resulta sorprendente una PAL CMOS con un consumo de
90 mA a la máxima frecuencia de operación (15 Mhz), pero que todavía tendrá un
consumo apreciable a frecuencia cero. En la actualidad, solamente una pequeña
fracción de los PLDs del mercado se anuncian como Zero Power.

La razón de estos consumos reside en que no existe una célula de memoria


EPROM o EEPROM que sea verdaderamente CMOS. La mayoría de los PLDs
CMOS se construyen con un núcleo programable de transistores N-MOS, y
solamente las entradas y las salidas del PLD utilizan drivers CMOS. La matriz de
transistores NMOS precisa de una alimentación continua (Figura 3.17), para
poder responder con rapidez.

Figura 3.17. Término producto de un PLD

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Para rebajar los consumos de la matriz de transistores NMOS se utilizan dos


técnicas.

La primera de ellas consiste en dotar al PLD de una patilla o fusible de control de


consumo de potencia (patilla o fusible Power Down), que quita la alimentación a
la matriz de transistores cuando el PLD se encuentra fuera de servicio,
proporcionando un menor consumo de potencia. Tiene los inconvenientes de que
la puesta en funcionamiento del PLD es más lenta.
La segunda técnica (Figura 3.18) coloca en las entradas de los PLDs unos
detectores de transición de estado, que conectan la alimentación a la matriz de
transistores durante un breve instante de tiempo después de que una entrada
haya cambiado. Este tiempo deberá permitir el cambio de las salidas y su
almacenamiento en latches, tras lo cual se puede quitar de nuevo la alimentación
a la matriz de transistores.
El detector de transición de estado de las entradas se obtiene metiendo a las dos
entradas de una puerta OR-exclusiva el estado de una patilla de entrada y el
estado de esa misma patilla demorada un tiempo. El tiempo de demora de las
patillas de entrada será igual al tiempo durante el cual se mantendrá la
alimentación a la matriz de transistores. Los detectores de transición de las
entradas y los latches de las salidas se mantienen constantemente alimentados.
El consumo de corriente de los PLDs que utilizan esta segunda técnica aumenta
lógicamente si se incrementa la frecuencia de cambio de las entradas.

Figura 3.18. Circuito detector de transiciones

AUTOEVALUACION
1. Explique el concepto de fiabilidad en PLD´s
2. Cómo se catalogan los PLDs?
3. Mencione una técnica utilizada para rebajar el consumo en los PLD
 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 4: DISPOSITIVOS ANALOGICOS PROGRAMABLES

Los circuitos análogos programables se denominan en la literatura FPAA (Field


Progammable Analog Array). Estos circuitos son el equivalente análogo de los
circuitos digitales FPGA (Field Programmable Gate Array).
Un circuito análogo programable es un circuito que puede ser configurado
para implementar una variedad de funciones análogas; el circuito consta de
un arreglo de bloques análogos configurables (Configurable Analog Block:
CAB), una red de interconexión programable y un registro para almacenar los
bits de la configuración de la FPAA. En la Figura 3.19 se muestra el diagrama de
bloques para un circuito FPAA.
De acuerdo a las características impuestas por el fabricante del FPAA, la
red de interconexión proporciona la ruta de interconexión entre los bloques CABs,
o entre los bloques de entrada y salida (I/O). El registro con las cadenas de bits
almacena la información para configurar los bloques CABs.

Figura 3.19. Diagrama de bloques para un FPAA

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Terminología

Debido a que existen diferentes fabricantes de FPAAs, una nueva terminología


está siendo usada. Actualmente, la terminología más utilizada es la siguiente:

- Field Programmable Analog Array (FPAA): Un circuito integrado, el cual


puede ser programado para implementar circuitos análogos, usando bloques
análogos flexibles e interconexiones.
- Field Programmable Mixed Analog-Digital Array (FPMA): Un circuito
integrado, el cual contiene un FPAA y un FPGA, es tan flexible como los
bloques configurables y se puede programar para implementar circuitos de
señal mixta.
- Electrically Programmable Analog Circuit (EPAC): Un circuito FPAA
versión de IMP Inc; EPAC es una marca registrada del fabricante IMP Inc.
- Field Programmable Analog Device (FPAD): Es el nombre que utiliza el
fabricante Zetex para un FPAA.
- Totally Reconfigurable Analog Circuit (TRAC): Nombre para los circuitos
FPADs fabricados por Zetex.
- Reseau Analogique Programmable (RAP): Nombre en francés para un
FPAA.
- Configurable Analog Block (CAB): Celda analógica básica y
programable en un FPAA.
- Field Programmable System-On-a-Chip (FIPSOC): Un chip que integra
un FPMA y un microcontrolador, este chip es comercializado por la compañía
SIDSA.

EVOLUCIÓN DE LOS FPAAs

Con la aparición y evolución de los circuitos digitales programables


(Programmable Logic Devices: PLDs), surgió la necesidad de desarrollar
circuitos integrados que permitieran programar e implementar circuitos de señal
mixta en un solo chip: es por ello que desde la década del ochenta hasta el
presente, varias compañías y grupos de investigación (la mayoría de ellos
pertenecientes a las universidades) han desarrollado y anunciado sus productos,
tal como se muestra en la Tabla.

Año Compañías y Grupos de Investigación

1988 Sivilotti (Caltech)


1990 Lee & Gulak (University of Toronto)
1990 Kawasaki Steel

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

1990 Pilkington Microelectronics


1991 Lee & Gulak (University of Toronto)
1994 IMP, Inc.
1994 Pierzchala & Perkowski (Portland State University)
1994 Chang et al (University of Nottingham)
1996 Embabi et al (Texas A&M University)
1996 Zetex Semiconductors Ltd.
1997 Guadet & Gulak (University of Toronto)
1997 Futura et al (Spain)
1997 Motorola
1998 Motorola e IMP, retiradas del mercado
1999 IspPAC de Lattice
1999 SIDSA FIPSOC (anunció el nuevo chip)
2000 Anadigm

AUTOEVALUACION

1. Comente la diferencia entre FPGA y FPAA


2. Defina que es un CAB

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 5: FAMILIAS DE DISPOSITIVOS ANALOGICOS

FPAAs COMERCIALES

Actualmente, tres compañías fabricantes de semiconductores producen circuitos


FPAAs. En la Tabla se muestran los FPAAs comerciales.

Fabricante Modelo Tecnología Ancho de banda

IspPAC10 550 kHz (G=1)


330 kHz (G=100)
IspPAC20
Lattice IspPAC30 UltraMOS 1.5 MHz
tiempo
IspPAC80 continuo 500 kHz
IspPAC81 75 kHz
IspPAC -
POWR1208
TRAC20 Bipolar 4 MHz
Zetex tiempo
TRAC20LH 12 MHz
continuo
Anadigm AN10E40 Switched 5MHz
capacitor
AN120E04 2MHz
AN220E04

Circuitos FPAAs de Lattice

El elemento funcional activo básico de los circuitos FPAAs de Lattice es el


PACell (Programmable Analog Cell) que, dependiendo de la arquitectura
específica del circuito IspPAC, puede ser un amplificador de instrumentación, un
amplificador-sumador u otra etapa activa elemental.

En todos los circuitos IspPAC, las celdas programables PACells™ se combinan


cuidadosamente para formar macroceldas análogas o PACblocks. En este caso,
no se requiere ningún componente externo, lo cual flexibiliza la implementación
de funciones análogas básicas tales como: filtrado con precisión, suma o
diferencia, ganancia o atenuación y conversión. En la Figura 3.20, se muestra
el diagrama de bloques básico de un PACblock.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 3.20. Diagrama de bloques de un PACblock

Los circuitos IspPAC funcionan con una sola fuente de alimentación a 5V y


ofrecen una arquitectura que es completamente diferencial desde la entrada
hasta la salida. Esto duplica la eficiencia del rango dinámico versus I/O “single-
ended” (voltaje de entrada). También, produce un funcionamiento mejorado
con respecto a las especificaciones tales como: CMR (Común-
Mode Rejection), PSR (Power-Supply Rejection) y THD (Total Harmonic
Distortion). Al mismo tiempo, la operación “single-ended” se acomoda fácilmente.

La metodología de diseño de programación en el sistema (In-System


Programmable: ISP) de Lattice permite simplificar el proceso de diseño y acelerar
la implementación del circuito análogo. En este caso, la herramienta de diseño
PAC-Designer suministra al usuario una ventana con una interfaz gráfica para
especificar fácilmente el diseño usando librerías y macros generadores de
circuitos.
La Tabla presenta los diferentes circuitos de la familia IspPAC y la respectiva
área de aplicación de cada uno.

Circuito Función Encapsulado

IspPAC-POWR1208 Control y monitoreo de


44-TQFP
fuentes de potencia

IspPAC10 Acondicionamiento de
28-SOIC
señal
28-PDIP

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

IspPAC20 Lazo de control y 44-PLCC


monitoreo 44-TQFP

IspPAC30 Versatilidad análoga 24-SOIC


front-end 28-PDIP

Ultra-flexible, tiempo
continuo, filtro paso
16-SOIC
IspPAC80 bajo de 5to orden con 16-PDIP
una frecuencia de corte
programable en el
rango de 50 kHz – 750
kHz

Ultra-flexible, tiempo
continuo, filtro paso
16-SOIC
bajo de 5to orden con 16-PDIP
IspPAC81
una frecuencia de corte
programable en el
rango de 10 kHz – 75
kHz

Circuitos FPAAs de la familia IspPAC

Circuitos FPADs de Zetex

Los circuitos FPADs de Zetex son TRAC020 y TRAC020LH (versión del


TRAC020 para baja potencia).
En la Figura 3.21, se muestra el diagrama de bloques básico del TRAC020

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 3.21. Diagrama esquemático del TRAC020

El circuito TRAC se basa en una única celda análoga configurable, la cual es


flexible a la programación para llevar a cabo diferentes funciones tales como:
adición, negación, logaritmo, antilogaritmo, amplificación, diferenciación,
integración, rectificación, y seguidor de voltaje. Estas funciones son combinadas
para implementar un sistema de procesamiento de señal o acondicionamiento de
señal. Ellas también facilitan el uso de las técnicas estructuradas de diseño
matemático. En este caso, no es necesario entender muy bien la estructura de
las funciones análogas, solo es necesario entender su función a nivel de sistema.

Las funciones básicas pueden ser configuradas en cada una de las veinte celdas
interconectables entre si para facilitar el diseño y configuración de cualquier
circuito análogo en el chip; es decir, la configuración es realizada digitalmente
mediante un registro de desplazamiento, mientras la señal permanece en el
dominio análogo todo el tiempo, por lo tanto se evitan los errores de muestreo y
retardos de procesamiento hallados en soluciones equivalentes con DSP
(Digital Signal Processing).

Adicionalmente como un complemento a los TRACs, el grupo FAS (Fast Analog


Solutions) de Zetex tiene en el mercado el circuito CASIC (Computational
Application Specific Integrated Circuit) ZXF36Lxx, el cual contiene 36 celdas
análogas las cuales se pueden configurar usando una máscara para la
metalización.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Circuitos FPAAs de Anadigm

El FPAA AN10E40 de Anadigm, es un dispositivo adecuado para el diseño e


implementación de diferentes circuitos análogos basados en usar la técnica de
diseño SC (switched-capacitor). Este circuito dispone de macros llamados
Ipmodules, los cuales implementan las funciones de amplificación, suma,
integración, diferenciación, comparación y rectificación, fuentes de DC (voltajes
de referencia), filtros, osciladores senosoidales, y circuitos S/H (Sample and Hold)
y T/H (Track and Hold), es decir, puede ser usado en diversas aplicaciones
tales como: filtrado de señales, implementación de circuitos de control,
generadores de señal, etc. El chip se divide en 20 bloques análogos
configurables (Configurable Analog Block: CAB), cada uno con un amplificador
operacional, cinco bancos de capacitores e interruptores tal como se ilustra en
la Figura 3.22.

Figura 3.22. Diagrama de bloques básico de un CAB.

Cuatro de los bancos de capacitores se localizan entre el bloque de interconexión


interno (local routing connections) y los interruptores, y un banco de
capacitores está en el lazo de realimentación del amp-op. En el lado izquierdo de
los bancos de capacitores existen diversas etapas de entrada (a las cuales llegan
las entradas Local Inputs) y sus salidas llegan a los bloques de interruptores, y en
el lado derecho del amp-op (OpAmp) están las salidas del CAB.

La información para las interconexiones y el comportamiento de los CABs es


almacenada en el bloque SRAM, la cual es cargada durante la configuración. El
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

proceso de configuración típicamente ocurre al energizar el circuito, pero


puede ser re-iniciado en cualquier momento. La habilidad para reconfigurar el
bloque SRAM en cualquier momento le permite al usuario gran flexibilidad para
diseñar un sistema.

El AN10E40 está organizada en una matriz de bloques CABs de 4x5, una red de
interconexión para el reloj, interruptores, y recursos para interconexión global y
local. Cada bloque CAB del AN10E40 (ver Figura 3.23) es programable, lo cual
permite una gran flexibilidad para diseñar diferentes circuitos para procesamiento
análogo.

Figura 3.23. Diagrama de bloques de la matriz del AN10E40

La lógica para la configuración (Configuration Logic) y el registro de


desplazamiento (Shift Register) trabajan en conjunto siempre que la configuración
del chip este en proceso. La matriz de bloques CABs está rodeada por las celdas
análogas I/O (Input/Output) programables, 13 en total, con dos amp-ops de
soporte. El chip también tiene un generador de voltaje de referencia (Vref)
programable.
Las celdas análogas I/O son flexibles y permiten conectar directamente la
circuitería del núcleo (core) del chip con los pines de entrada o salida.
Adicionalmente, con muy pocos componentes externos se implementa fácilmente
un filtro Sallen-Key, el cual permite corregir los problemas de aliasing.

Debido a que el FPAA AN10E40 está basado en circuitos switched-


capacitor, sus señales de salida no están libres de la presencia de
ruido, entonces la flexibilidad de las celdas I/O es importante cuando se
considera la implementación de filtros anti-aliasing. Adicionalmente, debido a la
naturaleza misma del sistema de datos muestreados (Sampled Data System), el
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

cuidado que se debe tener es limitar el ancho de banda de la señal de entrada


para evitar aliasing.
Los FPAAs AN120E04 y AN220E04 pertenecen a la segunda generación de
la familia de Anadigm (Anadigmvortex) y están basados en una arquitectura
switched-capacitor completamente diferencial.
La arquitectura de los FPAAs AN120E04 y AN22E04 consiste de una matriz de
CABs de 2x2, una red de interconexión programable, una LTU (Look-Up Table),
cuatro celdas análogas de entrada (una de ellas con un multiplexor para
cuatro señales de entrada), y tres celdas de salida. En la Figura 3.24, se
muestra el diagrama de bloques de la matriz para los AN120E04 y AN220E04

Figura 3.24. Diagrama de bloques de los FPAAs


AN120E40 y AN220E04

Cada una de las celdas de entrada tiene un filtro anti- aliasing programable y un
amplificador de alta ganancia con bajo offset de entrada. Las cuatro celdas CABs
pueden ser programadas a traves de la LUT, lo cual permite realizar la
implementación de funciones arbitrarias.

La diferencia fundamental entre estos FPAAs es la programación. El


AN120E40 es un dispositivo de bajo costo para aplicaciones de alto volumen
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

de producción, sin embargo este puede ser re-programado si se activa la señal


de reinicio (reset) del chip; el AN220E04 soporta re- configuración dinámica (re-
programación o actualización de una nueva función) mientras realiza un
procesamiento análogo. El AN220E04 tiene dos tipos de memoria: la SRAM de
respaldo (Shadown) y la SRAM de configuración. Los nuevos datos de
configuración son almacenados en la Shadown SRAM, los cuales son
transferidos a la SRAM de configuración en un flanco de reloj provisto para
sincronizar la actualización de la función análoga del circuito.

AUTOEVALUACION

1. Nombre 3 fabricantes de FPAAs


2. Cuál es la utilidad de utilizar los circuitos IspPAC?
3. Explique la configuración de un TRAC.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

ACTIVIDADES COMPLEMENTARIAS DE LA UNIDAD 1

Lecturas recomendadas:

http://www.unizar.es/euitiz/areas/aretecel/docencia/digitel/Apuntes/EDIG34bis.p
df

Realice un ensayo sobre las dos lecturas.

Ejercicio propuesto

Para realizar los siguientes problemas, se va a utilizar la herramienta


de edición de trazados y simulación Microwind que se encuentra disponible
en el entorno web:

http://atc2.aut.uah.es/~rico/docencia/asignaturas/informatica/lab_org_comp/la
b%20org%20computadores.html#Herramientas

Seleccione la tecnología de 90 nm que se encuentra en el archivo


cmos90n.rul, desde el menú File →Select Foundry.

No se olvide en ninguno de sus diseños de polarizar el sustrato p y el pozo n.

1(a). Realice el trazado de un inversor con las siguientes características:

Las dimensiones del transistor n son W=4 λ , L=2 λ .

Las dimensiones del transistor p son W=8 λ , L=2 λ .

1(b). Cargue la salida del inversor con una capacidad de 3 fF ( ), ataque la


entrada con un pulso ( ) que comience (ts) después de 1ns, con tiempos de
subida (tr) y bajada (tf) de 10 ps y tiempo de duración del pulso (tp) 190 ps y
haga que la salida del inversor sea un nodo visible para la simulación ( ).
Simule con el modelo BSim4 desde el menú Simulate → Using Model… →
BSim4. Anote los retardos de subida y bajada en la hoja de respuestas.
Pasando a la pestaña inferior “Voltages and currents” y comenzando de
nuevo la simulación (botón Reset), anote de manera aproximada los valores
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

máximos de corriente que proporcionan el transistor p y el transistor n (si lo


considera necesario, aumente la escala hasta 500 uA).

1(c). Mida la capacidad de entrada del inversor ( ) y clic en el nodo de la


entrada) y cargue al inversor con esta capacidad. ¿Cuál sería el retardo de
una cadena de 7 inversores, si el último inversor está cargado con 3 fF?

Nota: considere el retardo de un inversor como la media aritmética del tiempo


de subida y el tiempo de bajada.

1(d). Realice el trazado de un inversor con las siguientes características:

Las dimensiones del transistor n son W=4 λ , L=2 λ .

Las dimensiones del transistor p son W=4 λ , L=2 λ .

1(e). Repita el apartado 1(b) para el inversor del apartado 1(d). ¿Qué está
ocurriendo?

1(f). En un equipo de trabajo, se encuentran con un problema de retardo


excesivo en un diseño en el que están distribuidos varios inversores (no
necesariamente juntos). Un ingeniero del equipo propone minimizar la
relación W/L de los transistores de los inversores, mientras que otro propone
todo lo contrario, aumentar la relación W/L hasta que se cumplan las
restricciones temporales. Comente las ventajas y las desventajas de cada una
de las opciones.

2(a). Realice el trazado de un inversor de tal manera que una de las


dimensiones (la anchura o la altura del trazado completo) sea lo más pequeña
posible (máximo 1 µm ).

2(b). Realice el trazado de un inversor dentro de los límites siguientes:

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

El inversor recibe la señal de entrada por el lado izquierdo en “metal1” y


entrega la señal de salida por el lado superior también en “metal1”.

Tomando como el ejemplo el caso anterior realizar otras simulaciones para:

z Familiarizarse con la herramienta.

z Comprender cada uno de los conceptos que se involucran en


el proceso de fabricación de circuitos integrados.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

FUENTES DOCUMENTALES DE LA UNIDAD 1

Bar-Lev. "Semiconductors and electronic devices", Prentice Hall


International, 1984

Basic Integrated Circuit Engineering: Hamilton & Howard. Macgraw Hill

(1975) Artigas, J.I. et alter, Electrónica Digital: aplicaciones y problemas

con VHDL,
Prentice-Hall, 2002.

C.J. Savant, M. S.Roden y G.L. Carpenter. "Diseño electrónico", Addison


- Wesley Iberoamericana, 1992

D. de Cogan. "Design and technology of integrated circuits". John Wile y &


Sons 1990

Deschamps, J.P., Síntesis de circuitos digitales: un enfoque algorítmico,


Ed. Thomson, 2002.

Horestein, M., Microelectrónica: Circuitos y dispositivos, Prentice Hall,

1997. Integrated Circuit Fabrication Technology: D.J. Elliot. MacGraw Hill

(1989) Introducción a la Física del Estado Sólido: C. Kittel. Reverté (1984)

Material Handbook for Hybrid Microelectronics: J.A. King. Artech House


(1988)

Microelectronics. An integrated approach: R.T. Howe and C.G. Sodini.


Prentice
Hall (1997)

Microelectronic Devices: E.S. Yang. MacGraw Hill (1988)

M.J. Morant. "Diseño y tecnología de circuitos integrados", Addison-Wesley


Iberoamericana, 1994

Modular series on solid state devices: Vol.1: "Semiconductor


fundamentals", R.F. Pierret, Vol.2: "The P-N junction diode", G.W.
Neudeck, Vol.3: "The bipolar junction transistor", G.W. Neudeck, Vol.4:
"Field effect devices", R.F. Pierret, Addison-Wesley Publishing Company
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

(1990)

Physics of Semiconductor devices: S.M. Sze. J. Wiley & Sons


Quick Reference Manual for Silicon Integrated Circuit Technology:
Beadle, Tsai
& Plummer. A. Wiley
(1985)

Rashid, M.H., Circuitos Microelectrónicos, Thompson,


2002.

Semiconductor Devices. Physics and Technology: S.M. Sze. John Wiley


& Sons
(198
5)

Solid State and Semiconductor Physics: J. McKelvey. Harper & Row

(1970)

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

UNIDAD 2
Nombre de la Unidad METODOLOGIAS DE DISEÑO
Introducción En este capítulo abordaremos el tema del diseño de
circuitos y sistemas integrados desde el punto de vista
metodológico. Es decir, se presentarán las técnicas y
métodos más habituales utilizados cuando se aborda el
diseño de un circuito microelectrónico y las
herramientas que el diseñador tiene a su disposición. El
problema del diseño de un sistema integrado como los
que hoy en día podemos encontrar es tan complejo que
la primera metodología consiste en la estructuración y
jerarquización del sistema, de forma que su diseño
pueda ser abordado por partes. Además, debido a la
gran cantidad de variables que se deben controlar, es
necesario enfrentarnos al diseño a diferentes niveles de
abstracción, lo que nos permite reducir la cantidad de
información que es necesario manejar en cada
momento. Vamos a dedicarnos a este aspecto en el
siguiente apartado y posteriormente nos centraremos
en los flujos de diseño habituales (ascendente y
descendente), con respecto a la jerarquía. Trataremos
de proporcionar una lista exhaustiva de las variables de
diseño y los escenarios más habituales en relación con
los distintos niveles y fases del proceso de diseño.
Justificación El estudiante de tecnología e ingeniería electrónica debe
conocer la importancia que tiene la metodología de
diseño microelectrónica dentro de la ingeniería, que le
permitirá adquirir herramientas y destrezas en el diseño
de microcircuitos. En la Unidad 2 se presentan la
metodología de diseño, los lenguajes de descripción y la
testabilidad de circuitos integrados.
Mediante el desarrollo de las lecciones propuestas se
pretende entrenar a los estudiantes en los temas tratados
durante la unidad, de tal forma que asimile correctamente
los diversos contenidos y los contextualice a su entorno.
Intencionalidades • Introducir las metodologías de diseño
Formativas microelectrónico tomando contacto con las
principales herramientas necesarias para abordar
la complejidad actual de los circuitos integrados.
• Realizar diseños y llevarlos al campo real mediante
el uso de dispositivos lógicos programables.
• Identificar claramente las
herramientas de ayuda al diseño.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

• Manejar los conceptos básicos de descripción


VHDL
• Aplicar el proceso de validación y prueba de
circuitos integrados.

Denominación de • Capítulo 4: Metodologías de Diseño.


capítulos • Capítulo 5: Lenguajes de Descripción Hardware.
• Capítulo 6: Test de Circuitos Integrados.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

CAPÍTULO 4: METODOLOGIAS DE DISEÑO

LECCIÓN 1: NIVELES DE ABSTRACCIÓN Y REPRESENTACIONES DE UN


CIRCUITO MICROELECTRÓNICO

Antes de comenzar a abordar el diseño de un sistema es necesario contar con


una forma de expresarlo que nos permita escribir sus especificaciones, describir
su estructura, introducirlo en un equipo informático para su proceso automático,
documentarlo, etc. La descripción de un sistema en general, y de un circuito o
sistema microelectrónico en particular, se basa en tres procesos: la
jerarquización, la abstracción y la representación. El concepto de jerarquización,
consiste en la subdivisión del sistema en bloques de forma recursiva para
conseguir que el nivel de complejidad de cada parte sea abordable, ya que en la
mayoría de los casos tratar todo el sistema de forma unitaria es imposible. No
obstante, para determinar algunos aspectos será necesario manejar bloques de
complejidad considerable y es por ello que deberemos describir el sistema de
forma que sea posible manejar la información justa y necesaria y descartar los
detalles que no necesitamos. En otros casos será necesario tener en cuenta
todos los detalles y la información disponible, pero entonces deberemos
centrarnos por separado en partes pequeñas del sistema cuyo nivel de
complejidad sea tratable. Este proceso es el que denominamos abstracción.

Todo sistema electrónico, y los circuitos integrados en particular, no son otra


cosa, en definitiva, que sistemas físicos compuestos por distintos materiales
cuyas propiedades eléctricas (y en algunos casos mecánicas, químicas o
térmicas) se utilizan para representar y procesar información. A pesar de ello, no
sería viable abordar el diseño de uno de estos sistemas completos a este nivel
físico, dada la complejidad del aparato matemático que necesitaríamos y la
cantidad de variables a tener en cuenta. No obstante, este tipo de metodología
nos permite la representación más exacta posible del sistema. Para reducir la
cantidad de información manejada, se recurre al proceso de abstracción, por el
cual se definen un conjunto reducido de propiedades y elementos del sistema
mediante los cuales es factible abordar el problema de su diseño, especificación
e implementación. Este proceso de abstracción se concreta en la estructuración a
distintos niveles de abstracción del sistema (o sus partes), desde el nivel físico, el
más fundamental, pero también en el que la representación del sistema es más
exacta, hasta el nivel de arquitectura, en el que puede llegar a describirse el
sistema completo, pero en el que no se tiene información sobre muchas de las
propiedades definidas en los niveles inferiores.

La estructuración del diseño en diferentes niveles de abstracción está


íntimamente ligada a su estructuración jerárquica. Es decir, el sistema total
probablemente sólo pueda abordarse en un nivel elevado de abstracción,
mientras que los distintos bloques o sub-bloques podrán diseñarse a niveles de
abstracción inferiores, a medida que su complejidad se reduzca. Las partes más

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

pequeñas del sistema podrían llegar a diseñarse a nivel físico si fuera necesario
optimizar determinadas variables que sólo pueden ser abordadas a este nivel,
como veremos más adelante.

Entre el nivel físico y el nivel más alto de abstracción, al que llamaremos aquí
nivel de arquitectura, existen una serie de niveles más o menos aceptados como
típicos: el nivel eléctrico y el nivel lógico. Este último nivel, cuyo nombre proviene
de los circuitos digitales, no es muy apropiado para el entorno analógico. Vamos
a considerar en este texto que el nivel de abstracción equivalente en los circuitos
analógicos al nivel lógico sería el nivel de macromodelo. Como vemos, cada nivel
se caracteriza por una forma de describir los circuitos y un conjunto de variables,
de las que hablaremos en un apartado posterior.

Independientemente del nivel al que se encuentre descrito el sistema, existen dos


formas de representarlo, a las que llamaremos representaciones o vistas. La
primera de estas dos formas se denomina vista estructural, en la que el sistema
se describe utilizando la interconexión de bloques o componentes con funciones y
propiedades conocidas, o bien, formados a su vez por bloques de niveles
inferiores de la jerarquía. La segunda es la vista funcional o comportamental, en
la que el sistema se describe no por su estructura, sino por su función, utilizando
ecuaciones matemáticas, curvas, algoritmos, tablas, etc. Cualquier elemento del
sistema puede representarse de ambas formas (funcional o estructuralmente) y
existen mecanismos para obtener una representación a partir de la otra, como
veremos a continuación.
Podría hablarse de una tercera forma de describir el sistema a la que
denominaremos vista física o implementación, que no es más que el aspecto real
que tendrá el sistema o circuito una vez fabricado. La Tabla 4.1 resume todo lo
dicho en este apartado con ejemplos de representaciones o vistas de un sistema
o de sus partes para cada nivel de abstracción. En la tabla está implícita la
relación entre nivel de abstracción y nivel jerárquico, ya que las partes más
sencillas del sistema se representan a niveles básicos (físico o eléctrico) y las
más complejas (i.e. el sistema en su conjunto) a niveles superiores.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Tabla 4.1 Niveles de abstracción y ejemplos de elementos utilizados en las


representaciones del diseño en las distintas vistas

DIAGRAMA DE LA ‘Y’ Y PROCEDIMIENTOS INVOLUCRADOS EN EL DISEÑO

La clasificación realizada en el sub-apartado anterior puede representarse de


forma gráfica mediante un diagrama en forma de ‘Y’ introducido por Gajski y Kuhn
en los años ‘80. Este diagrama se ha utilizado en un principio únicamente para
representar sistemas digitales

Figura 4.1 Diagrama de la Y a) para sistemas digitales; b) análogos

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

En el diagrama de la ‘Y’ de la Fig. 4.1 se indica para cada nivel de abstracción el


nivel de complejidad jerárquico relacionado. En cada nivel los distintos bloques se
representan a partir de los elementos indicados en la Tabla 4.1.
En la vista estructural cada representación en un nivel se desdobla en su
estructura interna (esquemático) (i.e. el circuito eléctrico mediante el que se
implementa una determinada función lógica básica) y un símbolo que indica
únicamente las entradas y salidas del mismo y que en un nivel de abstracción o
de jerarquía superior permite ser conectado con otros módulos. Por ello, mientras
que en la Tabla 4.1 se indica que para el nivel eléctrico, estructuralmente, el
diseño se compone de dispositivos electrónicos (i.e. MOS, L, C, R), en el
diagrama de la ‘Y’ de la Fig. 4.1, a nivel eléctrico, aparecen las puertas lógicas y
los biestables, como símbolos que encapsulan esta estructura para ser utilizada
en el nivel superior.

A partir del diagrama de la ‘Y’ pueden definirse una serie de procedimientos


usuales en el entorno de diseño que nos permiten, ya sea manualmente, o
mediante el uso de herramientas informáticas de ayuda al diseño, la traducción
de una representación a otra o el paso de un nivel de abstracción a otro. Estos
procesos se encuentran esquematizados en la Fig. 4.2. y son:

. Abstracción: procedimiento consistente en traducir un sistema desde un nivel


inferior, más detallado, a un nivel superior, menos detallado. Aplicable en
cualquier vista de diseño.

. Refinamiento: procedimiento opuesto a la abstracción mediante el cual se


obtiene una descripción más detallada y completa de un sistema a partir de su
descripción en un nivel superior. En la vista estructural este procedimiento
coincidirIa con la descripción detallada de los niveles inferiores de jerarquía a
partiendo de los superiores, aunque también es aplicable a las otras dos vistas
del diseño.

. Síntesis: a cualquier nivel de abstracción; este procedimiento se utiliza para


traducir una representación funcional en su equivalente estructural. Dado que en
la mayoría de los casos las soluciones no son únicas, se deben aplicar unos
criterios de síntesis que nos permitan optar por la solución que más nos interese
en nuestra aplicación concreta.

. Análisis: es el proceso inverso a la síntesis y consiste en encontrar una


descripción funcional o abstracta para un sistema descrito estructuralmente. Su
principal uso es el de comprobar que una estructura obtenida mediante un
proceso de diseño complejo se comporta de acuerdo a la descripción funcional
original del mismo (sus especificaciones).

. Optimización: es un proceso local a cada nivel de abstracción en el que se


intenta encontrar la descripción del sistema a ese mismo nivel que maximice o
minimice una serie de criterios o variables de diseño. Mediante este

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

procedimiento no se pasa de una vista a otra del sistema ni se cambia de nivel de


abstracción.

. Generación: consiste en la obtención de la implementación real de una


estructura determinada. En la mayoría de los casos supone descender un nivel
de abstracción y pasar de una representación estructural a una física. Un ejemplo
seria la obtención de las máscaras de un circuito a partir de su esquema eléctrico
o la obtención de ese esquema eléctrico a partir de su descripción mediante
ecuaciones booleanas.

. Extracción: proceso inverso al anterior. Dos ejemplos usuales de ese


procedimiento son la extracción de componentes parásitos a partir del diagrama
de máscaras, que se añaden a la descripción a nivel eléctrico del circuito (su
esquemático), y la extracción de retardos a partir del esquemático eléctrico para
ser utilizados en el nivel lógico. Otro ejemplo seria la extracción de un modelo
funcional a partir del diagrama de bloques eléctrico para una macrocelda
analógica.

Todos estos procedimientos forman parte del flujo de diseño del que hablaremos
más adelante. Haciendo una analogía informática, serian las instrucciones que se
utilizan en el algoritmo de diseño. Estos procedimientos pueden realizarse hoy en
día de forma automática en la mayoría de los casos. El esfuerzo del diseñador se
centra, pues, en la descripción inicial del sistema y la definición de las variables
que desea optimizar en cada fase del proceso. No obstante, algunas de las
etapas será necesario realizarlas de forma manual en el peor de los casos, y
guiando la herramienta de ayuda al diseño en el mejor caso. Veremos a
continuación cuales son las diferentes variables que el diseñador puede definir
para cada nivel de abstracción para posteriormente centrarnos en los flujos de
diseño más usuales en el entorno de los circuitos y sistemas integrados.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 4.2. Procedimientos de los que consta el diseño de circuitos y sistemas


integrados

AUTOEVALUACION

4. Nombre los 3 procesos en los que se basa la descripción de un


sistema microelectrónico.
5. Por qué se estructura el diseño en diferentes niveles de abstracción?
6. Explique el diagrama de la ‘Y’
7. En qué consiste el proceso de síntesis

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 2: VARIABLES DE DISEÑO PARA CADA NIVEL DE ABSTRACCIÓN

Ya hemos visto la importancia de especificar a cada nivel de abstracción, dentro


del proceso de diseño, el valor de los grados de libertad que tenemos, lo que
hemos venido llamando las variables de diseño. En esta lección pretendemos dar
una lista, lo más exhaustiva posible, de estas variables de diseño para cada nivel
de abstracción. En muchos casos estas variables dependen del tipo de módulo o
sistema y, por tanto, hemos procurado cubrir un número suficiente de casos.

VARIABLES DE DISEÑO A NIVEL FÍSICO

Este es el nivel que se corresponde con la tecnología mediante la que se


implementará el sistema. En el caso de circuitos integrados CMOS se trata de
una tecnología basada en materiales semiconductores, aislantes y metales
dispuestos en capas en las que los elementos se interconectan tanto
verticalmente atravesando las capas aislantes como horizontalmente por medio
de pistas conductoras. Las variables que se manejan a este nivel están
relacionadas con las propiedades de los materiales y con su forma. A este nivel el
diseñador únicamente tiene control sobre el dibujo de las máscaras, por tanto la
principal variable de diseño a optimizar será el área ocupada por cada elemento
del sistema que repercutirá en el área global del CI.

Otra variable importante es la temperatura y su variación dentro de la estructura


del sistema. Esta variable está relacionada con la energía disipada y por tanto
debe tenerse en cuenta también en el nivel eléctrico.
El resto de variables dependen de la tecnología y en general el diseñador no
tiene posibilidad de modificarlas una vez se ha escogido el proceso con el que se
fabricará el CI. Denominaremos a estas variables parámetros del proceso de
fabricación (ver tabla 4.2).

Material Eléctricos Mecánicos Térmicos Geométricos

Conductor Resistividad, Espesores y se-


Permeabilidad paraciones verti-
Módulos de
Aislante Cte. Dieléctrica, Conductividad cales.
compresibilidad.
Permeabilidad térmica. Anchuras mínimas
Coeficientes de
Resistividad Calor EspecIfico y separaciones
dilatación
Semiconductor Movilidad portadores mínimas horizon-
Concentración de impurezas tales

Tabla 4.2 Variables a nivel físico derivadas del proceso de fabricación

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

VARIABLES DE DISEÑO A NIVEL ELÉCTRICO

A nivel eléctrico el diseño se representa por una serie de ecuaciones o circuitos


compuestos por componentes electrónicos (principalmente transistores,
resistencias, condensadores y bobinas). En este nivel las variables de diseño
están relacionadas con las magnitudes eléctricas y la evolución temporal del
sistema.
La Tabla 4.3 muestra las variables de diseño que aparecen al trabajar a este
nivel.

Dominio Digital Analógico Ambos


• Ganancia. CMRR
• Tensión de alimentación
• Tensiones de polarización
• Niveles lógicos • Tensión umbral MOS
Tensión • Linealidad
• Márgenes de ruido • Tensiones BJT’s
• Tensiones offset
• Sobretensiones
• Corriente de conmutación • Corriente de polarización
Corriente • Corriente de fugas • Corrientes de offset
• Consumo estático • Consumo polarización • Consumo total
Consumo • Consumo dinámico • Rendimiento • Disipación
• Retardos de propagación • Tiempos de establecimiento
• Tiempos de transición • Slew-Rate
Tiempo • Restricciones temporales • Desfases
• Ancho de banda
• Frecuencia del reloj
• Rizados
• Fases del reloj
Frecuencia • Polos y ceros
• Impedancias de entrada y salida
Fan-in y Fan-out
Conectividad • Ruidos de origen digital (dI/dt,
• Ruidos de origen físico† • ESD
dV/dt)
(ruido blanco, impulsivo y • Acoplamientos de ruido
• Fallos realistas† (GOS,
1/f) por substrato†
puentes, cortocircuitos)
Otros • PSRR • Acoplamientos térmicos†
• Latch-up†

Tabla 4.3 Variables de diseño a nivel eléctrico.

Algunas variables deben ser abordadas a nivel físico y eléctrico conjuntamente.


Por ejemplo, la temperatura y la disipación dependen tanto de las dimensiones de
la estructura física y las propiedades térmicas de los materiales como del
consumo total disipado por el circuito eléctrico. Lo mismo sucede con los
acoplamientos de ruido por substrato en los que además de las fuentes de ruido a
nivel eléctrico es necesario conocer la propagación del mismo por los materiales
semiconductores que forman el substrato de los CI. Otra de las variables de
diseño que debe abordarse uniendo los dos niveles (físico y eléctrico) es el latch-
up.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

VARIABLES DE DISEÑO A NIVEL LÓGICO/MACROMODELO

En este nivel el diseño se abstrae eliminando toda la información eléctrica en el


caso de los elementos digitales y aquella que no es representativa de la
funcionalidad en el caso de los analógicos. La descripción a nivel lógico de una
puerta digital reduce las tensiones a variables discretas, binarias en la mayoría de
los casos. En el caso de los macromodelos analógicos se mantiene la
información referente a las características principales (respuesta en frecuencia
aproximada, impedancias de entrada y salida y ganancia) pero se pierde toda la
información en cuanto a ruidos, polarizaciones, consumo, etc. A este nivel toda la
información que se mantiene está orientada a poder especificar e implementar
una determinada función (ya sea analógica o digital) a partir de una serie de
primitivas conocidas. Estas primitivas son funciones lógicas básicas (NOT, AND,
NAND, OR, NOR, XOR) y biestables en el caso de los circuitos digitales y fuentes
controladas y componentes pasivos ideales (R, L y C) en el caso de los circuitos
analógicos.

No obstante, las exigencias de optimizar el diseño obligan a incluir para los


circuitos digitales en este nivel lógico cierta información proveniente del nivel
inferior. Así, se añade a la descripción lógica del circuito información sobre los
retardos, restricciones temporales, el área e incluso el consumo en forma de
estimaciones. Estos valores son necesarios en los procesos de optimización a
nivel lógico para poder escoger entre varias estructuras que implementan la
misma función lógica pero con diferentes prestaciones en cuanto a área ocupada,
retardo total o consumo.

En cuanto a los circuitos analógicos, todo depende de la información que se


incorpore al macromodelo. Normalmente disponemos de una estimación de la
ganancia y del comportamiento en frecuencia y las impedancias de entrada/salida
de los bloques analógicos básicos. A partir de estos bloques pueden definirse
circuitos más complejos y especificar para ellos esas variables. Otras magnitudes
de segundo orden (consumo, ruido, inestabilidades, no linealidades, etc.) quedan
ocultas a este nivel y deben abordarse en el nivel inferior (el nivel eléctrico). La
Tabla 4.4 contiene las variables a las que el diseñador tiene acceso en este nivel
lógico o de macromodelo, según se trate de circuitos digitales o analógicos,
respectivamente.

Tabla 4.4 Variables de diseño a nivel lógico/macromodelo

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

VARIABLES DE DISEÑO A NIVEL DE ARQUITECTURA

El nivel de arquitectura es el nivel más alto de abstracción de un sistema. Este


nivel nos permite utilizar lenguajes de alto nivel para describir tanto la parte digital
como, más recientemente, la parte analógica en la vista funcional e incluso
estructural.
Cuando hablamos de las variables de diseño a este nivel, no hay que
confundirlas con las especificaciones del sistema. Las especificaciones son el
punto de partida del diseño y se utilizan para guiar el diseño en el nivel de
abstracción en el que se tenga acceso a cada variable relacionada con cada tipo
de especificación. Por ejemplo, la especificación de consumo, si bien puede
estimarse en el nivel lógico/macromodelo e incluso a alto nivel, para obtener un
valor fiable se debe descender al nivel eléctrico, donde podemos calcularla con
mayor exactitud. Es por ello que las variables genuinas del alto nivel están
relacionadas principalmente con decisiones de diseño en cuanto a la estructura
global del sistema (i.e. grado de concurrencia, alternativas de implementación de
las funciones a alto nivel, etc.). Prácticamente todos los valores numéricos de las
especificaciones se concretan con las variables de diseño de los niveles
inferiores. No obstante, hemos seleccionado un conjunto de variables de di- seño
que podríamos clasificar dentro de este alto nivel de abstracción (Tabla 4.5),
relacionadas con especificaciones muy concretas de subsistemas que es usual
encontrar a este nivel. Estas variables son necesarias para escoger entre una
arquitectura u otra a la hora de diseñar el sistema a este nivel, aunque su valor
concreto debe verificarse a posteriori en los niveles inferiores de abstracción

Tabla 4.5 Variables de diseño a nivel de arquitectura

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

AUTOEVALUACION

1. Cómo se relacionan las variables de diseño a nivel físico?


2. Mencione las variables de diseño a nivel eléctrico.
3. Justifique si la velocidad es una variable importante a nivel lógico en
circuitos digitales.
4. Diferencie las variables de diseño a nivel de arquitectura de las
especificaciones del sistema.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 3: DIAGRAMA DE FLUJO DE DISEÑO Y HERRAMIENTAS DE


AYUDA AL DISEÑO

El diseño de un sistema electrónico es un proceso que permite obtener a partir de


su especificación una implementación del mismo. La especificación de un sistema
es una descripción de su función y otras características requeridas para su uso,
como la velocidad, tecnología y consumo de potencia; es decir, hace referencia a
‘qué’ hace el sistema sin especificar cómo. La implementación de un sistema se
refiere a ‘cómo’ éste está construido a partir de componentes más simples. Para
cerrar el ciclo de todo el proceso, es necesario verificar mediante un proceso de
análisis que la implementación final del sistema se comporta como describa su
especificación, y en caso de no ser así, ésta debe refinarse y volver a recorrer el
ciclo. Si el diseño es complejo, como ya se ha dicho anteriormente, es necesario
recurrir a una estrategia de diseño jerárquico o multinivel. Esta estrategia de
diseño tiene dos variantes que discutiremos a continuación.

Figura 4.3. Relación entre la especificación y la implementación de un sistema

Diseño descendente, diseño ascendente

En la estrategia de diseño descendente (denominada tradicionalmente top-down


en inglés), ilustrada en la Figura 4.4 a, el sistema se descompone en
subsistemas, los cuales a su vez son descompuestos en subsistemas más
simples hasta que se llega a un nivel jerárquico en el cual los subsistemas
pueden ser realizados directamente con módulos disponibles. Este método tiene
la desventaja que la descomposición en un nivel particular debe ser hecha de
forma que se optimice la implementación final del sistema global, pero no existe
ningún procedimiento sistemático que permita asegurar esto. El éxito de esta
estrategia depende de la experiencia del diseñador al escoger una
descomposición adecuada para cada nivel.
En la otra posible estrategia de diseño multinivel los módulos existentes se
conectan para formar subsistemas, y éstos se conectan a otros subsistemas
hasta que el sistema tiene la funcionalidad requerida por su especificación. Esta
estrategia de denomina diseño ascendente (en inglés bottom-up) y se ilustra en la

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 4.4 b. Esta metodología de diseño tiene una desventaja análoga a la


anterior. La composición de los subsistemas debe hacerse de forma que resulte
en un funcionamiento correcto de acuerdo con la especificación del sistema. De
nuevo, no existe en general ningún procedimiento sistemático que asegure que
esto sea así.

Consecuentemente debe usarse una combinación de ambas estrategias: el


sistema se descompone en subsistemas (diseño descendente) pero la
descomposición especifica depende de qué subsistemas es factible componer a
partir de los módulos primitivos (diseño ascendente).

Figura 4.4 a) Estrategia de diseño descendente. b) Estrategia de diseño


ascendente

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

FLUJO DE DISEÑO TÍPICO EN ASIC’s

La Figura 4.5 muestra la secuencia básica de pasos para diseñar un ASIC


(circuito integrado de aplicación especifica) o flujo de diseño. Los pasos que
podemos ver en este proceso de diseño están compuestos de las operaciones
explicadas en secciones anteriores. Brevemente, los pasos seguidos son:

1. Entrada del diseño: Introducción del diseño en un entorno de diseño de


ASIC’s ya sea utilizando un lenguaje descriptor de hardware (HDL) como los que
veremos en el apartado siguiente o bien una entrada de su esquema o captura de
esquemáticos.
2. Síntesis lógica y/o analógica: Utilizando un sintetizador lógico automático es
posible producir un listado (netlist en inglés) que describe la lógica y sus
conexiones. Por el contrario las partes analógicas deben sintetizarse
manualmente, si bien existen algunas herramientas en fase de desarrollo
que permiten algún tipo de síntesis automática analógica.
3. Partición del sistema: División del sistema en secciones que puedan ser
implementadas independientemente y luego conectadas entre sí.
4. Simulación pre-layout: Comprobación de que el diseño funciona
correctamente.
5. Planificación de la superficie: Distribución de los bloques del ASIC sobre la
superficie del chip.
6. Colocación: Distribución de las celdas dentro de un bloque.
7. Conexionado: Realización de las conexiones entre celdas y bloques.
8. Extracción: Obtención de modelos eléctricos de las interconexiones y
elementos parásitos del circuito a partir de las máscaras y los parámetros del
proceso de fabricación.
9. Simulación post-layout: Comprobación de que el diseño funciona
correctamente una vez incorporado el efecto de las interconexiones y elementos
parásitos.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 4.5. Flujo básico de diseño de un ASIC

En la Figura 4.5 los pasos 1-4 son parte de lo que se denomina diseño lógico y
analógico y los pasos 5-9 son parte del llamado diseño físico. No obstante,
existe cierto solapamiento, especialmente en el paso de particionado en el que
se han de tener en cuenta aspectos tanto circuitales como físicos. Estas dos
denominaciones hacen referencia, en este contexto del flujo de diseño de un CI,
al estadio de implementación del diseño. El diseño lógico y analógico trata de
establecer la estructura del sistema (vista estructural) y en el diseño físico ya se
cuenta con la vista física de dicha estructura, dado que es necesaria para
completar la implementación del sistema sobre el silicio (la obtención de las
máscaras o layout). El sistema se encontraría representado en su vista funcional
especialmente durante el primer paso utilizando los lenguajes HDL (tanto digitales
como analógicos).
La realización de todos estos pasos requiere del uso de herramientas de ayuda al
diseño informáticas específicas para cada caso.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

AUTOEVALUACION

1. Diferencie entre la especificación y la implementación de un


sistema.
2. Mencione los pasos para el diseño típico en ASIC´s.
3. En qué consiste la simulación pre-layout?

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 4: EJEMPLO DE DISEÑO

En este ejemplo presentaremos un resumen del artículo publicado por Matt Reilly
en el cual se describe el proceso de diseño de los microprocesadores Alpha en el
seno de la compañía americana Compaq. Este ejemplo es representativo del
proceso completo de diseño de un CI complejo actual (desde la concepción del
sistema hasta su comercialización). Muchos de los conceptos y términos que
aparecerán a lo largo del ejemplo serán presentados más adelante a lo largo del
libro en otros capítulos, pero ello no impide hacerse una idea global del tipo de
procesos y compromisos que aparecen en la apasionante aventura de concebir,
diseñar y fabricar un nuevo microprocesador de última generación.

El objetivo del proceso de diseño que se marcan los ingenieros de Compaq es


producir un microprocesador que sea funcional con un solo paso por el silicio, es
decir, sin fabricar prototipos previos de prueba. Este proceso de diseño consta de
más de doce pasos, muchos de los cuales se superponen e incluso se realizan en
paralelo. Los pasos más importantes se indican en la Figura 4.6, donde también
se indica su distribución temporal a lo largo de todo el proceso de diseño.

Figura 4.6. Pasos en el proceso de diseño de un microprocesador Alpha de


Compaq
 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

1. El proyecto comienza con un grupo reducido de ingenieros y profesionales de


marketing con gran experiencia (el equipo de definición del producto). Su función
es realizar una prospección y previsión de las demandas del mercado, analizar
las tendencias en el estado del arte de la tecnología y decidir qué prestaciones
tendrá el microprocesador y con qué tecnología se implementará (aunque esta
tecnología no esté disponible actualmente). El trabajo de este equipo es
fundamental para encontrar un equilibrio entre los deseos del mercado, la
tecnología disponible y el tiempo que tardará el producto en estar en el mercado
(término que en inglés se denomina time-to-market). Para ilustrar el tipo de
trabajo de este equipo consideremos uno de los últimos productos presentado por
Compaq, un microprocesador de 64 bits implementado mediante tecnología SOI
(silicio sobre aislante) de 0,25µm. La Tabla 4.6 muestra las prospecciones sobre
prestaciones que se esperan para futuros microprocesadores diseñados a partir
del propuesto (muchas de ellas se han presentado en el capitulo anterior) y la
Tabla 4.7 las características de implementación del microprocesador de partida y
de su tecnología, respectivamente (no es importante aquí el significado de cada
una de ellas sino simplemente un ejemplo del tipo de variables que se manejan
en esta fase del proceso de diseño).

Tabla 4.6 Prospección de mejoras de la velocidad en función de estrategias de


diseño, tomando como punto de partida el micro Alpha 2164A 1GHz @2,0 V con
tecnología 0,25µm CMOS con 6 niveles de metal y encapsulado tipo wire-bonding

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Tabla 4.7 Características de implementación y de la tecnología para un


microprocesador Alpha de última generación

2. El equipo de diseño de la arquitectura busca encontrar un esquema del


circuito, es decir, decidir cómo podrá el proyecto hacer un mejor uso de un área
normalmente limitada, cuántas unidades funcionales necesitará, cuánta memoria
on-chip, qué estrategias, estructuras y algoritmos sacarán el máximo provecho de
los recursos del procesador. Este equipo trabaja en paralelo con el equipo de
definición del producto. Su responsabilidad es comprobar la mayoría de los
compromisos de diseño y nuevos conceptos que desarrollan utilizando un modelo
de prestaciones. El modelo es un simulador de alto nivel que representa cada una
de las estructuras principales y las características tomadas bajo consideración. El
resultado de este equipo de diseño de la arquitectura es un diagrama inicial de la
organización del microprocesador, como por ejemplo el mostrado en la Figura
4.7. Éste se subdivide en bloques funcionales cada uno de los cuales son
responsabilidad de un grupo específico. Esta división en grupos asignados a cada
bloque del procesador se mantiene también dentro de los equipos de diseño
circuital, de generación del layout y de verificación. Cada bloque tiene asignado
su propio grupo de ingenieros responsable de su desarrollo, diseño circuital y de
layout, y verificación.

Existen, no obstante, tareas globales que afectan a varios grupos y que deben
supervisarse horizontalmente entre varios grupos que trabajan en bloques
distintos pero relacionados por determinadas funciones del microprocesador. El
microprocesador de la Figura 4.7 se divide en esta fase del diseño en una serie
de bloques (aquí denominadas boxes, en inglés): decodificador de instrucciones
(IBox), ejecución de instrucciones con enteros (EBox), operaciones en coma
flotante (FBox), las operaciones de memoria (MBox), etc. Esta subdivisión
funcional puede observarse claramente en la fotografía del chip una vez fabricado
que se muestra en la Figura 4.8.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 4.7. Arquitectura interna de un microprocesador Alpha de última


generación

3. El equipo tecnológico y el equipo de proceso de fabricación se encargan


continuamente de investigar nuevos tipos de encapsulado y seleccionar nuevos
procesos de fabricación (Compaq no dispone de fábrica de semiconductores
propia). La intención es definir una tecnología que estará disponible pero todavía
no madura cuando los primeros prototipos se vayan a fabricar. El desarrollo y
puesta a punto del proceso de fabricación continúa durante todo el tiempo de vida
del proyecto y hasta bien entrada la fase de fabricación de un nuevo
microprocesador. Estos dos equipos de trabajo proporcionan a los demás equipos
de diseño las especificaciones de la tecnología y reglas de diseño de bajo nivel.

4. Desde los inicios del proceso de diseño y en paralelo con el trabajo del equipo
de diseño de la arquitectura, los diseñadores de circuitos comprueban nuevos
conceptos de diseño. Por ejemplo, en los microprocesadores Alpha se hace un
uso extensivo en los bloques con exigencias de elevadas velocidades de lógica
dinámica tipo Dominó y CVSL. Una vez definidos los bloques del procesador se
realizan estudios de viabilidad de su implementación. Si estos estudios resultan
negativos, indicando que una determinada arquitectura no es viable, los equipos

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

de arquitectura y diseño de circuitos vuelven a estudiar otras alternativas. De este


proceso se extrae una gran cantidad de experiencia que se plasma en forma de
manuales y guías de diseño que los diseñadores de circuitos y layout utilizarán
para dibujar diagramas esquemáticos para la producción final del
microprocesador.

5. Con cada nueva generación de microprocesadores el estilo de diseño


evoluciona, nuevos tipos de circuitos aparecen y nuevas reglas de diseño.
Además, al pasar desde tecnologías de 2µm hasta tecnologías menores incluso
de 0,18 µm los efectos físicos considerados de segundo o tercer orden (como el
ruido de conmutación o el crosstalk, de los que hablaremos en el capítulo 4)
pasan a ser importantes para las prestaciones e incluso el correcto
funcionamiento del producto. Por ello es necesario desarrollar nuevas
herramientas CAD que tengan en cuenta estos efectos de segundo orden, que
van desde la síntesis de circuitos y layouts hasta comprobadores de reglas de
diseño tanto para circuitos como para layouts. Un ejemplo de los resultados de
este equipo se muestra en [8], donde se presentan modelos y mecanismos de
simulación para la propagación de señales por interconexiones para velocidades
elevadas, en las que las pistas deben modelarse como líneas de transmisión.

6. Antes de fabricar un microprocesador se debe estar razonablemente


convencido de que funcionará. Los microprocesadores modernos son tan
complejos que no es factible simular todo el procesador a nivel circuital (a nivel de
transistor o incluso de puerta). Por ello, a pesar de que algunos equipos
someterán partes del procesador a simulaciones circuitales, el procesador global
debe simularse a un nivel de abstracción mucho más elevado. A este nivel, la
descripción del sistema tiene la forma de un modelo RTL ejecutable. La obtención
de este modelo RTL del microprocesador culmina el trabajo de los equipos de
diagrama de bloques, análisis de la viabilidad, requerimientos del producto y
investigación de arquitecturas.

7. El modelo RTL del procesador puede utilizarse para ejecutar programas en


código máquina para microprocesadores Alpha. Por ello se realizan una serie de
comprobaciones con programas de prueba que permiten asegurar el correcto
funcionamiento y adecuación a la familia Alpha del modelo RTL del procesador.
Esta etapa del proceso de diseño se denomina verificación funcional.

8. A partir de este punto, se entra en la fase de implementación real del


procesador. En primer lugar, el equipo de diseño de circuitos traduce la
descripción RTL en circuitos electrónicos descritos mediante diagramas
esquemáticos, en los que se indica no sólo la interconexión entre los transistores,
sino también una indicación geográfica de su posición en la superficie del chip.
Una veces el circuito diseñado toma como referencia el modelo RTL, pero otras el

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

diseñador implementará una estructura que es funcionalmente equivalente


pero mejor que dicho modelo. En ese caso, el modelo RTL se modifica para
representar correctamente el comportamiento de esa nueva estructura. Debido al
mayor nivel de detalle que se requiere en esta fase de diseño (del orden de
decenas de millones de transistores) el equipo de diseño de circuitos es dos o
tres veces más numeroso que el de diseño de la arquitectura.

Figura 4.8. Fotografía del microprocesador de Alpha presentado en la Figura 4.7

9. La descripción circuital del procesador debe pasar una verificación lógica,


pues el hecho de que provenga de un modelo RTL comprobado no justifica
necesariamente su correcto funcionamiento. Para ello se realizan comparaciones
entre simulaciones realizadas con la descripción circuital y el modelo RTL, para
comprobar que son funcionalmente equivalentes. Esta verificación se realiza
normalmente con simulaciones lógicas de los circuitos diseñados a nivel de
puerta.

10. Una vez ha finalizado la descripción del procesador a nivel circuital, un equipo
de diseñadores de layout comienzan a elaborar los diagramas de máscaras a
partir de los esquemáticos hasta obtener el layout completo del microprocesador.
Ese layout es adecuado ya para realizar las máscaras que se utilizarán en la
fábrica para producir los microprocesadores, pero antes es necesario extraer in-
formación sobre los elementos parásitos de las interconexiones que se utilizará
en la verificación temporal del microprocesador. El tamaño de este equipo es
similar al de diseño de circuitos.

11. Un proceso muy importante es la verificación circuital del procesador. En esta


etapa del diseño se trata de determinar el correcto funcionamiento final para cada
circuito y asegurar que las señales corrompidas por efecto del crosstalk pueden
todavía ser discernidas como niveles lógicos alto o bajo y que tales señales no
provocan fallos transitorios o permanentes. También se trata de asegurar que

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

cada pista del chip puede soportar la corriente que circulará por ella y que las
transiciones de las señales de reloj llegan a cada punto del chip dentro de la
tolerancia establecida. Para ilustrar este tipo de análisis hemos incluido en la
Figura 4.9 los resultados de simulaciones realizadas sobre la distribución del reloj
para un microprocesador Alpha de 600MHz. Para realizar estas comprobaciones,
se utilizan los valores de resistencia y capacidad de las interconexiones extraídas
del layout. Esta fase del proceso de diseño puede durar hasta un año y se realiza
en paralelo con las tareas finales de diseño del layout y de verificación lógica y
funcional.

12. Finalmente, el diseño del microprocesador está listo para su fabricación.


Usualmente pueden obtenerse muestras fabricadas del diseño en tres semanas
desde el envío de las máscaras a la fábrica. Comienza entonces la fase de
comprobación de los prototipos, que mediante pruebas específicas, o
sencillamente montando el microprocesador en una computadora, permite
comprobar el correcto funcionamiento de las muestras fabricadas. Los ingenieros
de Alpha aseguran que las últimas generaciones de microprocesadores han
funcionado correctamente en su primera versión salida de la factoría en un test
consistente en montarlos en una computadora e inicializar su sistema operativo.
Esto permite a los diseñadores comprobar el funcionamiento del microprocesador
con el soporte de un sistema operativo, ejecutar aplicaciones de software reales y
encontrar posibles fallos, que son resueltos en las segundas o terceras versiones
del producto.

Figura 4.9. Distribución de los buffers de reloj y análisis del skew de la señal de
reloj para todo el chip, en un microprocesador Alpha de última generación

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

AUTOEVALUACION

1. Con sus propias palabras haga un recorrido por todos los pasos en el diseño de un
microprocesador Alpha.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 5: COSTES DE LA FASE DE DISEÑO

Se ha explicado el proceso de diseño de un sistema electrónico, desde una


especificación inicial a alto nivel hasta el diseño físico del sistema, y cómo
diversas herramientas de diseño ayudan a definir el sistema final. Para
determinar el coste asociado al diseño, se tendrán en cuenta, por tanto, costes
de personal y costes de las herramientas informáticas de ayuda al diseño.
Además, habrá costes fijos que serán independientes del proyecto. En los
siguientes apartados se trata de cada uno de ellos.

COSTES DE PERSONAL

En el proceso de diseño normalmente intervienen diversas personas y,


especialmente si se trata del diseño de un sistema complejo, cada una de ellas
se dedica a una tarea específica: simulación de alto nivel, síntesis, diseño físico,
simulación eléctrica, verificación de integridad de señal (ruido), etc. A la hora de
asignar un coste al proceso de diseño se realiza un cómputo global del tiempo
dedicado al proyecto por parte de cada persona, y se suman las contribuciones
de cada una, obteniéndose una medida de la dedicación de personal a dicho
proyecto en unidades persona-tiempo. Lo que se obtiene es una medida del
trabajo en términos de personal que ha representado el diseño. Por ejemplo, un
proyecto de 18 personas-mes indica que 18 personas se han dedicado en
exclusiva al proyecto durante un mes cada una, o que 9 personas se han
dedicado durante dos meses, o el caso general, en que cada persona tiene una
dedicación diferente y globalmente el proyecto tiene una asignación de 18
personas-mes.

Una vez calculada la dedicación de personal global del proyecto, se multiplica


éste por el coste equivalente de persona en el periodo de tiempo considerado,
para obtener la expresión:

En donde D es la dedicación en unidades de persona-tiempo, y CP-T es el coste


de una persona en el tiempo de las unidades de D.

Ejemplo

Calcular el coste de diseño de un proyecto de 6 meses de duración, que tiene la


distribución de tareas entre 7 personas (A, B, C, D, E, F, G) indicada en la Figura
4.10. El coste por persona y mes es de 3.600 €.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

En la Figura 4.10 la dedicación total, diferenciando entre dedicación plena y


dedicación parcial, es de 12 personas-mes. Por tanto, el coste de personal de
este proyecto es de 43.200 €.
Como se ve en este ejemplo, dependiendo de la tarea asignada a cada persona,
ésta tendrá una dedicación en una fase determinada del proyecto y, también
dependiendo de su tarea, puede compaginar su actividad con otros proyectos.
 

Figura 4.10. Ejemplo de tabla de dedicación de personal a un proyecto

COSTES DE HERRAMIENTAS DE DISEÑO

La evaluación de los costes de utilización de herramientas de diseño se hace


contabilizando el tiempo dedicado al proyecto por los diferentes programas
utilizados en las diferentes etapas del diseño. Hay un coste tanto de la
utilización de los ordenadores (hardware), como de los programas en si
(software). El cálculo del coste asociado se hace igual para los dos casos,
contando el coste de adquisición y multiplicándolo por el tiempo de dedicación
al proyecto relativo al llamado periodo de amortización del producto:

a inclusión del periodo de amortización se justifica porque tanto las Herramientas


de diseño como los ordenadores necesitan renovarse periódicamente para
adaptarse a las nuevas tecnologías y métodos de diseño de sistemas complejos.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Por ejemplo, resulta muy común que las herramientas de diseño se compren con
un contrato anual de mantenimiento, de forma que las versiones de los
programas se renuevan automáticamente pagando una cuota anual. En este
caso, el periodo de amortización es de un año y el coste CSini es la cantidad que
hay que pagar anualmente. Una fórmula equivalente para los equipos
informáticos es el denominado leasing, mediante el cual se renuevan
periódicamente los equipos mediante el pago de una cuota.

Al igual que con las personas, puede haber diferentes ordenadores y programas
interviniendo en diferentes etapas, de forma que tienen que sumarse las
contribuciones individuales. Además, en el caso de sistemas operativos
multitarea, es posible utilizar un mismo ordenador para diferentes proyectos, con
lo que los costes se reparten entre ellos.

Ejemplo

Durante el proyecto del ejemplo anterior, de seis meses de duración, se utilizan


dos ordenadores de tipo workstation UNIX, que tienen un coste anual de 4.800 €,
compartidos con otros dos proyectos. También se usan dos paquetes de
programas, uno de ellos durante los 6 meses y que tiene un coste anual de 6.000
€, y otro durante 2 meses con un coste anual de 12.000 €. Calcular el coste
asociado al uso de estas herramientas.
El periodo de amortización en ambos casos es de un año. El coste de hardware
será, teniendo en cuenta los dos ordenadores, y que un tercio del coste es
imputable al proyecto:

El coste de software será la suma de los dos paquetes utilizados:

Con lo que el coste total sube a 6.600 €.


 

COSTES FIJOS

Además de los costes acabados de mencionar, que dependen de la complejidad


y duración del proyecto, hay una tercera partida cuyo importe es fijo,
independientemente del tipo de proyecto. En este grupo entrarían costes de
mantenimiento de las instalaciones y de personal de administración, que no está
directamente relacionado a ningún proyecto. Estos gastos se comparten entre
todos los proyectos en un periodo determinado, por ejemplo, un año.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Ejemplo

Si los costes anuales de mantenimiento de la empresa son de 36.000 €. y se


realizan 10 proyectos en un año, los costes fijos añadidos a cada uno de los
proyectos será de 3.600 €.

COSTES DE DIFERENTES ALTERNATIVAS DE DISEÑO DE CIRCUITOS


INTEGRADOS

Según lo expuesto hasta ahora sobre costes de diseño, se está en condiciones


de discutir la conveniencia de una u otra alternativa de realización de un circuito
electrónico integrado.
Se van a considerar cuatro alternativas: Full Custom, Standard Cell, Gate Array y
dispositvos programables en campo (FPGA). De cada una de ellas se tendrá en
cuenta la complejidad de la etapa de diseño, el área resultante, y el volumen de
producción.

Full Custom

Tradicionalmente, un diseño Full Custom (FC) se entiende que es aquel en el


que el layout se optimiza a mano. Por ejemplo, en el caso de utilizar lógicas no
estándar, es posible que no haya librerías con los componentes adecuados, y se
hace necesario diseñar específicamente los bloques a utilizar. Otra razón puede
ser la modificación manual de algunos bloques para mejorar sus prestaciones,
dimensionando específicamente los transistores que lo componen.
El resultado es un circuito normalmente de altas prestaciones y de área muy
reducida, pero el inconveniente es un coste de diseño muy elevado (sobre todo
en personas-tiempo).

Actualmente la alta complejidad de los sistemas que se diseñan hace


impracticable la estrategia FC para el chip completo, pero muchos sistemas
siguen teniendo partes críticas optimizadas manualmente, con lo que los diseños
FC son en realidad en parte FC y en parte un diseño basado en librerías
(Standard Cell).

Standard Cell

Un diseño Standard Cell (SC) se basa en una librería de celdas (componentes


funcionales), todas con la misma altura. Esto permite disponerlas de forma
contigua formando un conjunto de filas y espacios entre ellas. Es posible generar
una librería SC o añadir elementos a una librería existente con bloques que sean
necesarios para un diseño concreto. En este caso, los bloques deben diseñarse
con la altura correcta para que se puedan usar en el entorno de diseño SC.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Por una parte la uniformidad de altura en las celdas simplifica mucho la


interconexión de los bloques, con lo cual es posible un proceso más
automatizado que requiere menos intervención humana. Por otra parte, el hecho
de usar una librería implica que los bloques no están optimizados en
prestaciones, y al ser de altura fija, tampoco lo están, en general, en área. Como
resultado, un diseño basado enteramente en SC tiene un coste significativamente
menor en personas-tiempo que el FC, pero el área resultante es mayor.

Gate Array

Un circuito Gate Array (GA) o matriz de puertas, se basa en la interconexión de


bloques pre-colocados consistentes en primitivas de diseño (por ejemplo, puertas
NAND y biestables). Con las primitivas de diseño se puede realizar cualquier
sistema digital mientras se interconecte adecuadamente. El proceso de diseño
consiste en definir las interconexiones, lo cual es sencillo desde el punto de vista
de la automatización del proceso. Además, el proceso de fabricación es también
más sencillo, ya que sólo las capas de metalización son diferentes para
diferentes diseños. Por tanto, se parte de obleas prefabricadas, en donde ya se
han fabricado los transistores que forman las primitivas y su interconexión local
que define los bloques, y sólo se añaden las capas de interconexión entre
primitivas.

Las ventajas de esta alternativa son su rapidez en el diseño, la reducción de


costes de fabricación, ya que parte del proceso es común para cualquier diseño y
por tanto se distribuyen los costes entre muchos diseños diferentes, y también un
menor tiempo de fabricación. Por contra, el circuito resultante no está optimizado
ni en área ni en prestaciones, por lo que es una alternativa de bajo coste usada
sobre todo para prototipos o en aplicaciones poco exigentes.

FPGA

Las FPGA (del inglés Field Programmable Gate Array), también conocidas
genéricamente como dispositivos programables, son una evolución del concepto
de GA. Consisten a grandes rasgos en un chip completamente fabricado en el
cual hay una matriz de bloques, cada uno conteniendo un conjunto de primitivas
lógicas.

La interconexión entre bloques se realiza no en la etapa de fabricación como en


las GA, sino a base de multiplexores que conectan un conjunto de bloques con
otro.

En función del valor de selección de los multiplexores de conexión, se define la


conexión del sistema global y por tanto, su definición. El conjunto de valores de
selección para todos los multiplexores de conexión se guarda en una memoria no
volátil, y cambiando el contenido de la memoria se cambia la funcionalidad del
chip (se personaliza). Dentro de la familia de dispositivos programables existen
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

muchas subfamilias en función de su arquitectura (número y tipo de bloques


lógicos) y del tipo de memoria (OTP o programable una sola vez, reprogramable,
programable en campo).

Las ventajas de esta alternativa son su gran flexibilidad y el hecho de que la


personalización del chip es prácticamente inmediata. Por otra parte, sus
inconvenientes son, al igual que con las GA, la falta de optimización de
prestaciones y área. Otro inconveniente a mencionar es que el proceso de
personalización debe hacerse por cada dispositivo, por lo que es una opción para
volúmenes de producción poco elevados.

Comparación entre alternativas

En la Tabla 4.8 se resumen las características más relevantes de cada


alternativa. La comparación del coste depende por supuesto de la aplicación
concreta, pero se puede hacer un análisis orientativo.

Tabla 4.8 Resumen de caracterIsticas de diferentes alternativas de realización de


un circuito integrado

En general, el coste de un circuito integrado se puede dividir en el coste del


diseño y el coste de la fabricación. El coste de diseño está compartido por todos
los chips fabricados, mientras que el de fabricación es individual a cada chip. Por
tanto, se puede escribir:

Siendo CD el coste de diseño, V el volumen de producción, y Cdisp el coste de


fabricar el dispositivo. A su vez, Cdisp se puede desglosar de forma diferente para
cada alternativa.
Para FC y SC, Cdisp es el coste del proceso dividido por el rendimiento de
proceso más el coste del encapsulado. Tomando como modelo de rendimiento el
de Poisson queda:
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Para GA, existe para cada dispositivo un coste de diseño de la matriz (alguien ha
tenido que decidir qué primitivas se usan y cómo se colocan), un coste de
fabricación de la oblea estándar, un coste de personalización (fabricación de
interconexiones) y un coste de encapsulado. Los dos costes de fabricación
deben ser divididos por el rendimiento, que depende del área del circuito:

donde CD1 es el coste de diseño de la matriz, V1 el volumen de producción del


dispositivo estándar, Cproc1 el de fabricación de la oblea estándar y Cproc2 el de
personalización. Hay que notar que ahora se distingue entre volumen de
producción del dispositivo (V1) y volumen de producción de la aplicación (V), que
aparece en la ecuación primera. Al ser obleas estándar, el volumen de
producción de dispositivo V1 puede ser muy grande, con lo cual el coste de
diseño es despreciable frente al de fabricación y encapsulado.

Finalmente, para FPGA el coste de dispositivo se desglosa igual que para


circuitos GA, sólo que se debe añadir el coste de personalización, que debe
hacerse individualmente para cada circuito:

Igual que en el caso anterior, al ser circuitos estándar, sale rentable fabricar
muchos circuitos, con lo que el coste de diseño de dispositivo es despreciable
frente a los demás.

Para resumir, se ve que de los dos términos de la ecuación, el primero viene


determinado por la complejidad del diseño de aplicación y el volumen de
producción. El segundo viene determinado especialmente por el área del
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

dispositivo (y, en el caso de las FPGA, también por el volumen de producción).

Por tanto, para volúmenes de producción muy bajos, el coste del chip viene
dominado por el coste de diseño, y la opción más cara es la de FC, la más barata
la de FPGA/GA. Para volúmenes de producción muy altos, el coste del chip viene
dominado por el coste de fabricación del dispositivo, es decir, por el área que
ocupe. En estas condiciones, la alternativa FC es la más barata, ya que es la que
más optimiza el área, y la más cara la FPGA.

AUTOEVALUCION
1.Sugiera la forma de evaluar los costos de personal en el
proceso de diseño.
2.Genere un ejemplo para explicar la evaluación de costos de
herramientas de diseño.
3.Realice un cuadro comparativo entre alternativas de diseño
de circuitos integrados.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

CAPÍTULO 5: LENGUAJES DE DESCRIPCION Y FORMATOS

INTRODUCCION

El proceso de análisis y diseño de circuitos electrónicos necesita de la


representación de estos sistemas mediante un modelo matemático. Este modelo
dependerá del nivel de abstracción al que se quiera representar el circuito. Los
lenguajes de descripción son una forma de representar el circuito a diferentes
niveles de abstracción para su proceso mediante una herramienta de diseño
CAD o simplemente para su descripción y especificación.
Podemos clasificar los modelos y los lenguajes de descripción en función del
nivel de abstracción en el que se representa el circuito.

LECCIÓN 1: MODELOS Y SIMULADORES FISICOS

El nivel más básico correspondería a un modelo físico en el que el circuito se


describe de forma estructural definiendo las dimensiones, la composición y las
propiedades del material de cada parte del circuito (dispositivos e
interconexiones). Este tipo de descripción del circuito conlleva un gran nivel de
complejidad, pero es también el más exacto. Debido a la gran cantidad de
cálculo que representa trabajar con estos modelos físicos, se reserva su uso
para el diseño y análisis de estructuras aisladas del circuito (un transistor o
conjunto de pocos transistores, una determinada estructura de interconexión,
etc.).
Los simuladores que utilizan este tipo de modelos a nivel físico utilizan métodos
numéricos como el de Elementos Finitos (FEM), Elementos de Frontera (BEM),
Circuito Equivalente de Elementos Parciales (PEEC) o el de los momentos para
resolver el sistema de ecuaciones físicas sobre la estructura analizada.

MODELOS Y SIMULADORES ELÉCTRICOS

El nivel siguiente es el de los modelos y lenguajes eléctricos que se


corresponderían con una abstracción del circuito a nivel de transistor. A este
nivel el transistor y el resto de componentes se representan mediante
componentes circuitales regidos por un modelo matemático que puede tener
diversos grados de complejidad, en función de la exactitud que se precise. Este
modelo se extrae del comportamiento real de los componentes aislados
utilizando, o bien una formulación analítica, o bien un ajuste a las curvas
empíricas. Las variables con las que trabajan estos modelos son la tensión y la
corriente en los nodos y ramas del componente. Los modelos se expresan como
una serie de expresiones donde intervienen estas variables eléctricas y unos
parámetros que deben proporcionarse para cada tipo de componente.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

La mayoría de estos parámetros, denominados parámetros de fabricación o


tecnológicos dependen de la estructura física del dispositivo y sus materiales y
vienen dados por el fabricante del circuito integrado en base a medidas
experimentales que éste ha realizado sobre circuitos de prueba. En el caso de
los modelos basados en el ajuste de curvas los parámetros de fabricación no
tienen una relación directa con la estructura física o los materiales, ya que son
simples parámetros de ajuste numérico. El resto de parámetros del modelo se
denominan parámetros de diseño y son aquellos que dependen de las
dimensiones del elemento electrónico y permiten aplicar el modelo a partes del
circuito de diferente tamaño (transistores de anchuras y longitudes distintas,
interconexiones de distinta longitud o separadas por distancias variables de otras
interconexiones, etc.).

El modelo del circuito total se forma a partir de los modelos individuales para
cada componente de que se compone el circuito a nivel de transistor. No
obstante, existen algunas alternativas a la hora de modelar las interconexiones:
pueden representarse por una serie de componentes discretos, o bien, utilizando
un modelo más complejo, como el de una línea de transmisión.
La descripción del circuito a este nivel eléctrico consta de un listado de todos los
componentes, una descripción de su interconexión y una lista de los modelos
con sus parámetros de fabricación. La sintaxis más usual consiste en dar un
nombre a cada componente, especificar qué modelo utilizamos para describirlo,
los parámetros de diseño para ajustar el modelo a ese componente específico y
una lista de nodos que se conectan correlativamente a los terminales del
componente. Dos componentes se conectan entre sí conectando sus terminales
al mismo nodo. Esta descripción puede extraerse fácilmente a partir de un dibujo
esquemático del circuito donde se representen los componentes, sus modelos y
parámetros de diseño y sus interconexiones.

Ejemplo

La Figura 5.1 muestra el esquemático de un biestable D activo por flanco


implementado mediante inversores y puertas de transmisión. En el circuito se
utilizan dos tipos de inversores con tamaños de transistores distintos (invr) y un
inversor con una puerta de transmisión a su salida (clinv). La estructura interna
de estas dos celdas no se muestra en la figura. El listado o netlist que contiene la
descripción a nivel eléctrico de este circuito se muestra en la Figura 5.2. La
descripción se hace de forma jerárquica.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 5.1. Biestable D sincronizado por flanco basado en una estructura


maestro-esclavo

En primer lugar se describe el esquemático mostrado en la Fig. Figura 5.1,


utilizando nombres para los componentes que comienzan con una ‘x’ para indicar
que se trata de subcircuitos, es decir, componentes compuestos a su vez de
otros componentes básicos u otros subcircuitos. A continuación se describe la
estructura de los tres tipos de subcircuitos que se necesitan en el nivel superior:
los dos tipos de inversores de distinto tamaño (invr_2 y invr_3) y el inversor con
puerta de transmisión a la salida (clinvr_1). Estos subcircuitos están ya descritos
a nivel de transistor. Por último, se incluye un fichero (MOS_models.inc) que
contiene los parámetros de fabricación de los modelos de los transistores (modn
para los NMOS y modp para los PMOS).

Las descripciones a nivel eléctrico del circuito, como la del Ejemplo permiten la
simulación eléctrica del mismo mediante simuladores de tipo SPICE. La Figura
5.3 muestra los resultados de simulación para el biestable D de la Figura 5.1
obtenidos mediante un simulador de este tipo. En esta simulación podemos, por
ejemplo, determinar el retardo entre el flanco de subida del reloj y el cambio en la
salida del biestable, que viene a ser igual a 0,782 ns; o el consumo medio, a
partir de la gráfica de la corriente de alimentación calculando el valor medio y
multiplicando por la tensión de alimentación, lo que arroja un consumo de 2,882
mW.
A medida que la complejidad del circuito aumenta, el tiempo de simulación puede
llegar a ser muy grande, por lo que este tipo de análisis también tiene un límite
en cuanto a su aplicación a circuitos integrados complejos completos. En este
caso suele realizarse un análisis detallado de las partes analógicas, y las partes
digitales se simulan, como ya veremos en el apartado siguiente, pasando a un
nivel de abstracción superior.

La exactitud de los simuladores eléctricos depende en gran medida de los


modelos que se utilizan para los distintos tipos de componentes. Estos modelos
están en continua revisión y es responsabilidad del fabricante, el proveedor de la
tecnología, realizar las medidas empíricas necesarias para asegurar que los
resultados del simulador eléctrico sean lo más cercanos posible a las medidas
que se obtendrían en un laboratorio.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 5.2. Descripción mediante un lenguaje tipo SPICE del biestable D de


Figura 5.1

Algunos de los lenguajes y simuladores eléctricos admiten también la descripción


funcional de determinados componentes. Estos componentes (como los
amplificadores operacionales, osciladores, convertidores, etc.) se modelan
utilizando circuitos equivalentes basados en fuentes dependientes de tensión o
corriente en lo que se denomina macromodelos. Otra alternativa es
representarlos por una serie de ecuaciones que modelan su comportamiento en
forma de curvas tensión/tensión, tensión/corriente, etc. que relacionan sus
entradas con sus salidas y los terminales de alimentación (funciones de
transferencia). Esta estrategia se ha aplicado en los últimos años también al
modelado de los buffers de entrada y salida digitales en circuitos integrados, en
lo que se ha convertido en un estándar llamado IBIS. Sin embargo hay que
recalcar que estas abstracciones se realizan para facilitar la simulación,
reduciendo el nivel de complejidad del circuito. No es posible utilizar estas
técnicas para especificar un determinado circuito funcionalmente y
posteriormente obtener su estructura detallada a nivel de transistor.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 5.3. Resultados de una simulación temporal para el biestable D de


la Fig. 5.1

Ejemplo

a) b)

Figura 5.4. a) Macromodelo de un amplificador operacional y b) su


descripción en SPICE

La Figura 5.4 muestra un macromodelo para un amplificador operacional y su


descripción mediante un lenguaje tipo SPICE.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

El macromodelo modela mediante componentes eléctricos las impedancias de


entrada en modo común y diferencial (Ricm y Rid), el ancho de banda (mediante
el filtro

pasobajo formado por R1 y C1), la ganancia a bajas frecuencias (GmR1) y la


impedancia de salida (Ro).

De esta forma se describe el funcionamiento del amplificador operacional a nivel


eléctrico, pero sin describir su estructura interna. Esta descripción, no obstante,
puede utilizarse únicamente para realizar análisis en pequeña señal. No se
dispone de información en el modelo sobre la polarización o el consumo (no hay
terminales de alimentación). Para analizar estos últimos aspectos es necesario
descender al nivel estructural y describir el AO a nivel de transistor.

En resumen, los modelos y lenguajes de descripción eléctricos permiten describir


tanto la estructura como, en algunos casos, la función de los circuitos para
realizar análisis mediante simulaciones del comportamiento del circuito. Pero
debido a la gran cantidad de información que se tiene en cuenta en los modelos,
no es factible extender el análisis eléctrico a un CI complejo en su totalidad
debido al excesivo tiempo de simulación que esto requeriría. Como
contrapartida, determinadas variables de diseño como el consumo, los retardos,
formas de onda, etc., sólo pueden obtenerse con precisión mediante un análisis
eléctrico.

MODELOS Y SIMULADORES LÓGICOS

En principio los circuitos lógicos o digitales pueden ser analizados utilizando


simulación eléctrica a nivel de transistor, tal y como hemos visto en el apartado
anterior. Sin embargo, debido al gran número de componentes de los circuitos
digitales integrados esto resulta poco práctico. Para verificar un correcto
funcionamiento lógico las señales analógicas reales pueden aproximarse
utilizando únicamente dos valores o estados discretos (en el caso de sistemas
binarios). El comportamiento de un circuito lógico puede ser descrito mediante
operaciones booleanas. Estas operaciones generan una señal de salida en
respuesta a las señales de entrada. Si a nivel eléctrico los elementos básicos
eran los componentes (transistores, resistencias, condensadores, etc.), a nivel
lógico el elemento básico es la puerta lógica. Cada puerta lógica lleva asociada
una función booleana que describe su funcionamiento lógico. Es necesario, sin
embargo, incorporar en este modelo información sobre los retardos: los tiempos
de transición entre los cambios en las entradas y los cambios en las salidas. De
esta forma el modelo de la puerta, además de su función, incorpora información
sobre los retardos asociados con el cambio en cada entrada. La descripción del
circuito digital total consiste en la interconexión de las diferentes puertas lógicas
de las que está compuesto. Esta sería una descripción estructural del circuito.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Un simulador lógico parte de un fichero denominado fichero de estímulos en el


que se describe la secuencia de las señales digitales de entrada en el tiempo
(vectores de entrada).

El simulador propaga cada cambio en las entradas por toda la red de puertas
lógicas hasta obtener las señales digitales de salida. Durante esta evaluación se
tiene en cuenta el retardo asociado a cada puerta lógica. Un aspecto importante
a tener en cuenta es que el retardo de las puertas lógicas no depende
únicamente del tipo de puerta, sino también de la carga conectada a su salida. El
modelo más utilizado considera dos tipos de retardo: el retardo intrínseco para
cada tipo de puerta y el retardo extrínseco que depende de la conectividad de
cada puerta en el circuito, es decir, de la carga asociada a cada salida. Antes de
comenzar la simulación, los simuladores lógicos analizan el circuito y calculan el
retardo total para cada puerta.

Para obtener resultados realistas el retardo extrínseco debe incluir, además de la


carga que suponen las entradas a las que la puerta lógica vaya conectada, el
retardo introducido por las interconexiones físicas que conectan las puertas entre
sI. En las presentes tecnologías de fabricación submicrónicas, y debido a la gran
complejidad de los CI, el retardo debido a las interconexiones tiene una gran
importancia y suele ser el retardo dominante. Según lo expuesto anteriormente,
se hace necesario incluir en el modelo de la puerta lógica, además del retardo
intrínseco y la función booleana, información sobre la carga que representa cada
entrada para otras puertas que se conecten a ella, y modelar adecuadamente las
inter conexiones. Otras informaciones adicionales que suele incluir el modelo se
refieren al área que ocupa físicamente la puerta lógica y a su consumo, como se
muestra en el Ejemplo.

Ejemplo

En la Figura 5.5 se muestra la descripción a nivel lógico de un biestable D, donde


se incorporan especificaciones temporales de sus retardos, su área y sus
capacidades de entrada. La sección queda delimitada por los comandos specify
y endspecify. Dentro de esta sección se definen los parámetros que se requiere
que queden incluidos en el modelo del módulo. Dentro de esta misma sección se
definen retardos para determinados ‘caminos’ entre puertos del módulo (en este
caso, únicamente entre la entrada de reloj c y la salida q. La instrucción (c => q)
= (t1,t2) le dice al simulador que, cuando la señal de la derecha del símbolo =>
cambia porque ha cambiado la señal a la izquierda del símbolo, debe aplicarse
un retardo t1 si la transición es de nivel bajo a alto y t2 en caso contrario.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 5.5. Descripción lógica de un biestable D incorporando información adicional a


la función lógica del componente

Los lenguajes utilizados para representar a nivel lógico los circuitos se engloban
en lo que se denominan lenguajes de descripción del hardware (HDL). De estos
lenguajes los más utilizados con diferencia son el Verilog® y el VHDL. Estos
lenguajes son similares en su sintaxis a los lenguajes de programación, pero
incorporan también una serie de primitivas que permiten describir conexiones
entre componentes, lo que los diferencia claramente de éstos. Tanto Verilog®
como VHDL permiten describir un mismo componente con diferentes
representaciones o vistas y también a diferentes niveles de abstracción. Un
mismo componente, como el biestable D de la Figura 5.1, puede representarse
describiendo su estructura mediante la interconexión de componentes básicos
(en este caso inversores y inversores con posibilidad de poner la salida en tercer
estado), o bien, describiendo su funcionamiento, como se muestra en ejemplos
en la próxima sección.

AUTOEVALUACION

1. C
omente qué se describe mediante un modelo físico.
2. E
xplique en qué consiste un modelo eléctrico. Genere un ejemplo.

3. Cuál es el elemento básico a nivel lógico. Profundice en su respuesta.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 2: VHDL BASICO

Una alternativa para modelar diseños en un FPGA es utilizar HDL’s, los más
conocidos son VHDL y Verilog ya que se trata de lenguajes estandarizados; sin
embargo no son la única opción, existen otras alternativas como Handel-C y
Abel, entre otros. VHDL fue desarrollado como un lenguaje para el modelado de
sistemas digitales. Proporciona una sintaxis amplia y flexible que permite el
modelado estructural, en flujo de datos y de comportamiento de hardware.
VHDL está regido bajo el estándar IEEE 1076-1993, lo que favoreció su
adopción en la industria y se ve reflejado en las constantes mejoras de sus
herramientas; debido a su estandarización, un código en VHDL puede ser
portable a diferentes herramientas y también puede ser reutilizado en diferentes
diseños.
VHDL es un lenguaje de descripción de hardware que se utiliza para modelar,
documentar, simular, verificar y sistematizar un sistema digital. Por tanto
abarca el ciclo completo de diseño, salvo el trazo físico o layout, desde las
especificaciones iniciales hasta la construcción del prototipo hardware.
Proporciona soporte suficiente para especificar su comportamiento o su
estructura, incluyendo jerarquías. Asimismo, es útil para metodología de diseño
ascendente pero sobre todo descendente. La semántica y construcciones del
lenguaje permiten también diseñar con facilidad bancos de prueba (test-
benches), mediante los que se llevan a cabo la simulación de los sistemas
modelados.

En esta descripción de los HDL’s no se profundizara, solo se pretende mencionar


las características más importantes de VHDL, algunos detalles de este lenguaje
quedaran inmersos en el desarrollo del diseño, posteriormente.

HISTORIA

En 1980 el Departamento de Defensa (DoD, Department of Defense) de Estados


Unidos inicio un proyecto denominado Circuitos integrados de muy alta velocidad
(VHSIC, Very High Speed Integrated Circuit), con el principal objetivo de
desarrollar circuitos integrados en tecnología de 0,5 micras con muy altas
prestaciones y resistencias a la radiación. Estos circuitos se habrían de integrar
en los sistemas militares y mejorarlos en gran medida.

Antes del término de ese mismo año se hizo evidente que para poder organizar y
coordinar el desarrollo de los 28 circuitos integrados propuestos por diversas
compañías, era necesario el empleo de un lenguaje de descripción de hardware
que permitiera el flujo de información entre diseñadores, fabricantes y usuarios.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
De esta forma, en otoño de 1980, se iniciaron los trámites para el desarrollo de
un nuevo lenguaje de descripción denominado “Lenguaje para diseño y
descripción de hardware VHSIC o VHDDL”, que posteriormente se
simplificaría en el acrónimo VHDL.

Con la participación de tres compañías, Intermetrics, Texas Instruments e IBM,


en julio de l983 se inicio formalmente el proyecto de desarrollo del lenguaje
VHDL. El documento de partida del DoD especificaba que el VHDL debería ser
un lenguaje para diseño y descripción del hardware y concretamente para ser
utilizado en:
• D
ocumentación del diseño. En principio, VHDL se estandarizó para la
descripción del hardware, pero no para diseño.
• D
iseño en alto nivel.
• S
imulación.
• S
íntesis.
• V
erificación. Descripción de entradas (netlist) para la herramienta de diseño
físico.
Otros requerimientos del DoD, para un modelo eficiente fueron:

• D
escripción genérica de modelos. De tal forma que resultaría sencillo
configurar un componente en cuanto a tamaño, características físicas
temporales, fan-out42, etc. Para ello se utilizan los denominados puertos
genéricos.
• D
eclaración y uso de tipos de datos. Debido a los diversos niveles de
abstracción posibles, el lenguaje no se puede restringir a los tipos más básicos,
como bít o booleano. Por tanto define también tipos enteros, reales, físicos,
enumerados, array, record, etc. y permite al usuario la definición de cualquier
otro. Es por ello que se dice que VHDL, está fuertemente orientado a tipos y es
una de las características que le otorgan mayor potencial y flexibilidad.
• S
ubprogramas. Se permite la declaración y definición de funciones y
procedimientos para conversiones de tipos, redefinición de operadores,
creación de otros nuevos, entrada y salida de datos desde el exterior y otras
tareas comunes a los demás lenguajes de propósito general.
• C
ontrol temporal. VHDL dispone de sentencias para detectar flancos,
especificar retardos, especificar tiempos de set-up y hold, comprobar anchura de
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
pulso, establecer restricciones temporales, etc.
• Descripción estructural. Los requer
utilizarlo para descripción de estructuras regulares multibit en una o más
dimensiones.
La primera fase del desarrollo del lenguaje finalizo en julio de 1984 y en ese
mismo año el IEEE comenzó a trabajar en la estandarización. En 1985
apareció el primer prototipo de lenguaje y en 1987 se aprobó finalmente el
estándar con el numero 1076. La aparición del mismo supuso un fuerte impulso
y numerosas firmas de herramientas Automatización mediante diseño electrónico
(EDA, Electronic design automation) comenzaron a incorporar
compiladores y simuladores en sus paquetes de diseño a partir de
1990.Posteriormente llegaron las herramientas de síntesis. En 1994 el
instituto de ingenieros eléctricos y electrónicos (IEEE, Institute of Electrical and
Electronic Engineers) publicó la revista del estándar IEEE Std 1076-1993 que es
la que se encuentra actualmente en vigor.

CARACTERÍSTICA PRINCIPALES DE VHDL

Tres son las características principales que incorpora VHDL enfocadas a facilitar
o permitir la descripción de hardware: un modelo de estructura, un
modelo de concurrencia y un modelo de tiempo. Estas características junto
con la capacidad de describir funcionalidad que le confieren las propiedades
descritas en el capítulo anterior, hacen de VHDL un lenguaje flexible y potente,
que se adapta perfectamente a la descripción de sistemas electrónicos a
cualquier nivel de abstracción.

Modelo de estructura

De forma natural cualquier sistema electrónico puede dividirse en subsistemas


más pequeños. Por ello VHDL incorpora el concepto de estructura. Esta
característica nos permite realizar el modelo de un sistema digital cualquiera a
partir de la referencia a las distintas partes que lo forman y especifican la
conexión entre estas. Cada una de las partes, a su vez, pueden estar modelas
de forma estructural a partir de sus componentes, o bien estar descritas de forma
funcional, usando los recursos de descripción algorítmica del lenguaje.

Al describir cualquier dispositivo en VHDL (desde una puerta hasta un sistema


completo) el diseñador debe definir dos elementos principales: la interfaz del
dispositivo con el exterior (la entidad o entity) y la descripción de la funcionalidad
que realiza el dispositivo (la arquitectura o architecture). La interfaz de un
dispositivo tiene por objeto definir que señales del dispositivo son visibles o
accesibles desde el exterior, lo que se llaman los puertos (ports) del dispositivo.
En la arquitectura se definirá la funcionalidad que implementa dicho dispositivo, o
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
sea, que transformaciones se realizarán sobre los datos que entren en los
puertos de entrada, para producir nuevos valores sobre los puertos de salida.

Para poder utilizar elementos ya definidos en VHDL en descripciones


estructurales de un nuevo diseño, VHDL incorpora el concepto de componente
(component) y de referencia a un componente. Cualquier elemento modelado
con VHDL puede ser usado como un componente de otro diseño. Para ello
solamente es necesario hacer referencia al elemento a utilizar y conectar los
puertos de su interfaz a los puntos necesarios para realizar el nuevo diseño. La
Figura 5.6 ilustra esta idea, el sistema bajo desarrollo se forma a partir de dos
subsistemas que se habrán definido con anterioridad. El diseñador solo debe
preocuparse de las entradas y las salidas de los subsistemas (su interfaz) y de la
forma adecuada en que debe conectarlas para formar el nuevo sistema, pero no
es necesario conocer cómo está descrito cada uno de los subsistemas.

Figura 5.6. Modelo de estructura en VHDL

Modelo de concurrencia

El hardware es por definición concurrente, en última instancia cualquier


dispositivo digital está formado de un mar de puertas lógicas, todas ellas
funcionando en paralelo. El elemento básico que ofrece VHDL para modelar
paralelismo es el proceso (process).

Un proceso puede entenderse como un programa, se compone de sentencias,


puede llamar a subprogramas, puede definir datos locales, etc. En general, un
proceso describe un comportamiento y el código que contiene se ejecuta de
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
forma secuencial. Pero todos los procesos contenidos en una descripción VHDL
se ejecutan de forma paralela. Desde este punto de vista un modelo VHDL
puede entenderse como un mar de programas secuenciales ejecutándose de
forma paralela. De hecho cualquier descripción VHDL es transformada en un
conjunto de procesos concurrentes equivalentes, y este mar de procesos
concurrentes es la información de entrada del simulador.

Estos procesos que se ejecutan concurrentemente deben poder comunicarse


(sincronizarse) entre ellos. El elemento necesario para comunicar dos procesos
es la señal (signal). Cada proceso tiene un conjunto de señales a las que es
sensible. Ser sensible a una señal significa que en cuanto se produzca un
cambio en el valor de dicha señal (un evento en la señal), el proceso se
ejecutará hasta que encuentre una sentencia de suspensión del proceso (wait).
Al llegar a esta sentencia, el proceso quedará suspendido, esta suspensión será
por un período determinado de tiempo, o bien hasta que se produzca un nuevo
evento en alguna de las señales a las que sea sensible dicho proceso. Aparte de
poder suspender la ejecución de un proceso (sentencia wait), este es un bucle
infinito, o sea, al llegar a su final vuelve a ejecutarse desde el principio.

Para ilustrar mejor este concepto, la Figura 5.7 define los procesos equivalentes
a una puerta and y una puerta OR de dos entradas cada una. Notar que en este
ejemplo se utiliza la seña c para sincronizar los dos procesos, siempre que se
produzca un evento en la señal c, se ejecutará el proceso OR2. Por supuesto, y
dado el paralelismo en la ejecución de los procesos, si en un momento de la
simulación se producen eventos sobre las señales de la lista de sensibilidad de
ambos procesos (por ejemplo, en a y en d), los dos se ejecutan en ese tiempo de
simulación.

Figura 5.7. Modelo de concurrencia en VHDL

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
Sobre las señales sólo diremos de momento que son objetos que pueden ir
variando su valor a lo largo de la simulación (en este aspecto son parecidas a las
variables). Su característica principal es que tienen asociada una o más colas de
eventos (drivers) que define su comportamiento a lo largo del tiempo. La cola de
eventos está formada por conjuntos de pares tiempo/valor, y en las asignaciones
a señal es esta cola de eventos la que recibe los valores asignados.

Modelo de tiempo

Una de las finalidades del modelado en VHDL del hardware es poder observar su
comportamiento a lo largo del tiempo (simulación). El concepto de tiempo es
fundamental para definir cómo se desarrolla la simulación de una descripción
VHDL.

La simulación de un modelo VHDL es una simulación dirigida por eventos. Esto


significa que el simulador mantiene unas listas de eventos (cambios en las
señales internas del modelo y también de las entradas y salidas) que se han de
producir a lo largo del tiempo de simulación. Como el comportamiento del
modelo es estable mientras no se produzca un evento, la tarea del simulador
consiste en avanzar el tiempo de simulación hasta el siguiente evento y calcular
sus consecuencias sobre la lista de eventos futuros.
La simulación VHDL abstrae el comportamiento real del hardware,
implementando el mecanismo de estímulo respuesta (componentes funcionales
reaccionan a la actividad en sus entradas produciendo cambios en sus salidas)
implementando un ciclo de simulación de dos etapas (Figura 5.8), basado en los
procesos (elementos funcionales) y las señales (entradas y salidas de estos
elementos funcionales; conexiones entre elementos).

En la primera etapa las señales actualizan su valor. Esta etapa finaliza cuando
todas las señales que debían obtener un nuevo valor en el tiempo actual de
simulación (tenían un evento programado en su cola de eventos) han sido
actualizadas. En la segunda etapa, los procesos que se activan (aquellos que
tengan en su lista de sensibilidad una señal en la que se haya producido un
evento) se ejecutan hasta que se suspenden (con la ejecución de una sentencia
wait). Esta etapa finaliza cuando todos los procesos que se habían activado se
hayan suspendido. Entonces el tiempo de simulación avanza hasta el siguiente
instante de tiempo en el que haya un evento programado, y se repiten los dos
pasos del ciclo de simulación. La simulación termina cuando no haya más
eventos programados o cuando se llegue al tiempo de simulación especificado.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 5.8. Ciclo de simulación VHDL

Es importante notar que el modelo de tiempo implementado por el ciclo de


simulación VHDL implica que siempre hay un cierto retardo entre el momento en
que un proceso coloca un nuevo valor en la cola de eventos de una señal (el
proceso ejecuta la asignación sobre la señal) y el momento en que esta señal
toma el valor programado en la cola de eventos. Incluso en el caso de que no se
especifique un retardo concreto, se utilizará un retardo delta (delta delay). Un
retardo delta no implica actualizar el tiempo de simulación, pero sí que implica
ejecutar un nuevo ciclo de simulación.
El concepto de retardo delta es importante para entender otra diferencia
importante entre variable y señal. Una variable actualiza su contenido en cuanto
se ejecuta una asignación sobre ella. En cambio cuando se ejecuta una
asignación sobre una señal, se proyecta un nuevo evento sobre su cola de
eventos y solo cuando todos los procesos se hayan ejecutado y estén
suspendidos, el valor de la señal se actualizará con el valor proyectado en su
cola de eventos.

Este mecanismo de retardo delta se introduce para permitir la simulación de


hardware (paralelo por naturaleza) usando máquinas secuenciales.
Consideremos el código VHDL de la Figura 5.9, en el que aparecen dos
elementos secuenciales conectados en forma de registro de desplazamiento.

El mecanismo de retardo delta permite que, independientemente del orden en


que se ejecuten los dos procesos, el segundo (FF2) siempre reciba el valor
correcto de Q1, ya que aunque se haya ejecutado con anterioridad el primer
proceso (FF1), la asignación que éste realiza sobre Q1 aún no habrá tenido
lugar (en todo caso se habrá proyectado el evento sobre la cola de eventos de
Q1). De forma que al realizar la asignación de D1 sobre Q2 se colocará en la
cola de eventos de Q2 el valor correcto de D1 (aún sin actualizar). Sólo en el
momento en que ambos procesos se hayan suspendido, se actualizarán las
señales con los valores que contengan sus colas de eventos.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 5.9. Determinismo en la simulación VHDL

UNIDADES BÁSICAS DE DISEÑO

Una unidad de diseño es una construcción VHDL que puede ser


analizada independientemente. Existen cinco tipos diferentes de unidades de
diseño: la declaración de entidad (entity declaration), la arquitectura de una
entidad (architecture), la configuración (configuration), la declaración de paquete
(package declaration) y el cuerpo del paquete (package body).

La declaración de entidad, la declaración de paquete y la configuración se


llaman unidades primarias, mientras que la arquitectura de entidad y el cuerpo
del paquete se consideran unidades secundarias porque dependen de una
entidad primaria que debe ser analizada antes de poder ser analizadas ellas
mismas.

Un dispositivo se representa en VHDL mediante una entidad, que consta de una


declaración de entidad, donde se da una visión externa del dispositivo
definiéndose la interfaz con su entorno, y una arquitectura, donde se define su
funcionalidad. Para poder probar diferentes opciones a la hora de modelar un
dispositivo, VHDL permite definir múltiples arquitecturas asociadas a una única
entidad. La configuración es la construcción encargada de seleccionar de
seleccionar la arquitectura específica que se va a utilizar para una entidad.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
En VHDL cada objeto debe ser declarado antes de utilizarse. En general, las
declaraciones se realizan en las unidades de diseño donde estos objetos son
necesarios, por lo que no serán visibles en las demás unidades. Para
declaraciones útiles para varias unidades de diseño, VHDL proporciona el
paquete, que evita la multiplicidad de declaraciones comunes. Normalmente el
paquete se divide en dos unidades de diseño VHDL: la declaración y el cuerpo
del paquete.

Declaración de entidad

La declaración de una entidad sirve para definir la visión externa del dispositivo
que dicha entidad representa, la interfaz con su entorno. VHDL separa esta
visión externa de la implementación concreta del dispositivo para dar la
posibilidad de que esta quede oculta. De este modo, después de haber analizado
la declaración de una entidad y, por tanto, haberla almacenado en una biblioteca,
esta entidad podrá ser utilizada por otros diseños que solo requieran de dicha
interfaz para usarla.

La sintaxis VHDL para declarar una entidad es la siguiente:

El identificador es el nombre que va a recibir la entidad y servirá para poder


referenciarla más tarde. Excepto la primera y la última línea de la declaración,
todas las demás son opcionales. La declaración de una entidad que implemente
un semisumador se muestra en la Figura 5.10.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
Figura 5.10. Diagrama de la interfaz del semisumador de 2 bits

Los puertos determinan la interfaz del dispositivo con el exterior y para


comprender mejor que son se pueden comparar con las patillas de un circuito.
Para cada puerto se tendrá que indicar el nombre, tipo y el modo. El nombre se
utilizará para poder referenciarlo, el tipo definirá la clase de información que se
transmitirá por el puerto mientras que el modo servirá para definir la dirección de
la información, en el sentido que los puertos puedan ser de entrada, de salida o
bidireccionales.

Arquitectura

Sirve para definir la funcionalidad de la entidad que representa. Describe un


conjunto de operaciones sobre las entradas de la entidad que determinan el valor
de las salidas en cada momento. Antes de poder ser analizadas es
imprescindible haber analizado la declaración de la entidad, de modo que cuando
ésta se modifique la arquitectura tendrá que ser re-analizada.

La sintaxis VHDL para definir la arquitectura de una entidad es la siguiente:

El identificador es el nombre que va a recibir la arquitectura y servirá para


referenciarlo más tarde. Además debe indicarse el nombre de la entidad a la que
pertenece. La sección de sentencias concurrentes describe propiamente la
funcionalidad del dispositivo. Existen muchos tipos de sentencias concurrentes.
Dependiendo del tipo de sentencias utilizadas se puede modelar una arquitectura
siguiendo diferentes estilos:

• Estilo algorítmico

Define la funcionalidad del dispositivo mediante un algoritmo ejecutado


secuencialmente, de forma muy parecida a como lo hace cualquier programa
escrito en un lenguaje de programación común. Por tanto, no se hace ninguna
referencia a la estructura que se seguirá para implementar el algoritmo en
hardware.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
La arquitectura de un multiplexor de dos bits utilizando un estilo de modelado
algorítmico sería:

En este momento se puede decir que un proceso, definido mediante la palabra


clave process, es una sentencia concurrente, en el sentido que todos los
procesos se ejecutan simultáneamente, que está formado por una o más
instrucciones secuenciales. Por esta razón, una arquitectura con un solo proceso
es equivalente a un algoritmo ejecutado secuencialmente.

• Estilo flujo de datos

Una descripción de estilo de flujo de datos refleja la funcionalidad de un


dispositivo mediante un conjunto de ecuaciones ejecutadas concurrentemente,
que determinan el flujo que van a seguir los datos entre módulos encargados de
implementar las operaciones. En este estilo ya existe una correspondencia
directa entre el código y su implementación hardware. Suele considerarse que
este tipo de descripción es funcional y estructural al mismo tiempo, ya que define
tanto el comportamiento de los módulos como su interconexión con los
demás módulos.
El multiplexor de dos bits declarado anteriormente siguiendo un estilo de
descripción de flujo de datos sería:

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

• Es
tilo estructural

Una arquitectura definida utilizando un estilo estructural consiste en un conjunto


de componentes interconectados mediante señales. Un ejemplo típico de
descripción utilizando este estilo es la representación de un circuito como una
lista de componentes interconectados (netlist) de una biblioteca de celdas
estándar de una tecnología determinada. La descripción es puramente
estructural en el sentido que no incluye ningún tipo de funcionalidad, ésta en todo
caso está incluida en la definición de la arquitectura de los componentes que
forman la descripción.

El multiplexor de dos bits declarado anteriormente podría describirse en estilo


estructural como un conjunto de puertas interconectadas de la manera siguiente:

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Hay que dejar claro que aunque se hayan explicado diferentes estilos para
describir una arquitectura VHDL y se hayan dado ejemplos de cada uno de ellos,
todos estos estilos pueden mezclarse en la implementación de una sola
arquitectura.

Configuración

La configuración es la construcción VHDL encargada de seleccionar la


arquitectura que se quiere utilizar para una entidad concreta. VHDL permite
definir más de una arquitectura por entidad para facilitar el estudio de varias
posibilidades a la hora de implementarla. La sintaxis simplificada de una
configuración es la siguiente:

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

El identificador es el nombre que va a recibir la configuración y servirá para


poder referenciarla más tarde. Aparte de aportar su nombre, es necesario
identificar la entidad y la arquitectura relacionadas en la configuración mediante
sus identificadores respectivos. Cuando el diseño sea jerárquico, también
pueden determinares las entidades y arquitecturas que se van utilizar para los
componentes de más bajo nivel. En este caso es necesario relacionar las
referencias de los componentes con una entidad y una arquitectura o bien
indicar la configuración que se quiere usar para cada componente. Como se
podría dar el caso de que dos referencias de un mismo componente
utilizaran diferentes arquitecturas (o entidades), se da flexibilidad para
configurar todas las referencias de un componente a la vez o por separado.
La configuración del multiplexor de dos bits utilizado en el apartado anterior en
el caso que se quiera trabajar con la arquitectura llamada FlujoDatos sería:

Paquetes

Un paquete permite agrupar un conjunto de declaraciones para que puedan ser


usadas por varios dispositivos sin ser repetidas en la declaración de cada
dispositivo. De esta forma se facilita la reutilización y la actualización del código.
Normalmente en un paquete se suelen declarar constantes, tipo y subtipos de
datos, subprogramas y componentes. Más adelante se verá con más detalle
el significado y la utilización de cada uno de estos elementos del lenguaje.

Un aspecto importante del paquete es que al igual que pasaba con las entidades,
se divide en dos unidades de diseño diferenciadas: la declaración y el cuerpo del
paquete. La declaración de paquete aporta la visión externa de los elementos
que se declaran mientras que el cuerpo del paquete define su implementación.
De este modo se pueden ocultar los detalles de implementación a un diseñador
que puede estar interesado en cómo utilizar un elemento pero no necesita saber
cómo está implementado.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
La sintaxis VHDL para declarar un paquete es la siguiente:

Para el cuerpo del paquete la sintaxis VHDL es:

Como puede apreciarse, la sintaxis es muy parecida para la declaración y el


cuerpo del paquete, la única diferencia reside en la naturaleza de las
declaraciones de las dos unidades. Al analizar el cuerpo de un paquete es
imprescindible haber analizado la declaración antes, de forma que si ésta varía
se tendrá que re-analizar el cuerpo del paquete.Cuando se analiza un paquete, el
resultado del análisis queda almacenado en una biblioteca para poder ser usado
más adelante.

Bibliotecas

Una biblioteca sirve para almacenar el resultado del análisis de las unidades de
diseño para su uso futuro. Las bibliotecas son beneficiosas porque facilitan la
compartición y la reutilización del código en diferentes diseños.
Aunque las unidades de diseño se analicen separadamente, se tiene que
respetar un cierto orden ya que algunas unidades dependen de otras. En
general, la declaración de una entidad tiene que analizarse antes que su
arquitectura y la declaración de un paquete antes que su cuerpo. Además,
cuando una entidad utilice algún elemento de un paquete, las unidades que este
paquete tienen que analizarse antes que las unidades de la entidad. Por último
antes de analizar una configuración tienen que haberse analizado las
arquitecturas seleccionadas en dicha configuración.

La biblioteca work o de trabajo sirve de biblioteca por defecto y es la que se


utiliza siempre que no se especifique otro nombre. De todos modos, el diseñador
puede crear el número de bibliotecas que crea necesario y repartir sus diseños
entre las bibliotecas de la forma que crea más conveniente.

Desde un modelo almacenado en una biblioteca no puede accederse


directamente a las unidades de diseño de otras bibliotecas, ya que solamente se
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
tiene visibilidad de la biblioteca donde está almacenado este modelo. Para
dar visibilidad a una biblioteca se utiliza la sentencia library seguida del
nombre de la biblioteca. Por ejemplo, para usar los elementos de un paquete que
se llame PaqueteEjemplo almacenado en la biblioteca BibliotecaEjemplo desde
un modelo que se vaya a guardar en otra biblioteca se tendría que empezar el
modelo de la forma:

Las bibliotecas work y std son excepciones en el sentido que siempre son
visibles y, por tanto, no requieren la sentencia library.

Finalmente cabe destacar que la definición de biblioteca es una definición lógica,


en el sentido de que cada herramienta puede implementarla como quiera sobre
el sistema de ficheros. En algunos casos una biblioteca será un fichero, en otros
un directorio o una estructura jerárquica de directorios. Por esta razón, cada
herramienta debe aportar facilidades para crear bibliotecas y mapaer su
estructura lógica a la posición física en el disco.

AUTOEVALUACION

1. Defina VHDL
2. Nombre las tres características principales que incorpora VHDL
enfocadas a facilitar la descripción de hardware.
3. En qué consiste el modelo de estructura en VHDL.
4. Qué significa que la simulación de un modelo VHDL está dirigida por
eventos.
5. Genere un ejemplo VHDL para definir la arquitectura de una entidad.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 3: NIVELES DE DESCRIPCIÓN VHDL

VHDL es un lenguaje descriptor de hardware de gran generalidad derivada del


lenguaje de alto nivel ADA43. Dispone de tipos abstractos para definir el formato
y valores de señales, variables, constantes, etc. y proporciona amplias
facilidades para la realización de algoritmos. Los diferentes niveles de
descripción que maneja VHDL son los siguientes:
• Nivel
algorítmico. Es el nivel con mayor grado de abstracción. Aquí el diseñador solo
describe el comportamiento del sistema, sin preocuparse de las señales o
componentes internos del mismo. Por ello al referirse a él se suele hablar de
nivel de comportamiento o descripción de alto nivel.
• Nivel de
transferencia de registros (RTL, Register Transfer Level). Este nivel
proporciona un cierto grado de abstracción con respecto al hardware, pero el
diseñador se ve obligado a describir las distintas señales que interactúan en un
circuito y su comportamiento en función de las entradas por medio de
ecuaciones lógicas y sentencias de asignación.
• Nivel lógico.
Utiliza los recursos que el lenguaje proporciona para describir las
interconexiones entre los distintos componentes de un circuito. Otra
denominación habitual para referirse a este nivel es la de estructural.
De los niveles anteriores, el algorítmico ofrece las más grandes ventajas y
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
generalmente es el más empleado, ya que no necesita de saber detalles
específicos de las arquitecturas a programar, entre otras cosas.

ETAPAS BÁSICAS EN EL PROCESO DE DISEÑO

El proceso de diseño se puede dividir en seis etapas bien definidas:


• Definición de los requerimientos del diseño.
• Modelado del diseño en VHDL.
• Simulación del código fuente.
• Síntesis, optimización y ajuste del diseño.
• Simulación “post-layout”.
• Programación del dispositivo.

Definición de los requerimientos del diseño


Antes de empezar a escribir líneas de código, se debe tener una idea clara de los
objetivos y requerimientos del diseño (especificaciones): ¿Qué funcionalidad
debe tener el diseño?, esto es, ¿Para qué sirve? ¿Cuáles son los tiempos
requeridos para la inicialización o la relación reloj- salida? ¿Cuál es la
frecuencia máxima de operación? ¿Cuáles son los caminos críticos?
Responder de forma adecuada a éstas y otras preguntas ayudarán a elegir una
metodología de diseño y una arquitectura de dispositivo adecuada.

Modelado del diseño en VHDL

A partir de las especificaciones se puede tener la tentación de empezar a escribir


líneas de código, pero es recomendable decidir una metodología de diseño. Esto
es, elegir la forma en que será descrito, el resultado será un diseño más
eficiente.
Existen dos tipos de metodología: ascendente, descendente. La primera implica
el crear estructuras jerárquicas, mientras que la última ve el diseño como un
todo.

• La metodología ascendente (Bottom-Up), Esta metodología tiene la


finalidad de formar módulos de aplicación especifica mediante la descripción de
elementos básicos o primitivas, que formaran nuevos módulos hasta llegar a uno
solo que representa el sistema completo, desde un nivel bajo hasta uno alto de
abstracción.
• La metodología descendente (Top-Down), Esta metodología parte de un
nivel alto de abstracción y detalla los módulos de aplicación específica según se
necesite. No es necesario que un modulo que ha alcanzado el nivel primario
alcance el nivel de primitivas.

Posteriormente a la decisión de la metodología a aplicar, es posible describir


 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
diagramas de flujo, diagrama de bloques, etc. con el lenguaje de descripción
elegido. Hay que ser muy cuidadoso con la sintaxis y con la semántica. Un
modo de trabajo utilizado por muchos diseñadores consiste en editar un
ejemplo y adaptarlo a las necesidades del diseño concreto.

Simulación del Código Fuente

La simulación de código permite depurar errores funcionales antes de la síntesis,


también es conocida como simulación lógica ya que se realiza antes de rutear al
dispositivo a diferencia de la simulación post diseño.

Síntesis, Optimización y Ajuste del diseño

Síntesis
Se puede definir como la traducción de la descripción de un diseño a una
representación de circuito de bajo nivel (netlist). El proceso de síntesis depende
de la tecnología empleada, en otras palabras, el paso de una descripción en
VHDL hacia un conjunto de netlist es diferente de un dispositivo a otro. El
proceso de síntesis convierte el diseño a una estructura de datos
interna, traduciendo el “comportamiento” descrito en alto nivel a una descripción
de nivel RTL. La descripción RTL especifica registros, señales de entrada y
salida y la lógica combinacional entre ellas. Algunas herramientas de síntesis
traducen estructuras de datos en funciones lógicas optimizadas según la
arquitectura elegida.

Optimización
El proceso de optimización depende de tres variables:
• La forma de las expresiones booleanas.
• El tipo de recursos disponibles.
• Las directivas de síntesis utilizadas (tanto automáticas como propias de
usuario).

La optimización de una estructura PLD o CPLD implica la simplificación de las


expresiones lógicas a una suma mínima de términos producto, además también
se optimiza el número de literales. Para ello se utilizan técnicas de simplificación
de la forma canónica en una suma de términos producto. La optimización para
FPGAs típicamente requiere que la lógica se exprese en factores comunes que
se puedan utilizar en diferentes partes del diseño.

Ajuste
El ajuste es el proceso por el que se toma la lógica producida por la síntesis y la
optimización y se “coloca” en un dispositivo lógico, transformando la lógica (en
caso de ser necesario) para obtener el mejor ajuste. Ajuste es un término
utilizado habitualmente para describir el proceso de colocar los recursos en
arquitecturas del tipo CPLD.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Cuando la arquitectura es una FPGA el proceso se suele denominar ruteo y


colocación, ya que se colocan bloques lógicos en diferentes células del FPGA y
posteriormente se interconectan entre sí o hacia bloques de entrada/salida. El
proceso de ajuste en un CPLD puede ser complejo, ya que el modo en que la
lógica se puede poner en un dispositivo concreto suele ser variado.

Programación del dispositivo

En la Figura 5.11 se ejemplifica el uso de VHDL para programar un FPLD. Note


el uso de cadenas de bits, que corresponden a los estados de los switches en las
matrices de ruteo, los switches electrónicos en el FPGA se abren o cierran de
acuerdo al bit correspondiente en la cadena de bits.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 5.11. Programación mediante VHDL

Ejemplo de descripción VHDL

En la Figura 5.12 se muestra la descripción estructural mediante el lenguaje


VHDL de un registro de cuatro bits compuesto de cuatro biestables D por flanco
de subida con ‘reset’ activo a nivel alto. El biestable, por el contrario, se describe
funcionalmente incorporando un retardo tanto entre la señal de ‘reset’ y la salida
como entre el reloj y la salida. La particularidad del VHDL es que para cada
componente (a los que se denomina entidades) pueden definirse varias
arquitecturas, que serian las diferentes vistas (funcional, estructural, etc.) del
componente. Las entidades se describen indicando únicamente sus entradas y
salidas (puertos en la sintaxis VHDL). Posteriormente se definen una o más
arquitecturas para cada entidad. La descripción del biestable_D que se realiza
mediante un proceso es el equivalente en VHDL a la descripción Verilog® ,
añadiendo una entrada adicional para la puesta a cero (clr).

En la descripción estructural del registro se instancia cuatro veces (bit0, bit1, bit2
y bit3) la entidad biestable_D, usando su vista behavioral (esto es necesario por
si hubiese varias vistas de un mismo componente). Con la instrucción portmap se
realiza un mapeado de las entradas y salidas del registro conectándolas a los
puertos de cada biestable según corresponde. En caso de necesitar nodos
intermedios estos deberían declararse como signals, que son similares a los
wires del Verilog®.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 5.12. VHDL de un biestable D por flanco de subida

AUTOEVALUACION

1. Mencione los niveles de descripción VHDL


2. Con sus palabras, mencione las etapas básicas en el proceso de diseño
con VHDL.
3. Describa la finalidad de la metodología descendente (Top-Down).
4. Proponga un ejemplo de aplicación VHDL.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 4: MODELOS Y SIMULADORES DE ALTO NIVEL

La complejidad cada vez mayor, sobre todo de circuitos digitales como los
microprocesadores, obliga a describir el sistema cada vez a un nivel mayor de
abstracción para hacer manejable su diseño. Los requerimientos tan exigentes
de la industria que obligan a reducir al máximo los tiempos en los que el producto
llega al mercado desde la fase inicial de concepción del mismo tienen una gran
repercusión en los métodos de diseño utilizados. Es necesario realizar
simulaciones y comprobaciones de viabilidad y funcionalidad cuando el diseño
está apenas bosquejado, es decir, cuando únicamente se encuentra definida la
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
arquitecturaCONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
a alto nivel, sin haberse realizado todavía la implementación, ni
siquiera a nivel lógico, de los bloques de que consta. Es por ello que cada vez
son más necesarios los lenguajes y simuladores que permitan realizar estas
tareas a alto nivel.

Históricamente, la descripción más utilizada ha sido la RTL (del inglés register


transfer level), utilizando un lenguaje de descripción de hardware como los que
hemos visto en el sub-apartado anterior. Dicho código RTL describe cada bit de
estado en el sistema y todas las operaciones que pueden tener lugar en ese
estado. Describe también cada registro, matriz de memoria, bloque aritmético y
lógico. Esta descripción es de forma estructural, pero no tiene por qué
corresponderse con la implementación exacta que después tendrá cada bloque,
ya que lo importante es describir la funcionalidad del sistema y sus partes y
poder evaluarla conjuntamente. Dado que la representación es de tipo
estructural, es posible utilizar también un esquemático para describir el sistema
de forma RTL (ver Figura 5.13).
Posteriormente los avances en informática y herramientas CAD han permitido
elevar aún más el nivel de abstracción y utilizar construcciones muy parecidas a
las de los programas y algoritmos software (bucles, cláusulas if-then-else, etc.).
El sistema queda descrito entonces de forma funcional. Existe la posibilidad de
traducir una especificación HDL de este tipo funcional a una descripción RTL, y
ésta es una de las tareas de los programas de síntesis de los que se trata en el
siguiente apartado.

Ejemplo

En este ejemplo presentamos la descripción RTL de un multiplicador-acumulador


(MAC) que trabaja en pipeline. El circuito opera sobre una secuencia de números
complejos {xi} y {yi}. El MAC multiplica dos elementos correspondientes de las
secuencias y acumula la suma de los productos. El resultado es:

donde N es la longitud de la secuencia.

Cada número complejo se representa de forma cartesiana (separando la parte


real de la imaginaria). Si dos números complejos x e y se expresan de esta
forma, su producto p, que es también un número complejo, se puede calcular de
la siguiente forma:

p_real = x_real × y_real – x_imag × y_imag

p_imag = x_real × y_imag – x_imag × y_real

La suma de x e y es un número complejo s calculado de la siguiente forma:

s_real = x_real + y_real s_imag = x_imag + y_imag

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
El circuito MAC calcula el resultado tomando pares sucesivos de números
complejos, cada uno de una de las dos secuencias de entrada, formando un
producto complejo y añadiendo el resultado al contenido de un registro
acumulador. El acumulador se inicializa a cero al principio y se reinicializa cada
vez que termina la operación sobre un par de secuencias completas. Para
realizar este proceso son necesarias cuatro multiplicaciones para formar los
productos parciales. Después una suma y una resta para formar el producto
completo y, finalmente dos sumas para acumular el resultado.

El retardo total para completar la operación será la suma de los retardo


necesarios para realizar cada uno de los pasos. No obstante, insertando registros
que memoricen los resultados parciales, es posible aprovechar los recursos que
quedan libres una vez han realizado su operación sobre un par de datos de
entrada, para realizar esa misma operación parcial sobre el siguiente par, aunque
la operación total sobre el par de datos original no se haya completado todavía,
de forma que los datos van entrando en el MAC a un ritmo superior del que dura
toda su operación. Esta técnica se conoce con el nombre de pipeline. La
descripción RTL del MAC se muestra en la Figura 5.13. En ella podemos
identificar fácilmente todos los componentes de los que hemos hablado. A la
salida de cada operador se añade un registro para almacenar el valor parcial de
los resultados. La etapa final acumula el resultado mediante la conexión de la
salida de los dos registros con reset a la entrada de los sumadores. Los otros dos
registros RS detectan cuándo se produce un desbordamiento en la acumulación
para indicarlo a la salida del circuito.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 5.13. Descripción RTL de un multiplicador-acumulador (MAC)


de números complejos

En la implementación de la figura la operación total del MAC necesita de cuatro


ciclos de reloj para completarse (el primero para cargar los datos de entrada, el
segundo para almacenar los productos parciales, el tercero para almacenar los
productos totales y el cuarto para acumular su suma). Sin embargo, gracias a la
técnica pipeline, el MAC completa una operación cada ciclo de reloj y para
procesar una secuencia completa de N pares de números complejos necesitará
N+3 ciclos de reloj.

AUTOMATIZACIÓN DEL DISEÑO MICROELECTRÓNICO

A la hora de abordar el diseño de un sistema electrónico complejo, el ingeniero


únicamente puede centrar sus esfuerzos a un nivel en el que sea capaz de
manejar el sistema. Por ejemplo, un diseñador podría manejar el diseño de un
sistema representado por un conjunto de 10 ecuaciones booleanas, pero no uno
representado por 10000 ecuaciones.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

En este último caso, debería ascender un nivel de abstracción y reducir la


cantidad de descriptores del sistema hasta que su número sea manejable, como
por ejemplo 10 algoritmos. En los niveles de abstracción más bajos el diseño sólo
puede ser abordado particionando el sistema en partes más pequeñas y
repartiéndolas a varios diseñadores, o bien, mediante la automatización del
diseño, es decir, el uso de herramientas CAD que realicen tareas de diseño
automático. Los procesos de automatización del diseño encierran siempre dos
procesos en direcciones opuestas: por un lado las síntesis y optimización, que
partiendo de una representación en un nivel de abstracción obtienen la
representación del circuito en un nivel inferior, más detallado; y por otro la
verificación, que consiste en comprobar que el circuito representado en el nivel
inferior se comporta tal y como se habIa descrito en el nivel superior. Este último
proceso se lleva a cabo principalmente mediante análisis y simulaciones en
ambos niveles y la comparación de los resultados.

El proceso de síntesis es más complejo, debido a que existen, normalmente,


muchos grados de libertad a la hora de implementar una determinada función
descrita en un nivel superior de abstracción. Además de la funcionalidad
intervienen otras variables, como el consumo, el área ocupada, la velocidad de
operación. Dado que normalmente no es posible obtener un sistema sintetizado
que maximice nuestras expectativas en todos los aspectos (por ejemplo, las
implementaciones más rápidas de una función normalmente ocupan una mayor
área y consumen más), es necesario establecer un compromiso o fijar que
variable nos interesa más. De ahí que el proceso de síntesis vaya siempre unido
al de optimización: se trata no únicamente de traducir la especificación del
sistema de un nivel a otro, sino de encontrar la implementación que optimice el
consumo, o la velocidad, o el área, etc.

Dado que existen, como ya se ha visto, distintos niveles de abstracción, los


procesos de síntesis se clasifican por el nivel al que actúan. Por simplicidad
vamos a considerar únicamente tres niveles tal y como se indica en la Figura
5.14 a y b muestra los procesos de síntesis en estos tres niveles que veremos
con algo más de detalle en los sub-apartados siguientes.

Figura 5.14. a) Niveles de abstracción y vistas y b) procesos de síntesis asociados

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Síntesis de alto nivel

La síntesis a nivel de arquitectura, o síntesis de alto nivel, como la llaman


también algunos autores, es una metodología de diseño que ha surgido tras
muchos años de investigación sobre métodos matemáticos de representación
(básicamente teoría de grafos) y algoritmos de optimización. Hoy en día existen
ya herramientas comerciales que permiten describir un sistema electrónico a alto
nivel sin un conocimiento previo de su implementación consiguiendo de forma
automatizada, y en función de las restricciones impuestas (mínima área, máxima
velocidad, mínimo consumo, etc.), una implementación del sistema a nivel lógico.
Este proceso consta de dos etapas, la síntesis de la arquitectura, que veremos
aquí y la síntesis lógica. La descripción del circuito a alto nivel se realiza
mediante los lenguajes HDL de los que hablamos en el apartado anterior.

La síntesis de la arquitectura se basa en el principio de que todo sistema puede


modelarse mediante una serie de operaciones y sus dependencias. El primer
paso del proceso de síntesis consiste en traducir la especificación que el
diseñador realiza utilizando uno de los lenguajes HDL en una representación
basada en operadores (denominados recursos) y sus dependencias. Estas
representaciones formales pueden ser de varios tipos, pero todas se basan en
grafos. El proceso de síntesis consiste en identificar los recursos hardware que
pueden implementar las operaciones. Esto se realiza mediante dos procesos:
scheduling y binding. El proceso de scheduling consiste en determinar el orden
en que se realizaran las operaciones y el proceso de binding consiste en repartir
las operaciones entre los recursos disponibles. Estos dos procesos se realizan
iterativamente dentro de un bucle de optimización en el que se fijan como
objetivos, bien realizar las operaciones con el mínimo número de recursos
posible, bien realizarlas en el menor tiempo posible, bien un compromiso entre
ambos. Como vemos, la principal característica del proceso de síntesis
es la existencia de múltiples soluciones.

Los procesos de optimización consisten en programas lineales con solución


entera (ILP-Integer Linear Problem) que deben resolverse por algoritmos
heurísticos, ya que son problemas de un nivel de complejidad no tratable por
métodos exactos. El resultado de este proceso de síntesis se representa
usualmente mediante un grafo de flujo de datos (DFG) y/o un grafo de
secuenciación (SG), como se muestra en el Ejemplo. La síntesis de alto nivel se
implementa sobre una estructura compuesta por un datapath (DP) y una unidad
de control (UC).

El DP está formado por los recursos hardware a los que se asignan las
operaciones y la UC secuencia el funcionamiento, la conectividad y el traslado de

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

datos de un recurso a otro para implementar el algoritmo descrito por el


diseñador.

Las variables básicas de optimización de la síntesis de alto nivel son tres: el área
(que está relacionada con el número de recursos), la latencia y el tiempo de ciclo.
Este último vendría limitado por el bloque más lento del datapath. La latencia es
el número de ciclos necesarios para completar la función y está relacionado con
la secuenciación temporal de las operaciones. Todas las posibles
implementaciones de un mismo sistema descrito a alto nivel son puntos en el
espacio tridimensional formado por estos tres ejes (área, latencia y tiempo de
ciclo). La optimización que se realiza durante el proceso de síntesis tiene como
objetivo encontrar en ese espacio tridimensional la implementación que maximice
unos determinados objetivos que se denominan restricciones del diseño. Estas
restricciones pueden ser cerradas (por ejemplo, utilizar un número determinado
de recursos o un límite para la latencia), o bien, abiertas (por ejemplo, encontrar
la implementación con un mínimo tiempo de ciclo).

De hecho, el tiempo de ciclo está relacionado con la estructura a nivel lógico de


los bloques, por lo que es necesario descender un nivel y realizar la síntesis y
optimización a nivel lógico, de la cual hablaremos en el siguiente sub-apartado.
Estos dos procesos (síntesis de la arquitectura y síntesis lógica) se optimizan
globalmente. El resultado final de las herramientas CAD de síntesis actuales es
un esquemático a nivel lógico utilizando celdas estándar
de las librerías de
un fabricante determinado.

Ejemplo

Un ejemplo clásico que permite describir el proceso de síntesis de alto nivel


consiste en la implementación de un sistema digital que resuelva numéricamente
(mediante el método directo de Euler) la ecuación diferencial y’’ + 3xy’ + 3y = 0
en el intervalo [0,a] con un incremento dx y valores iniciales x(0) = x; y(0) = y;
y’(0) = u.

El circuito puede representarse con el siguiente modelo mediante un lenguaje


HDL:

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

A partir de la especificación de este sistema, puede fácilmente deducirse una


posible implementación. El datapath constaría de dos recursos hardware: un
multiplicador y una ALU (unidad aritmético- lógica), que implementaría las
operaciones suma, resta y comparación. El circuito constaría también de
registros, multiplexores y circuitos de encaminamiento de datos y de una unidad
de control que secuenciaría la ejecución de las operaciones. La Figura 5.15a
muestra el grafo de flujo de datos que la síntesis automática generaría en caso
de que se le restringiera el número de recursos a dos. Esta sería, pues, una
implementación de mínimo coste o área.
El datapath sintetizado se muestra en la Figura 5.15 b. Se trata de una vista
estructural de la descripción funcional del sistema realizada por el diseñador. La
unidad de control vendría gobernada por el FM de la Figura 5.15 c. Este
diagrama de estados ya sería una descripción funcional de una parte del sistema,
la unidad de control, a nivel lógico. Por otro lado, el resto de componentes del
datapath se describirían a nivel lógico por sus ecuaciones booleanas.

En el diagrama de estados, la señal r es un ‘reset’ activo por nivel alto. La otra


señal de control, c es la salida del comparador que permite detectar cuando
finaliza el bucle de cálculo, tal y como se indica en la descripción HDL. El estado
S1 se utiliza para leer los datos de entrada y el S9, cuando finaliza el bucle, para
escribir los resultados. El bucle de cálculo está formado por los estados S2 a S8.
Este diagrama de estados se sintetiza a partir del grafo de secuenciación
extraído de la organización temporal de las operaciones que se extrae del grafo
de flujo de datos de la Figura 5.15 a.

La principal desventaja de la implementación de la Figura 5.15 es que requiere


de siete ciclos de reloj para realizar cada paso por el bucle (considerando, para
simplificar, que cada recurso necesita de un ciclo para realizar su operación).
Una implementación alternativa menos costosa en términos de ciclos de reloj
necesitaría de cinco recursos: dos multiplicadores, un sumador, un restador y un
comparador. Esta implementación, cuyo DFG se muestra en la Figura 5.16,
ocuparía una mayor área que el anterior, pero realizaría cada paso por el bucle
en sólo cuatro ciclos de reloj.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 5.15. Resultados del proceso de síntesis de alto nivel para la


resolución numérica mediante el método directo de Euler de una ecuación a)
Grafo de flujo de datos , b) datapath y c) FSM que implementa la unidad de
control

Figura 5.16. Implementación alternativa de la ecuación diferencial con más


recursos y menor coste temporal

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
AUTOEVALUACION

1. Defina qué es RTL


2. Elabore un cuadro comparativo con los diferentes niveles de abstracción.
3. En qué consisten los procesos scheduling y binding

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 5: HERRAMIENTAS CAD

La muy elevada complejidad de los circuitos integrados actuales requiere para


tareas de detalle que sigan unas reglas de actuación bien conocidas de
herramientas informáticas de diseño (como es el caso de determinadas áreas de
la síntesis y en general la verificación). Si bien los campos de la computación y
control, entre otros, se han desarrollado gracias a la microelectrónica, ésta debe
en gran parte su desarrollo a la existencia de una sofisticada investigación e
industria de desarrollo de paquetes informáticos orientados a la ayuda al diseño,
para el conjunto de los cuales se utiliza el concepto de herramientas CAD
(Computer Aided Design).
A modo de ejemplo, la mera verificación del layout de un circuito integrado
microprocesador moderno requiere de un número elevadísimo de detalladas
comprobaciones. En las etapas iniciales de diseño y fabricación de circuitos
integrados, la verificación de este layout se hacía manualmente. Los ingenieros
de verificación disponían de grandes planos sobre los que pacientemente
verificaban los trazados. Si en la actualidad se utilizara este procedimiento, el
plano, para poder hacer visibles los detalles, ocuparía una superficie de cuatro
campos de fútbol y el tiempo requerido seria de más de tres años. Las
herramientas CAD hacen, en comparación, increíblemente rápida esta operación
y a salvo de toda distracción o error.

Numerosas herramientas CAD han ido apareciendo durante todos estos años de
intenso progreso de la tecnología electrónica hasta conseguir una sofisticación
importante. No es la idea, en este texto, exponer la historia de estos productos
que inicialmente aparecieron de manera más o menos aislada. Las herramientas
CAD han aparecido cubriendo el espectro completo de los diagramas de flujo del
diseño Figura 5.17.

Figura 5.17. Organización de toda herramienta CAD

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

La herramienta procesa mediante un algoritmo la información de entrada,


produciendo una información de salida. Tanto las informaciones de entrada como
de salida como la información interna de la herramienta deben seguir una
determinada estructura y lenguaje de representación de los objetos.
La Figura 5.18 muestra el dominio de herramientas CAD organizado en un plano
dependiente del nivel de la representación (comportamiento, bloque funcional,
esquema lógico, esquema eléctrico, físico, usualmente layout) y de la función de
la herramienta. Las funciones de estas herramientas son:

• Herramientas de Simulación. Tienen por objetivo predecir el comportamiento


del circuito que se representa. Dependiendo del tipo de circuito, el simulador
puede ser eléctrico, digital o mixto. Estas herramientas son fundamentales en
diseño electrónico, pues son las que nos indican si el circuito físico satisfará o no
la función para la que ha sido creado. Los simuladores permiten establecer
muchas variables de entorno, como tensión, carga o temperatura.
Para poder realizar una simulación es preciso disponer de modelos de las partes
que lo constituyen. Así existen librerías de modelos de componentes lógicos y/o
analógicos. A nivel dispositivo, existen modelos de dispositivos que incluyen los
comportamientos de estos elementos, ya sean de tipo analítico, empírico o mixto.
A nivel sistema, se dispone de simuladores de elementos expresados en
lenguaje VHDL (digitales, si bien existe una extensión, AHDL para algunos
bloques analógicos), se les denomina simuladores de lenguajes de alto nivel.
Existen simuladores digitales, meramente a nivel estructural, que incorporan
modelos de las puertas y módulos con sus funciones lógicas, tiempos de
propagación (incluyendo la dependencia con la carga), requerimientos
temporales etc. A nivel eléctrico, cabe contar con un simulador emblemático,
existente en prácticamente todos los entornos de simulación: se trata de la
herramienta SPICE. SPICE es un simulador eléctrico-temporal, capaz de
determinar respuestas temporales (incluyendo transitorios) y frecuenciales o
valores quiescentes a partir de una definición estructural del circuito y los
parámetros y modelos de los mismos.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 5.18. Dominio de herramientas CAD en un plano nivel de representación-


función de la herramienta

• Herramientas de síntesis y predicción. Si las herramientas de simulación son


esenciales para poder analizar el comportamiento y garantizar la función del
circuito, las herramientas de síntesis son esenciales para guiar o ejecutar el
diseño top-down de un circuito complejo, ampliando la productividad del
diseñador y eliminando la posible introducción de errores por construcción. Estas
herramientas se utilizan de manera muy especial en diseños repetitivos, de gran
detalle y complejidad, cuya ley de construcción es bien conocida. Por ejemplo, la
síntesis automática de un layout a partir de un esquema lógico (o analógico), la
síntesis de un filtro de capacidades conmutadas a partir de las especificaciones
del plano de Bode, etc.
En esta categoría se incluyen herramientas de colocación y conexionado de
elementos (celdas, puertas, transistores, etc.). Las herramientas de construcción
de módulos generan el diseño de un módulo (registros, bloques de memoria,
ALU, etc.) a partir de parámetros estructurales (longitud de palabra, de
direccionado, etc.). El proceso de diseño, y por consiguiente el de síntesis, no es
único. Diversas alternativas conducen a diversas soluciones, todas ellas
verificando los factores fundamentales del diseño, pero difiriendo en otros. El
diseñador puede guiar su proceso de diseño determinando estos aspectos (área
de silicio, nivel de paralelismo, disipación y consumo, coste, etc.). Para ello no es
necesario acabar el diseño hasta el nivel físico, pues las alternativas de diseño
son muchas y esto dilatarIa enormemente el tiempo de diseño. Para predecir una
variable física (consumo, número de puertas, velocidad, etc.), existen
herramientas predictoras.
• Herramientas de extracción. Corresponden a un proceso bottom-up en el flujo
de diseño. Dado un circuito a un cierto nivel, se trata de extraer sus
características para su uso en un nivel superior. Por ejemplo, extraer el circuito
eléctrico a partir del layout. Junto con la simulación puede ser utilizado como
herramienta de verificación, o para establecer un seguimiento de los
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
componentes (backtrace).

• Herramientas de verificación. A pesar de la supuesta existencia de


herramientas de síntesis automática es imprescindible realizar tareas de
verificación del diseño. La verificación es una fase fundamental del proceso de
diseño orientado a evitar errores en el producto final. Una parte de la verificación
se realiza mediante representaciones a diferente nivel y la comparación de
simulaciones con la extracción del circuito al nivel superior a partir del inferior. En
esta tarea de verificación por simulación es fundamental el establecer las
excitaciones (tensiones de entrada o vectores lógicos de entrada) adecuadas.
Existen, sin embargo, verificadores no del proceso top-down de diseño, sino de la
coherencia y verificaciones de reglas de diseño. Esto último es aplicable a reglas
de layout, reglas eléctricas y reglas temporales.

• Herramientas de test. El test es un procedimiento encaminado a detectar la


presencia de fallos de fabricación en circuitos integrados.

Esta importante fase del diseño (el establecer el test es responsabilidad del
diseñador) también requiere herramientas CAD.
Las herramientas de test más extendidas son las herramientas de generación de
vectores de test (ATPG, Automatic Test Pattern Generation) y las de ayuda a la
síntesis de sistemas aplicando normativas de diseño fácilmente testable (DFT,
Design for Testability). En las primeras, a partir de la descripción estructural de
un circuito lógico y la consideración de modelos de fallos sencillos pero eficaces
(stuck-at) las herramientas generan un conjunto mínimo de vectores de test que
presentan una cobertura de test máxima. Las segundas pretenden insertar en un
diseño lógico componentes e interconexiones encaminados a garantizar que el
diseño cumpla con una normativa mundialmente aceptada de ayuda al test y
mantenimiento (normativa P1149.1 de IEEE).

ENTORNOS EDA

El concepto EDA (Electronic Design Automation) corresponde a entornos


informáticos de trabajo encaminados a obtener una elevada productividad y
calidad del diseño electrónico. Los entornos EDA se estructuran a partir de
herramientas como las indicadas anteriormente, junto a un sistema de base de
datos que garantice la integridad de los diseños, coordine los diferentes
lenguajes y niveles de representación y facilite una elevada productividad. Los
primeros sistemas utilizando el concepto EDA aparecieron en 1981, dando
soporte a diseños de baja complejidad (5000 puertas) y tecnologías de 2 micras.
Habiendo pasado por diversas generaciones, los sistemas EDA actuales
permiten diseños de una mayor complejidad (>500000 puertas) y con tecnologías

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
de tamaño muy reducido (deep sub-micron technologies). En dichos sistemas se
establecen técnicas de adaptación al diseñador, en su estilo de diseño y trabajo,
y se permiten establecer representaciones a diferentes niveles simultáneamente,
y se combinan simuladores eléctricos y lógicos.

TENDENCIAS FUTURAS EN CAD

El futuro de las herramientas CAD y los entornos EDA es seguir con el


crecimiento de la complejidad y la sofisticación de los circuitos. Sin embargo, no
será sólo ésa la trayectoria de estos sistemas.
La existencia de elementos micromecánicos (MEMS) que se integren junto a los
circuitos mediante técnicas similares y compatibles hará preciso la extensión de
las herramientas indicadas anteriormente. Serán precisos simuladores
cinemáticos, simuladores que incluyan interacciones electromecánicas,
electrotérmicas, electromagnéticas, asI como aspectos propios de análisis de la
resistencia mecánica de los materiales.

El análisis de la integridad de la señal está adquiriendo una gran importancia,


analizando las líneas de interconexión con modelos de parámetros distribuidos,
analizando la distorsión y reflexión de señales en el circuito.

Modelos propios de circuitos RF se aplicarán a la síntesis y simulación de los


circuitos. Esto tendrá un impacto especial en el modelado y extracción de los
encapsulados y de manera especial de los sistemas MCM (MultiChip Module).
El diseño de bajo consumo (low power design) precisa de nuevas herramientas
para evaluar el consumo y orientar los diseños a una mayor portabilidad. Se
introducirán herramientas de análisis térmico para todos los circuitos con
extensiones de análisis y predicción de la fiabilidad. Por último, se incorporarán
herramientas encaminadas a establecer la tolerancia y generación controlada de
EMI (ElectroMagnetic Interferences).

Adicionalmente los futuros sistemas de CAD deberán responder al elevado


aumento de la complejidad de los circuitos (número de transistores) debiendo
pues gestionar de una manera eficaz bases de datos de un gran tamaño. Por
último, se deberán establecer mecanismos para el manejo y reutilizaciones de
descripciones de alto nivel de sistemas (IP, Intelectual Properties Reuse) así
como elementos de entornos de síntesis mixtos hardware/sofware
(hardware/software co-design).

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
AUTOEVALUACION

1. Elabore un comentario sobre la importancia de las herramientas


CAD en su desempeño profesional.
2. Elabore un gráfico donde se muestre el dominio de herramientas
CAD.
3. Nombre los objetivos de las herramientas de síntesis y predicción.
4. Cómo funcionan las herramientas de test?

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

CAPÍTULO 6: TEST DE CIRCUITOS INTEGRADOS

LECCIÓN 1: VALIDACIÓN Y PRUEBA DE CIRCUITOS INTEGRADOS

Mientras los diseñadores emplean muchas horas en el análisis, la


optimización y el layout de los circuitos, a menudo olvidan un aspecto
importante: cuando el componente retorna de la planta de fabricación ¿cómo
podemos saber si funciona correctamente, es decir, si verifica las
especificaciones funcionales y de prestaciones? Esta cuestión es tanto más
importante por cuanto los costes asociados a la presencia de fallos en un
componente pueden ser extraordinarios para el cliente y para el proveedor;
una vez se comercializa y distribuye el componente puede resultar muy caro el
que su operación no sea correcta, y cuanto más tarde se detecte un fallo más
coste implicará su corrección. Por ejemplo, el mal funcionamiento de un
componente en la tarjeta de un televisor implicará una sustitución de la tarjeta
completa, con el enorme coste asociado a ello para el cliente, y el
coste en desprestigio para el proveedor.
Por otra parte, un diseño correcto no garantiza que el componente
fabricado sea operativo. Durante la fabricación pueden ocurrir diversos
problemas, como consecuencia de fallos en el material de base (impurezas o
dislocaciones en el cristal de silicio), o bien como resultado de variaciones en
el proceso (por ejemplo, errores fotolitográficos como el desalineamiento entre
máscaras, o mal grabado de las vías). Pueden producirse otros fallos incluso
durante las pruebas de estrés que se les realizan después de la fabricación,
en las que los componentes se exponen a pruebas de temperatura y de estrés
mecánico para asegurar su operación en un rango amplio de condiciones de
funcionamiento. El resultado de todo ello pueden ser fallos por cortocircuitos
entre conexiones y capas, o conexiones rotas.

Asegurarse de que un componente opera correctamente en cualquier


condición y ante cualquier entrada no es tarea sencilla. Si bien durante la fase
de diseño se tiene un acceso ilimitado a todos los nodos de un circuito, lo que
permite observar respuestas de forma no restringida, éste no es el caso de un
componente fabricado; entonces el único acceso al circuito ha de realizarse a
través de un número limitado de patillas de entrada/salida, por mucho que el
componente sea extremadamente complejo en términos del número de
posibles estados. A esto hay que añadir el hecho de que el equipamiento de
pruebas de circuitos integrados suele ser extremadamente caro, por lo que
cada segundo que se invierta en el test de un componente supondrá un
incremento de su precio. Hay que tener en cuenta que los equipos de test
actuales rondan los 10 millones de dólares, y en unos años su coste alcanzará
los 50-100 millones de dólares para poder hacer frente a la complejidad y
velocidad de los circuitos integrados que se avecinan.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Es conveniente, por tanto, considerar los aspectos de test desde las primeras
etapas del proceso de diseño; modificaciones mínimas en estas etapas
pueden ayudar a facilitar en gran medida la validación del componente. Esta
aproximación al diseño, introduciendo las necesidades del test como parte de
las especificaciones, se conoce como “diseño para la prueba” (DFT –
design for testability). Cualquier estrategia DFT contiene una doble
exigencia:

•Proporcionar la circuitería necesaria para que el procedimiento de prueba sea


rápido y extensivo.
•Proporcionar los patrones de test (vectores de excitación) necesarios, de
forma que la secuencia de test sea lo más corta posible, cubriendo a la vez la
mayoría de los posibles fallos.

Antes de describir las diferentes estrategias aplicables a la prueba de los


circuitos integrados, revisaremos de manera algo detallada las perturbaciones
que se producen en el proceso de fabricación de un circuito integrado.

PERTURBACIONES EN EL PROCESO DE FABRICACIÓN DE UN CIRCUITO


INTEGRADO

El proceso de fabricación de un CI no es perfecto en términos de


repetitividad de los productos fabricados, dado que como en cualquier
proceso aparecen perturbaciones y desviaciones que hacen que los circuitos
fabricados no coincidan con el circuito de referencia esperado. Estas
desviaciones pueden llegar a ser catastróficas y hacer no aprovechable el
componente. Si no existieran estas perturbaciones del proceso de fabricación
todos los componentes serían iguales y el rendimiento del proceso sería del
100%.

Las perturbaciones aparecen, bien por factores ambientales o por el manejo


de las obleas de silicio durante la fabricación, y son por naturaleza
incontrolables e inherentes a todos los pasos del proceso, provocando
alteraciones en las características físico-químicas o en la estructura del chip.
Es fundamental tratar de conocer sus causas, entender y caracterizar su
implicación y tratar de detectarlas y corregirlas tanto como sea posible. Las
principales causas son:

• Errores humanos o averías en los equipos. Estas perturbaciones suelen


afectar de manera global a todos los lotes de fabricación mientras están
presentes.
• Inestabilidades en las condiciones del proceso. Son fluctuaciones
aleatorias en las condiciones físicas en que se tratan las obleas (turbulencia
en el flujo de gases, fluctuaciones en las temperaturas o presiones, etc.).

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

• Inestabilidades de los materiales. Son variaciones en los parámetros físicos


y químicos de las sustancias o materiales usados en la fabricación (pureza y
características de los compuestos químicos, densidad y viscosidad de los
materiales, contaminaciones, etc.).
• Heterogeneidades en el sustrato y en la superficie. Son perturbaciones
locales producidas por dislocaciones cristalinas del material o imperfecciones
en la superficie.
• Alteración puntual (spot). Son perturbaciones muy locales que afectan
al proceso fotolitográfico, debidas a alteraciones de la máscara óptica o física,
o a la aparición de partículas extrañas depositadas que alteran la máscara
física.

•Deformaciones geométricas inherentes al proceso. Son alteraciones de


la geometría (dimensiones) de los componentes por desalineamiento de
máscaras, difusiones laterales o difracción de la radiación sobre las esquinas
de las máscaras.
•Alteraciones eléctricas debidas al atrapamiento de cargas eléctricas durante
la fabricación.

A partir de esta lista de causas, podemos clasificar las perturbaciones en:

• Perturbaciones globales, que afectan a todos los circuitos de una oblea o


lote, y cuyas causas son: errores humanos y averías de los equipos,
inestabilidades del proceso o los materiales y alteraciones geométricas.
• Perturbaciones locales, que afectan a un circuito concreto de la oblea y, en
general, en un punto localizado, siempre de naturaleza aleatoria. Las causas
suelen ser las alteraciones puntuales y las deformaciones geométricas.

En el proceso de control de calidad de los CI la detección de las


perturbaciones se afronta de diferente manera dependiendo de si se trata de
perturbaciones globales o locales. Las perturbaciones globales provocan
efectos catastróficos o de alteración de parámetros generalizados en todo la
oblea, por lo que se insertan en las obleas circuitos especiales orientados a
monitorizar estas perturbaciones; son las denominadas estructuras de test y
su verificación (antes de fraccionar la oblea en chips) permite comprobar si se
ha producido una alteración inaceptable de los parámetros o sólo
desviaciones aceptables, en cuyo caso la oblea es seccionada en chips.

La complejidad de detectar perturbaciones es mucho mayor en el caso de las


perturbaciones locales, ya que al afectar de manera aleatoria exige la
aplicación sistemática de un procedimiento de test a todos los circuitos.
También exige conocer la función del circuito, por lo que la participación del
diseñador se hace imprescindible en este caso.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Las perturbaciones locales pueden dar lugar a circuitos defectuosos para los
que alguna función o especificación no se verifica, lo que significa que deben
ser rechazados al no superar el test funcional (test de tipo lógico en circuitos
digitales). Pero también pueden manifestarse sólo como desviaciones de los
valores de los parámetros de los componentes alrededor del valor nominal,
por lo que el fabricante suele realizar un test de estas desviaciones
analizando el tiempo de propagación de las señales (delay testing) y el
consumo (current testing), obteniendo información de la dispersión. En los
circuitos analógicos los tests se diseñan para determinar el valor de
determinados parámetros (ganancia, ancho de banda, CMRR, etc.).

AUTOEVALUACION

1. D
escriba las exigencias de las estrategias DFT.
2. M
enciones las principales causas de perturbaciones en el proceso de
fabricación de un circuito integrado.
3. E
n qué consiste la alteración puntual (spot).
4. C
omente sobre las perturbaciones locales.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 2: PROCEDIMIENTO DE TEST

Las pruebas de fabricación se pueden clasificar en tres categorías según la


meta perseguida:

• Test diagnóstico. Se utiliza durante la depuración de un chip o tarjeta y su


objetivo es, dado un componente erróneo, identificar y localizar el fallo.
• Test funcional (test go/no go). Determina si un componente fabricado es o no
funcional.
Este problema es más simple que el del test diagnóstico, ya que la respuesta
buscada es un sí o un no. Este test se aplica a cada componente fabricado, por
lo que es exigible que sea lo más simple y rápido posible.
• Test paramétrico. Verifica el cumplimiento de las especificaciones de un
conjunto de parámetros no discretos (márgenes de ruido, retardos de
propagación o frecuencias máximas de reloj) bajo una variedad de condiciones
de trabajo, tales como diferentes temperaturas y tensiones de alimentación. Los
tests paramétricos se subdividen a su vez en estáticos y dinámicos.

Figura 6.1. Tarjeta-sonda de test de circuitos integrados.

Una prueba de fabricación típica sigue un procedimiento bastante


estandarizado que comienza con la carga de los patrones de test predefinidos
en el tester, que es el equipo que proporcionará las excitaciones y recogerá
las respuestas. Estos equipos cuentan con una “tarjeta sonda” (probe card)
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

para conectar sus entradas/salidas, bien a los pines del “dado” de la oblea
(die), o bien a las patillas del encapsulado (ver Figura 6.1).

Los patrones de test se definen en un “programa de test” que describe las


formas de onda a aplicar, la frecuencia de reloj y la respuesta esperada.
El tester recibe de forma automática cada nuevo componente y ejecuta el
programa de test, comparando las respuestas obtenidas con las esperadas; si
se observan diferencias, el componente se etiqueta como erróneo. Cuando el
test se realiza sobre la oblea sin cortar, la sonda se mueve consecutivamente
a cada dado y, una vez cortada la oblea, se descartan los marcados como
erróneos.

AUTOEVALUACION

1. En qué consiste el test diagnóstico.


2. Mencione la importancia del test funcional.
3. Cuál es el objetivo del test paramétrico.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 3: DISEÑO PARA LA PRUEBA (DFT)

ASPECTOS DEL DFT


Como ya se ha comentado, y debido al coste del equipamiento, la reducción
del tiempo de test de cada componente puede incrementar la productividad
(throughput), reduciendo el precio de los componentes. En esta sección
describiremos las aproximaciones que pueden seguirse desde las primeras
fases del proceso de diseño para conseguir esta meta.

Consideremos un circuito combinacional como el de la Figura 6.2 (a). La


corrección del circuito puede validarse de forma exhaustiva aplicando todas
las combinaciones de entrada (2N), lo que lleva asociada una dependencia
exponencial con N. La situación empeora con los módulos secuenciales, como
el mostrado en la parte (b) de la misma figura; ahora hay que tener en cuenta,
no sólo las posibilidades de combinación de entradas, sino también de los
estados (2N+M si M es el número de registros de estado). Para darnos una
idea de lo que esto significa, la modelización de un microprocesador moderno
como una máquina de estados necesita más de 50 registros; si
empleáramos un tiempo de test por patrón de 1μs, se necesitarían mil
millones de años para chequearlo exhaustivamente.

Figura 6.2. Dispositivos combinacionales y secuenciales bajo test

No siendo posible la introducción exhaustiva de todas las entradas posibles, la


aproximación al test de estos circuitos pasa por considerar las siguientes
premisas:

• La enumeración exhaustiva de patrones de entrada contiene una cantidad


sustancial de redundancia; es decir, un fallo simple queda cubierto por
múltiples patrones de entrada, de los que basta tomar uno.
• Puede conseguirse una reducción sustancial en el número de patrones de
entrada relajando la condición de tener que detectar todos los fallos. Los
procedimientos típicos de test sólo pretenden una cobertura de fallos entre el
95-99%.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Bajo estas dos premisas es posible chequear la mayor parte de los bloques
combinacionales con un conjunto limitado de vectores de entrada.

El problema de los sistemas secuenciales es diferente. El test de una


máquina de estados (FSM – finite state machine) requiere, no sólo aplicar la
excitación de entrada apropiada, sino que ha de ser llevada previamente al
estado deseado, lo que a su vez requiere aplicar una secuencia de
entradas. Una forma de abordar este problema es convertir la máquina
secuencial en combinacional rompiendo la realimentación en el curso
del test, lo que constituye uno de los conceptos claves en la metodología
scan-test. La otra aproximación es dejar que el circuito se chequee él mismo
(self-test), lo que no requiere vectores externos y permite una mayor
velocidad.

Cuando se considera la testabilidad de los diseños, dos propiedades son


importantes:

• Controlabilidad, que mide la facilidad de llevar un nodo de un circuito a


una determinada condición utilizando sólo los pines de entrada. Así, un nodo
será fácilmente controlable si puede ser llevado a la condición mediante un
solo vector de entrada; por el contrario su controlabilidad será baja si
necesita una secuencia amplia de vectores.
• Observabilidad, que mide la facilidad de observar el valor de un nodo en
los pines de salida. Un nodo con alta observabilidad puede ser monitorizado
directamente en los pines de salida; un nodo con baja observabilidad
necesita un cierto número de ciclos antes de que su estado aparezca en las
salidas.

Los circuitos combinacionales pertenecen a la clase de circuitos fácilmente


observables y controlables, dado que cualquier nodo puede ser controlado y
observado en un único ciclo. En el caso de los circuitos secuenciales estas
propiedades hay que buscarlas mediante técnicas DFT, que pueden
agruparse en tres categorías: test ad hoc, test scan-based y self-test.

Test ad hoc

Como su nombre indica, son técnicas que se aplican de forma muy


dependiente de la aplicación. Un ejemplo de estas técnicas se ilustra en
la Figura 6.3, que muestra un procesador simple con una memoria de
datos. En una configuración normal, la memoria será accesible sólo a través
del procesador (parte (a) de la figura), lo que requerirá un cierto número de
ciclos de reloj en los test de lectura y escritura de cada una de las posiciones
de memoria.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 6.3. Mejora de la testabilidad por medio de la introducción de


multiplexores
 

La controlabilidad y observabilidad pueden ser sustancialmente mejoradas


introduciendo una estructura multiplexada, como la que se ilustra en la
Figura 6.3 (b), que permite conectar la memoria directamente con el exterior.
Este ejemplo ilustra algunos conceptos importantes del diseño para la
prueba:

• A veces es conveniente introducir hardware extra sin más función


que mejorar la testabilidad. La penalización en área y prestaciones puede
estar más que justificada.
• El DFT a menudo significa proporcionar pines extra de I/O, siendo preciso
no obstante buscar el que las señales funcionales y de test compartan las
mismas patillas de entrada y salida (estructuras multiplexadas).

A pesar de ser efectivas, la aplicabilidad de las técnicas ad hoc depende de


la arquitectura y exige un conocimiento experto a veces difícil de
automatizar. Por esta razón se han introducido las aproximaciones
estructuradas que analizaremos a continuación.

Test scan-based

Una forma de evitar el problema del test secuencial es convertir todos los
registros en elementos capaces de ser cargados y leídos externamente, lo
que convierte el circuito bajo test en una entidad combinacional. Para
controlar un nodo se construye un vector apropiado, se carga en los registros
y se propaga a través de la lógica, cuyos resultados se transfieren al mundo
externo.

La conexión de todos los registros a través de un bus paralelo de test no es,


 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

sin embargo, una solución aceptable; resulta más práctica una aproximación
serie, como la que se ilustra en la Figura 6.4. En este aproximación los
registros deben soportar dos modos de operación: el normal y el de test. En
este último los registros componen una cadena como si fueran un único
registro serie de desplazamiento. El procedimiento de test se realiza
entonces de la siguiente manera:

• El vector de excitación para el módulo A (y/o el B) se introduce a través


de la patilla ScanIn, y desplazado a los registros.
 

Figura 6.4. Test serie scan-based

• Se aplica la excitación a la lógica y se propaga a la salida del módulo


lógico. El resultado es almacenado en los registros.
• El resultado se desplaza fuera del circuito a través de la patilla
ScanOut para ser comparado con los datos esperados.
La “sobrecarga” hardware que introduce esta técnica es escasa, dado que la
naturaleza serie de la cadena de chequeo reduce la necesidad de espacio
para las interconexiones.
No siempre es necesario hacer que todos los registros del diseño sean
testables. Consideremos el camino de datos en pipeline de la Figura 6.5. Los
registros de pipeline de este diseño sólo se incluyen por razones de
prestaciones (conseguir mayor velocidad segmentando el retardo de las
secciones combinacionales) y no intervienen en el estado del circuito.
Durante la generación del test el sumador y el comparador pueden
considerarse juntos como un único bloque combinacional, con la salvedad de
que durante la ejecución del test se necesitarán dos ciclos de reloj para
propagar los efectos de una excitación al registro de salida. Esta
aproximación que no tiene en cuenta todos los registros para el chequeo se
denomina partial scan, y no siempre resulta obvio decidir qué registros han
de ser testables.
 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 6.5. Chequeo de un pipeline usando partial scan (sólo se chequean


los registros sombreados)
 

AUTOEVALUACION
1. Por qué es importante la controlabilidad en la testabilidad de
diseños.
2. En qué consiste la observabilidad.
3. Describa la técnica Test ad hoc.

 
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 4: DISEÑO BOUNDARY-SCAN


 

Hasta hace poco, el problema del test sólo lo era realmente al nivel de los CIs;
el test de las tarjetas de circuito impreso quedaba facilitado por la abundante
disponibilidad de puntos de test. El cuadro ha cambiado con la introducción de
las técnicas avanzadas de encapsulado (montaje superficial o módulos
multichip), y esto ha reducido significativamente la controlabilidad y
observabilidad a este nivel, ya que el número de puntos donde pueden
hacerse medidas se ha visto muy disminuido. Este problema puede abordarse
extendiendo el concepto de test scan-based al nivel de tarjetas y
componentes.
La aproximación resultante se denomina boundary-scan (cuya traducción
podría ser “chequeo en las fronteras de los componentes”) y se ha
estandarizado para asegurar la compatibilidad entre los diferentes
proveedores (JTAG - Joint Test Action Group), dando lugar a la norma IEEE
1149. En esencia, conecta los pines de I/O de los componentes de una tarjeta
en una cadena serie de test, tal como se muestra en la Figura 6.6. La
operación de test procede de forma similar a lo descrito en el apartado previo.
 

Figura 6.6. Aproximación boundary-scan para el chequeo de circuitos


impresos
 

Built-in Self-Test (BIST)


Una aproximación alternativa a la testabilidad es hacer que el circuito genere
él mismo los patrones de test en lugar de requerir la aplicación de patrones
externos, dando lugar al built-in self-test. El formato general de un diseño
BIST queda ilustrado en la Figura 6.7, e incluye un medio de alimentar los
patrones de test y de comparar la respuesta del circuito con la secuencia
correcta.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Existen muchas formas de generar el estímulo. Las más ampliamente


utilizadas son las aproximaciones exhaustiva (todos los estímulos posibles) y
aleatoria. En este segundo caso es necesaria la aplicación de un subconjunto
aleatoriamente escogido de todos los posibles patrones de entrada,
subconjunto que debe seleccionarse para obtener una cobertura razonable de
fallos.

Figura 6.7. Formato general de una estructura BIST


Un generador de patrones pseudoaleatorios es el LFSR (linear-feedback shift
register) mostrado en la figura Figura 6.8, que es un circuito secuencial que
evoluciona a través de 2N-1 estados antes de repetir la secuencia. La
inicialización de los registros a un determinado valor “semilla” determina la
secuencia generada.

El analizador de la respuesta puede implementarse como un comparador


entre respuesta generada y esperada, almacenado esta última en una
memoria. Esta solución representa una cantidad demasiado grande de área
añadida como para ser apropiada.

Figura 6.8. LFSR de tres bits y la secuencia que genera

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Una técnica más económica consiste en comprimir las respuestas antes de


compararlas, lo que requiere una mínima cantidad de memoria.

El analizador de respuesta consistirá entonces en una circuitería que


comprimirá dinámicamente la salida del circuito bajo test, seguida de un
comparador. La salida comprimida del circuito se denomina a menudo
“signatura”, y un ejemplo de analizador de estas signaturas que comprime un
flujo de bits a través de una línea se ilustra en la Figura 6.9.

Figura 6.9. Análisis de signatura en una línea de datos de un solo bit

Se trata de un circuito que simplemente cuenta el número de transiciones (en


cualquiera de los dos sentidos) en la línea de bits, por lo que esta compresión
no garantiza que la secuencia recibida sea la correcta aunque
posea un número correcto de transiciones. No obstante, y dado que las
probabilidades de que esto ocurra son escasas, este riesgo puede asumirse.

Por último, indicar que la estrategia BIST está especialmente indicada


cuando se chequean estructuras regulares como memorias. Esta tarea no es
sencilla, dada la influencia de las vecinas en las lecturas y escrituras de una
determinada celda, por lo que hay que leer y escribir varios patrones binarios
diferentes. Con una mínima “sobrecarga” hardware, en comparación con el
tamaño de las memorias, esta aproximación al test puede integrarse en el
circuito de memoria y trabajar de forma eficiente, minimizando la necesidad de
control externo.

AUTOEVALUACION
1. Describa la ventaja del diseño Boundary-Scan
2. Haga una descripción del Test Built- in - Self.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 5: GENERACIÓN DE PATRONES DE TEST

Hasta aquí hemos ignorado la compleja tarea de determinar qué patrones


deben aplicarse para obtener una buena cobertura de fallos. El proceso era
extremadamente problemático en el pasado, cuando había de hacerse la
selección “a mano”, pero ha cambiado sustancialmente en los últimos tiempos
debido al desarrollo de las técnicas ATPG (automatic test-pattern generation).
Del concepto de fallo (fault) y de la forma de evaluar la calidad de una
secuencia de test trataremos en este apartado, comenzando por definir el
concepto de yield (rendimiento) de un proceso de fabricación, que es una
variable fundamental para cuantificar la fracción de errores no detectados en
un procedimiento de test.

Rendimiento del proceso de fabricación (yield)

Dado un proceso de fabricación en el que se producen N circuitos integrados


de los que Nv son válidos, definimos rendimiento del proceso Y (yield) como
Nv / N. La modelización del rendimiento de un proceso ha sido un tema de
investigación durante muchos años, y el
modelo más sencillo (1960) se fundamenta en una distribución de Poisson de
defectos puntuales en el área del chip (A), idéntica a lo largo de toda la
superficie de la oblea. En esta situación, y suponiendo que un defecto
puntual siempre produce un fallo en el comportamiento del chip, el
rendimiento de fabricación de un chip de área A se obtiene de la probabilidad
de que en un proceso estadístico de Poisson no haya ningún defecto, es
decir:

Y = Nv / N = exp(− Do A)

donde Do es el parámetro de la distribución que define la densidad de


defectos del proceso de fabricación. Este parámetro puede cambiar con el
tiempo, y es relativamente alto cuando el proceso es nuevo y va
disminuyendo a medida que el proceso se hace maduro.

Posteriormente se han propuesto modelos más precisos. En el SIA 1997


NTRS Yield Model and Defect Budget program se propone como modelo el de
una distribución binomial negativa del tipo:

Y = (1 + ADo / α )
−α

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

en donde α corresponde al factor de agrupamiento, que de alguna manera da


idea de la dependencia de colocación de los defectos, y que típicamente toma
un valor entre 2 y 5.

De esta expresión puede deducirse la importancia del área del chip en el


rendimiento de fabricación. Un chip con un área doble que otro no tiene
rendimiento mitad, sino aún menor; a medida que aumenta el área cae el
rendimiento exponencialmente. De esta manera, para un determinado proceso
existe un área a partir de la cual el rendimiento de fabricación obtenido es
inaceptable en términos económicos.

Existe un área de investigación en la tecnología electrónica, denominada WSI


(wafer scale integration), que persigue el hacer circuitos con un área muy por
encima de esa área límite, incluso con un área igual a toda la superficie de la
oblea. Para alcanzar esta meta se utilizan técnicas de auto-reparación
basadas en autotest y reconfiguración. De hecho, los componentes de
memoria DRAM utilizan esta técnica para acercarse o superar el valor del área
límite y no por ello reducir el rendimiento de fabricación.

Finalmente, la existencia de variabilidad en los parámetros de los circuitos


hace aparecer un nuevo concepto de rendimiento de fabricación: el
rendimiento paramétrico. Un circuito será defectuoso desde un punto de vista
paramétrico si alguno de sus parámetros (retardo, consumo, CMRR, etc.) está
fuera de un margen especificado en términos de un número máximo de
desviaciones típicas respecto al valor central. El rendimiento global de un
proceso será el producto de los dos rendimientos individuales definidos.

Modelos de fallos

Existe una amplia variedad de fallos de fabricación, que se manifiestan como


cortocircuitos entre señales o a las alimentaciones, y como nodos flotantes.
Encontrar un test para un fallo en un circuito combinacional constituye, en
general, un problema NP-completo. Peor aún, no todos los fallos de una red
pueden chequearse, lo que ocurre en los casos en los que la lógica es
redundante. En la práctica, por fortuna, una gran cantidad de circuitos lógicos
son relativamente fáciles de chequear, y ciertas estructuras complejas
disponen de tests bien conocidos.

Para evaluar la efectividad de una aproximación de test, normalmente es


necesario restringir las metas de test, seleccionando uno o varios tipos de
fallos y haciendo corresponder estos fallos con un modelo de circuito. En otras
palabras, se trata de establecer un “modelo de fallos” para el que se realizarán
los tests. Incluso con un modelo de referencia, la meta de chequear los fallos
de dicho modelo es difícil de alcanzar si se considera la posibilidad de que se
puedan producir fallos múltiples.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Una meta más modesta es hacer el test en el supuesto de fallos simples


(sólo puede fallar una puerta en cada momento), y en este supuesto
operan los tests más comunes.
La aproximación más utilizada es el modelo stuck-at, que considera sólo los
cortocircuitos con las alimentaciones: stuck-at-0 (sa0) y stuck-at-1 (sa1).
Puede objetarse que este modelo no cubre el rango completo de fallos
posibles, y que deberían incluirse los fallos stuck-at-open y stuck-at-short. De
hecho, el modelo sa0-sa1 no se identifica bien con los problemas físicos
reales del procesamiento CMOS, ya que el corto entre un nodo de señal y un
terminal de la fuente no es muy frecuente. Sin embargo, el añadir estos otros
fallos complica el proceso de generación de patrones de test, y además
muchos de dichos fallos quedan cubiertos por el modelo sa0-sa1.
Para ilustrar este hecho consideremos la puerta de carga resistiva de la
Figura 6.10, en la que todos los cortos a la fuente de alimentación se modelan
con la introducción de fallos sa0 y sa1 en los nodos A, B, C, Z y X. Esta figura
ha sido anotada con algunos fallos stuck-at-open (β) y stuck- at-short (α,γ), y
puede observarse que dichos fallos quedan cubiertos con el modelo sa0-sa1
en los distintos nodos (por ejemplo, α queda cubierto por Asa1, y β lo es por
Asa0 ó Bsa0). A pesar de esto, en ciertos casos los cortos y los circuitos
abiertos pueden producir artefactos en los circuitos CMOS que no quedan
cubiertos por el modelo sa0-sa1.

Figura 6.10. Puerta simple con fallos anotados

Por otra parte, y como ya hemos indicado, los vectores de simulación


utilizados para la verificación de los diseños cubren sólo un porcentaje de los
fallos que pueden producirse según un cierto modelo, no llegando a descubrir
la totalidad de los mismos. Utilizando estimaciones de la distribución de
errores de fabricación, se puede obtener una ecuación que relaciona los
circuitos erróneos no detectados (D) con el yield del proceso (Y) y el
porcentaje de cobertura de defectos (T):

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

D = 1 − Y 1− T

Esta ecuación significa que, siendo generosos y concediendo que nuestro


modelo de fallos cubre todos los fallos de fabricación, un valor de T del 80%
con un yield del 50% proporciona un número de circuitos defectuosos que se
dan por buenos que constituye el 13% del total. Si se incrementa la cobertura
de fallos (T) hasta el 95% este porcentaje de circuitos defectuosos no
detectados cae al 3.4%, y sólo en valores de T del 99.9% el valor alcanzado
es del 0.07%, que puede identificarse con un criterio de alta calidad en la
detección.

Los modelos de fallos referidos hasta aquí sólo verifican la funcionalidad en


sentido estático, no siendo suficientes en ciertos casos para caracterizar
completamente los defectos de un circuito integrado. Otro tipo de fallos que
también es necesario contemplar son los debidos a los retardos, que ocurren
cuando el retardo a lo largo de un camino de señal queda fuera de unos
límites especificados. Estos fallos van ganando importancia conforme la
frecuencia de operación de los circuitos se hace más y más grande. En este
sentido, los fallos en los circuitos son más probables si ciertos caminos
operan demasiado lentamente, por lo que aquellos tests que se realicen
haciendo operar al circuito a la máxima velocidad especificada (pruebas at-
speed) capturarán más defectos que los tests lentos.

Por último, ciertas herramientas de test no sólo se quedan en verificar la


existencia de un determinado estado lógico en la salida, sino que monitorizan
en ese estado el valor de la corriente de pérdidas en continua del circuito
CMOS correspondiente (IDDQ). Este valor es normalmente muy bajo, y una
elevación del mismo es indicativa de un problema potencial (un defecto en
los circuitos). Aunque esta premisa no es universalmente aceptada, esta
forma de chequeo puede mejorar la calidad del test de los circuitos CMOS y
se incorpora en diversas herramientas.

GENERACIÓN AUTOMÁTICA DE VECTORES DE TEST (ATPG)

La tarea del ATPG es determinar un conjunto mínimo de vectores de


excitación que cubra una porción suficiente del conjunto de fallos definidos
en el modelo de fallos adoptado. Un enfoque posible es comenzar con un
conjunto aleatorio de vectores de test y, mediante simulación, se determina
cuántos de los fallos potenciales se han detectado. Con los resultados
obtenidos como guía, iterativamente se pueden añadir o retirar vectores
extra. Una formulación alternativa y más atractiva se apoya en el
conocimiento de la función de una red booleana para deducir un vector de
test adecuado para un determinado fallo.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Para ilustrar el concepto, consideremos el ejemplo de la Figura 6.11,


en donde la meta es determinar qué excitación de entrada pone de
manifiesto un fallo sa0 que
ocurra en el nodo U, detectable en la salida de la red (Z). El primer
requerimiento es que la excitación a aplicar debe obligar a que dicho
fallo se manifieste (controlabilidad); en nuestro caso la única opción es
que A=B=1. A continuación, la señal errónea ha de propagarse al nodo
de salida Z, de forma que pueda ser observada, lo que se denomina
“sensibilización” del camino (path sensitizing); en el ejemplo es
necesario que el nodo X=1 y E=0. Luego el (único) vector de test para
Usa0 es: A=B=C=D=1, E=0. Este ejemplo es muy simple, pero la
deducción de un conjunto mínimo de vectores de test para circuitos con
muchos más componentes es un problema complejo objeto de grandes
esfuerzos de investigación en la actualidad.

Figura 6.11. Red lógica simple con un fallo sa0 en el nodo U

Simulación de fallos (fault-grading)

Un simulador de fallos mide la calidad de un programa de test.


Determina la cobertura de fallos, que se define como el número total de
fallos detectados por la secuencia de test dividido por dos veces el
número de nodos en la red (cada nodo puede dar lugar a un fallo sa0 y
sa1). Los resultados de estas herramientas pueden utilizarse para
eliminar redundancias y reducir el número de vectores de test.

La aproximación más común a la simulación de fallos es la técnica


“paralela”: el circuito correcto se simula concurrentemente con un cierto
número de circuitos erróneos, en cada uno de los cuales se ha
introducido un fallo. Entonces los resultados se comparan y un fallo se
etiqueta como detectado por un determinado vector de test si las salidas
son diferentes. Ésta es una aproximación demasiado simple, y la mayor
parte de los simuladores utilizan técnicas tales como seleccionar
primero los fallos con mayor posibilidad de detección, para acelerar el
proceso de simulación.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
AUTOEVALUACION

1. Describa cómo se aplica el concepto de yield en el proceso de


test de circuitos.
2. En qué consiste el modelo de fallos.
3. Mencione el objetivo del simulador de fallos.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

ACTIVIDADES COMPLEMENTARIAS DE LA UNIDAD 2

1 a) Describa, ayudándose de un diagrama, la estructura interna de una


GAL. Ponga un ejemplo de programación de una función combinacional
sencilla, p. ej.: A×B +C ×B

1 b) Describa los métodos de almacenamiento de la programación en un


dispositivo programable.

1 c) A parte de la propia lógica programable, qué otros dispositivos o


características especiales pueden incluir los dispositivos de lógica
programable actuales.

1 d) Restricciones más importantes que pueden imponerse a una


herramienta durante el proceso de síntesis.

1 e) Describa, indicando las características más relevantes, las ventajas


y los inconvenientes, las distintas alternativas para la fabricación de
circuitos lógicos integrados a medida.

1 f) ¿Para qué se utiliza en VHDL la construcción COMPONENT? ¿Cómo


se relaciona está construcción con las construcciones ENTITY y
ARCHITECTURE? Ponga un ejemplo de empleo mediante la descripción
de un multiplexor de dos entradas ( Y E1 S E2 S ) en estilo estructural a
partir de componentes NOT, AND y OR.

2 a) Realizar una completa inspección al lenguaje VHDL, sus


estructuras y aplicaciones mediante este link:

http://atc2.aut.uah.es/~rico/docencia/asignaturas/informatica/lab_org_com
p/archivos/Documentacion/VHDL/Apuntes%20VHDL%2000.pdf

2 b) Dado el siguiente bloque combinacional, obtén el respectivo


código VHDL en flujo de Datos y haciendo uso del paquete
componentes definido previamente crea la correspondiente arquitectura
estructural.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

FUENTES DOCUMENTALES DE LA UNIDAD 2

Bar-Lev. "Semiconductors and electronic devices", Prentice Hall


International, 1984

Basic Integrated Circuit Engineering: Hamilton & Howard. Macgraw Hill (1975)

Artigas, J.I. et alter, Electrónica Digital: aplicaciones y problemas con VHDL,


Prentice-Hall, 2002.

C.J. Savant, M. S.Roden y G.L. Carpenter. "Diseño electrónico", Addison -


Wesley Iberoamericana, 1992

D. de Cogan. "Design and technology of integrated circuits". John Wile y &


Sons 1990

Deschamps, J.P., Síntesis de circuitos digitales: un enfoque algorítmico, Ed.


Thomson, 2002.

Horestein, M., Microelectrónica: Circuitos y dispositivos, Prentice Hall, 1997.

Integrated Circuit Fabrication Technology: D.J. Elliot. MacGraw Hill (1989)

Introducción a la Física del Estado Sólido: C. Kittel. Reverté (1984)

Material Handbook for Hybrid Microelectronics: J.A. King. Artech House (1988)

Microelectronics. An integrated approach: R.T. Howe and C.G. Sodini. Prentice


Hall (1997)

Microelectronic Devices: E.S. Yang. MacGraw Hill (1988)

M.J. Morant. "Diseño y tecnología de circuitos integrados", Addison-Wesley


Iberoamericana, 1994

Modular series on solid state devices: Vol.1: "Semiconductor fundamentals",


R.F. Pierret, Vol.2: "The P-N junction diode", G.W. Neudeck, Vol.3: "The
bipolar junction transistor", G.W. Neudeck, Vol.4: "Field effect devices", R.F.
Pierret, Addison-Wesley Publishing Company (1990)

Pardo, Fernando, VHDL: lenguaje para síntesis y modelado de circuitos,


RA-MA, 1999.

Physics of Semiconductor devices: S.M. Sze. J. Wiley & Sons


Quick Reference Manual for Silicon Integrated Circuit Technology: Beadle, Tsai
& Plummer. A. Wiley (1985)
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Rashid, M.H., Circuitos Microelectrónicos, Thompson, 2002.

Semiconductor Devices. Physics and Technology: S.M. Sze. John Wiley & Sons
(1985)

Solid State and Semiconductor Physics: J. McKelvey. Harper & Row (1970)

ULSI Technology: C.Y. Chang and S.M. Sze. MacGraw Hill (1997)

VLSI Technology: S.M. Sze. MacGraw-Hill (1985)

VLSI Fabrication Technology: S.K. Ghandhi. John Wiley & Sons (1994)

Vapaille y R.Castagné. "Dispositifs et circuits intégrés semiconducteurs",


Ed. Dunod (1987)

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
 

UNIDAD 3
Nombre de la Unidad UTILIZACION DE DISPOSITIVOS LOGICOS
PROGRAMABLES
Introducción Los dispositivos lógicos programables ya tienen más de
25 años de existencia, y hoy en día sería inconcebible
pensar en diseños digitales que no los utilicen. En sus
comienzos estos dispositivos fueron utilizados para
sustituir diseños realizados con lógica discreta y
posteriormente para sustituir diseños full-custom cuando
los volúmenes de producción son bajos. Pero una de las
mayores ventajas de estos dispositivos, que en sus
orígenes no fue adecuadamente valorada, es la
capacidad de ser reprogramados. Es en esta flexibilidad
en donde se encuentra el mayor atractivo de esta
tecnología, permitiendo pasar un diseño de la idea al
silicio en tiempos muy cortos.
La lógica programable permite obtener velocidades
hardware con flexibilidad software. La posibilidad de
reutilización del hardware programable abarata su costo
ya que puede utilizarse exactamente el mismo
hardware para varias aplicaciones cambiando
exclusivamente su programación interna.
La tecnología de la lógica programable o
reconfigurable nos ofrece entonces un cambio de
paradigma: hardware que puede modificarse vía
software. De la misma manera que una computadora
puede escribir datos en una memoria, la misma
computadora puede grabar un determinado circuito
dentro de un chip, y cambiarlo tantas veces como se
quiera. El circuito se modifica internamente, sin la
necesidad de que haya cambios físicos externos.
El objetivo de esta unidad es explorar las distintas
alternativas que ofrece este nuevo paradigma,
incursionando en diversos aspectos del diseño con
lógica programable aplicada.
Justificación El estudiante de tecnología e ingeniería electrónica debe
conocer la importancia que tiene la aplicación de los
dispositivos lógicos programables dentro de la ingeniería,
para luego generar nuevas ideas de aplicación para suplir
necesidades del entorno. En la Unidad 3 se presentan el
diseño con lógica programable y algunas aplicaciones.
Mediante el desarrollo de las lecciones propuestas se
pretende entrenar a los estudiantes en los temas tratados
durante la unidad, de tal forma que asimile correctamente
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

los diversos contenidos y los contextualice a su entorno.


Intencionalidades • Profundizar en el conocimiento de nuevos
Formativas dispositivos lógicos programables, así como
explorar algunos campos de aplicación en los que
estos dispositivos suelen ser implementados.
Realizar diseños y llevarlos al campo real
mediante el uso de dispositivos lógicos
programables.
• Reconocer los dispositivos FPGAs, así como sus
principales marcas comerciales.
• Conocer la arquitectura de los DSPs, sus tipos y
criterios de selección.
• Estudiar diferentes casos de aplicación de
dispositivos lógicos programables específicamente
en los campos de telefonía móvil y control de
variables.

Denominación de • Capítulo 7: Diseño con Lógica Programable.


capítulos • Capítulo 8: Otros dispositivos programables.
• Capítulo 9: Otras aplicaciones.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

CAPÍTULO 7: DISEÑO CON LOGICA PROGRAMABLE

LECCIÓN 1: FPGAs (FIELD PROGRAMMABLE GATE ARRAY)

En 1984 Xilinx desarrolla un nuevo dispositivo que denomina Logic Cell


Array (LCA), basado en un concepto diferente a los PLDs. Los LCAs están
compuestos de una gran cantidad de celdas lógicas cuya función es
programable, dichas celdas pueden ser interconectadas mediante
conexiones programables de varios tipos. Estos dispositivos y sus desarrollos
posteriores dan origen a las hoy llamadas FPGAs.

Las FPGAs están basados en una estructura regular de bloques de


procesamiento e interconexiones programables, rodeadas de bloques
dedicados a entrada salida (ver Figura 7.1)

Figura 7.1. Esquema interno de una FPGA

Las interconexiones usualmente están organizadas en forma de una malla


jerárquica, disponiéndose de caminos rápidos entre bloques contiguos,
caminos verticales y caminos horizontales. De esta forma los elementos de
procesamiento forman una isla rodeada de líneas de interconexión.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Los elementos de procesamiento pueden realizar funciones simples de un


bajo número de entradas para dar como resultado una única salida. Esos
bloques o celdas internamente están compuestos por una Look-Up Table
(LUT) más algún elemento de memoria o flip-flop. El tamaño de la LUT más
utilizado es de cuatro entradas, que permite implementar cualquier función
lógica de cuatro entradas, o lo que es lo mismo una tabla de verdad de 16
renglones.

Hay varias investigaciones que muestran que las LUTs de cuatro entradas dan
buenos resultados en cuanto a su eficiencia en área y velocidad; y este
resultado ha sido utilizado comercialmente.

Los bloques de procesamiento de las FPGAs comerciales usualmente son un


poco más complejos que una LUT más un FF, permitiendo mayor flexibilidad.
Algunas de la características buscadas son la posibilidad de realizar funciones
combinatorias de mayor número de entradas, la posibilidad de realizar bloques
aritméticos con acarreo, la posibilidad de aprovechar un bloque que ha
sido parcialmente utilizado, permitiendo por ejemplo usar por un lado la
salida de la función combinatoria y el elemento de memoria por separado, o la
incorporación de un mayor número de elementos de memoria por bloque.

Usualmente estos bloques de procesamiento se agrupan, los bloques que


pertenecen a un mismo grupo o cluster tienen interconexiones locales, esto
redunda en una mayor velocidad de interconexión y en el ahorro de recursos
globales. El tamaño de estos clusters es una característica que influye en la
performance de una FPGA. En dispositivos comerciales es usual ver clusters
grandes, compuestos por entre 8 y 10 elementos lógicos. Se han hecho varios
estudios sobre el efecto del tamaño de los clusters en el área y la velocidad de
una FPGA, así como su interacción con el tamaño de las LUTs, los resultados
muestran que los valores óptimos están entre 4 y 10.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 7.2. Estructura de un bloque de procesamiento (Basic Logic Element,


BLE) y un Cluster

El tamaño de los clusters también influye en las herramientas de CAD, el


tiempo de compilación de un diseño aumenta con clusters pequeños.

Las interconexiones ocupan un lugar muy importante dentro de los integrados,

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

ya sea en términos de área como en los retardos producidos.

Se puede estimar que el porcentaje del área utilizado para las interconexiones
está entre 70 y 90% del área total del chip. Las relaciones de área entre
lógica, interconexiones y memoria de configuración pueden verse en la Figura
7.3

Figura 7.3. Relación interna de áreas dentro de un FPGA

Si bien las primeras FPGAs tenían una estructura simétrica tipo isla, con
bloques lógicos y caminos de interconexión verticales y horizontales
rodeándolos, las FPGAs actuales tienen estructuras jerárquicas tanto en los
bloques lógicos, que se agrupan en clusters como ya fue mencionado, como
en las interconexiones que están organizadas en caminos de distinta longitud
y retardo.

AUTOEVALUACION

6. Realice un bosquejo del esquema interno de una FPGA.


7. Defina qué es una LUT.
8. Comente acerca de la relación interna de áreas dentro de un
FPGA.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 2: ESTRUCTURA DE FPGAs

Un ejemplo del uso de interconexiones programables controladas por


celdas de SRAM puede verse en la Figura 7.4. Se utilizan bits de SRAM para
controlar el estado de transistores de paso y líneas de control de multiplexores
.

Figura 7.4. Interconexiones programables en una FPGA

Los bloques de interconexión (switch blocks) se intercalan entre los Bloques


lógicos.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 7.5. Estructura de bloques de interconexión y bloques lógicos

Figura 7.6. Punto de interconexión formado por 6 transistores de paso

Seis transistores de paso conforman el punto de interconexión, dichos


transistores son manejados por las celdas de memoria de configuración.

Existen diversas arquitecturas de interconexión, siendo usual contar con


caminos de diferente longitud

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 7.7. Segmentos de interconexión (Xilinx XC4000)

Usualmente hay tres tipos diferentes de interconexiones: Interconexiones


directas entre CLBs, interconexiones de propósito general que atraviesan
el chip en direcciones horizontales y verticales, y líneas largas que son
reservadas para distribuir señales criticas, típicamente señales de reloj.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 7.8. Detalle de los diferentes tipos de interconexiones

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 7.9. Detalle de las interconexiones de una FPGA

AUTOEVALUACION

1. Usualmente hay tres tipos diferentes de interconexiones


en una FPGA. Menciónelas
2. Muestre cómo se realizan las interconexiones directas entre
CLBs.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 3: NUEVAS INCORPORACIONES A LA ARQUITECTURA


BÁSICA de FPGAs

El desarrollo de las FPGAs ha sido constante desde sus inicios hasta hoy; los
fabricantes han incorporado innovaciones que manteniendo la generalidad de
estos componentes, los hacen adecuados para un rango cada vez más
amplio de aplicaciones. A continuación veremos una descripción de las
diversas características que incorporan las FPGAs modernas.

Memoria

Quizá la primera incorporación a la estructura básica de las FPGAs es la


inclusión de bloques de memoria RAM. Estos bloques están disponibles para
el diseñador, y son configurables en el tamaño y el ancho de palabra. Pueden
ser utilizados para almacenamiento de datos o para implementar funciones
combinatorias complejas, aunque son más lentos que las celdas estándar. De
acuerdo a la configuración pueden ser utilizados como RAM dual port, FIFOs,
o RAM sincrónica.

Bloques aritméticos

El incremento en aplicaciones de procesamiento digital de señales llevó a la


incorporación en hardware de bloques aritméticos. Estos bloques implementan
funciones multiplicador-acumulador (MAC) con enteros.

Microprocesadores

Cuando se utilizan FPGAs para realizar funciones de cálculo es usual que


trabajen en conjunto con un microprocesador compartiendo las tareas. Existen
varios ejemplos de FPGAs que incorporan microprocesadores internamente.
Estos microprocesadores pueden estar en hardware como hardcores, es decir
que dentro del chip hay un bloque de silicio específico
para el microprocesador; o bien como parte de los circuitos programados en la
FPGA como softcores o IP cores.

Ejemplos de hardcores pueden verse en FPGAs de Xilinx Virtex II Pro y Virtex


4, que incorporan hasta cuatro cores de PowerPC 405 o en la familia Excalibur
de Altera (aunque Altera ya no está promoviendo el uso de estos dispositivos
para nuevos diseños).
Hay una enorme cantidad de ejemplos de softcores, pero para seguir en la
línea de los fabricantes de chips mencionaremos los Pico y MicroBlaze de
Xilinx y el NIOS II de Altera.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Manejo de relojes

Al aumentar el tamaño y la complejidad de los chips se hace necesario


proveer una buena distribución interna de las líneas de reloj globales
que no introduzcan diferencias de retardo entre distintas partes del
dispositivo. Es así que se incluyen líneas especiales rápidas para la
distribución de los relojes bloques específicos de control de señales de reloj y
PLLs para generar internamente diferentes frecuencias a partir de una señal
externa.

Entrada-salidas específicas

Para que las FPGAs puedan manejar directamente líneas de alta velocidad sin
necesidad de transceivers externos se incorporan a los bloques de IO
transceivers programables que cumplen con varios de los estándares usados,
ya sea en single-ended o diferenciales, los mismos llegan a manejar señales
de varios giga bits por segundo.

Conversores serie-paralelo de alta velocidad

Asociado con el item anterior, para poder trabajar con señales de alta
frecuencia, es necesario incorporar serializadores o conversores serie paralelo
de alta velocidad.

Facilidades de test on-chip

Existen diversas estrategias que facilitan la prueba y el debugging de los


diseños, estas van desde la posibilidad de la lectura o escritura de los
registros y de las memorias internas vía JTAG, hasta la incorporación de
analizadores lógicos integrados en el chip.

AUTOEVALUACION

1. Mencione la forma como son utilizados los bloques de memoria


en un FPGA.
2. Qué se conoce como softcore?.
3. Por qué se hace necesario incorporar serializadores o
conversores dentro de un FPGA.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 4: EJEMPLOS DE FPGAs COMERCIALES

Como ejemplos finales de FPGAs modernas veremos esquemas de las


estructuras internas de Stratix II de Altera y las series Virtex II y Virtex 4 de
Xilinx.

Altera Stratix II

Figura 7.10. Diagrama de bloques del Stratix II

En el diagrama de bloques puede verse la estructura del Stratix II que


incluye diferentes niveles de memorias intercalados con los LABs, y bloques
DSP.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 7.11. Estructura de un LAB del Stratix II

Figura 7.12. Diagrama de un Adaptive Logic Module (ALM) del Stratix II

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Lo más novedoso del Stratix II es que su arquitectura está basada en los


llamados Adaptive Logic Modules (ALM), los cuales están formados por una
LUTs adaptable, dos sumadores, segmentos de carry-chain, dos flip-flops, y
lógica adicional. La principal característica de estos elementos es que la LUT
puede adquirir diversas configuraciones que van desde una única tabla de 7
entradas a dos LUTs de cuatro entradas trabajando en forma independiente,
como puede verse en el esquema de la Figura 7.13.

Figura 7.13. Diferentes configuraciones de un ALM

Figura 7.14. Bloque lógico de DSP

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 7.15. Elemento de IO del Stratix II

Xilinx Virtex II y Virtex 4

A continuación se muestran los diagramas de bloques de dos integrados de la


familia Virtex, dado que estos chips tienen arquitecturas muy similares serán
analizados en conjunto. Comenzamos viendo la figura Figura 7.16 que muy
claramente muestra la jerarquía de la estructura del Virtex II.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 7.16. Arquitectura jerárquica de una Virtex II

Cada slice del Virtex II posee dos LUTs, lógica de control de acarreo y dos
Flip- Flops. En la figura siguiente puede verse que las LUTs pueden
configurarse para representar funciones lógicas, como memorias o como shift-
registers.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 7.17. Configuración de un Slice de un Virtex II

Esta es una diferencia entre el Virtex II y el Virtex 4; en el Virtex 4 la


arquitectura pasa a tener dos tipos de Slices, los que pueden alternar entre
función combinatoria o memoria; y aquellos que sólo pueden ser utilizados
como funciones lógicas.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 7.18. Diferentes tipos de slices en el Virtex 4

Figura 7.19. Virtex 4 vista simplificada de un sílice


 
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

AUTOEVALUACION

1. Cuál es la novedad de la familia de los Stratix II?


2. Mencione los principales bloques componentes de la
arquitectura de la familia Virtex II.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 5: HERRAMIENTAS DE SOFTWARE (EDA, CAE, CAD)

Primero un poco de terminología, las herramientas CAD (Computer-Aided


Design) se definen como aquellas que realizan funciones de place and
route, y layout; usualmente el término CAE (Computer-Aided Engineering) se
aplica mayormente a simulación, síntesis y análisis de tiempos; aunque es
usual utilizar ambos términos en forma intercambiable. El término EDA
(Electronic Design Automation) engloba las dos definiciones anteriores .

Para diseñar con dispositivos lógicos programables es absolutamente


necesario el uso de un conjunto de herramientas software de buena calidad,
confiables y de fácil utilización. Estas herramientas son esenciales, tanto a
nivel industrial como en la formación del ingeniero, en la medida que la
integración progresa y ya no se puede acceder a los elementos básicos del
hardware.

Figura 7.20. Niveles de especificación de un diseño y los diferentes procesos


involucrados

Las etapas de un proceso típico de diseño, sin las realimentaciones de


simulación y verificación, pueden verse en la Figura 7.20.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

La síntesis de alto nivel es el proceso de compilar una descripción


comportamental dada en un lenguaje de alto nivel en una descripción
estructural dada a nivel de transferencia de registros (RTL register-transfer
level). Este proceso generalmente se hace en forma manual, pero es
incipiente el desarrollo de herramientas y lenguajes de alto nivel, que veremos
con más detalle.

La síntesis lógica es el proceso de convertir una descripción RTL en un netlist


optimizado. El netlist es una descripción del circuito a nivel de compuertas y
registros y las interconexiones entre esos elementos. Las tareas realizadas en
el proceso de síntesis incluyen la optimización de la lógica combinatoria y la
optimización de la lógica secuencial. Dichas optimizaciones pueden incluir
diferentes requerimientos cómo el área del chip utilizada, la velocidad o el
consumo.

El mapeo tecnológico se refiere a la mapeo de un determinado netlist genérico


en las primitivas o bloques disponibles en una determinada tecnología.
En el caso de FPGAs, por ejemplo, se deberán mapear las funciones
lógicas en las LUTs disponibles en la familia utilizada. Debe hacerse algo
similar para los registros, pasando de un registro genérico a los tipos de
registro disponibles en la tecnología.

Las herramientas utilizadas deben contar también con la capacidad de


simular y verificar el diseño en diferentes niveles y etapas del mismo.
Si se trabaja con lenguajes de especificación hardware, por ejemplo VHDL,
la forma usual de simular es construir un test bench o banco de pruebas. El
test bench se especifica también en VHDL e incluye como un componente el
diseño en cuestión, generándole entradas y chequeando sus salidas. Un
simulador VHDL es capaz de ejecutar test-benches disponiendo,
normalmente, de un conjunto de utilidades que facilitan la depuración de los
modelos y la revisión de resultados.

Las primeras etapas pueden hacerse con herramientas genéricas


independientes de los fabricantes de dispositivos programables, pero las
etapas de placement y routing requieren la utilización de herramientas
propietarias.

EVOLUCIÓN HISTÓRICA

La evolución de las herramientas de EDA se dio en conjunto con la evolución


de los dispositivos lógicos programables y de las computadoras.

Las primeras formas de trabajar con PLDs implicaban la traducción de un


diseño a un formato de tabla de verdad llamado H&L. Posteriormente aparece
el PALASM, un programa escrito en FORTRAN que permitía convertir un
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

diseño descripto en ecuaciones booleanas, en archivos de


programación de dispositivos PAL de Monolithics Memories (MMI).

En esta época no solo eran importantes las herramientas software, sino


también los equipos de programación de dispositivos, que recién se estaban
generalizando. Un salto importante fue la introducción del estándar 3 de
JEDEC, propuesto en 1980. Este estándar define un formato de archivo
común independiente del fabricante del dispositivo y del fabricante del
programador.

En los ochentas aparecen dos lenguajes que permiten un mayor nivel de


abstracción en la expresión de los diseños, y son independientes de los
fabricantes de chips, estos son el ABEL (Advanced Boolean Expression
Language) y el CUPL (Common Universal tool for Programmable Logic). Estas
herramientas además de definir un lenguaje para la entrada de diseños,
disponían de paquetes de minimización booleana, síntesis de máquinas de
estados y simulación.

A mediados de los ochentas aparecen los programas de diseño de Altera


A+PLUS y un conjunto de herramientas suministradas por Xilinx para sus
nuevos dispositivos. Como los dispositivos de Xilinx tenían una arquitectura
diferente sus herramientas incluían place & route automático para un eficiente
uso de los recursos disponibles.

La siguiente generación de herramientas software incluyó la posibilidad de


especificar diseños mediante entrada esquemática, haciendo más fácil la
migración de diseños realizados previamente con circuitos lógicos de las
familias TTL y CMOS.

Los lenguajes de especificación hardware (HDL Hardware Description


Language)

Si bien ABEL y CUPL ofrecían una herramienta de diseño independiente de


los fabricantes de circuitos, estos lenguajes estaban muy atados a la
implementación del diseño en un PLD. A principios de los ochentas aparecen
dos lenguajes de alto nivel pensados para especificar el comportamiento del
hardware digital, estos son VHDL y Verilog. La importancia de estos lenguajes
es su estandarización por el IEEE, VHDL tiene su primer estándar en 1987, y
luego es modificado en 1993, 2000 y 2002 y Verilog varios años después,
recién pasa a ser estándar en 1995 y es revisado en 2001.

VHDL es un lenguaje diseñado para describir sistemas electrónicos digitales


cuyo origen está en un programa del gobierno de Estados Unidos Very High
Speed Integrated Circuits (VHSIC) iniciado en 1980. A lo largo de ese
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

proyecto resultó clara la necesidad de contar con un lenguaje estándar que


pudiera describir la estructura y la funcionalidad de un circuito digital y el
resultado fue el desarrollo del VHSIC Hardware Description Language (VHDL).

Verilog HDL tuvo un origen diferente, arrancó en sus comienzos como un


lenguaje propietario desarrollado en 1983 por Gateway Design Automation,
compañía que posteriormente fue adquirida por Cadence Design System. A
comienzos de los ’90C adence abre la especificación del lenguaje y promueve
su estandarización por el IEEE que se logra en 1995.

Ambos lenguajes, si bien diferentes, poseen características similares.


Permiten describir la estructura de un diseño y su partición en bloques
jerárquicos, así como la interconexión de dichos bloques. Además admiten
describir la funcionalidad de esos bloques independientemente de su
implementación y la posterior simulación de los mismos y del sistema
completo antes de su implementación. Los HDLs, a diferencia de los lenguajes
de programación usuales, están especialmente diseñados para permitirle a los
diseñadores modelar la concurrencia de procesos inherente a los elementos
hardware.

El salto cualitativo en las herramientas EDA fue a fines de los ochentas


cuando aparecieron los primeros programas que incluían síntesis lógica
automática. Hasta ese momento los HDLs eran utilizados para especificar,
simular y verificar los diseños, pero éstos debían ser manualmente traducidos
a su implementación con compuertas. La síntesis lógica cambió radicalmente
la metodología de diseño, con una especificación a nivel de transferencia de
registros (RTL, Register Transfer Level), hecha en algún HDL, la herramienta
extrae en forma automática el detalle de compuertas, flip-flops e
interconexiones. Esto permite describir circuitos digitales complejos
exclusivamente en alto nivel, dejando los detalles de implementación a
herramientas automatizadas. Los lenguajes pasan entonces a tener una mayor
importancia en el diseño digital.

Cabe mencionar que la codificación RTL realizada en un lenguaje HDL


requiere utilizar un subconjunto de dicho lenguaje, ya que como los lenguajes
HDL no fueron específicamente diseñados para síntesis, sino que están
pensados para especificar y simular hardware, existen en ellos varias
sentencias o expresiones que no son sintetizables en hardware.

Las etapas de alto nivel de un diseño, síntesis lógica y mapeo, pueden ser
realizadas con herramientas independientes del fabricante del circuito
programable, pero las etapas de bajo nivel, placement y routing deben
utilizar las herramientas de los fabricantes de FPGAs, ya que la información
de programación de las mismas es propietaria.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 7.21. Proceso típico de diseño con un HDL

La Figura 7.21 muestra el proceso típico de diseño con sus diferentes etapas.
Los bloques sombreados son las etapas de procesamiento, los bloques sin
sombrear representan el nivel del diseño.

Cuando el diseño va a ser implementado en una FPGA la herramienta debe


realizar el mapeo en las celdas de la FPGA, esto significa que las
herramientas deben convertir el diseño o las ecuaciones booleanas en el tipo

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

de LUTs utilizadas en las FPGAs. Hay varias investigaciones que estudian los
algoritmos necesarios para realizar este mapeo en LUTs y sus optimizaciones.

Para el caso de FPGAs modernas que incluyen bloques de RAM, bloques


aritméticos u otros bloques dedicados, es necesario que las herramientas EDA
los sepan utilizar adecuadamente.

Posteriormente resta realizar el placement y routing dentro de la FPGA. Esto


significa elegir en qué celdas se ubica el diseño y elegir los caminos de
interconexiones entre esas celdas.

HERRAMIENTAS DE ALTO NIVEL

A medida que los diseños aumentan su complejidad aparece la necesidad de


utilizar herramientas de mayor grado de abstracción para poder desarrollar
aplicaciones cumpliendo con las exigencias de productividad. Es claro que
cuando se aumenta el nivel de abstracción se gana en tiempo de diseño, pero
se pierde en la optimización del mismo.

Actualmente todavía la mayoría de los diseños se realizan utilizando lenguajes


de descripción hardware, principalmente VHDL y Verilog, y existen estrategias
especificas para manejar diseños de gran tamaño. La principal es partir el
diseño en bloques más pequeños y diseñar adecuadamente la jerarquía de
estos bloques así como las interfaces de los mismos. Muchos de estos
bloques pueden estar pre-hechos como IP cores, o diseñarse una vez y
reutilizarse.

Las cosas se complican aún más porque hay que describir el


comportamiento esperado del sistema para poder verificar los bloques
diseñados. Si bien los HDLs permiten esto, no son los lenguajes más cómodos
para ello. Si además el sistema incluye un microprocesador y por lo tanto
software corriendo en él, entonces se plantea la idea de contar con un
lenguaje único que sirva tanto para el hardware que va estar implementado en
una FPGA como para el software del microprocesador.

Otro punto importante cuando se piensa en diseños que utilizan plataformas


reconfigurables como aceleradores de cálculo, es que la mayoría de los
algoritmos están especificados y probados en lenguajes de programación tales
como C o Matlab y no en HDLs.

Ha habido varios esfuerzos en incorporar lenguajes de programación al diseño


con FPGAs, el problema principal es que estos lenguajes están concebidos
para implementaciones secuenciales y no para representar el paralelismo
inherente al hardware.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Si bien hay una gran cantidad de lenguajes de programación que han sido
utilizados para sintetizar hardware en forma más o menos automática, el más
utilizado es el C.

Esto se debe al grado de difusión que tiene el C, y pueden mencionarse


varios ejemplos de traductores de C a HDL. Las dificultades que se presentan
hacen que siempre estos traductores no incluyan la sintaxis completa del C
sino un subconjunto del lenguaje, y que además introduzcan diversas
modificaciones o ampliaciones al C para representar adecuadamente el
paralelismo. Como ejemplos concretos podemos mencionar: HandelC,
Trasmogrifier C, Streams-C. Impulse C.

Han habido varios esfuerzos para compilar directamente desde Matlab a


hardware, como muchos algoritmos se especifican directamente en Matlab
esta idea es muy atractiva. Para algunas aplicaciones los resultados del
hardware generado automáticamente son cinco veces más lentos y ocupan
cuatro veces más celdas que los diseños hechos manualmente; pero se
presentan otros casos en donde las velocidades de los diseños son
comparables, aunque se mantienen las diferencias de tamaño. Demás está
decir que los tiempos de diseño se reducen enormemente, aunque los autores
de las publicaciones no utilizan herramientas comerciales. SystemC es otra
alternativa de descripción de alto nivel, está implementado como clases de
C++, y permite la definición de hardware a varios niveles de abstracción.

Otro punto interesante es la utilización de lenguajes de programación para


realizar la verificación de un diseño. En lugar de diseñar un test-bench en HDL
es posible describirlo en un lenguaje de programación. Se han desarrollado
módulos de software que permiten enlazar simuladores HDL con paquetes
clásicos de simulación de sistemas, un ejemplo es el vinculo entre Matlab y
Simulink con ModelSim (simulador HDL). Esto permite desarrollar el entorno
de pruebas (test benches) en un lenguaje de alto nivel, y “conectar” entradas y
salidas hacia bloques de hardware descritos en HDL. Otra aplicación es la
integración de bloques hardware descritos como HDL en modelos a escala de
sistema. [ver mathworks]

AUTOEVALUACION

1. Mencione la diferencia entre CAD y CAE.


2. A qué se le define como netlist?
3. Es posible utilizar herramientas independientes del fabricante en el
proceso de placement y routing? Justifique
4. Comente sobre las alternativas de herramientas de alto nivel en la
programación de FPGAs.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

CAPÍTULO 8: OTROS DISPOSITIVOS PROGRAMABLES

LECCIÓN 1: FPAA (FIELD PROGAMMABLE ANALOG ARRAY)

Los circuitos análogos programables se denominan en la literatura FPAA


(Field Progammable Analog Array). Estos circuitos son el equivalente
análogo de los circuitos digitales FPGA (Field Programmable Gate Array).
Un circuito análogo programable es un circuito que puede ser configurado
para implementar una variedad de funciones análogas; el circuito consta de
un arreglo de bloques análogos configurables (Configurable Analog Block:
CAB), una red de interconexión programable y un registro para almacenar los
bits de la configuración de la FPAA. En la Figura 8.1 se muestra el diagrama
de bloques para un circuito FPAA.
De acuerdo a las características impuestas por el fabricante del FPAA, la
red de interconexión proporciona la ruta de interconexión entre los bloques
CABs, o entre los bloques de entrada y salida (I/O). El registro con las
cadenas de bits almacena la información para configurar los bloques CABs.

Figura 8.1. Diagrama de bloques para un FPAA

Terminología

Debido a que existen diferentes fabricantes de FPAAs, una nueva terminología


 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

está siendo usada. Actualmente, la terminología más utilizada es la


siguiente:

- Field Programmable Analog Array (FPAA): Un circuito


integrado, el cual puede ser programado para implementar circuitos
análogos, usando bloques análogos flexibles e interconexiones.
- Field Programmable Mixed Analog-Digital Array (FPMA): Un
circuito integrado, el cual contiene un FPAA y un FPGA, es tan flexible como
los bloques configurables y se puede programar para implementar circuitos de
señal mixta.
- Electrically Programmable Analog Circuit (EPAC): Un circuito
FPAA versión de IMP Inc; EPAC es una marca registrada del fabricante IMP
Inc.
- Field Programmable Analog Device (FPAD): Es el nombre que
utiliza el fabricante Zetex para un FPAA.
- Totally Reconfigurable Analog Circuit (TRAC): Nombre para
los circuitos FPADs fabricados por Zetex.
- Reseau Analogique Programmable (RAP): Nombre en francés para un
FPAA.
- Configurable Analog Block (CAB): Celda analógica básica y
programable en un FPAA.
- Field Programmable System-On-a-Chip (FIPSOC): Un chip que
integra un FPMA y un microcontrolador, este chip es comercializado por la
compañía SIDSA.

Evolución de los FPAAs

Con la aparición y evolución de los circuitos digitales programables


(Programmable Logic Devices: PLDs), surgió la necesidad de desarrollar
circuitos integrados que permitieran programar e implementar circuitos de
señal mixta en un solo chip: es por ello que desde la década del ochenta hasta
el presente, varias compañías y grupos de investigación (la mayoría de ellos
pertenecientes a las universidades) han desarrollado y anunciado sus
productos tal como se muestra en la Tabla 8.1.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Año Compañías y Grupos de Investigación

1988 Sivilotti (Caltech)

1990 Lee & Gulak (University of Toronto)

1990 Kawasaki Steel

1990 Pilkington Microelectronics

1991 Lee & Gulak (University of Toronto)

1994 IMP, Inc.

1994 Pierzchala & Perkowski (Portland State


University)
1994 Chang et al (University of Nottingham)

1996 Embabi et al (Texas A&M University)

1996 Zetex Semiconductors Ltd.

1997 Guadet & Gulak (University of Toronto)

1997 Futura et al (Spain)

1997 Motorola

1998 Motorola e IMP, retiradas del mercado

1999 IspPAC de Lattice

1999 SIDSA FIPSOC (anunció el nuevo chip)

2000 Anadigm

Tabla 8.1: Evolución de los FPAAs

FPAAs Comerciales

Actualmente, tres compañías fabricantes de semiconductores


producen circuitos FPAAs. En la Tabla 8.2 se muestran los FPAAs
comerciales.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Fabricante Modelo Tecnología Ancho de


banda
IspPAC10 550 kHz (G=1)
IspPAC20 330 kHz
(G=100)
Lattice IspPAC30 UltraMOS 1.5 MHz
tiempo
IspPAC80 500 kHz
continuo
IspPAC81 75 kHz
IspPAC -
POWR1208
TRAC20 Bipolar 4 MHz
Zetex tiempo
TRAC20LH 12 MHz
continuo
Anadigm AN10E40 Switched 5MHz
capacitor
AN120E04 2MHz

AN220E04

Tabla 8.2: FPAAs comerciales

AUTOEVALUACION

1. Comente la diferencia entre FPGA y FPAA.


2. Cuál fue la motivación para generar FPAAs?
3. Menciones dos familias comerciales de FPAAs y sus
características de ancho de banda.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 2: FAMILIAS DE FPAAs

CIRCUITOS FPAAs DE LATTICE

El elemento funcional activo básico de los circuitos FPAAs de Lattice es el


PACell (Programmable Analog Cell) que, dependiendo de la arquitectura
específica del circuito IspPAC, puede ser un amplificador de instrumentación,
un amplificador-sumador u otra etapa activa elemental.

En todos los circuitos IspPAC, las celdas programables PACells™ se


combinan cuidadosamente para formar macroceldas análogas o PACblocks.
En este caso, no se requiere ningún componente externo, lo cual flexibiliza la
implementación de funciones análogas básicas tales como: filtrado con
precisión, suma o diferencia, ganancia o atenuación y conversión. En la
Figura 8.2, se muestra el diagrama de bloques básico de un PACblock.

Figura 8.2. Diagrama de bloques de un PACblock

Los circuitos IspPAC funcionan con una sola fuente de alimentación a 5V y


ofrecen una arquitectura que es completamente diferencial desde la entrada
hasta la salida. Esto duplica la eficiencia del rango dinámico versus I/O
“single-ended” (voltaje de entrada). También, produce un funcionamiento
mejorado con respecto a las especificaciones tales como: CMR (Común-Mode
Rejection), PSR (Power-Supply Rejection) y THD (Total Harmonic Distortion).
Al mismo tiempo, la operación “single-ended” se acomoda fácilmente.
La metodología de diseño de programación en el sistema (In-System
Programmable: ISP) de Lattice permite simplificar el proceso de diseño y
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

acelerar la implementación del circuito análogo.

En este caso, la herramienta de diseño PAC-Designer suministra al usuario


una ventana con una interfaz gráfica para especificar fácilmente el
diseño usando librerías y macros generadores de circuitos.
La Tabla 8.3 presenta los diferentes circuitos de la familia IspPAC y la
respectiva área de aplicación de cada uno.

CIRCUITOS FPADs DE ZETEX

Los circuitos FPADs de Zetex son TRAC020 y TRAC020LH (versión


del TRAC020 para baja potencia).

En la Figura 8.3, se muestra el diagrama de bloques básico del TRAC020.

Circuito Función Encapsulado

IspPAC-POWR1208 Control y monitoreo de 44-TQFP


fuentes de potencia

IspPAC10 Acondicionamiento de
28-SOIC
señal
28-PDIP

IspPAC20 Lazo de control y 44-PLCC


monitoreo 44-TQFP

IspPAC30 Versatilidad análoga 24-SOIC


front-end 28-PDIP

Ultra-flexible, tiempo
continuo, filtro paso bajo
16-SOIC
IspPAC80 de 5to orden con una 16-PDIP
frecuencia de corte
programable en el
rango de 50 kHz – 750
Ultra-flexible, tiempo
continuo, filtro paso bajo
16-SOIC
IspPAC81 de 5to orden con una 16-PDIP
frecuencia de corte
programable en el
rango de 10 kHz – 75 kHz

Tabla 8.3 Circuitos FPAAs de la familia IspPAC

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 8.3. Diagrama esquemático del TRAC020

El circuito TRAC se basa en una única celda análoga configurable, la cual es


flexible a la programación para llevar a cabo diferentes funciones tales como:
adición, negación, logaritmo, antilogaritmo, amplificación, diferenciación,
integración, rectificación, y seguidor de voltaje. Estas funciones son
combinadas para implementar un sistema de procesamiento de señal o
acondicionamiento de señal. Ellas también facilitan el uso de las técnicas
estructuradas de diseño matemático. En este caso, no es necesario entender
muy bien la estructura de las funciones análogas, solo es necesario entender
su función a nivel de sistema.

Las funciones básicas pueden ser configuradas en cada una de las veinte
celdas interconectables entre sí para facilitar el diseño y configuración de
cualquier circuito análogo en el chip; es decir, la configuración es realizada
digitalmente mediante un registro de desplazamiento, mientras la señal
permanece en el dominio análogo todo el tiempo, por lo tanto se evitan los
errores de muestreo y retardos de procesamiento hallados en
soluciones equivalentes con DSP (Digital Signal Processing).

Adicionalmente como un complemento a los TRACs, el grupo FAS (Fast


Analog Solutions) de Zetex tiene en el mercado el circuito CASIC
(Computational Application Specific Integrated Circuit) ZXF36Lxx, el cual
contiene 36 celdas análogas las cuales se pueden configurar usando una
máscara para la metalización.

CIRCUITOS FPAAs DE ANADIGM

El FPAA AN10E40 de Anadigm, es un dispositivo adecuado para el diseño e

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

implementación de diferentes circuitos análogos basados en usar la técnica

de diseño SC (switched-capacitor). Este circuito dispone de macros llamados


Ipmodules, los cuales implementan las funciones de amplificación, suma,
integración, diferenciación, comparación y rectificación, fuentes de DC
(voltajes de referencia), filtros, osciladores senosoidales, y circuitos S/H
(Sample and Hold) y T/H (Track and Hold), es decir, puede ser usado en
diversas aplicaciones tales como: filtrado de señales, implementación de
circuitos de control, generadores de señal, etc.

El chip se divide en 20 bloques análogos configurables (Configurable Analog


Block: CAB), cada uno con un amplificador operacional, cinco bancos de
capacitores e interruptores tal como se ilustra en la Figura 8.4.

Figura 8.4. Diagrama de bloques básico de un CAB.

Cuatro de los bancos de capacitores se localizan entre el bloque de


interconexión interno (local routing connections) y los interruptores, y un
banco de capacitores está en el lazo de realimentación del amp-op. En el lado
izquierdo de los bancos de capacitores existen diversas etapas de entrada (a
las cuales llegan las entradas Local Inputs) y sus salidas llegan a los bloques
de interruptores, y en el lado derecho del amp-op (OpAmp) están las salidas
del CAB.

La información para las interconexiones y el comportamiento de los CABs es


almacenada en el bloque SRAM, la cual es cargada durante la
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

configuración. El proceso de configuración típicamente ocurre al energizar el


circuito, pero puede ser re-iniciado en cualquier momento. La habilidad
para re-configurar el bloque SRAM en cualquier momento le permite al
usuario gran flexibilidad para diseñar un sistema.

El AN10E40 está organizado en una matriz de bloques CABs de 4x5, una red
de interconexión para el reloj, interruptores, y recursos para interconexión
global y local. Cada bloque CAB del AN10E40 (ver Figura 8.5) es
programable, lo cual permite una gran flexibilidad para diseñar diferentes
circuitos para procesamiento análogo.

Figura 8.5. Diagrama de bloques de la matriz del AN10E40

La lógica para la configuración (Configuration Logic) y el registro de


desplazamiento (Shift Register) trabajan en conjunto siempre que la
configuración del chip este en proceso. La matriz de bloques CABs está
rodeada por las celdas análogas I/O (Input/Output) programables, 13 en
total, con dos amp-ops de soporte. El chip también tiene un generador de
voltaje de referencia (Vref) programable.

Las celdas análogas I/O son flexibles y permiten conectar directamente


la circuitería del núcleo (core) del chip con los pines de entrada o salida.
Adicionalmente, con muy pocos componentes externos se implementa
fácilmente un filtro Sallen-Key, el cual permite corregir los problemas de
aliasing .

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Debido a que el FPAA AN10E40 está basado en circuitos switched-


capacitor, sus señales de salida no están libres de la presencia de
ruido, entonces la flexibilidad de las celdas I/O es importante cuando se
considera la implementación de filtros anti-aliasing. Adicionalmente, debido a
la naturaleza misma del sistema de datos muestreados (Sampled Data
System), el cuidado que se debe tener es limitar el ancho de banda de la
señal de entrada para evitar aliasing.

Los FPAAs AN120E04 y AN220E04 pertenecen a la segunda generación de


la familia de Anadigm (Anadigmvortex) y están basados en una arquitectura
switched-capacitor completamente diferencial.
La arquitectura de los FPAAs AN120E04 y AN22E04 consiste de una matriz
de CABs de 2x2, una red de interconexión programable, una LTU (Look-Up
Table), cuatro celdas análogas de entrada (una de ellas con un multiplexor
para cuatro señales de entrada), y tres celdas de salida. En la Figura 8.6,
se muestra el diagrama de bloques de la matriz para los N120E04 y
AN220E04.

Figura 8.6. Diagrama de bloques de los FPAAs


AN120E40 y AN220E04

Cada una de las celdas de entrada tiene un filtro anti- aliasing programable y
un amplificador de alta ganancia con bajo offset de entrada. Las cuatro celdas
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

CABs pueden ser programadas a través de la LUT, lo cual permite


realizar la implementación de funciones arbitrarias.

La diferencia fundamental entre estos FPAAs es la programación. El


AN120E40 es un dispositivo de bajo costo para aplicaciones de alto
volumen de producción, sin embargo este puede ser re-programado si se
activa la señal de reinicio (reset) del chip; el AN220E04 soporta re-
configuración dinámica (re-programación o actualización de una nueva
función) mientras realiza un procesamiento análogo.

El AN220E04 tiene dos tipos de memoria: la SRAM de respaldo (Shadown)


y la SRAM de configuración. Los nuevos datos de configuración son
almacenados en la Shadown SRAM, los cuales son transferidos a la SRAM de
configuración en un flanco de reloj provisto para sincronizar la
actualización de la función análoga del circuito.

METODOLOGÍA DE DISEÑO USANDO CIRCUITOS FPAAs

Esta sección describe una metodología simple para diseñar circuitos análogos
usando circuitos FPAAs, y las estrategias usadas para simular e implementar
el diseño en un simple circuito FPAA. La metodología de diseño consiste
en:

a) Diseño análogo sin componentes externos

• Definir las especificaciones y requerimientos


• Diseño del circuito análogo
• Simulación (análisis AC) del circuito
• Simulación (análisis transitorio) para verificar la respuesta en el
dominio del tiempo.
• Implementación del diseño usando un circuito FPAA
• Test del circuito diseñado

b) Diseño análogo con componentes externos

• Definir las especificaciones y requerimientos


• Considerar las limitaciones de los circuitos IspPAC
• Diseño del circuito análogo
• Simulación (análisis AC)
• Simulación (análisis transitorio) del circuito para verificar la
respuesta en el dominio del tiempo
• Implementación del diseño usando un circuito FPAA
• Test del circuito diseñado

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

AUTOEVALUACION

1. A qué se conocen como PACells?


2. Para qué puede ser utilizado un TRAC?
3. Menciones la principal característica de la familia ANADIGM
4. Elabore un listado con la metodología de diseño análogo con
componentes externos para un FPAA

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 3: PROCESADORES DIGITALES DE SEÑALES (DSP)

INTRODUCCION

Un sistema de procesado digital de señal electrónico realiza procesado digital


de señal, entendiéndose por él aplicación de operaciones matemáticas a
señales representadas de forma digital. Las señales son representadas de
forma digital mediante secuencias de muestras. A menudo, estas muestras se
obtienen de señales físicas (por ejemplo, señales de audio) utilizando
transductores (un micrófono en este caso) y convertidores analógico-digitales.
Después del procesado matemático, las señales digitales pueden volver a
convertirse en señales físicas mediante convertidores digital-analógicos.

Si bien, en principio, el corazón de un sistema de proceso digital puede ser un


microcontrolador, un procesador de propósito general o un procesador digital
de señal (DSP), en sistemas en los cuales la carga computacional es
extremadamente intensa la solución óptima pasa por escoger a un DSP.
En la actualidad, los cuatro grandes fabricantes de DSP son Texas
Instruments, con la serie TMS320; Motorola, con las series DSP56000,
DSP56100, DSP56300, DSP56600 y DSP96000; Lucent Technologies
(anteriormente AT&T), con las series DSP1600 y DSP3200; y Analog Devi-
ces, con las series ADSP2100 y ADSP21000.

¿QUÉ ES UN DSP?

Estrictamente hablando, el término DSP se aplica a cualquier chip que trabaje


con señales representadas de forma digital. En la práctica, el término se
refiere a microprocesadores específicamente diseñados para realizar
procesado digital de señal. Los DSP utilizan arquitecturas especiales para
acelerar los cálculos matemáticos intensos implicados en la mayoría de
sistemas de procesado de señal en tiempo real. Por ejemplo, las arquitecturas
de los DSP incluyen circuitería para ejecutar de forma rápida operaciones de
multiplicar y acumular, conocidas como MAC. A menudo poseen arquitecturas
de memoria que permiten un acceso múltiple para permitir de forma
simultánea cargar varios operandos, por ejemplo, una muestra de la señal de
entrada y el coeficiente de un filtro simultáneamente en paralelo con la carga
de la instrucción. También incluyen una variedad de modos especiales de
direccionamiento y características de control de flujo de programa diseñadas
para acelerar la ejecución de operaciones repetitivas.

Además, la mayoría de los DSP incluyen en el propio chip periféricos


especiales e interfaces de entrada salida que permiten que el procesador se
comunique eficientemente con el resto de componentes del sistema, tales
como convertidores analógico-digitales o memoria.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

La diferencia esencial entre un DSP y un microprocesador es que el DSP tiene


características diseñadas para soportar tareas de altas prestaciones,
repetitivas y numéricamente intensas. Por contra, los microprocesadores de
propósito general o microcontroladores no están especializados para ninguna
aplicación en especial; en el caso de los microprocesadores de propósito
general, no están orientados a aplicaciones de control, en el caso de los
microcontroladores.

Figura 8.7. Estructura de un filtrode respuesta impulsional finita (FIR)

Aunque el ejemplo del filtro de respuesta impulsional finita (FIR) ha sido


ampliamente utilizado en el entorno DSP, es quizás el más simple que permite
ilustrar la necesidad de estas prestaciones en los DSP, las cuales permiten
concebir muchas de las funciones de procesado en tiempo real.

La mecánica del algoritmo del filtro FIR es bastante sencilla. Los bloques D en
la Figura 8.7 son retardos unitarios; su salida es una copia de la entrada
retardada en un período de muestreo. El filtro FIR se construye a partir de una
serie de etapas básicas que se van repitiendo. Cada etapa básica incluye una
operación del tipo multiplicación y acumulación. La señal de entrada xk es un
conjunto de valores discretos obtenidos mediante muestreo de una señal
analógica. El valor xk-1 es en realidad el valor que tenía xk en un período de
muestreo anterior. De forma similar xk-2 sería la xk de dos períodos de
muestreo anteriores. Cada vez que una nueva muestra llega, las que estaban
almacenadas previamente se desplazan una posición hacia la derecha y una
nueva muestra de salida se calcula después de multiplicar la nueva muestra y
cada una de las anteriores por sus correspondientes coeficientes.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

En la figura, cn representa a los coeficientes, donde n es el número del


coeficiente. Los resultados de cada multiplicación se suman para formar la
nueva muestra de salida yk.

El algoritmo de cálculo se basa en operaciones del tipo multiplicación y


acumulación (A=B*C+D), siendo la multiplicación el verdadero cuello de
botella en el cálculo de la mayoría de los algoritmos de procesado digital.

CARACTERÍSTICAS DE LOS DSP

La elección de un DSP que posea unas ciertas características estará muy


condicionada a la aplicación que se quiera destinar. En esta sección se
presenta un conjunto de aspectos característicos de los DSP sin que se
pretenda con ello hacer una lista exhaustiva. Dichos aspectos deberán tenerse
en cuenta a la hora de su elección para una aplicación en particular.

Formato aritmético

Una de las características fundamentales de los DSP es el tipo de formato


aritmético utilizado por el procesador. La Figura 8.8 muestra la estrecha
relación entre formato numérico y número de bits del DSP.

Figura 8.8. Representaciones numéricas comunes en los DSP comerciales

La Figura 8.9, arriba y abajo, muestra los formatos de coma flotante y coma
fija, respectivamente.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

En el formato IEEE-754 de coma flotante la “s” indica que el bit más


significativo es el signo, donde un 1 indica que se trata de un número
negativo. La “e” indica exponente, formado por 8 bits y la “m”, de 23 bits, la
mantisa del número.

Al carecer de exponente el formato en coma fija, éste puede representar


números con más bits significativos que el formato en coma flotante del mismo
tamaño en bits. En este ejemplo, 31 bits son significativos, “f”, comparados
con los 23 del formato IEEE-754.

Para un mismo tamaño en número de bits, el formato en coma fija proporciona


una mejor resolución que el formato en coma flotante. Sin embargo, es este
último quien posee un margen dinámico superior. Así, por ejemplo, si se
considera una representación en coma fija de 32 bits, el mínimo valor que
puede ser representado es 2-31 siendo el mayor 1-2-31. La relación entre
ambos, la cual resulta en el margen dinámico, es de 2,15 109,
aproximadamente 187 dB. En cambio, con una representación en coma
flotante, con 24 bits de mantisa y 8 de exponente, pueden representarse
números desde 5,88 10-39 hasta 3,40 1038, resultando en un margen dinámico
de 5,79 1076 o de 1535 dB.

La aritmética de coma flotante es más flexible que la de coma fija. Con coma
flotante, los diseñadores de sistemas tienen acceso a un margen dinámico
más amplio. En consecuencia, los DSP de coma flotante son generalmente
más fáciles de programar que los de coma fija, pero son usualmente más
caros. El mayor coste es resultado del requisito de una mayor complejidad
circuital que se traduce en un mayor tamaño de chip. Sin embargo, el mayor
margen dinámico facilita su programación pues el programador no debe
preocuparse por el margen dinámico ni por la precisión. Por el contrario, en
los DSP de coma fija el programador a menudo debe escalar las señales en
sus programas para asegurar una adecuada precisión numérica con el
limitado margen dinámico del DSP de coma fija.

Por lo general, las aplicaciones con un gran volumen de unidades y/o bajo
consumo utilizan los DSP de coma fija al ser la prioridad en este tipo de
aplicaciones el bajo coste. Los programadores determinan el margen dinámico
y la precisión necesarias de la aplicación, ya sea analíticamente o a través de
simulaciones, y entonces aplican operaciones de escalado dentro del código
de la aplicación en los puntos en donde sea necesario. En aplicaciones donde
el coste no sea un requisito crítico o que demanden un margen dinámico y
precisión elevadas, o donde la facilidad de desarrollo sea vital, los DSP de
coma flotante poseen ventaja.

Mediante rutinas software es posible emular el comportamiento de un


dispositivo de coma flotante con uno de coma fija. Sin embargo, tales rutinas
resultan generalmente caras en términos de ciclos del procesador. En
consecuencia, rara- mente se suele emular la aritmética de coma flotante.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 8.9. (Arriba) Formato de coma flotante IEEE-754; 1 bit de signo, 8 de


exponente y 23 de mantisa. (Abajo) Formato en coma fija; 1 bit de signo y 31
bits significativos

Ancho de palabra

Los DSP de coma flotante utilizan un bus de datos de 32 bits. En los DSP de
coma fija, el tamaño más común es de 16 bits. Sin embargo, las familias
DSP5600x y DSP563xx de Motorola utilizan un formato de 24 bits, mientras
que la familia ZR3800x de Zoran utiliza 20 bits. El tamaño del bus de datos
tiene un gran impacto en el coste, ya que influye notablemente en el tamaño
del chip y el número de patillas del encapsulado, así como en el tamaño de la
memoria externa conectada al DSP. Por lo tanto, se intenta utilizar el
integrado con el menor tamaño de palabra que la aplicación pueda tolerar.

De la misma forma que ocurre con la elección entre coma fija y coma flotante,
existe un compromiso entre tamaño de palabra y complejidad. Una aplicación
que requiera 24 bits puede ser desarrollada por un DSP de 16 bits a costa de
un aumento de complejidad en el software. Por ejemplo, con un DSP de 16
bits se pueden realizar operaciones con aritmética de doble precisión y 32 bits
combinando las instrucciones adecuadas. Naturalmente, la doble precisión
será mucho más lenta que la precisión simple. Si el grueso de la aplicación
puede desarrollarse en precisión simple, puede tener sentido emplear la doble
precisión únicamente en aquellas partes del programa que lo necesiten. Pero
si la mayoría de la aplicación requiere más precisión, entonces un DSP con un
tamaño de palabra mayor sería la opción adecuada.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

La mayoría de los DSP utilizan un ancho de la palabra de instrucción igual a la


de los datos, pero no todos lo hacen.

Así por ejemplo, la familia ADSP-21xx de Analog Devices utiliza 16 bits para
los datos y 24 bits para las instrucciones mientras que la familia ZR3800x de
Zoran utiliza un formato de instrucción de 32 bits.

Velocidad

La medida clave para saber si un DSP es o no apropiado para una aplicación


es su velocidad de ejecución. Existen varias formas para medir la velocidad de
un procesador, aunque quizás el parámetro más usual es el tiempo de ciclo de
instrucción: tiempo necesario para ejecutar la instrucción más rápida del
procesador. Su inverso dividido por un millón da lugar a la velocidad del
procesador en millones de instrucciones por segundo o MIPS. En la actualidad
todos los DSP ejecutan una instrucción por ciclo de instrucción.

Un problema que se presenta cuando se compararan los tiempos de ejecución


de instrucciones de varios procesadores es que la cantidad de trabajo
realizado por una instrucción varía significativamente de un procesador a otro.
Por ejemplo, algunos DSP disponen de desplazadores combinatorios (“barrel
shifters”) que permiten hacer desplazamientos de múltiples bits en los datos
con sólo una instrucción, mientras que otros DSP requieren que el dato sea
desplazado con repetidas instrucciones de desplazamiento de un solo bit. De
forma similar, algunos DSP permiten el movimiento de datos en paralelo
(carga simultánea de datos mientras se ejecuta una instrucción) que no están
relacionados con la instrucción que la ALU está ejecutando, pero otros DSP
sólo soportan movimientos en paralelo que estén relacionados con los
operandos de la instrucción que esté ejecutando la ALU.

El parámetro MIPS, al igual que MFLOPS, MOPS, MBPS y otros, se miden de


forma muy precisa aunque su valor no necesariamente dice mucho de lo que
un determinado DSP es capaz de hacer. Dichos valores sirven para ubicar
cada DSP en una categoría amplia en cuanto a prestaciones pero uno se
debería preguntar si se trata de valores de pico o sostenidos. Además,
también nos deberíamos preguntar cómo se ven afectadas las prestaciones
del DSP cuando muchos de los datos se encuentran fuera del chip, en la
memoria externa.
Una solución a estos problemas consiste en decidir una operación básica y
utilizarla como referencia al comparar distintos DSP. La operación que suele
tomarse como referencia es la MAC. Desafortunadamente, los tiempos de
ejecución de la MAC proporcionan, a veces, poca información para poder
diferenciar entre distintos DSP, ya que en la mayoría de ellos esta instrucción
se ejecuta en un solo ciclo de instrucción, y como se ha mencionado
anteriormente, algunos DSP pueden hacer mucho más que otros en una

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

simple instrucción MAC. Además, los tiempos de ejecución de la MAC no


suele reflejar las prestaciones de otro tipo importante de operaciones como los
bucles que están presentes en todas las aplicaciones.

Un enfoque mucho más general consiste en definir un conjunto algoritmos o


funciones, como un filtro FIR o IIR, e implementarlo en distintos DSP y de esta
forma ver cuál de ellos proporciona unas mejores prestaciones. Sin embargo,
la implementación de estos algoritmos para distin- tos DSP puede resultar una
tarea ardua. En este sentido, una buena referencia pueden ser los tests que
efectúa la Berkeley Design Technology, Inc., pionera en utilizar distintas
porciones de algoritmos y funciones para medir las prestaciones de los
diferentes DSP.

AUTOEVALUACION

9. Mencione la diferencia entre un DSP y un microprocesador.


10. Una de las características fundamentales de los DSP es el tipo
de formato aritmético utilizado por el procesador. Explíquela
11. Explique cómo influye el tamaño del bus de datos en el coste.
12. Menciones cómo puede medirse la velocidad en un DSP

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 4: ARQUITECTURA DE DSP’s

ORGANIZACIÓN DE LA MEMORIA

La organización del subsistema de memoria de un DSP puede tener un gran


impacto en sus prestaciones. Como se ha mencionado anteriormente, la
instrucción MAC, así como otras, son fundamentales en muchos de los
algoritmos de procesado de señal. Una ejecución rápida de la instrucción MAC
requiere que la lectura en memoria del código de la instrucción y de sus dos
operandos se haga en un ciclo de instrucción.

Existe una variedad de formas de hacerlo, utilizando memorias multipuerto


para permitir múltiples accesos a memoria en un ciclo de instrucción, mediante
memorias de datos e instrucciones separadas (arquitectura Harvard), y
memorias caches de instrucciones para permitir el acceso a la memoria para
la obtención de datos mientras que las instrucciones se obtienen de la cache
en lugar de la memoria. La Figura 8.10 muestra las diferencias entre la
arquitectura Harvard y la Von Neumann, esta última utilizada en la mayoría de
procesadores de propósito general.

Otro punto importante a tener en cuenta es la cantidad de memoria que


soporta el DSP, interna y externamente. Atendiendo a las características de la
aplicación, la mayoría de los DSP de coma fija poseen memorias internas, en
el propio chip, de tamaño pequeño medio, entre 256 y 32k palabras, y un bus
externo de direcciones pequeño. Así por ejemplo, la mayoría de los DSP de
coma fija de Analog Devices, Lucent Technologies, Motorola y Texas
Instruments tienen buses de direcciones de 16 bits o menos, lo que limita la
cantidad de memoria externa de acceso directo.

Por el contrario, la mayoría de los DSP de coma flotante proporcionan poca o


ninguna memoria interna, pero se caracterizan por tener buses de direcciones
externos de gran tamaño, para soportar una gran cantidad de memoria
externa. Por ejemplo, el ADSP-21020 de Analog Devices no tiene memoria
interna pero posee un bus externo de direcciones de 24 bits. De forma similar,
el TMS320C30 de Texas Instruments posee 6k palabras de memoria interna y
dos buses externos de direcciones, uno de 24 bits y el otro de 13 bits.
Además, estos DSP poseen memorias cache para permitir un uso más
eficiente de memorias externas lentas.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 8.10. (Arriba) Arquitectura Von Neumann. (Abajo) Arquitectura Harvard

SEGMENTACIÓN (“PIPELINING”)

“Pipelining” es una técnica para incrementar las prestaciones de un


procesador, que consiste en dividir una secuencia de operaciones en otras de
más sencillas y ejecutar en lo posible cada una de ellas en paralelo. En
consecuencia se reduce el tiempo total requerido para completar un conjunto
de operaciones. Casi todos los DSP del mercado incorporan el uso de la
segmentación en mayor o menor medida.

Para ilustrar de qué forma la técnica de la segmentación mejora las


prestaciones de un procesador, considérese un hipotético procesador que
utiliza unidades de ejecución separadas para la ejecución de una única
instrucción:

*Obtención de la instrucción de la memoria


*Descodificar la instrucción
*Leer o escribir un operando de la memoria
*Ejecutar la parte de la instrucción relacionada con la ALU o MAC.

La Figura 8.11 muestra la temporización de varias instrucciones ejecutadas de


forma secuencial. Si se supone que cada etapa o unidad de ejecución tarda 20
ns en ejecutar su parte de la instrucción, entonces el procesador ejecuta una
instrucción cada 80 ns. Sin embargo, también se observa que el hardware
asociado a cada etapa de ejecución está inactivo el 75% del tiempo. Esto
ocurre porque el procesador no empieza a ejecutar una nueva instrucción
hasta que finaliza la ejecución de la instrucción en curso.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 8.11. Ejecución de instrucciones sin pipeline

Un procesador que implementara la técnica de “pipelining” obtendría una


nueva instrucción inmediatamente después de haber obtenido la anterior. De
forma similar, cada instrucción sería descodificada después de haber
terminado la descodificación de la instrucción anterior. Con esta filosofía, las
instrucciones se ejecutan de forma solapada, tal y como se ilustra en la Figura
8.12. Las unidades de ejecución trabajan en paralelo, mientras una obtiene el
código de una instrucción otra está descodificando la anterior y así
sucesivamente. En consecuencia, una vez que la “pipeline” está llena, cada 20
ns se ejecuta una instrucción, lo cual representa un factor de mejora de
prestaciones de cuatro respecto a un procesador que no incorpore dicha
técnica.

Aunque la mayoría de los DSP utilizan la técnica de segmentación, su


profundidad o número de etapas varía de un procesador a otro. En general,
cuanto mayor sea el número de etapas menor tiempo tardará el procesador en
ejecutar una instrucción.

Figura 8.12. Procesador que utiliza la técnica del pipeline

En el ejemplo anterior se ha supuesto un procesador con una eficiencia en el


uso de la “pipe- line” del 100%. En realidad, esto no siempre ocurre así. La
eficiencia se ve disminuida por varias causas, entre las cuales se encuentra el
hecho de que un procesador necesite dos ciclos para escribir en memoria, se
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

obtenga el código de una instrucción de salto de programa o bien la petición


de una interrupción.

La Figura 8.13 muestra qué es lo que pasa cuando una instrucción de salto
llega a la “pipeline”. En el momento en que el procesador detecta la llegada de
una instrucción de salto en la descodificación del segundo ciclo de reloj, la
“pipeline” se vacía y detiene la obtención de nuevas instrucciones. Esto
provoca que la instrucción de salto se ejecute en cuatro ciclos.
Posteriormente, el procesador comienza la obtención de las instrucciones (N1-
N4) a partir de la dirección de salto y del quinto ciclo de reloj. A causa de este
tipo de situaciones, casi todos los DSP incorporan algún tipo de mejora en el
uso de la segmentación con el propósito de reducir su posible ineficiencia
temporal.

Figura 8.13. Efecto en la pipeline ante la llegada de una instrucción de salto

CONSUMO

El uso cada vez más extendido de los DSP en aplicaciones portátiles como la
telefonía celular hace que el consumo sea un factor a tener muy en cuenta en
el momento de decidirse por un DSP u otro. Conscientes de esta necesidad,
los fabricantes de DSP ya fabrican DSP para tensiones bajas de trabajo (3,3 V
-3 V) que incorporan prestaciones para la gestión de energía, como pueden
ser los modos “sleep” o “idle” que inhiben el reloj del DSP a todas o sólo
algunas partes del mismo, divisores programables del reloj para permitir la
realización de determinadas tareas a velocidad inferior o en control directo de
periféricos, lo que permite la desactivación de algunos de ellos si no se prevé
su aplicación.

COSTE

Generalmente el coste del DSP es el principal parámetro en todos aquellos


productos que se van a fabricar en grandes volúmenes. En tales aplicaciones,
el diseñador intenta utilizar el DSP con coste inferior y que satisfaga las
necesidades de la aplicación aun cuando ese dispositivo pueda ser
considerado poco flexible y más difícil de programar que otros DSP más caros.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

De entre las familias de DSP, el más barato será aquel que tenga menos
características funcionales, menos memoria interna y probablemente menos
prestaciones que otro más caro. Sin embargo, una diferencia clave en el
precio está en el encapsulado. Los encapsulados PQFP y TQFP son
usualmente bastante más baratos que los PGA.

ARQUITECTURAS DE ALTAS PRESTACIONES

Hablar de DSP obliga a hacer referencia a las nuevas arquitecturas VLIW


(Very Long Instruc- tion Word) que están siendo adoptadas por los DSP de
muy altas prestaciones. Las Tecnologías de la Información y las
Comunicaciones (TIC) demandan cada vez más recursos para poder procesar
grandes volúmenes de datos. Hasta ahora, los avances en la capacidad de
cómputo de los procesadores se ha basado en el aumento de la velocidad del
reloj y en innovaciones en la planificación, por parte del hardware, de la
ejecución de instrucciones. Este modelo actual presupone que cada nueva
generación de procesadores es capaz de ejecutar más instrucciones y será
difícil que las arquitecturas tradicionales continúen doblando prestaciones
cada 12-18 meses sin que se emigre a una nueva tecnología.

El número de instrucciones por ciclo aumenta y también lo hace el número de


interdependencias entre instrucciones a comprobar para determinar qué
instrucciones pueden ejecutarse de forma simultánea. La lógica compleja
requerida para la correcta planificación de instrucciones ocupa una gran parte
del silicio del procesador y empieza a no tener sentido dedicar una gran parte
de los recursos del procesador a la planificación de instrucciones.
En su lugar, parece tener más sentido utilizar ese silicio para poder ejecutar
más instrucciones por ciclo, incorporando más unidades funcionales y
aumentar así el paralelismo de ejecución, mientras que la planificación de
instrucciones se realiza por el compilador. Éste es el principio en que se basa
la arquitectura VLIW. Esta reducción de complejidad, hardware más sencillo y
menor número de transistores, permite incrementar la velocidad del reloj y al
mismo tiempo reducir el consumo.

El concepto de arquitectura VLIW no es nuevo ya que desde 1975 han ido


apareciendo procesadores VLIW pero siempre más a un nivel de prototipo que
a nivel comercial. Sin embargo, no ha sido hasta hace relativamente poco,
aproximadamente en 1997, que los esfuerzos en la mejora del compilador, en
aspectos de paralelismo ha hecho que estos procesadores sean realmente
eficientes. Tradicionalmente, las ventajas asociadas con la arquitectura VLIW
eran difíciles de conseguir y su futuro era cuestionable. La falta de
compiladores eficientes a menudo significaba que el programador tuviera que
pasar muchas horas tratando de optimizar, la mayoría de las veces sin éxito,
su extenso código para mejorar las prestaciones de la aplicación.

Las arquitecturas VLIW están estrechamente relacionadas con los


 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

procesadores superescalares. Ambos tratan de aumentar la velocidad


computacional mediante paralelismo a nivel de instrucciones en el que se
utilizan múltiples copias de algunas etapas de la “pipeline” o unidades de
ejecución trabajando en paralelo. Las dos diferencias principales recaen en
cómo se formulan las instrucciones y en cómo se realiza su planificación o
secuenciamiento.

En una arquitectura VLIW, las instrucciones poseen un formato grande de


palabra compues to por múltiples instrucciones independientes que incluye un
campo de control para cada una de las unidades de ejecución. El tamaño de la
instrucción depende de dos factores: el número de unidades de ejecución
disponibles y la longitud de código requerida para cada una de ellas. Una
consecuencia de ello es que los buses internos de datos y de instrucciones
son de mayor tamaño.
Por otro lado, a diferencia de los procesadores superescalares en los que la
planificación de las instrucciones para buscar el máximo paralelismo la realiza
el propio procesador, en las arquitecturas VLIW esta tarea la realiza el
compilador. Esta planificación es conocida como estática (“static scheduling”).
Una ventaja inmediata de este tipo de planificación es que permite dedicar
más tiempo a encontrar la mejor optimización, aunque esto hace que el
compilador sea más complejo ya que sobre él recae la responsabilidad de
agrupar de la mejor forma posible las instrucciones.

Figura 8.14. Núcleo de los TMS320C62xx de Texas Instruments

La Figura 8.14 muestra el núcleo de los TMS320C62xx de Texas


Instruments. En particular, el TMS320C6202 trabaja a 250 MHz y es capaz de
ejecutar 2000 MIPS y 500 MMACS. El mismo fabricante ya está anunciando la
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

salida al mercado de dos nuevas familias, la TMS320C64x de altas


prestaciones y la TMS320C55x de bajo consumo, también basadas en una
arquitectura VLIW.

El TMS320C64x tendrá una frecuencia máxima de trabajo de hasta 1,1 GHz


que permitirá obtener prestaciones de 8800 MIPS y 4400 MMACS. Sus
prestaciones son 10 veces superiores a las que presenta el actual líder, el
TMS320C62xx.

Esta mejora en prestaciones se ha conseguido haciendo que las unidades


funcionales sean más flexibles, lo que permite ejecutar un mayor número de
instrucciones, añadiendo instrucciones especiales para aplicaciones de
comunicaciones digitales y vídeo que permitan una reducción del código y un
incremento de la eficiencia del compilador, e incrementando el nivel de
paralelismo. Por todo ello, puede realizar simultáneamente 2 operaciones de
16 bits o bien 4 de 8 bits.

Además, el TMS320C64x cuenta con un mayor número de registros, 64 en


total, y un camino de datos interno, “datapath”, de 64 bits, que dobla en ambos
casos las cifras del TMS320C62xx.
Para que el lector pueda hacerse una idea de lo que representan estos
valores, alrededor de 1997 los valores para las frecuencias de trabajo y los
MIPS eran de 10 MHz a 100 MHz y de 10 a 80, respectivamente.
Por su parte, el TMS320C55x se presenta como el DSP con menor consumo
en el merca- do, tan solo 0,05 mW/MIPS a 0,9 V y con unas prestaciones que
van de los 140 a 800 MIPS.

AUTOEVALUACION
1. Comente la diferencia en cuanto a memoria entre un DSP de
coma fija y uno de coma flotante.
2. “Pipelining” es una técnica para incrementar las prestaciones
de un procesador. Explíquela
3. Qué factores se tienen en cuenta para establecer el coste de
un DSP?

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 5: TIPOS DE DSP, CRITERIOS DE SELECCION Y APLICACIONES

TIPOS DE DSPs
SEGÚN EL TIPO DE ARITMETICA UTILIZADA

Figura 8.15 Tipos de DSP según la aritmética utilizada


NormaImente Ia cIasificación de Ios DSPs se reaIiza en base aI tipo de
aritmética que utiIizan para reaIizar Ios cáIcuIos matemáticos dividiéndose en
DSPs coma fija y DSPs de coma fIotante. Dentro de cada grupo se cIasifican,
además, según Ia anchura de su paIabra de datos.

La CPU de Ios procesadores de coma fija requiere un hardware más simpIe


que Ia de Ios procesadores de coma fIotante. Esto se traduce en una
reducción deI coste unitario deI DSP haciéndoIos idóneos para apIicaciones
de gran consumo que no requieran unas prestaciones eIevadas. Esta
simpIicidad de Ia CPU también reduce eI consumo deI dispositivo y su
tamaño, un aspecto sumamente interesante para apIicaciones portátiIes
como por ejempIo teIéfonos móviIes. La utiIización de una CPU poco
sofisticada permite Iiberar área deI chip para incIuir bancos de internos de
memoria RAM de mayor tamaño o incIuso bancos de memoria EPROM o
FLASH, donde grabar eI código de Ia apIicación. Además, sueIen disponer de
un conjunto de periféricos más variado. De hecho Ios procesadores
destinados a apIicaciones especificas como por ejempIo controI de
motores, sistemas de tratamiento de voz, etc, son procesadores de coma
fija.

La anchura de Ia paIabra de datos puede ser según Ios casos de 16, 24 o 32


bits. Esto tiene una importante repercusión en eI coste, porque infIuye
poderosamente en eI tamaño deI circuito integrado y en eI nümero de

terminaIes deI dispositivo, así como eI tamaño de Ios dispositivos de memoria


externa conectados aI mismo. Por Io tanto, Ios diseñadores intentan utiIizar eI
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

chip con eI menor ancho de paIabra que su apIicación puede toIerar.

Los DSPs de coma fIotante son dispositivos de gama aIta, cuya CPU dispone
de hardware específico para operar con datos de coma fIotante. La anchura de
Ia paIabra de datos sueIe ser de 32 bits si bien eI uso de bits de guarda Ies
permite operar en eI interior de Ia CPU con datos de 40 bits. Esto no es óbice
para que puedan operar también con datos en coma fija. EI área ocupada Ia
CPU de este tipo de DSPs es mayor que en eI caso de Ios de coma fija. Por
este motivo, Ia variedad de Ios periféricos que integran es menor, tratandose
en Ia mayoría de Ios casos de periféricos (puertos serie y paraIeIo, DMA)
utiIizados en Ia comunicación con eIementos externos (conversores A/D y
D/A). Dentro de este grupo de DSPs, Ios más sofisticados disponen de
puertos de comunicación que permiten faciIitan eI montaje de redes de DSPs
para procesamiento en paraIeIo.

Cada tipo de procesador es ideaI para un rango específico de apIicaciones.


Los procesadores de 16 bits de coma fija son adecuados para sistemas de
voz, como teIéfonos, ya que éstos trabajan con eI rango reIativamente
estrecho de Ias frecuencias deI sonido. Las apIicaciones estéreo de aIta
fideIidad tienen un rango de frecuencias más ampIio, de forma generaI, Ios
requerimientos mínimos para este tipo de apIicaciones serían un ADC de 16
bits y un procesador de 24 bits de coma fija, de esta forma se proporciona un
rango suficientemente ampIio para obtener Ia señaI de aIta fideIidad y para
poder manipuIar Ios vaIores que se obtienen aI procesar Ia señaI. EI
procesamiento de imágenes, gráficos en 3D y simuIaciones científicas tiene
un rango dinámico mucho más ampIio, por Io que precisa procesadores DSP
de 32 bits con aritmética de coma fIotante.

SEGÚN EL PARALELISMO DEL DISPOSITIVO

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 8.16 Tipos de DSP según el paralelismo del dispositivo


Otra cIasificación de Ios DSPs se puede reaIizar atendiendo aI paraIeIismo de
éstos entendiendo como taI Ia posibiIidad de ejecutar müItipIes instrucciones
de forma concurrente, entre Ios que no se incIuyen Ios DSPs básicos vistos
hasta ahora. Este paraIeIismo puede ser expIícito o impIícito. En un DSP
con paraIeIismo expIícito se integran varias CPUs en un mismo encapsuIado
que se comunican por medio de una memoria compartida interna. Esta opción
se ha convertido en una vía muerta, ya que es responsabiIidad deI
programador eI reparto deI código a ejecutar por parte de cada uno de Ias
CPUs, y Ia programación de Ias rutinas de comunicación, siendo esta tarea
muy tediosa.

Un DSP con paraIeIismo impIícito dispone de ünica CPU con müItipIes


unidades funcionaIes (por ejempIo, varias ALUs, muItipIicadores y conjuntos
de registros) de forma que se pueden ejecutar en paraIeIo varias instrucciones
cada una de eIIas sobre una unidad funcionaI. Para eIIo disponen de un
tamaño de Ia paIabra de instrucción de gran tamaño (Very Long Instruction
Word, p.e. 256 bits), en Ia que se empaquetan varias instrucciones
individuaIes. La pIanificación de qué instrucciones se van a ejecutar en
paraIeIo en cada momento Ia reaIiza eI propio compiIador siendo un proceso
transparente por tanto para eI programador. Este tipo de procesadores es
sin duda Ia vanguardia de Ia tecnoIogía de Ios DSPs.

CRITERIOS DE SELECCIÓN DE DSPs

Figura 8.17 Criterios de selección de DSPs


Los factores que se han de considerar a Ia hora de seIecciona un DSP para
una apIicación determinada son:
•El tipo de aritmética utilizada y el ancho de palabra de datos. EI uso de
DSPs de coma fIotante simpIifica Ia programación de aIgoritmos, pero son
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

dispositivos más caros y de mayor consumo. EI tamaño de paIabra de datos


infIuye en eI número de chips de Ios bancos de memoria externa y por tanto en
eI coste y consumo deI sistema.
•Velocidad. Se puede indicar de dos formas. Una de eIIas es como vaIores de
pico expresandose en miIIones de instrucciones por segundo para eI caso de
Ios DSPs de coma fija y en miIIones de operaciones en coma fIotante para eI
caso de Ios DSPs de coma fIotante. Otra forma de indicar Ia veIocidad es
mediante bancos de pruebas. Éstos son aIgoritmos típicos de tratamiento
digitaI de señaI que se ejecutan sobre distintos. Midiendose Ios tiempos de
ejecución en cada dispositivo se puede estabIecer una comparativa de sus
veIocidades.
•Memoria interna. Es deseabIe que Ios DSPs dispongan de Ia mayor
cantidad de memoria interna, ya que Ios accesos sobre ésta se reaIizan a
mayor veIocidad. La disponibiIidad de memoria FLASH interna permite reducir
Ia compIejidad deI sistema.
•Soporte multiprocesador. Interesante para aqueIIas apIicaciones que debido
a su eIevada carga computacionaI hace necesario su impIementación en
sistemas muItiprocesador.
•Consumo. Este es un factor determinante en apIicaciones portátiIes, como
por ejempIo teIéfonos móviIes.
•Coste. En apIicaciones de gran consumo este aspecto puede primar sobre
otros que inciden más directamente sobre Ias prestaciones deI DSP.
•Rango dinámico. Es una figura de mérito que reIaciona eI tipo aritmética
utiIizada y eI ancho de Ia paIabra de datos.

RANGO DINÁMICO

Figura 8.18. Rango dinámico en DSPs

EI rango dinámico es un concepto propio de Ios procesadores. Se define


como Ia reIación existente entre eI máximo y mínimo vaIor (distinto de cero)
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

representabIes. En un formato de coma fIotante éste viene determinado por eI


número de niveIes deI exponente. Si expresamos esta reIación en dB:

RD [dB] = 6 · NiveIes deI exponente

Así para eI caso típico de un exponente de 8 bits eI rango dinámico es de


1530. En un formato en coma fija este depende deI tamaño de paIabra de
datos según Ia reIación:

RD [dB] = 6 · Tamaño de paIabra.

EI rango dinámico deI procesador debe ser superior aI de Ia apIicación. Este


último viene determinado por Ios conversores A/D y D/A utiIizados. De esta
forma se garantiza que Ios errores introducidos durante eI procesamiento
(debidos a truncamientos, redondeos, etc) quedan por debajo deI error que
introducen Ios propios conversores.

FAMILIAS DE DSPs MÁS REPRESENTATIVAS

Figura 8.19 Familias de DSPs

Los principaIes fabricantes de DSPs son, por este orden, Texas


Instruments, Lucent, MotoroIa y AnaIog Devices.
En la Figura 8.19 enumeran Ias famiIias de DSPs más representativas.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Cada fabricante sueIe disponer de famiIias de DSPs de coma fija y famiIias


de coma fIotante. AIgunos también disponen de DSPs de emisión múItipIe
de instrucciones.

AREAS DE APLICACION

Figura 8.20 Areas de aplicación de DSPs


Las ventajas de Ios DSPs han hecho que cada vez sean mayores Ias áreas
de apIicación. Entre éstas cabe destacar:

• Comunicaciones. Se utiIiza en equipos de teIefonía móviI, modems,


redes de área IocaI, etc.

• EIectrónica de consumo. Se utiIizan en cámaras digitaIes para


tratamiento de imágenes; en equipos de audio y video para simuIar efectos
sonoros de recintos, técnicas “soround”; en radiodifusión digitaI tanto de audio
como de teIevisión para impIementar Ios aIgoritmos de compresión y
descompresión.

• IndustriaI. Cada vez es mayor Ia utiIización de técnicas digitaIes en


sistemas de controI de motores eIéctricos y equipos de potencia que permiten
obtener: menores costes, mejores prestaciones y un menor consumo de
energía.

• MiIitar/aeroespaciaI. Se usan estas técnicas para tratamiento de


señaIes de radar, sonar, guiado de misiIes, etc.

• Instrumentación. Como ejempIo de apIicaciones de este tipo se


encuentran Ios sistemas de posicionamiento (GPS), en Ios cuaIes se reaIiza
una correIación entre Ia señaI recibida con un código para obtener Ios datos

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

de teIemetría. Dentro de Ia instrumentación biomédica se utiIiza en


resonancia magnética nucIear y ecografía, para reaIizar eI tratamiento de Ias
imágenes obtenidas.

EJEMPLO DE APLICACIÓN

Figura 8.21. Ejemplo de aplicación de DSPs

Como ejempIo de apIicación de Ios DSPs se muestra Ia impIementación de


un sistema de controI de Ia veIocidad de giro de un motor. Puesto que Ios
aIgoritmos utiIizados pueden aIcanzar gran compIejidad se requiere una
eIevada potencia de cáIcuIo. Además eI DSP integra todos Ios dispositivos
necesarios para impIementar eI sistema.

Las señaIes de controI deI motor se obtienen mediante un generador de señaI


PWM. Estas señaIes atacan a una etapa de potencia. EI Iazo de controI se
puede cerrar de varias formas. Una de eIIas sería Ia obtención de Ia posición
deI eje mediante un tacómetro digitaI recibe Ias señaIes en cuadratura
provenientes de un encoder soIidario aI eje deI motor. Otra forma de cerrar eI
Iazo sería a partir de Ias corrientes que fIuyen por eI devanado deI motor,
obteniendo eI vaIor de éstas mediante un conversor A/D.

La consigna de veIocidad de giro deI motor se puede fijar desde un ordenador


personaI, comunicandose con eI DSP a través de un puerto serie. Otro método
podría ser mediante un tecIado que se conecta a Ios puertos de
entrada/saIida deI DSP.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

AUTOEVALUACION

1. Comente la diferencia entre un DSP de coma fija y uno de coma


flotante.
2. Otra cIasificación de Ios DSPs se puede reaIizar atendiendo aI
paraIeIismo. Explíquelo
3. Qué criterios de selección se tiene en cuenta en un DSP?
4. Describa el criterio de rango dinámico en DSPs

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 
 

CAPÍTULO 9: OTRAS APLICACIONES

LECCIÓN 1: CASO PRÁCTICO BASADO EN FPGAS Y SISTEMAS DE


TELEFONÍA MÓVIL

INTRODUCCIÓN

Se ha considerado el desarrollo de un caso práctico de estudio que se


presenta dentro del área de “Diseño de Sistemas Electrónicos”, en la cual se
imparten conocimientos del lenguaje de descripción de hardware VHDL . A fin
de ofrecer una visión del diseño interrelacionada con los conceptos
de otras áreas de control y de sistemas de comunicaciones, se presenta un
caso práctico que permite aportar una solución al problema del control
a distancia, creando un sistema autónomo y compacto con funciones de
telemando, telemetría y televigilancia. Los elementos esenciales de este
sistema son una FPGA, donde se ha programado la lógica reconfigurable
encargada de las funciones de control e interfaz de comunicaciones y
un módem GSM a través del cual el controlador está permanentemente
conectado a la red, evitando la necesidad de cables de transmisión de
datos y permitiendo así una telemetría y actuación a larga distancia.
En primer lugar se detalla lo que serán los diferentes elementos que
constituyen el subsistema deseado, con un enfoque modular, lo que permitirá
la división del trabajo en paquetes que podrán ser desarrollados por diferentes
equipos. Los principales datos para la implementación del sistema propuesto
se aportan luego. A continuación se aplicará el sistema desarrollado a su
evaluación sobre un problema específico. En este caso se ha optado por el
sistema de control de temperatura.

DESCRIPCIÓN DEL SISTEMA PROPUESTO

Para conseguir la operación a distancia son necesarios los siguientes


elementos:
- R
ed de comunicaciones operativa
- D
ispositivo de comunicaciones para el acceso a dicha red
- I
nterfaz para la comunicación entre el dispositivo de comunicaciones y el
controlador del proceso.
Para la red de comunicaciones se seleccionó una del tipo de las ya existentes
en el mercado. Debido al gran auge que presentan en la actualidad las
comunicaciones móviles se ha optado por la red GSM, debido
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

fundamentalmente a que ésta dispone de muchos servicios, entre los cuales


se encuentran el realizar llamadas de voz, la transmisión de texto a través del
Servicio de Mensajes Cortos (SMS, Short Message Service) y la identificación
de llamada, entre otros.

Una vez escogida la red a utilizar, el siguiente paso es seleccionar el tipo de


dispositivo con el cual se accederá a la red, es decir, el terminal móvil. Para
poder hacer uso de las funciones a distancia únicamente es necesario tener
acceso al Servicio de Mensajes Cortos (SMS), lo cual es una
característica común a todos los teléfonos y operadoras móviles GSM
de Europa. Actualmente existen en el mercado dos tipos de elementos
transmisor/receptor:
- Teléfono móvil GSM
- Módem GSM
Obviamente la opción del módem es preferible frente a las de teléfono móvil,
principalmente por los siguientes motivos:
- El teléfono móvil es un aparato destinado al usuario, mientras que el
módem presenta ciertas funciones que lo hacen más apto para aplicaciones
industriales.
- El control del teléfono móvil se realiza mediante teclado, mientras el módem
es controlable a través de cable o infrarrojos, lo cual lo hace más
compatible con los sistemas electrónicos e informáticos.

Tras un estudio comparativo de estos modelos se ha optado concretamente


por el Módem Siemens MC35T, ya que cumple los requisitos mínimos a la
vez de tener un precio moderado. Además incluye otras características
no exigidas pero que pueden ser favorables, como por ejemplo:
- Sistema autobaudio para la comunicación serie.
- Antena magnética externa independiente, con 3 metros de cable.
- Entradas y salidas analógicas para micrófono y altavoz.
- Alta compacidad.

Conocido el dispositivo y su sistema de comunicación y control, se diseñó


una interfaz de comunicaciones para poder conectar a distancia con el
controlador. Dadas las funciones a distancia que debe desempeñar el sistema
completo, la interfaz de comunicaciones debía ser bidireccional. Esto es:
- Permite solicitar datos al controlador y que éste lea en su memoria y los
transmita.
- Permite enviar datos al controlador y que éste los almacene en su memoria
interna.
- Y en caso de que se activen las alarmas, el controlador, de forma automática,
ha de poder transmitir los datos, según haya sido programado.
El planteamiento general de la plataforma propuesta puede verse en la Figura
9.1. Se encuentra constituida por el proceso que se desea controlar (proceso
bajo control), el sistema digital a desarrollar objeto de este caso práctico
(FPGA), constituido a su vez internamente por dos subsistemas, uno

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

dedicado a implementar el interfaz de comunicaciones con el terminal


móvil (módem GSM) que le permitirá conectarse a la red GSM y el
subsistema encargado de implementar el controlador que actuará
sobre el proceso anteriormente comentado. De esta forma será posible que el
sistema pueda enviar alertas al móvil de un usuario, o bien recibir nuevos
parámetros de control a través de este medio.

Existen diferentes soluciones de implementación que quedan al libre


albedrío del usuario. En este texto se presenta una opción posible en la
que se ha utilizado un dispositivo FPGA en el que el sistema se ha
desglosado en el siguiente conjunto de módulos: un módulo (UART) que será
encargado de establecer una comunicación serie entre la FPGA y el
MC35T mediante comandos AT. Dos submódulos, denominados ‘Codificador
de Comandos’ y ‘Decodificador de Comandos’ serán los encargados de la
interpretación y generación de órdenes transmitidas y recibidas a través
del MC35T. Finalmente, habrá un núcleo dedicado a la implementación del
controlador que se comunicará con el exterior y que realizará el control del
sistema seleccionado, un sistema de control de temperatura en este caso.

Figura 9.1. Estructura general de la plataforma propuesta

IMPLEMENTACIÓN HARDWARE DEL SISTEMA

Una vez seleccionado el tipo de terminal móvil y conocido su sistema de


control, la próxima tarea es el diseño del hardware necesario para la
implementación del módulo controlador de proceso y la interfaz de
comunicaciones para conectar con dicho módem. Se trata de implementar el
sistema al completo, que dicho sistema sea autónomo y a ser posible, adoptar
una solución compacta basada en un único chip. Por tanto se descarta la idea
de la conexión del módem a un ordenador. A cambio, se ha optado por
el uso de un dispositivo lógico programable (PLD, Programmable Logic
Device).

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Debido a la complejidad que este problema plantea, automáticamente


quedan descartados los PLDs sencillos (como PAL, GAL, etc...) siendo lo
más conveniente la implementación sobre una FPGA, ya que es el único con
la escala de integración suficiente como para programar todas las funciones
a realizar, además de ser el más flexible ya que puede ser reconfigurada y
verificada en muy poco tiempo.

Debido a la gran flexibilidad de las FPGAs no es necesario establecer muchos


requisitos mínimos para poder llevar a cabo este diseño. Básicamente se
podría decir que lo único imprescindible es que tenga la memoria suficiente
como para almacenar la totalidad del hardware que se va a implementar. Sin
embargo, en este momento no se dispone de información acerca del tamaño
que ocupará el sistema porque éste aún no ha sido diseñado con detalle. Por
tanto la opción más correcta sería desarrollarlo y una vez conseguido
ese punto, conociendo ya el tamaño que supone, seleccionar la FPGA
donde será volcado. No obstante se ha elegido una FPGA para poder
empezar a implementar el diseño, confiando en que ésta será lo
suficientemente grande. En caso de llegar a su límite de capacidad debería
ser sustituida por otra mayor.

Se ha optado por la familia Spartan II. Y más concretamente por


la FPGA XC-2S200-PQ-208. El fabricante Xilinx ofrece esta FPGA montada
sobre una placa de pruebas, se trata de la placa Digilab 2, que, además de
incorporar las conexiones de alimentación, programación y oscilador,
dispone de, entre otras, una conexión con adaptación de señal RS232
DB9, y múltiples conectores unidos directamente a los pines de entrada/salida
de la FPGA. Éstas son características que, sin duda, serán útiles, a la
hora de conectar la FPGA con los dispositivos externos (como por
ejemplo con el módem GSM).

Parece, en un principio, que la conexión entre ambos dispositivos se puede


realizar directamente a través de un cable serie estándar con
conectores DB9. Sin embargo se presenta el problema de que ambos
dispositivos han sido diseñados para trabajar como DCEs, es decir como
receptores. Debido a ello ambos poseen un conector DB9 hembra.
Por este motivo no pueden ser conectados directamente a través de un
cable serie estándar, ya que éste consta de un conector macho en un
extremo y un conector hembra en el otro.

Una comunicación serie asíncrona bidireccional se puede simplificar a tres


líneas de conexión: GND, TXD y RXD. Dichas líneas se corresponden con
los pines 5, 3 y 2 respectivamente del conector DB9. Por lo tanto, en esta
fase del diseño es necesario realizar un cable serie con conectores DB9
macho en ambos extremos, teniendo en cuenta que se está
estableciendo una conexión entre dos DCEs y por tanto es necesario
cruzar los terminales TX y RX.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

En conclusión, la Figura 9.2 muestra cómo queda la conexión de los


elementos seleccionados.

Figura 9.2. Aspecto final de la plataforma hardware

Sobre la FPGA seleccionada se ha implementado la arquitectura de control


esquematizada de forma general en la Figura 9.3. Para ello se ha hecho uso
de herramientas informáticas de diseño, simulación y síntesis destinadas a la
configuración de dispositivos lógicos programables y como método de
programación hardware, el lenguaje VHDL (Very High Speed Integrated
Circuit Hardware Description Language).

Figura 9.3. Estructura general de la arquitectura hardware diseñada.

Núcleo hardware del subsistema ‘interfaz de comunicaciones’

Este subsistema es el encargado de establecer la comunicación entre el


módem GSM externo y el sistema de control disponible. Existen dos formas
de manejo de datos en los sistemas digitales:
- datos en serie.
- datos en paralelo.
Normalmente resulta más sencillo el procesamiento de datos en paralelo,
si bien suele ser más apropiado los datos en serie para las funciones de
transmisión y recepción entre dispositivos situados a una cierta distancia.
Concretamente, la comunicación con el módem GSM se realiza a través del
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

protocolo RS-232, que es un sistema de comunicación serie. El manejo de


datos dentro de la FPGA se va a realizar en modo paralelo.

La Figura 9.4 detalla los diferentes submódulos que constituyen este


elemento.

Figura 9.4. Estructura hardware detallada en los submódulos VHDL


constituyentes

AUTOEVALUACION

1. Comente con sus palabras la importancia del FPGA en la implementación del


sistema de telefonía móvil.
2. Realice un bosquejo de la estructura general de la arquitectura hardware
diseñada.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 2: DESCRIPCION DE SUBMODULOS: UART, CODIFICADOR DE


COMANDOS

SUBMÓDULO ‘UART’

En primer lugar, es necesario el diseño de un convertidor serie-


paralelo/paralelo-serie, para poder establecer la comunicación con el módem.
Esta es la finalidad del módulo ‘UART’ (Universal Asíncronous Receiver
Transmiter). Este módulo, transmite por la línea de transmisión serie (Tx)
los datos en paralelo recibidos en su puerto Din y a la inversa, recibe datos
por la línea de recepción serie (Rx) y los agrupa en paralelo enviándolos por
el puerto de salida Dout. Este módulo engloba los submódulos divisor,
divisor2, emisor y receptor.

La UART es un elemento de comunicación bidireccional. Por tanto serán


necesarios un módulo encargado de recibir (receptor) y otro encargado de
enviar (emisor). Para la comunicación serie asíncrona es preciso definir unos
determinados parámetros, entre ellos la velocidad de transmisión
(baudios, bps). Esta velocidad, aún escogiendo la más alta posible, según los
estándares de transmisión (115200 bps) es mucho menor que la velocidad del
sistema (50 MHz). Por tanto se ha de definir un circuito de adaptación
de velocidad. Esta es la misión de los módulos divisores y divisor2. Ambos
módulos generan pulsos de reloj que marcarán la base de tiempos para la
comunicación.

SUBMÓDULO ‘CODIFICADOR DE COMANDOS’

La comunicación con el módem GSM se realiza por medio de comandos AT.


Los comandos AT son el sistema utilizado para comunicar con módems y
otros dispositivos de comunicaciones. La mayoría de las aplicaciones de
comunicaciones tienen una interfaz amigable que oculta estos comandos,
no obstante siguen siendo necesarios para establecer la comunicación.

La estandarización de este lenguaje ha sido llevada a cabo por el Comité


Técnico (TC, Technical Committee) del llamado Special Mobile Group
(SMG) perteneciente al Instituto Europeo de Estandarizacion de las
Telecomunicaciones (ETSI, European Telecommunications Standards
Institute).
Esta estandarización se recoge en la Global System Mobile (GSM) Technical
Specification (GTS), más concretamente en el documento Digital cellular
telecommunications system (Phase 2+); AT command set for GSM
Mobile Equipment (ME) (GSM 07.07).

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Este Estándar Europeo de Telecomunicaciones (ETS, European


Telecomunications Standard) especifica un perfil de comandos AT y
recomienda su uso para controlar las funciones de los Equipos Móviles (ME) y
los servicios de la red GSM desde un Equipo Terminal (TE) a través de un
Terminal Adaptor (TA). La interfase entre el TE y el TA se ha pensado para
funcionar a través de un cable serie existente (la opción seleccionada en
este trabajo), conexión infrarroja, o cualquier otro tipo de enlace de
comportamiento similar. Para una correcta operación, muchos de los
comandos definidos requieren 8 bits de datos, por lo tanto se recomienda que
el enlace TE-TA se establezca en modo 8 bits. La interfaz entre el TA y el TE
depende de la interfaz del ME.

Todos los comandos están perfectamente definidos en cuanto a sintaxis


y funcionalidad. Este sistema constituye un lenguaje estandarizado del cual
los módems hacen uso. No obstante la lista de comandos soportados varía
en función del tipo de dispositivo o fabricante.

Estos comandos consisten en cadenas de caracteres finalizadas por


el carácter de RETURN. Para poder trabajar con estos comandos de forma
sencilla se ha añadido el módulo ‘Codificador de Comandos’ y ‘Decodificador
de Comandos’. El módulo ‘Codificador de Comandos’ se encarga de leer
sucesivamente los caracteres recibidos, interpretar el comando formado por
dichos caracteres y asignarle un código numérico. Para ello, recibe un
comando en forma de cadena de caracteres y lo codifica asignándole un
número de 8 bits, enviaNdo dicho número a través del puerto svCom. Si no se
ha podido codificar devuelve un “00000000”. Tras detectar el carácter de
RETURN o bien, alcanzada la longitud máxima de los caracteres, una vez
finalizada la codificación, devuelve un pulso a través del puerto recibido.

La codificación de comandos se va a realizar por comparación. Para ello


es necesario almacenar todos comandos decodificables. Se ha
implementado, para tal fin, una memoria formada por una matriz de m filas y
n columnas de elementos tipo carácter. Tanto m como n son valores
configurables mediante las constantes char_matrix_size y char_vector_size en
el código VHDL. Se ha utilizado el tipo carácter para poder inicializar dicha
memoria de forma simple, mediante constantes tipo. A la constante
char_matrix_size se le ha dado el valor del número de comandos que se
quiere codificar (concretamente 10). A la constante char_vector_size se le ha
asignado el valor de la longitud máxima que van a tener dichos comandos
(concretamente 8). De esta forma se pueden almacenar 10 comandos de
hasta 8 caracteres cada uno.

Esta memoria es del tipo sólo lectura, y únicamente se graba al


inicializarse, asignando a cada fila de la matriz un comando (o cadena de
caracteres ) determinado. Para la inicialización, hay que tener en cuenta que
la asignación de valores a señales, en VHDL, requiere que tanto el valor
como la variable sean del mismo tipo. Sin embargo, aunque todos los
comandos son señales tipo string, no todos tienen la misma longitud. Para
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

solucionar este problema se ha implementado una función que rellena los


huecos hasta completar el tamaño de las cadenas de caracteres. A dicha
función se le ha dado el nombre fill.

Las tareas a realizar para efectuar la codificación son:


- Carga de datos: almacenar datos recibidos para formar una cadena de
caracteres.
- Comparación: se compara la cadena recibida con las líneas de la matriz
de memoria donde se almacenan los comandos.

Para la primera tarea se ha declarado una señal tipo string (cvComando_aux)


del tamaño de char_vector_size . Mediante un contador que se va
incrementando conforme se detectan pulsos en la señal de carga (LD) se va
apuntando a una posición concreta de la señal cvComando, para almacenar
en ella el valor recibido tras su conversión a carácter previamente, mediante
la función to_char. Este proceso continúa hasta que se alcanza la
longitud máxima de caracteres recibidos o bien se detecta el carácter de
RETURN.

Finalizado el proceso de carga de datos se procede a la comparación.


Se ha definido un contador que incrementa la señal i con cada ciclo de reloj.
La señal i es utilizada para apuntar a la fila i de la matriz de comandos y leer
dicha fila. Tras esta lectura se efectúa su comparación con la cadena de
caracteres que se creó en la etapa anterior. Si se detecta coincidencia con
alguna de las filas se pone en la salida svCom el valor de la señal i que
se corresponde con el código asignado al comando recibido.

AUTOEVALUACION

1. Mencione la importancia del dispositivo UART en el proyecto.


2. Explique la función del sub-módulo codificador de comandos.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 3: DECODIFICADOR DE COMANDOS, CONVERTIDOR

SUBMÓDULO ‘DECODIFICADOR DE COMANDOS’

El módulo ‘Decodificador de Comandos’ recibe un código numérico, lo asocia


con una cadena de caracteres y envía dichos caracteres
secuencialmente. De esta forma con un único número se pueden hacer
referencia a todos estos comandos y otras cadenas de caracteres que se
van a utilizar. Está constituido por dos submódulos denominados ‘cod2’ y
‘flujo’
Para la decodificación de comandos es necesario un bloque que almacene las
cadenas de caracteres correspondientes a dichos comandos y que envíe
estos caracteres de forma secuencial. El bloque cod2 es el encargado de
realizar esta tarea. Contiene la memoria que almacena las cadenas de
caracteres de los comandos que se van a utilizar.
La presencia del componente flujo se justifica dada la necesidad de
coordinación entre el cod2 y la UART externa. Es el encargado de manejar las
señales de control (activación, lectura, envío,...) de ambos bloques.

SUBMÓDULO ‘CONVERTIDOR NUMEROS=>CARACTERES’

La función del módulo ‘Convertidor números=>caracteres’ es, como su


nombre indica, convertir números binarios en los caracteres
correspondientes a sus dígitos en sistema decimal, teniendo en cuenta que
serán transmitidos en código ASCII.

Este módulo recibe un número de 8 bits por svDin y lo convierte en los


caracteres ASCII correspondientes a sus dígitos en base 10, enviando
dichos caracteres secuencialmente por svDout comenzando por el más
significativo.
Para poder representar un número de 8 bits en código decimal son
necesarios tres dígitos: centenas (más significativo), decenas y unidades
(menos significativo). Para llevar a cabo esta conversión se ha utilizado el
módulo divisor (divcore.vhd). Este módulo está precompilado por Xilinx y se
encuentra en la herramienta Core Generator. Realiza la función de
dividir un dividendo entre un divisor para obtener un cociente y un resto. El
tamaño de estas variables es configurable. Para este caso se han
seleccionado señales de 8 bits.

El proceso de conversión se va a realizar en dos etapas:


1. División entre 10 del número a convertir. Como resultado se

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

obtiene un cociente y un resto. El valor de dicho resto corresponde


con el dígito de las unidades.

2. Una segunda división entre 10 del valor obtenido como cociente en


la operación anterior. El resultado de esta operación es otro cociente, que
se corresponde con los dígitos de las centenas, y un resto que se
corresponde con el digito de las decenas.

Para llevar a cabo estas dos etapas se ha declarado una señal tipo
array de 3 componentes tipo enteros donde se almacenarán los dígitos
llamada digito. Además se ha implementado un contador de 0 a 22,
que incrementa una señal (cuenta) en cada pulso de reloj. Mediante un
bloque combinacional asociado se realizan las siguientes operaciones: Si
cuenta=0 se coloca en el dividendo del componente divCore el valor del
número a convertir.
Si cuenta=10 el valor del resto se asigna a la señal digito. Y el valor del
cociente se realimenta en al dividendo del bloque divCore.
Si cuenta=22 el valor del cociente se le asigna a la señal digito (0) y el resto a
la señal digito (1).
El que haya que esperar 11 pulsos de reloj tras especificar el dividendo del
divCore se debe a que este módulo necesita 11 pulsos de reloj para efectuar
la operación.
Una vez convertido el número binario en decimal, se analizan los dígitos
obtenidos para eliminar los ceros a la izquierda con el fin de que sólo se
transmitan aquellos dígitos que realmente sean necesarios.
Posteriormente se procede a su conversión a código ASCII. La forma más
sencilla de realizar esta operación se sumándole 48 al valor del dígito. Esto
es posible porque en el código ASCII los dígitos (0-9) tienen códigos
consecutivos, y el código del 0 es el número 48.

Tras obtener el código ASCII de los tres dígitos se ejecuta un proceso


secuencial para enviar dichos códigos secuencialmente a través de la salida
svDout, comenzando por el primer dígito distinto de 0 (desde el más
significativo hasta el menos significativo).
También hay que tener en cuenta que cada vez que se envía un carácter hay
que esperar a que el encargado de transmitirlo (UART) termine de hacerlo,
para poder enviar el siguiente.

SUBMÓDULO ‘CONTROLADOR DE COMUNICACIONES’

Este módulo es sin duda el más complejo y a la vez, el más importante de


toda la estructura hardware que se ha desarrollado. Se podría
decir que es la unidad más “inteligente” del sistema. Es capaz de
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

realizar, entre otras, las siguientes funciones:


- Configurar el módem GSM.
- Dar la orden de realizar una llamada de teléfono.
- Redactar un SMS y dar la orden de envío.
- Leer e interpretar un SMS recibido.
- Actuar según las ordenes interpretadas en un SMS leído.
- Capturar y almacenar el número de teléfono de una llamada entrante.
- Ejecutar un programa de instrucciones programado.
- Detectar si la ejecución del programa se ha quedado bloqueada y
reiniciar.

Para poder llevar a cabo todas estas funciones, la estructura de este bloque,
se ha basado en un sistema microprocesador. Consiste en un proceso
secuencial en el que existen unas líneas de programa, cada una de las
cuales contiene unas determinadas instrucciones. Dicho programa es el
encargado de gestionar y procesar el tráfico de información entre el
módem GSM y el controlador de temperatura.
Dispone además de diversos puertos de entrada / salida con el fin de poder
comunicar con el resto de bloques, tanto internos (‘UART’, ‘Codificador de
comandos’, ‘Decodificador de comandos’ y ‘Convertidor números=>caracteres’
) como externos (módulo de control).

SUBMÓDULO ‘MULTIPLEXOR’

Debido a que es posible enviar caracteres a la UART a través de varios


módulos, se ha colocado un multiplexor con el fin de seleccionar en cada
momento cuál es el módulo que va a transmitir, evitando de esta manera
conflictos o colisiones de información.
Debido a la complejidad del sistema desarrollado ha sido necesario limitar la
frecuencia de funcionamiento del mismo, para evitar errores en el proceso.
Para ello se ha introducido el módulo ‘frec_div’.
El módulo ‘Pulso’ genera un pulso cuando detecta un flanco de subida
en la señal de entrada. Dicho pulso es necesario para el control del
módulo ‘Codificador de comandos’ (codificador).

AUTOEVALUACION

1. Describa la función del sub-módulo “Decodificador de


comandos”.
2. Mencione dos funciones del sub-módulo “Controlador de
comunicaciones”.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 4: CASO PRÁCTICO, SISTEMA DE CONTROL DE


TEMPERATURA

Como caso práctico de aplicación se ha escogido el control de temperatura,


en el cual básicamente se pueden identificar: una variable de entrada –
temperatura –, dos variables de salida – calentar y enfriar – y dos
parámetros de control – consigna e histéresis –. El funcionamiento
consiste en la activación de la salida enfriar o calentar en función de que la
temperatura sobrepase por encima, o por debajo respectivamente, la
consigna, con un margen de error definido por la histéresis.

A fin de controlar la temperatura, en primer lugar, es necesario conocer


su valor en cada momento. La temperatura es una variable continua. Para
poder ser interpretada y procesada por un sistema digital es necesaria su
conversión previa a variable discreta. Esta es la función del convertidor AD
externo. A fin de poder controlar y leer dicho convertidor se ha diseñado sobre
la FPGA el módulo ‘Control ADC’ esquematizado en la Figura 9.5.

Una vez digitalizada la temperatura, es necesario procesarla para activar


sistemas de control externos que la modifiquen según unos parámetros
preestablecidos. Esta es la misión del módulo hardware ‘Control Proceso’.
Para poder visualizar en todo momento la temperatura actual se ha
diseñado el módulo ‘Visualizador’, el cual dispone de unas salidas para
displays de 7 segmentos multiplexados.

Además se ha dotado al controlador de una salida de alarma que se activa


cuando, debido a alguna causa inesperada, se superan unos valores
críticos. Éstos están definidos mediante los parámetros alarma superior y
alarma inferior.
Una vez muestreadas las entradas, es necesario analizarlas para actuar
sobre las variables de control (o variables de salida) según unos
parámetros de control.
Un ejemplo del comportamiento de este dispositivo se puede ver en la
Figura 9.5, en la que es posible observar que cuando se superan los
niveles dados por la consigna y el margen de histéresis, entra la acción de
control correspondiente (calentar o enfriar) y que cuando se
sobrepasan unos determinados niveles de alarma prefijados, se produce la
activación correspondiente del indicador asociado.

Hasta el momento, este sistema se asemeja bastante a cualquier otro


controlador de temperatura, como pueda ser por ejemplo un sencillo
termostato. La diferencia importante es que, gracias a la interfaz de
comunicaciones que se ha diseñado, el controlador puede ser dirigido
a través de teléfono móvil GSM, permitiendo modificar los parámetros de

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

control y alarmas (telemando), solicitar información de la temperatura


(telemetría), y recibir mensajes de alarma de forma automática cuando
ésta se active (televigilancia).

Figura 9.5. Ejemplo de evolución de las salidas del controlador de


temperatura desarrollado

A continuación se detalla un ejemplo (Tabla 9.1) de lo que podría ser un


intercambio de comandos entre el dispositivo FPGA y el módem GSM que
clarifica la comunicación mediante comandos AT. En la transmisión hacia el
módem el encargado de la gestión es el submódulo ‘Codificador de
Comandos’ antes comentado, mientras que en la recepción desde el
módem el encargado de la gestión sería el ‘Decodificador de
comandos’.
TABLA 9.1 Ejemplo de comunicación entre fpga y modem GSM

(nnnnnnnnn : número de teléfono


del usuario)

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Del texto procedente de la FPGA se puede interpretar lo siguiente:


- Las primeras siete líneas corresponden a comandos utilizados en la
configuración del módem GSM.
- La 8ª línea muestra el comando utilizado para realizar la llamada de
petición de confirmación de comienzo de ejecución.
- En las líneas 9 y 10 se redacta y envía un SMS informativo.
- En las líneas 11 y 12 se redacta y envía un SMS de alarma
- La línea 13 manda la orden de lectura del SMS almacenado en el
registro 1.
- La línea 14 borra el registro 1.

Del texto procedente del módem se puede destacar lo siguiente:

- Las 11 primeras líneas son las respuestas correspondientes a los


comandos de configuración
- La línea 12 indica que la llamada realizada ha sido colgada
- Entre las líneas 13 y 15 se recibe una llamada procedente del
teléfono móvil ( petición de un SMS informativo )
- Las líneas 18-19 y 22-23 son las respuestas correspondientes al envío
de los SMS informativo y de alarma respectivamente.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

- La línea 25 indica que se ha recibido un SMS


- Las líneas 27 a 32 son la respuesta correspondiente a la orden a la
lectura de un SMS

RESULTADOS

Una vez programado el código VHDL necesario para describir la arquitectura


que se ha planteado, se ha sintetizado e implementado, mediante las
correspondientes herramientas informáticas y finalmente se ha programado
sobre la FPGA seleccionada. Los resultados obtenidos durante esta fase
de implementación se detallan en la Tabla 9.2

TABLA 9.2 Resultados de la implementación hardware

Análisis de recursos

Recurso Cantidad utilizada % de los disponibles

Slices 1.719 73%

Registros 1.315 27%

LUTs 2.739 58%

IOBs 27 19%

Puertas equivalentes 29.354

Análisis de retardos

Rutas 1.893,413

Redes 1.315

Conexiones 1.271

Periodo mínimo 44 ns

Retardo máximo 7,397ns

Frecuencia máxima 38,879MHz

Como es posible observar en la tabla anterior, han sido utilizados 1.719


sílices, lo que supone el 73% de la capacidad de la FPGA. Xilinx recomienda
una ocupación de estos dispositivos inferior al 80. Teniendo en cuenta este
dato, se puede decir que la elección de la FPGA ha sido correcta, si bien se
están rozando los límites de capacidad del dispositivo.
Por otro lado, de los 140 pines de entrada/salida disponibles,
únicamente han sido utilizados 27. Esto corresponde con el 19% del total,
lo cual indica que esta característica de la FPGA está siendo infrautilizada.
Esto permitiría una gran ampliación, pudiendo dotar al sistema de un gran
número señales de control y variables de entrada adicionales.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Por último, tras el análisis de retrasos en las señales, se obtiene un


periodo de funcionamiento mínimo de 26ns, lo cual permite una frecuencia de
trabajo de 38MHz. Esta frecuencia es más que suficiente para desempeñar
las funciones para las cuales el sistema ha sido diseñado.

AUTOEVALUACION

1. Describa la utilidad de un dispositivo FPGA en el sistema de


control de temperatura planteado.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

LECCIÓN 5: CONTROL DIGITAL DE POSICIÓN CON ACELEROMETROS


UTILIZANDO FPGAS

INTRODUCCIÓN

Las aplicaciones de los robots no se ven limitadas en operaciones


industriales, existen muchas áreas en donde se vuelve indispensable el uso
de robots para sustituir la presencia humana. Por mencionar algunos
tenemos los ambientes radioactivos, desactivación de explosivos y la
exploración de planetas.

En este trabajo se presentan los avances realizados en el diseño de una


mano robótica que servirá para la construcción de un brazo robótico. La
principal aplicación para la cual se pretende diseñar este dispositivo es
para tareas del tipo “pick and place”, es decir, tareas donde únicamente nos
interesa tomar un objeto desde una posición y orientación inicial y ubicarlo en
otra final sin importar la trayectoria que se ejecute durante el movimiento, con
el fin de imitar una de las funciones del brazo humano. Los principales
requerimientos en el diseño son, que el dispositivo final sea lo más semejante
al de una mano real, de peso reducido y de una velocidad de respuesta
rápida.

En esta sección se presenta la implementación de un controlador digital de


motores servos a través de FPGA´s, utilizando acelerómetros como sensores
de inclinación. La interfaz humano-robot tiene como propósito controlar por
medio de un operador humano una mano robótica en tiempo real, midiendo
los niveles de gravedad correspondientes proporcionados por los
acelerómetros y controlando la posición de los servomotores. La
interacción del operador con la mano robótica se ejecuta en tiempo real
gracias a las características de los componentes VLSI, en éste caso los
FPGA´s.

RECURSOS UTILIZADOS

Sensores y Actuadores

Servomotores. Un servomotor es un dispositivo que contiene un pequeño


motor DC, una caja de engranajes, un potenciómetro y un pequeño circuito
integrado. El eje del motor puede ser girado hasta una posición angular
específica mediante una señal de control. Mientras se mantenga esta señal de
control, el servomotor mantendrá la posición angular del eje. Si la señal de
control cambia, también cambia la posición de eje.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 9.6. Servomotor.

La velocidad del motor, así como la dirección del movimiento de los


servomotores se controla mediante pulsos modulados en amplitud. El
servomotor convierte los pulsos en un movimiento mecánico. Este tipo de
pulsos está formado por una señal digital que se genera aproximadamente
cada 20 milisegundos. El ancho de estos pulsos va de un mínimo de 1ms a un
máximo de 2ms (Ver Figura 9.7).

Esta técnica se conoce como modulación por ancho de pulso, en ingles


PWM (Pulse Width Modulation). La lógica del servomotor se encarga de
determinar la dirección en la que ha de girar el motor para minimizar dicho
error.

Figura 9.7. Posiciones media y extremas del servomotor según el ancho de


pulso de la señal PWM.

Las ventajas que aporta el empleo de un servomotor predomina el poco peso,


la alta potencia (par de fuerza), la fiabilidad, la fortaleza (los servomotores y
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

su electrónica normalmente están expuestos a ambientes de alta temperatura,


suciedad, humedad y vibraciones), la simplicidad, y versatilidad.

Acelerómetros.Los acelerómetros son dispositivos piezoeléctricos que


convierten la medida de fuerzas gravitatorias en señales eléctricas.

Figura 9.8. Acelerómetro ADXL202E vista superior.

Un ejemplo de sensor de aceleración es el ADXL202E de Analog Devices (Ver


Figura 9.8), es un completo sistema de eje dual que mide la aceleración en un
solo circuito integrado monolítico. Contiene un sensor micro-máquina de
superficie de Poli-silicio y una circuitería de acondicionamiento de señal para
implementar una medida de aceleración en una arquitectura de lazo abierto.

Para cada eje, un circuito de salida convierte la señal análoga a un ciclo de


trabajo modulado (DCM), la señal digital puede ser decodificada con un
contador-temporizador en un microprocesador. El ADXL202E es capaz de
medir aceleraciones positivas y negativas por lo menos de ±2 g. El
acelerómetro puede medir la aceleración estática, fuerzas tales como
gravedad, permitiendo que sea utilizado como sensor de inclinación.

La señal de la aceleración puede ser determinada midiendo la longitud de los


pulsos del T1 y del t2 con un contador-temporizador usando un
microcontrolador de bajo costo.
Uno de los usos más populares del ADXL202E es la medición de inclinación.
Cuando el acelerómetro se orienta en eje a la gravedad, por ejemplo, cerca de
sus +1 g o de la lectura de -1 g, el cambio en la aceleración de la salida por el
grado de inclinación es insignificante. Cuando el acelerómetro es
perpendicular gravedad, su salida cambiará el 17.5mg por grado de
inclinación, pero en los 45° está cambiando solamente en 12.5mg por grado y
la resolución se declina. La Tabla 9.3 ilustra los cambios en los ejes de X y de
Y como el dispositivo son ±90° inclinados con gravedad.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Tabla 9.3. Cambios en los ejes X y Y a ±90°.

CONTROL DIGITAL

FPGA´s. El FPGA por sus siglas en inglés (Field Programmable Gate Array)
es un dispositivo lógico programable.Puede tomar cualquier arquitectura
lógica y digital programándola en los diferentes recursos de de software
(VHDL, Verilog, etc). La arquitectura de un FPGA consiste en arreglos
de varias celdas lógicas las cuales se comunican unas con otras mediante
canales de conexión verticales y horizontales tal y como se muestra en la
Figura 9.9.

Figura 9.9. Arquitectura básica de un FPGA.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Cada celda lógica es funcionalmente similar a los bloques lógicos de un


CPLD. La diferencia está en que un FPGA normalmente utiliza generadores
de funciones en vez de compuertas. Cada uno de estos generadores es como
una memoria en donde en vez de implementar la función lógica mediante
compuertas, se pre-calcula el resultado y se almacena en el generador. Las
entradas al generador funcionan como un bus de direcciones, y mediante las
diferentes combinaciones de las entradas al generador se selecciona el
resultado correcto. Esto le da una gran densidad al dispositivo ya que se
maneja un gran número de generadores, pero el tiempo de propagación al
implementar una función lógica en estos generadores es menor al que se
necesitaría si utilizáramos compuertas.

ARQUITECTURA

Para realizar el posicionamiento de los servomotores por medio de los


sensores acelerómetros, se necesita un sistema de adquisición de datos, una
etapa de procesamiento de datos, un decodificador y un controlador (etapa de
control). Ver Figura 9.10.

Figura 9.10. Etapas del sistema.

Etapa de Sensado

La primera etapa del sistema consta de los sensores de inclinación, los


cuales tienen una respuesta en señal eléctrica modulada en DCM. (Ver
Figura 9.11).

Figura 9.11. Modulación DCM del sensor de inclinación.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Dependiendo del valor gravitacional de inclinación a la salida se del sensor


se obtiene la señal PWM en los ejes X y Y. A un valor de 0g se tiene un ciclo
de trabajo del 50%.

Los sensores deben calibrarse a través de una resistencia (Rset) para trabajar
a diferentes frecuencias, lo cual quiere decir que el usuario decide la cantidad
de muestras por segundo que se desea recibir.

Etapa de Control

La etapa de control tiene la tarea de tomar los datos otorgados por el sensor
acelerómetro, procesarlos dependiendo de la cantidad de sensores que
se cuenten, decodificar el valor de inclinación del acelerómetro para dar una
señal de control al servomotor. El FPGA es el dispositivo encargado de
realizar éstas tareas Así queda subdividido en adquisición de datos,
procesamiento de datos, decodificador de datos y control de servomotor.

La adquisición de datos se realiza a través de un contador con doble reset


(uno asíncrono y otro sincrónico) a la entrada del sistema. Éste bloque realiza
la cuenta del tiempo de encendido del ciclo de trabajo de la señal PWM
proveniente del acelerómetro. Al iniciar el tiempo de encendido en la señal
PWM el registro del contador se resetea e incrementa su cuenta, cuando
ocurre el tiempo de apagado de la señal PWM, el valor del registro contador
pasa a un registro de almacenamiento donde será procesado.

La etapa de procesamiento de datos regula los diferentes niveles de


inclinación para los sensores. En caso de que haber más de un sensor existe
una dependencia dependiendo la posición de éstos. Los sensores están
localizados en cada una de los eslabones que asemejan a las falanges de
los dedos.
En este trabajo se presenta una posible solución del problema de la
cinemática directa de una mano robótica, es decir, a partir de los sensores
(acelerómetros) se obtiene la orientación de cada uno de las falanges, de
manera que es posible obtener la ubicación del efector final (yema del dedo)
utilizando las siguientes ecuaciones del sistema de referencia inercial X-Y.

X = l1 cos( θ 1 ) + l 2 cos( θ 1 + θ 2 )
Y = l1 sen (θ 1 ) + l 2 sen (θ 1 + θ 2 )
Φ =θ1 +θ2

En la Figura 9.12 se muestra una representación esquemática de dos


falanges que representa a uno de los dedos de la mano robótica,
cuyas longitudes están representadas por l1 y l2.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Figura 9.12. Representación de la Cinemática Directa.

Una vez procesados los datos a partir de las ecuaciones de la cinemática


directa, el decodificador de posición toma las muestras procesadas de los
sensores y los traduce a un valor de posición para el controlador del servo. La
muestra decodificada contiene el valor en tiempo para la señal de control, de
1ms a 2ms aproximadamente.
Tomando en cuenta que el sensor se encuentra en 0° de inclinación, se
desplazará 90º a gravedad positiva y 90º a gravedad negativa (Ver Tabla 9.3)
el servomotor tendrá el mismo rango de movimiento, de 0° a 180º; tomando
los 0º del sensor e igualándolos a 90º de posición para el servomotor (Ver
Figura 9.13).

Figura 9.13. Rangos de valores del decodificador.

Finalmente la última etapa es el control del servomotor, el cual consta de


un generador de PWM a baja frecuencia para posicionar al servomotor dentro
de los 180º de margen de operación. La posición del motor se encuentra
delimitada por el valor que proporciona el decodificador de datos,
aprovechando la característica de propia de un servomotor, el cual tiene un
controlador de lazo cerrado que ajusta su posición de acuerdo al incremento o
decremento del error de retroalimentación.
 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

El controlador digital sólo envía el valor de la posición deseada en la


modulación PWM de acuerdo a las referencias preestablecidas de valores.

IMPLEMENTACIÓN

Utilizando el acelerómetro ADXL202E como inclinómetro para la etapa de


sensado se configura con una resistencia en Rset de 125KΩ para obtener
mil muestras por segundo, los valores de inclinación de la salida X en señal
PWM se muestran en la Tabla 9.4.

Rest. Frec. +90º 0º Inc. -90º


Inc. Inc.
125KΩ 1KHz 41%CT 51%CT 64%CT

Tabla 9.4. Valores del acelerómetro ADXL202E.

Como se aprecia en la tabla anterior, el valor mínimo de ciclo de trabajo de la


señal PWM es de 41% a 1KHz, esto representa cuando el sensor está
inclinado a menor gravedad (+90º) si se toma como referencia la muesca del
sensor apuntando hacia arriba, y el valor máximo de ciclo de trabajo de la
señal PWM con máxima gravedad (-90º) cuando la muesca del sensor apunta
hacia abajo es de 64%.
Para la etapa de control, se tiene un FPGA Xilinx XC2S200E sobre una
tarjeta de desarrollo Digilent 2SB-DIO4.
Las características del contador de la señal PWM se muestran en la Tabla
9.5.
Tamaño FREC. Cuenta Cuenta Cuenta
CNT. Operación +90º 0º Inc. -90º
Inc. Inc.
8 bits 390.625KHz 162 206 253

Tabla 9.5. Características del contador de control.

Los resultados de la Tabla 9.5 muestran los valores de las cuentas (valores
en decimal) que se obtienen del ciclo de trabajo ó tiempo de
encendido de la señal PWM del acelerómetro. El contador de 8 bits tiene
como cuenta máxima a la frecuencia de operación un valor de 255 cuentas,
con la inclinación de mayor gravedad a un ciclo de trabajo de 64% se obtiene
una cuenta de 253. La resolución de éste contador es de 0.5º, lo cual quiere
decir que por cada grado de inclinación se obtienen 2 cuentas.
En ésta implementación se cuenta con un solo sensor de inclinación así
que es el de mayor prioridad, la etapa de decodificación toma los valores del
registro una vez hecha la cuenta para traducirlos en valores de control para
el servomotor.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

El control del servomotor es un PWM a 50Hz, para un servomotor Futaba


S3004.Las características del servomotor se muestran en la Tabla 9.6.

Modelo Velocidad Tiempo Tiempo Tiempo


CT. 0º CT. 90º CT.
180º
Futaba 0.23sec/60º 0.9ms 1.5ms 2.1ms
S3004 (a 4.8V)

Tabla 9.6. Características de servomotor Futaba S3004.

Los tiempos de posición en ciclo de trabajo para los diferentes grados


corresponden a la Figura 9, donde para posicionar el servomotor a 0º se
requiere que a un frecuencia de 50Hz y un ciclo de trabajo de 09.ms.
Para demostrar el funcionamiento de la etapa de decodificación y control del
servomotor en la Tabla 9.7 se muestran los valores del contador que
corresponden a cierta inclinación del acelerómetro con un rango de ±90º,
y los valores del servomotor que corresponden a su orientación en un
plano de 0º a 180º.

Inclinación Valor del Orientación Valor


Acelerómetro. contador del Código
(Hex) Servomotor PWM
+90º A2 0º 04H
+45º B8 45º 09H
0º CE 90º 0FH
-45º E4 135º 15H
-90º FD 180º 1BH

Tabla 9.7. Valores de inclinación para las diferentes etapas.

En la Figura 9.14, se puede observar los recursos utilizados del FPGA en el


diseño del Control Digital.

Figura 9.14. Recursos implementados del Control Digital por el FPGA.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

En la Tabla 9.8, se muestra el porcentaje utilizado de las celdas lógicas


disponibles para un FPGA XC2S200E de 200 mil compuertas. Se utilizó el 9%
del área programable del FPGA

FPGA % usado Bloques Bloques


Totales usados
XC2S200E 2% 2352 64

Tabla 9.8. Porcentaje utilizado del FPGA.

CONCLUSIONES

El control digital de servomotores es importante por las ventajas que ofrecen


los dispositivos lógicos programables, como su gran velocidad de
procesamiento y alta integración, fácil implementación y gran compatibilidad
con otros dispositivos como el acelerómetro. En éste artículo se realizó
el control digital de posición de un servomotor capturando datos de la
inclinación que proporcionaba un acelerómetro y decodificando esos datos
en valores de posición para orientar un servomotor en tiempo real todo esto
procesado por un FPGA. Este sistema de control será implementado para
controlar un brazo robótico a través de una interfaz humano-robot donde el
operador llevará el sistema de sensado (acelerómetros) montado en su mano
y brazo para mover en tiempo real un brazo robótico ubicado a distancia y
comunicado vía inalámbrica.

AUTOEVALUACION

1. Diseñe un esquema de implementación del FPGA dentro del


proyecto “Control digital de posición con acelerómetros”
2. Cuál es la tarea específica del FPGA dentro del proyecto?

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

ACTIVIDADES COMPLEMENTARIAS DE LA UNIDAD 3

1. Realice una profunda investigación sobre otras aplicaciones de los


Dispositivos Lógicos Programables. Realice un ensayo con aplicaciones
específicas en el sector científico (adquisición de datos) y en el sector médico
(equipos de electromedicina).

2. Ejercicio de diseño de una puerta NAND2

Objetivo de la práctica:

Diseño de una NAND 2 entradas según el estilo de celdas estándar, con un


tiempo de retardo, supuesto un Cload=1pF, inferior a 1ns. Distancia entre Vdd y
Vss menor de 100λ. Minimiza la anchura.

Caracterizarla, esto es:

• Márgenes de ruido (para Inversor, NAND, NOR, XOR)


• Obtener Función lógica en Microwind2 mediante simulación
• Área
• Consumo
• Retardo cuando se carga con Cload=1pf

Realizar todo en tecnología 0,25u.

Técnica de celdas estándar:

• Alimentación y tierra se distribuyen mediante conexiones metálicas


horizontales
• Difusiones se trazan en horizontal y polisilicio en vertical
• Las entradas y salidas se disponen arriba y abajo de la celda
• Las interconexiones se trazan horizontalmente en metal

Para obtener una alta densidad de integración en el estilo de celdas estándar


es conveniente que los transistores nMOS y pMOS se tracen colindantes y en
fila así todos pueden compartir la misma difusión y se evita el trazado explícito
de las conexiones entre fuentes y drenadores.
Sin embargo para lograrlo es importante elegir un orden adecuado de trazado
de las entradas.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

FUENTES DOCUMENTALES DE LA UNIDAD 3

Bar-Lev. "Semiconductors and electronic devices", Prentice Hall


International, 1984

Basic Integrated Circuit Engineering: Hamilton & Howard. Macgraw Hill (1975) Artigas,

J.I. et alter, Electrónica Digital: aplicaciones y problemas con VHDL,


Prentice-Hall, 2002.

C.J. Savant, M. S.Roden y G.L. Carpenter. "Diseño electrónico", Addison -


Wesley Iberoamericana, 1992

D. de Cogan. "Design and technology of integrated circuits". John Wile y & Sons
1990

Deschamps, J.P., Síntesis de circuitos digitales: un enfoque algorítmico, Ed.


Thomson, 2002.

Horestein, M., Microelectrónica: Circuitos y dispositivos, Prentice Hall, 1997.

Integrated Circuit Fabrication Technology: D.J. Elliot. MacGraw Hill (1989) Introducción

a la Física del Estado Sólido: C. Kittel. Reverté (1984)

Material Handbook for Hybrid Microelectronics: J.A. King. Artech House (1988)

Microelectronics. An integrated approach: R.T. Howe and C.G. Sodini. Prentice


Hall (1997)

Microelectronic Devices: E.S. Yang. MacGraw Hill (1988)

M.J. Morant. "Diseño y tecnología de circuitos integrados", Addison-Wesley


Iberoamericana, 1994

Modular series on solid state devices: Vol.1: "Semiconductor fundamentals", R.F.


Pierret, Vol.2: "The P-N junction diode", G.W. Neudeck, Vol.3: "The bipolar
junction transistor", G.W. Neudeck, Vol.4: "Field effect devices", R.F. Pierret,
Addison-Wesley Publishing Company (1990)

Pardo, Fernando, VHDL: lenguaje para síntesis y modelado de circuitos, RA-


MA, 1999.

Physics of Semiconductor devices: S.M. Sze. J. Wiley & Sons


 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

Quick Reference Manual for Silicon Integrated Circuit Technology: Beadle, Tsai
& Plummer. A. Wiley (1985)

Rashid, M.H., Circuitos Microelectrónicos, Thompson, 2002.

Semiconductor Devices. Physics and Technology: S.M. Sze. John Wiley & Sons
(1985)

Solid State and Semiconductor Physics: J. McKelvey. Harper & Row (1970) ULSI

Technology: C.Y. Chang and S.M. Sze. MacGraw Hill (1997)

VLSI Technology: S.M. Sze. MacGraw-Hill (1985)

VLSI Fabrication Technology: S.K. Ghandhi. John Wiley & Sons (1994)

Vapaille y R.Castagné. "Dispositifs et circuits intégrés semiconducteurs", Ed.


Dunod (1987)

Complementaria:

Van Zant, Peter. Microchip fabrication. 3a ed. New York: McGraw-Hill, 1997. ISBN
0-07-067250-4.

Laker, K.R.; Sansen, W.M.C. Design of analog integrated circuits and systems.
New York: McGraw Hill, 1994. ISBN 0-07-036060-X.

Baker, R, J.; Li, Harry W. ; Boyce, David E. CMOS : circuit design, layout and
simulation. New York: IEEE Press Series on Microelectronic Systems, 1998. ISBN
0780334167.

Martellucci, S.; Chester, A.N. ; Grazia,A. Optical sensors and micro systems new
concepts, materials, technologies. New York: Kluwer Academic/Plenum Publishers,
2000. ISBN 0-306-46380-6.

Fukuda, Mitsuo. Optical semiconductor devices. New York: Wiley Series in


microwave and optical engineering, 1999. ISBN 0-471-14959-4.

Geiger, R.L.; Allen, P.E. ; Strader, N.R. VLSI : design techniques for analog and digital
circuits. New York: McGraw Hill, 1990. ISBN 0-07-023253-9.

Sofware Utilizado (Windows):

• MicroWind2 - Simulador de layouts.


• DSCH2 - Simulador lógico.
• Manual.pdf - Manual de usuario de los dos programas anteriores.

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

 
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA 
CONTENIDO DIDÁCTICO DEL CUSO: 299008 – MICROELECTRÓNICA 

También podría gustarte