Co-simulação Régio Michelin.

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de Sistemas Distribuídos Web Services
Advertisements

Instalação e Configuração
Introdução à Ciência da Computação Linguagens de Programação.
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Comunicação entre processos distribuídos
15/1/2014 Professor Leomir J. Borba- – 1 Tec. Em Analise e desenvolv. De Sistemas analise.
Dispositivos lógicos programáveis (DLP)
Fernando Moraes e Ney Laert Vilar Calazans
Ney Laert Vilar Calazans
VHDL AULA - 2.
Laboratório de Sistemas Integráveis
Java: Pacotes e Modificadores de Visibilidade
Java: Pacotes e Modificadores de Visibilidade
Introdução à Programação
Introdução à Informática
ArchC: Uma linguagem de descrição de arquiteturas
Chapter 4: Threads.
Tiago Salmito SystemC Tiago Salmito
DNS Introdução.
April 05 Prof. Ismael H. F. Santos - 1 Modulo II CheckStyle Professor Ismael H F Santos –
Sistemas Distribuídos e Redes de Computadores
Descrição de hardware em SystemC
Co-projeto de Sistemas Operacionais
FLI – ModelSim Pedro Velho.
Curso Sistemas de Informação I Disciplina: Arquitetura de Software
Processos Conceitos Básicos.
Simple Network Management Protocol (SNMP)
Linguagens de Modelagem Mosel e Ampl
DAS Sistemas Distribuídos para Automação Industrial
09/03/10 20:13 Claudio de Oliveira – 1/21.
1 Felipe L. SeverinoPOD XtremWeb Felipe L. Severino Programação com Objetos Distribuídos paralela e.
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação Orientada a Objetos
Introdução a Programação JAVA
Engenharia de Requisitos
Avaliação de um processador FemtoJava multiprocesso CMP502 – Sistemas Embarcados Leomar Soares da Rosa Junior Porto Alegre, março de 2003.
Capítulo 1 Patterns in Network Architecture Fundamentos para a Arquitetura de Redes 1 O Futuro da Internet (2012.1)
Introdução ao Desenvolvimento Web
Uma Linguagem de Especificação de Sistemas
Modos de Configuração do Dispositivo VIRTEX II XC2V1000 Eduardo Wenzel Brião
Placa de prototipação H.O.T. II
Validação de VHDL: técnicas e ferramentas
GAPH Integração de Hardware do Usuário ao CoreConnect Leandro Heleno Möller e Leonel Pablo Tedesco Prototipação Rápida e Computação.
Linguagem de Programação IV
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Chamada Remota de Procedimentos
Módulo: Gerenciamento de Incidentes e
Ney Laert Vilar Calazans
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
BRAZIL IP The BrazilIP Network Verilog Curso do Brazil-IP Elmar Melcher UFCG
Noções de Software Escola Almirante Soares Dutra
1 © The Spider Team – PMI R.E.P. Global Nº ° Projeto com o Spider CPM - versão2 - Slides por Peter Mello, SpS Contribuições de Marcus Possi,
MO801 - Tópicos em Arquitetura e Hardware Michele Tamberlini 05/2006
Projeto de Banco de Dados
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Sistemas Operacionais
Introdução aos Protocolos de Roteamento Dinâmico
Aula 1 – Introdução a Redes de Computadores
Descrição de Circuitos Combinacionais em VHDL
1 Universidade Federal de Santa Catarina Uma Ferramenta de Suporte a Simulação de Redes com o ns-2 Adriano Orlando Campestrini Florianópolis
Pontifical Catholic University of Rio Grande do Sul Porto Alegre, Brazil.
Equipe ADA Recife, 2003 Projeto de Desenvolvimento de Software Profs. Hermano Perrelli e Jacques Robin MARCO ZERO Equipe ADA Francisco De A. M. Valadares.
Linguagem de Programação IV Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tópicos em System-Level
Capítulo 4: Processos.
EDA – Electronic Design Assistant
Introdução ao VHDL João M. P. Cardoso.
Engenharia de Sistemas Embarcados Aula 5: Um Conjunto Básico de Ferramentas.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Web Services / SOA. O cenário de TI nas corporações Novas tendências batiam à porta das corporações Migraram o foco do “gerenciamento de dados” para o.
Transcrição da apresentação:

Co-simulação Régio Michelin

Tópicos 1. Introdução 2. Ambiente de Co-simulação Desenvolvido 2.1. Estrutura Geral 2.2. Arquivo de Coordenação 2.3. Software 2.4. Hardware 3. Estudo de Caso 4. Conclusões

Introdução Sistemas compostos por software e hardware digital hardware analógico e partes mecânicas (opcional) Diferentes linguagens, MOCs e simuladores são usados É necessária uma ferramenta para coordenar a validação do sistema completo

Organização Geral de um Ambiente de Co-simulação ... Módulo1 Módulo2 Módulo3 MóduloN BACKBONE software hardware

Características de um Ambiente de Co-simulação Validação Temporal algoritmo de sincronização para coordenar troca de mensagens uso típico: validação no nível de cíclos Validação Funcional sem referencia de clock global validação de sistema em nível de abstração maior validação mais rápida que temporal Co-simulação Geograficamente Distribuída decentralização de projeto facilita cooperação entre equipes gerência de IP gerência de licensa de IP compartilhamento de recursos Desempenho dependente da rede !!!

Tópicos 1. Introdução 2. Ambiente de Co-simulação Desenvolvido 2.1. Estrutura Geral 2.2. Arquivo de Coordenação 2.3. Software 2.4. Hardware 3. Estudo de Caso 4. Conclusões

Co-simulation Backplane Estrutura Geral ComLibC – socket csiInitialize() csiWaitControl() csiSend() csiSendControl() csiIsSimulating() csiReceive() FLI Interface entre C e VHDL ComLib VHDL componentes da ComLibC Data conversion realizado pela bib. de comunicação Ex.: std_logic_vector to integer e vice-versa ComLib C FLI ComLib VHDL User’s VHDL Communication Components User’s C Code TestBench VHDL Simulator Co-simulation Backplane Coordination File

Co-simulation Backplane Estrutura Geral Componente de Comunicação instanciado para cada porta de I/O Descrição VHDL do usuário hardware do sistema Test Bench integra componentes de de comunicação com descrição do usuário ComLib C FLI ComLib VHDL User’s VHDL Communication Components User’s C Code TestBench VHDL Simulator Co-simulation Backplane Coordination File

Interface Software e Hardware o software é um programa C/C++ compilador GCC Hardware simulador VHDL com bib. FLI Com FLI uma arquitetura ou função pode ser descrita em C Utiliza simulador modelsim Arquivo de Coordenação

Possíveis uso da Ferramenta Co-simulação hw/sw Avalição de partições conta o número de mensagens por cada módulo TB em C HDL Validação funcional de hardware(HDL) sockets

Tópicos 1. Introdução 2. Ambiente de Co-simulação Desenvolvido 2.1. Estrutura Geral 2.2. Arquivo de Coordenação 2.3. Software 2.4. Hardware 3. Estudo de Caso 4. Conclusões

Arquivo de Coordenação(1/2) module VHDL { language("VHDL"); command("vsim Cossim_tb TB_ARCHITECTURE -do script.do"); machine(name="hios.inf.pucrs.br",alias="hios"); port { int A : in; int B : in; control start : in; control res: out; int result : out; }} module M2 { language("C"); command("M2"); machine(name="hios.inf.pucrs.br",alias="hios"); port { int A : out; int B : out; control start : out; control res: in; int result : in; }}

Arquivo de Coordenação(2/2) net N1 { A(VHDL),A(M2) } net N2 { B(VHDL),B(M2) } net N3 { start(VHDL), start(M2) } net N4 { res(M2),res(VHDL) } net N5 { result(VHDL),result(M2) } M2 A B start result VHDL N1 N2 N3 N5 N4 res

Tópicos 1. Introdução 2. Ambiente de Co-simulação Desenvolvido 2.1. Estrutura Geral 2.2. Arquivo de Coordenação 2.3. Software 2.4. Hardware 3. Estudo de Caso 4. Conclusões

Exemplo de Software C #include "csi.h" #include <stdio.h> void main(int argc, char *argv[]) { int x=2,result; int i; csiInitialize(); for(i=0;i<10;i++,x++) { csiSend("B",x); csiSend("A",x); csiSendControl("comeca"); csiWaitControl("res"); csiReceive("result",&result); printf("%d x %d = %d\n",x,x,result); } getchar();

Exemplo de Software SDL SDL Task: Send(x) C Função C: Int Send(int val) csiInitialize(); csiSend(val); Cossim

Tópicos 1. Introdução 2. Ambiente de Co-simulação Desenvolvido 2.1. Estrutura Geral 2.2. Arquivo de Coordenação 2.3. Software 2.4. Hardware 3. Estudo de Caso 4. Conclusões

Exemplo de Hardware VHDL TB Router sockets .architecture tb_arch of vdhl_tb is -- component CSI_IN -- component CSI_OUT -- component vhdl .begin -- Unit Under Test Port Map UUT : vhdl port map(); -- Comunication Components ComLib1 : CSI_IN port map (dout => a, porta => PORTA_A, clk => clk); ComLib2 : CSI_IN port map (...); ComLib3 : CSI_IN port map (...); ComLib4 : CSI_OUT port map (...); ComLib5 : CSI_OUT port map (...); -- Clock and Reset Generation end tb_arch; A B VHDL TB start result res sockets Router

Tópicos 1. Introdução 2. Ambiente de Co-simulação Desenvolvido 2.1. Estrutura Geral 2.2. Arquivo de Coordenação 2.3. Software 2.4. Hardware 3. Estudo de Caso 4. Conclusões

Janela 1 VHDL Waveforms Janela 2 - M2 Janela 3 Mensagens do Backplane Janela 4 simulador de hardware

Mensagens do Roteador net N1 { A(VHDL),A(M2) } cst multi.conf Server started at port 4233 Launching the clients... VHDL M2 A B comeca result N1 N2 N3 N5 N4 res Waiting for clients... Client arriving...M2 ==> connected! Client arriving...VHDL ==> connected! *** All clients connected *** Routing messages ... Total time to process messages is: 0min0s7ms Messages routed: 100 Total time spent to simulate is: 23min18s572ms N1 = 10 N2 = 10 N3 = 10 N4 = 10 N5 = 10 net N1 { A(VHDL),A(M2) } net N2 { B(VHDL),B(M2) } net N3 { comeca(VHDL),comeca(M2) } net N4 { res(M2),res(VHDL) } net N5 { result(VHDL),result(M2) }

Tópicos 1. Introdução 2. Ambiente de Co-simulação Desenvolvido 2.1. Estrutura Geral 2.2. Arquivo de Coordenação 2.3. Software 2.4. Hardware 3. Estudo de Caso 4. Conclusões

Problemas da Ferramenta Tempo de execução excessivo para a versão remota Não suporta simulação temporal Suporta somente tipo inteiro Estender a depuração do sistema Usuário deve informar o endereço do roteador nos módulos lançados remotamente suportar FTP para passar estes dados

Conclusões & Trabalhos Futuros Suporta co-simulação distribuída Lança simuladores automaticamente Pode ser usada como ambiente de validação de HDL e avaliação de particionamento Suporta VHDL , C e SDL Trabalhos Futuros Suportar Java(??) Geração automática de TB VHDL Otimizar tempo de execução Interface gráfica para criação do arquivo de coordenação