1 / 13

Projeto de Somador com e sem Sinal

Projeto de Somador com e sem Sinal. 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. 0.

Download Presentation

Projeto de Somador com e sem Sinal

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 0 1 0 1 + B 0 0 1 1 S 1 0 0 0

  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

  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 s a carry b 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 s a b cout cin

  8. Somador Completo de 4 Bits B3 A3 B2 A2 B1 A1 B0 A0 Cout2 Cout1 Cout0 Cout3 0 Cout Add3 Add2 Add1 Add0 Cin3 Cin1 Cin2 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 ofAdder4Bits is • signal c: std_logic_vector(3 downto 0); • begin • A0: entity Add portmap(cin=>'0', A=>A(0),B=>B(0),cout=>c(0),s=>S(0)); • A1: entity Add portmap(cin=>c(0),A=>A(1),B=>B(1),cout=>c(1),s=>S(1)); • A2: entity Add portmap(cin=>c(1),A=>A(2),B=>B(2),cout=>c(2),s=>S(2)); • A3: entity Add portmap(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 2003 - 22) Qual a função do circuito abaixo? • Multiplexador • Multiplicador • Deslocador • Somador • Subtrator

  12. Exercícios • (POSCOMP2011 - 31)Considerando as duas equações booleanas de um somador completo S = Ai xor Bi xorCin e Cout = (Ai and Bi) orCinand (Bi xor Ai), atribua V (verdadeiro) ou F (falso) para as afirmativas a seguir ( ) A equação Cout = (Bi andCin) or Ai andCinor (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 xorCin ( ) 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 • (POSCOMP2011 - 31)Considerando as duas equações booleanas de um somador completo S = Ai xor Bi xorCin e Cout = (Ai and Bi) orCinand (Bi xor Ai), atribua V (verdadeiro) ou F (falso) para as afirmativas a seguir ( ) A equação Cout = (Bi andCin) or Ai andCinor (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 xorCin ( ) 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

More Related