0% encontró este documento útil (0 votos)
4 vistas30 páginas

Metodologías de Diseño en Sistemas Computacionales

El documento aborda las metodologías de diseño electrónico actuales, centrándose en conceptos como la concurrencia de procesos y dispositivos lógicos programables (PLD), incluyendo CPLD y FPGA. Se discuten también sistemas en un chip (SoC), circuitos integrados de aplicación específica (ASIC) y productos estándar de aplicación específica (ASSP). Finalmente, se introduce el lenguaje VHDL y su estructura para la descripción de circuitos digitales.

Cargado por

andyservy17
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas30 páginas

Metodologías de Diseño en Sistemas Computacionales

El documento aborda las metodologías de diseño electrónico actuales, centrándose en conceptos como la concurrencia de procesos y dispositivos lógicos programables (PLD), incluyendo CPLD y FPGA. Se discuten también sistemas en un chip (SoC), circuitos integrados de aplicación específica (ASIC) y productos estándar de aplicación específica (ASSP). Finalmente, se introduce el lenguaje VHDL y su estructura para la descripción de circuitos digitales.

Cargado por

andyservy17
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Diseño de Sistemas Computacionales para

Aplicación Específica

Sesión 02: Metodologías de


diseño electrónico en
la actualidad

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

Temario:

- Concepto de concurrencia de procesos


- Dispositivo lógico programable (PLD)
- Dispositivo lógico programable complejo (CPLD)
- Arreglo de compuertas programable en campo (FPGA)
- Concepto de sistema en un chip (SoC)
- System on Chip FPGA (SoC-FPGA)
- Circuito integrado de aplicación específica (ASIC)
- Producto estándar de aplicación específica (ASSP)
- Introducción al VHDL: Estructura del código

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

1.- CONCEPTOS Y DEFINICIONES

1.1.- Concurrencia de procesos

¿Qué es la concurrencia de
procesos?

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

1.- CONCEPTOS Y DEFINICIONES

1.1.- Concurrencia de procesos

En informática, se dice que dos o más procesos son concurrentes cuando éstos se ejecutan al
mismo tiempo (en paralelo). Es decir, que para ejecutar uno de ellos, no hace falta que se
haya ejecutado otro.

Esto contrasta con la manera como se ejecutan los procesos en un microprocesador (de un
solo núcleo), es decir, de manera secuencial.

Código Implementación Implementación


secuencial concurrente

MOVF a, 0
x = (a & b) | c; ANDWF b,0
y = a | b; IORWF c, 0
MOVWF x
MOVF a, 0
IORWF b, 0
MOVWF y

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

1.- CONCEPTOS Y DEFINICIONES

1.1.- Concurrencia de procesos

La concurrencia de procesos resulta conveniente cuando se necesita procesar una gran


cantidad de información en un tiempo reducido.

Por ejemplo, si se desea mostrar imágenes en movimiento en una pantalla LCD (TFT), puede
lograrse empleando un microcontrolador. Sin embargo, si incrementamos la resolución de las
imágenes, habrá un momento en que el microcontrolador no podrá procesar toda la
información en el tiempo requerido.

En ese caso, será necesario usar un driver de video, el cual puede procesar múltiples
secciones de la imagen de manera concurrente.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

1.- CONCEPTOS Y DEFINICIONES

1.2.- Dispositivo lógico programable (PLD)

Un dispositivo lógico programable es un componente electrónico empleado para construir


circuitos digitales reconfigurables.

A diferencia de los circuitos integrados convencionales (como las compuertas lógicas), un


dispositivo lógico programable no tiene una función específica asignada al momento de ser
fabricado. Por esta razón, un dispositivo lógico programable debe ser configurado
(programado) antes de poder ser usado en un circuito.

A medida que la tecnología ha avanzado, la capacidad de integración de los chips se ha ido


incrementando, con lo cual la tecnología en la fabricación de dispositivos lógicos
programables también ha evolucionado. Entre las principales tecnologías tenemos:
● GAL → Generic Array Logic

PAL → Programmable Array Logic

PLA → Programmable Logic Array
● (S)PLD → (Simple) Programmable Logic Device

CPLD → Complex Programmable Logic Device

FPGA → Field Programmable Gate Array

En la actualidad, los CPLDs y los FPGAs son los dispositivos lógicos programables que se
usan con mayor frecuencia.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

1.- CONCEPTOS Y DEFINICIONES

1.2.- Dispositivo lógico programable (PLD)

Los arreglos lógicos programables (PLAs) son, básicamente, conjuntos de compuertas lógicas
(con funciones fijas determinadas) cuyas interconexiones son reconfigurables.

Los dispositivos de lógica de arreglos programables (PAL) es muy similar a los PLAs. La
diferencia principal es que en un PLA todas las conexiones son reconfigurables; en un PAL
algunas conexiones son reconfigurables, mientras que otras conexiones son fijas.

(a) (b)

Diferencia entre: (a) dispositivo PLA y (b) dispositivo PAL.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

1.- CONCEPTOS Y DEFINICIONES

1.2.- Dispositivo lógico programable (PLD)

Los dispositivos lógicos programables simples (SPLDs) pueden describirse como un conjunto
de bloques con las mismas propiedades de los PAL (PAL-like blocks), los cuales se comunican
entre sí mediante conexiones reconfigurables.

Los PAL-like blocks están compuestos de un arreglo particular de elementos llamados


“Macroceldas”, el cual está conformado por flip-flops, registros, funciones aritméticas,
funciones lógicas, entre otros.

(b)

Estructura interna simplificada de un (S)PLD.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

1.- CONCEPTOS Y DEFINICIONES

1.2.- Dispositivo lógico programable (PLD)

Los dispositivos lógicos programables complejos (CPLDs) pueden describirse como un


conjunto de SPLDS que se comunican mediante interconexiones reconfigurables.

Actualmente, estos dispositivos son utilzados para implementar módulos especíificos y lógica
de pegamento (glue logic).

Estructura interna simplificada de un CPLD.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

1.- CONCEPTOS Y DEFINICIONES

1.2.- Dispositivo lógico programable (PLD)

Los arreglos de compuertas configurables en campo (FPGAs) se diferencian de los


dispositivos mencionados anteriormente, principalmente, por su flexibilidad.

En los dispositivos descritos hasta el momento, solamente se configuran las conexiones entre
los elementos internos para hacer funcionar el dispositivo. En contraste, en un FPGA es
posible confgurar tanto las conexiones como el funcionamiento de los elementos internos.

Estructura interna simplificada de un FPGA.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

1.- CONCEPTOS Y DEFINICIONES

1.3.- System on Chip (SoC)

Se denomina system on chip (SoC) a un circuito integrado que cuenta con todos los
componentes que forman un sistema computacional (microprocesador, memoria y periféricos).

Los SoC más conocidos son los microcontroladores; sin embargo, existen muchos otros SoC
comerciales que se encargan de llevar a cabo tareas específicas.

Sensium SoC: Chip usado para monitorear funciones vitales.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

1.- CONCEPTOS Y DEFINICIONES

1.4.- SoC-FPGA

Un SoC-FPGA es, básicamente, un circuito integrado que contiene uno o más


microprocesadores físicos (e.g. ARM) y también un FPGA.

El hecho de tener un microprocesador y un FPGA integrados en un mismo chip ofrece una


gran flexibilidad para implementar sistemas complejos. El microprocesador puede encargarse
de la gestión de todo el sistema, mientras que los sub-sistemas específicos son
implementados en hardware (FPGA) para que puedan operar en forma concurrente.

SoC - FPGA

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

1.- CONCEPTOS Y DEFINICIONES

1.5.- Circuito integrado de aplicación específica (ASIC)

Un ASIC es un circuito integrado que se diferencia de los componentes lógicos


convencionales por dos características principales:
● Lleva a cabo una tarea específica
● No está a la venta para el público (es fabricado a pedido)

Los ASICs son ampliamente usados en los productos finales de grandes fabricantes como
HUAWEI, SONY, APPLE, TEKTRONIX, entre otros. Esto se debe a que resultan más
económicos cuando la producción es a gran escala.

Analogía entre el uso de ASICs y e de una matriz de inyección de plástico.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

1.- CONCEPTOS Y DEFINICIONES

1.6.- Producto estándar de aplicación específica (ASSP)

Los ASSPs son similares a los ASICs, en el sentido que ambos llevan a cabo una tarea
específica. Sin embargo, la diferencia está en que el ASSP se encuentra disponible para ser
adquirido por el público.

Entre los ASSPs más comunes en el mercado tenemos: adaptador de señal TTL a USB
(FTDI), driver para motor paso a paso (L297), adaptador de nivel TTL a RS-232 (MAX232),
entre otros.

ASSPs producidos por FTDI

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

2.- INTRODUCCIÓN AL VHDL

2.1.- Estructura de un código en VHDL

Un código en VHDL está conformado por 03 secciones principales:


● Inclusión de librerías

● Definición de la interfaz (Entidad)

● Descripción del comportamiento (Arquitectura)

A continuación se da una breve descripción de cada una de estas secciones.

Secciones principales de un código VHDL.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

2.- INTRODUCCIÓN AL VHDL

2.2.- Inclusión de librerías

Partes fundamentales de una librería.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

2.- INTRODUCCIÓN AL VHDL

2.2.- Inclusión de librerías

Ejemplo de inclusión de librerías en VHDL.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

2.- INTRODUCCIÓN AL VHDL

2.3.- Definición de interfaz (Entidad)

Ejemplo de definición de interfaz en VHDL.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

2.- INTRODUCCIÓN AL VHDL

2.3.- Definición de interfaz (Entidad)

Definición de interfaz para una compuerta NAND en VHDL.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

2.- INTRODUCCIÓN AL VHDL

2.4.- Descripción de comportamiento (Arquitectura)

Ejemplo de descripción de comportamiento en VHDL.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

2.- INTRODUCCIÓN AL VHDL

2.4.- Descripción de comportamiento (Arquitectura)

Descripción de comportamiento para una compuerta NAND en VHDL (código concurrente).

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

2.- INTRODUCCIÓN AL VHDL

2.4.- Descripción de comportamiento (Arquitectura)

El siguiente ejercicio consiste en la descripción del comportamiento de un flip-flop tipo D, con


entrada de reset asíncrona.

Debe tomarse en cuenta que para describir el comportamiento de este flip-flop es necesario
emplear un estilo de código secuencial.

Circuito correspondiente al primer ejercicio.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

2.- INTRODUCCIÓN AL VHDL

2.4.- Descripción de comportamiento (Arquitectura)

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

2.- INTRODUCCIÓN AL VHDL

2.4.- Descripción de comportamiento (Arquitectura)

El siguiente ejercicio consiste en la descripción del comportamiento de un circuito que consta


de una commpuerta NAND, conectada a un flip-flop D.

Debe tomarse en cuenta que, para describir el comportamiento de este circuito, es necesario
emplear tanto código concurrente como secuencial.

Circuito correspondiente al segundo ejercicio.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

2.- INTRODUCCIÓN AL VHDL

2.4.- Descripción de comportamiento (Arquitectura)

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

2.- INTRODUCCIÓN AL VHDL

2.4.- Descripción de comportamiento (Arquitectura)

El siguiente ejercicio consiste en la descripción de un circuito que se comporta como un MUX


de dos entradas y una salida de 08 bits, y un selector de 02 bits. Si el valor del selector es 00,
todos los bits de la salida del MUX son 0; si el valor del selector es 01, el valor de la entrada
“a” es reflejado en la salida; si el valor del selector es 10, el valor de la entrada “b” es reflejado
en la salida; si el valor del selector es 11, todos los bits de la salida del MUX se encuentran en
estado de alta impedancia (Z).

Completar el código que se muestra en la siguiente página.

Circuito correspondiente al tercer ejercicio.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

2.- INTRODUCCIÓN AL VHDL

2.4.- Descripción de comportamiento (Arquitectura)

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

2.- INTRODUCCIÓN AL VHDL

2.4.- Descripción de comportamiento (Arquitectura)

El siguiente ejercicio consiste en la descripción de un circuito combinacional de consta de


algunas compuertas lógicas..

Describir el comportamiento del circuito mediante VHDL.

NOTA: Antes de comenzar, determine el estilo de código que necesitará usar (concurrente o
secuencial).

Circuito correspondiente al cuarto ejercicio.

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

3.- RESUMEN
Procesos
Concurrentes → Se pueden ejecutar en paralelo
Secuenciales → Debe terminar uno para que el otro pueda ejecutarse

Dispositivos lógicos programables


GAL, PAL, PLA, SPLD → Primeros en aparecer
CPLD, FPGA → Más empleados en la actualidad

Nomenclatura de circuitos integrados


SoC (System On Chip) → uP + Memoria + Periféricos en un chip
SoC – FPGA → uP + Memoria + Periféricos + FPGA en un chip
ASIC → Uso para aplicación específica, fabricado a pedido (exclusivo)
ASSP → Uso para aplicación específica, comercial (disponible al público)

Estructura de código en VHDL:


• Inclusión de librerías → Librerías y paquetes
• Entidad → Definición de la interfase
• Arquitectura → Descripción del comportamiento

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.


Diseño de Sistemas Computacionales para
Aplicación Específica

4.- PREGUNTAS

Sesión 02 – Metodologías de diseño en la actualidad Msc. Ántero Castro N.

También podría gustarte