diseño y verificación de sistemas complejos con fpga · alto grado de paralelismo y throughput en...
TRANSCRIPT
![Page 1: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/1.jpg)
Diseño y verificación de sistemas complejos con FPGA
Nicolás Catalano ([email protected])
Gastón Rodríguez ([email protected])
![Page 2: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/2.jpg)
Alto grado de paralelismo y throughput en procesamiento de señales
Interfaces estandar y customizadas
Reconfigurabilidad y reutilización
Escalabilidad en el flujo de diseño
Tiempo de llegada al mercado vs ASIC
Características de las FPGA
![Page 3: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/3.jpg)
Radares
Proyectos espaciales
Software defined radio
Integración sistemas preexistentes
Ejemplos de aplicaciones
![Page 4: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/4.jpg)
Flujo de desarrollo
![Page 5: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/5.jpg)
Flujo de desarrollo
![Page 6: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/6.jpg)
Core de interfaces
• Interfaces con los componentes externos
• Interfaz de depuración (UART, JTAG, etc.)
• Comunicación interna con buses estándar (Wishbone, AMBA, etc)
![Page 7: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/7.jpg)
Core de interfaces
Permite validar:
• Timing
• Niveles eléctricos
• Protocolos
• Software
• Señales de clock
![Page 8: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/8.jpg)
Core de interfaces
Buses estándar:
• Wishbone
• AMBA3: AHB Multilayer, APB
• AMBA4: AXI, AXI stream
• Compatibilidad
• Reusabilidad
• Escalabilidad
![Page 9: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/9.jpg)
Core de interfaces
Interfaz de depuración:
• Agrega visibilidad al interior del core
• Acceso a registros con valores conocidos
• Configuración de generadores internos de datos
• Lectura de datos generados
• UART <-> USB (FTDI, Cypress, Silabs…)
![Page 10: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/10.jpg)
Core de interfaces
Testbench
![Page 11: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/11.jpg)
Core de procesamiento
![Page 12: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/12.jpg)
Integración, Puesta en Marcha
![Page 13: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/13.jpg)
Verificación formal
Además de funcional:
• Casos extremos
• Casos aleatorios
• Cobertura de código
Reporte de Verificación
![Page 14: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/14.jpg)
Documento de diseño
• Arquitectura interna
• Descripción de las Interfaces
• Entradas
• Salidas
• Registros
• Rangos de funcionamiento
• Descripción de los cores internos y sus IF
![Page 15: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/15.jpg)
Proyectos espaciales
• Mayor esfuerzo en verificación (tiempo, $)
• Simulaciones Post Place And Route (PAR)
• Desarrollo con modelos de ingeniería
• Mayor esfuerzo en la documentación
• Revisiones independientes del Diseño, de la Verificación y de la Documentación
![Page 16: Diseño y verificación de sistemas complejos con FPGA · Alto grado de paralelismo y throughput en procesamiento de señales Interfaces estandar y customizadas Reconfigurabilidad](https://reader035.vdocuments.mx/reader035/viewer/2022070617/5e05ae674a7021148831fcf2/html5/thumbnails/16.jpg)
Problemas encontrados
• Metaestabilidad
• Doble/triple registrado
• Comportamiento errático del sistema
• Verificar interfaces
• Simulación ≠ Ensayo
• Verificar conexiones internas
• Rebotes en señal de entrada
• Antirrebote
• Metaestabilidad
• Verificar interfaces