1 / 27

A utomated S ynthesi S of E mbedded T echnology

A utomated S ynthesi S of E mbedded T echnology. Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz. Indice. Sistemas embarcados Introdução à metodologia ASSET Fases de desenvolvimento Modelos utilizados Ferramentas de apoio Exemplo – sistema de hotel Prós e contras Bibliografia.

emil
Download Presentation

A utomated S ynthesi S of E mbedded T echnology

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AutomatedSynthesiS ofEmbeddedTechnology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz

  2. Indice • Sistemas embarcados • Introdução à metodologia ASSET • Fases de desenvolvimento • Modelos utilizados • Ferramentas de apoio • Exemplo – sistema de hotel • Prós e contras • Bibliografia

  3. Sistemas Embarcados • São sistemas que frequentemente necessitam executar em tempo real. • Possuem limitações de Hardware. • Exemplos: • ATM’s (Automatic Teller Machines). • Telefones Celulares. • Roteadores. • Impressoras. • Calculadoras. • Vídeo-Games. • Máquinas de Lavar.

  4. Sistemas Embarcados Características: • Equipes pequenas. • Sempre há a necessidade de desenvolvimento de Hardware e Software melhores. • Necessidades de melhorias contínuas no custo de desempenho • Performance é muito importante.

  5. Introdução • O projeto objetiva a criação de uma metodologia para desenvolvimento de sistemas embarcados. • É basicamente constituído de métricas que auxiliam na performance. • Ajuda a definir qual parte do sistema será mapeada para Hardware e qual será mapeada para Software. • Auxilia na criação da Interface Hardware-Software

  6. Fases de desenvolvimento • Fluxo dirigido à estimativas • Três principais fases: • Especificação e Verificação • Estimação e Particionamento • Síntese

  7. FD: Especificação e Verificação • Análise da aplicação e criação de um perfil para a mesma. • É criada uma representação intermediária chamada ESIR (Representação Intermediária do Sistema Embarcado) • O modelo ESIR é criado usando o formato SUIF (Stanford University Intermediate Format). • As ferramentas se comunicam através da ESIR.

  8. FD: Estimação e Particionamento • São estimados quais parâmetros de performance seriam necessários se uma função fosse implementada em software ou em hardware. • Essa estimativa é baseada no número de ciclos realizados durante a execução de cada função e quais recursos são necessários. • Estimativas dos custos de comunicação (nas diversas partes) • Após a execução dessas estimativas é decidido quais partes da aplicação vão ser mapeadas para software e quais vão ser mapeadas para hardware.

  9. FD: Síntese • A síntese de software ou geração de código é feita para a parte de software e a descrição VHDL é gerada para a parte de hardware, ambas de maneira conjunta com as interfaces e o kernel. • Em seguida é realizada a integração e a implementação em si do sistema

  10. Modelos utilizados Modelo SUIF (Stanford University Intermediate Format) • Foi desenvolvido pelo Stanford Compiler Group • Apresenta uma infra-estrutura projetada para suportar colaborações de pesquisas em otimizações e compiladores paralelos • Traduz programas seqüenciais em códigos paralelos. • Implementado em C.

  11. Modelos utilizados ModeloESIR (Embedded Systems Intermediary Representation) : • Modelo usado para representação do perfil do software a ser desenvolvido. • Todas as ferramentas operam em cima dessa representação • Desenvolvida usando o formato SUIF (Stanford University Intermediate Format). • Auxilia nas fases de desenvolvimento. • As entradas nas ferramentas (a serem descritas posteriormente) que auxiliam essa metodologia são baseadas nesse modelo.

  12. Modelos utilizados ModeloESIR - Exemplo :

  13. Ferramentas de apoio As principais ferramentas usadas pela metodologia são: • Software Estimator • Hardware Estimator • Partitioner • C2VHDL

  14. FA: Software Estimator Principal objetivo: Inputs: • aplicação fonte em C • especificação do processador a ser utilizado Outputs: • tempos de execução de cada uma das funções da aplicação na arquitetura de processamento dada.

  15. FA: Hardware Estimator • Estima métricas de performance de hardware, sem a necessidade de sintetizar o circuito • Métricas: área, número de pinos, tempos de execução, largura dos canais de comunicação, etc.

  16. FA: Partitioner • Particiona um conjunto dado de tarefas em uma mistura de processadores, ASICs, etc. • Minimiza um conjunto de métricas sob um dado conjunto de restrições • Utiliza programação dinâmica para a solução

  17. FA: C2VHDL Converter • Permite um rápido design da aplicação • Componentes identificados pelo particionador: Descrição em alto nível  automaticamente convertida para implementação de hardware

  18. Exemplo – Reserva no Hotel Descrição: • Hotel deseja tornar seu sistemas de reserva um diferencial para clientes VIP´s • É negociado com a operadora e com a fábrica de celulares um sistema de reserva de quartos usando o celular. • No celular do cliente são exibidos uma lista de quartos disponíveis e sua cotação (de 1 a 5 estrelas). • O cliente pode selecionar o quarto e fazer a reserva.

  19. Exemplo – Especificação e Verificação: Dummy Insertion: Descrição das funções: • Solicita os quartos disponíveis (getQuartos). • Envia requisição do pedido de consulta para o servidor (requestQuery). • Fica aguardando as informações dos quartos estarem disponíveis (dataListener). • Lê os dados quando gravados (readData). • Exibe as informações na tela do celular (showData). • Fica aguardando o usuário selecionar um quarto (choiceListener). • Envia o pedido de reserva (choiceRequest). • Aguarda a resposta (resultListener). • Exibe a resposta para o usuário (showResult).

  20. Exemplo – Especificação e Verificação: • Entrou selectQuartos. • Entrou em requestQuery. • Entrou em dataListener. • Saiu de dataListener. • Saiu de requestQuery. • Entrou em readData. • Entrou em showData. • Saiu de showData • Saiu de readData Trace Generation: • Entrou em choiceListener. • Entrou em choiceRequest. • Entrou em resultListener. • Saiu de resultListener. • Saiu de choiceRequest • Saiu de choiceListener • Entrou em showResult. • Saiu de showResult • Saiu de getQuartos

  21. Exemplo – Especificação e Verificação: Gráfico de chamadas:

  22. Exemplo – Especificação e Verificação: Lookup Table:

  23. Exemplo – Especificação e Verificação: Estimation generation:

  24. Dificuldades, pontos fortes e pontos fracos • Prós • Ciclo de Vida e do Processo Relativamente Curto • Ferramentas apóiam automatização. • Ferramentas atualizadas continuamente. • Contras • Hardware ou Software? • Ferramentas utilizadas necessitam ser muito bem projetadas. • Dependência das ferramentas (não gratuitas) • Necessidade de conhecimento do problema abordado para avaliar se as decisões da ferramenta são bem fundamentadas ou não. • Dificuldade de atualização do projeto: fluxo de desenvolvimento não possui rollbacks (um só sentido)

  25. Bibliografia • http://www.cse.iitd.ernet.in/esproject • Vinod Gupta, Purvesh Sharma, M. Balakrishnan, and Sharad Malik. Processor Evaluation in an Embedded Systems Design Environment. In Proc. of the Intl. Conf. on VLSI Design, Calcutta, India, Jan. 2000. • Vivek Haldar, Gokul Varadhan, Abhishek Saxena, M. Balakrishnan, and Subhashis Banerjee. Design of Embedded Systems for Real-Time Vision. In Proc. ICVGIP, 2000. • Aviral Shrivastava, Mohit Kumar, Sanjiv Kapoor, Shashi Kumar, and M. Balakrishnan. Optimal Hardware/Software Partitioning for Concurrent Specication using Dynamic Programming. In Proc. Intl. Conf. on VLSI Design, IEEE CS Press, Calcutta, India, pages 110.113, 2000.

More Related