A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Projeto de Somador com e sem Sinal

Apresentações semelhantes


Apresentação em tema: "Projeto de Somador com e sem Sinal"— Transcrição da apresentação:

1 Projeto de Somador com e sem Sinal

2 Planejando a Descrição de um Somador
Como descrever uma soma? S <= A + B; Como esta soma pode ser realizada em hardware? Dividir as entradas e saídas em vetores de bits Exemplo: A e B são vetores de 4 bits A contém 5 e B contém 3 S igual a 8 A 1 1 + B 1 1 S 1

3 Dividindo para Conquistar (Somador de 1 bit)
O que fazer com cada bit? Descrever em hardware uma função que implementa a operação de soma deste bit Qual é a função? Supondo a soma de dois bits, para cada par de bit somado existem duas saídas: o vai um (carry) e o resultado da soma Como implementar a função? Por exemplo uma tabela verdade a b s (soma) carry 1

4 Dividindo para Conquistar (Somador de 1 bit)
Qual é o próximo passo? Extrair as funções da tabela verdade s = a xor b carry = a and b E agora? Descrever as funções em Hardware Qual recurso utilizar? Linguagem VHDL

5 Dividindo para Conquistar (Somador de 1 bit)
INTERFACE EXTERNA: entity Especifica somente a interface Não contém definição do comportamento HalfAdd a s b carry entity HalfAdd is port ( a, b: in std_logic; s, carry: out std_logic ); end HalfAdd;

6 Dividindo para Conquistar (Somador de 1 bit)
COMPORTAMENTO : architecture Especifica o comportamento da entity Deve ser associada a uma entity específica Uma entity pode ter associada várias architectures (diferentes formas de implementar um mesmo módulo) architecture HA of HalfAdd is begin s <= a xor b; carry <= a and b; end HA;

7 Somador de 1 bit Completo
A arquitetura HD, apresentada é suficiente para descrever uma soma de um estágio? Não, falta considerar o vai um do estágio anterior Exercício: Fazer um novo par entidade-arquitetura que implementa uma soma completa. Fazer a tabela verdade e a entidade e a arquitetura. Chame esta entidade de Add (será usada mais adiante) Como fazer agora para conseguir implementar todo o vetor? Uma possibilidade é implementar vários módulos de 1 bit em um par entidade-arquitetura Add a s b cin cout

8 Somador Completo de 4 Bits
Cout3 Cout2 Cout1 Cout0 Cout Add3 Add2 Add1 Add0 Cin3 Cin2 Cin1 S3 S2 S1 S0 entity Adder4Bits is port ( A, B: in std_logic_vector(3 downto 0); cout: out std_logic; S : out std_logic_vector(3 downto 0) ); end Adder4Bits;

9 Somador Completo de 4 Bits
library IEEE; use IEEE.std_logic_1164.all; architecture Somador of Adder4Bits is signal c: std_logic_vector(3 downto 0); begin A0: entity Add port map(cin=>'0', A=>A(0),B=>B(0),cout=>c(0),s=>S(0)); A1: entity Add port map(cin=>c(0),A=>A(1),B=>B(1),cout=>c(1),s=>S(1)); A2: entity Add port map(cin=>c(1),A=>A(2),B=>B(2),cout=>c(2),s=>S(2)); A3: entity Add port map(cin=>c(2),A=>A(3),B=>B(3),cout=>c(3),s=>S(3)); cout <= c(3); end Somador; Perguntas e exercícios: A descrição acima é estrutural ou comportamental? Porque? Para que serve o cout do somador de 4 bits, já que não há mais estágios Faça um somador de 8 bits, tendo como base o somador de 4 Bits descrito acima

10 Exercícios (POSCOMP 2003 - 22) Qual a função do circuito abaixo?
Multiplexador Multiplicador Deslocador Somador Subtrator

11 Resposta de Exercícios
(POSCOMP ) Qual a função do circuito abaixo? Multiplexador Multiplicador Deslocador Somador Subtrator

12 Exercícios (POSCOMP ) Considerando as duas equações booleanas de um somador completo S = Ai xor Bi xor Cin e Cout = (Ai and Bi) or Cin and (Bi xor Ai), atribua V (verdadeiro) ou F (falso) para as afirmativas a seguir ( ) A equação Cout = (Bi and Cin) or Ai and Cin or (Ai and Bi) é equivalente à equação Cout do enunciado da questão ( ) O maior atraso de propagação ocorre na equação S = Ai xor Bi xor Cin ( ) O uso destas equações conduz à implementação do mais rápido somador completo, entre os somadores descritos na literatura ( ) Somadores completos de n bits (com n > 1) podem ser implementados com n circuitos, cada um deles implementando estas mesmas equações ( ) Para apenas uma combinação de valores de Ai, Bi e Cin, obtêm-se S=1 e Cout=1 Assinale a alternativa que contém, de cima para baixo, a sequência correta a) V, V, F, V, F b) V, F, F, V, V c) F, V, V, F, V d) F, V, F, V, F e) F, F, V, F, V

13 Resposta de Exercícios
(POSCOMP ) Considerando as duas equações booleanas de um somador completo S = Ai xor Bi xor Cin e Cout = (Ai and Bi) or Cin and (Bi xor Ai), atribua V (verdadeiro) ou F (falso) para as afirmativas a seguir ( ) A equação Cout = (Bi and Cin) or Ai and Cin or (Ai and Bi) é equivalente à equação Cout do enunciado da questão ( ) O maior atraso de propagação ocorre na equação S = Ai xor Bi xor Cin ( ) O uso destas equações conduz à implementação do mais rápido somador completo, entre os somadores descritos na literatura ( ) Somadores completos de n bits (com n > 1) podem ser implementados com n circuitos, cada um deles implementando estas mesmas equações ( ) Para apenas uma combinação de valores de Ai, Bi e Cin, obtêm-se S=1 e Cout=1 Assinale a alternativa que contém, de cima para baixo, a sequência correta a) V, V, F, V, F b) V, F, F, V, V c) F, V, V, F, V d) F, V, F, V, F e) F, F, V, F, V


Carregar ppt "Projeto de Somador com e sem Sinal"

Apresentações semelhantes


Anúncios Google