SEEP Sistemas Eletrnicos Embarcados Baseados em Plataforma UFRGS
SEEP Sistemas Eletrônicos Embarcados Baseados em Plataforma UFRGS Instituto de Informática Departamento de Engenharia Elétrica Grupo de Microeletrônica LSE – Laboratório de Sistemas Embarcados 1
Introdução • projeto aprovado pelo programa PD&I-TI (Pesquisa, Desenvolvimento e Inovação em Tecnologias da Informação) – financiado com recursos do CT-Info (fundo setorial de Informática) • realização pelo Laboratório de Sistemas Embarcados da UFRGS – Flávio, Susin, Luigi, Luba, Carlos Eduardo • desenvolvimento no período de janeiro 2003 a dezembro 2006 – aprovação inicial por 2 anos, com renovação após avaliação • orçamento geral de R$ 931 mil, para período de 4 anos – R$ 450 mil em bolsas DTI – R$ 307 mil em custeio – R$ 174 mil em capital 2
Resultados gerais principais • plataforma arquitetural configurável para So. Cs embarcados – – componentes IP de HW (processadores, memórias, outros) componentes IP de SW (orientados para os domínios de aplicação) com diversas estruturas de comunicação fortemente direcionada à transformação da realidade nacional, mas atingindo o estado-da-arte mesmo em mercados internacionais • metodologia completa de projeto de So. Cs embarcados, visando a configuração da plataforma, principalmente através do software de aplicação, incluindo ferramentas de: – – exploração arquitetural geração do software de aplicação síntese de processadores dedicados estimativas de desempenho e potência – – co-simulação geração do RTOS integração de componentes IP teste 3
Resultados gerais complementares • desenvolvimento, prototipação e avaliação de duas aplicações de porte e relevância industrial, utilizando a plataforma e a metodologia de concepção resultantes do projeto • biblioteca de IPs para plataformas direcionadas a aplicações industriais relevantes para o país • disponibilização de resultados (processos, técnicas, ferramentas, componentes de hardware e software, aplicações) para a comunidade de P&D nacional, inclusive através da internet • acréscimo de 20% na produção científica atual do grupo, com publicação no período de 18 artigos completos em periódicos internacionais indexados e 40 artigos completos em eventos internacionais, como resultado direto do projeto. • formação de pelo menos 8 doutores e 20 mestres no período do projeto • organização do material resultante do projeto em um livro “Projeto de Sistemas Embarcados Baseado em Plataformas” 4
Atividades • Atividades básicas – – – PLAT – plataforma de hardware IP – integração de componentes IP hw/sw CO-SIM – co-simulação distribuída JAVA – síntese automática de microcontroladores JAVA RTOS – sistema operacional de tempo real • Atividades integradoras – – ESTIM – estimativas de desempenho e potência EXPLOR – ambiente de exploração arquitetural TESTE – metodologia de teste SOFT – geração automática de software • Aplicações – APLIC 1 – aplicação de porte industrial, internacional (domótica? ) – APLIC 2 – aplicação de porte industrial, nacional (terminal internet? ) – PROTO – prototipação, teste, avaliação e refinamento das aplicações 5
PLAT • definição de duas plataformas de hardware para sistemas eletrônicos embarcados complementares, orientadas para as aplicações previstas • plataformas incrementam reuso de componentes de hw e sw • configuráveis especialmente pelo software da aplicação e pela parametrização de componentes – parametrização em termos de desempenho, potência, área • hardware – processadores e blocos dedicados de hardware – estrutura de comunicação dedicada à aplicação – possível substrato: FPGAs • software – RTOS 6
PLAT • 2003/1 a 2004/2 • bolsistas DTI: 1 recém-doutor, 1 recém-graduado • indicadores de progresso ano 1 – definição inicial de duas plataformas, uma para cada aplicação-alvo, atendendo requisitos distintos de custo, potência, desempenho • indicadores de progresso ano 2 – definição final das plataformas, contendo processadores e blocos dedicados de hardware, interconectados por uma estrutura de comunicação dedicada à aplicação 7
IP • mecanismo de integração de componentes IP homogêneos ou heterogêneos de hardware e software • componentes homogêneos: padrões • padrões de hardware – barramento: AMBA? – interfaces de componentes: OCP? VCI? • padrões de software: API com primitivas de comunicação de alto nível • componentes heterogêneos – construção automática ou semi-automática de adaptadores de interfaces – uso de templates de hardware – adaptação do código fonte de componentes de software 8
IP • 2003/1 a 2004/2 • bolsistas DTI: 1 recém-doutor • indicadores de progresso ano 1 – biblioteca de adaptadores de componentes IP para o padrão OCP – adaptadores para processador femto. Java, memórias e interfaces de periféricos – componentes descritos nas linguagens C e Java • indicadores de progresso ano 2 – ambiente completo de modelagem com suporte para a integração de componentes IP – biblioteca de adaptadores para padrões AMBA e VCI – componentes descritos na linguagem System. C 9
CO-SIM • ambiente de co-simulação distribuída multi-nível • uso do backbone DCB • suporte para avaliação remota de componentes IP – integração virtual ao modelo – comunicação apenas através das interfaces • suporte para construção de modelos contendo componentes homgêneos ou heterogêneos – heterogeneidade de interfaces, linguagens, níveis de abstração • construção automática dos adaptadores de linguagens • suporte para construção dos adaptadores de interfaces (atividade IP) 10
CO-SIM • 2003/1 a 2004/2 • bolsistas DTI: 1 recém-mestre • indicadores de progresso ano 1 – recursos para integração entre componentes C e Java – geração de código de co-simulação para modelos distribuídos e heterogêneos • indicadores de progresso ano 2 – recursos para integração de componentes System. C e VHDL – geração de código de co-simulação para modelos não-distribuídos e homogêneos 11
JAVA • ambiente de síntese automática de microcontroladores dedicados e otimizados – plataforma combinando alto desempenho e baixa potência • capazes de executar "byte-codes" Java – portabilidade das aplicações, reuso de software • síntese a partir de uma especificação Java da aplicação • síntese de variantes do microcontrolador, suportando de forma mais eficientes diferentes modelos de computação – DSP – multithread 12
JAVA • 2003/1 a 2004/2 • bolsistas DTI: 1 recém-graduado • indicadores de progresso ano 1 – definição de variantes arquiteturais do processador femto. Java, em especial a versão DSP e a versão multi-thread, para uso na plataforma de baixa potência • indicadores de progresso ano 2 – ambiente de síntese automática de microcontroladores dedicados e otimizados, capazes de executar "byte-codes" Java, a partir de uma especificação Java da aplicação 13
RTOS • geração automática de RTOS dedicado e otimizado para uma dada aplicação embarcada • configuração automática para a plataforma de hardware selecionada • otimização de aspectos particulares de uma aplicação (desempenho, potência) • recursos – – escalonamento de processos atendimento de requisitos de tempo real gerência de sistemas distribuídos suporte à comunicação entre processos e processadores 14
RTOS • 2003/2 a 2005/1 • bolsistas DTI: 1 recém-mestre • indicadores de progresso ano 1 – definição dos módulos que deverão compor o RTOS, considerando o espaço de automação de projeto • indicadores de progresso ano 2 – desenvolvimento das rotinas para síntese do RTOS a partir da especificação de alto nível do sistema embarcado • indicadores de progresso ano 3 – conclusão da técnica de geração automática de RTOS 15
ESTIM • metodologia de estimativas de desempenho, consumo de potência e memória utilizada, a partir de especificações de alto nível da aplicação • suporte à exploração do espaço de projeto • estimativas para uma combinação aplicação – arquitetura-alvo – plataforma de hardware (componentes IP, considerando diferentes tipos de processadores) – RTOS – mecanismos de comunicação de hardware e software 16
ESTIM • 2004/1 a 2005/2 • bolsistas DTI: 1 recém-mestre • indicadores de progresso ano 2 – levantamento de características físicas de IPs, estruturas de comunicação e software, para obter subsídios para estimação de desempenho, potência e memória em alto nível de abstração • indicadores de progresso ano 3 – ferramentas de estimativa de desempenho, potência e memória a partir de especificação de alto nível da aplicação, orientadas para as plataformas definidas no projeto 17
EXPLOR • ambiente de exploração arquitetural de So. C • estimativa de desempenho e potência de alternativas de distribuição das funções computacionais entre processadores – número e tipo de processadores • estimativa de desempenho e potência de alternativas de estruturas de comunicação – barramentos simples – No. C • impacto do mapeamento de funções em diferentes posições da No. C 18
EXPLOR • 2004/1 a 2005/2 • bolsistas DTI: 1 recém-mestre • indicadores de progresso ano 2 – biblioteca de IPs com versões de componentes (minimizando área, potência, espaço de memória, tempo de processamento) para exploração do espaço de projeto • indicadores de progresso ano 3 – ferramenta de catalogação e seleção de IPs baseada em requisitos da aplicação 19
TESTE • metodologia de teste de software e hardware, considerando arquiteturaalvo – plataforma de hardware (componentes de processamento e estruturas de comunicação) – plataforma de software (RTOS) • desenvolvimento de técnicas de teste – com redução do tempo de teste – com baixo custo (reuso das estruturas já existentes no sistema) – com aumento da testabilidade 20
TESTE • 2005/1 a 2006/2 • bolsistas DTI: 1 recém-doutor • indicadores de progresso ano 3 – técnicas de teste de software aplicáveis a descrições VHDL: estudos de caso – sequência de teste externo para o microcontrolador femto. Java • indicadores de progresso ano 4 – ferramentas de auxílio ao planejamento de teste de So. Cs baseados em controladores integrados e em No. Cs 21
SOFT • geração automática de software a partir de uma especificação de alto nível • mapeamento automático para programas otimizados para o paradigma computacional dos processadores considerados (microcontroladores, DSP, ASIPs, VLIW, multithread, etc. ) • otimização segundo requisitos de desempenho, potência, memória • exploração do espaço de projeto • desenvolvimento de conjunto de classes para diferentes modelos de computação • definição de linguagem abstrata de modelagem para especificação de alto nível (UML, Rosetta) 22
SOFT • 2005/1 a 2006/2 • bolsistas DTI: 1 recém-doutor • indicadores de progresso ano 3 – levantamento de características comuns de aplicações embarcadas, para captura de diferentes modelos comportamentais de software, visando sua automação • indicadores de progresso ano 4 – geração automática de software de aplicação, sobre a plataforma de hardware e software, a partir de especificações de alto nível em diferentes modelos de computação 23
APLIC 1 • especificação e desenvolvimento de uma aplicação de porte industrial e relevância internacional, na área da domótica, para validação da metodologia completa de projeto – modelagem de alto nível, seleção da arquitetura, refinamento arquitetural, simulação em diferentes níveis de abstração, desenvolvimento e integração dos componentes (IPs) necessários e geração do software • 2004/1 a 2005/2 • bolsistas DTI: 1 recém-mestre, 1 recém-graduado • indicadores de progresso – ano 2: modelagem de alto nível da aplicação, exploração de soluções arquiteturais, desenvolvimento e busca de componentes IP necessários – ano 3: conclusão da aplicação, com síntese final do software e hardware 24
APLIC 2 • especificação e desenvolvimento de uma segunda aplicação de porte industrial, com impacto mais voltado à realidade social brasileira – possível aplicação: terminal portátil de acesso à Internet de baixíssimo custo, para aumentar a acessibilidade da população a tecnologias mais complexas • 2005/1 a 2006/2 • bolsistas DTI: 1 recém-doutor, 1 recém-graduado (15) • indicadores de progresso – ano 3: modelagem de alto nível da aplicação, exploração de soluções arquiteturais, desenvolvimento e busca de componentes IP necessários – ano 4: conclusão da aplicação, com síntese final do software e hardware 25
PROTO • prototipação das aplicações em FPGAs – teste dos protótipos segundo a metodologia de teste – avaliação dos protótipos, em termos de desempenho e potência consumida, através de benchmarks de domínio público – refinamento das aplicações, segundo interesse de parceiros industriais, a partir de parâmetros fornecidos pela própria indústria • 2005/1 a 2006/2 • bolsistas DTI: 1 recém-graduado • indicadores de progresso – ano 3: montagem da primeira aplicação em placas de FPGAs, para validação de metodologia e ferramentas de projeto e identificação de pontos críticos da implementação do protótipo – ano 4: montagem da segunda aplicação, comparação de resultados, montagem de outra versão de uma das aplicações para exploração do espaço de projeto e avaliações comparativas 26
Cronograma 27
Outros indicadores de progresso ano 1 ano 2 ano 3 ano 4 formação de 5 mestres e 1 doutor submissão de artigos: 2 periódicos e 10 eventos internacionais relatórios de pesquisa 1ª versão do site para disponibilização de resultados formação de 5 mestres e 2 doutores submissão de artigos: 2 periódicos e 10 eventos internacionais relatórios de pesquisa 2ª versão do site formação de 5 mestres e 2 doutores submissão de artigos: 6 periódicos e 10 eventos internacionais relatórios de pesquisa versão final do site, componentes IP de HW e SW formação de 5 mestres e 3 doutores submissão de artigos: 8 periódicos e 10 eventos internacionais relatórios de pesquisa 28
Orçamento 29
Bolsistas DTI 30
Coordenação científica • reuniões técnicas semanais dentro de cada atividade – presença de toda a sub-equipe – discussão detalhada de problemas e soluções • seminários quinzenais, envolvendo toda a equipe – discussão dos trabalhos em andamento – prévias de apresentações em conferências – palestras convidadas, etc. • reuniões de coordenação científica mensais – – restritas aos pesquisadores líderes avaliação de resultados planejamento de atividades integração das grandes linhas e estratégias científicas • workshops de todo o grupo, abertos à comunidade nacional – realizados em paralelo com eventos nacionais significativos (SBCCI, p. ex. ) – divulgação de resultados parciais do projeto 31
- Slides: 31