Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

27
Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz

Transcript of Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

Page 1: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

AutomatedSynthesiS ofEmbeddedTechnology

Eduardo C. ZiniMarcelo A. Dantas

Marcelo F. Cruz

Page 2: Automated SynthesiS of Embedded Technology 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

Page 3: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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.

Page 4: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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.

Page 5: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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

Page 6: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

Fases de desenvolvimento

Fluxo dirigido à estimativas

Três principais fases:1. Especificação e Verificação

2. Estimação e Particionamento

3. Síntese

Page 7: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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.

Page 8: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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.

Page 9: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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

Page 10: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.
Page 11: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.
Page 12: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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.

Page 13: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

Modelos utilizadosModelo ESIR (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.

Page 14: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

Modelos utilizadosModelo ESIR - Exemplo :

Page 15: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

Ferramentas de apoio

As principais ferramentas usadas pela

metodologia são:

Software Estimator Hardware Estimator Partitioner C2VHDL

Page 16: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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.

Page 17: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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.

Page 18: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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

Page 19: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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

Page 20: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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.

Page 21: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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).

Page 22: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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

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

Trace Generation:

Page 23: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

Exemplo – Especificação e Verificação:

Gráfico de chamadas:

Page 24: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

Exemplo – Especificação e Verificação:

Lookup Table:

Função Número de Execuções

selectQuartos 1

requestQuery 1

dataListener 1

readData 1

showData 1

choiceListener 1

choiceRequest 1

showResult 1

resultListener 1

Page 25: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

Exemplo – Especificação e Verificação:

Estimation generation:

Função Estimativa para Software (microseg)

Estimativa para Hardware (microseg)

Decisão

selectQuartos 10 12 Software

requestQuery 8 9 Software

dataListener 7 4 Hardware

readData 9 14 Software

showData 12 7 Hardware

choiceListener 10 13 Software

choiceResult 11 15 Software

showResult 10 5 Hardware

resultListener 9 6 Hardware

Page 26: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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)

Page 27: Automated SynthesiS of Embedded Technology Eduardo C. Zini Marcelo A. Dantas Marcelo F. Cruz.

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.