Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porMarina Córdoba Ortiz Modificado hace 8 años
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
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!!!!!
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.