FPGAs y Verilog en la NetFPGA Jhon Jairo Padilla Aguilar, PhD.

Slides:



Advertisements
Presentaciones similares
Tecnologías y Arquitecturas de SE
Advertisements

CENTRO LOCAL LARA (Código 342)
Proyecto Aula Virtual. Conceptos El Aula Virtual es una plataforma versátil que proporciona herramientas que facilitan la docencia presencial/semipresencial/virtual.
COMPUTACION PARALELA GLORIA PATRICIA FLOREZ ANGIE PAOLA ANCHICO.
“Android: Un acercamiento practico” Manuel Alejandro Moscoso Domínguez Estudiante de Ingeniería en Bioinformática Talca, 8 de octubre de 2009.
1 Arquitectura y Redes de Computadores
La placa base, también conocida como placa madre o tarjeta madre (del inglés motherboard o mainboard) es una tarjeta de circuito impreso a la que se conectan.
UNIDAD 1 MANEJA COMPONENTES DEL EQUIPO DE CÓMPUTO PIPM-03 PTB en Enfermería General.
NetFPGA: Introducción y Arquitectura Manuel F. Jaimes Abril 10 de 2014.
PLACA MADRE DE UNA COMPUTADORA IPCC - INFORMATICA APLICADA- -Baolini María Belén -Camargo Facundo.
Vania Mora Velázquez Sistemas operativos aplicados.
CONOCIMIENTO CIENTÍFICO INVESTIGACIÓN CIENTÍFICA El método científico es un procedimiento para descubrir las condiciones en que se presentan sucesos específicos,
Procesamiento Digital de Señales.
BOARD O TARJETA MADRE. EXPOSICION DE INFORMATICA TEMA 1: BOARD TIPOS DE PROCESADOR BUS PUERTOS MEMORIA NUEVAS TECNOLOGIAS.
Quinta generación de computadoras
Rafael Asprilla Universidad de Panamá ,
Prototipado de un MMR Simple en una FPGA
IDENTIFICACIÓN Y CARACTERÍSTICAS DE MEMORIA RAM Y ROM
Parcial # 1 La Computadora.
UNIDAD I: TEORIA Y MODELOS DE SIMULACION
Introducción a los protocolos de enrutamiento dinámico
Proyecto de Software. t07
Fundamentos de negocios y comercio electrónico.
Memoria Introducción.
Proyecto de Software. Clase 06
Capitulo I Introducción
INTRODUCCIÓN Elmasri: Pág
En la siguiente presentación veremos algunos términos que debemos conocer para iniciar la educación virtual.
CLASIFICACION DE SOFWARE EDUCATIVO
informática y convergencia
TARJETAS.
Profesor: José Luis Gonzalez
Computadora La computadora es una máquina capaz de realizar y controlar a gran velocidad cálculos y procesos complicado que requieren una toma rápida de.
Tema 6. Conceptos básicos de programación Clase 1
Computación Curso 2017.
Rosalba María Delgado Martínez Tecnología en Gestión Administrativa
Hardware, software, y periféricos
Daniela Alejandra Guzmán Moya
MENU SOFWARE Y HADWARE DISPOSITIVOS DE SALIDA DISPOSITIVOS DE ENTRADA
Politécnico Colombiano Jaime Isaza Cadavid
Salir de la presentación
En 1948 en los laboratorios Bell crearon el transistor
Autodesk Instituto Oviedo Computación Daniela Grajeda Moreno
MEMORIAS. Alba Lus, Esther Escobar, Laura Hierro, Raquel Fdez.
Diagramas del modelo uml
Vivir en un mundo basado en redes
En VHDL existen tres tipos de declaraciones concurrentes;
Microprocesadores y monitores
Sistemas operativos Amparo Pinal y Nayla Carcamo 4 año división “B”
Diferencias programador vs Ingeniero de software
CONCEPTOS BÁSICOS DE COMPUTACIÓN E HISTORIA
Laboratorio de Circuitos y Sistemas Electrónicos (LCSE) Curso

Computadora La computadora es una maquina de realizar y controlar a gran velocidad cálculos y procesos complicados que requieren una toma rápida de decisiones.
CURSO PROGRAMACIÓN BÁSICA SEMANA 2
1.5 EL PROCESO DE SIMULACIÓN
Jornadas de Puertas Abiertas en: Facultad de Informática
INTRODUCCION AL DISEÑO DEL SOTFWARE EDUCATIVO
Capitulo I Introducción
Diseño Digital Avanzado
2 Es el dispositivo digital lógico de interconexión de equipos que opera en la capa de enlace de datos del modelo OSI. Su función es interconectar dos.
Diseño Digital Moderno Semestre 2019-I.
CURSO: LA TECNOLOGÍA INFORMÁTICA APLPICADA A LOS CENTROS ESCOLARES ALUMNA: MARÍA TERESA RODRÍGUEZ CASTELÁN 2° SEMESTRE “C”
Memoria Principal. Memoria primaria (MP), memoria principal, memoria central o memoria interna es la memoria de la computadora donde se almacenan temporalmente.
“Telecomunicaciones”
Componentes de una computadora
ESTRUCTURA DE LO SISTEMAS OPERATIVOS Presentado por: Jennifer.
Expo Desarrolladores en Tecnologías Multimedia
ESTRUCTURA DE UNA PC.
Escuela Nacional Preparatoria
Transcripción de la presentación:

FPGAs y Verilog en la NetFPGA Jhon Jairo Padilla Aguilar, PhD.

Que es la NetFPGA?  Una plataforma de hardware abierta tanto para enseñar como para investigar.  Desarrollada por la Universidad de Stanford

NetFPGA Board NetFPGA consiste en …  Tarjeta NetFPGA  Herramientas + diseños de referencia  Contribución de proyectos  Comunidad Reference designs: Router (HW) Switch (HW) Network Interface Card (HW) Router Kit (SW) SCONE (SW)

FPGA Memory 1GE NetFPGA board PCI CPU Memory Tarjeta NetFPGA PC con NetFPGA Software de red que corre en un PC normal Un acelerador de hardware construido con una FPGA con 4 conectores de red de 1Gb

Características principales de la NetFPGA  Operación a Velocidad de Linea Permite hacer procesamiento por hardware a la velocidad de la línea (Full Line Rate) – Trabaja 4Gb por segundo.  Procesar paquetes sin desecharlos  Modificar cabeceras de los paquetes  Y las cargas útiles (payloads) de los paquetes  Hardware con codigo abierto  Todo el hardware es open-source y todo se puede descargar. Similar al open-source software  Los contenidos de los códigos fuentes están disponibles.  Si se quiere hacer algo un poco diferente a partir de un diseño, se puede.  Es mucho mas complejo, porque  Los módulos de Hardware deben soportar tiempos muy cortos de las señales.  Los componentes Verilog & VHDL tienen interfaces mas complejas.

Quién, Cómo, Por qué? Quien usa las NetFPGA?  Profesores  Estudiantes  Investigadores Como usan la NetFPGA?  Para investigar, para enseñar en las clases:  cómo hacer switches y routers, identificar como las cosas funcionan dentro de un router, jugar en verilog y probar diferentes cosas.  Para correr el Router Kit: Permite correr cosas dentro de linux y ver como se ejectuan en la tabla de enrutamiento en el hardware. Se pueden hacer muchas cosas encima de esto.  Para construir diseños de referencia modulares Porque usar la NetFPGA?  Para medir el rendimiento de sistemas de Internet  Para hacer nuevos prototipos de sistemas de red  etc.

El gran aporte de NetFPGA!!!!!  Permite a los investigadores construir prototipos físicos de sus algoritmos en diferentes áreas (Gestión, Seguridad, Calidad de Servicio, medición de rendimiento, Ingeniería de tráfico, aplicaciones, etc)  Esto no era posible antes porque los fabricantes no permitían a los estudiantes de ingeniería conocer sus sistemas de desarrollo

NetFPGA enmarcada dentro de las SDNs  NetFPGA es una herramienta para desarrollar routers construidos flexiblemente.  Hace parte de una tendencia más amplia denominada SDNs (Software Defined Networks)  Hay otras maneras de construir routers flexibles (p.ej. Iniciativa Openflow con NetFPGA, con JunOS, etc)

Competencia de la NetFPGA  Desarrollada por la universidad de Massachussetts  En convenio con Altera, la competencia de Xilinx.

Competencia de la NetFPGA CharacteristicNetFPGADE4 FPGAVirtex IIStratix IV GX Logic Cells53,136228,000 Block RAM4,176Kbit17,133Kbit GIGE1Gx4 SRAM4.5MB2MB DDR RAM64MB OnboardUp to 8GB External PCI ExpressNo Yes (Up to 2 Hard IP cores) JTAG SupportYes PHY InterfaceBroadcomMarvell

FPGAs

Qué es una FPGA?  FPGA: Field Programmable Gate Array (Arreglos de compuertas programables en campo)  Programables en campo: Directamente en el laboratorio de diseño y no en la fábrica  Programable: Es una forma de decirlo, en realidad no es un programa. Es mas bien un circuito reconfigurable.

Comparación con otras tecnologías característicaMicroprocesadorFPGAASIC Base para construir las funciones SoftwareHardware Hechos a la medida (custom parts) No Sí PropósitoGeneral Específico ProcesamientoSecuencialParalelo VelocidadLentaMediaRápida Costo a Gran escala Medio Bajo Costo a baja escalaBajo Alto (La fabricación es costosa)

Cuál es el mercado de los microprocesadores y de las FPGAs?  Microprocesadores: Computadores personales y de empresas (1% del mercado)  Sistemas embebidos: Ej. Reproductores MP3, teléfonos celulares, cámaras fotográficas, hornos microondas, etc. (99% del mercado)  Las FPGAs son una de las tecnologías más usadas en los sistemas embebidos.

Un ejemplo del mercado…  En1999 se vendieron para el mercado de embebidos:  250 millones de microprocesadores de 32 bits  1000 millones de microprocesadores de 16 bits  1000 millones de microprocesadores de 8 bits  1000 millones de microprocesadores de 4 bits  Contra 100 millones para el mercado de computadoras (PCs, MACs, workstations y supercomputadoras)

Para qué se usan las FPGAs?  En los 80 se usaban para implementar “lógica para unir” (glue logic), lógica para interconectar componentes mas grandes.  En los 90, telecomunicaciones y redes  2000 … todo tipo de aplicaciones  Compiten por el mercado con los procesadores dedicados, DSP.  Reemplazan diseños realizados antes mediantes ASICs (chips hechos a medida)  Reemplazan a los microcontroladores embebidos en sistemas  Explotación del alto grado de paralelismo y reconfigurabilidad de los FPGA como “aceleradores hardware” de algoritmos software. Simulacion. Criptografía. Etc.

La ley de Moore

La ley de Moore ha venido estancándose en los procesadores

Entonces, cuál es el camino?  Un solo procesador ya no puede ser capaz de obtener un aumento exponencial del rendimiento conforme la tecnología avanza  El aumento del rendimiento debe provenir de multiplicar los núcleos de procesador (arquitecturas multicore) dentro del chip.  Es la estrategia que siguen en este momento los fabricantes de microprocesadores (Intel, AMD).  ¡Esto quiere decir que toda la computación se vuelve paralela!

High Performance Computing  Los grandes sistemas de supercomputación son muy costosos y no tienen suficiente mercado  Es preferible usar muchos microprocesadores en paralelo para aumentar el rendimiento

Tecnologías de programación  Existen diferentes tecnologías: fusible link, antifuse, ROM, EPROM, EEPROM, Flash, SRAM  El principio es similar:

Comparación tecnologías de programación

Tipos de programación para diferentes chips

Construcción de una función lógica combinacional

Construcción de funciones lógicas con Look UP Tables (LUT)

Bloques lógicos (CLBs)

Composición de una FPGA

El proceso de diseño

Proceso de programación

El proceso de desarrollo completo con NetFPGA Describir el módulo en HDL (Verilog) Simulación (Modelsim u otra herramienta) Síntesis del circuito Descarga a la NetFPGA Pruebas con la NetFPGA (Tener en cuenta la interco- nexión con otros módulos de la NetFPGA) (se usa el Xilinx ISE 10.1)

Ejecución del Modelsim desde Linux  Se da el comando “vsim” desde el terminal de comandos de Linux

Aparece la Ventana principal del Modelsim

Para simular el proyecto del router desde la línea de comandos

Ubicar el datapath en el árbol de módulos

Ubicar el módulo desarrollado dentro del módulo data_path

Seleccionar las señales a graficar en la simulación

Adicionar las señales al espacio donde se grafican las ondas

Representar los números en hexadecimal por facilidad de interpretación

Ejecutar por el tiempo deseado desde la línea de comandos de Modelsim

Aparecerá el gráfico del comportamiento de las señales en el tiempo

La síntesis del proyecto

Se agrega el camino del proyecto a sintetizar

Se actualiza el archivo reg_defines.h

Cambiarse al directorio donde se encuentra el archivo make para compilar el proyecto

Se compila el proyecto  Primero hacer make clean y luego make (y a esperar….)

Contacto   Web page del curso de diseño de Routers con NetFPGA: Routers/Programa_Arq_routers.htm Routers/Programa_Arq_routers.htm  Allí encontrará el material sobre FPGAs, Verilog, bases de NetFPGA y videotutoriales sobre la construcción de proyectos con NetFPGA!!!!!