CIRCUITOS COMBINACIONAIS

Documentos relacionados
CIRCUITOS COMBINACIONAIS

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

Funções de Lógica Combinacional

Circuitos Combinacionais Básicos

Técnicas Digitais para Computação

Projeto de Circuito Combinacional

Organização e Arquitetura de Computadores I

Projeto de Somador com e sem Sinal. Qualificadores

Introdução à Computação

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

Circuitos Combinacionais. Arquitetura de Computadores I

Eletrônica Digital I TE050. Circuitos Combinacionais

Aula 2 Semântica de VHDL

VHDL Circuitos Combinacionais

PCS Sistemas Digitais I. Circuitos Combinatórios Blocos Básicos: (De)Multiplexadores e Dispositivos tri-state. Prof. Dr. Marcos A. Simplicio Jr.

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

1. Sistemas de numeração e códigos 23

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

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

Descreva em VHDL, simule no simulador logico e sintetize usando uma ferramenta de CAD para FPGA :

3 Circuitos Combinacionais

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

SSC0112 Organização de Computadores Digitais I

Circuitos Combinacionais

Disciplina de. Organização de Computadores Digitais

Eletrônica Digital. Projeto de Circuitos Combinacionais. Alex Vidigal Bastos

Disciplina de. Organização de Computadores Digitais

Descrição por fluxo de dados (Data-Flow): Descreve o que o sistema deve fazer utilizando expressões lógicas.

Arquitetura de Computadores I

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Ciências da Computação & Engenharia Eletrônica

Disciplina de Organização de Computadores I

Eletrônica Digital I (EDL I)

Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação

PCS 3115 (PCS2215) Blocos básicos

VHDL - VHSIC Hardware Description Language. Exemplo prático. Raiz Quadrada

Circuito combinacional

Circuitos Combinacionais

CAPÍTULO 4 CIRCUITOS COMBINACIONAIS

Revisão de Circuitos Digitais

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

Técnicas Digitais para Computação

Introdução a Sistemas Digitais

Projeto com Dispositivos Programáveis

Solução Lista de Exercícios Processadores

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

Eletrônica Digital. Prof. Gilson Yukio Sato sato[at]utfpr[dot]edu[dot]br

Prof. Leonardo Augusto Casillo

Exercícios Referentes à Prova P1

Índice. 1.2 Sistemas Numéricos em uma Base B Qualquer

Relatório de Prática no LABORATORIO

Circuitos Combinacionais Lógicos

MULTIPLEXADOR E DEMULTIPLEXADOR (Unidade 4)

Arquitetura de Computadores Aula 9 Portas Lógicas

Organização e Arquitetura de Computadores I

Fundamentos de Sistemas Digitais. Lógica Sequencial. Prof. Dr. Alexandre M. Amory Prof. Dr Edson I. Moreno

Eletrónica Digital. Fundamentos e Projeto. Acxcro MANUEL RAPOSO AMARAL. EDIÇÕES SíLABO

Tipos enumerados definem uma lista de valores, e são especialmente úteis na

Projeto de Lógica Combinatória

Circuitos Lógicos Combinacionais Aula Prática

CIRCUITOS DIGITAIS. Circuitos Combinacionais e Técnicas de Simplificação

SISTEMAS DIGITAIS CIRCUITOS COMBINATÓRIOS TÍPICOS

PDA de Sistemas Digitais em Circuitos Programáveis

3. Revisão de Eletrônica Digital

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

VHDL. Descrição e Projeto de Circuitos Utilizando VHDL

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

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

Exercícios de Laboratório 2

Aula 11. Dispositivos Lógicos Programáveis. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

SISTEMAS DIGITAIS (SD)

SISTEMAS DIGITAIS (SD)

Descrição e Projeto de Circuitos Utilizando VHDL

SISTEMAS DIGITAIS (SD)

Módulo 4 Introdução ao VHDL

Sistemas Digitais. Linguagem Verilog. 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)

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

Circuitos Combinacionais Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 2h/60h

Exemplo somador de 3 bits

Organização e Arquitetura de Computadores I

SOMADORES E SUBTRATORES

Sistemas Digitais (SD) Lógica Programável

Nível da Lógica Digital

Álgebra Booleana. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Sistemas Digitais (SD) Lógica Programável

Eletrônica Digital Lista de Exercícios

SISTEMAS DIGITAIS (SD)

Lógica Reconfigurável

CIRCUITOS SEQUENCIAIS parte 1

Organização e Arquitetura de Computadores I

Circuitos Integrados. Nível da Lógica Digital (Aula 7) Circuitos Combinacionais. Circuitos Lógicos Digitais Básicos. Multiplexadores (1)

Fundamentos de sistemas digitais. Test-bench. prof. Dr. Edson Ifarraguirre Moreno

EELi02 Circuitos Lógicos

UFMT. Ministério da Educação UNIVERSIDADE FEDERAL DE MATO GROSSO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO PLANO DE ENSINO

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

CIRCUITOS SOMADORES = = =

Introdução: Objetivos:

LABORATÓRIO DE CIRCUITOS DIGITAIS. PREPARAÇÃO 04: Circuitos Combinacionais Decodificadores

Sistemas Digitais Transferências entre Registradores

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

Transcrição:

Fundamentos de Sistemas Digitais 5/abril/29 CIRCUITOS COMBINACIONAIS Circuitos Combinacionais Um circuito combinacional consiste em portas lógicas cujas saídas, em qualquer momento, são determinadas pela combinação dos valores das entradas Para n variáveis de entrada, existem 2 n combinações de entrada binária possíveis Para cada combinação binária das variáveis de entrada, existe uma saída possível profs. Alexandre M. Amory e Fernando G. Moraes 2 Circuitos Combinacionais (cont) Portanto, um circuito combinacional pode ser descrito por:. Uma tabela de verdade que lista os valores de saída para cada combinação das variáveis de entrada, ou 2. m funções booleanas, uma para cada variável de saída. Circuitos Combinacionais versus Sequenciais Os circuitos combinacionais não possuem memória interna O valor de saída depende apenas dos valores atuais de entrada Os circuitos sequenciais contêm lógica combinacional, e elementos de memória (usados para armazenar estados de circuito) As saídas dependem dos valores de entrada atuais e dos valores de entrada anteriores (mantidos nos elementos de memória) 3 4

Circuitos Combinacionais versus Sequenciais (cont) Circuitos básicos n-entradas n-entradas Circuito Combinacional Circuito Combinacional Circuito Combinacional Next state Circuito Sequencial m-saídas (depende apenas das entradas) Elementos de memória m-saídas Present state q Exemplos de circuitos combinacionais. Codificador/decodificador 2. Comparadores 3. Geradores de paridade 4. Multiplexador/demux 5. PLAs 6. Memórias ROM 7. Somador / Subtrator. ULA 9. Multiplicadores / Divisores q Exemplos de circuitos seqüenciais. Registradores (deslocamento, carga paralela, acumulador, serialparalelo) 2. Contadores (binário, BCD, Johnson, Gray / up, down, updown) 3. Máquina de Estados 4. Geradores de clock 5. Memória RAM 6. Sequenciadores 5 6 () (DE)CODIFICADOR DECODIFICADOR - The 4-Bit Decoder (nà2 n ) Codificador é um circuito que mapeia um conjunto de entradas em um conjunto de saídas segundo uma função de codificação Em outras palavras, é um circuito que transforma uma informação de um formato para outro Um codificador é normalmente implementado de forma combinacional Representação gráfica de codificador genérico E E Codificador S S E N S M Decodificador n à 2 n Codificador 2 n FIGURE 6-2 Logic symbol for a 4-line-to-6-line (-of-6) decoder. à n 7

DECODIFICADOR - The 4-Bit Decoder (nà2 n ) DECODIFICADOR - The 4-Bit Decoder (nà2 n ) Apenas uma saída ativa para cada valor binário de entrada A A A2 A3 EN OUT <= not(not A and not A and not A2 and not A3 and EN); OUT <= not(a and not A and not A2 and not A3 and EN); OUT2 <= not(not A and A and not A2 and not A3 and EN); OUT3 <= not(a and A and not A2 and not A3 and EN); OUT4 <= not(not A and not A and A2 and not A3 and EN); OUT5 <= not(a and not A and A2 and not A3 and EN); OUT6 <= not(not A and A and A2 and not A3 and EN); OUT7 <= not(a and A and A2 and not A3 and EN); OUT <= not(not A and not A and not A2 and A3 and EN); OUT9 <= not(a and not A and not A2 and A3 and EN); OUT <= not(not A and A and not A2 and A3 and EN); OUT <= not(a and A and not A2 and A3 and EN); OUT2 <= not(not A and not A and A2 and A3 and EN); OUT3 <= not(a and not A and A2 and A3 and EN); OUT4 <= not(not A and A and A2 and A3 and EN); OUT5 <= not(a and A and A2 and A3 and EN); EN: enable sinal adicional que habilita o codificador 9 DECODIFICADOR portas lógicas (nà2 n ) DECODIFICADOR portas lógicas (nà2 n ) Ativo alto ou ativo baixo I I Y 3 Y 2 Y Y I I Y 3 Y 2 Y Y Y 3 Y 2 I() I() Y(3) Y(2) Y() Y() I() I() Y(3) Y(2) Y() Y() I I Y Y 2

DECODIFICADOR com sinal de habilitação Conforme indicado pela tabela de verdade, apenas uma saída pode ser igual a a qualquer momento, todas as outras saídas são iguais a. CODIFICADOR portas lógicas (2 n à n) Neste exemplo temos entradas, correspondendo a sinais que representam um valor decimal 4 bits com a codificação decimal 3 FIGURE 6-36 Logic symbol for a decimal-to-bcd encoder. 4 CODIFICADOR hexa para sete-segmentos Display 7 segmentos Este exemplo ilustra um codificador que tem por entrada um valor hexadecimal (-F) para sete segmentos. Entrada em 4 bits: A3 / A2 / A / A Saída em 7 bits: a, b, c, d, e,f, g HEA f e a g d f e b c a g d b c Entrada C () e saída: A3 A2 A A a b c... A Ativo em,2,3,5,6,7, AB'C' A'BD B'D' A'C AD' BC E B F C G D a 7 mapas de Karnaugh, um para cada dígito 5 6

VHDL: conteúdo após Prova P Display 7 segmentos simplificando com VHDL CODIFICADOR decimal para sete-segmentos with vetorent select Saida <= "" when "", "" when "", "" when "", "" when "", "" when "", "" when "", "" when "", "" when "", "" when "", "" when "", "" when "", "" when "", "" when "", "" when "", "" when "", "" when ""; vetorent: valor hexa a 7 As entradas só variam entre e 9 (código BCD) Entrada em 4 bits: A3 / A2 / A / A Saída em 7 bits: a, b, c, d, e,f, g A3 A2 A A a b c... 7 mapas de Karnaugh, um para cada dígito http://www.sj.ifsc.edu.br/~odilson/eld/display%2de%27%2segmentos.pdf x x x x x x CODIFICADOR decimal para sete-segmentos CODIFICADOR COM PRIORIDADE (2 n à n) Codificador com prioridade Em um codificador com prioridade se o bit menos significativo for a saída é, se o bit seguinte for, independentemente do anterior, a saída é ; e assim sucessivamente. Exemplo - I3 tem maior prioridade (todos bits em não ocorre) : I3 I2 I I S S x x x x x x x x! = $3 + $2! = $3 + )$2. $ Desenhar e circuito http://www.sj.ifsc.edu.br/~odilson/eld/display%2de%27%2segmentos.pdf 9 2

DECODIFICADOR - exercício Decodificador utilizado como gerador de mintermos EERCÍCIOS: Faça a codificação do display de elevador ilustrado abaixo S(2) S() S() E(... ) n n Pode-se utilizar um decodificador para realizar funções de n variáveis Exemplo para o somador: S(x, y, z) = (, 2, 4, 7) C(x, y, z) = (3, 5, 6, 7) FAZER A TABELA VERDADE S(3) S(4) Este tem como entrada um vetor de 2 bits que recebe a seguinte codificação parado - subindo /\ descendo \/ defeito todos segmentos acesos 2 22 Decodificador Decodificador: SOLUÇÃO Considere o decodificador abaixo e sua correspondente tabela verdade. Determine as funções lógicas a seguir: FA FB FC A B A B 2 AB 3 AB F or 2 F2 ( or or 3) F3 xor 2 xor 3 FA FB FC 23 OR AND OR 24

n Exercício Supondo que desejamos realizar o acesso a uma linha de dados de uma memória de 64 palavras, mas possuímos decodificadores 4à6 e 2à4. Como podemos construir um decodificador 6à64 utilizado estes decodificadores? (2) COMPARADOR Dois números hexadecimal como entradas, 3 saídas Circuito para detectar igualdade: A B A A A2 A3 A 2 B 2 A 3 B 3 A 4 B 4 Output EN FIGURE 6-2 Logic symbol for a 4-bit comparator with inequality indication. 25 26 COMPARADOR DE BIT COMPARADOR Fazer a tabela verdade para as saídas C / D / E : A = B A < B nor = Logo? A > B 27 a>b e demais bits iguais 2

2 3 4 5 6 7 9 2 3 4 5 6 7 9 2 2 22 COMPARADOR com VHDL (simplifica a modelagem) library IEEE; use IEEE.std_logic_64.all; use ieee.std_logic_unsigned.all; --****--- entity comparador is generic(n : integer := 4); port( A, B : in std_logic_vector(n- downto ); igual : out std_logic; maior : out std_logic; ); end entity; Time a[3:]=d b[3:]= igual= maior= menor= igual <= '' when A = B else '' ; maior <= '' when A > B else '' ; menor <= '' when A < B else '' ; 2 us 2 ns 22 ns B C D B C D E F 2 3 4 5 6 7 9 A B C D E F 2 3 4 a[3:]=3 2 3 b[3:]= menor : out std_logic architecture a of comparador is begin igual <= '' when A = B else '' ; maior <= '' when A > B else '' ; menor <= '' when A < B else '' ; end architecture a; VHDL: conteúdo após Prova P 2 3 4 5 2 3 4 5 6 7 9 2 3 4 5 2 3 4 29 (3) Gerador de paridade e verificação de paridade Gerador de paridade - cria o bit de partiy necessário para adicionado a dada palavra Verificador de paridade calcula e verifica a paridade para garantir que a não haja erro na palavra recebida Paridade negada 3 Gerador de paridade e verificação de paridade Gerador de paridade e verificação de paridade Para verificar ou gerar a paridade adequada em um determinado código, um princípio básico pode ser usado: A soma (sem carry-out) de um número par de s é sempre, e a soma de um número ímpar de s é sempre Portanto, para determinar se um determinado código tem paridade ou paridade ímpar, todos os bits desse código são somados Uso de portas OR D-D6 4 s p= OK D-D6 5 s p= erro FIGURE 6-59 Example of data transmission with and without error for the system in Figure 6 5. FIGURE 6-57 3 32

(4) MULTIPLEADOR (4) MULTIPLEADOR É um circuito que permite selecionar uma dentre várias entradas em função de uma variável de controle 2-to- MU I 2-to- MU I I Y I Y I I Y 4-to- MU S I S S I I Y I I 2 Y EQUIVALENTE EM SOFTWARE: if then else VHDL: Y <= I when S = ' else I; VHDL: conteúdo após Prova P 33 S 34 S I 2 I 3 S S I 3 Multiplexadores (2x - 4 bits com enable) Construindo multiplexadores maiores a partir de multiplexadores menores A 3 Y 3 A 2 Y 2 A B 4 4 4 Y A A B 3 Y Y Mux 6 x usando muxes 4x S E B 2 B B S E 35 36

Demultiplexador É um circuito que opera de forma inversa ao multiplexador. Ou seja, recebe uma entrada e distribui esta em uma de várias saídas conforme um sinal de seleção Exemplo de um multiplexador x4: Y 3 Exemplo de aplicação com Mux/Demux Multiplexação do meio físico para enviar diferentes sinais Y I Y Y 2 I Y 2 Y 3 Y S S Y FIGURE -24 Illustration of a basic multiplexing/demultiplexing application. S S 37 3 Multiplexadores O circuito abaixo é composto por 4 multiplexadores. As entradas são: uma palavra de dados (w3-w) e dois bits de controle (s-s2). A saída é o vetor y (y3-y). Preencha a tabela verdade correspondente a este circuito, e interprete o que este circuito realiza. No preenchimento da tabela verdade utilizar os valores w3/w2/w/w. Multiplexadores Determine a saída d em função de c e c. 2 3 c c d S S Y3 Y2 Y Y Conclusão? 39 4

Multiplexador para gerar funções de n entradas Multiplexador para gerar função booleanas A tabela verdade da função é armazenada em uma memória F ( A, B, C, D) = ABCD... + ACD.. + AD. å F( A, B, C, D) = (,3,7,,,2,4) 5 As entradas (variáveis Booleanas) controlam um multiplexador 2 n : A B C D Digital Design and Computer Architecture p. 6 4 42 Multiplexador para gerar funções booleanas estrutura conhecida como gerador universal de funções lógicas - ULG não implementa todas as funções lógicas de n entradas funções lógicas mais complexas requerem diversos ULGs EERCÍCIO. Os circuitos multiplexadores são também utilizados para a geração de funções booleanas. Considerando a conexão dos multiplexadores 2: abaixo. Qual a função resultante no sinal F? Expressar a resposta na forma de soma de produtos (conforme o formato apresentado na expressão da questão 2). B A B C D C C3 Saída D A c F ( A, B, C, D) = CD. + ABC.. A D A D F C2 b C 43 44

EERCÍCIO (POSCOMP 24, Questão 47) Analise o diagrama a seguir. Observe o diagrama do circuito lógico e sua respectiva tabela verdade a seguir. (5) PLA Matrizes Lógicas Programáveis Matrizes lógicas programáveis são tipos de circuitos que têm hardware prédefinido (parte estática) que implementa diversas funcionalidades conforme este for programado (parte dinâmica) Normalmente a programação é compreendida como uma camada de software de baixo nível programada em memórias do tipo RAM Muitas vezes, este tipo de circuito permite rapidamente criar nvas funcionalidades de hardware, seja em tempo de projeto, seja em tempo de operação Com base nesse diagrama e nessa tabela verdade, é correto afirmar que se trata de um circuito lógico a) codificador. b) comparador. c) decodificador. d) demultiplexador. e) multiplexador. 45 Exemplos de matrizes lógicas programáveis são PLAs, PLDs, e até circuitos mais complexos como FPGAs podem ser percebidos de forma análoga Exemplo de um PLA (contendo um plano E e outro OU) 46 Programmable Logic Array (PLA) O conjunto de funções a serem implementadas é primeiro transformado em somas de produto Exemplo de Programmable Logic Array Implementar: F = A B C+A BC +AB C =(AB+AC+BC+A B C ) F2 = AB+AC+BC Uma vez que a inversão de saída está disponível, as funções podem ser implementadas com o seu complemento A B C 2 3 Fuse intact Fuse blown 4 C C B B A A F 47 F2 4

PLA EERCÍCIO (/2) PLA EERCÍCIO ( solução) (POSCOMP 2-4) Considere o circuito digital apresentado no diagrama a seguir. Ressalte-se que, por convenção, chaves representadas por círculos escuros representam conexões fechadas e chaves representadas por círculos vazados representam conexões abertas. A.B.C B.C.D A.B.C Determine a função F. Gabarito com erro (b=c) F = A.B.C + B.C.D + A.B.C Gabarito com erro (b=c) 49 5 (ENADE 24, Questão 23) PLA EERCÍCIO (2) (ENADE 24, Questão 23) PLA EERCÍCIO (2 solução) M= J.K.L + J.K.L + J.K.L + J.K.L N= J.K.L + J.K.L O= J.K.L + J.K.L 5 52

(6) Memória ROM (7) Soma e subtração Memória de apenas leitura na prática um vetor de constantes Utilizada em hardware para constantes em determinado circuito (por exemplo: em código para boot em um processador) FIGURE 6-2 Half-adder logic diagram. 53 54 Somadores de bit Somador Completo - FA Inputs Outputs x y c s ---------------- HA Half-adder (HA): Truth table and block diagram c x s y Co A B FA soma Ci Soma: a\bc Co: a\bc Inputs Outputs x y c c s in out ---------------------- x y c out FA s Full-adder (FA): Truth table and block diagram c in 55 A B C i S C o! = #. )%. )& ' + )#. %. )& ' + )#. )%. & ' + #. %. & '! = # % & ' & + = #. % + %. & ' + #. & ' 56

FIGURE 6-9 A 4-bit ripple adder Somador ripple Overflow Å Somador ripple Cin Somador completo (FA) Cout Meio-somador (HA) + Somar [E 6 + B 6 ] escrevendo os valores de saída dos FAs Cout Hexadecimal: FF + 55 = () 54 Unsigned: 255 + 5 = 4 (errado, Cout=) 2 s comp: - + 5 = 4 (certo Overflow=) 57 5 Somador / subtrator Somador geração do carry M = à subtrator M = à somador Subtrair [E 6-6 6 ] escrevendo os valores de saída dos FAs 59 6

Somador geração do carry () ULA - UNIDADE LÓGICO E ARITMÉTICA Unidade Lógica e Aritmética (ULA) é um circuito que realiza funções lógicas e aritméticas É um dos componentes de transformação de dados principais de um processador Normalmente implementado de forma combinacional Representação: Vetor de entrada A Seleção (comando) Vetor de saída Técnica denominada CLA (Carry Look-Ahead) Vetor de entrada B Qualificadores (flags) 6 62 ULA Funções Lógicas ULA Funções Aritméticas Diversas são as funcionalidades lógicas. Dentre as mais comuns estão: E lógico das entradas Ou lógico das entradas Ou exclusivo lógico das entradas Not - Negação de uma dada entrada A seleção de qual operação será realizada é obtida pela porta de comando Normalmente controlada pela unidade de controle do processador onde se encontra a ULA Operações lógicas usam normalmente apenas os qualificadores Z (zero) e N (negativo) Qualificadores de V (overflow) e C (carry) não são considerados, pois operações lógicas não alteram o valor dos mesmos 63 Dentre as funcionalidades aritméticas mais comuns estão: Soma das entradas Subtração das entradas Deslocamento de uma das entrada Rotação de uma das entradas Complemento de dois de uma das entradas E variações das funcionalidades acima utilizando a flag C/OV A seleção de qual operação será realizada é obtida pela porta de comando Operações aritméticas fazem uso dos quatro qualificadores: (Z, N, V, C) 64

Exemplo operações: ULA - comandos op_alu: AND, OR, OR, SLL, SRL, ADD, SUB, INC, NEG opmode Instanciação do somador (soma/sub/inc/neg) cout ov op default aa x uneg x op uinc uneg default bb SOMA / SUB op2 mode uadd, uinc default O somador realiza 4 operações aritméticas op_alu op op2 ULA outalu cout ov z soma opmode opmode Ação uinc op + + uadd op+ op2 + usub op+ not(op2) + uneg (2 s comp) + not(op) + 65 Obs: o not do segundo operando deve-se ao mode= 66 Instanciação do somador operações Como integrar com as demais operações? opmode op default x uneg x op op2 uinc uneg default opmode op default x uneg x op op2 uinc uneg default Utilização de multiplexadores cout ov SOMA / SUB soma Inc: op + + mode default uadd, uinc cout ov SOMA / SUB soma mode ADD: op + op2 + default uadd, uinc op x x op op2 op x x op op2 opmode default uneg uinc uneg default opmode default uneg uinc uneg default cout ov SOMA / SUB soma mode default uadd, uinc cout ov SOMA / SUB mode default uadd, uinc soma Sub: op + not(op2) + NEG (2 s com): + not(op) + 67 6

Outro exemplo de circuito aritmético Entradas: A e B de bits, C e D controles de 4 bits, modo (Cin) Saída: bits (9) MULTIPLICADOR Dois números de n bits quando multiplicados, geram 2n bits not B B A not A B not B A not A 2 sd D(3) D(2) D() D() 2 sc Mux 4x C(3) C(2) C() C() op op modo B A Cin Somador Ripple ( bits) Cod. com prioridade (4à2) S Cout 9 Saída Determinar C / D / modo para: saída ß 6 saída ß A + B saída ß A - B saída ß 2.B 69 Exemplo: multiplicand multiplier Partial products (3) * () (43) 7 MULTIPLICAÇÃO MULTIPLICAÇÃO arquitetura array S7 A3 B3 A2 B A2 B2 A2 B A B A B A B A B A3 B A2 B A B A B A3 B2 A2 B2 A B2 A B2 um carry propagado A3 B3 A2 B3 A B3 A B3 dois carrys propagados S6 S5 S4 S3 S2 S S B 3 B 2 B B A B 3 B 2 B B A HA FA FA C HA A 2 B 3 B 2 B B S P FA FA FA HA P Quanto maior o número de produtos parciais a somar maior o número de bits de vai-um gerados B 3 B 2 B B A 3 P 2 FA FA FA HA 7 P 7 P 6 P 5 P 4 P 3 72

B 3 B 2 B B A 2 P B 3 B 2 B B A 3 P 2 MULTIPLICAÇÃO arquitetura array Multiplique [F 6 * A 6 ] escrevendo os valores de saída das ands, HAs e FAs B 3 B 2 B B A B 3 B 2 B B A P Mux 4- Exercício Determine a saída Y HA FA FA HA FA FA FA HA FA FA FA HA P 7 P 6 P 5 P 4 P 3 73 74 Exercício Exercício Determine o valor da soma 75 76

Exercício Exercício 77 7 Exercício Exercício 79