Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.
Transcript of Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.
![Page 1: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/1.jpg)
SimicsDeveloped by Virtutech
Apresentação feita por:Carlos FerreiraInês Ramos
![Page 2: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/2.jpg)
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
![Page 3: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/3.jpg)
Introdução ao Simics1º Parte
![Page 4: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/4.jpg)
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.
![Page 5: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/5.jpg)
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.
![Page 6: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/6.jpg)
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.
![Page 7: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/7.jpg)
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.
![Page 8: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/8.jpg)
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.
![Page 9: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/9.jpg)
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…
![Page 10: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/10.jpg)
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)
![Page 11: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/11.jpg)
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.
![Page 12: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/12.jpg)
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.
![Page 13: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/13.jpg)
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 .
![Page 14: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/14.jpg)
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.
![Page 15: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/15.jpg)
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
![Page 16: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/16.jpg)
Device Modeling Language (DML)
2º Parte
![Page 17: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/17.jpg)
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.
![Page 18: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/18.jpg)
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
![Page 19: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/19.jpg)
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”
![Page 20: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/20.jpg)
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.
![Page 21: Developed by Virtutech Apresentação feita por: Carlos Ferreira Inês Ramos.](https://reader035.fdocuments.net/reader035/viewer/2022062219/552fc13c497959413d8dad58/html5/thumbnails/21.jpg)
Informações
Simics está disponível em http://www.virtutech.com/
Licenças Académicas Gratuitas !!!
E agora vamos a uma pequena demonstração…