Exemplo 1 de Projeto de Circuito Síncrono: Multiplicador Binário

Documentos relacionados
Laboratório de Lógica Digital

Multiplicador Binário com Sinal

Exemplo 2 de Projeto de Circuito Síncrono. Contador de Uns

Uma Introdução às Linguagens de Descrição de Hardware

CALCULADORA SIMPLES COM ULA

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

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

Multiplicador Binário com Sinal

Circuitos Sequenciais

Calculadora Simples em VHDL

3 Circuitos Combinacionais

Normalmente o registrador de deslocamento é constituído de um conjunto de FFs (Flip-Flops) destinados a armazenar dados binários.

Arquitetura de Computadores. Tiago Alves de Oliveira

LÓGICA PROGRAMÁVEL II

Organização e Arquitetura de Computadores I

Laboratório 6 (Trabalho com Relatório) Semana 25 de Outubro a 29 de Outubro

PCS 2304 PROJETO LÓGICO DIGITAL 19/05/2006 Gabarito Preliminar 6 a Lista de Exercícios Contadores

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

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

Projeto de Circuitos Aritméticos

APÊNDICE A Resumo Teórico

MINISTÉRIO DA EDUCAÇÃO CEFET/SC - Unidade de São José. Curso Técnico em Telecomunicações REGISTRADORES. Marcos Moecke. São José - SC,

7. Módulos Funcionais sequenciais Contadores Tipos de contador Entradas síncronas e assíncronas

Projeto com Linguagens de Descrição de Hardware

Armazenamento e Transferência de Dados

CAPÍTULO 3 CIRCUITOS SEQUENCIAIS I: REGISTRADORES

CAPÍTULO 3 CIRCUITOS SEQUENCIAIS I: REGISTRADORES

X Y Z A B C D

SISTEMAS DIGITAIS CONTADORES E REGISTRADORES. Professor Carlos Muniz

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Lógica Computacional Aplicada. Prof. Dr. Fabian Vargas.

Introdução a Sistemas Digitais

Sistemas Digitais Registos. João Paulo Carvalho

A) A C + A B D + A B C D B) A B + A B D + A B C D C) A C + A C D + A B C D D) A C + A B D + A B C D

Organização de Computadores

Prof. Leonardo Augusto Casillo

Painel Luminoso com LEDs

Circuitos sequenciais Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture

Circuitos Sequenciais

ELT502 Eletrônica Digital I Graduação em Engenharia Eletrônica

FLIP-FLOPS: RS e D (teoria)

3 a Lista de Exercícios

SISTEMAS DIGITAIS (SD)

EELi02 Circuitos Lógicos

CONCURSO PÚBLICO PARA PROFESSOR DE ENSINO MÉDIO E TÉCNICO, Nº 065/11/ PROCESSO Nº 5191/2017.

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

Departamento de Sistemas de Computação - SSC. Sistemas Digitais. 2 o Semestre Projeto CPU. Data da apresentação: 26/27 de outubro

REGISTRADOR DE DESLOCAMENTO (SHIF-REGISTER)

SOMADORES E SUBTRATORES

Circuitos Digitais. Tipos de circuitos digitais: Circuitos combinacionais Circuitos sequenciais

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

Departamento de Sistemas de Computação - SSC. SSC-110 Elementos de lógica digital I SSC-111 Laboratório de elementos de lógica digital I.

Painel Luminoso com LEDs

Eletrônica Digital II (Memórias) Prof. Eng. Antonio Carlos Lemos Júnior

Flip-Flop. Uma das coisa importantes que se pode fazer com portas booleanas é criar memória.

Arquitectura de Computadores LEEC/MEEC (2006/07 2º Sem.)

Processador nanopcs-3

NOTAS DE AULA NE7720 SISTEMAS DIGITAIS - II AULA

Registradores. Circuitos Lógicos. DCC-IM/UFRJ Prof. Gabriel P. Silva

3 Utilizando o CircuitMaker, simule circuito abaixo e preencha sua tabela. Analise que circuito é esse.

SOMADORES E SUBTRATORES

Contadores. Contador assíncrono

Memória SRAM 64x8 bits

Representação de quantidade(número)

Binário para Decimal. Binário: = 19. Decimal:

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

CONJUNTO DE INSTRUÇÕES

UFMG DCC Álgebra de Boole. Slides ligeiramente adaptados daqueles do professor Osvaldo Farhat de Carvalho, DCC, UFMG

Aula 16: UCP: Conceitos Básicos e Componentes

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

Contadores ( Counters )

EPUSP PCS 2355 Laboratório Digital. Contadores em VHDL

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

Processador nanopcs-4

Operações com números binários

Sistemas Digitais (SD)

Eletrônica Digital Lista de Exercícios

UNIVERSIDADE ESTADUAL PAULISTA. Campus de Guaratinguetá Colégio Técnico Industrial de Guaratinguetá Professor Carlos Augusto Patrício Amorim

UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE CIÊNCIA E TECNOLOGIA ENGENHARIA ELÉTRICA

Decodificadores e Registradores

CIRCUITO PARA VERIFICAÇÃO DE SENHAS

Unidade Lógica e Aritmética

Implementação de Funções Lógicas com Multiplexadores e Decodificadores

Aula 17. Máquina de Estados Parte 1. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

Relatórios de Práticas no LABORATORIO

2º TESTE (Questões 5, 6, 7, 8 e 9)... 1h30m EXAME (Questões 1 a 9)... 2h30m

TABELA DO F/F. T Q n Q n+1

Capítulo 5 - Flip-Flops e Dispositivos Correlatos

ENGC40 - Eletrônica Digital

Circuitos Seqüenciais

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

Contador. A ideia básica de um contador. Os flip-flops podem ser conectados juntos para realizar

CONTROLE PARA SEMÁFOROS DE UM CRUZAMENTO

Divisão de Engenharia Eletrônica Laboratório de ELE-20

CIRCUITOS SEQUENCIAIS. Adão de Melo Neto

Lista de Exercícios 6 Elementos de memória: latches, flip-flops e registradores

Circuitos sequenciais síncronos

Prof. André Rabelo LÓGICA DIGITAL INTRODUÇÃO

Histórico de desenvolvimento de computadores Prof. Luís Caldas Aula 02 Processador de uso geral

Sistema Supervisório - IHM

Transcrição:

PS234 MULTIPLIAOR BINÁRIO Rev. Exemplo de Projeto de ircuito Síncrono: Multiplicador Binário Resumo elaborado por Edith Ranzini, a apartir do livro KIME, R; MANO, M.M. Logic and omputer esign Fundamentals. New Jersey Prentice Hall 2.Algoritmo Tradicional O algoritmo tradicional de multiplicação binária de dois números binários sem sinal é feita com sucessivos deslocamentos do multiplicando à esquerda (que constituem as parcelas do cálculo dos produtos parciais) e uma soma. Vamos executar este algoritmo com os número binários e, como ilustrado abaixo.. 3 multiplicando multiplicador produtos parciais 43 produto A execução do algoritmo leva em consideração um bit do multiplicador de cada vez, com o bit menos significativo em primeiro lugar. Se o bit do multiplicador for, o multiplicando é copiado para ser somado posteriormente. Em caso contrário, o bit do multiplicador for, um valor nulo é copiado em seu lugar. Os números copiados em linhas sucessivas são deslocados à esquerda de uma posição em relação à linha anterior. Finalmente, os números são somados gerando o produto final. Um circuito digital que implementa este algoritmo deve executar esta soma em etapas. Assim, quando um novo número for copiado, duas parcelas devem ser somadas gerando uma soma parcial. Ilustramos abaixo esta modificação no mesmo exemplo acima.. 3 multiplicando multiplicador. soma dos produtos. parciais 2 a 2 43 produto Este algoritmo tradicional, inspirado no processo manual que utilizamos para multiplicar, apresenta, como grande desvantagem, a necessidade de se utilizar um somador de 2n bits, quando os operandos possuirem n bits. 3/6/24 /2

PS234 MULTIPLIAOR BINÁRIO Rev. 2. Algoritmo Melhorado O somador de 2n bits pode ser substituído por um de n bits com um algoritmo levemente diferente. O algoritmo melhorado, que apresentamos aqui, necessita de um somador de n bits e de operações de deslocamento para a direita do produto parcial. O algoritmo segue os seguintes passos:. Inicialmente o produto parcial é ajustado para (zero); 2. Um bit do multiplicador é processado de cada vez, começando pelo bit menos significativo; 2.. Se o bit sendo processado for (um), o multiplicando é somado ao produto parcial e depois é realizado um deslocamento pela direita do produto parcial; 2.2. Se o bit sendo processado for (zero), o produto parcial é apenas deslocado para a direita; 3. O bit de vai-um ("carry") do somador é armazenado em um flip-flop que deve estar conectado ao registrador deslocador contendo o produto parcial; 4. A soma deve ser realizada apenas nos n bits mais significativos de produto parcial. Um exemplo de aplicação deste algoritmo com n=4, é ilustrado abaixo: 3 multiplicando multiplicador valor inicial do produto parcial soma multiplicando, bit do multiplicador é desloca para a direita soma multiplicando, bit do multiplicador é desloca para a direita só desloca para a direita, bit do multiplicador é soma multiplicando, bit do multiplicador é desloca para a direita 43 produto O diagrama de blocos de um circuito que executa tal algoritmo será apresentado na figura 3. 3/6/24 2/2

PS234 MULTIPLIAOR BINÁRIO Rev. 3. O projeto 3.. Especificação do Multiplicador Binário O Multiplicador Binário (MB) é responsável pela realização de uma multiplicação de dois números binários sem sinal de 4 bits, introduzidos separadamente no circuito através de uma única via de dados (chaves H a H3). A operação é iniciada com o acionamento do sinal INIIAR (botão B), e o resultado da operação com 8 bits (OUT) deve ser conectado a dois displays de saída. Os operandos da multiplicação são especificados para o MB pelos sinais ENTRA_MULTIPLIANO (H6) e ENTRA_MULTIPLIAOR (H7). Os sinais de entrada e saída do Multiplicador Binário são os seguintes: IN - via de dados de entrada, com quatro bits; OUT - via de dados de saída, com oito bits; INIIAR - sinal de controle utilizado iniciar a multiplicação; ENTRA_MULTIPLIANO - sinal de controle utilizado para especificar o multiplicando da operação; ENTRA_MULTIPLIAOR - sinal de controle utilizado para especificar o multiplicador da operação. A figura abaixo mostra o MB com os sinais descritos anteriormente: IN ( 3: ) INIIAR ENTRA_MULTIPLIANO ENTRA_MULTIPLIAOR LOK * MB OUT ( 7: ) Figura Sinais de entrada e de saída do Multiplicador Binário. A operação do circuito deve seguir os seguintes passos:. Acertar um valor binário na vida de dados de entrada (IN); 2. Ativar o sinal ENTRA_MULTIPLIANO; 3. olocar outro valor na via de dados de entrada; 4. Ativar o sinal ENTRA_MULTIPLIAOR; 5. Acionar o botão INIIAR para a execução da multiplicação binária; 6. Verificar resultado na via de dados de saída (OUT). * Num projeto "profissional", o sinal LOK é gerado internamente ao Sistema igital, através, por exemplo, de um cristal. 3/6/24 3/2

PS234 MULTIPLIAOR BINÁRIO Rev. 3.2. Projeto do MB com ircuitos igitais O S especificado no item 3. pode ser projetado de diversas maneiras. Uma delas é baseada no particionamento em Fluxo de ados (F) e Unidade de ontrole (U). omo o F deve conter os elementos de transformação e/ou armazenamento dos dados do S, os sinais IN e OUT devem ser conectados a ele. Já os sinais de ajuste de valores dos operandos e de início de operação devem ser ligados à U, pois estes sinais estão relacionados com o controle da operação do circuito. Alguns sinais de controle e de estado devem ser conectados entre o F e a U. A figura 2 abaixo ilustra a estrutura interna do S do MB. ENTRA_MULTIPLIANO IN (3:) INIIAR ENTRA_MULTIPLIAOR S LOK U F condições sinais de ativação dos registradores OUT (7:) Figura 2 Estruturação do S do Projeto do MB. ue sinais são gerados na U? Inicialmente, projeta-se o fluxo de dados (fig. 3) com os blocos necessários para a execução do algoritmo e com caminhos interligando-os, de forma a viabilizar a execução do mesmo. Pelo algoritmo descrito, é óbvio que necessitamos de um somador, de registradores de deslocamento, do flip-flop do arry e do registrador B. Para saber se a execução do algoritmo foi encerrada, optou-se por um contador decrescente, que é inicialmete carregado com (n-) e, a cada passo, é decrementado, até atingir o valor zero. Também analisando o algoritmo descrito, é importante conhecer, para executá-lo, o valor do bit menos significativo do multiplicador ( ). Portanto, a U receberá do F a informação sobre e sobre a saída do detetor de zero e deverá gerar os sinais de ativação das operações que serão executadas. Por exemplo, dependendo do valor de, o eslocador A ou deverá ser carregado com a saída do Somador ( = )ou apenas deverá receber comando para deslocar à direita ( = ). 3/6/24 4/2

PS234 MULTIPLIAOR BINÁRIO Rev. 3.2. Projeto do Fluxo de ados O fluxo de dados deve conter todos os elementos necessários para a execução do algoritmo. O diagrama lógico que representa o F do MB é gerado a partir de um iagrama de Blocos, como o da figura 3. IN n- Registrador B ontador P out Somador Binário etetor de Zero Flip- Flop eslocador A eslocador Unidade de ontrole OUT Sinais de controle Figura 3 - iagrama de Blocos do Multiplicador Binário.* As etapas seguintes consistem da escolha dos componentes que realizam as funções dos blocos. Para a implementação física do F, podemos adotar os componentes da família 74, lembrando que todos os blocos seqüenciais devem efetuar as operações sincronamente e, de modo geral, devem possuir ENABLE: ontador P (74???) Flip-flop (7474 + lógica) Registrador B 7473 Registrador deslocador A 7494 Registrador deslocador 7494 Somador binário 7483/283 etetor de zero 742 (NOR) * Neste diagrama omitiram-se os sinais de comando dos registradores/contador (tipo LOA, LEAR, etc) e também o LOK. 3/6/24 5/2

PS234 MULTIPLIAOR BINÁRIO Rev. 3.2.2. Projeto da Unidade de ontrole A unidade de controle pode ser projetada de várias modos. Adotaremos aqui o iagrama ASM. (Ler antes o resumo sobre diagramas ASM) Para o MB, uma das soluções para a unidade de controle pode ser vista na figura 4. O diagrama ASM desta figura descreve o algoritmo de operação dos componentes do multiplicador. Para a construção deste diagrama adotou-se a seguinte simplificação: o multiplicando e o multiplicador já foram previamente armazenados nos registradores B e. Neste diagrama é importante relembrar que a transição de um estado para outro só ocorre quando houver uma borda do LOK e que as ações contidas dentro dos blocos do estado ou das saídas condicionais somente serão realizadas na próxima borda do LOK. Também é importante observar que o diagrama ASM foi construído supondo que os blocos seqüenciais do F são genéricos (não são os mencionados no item 3.2.) e que possuem sinais de controle (ativos em ) para LEAR, LOA, SHIFT, ONTA, etc. PARAO INIIAR A P n- MUL A A + B out MUL = ontador chegou em A shift right ( A ) P P - = ontador não chegou em (Fracasso) (Sucesso) Figura 4 iagrama ASM da U do Projeto do MB. 3/6/24 6/2

PS234 MULTIPLIAOR BINÁRIO Rev. 3.2.3 - Implementação da Unidade de ontrole Podemos adotar várias alternativas a) Modelo clássico de circuito seqüencial síncrono onstruímos um circuito semelhante aos apresentados em PS 225, ou seja: SAÍAS Registrador de estado y INIIAR IRUITO OMBINATÓRIO y LOK Figura 5 Modelo lássico. Três estados 2 Flip-flops LEAR A, LEAR, LOA P Saídas 8 LOA A, LOA, SHIFT A, SHIFT, ONTA O circuito final pode ser montado com portas e flip-flops, ou com EPROM e flip-flops ou com PAL que tenha flip-flops na saída. om relação às saídas, podemos fazê-las totalmente independentes, gerando 8 sinais ou então, adotamos a estratégia resumida abaixo: "Agrupamos saídas que sempre tem que estar ativas nas mesmas situações." 3/6/24 7/2

PS234 MULTIPLIAOR BINÁRIO Rev. Observando o ASM, verificamos, por exemplo, que sempre que devemos acionar Shift A, também temos que acionar Shift. Portanto, uma única saída Shift, ligada aos dois registradores, é suficiente. A tabela mostrada a seguir resume essa estratégia. Bloco Ação ondição Grupo Saída adotada Reg A A (lear A) A A+B (Load A) A SR A F.F.. (lear ) out (Load ) (Shift A) PARAO. INIIAR MUL. MUL PARAO. INIIAR+MUL MUL. 2 3 4 2 Initialize Load Shift_dec lear Load Reg A SR A (Shift ) MUL 3 Shift_dec ont P P n - (Load P) P P - (onta) PARAO. INIIAR MUL 3 Initialize Shift_dec São apenas necessárias 4 saídas Tabela Agrupamento das Saídas b) Modelo de "UM Flip-Flops por ESTAO" Os diagramas ASM podem ser diretamente mapeados em circuitos, de acordo com as equivalências mostradas na figura 6, extraída da referência omo temos flip-flop por estado, o "nome do estado" representa uma variável de chaveamento. variável estado PARAO MUL MUL PARAO MUL MUL Adotando esta técnica e agrupando as saídas como detalhado anteriormente, o circuito resultante é mostrado na figura 7. Observe que as expressões das saídas já estão expressas na própria tabela, na coluna ONIÇÃO. Essa solução requer que a condição inicial, imposta ao ligar o circuito, seja (ou seja, estado PARAO). 3/6/24 8/2

PS234 MULTIPLIAOR BINÁRIO Rev. IAGRAMA ASM IRUITO Entrada Entrada S Estado S Saída Saída ( a ) Bloco de Estado Entrada Entrada Saída Saída Saída Saída ( b ) Bloco de ecisão Entrada Entrada 2 Entrada Entrada 2 Saída Saída ( c ) Junção Entrada Entrada y = y Figura 6 - Mapeamento ASM IRUITO 3/6/24 9/2

PS234 MULTIPLIAOR BINÁRIO Rev. PARAO PARAO INIIAR INITIALIZE MUL MUL LEAR_ LOA 2 MUL MUL SHIFT_E LOK 3 ondição inicial : FF - (ao ligar) FF 2 - FF 3 - Figura 7 ircuito da U - Mapeamento direto OBS: O bloco pontilhado será mencionado apenas no item c) 3/6/24 /2

PS234 MULTIPLIAOR BINÁRIO Rev. c) Modelo Registrador de Estado-ecodificador A solução do item b apresenta a grande vantagem de facilitar a obtenção do circuito mas, quando o número de estados é muito grande, o número de flip-flops pode encarecer o produto. Por outro lado, é muito conveniente ter a informação sobre os estados, de forma decodificada. Por exemplo, para saber se o circuito está num estado S i é só olhar para a saída do Flip-flop do estado S i. O modelo apresentado na figura 8 é uma mistura dos modelos a) e b). Os estados serão representados de forma codificada (n flip-flops 2 n estados), mas serão decodificados, de forma a se obter variáveis iguais às do item b, para representá-los ( PARAO, MUL MUL). INÍIAR INÍIAR IRUITO OMBINATÓRIO O PRÓIMO ESTAO y y E 2 3 PARAO MUL MUL x IRUITO OMBINATÓRIO A SAÍA INITIALIZE LEAR_ LOA SHIFT_E LOK Figura 8 Modelo Registrador de Estado - ecodificador O circuito combinatório da saída é exatamente igual ao bloco pontilhado da figura 7. O circuito combinatório do próximo estado pode ser extraído da tabela 2. Estado atual ondições Próximo Estado ecodificador y y Iniciar Zero y y PARAO MUL MUL Parado MUL MUL Tabela 2 Tabela de transição Observando a tabela (e lembrando que i (t) = y i (t+)), temos = (PARAO). (INIIAR) + (MUL). () = MUL Portanto, o circuito final está detalhado na figura 9, onde se observa que a porta é comum ao bloco combinatório do próximo estado e ao bloco combinatório da saída. 3/6/24 /2

PS234 MULTIPLIAOR BINÁRIO Rev. INÍIAR INITIALIZE LEAR_ y A A EOER 2 3 MUL MUL PARAO SHIFT_E y LOA LOK Figura 9 ircuito detalhado 4.Bibliografias Importantes Midorikawa, ET, multiplicador binário - Apostila de PS 2355 / 238 Kime, R; Mano, MM. Logic and omputer esign Fundamentals. New Jersey Prentice Hall - 2 3/6/24 2/2