La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "FPGAs y Verilog en la NetFPGA Jhon Jairo Padilla Aguilar, PhD."— Transcripción de la presentación:

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

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

3 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)

4 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

5 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.

6 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.

7 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

8 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)

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

10 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

11 FPGAs

12 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.

13 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)

14 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.

15 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)

16 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.

17 La ley de Moore

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

19 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!

20 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

21

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

23 Comparación tecnologías de programación

24 Tipos de programación para diferentes chips

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

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

27 Bloques lógicos (CLBs)

28 Composición de una FPGA

29 El proceso de diseño

30 Proceso de programación

31 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)

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

33 Aparece la Ventana principal del Modelsim

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

35 Ubicar el datapath en el árbol de módulos

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

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

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

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

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

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

42 La síntesis del proyecto

43 Se agrega el camino del proyecto a sintetizar

44 Se actualiza el archivo reg_defines.h

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

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

47 Contacto  E-mail: jhon.padilla@upb.edu.co; jhon.padilla@gmail.comjhon.padilla@upb.edu.cojhon.padilla@gmail.com  Web page del curso de diseño de Routers con NetFPGA: http://jpadilla.docentes.upbbga.edu.co/Dise%C3%B1o_de_ Routers/Programa_Arq_routers.htm http://jpadilla.docentes.upbbga.edu.co/Dise%C3%B1o_de_ 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!!!!!


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

Presentaciones similares


Anuncios Google