Subido por JC Cadet

TDSETema M1 1

Anuncio
TENDENCIAS EN EL DISEÑO DE
SISTEMAS ELECTRÓNICOS
Tema I.1:
Introducción al diseño
de sistemas digitales
Octubre 2007
Antonio Mateo Aroca
Juan Suardíaz Muro
[email protected]
[email protected]
Tema I.1
Sistemas Analógicos vs Digitales

Sistemas Analógicos
Procesan señales que varían con el tiempo y que pueden adquirir
cualquier valor a lo largo de un intervalo continuo de voltaje,
corriente o cualquier otra medida.

Sistemas Digitales
Hacen lo mismo, salvo que aparentan no hacerlo.
Podemos modelar las señales, de tal modo de que en un instante
de tiempo solo pueden tomar dos valores: 0 y 1, BAJO y ALTO,
FALSO y VERDADERO.
Tema I.1
Ventajas Sistemas Digitales







Reproducibilidad de los resultados. Las salidas de un circuito analógico
varían con la temperatura, alimentación, antigüedad de los componentes y otros
factores. Los digitales son más inmunes.
Facilidad de diseño. Se visualiza fácilmente.
Flexibilidad y funcionalidad. Fácilmente modificable.
Programabilidad. El diseño se puede realizar en base a la utilización de
lenguajes de descripción hardware.
Velocidad. Los transistores pueden conmutar en menos de 10 ps. Y un
dispositivo complejo puede presentar retardos de propagación de 2ns.  500
millones de resultados por segundo.
Economía. Proporcionan mucha funcionalidad en un espacio muy pequeño.
Avance tecnológico constante.
Tema I.1
Sistemas Combinacionales


Un circuito combinacional es un circuito cuya salida depende solamente de la
combinación de las señales de entrada.
Las puertas lógicas (compuertas) son los dispositivos digitales más sencillos.
Tema I.1
Sistemas Secuenciales


Su salida no sólo depende de las entradas al mismo, sino también del estado en
que se encuentra, es decir, de la secuencia anterior de las entradas. Es por ello,
que se suele decir que los circuitos secuenciales “tienen memoria”.
Tipos:
–
–
Latches: dispositivo que almacena ya sea un 0 o un 1. Su valor cambia según
determinados niveles de las señales (asíncrono)
Flip-Flop: dispositivo que almacena ya sea un 0 o un 1. Su valor cambia en
sincronía con una señal de reloj (síncrono)
Tema I.1
Abstracción Digital

Permite que el comportamiento analógico sea ignorado en la mayoría de los
casos, como si los circuitos puedan ser modelados como si en realidad
procesaran ceros y unos.
VNIH e VNIL es el margen de ruido
Tema I.1
Diseño Electrónico



La labor del diseñador electrónico consiste en asegurarse que las
compuertas lógicas produzcan y reconozcan las señales lógicas
que se encuentran dentro de los intervalos apropiados. Este es un
problema de diseño analógico.
No es posible diseñar un circuito que tenga el
comportamiento deseado bajo cualquier condición de voltaje
de alimentación, carga, etc.
El diseñador del circuito electrónico o el fabricante de dispositivos
proporcionan especificaciones que definen las condiciones bajo
las cuales se garantiza el comportamiento adecuado del
dispositivo o el circuito.
Tema I.1
Herramientas Diseño Electrónico





Capturadores de esquemáticos. Permiten dibujar los diagramas esquemáticos y
permiten verificar errores comunes.
Lenguajes de descripción hardware o HDLs (ABEL, VHDL y VERYLOG, HANDELC,
SYSTEM C). Compiladores HDLs, herramientas de síntesis y simulación. El diseñador
escribe una descripción hardware basado en texto. El compilador HDL analiza la
descripción y corrige la sintaxis. Si se compila correctamente el diseñador tiene la opción
de entregar la descripción a la herramienta de síntesis, la cual crea un diseño de circuito
adecuado a la tecnología elegida. Antes de realizar la síntesis se suele realizar una
simulación, a partir de los resultados obtenidos con el compilador.
Bancos de pruebas. Consiste en construir un conjunto de programas en torno a un
diseño, para ejecutar de forma automática sus funciones y verificar su funcionamiento
(HDL, C, C++, PERL).
Verificadores y analizadores de aspectos temporales. Son programas especializados
que pueden automatizar las tediosas labores de elaboración de cronogramas, así como,
especificar y verificar las relaciones temporales entre las distintas señales de un sistema
complejo.
Procesadores de texto.
Tema I.1
Circuitos Integrados Estándar
Cristal de
silicio
Planos de
fabricación
Cliché
Proceso de
difusión


El primer circuito integrado
nace en 1958 gracias a Jack
Kilby
La mejora de las tecnologías
de fabricación ha conducido a
las diferentes escalas de
integración, cumpliendo la
famosa ley de Moore.
Los cuadros se cortan con
laser
Cuadro de prueba
OBLEA
Prueba de las
obleas
Cuadro
Cableado
Encapsulado
Tema I.1
Encapsulados
Circuitos
Integrados
DIP
Dual in-line Package
SOIC
Small-outline IC
PLCC
Plastic leaded chip carrier
LCCC
Leadless ceramic chip carrier
PGA
Inserción
Montaje Superficial
(SMT)
FP
Flat-pack
Tema I.1
Encapsulados (II)
Tema I.1
Circuitos Integrados-Clasificación

Los circuitos integrados tradicionalmente se han clasificado según la cantidad de puertas lógicas
(compuertas) que contienen:
SSI
(*)
MSI
(*)
LSI
VLSI
Small Scale
Integration
Medium Scale
Integration
Large Scale
Integration
Very
Large
Scale
Integration
< 20 p. equival.
Puertas básicas y flip-flops
20-200
Funciones lógicas standar
200-200.000
Memorias pequeñas, P y
C, PLDs
La mayor parte de los P, C
y memorias grandes, ASICs
> 1.000.000
transistores
(*) SE ENCUENTRAN EN DESAPARICIÓN, SALVO LOS CI DE ESCALA DIMINUTA.
Tema I.I
Circuitos Integrados-Clasificación

Los sistemas electrónicos presentan una
evolución creciente en complejidad,
prestaciones y densidad.

Para afrontar esta complejidad creciente
surgen los ASIC:
–
–
ASIC tipo Full-Custom.
ASIC tipo Semi-Custom.




Estándar-cells.
Gate-arrays.
Sea of gates.
Los Dispositivos Lógicos Programables
(PLD) se pueden considerar entre los
productos estándar (SSI y MSI) y los
circuitos “full-custom” y “semi-custom”.
Tema I.1
ASICs


Los ASIC son chips diseñados para un producto o aplicación particular (Full Custom).
La utilización de ASIC está justificada por los siguientes motivos:
–
–
–
–

Reducen el número de componentes totales de un sistema y por tanto los costes de fabricación del sistema
al disminuir el número de chips utilizados.
Disminuyen el tamaño físico del sistema.
Disminuyen el consumo de potencia.
Proporcionan una mayor funcionalidad.
El coste de la Ingeniería No Recurrente (NRE) para el diseño de un ASIC puede exceder el de un
diseño discreto en una cantidad comprendida habitualmente entre los 6.000 y 250.000 €.
Tipo de ASIC
Full-custom 100.000 Puertas
Full-custom > 1.000.000 Transistores

NRE
30.000 a 50.000 €
> 250.000 €
Debido a que estos costes son muy elevados, sólo se justifican en aplicaciones de carácter general
que tengan un volumen de ventas muy elevado (reloj digital, interfaz de red, interfaz de bus para un
PC, etc).
Tema I.1
Diseño Full Custom







El diseñador no trabaja con puertas lógicas, sino al nivel tecnológico del CI. Es decir se
construye sus propias células, caracterizándolas eléctricamente.
Las herramientas que utiliza son: editores de layout, simuladores (SPICE), comprobadores de
reglas de diseño, etc.
Proceso poco productivo, requiriendo mucha experiencia.
Difícil y costoso de verificar.
Es problemático el adaptarse a cambios tecnológicos.
Precisa un estrecho contacto con el fabricante del CI.
PERO…..si las características del circuito a diseñar (velocidad, consumo, disponibilidad de
células estándar, etc) lo aconsejan, no hay más remedio.
Tema I.1
Diseño Semi Custom

Los fabricantes de CI ofrecen una serie de células optimizadas y garantizadas a partir de las
cuales se puede realizar un diseño.

Existen muchas células en forma de librerías soportadas por herramientas capaces de
sintetizarlas, generarlas, simularlas y probarlas (tests):
–
–
–
–
Células estandar (lógica).
Macroceldas ( macros): RAM, ROM, multiplicadores, etc.
Bloques funcionales: CPU RISC, Microcontroladores, UART, etc.
Células analógicas: A/D, D/A, etc.
Todo esto implica un uso más cómodo y diseños más
económicos => mayor productividad =>
=> DISMINUIR LOS COSTES NRE

En semi-custom el diseñador maneja los símbolos.

En full-custom el diseñador deber obtener el lay-out.

Tema I.1
Gate Arrays

Un gate-array es un CI cuya estructura interna esta formado por una matriz de puertas en
la que en principio no se especifican sus interconexiones. Así el diseñador especifica el
tipo de compuertas e interconexiones. Aunque el diseño se especifica a este nivel, el
diseñador trabaja con macrocélulas similares a las funciones de alto nivel que se utilizan
en el diseño de las Standard-cell. Es el software el que expande el diseño de alto nivel a
uno de bajo nivel.

La disposición en el chip de un gate-array no se encuentra tan optimizada como en el
caso de las Standard-cell. De tal modo que el tamaño del chip puede crecer un 25% Þ
incremento de precio. A pesar de ello, el diseño con gate-arrays se acaba antes, y es
menor el coste NRE (5.000-75.000 €).
Tema I.1
PCBs


Los CI se colocan sobre PCB (Printed Circuit Boards) o PWB (Printed Wiring Boards).
Existen multitud de tipos, así como, herramientas para su diseño.
Los PCBs se pueden clasificar atendiendo a multitud de características:
–
–
–
–
–

Bicapa o multicapa (pistas de cobre laminadas sobre varias capas de fibra de vidrio formando una
única tarjeta de 1/16”).
Componentes de inserción o de montaje superficial (SMT, surface-mount technology).
Taladros metalizados o sin metalizar.
Para diseño digital, analógico o mixto.
Etc.
El diseñador es responsable del calculo de las
dimensiones físicas y su interconexión (“placement”/”routing”).
Estas operaciones se pueden hacer de forma
manual o semiautomática.
Tema I.1
PCBs (II)

La experiencia aconseja:
–
Colocación de componentes de forma automática o semiautomática (auto-routing).
–
Interconexión manual de las señales más críticas (reloj, reset, señales de control,
etc) minimizando su longitud y evitando ángulos y recodos pronunciados.
–
El resto de señales pueden rutarse automáticamente.
–
En el diseño mixto, analógico y digital, separar claramente en la zona las distintas
zonas y tratar con cuidado las masas respectivas => ruidos.
–
En el caso del diseño digital no perder de vista la tecnología utilizada (CMOS, TTL,
etc), unas son más ruidosas que otras; la frecuencia de funcionamiento, para
dimensional el ancho y separación de las pistas para evitar ruido por acoplamiento
capacitivo e inductivo;
Tema I.1
Niveles de Diseño Digital
Físico Consiste en trabajar al nivel físico de los dispositivos y los procesos
de fabricación de CI.
Es el nivel responsable de los enormes avances en cuanto a
integración y velocidad.
Ley de Moore (Gordon Moore, 1965): La cantidad de transistores
por pulgada cuadrada se duplica cada año.
Actualmente se duplican cada 18 meses.
Habitualmente no vamos a trabajar a este nivel.
Lógico Se utilizan tablas de verdad o diagramas de estado para describir la
LSI
funcionalidad del circuito.
MSI Se aplican técnicas de análisis basadas en el álgebra de Boole
para obtener funciones simplificadas.
Finalmente se implementa una solución utilizando diversas
tecnologías.
ABEL Se utilizan lenguajes de descripción hardware sencillos tal como
ABEL para especificar el circuito que posteriormente se va a
implementar sobre el PLD.
El software se encarga de realizar las conexiones sobre el PLD.
VHDL Sirve para realizar diseños muy jerarquizados y complejos, al ser
un lenguaje mucho más poderoso.
Tema I.1
Niveles de Diseño Digital (II)

Ejemplo: Formas de describir un multiplexor
Físico
Lógico
Tema I.1
Niveles de Diseño Digital (III)

Ejemplo: Formas de describir un multiplexor
LSI
MSI
Tema I.1
Niveles de Diseño Digital (IV)

Ejemplo: Formas de describir un multiplexor
ABEL
Tema I.1
Niveles de Diseño Digital (V)

Ejemplo: Formas de describir un multiplexor
VHDL
Tema I.1
Objetivos del Diseño


Dados los rendimientos funcionales y de rendimiento para un sistema digital, el objetivo
fundamental del diseño es MINIMIZAR COSTOS.
Diseño a nivel de PCB
–
–
Hay que minimizar el número de circuitos integrados. Habitualmente el tamaño físico de las tarjetas está
limitado.
La regla general es minimizar CI aunque el coste individual del CI sea mayor. Ejemplo:


–
En el caso de un diseño que necesitara usar 3 CI (75 céntimos de Euro) o un PLD (1 Euro) elegiríamos
el del PLD por lo siguiente:



Coste de 1 CI LSI o MSI = 25 céntimos de Euro.
Coste de 1 PLD = 1 Euro.
Utiliza menos área de tarjeta.
Es más fácil de modificar.
Diseño a nivel de ASIC
–
–
–
–
En aplicaciones de volumen medio o bajo (la mayoría) los dos factores que inciden más en el coste son:
tiempo de diseño y costo NRE.
Reducir tiempos de diseño implita introducir el producto antes en el mercado, incrementando su vida
media.
La reducción del coste NRE en ocasiones es fundamental cuando hay limitaciones de presupuesto.
Estos dos últimos argumentos favorecen la proliferación de diseños basados en la utilización de PLDs,
CPLDs y FPGAs.
Tema I.1
PLDs

Los SPLD se pueden considerar que se encuentran entre los productos
estándar (SSI y MSI) y los circuitos “custom” y “semi-custom”. Su
capacidad de integración es, en media, por lo que pueden realizar tareas
relativamente sencillas, si bien pueden realizar funciones para las cuales
eran necesarios varios circuitos estándar.

Se basan en el empleo de matrices lógicas programables:
Tema I.1
PLDs (II)

Una ventaja adicional de los SPLD es su coste reducido. Permiten el
diseño de circuitos combinacionales y secuenciales no muy complejos, a
medida y a un bajo coste.
Coste unitario
Coste por puerta
Tiempo de desarrollo
Eficiencia
Integración
Puertas equivalentes

Circuitos std.
BAJO
MEDIO
SEMANAS
BAJA
BAJA O MEDIA
10
SPLDs
Semi Custom Full Custom
BAJO O MEDIO
MEDIO
ALTO
MEDIO
BAJO
MUY BAJO
HORAS
SEMANAS
MESES
MEDIA
MEDIO
ALTA
MEDIA
ALTA
MUY ALTA
100
1000/10000
100000
Existen cuatro tipos de dispositivos SPLD:
–
–
–
–
PROM, Programmable Read-Only Memory.
PLA, Programmable Logic Array.
PAL, Programmable Array Logic.
GAL, Generic Array Logic.
Tema I.1
PROM


Memoria de sólo lectura.
Se utiliza como una memoria direccionable y no como un dispositivo
lógico, debido a las limitaciones que imponen las puertas AND fijas.
Tema I.1
PLA

También se conoce como FPLA (Field Programmable Logic Array),
debido a que es el usuario, y no el fabricante, es el que la programa.
Tema I.1
PAL

Mejora las desventajas de las PLA en cuanto a los retardos en los
fusibles. Es el dispositivo programable, para una sola vez, más común, y
se implementa con tecnología TTL y ECL.
Tema I.1
GAL

Es el desarrollo más reciente. Tiene una estructura muy parecida a la
PAL, pero con las siguientes diferencias:
–
–

Es reprogramable.
Tiene configuraciones de salida reprogramables.
Usa tecnología E2CMOS (Electrically Erasable CMOS).
Tema I.1
CPLDs

Son versiones más grandes que los PLD sencillos, con una matriz de interconexión interna
centralizada que se utiliza para interconectar las macroceldas del dispositivo.

La matriz de interconexión se programa para conectar de forma selectiva señales de
entrada a un nivel de puertas AND programables que se conectan a su vez a un nivel de
puertas OR fijo.

Las salidas de las puertas OR se conectan a su vez a macrocelulas configurables que
permiten al usuario:
o
o
o
o

Especificar la polaridad de salida.
Seleccionar operaciones combinacionales o de registro.
Proporcionar la funcionalidad triestado.
Opcionalmente realimentar la matriz de interconexión.
Independientemente de la función que se implemente, el camino que siguen las señales a
través del CPLD es prácticamente el mismo. Esta arquitectura limita la flexibilidad del
diseño, pero ofrece la ventaja con que los tiempos de propagación son muy predecibles.
Tema I.1
FPGAs

Las FPGAs son circuitos de aplicación específica (ASIC) de alta densidad programables
por el usuario en un tiempo reducido y sin la necesidad de verificación de sus
componentes, tarea ya realizada por el fabricante al tratarse de un producto estándar.

Se las considera como un derivado de los Gate Array: FPGA = Field Programmable Gate
Array Gate Array Programable en Campo. Aunque es menos usado, también se les
conoce como LCAs (Logic Cell Array), denominación registrada por Xilinx.
Tipo de producto
Impacto en la producción
Gate Array
Específico
Retrasos en la producción
FPGA
Estándar
de distribución
Rapidez
en
mercado
Sólo en proceso de fabricación. Por el usuario (reprogramable)
Complicada
Fácil
fases
Imposible
Posible
Programación
Simulación
Verificaciones en
previas al diseño final.
Cambios en el diseño
Comprobación del dispositivo
Muy costosos
Específica para cada diseño
Posible en cualquier momento.
Comprobada por el fabricante
Tema I.1
FPGAs (II)

La primera FPGA aparece en 1985 producida por la compañía norteamericana Xilinx,
fundada un año antes. Desde su aparición, han experimentado una importante evolución,
tanto en ventas, como en prestaciones. Esta aceptación en la industria electrónica es
debida, en gran medida, a las tendencias actuales, que exigen cada vez mayores
prestaciones, integración y fiabilidad, combinadas con un menor coste y consumo.
Tema I.1
FPGAs (III): Arquitectura

Una FPGA consta de tres tipos de elementos programables:
1. Bloques Lógicos Configurables (CLB, Configurable Logic Block).
2. Matrices de interconexión (SM, Switching Matrix).
3. Bloques de entrada/salida (IOB, Input/Output Blocks).

Además presenta líneas de interconexión, agrupadas en canales verticales y
horizontales.

Finalmente, dispone de células de memoria de configuración (CMC,
Configuration Memory Cell) distribuidas a lo largo de todo el chip, las cuales
almacenan toda la información necesaria para programar los elementos
programables mencionados anteriormente. Estas células de configuración
suelen consistir en memoria RAM y son inicializadas en el proceso de carga del
programa de configuración.
Tema I.1
FPGAs (IV): Arquitectura
Tema I.1
FPGAs (V): CLBs




Constituyen el núcleo de una FPGA. Cada CLB presenta una sección de lógica
combinacional programable y registros de almacenamiento.
Los registros de almacenamiento sirven como herramientas en la creación de lógica
secuencial.
La sección de lógica combinacional suele consistir en una LUT (Look Up Table), que permite
implementar cualquier función bolean a partir de sus variables de entrada. Su contenido se
define mediante las células de memoria (CMC).
Se presentan también multiplexores, como elementos adicionales de direccionamiento de los
datos del CLB, los cuales permiten variar el tipo de salidas (combinacionales o registradas),
facilitan caminos de realimentación, o permiten cambiar las entradas de los biestables. Se
encuentran controlados también por el contenido de las células de memoria (CMC).
Tema I.1
FPGAs (VI): IOBs




La periferia de la FPGA está
constituida por bloques de
entrada/salida configurables por
el usuario.
Cada bloque puede ser
configurado independientemente
para funcionar como entrada,
salida o bidireccional, admitiendo
también la posibilidad de control
triestado.
Los IOBs pueden configurarse
para trabajar con diferentes
niveles lógicos (TTL, CMOS, …).
Además, cada IOB incluye flipflops que pueden utilizarse para
registrar tanto las entradas como
las salidas.
Tema I.1
FPGAs (VII): Interconexiones

Constituyen un conjunto de caminos que permiten conectar las
entradas y salidas de los diferentes bloques.

Están constituidas por líneas metálicas de dos capas que recorren
horizontal y verticalmente las filas y columnas existentes entre los
CLBs.

Dos elementos adicionales participan activamente en el proceso de
conexión:
–
Puntos de Interconexión Programable (PIP, Programmable
Interconnection Point)


–
Permiten la conexión de CLBs e IOBs a líneas metálicas cercanas.
Consisten en transistores de paso controlados por un bit de configuración
Matrices de interconexión (SW, Switch Matriz o Magic Box).


Son dispositivos de conmutación distribuidos de forma uniforme por la FPGA.
Formados internamente de transistores que permiten la unión de las
denominadas líneas de propósito general, permitiendo conectar señales de
unas líneas a otras.
Tema I.1
FPGAs (VIII):
Líneas de propósito general

Conjunto de líneas horizontales y verticales conectadas a una matriz
de interconexión.
Tema I.1
FPGAs (IX):
Líneas directas

Líneas de conexión directa entre
bloques, sin tener que pasar por
ninguna matriz de interconexión.

Proporcionan la implementación
más eficiente de redes entre CLBs
e IOBs adyacentes, al introducir
retardos mínimos y no usar
recursos generales (SM).
Tema I.1
FPGAs (X):
Líneas largas

Líneas conductoras de señal de
gran longitud que atraviesan la
FPGA de arriba abajo y de
izquierda a derecha.

Permiten un fan-out elevado y un
acceso rápido de una señal a un
punto distante, sin la degradación
temporal que originan las
conexiones de propósito general.

Suelen estar limitadas, por lo que
es conveniente dedicarlas para
señales críticas, como pueda ser el
reloj o señales de inicialización
globales.
Tema I.1
FPGAs (XI):
Memoria de Configuración

El dato de una célula de memoria habilita o deshabilita dentro del dispositivo un
elemento programable.

Están constituidas por dos inversores CMOS conectados para implementar un
latch, además de un transistor de paso usado para leer y escribir la célula.

Sólo son escritas durante la configuración y pueden ser leídas durante un proceso
conocido como “readback”.

El proceso de configuración consiste en la carga de un fichero formado por un
conjunto de bits, cada uno de los cuales es almacenado en una de estas células de
memoria estática.
Descargar