UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Processadores para Sistemas Embarcados. Dr. Leandro A Martinez Apresentação: Arquitetura de Computadores (SSC-0114) 28/08/2017 Roteiro Introdução Desenvolvimento Resultados Conclusão 2 Introdução ADAS Advanced Driver Assistance Systems Detecção de pedestres por câmera 3 Introdução ADAS com câmeras Detecção de pedestres Fonte: https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/advanced-driver-assistant-system-paper.pdf 4 Introdução Motivação “There are many corner cases (like the Tesla case) that are almost impossible to test. Considering the infinite number of potential scenarios that could lead to a crash, how does the car industry plan to meet the challenge of modeling, simulation, test and validation?” 1 Modelar 2 Simular 3 Testar 4 Validar ADAS-Vison Framework 5 ADAS + FPGA Introdução Computação Reconfigurável • • Até 150K Elementos Lógicos Memória 5Mbit • Sistemas para detecção de pedestres • Desempenho: ∼ 10 a 100 GOPS • Varia com taxa de pixels e complexidade • Tempo real • Baixo consumo de energia • Flexibilidade • Adaptação ou evolução das aplicações • Novas demandas • Melhor exploração do espaço de projeto Fonte: https://www.microsemi.com/products/fpga-soc/fpga/igloo2-fpga • • • • Dual-core ARM Cortex-A9 925 MHz 85 – 110K Elementos Lógicos Memória 5.761 Kb Fonte: https://www.altera.com/products/soc/portfolio/cyclone-v-soc/overview.html *HPS: Hard Processor System 6 Processador + FPGA (QPI: Quick Path Interconnect) 7 Introdução FPGAs atuais CERN openlab 04/2017 (QPI: Quick Path Interconnect) 71 milhões de portas lógicas! https://www.hpcwire.com/2017/04/14/xeon-fpga-processor-tested-at-cern/ 8 Introdução Motivação FPGA Verification Effort Trends Bosch to Build $1.1 Billion Chip Plant for Self-Driving Cars The 2016 Wilson Research Group Functional Verification Study Profissionais trabalhando com FPGA (2012 a 2014): - Engenheiros de projetos: crescimento de 4,9 %. - Engenheiros de verificação FPGA aumentou em 20,9 %. - “Essa demanda por engenheiros de verificação em projetos FPGA é um “Auto supplier Robert Bosch GmbH will build a 1 billion-euro ($1.1 billion) semiconductor plant, the biggest single investment in its history, as the maker of brakes and engines prepares for a surge in demand for components used in self-driving vehicles.” indicador de crescente complexidade de verificação em projetos FPGA.” “Talvez um dos maiores desafios em design e verificação hoje seja a identificação de soluções para aumentar a produtividade e controlar o número de funcionários da engenharia.” Fonte: Mentor Graphics (2016) Fonte: Bloomberg.com (2017) 9 Introdução Pesquisa bibliográfica Ferramentas relacionadas ao projeto ADAS-Vision • Ferramentas para DSE • Ferramentas para coprojeto Hw/Sw • ADAS • Utiliza FPGA DSE Código Livre Coprojeto Hw/Sw Câmera ADAS • Processamento de imagens • Livre / aberta FPGA 10 Introdução Pesquisa bibliográfica DSE Código Livre Coprojeto Hw/Sw Câmera ADAS FPGA Fonte: UML-Based Multiprocessor SoC Design Framework (2006) Tampere University of Technology; Nokia Research Center; Nokia Technology Platforms 11 Introdução ADTF DSE Código Livre Coprojeto Hw/Sw Câmera ADAS FPGA Fonte: http://www.comemso.de/index.php/de/dienstleistungen/software-entwicklung 12 Introdução RTMaps DSE Código Livre Coprojeto Hw/Sw Câmera ADAS FPGA Fonte: https://intempora.com/products/rtmaps.html 13 Introdução NI Labview DSE Código Livre Coprojeto Hw/Sw Câmera ADAS FPGA Toolsets LabVIEW FPGA 14 Introdução MatLab Importar Verilog + Gerar projetos (FPGA, NIOS, ATOM) DSE Código Livre Coprojeto Hw/Sw Câmera ADAS FPGA Toolsets HDL Verifier HDL Coder Acquisition Toolbox Embedded Coder API libs (C,C++) MEX Cossimulação: Simulink x Matlab Fonte: https://www.mathworks.com/products/matlab.html 15 Introdução Trabalhos relacionados Ferramenta Ferramenta de exploração Kalray’s framework SDF 3 CASSE Metropolis Ptolemy ImprovCV GDSE PREESM GASPARD SPRINT HELP FAMOUS Baselabs Intempora RTMaps Comemso ADTF MAMPS MFSO MDEM SPADE ARTEMIS Algoritmos de agendamento Algoritmos de agendamento Simulação SystemC Verificação formal e analizador de rastramento Algoritmos de agendamento Simulação C++, proffiling Simulações estáticas e dinâmicas Algoritmos de agendamento Simulação RTL or TLM Simulação TLM Simulação TLM Simulação RTL Simulação C++, proffiling Simulação C++, proffiling Simulação C++, proffiling SDF 3 Algoritmo Genético Cosimulação baseada em rastreamento Cosimulação baseada em rastreamento Simulação de conjunto de instruções, cosimulação precisa de tempo Ambiente com liberdade de exploração OBDDs Algoritmo Evolutivo em ótimo-de-Pareto Simulação de conjunto de instruções, verificação formal e profilling estático e dinâmico Simulação Ptolomy, HLS ESTEREL Simulação SystemC e e otimização multi-objetivo Simulações estáticas e dinâmicas Verificação formal temporal e simulação Cosimulação baseada em rastreamento e otimização multi-objetivo Cosimulação baseada em rastreamento Cosimulação baseada em rastreamento Simulação RTL, SystemVerilog, árvore decisão PeaCE Mescal Desert Explora SCE Polis SystemCoDesigner Koski 1 MADES Daedalus NI LabView MatLab HDL ADAS-Vision Hardware e Software FPGA SoPC IDE gráfico Geração de Proc.Imagem Back-end Projetos ADAS Código Fonte 16 Introdução Coprojeto de Hardware e Software Paradigma inicial Paradigma contemporâneo Início Início Especificação Especificação Particionamento Modelagem Software Particionamento Projeto Hardware Sintetizar Compilar Integração Avaliação Avaliação Modelagem Software Modelagem Hardware Compilar Sintetizar Falha Ok Fim Fim ADAS-Vison Framework 17 Introdução Exploração do Espaço de Projeto (DSE) Concisão da Especificação Concisão: Modelagem Baseado em Análises ADAS-Vison Framework Acurácia: IPs Maior Abstração Baseado em Simulações Erro Capacidade de análise Complexidade de projeto e tempo de exploração Modelo Sistema RTL Acurácia 18 TESE Fundamentos para realização do projeto Levando-se em consideração • Acidentes de trânsito DSE • Requisitos para desenvolvimento de ADAS (infinitos cenários) • Avanço tecnológico dos Sistemas reconfiguráveis • Estado da Arte das aplicações Coprojeto Hw/Sw ADAS ADAS-Vision Framework Requisitos do projeto • • • • • Exploração de espaço de projetos Simulação funcional eficiente Gabaritos prontos para uso Ferramenta de Pesquisa Ferramenta Didática Câmera FPGA (PISE, Coprojeto, Intro. Sistemas Embarcados, Robótica, etc) 19 Roteiro Introdução Desenvolvimento Resultados Conclusão 20 Metodologia Computação Reconfigurável Dual Core 150M E.L. 21 Paradigma de Desenvolvimento Sw/Hw Metodologia Implementações do Filtro FIR (Resposta de Impulso Finita) Data In Data In C0 Coeficientes 256 Loops necessários para Processar amostras Reg Reg C1 Reg Reg C2 C3 Reg C4 Reg C5 Reg ... C255 256 Operações em um ciclo de clock Data Out Data Out DESEMPENHO DSP Convencional Execução serial 20 linhas de C++ Hardware Customizado Execução paralela 3500 linhas de HDL 22 Metodologia Síntese de Alto Nível (HLS) Vantagens HLS (High-Level Synthesis) Bluespec e OpenCL Código HDL de Alto Nível SystemVerilog Simulação rápida VHDL Verilog Circuitos Lógicos 23 Metodologia Processamento de Imagem 24 Metodologia Bibliotecas, Compiladores e Simuladores utilizados Compiladores SDKs https://www.qt.io/ MinGW https://developer.microsoft.com/pt-br/windows/downloads/windows-10-sdk IPP (Intel Integrated Performance Primitives) https://software.intel.com/en-us/intel-ipp http://www.mingw.org/ TBB (Intel Threading Buinding Blocks) https://software.intel.com/en-us/intel-tbb www.microsoft.com/visualstudio Plataform Toolset (v140) Qt Visual Studio Add-in IPP (Intel Integrated Performance Primitives) https://software.intel.com/en-us/intel-vtune-amplifier-xe https://cmake.org/ 25 Metodologia Ferramentas para o projeto de Hardware http://iverilog.icarus.com/ https://www.aldec.com/en/products/fpga_simulation/active-hdl https://www.altera.com/ http://bluespec.com/ 26 Metodologia Recursos utilizados no projeto OpenCV (Bibliotecas para processamento de imagens) http://opencv.org/ NumPy (Pacote para a computação científica com Python) http://www.numpy.org/ ProtoBuf (Buffers de protocolo Google) OpenBLAS (Basic Linear Algebra Subprograms) http://www.openblas.net/ LAPACK (Linear Algebra PACKage) http://www.netlib.org/lapack/ GFLAGS (Command line flags processing) https://github.com/google/protobuf https://github.com/gflags/gflags VTK (Visualization Toolkit) GLOG (Google logging module) http://www.vtk.org/ Doxigen (Ferramenta para documentação de código) http://www.stack.nl/~dimitri/doxygen/ https://github.com/google/glog OpenCV Extra Modules https://github.com/opencv/opencv_contrib NVIDIA® CUDA® Toolkit (Toolkit para GPU) Gnuplot (Utilitário para gráficos) https://developer.nvidia.com/cuda-downloads http://www.gnuplot.info/ MatLab (Ambiente de desenvolvimento) https://www.mathworks.com/products/matlab.html Glib (Bibliotecas usadas pelo openCV) https://github.com/winlibs/glib GTK+ (Toolkit para criar interfaces gráficas de usuário) https://www.gtk.org/download/windows.php OpenBLAS FFmpeg (Gravar e converter e vídeos) https://ffmpeg.org/ Mintty (Terminal emulator for Cygwin, MSYS or Msys2) https://mintty.github.io/ Repositórios: BitBucket, SourceTree, GitHub MSYS2 (Interoperabilidade Windows x Linux) http://www.msys2.org/ 27 Metodologia Datasets • Dataset Caltech Files – http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/datasets/USA/ • Piotr's Image & Video Matlab Toolbox – https://github.com/pdollar/toolbox • Caltech Pedestrian Detection Benchmark – http://docs.opencv.org/3.0-beta/modules/datasets/doc/datasets/pd_caltech.html • Do autor – http://www.leandromartinez.com.br/adas-vision 28 Visão dos módulos do ADAS-Vision Framework Desenvolvimento IDE ADAS-Vision NIOS II Projeto SoPC Gabaritos IPs Template Simulador de Coprojeto IP IP Gerador de projetos Projeto Hardware Quartus II IP Projeto Software Bluespec ADAS-Vision HARP2 DE2i-150 Simulador Hardware Ferramentas externas Compilador C++ Intel Intel ATOM Xeon Placa de desenvolvimento FPGA FPGA FPGA PCI-e QPI 29 Fluxo de utilização Requisitos ADAS-Vision IDE Modelar o projeto esquemático Simulação Funcional Gerar Códigos Escolher FPGA ADAS-Vision IDE Desenvolvimento Escolher Gabarito Gabaritos DSE Coprojeto Simular IPs Interface RAW Manutenção Biblioteca de Vídeos Compilação C++ Síntese Quartus II IPS Gerar códigos BSV C++ IPs Execução em Host Execução em FPGA 30 Exploração do Espaço de Projetos (DSE) Desenvolvimento Eficiência Configurar IPs Simular e Verificar resultados Modificar configurações Estimar recursos necessários Versão 3 Versão 2 Encontrada configuração melhor? Não Sim Versão 1 Tempo 31 Desenvolvimento Processo completo ADAS-Vision IDE Quartus II Início Selecionar Aplicação Selecionar Dispositivo Place & Route Simulação Análise de Consumo Síntese Análise Temporal Debugging Entrada do Projeto Selecionar Gabarito Configuração e Programação FPGA NIOS II IDE Profiling NIOS SIM NÃO Atende Requisitos Bluespec Adicionar, Remover, Parametrizar IPs SW e HW Simulação Bluesim Simulação Funcional Profiling Debug Atende Requisitos SIM Atende Requisitos SIM Profiling Debug Fim NÃO Cossimulação Hw e Sw Compilação Bluespec HW NÃO Signal Tap GCC Compiler SW Gerar Scripts Framework Compiler 32 Desenvolvimento Bibliotecas de IPs IDE ADAS-Vision Biblioteca Software Biblioteca Hardware Biblioteca Entrada/Saída IP Filtro Sobel IP Filtro Concolução IP Arquivo MatLab IP Filtro Canny IP Fluxo Óptico IP Câmera USB IP HOG IP RGB->Cinza IP Arquivos de vídeo IP RGB->Cinza IP BLOB IP Arquivos imagem IP Estabilizador IP Estabilizador IP PCI-express ... ... IP Exportar dados Simulador de Coprojeto IP IP s de Software IP s Hardware IP s Entrada / Saída Sistemas externos Bibliotecas OpenCV IP IP Simulador Hardware IP Dispositivos Externos 33 Desenvolvimento Visão geral Conexão Identificação Visualização Portas de entrada Parâmetros Porta de saída 34 Desenvolvimento Demonstração da interface 35 ADAS-Vision IDE 1 Escolher o FPGA 2 Modelar o projeto 3 Explorar as propriedades dos IPs Mais vídeos em: www.leandromartinez.com.br/adasvision 36 Desenvolvimento Simulação e Projeto final Interconexões (Glue-Box) Serialização dos dados Sub-rotinas Driver IP Hardware IP Hardware IP Software ATOM IP Software NIOS IP Software ATOM IP Software NIOS Dispositivos Chamada de sub-rotinas Conversão do espaço de cores 37 Desenvolvimento Cossimulação com pré-processamento 38 Cossimulação usando FPGA como dispositivo Desenvolvimento Bibliotecas Dados Projeto do Usuário IP 2 7 VGA Driver 10 IP Controlador Controladores 6 de Memória diversos 11 VGA 1 Bibliotecas 1 FPGA 3 PCIe Driver 8 Co-Improve IDE Dados SDRAM Intel Atom (Executando S.O.) Projeto do Usuário IP 2 IP 5 Custom Logic System Interconect Bus - Avalon 9 IP IP 4 PCIe IP 3 PCIe Driver 8 ADAS-Vision IDE 1 FPGA Intel Atom (Executando S.O.) 4 PCIe IP 5 Custom Logic VGA Out VGA 2 7 System Interconect Bus - Avalon IP 9 Controlador Controladores 6 de Memória diversos SDRAM 39 Desenvolvimento Cossimulação usando barramento AMBA/ARM 40 Desenvolvimento Cossimulação SoPC + Custom Instruction Bibliotecas Dados Projeto do Usuário IP 2 IP NIOS 3 PCIe Driver ADAS-Vision IDE 1 FPGA Intel Atom (Executando S.O.) 4 PCIe IP Software Hardware IP 5 System Interconect Bus - Avalon IP Controlador de Memória Controladores diversos SDRAM 41 Detalhamento Cadeia do Sinal Analógico TRDB-D5M Parâmetro Valor Pixels 2752 x 2004 Transferência 96 Mp/s (a 96 MHz) Quadros 15 fps (em máx res) 70 fps (640x480 VGA) Alimentação 3.3V ADC 12 bits Ganho Analógico Pixel Voltagem xx Caminho do sinal Digital Offset Analógico ++ Regula Nível de preto ADC ADC x Correção de Offset Digital + D[11:0] Ganho Digital 42 Detalhamento DATA FVAL LVAL Sensor de Imagem CMOS PCLK Captura de Dados do Sensor CMOS Conversão para RGB de 30 Bits Controlador LTM / Requisição de Dados Módulo LCD MCLK DATA SDAT SCLK Configuração do Sensor (I2C) Controlador SDRAM ADDR CTRL SDRAM 43 Desenvolvimento Funcionamento IP Hardware ADAS-Vision IDE Componente IP Hardware Propriedades de entrada Agente Propriedades de saída Parâmetros e Configurações Sequenciador Proxi Monitor OUT IN Simulador Verilog Processador Virtual Verilog (VVP) DUT (Verilog) IN Controlador de bancada (Verilog) OUT DUT: Device Under Test 44 Gerenciador de bancada Desenvolvimento Proxi Monitor Arquivo de entrada Início Reset Inicialização Ler arquivo ENABLE Enviar dados Salvar arquivo Fim RDYP PUT RESET CLK Arquivo de saída DUT GET Receber dados RDYG Verilog Virtual Processor Simulador Verilog 45 Desenvolvimento Construção de IPs 46 Desenvolvimento Customização em tempo de execução 47 Roteiro Introdução Desenvolvimento Resultados Conclusão 48 Resultados Sistemas de Detecção Estudo de casos Detecção faixas de trânsito Data In Houg Lines Lines Filter Data Out Houg Circles Size Filter Detecção de rodas Data In Emboss Data Out Reconhecimento de placas de trânsito Data In HOG Detector SVM Classifier Data Out SVM Classifier Data Out Threshold BLOB Detector Detecção de pedestres Data In HOG Detector 1 Detecção traseira Data In Motion Detection BLOB Classifier Data Out 49 Resultados Estudo de caso Primeiro estudo de caso: Gabarito para Detecção de Pedestres Entrada Dados Conversor RGB - Cinza Estabilizador Vertical Detector de Movimento Filtro Erosão Detector BLOB Classificador Proporção Saída Dados Detalhamento • Detecção de movimento por diferenciação de quadros • Detecção de objetos por Blob • Classificação pelo tamanho dos objetos 50 Aplicação Resultados Exemplo de alteração: Detecção com vários classificadores Entrada Dados Conversor RGB - Cinza Estabilizador Vertical Detector de Movimento Filtro Erosão Detector BLOB A Classificador A Entrada Dados HOG Descriptor SVM Classifier Classificador B Entrada Dados HOG Descriptor SVM Classifier Classificador C Detalhamento • Detecção de movimento por diferenciação de quadros • Detecção de objetos por BLOB, HOG, LUV • Resultado da classificação por votação de três classificadores Votação Majoritária Saída Dados Legenda Bloco fixo HW ou SW 51 Representação da aplicação gerada Resultados Projeto conceitual Entrada Dados Mapeamento Barramentos Conversor RGB - Cinza Estabilizador Vertical Detector de Movimento Detector BLOB A Classificador Proporção Hw Sw Hw Sw Hw Saída Dados Representação de HW Blocos HW Barramento de Controle NIOS II I/O Conversor Entrada NIOS II BLOB RGB-Gray Front-End Detecção Movimento Classificador Conversor Saída I/O Estabilizador Legenda Barramento de Dados Entrada/Saída Hardware Software Controlador de Memória FPGA Processador Memória 52 Representação da aplicação gerada Resultados Projeto conceitual: Totalmente em hardware Entrada Dados Conversor RGB - Cinza Estabilizador Vertical Mapeamento Detector de Movimento Detector BLOB A Classificador Proporção Saída Dados offset Interconexões Glue-Box Representação de HW Controlador Barramento de Controle I/O Conversor Entrada NIOS II Front-End Estabiliza Blob RGB-Gray Detecção Movimento Classificador Conversor Saída I/O Legenda Barramento de Dados Entrada/Saída Hardware Software Controlador de Memória FPGA Processador Memória 53 Resultados Resultados Bibliotecas 3 PCIe Driver 8 ADAS-Vision IDE 1 Dados Projeto do Usuário IP FPGA Intel Atom (Executando S.O.) IP 2 IP 5 Custom Logic 7 System Interconect Bus - Avalon 9 IP 4 PCIe IP VGA Driver 10 11 VGA 1 Controlador Controladores 6 de Memória diversos SDRAM 54 Experimentos com DSE Exemplo de avaliação de projetos com dados obtidos pelo simulador ADAS-Vision Fatores de Influência Definido pelo Usuário Requisitos de projeto Desempenho Fator de influência Financeiro + 30% Precisão 25% + Velocidade + 15% Consumo + 20% Recursos 10% Cálculo de Pontuação Velocidade Potência Orçamento Elem.Lóg. 120 300 1200,00 150000 Horas de trabalho: 10h Valores apurados na simulação = (Valor apurado proporcional ao requisito) * (fator de influência) Experimento Pontuação = Financeiro + Valores Máximos Precisão + Velocidade + Consumo + Precisão Desempenho Financeiro Recursos Recursos Acertos Velocidade Consumo Custo Elem.Lóg. 250 42,00 0 SW ATOM A 0,3247 0,0105 0,0225 0,1250 0,1667 0,0000 91% 20 SW NIOS II B 0,3517 0,0091 0,0750 0,1313 0,1333 0,0030 70% 15 200 36,40 4515 5 x NIOS II C 0,9102 0,0391 0,0750 0,1125 0,6667 0,0169 70% 30 1000 156,40 25325 NIOS II + C.I. D 0,3074 0,0091 0,0425 0,1125 0,1400 0,0033 83% 30 210 36,40 4910 NIOS II + C.I. + IP Hw NIOS II + IP Hw E 0,3039 0,0207 0,0250 0,1088 0,1433 0,0062 90% 33 215 82,80 9244 F 0,3118 0,0091 0,0450 0,1075 0,1467 0,0035 82% 34 220 36,40 5241 IPs IPs+DSP G 0,4983 0,2420 0,0375 0,0438 0,1000 0,0750 85% 85 150 968,00 112548 H 0,3927 0,1997 0,0250 0,0313 0,0733 0,0635 90% 95 110 798,60 95241 Ips + MegaF I 0,4722 0,2420 0,0425 0,0375 0,0800 0,0702 83% 90 120 968,00 105246 Tamanho do projeto lógico Legenda Pontuação calculada Valor estimado pelo simulador ADAS-Vision Valor de mercado de um FPGA Critério definido pelo usuário 55 Experimentos com DSE A Velocidade x Precisão x Tamanho (0,33) 100% Software H I 0,33 G A B (0,35) Velocidade (Quadro/s) 100 0,35 0,3 80 A E D B (0,31) C 60 Coprojeto 0,3 D C 40 F D E E 0,30 F G B 20 E E E E (0,30) 0,3 Melhor Escolha H G (0,50) 100% Hardware 0,39 0 10% 20% 30% 40% 50% 60% 70% 80% 90% F (0,31) I 0% C (0,41) H H 100% (0,39) Precisão na detecção de pedestres 0,39 I (0,47) Definir novas métricas Se não satisfaz os requisitos Criar mais projetos 56 Resultados Detecção de pedestres Resumo Projeto A: HOG + SVM Projeto B: Motion Detection Base INRIA Pedestres Linguagem Arquivos Linhas de código C++ 123 24499 C/C++ Header 70 2182 C# 22 658 SEM COM Total make 1 393 1217 613 1830 Verilog-SystemVerilog 93 13137 Qt Project 1 137 Acertos Erros Taxa MSBuild script 1 112 1630 200 88% DOS Batch 7 25 Windows Resource File 1 1 XML 17 1166 Total 336 42310 57 Roteiro Introdução Desenvolvimento Resultados Conclusão 58 Multidisciplinaridade Conclusão Importante área de pesquisa Didática ++ Proc. de Imagem Windows / Linux Reuso de Sw ++ Hardware Ensino ++ Reuso Hw Uso de HDL Uso de HLS Multiplataforma SoPC ++ Velocidade novos IPs Coprojeto Hw/Sw ADAS-Vision Framework FPGA Flexibilidade ++ ADAS Avaliação DSE Prévia Tomada de decisão Time to Market ++ Geração de código ++Projeto ágil Software Muitos sistemas Inúmeros cenários Cossimulação Hw/Sw ++ Agiliza testes 59 Trabalhos Futuros • Ferramentas de exploração automática – • • • • • • Integração com o R-Project Implementação Hw de novas técnicas de aprendizado de máquina Técnicas avançadas de profiling Construção de novos IPs Modelar novos projetos para ADAS Integração com ModelSim (Matlab) – • • • • • • Simulação do NIOS II (artigo) Modelagem de interfaces dos IPs Hardware Modelagem de Glue-box (Hw <-> Hw) Agrupamento de IPs Modelagem da geração de código Versão do framework para Web Novos compiladores Verilog – • • Computação evolutiva (acelerar simulação de Hardware) Integração com HDL Coder (Matlab) e OpenCL (Intel) Aplicações para VANTS 60 Agradecimentos Fim da Apresentação Muito obrigado pela sua atenção. 61