EPUSP PCS 2011/2305/2355 Laboratório Digital SOMADORES DECIMAIS

Documentos relacionados
EPUSP PCS2355 Laboratório Digital SOMADORES DECIMAIS

EPUSP PCS 2011/2305/2355 Laboratório Digital ARITMÉTICA DECIMAL

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples

EPUSP PCS 3335 Laboratório Digital A. Um Circuito Digital

EPUSP PCS 2011 Laboratório Digital I. Uma ULA Simples

Circuito de Aritmética Decimal

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

CALCULADORA SIMPLES COM ULA

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

Somadores Binários E.T.M./2005 (revisão)

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

EPUSP PCS 2355 Laboratório Digital. Contadores em VHDL

CONTROLE DE UM SERVO MOTOR

Banco de Registradores e ULA

EPUSP PCS 2011/2305/2355 Laboratório Digital CALCULADORA SIMPLES

Unidade Lógica e Aritmética

Circuito de Recepção Serial Assíncrona

Banco de Registradores

EPUSP PCS 3335 Laboratório Digital A. Trena Digital

EPUSP PCS 3335/3635 Laboratório Digital. Circuito em VHDL

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

Projeto com Linguagens de Descrição de Hardware

Unidade Lógica e Aritmética

EPUSP PCS 2308 Laboratório Digital. Trena Digital

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

EPUSP PCS 3635 Laboratório Digital I. Trena Digital

Introdução ao Projeto de Sistemas Digitais com Dispositivos Programáveis

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

Multiplicador Binário com Sinal

Calculadora Simples em VHDL

Processador nanopcs-3

EPUSP PCS 3335 Laboratório Digital A. Introdução ao VHDL

Introdução ao Laboratório Digital

Introdução ao Laboratório Digital

Comunicação Serial Assíncrona

Processador nanopcs-4

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

Introdução ao Laboratório Digital

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

EPUSP PCS 2011/2305/2355 Laboratório Digital. Frequencímetro

Introdução ao Laboratório Digital

Introdução ao Laboratório Digital

Capítulo 6 Aritmética Digital: Operações e Circuitos

Organização de Computadores

EPUSP PCS 2011/2305/2355 Laboratório Digital. Freqüencímetro

Comunicação Serial Assíncrona

Circuito Hierárquico

Interface com Sensor Ultrassônico de Distância

Introdução ao Laboratório Digital

UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS

Introdução ao Laboratório Digital

EPUSP PCS 2021 Laboratório Digital II. Sistema de Radar

Escola Politécnica de Pernambuco Departamento de Engenharia Elétrica PROGRAMA EMENTA OBJETIVOS

Painel Luminoso com LEDs

Capítulo 6 Aritmética Digital: Operações e Circuitos

Introdução ao Laboratório Digital

Parte # 2 - Circuitos Combinatórios

UM PROCESSADOR SIMPLES

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

MELHORAMENTO NO PROCESSADOR SIMPLES

Projeto com Dispositivos Programáveis

Exercícios de Laboratório 2

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

Relatório de Prática no LABORATORIO

UTILIZAÇÃO DE CIRCUITOS BIESTÁVEIS

Painel Luminoso com LEDs

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

EPUSP PCS 2011 Laboratório Digital GERADOR DE SINAIS

Verificador de Senhas

Primeiro Circuito Digital

Sistema de Aquisição de Dados

Eletrônica Digital Lista de Exercícios

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

Relatório Circuitos Lógicos. Calculadora 4 bits

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

Caracterização de Portas Lógicas

Via de Dados com ULA

Operações com números binários

CALCULADORA SIMPLES COM ULA

Parte # 1 - Circuitos Combinatórios

SOMADORES E SUBTRATORES

Pontifícia Universidade Católica Federal do Rio de Santa Grande Catarina do Sul

PCS 3115 (PCS2215) Sistemas Digitais I. Módulo 03a Aritmética Binária. Prof. Dr. Marcos A. Simplicio Jr. versão: 3.0 (Jan/2016) Conteúdo

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

PCS 3115 Sistemas Digitais I

Familiarização e Interface com Modem

Aula de hoje. Códigos numéricos. Códigos binários. Armazenamento de dados. Armazenamento de dados. Armazenamento de dados

Circuitos Lógicos. Capítulo 9 Aritmérica Digital: Operações e Circuitos

Programa Analítico de Disciplina INF251 Organização de Computadores I

Multiplexação de Displays

Desenvolvimento de um Circuito Complexo

Turma PCS2304. Objetivos. Site da disciplina. Professor Edson Midorikawa Edson T. Midorikawa 25/02/2008.

Exercícios de Laboratório 3

Organização e Arquitetura de Computadores I

Introdução à Computação

SIMULAÇÃO DE CIRCUITOS

Processador nanopcs-1

Transcrição:

SOMADORES DECIMAIS Versão 2012 RESUMO Nesta experiência será estudado um circuito aritmético de soma decimal a partir dos somadores binários de 4 bits (por exemplo, o circuito integrado 74283). A parte experimental consiste do projeto, implementação e documentação de um fluxo de dados simplificado com circuito de controle, que executará operações aritméticas em números BCD. 1. INTRODUÇÃO TEÓRICA 1.1. Numeração Decimal O código mais utilizado para a representação dos dígitos decimais como combinação de sinais binários é a própria representação do dígito decimal em binário. Esse código de 4 bits é chamado BCD (Binary Coded Decimal). Exemplos: (26) 10 = ( 0010 0110 ) BCD (728) 10 = ( 0111 0010 1000 ) BCD A Tabela I abaixo mostra as correspondências entre os códigos decimal, binário e BCD. Tabela I Correspondência entre os códigos decimal, binário e BCD. DECIMAL BINÁRIO BCD 0 0000 0000 1 0001 0001 2 0010 0010 3 0011 0011 4 0100 0100 5 0101 0101 6 0110 0110 7 0111 0111 8 1000 1000 9 1001 1001 10 1010 inválido 11 1011 inválido 12 1100 inválido 13 1101 inválido 14 1110 inválido 15 1111 inválido Somadores Decimais (2012) 1

1.2. Somadores Decimais Estes somadores, ao invés de somarem números codificados em código binário, devem somar números codificados em BCD. Este código é largamente utilizado em calculadoras eletrônicas. Neste código, cada algarismo decimal (dígito) é codificado com 4 bits e deve-se utilizar tantos conjuntos de 4 bits quantos forem os dígitos necessários para a representação. A figura 1.1 mostra o esquema de um somador decimal de n dígitos. A n-1 A i A 0 B n-1 B i B 0 4 4 4 4 4 4............ V a SOMADOR DECIMAL V e 4... 4... 4 S n-1 S i S 0 Figura 1.1 - Esquema de um Somador Decimal de n dígitos. onde: as entradas A e B são n conjuntos de 4 bits, correspondentes aos números em BCD que se quer somar; a saída S é composta por n conjuntos de 4 bits, correspondentes à soma das entradas A e B; V e é uma entrada de 1 bit que permite forçar um vem-um ; V a é uma saída de 1 bit que indica se houve um vai-um na operação. Como pode ser visto na Tabela I, o sistema BCD usa 10 combinações disponíveis com 4 bits, sendo as outras seis inválidas. Quando se somam dois dígitos BCD em um somador binário, o dígito resultante pode ser: a) dígito válido sem vai-um ; b) dígito inválido sem vai-um ; c) dígito válido com vai-um. O caso (a) acontece quando o dígito do resultado é menor ou igual a 9. O caso (b) acontece quando o resultado fica entre 10 e 15, e o caso (c) acontece quando o resultado cai entre 16 e 18. O caso (a) não precisa de correção, mas nos casos (b) e (c) é necessário corrigir o resultado. No caso (b), também, é necessário propagar o vai-um para o dígito seguinte. Considere por exemplo a soma dos números A = 0832 e B = 0983: vai-um 1 A = 0832 0000 1000 0011 0010 B = 0983 0000 1001 1000 0011 Soma parcial 0001 0001 1011 0101 caso c caso b caso a Existem dois métodos para a correção do resultado (soma parcial) que serão apresentados a seguir. Somadores Decimais (2012) 2

1.2.1. Correção Posterior de Seis Neste método, para o caso (b) é necessário somar 6 ao resultado parcial da soma dos dígitos, para corrigir o dígito do resultado e propagar o vai-um ; para o caso (c) só é necessário somar 6, pois o vai-um já foi propagado. Assim, tomando o exemplo anterior da soma 0832 + 0983: 1111 11 Soma parcial 0001 0001 1011 0101 Correção 0110 0110 Soma final 0001 1000 0001 0101 Resultando: S = 1815 Desta forma, há a necessidade de efetuar a correção posterior de seis se a soma parcial resultar em um dígito inválido (caso b) ou na ocorrência de um vai-um (caso c). A figura 1.2 mostra o diagrama em blocos deste tipo de somador, para um dígito. 1.2.2. Correção Prévia de Seis Figura 1.2 - Somador Decimal com Correção Posterior de Seis (1 dígito). Existe outro algoritmo de correção de dígito inválido, que consiste em somar 6 a todos os dígitos de um dos operandos antes da soma das duas parcelas (daí o nome correção prévia de seis ). Assim, só existem dois casos para o resultado da soma: a) o resultado não deu vai-um, situando-se entre 6 e 15; b) o resultado deu vai-um ; o vai-um, portanto, já foi propagado e o dígito, entre 0 e 9, está correto. No caso (a), deve-se subtrair 6 do resultado, pois a soma destes dígitos resultou entre 0 e 9. Fazendo-se a soma 0832 + 0983, com este algoritmo de correção prévia de seis, tem-se: Correção prévia de seis: 11 11 A = 0832 0000 1000 0011 0010 Correção prévia de seis 0110 0110 0110 0110 1 a Soma parcial 0110 1110 1001 1000 Somadores Decimais (2012) 3

Soma das duas parcelas: 1 1111 1 a soma parcial 0110 1110 1001 1000 B = 0983 0000 1001 1000 0011 2 a soma parcial 0111 1000 0001 1011 dígito 3 dígito 2 dígito 1 dígito 0 Houve vai-um nos dígitos 1 e 2; portanto, eles estão corretos; como não houve vai-um nos dígitos 0 e 3, é necessário subtrair-se 6 desses dígitos. Em vez de subtrair 0110, somamos 1010, que é o complemento de dois de 0110, e ignoramos o vai-um. 11 1 2 a soma parcial 0111 1000 0001 1011 Subtrair 6 1010 1010 Soma final 0001 1000 0001 0101 Resultando: S = 1815 Esta solução dispensa o detector de código inválido, e tem algumas vantagens no que concerne à velocidade e à possibilidade de utilizar um somador binário com vai-um antecipado de vários dígitos. A figura 1.3 mostra o diagrama em blocos de um dígito do somador com correção prévia de seis. A i B i +6 V a para o próximo dígito SOMADOR BINÁRIO V e do dígito anterior +10 S i Figura 1.3 - Somador com Correção Prévia de Seis (1 dígito). 1.3. Subtração Decimal A operação de subtração de números em BCD pode ser realizada de forma similar à soma decimal, com um circuito combinatório desenvolvido a partir da sua especificação. Uma alternativa é usar um circuito para calcular o complemento de 10 dos dígitos para calcular o valor negativo do subtraendo. Por exemplo, para calcular 45 23, podemos antes obter o valor de -23 em representação de complemento de 10. Assim, podemos calcular 45 23 com a expressão equivalente 45 + (-23). Somadores Decimais (2012) 4

2. PARTE EXPERIMENTAL A preparação da parte experimental consiste do projeto e implementação de um somador decimal na placa de desenvolvimento Altera DE2. O circuito a ser projetado está esquematizado na figura 2.1. Este circuito deve realizar a soma de dois números de 2 dígitos decimais, codificados em BCD. Uma das parcelas é o conteúdo das chaves da placa de desenvolvimento. A outra é o conteúdo do resultado anterior da soma, que está armazenado no registrador. ENTRADA (SW[7..0]) REGISTRADOR SOMA (KEY[1]) LIMPA (KEY[2]) 8 8 C out SOMADOR DECIMAL FF 8 LED (LEDR0) DISPLAYS (HEX1-HEX0) Projeto do Somador Decimal Figura 2.1 Circuito do Somador Decimal. O circuito do somador decimal proposto deve ser projetado usando as técnicas apresentadas na disciplina. Ou seja, o projeto pode ser desenvolvido usando componentes discretos SSI e MSI em um diagrama de captura esquemática ou usando a linguagem de descrição de hardware VHDL. a) Projetar o circuito esquematizado na figura 2.1 utilizando a técnica de correção posterior de 6. Para cada dígito, utilizar o esquema mostrado na figura 1.2. Definir um dos botões (LIMPA) da placa de desenvolvimento para limpar o registrador acumulador, e o outro (SOMA) para copiar o resultado da soma no registrador e o vai-um no Flip-Flop FF. b) Documente o projeto com uma descrição textual do circuito e formas de onda das simulações realizadas. Montagem e depuração Nesta parte deve-se verificar o correto funcionamento do somador decimal na placa de desenvolvimento, procurando facilitar a depuração e testes do mesmo. c) Programe o circuito projetado na placa de desenvolvimento e aplique um conjunto de testes para validar cada um dos blocos do circuito. Que sinais adicionais de depuração podem ser especificados? d) Aplique casos de teste com entrada de dados incorreta no bloco de soma decimal. O que acontece quando é usada uma entrada inválida no circuito (por exemplo, usar uma entrada não-bcd)? e) Comente os resultados obtidos nos procedimentos de testes, depuração e validação do circuito. Verificação e validação do Somador Decimal Uma vez validado o funcionamento do circuito projetado, deve-se aqui verificar o funcionamento do somador decimal com dados de entrada variados. f) Verificar o funcionamento do somador decimal para várias entradas. Trazer no planejamento os casos de teste a serem usados neste item. g) Observar o comportamento do circuito quando são inseridos códigos inválidos pelas chaves. Explicar os resultados obtidos. Somadores Decimais (2012) 5

Perguntas: 1. Como o grupo pode afirmar que os testes realizados nos itens (c) e (d) garantem o correto funcionamento de cada bloco do circuito? 2. Que testes podem comprovar o correto funcionamento do circuito no item (f) para todos os casos possíveis de somas de números decimais? 3. Quais os casos em que o somador projetado exibe um resultado correto no item (g)? 4. Quais os casos em que o somador projetado exibe um resultado incorreto no item (g)? Modificação do Projeto do Somador Decimal O professor irá propor uma modificação no circuito do somador decimal a ser implementada na placa DE2. h) Implemente a modificação proposta tendo como base o circuito do grupo. i) Documente a implementação desta modificação. j) Teste o circuito solicitado na placa de desenvolvimento DE2, especificando anteriormente os casos de teste relevantes para garantir o correto funcionamento do circuito projetado. k) Apresente no relatório os resultados obtidos nos procedimentos de teste e depuração. 3. BIBLIOGRAFIA ALTERA. DE2 Development and education board user manual. 2008. Version 1.42. ALTERA. Quartus II Introduction Using VHDL Designs. University Program. 2010. Disponível em: ftp://ftp.altera.com/up/pub/altera_material/9.1/tutorials/vhdl/quartus_ii_introduction.pdf D AMORE, R. VHDL - Descrição e síntese de circuitos digitais. 2ª edição, LTC, 2012. FREGNI, Edson e SARAIVA, Antonio M. Engenharia do Projeto Lógico Digital: Conceitos e Prática. Editora Edgard Blücher Ltda, 1995. WAKERLY, John F. Digital Design Principles & Practices. 4 th edition, Prentice Hall, 2006. Fairchild Semiconductor. TTL Data Book. Mountain View, California, 1978. 4. MATERIAL DISPONÍVEL PARA REFERENCIA Circuitos Integrados TTL: Portas lógicas: 7400, 7402, 7404, 7408, 7410, 7432, 7486. 7474, 74157, 74175, 74283. 5. EQUIPAMENTOS NECESSARIOS 1 placa de desenvolvimento FPGA DE2 da Altera com o dispositivo Altera Cyclone II EP2C35F672C6. 1 computador com programa Altera Quartus II e interface USB. Histórico de Revisões J.L.R.B. e P.S.C. / 2001 (revisão) E.T.M. / 2004 (revisão) E.T.M. e R.C.S. / 2005 (revisão) E.T.M. / 2011 (revisão) E.T.M. / 2012 (revisão) Somadores Decimais (2012) 6