1 / 21

Simics

Developed by Virtutech. Simics. Apresentação feita por: Carlos Ferreira Inê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. 1º Parte.

angeni
Download Presentation

Simics

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. DevelopedbyVirtutech Simics Apresentação feita por: Carlos Ferreira Inês Ramos

  2. 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 • DeviceModelingLanguage • Demonstração

  3. 1º Parte Introdução ao Simics

  4. Introdução – EmbeddedSystems 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.

  5. Simics • Solução: • Sistema virtual: • Permite emulação do Hardware. • Desenvolvimento de software sobre esta plataforma. • Custo mais baixo de desenvolvimento. • 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.

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

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

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

  9. 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…

  10. Simics • Exemplos de simulação • MotherBoards • Processadores • (single/dual/quad/N core) • Sistemas heterogéneos • SoC (Systemon Chip) • Inter-SystemCommunications • (USB, FireWire, Serial, SATA, etc)

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

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

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

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

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

  16. 2º Parte DeviceModelingLanguage (DML)

  17. DeviceModelingLanguage • 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.

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

  19. DML - Exemplo Um pequeno exemplo de código DML Comentário Versão da linguagem Nome deste dispositivo Standard Libraryimport Banco de Registos Nome do registo, tamanho e offset Método read() para ler o valor do registro Escreve no log “info” a msg “Hello Bus” // A verysimpledevice dml1.0; devicesimple_device; import"io-memory.dml"; bank b { register r0 size4 @0x0000{ methodread() -> (value) { log"info": "Hello, bus!"; } } }

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

  21. Informações • Simics está disponível em http://www.virtutech.com/ • Licenças Académicas Gratuitas !!! • E agora vamos a uma pequena demonstração…

More Related