210 likes | 376 Views
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.
E N D
DevelopedbyVirtutech 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 • DeviceModelingLanguage • Demonstração
1º Parte Introdução ao Simics
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.
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.
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 (Systemon Chip) • Inter-SystemCommunications • (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
2º Parte DeviceModelingLanguage (DML)
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.
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 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!"; } } }
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…