Criando uma Interface Modular Envolve a criação das três classes descritas anteriormente:  “Metaporta” de entrada.  “Metaporta” de saida.  Canal. Esse.

Slides:



Advertisements
Apresentações semelhantes
Técnicas de Programação II Revisão TP1 Parte2
Advertisements

Programação em Java Prof. Maurício Braga
Tópicos em System-Level
Entrada e Saída Introdução.
List templates Vamos considerar a lista ligada (singly linked list) O objecto da classe slink O objecto da classe slink O objecto da classe slink NULL.
Vamos abordar o exemplo
LEIC/FEUP Tecnologia de Sistemas de Gestão de Bases de Dados
Ir p/ primeira página Cliente/Servidor Modelo usado para construir aplicações Servidor em número de porta conhecido – Aceita requisições e executa serviços.
GAPH - PPGCC - FACIN - PUCRS
Unidades de Execução e de Controle Sistemas Digitais.
Orientação a Objetos: Modificador Final para Métodos e Classes
Streams Java.
2002 LCG/UFRJ. All rights reserved. 1 Tópicos em C++ Claudio Esperança Paulo Roma Cavalcanti.
Tiago Salmito SystemC Tiago Salmito
Sobrecarga de Operadores
Descrição de hardware em SystemC
Modificadores de tipos e Arquivos
9 Controle de fluxo Seqüenciadores. Jumps. Escapes. Exceções.
7 Abstração Genérica Unidades genéricas e instanciação.
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Centro Integrado de Tecnologia da Informação
1 Aula 3 Listas e iteradores (cont.). 2003/2004 Programação Orientada para Objectos 2 ListaDeInt : interface class ListaDeInt { public: typedef int Item;
2002/2003 Programação Orientada para Objectos 1 Aula 3 Utilização de listas Melhorando a implementação das listas e iteradores Reflexão sobre interfaces.
Aula 2 Listas e iteradores.
A linguagem C#.
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
Estrutura de Dados em Java
Tópicos Tipos de Dados Variáveis por Valor Variáveis por Referência
CRIANDO OBJETOS EM JAVA
Departamento de Estatística e Informática
Funções Declaração function nomedafunção (arg_1, arg_2,..., arg_n) corpoDaFunção end.
Aula prática 13 Orientação a Objetos – C++ Parte 1
Sub-programas. Mecanismo de composição de programas Sub-programa está para peça de LEGO assim como um programa está para a construção.
Conceitos básicos de orientação a objetos
Curso básico de PHP 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
Uma classe para vectores
Tópicos avançados em internet A
Tópicos de Sistemas de Informação A
Streams –input e output
Web Services Uninorte Semana de Tecnologia da Informação
Chamada Remota de Procedimentos
BRAZIL IP The BrazilIP Network Verilog Curso do Brazil-IP Elmar Melcher UFCG
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This.
Troca de Mensagens Assíncronas n Canais de comunicação são filas ilimitadas de mensagens. n Processos inserem elementos nessa flia através de comandos.
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
BCC /01 Aula Teórica 09 Funções Material Didático Proposto. 1 BCC701 – Programação de Computadores I Universidade Federal de Ouro Preto Departamento.
Java Kickstart, day 2 Semelhanças com linguagem C.
Aula Prática 4 Monitoria IP/CC (~if669).
OMNeT++.
Semáforos n Variáveis compartilhadas são globais n Acesso a variáveis ocorre em procedimentos, mas podem estar espalhados pelo programa n Exige consulta.
Coleções, Genéricos, Threads Marco Antonio. Collection Principais métodos da interface Collection.
BRAZIL IP The BrazilIP Network Ferramenta para geração de templates para Testbench Projeto Fênix Fevereiro 2004 Karina Rocha G. da Silva UFCG
Redes de Computadores I Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Coleções em Java - Parte 2
Aula Prática 3 Funções Monitoria Introdução à Programação.
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Socket em Java.
Prof.: Francisco Heron Equipe: Israel Cavalcanti | Ricardo Ulisses | Marcos de Souza FFI - Foreign Function Interface Introdução Estrutura Léxica Declarações.
Bruno Inojosa MCP .NET Framework
Python Threads e Socket
WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.
Introdução ao C++ para programadores OO Instrutores: Francisco Carvalho, João Paulo do Monte, Renato Viana Ferreira {fcfl, jpsml,
Tecgraf PUC-Rio maio de 2011 Mapeamento de IDL para Java.
GESTOR: TIC/TIC-E&P/GIDSEP versão 1 - julho/2013 Tecgraf PUC-Rio Agosto de 2013 Mapeamento de IDL para Java.
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Mapeamento de IDL para C#
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista POO para Redes de Computadores.
PROJETO 2: ALUNOS UFRPE Parte 1. Dividindo para conquistar 1. Interação com o usuário 2. Leitura e escrita em arquivos 3. Regra de negócio para executar.
SOCKET - É um canal de comunicação entre processos que estabelece uma conexão entre eles na forma de cliente-servidor. Por meio de sockets, os computadores.
Minicurso Java Básico Ruddá Beltrão | Cristian Costa.
Transcrição da apresentação:

Criando uma Interface Modular Envolve a criação das três classes descritas anteriormente:  “Metaporta” de entrada.  “Metaporta” de saida.  Canal. Esse processo pode ser dividido em nos seguintes passos:  Declaração das classes.  Adicionando sinais e portas.  Adicionando funções de “binding”.  Definindo funções de transferência.

Declaração das Classes Exemplo: // Input port. template class RV_in { public: CYN_METAPORT;... // Output port. template class RV_out { public: CYN_METAPORT;... // Ready/valid chanel class. template class RV { public: typedef RV_in in; typedef RV_out out;....

Declaração das Classes Características:  O nome da classe canal(RV) é o nome que será utilizado pelos módulos que usarão a interface modular.  Os “typedef” utilizados no canal permitem que as “metaportas” possam ser referenciados pelo canal. RV >::in DIN;

Declaração das Classes Caracteristicas:  São classes de C++.  Diretiva CYN_METAPORT.  Utilização de templates. template. O simbolo T pode ser usado no código fonte.

Adicionando sinais e portas Na classe RV_in, teremos: sc_out rdy; sc_in vld; sc_in data; Na classe RV_out, teremos: sc_in rdy; sc_out vld; sc_out data; Na classe RV, teremos: sc_signal rdy; sc_signal vld; sc_signal data;

Adicionando sinais e portas Características:  Essa declaração resultará em portas e sinais no modelo RTL gerado pelo Cynthesizer seguindo a convenção _. Por exemlpo: RV >::in DIN, resultará em: sc_out DIN_rdy; sc_in DIN_vld; sc_in > DIN_data;

Adicionando funções de biding As funções de biding são responsáveis por fazer a ligação de todos os sinais de uma interface.Exemplo: u0 = new saxo_light_wrapper("u0"); u0->DIN(DIN); É necessário criar uma função de biding na metaporta.

Adicionando funções de biding Função de Biding na classe RRV_in: template void bind( C& c ) { rdy(c.rdy); vld(c.vld); data(c.data); } template void operator() ( C& c ) { bind(c); }

Adicionando funções de biding Características:  Operador ( ).  Função bind apenas conecta as portas da metaporta aos membros com o mesmo nome da classe passada no parâmetro.  Utilização de template possibilita a conexão de uma metaporta com um canal ou com outra metaporta.

Definindo funções de transferência Funções de transferência são funções das metaportas que executam o protocolo. A Forte recomenda usar a terminologia adotada no padrão OSCI TLM (Transaction-Level Modeling) nas funções.

Definindo funções de transferência Funções:  Padrão: put( const T& val ). T get(). nb_put( const T& val ). T nb_get().  Não-Padrão: void reset(). bool poll(). const T& value().

Definindo funções de transferência Métodos:  Adicionais: operator T() { return get(); } sc_uint val = DIN; void operator=( const T& val ) { put(val); } DOUT = tmp_doout;

Definindo funções de transferência Funções de transferência da classe RV_in: // Reset function void reset() { CYN_PROTOCOL("RV_in_reset"); rdy = 0; } // Blocking get function. T get() { CYN_PROTOCOL("RV_in_get"); rdy = 1; do { wait(); } while ( !vld.read() ); rdy = 0; return data.read(); } // Cast function. Allows the following: // T v = p; operator T() { return get(); }

Definindo funções de transferência Funções de transferência da classe RV_out: // Reset function void reset() { CYN_PROTOCOL("RV_out_reset"); vld = 0; data = 0; } // Blocking put function void put( const T& val ) { CYN_PROTOCOL("RV_out"); data.write( val ); vld = 1; do { wait(); } while ( !rdy.read() ); vld = 0; } // C++ assignment operator. void operator=( const T& val ) { put(val); }