Sie sind auf Seite 1von 24

PONTIFCIA UNIVERSIDADE CATLICA DE MINAS GERAIS Graduao em Engenharia Mecnica (nfase em Mecatrnica)

Multiplicador/Divisor de 2 bits

Gianluigi Bertuccio Gustavo Gregrio Rafael Veneroso

Belo Horizonte

2013 Gianluigi Bertuccio Gustavo Gregrio Rafael Veneroso

Multiplicador/Divisor de 2 bits

Trabalho apresentado disciplina Laboratrio de Sistemas Digitais do 2 perodo do curso de Engenharia Mecnica (nfase em Mecatrnica) da Pontifcia Universidade Catlica de Minas Gerais. Professor: Dilmar Malheiros Meira

Belo Horizonte 2013


2

RESUMO

Este

relatrio

consiste

no

detalhamento

para

criao

de

um

multiplicador/divisor de dois nmeros binrios com no mximo 2 bits cada. Nas pginas a seguir, possvel visualizar todas as etapas de desenvolvimento, desde o entendimento do problema proposto, mtodos utilizados, recursos escolhidos, esquemas (esboo) do projeto. De forma clara e objetiva, este relatrio possibilita demonstrar todos os passos para a resoluo do problema.

LISTA DE SIGLAS: D1: Display que apresenta o primeiro operando D2: Display que apresenta o segundo operando D3: Display que apresenta o resultado em decimal do numero em BCD encontrado. Para os 7 segmentos dos Displays:1 a: Para o Segmento 1. b: Para o Segmento 2. c: Para o Segmento 3. d: Para o Segmento 4. e: Para o Segmento 5. f: Para o Segmento 6. g: Para o Segmento 7. Lop: Led do operador matemtico. Lnd: Led de casas decimais. Lerr: Led de erro. Lbcd: Led das saidas BCD Para os 4 bits do Cdigo BCD2 3: Para o bit mais significativo. 2: Para o segundo bit da esquerda para a direita. 1: Para o terceiro bit da esquerda para a direita.
1 Cada display composto por 7 segmentos, usando as letras de a at g para definir o ndice do
segmento

2 Cada cdigo BCD composto por 4 bits, usaremos os valores de 3 a 0 para indicar o ndice do bit.
O bit de maior ndice mais significativo portanto ele fica a esquerda.

0: Para o bit menos significativo.

1 INTRODUO................................................................................................................................. 7 1.2 OBJETIVO................................................................................................................ 7 2 DESENVOLVIMENTO...................................................................................................................... 8 2.1 DEFININDO AS ENTRADAS E SADAS DO CIRCUITO.................................................8 2.2 LGICA DE FUNCIONAMENTO DE CIRCUITO:..........................................................9 2.3 PROBLEMAS ENFRENTADOS: ................................................................................10 2.4 UTILIZAO DA ALTERA DE2 BOARD NA IMPLEMENTAO FSICA DO SISTEMA;......................13 2.5 - PINAGEM:................................................................................................................ 14 2.6 PROJETO FINALIZADO NO SOFTWARE QUARTUS II:...............................................15 2.7 TESTE DO CIRCUITO UTILIZANDO O SOFTWARE QUARTUS II:...............................16 3 MODULARIZAO........................................................................................................................ 17 3.1 CRIANDO COMPONENTES:.......................................................................................17 3.2 MONTANDO O CIRCUITO COM O DIAGRAMA DE BLOCOS.......................................................21 4 CONCLUSO................................................................................................................................. 22 5 REFERNCIAS.............................................................................................................................. 24

1 INTRODUO

O trabalho proposto pelo professor Dilmar consiste em desenvolver um multiplicador/divisor de dois nmeros binrios com 2 bits cada. Para tanto mostraremos todo o processo de desenvolvimento do mesmo, detalhando passo a passo todas as etapas at a soluo final do problema.

1.2 OBJETIVO

Construir um circuito que efetue a multiplicao ou a diviso entre dois operandos de dois bits, codificados em binrio. O usurio dever selecionar os valores dos 2 operandos e a operao aritmtica, multiplicao ou diviso, que deseja efetuar. O resultado da operao deve ser indicado atravs de 4 bits, codificados em BCD. Alm dos 4 bits do resultado da operao, o circuito dever dispor de uma sada que ser ativada sempre houver um erro na aritmtica, como, por exemplo, uma diviso por zero. O valor apresentado contemplar apenas a parte inteira do resultado da operao. Para remediar essa limitao, o circuito ter uma sada que ser ativada sempre que o valor apresentado no for exato. O valor em decimal correspondente a cada um dos operandos dever ser mostrado em um display. Tambm dever ser mostrado em um display o valor decimal correspondente ao resultado da operao.

2 DESENVOLVIMENTO

Tendo a proposta do projeto, o grupo utilizou a seguinte linha de raciocnio para a concluso do mesmo: 1. Definir as entradas e as sadas do circuito; 2. Lgica de funcionamento do sistema; 3. Problemas enfrentados 4. Utilizao da Altera DE2 Board na implementao fsica do sistema; 5. Pinagem 6. Projeto finalizado no software Quartus II; 7. Teste do circuito utilizando o software Quartus II;

2.1 DEFININDO AS ENTRADAS E SADAS DO CIRCUITO

Aps anlise detalhada do problema proposto o grupo chegou a concluso que seriam necessrias apenas 5 entradas. Para definir o nome das variveis optou-se por utilizar um vetor de grandeza 5 de nome a. a(4) : Nvel lgico enviado pelo bit mais significativo do primeiro operando. a(3) : Nvel lgico enviado pelo bit menos significativo do primeiro operando. a(2) : Nvel lgico enviado pelo Operador, 1 para multiplicao, 0 para diviso. a(1) : Nvel lgico enviado pelo bit mais significativo do segundo operando. a(0) : Nvel lgico enviado pelo bit menos significativo do segundo operando.

Verificou-se que o projeto requer 28 sadas, sendo 21 as sadas nos displays e 7 nos Leds. Para as sadas do circuito o grupo escolheu utilizar um vetor de tamanho 28 de nome y. Com base na tabela verdade foi definido em qual estado as sadas ficariam ativas ou inativas. Abaixo segue a definio de cada uma destas sadas. y(27): Sada D1a Y(26): Sada D1b Y(25): Sada D1c
8

Y(24): Sada D1d Y(23): Sada D1e Y(22): Sada D1f Y(21): Sada D1g Y(20): Sada Lop Y(19): Sada D2a Y(18): Sada D2b Y(17): Sada D2c Y(16): Sada D2d Y(15): Sada D2e Y(14): Sada D2f Y(13): Sada D2g Y(12): Sada Lbcd3 Y(11): Sada Lbcd2 Y(10): Sada Lbcd1 Y(9): Sada Lbcd0 Y(8): Sada Lerr Y(7): Sada Lnd Y(6): Sada D3a Y(5): Sada D3b Y(4): Sada D3c Y(3): Sada D3d Y(2): Sada D3e Y(1): Sada D3f Y(0): Sada D3g

2.2 LGICA DE FUNCIONAMENTO DE CIRCUITO:

Para desenvolvimento do projeto, o grupo teve que traar uma estratgia. As solues para o problema proposto so amplas e o grupo deveria escolher uma que atendesse a todas as especificaes propostas de forma simples e confivel. O problema proposto baseia-se fundamentalmente em um conjunto de entradas que ao serem ativadas ou desativadas modificam os valores das sadas tanto nos Leds tanto nos segmentos do display. Os problemas enfrentados pelo grupo, tal como a soluo e os componentes a serem utilizados para a correo dos mesmos sero definidos a seguir.

2.3 PROBLEMAS ENFRENTADOS: A. Escrever a Tabela Verdade : O primeiro problema enfrentado pelo grupo foi determinar a Tabela Verdade do projeto a ser feito de modo que fosse possvel encontrar as funes das sadas. Para solucionar esse problema foi utilizado o excel e atravs da utilizao de cores (azul para nvel lgico 1 e vermelho para nvel lgico 0) foi mais fcil relacionar as 5 entradas s 28 sadas.

10

Figura 1: Tabela Verdade gerada em Excel

11

B. Como ligar os leds e os segmentos de sada do display sem encontrar as funes para cada sada: Ao ter montado a tabela verdade percebemos que seria muito difcil realizar o projeto por meio da construo do diagrama de blocos no Quartus II, j que as funes de cada sada iriam necessitar de vrios tipos de portas lgicas. Sendo assim decidimos optar pela utilizao da linguagem de programao por meio da criao de arquivos em vhdl.

C.

Mostrar os operandos e o resultado em BCD nos displays: Inicialmente, devido ao fato dos segmentos dos displays da placa Altera DE2 serem ativados em nvel logico negativo (0) tivemos alguns problemas em conseguir acender os segmentos para que fossem formados os nmeros desejados. Enfim, percebemos que os segmentos de cada display somente se acendiam quando o nvel lgico era 0. A tabela verdade do Item A j considera tais constataes.

12

2.4 Utilizao da Altera DE2 Board na implementao fsica do sistema;

Por definio do projeto proposto a placa a ser utilizada para a implementao fsica do sistema ser a DE2 da ALTERA - CYCLONE II EP2C35F672C6 .

Figura 2: Placa DE2 da Altera.

13

2.5 - Pinagem:

Tendo a Tabela Verdade e tendo decidido em qual placa implementar o projeto decidimos escolher quais seriam os pinos de entrada e sada utilizados

Figura 3: Relao dos pinos com as entradas e sadas

14

2.6 PROJETO FINALIZADO NO SOFTWARE QUARTUS II:

A seguir o projeto finalizado no software quartus II.

Figura 4: Cdigo VHDL gerado no Quartus II

15

2.7 TESTE DO CIRCUITO UTILIZANDO O SOFTWARE QUARTUS II: A seguir seguem os testes do circuito utilizando o software Quartus II. As decises tomadas pelo grupo tornaram-se satisfatrias para resoluo do problema proposto.

Figura 5: Compilao do projeto realizada com xito.

16

3 MODULARIZAO

Modularizao um conceito onde o sistema ou software divido em partes distintas. Compe o ferramental necessrio para um programa mais legvel com uma melhor manuteno e melhor desempenho por meio da programao estruturada. 3.1 CRIANDO COMPONENTES:

Percebemos que poderiamos dividir o cdigo VHDL em partes e assim reduzir a margem de erro e a legibilidade do cdigo. Dividimos da seguinte forma, fizemos 4 cdigos em VHDL, um para a apresentao do display, um para a apresentao do erro, um pra avaliar se o nmero possui casas decimais, um para termos o resultado da operao em BCD e 2 cdigos para aumentar as entradas chamados de Amplificador e Amplificador2. Abaixo segue os cdigos usados para cada propsito. Display: Nesse cdigo temos um vetor de entrada de 4 bits e um vetor de sada de 7 bits.

Figura 6: Cdigo referente ao componente Display

17

Erro: Nesse cdigo temos um vetor de entrada de 3 bits e um bit de sada.

Figura 7: Cdigo referente ao componente Erro

Decimal: Nesse cdigo temos um vetor de entrada de 5 bits e um bit de sada.

Figura 8: Cdigo referente ao componente Decimal

18

BCD: Nesse cdigo temos um vetor de entrada de 5 bits e um vetor de sada de 4 bits

Figura 9: Cdigo referente ao componente BCD

19

Amplificador: Nesse cdigo temos 1 bit para a entrada e 3 bits para a sada

Figura 10: Cdigo referente ao componente Amplificador

Amplificador2: Nesse cdigo temos 1 bit para a entrada e 4 bits para a sada

Figura 11: Cdigo referente ao componente Amplificador2

Aps criar os cdigos acima criamos os componentes para serem usados no diagrama de blocos.
20

Para criar um componente fizemos o procedimento mostrado na imagem abaixo

Figura 12: Imagem mostrando como cria componentes

Esse procedimento foi repetido para todos os cdigos VHDL.

3.2 Montando o Circuito com o Diagrama de Blocos Com os componentes criados montamos o circuito utilizando 5 pins de entrada, 1 GND, 2 Amplificadores, 3 Amplificadores2, 3 Displays, 1 BCD, 1 Erro, 1 Decimal e 28 pins de sada. Abaixo o diagrama de blocos montado.

21

Figura 13: Diagrama de blocos montado

4 CONCLUSO
22

Conclumos que, para a implementao de um sistema digital necessrio, inicialmente, a identificao do que foi proposto e a leitura e interpretao do problema e por fim a anlise e discusso entre os membros do grupo para que o trabalho seja iniciado. tambm importante dividir as tarefas para que o prazo seja cumprido, assim como a leitura e vistoria de cada uma destas tarefas por parte de todos os membros do grupo para a localizao e correo de erros. Utilizar todas as ferramentas disponveis, realizar testes e se possvel simular todas as possveis situaes do mesmo primordial para que todas as falhas sejam corrigidas. Com todos os processos acima realizados, necessrio que o grupo tenha ateno para a implementao do circuito fsico. Um circuito digital de sucesso no deve ser definido apenas como aquele que funciona, e sim, como aquele que funciona da forma mais simples e com menos custos.

23

5 REFERNCIAS MEIRA Dilmar M. Guia de Aula. PONTIFCIA UNIVERSIDADE CATLICA DE MINAS GERAIS

TOCCI Ronald, WIDMER Neal, MOSS Gregory. Sistemas Digitais: Princpios e Aplicaes 10 ed. So Paulo: Pearson 2007.

FLOYD Thomas L. Sistemas Digitais: Fundamentos e Aplicaes 9 ed. Porto Alegre: Bookman, 2007.

DE2 User Manual - Altera

WIKIPDIA - http://pt.wikipedia.org

Monitores de sistemas digitais da PUC Minas.

24

Das könnte Ihnen auch gefallen