INFRAESTRUTURA DE HARDWARE

Tamanho: px
Começar a partir da página:

Download "INFRAESTRUTURA DE HARDWARE"

Transcrição

1 INFRAESTRUTURA DE HARDWARE LABORATÓRIOS 02: MODELAGEM DE UM COMPONENTE ADDER EM SYSTEMC 1. INTRODUÇÃO O objetivo deste laboratório é modelar o componente combinacional adder (adicionador) em SystemC. Um adder é um circuito digital que executa a adição de números. Em sistemas computacionais ele é utilizado na unidade lógica aritmética e também em outras partes do processador, para calcular os endereços, os índices da tabela, operadores de incrementos e decrementos, e operações semelhantes. 2. Half Adder de 1 Bit O halft adder, apresenta duas entradas do tipo sc_logic A e B e duas saída, também sc_logic, soma (S) e carry (C). O sinal carry representa o estouro para o próximo dígito de uma adição de vários dígitos. Abaixo apresentamos o diagrama lógico de um circuito half adder e a sua tabela verdade Implementação Digite o código SystemC, abaixo, em um arquivo adder1.cpp. Laboratório 02: Modelagem de um componente ADDER de 1-bit: módulo adder 6

2 // módulo adder1 com duas portas de entrada e saída SC_MODULE(adder1) { sc_in<sc_logic> a,b; sc_out<sc_logic> sum, carry; // No constructor será declarado um método chamado do_adder1 SC_CTOR(adder1) { SC_METHOD(do_adder1); Sensitive << a << b; // no método do_adder1 é definida a funcionalidade void do_adder1() { sum = a.read() ^ b.read(); carry = a.read() & b.read(); ; Para baixar esse programa basta digitar esse comando no seu diretório de trabalho. ~$ wget Simulando o half adder de 1 bit Testbench O testbench é um ambiente utilizado para verificar a exatidão ou a solidez de um projeto de hardware ou software. Ou seja, é um ambiente em que o produto em desenvolvimento é testado. Um testbench tem quatro componentes: entrada, procedimentos (que transformam a entrada na saída e que determinam que a saída cumpra as normas) e saída. Para criar o testbench do half adder de 1 bit, vamos criar um arquivo, chamado, adder1- testbench.cpp que declara um SC_MODULE com portas de entrada e saída. Para baixar o testbench basta digitar o comando abaixo. ~$ wget testbench.cpp O código SystemC, abaixo, implementa o testbench do halft adder de 1 bit. Laboratório 02: Modelagem de um componente ADDER de 1-bit: testbench // módulo adder1-testbench com duas portas de entrada e saída SC_MODULE(adder1-testbench) { // Definição das entradas e saídas do testbench sc_out<sc_logic> a_p, b_p; 7

3 sc_in<sc_logic> sum_p, carry_p; No constructor será declarada a thread processo (procedimento) do testbench. SC_CTOR(adder1-testbench) { SC_THREAD(processo); // São definidas as normas que transforma as entrada void processo() { // Caso 1 a_p = SC_LOGIC_0; //Constante valor lógico 0 b_p = SC_LOGIC_0; wait(15, SC_NS); print(); // Caso 2 a_p = SC_LOGIC_0; b_p = SC_LOGIC_1; // Constante valor lógico 1 wait(15, SC_NS); print(); sc_stop(); // Finaliza a simulação // Imprime as entradas e saídas void print() { cout << No tempo: << sc_time_stamp() << endl; cout << a: << a_p.read() << endl; cout << b: << b_p.read() << endl; cout << sum: << sum_p.read << endl; cout << carry: << carry.read() << endl; ; Simulador O simulador é o software que reproduz o testbench. Ou seja, é o software que tem a capacidade de simular o comportamento do sistema. Para criar o simulador do half adder de 1 bit, basta digitar o código SystemC, abaixo, que declara os sinais que liga o testbench ao módulo half adder de 1 bit. Esse código deve ser salvo como adder1-main.cpp Laboratório 02: Modelagem de um componente ADDER de 1-bit: simulador 8

4 #include adder1.cpp #include adder1-testbench.cpp int sc_main(int arg, char* argv[]) { // Declaração dos sinais (fios) sc_signal<sc_logic> a_s, b_s, sum_s, carry_s; // Instanciando o half adder de 1 bit adder1 adder( half_adder ); adder1.a(a_s); adder1.b(b_s); adder1.sum(sum_s); adder1.carry(carry); // Instanciando o testbench adder1-testbench testbench( half_adder_testbench ); testbench.a_p(a_s); testbench.b_p(b_s); testbench.sum_p(sum_s); testbench.carry_p(carry_s); // Executando o simulador por 200 nanosegundo sc_start(200, SC_NS); return(0); Para baixar o adder1-main basta digitar o comando abaixo. ~$ wget main.cpp 3. Full Adder de 1 Bit Um full adder, apresenta três entradas do tipo sc_logic A, B e Cin e duas saída, também do tipo sc_logic, soma (S) e carry (Cout). As entradas, A e B são os operandos e Cin é deslocamentos. O full adder é normalmente utilizado como um componente de uma cascata de somadores, que soma 8, 16, 32,... bits. Abaixo apresentamos o diagrama lógico de um circuito full adder. 9

5 O halft adder, apresenta duas entradas do tipo sc_logic A e B e duas saída, também sc_logic, soma (S) e carry (C). O sinal carry representa o estouro para o próximo dígito de uma adição de vários dígitos. Abaixo apresentamos o diagrama lógico de um circuito half adder e a sua tabela verdade Implementação Um full adder pode ser implementado de diferentes maneiras. O código SystemC, abaixo, implementa uma maneira de implementar o full adder. Digite o código SystemC, abaixo, em um arquivo full_adder1.cpp. Laboratório 02: Modelagem de um componente ADDER de 1-bit: full adder // módulo full_adder1 com três portas de entrada e duas de saída SC_MODULE(full_adder1) { sc_in<sc_logic> a,b, cin; sc_out<sc_logic> s, cout; // No constructor será declarado um método chamado do_adder1 SC_CTOR(adder1) { SC_METHOD(do_adder1); Sensitive << a << b << cin; // no método do_adder1 é definida a funcionalidade void do_adder1() { // Variáveis do tipo lógico para auxiliar no cálculo sc_logic aandb, axorb, CinANDaXORb; 10

6 aandb = a.read() & b.read(); axorb = a.read() ^ b.read(); cinandaxorb = cin.read() & axorb; ; // Calcula a soma e o carry s = axorb ^ cin.read(); cout = aandb cinandaxorb; Para baixar esse programa basta digitar esse comando no seu diretório de trabalho. ~$ wget Simulação Implemente o simulador do full adder, conforme os passos do half adder. 11

Arquitetura de Computadores. Tiago Alves de Oliveira

Arquitetura de Computadores. Tiago Alves de Oliveira Arquitetura de Computadores Tiago Alves de Oliveira Revisão A B S 0 0 0 Porta Lógica XOR Tabela Verdade XOR 0 1 1 1 0 1 1 1 0 Somadores Os somadores são importantes em computadores e também em outros tipos

Leia mais

ITENS FUNDAMENTAIS Programando em C++

ITENS FUNDAMENTAIS Programando em C++ INFORMÁTICA E COMPUTAÇÃO - CMP 1060 AULA 3 ITENS FUNDAMENTAIS Programando em C++ 1. Constantes São valores que são mantidos fixos pelo compilador. Tipo de Dado Exemplos de Constantes char b \n \0 int 2

Leia mais

Técnicas Digitais para Computação

Técnicas Digitais para Computação INF 8 Técnicas Digitais para Computação Circuitos Aritméticos Somadores e Subtratores Aula 2 . Meio Somador ou Half-Adder (soma 2 bits) S C S = + = C =. S C S C 2. Somador Completo ou Full-Adder (soma

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Aritmética Computacional - Inteiros - Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário A unidade lógico-aritmética Representação de números inteiros

Leia mais

Circuitos Combinacionais

Circuitos Combinacionais Circuitos Combinacionais Circuito combinacional: Possui portas lógicas conectadas para produzir valor dos sinais de saída Não possui armazenamento de valores no circuito Valor dos sinais de saída depende

Leia mais

CIRCUITOS SOMADORES = = =

CIRCUITOS SOMADORES = = = IRUITOS SOMADORES Os circuitos digitais que efetuam operações aritméticas devem processar os dados na forma binária, ou seja, devem executar as operações matemáticas com os números binários omo o sistema

Leia mais

Circuitos Digitais - Somadores e Subtradores SOMADORES E SUBTRADORES

Circuitos Digitais - Somadores e Subtradores SOMADORES E SUBTRADORES SOMADORES E SUBTRADORES SOMADORES 1. Introdução Antes de iniciarmos, vamos relembrar o processo de adição binária: (a) 1 1 1 (b) 1 1 1 1 1 0 1 0 1 1 0 0 1 1 0 + 1 1 1 0 0 + 1 1 1 0 0 1 1 0 0 0 1 1 0 0

Leia mais

Projeto de CI Semidedicados

Projeto de CI Semidedicados Projeto de CI Semidedicados VHDL- Prática Especial (novembro/ 2012) Turma TECSUP São objetivos desta segunda prática de VHDL: Métodos estrutural de implementação da arquitetura VHDL; Hierarquia na descrição

Leia mais

DIGITAR AQUI OS COMANDOS

DIGITAR AQUI OS COMANDOS 1. Configuração do ambiente de trabalho Tutorial Modelsim para Simulação VHDL Trabalho a ser realizado em duplas Alexandre Amory - Fernando Moraes - 05/out/2018 O simulador Modelsim está instalado no LINUX.

Leia mais

*********************

********************* FUNDAMENTOS DE SISTEMAS DIGITAIS - EXERCÍCIOS (Moraes 17/agosto/2018): 1. Converter de decimal para binário e hexadecimal: Valor Binário Binário Hexadecimal 831-110 -74.33 2. Converter de binário para:

Leia mais

MULTIPLEXADOR E DEMULTIPLEXADOR (Unidade 4)

MULTIPLEXADOR E DEMULTIPLEXADOR (Unidade 4) MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: ELETRÔNICA

Leia mais

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Aula 10 Comandos de Repetição

Aula 10 Comandos de Repetição Aula 10 Comandos de Repetição Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br 1 Introdução Em certas situações é necessária

Leia mais

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio)

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio) Módulo 1 Introdução AEDS I C++ (Rone Ilídio) Introdução Linguagens de Programação Fonte Compilador Executável SO I Hardware C++ - Características Evolução do C, ou seja, possui a mesma sintaxe É uma linguagem

Leia mais

Sistemas Digitais Circuitos Aritméticos e Unidades Aritméticas e Lógicas (ALUs)

Sistemas Digitais Circuitos Aritméticos e Unidades Aritméticas e Lógicas (ALUs) Sistemas Digitais Circuitos Aritméticos e Unidades Aritméticas e Lógicas (ALUs) João Paulo Baptista de Carvalho joao.carvalho@inesc-id.pt Circuitos Aritméticos Circuitos aritméticos são aqueles que realizam

Leia mais

Introdução: Objetivos:

Introdução: Objetivos: Escola de Engenharia de São Carlos - USP Departamento de Engenharia Elétrica e de Computação SEL 0412 Tecnologia digital Trabalho nº 2 - Somador Aritmético Completo Introdução: Qualquer sistema de processamento

Leia mais

a b s cout Tabela 1: tabela verdade do meio somador

a b s cout Tabela 1: tabela verdade do meio somador APO7-29/04/10 Turma A Lisardo Sallaberry Kist 159839 César Garcia Daudt 180164 Introdução Nesta aula os alunos foram introduzidos ao programa de MaxPlus II. Devia-se executar a montagem de um meio-somador

Leia mais

Eletrônica Digital I TE050. Circuitos Combinacionais

Eletrônica Digital I TE050. Circuitos Combinacionais Universidade Federal do Paraná Setor de Tecnologia Departamento de Engenharia Elétrica Eletrônica Digital I TE5 Circuitos Combinacionais Prof. Lúcio Mauro M. Tonon Circuitos Combinacionais Circuitos Combinacionais

Leia mais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Primeiro programa em C #include int main() { int num1, num2, result; scanf("%d",&num1); scanf("%d",&num2); result = num1 + num2; printf("%d",

Leia mais

Aula 24: Ponteiros e Alocação Dinâmica

Aula 24: Ponteiros e Alocação Dinâmica Aula 24: Ponteiros e Alocação Dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula anterior Memória Ponteiro Utilização

Leia mais

Aula 8 Comandos de Seleção

Aula 8 Comandos de Seleção Aula 8 Comandos de Seleção Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br 1 Introdução Até agora não aprendemos a dizer

Leia mais

Exercícios de Laboratório 2

Exercícios de Laboratório 2 Tradução do Laboratory Exercise 2 disponível em Exercícios de Laboratório 2 Números e Displays Este é um exercício de criação

Leia mais

Introdução à Linguagem VHDL

Introdução à Linguagem VHDL Fundamentos de Sistemas Digitais 23/abril/2019 Introdução à Linguagem VHDL profs. Alexandre M. Amory e Fernando G. Moraes 1 Referências Sugiro estudarem nesta ordem de preferência: Vahid, Cap 9 Ignorar

Leia mais

Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos

Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos. Circuitos Aritméticos 1 - ADIÇÃO BINÁRIA Computadores digitais e calculadoras realizam as várias operações aritméticas sobre os números representados em forma binária. Na adição binária apenas quatro situações podem ocorrer

Leia mais

3 Circuitos Combinacionais

3 Circuitos Combinacionais 3 Circuitos Combinacionais Os circuitos lógicos dos sistemas digitais podem ser de dois tipos: circuitos combinacionais ou circuitos seqüenciais. Um circuito combinacional é constituído por um conjunto

Leia mais

Sistemas Digitais Módulo 8 Introdução aos Circuitos Aritméticos

Sistemas Digitais Módulo 8 Introdução aos Circuitos Aritméticos Universidade Federal de Uberlândia Faculdade de Computação Sistemas Digitais Módulo 8 Introdução aos Circuitos Aritméticos Graduação em Sistemas de Informação Disciplina: Sistemas Digitais Prof. Dr. Daniel

Leia mais

UFPR Bacharelado em Ciência da Computação CI210 Projetos Digitais e Microprocessadores Laboratório: Somadores 30 de agosto de 2017

UFPR Bacharelado em Ciência da Computação CI210 Projetos Digitais e Microprocessadores Laboratório: Somadores 30 de agosto de 2017 UFPR Bacharelado em Ciência da Computação CI210 Projetos Digitais e Microprocessadores 2017-2 Laboratório: Somadores 30 de agosto de 2017 3 Somadores Objetivos: são três os objetivos deste laboratório:

Leia mais

Puca Huachi Vaz Penna

Puca Huachi Vaz Penna Aula 3 C++: variáveis e expressões aritméticas 2017/1 BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66, 32 e 33 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro

Leia mais

Departamento de Engenharia Elétrica e de Computação SEL 405 Lab. de Introdução aos Sistemas Digitais I Profa. Luiza Maria Romeiro Codá PRÁTICA Nº 6

Departamento de Engenharia Elétrica e de Computação SEL 405 Lab. de Introdução aos Sistemas Digitais I Profa. Luiza Maria Romeiro Codá PRÁTICA Nº 6 Departamento de Engenharia Elétrica e de Computação SEL 405 Lab. de Introdução aos Sistemas Digitais I Profa. Luiza Maria Romeiro Codá PRÁTICA Nº 6 UNIDADE LÓGICA ARITMÉTICA (ULA) E DECODIFICADOR PARA

Leia mais

Projetos de Circuitos Digitais em VHDL e FPGA

Projetos de Circuitos Digitais em VHDL e FPGA Projetos de Circuitos Digitais em VHDL e FPGA Cap. 4 - Projetos de Circuitos Combinacionais Aritméticos com VHDL Prof. Erivelton Geraldo Nepomuceno Engenharia Elétrica UFSJ - Universidade Federal de São

Leia mais

Sistemas Digitais Circuitos Aritméticos e Representação de Números com Sinal

Sistemas Digitais Circuitos Aritméticos e Representação de Números com Sinal Sistemas Digitais Circuitos Aritméticos e Representação de Números com Sinal João Paulo Baptista de Carvalho (Prof. Auxiliar do IST) joao.carvalho@inesc.pt Circuitos Aritméticos Circuitos aritméticos são

Leia mais

Teste 1 Sistemas Digitais - MEEC 2011/12 1

Teste 1 Sistemas Digitais - MEEC 2011/12 1 Teste Sistemas Digitais - MEEC /. [ val] Converta para base o número 7. Utilize o resultado obtido para converter o número para base 6. Justifique. Teste Sistemas Digitais - MEEC /. [ val] Considere a

Leia mais

VHDL Circuitos Combinacionais

VHDL Circuitos Combinacionais VHDL Circuitos Combinacionais Neste módulo será feita uma revisão de circuitos combinacionais introduzindose alternativas representações em VHDL Uma descrição VHDL, de forma geral, pode seguir uma das

Leia mais

Aula 27: Estruturas heterogêneas e alocação dinâmica

Aula 27: Estruturas heterogêneas e alocação dinâmica Aula 27: Estruturas heterogêneas e alocação dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória

Leia mais

CCO 016 Fundamentos de Programação

CCO 016 Fundamentos de Programação CCO 016 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá Aula 05 Entrada de dados Leia scanf ou cin Entrada de Dados Entrada de dados compreende a operação

Leia mais

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 INF1007: Programação 2 0 Revisão 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 Tópicos Principais Variáveis e Constantes Operadores e Expressões Entrada e Saída Tomada de Decisão Construção com laços

Leia mais

Sistemas Digitais Unidade Lógica e Aritmética - ULA

Sistemas Digitais Unidade Lógica e Aritmética - ULA Sistemas Digitais Unidade Lógica e Aritmética - ULA Referência Bibliográfica: Contemporary Logic Design Katz & Borriello Logic and Computer Design Fundamentals Mano & Kime Embedded System Design Vahid

Leia mais

Operações Aritméticas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

Operações Aritméticas Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h Operações Aritméticas Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Adição no Sistema Binário: É desenvolvida de forma idêntica ao sistema decimal; Apenas quatro casos podem ocorrer: Adição

Leia mais

Projetos de Decodificadores

Projetos de Decodificadores Projetos de Decodificadores Para construir decodificadores que passem de qualquer código para outro qualquer basta montarmos a tabela verdade simplificar as expressões de saída e implementarmos o circuito.

Leia mais

Sistemas Digitais. Circuitos Aritméticos. Monitoria SD Daniel Alexandro/Reniê Delgado/Vanessa Ogg. Editado por (DARA)

Sistemas Digitais. Circuitos Aritméticos. Monitoria SD Daniel Alexandro/Reniê Delgado/Vanessa Ogg. Editado por (DARA) Sistemas Digitais Circuitos Aritméticos Monitoria SD 2011.2 Daniel Alexandro/Reniê Delgado/Vanessa Ogg Editado por (DARA) Circuitos Aritméticos Circuitos Aritméticos são aqueles que realizam operações

Leia mais

Estruturas de Dados. Módulo 4 Funções. 9/8/2005 (c) Dept. Informática - PUC-Rio 1

Estruturas de Dados. Módulo 4 Funções. 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Estruturas de Dados Módulo 4 Funções 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)

Leia mais

Trabalho Prático: Camada Física

Trabalho Prático: Camada Física Descrição Simular o funcionamento do enlace físico através da implementação das seguintes codificações Binária Manchester Manchester Diferencial Detalhes do projeto Conforme explicado em sala de aula Principais

Leia mais

Aritmética Binária e Complemento a Base. Introdução ao Computador 2010/1 Renan Manola

Aritmética Binária e Complemento a Base. Introdução ao Computador 2010/1 Renan Manola Aritmética Binária e Complemento a Base Introdução ao Computador 2010/1 Renan Manola Sumário Soma e multiplicação binária; Subtração e divisão binária; Representação com sinal; Complemento a base. Adição

Leia mais

Laboratório sobre Implementação de Sistemas Digitais com HDLs Ferramentas de Captura e Validação

Laboratório sobre Implementação de Sistemas Digitais com HDLs Ferramentas de Captura e Validação Laboratório sobre Implementação de Sistemas Digitais com HDLs Ferramentas de Captura e Validação 1 Laboratório sobre Implementação de Sistemas Digitais com HDLs Ferramentas de Captura e Validação Prática:

Leia mais

Prof. Leonardo Augusto Casillo

Prof. Leonardo Augusto Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO Aula 10 Circuitos Aritmeticos Prof. Leonardo Augusto Casillo Somador Binário Funções aritméticas como adição, subtração, podem ser

Leia mais

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná Linguagem C IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Sabemos construir algoritmos que tenham: Variáveis Comandos sequenciais Entrada e saída

Leia mais

Circuitos Combinacionais

Circuitos Combinacionais ! Circuitos Combinacionais x Sequenciais Combinacional - saídas dependem unicamente das entradas Entradas Circuito Combinacional Saídas Sequencial -háuma realimentação da saída para a entrada, denominada

Leia mais

//conteúdo do arquivo pacote.h

//conteúdo do arquivo pacote.h //conteúdo do arquivo pacote.h #ifndef PACOTE_H #define PACOTE_H #include #include class Pacote friend istream &operator>> (istream &, Pacote &); friend ostream &operator

Leia mais

Programação Aplicada à Engenharia

Programação Aplicada à Engenharia Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Programação Aplicada à Engenharia Aula 06: Introdução a C++ Silvio Fernandes 2009.1 1 História de C e C++ C++ é uma evolução

Leia mais

Relatório de Prática no LABORATORIO

Relatório de Prática no LABORATORIO Cod. Disc: TURMA: GRUPO: NOME: Sistemas Digitais Relatório de Prática no LABORATORIO Aula 09 3ª Etapa: Projeto Prático Correção Código BCD e Sinal ANEXO: Teste de Simulação Soma e Subtração PROF. MSc.

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação Constantes class Exemplo { static void Main() { float fahr, celsius; int lower, upper, step; lower = 0; /* limite inferior da tabela de temperaturas */ upper = 300; /* limite superior */ step = 20; /*

Leia mais

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Introdução à Programação Operadores, Expressões Aritméticas e Entrada/Saída de Dados Programa em C #include int main main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius

Leia mais

Xilinx ISE. O projecto

Xilinx ISE. O projecto Xilinx ISE Demonstração do sistema de projecto Especificar um circuito digital em Verilog Simular o funcionamento do circuito Sintetizar o circuito Traduz o código Verilog para um circuito Simplifica o

Leia mais

Técnicas Digitais para Computação

Técnicas Digitais para Computação INF1 118 Técnicas Digitais para Computação Multiplicador Decodificador e Multiplexador Aula 14 Multiplicador Combinacional Técnicas Digitais A x B 1 B = P 3 P 2 P 1 P A1 A B1 B X 2) Equações em SDP, simplificado

Leia mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica. Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);

Leia mais

SSC512 Elementos de Lógica Digital. Circuitos Aritméticos. GE4 Bio

SSC512 Elementos de Lógica Digital. Circuitos Aritméticos. GE4 Bio Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Elementos de Circuitos Aritméticos GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos

Leia mais

Montagem, testes, depuração e documentação de circuitos digitais

Montagem, testes, depuração e documentação de circuitos digitais Montagem, testes, depuração e documentação de circuitos digitais Versão 2012 RESUMO Esta experiência tem como objetivo um contato inicial com técnicas de montagem, teste e depuração de circuitos digitais.

Leia mais

Introdução à Computação

Introdução à Computação Universidade Federal de Campina Grande Departamento de Sistemas e Computação Introdução à Computação Conceitos Básicos de Eletrônica Digital (Parte III) Prof. a Joseana Macêdo Fechine joseana@computacao.ufcg.edu.br

Leia mais

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída BCC 201 - Introdução à Programação Variáveis, Comandos de Atribuição e Comando de Entrada e Saída Guillermo Cámara-Chávez UFOP 1/63 Estrutura Básica de um programa C I < d i r e t i v a s do pre p r o

Leia mais

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C Operadores aritméticos Operadores Unários (um só operando) Incremento

Leia mais

Apontadores/ponteiros

Apontadores/ponteiros Apontadores/ponteiros 1 Apontadores/ponteiros 1. Um ponteiro pode ser manipulado como sendo um vetor. #include int v[5] = { 10, 20, 30, 40, 50 ; int p, i; p = v; for (i = 1; i < 5; i++) printf

Leia mais

Aula 10. Circuitos Aritméticos. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Aula 10. Circuitos Aritméticos. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira Aula Circuitos Aritméticos SEL 44 - Sistemas Digitais Prof. Dr. Marcelo Andrade da Costa Vieira Somadores Circuitos Somadores l Circuitos que realizam operações aritméticas com números binários; l Geralmente

Leia mais

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos + Introdução a JAVA Variáveis, tipos, expressões, comandos e blocos +Roteiro 2 Variáveis e tipos Operadores aritméticos, lógicos, relacionais e bit-a-bit Atribuição Comandos básicos Ler, Escrever, Condicional,

Leia mais

ARITMÉTICA BINÁRIA. Adão de Melo Neto

ARITMÉTICA BINÁRIA. Adão de Melo Neto ARITMÉTICA BINÁRIA Adão de Melo Neto 1 Sumário Adição Multiplicação Subtração Divisão Complemento de 1 Complemento de 2 Representação de um número com sinal Sinal magnitude Complemento de 2 Valor em decimal

Leia mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA 1º Semestre 2003/2004 Introdução à Programação 21/2/2004 Correcção 1. Qual o objectivo dos comentários em C++ e o que

Leia mais

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de

Leia mais

PSI-3451 Projeto de CI Lógicos Integrados. Aula 4

PSI-3451 Projeto de CI Lógicos Integrados. Aula 4 PSI-3451 Projeto de CI Lógicos Integrados Aula 4 A parte prática da aula 4 pretende colocar o aluno em contato com mais algumas estruturas sintáticas da linguagem, particularmente funções e procedimentos,

Leia mais

Eletrônica Digital I (EDL I)

Eletrônica Digital I (EDL I) Eletrônica Digital I (EDL I) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo glauco.cardozo@ifsc.edu.br Os circuitos lógicos dos sistemas digitais

Leia mais

Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi

Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi Aula 18: Vetores Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula de Hoje 1 Exercícios da aula prática 2 Vetores 3 Exemplos

Leia mais

Eletrônica Digital I (EDL I)

Eletrônica Digital I (EDL I) Eletrônica Digital I (EDL I) Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina - Campus São José Prof. Glauco Cardozo glauco.cardozo@ifsc.edu.br Ementa à Sistemas de numeração. à Funções

Leia mais

Arquitetura de Computadores Aula 9 Portas Lógicas

Arquitetura de Computadores Aula 9 Portas Lógicas Arquitetura de Computadores Aula 9 Portas Lógicas Prof. Fred Sauer http://www.fredsauer.com.br fsauer@gmail.com 1/18 * Definição * Tipos de portas lógicas (operadores) * Aplicações - porta de transferência

Leia mais

TECNOLOGIA EM REDES DE COMPUTADORES. computadores. Aula 5

TECNOLOGIA EM REDES DE COMPUTADORES. computadores. Aula 5 TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula 5 1 Agenda Algoritmos: Estruturas de controle Revisao Conectivos Condicionais simples Composta Encadeada. Programação Implementação

Leia mais

Fundamentos de programação

Fundamentos de programação Fundamentos de programação Métodos Modularização de código Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno O que é um método? Um método é um trecho de código identificado Possuem um

Leia mais

Programação de Computadores II. Cap. 4 Funções

Programação de Computadores II. Cap. 4 Funções Programação de Computadores II Cap. 4 Funções Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:

Leia mais

Linguagem C: Elementos fundamentais

Linguagem C: Elementos fundamentais Instituto de C Linguagem C: Elementos fundamentais Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Variáveis e Constantes Operadores

Leia mais

Aula 07 Introdução à Programação Subprogramas

Aula 07 Introdução à Programação Subprogramas Aula 07 Introdução à Programação Subprogramas Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com Roteiro SubProgramas Procedimentos Funções Exercícios Gustavo Callou DEINFO/UFRPE 2 Sistema

Leia mais

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ).

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ). 2626262626262626262626262626262626262626262626262626 4 - OPERADORES Podem ser: aritméticos, relacionais, lógicos, incremento e decremento, atribuição. Operadores aritméticos têm precedência sobre os relacionais

Leia mais

4. Desenhe um digrama esquemático para cada uma das funções abaixo. a.

4. Desenhe um digrama esquemático para cada uma das funções abaixo. a. Eletrônica Digital Lista de Exercícios 1. Preencha a tabela abaixo para cada uma das funções indicadas. x 2 x 1 x 0 x 2 x 1 x 2 +x 1 x 2 x 1 x 2 x 1 + x 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1

Leia mais

Introdução à linguagem C++

Introdução à linguagem C++ Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas

Leia mais

Aula 26: Estruturas heterogêneas

Aula 26: Estruturas heterogêneas Aula 26: Estruturas heterogêneas Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aulas anteriores Memória Ponteiro Utilização

Leia mais

Preparatório OBI. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula 01 Introdução a C++

Preparatório OBI. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula 01 Introdução a C++ Preparatório OBI Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br docente.ifrn.edu.br/andrealmeida Aula 01 Introdução a C++ Roteiro Introdução ao C++ Primeiro Programa Variáveis Operadores

Leia mais

/* Este programa realiza um somatório e exibe o resultado na tela do computador */

/* Este programa realiza um somatório e exibe o resultado na tela do computador */ ! " # $ # # & $ $ ' ( & ) *! ' ( & +'"',-. "! / 0 1 '! 2 32 24 ' 5!! $ # $ 1 6 789 798 1 $ /* Este programa não faz nada */ main() 8;; 6 88 1 $ // Este programa não faz nada main() ' 2 $ +

Leia mais

Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C

Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C Linguagem C Algoritmos e Lógica de Programação Reinaldo Gomes reinaldo@cefet-al.br Introdução Pré-processador Variáveis Operadores Introdução: Histórico Linguagem criada por Dennis Ritchie em 1972 Em 1973

Leia mais

Algoritmos I Aula 13 Linguagem de Programação Java

Algoritmos I Aula 13 Linguagem de Programação Java Algoritmos I Aula 13 Linguagem de Programação Java Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação IDE Eclipse IDE (Integrated development environment) Criar um projeto

Leia mais

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática Capítulo 1: Introdução à Linguagem C Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso caso, a linguagem C.

Leia mais

Aula 03: Introdução a C

Aula 03: Introdução a C Aula 03: Introdução a C Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior O que é um computador Organização de um

Leia mais

Linguagem de Programação C

Linguagem de Programação C Algoritmos e Lógica de Programação Linguagem C Reinaldo Gomes reinaldo@cefet-al.br Introdução Pé Pré-processador Variáveis Operadores Introdução: Histórico Linguagem criada por Dennis Ritchie em 1972 Em

Leia mais

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos Introdução a JAVA Variaveis, tipos, expressões, comandos e blocos Roteiro Variáveis e tipos Operadores aritméticos, lógicos, relacionais e bit-a-bit Atribuição Comandos básicos Ler, Escrever, Condicional,

Leia mais

Aula 23: Ponteiros Introdução a Programação Túlio Toffolo & Puca Huachi

Aula 23: Ponteiros Introdução a Programação Túlio Toffolo & Puca Huachi Aula 23: Ponteiros Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Baseado nos slides do Prof. Guillermo Cámara-Chávez Aulas anteriores Vetores Matrizes Cadeias

Leia mais

CIV 2802 Sistemas Gráficos para Engenharia º Trabalho: Programação básica em C++: Classes

CIV 2802 Sistemas Gráficos para Engenharia º Trabalho: Programação básica em C++: Classes CIV 2802 Sistemas Gráficos para Engenharia 2011.1 4º Trabalho: Programação básica em C++: Classes Implementação de uma calculadora RPN (Reversed Polish Notation) Entrega: 05/abril/2011 Pede-se complementar

Leia mais

Computação 2. Aula 7. Profª. Fabiany Ponteiros

Computação 2. Aula 7. Profª. Fabiany Ponteiros Computação 2 Aula 7 Ponteiros Profª. Fabiany fabianyl@utfpr.edu.br O que são Ponteiros? Um ponteiro é uma variável que contém um endereço de memória. Este endereço é normalmente a posição de uma outra

Leia mais

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Sub-rotina Sub-rotina (CAPÍTULO 8): Funções e procedimentos Blocos de instruções que realizam

Leia mais

Laboratório de programação II

Laboratório de programação II Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando

Leia mais

Introdução a Sistemas Digitais

Introdução a Sistemas Digitais Introdução a Sistemas Digitais Definição Sistemas Digitais Projeto Revisão: Circuitos Combinacionais Circuitos Sequênciais Máquinas de Estados Sistemas Digitais Definição Um sistema digital é um sistema

Leia mais

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva

Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br Matrizes Uma matriz é uma variável capaz de armazenar vários dados de

Leia mais

Treinamento em Projeto de Sistemas Digitais

Treinamento em Projeto de Sistemas Digitais Treinamento em Projeto de Sistemas Digitais Projetando Sistemas Digitais com SystemVerilog Edna Barros Grupo de Engenharia da Computação Centro de Informática -UFPE Treinamento em Projeto de Sistemas Digitais

Leia mais

Linguagem de Programação I. Aula 10 Funções

Linguagem de Programação I. Aula 10 Funções Linguagem de Programação I Aula 10 Funções Da Aula Anterior Tipos de dados básicos e operadores em C Declaração de variáveis e modificadores de tipo Estruturas de Controle Arrays unidimensionais Geração

Leia mais