Descrição de hardware em SystemC

Slides:



Advertisements
Apresentações semelhantes
Tópicos em System-Level
Advertisements

1 ANÁLISE E PROJETO NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO: CONCEITO MODELOS DE PROCESSO PROCESSO UNIFICADO HISTÓRIA CARACTERÍSTICAS AS QUATRO.
Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999:
1 As Tecnologias da Informação na Administração Pública Indicadores Estatísticos Instituto de Informática Rosa Maria Peças Conferência A acessibilidade.
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Interação entre objetos
Ney Laert Vilar Calazans
Orientação a Objetos: Encapsulamento e Classificação
Orientação a Objetos: Encapsulamento e Classificação
Orientação a Objetos: Encapsulamento e Classificação
Análise de Requisitos Use Case Renata Araujo Ricardo Storino
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
Tiago Salmito SystemC Tiago Salmito
Professora: Aline Vasconcelos
Maria Aparecida Castro Livi
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
9. Modelos de Alta Freqüência Pequenos Sinais:
Aula 8 Orientação à Objetos
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Linguagens de Programação
1 Aula 7 ImplementandoSubprogramas Universidade do Vale do Rio dos Sinos
Experiments with Strassen’s Algorithm: from sequential to parallel
Gerenciamento do Escopo
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
Provas de Concursos Anteriores
Sistemas Operacionais
IDENTIFICAÇÃO, MODELAGEM E ANÁLISE DE PROCESSOS Luís Gonzaga Trabasso
1 Celulose.
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap. 12.
Resultantes de Sistemas de Forças Cap. 4
Cinemática Plana de um Corpo Rígido Cap. 16
Cinemática Plana de um Corpo Rígido Cap. 16
Resultantes de Sistemas de Forças Cap. 4
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap Exercícios.
Object Oriented Software Construction (MEYER, Bertrand)
Algoritmos Culturais.
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
Uma Linguagem de Especificação de Sistemas
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.
Salas de Matemática.
MINISTÉRIO DO PLANEJAMENTO Projeto de Lei Orçamentária 2011 Ministro Paulo Bernardo Silva Brasília, novembro de 2010.
MINISTÉRIO DO PLANEJAMENTO Projeto de Lei Orçamentária 2010 Ministro Paulo Bernardo Silva Brasília, 31 de agosto de 2009.
Coordenação Geral de Ensino da Faculdade
Sistemas Operacionais
É u m e l e m e n t o f u n d a m e n t a l
EXERCÍCIOS PARA GUARDA-REDES
VI Fórum Banco Central sobre Inclusão Financeira
Criando uma Interface Modular Envolve a criação das três classes descritas anteriormente:  “Metaporta” de entrada.  “Metaporta” de saida.  Canal. Esse.
Técnicas de Modelagem para Aplicações em Computação Gráfica
Projeto de Banco de Dados
ENGA78 – Síntese de Circuitos Digitais
1 2 Observa ilustração. Cria um texto. Observa ilustração.
SairPróximo Itens de Seleção Probabilidades e Combinatória Cálculo de Probabilidades. Regra de Laplace. ITENS DE SELEÇÃO DOS EXAMES NACIONAIS E TESTES.
MATRICIAL CONSULTORIA LTDA. PREFEITURA MUNICIPAL DE GARIBALDI 23/10/ : ATENÇÃO Os locais descritos nas planilhas anexas não correspondem ao total.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
01. Conceitos Básicos e definições
Marcio de Carvalho Victorino
Curso: Cerimonial, Protocolo e Eventos
Rio Verde - Goiás - Brasil
Cinemática Plana de um Corpo Rígido Cap. 16
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
1 Prof. Humberto Pinheiro, Ph.D SISTEMAS DE MODULAÇÃO DPEE-CT-UFSM Modulação Geométrica Conversores Multiníveis Trifásicos com Diodo de Grampeamento.
Medições da função de transferência
GINÁSTICA LABORAL UM NOVO CAMINHO.
MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Sandro Rigo 2 o Semestre.
MO801: Tópicos em Arquitetura e Hardware 1 Tópicos em System-Level Design Sandro Rigo 2 o Semestre.
Transcrição da apresentação:

Descrição de hardware em SystemC Gustavo Girão ggbsilva@inf.ufrgs.br Baseado no mini-curso de Bruno Zatt (EMICRO 2009) EMICRO 2009 Pelotas - RS

Sumário Introdução Níveis de abstração Compilação O que é SystemC Estruturas, primitivas e tipos de dados Exemplo Níveis de abstração Modelagem de Sistemas Níveis de Abstração Compilação

SystemC SystemC NÃO é um linguagem Uma biblioteca de classes e macros para C++ Primeira versão em 1999 pela OSCI (Open SystemC Initiative) V 0.9 – 1999 V 1.0 – 2000 V 2.0 - 2001 Conectar linguagem de descrição de sistema com HDL (C++ - > HDL) Eliminar erros de conversão C++ -> HDL Refinamento e não conversão Especificação executável arquitetura e implementação Alta velocidade de simulação em níveis mais altos de abstração

C++/HDL vs. SystemC

Características do SystemC Comunicação de HW Sinais, protocolos.. Noção de Tempo Concorrência Módulos de HW operam em paralelo Reatividade HW é reativo, responde a estímulos e está em constante iteração com o sistema Tipos de dados específicos p/ HW sc_logic, sc_lv...

Características do SystemC

Exemplo de SystemC

Estrutura Declaração de módulo Declaração de sinal Instanciar um módulo Hierarquia de módulos

Declaração de Módulo

Declaração de Processos

Declaração do Construtor

Declaração de Sinal

Instanciação e Amarração -Amarração (binding)

Tipos de Dados

Tipos de Dados

Operadores p/ Tipos de Dados

Funções p/ Tipos de Dados and_reduce() = e lógico bit a bit or_reduce() = ou lógico bit a bit xor_reduce() = ou exclusivo bit a bit

Usando Sinais

Sinais de Clock

Processos Um processo é a unidade funcional básica de SystemC Apenas os métodos registrados junto ao Kernel são tratados como processos SystemC SystemC tem dois tipos básicos de processos: SC_METHOD SC_THREAD

Processos SC_METHOD: SC_THREAD: não mantém um estado interno: quando ativado, executa do início ao fim e retornam o controle para o mecanismo de chamada processo mais rápido são recomendados para síntese SC_THREAD: pode ser suspenso pela chamada de wait() ou suas variantes pode suspender ela mesma e continuar a execução mais tarde do ponto onde parou Tem sua própria thread de operação mais lentos que SC_METHOD mais utilizados para simulação em níveis mais abstratos

SC_METHOD

SC_THREAD

Entidade Topo - SC_MAIN int sc_main() { sc_signal<bool> a,b,s,c; half_add half_inst("Adder"); half_inst.a(a); half_inst.b(b); half_inst.c(c); half_inst.s(s); sc_start(500000, SC_NS); return 0; }

Eventos Elemento básico de sincronização: Criação Notificação Sensitividade EMICRO 2009 Pelotas - RS

Comunicação: interfaces, canais, portas São estruturas de comunicação entre módulos: Interface: Define um conjunto de métodos Não implementa os métodos Ex: read(), write() Canais: Implementa os métodos da interface Container com funcionalidades de comunicação Ex: sc_signal<T> Portas Objeto pelo qual modulos podem acessar a interface de um canal Definido como um tipo de interface Ex: sc_in<T>, sc_out<T>, sc_inout<T>

Modelos de Abstração do SystemC UTF Untimed Functional Level TF Timed Functional Level BCA Bus Cycle Accurate Level RT Register Transfer Level

UTF – Untimed Functional Level Especificação Arquitetura Componentes Modela comportamento algorítmo Utiliza uma forma “sequencial” do comportamento (sem tempo) Processo executa em tempo zero Comunicação por canais abstratos

UTF – Untimed Functional Level

TF – Timed Functional Level Insere tempo ao modelo UTF Clock pode ser utilizado para ter noção de duração, não sincronização.

TF – Timed Functional Level

BCA – Bus Cycle Accurate Level Comportamento preciso Precisão de ciclo nas interfaces dos módulos Canais abstratos refinados Funcionalidade do sistema deve ser descrita utilizando UTF, TF ou BCA Latência modelada Internamente sem precisão de ciclo Clock utilizado para sincronização

BCA – Bus Cycle Accurate Level

RT – Register Tranfer Level Descrição funcional completa do sistema Utilizada por ferramentas de síntese Completamente orientada pelo clock Precisão de ciclo tanto interna como externamente

RT – Register Tranfer Level

TLM – Transaction Level Modeling Separa computação de comunicação Comunica através de transações Em SystemC, transações são definidas como métodos declarados em interfaces e implementados nos canais de comunicação Abstrai-se o handshaking detalhado dos sinais, sincronizando-se as operações através de operações de E/S bloqueantes e não-bloqueantes

TLM - Níveis de Abstração A. Specification Model B. Component Assembly Model C. Bus-Arbitration Model D. Bus-functional Model E. Cycle Accurate computation Model F. Implementation Model * CAI, L., GAJSKI, D. Transaction Level Modeling: An Overview

Descrição de hardware em SystemC Gustavo Girão ggbsilva@inf.ufrgs.br EMICRO 2009 Pelotas - RS