You are on page 1of 30

DISEÑO DE SISTEMAS

DIGITALES
EYBERTH ROJAS MARTÍNEZ
CONTENIDO
Ø CAPITULO I: INTRODUCCIÓN AL DISEÑO DIGITAL MODERNO

◦ Técnicas de diseño lógico: Lógica Cableada o Discreta.


◦ Circuitos Integrados de Aplicación Específica ASICs.
◦ Herramientas de Diseño AsisLdo por Computador CAD.
◦ AlternaLvas Half Custom y Full Custom.
◦ Metodología de diseño jerárquico Top Down.
◦ Industria EDA: Electronic Design AutomaLon.
◦ DisposiLvos Lógicos Programables: ROM, PLA,
◦ PAL DisposiLvos de alta capacidad. FPGAs y CPLDs

15/08/18 EYBERTH ROJAS MARTÍNEZ - AUTÓMATAS 2


CONTENIDO
Ø CAPITULO I: INTRODUCCIÓN AL DISEÑO DIGITAL MODERNO

◦ Lógica Programable: Ventajas y aplicaciones.


◦ Programación en Hardware Vs. Programación en SoKware.
◦ Lenguajes de Descripción de Hardware.
◦ Very High Speed Hardware DescripNon Lenguage VHDL.
◦ Historia y evolución del VHD L.
◦ Fases del Diseño Lógico Programable.
◦ Metodologías para la captura del diseño.
◦ Simulación lógica y de Nempos.
◦ Implementación y configuración.
◦ Herramientas de síntesis y simulación

15/08/18 EYBERTH ROJAS MARTÍNEZ - AUTÓMATAS 3


CONTENIDO
Ø CAPITULO II: VHDL en flujo de datos, algorítmica y estructural

◦ EnCdades y arquitecturas.
◦ IdenCficadores, espacios y comentarios.
◦ Tipos en VHDL: Type Std_logic, señales, compuertas lógicas, sumadores, restadores.
◦ Sentencia Process ejemplos: Buffers de tercer estado, Decodificadores, MulCplexores, Codificadores
de prioridad. Sentancia case. Ejemplos: Conversor BCD-7segmentos.
◦ VHDL estructural: Netlist, mapeo de componentes.
◦ VHDL para simulación: Testbench en flujo de datos.
◦ Testbench secuencial

15/08/18 EYBERTH ROJAS MARTÍNEZ - AUTÓMATAS 4


CONTENIDO
Ø CAPITULO III: VHDL para sistemas secuenciales

◦ Latches, flip-flops, registros, contadores, registros de desplazamiento


◦ Diseño secuencial síncrono.
◦ Máquinas de estado.
◦ Algoritmos en VHDL para máquinas de estado.
◦ Testbench para máquinas de estado.

15/08/18 EYBERTH ROJAS MARTÍNEZ - AUTÓMATAS 5


CONTENIDO
Ø CAPITULO IV Diseño de sistemas digitales comlejos

◦ Diseño de Datapath.
◦ Diseño de la unidad de control.
◦ Manejo de subestados en máquinas de estado complejas.

15/08/18 EYBERTH ROJAS MARTÍNEZ - AUTÓMATAS 6


BIBLIOGRAFÍA
ØMano, M. M. (2002). Diseño digital. EBSCO Publishing, Inc.
ØMano, M. M., Kime, C. R., & Guerrero, G. (2005). Fundamentos de diseño lógico y de
computadoras. Pearson Educación.
ØFloyd, T. L., Caño, M. J. G., & de Turisi, E. B. L. (1997). Fundamentos de sistemas digitales (Vol. 7).
PrenOce Hall.
ØFloyd, T. L., & Feagin, J. R. (2003). Digital fundamentals with VHDL, PrenOce Hall.
ØWakerly, J. F. (2001). Diseño digital: principios y prác>cas. Pearson educación.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 7


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
CIRCUITOS INTEGRADOS DE FUNCIÓN FIJA
• Las funciones lógicas son definidas por el fabricante y no es posible modificarlas.
• Los terminales del chip se conectan a los pines del encapsulado para permi9r las conexiones
de entrada y de salida al mundo exterior.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 8


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Encapsulados de CI
• Se clasifican según la forma en que se montan sobre las tarjetas de circuito impreso.
• Pueden ser de inserción o de montaje superficial.
• Los encapsulados de inserción disponen de pines (patas) que se introducen en los taladros
de la tarjeta de circuito impreso y se sueldan a las pistas de la cara opuesta.
• El montaje superficial (SMT, Surface-Mount Technology) representa una alternaAva, que
permite ahorrar espacio, al montaje de inserción. En la tecnología SMT, los taladros de las
tarjetas de circuito impreso no son necesarios.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 9


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Tipos de encapsulados SMT

• SOIC (small-outline IC)


• PLCC (plas1c leaded chip carrier)
• LCCC (leadless ceramic chip carrier)

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 10


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Clasificación de los CI de función fija según su complejidad
• Integración a pequeña escala (SSI, Small-Scale Integra-on). Describe los CI de función fija que
con;enen hasta diez puertas equivalentes en un mismo chip, e incluyen compuertas básicas y
flip-flops.
• Integración a media escala (MSI, Medium-Scale Integra-on). Describe los CI que con;enen entre
10 y 100 puertas equivalentes en un mismo chip. Incluyen funciones lógicas como codificadores,
decodificadores, contadores, registros, mul;plexores, circuitos aritmé;cos, memorias pequeñas y
otras.
• Integración a gran escala (LSI, Large-Scale Integra-on). Es una categoría de los CI que incluyen
entre 100 y 10.000 puertas equivalentes por chip, incluyendo memorias.
• Integración de muy gran escala (VLSI, Very Large-Scale Integra-on). Describe los CI con un
número de puertas equivalentes desde 10.000 hasta 100.000 por chip.
• Integración a ultra escala (ULSI, Ultra Large-Scale Integra-on). Describe memorias de gran
capacidad, grandes microprocesadores y computadoras en un solo chip. Esta categoría designa
los CI que con;enen más de 100.000 puertas equivalentes por chip.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 11


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Tecnologías de circuitos integrados
• Los %pos de transistores con los que se implementan los circuitos integrados pueden ser
transistores bipolares o MOSFET (Metal-Oxide Semiconductor Field-Effect Transistor,
transistor de efecto de campo por unión metal-óxido-semiconductor)
• Una tecnología de circuitos que u%liza MOSFET es la tecnología CMOS (Complementary
MOS, MOS complementario). Un %po de tecnología de CI de función fija que u%liza los
transistores bipolares es la TTL (Transistor-Transistor Logic, lógica transistor-transistor)
• BiCMOS u%liza una combinación de las tecnologías CMOS y TTL.
• Los circuitos SSI y MSI están disponibles en CMOS y en TTL
• LSI, VLSI y ULSI suelen implementarse con tecnología CMOS o NMOS, porque requieren una
menor superficie de chip y consumen menos potencia.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 12


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
INTRODUCCIÓN A LA LÓGICA PROGRAMABLE
• La lógica programable requiere tanto hardware como so7ware
• Los disposi8vos lógicos programables pueden programarse para que el fabricante o el
usuario pueda llevar a cabo funciones lógicas especificas.
• Una ventaja de la lógica programable frente a la lógica fija es que los disposi8vos
u8lizan menos espacio de la tarjeta de circuito impreso para una can8dad
equivalente de lógica
• Otra ventaja es que, con la lógica programable, los diseños se pueden modificar
fácilmente sin tener que recablear o reemplazar componentes.
• Generalmente un diseño lógico se puede implementar más rápidamente y con
menos coste u8lizando circuitos lógicos programables en lugar de los CI de función
fija.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 13


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Tipos de disposi(vos lógicos programables
• Las dos principales categorías de los
disposi0vos lógicos programables de usuario
son los PLD (Programmable Logic Device,
disposi0vo lógico programable) y las FPGA
(Field Programmable Gate Array, matrices
de puertas programable por campo). Los PLD
pueden ser SPLD (Simple PLD, PLD simple) o
CPLD (Complex PLD, PLD complejo).

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 14


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
SPLD (Simple Programmable Logic Device)
• Un SPLD puede reemplazar a diez CI de función fija y
sus interconexiones, dependiendo del :po de
funciones y del SPLD específico.
• La mayoría de los SPLD pertenecen a una de dos
posibles categorías: PAL y GAL.
• Una PAL (Programmable Array Logic, matriz lógica
programable) es un disposi:vo que se puede
programar una vez. Consta de una matriz
programable de puertas AND y una matriz fija de
puertas OR.
• Una GAL (Generic Array Logic, matriz lógica genérica)
es un disposi:vo que es básicamente una PAL que
puede reprogramarse muchas veces. Consta de una
matriz reprogramable de puertas AND y de una
matriz fija de puertas OR con salidas programables.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 15


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
CPLD (Complex Programmable Logic Device)
• Los fabricantes fueron capaces de incluir más de un SPLD en
un mismo chip, lo que dio lugar al nacimiento del CPLD.
• En esencia, un CPLD es un disposi=vo que con=ene varios
SPLD y que puede reemplazar a muchos CI de función fija.
• Bloques de matriz lógica (LAB, Logic Array Block)
• Matriz de interconexión programable PIA (Programmable
Interconnec4on Array).
• Dependiendo del CPLD especifico, puede contener desde
dos hasta sesenta y cuatro bloques LAB. Cada matriz lógica
es aproximadamente equivalente a un SPLD.
• Los CPLD pueden u=lizarse para implementar cualquiera de
las funciones lógicas, por ejemplo decodificadores,
codificadores, mul=plexores, demul=plexores y sumadores.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 16


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
FPGA (Field Programmable Gate Array) I
• Por lo general, una FPGA es más compleja y 2ene una
densidad mucho mayor que un CPLD, aunque en ocasiones
sus aplicaciones pueden solaparse.
• Como hemos dicho, el SPLD y el CPLD están ín2mamente
relacionados, puesto que, básicamente, el CPLD con2ene un
conjunto de disposi2vos SPLD. Sin embargo, la FPGA 2ene
una estructura interna (arquitectura) diferente.
• Los tres elementos básicos en una FPGA son el bloque
lógico, las interconexiones programables y los bloques de
entrada/salida (E/S).
• Los bloques lógicos de una FPGA no son tan complejos como
los bloques de matrices lógicas (LAB) de un CPLD, aunque
generalmente con2enen muchos más. Cuando los bloques
lógicos son rela2vamente simples, la arquitectura de la
FPGA se dice que es de granularidad fina. Cuando los
bloques lógicos son grandes y más complejos, la
arquitectura se denomina de granularidad gruesa.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 17


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
FPGA (Field Programmable Gate Array) II
• Los bloques de E/S se encuentran en los bordes
exteriores de la estructura y proporcionan entrada,
salida o acceso bidireccional seleccionable al
mundo exterior.
• La matriz de interconexiones programable
distribuida proporciona la interconexión de los
bloques lógicos y la conexión a las entradas y las Encapsulado BGA (Ball-Grid Array) Wpico
salidas. para FPGA. Estos Xpos de encapsulados
pueden tener unos 1.000 pines de
• Las FPGA grandes pueden contener decenas de entrada y salida
miles de bloques lógicos además de memoria y
otros recursos.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 18


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Concepto básico de una matriz AND programable.
• La mayor parte de los /pos de disposi/vo PLD
u/lizan alguna forma de matriz AND.
• Esta matriz está formada, básicamente, por
puertas AND y una matriz de interconexiones con
conexiones programables en cada punto de
intersección
• El propósito de las conexiones programables es
establecer o interrumpir una conexión entre una
línea de fila y una línea de columna de la matriz
de interconexión

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 19


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Concepto básico de una matriz AND programable.
• EJ: Indicar cómo debe programarse la matriz AND para obtener las siguientes salidas:
̅ y !) = $̅&%
% !' = $&
!" = $&;

• EJ: Un automóvil cuenta con tres sensores:


§ En la puerta del conductor (P = 0 si esta abierta)
§ En el encendido de las luces (L = 1 si están apagadas)
§ En el broche del cinturón de seguridad (C = 1 si esta abrochado)
Indicar cómo debe programarse la matriz AND para que permita monitorear el uso de
los disposiIvos de seguridad de modo que se encienda un LED si se cumple con todas
las medidas de seguridad.
15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 20
Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Concepto básico de una matriz AND programable.
• EJ: Determinar mediante los números de fila y
de columna qué fusibles deben fundirse en la
matriz AND programable de la Figura, para
implementar cada uno de los siguientes
términos producto:
̅
!" = %&'; !( = %&'̅ y !) = %&
̅ '̅

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 21


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
El proceso de programación
• Puede pensarse en un SPLD, un CPLD o una FPGA
como en un “circuito en blanco” en el que se va a
implementar un circuito o sistema especifico
u>lizando un determinado proceso.
• En el proceso de implementar un diseño lógico
digital en un disposi>vo lógico programable son
necesarios varios pasos, lo que se denomina
diagrama de flujo del diseño.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 22


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Introducción del diseño.
• Este es el primer paso de programación.
• El diseño del circuito o sistema debe introducirse en el so6ware de diseño u8lizando un
medio de entrada basado en texto, en gráficos (captura de esquemá8cos) o en una
descripción del diagrama de estados.
• El método para introducir el diseño es independiente del disposi8vo. La introducción del
diseño por técnicas basadas en texto se lleva a cabo mediante un lenguaje de descripción
de hardware (HDL, Hardware Descrip-on Language)
• Como por ejemplo VHDL, Verilog, AHDL o ABEL.
• La interfaz grafica (esquemá8cos) permite seleccionar funciones lógicas pre-almacenadas
en una biblioteca, colocarlas en la pantalla e interconectarlas para crear un diseño lógico.
• La introducción del diagrama de estados requiere especificar los estados por los que pasa
el circuito lógico secuencial, así ́ como las condiciones que dan lugar a cada cambio de
estado.
• Una vez que se ha introducido el diseño, se compila.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 23


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Simulación funcional.
• El diseño introducido y compilado se simula por so4ware para confirmar que el
circuito lógico funciona como se esperaba.
• La simulación verificará que se generan las salidas correctas para un conjunto
especifico de entradas. Generalmente, una herramienta so4ware independiente del
disposiCvo que lleva a cabo esta función se denomina editor de señales. Cualquier
fallo que indique la simulación deberá́ corregirse realizando los cambios apropiados
en la fase de introducción del diseño.
Síntesis.
• La síntesis es el proceso mediante el cual el diseño se traduce en una lista de
componentes (netlist), la cual Cene un formato estándar y es independiente del
disposiCvo.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 24


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Implementación.
• La implementación es la fase en la que las estructuras lógicas descritas en la netlist se
hacen corresponder con la estructura real del disposi6vo específico que se va a
programar.
• El proceso de implementación se denomina colocación y ruteado y como resultado
proporciona una salida denominada flujo de bits (bitstream), que es dependiente del
disposi6vo.
Simulación de temporización.
• Este paso se realiza después de que el diseño se haya mapeado sobre el disposi6vo
especifico.
• Esta simulación se u6liza fundamentalmente para confirmar que no existen fallos de
diseño o problemas de temporización debidos a los retardos de propagación.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 25


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Descarga.
• Una vez que se ha generado el flujo de bits para un disposi7vo programable concreto, hay
que descargarlo en el disposi7vo para implementar el diseño so=ware en el hardware.
• Algunos disposi7vos programables 7enen que instalarse sobre un equipo especial,
denominado programador de disposi7vos, o sobre una tarjeta de desarrollo.
• Otros disposi7vos pueden programarse dentro de un sistema (lo que se denomina
programación dentro del sistema, ISP, In-System Programming) u7lizando una interfaz
estándar JTAG (Joint Test Ac7on Group).
• Algunos disposi7vos son volá7les, lo que quiere decir que su contenido se pierde cuando
se ponen a cero o se quita la alimentación. En este caso, los datos del flujo de bits deben
almacenarse en una memoria y cargarse de nuevo en el disposi7vo después de cada
puesta a cero o desconexión de la alimentación.
• Además, el contenido de un disposi7vo ISP se puede manipular o actualizar mientras que
el sistema está funcionando. Esto se denomina reconfiguración “sobre la marcha”.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 26


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Metodología de diseño
• Concepto de herramientas CAD(Computer Aided Design, Diseño Asis7do por
Computador)-EDA (Electronic Design Automa7on, Automa7zación de Diseño
Electrónico)
El diseño hardware 7ene un problema fundamental que no existe por ejemplo en la
producción del soDware. Este problema es el alto coste del ciclo de diseño, proto7pado,
testeo, vuelta a empezar ya que el coste del proto7po suele ser en general bastante
elevado. Se impone la necesidad de reducir este ciclo de diseño para no incluir la fase de
proto7pación más que al final del proceso evitando las repe7ciones de varios proto7pos
que es lo que encarece el ciclo. Para ello se introduce la fase de simulación y
comprobación de circuitos u7lizando herramientas de CAD.

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 27


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Herramientas CAD para el diseño hardware
• Lenguajes de descripción de circuitos
• Captura de esquemas
• Grafos y diagramas de flujo
• Simulación de sistemas
• Simulación funcional
• Simulación digital
• Simulación eléctrica
• Realización de PCBs
• Realización de circuitos integrados
• Realización de disposi@vos programables

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 28


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Diseño Bo)om Up

Sistema

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 29


Capitulo I: INTRODUCCIÓN AL DISEÑO
DIGITAL MODERNO
Diseño Top Down

Sistema

15/08/18 EYBERTH ROJAS MARTÍNEZ - ELECTRÓNICA II 30

You might also like