Upload
internet
View
114
Download
0
Embed Size (px)
Citation preview
SimicsDeveloped by Virtutech
Apresentação feita por:Carlos FerreiraInês Ramos
Do que vamos falar?
1º Parte – Introdução ao Simics• O que é ?• Para que serve ?• Benefícios da sua utilização
2º Parte – Extras do Simics• Device Modeling Language• Demonstração
Introdução ao Simics1º Parte
Introdução – Embedded Systems
Situação existente• Aumento da complexidade dos sistemas electrónicos.• Processo de desenvolvimento de sistemas focado no hardware. • Necessidade de adopção de técnicas de debugging mais eficientes e económicas.
Em relação ao hardware...
• Software tem de ser testado num sistema cujas características coincidam minimamente com as do produto de hardware final.• Hardware final pode estar a meses do seu lançamento!!!• Dificil detecção de bugs de hardware.
Simics
Simics: O que é ?
• Simics não é igual ao VirtualBox ou VMWare!!!• Solução de software que modela sistemas electrónicos e fornece uma versão virtual do hardware final.• O hardware final opera num ambiente virtual.• Permite correr o software desenvolvido no ambiente virtual, cujos efeitos serão reflectidos de forma similar na máquina final.
Solução:• Sistema virtual:– Permite emulação do Hardware.– Desenvolvimento de software sobre esta plataforma.– Custo mais baixo de desenvolvimento.
Produtos Simics
Simics Hindsight• Usado no desenvolvimento e teste de software para correr código, efectuar debug.• É determinístico (com execução e debug reversíveis) .
Simics Model Builder• Plataforma de desenvolvimento usada para criar os modelos dos dispositivos e as configurações da máquina.• Os modelos de dispositivos podem ser combinados numa plataforma virtual de complexidade arbitrária.
Produtos Simics
Simics Ethernet Networking• Providencía conectividade entre os sistemas virtuais numa simulação. • Conecta os sistemas virtuais a uma rede física.
Simics Accelerator• Providencia escalabilidade e velocidade de execução tirando partido de multiprocessadores e multicore hosts.
Produtos Simics
Simics Virtual Platform• O modelo do hardware final que vai ser simulado. • A plataforma virtual do Simics pode ser tão simples ou complexa quanto o sistema físico final. • Este pode conter desde um simples CPU e uma RAM a uma rede complexa de computadores e sistemas.
Simics
Exemplos de SO’s usados em simulações• Linux (qualquer distribuição)• VxWorks• Windows (Mobile, XP, Vista)• Solaris• BSD’s (FreeBSD, NetBSD, OpenBSD e outros)• Muitos mais…
Simics
Exemplos de simulação• MotherBoards
• Processadores
(single/dual/quad/N core)
• Sistemas heterogéneos
• SoC (System on Chip)
• Inter-System Communications
(USB, FireWire, Serial, SATA, etc)
Benefícios
Função: Desenvolvimento de plataformas• Possibilidade de visualizar o estado dos registos do processador/dispositivos durante o debug.• Permite determinar onde ocorrem os erros (software ou hardware).• O hardware virtual corre o mesmo software binário que o sistema físico final.
Benefícios
Função: Desenvolvimento de aplicações• Escalabilidade • O debug é feito tomando o sistema como um todo.• Possibilidade de restauro do estado actual do processador/dispositivos.• Permite gerar interrupções.• Profiling do código.
Benefícios
Função: Integração e teste do sistema• Tarefas realizadas em paralelo (“Incremental integration”)
• Problemas identificados mais rapidamente com resolução mais fácil e menos custosa.
• Integração e testes contínuos identificam problemas mais cedo
• Quando é detectado um bug, o estado de uma dada simulação pode ser “empacotado” e enviado por email a engenheiros de software para futuras correcções .
Benefícios
Função: Gestão do projecto• Paralelização das fases de desenvolvimento (redução do tempo das actividades críticas e do tempo total do projecto)• Defeitos descobertos/solucionados mais cedo.• Maior quantidade de defeitos descobertos (melhor qualidade do produto final).• Redução dos custos• Redução do tempo de desenvolvimento e minimização do uso de hardware.
Benefícios
Benefícios gerais:
• Agilidade
• Flexibilidade
• Desenvolvimento prévio do software/hardware
• Redução de riscos no projecto
• Redução dos custos do projecto
Device Modeling Language (DML)
2º Parte
Device Modeling Language
Linguagem usada para modelar Hardware de forma Eficiente
Características Principais:
• Não é uma linguagem de uso geral!
• Possui uma sintaxe expressiva adaptada ás necessidades da programação do modelo de dispositivos.
• Linguagem Modelar baseada em Objectos• É mais compacta.
• O compilador converte o código DML em código C que será posteriormente compilado para código máquina.• Providencía maior rapidez durante a simulação.
DML
Características Especificas:
• Linguagem Imperativa, Declarativa, Orientada por Objectos
• Objectos contêm Métodos e Parâmetros objectos → dispositivos, registos, memórias, etc
• Contém Logger interno
• A parte algorítmica é uma extensão do subset do ISO C• Palavras reservadas do ISO/ANSI C estão reservadas em DML (int, float, etc)
• Comportamento do DML similar com SystemC
DML - Exemplo
// A very simple devicedml 1.0;device simple_device;import "io-memory.dml";bank b { register r0 size 4 @0x0000 { method read() -> (value) { log "info": "Hello, bus!"; } }}
Um pequeno exemplo de código DMLComentárioVersão da linguagemNome deste dispositivoStandard Library importBanco de RegistosNome do registo, tamanho e offsetMétodo read() para ler o valor do registroEscreve no log “info” a msg “Hello Bus”
Conclusão
• O Simics é uma solução de software com elevado grau de flexibilidade e escalabilidade que permite modelar sistemas electrónicos com elevada performance e fidelidade.
• Fornece ás corporações os meios necessários ao melhoramento do processo de desenvolvimento dos seus produtos.
• As empresas produzem mais, melhor e a menor custo.
• Complementaridade MIECT – MIEET– Engenheiros de MIEET preocupam-se em optimizar o hardware.– Engenheiros de MIECT preocupam-se em optimizar o software.– O desenvolvimento em paralelo permite ambos encontrarem-se no
final do projecto, para a junção de ambos os resultados.
Informações
Simics está disponível em http://www.virtutech.com/
Licenças Académicas Gratuitas !!!
E agora vamos a uma pequena demonstração…