Está en la página 1de 28

Diseño de Sistemas Computacionales para

Aplicación Específica

Sesión 01: Introducción al diseño


de sistemas digitales y
FPGAs

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

PRESENTACIÓN

Docente:
MSc. Miguel Angel Torres Lázaro
(e-mail: miguel.torres@maelpro.com)

Nombre del curso:


Diseño de sistemas computacionales para aplicación específica (100000I24N)

Frecuencia y duración:
6 horas p/semana
54 horas (9 semanas)

Pre-requisitos:
- Arquitectura del procesador digital de señales

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

PRESENTACIÓN

Estructura de las clases:

1) Preguntas sobre la clase anterior

2) Definiciones y conceptos

3) Desarrollo del tema

4) Preguntas

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

PRESENTACIÓN

Evaluación:

1) Prácticas calificadas: PC1, PC2, PC3, PC4, PC5

2) Examen final: EXFN

Promedio Final = (10xPC1 + 10xPC2 + 10xPC3 + 15xPC4 + 15xPC5 + 40xEXFN)


–-------------------------------------------------------------------------------------
100

Nota mínima aprobatoria: 12

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

PRESENTACIÓN

Logros del curso:

Al final del curso el estudiante estará en capacidad de:



Describir el comportamiento de un circuito digital mediante VHDL.

Diseñar soluciones de sistemas electrónicos y sintetizarlas en arreglos
de compuertas programables en campo (FPGAs).

Hacer uso de núcleos de propiedad intelectual (IP cores).

Diseñar núcleos de propiedad intelectual.

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

BIBLIOGRAFÍA

[1] Volnei A. Pedroni, Circuit Design with VHDL.

[2] Antonio Rubio, Josep Altet, Xavier Aragonés, José Luis Gonzales,
Diego Mateo, Francesc Moll, Diseño de circuitos y sistemas integrados..

[3] James O. Hamblen, Tyson S. Hall, Michael D. Furman , Rapid


Prototyping of Digital Systems SoPC Edition.

[4] Opencores. [Online] Disponible: http://www.opencores.org

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

Temario:

– Concepto de análisis y síntesis


– Síntesis de sistemas digitales
– Niveles de abstracción
– Lenguaje de descripción de hardware (HDL)
– Etapas en la síntesis automatizada de un sistema digital

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.1.- Síntesis de sistemas digitales

¿En qué consiste la síntesis de


sistemas digitales?

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.1.- Síntesis de sistemas digitales

Análisis f =(a . c )+(b . c)

Circuito físico Diagrama esquemático Descripción

f =(a . c )+( b . c)
Síntesis

Expresión Diseño Implementación


lógica/matemática (Diagrama esquemático) (Circuito físico)
(Descripción)

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.1.- Síntesis de sistemas digitales

a=sck (t−1 )
b=sck (t−2 )
sckfall=a . b

Descripción Diseño Implementación

assign sck_fall = ~a & b;

always@(posedge clk)
begin
a <= sck;
b <= a;
end

Descripción Diseño Implementación


(HDL) (RTL) (CPLD / FPGA)

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.2.- Síntesis automatizada

PLD
Editor de Sintetizador
texto Inicial

Simulador Sintetizador Sintetizador de


(funcional) Lógico Disposición

Simulador Generador de ...101100...


(Tiempo) secuencia de bits

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.3.- Niveles de abstracción

Nivel sistema
(organizado en bloques) F
l
e
S x
i i
m Nivel transferencia de registros
(RTL) b
p i
l l
i i
c Nivel lógico d
i (basado en compuertas)
a
d d
a
d Nivel compuerta
(basado en transistores)

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.3.- Niveles de abstracción

En diseño digital, un nivel de abstracción es un nivel de detalle con el cual se puede


describir un sistema digital.

Un sistema digital puede representarse a diferentes niveles, entre los principales tenemos:

Sistema
Define particiones de diseño y sus interfaces.

Algoritmo
Modela el comportamiento con un “lenguaje de programación” de alto nivel.

RTL (Register Transfer Level)


Define una “microarquitectura”, separando las partes de control y ruta de datos.

Lógica
Define el comportamiento de componentes RTL con ecuaciones booleanas.

Compuerta
Implementa el comportamiento de las compuertas lógicas con estructuras basadas en
transistores.

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.4.- Lenguaje de descripción de hardware (HDL)

Lenguajes de descripción de hardware (HDL) estándar.

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.4.- Lenguaje de descripción de hardware (HDL)

Ejemplo implementado en VHDL y Verilog.

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.4.- Lenguaje de descripción de hardware (HDL)

Lenguajes estándar en la industria de desarrollo de sistemas digitales.

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.5.- Sintetizador inicial

input a, b,c;
output f; 

assign f = (~a & ~b & c) |
           (a & ~b & ~c) |
           (a & ~b & c)  |
           (a & b & ~c);

HDL RTL

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.6.- Sintetizador lógico

Traducción literal Versión optimizada

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.7.- Sintetizador de disposición

Lógica (RTL) Ubicación e interconexiones


en hardware (Netlist)

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.8.- Generador de secuencia de bits

11000000000011
00000010100001
00000010100011
00100000100010
00011110100011
...

Netlist Secuencia de bits

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.9.- Simulador

Simulación en el tiempo

Simulación funcional

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.9.- Simulador

¿Por qué es necesaria una simulación en el tiempo?

EJEMPLO:
Condición de carrera

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

1.- CONCEPTOS Y DEFINICIONES

1.9.- Simulador

PLD
Editor de Sintetizador
texto Inicial

Simulador Sintetizador Sintetizador de


(funcional) Lógico Disposición

Simulador Generador de ...101100...


(Tiempo) secuencia de bits

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

2.- PRÁCTICA

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

2.- PRÁCTICA

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

2.- PRÁCTICA

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

3.- RESUMEN

Análisis y síntesis
Análisis:
Síntesis:

Lenguajes de descripción de hardware (estándares)


-
-

Etapas de la síntesis automatizada de sistemas digitales:


1)
2)
3)
4)
5)
6)

Sesión 01 – Introducción Miguel A. Torres Lázaro


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

4.- PREGUNTAS

Sesión 01 – Introducción Miguel A. Torres Lázaro

También podría gustarte